From 8ddc4ccc9f64d12049b50d84fe1029f75985270d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Mar 2014 22:37:46 +0100 Subject: [PATCH 001/778] Updated Credits --- MacPass/de.lproj/Credits.rtf | 2 ++ MacPass/en.lproj/Credits.rtf | 2 ++ MacPass/fr.lproj/Credits.rtf | 9 ++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/MacPass/de.lproj/Credits.rtf b/MacPass/de.lproj/Credits.rtf index dcebf2c9..117f11a0 100644 --- a/MacPass/de.lproj/Credits.rtf +++ b/MacPass/de.lproj/Credits.rtf @@ -30,6 +30,8 @@ You should have received a copy of the GNU General Public License along with thi \b0 Franz\'f6sische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ +Chinesisch von {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ MacPass Icon von {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}} \b \ \ diff --git a/MacPass/en.lproj/Credits.rtf b/MacPass/en.lproj/Credits.rtf index 712c9542..c36bd588 100644 --- a/MacPass/en.lproj/Credits.rtf +++ b/MacPass/en.lproj/Credits.rtf @@ -35,6 +35,8 @@ You should have received a copy of the GNU General Public License along with thi \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 \cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ +Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ MacPass\kerning1\expnd0\expndtw3 \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\cf2 \ \ diff --git a/MacPass/fr.lproj/Credits.rtf b/MacPass/fr.lproj/Credits.rtf index ee8a6942..d8116c4a 100644 --- a/MacPass/fr.lproj/Credits.rtf +++ b/MacPass/fr.lproj/Credits.rtf @@ -9,8 +9,9 @@ {\field{\*\fldinst{HYPERLINK "https://github.com/mstarke/MacPass"}}{\fldrslt \b0 \cf0 MacPass}} \b0 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 -\b \ +\b \cf0 \ Licence :\ \b0 MacPass Client compatible KeePass pour Mac OS X\ @@ -35,6 +36,12 @@ veuillez vous reporter \'e0 {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/lic \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 +\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\ +Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 +\cf2 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 \cf0 MacPass\kerning1\expnd0\expndtw3 \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\cf2 \ \ From ca67a2fc6005a632bbee446ae5a26e08bf811113 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Mar 2014 23:38:01 +0100 Subject: [PATCH 002/778] More NSStringFromSelector coverage --- KeePassKit | 2 +- MacPass/GroupInspectorView.xib | 55 ++++++++++++++++++------ MacPass/MPAutotypeContext.m | 2 +- MacPass/MPAutotypeDaemon.m | 13 ++++-- MacPass/MPDocument+Autotype.m | 2 +- MacPass/MPEntryInspectorViewController.m | 40 ++++++++--------- 6 files changed, 74 insertions(+), 40 deletions(-) diff --git a/KeePassKit b/KeePassKit index a8103614..ecc58b8a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit a8103614ebdcfc4375eaf25c9218b73aaebdeec0 +Subproject commit ecc58b8a561385462f72b7aa38b1b78e4928e731 diff --git a/MacPass/GroupInspectorView.xib b/MacPass/GroupInspectorView.xib index d5488b0c..0f967dd1 100644 --- a/MacPass/GroupInspectorView.xib +++ b/MacPass/GroupInspectorView.xib @@ -19,18 +19,18 @@ - + - + - + - + @@ -39,7 +39,7 @@ - + @@ -51,8 +51,11 @@ - + @@ -97,7 +100,7 @@ - + @@ -111,11 +114,11 @@ - + - + @@ -124,7 +127,7 @@ - + @@ -132,8 +135,30 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -141,20 +166,24 @@ + + + + + - diff --git a/MacPass/MPAutotypeContext.m b/MacPass/MPAutotypeContext.m index fb7b12e6..86faa74e 100644 --- a/MacPass/MPAutotypeContext.m +++ b/MacPass/MPAutotypeContext.m @@ -27,7 +27,7 @@ } - (instancetype)initWithDefaultSequenceForEntry:(KPKEntry *)entry { - self = [self initWithEntry:entry andSequence:entry.autotype.defaultSequence]; + self = [self initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; return self; } diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 769163c9..376fad4f 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -84,9 +84,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; */ NSDictionary *frontApplicationInfoDict = [self _frontMostApplicationInfoDict]; NSString *windowTitle = frontApplicationInfoDict[kMPWindowTitleKey]; - self.lastFrontMostApplication = frontApplicationInfoDict[kMPApplciationNameKey]; - //NSLog(@"Looking for entries matching window title:%@ of applciation: %@", windowTitle, applicationName); - + self.lastFrontMostApplication = frontApplicationInfoDict[kMPApplciationNameKey]; /* Query the document to generate a autotype command list for the window title We do not care where this came form, just get the autotype commands @@ -137,6 +135,10 @@ NSString *const kMPApplciationNameKey = @"applicationName"; NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); for(NSDictionary *windowDict in currentWindows) { + NSString *windowTitle = windowDict[(NSString *)kCGWindowName]; + if([windowTitle length] <= 0) { + continue; + } NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID]; if(processId && [processId isEqualToNumber:@(frontApplication.processIdentifier)]) { return @{ @@ -172,11 +174,14 @@ NSString *const kMPApplciationNameKey = @"applicationName"; } + (void)_orderApplicationToFront:(NSString *)applicationName { - NSLog(@"Moving %@ to the front.", applicationName); + //NSLog(@"Moving %@ to the front.", applicationName); NSString *appleScript = [[NSString alloc] initWithFormat:@"activate application \"%@\"", applicationName]; NSAppleScript *script = [[NSAppleScript alloc] initWithSource:appleScript]; NSDictionary *error; NSAppleEventDescriptor *descriptor = [script executeAndReturnError:&error]; + if(descriptor) { + NSLog(@"Error trying to execure %@: %@", script, error); + } } diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 7c4d6c70..2aa452a3 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -41,7 +41,7 @@ NSRange titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; MPAutotypeContext *context; if(titleRange.location != NSNotFound && titleRange.length != 0) { - context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultSequence]; + context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; } /* search in Autotype entries for match */ else { diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 006e3aa2..79b52068 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -86,30 +86,30 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self _addScrollViewWithView:self.generalView atTab:MPEntryTabGeneral]; [self _addScrollViewWithView:self.autotypView atTab:MPEntryTabAutotype]; - [self.infoTabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; - [self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; + [self.infoTabControl bind:NSSelectedIndexBinding toObject:self withKeyPath:NSStringFromSelector(@selector(activeTab)) options:nil]; + [self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:NSStringFromSelector(@selector(activeTab)) options:nil]; /* Set background to clearcolor so we can draw in the scrollview */ [self.attachmentTableView setBackgroundColor:[NSColor clearColor]]; - [self.attachmentTableView bind:NSContentBinding toObject:_attachmentsController withKeyPath:@"arrangedObjects" options:nil]; + [self.attachmentTableView bind:NSContentBinding toObject:_attachmentsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; [self.attachmentTableView setDelegate:_attachmentTableDelegate]; [self.attachmentTableView setDataSource:_attachmentDataSource]; [self.attachmentTableView registerForDraggedTypes:@[NSFilenamesPboardType]]; /* Set background to clearcolor so we can draw in the scrollview */ [self.customFieldsTableView setBackgroundColor:[NSColor clearColor]]; - [self.customFieldsTableView bind:NSContentBinding toObject:_customFieldsController withKeyPath:@"arrangedObjects" options:nil]; + [self.customFieldsTableView bind:NSContentBinding toObject:_customFieldsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; [self.customFieldsTableView setDelegate:_customFieldTableDelegate]; [self.windowAssociationsTableView setBackgroundColor:[NSColor clearColor]]; [self.windowAssociationsTableView setDelegate:_windowAssociationsTableDelegate]; - [self.windowAssociationsTableView bind:NSContentBinding toObject:_windowAssociationsController withKeyPath:@"arrangedObjects" options:nil]; + [self.windowAssociationsTableView bind:NSContentBinding toObject:_windowAssociationsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; - [self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil]; - [self.togglePassword bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil]; + [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; + [self.togglePassword bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; } - (void)setupBindings:(MPDocument *)document { - [self bind:@"entry" toObject:document withKeyPath:@"selectedEntry" options:nil]; + [self bind:NSStringFromSelector(@selector(entry)) toObject:document withKeyPath:NSStringFromSelector(@selector(selectedEntry)) options:nil]; } - (void)setEntry:(KPKEntry *)entry { @@ -336,16 +336,16 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_bindEntry { if(self.entry) { - [self.titleTextField bind:NSValueBinding toObject:self.entry withKeyPath:@"title" options:nil]; - [self.passwordTextField bind:NSValueBinding toObject:self.entry withKeyPath:@"password" options:nil]; - [self.usernameTextField bind:NSValueBinding toObject:self.entry withKeyPath:@"username" options:nil]; - [self.URLTextField bind:NSValueBinding toObject:self.entry withKeyPath:@"url" options:nil]; + [self.titleTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; + [self.passwordTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(password)) options:nil]; + [self.usernameTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(username)) options:nil]; + [self.URLTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(url)) options:nil]; [self.expiresCheckButton bind:NSTitleBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expiryTime)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; - [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:@"expires" options:nil]; - [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:@"tags" options:nil]; + [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; + [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(tags)) options:nil]; } else { [self.titleTextField unbind:NSValueBinding]; @@ -359,7 +359,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_bindAttachments { if(self.entry) { - [_attachmentsController bind:NSContentArrayBinding toObject:self.entry withKeyPath:@"binaries" options:nil]; + [_attachmentsController bind:NSContentArrayBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(binaries)) options:nil]; } else if([_attachmentsController content] != nil){ [_attachmentsController unbind:NSContentArrayBinding]; @@ -369,7 +369,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_bindCustomFields { if(self.entry) { - [_customFieldsController bind:NSContentArrayBinding toObject:self.entry withKeyPath:@"customAttributes" options:nil]; + [_customFieldsController bind:NSContentArrayBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(customAttributes)) options:nil]; } else if ([_customFieldsController content] != nil ) { [_customFieldsController unbind:NSContentArrayBinding]; @@ -379,10 +379,10 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_bindAutotype { if(self.entry) { - [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:@"isEnabled" options:nil]; - [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entry.autotype withKeyPath:@"isEnabled" options:nil]; - [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:@"defaultSequence" options:nil]; - [_windowAssociationsController bind:NSContentArrayBinding toObject:self.entry.autotype withKeyPath:@"associations" options:nil]; + [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; + [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; + [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(defaultKeystrokeSequence)) options:nil]; + [_windowAssociationsController bind:NSContentArrayBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(associations)) options:nil]; } else { [self.enableAutotypeCheckButton unbind:NSValueBinding]; From 478be2b9d98f5e0a0d75df1738d62f9fa671ac27 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 26 Mar 2014 00:14:29 +0100 Subject: [PATCH 003/778] Preparations to save global hotkey for auto type in preferences --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/DDHotKey+Keydata.h | 16 ++++++++++++++++ MacPass/DDHotKey+Keydata.m | 30 ++++++++++++++++++++++++++++++ MacPass/MPSettingsHelper.h | 1 + MacPass/MPSettingsHelper.m | 1 + 5 files changed, 54 insertions(+) create mode 100644 MacPass/DDHotKey+Keydata.h create mode 100644 MacPass/DDHotKey+Keydata.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 25b8cf03..9cb97e6a 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -179,6 +179,7 @@ 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */; }; 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */; }; 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77547416E55FE800970E02 /* MPInspectorViewController.m */; }; + 4C77C84118E240E000D1C42B /* DDHotKey+Keydata.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77C84018E240E000D1C42B /* DDHotKey+Keydata.m */; }; 4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; }; 4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E36F15B84A240093A587 /* InfoPlist.strings */; }; 4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; }; @@ -679,6 +680,8 @@ 4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_InfoTemplate.pdf; path = Icons/99_InfoTemplate.pdf; sourceTree = ""; }; 4C77547316E55FE800970E02 /* MPInspectorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInspectorViewController.h; sourceTree = ""; }; 4C77547416E55FE800970E02 /* MPInspectorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPInspectorViewController.m; sourceTree = ""; }; + 4C77C83F18E240E000D1C42B /* DDHotKey+Keydata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DDHotKey+Keydata.h"; sourceTree = ""; }; + 4C77C84018E240E000D1C42B /* DDHotKey+Keydata.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DDHotKey+Keydata.m"; sourceTree = ""; }; 4C77E36215B84A240093A587 /* MacPass.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MacPass.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4C77E36615B84A240093A587 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 4C77E36915B84A240093A587 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; @@ -1044,6 +1047,8 @@ 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */, 4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */, 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */, + 4C77C83F18E240E000D1C42B /* DDHotKey+Keydata.h */, + 4C77C84018E240E000D1C42B /* DDHotKey+Keydata.m */, ); name = Categories; sourceTree = ""; @@ -2264,6 +2269,7 @@ 4C245B76176E1E3D0086100E /* DDData.m in Sources */, 4C245B77176E1E3D0086100E /* DDNumber.m in Sources */, 4C245B78176E1E3D0086100E /* DDRange.m in Sources */, + 4C77C84118E240E000D1C42B /* DDHotKey+Keydata.m in Sources */, 4C3C4EA618D6FEA100153127 /* TTTJSONTransformer.m in Sources */, 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, 4C245B79176E1E3D0086100E /* HTTPAuthenticationRequest.m in Sources */, diff --git a/MacPass/DDHotKey+Keydata.h b/MacPass/DDHotKey+Keydata.h new file mode 100644 index 00000000..a5510a7d --- /dev/null +++ b/MacPass/DDHotKey+Keydata.h @@ -0,0 +1,16 @@ +// +// DDHotKey+Coding.h +// MacPass +// +// Created by Michael Starke on 25/03/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "DDHotKeyCenter.h" + +@interface DDHotKey (Keydata) + +- (NSData *)keyData; +- (instancetype)initWithKeyData:(NSData *)data; + +@end diff --git a/MacPass/DDHotKey+Keydata.m b/MacPass/DDHotKey+Keydata.m new file mode 100644 index 00000000..db9497b5 --- /dev/null +++ b/MacPass/DDHotKey+Keydata.m @@ -0,0 +1,30 @@ +// +// DDHotKey+Coding.m +// MacPass +// +// Created by Michael Starke on 25/03/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "DDHotKey+Keydata.h" + +@implementation DDHotKey (Keydata) + +- (instancetype)initWithKeyData:(NSData *)data { + NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; + unsigned short keyCode = [unarchiver decodeIntForKey:NSStringFromSelector(@selector(keyCode))]; + NSUInteger modiferFlags = [unarchiver decodeIntegerForKey:NSStringFromSelector(@selector(modifierFlags))]; + self = [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modiferFlags task:nil]; + return self; +} + +- (NSData *)keyData { + NSMutableData *data = [[NSMutableData alloc] init]; + NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; + [archiver encodeInt:self.keyCode forKey:NSStringFromSelector(@selector(keyCode))]; + [archiver encodeInteger:self.modifierFlags forKey:NSStringFromSelector(@selector(modifierFlags))]; + [archiver finishEncoding]; + return [data copy]; +} + +@end diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index e6e8bd40..b973a021 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -49,6 +49,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; /* Autotype */ APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; +APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyKey; /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 42023968..06e2763b 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -34,6 +34,7 @@ NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFiles NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; +NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; From edf43583880838f0ef689dde148f42a88c133772 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 26 Mar 2014 22:29:45 +0100 Subject: [PATCH 004/778] Fixed isse with auto type skipping paste commands Started implementing AutotypeFixDialog for 0.4.0 and 0.4.1 fix Autotype candidate selection is shorter using subitems instead of single line --- MacPass.xcodeproj/project.pbxproj | 10 ++ MacPass/AutotypeCandidateSelectionWindow.xib | 14 +- MacPass/Base.lproj/MainMenu.xib | 6 + MacPass/FixAutotypeWindow.xib | 139 +++++++++++++++++++ MacPass/MPAppDelegate.h | 1 + MacPass/MPAppDelegate.m | 10 ++ MacPass/MPAutotypeCommand.h | 15 +- MacPass/MPAutotypeCommand.m | 12 +- MacPass/MPAutotypeDaemon.h | 4 +- MacPass/MPAutotypeDaemon.m | 31 +++-- MacPass/MPFixAutotypeWindowController.h | 15 ++ MacPass/MPFixAutotypeWindowController.m | 139 +++++++++++++++++++ 12 files changed, 375 insertions(+), 21 deletions(-) create mode 100644 MacPass/FixAutotypeWindow.xib create mode 100644 MacPass/MPFixAutotypeWindowController.h create mode 100644 MacPass/MPFixAutotypeWindowController.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 9cb97e6a..0bf84533 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -16,6 +16,8 @@ 4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */; }; 4C0728BF17B68ED0005A7DD9 /* SavePanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */; }; 4C08C3AE17B3022400BBBC95 /* KPKLegacyHeaderWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */; }; + 4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */; }; + 4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */; }; 4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */; }; 4C0DD6C618B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */; }; 4C0F647817B6B65E00D9522A /* MPSheetWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0F647717B6B65E00D9522A /* MPSheetWindowController.m */; }; @@ -377,6 +379,9 @@ 4C08C3AC17B3022400BBBC95 /* KPKLegacyHeaderWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKLegacyHeaderWriter.h; sourceTree = ""; }; 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKLegacyHeaderWriter.m; sourceTree = ""; }; 4C08C3AF17B3036500BBBC95 /* KPKLegacyFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KPKLegacyFormat.h; path = Format/KPKLegacyFormat.h; sourceTree = ""; }; + 4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFixAutotypeWindowController.h; sourceTree = ""; }; + 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFixAutotypeWindowController.m; sourceTree = ""; }; + 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FixAutotypeWindow.xib; sourceTree = ""; }; 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDHotKeyUtilities.m; path = DDHotKey/DDHotKeyUtilities.m; sourceTree = ""; }; 4C0C59F018B17F10009C7B76 /* DDHotKeyUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = DDHotKeyUtilities.h; path = DDHotKey/DDHotKeyUtilities.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AutotypeCandidateSelectionWindow.xib; sourceTree = ""; }; @@ -1879,6 +1884,8 @@ 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */, 4C0728BB17B5B7F7005A7DD9 /* MPPasswordEditWindowController.h */, 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */, + 4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */, + 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */, ); name = "Window Controller"; sourceTree = ""; @@ -1895,6 +1902,7 @@ 4CE8247216E2E99F00573141 /* Windows */ = { isa = PBXGroup; children = ( + 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */, 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */, 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */, 4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */, @@ -2153,6 +2161,7 @@ 4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */, 4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */, 4C7ABA4B17BAEC6700FF5799 /* 19_EmailTemplate.pdf in Resources */, + 4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */, 4C0DD6C618B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib in Resources */, 4C7ABA4C17BAEC6700FF5799 /* 20_MiscTemplate.pdf in Resources */, 4C7ABA4E17BAEC7000FF5799 /* addEntryTemplate.pdf in Resources */, @@ -2282,6 +2291,7 @@ 4C245B7E176E1E3D0086100E /* MultipartMessageHeader.m in Sources */, 4C245B7F176E1E3D0086100E /* MultipartMessageHeaderField.m in Sources */, 4C245B80176E1E3D0086100E /* HTTPAsyncFileResponse.m in Sources */, + 4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */, 4C245B81176E1E3D0086100E /* HTTPDataResponse.m in Sources */, 4C245B82176E1E3D0086100E /* HTTPDynamicFileResponse.m in Sources */, 4C245B83176E1E3D0086100E /* HTTPErrorResponse.m in Sources */, diff --git a/MacPass/AutotypeCandidateSelectionWindow.xib b/MacPass/AutotypeCandidateSelectionWindow.xib index a680b3e1..0f12e8aa 100644 --- a/MacPass/AutotypeCandidateSelectionWindow.xib +++ b/MacPass/AutotypeCandidateSelectionWindow.xib @@ -1,20 +1,19 @@ - + - + - - + @@ -33,7 +32,7 @@ Gw - + @@ -95,4 +97,4 @@ Gw - \ No newline at end of file + diff --git a/MacPass/Base.lproj/MainMenu.xib b/MacPass/Base.lproj/MainMenu.xib index 147b1d34..9c1a275f 100644 --- a/MacPass/Base.lproj/MainMenu.xib +++ b/MacPass/Base.lproj/MainMenu.xib @@ -112,6 +112,12 @@ + + + + + + diff --git a/MacPass/FixAutotypeWindow.xib b/MacPass/FixAutotypeWindow.xib new file mode 100644 index 00000000..d5ae8244 --- /dev/null +++ b/MacPass/FixAutotypeWindow.xib @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPAppDelegate.h b/MacPass/MPAppDelegate.h index 4a90b065..1bc4d8ea 100644 --- a/MacPass/MPAppDelegate.h +++ b/MacPass/MPAppDelegate.h @@ -35,6 +35,7 @@ FOUNDATION_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; - (IBAction)showPasswordCreator:(id)sender; - (IBAction)createNewDatabase:(id)sender; - (IBAction)openDatabase:(id)sender; +- (IBAction)fixAutotype:(id)sender; /** * Clears the stored key files for any documents. * @param sender sender of this action diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 2c335159..84ac39ce 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -31,6 +31,7 @@ #import "MPLockDaemon.h" #import "MPAutotypeDaemon.h" #import "MPDocumentWindowController.h" +#import "MPFixAutotypeWindowController.h" #import "MPTemporaryFileStorageCenter.h" @@ -50,6 +51,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi @property (strong, nonatomic) MPSettingsWindowController *settingsController; @property (strong, nonatomic) MPPasswordCreatorViewController *passwordCreatorController; +@property (strong) MPFixAutotypeWindowController *fixAutotypeWindowController; @end @@ -219,6 +221,14 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi [[NSUserDefaults standardUserDefaults] removeObjectForKey:kMPSettingsKeyRememeberdKeysForDatabases]; } +- (void)fixAutotype:(id)sender { + if(!self.fixAutotypeWindowController) { + self.fixAutotypeWindowController = [[MPFixAutotypeWindowController alloc] init]; + } + [self.fixAutotypeWindowController reset]; + [[self.fixAutotypeWindowController window] makeKeyAndOrderFront:sender]; +} + #pragma mark - #pragma mark Private Helper - (void)_applicationDidFinishRestoringWindows:(NSNotification *)notification { diff --git a/MacPass/MPAutotypeCommand.h b/MacPass/MPAutotypeCommand.h index 9e8a24c2..bee0052f 100644 --- a/MacPass/MPAutotypeCommand.h +++ b/MacPass/MPAutotypeCommand.h @@ -13,14 +13,23 @@ /** * The Autotype command reperesent a capsualted Action that was determined by interpreting * Autotype field for a given entry. This is a class cluster and schould be considered the sole - * enty point for creating AutotypeCommands. + * enty point for creating AutotypeCommands. You should never need to build a command on your own. */ @interface MPAutotypeCommand : NSObject @property (readonly, strong) MPAutotypeContext *context; - +/** + * Creates a command sequence for the given context. The context's keystroke sequence is + * is evaluated (Placholders filled, references resolved) and the commands are created in the + * order of their execution + * + * @param context the context to create the comamnds from. + * + * @return NSArray of MPAutotypeCommand + */ + (NSArray *)commandsForContext:(MPAutotypeContext *)context; + /** * Sends a KeyPress Event with the supplied modifier flags and Keycode * Any existing modifiers will be disabled for this event. If the user @@ -37,7 +46,7 @@ - (void)sendPasteKeyCode; /** - * Exectues the Autotype Command. This will be called by the autotype daemon. + * Exectues the Autotype Command. */ - (void)execute; diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 34a0d19d..3bb2c8b9 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -124,8 +124,7 @@ } NSRange pasteRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); if(pasteRange.length > 0) { - NSString *pasteValue = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, commandRange.location - lastLocation)]; - // Determin if it's amodifier key, and collect them! + NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; [self appendPasteCommandForContent:pasteValue toCommands:commands]; } } @@ -138,6 +137,15 @@ } lastLocation = commandRange.location + commandRange.length; } + /* Collect any part that isn't a command or if onyl paste is used */ + if(lastLocation < [context.evaluatedCommand length]) { + NSRange pasteRange = NSMakeRange(lastLocation, [context.evaluatedCommand length] - lastLocation); + if(pasteRange.length > 0) { + NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; + [self appendPasteCommandForContent:pasteValue toCommands:commands]; + } + + } return commands; } diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index 9dd7633d..8db6ed04 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -17,8 +17,8 @@ @property (strong) IBOutlet NSWindow *matchSelectionWindow; @property (weak) IBOutlet NSPopUpButton *matchSelectionButton; -@property (weak) IBOutlet NSButton *performAutotypeButton; -- (void)exectureAutotypeForEntry:(KPKEntry *)entry withWindowTitle:(NSString *)title; +- (IBAction)executeAutotypeWithSelectedMatch:(id)sender; +- (IBAction)cancelAutotypeSelection:(id)sender; @end diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 376fad4f..fb737982 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -66,7 +66,18 @@ NSString *const kMPApplciationNameKey = @"applicationName"; [self _performAutotypeForContext:context]; } +- (void)cancelAutotypeSelection:(id)sender { + [self.matchSelectionWindow orderOut:sender]; + if(self.lastFrontMostApplication) { + [MPAutotypeDaemon _orderApplicationToFront:self.lastFrontMostApplication]; + } +} + - (void)_didPressHotKey { + + /* Reset the applciation on every keypress */ + self.lastFrontMostApplication = nil; + NSArray *documents = [NSApp orderedDocuments]; MPDocument *currentDocument = nil; for(MPDocument *openDocument in documents) { @@ -105,11 +116,11 @@ NSString *const kMPApplciationNameKey = @"applicationName"; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSArray *commands = [MPAutotypeCommand commandsForContext:context]; [MPAutotypeDaemon _orderApplicationToFront:self.lastFrontMostApplication]; - usleep(1000*1000); BOOL lastCommandWasPaste = NO; for(MPAutotypeCommand *command in commands) { if(lastCommandWasPaste) { - usleep(500*1000); + NSLog(@"Sleeping for pasting!"); + usleep(1000*1000); } [command execute]; lastCommandWasPaste = [command isKindOfClass:[MPAutotypePaste class]]; @@ -153,22 +164,26 @@ NSString *const kMPApplciationNameKey = @"applicationName"; - (void)_presentSelectionWindow:(NSArray *)candidates { if(!self.matchSelectionWindow) { [[NSBundle mainBundle] loadNibNamed:@"AutotypeCandidateSelectionWindow" owner:self topLevelObjects:nil]; - [self.performAutotypeButton setTarget:self]; - [self.performAutotypeButton setAction:@selector(executeAutotypeWithSelectedMatch:)]; [self.matchSelectionWindow setLevel:NSFloatingWindowLevel]; } NSMenu *associationMenu = [[NSMenu alloc] init]; [associationMenu addItemWithTitle:NSLocalizedString(@"SELECT_AUTOTYPE_CANDIDATE", "") action:NULL keyEquivalent:@""]; [associationMenu addItem:[NSMenuItem separatorItem]]; [associationMenu setAutoenablesItems:NO]; - NSString *entryMask = NSLocalizedString(@"TITLE_%@_USERNAME_%@_PASSWORD_%@_AUTOTYPE_SEQUENCE_%@", "Mask to create autotype entries for selection by the user. %1 Title %2 Username %3 Password %4 Sequence"); for(MPAutotypeContext *context in candidates) { - NSString *title = [[NSString alloc] initWithFormat:entryMask, context.entry.title, context.entry.username, context.entry.password, context.command]; - NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:title action:0 keyEquivalent:@""]; + NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:context.entry.title action:0 keyEquivalent:@""]; [item setRepresentedObject:context]; [associationMenu addItem:item]; + NSArray *attributes = @[ context.entry.username, context.command ]; + for(NSString *value in attributes) { + NSMenuItem *valueItem = [[NSMenuItem alloc] initWithTitle:value action:NULL keyEquivalent:@""]; + [valueItem setIndentationLevel:1]; + [valueItem setEnabled:NO]; + [associationMenu addItem:valueItem]; + } } [self.matchSelectionButton setMenu:associationMenu]; + [NSApp activateIgnoringOtherApps:YES]; [self.matchSelectionWindow makeKeyAndOrderFront:self]; /* Setup Items in Popup */ } @@ -179,7 +194,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; NSAppleScript *script = [[NSAppleScript alloc] initWithSource:appleScript]; NSDictionary *error; NSAppleEventDescriptor *descriptor = [script executeAndReturnError:&error]; - if(descriptor) { + if(!descriptor) { NSLog(@"Error trying to execure %@: %@", script, error); } } diff --git a/MacPass/MPFixAutotypeWindowController.h b/MacPass/MPFixAutotypeWindowController.h new file mode 100644 index 00000000..dbf285f9 --- /dev/null +++ b/MacPass/MPFixAutotypeWindowController.h @@ -0,0 +1,15 @@ +// +// MPFixAutotypeWindowController.h +// MacPass +// +// Created by Michael Starke on 26/03/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPFixAutotypeWindowController : NSWindowController + +- (void)reset; + +@end diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m new file mode 100644 index 00000000..e83ed264 --- /dev/null +++ b/MacPass/MPFixAutotypeWindowController.m @@ -0,0 +1,139 @@ +// +// MPFixAutotypeWindowController.m +// MacPass +// +// Created by Michael Starke on 26/03/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPFixAutotypeWindowController.h" +#import "MPDocument.h" +#import "KPKNode.h" +#import "KPKEntry.h" +#import "KPKGroup.h" +#import "KPKAutotype.h" + +@interface KPKGroup (Breadcrumb) + +- (NSString *)breadcrumb; + +@end + +@implementation KPKGroup (Breadcrumb) + +- (NSString *)breadcrumb { + if(self.parent) { + return [[self.parent breadcrumb] stringByAppendingFormat:@" > %@", self.name]; + } + return self.name; +} + +@end + +@interface MPFixAutotypeWindowController () { + NSMutableArray *_elements; +} + +@property (weak) NSTableView *tableView; + +@end + +@implementation MPFixAutotypeWindowController + +- (instancetype)init { + self = [super initWithWindowNibName:@"FixAutotypeWindow"]; + return self; +} + +- (instancetype)initWithWindow:(NSWindow *)window { + self = [super initWithWindow:window]; + if (self) { + } + return self; +} + +- (void)windowDidLoad { + [super windowDidLoad]; +} + +- (void)reset { + _elements = nil; + [self.tableView reloadData]; +} + +#pragma mark - +#pragma mark NSTableViewDataSource + +- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { + + self.tableView = tableView; + + return [[self entriesAndGroups] count]; +} + +- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { + + self.tableView = tableView; + id node = [self entriesAndGroups][row]; + if([[tableColumn identifier] isEqualToString:@"TitleCell"]) { + if( [node respondsToSelector:@selector(title)]) { + return [node title]; + } + return [node breadcrumb]; + } + else if ([[tableColumn identifier] isEqualToString:@"AutotypeCell"]) { + if([node respondsToSelector:@selector(defaultAutoTypeSequence)]) { + return [node defaultAutoTypeSequence]; + } + return [[node autotype] defaultKeystrokeSequence]; + } + else if([[tableColumn identifier] isEqualToString:@"IsDefaultCell"]) { + BOOL isDefault = NO; + if([node respondsToSelector:@selector(hasDefaultAutotypeSequence)]) { + isDefault = [node hasDefaultAutotypeSequence]; + } + else { + isDefault = [[node autotype] hasDefaultKeystrokeSequence]; + } + return isDefault ? @"Yes" : @"No"; + } + return nil; +} + +#pragma mark - +#pragma mark NSTableViewDelegate + +- (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row { + id item = [self entriesAndGroups][row]; + return [item isKindOfClass:[KPKGroup class]]; +} + +#pragma mark - +#pragma mark Data accessors + +- (NSArray *)entriesAndGroups { + if(nil == _elements) { + NSArray *documents = [[NSDocumentController sharedDocumentController] documents]; + _elements = [[NSMutableArray alloc] init]; + for(MPDocument *document in documents) { + if(!document.root) { + continue; + } + KPKGroup *group = document.root; + [self flattenGroup:group toArray:_elements]; + } + } + return _elements; +} + + +- (void)flattenGroup:(KPKGroup *)group toArray:(NSMutableArray *)array { + [array addObject:group]; + [array addObjectsFromArray:group.entries]; + for(KPKGroup *childGroup in group.groups) { + [self flattenGroup:childGroup toArray:array]; + } +} + + +@end From ee0a1009b5a03111fdd95d3068321658a87d2826 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 27 Mar 2014 01:23:15 +0100 Subject: [PATCH 005/778] Clearing and custom setting auto type sequences is working roughly in the Fix-Tool --- KeePassKit | 2 +- MacPass/FixAutotypeWindow.xib | 12 +++-- MacPass/MPAppDelegate.m | 27 +++++----- MacPass/MPFixAutotypeWindowController.h | 11 +++++ MacPass/MPFixAutotypeWindowController.m | 66 ++++++++++++++++++------- 5 files changed, 81 insertions(+), 37 deletions(-) diff --git a/KeePassKit b/KeePassKit index ecc58b8a..cb5cae72 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit ecc58b8a561385462f72b7aa38b1b78e4928e731 +Subproject commit cb5cae724405e1ea4d5fd7ccf2e0e84dba044986 diff --git a/MacPass/FixAutotypeWindow.xib b/MacPass/FixAutotypeWindow.xib index d5ae8244..a4853e2c 100644 --- a/MacPass/FixAutotypeWindow.xib +++ b/MacPass/FixAutotypeWindow.xib @@ -7,6 +7,7 @@ + @@ -16,7 +17,7 @@ - + @@ -61,7 +62,7 @@ - + @@ -87,7 +88,7 @@ - + + + + + + + + + + diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 37397876..9ad66d90 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -54,6 +54,7 @@ #pragma mark View Actions - (IBAction)toggleInspector:(id)sender; +- (IBAction)showInspector:(id)sender; - (IBAction)focusGroups:(id)sender; - (IBAction)focusEntries:(id)sender; - (IBAction)focusInspector:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 339eeac4..66a852e6 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -308,14 +308,11 @@ typedef void (^MPPasswordChangedBlock)(void); - (void)toggleInspector:(id)sender { NSView *inspectorView = [_inspectorViewController view]; - BOOL inspectorVisible = NO; - if([inspectorView superview]) { - //[inspectorView animator] + BOOL inspectorWasVisible = [self _isInspectorVisible]; + if(inspectorWasVisible) { [inspectorView removeFromSuperview]; } else { - // Remove contraint on view removal. - inspectorVisible = YES; [_splitView addSubview:inspectorView]; [_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" options:0 @@ -323,7 +320,11 @@ typedef void (^MPPasswordChangedBlock)(void); views:NSDictionaryOfVariableBindings(inspectorView)]]; [self.inspectorViewController updateResponderChain]; } - [[NSUserDefaults standardUserDefaults] setBool:inspectorVisible forKey:kMPSettingsKeyShowInspector]; + [[NSUserDefaults standardUserDefaults] setBool:!inspectorWasVisible forKey:kMPSettingsKeyShowInspector]; +} + +- (void)showInspector:(id)sender { + // TODO; } - (void)focusEntries:(id)sender { @@ -434,6 +435,10 @@ typedef void (^MPPasswordChangedBlock)(void); return; // Cancel or unknown } } + +#pragma mark - +#pragma mark UI Helper + - (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab { if(!self.documentSettingsWindowController) { _documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] initWithDocument:[self document]]; @@ -447,4 +452,9 @@ typedef void (^MPPasswordChangedBlock)(void); } +- (BOOL)_isInspectorVisible { + NSView *inspectorView = [_inspectorViewController view]; + return (nil != [inspectorView superview]); +} + @end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 35fd9028..ed14a221 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -613,7 +613,10 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; } NSTableColumn *column = [self.entryTable tableColumns][[self.entryTable clickedColumn]]; NSString *identifier = [column identifier]; - if([identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]) { + if([identifier isEqualToString:MPEntryTableTitleColumnIdentifier]) { + + } + else if([identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]) { [self copyPassword:nil]; } else if([identifier isEqualToString:MPEntryTableUserNameColumnIdentifier]) { diff --git a/MacPass/MPFixAutotypeWindowController.h b/MacPass/MPFixAutotypeWindowController.h index c1d0326a..90d9cfff 100644 --- a/MacPass/MPFixAutotypeWindowController.h +++ b/MacPass/MPFixAutotypeWindowController.h @@ -16,7 +16,7 @@ @property (nonatomic, weak) MPDocument *workingDocument; /** - * Clears the autotype sequences for the selected entries + * Clears the autotype sequences for the selected entries, groups or window associations * * @param sender sender of the action */ diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index 46a45953..7f5090b9 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -14,9 +14,12 @@ #import "KPKAutotype.h" #import "KPKWindowAssociation.h" +#import "MPIconHelper.h" + NSString *const kMPAutotypeCell = @"AutotypeCell"; NSString *const kMPTitleCell = @"TitleCell"; NSString *const kMPIsDefaultCell = @"IsDefaultCell"; +NSString *const kMPIconCell = @"IconCell"; /* Helper Categries */ @@ -63,6 +66,10 @@ NSString *const kMPIsDefaultCell = @"IsDefaultCell"; [super windowDidLoad]; } +- (void)dealloc { + [self.window orderOut:self]; +} + #pragma mark - #pragma mark Properties @@ -139,18 +146,28 @@ NSString *const kMPIsDefaultCell = @"IsDefaultCell"; } return association.keystrokeSequence; } - else if([[tableColumn identifier] isEqualToString:kMPIsDefaultCell]) { + else { BOOL isDefault = NO; + NSString *keystrokeSequence; if(entry) { isDefault = entry.autotype.hasDefaultKeystrokeSequence; + keystrokeSequence = entry.autotype.defaultKeystrokeSequence; } else if( group ) { isDefault = group.hasDefaultAutotypeSequence; + keystrokeSequence = group.defaultAutoTypeSequence; } else { isDefault = association.hasDefaultKeystrokeSequence; + keystrokeSequence = association.keystrokeSequence; + } + if([[tableColumn identifier] isEqualToString:kMPIsDefaultCell]) { + return isDefault ? @"Yes" : @"No"; + } + else if( [[tableColumn identifier] isEqualToString:kMPIconCell]) { + BOOL isWrongFormat = (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); + return (isWrongFormat && !isDefault) ? [MPIconHelper icon:MPIconWarning] : nil; } - return isDefault ? @"Yes" : @"No"; } return nil; } @@ -182,6 +199,16 @@ NSString *const kMPIsDefaultCell = @"IsDefaultCell"; return [item isKindOfClass:[KPKGroup class]]; } +#pragma mark - +#pragma mark MenuItem Validation + +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem { + if(!([menuItem action] == @selector(clearAutotype:))) { + return NO; + } + return ([[self.tableView selectedRowIndexes] count] > 0); +} + #pragma mark - #pragma mark Data accessors From 33d992b7fb849875f5b322530a0778b09b56fa82 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 4 Apr 2014 23:18:24 +0200 Subject: [PATCH 010/778] Updated Readme with warning of Autotype fuck up (0.4.2 will have a fix-up tool) Fixed issue with inspector still displaying deleted entries --- MacPass/MPEntryViewController.m | 7 +++++++ README.md | 2 ++ 2 files changed, 9 insertions(+) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index ed14a221..2034eff3 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -293,6 +293,13 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; return view; } +- (void)tableView:(NSTableView *)tableView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row { + /* Rows being removed for data change should be chekced here to clear selections */ + if(row == -1) { + [self tableViewSelectionDidChange:nil]; + } +} + - (void)tableViewSelectionDidChange:(NSNotification *)notification { MPDocument *document = [[self windowController] document]; if([self.entryTable selectedRow] < 0 || [[_entryTable selectedRowIndexes] count] > 1) { diff --git a/README.md b/README.md index cc6ba04d..eac059bc 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ After that you can build and run in Xcode. If you run into signing issues take a * KDBX DeletedObjects are stripped on save. This will break synchronisation features! * Binary releases (since 0.4.x): * KDBX History is only preseverd. Editting doesn't create new history entries + * Default Autotype Sequences will get stored + * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` ##System Requirement From 235a711452bafa2d30d3c649426231dc914fd229 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 4 Apr 2014 23:19:20 +0200 Subject: [PATCH 011/778] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eac059bc..983e72b6 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ After that you can build and run in Xcode. If you run into signing issues take a * KDBX DeletedObjects are stripped on save. This will break synchronisation features! * Binary releases (since 0.4.x): * KDBX History is only preseverd. Editting doesn't create new history entries - * Default Autotype Sequences will get stored + * Default Autotype Sequences will get stored although they shouldn't be stored * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` ##System Requirement From 41681cc1c1c0cbe6265eca933aab83086855b0cd Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 11 Apr 2014 17:44:59 +0200 Subject: [PATCH 012/778] fixed #178 Modification Time is preserved on History entries --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index cb5cae72..de1b69fe 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit cb5cae724405e1ea4d5fd7ccf2e0e84dba044986 +Subproject commit de1b69fe330dd164133b5523328b4ff1b3f383fb From acb5d6de0428214377748d6296680ed21bea9488 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 11 Apr 2014 21:29:41 +0200 Subject: [PATCH 013/778] Updated Sparkle --- Sparkle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sparkle b/Sparkle index 035fd5d4..1b33524c 160000 --- a/Sparkle +++ b/Sparkle @@ -1 +1 @@ -Subproject commit 035fd5d434a061ed173854994217f97f097d7f29 +Subproject commit 1b33524cbcd76c7cb2e1b0a8ac43d40fb90efb30 From c3768d8d3ed2493324c308a85e1ada132ffe76ee Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 12 Apr 2014 09:34:19 +0200 Subject: [PATCH 014/778] Fixed auto type not getting the corret entry set after cloning Minor changes to time recording --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 4 ++-- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/KeePassKit b/KeePassKit index de1b69fe..75c898b0 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit de1b69fe330dd164133b5523328b4ff1b3f383fb +Subproject commit 75c898b025cce37e98c33b5d277cd10f2093eaa0 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index ca0b742c..970f8418 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -895,7 +895,7 @@ 4CFC873A179DEDF3000DFC03 /* KPKMetaData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKMetaData.m; sourceTree = ""; }; 4CFC873C179DF200000DFC03 /* KPKTimeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTimeInfo.h; sourceTree = ""; }; 4CFC873D179DF200000DFC03 /* KPKTimeInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTimeInfo.m; sourceTree = ""; }; - 4CFC873F179DF295000DFC03 /* KPKTimerecording.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKTimerecording.h; sourceTree = ""; }; + 4CFC873F179DF295000DFC03 /* KPKModificationRecording.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKModificationRecording.h; sourceTree = ""; }; 4CFC8742179DFD3E000DFC03 /* KPKTestXmlLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestXmlLoading.m; sourceTree = ""; }; 4CFDDDE7185E92A600A9E7F1 /* HNHTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHTextView.h; sourceTree = ""; }; 4CFDDDE8185E92A600A9E7F1 /* HNHTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHTextView.m; sourceTree = ""; }; @@ -1804,7 +1804,7 @@ 4CFC873A179DEDF3000DFC03 /* KPKMetaData.m */, 4CFC873C179DF200000DFC03 /* KPKTimeInfo.h */, 4CFC873D179DF200000DFC03 /* KPKTimeInfo.m */, - 4CFC873F179DF295000DFC03 /* KPKTimerecording.h */, + 4CFC873F179DF295000DFC03 /* KPKModificationRecording.h */, 4C68456817BC21DD00FCDBFC /* KPKAutotype.h */, 4C68456917BC21DD00FCDBFC /* KPKAutotype.m */, 4C68456B17BC227B00FCDBFC /* KPKWindowAssociation.h */, diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index eec65a47..1409b6c9 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -80,6 +80,13 @@ isEnabled = "NO"> + + + + From 66f2536db01d425c04ce5f2ac57e6f0a0669fd80 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 12 Apr 2014 10:01:41 +0200 Subject: [PATCH 015/778] Fixed issue with wrong entry reference on copyWithZone on KPKEntry --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 75c898b0..8fceb3c6 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 75c898b025cce37e98c33b5d277cd10f2093eaa0 +Subproject commit 8fceb3c6ece514d874df98fecd6c6ab0a6d9e25d From ea6db31d030f86fd99828c91f792ee90a0955283 Mon Sep 17 00:00:00 2001 From: Dennis Bolio Date: Tue, 15 Apr 2014 00:01:26 +0200 Subject: [PATCH 016/778] Fixed sorting and selection of database icons (issue #118) --- MacPass/MPIconHelper.h | 6 ++++++ MacPass/MPIconHelper.m | 31 +++++++++++++++++++++++++++- MacPass/MPIconSelectViewController.m | 2 +- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/MacPass/MPIconHelper.h b/MacPass/MPIconHelper.h index c4f45ba2..52beeab1 100644 --- a/MacPass/MPIconHelper.h +++ b/MacPass/MPIconHelper.h @@ -78,4 +78,10 @@ typedef NS_ENUM(NSUInteger, MPIconType) { */ + (NSArray *)databaseIcons; +/** + * List of all available DatabaseIcons as MPIconType. Sorted by IconIndex + * @return Array of Names as NSNumber objects + */ ++ (NSArray *)databaseIconType; + @end diff --git a/MacPass/MPIconHelper.m b/MacPass/MPIconHelper.m index c757e9cb..70ecbf17 100644 --- a/MacPass/MPIconHelper.m +++ b/MacPass/MPIconHelper.m @@ -29,7 +29,12 @@ dispatch_once(&onceToken, ^{ NSDictionary *imageNames = [MPIconHelper availableIconNames]; NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]]; - for(NSNumber *iconNumber in [imageNames allKeys]) { + + NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { + return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]]; + }]; + + for(NSNumber *iconNumber in sortedImageNames) { if([iconNumber integerValue] > MPCustomIconTypeBegin) { continue; // Skip all non-db Keys } @@ -41,6 +46,30 @@ return icons; } + ++ (NSArray *)databaseIconType { + static NSArray *iconTypes; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSDictionary *imageNames = [MPIconHelper availableIconNames]; + NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]]; + + NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { + return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]]; + }]; + + for(NSNumber *iconNumber in sortedImageNames) { + if([iconNumber integerValue] > MPCustomIconTypeBegin) { + continue; // Skip all non-db Keys + } + [mutableIcons addObject:iconNumber]; + } + iconTypes = mutableIcons; + }); + return iconTypes; +} + + + (NSDictionary *)availableIconNames { static NSDictionary *imageNames; static dispatch_once_t onceToken; diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index fcc62882..a613e587 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -58,7 +58,7 @@ NSInteger const kMPDefaultIcon = -1; NSButton *button = sender; NSImage *image = [button image]; NSUInteger buttonIndex = [[self.iconCollectionView content] indexOfObject:image]; - self.selectedIcon = [[[MPIconHelper availableIconNames] allKeys][buttonIndex] integerValue]; + self.selectedIcon = [[MPIconHelper databaseIconType] [buttonIndex] integerValue]; [self.popover performClose:self]; } From 3b6d182d0e1a97273c4152527d82d17b1000889a Mon Sep 17 00:00:00 2001 From: Dennis Bolio Date: Tue, 15 Apr 2014 22:20:01 +0200 Subject: [PATCH 017/778] Fix some typos --- MacPass/MPIconHelper.h | 8 ++++---- MacPass/MPIconHelper.m | 2 +- MacPass/MPIconSelectViewController.m | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MacPass/MPIconHelper.h b/MacPass/MPIconHelper.h index 52beeab1..ba8a4319 100644 --- a/MacPass/MPIconHelper.h +++ b/MacPass/MPIconHelper.h @@ -73,15 +73,15 @@ typedef NS_ENUM(NSUInteger, MPIconType) { + (NSDictionary *)availableIconNames; /** - * List of all availabel DatabaseIcons as Images. Sorted by IconIndex + * List of all available DatabaseIcons as an array of Images. Sorted by IconIndex. * @return Array of Icons as NSImage objects */ + (NSArray *)databaseIcons; /** - * List of all available DatabaseIcons as MPIconType. Sorted by IconIndex - * @return Array of Names as NSNumber objects + * List of all available DatabaseIcons as an array of MPIconType. Sorted by IconIndex. + * @return Array of MPIconType as NSNumber objects */ -+ (NSArray *)databaseIconType; ++ (NSArray *)databaseIconTypes; @end diff --git a/MacPass/MPIconHelper.m b/MacPass/MPIconHelper.m index 70ecbf17..6853e4f1 100644 --- a/MacPass/MPIconHelper.m +++ b/MacPass/MPIconHelper.m @@ -47,7 +47,7 @@ } -+ (NSArray *)databaseIconType { ++ (NSArray *)databaseIconTypes { static NSArray *iconTypes; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index a613e587..0a281705 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -58,7 +58,7 @@ NSInteger const kMPDefaultIcon = -1; NSButton *button = sender; NSImage *image = [button image]; NSUInteger buttonIndex = [[self.iconCollectionView content] indexOfObject:image]; - self.selectedIcon = [[MPIconHelper databaseIconType] [buttonIndex] integerValue]; + self.selectedIcon = [[MPIconHelper databaseIconTypes] [buttonIndex] integerValue]; [self.popover performClose:self]; } From 95777057ca1fb6e84f3586249eab48a440718ded Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 16 Apr 2014 13:53:38 +0200 Subject: [PATCH 018/778] Using true immutable copies of for nsarray --- MacPass/MPIconHelper.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPIconHelper.m b/MacPass/MPIconHelper.m index 6853e4f1..fa455f77 100644 --- a/MacPass/MPIconHelper.m +++ b/MacPass/MPIconHelper.m @@ -41,7 +41,7 @@ MPIconType iconType = (MPIconType)[iconNumber integerValue]; [mutableIcons addObject:[MPIconHelper icon:iconType]]; } - icons = mutableIcons; + icons = [mutableIcons copy]; }); return icons; } @@ -64,7 +64,7 @@ } [mutableIcons addObject:iconNumber]; } - iconTypes = mutableIcons; + iconTypes = [mutableIcons copy]; }); return iconTypes; } From 2d967d9cb3366fea926de89e254380b947c88941 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 17 Apr 2014 14:46:45 +0200 Subject: [PATCH 019/778] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 983e72b6..dc7e8bdb 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,9 @@ It is able to read and write database version 1 and 2. Not all database features ## Help -You might get help in the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) +Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) + +Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) ##License From 9239bdff1ec18abf31c5951bf3e490fc219b21de Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sat, 19 Apr 2014 12:02:41 +0200 Subject: [PATCH 020/778] Updated to current TransformerKit --- TransformerKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransformerKit b/TransformerKit index a1f3d663..c3ccd5fe 160000 --- a/TransformerKit +++ b/TransformerKit @@ -1 +1 @@ -Subproject commit a1f3d663240d879f5341e1a97cee8413477a4e44 +Subproject commit c3ccd5fed4d77ac689dcf1b20f79db76935d2069 From a2def8129ee7c94595294cddf98092e4e48901fc Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sat, 19 Apr 2014 12:21:13 +0200 Subject: [PATCH 021/778] Fixed #183 menu item validation for AddGroup/AddEntry now just check for a selected group and does not require a selected item anymore --- MacPass/MPDocument.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 3527bcdd..d9cb489e 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -580,9 +580,14 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey switch([MPActionHelper typeForAction:[anItem action]]) { case MPActionAddGroup: valid &= (nil != self.selectedGroup); - // fall-through + valid &= (self.trash != self.selectedGroup); + valid &= ![self isItemTrashed:self.selectedGroup]; + break; case MPActionAddEntry: - // fall-through + valid &= (nil != self.selectedGroup); + valid &= (self.trash != self.selectedGroup); + valid &= ![self isItemTrashed:self.selectedGroup]; + break; case MPActionDelete: valid &= (nil != self.selectedItem); valid &= (self.trash != self.selectedItem); From 0f6d3b6a9d25a0f8ed41c483830fb41031f60485 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 23 Apr 2014 14:34:26 +0200 Subject: [PATCH 022/778] Added cleanup for old preferences values --- MacPass/MPSettingsHelper.m | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 06e2763b..af84f0c1 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -49,6 +49,7 @@ NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGenerated } + (void)migrateDefaults { + [self _removeObsolteValues]; [self _fixEntryTableSortDescriptors]; } @@ -83,6 +84,13 @@ NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGenerated }; } ++ (void)_removeObsolteValues { + /* Clear old style values */ + for(NSString *key in @[ @"kMPSettingsKeyRememberKeyFilesForDatabases", @"MPLastDatabasePath" ]) { + [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; + } +} + + (void)_fixEntryTableSortDescriptors { /* MacPass < 0.4 did use compare: for the entry table view, From 4d5b59a195be8d3593720035efffb0f3660d0557 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 25 Apr 2014 19:02:14 +0200 Subject: [PATCH 023/778] Changed default password rounds to higher value --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 8fceb3c6..2c3153bb 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8fceb3c6ece514d874df98fecd6c6ab0a6d9e25d +Subproject commit 2c3153bb4b69e0fe0e827a16e1a53f53523f2664 From df55eb2b62a16d15c105035cbc03dbf94b125fe0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 25 Apr 2014 19:02:55 +0200 Subject: [PATCH 024/778] Increased default rounds for password hashing to 50000 and added default settings key --- MacPass/MPDocument.m | 1 + MacPass/MPSettingsHelper.h | 1 + MacPass/MPSettingsHelper.m | 3 +++ 3 files changed, 5 insertions(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index d9cb489e..87b57ae3 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -119,6 +119,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey _activeFlags = MPEntrySearchTitles; _hasSearch = NO; self.tree = [KPKTree templateTree]; + self.tree.metaData.rounds = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordRounds]; } return self; } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index b973a021..8e0b3aad 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -59,6 +59,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; /* Password Generation */ APPKIT_EXTERN NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard; +APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordRounds; typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { MPPasswordEncodingUTF8, diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index af84f0c1..353d0639 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -42,6 +42,8 @@ NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookP NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; +NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; + @implementation MPSettingsHelper + (void)setupDefaults { @@ -81,6 +83,7 @@ NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGenerated kMPSettingsKeyEnableGlobalAutotype: @NO, kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, + kMPSettingsKeyDefaultPasswordRounds: @50000 }; } From 3482e256b2ed5e70212733696179c504580a8335 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Mon, 28 Apr 2014 10:15:17 +0200 Subject: [PATCH 025/778] Fixed flattr link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc7e8bdb..d25e7463 100644 --- a/README.md +++ b/README.md @@ -133,4 +133,4 @@ See submodules for additional Licenses ##Feedback -![Flattr this](http://api.flattr.com/button/flattr-badge-large.png) +[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/1550529/mstarkeMacPass-on-GitHub) From 3ccff22f87d7e10e13d60faefe35acee62be334f Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 2 May 2014 23:05:50 +0200 Subject: [PATCH 026/778] Fixed possible crash issue with deallocated delegate Fixed codestyle --- MacPass/MPOutlineViewController.m | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index fb39a40c..60f5547a 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -66,21 +66,25 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; return self; } +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [self.outlineView setDelegate:nil]; +} - (void)didLoadView { - [_outlineView setDelegate:self]; - [_outlineView setMenu:[self _contextMenu]]; - [_outlineView setAllowsEmptySelection:YES]; - [_outlineView setFloatsGroupRows:NO]; - [_outlineView registerForDraggedTypes:@[ KPKGroupUTI, KPKEntryUTI ]]; - [_outlineView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:YES]; - [_bottomBar setBorderType:HNHBorderTop|HNHBorderHighlight]; - [_addGroupButton setAction:[MPActionHelper actionOfType:MPActionAddGroup]]; + [self.outlineView setDelegate:self]; + [self.outlineView setMenu:[self _contextMenu]]; + [self.outlineView setAllowsEmptySelection:YES]; + [self.outlineView setFloatsGroupRows:NO]; + [self.outlineView registerForDraggedTypes:@[ KPKGroupUTI, KPKEntryUTI ]]; + [self.outlineView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:YES]; + [self.bottomBar setBorderType:HNHBorderTop|HNHBorderHighlight]; + [self.addGroupButton setAction:[MPActionHelper actionOfType:MPActionAddGroup]]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didBecomeFirstResponder:) name:MPDidActivateViewNotification - object:_outlineView]; + object:self.outlineView]; } From 98b23f9e80da7ee6a0243b7f93b406d8efedadf3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 26 May 2014 10:52:01 +0200 Subject: [PATCH 027/778] corrected Typo in Preferences (fixes #191) Updates German localization --- MacPass/Base.lproj/IntegrationSettings.xib | 6 +++--- MacPass/de.lproj/IntegrationSettings.strings | 12 ++++++------ MacPass/en.lproj/IntegrationSettings.strings | 4 ++-- MacPass/fr.lproj/IntegrationSettings.strings | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index ffa7869f..a4ad7d45 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -105,7 +105,7 @@ + + + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index c3dbc2c1..b0a0839f 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -26,6 +26,11 @@ NSString *const kMPWindowTitleKey = @"windowTitle"; NSString *const kMPApplciationNameKey = @"applicationName"; +/* + Enabel to activate autotype +#define MP_AUTOTYPE +*/ + @interface MPAutotypeDaemon () @property (nonatomic, assign) BOOL enabled; @@ -43,7 +48,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; self = [super init]; if (self) { _enabled = NO; - [self bind:@"enabled" + [self bind:NSStringFromSelector(@selector(enabled)) toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype] options:nil]; @@ -52,7 +57,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; } - (void)dealloc { - [self unbind:@"enabled"]; + [self unbind:NSStringFromSelector(@selector(enabled))]; } #pragma mark - @@ -61,7 +66,9 @@ NSString *const kMPApplciationNameKey = @"applicationName"; - (void)setEnabled:(BOOL)enabled { if(_enabled != enabled) { _enabled = enabled; +#ifdef MP_AUTOTYPE self.enabled ? [self _registerHotKey] : [self _unregisterHotKey]; +#endif } } @@ -184,7 +191,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID]; if(processId && [processId isEqualToNumber:@(frontApplication.processIdentifier)]) { return @{ - kMPWindowTitleKey:windowDict[(NSString *)kCGWindowName], + kMPWindowTitleKey: windowDict[(NSString *)kCGWindowName], kMPApplciationNameKey : name }; } diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 9ad66d90..024d0ea3 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -50,7 +50,7 @@ - (IBAction)pickExpiryDate:(id)sender; #pragma mark Helper -- (void)fixAutotype:(id)sender; +- (IBAction)fixAutotype:(id)sender; #pragma mark View Actions - (IBAction)toggleInspector:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 66a852e6..3dcfa8b3 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -86,15 +86,15 @@ typedef void (^MPPasswordChangedBlock)(void); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotifiation object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showEntries) name:MPDocumentDidUnlockDatabaseNotification object:document]; - [_entryViewController regsiterNotificationsForDocument:document]; - [_inspectorViewController regsiterNotificationsForDocument:document]; - [_outlineViewController regsiterNotificationsForDocument:document]; - [_toolbarDelegate registerNotificationsForDocument:document]; + [self.entryViewController regsiterNotificationsForDocument:document]; + [self.inspectorViewController regsiterNotificationsForDocument:document]; + [self.outlineViewController regsiterNotificationsForDocument:document]; + [self.toolbarDelegate registerNotificationsForDocument:document]; - _toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; - [_toolbar setAutosavesConfiguration:YES]; + self.toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; + [self.toolbar setAutosavesConfiguration:YES]; [self.toolbar setAllowsUserCustomization:YES]; [self.toolbar setDelegate:self.toolbarDelegate]; [self.window setToolbar:self.toolbar]; @@ -102,15 +102,15 @@ typedef void (^MPPasswordChangedBlock)(void); [self.splitView setTranslatesAutoresizingMaskIntoConstraints:NO]; - NSView *outlineView = [_outlineViewController view]; - NSView *inspectorView = [_inspectorViewController view]; - NSView *entryView = [_entryViewController view]; - [_splitView addSubview:outlineView]; - [_splitView addSubview:entryView]; - [_splitView addSubview:inspectorView]; + NSView *outlineView = [self.outlineViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; + NSView *entryView = [self.entryViewController view]; + [self.splitView addSubview:outlineView]; + [self.splitView addSubview:entryView]; + [self.splitView addSubview:inspectorView]; - [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+2 forSubviewAtIndex:0]; - [_splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; + [self.splitView setHoldingPriority:NSLayoutPriorityDefaultLow+2 forSubviewAtIndex:0]; + [self.splitView setHoldingPriority:NSLayoutPriorityDefaultLow+1 forSubviewAtIndex:2]; BOOL showInspector = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyShowInspector]; if(!showInspector) { @@ -124,7 +124,7 @@ typedef void (^MPPasswordChangedBlock)(void); [self showEntries]; } - [_splitView setAutosaveName:@"SplitView"]; + [self.splitView setAutosaveName:@"SplitView"]; } - (NSSearchField *)searchField { @@ -291,11 +291,11 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)createGroup:(id)sender { - [_outlineViewController createGroup:nil]; + [self.outlineViewController createGroup:nil]; } - (void)createEntry:(id)sender { - [_outlineViewController createEntry:nil]; + [self.outlineViewController createEntry:nil]; } - (void)pickIcon:(id)sender { @@ -307,14 +307,14 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)toggleInspector:(id)sender { - NSView *inspectorView = [_inspectorViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; BOOL inspectorWasVisible = [self _isInspectorVisible]; if(inspectorWasVisible) { [inspectorView removeFromSuperview]; } else { - [_splitView addSubview:inspectorView]; - [_splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" + [self.splitView addSubview:inspectorView]; + [self.splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(inspectorView)]]; @@ -341,16 +341,16 @@ typedef void (^MPPasswordChangedBlock)(void); - (void)showEntries { NSView *contentView = [[self window] contentView]; - if(_splitView == contentView) { + if(self.splitView == contentView) { return; // We are displaying the entries already } if([[contentView subviews] count] == 1) { [[contentView subviews][0] removeFromSuperviewWithoutNeedingDisplay]; } - [contentView addSubview:_splitView]; - NSView *outlineView = [_outlineViewController view]; - NSView *inspectorView = [_inspectorViewController view]; - NSView *entryView = [_entryViewController view]; + [contentView addSubview:self.splitView]; + NSView *outlineView = [self.outlineViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; + NSView *entryView = [self.entryViewController view]; /* The current easy way to prevent layout hickups is to add the inspect @@ -358,7 +358,7 @@ typedef void (^MPPasswordChangedBlock)(void); */ BOOL removeInspector = NO; if(![inspectorView superview]) { - [_splitView addSubview:inspectorView]; + [self.splitView addSubview:inspectorView]; removeInspector = YES; } /* Maybe we should consider not double adding constraints */ @@ -389,10 +389,10 @@ typedef void (^MPPasswordChangedBlock)(void); options:0 metrics:nil views:views]]; - [_entryViewController updateResponderChain]; - [_inspectorViewController updateResponderChain]; - [_outlineViewController updateResponderChain]; - [_outlineViewController showOutline]; + [self.entryViewController updateResponderChain]; + [self.inspectorViewController updateResponderChain]; + [self.outlineViewController updateResponderChain]; + [self.outlineViewController showOutline]; /* Restore the State the inspector view was in before the view change */ if(removeInspector) { @@ -453,7 +453,7 @@ typedef void (^MPPasswordChangedBlock)(void); } - (BOOL)_isInspectorVisible { - NSView *inspectorView = [_inspectorViewController view]; + NSView *inspectorView = [self.inspectorViewController view]; return (nil != [inspectorView superview]); } diff --git a/MacPass/MPDocumentWindowDelegate.m b/MacPass/MPDocumentWindowDelegate.m index e2fba53a..b2d6c302 100644 --- a/MacPass/MPDocumentWindowDelegate.m +++ b/MacPass/MPDocumentWindowDelegate.m @@ -77,4 +77,5 @@ } return ok; } + @end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 010fe38e..bc2e6be2 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -66,6 +66,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @interface MPEntryViewController () { MPEntryContextMenuDelegate *_menuDelegate; BOOL _isDisplayingContextBar; + BOOL _showFooterInfo; } @property (strong) NSArrayController *entryArrayController; @@ -81,6 +82,8 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @property (weak) IBOutlet HNHGradientView *bottomBar; @property (weak) IBOutlet NSButton *addEntryButton; +@property (weak) IBOutlet NSTextField *footerInfoText; + @property (nonatomic, strong) MPEntryTableDataSource *dataSource; @end @@ -188,6 +191,9 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self _setupHeaderMenu]; [parentColumn setHidden:YES]; + + [self.footerInfoText setHidden:!_showFooterInfo]; + [self.footerInfoText setStringValue:NSLocalizedString(@"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING", "")]; } - (NSResponder *)reconmendedFirstResponder { @@ -217,6 +223,22 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self.contextBarViewController registerNotificationsForDocument:document]; + + /* Setup warning message at the bottom*/ + NSArray *array = [[NSUserDefaults standardUserDefaults] arrayForKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; + NSString *path = [[document fileURL] path]; + if(!path) { + return; // No path, nothing to do + } + if(![array containsObject:path]) { + array = array ? [array arrayByAddingObject:path] : @[path]; + [[NSUserDefaults standardUserDefaults] setObject:array forKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; + [[NSUserDefaults standardUserDefaults] synchronize]; + _showFooterInfo = YES; + } + else { + _showFooterInfo = NO; + } } #pragma mark NSTableViewDelgate diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 8e0b3aad..2da111a3 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -50,6 +50,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyKey; +APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 353d0639..7bf0e44d 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -8,41 +8,42 @@ #import "MPSettingsHelper.h" -NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; -NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; -NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; -NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; -NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; -NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; -NSString *const kMPSettingsKeyHttpPort = @"HttpPort"; -NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; -NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; -NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; -NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; -NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; -NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors"; +NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; +NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; +NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; +NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; +NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; +NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; +NSString *const kMPSettingsKeyHttpPort = @"HttpPort"; +NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; +NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; +NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; +NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; +NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; +NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors"; -NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle"; -NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername "; -NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword"; -NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; -NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; +NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle"; +NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername "; +NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword"; +NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; +NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; -NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; -NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; -NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; +NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; +NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; +NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; -NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; -NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; -NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; +NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; +NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; +NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; +NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; -NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; +NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; -NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookPreview"; +NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookPreview"; -NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; +NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; -NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; +NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; @implementation MPSettingsHelper diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index d21fed7c612cc2205ffcf7048faebaeb326c544e..3789a410bea733bafebb6d9bffdc0b5f40afbfe2 100644 GIT binary patch delta 195 zcmW-bI|{;35JgX&C0J<+3mX>@EaC?Vm_$NEtWx+v5sdgLtlWpIa4{~&!V|g7%>4}W z-fQ+r->vR5pihrBDF?2sWj&pMkTE$U7A6xiN-APisavvQu3MSs6k?$+NmQBc(#=Aa xSW_>x8CW4h-?)jbD&{V$BinaI=JvO?r; liW!T<%z=)rcRKZjJIB6c?&*g;)3|XGPtHaL|4JD7&JVN@9KHYm delta 7 Ocmez2amjtdC1n5+j067w diff --git a/MacPass/en.lproj/MainMenu.strings b/MacPass/en.lproj/MainMenu.strings index f31b45c9..850adee4 100644 --- a/MacPass/en.lproj/MainMenu.strings +++ b/MacPass/en.lproj/MainMenu.strings @@ -139,3 +139,33 @@ /* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */ "1231.title" = "Database Settings…"; + +/* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "1243"; */ +"1243.title" = "Save As…"; + +/* Class = "NSMenuItem"; title = "Export As XML…"; ObjectID = "1259"; */ +"1259.title" = "Export As XML…"; + +/* Class = "NSMenuItem"; title = "Lock"; ObjectID = "1261"; */ +"1261.title" = "Lock"; + +/* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ +"2VP-vB-IeX.title" = "Focus Entries"; + +/* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ +"HxM-dV-LIH.title" = "Focus Groups"; + +/* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ +"Zje-Me-5c8.title" = "Focus Inspector"; + +/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ +"aVO-9F-Lwc.title" = "Quicklook"; + +/* Class = "NSMenuItem"; title = "Fix Autotype…"; ObjectID = "nx7-Vf-LiD"; */ +"nx7-Vf-LiD.title" = "Fix Autotype…"; + +/* Class = "NSMenuItem"; title = "Import XML…"; ObjectID = "rW0-r1-QYL"; */ +"rW0-r1-QYL.title" = "Import XML…"; + +/* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "zMO-8r-g5v"; */ +"zMO-8r-g5v.title" = "Check for Updates…"; diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 128b292279c4ca58feaa2e51523d5b45e3ac27b3..c1156b99d8a4e42a80e7022885c19c78c44e4bbb 100644 GIT binary patch delta 175 zcmW-bI|{;J5QM)vrwAz&Qs@E1BKRUj5($40t00m>5EUPwl~>6TJcZ}-LzZD@W{2JF zi*Nbq2k(e6DKP~HZtP{LPDH|-iW!ZQ1to!&OcitkTh_X*^NQMP)PY=8>TXQdvRtg( l6f+fxnIj!L?{w-b4^BhL($i0Srg7&iUR;cf{*^HCogY~H95(;} delta 7 OcmX@+x4?J90yO{+4+D4r diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 91cc76697e035166aae8e5c654ca942e30aa2a2e..c6580d8993a88fa7ace6b0558aa01603db66ce06 100644 GIT binary patch delta 159 zcmX@+^UimJ0Lx}R77HbHE(U!DEd~V!UxrMEVuoZOOA9E%#h}FC!r;%~%n%Bcab@tE zTrVe?=FboWgrN)p3?U4jKv_SAc!qEWN1&J=knhLf4%DT5 kB8F0iJRt1`w50+_I|BJ74EaD@$xr}Pp$CRa4AwxK0o02cPyhe` delta 12 TcmaFod(3Bp0Lx|}7BeLPBUA)4 diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 136b6f90..078c9e02 100644 --- a/MacPass/zh-Hans.lproj/Localizable.strings +++ b/MacPass/zh-Hans.lproj/Localizable.strings @@ -99,6 +99,9 @@ "COPY_URL" = "拷贝 URL"; "COPY_USERNAME" = "拷贝用户名"; +/* Dock Badge */ +"CLEARING_PASTEBOARD" = "…"; + /* Date/Time Displays @@ -144,8 +147,6 @@ /* Autoype Dialog */ "SELECT_AUTOTYPE_CANDIDATE" = "选择候选!"; -/* Mask to create autotype entries for selection by the user. %1 Title %2 Username %3 Password %4 Sequence */ -"TITLE_%@_USERNAME_%@_PASSWORD_%@_AUTOTYPE_SEQUENCE_%@" = "%@: 用户名:%@ 密码:%@ 序列:%@"; /* Alert Dialogs */ "WARNING_ON_EMPTY_TRASH_DESCRIPTION" = "清空废纸篓无法撤销"; @@ -163,3 +164,6 @@ "ERROR_PASSWORD_MISSMATCH_INVALID_KEYFILE" = "密码和密钥文件不正确!"; "ERROR_PASSWORD_MISSMATCH" = "密码不正确!"; "ERROR_INVALID_KEYFILE" = "密钥文件不正确!"; + +/* Misc */ +"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING" = "Please run Fix Autotype..."; From b80eb3a9b1b938deb7f616104f636b7fd6ac95f3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 25 Jun 2014 20:10:51 +0200 Subject: [PATCH 037/778] Table in fix auto type window now gets updates if something changes in the document while the window is open --- MacPass/MPFixAutotypeWindowController.m | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index a965ae58..e02ef8f7 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -44,22 +44,15 @@ NSString *const kMPIconCell = @"IconCell"; @interface MPFixAutotypeWindowController () { NSMutableArray *_elements; + BOOL _didRegisterForUndoRedo; } @end @implementation MPFixAutotypeWindowController -- (instancetype)init { - self = [super initWithWindowNibName:@"FixAutotypeWindow"]; - return self; -} - -- (instancetype)initWithWindow:(NSWindow *)window { - self = [super initWithWindow:window]; - if (self) { - } - return self; +- (NSString *)windowNibName { + return @"FixAutotypeWindow"; } - (void)windowDidLoad { @@ -67,6 +60,7 @@ NSString *const kMPIconCell = @"IconCell"; } - (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; [self.window orderOut:self]; } @@ -78,6 +72,12 @@ NSString *const kMPIconCell = @"IconCell"; if(_workingDocument != workingDocument) { _workingDocument = workingDocument; } + if(!_didRegisterForUndoRedo) { + NSUndoManager *manager = [_workingDocument undoManager]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidRedoChangeNotification object:manager]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidUndoChangeNotification object:manager]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidCloseUndoGroupNotification object:manager]; + } _elements = nil; [self.tableView reloadData]; } @@ -232,5 +232,9 @@ NSString *const kMPIconCell = @"IconCell"; } } +#pragma mark NSUndoManagerNotifications +- (void)_didChangeDocument:(NSNotification *)notification { + [self.tableView reloadData]; +} @end From 3fac6cf4c39ba6e46e7c7d063d20a2f6b378a127 Mon Sep 17 00:00:00 2001 From: JoannaOlsen Date: Sun, 29 Jun 2014 21:33:34 +0200 Subject: [PATCH 038/778] New & old icons @mstarke I tried to make the icons simple as well (not much else to strive for with 16x16 pixels and the color black, he he). Yes, some of the symbols just doesn't play well with the overall concept of getting them to "feel" the same. The first try was just that. Now I have had time to work some more with the icons and hope it is for the better. I'm thinking working with circles rather than rounded squares might work better regarding making them take up approximately the same space. Some of the icons I inverted using a black circle like the W and the %, to make them seem bigger. W might be Wikipedia or maybe Wordpress so I kept it as a letter rather than go with a puzzle logo, although we could try with that as well. Is there any limit on how many icons we can have??? I changed the open folder to be more straight on open. I made two new icons for number 47 (the package icon ... yes, that one was bad), one would be a traditional compress symbol and the other a package with a belt on ... does it show? Instead of the tilted mail on number 25 I made a mailbox.Number 66 got converted to three bills. I didn't come up with anything revolutionary regarding the battery, but I do think it could work with a view straight on as well. @DominusExult I got all the native Keepass icons from mstarke and have absolutely no idea from which version it is from. I have made another version now ... this time it is a life belt instead, since it's supposed to stand for help. I'm not entirely sure how I feel about the file save icon (26). Most people might know about the floppy disk and the arrow I associate more with dowmloading than saving, but for now I have kept it as is. I might make a floppy disk as well at some point. Icon 0 was not placed first because og the way Illustrator works (there is no artboard number 0, so I opted to make it number 81 (which was the last at the time), however, now I have made it number 100 and placed it first now that I rearranged the whole setup with 10 icons in each row and numbers to make it easier to refer to an icon (in case you do not recognise what it is). So I didn't forget the key icon ... I just placed it last. It is the first time I have worked on a GitHub project, so I hope I got things right. --- Assets/Screenshots/Icons 100%.PNG | Bin 0 -> 28470 bytes Assets/Screenshots/Icons 200%.PNG | Bin 0 -> 57583 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/Screenshots/Icons 100%.PNG create mode 100644 Assets/Screenshots/Icons 200%.PNG diff --git a/Assets/Screenshots/Icons 100%.PNG b/Assets/Screenshots/Icons 100%.PNG new file mode 100644 index 0000000000000000000000000000000000000000..823b2796c0af5d55d81bfb71085a4e695a455ecf GIT binary patch literal 28470 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 BnKJ+Y literal 0 HcmV?d00001 diff --git a/Assets/Screenshots/Icons 200%.PNG b/Assets/Screenshots/Icons 200%.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4ad37c62c00ffc314520a1c351920beac446eb6f GIT binary patch literal 57583 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�$Q>Z> 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 literal 0 HcmV?d00001 From f1d3d14eedd5edb4c511a8cea62895da6cedec00 Mon Sep 17 00:00:00 2001 From: JoannaOlsen Date: Tue, 1 Jul 2014 00:20:35 +0200 Subject: [PATCH 039/778] Update on icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank you for all your notes @mstarke ... it's nice to have something to work with. * Cool ... I changed all the keys except the one in the back in 13 * 16 So I mirrored the needle, however, I disagree with you on the point that it would fit with the CD better. First of it has a different angle which just makes it seem off and changing the angle of either looks weird (to me at least) and secondly I rather like, that they are not too similar. We want people to be able to distinguish between the icon easily ... right?! * 25 I did think I nailed it pretty good when had done this one ... nice to know you agree :) * 26 Moved the save on harddisk to 89 and made a floppy disk. * 38 I have no clue what Samba is so I just went with the original icon. Do tell if you wish something else. * 32 Filesystem viwer ... I think you are right. I alterede the icon plus I found a place where they describe fsview as follows: > FSView is a tool for showing disc utilization in a graphical form, much > like the UNIX command ’du’. The visualisation type chosen is a treemap. Each directory is represented by a rectangle whose area is proportional to its size. Each directory rectangle contains smaller rectangles for its contents, and so on down. * 33 I guess someone who love the race track ... * 42 this was problematic because for some reason the little indents does not show when the bar is not tilted, so I had to make them bigger, which makes them look stupid, when the icon is bigger and for some reason they are more recognisable tilted ... what do you guys think? * 47 So I made a third option ... a zipped circle. * 49 It might work with the perspective. * 58 Is the key too big if it is just put in full size? * 62 Hi hi ... thanks :D * 66 One $sign coming up. Before I add the .ai file I would like us to get a little closer to what we will end up with, since the .ai file is a big mess right now ... a lot of the icons have not been expanded yet and made into "proper" vector shapes fit for your purpose. I won't do that until I am fairly certain we have no more tweaks to make. --- Assets/Screenshots/Icons 100%.PNG | Bin 28470 -> 28625 bytes Assets/Screenshots/Icons 200%.PNG | Bin 57583 -> 57729 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Assets/Screenshots/Icons 100%.PNG b/Assets/Screenshots/Icons 100%.PNG index 823b2796c0af5d55d81bfb71085a4e695a455ecf..1182d3347005f7196d718df7196f513598f81919 100644 GIT binary patch delta 22099 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

n;hO_$8IA8hy^18y*0crHTYsl! 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�$Q>Z> zmUyR+5?ra)1{WuJyLpGMrT?@XM9)=k2S34PBn9Sy3>|ket9o^cWYK=Rt9e!Nwwwzu zvMfq34K8pF%O!PEOm@9G+SR zshBVvI35uLA!1&j+GEyYY>*L=jzFm@t#4zJ5|K8LcuB6uM#dv2VI}esl9M>;X6AcS z#8YWdO;GMpSWtH<3@gnmd6YQ{Y3q8Z?1UHAfXFM{0nDc^8Q|Km>j8itu57OSH&XDp z@N96$5flSd1F&Qcg*C?5#-kv34Cutx#4;79rt>DY`cG_tMl;96JCSD-gaB?|Jmm~| z*;fWJ1MP~nhjqTTCg=2 zWH%B^w->X>&@mfr5g%E-h0=NC=a}Zv>{4NKEN{x?G&Eg^hFeQqbbi9?(5DqYnqeNw z+>%hnc)q0Sl3DBt?t z)a&0r{^ahGt{O;6=$P&7VH)9}k0g9jHYs(h^u=z_xN3l1gtXc|Zd?zo>{?@RPivIe zmsPuNX+u1x-N3YLunYt8KW7*005I=zZit@;q1VxQcRG0FoNkrxst~yNEC{Z!wp?qN z$gWHGWZp>}3b(FH0{XKM*`MFD>YBzmKNWovkYEG@URVxJV|f4M1nX1&^D+(Y{TUg| z1mL|r0V%!;?X5QVlEMGY8*WWK&=1vm@d3BITfGkrT3Gfwd(8e2Qz)d7H;nhPJv=M; zJ#fa9{D#l|>k}4)9vXvAGMqFjh&U0`B1~q0O&`-nvKeX(eT}>wg%4p%OJzL|lwXglLbQ;z-INTQTg@mctM%%M`O{+%t;Bt8#gX4e1=jwsn!>* zmNkwwP9A5T07pre5?7p)+S}zr97)L=ZqO#?5cV#%JKOFL3X^0-XB82*-Fu2*Q`M22 zWSluwo1bn5JKU%)_dnwx?k(^rWI)oxvWA@TUTQDm9)V_{Ax5h7f7pLYDKEh{wezPj^e@`v&JiUBh~y z>oepzsel^1s$TNgO;CH+Lyq0k?BKbb6`yX#{ab6ZfVTUqwiD;^U>!P0xvatCSh*{( zaR8Al8)|ZRduv$`GC80Kd^MVo1gFIB`9+t)CLW#&L)qWeU&G(ck=q`n6`MCS$M1Rs zD9vaLB^AWlOQv^RBgFx)1%5_{4|_iy@W6>poNC81T903U4_)gI&L!Gvcw>2k8C=_E z3;`KPIq-{2uuuggfI%enxr`mBS7qX?yK_LH|8V%nuKE7PXx>C!w_9A)NYz9ajkOqq z`q0m031_8zt#~S9q6s=aS{pegIV#Z=K~cd(if4&R)lQY~nlYujIptMEl_S|til=!` z)DeQ?Vj2}IGF(meRe-i!)e>Exys?_G5>U&+cJL-=x%x4_ACbD(k4zVVA8{xBa z&=}r69(DRr`l>dBHh*)4GlQGtIm_kMo$OKq_`ozd% zF^O&WV%kxjn7?IN!(<}eP$uJ$QkT;E>gi42JN(jzrzv^OVuOCpl1CokRg9nwQ}ImL z=A4m&taw&M*Q1UhwT;3GAF}0WW}XJ zMFLLaI#41XwS75++FT$3H^>nkN zvoDGtLH2Y$WzJsqI9WAn=t2CU=)r98QJ+~Lk*E_HTj3{=7KW3G{(_aI_DK>4g7uRf zV1MCH%%8nI!#&OYcfu+9B`PIyE!v-C8dNHDp31p`wTk8qs<~0h2YJ`qbu4tDQ!W zb$LySDc8PbC9CT9RhbCf$L(L8GA{aKV_*3oO}`dG+y+3!<_UB6x)2)>L*^>w$|)`s z`_!DeId2=HxZaPDXRO`t2u$@PQBITy2RRl@;&WQtGtF`w&)DpWbPtPhN*2M$&VooY zA7csJ&$M$kADw6FQY|=U?V;S-Tn*9C~hFk9WH4y)xcdyJ|f0?CahQeU-LwKhgVde4``N z1z6IEgLzMW(&KeAG;DA-H0<~SWE%i$CU~2C=S&+(dq+i21m?=d)%&GQzPGPn$fPwKibA22FjO_IZodK3WJ1%El zqW>Ae^>O@9H$4&I{|vFW;3ZO%ktY*U{lM2zeV zZOyFh&8&cg|M=B6uyU~HB_jG~qW^sU7pIZ4+25IfcK-_NBS89p&d@W`G0^|V_lGIZ zKfPS?X3j>IY9eL;BcR>K9DE$i3_Slc{{M02?~MOtss3M z;puT?0jY_Yur<)%bj+#i8DIE~4v&t;Hl9;Vx+XRz?^`%b?oL=Os%}%3nJtX(HoBNM zop&ObZ%{uWBmKLnefDW8?-5_704E~+ce^kIhgqLP5E1zDucpWP1+BHBu=H0kRIvBI z8ilT*LFDk+UIjiQSl7XTBb`k6?#NP04ARoTe z;6DWb%Sx!QsQ!(F@E;%$|K9`Y)@1klGq0-qy0X}Lw;e{``Sx^-sb$?mnxtjB6@UpG zXcHB?KugMU-VU*w^*cofeYGiI{6E-A{)^}Gyz@>p!!xZSw#bYk8hjr>FQ)_Ktj zOESUteDc|B5@9PR2;cSXaldK3^t|nyua(AW8RbSJNypVJwxvM0mFCQVDk;!of^+}n z?fm^Mv7K2L+hSq8{jBx4Iq%h)8M-uq?$~Yf8NXuXd0)oWTsbhUNG_|8G>&jakHJ7Z zwT_J)rB(1kO7{un6?~m{JV4kpN!RmHMa+q(VBNYbI=f}pusa=KdSo#@s@O6uR;J4p zCgb?}@Ekzz-c$0kA9Vf^Ij`OMAGWa+4u>POH`{)-9Xo7>-woD)-y02|^1BR5&9pH( zSaLMecJHn(F$W)$Ht*W&S}-b+>lG?)^ptMmz0avQ)KfHRtI8wOgn+;7%86(0)w7h)A4=AEJ{{m>R8Kkiomxi z(~t{Td|_LrP1}jUA$&miglpwrcO?CiOI>JT05t1}ix~Q~eS4?Dv7x>Ox(xhbYYhh8 z^)fP+l=*IJ59utqhtg!@fUtS; z;78gRP7{S~u%c$};a;(i*nIScioE={7kSzH=*(0jZ&k;9-2$c8Q< z3%L4NYZW77&A4J1V#Fq-j%h=y+5wvisue{XLqAy*tEKNn#(6bQQ}9380%W+pW=-S& zVJ1~^wr@b-3p7I;Y zh#IPqp^ldTuq%U+KDH-Q$+WT{W_$gVGd^Nmyf@E(49ZW>P}qsiiCl&7*`0$^a|kJc zW*D;zA<@Zt$_+bcDq3r1;g-?Vb~7|J(T6y|L3k znQKM40F!k0ZMN2OW%hNpoff+meX}u}n;Ov#m0zJR^FcsGftZOA=nHu?44`uk`1u6a zG0jsj!P`ZURpdz(-`$d7*EM%n-EaU_s~Z;|c#^Q1a0B2k<>q z6nD1D6j0ej)QqQ}Vr=ZHL-1(Sj_<(tC$8n+rgGc(z$c{yO=XsN;O<*X(TVA@b?pY$ ziEQ~Zt@YvuxS38+PKK+gWDF>RQl#r2)L&>Bv5x-RZ}&sQ#L-zdS2UKbIJm$gH-qh&fjA7 zsN`^e(;EXRGx|)VJBp2-PT~2(qzNPaoJX2F3rfQ~)w)Dv)5Qm;(ly=Os3XUi)d@{V zdOcEWc!!3@Eh@OKQs_E9_PjL<8q|t!Mcj5YOVNW%AxasUz?!I)c)$SGODQiEd#0?< z)VPL&OUV;yitF+&)r872neo`~hf{~Ab=KOBiIK7dnA_lXoL=LJ71grF*BGHqB)Qbe z%@#*ut3ugzdak!7fw0D8cyGA>->7BMkb9tV1;pN(8PDGV&gJ$y5; z>+GvA3M@=>R|l5^frK*$aN>y)fwrTAZq(!Eiv>*ME}O|g#Sqg0k-KqDs0 zH8YQGZ*p+K$kZ?L)aV~bO`P{mE_@R(}ORZzdU+Vr!D7O z{sgcs?{H5xzwM^r$WCoC8hL%>^K!_1Tddu0pAm|9HTQrG%Cn=2T_0&Z{Re{*_3M1# zVpg$?S2<47<87&;2h4D~|LQYC0+vfe85z zGZMi0phAFO@$`S4%_GYnsAwk)5&ktaCC;9zhzP&>@gJI%&Go^UO3P5NNd6iEKFC`` zj6&yM?xrLrkfZ6KOyu{MS!G9jU|?e!!Tb*&^EvteT2?9fEBdct{Rf5xQPIc0Bu^gi z1L(YR2pq~^L$(hLD?=2ze`7BF2WTr*jNo6xDbWuMI9PjOe`9v|0IIA?$|U~R@c-pv z`6veho7QYcQ~LS+SJQP>-%1pVF7`&KtH!j+;}oIFNAo^6-T6S`Hy`ANU9Hdz=MeTU z!XoWdb-g_e3|OAo!T2aYH*c&Q0ywp&J~-dc8Sgx}AC2oy9WPg-PMaR=+ALklZrB#5 zDJGeR>#|DLU%;)(FPf@WsqHU|q&tr*+amFKHMUs|px%|XWN>-j9(EQx9*Jw9gEpGq z-=3wY>NO!qE%FtXlE&#gyxQS<8!zF_)b&;5>NS3l8Lbfet z_-9HPoW*v=rZZwRmQkWF_eE=Y$pb)c>dwUL&ZKf`n{#4-m2KDSxyfr4m;ZjvPPLU} zhtHL$WPAYIX-k>pTe#sfZfvEOmQ^`2wn@lhnZ<9LVmg~@k-*h zqr4vty)`jXkF!_Ce{tBw*}KuHomPn;~4DQcU(K@y4pMOAR8_pm0BkWN*pvw@$jA_iJQ*T7Syd> zibw%f)+ux+>ME%R7dTW}k6q`ph=Fw#vEqh?)0+CE3^#pSA*NN;e~1hsEC^~)g7Ovk zDivYY2lhC9*({D9$2W^p_l`48p#vg}s3%E;A`HLlhW*)}u%&|5r*FOBP_s3es{-NrcMVI>tb?7Npq$xxdW-w9 zPHCAi;Q@W|y)2Gg?q{fZq>&*K>h+_RJddSxUbRSh&53VH)28P$byd3oL^_9!uXPXs z^yn5EIBY8Wb^-M4{ZoXqSxIWVfRhOxeTLLPon)17_vZWS=5?pnj6>U=y}C5tj??-< zB4Ga}lKU+9QAZ@CANpci5CX4_SHilvS>oM7;G;;LRY%|U#A^$?icd&rZj+L%*Qz3v zca?B-5L2+D6)`y}>T_@|dGA{?e$XFnulYN;??^hyS-WTtpt6VGAfe$IKS{cyF163Z zy1VO$Fj>-5d$c0w2)BbBnv&D=W7 zDFaq@J{=`>-jHgX^4_mqPYEOPzQ0_P@`)G5fT32+7Rl`wIm3QGLl^bAp5*7pZ!Az~ zt5nC+opI9T;#mN(whgs7&w9i{e|U*}#aHT-?}RHlL;8m|jL{ z*oAK(-v4-*ZImIoK2Ei$ELrFg{rzx^IqZoU^hjF3h$G7TTC6}k9wqfb$eH$cWD z%Y!XQ#7d6mvagv8v~uT~ZcV@SqG1POd0Qq}8IfUMpEHHHT&rl>SaGJBv{cFrn~xS| zN49!Eh(i)?78WS_C!gs31Ro3ax_9zQ`rdv)#prsC<#67R-Wzs@VVDsT9VXXP$8~*D zH+i@4TVRbX`gVcSp=Us?j?vCs%J%hDxM@+>E8~{!t>b1!ivJ39epFTk0w3eoalh<; zkt7D4-0m*u^b%t)3o9F<%`B{?d`2H&HUivQ3PisJ-2 zRTPRcxGRY63}D7NniZK~)NbyIyq=1(p5}^%_I(n$o*B2<+POVnoLM@>Qkx?h{CatF z@t=w)d>e*i)3iy4Pt@#p=gka2-e&d)A(;>J1#^Gw~>7^M$MoI z1260!2IkZK4S0G+>cEGu%C%!wy*a0JRORB&l^tdEU&eQsH<@q!)BLT8i7@4b{z-9# zgnBkOHfo4_@!OAVFeoreZJh!F%MWmJEnOl7&CnE4s3W72wSEHcQ>Vk^St9h)8gp+S z8bi|W5@B{aL4g5^v#fz^j|)2~@s9+C-VXrsK-XnGw*b&Pp7%xw>Y!LW&-Oj(sH!-} zNvc*GM0Y5KdIl8BhQ?G0TkTY~l+t2U`U74+o*paL+VP1KUo6K$VkK3@^~BdeXGl#o z1V5d*ol9I$zF{n`s=*vyvdT~}Hs~z6rfn4znZu35jX6((4iC*sO%4WJap)=ZFv@__ z&2|%hwc4$<&UGx*fEz z8+wM>Z5H6+)=tgd*l`tgl9O}lmtZ}w=cgHBY+1j0(7^ zt#=>b8=;T^JC}aosX@fASw|0OM0RGJyL>HW^Eq?>K;$s3>9oFQVkpawl%XBnO<{xM zMHxm{<`&wS9i_!}SG-Pb^2KE>v*wn}tTBoz#Q9DrbWy^7;(LmM#I~93H_}0wd$@J3 z%#jlg*2+V`isJw;;Op`5W{cSn0O`FuSo6##ZNHo%W({T9_OA1E3iYzQfID=*cO)eR ztjY+zvc3UJ^ip!;)V$u>LEk73b7W0IFTOeA)7$ym*|~Y->K~*mP9To@LGCj7a}^MdQIjH_e@BAR^@8PZ`dljyTgyMd&>_$t>zMNB3G{iE6P+ zg0+)Z7KT5o*N@l1A?2p8&juT>s$Osn&T$u9uos{u|i>~PpWhVX|6)48w8ApZN zL*fh6PnQR0LHZH;aqsN`_Rj37yETMgv1LddDWxP`rNT~$U)-Gh4*?*X5%&9)Uo`wj zCy8tKmXpftZg@SqD%Q_0r~Y*lT%*h;vJAVUlaHAp&RN$wz;&j^P)Gk+opPo{-|HdB%hW_6Gppiz5Np3^m79qp&Ci8D z^lUfD8X}{_SW5khW#Xt_v**m;kRlm)9->-;iZ}zn44|rdDZ}%(9!sUm^R~?9R8~ua z+>$Jc>juUre!Z6PxbAfLH+dTio?? zMNC@8u=a98b`7I=MdR=O_#qCsBMk2t>yrs|g*{puVBj;lfZiJizc+R^vJ=={LuYB?E>vIRg4t zv_?W)vU7AM(e@J_>7)k3G-wsYM1ku;-V+c1riF9h<6%!jIss+aHa=VC>PGwO? zC-V5+B87CvH>7ti`BjcX#+w^S#hP!`$bQif7(K#&u=VfeO(JH7oz-k>cpVB+y01s7 z^j$Ak^PG_uLCmSol7ndTES*>1W3mBJD+nd0S+TN>@<9jmlos(aGc)DF<*t;yDmmME zVC$pe^&uSeU6%tmaf$ahU6(kdB$zRjmQyDgDJ~=^=h%n}ZNc0Dm<1kesq4gc^D^t! zq%1I4K!I{VyRK?RBkM}LZ|-iViQVI)-Pl{>apS!4N&4!@Li!}aVW))^wYI~x6QzML z9(BZ(jYZ3QV99b%TE1m0N*Zdb$7Psq`f2~qA|$J#WJjNQ(kpV~12nF7fy^xEXz|pQ z$+wfqr)31vu=H&NxpDw^IH+NmEMDC+vW{LBJFab}OyU zry4=E)|~~7wH2Yyu@_yJvZhK2^er;err7lB#BrV#ZPU-o#cRxMs1#8JrIO@5l1;?x zCX1|N>WN9TS|Ws8zX?)MN^wxW;ZPf=fS|EcOIpwnv0vBAi^tDxp28~yG6l`y?+!s3!%6sJH4!U8n&SZPmCL82Q>N4J>L#ZZ z=F7hA$d&}BB<7b6VMa2k???4&iFVCrt%QA;r31by`^E8YlHo###yW9-&LBP z3;oot`iI5^mXeA2;APCMtA0OWs*GAh05f!3UdTuRr!r+g2NmFOhYR5`Ku56r2{Te= zYW1hr-j_tla?g3%4cRd;s0#}ni;#u0G-IQferVjA9~_I_OgI+kW43HBrUBe-DPJ0f zOMZX~gQDbTUmX$*^>7dmg z9UrA9NY=7+drfF-R5DP^S^bIRp#4`4N)GCV*ks6nOs^#RtNvW0${(=t+i5HO6;)hO zK2#jk^w7U@Q}@e<^fErFrHb}f#mW5Wy8TjQ@K>^7;Q!Eiu9+9n|4VNo|LEfFDM|jT z5sk@x)cIb<9De)-b|CSg^~hOMk^Ns-|97=Mc9_rqzxS3;(;dyf?~BtfvKd^rSEKYz zS(`SXm+Q%{-B>9{sES>C5u3dP)yh8e6iRS(RA=Rsr&%)2AO`8*X#$6VbErG&JGW-A3prSlZ3|pRE5WZsJ z1*zrM?x1}9^&MZCudqXs?r5+UH3kuQJ`CVk@wncYp54X}i&>w(J)dXIW|mYnbi9S~ zu~oIz*vj)cL`dhq9~Na5-eNXeF#w zwrM(UT!XC18;9SH3X*iFN_xICAz0HwC$j|B{jxPTrdPpg?FY>al!+8plwTzgb;FU- z)h(Z-XU1T)zjOSmL>+_(rD452gg<&ZuDU049i?qb#z)Bv5g5DCqtl6zP9pykRuqrn z^9Wsi6~ER+(_YgGg56y!S{s6MumKKqNP}J$5V{OzbRWl;GSq%}?d7amOSVAl#O*Jp z3o}Rh$^Pt5Pjx|ml-45^o%3=ArI@tF0Pd28no&s22`{=oBO+C`UyV?I6FzsGm0_=m zozwqzMWdC$K3K*U5hkin70f5?Sl2*N$W#kcaOGPf5zO*SBSSV3((+oWj#1#P0U;aG9Ypt!;-nHRL22 zNhr`i_hP7lnxr;1cW~FqDKbbQ0vOk61GE%*nj1nd%#5jXv2tD7o+A|oC;X6b=_w#N zgo<_J)nI{io${<*HMCt+OAn3WuPcVD<- z<6xg_8ohD(w60UB7&z3P|9%on)JZFEy9EtO!}z&E6!lEDt)+82TLMeVJ0jT7%4~vrdMrgQoi3>d%^6*j5 z5NnZ8xutiiofOPd6rQ0dZ}HRnI!6`X$!B(!KBD_mIDG8adb}^2QZ^N*vhu4z_&HI+ zTuGO^Jdsvf5h>d_wPIQn;I2BkzRIHIg(?&5`Z>vS;7k`|vKcEye%T}A8Qtz6h_Zk3 zOjlOU!RMYcCVLtVl+HOR{84(gEOauV9mxX@}PbU4StBH-~Kji-g&gW=O z1PsC!t1hH$^-f}>4~Kue1VyGRj2glwKRX>`GaJX2chKKy20K+E^Yo;a_)wk(27dFP z(-#!Ve086!#JOm~x#tnX5j$%z(( zRBuCkU8hd{PIsmh^a*5D-zA2fMBsYxor`xwWmPvtH!wFSD&j|OBf=1DW-i{Hj^(I! zCh!qpl!JqKx-!eJ(|}7Rca=EQCwf?lA*VK(p!(j)**FS1vkngA;ui6>x~2ohTVFq* zrEf$aMKs5?aPXtxY9xsX9^b4h#wW9d9rAXS_T>Zs4SSkW@uXJaT-)K(_MYFQF0sOK zouPpe*P~~;XEIK4EF&%YyhX(NTVWPE=yN`SGD>UDWeB>CnO8bxS8pS@jIrDqRA|8~ zWTkoE&CPuHn$cYA72yJk@eGs=mlFbjdPGch4y-TVV?N%8tPz127A1l;KC}E10Nw(t z!Z4}JGZ@(PYva%mpV_&$c}<+j!}k0&J7hUMd8}QDl+&#PqRj_>wx(KjHEi02m!~VvDeS=F)su)zP>uW2_uN^^*Gq3pAm_=ikwvcV4 zd5tSn?6N$q9S1fTdl81}R#3$L^i>^qE5uPew)-FAhTC~Z$EhjJ(&s6iAK3J*dd4A_ z_U0_Ujmi|W(QQ+SSyB@zzdb{-0=Yf4ySyAL(;uS+km=9rUVc5#f5nj7t)jG_b9=Oa z>1=3i_5%u7I^glKW!jQv2Cwkcf&8mVSh$**XN6Ky@qS6owO4D-=SCkSZT6BX(D33I zY8qzALw{+aeM&Cc^4|GU`ywtv!@g!Mye&2Un$Thlu@Af(4Ou}!<5~;r&Yp_MKCKzV zH?;o_tlQLC+@M^mvWZVxG3y=!=cX-!v82Y}dhc5ermJ_>tt`y?`HUtw6Sc0beE zS;zH)D*zw%v#F+S-D8txf8U%d`wJ0r(m}8~{0}W>;qS3FOV-K>BqxWz8_loW-59b- z=C1iW`t96 zyNj~>(UT@szfrNT+Lea^mG(01=oA57MxH6$XFJ^@a|=-Bm(m*L5tN^K8@7u>o4SKH z;9=IQcW^czAl^0L#BSJfjf$}Yw1Z-8D)1^RekF5wahj?X-WIukvg-9fwHVxyDHoNYL`-K8?1ED;Py_Tlfd1=h~d9{)wtf`f~T%0re2t|Ahx9{b`wa_ zCoSjMZ)9hCZV)+%ZZqY_gQ63acxZ4Y)$poZ9&m6NUGIX&${pm2!ZO!**Pe7vQNzX` zU?D8bUS~El1wd)qEcc;gL7ZM*pa~vpem{Js0q*FwO5vc0JClJ2FYD)(es7dfSP1V! zRt0i0GFhDL4c`#que!)KXm@FvLSxKhmxV}sArFQnlU(BR)BjlcN+q3~VVu0Gl{~aQ z3=3jX-dj3S06OYN28bxT#D6o4TzXvv#gB7($V?D%BC1^dgmbttRIsz1{)%X4VHhbV z$P28i!!K)D+;C9rPrs$m7hJ@q2i&cee1u{@x8OYem3aqmP+U?IZ=14TVf##EFO!ob zX9@t-5i{Dzil!M*i_S_^M-sh1)!UGtG}aJdd8X%JoD&3OxgiOn-qlfy)a5~(yTZk+ zq^+6dX6JAP9FFX;(M$q>*X)x{gS-kvJH27#relt(AY)9BJdfjRm|HxK-v7e>%5q8b zitgE;o*cPClcDPrla7!!?%A|}a2WBZz5*vo=$cxDd0DoTJN>Y>;>qdQQrz;}J4H?( zJq%nYN-M*;EGvysUO0zVApCeDivOT}hQOP)W&HZLFhqimIj-V!C{2lKjE2!8$UxDb7JS_@bX*>>v)=jnjv$_hro%f6Pe{(77Fy z7@VTOfvh>Y6;-tV&MrtU_^l~LeNdxRPm9|u4#Pnq4WsR(Ad6@LU%vJZ1h7NFt+|YX z|I&W!tmIvXf8ZQcjoA_6Z)do4{7Z2R)0hXJlmO?<F*y8iqq6miMsoIxF0{#i# z-~e5oc=zqT5RPs8|HIx}M#b^${euZ12_Br_3GNcy6EsMW;0zL6X9(_)1b24}?mEEW zBxrEgfq~%euG>8Sdw=(yvwP0&`+d&g1uwdLzFl3_UG=fjea`8(CtwzmgRD+|?5nsZ zL~Rpiu&NE)bgn686-x{j;K|Kd;{?msC*UPIESSC9V-d)RAh|6iDtc?EF`E!FYaHn{ z^P+0)GRI~#{gNY1L|Wp*1&Y7Z^$wvs)g19S+fuOW)L7?EXCI@va+YGYeLPI?XZDI08p6VAVtPi88-z-P)9CQK9EtnO6#* z%hrV+Qqpb81TldRZmapaK1h)k(nvh6&694%*D6C*K_t%Et*X`~IM~I~vy(yq3Oxx=7In(r+Yj|ID zJAN46K7A-_&HoZ>OUHmUPefXeCmie7wu`4Z{pZ4iamW|kt$Jeb-$V${%ERjsqPbJ6 z4W4hRF@;fXC`y5^X5H;QWf|*wDb}xAl)>`nYv3sw*Q=i`?;b8N{*o94v@>>nt`jxC zu+?=x_+T4CW#+J3amz$uu`VC>hre*sCZ@bH0S{e9%+WobMvyFbOXoR{MxMGLQaB#2 zrcik*vv`$zH#XRM`KZJYsk`fOix z@k!Uc45ilu+VzVN0aF-u0d{5DOn+15D_pQ<#oNVQK6#eGw(wC9o3`)W0`DqsQ=|}H z!+IgB7)Ul^@mqL&eMK}c*WU=~y;f86s2-*g{2OKz+8t>>{`Jt8`3PJVnrtN~87^0S zM(4L zr!EnGV|c$qR9!?PEc%qh&6r%KO_yHuQe4?`f*C zSnh-_Wus4AILY^UNar5!Blrs8y9Y-_C8@x_Cl>y8acvw!4M?DLY1 zp=!twbQoZV4vy)!1^;d^p;G>vH7mT|M$ouLHyR(gV>1z8-=?gNdf zS+S}DPy1z;h0%0ghA>511ZwdpX`lGRhA*`n_Zp9E6kxs6QMS$zH@2AGwX@3hr04nH zkLz~WQk8a%$cYH&^tR+x7lx>$7rS2Fh&-{U?H8Q1JDV{ubiVS|rpCP0Q}LM$@|TM& zFXO`v*H?&!YqatTmyNv_g_^ZTvDaYt#Nuy_7E4*+e;j93~+>XNR)~d`uqi z687|JeklKjr-@h(>ZlJD@M9nzm-J{5Ukd_2)7QGas%pU0kkdrzQ<($#yv^EUce}xAT~vm;65dymIYLx7}AE0?qYO^)^6X zN!*0@osSFq-gug)MN)*{xNvO}UX8^0po3qqyX!9Z8{8k8Ch8^NulmY*#tQe=NL-`0 z=ESC1sm1(Jb9xOgCY3&25B-`!3@S|&A3)L|QZ@R3`)#-`Bo*sDDxAu?@4vta2; zysPIVQQAxGEqJ$=8g)Zh`hjAF^yaw@HN_db=hPP~F;Ws^)$Y3Hb5ui|I>H^jFmago z3_a7@*}Ld_s~hH%L}_^$@VFvGDVtBnMrK1|$8?F$En$bB43?Q$NT|!Yf`X+pvX$%~ z%ySLeoOAEeaDEsgSG$3#J4#nqX~es6KUHVQb<1kj=`l^h+1!6#_kmHHH^**Fj#SUs zCRFRTQbjBI1aA{k-Z4CMFxsk_yG6H`Ec09ITh&X4Jp-&>8fUvVr9Uf9-Pi|)VCV}K zb)D{a3owyV`PQ=5?mo)I?nupy;yWC(a4FVlE)9My))vgy3DY_Qv)_Eze?&Ty+kqSj zQ9|HUQF3Edc8byEorCFS*x3Z4%}Ut5hl>93=#>YS{ZECM$*a^Og@nj=u?w4VIV(CY zRTRVJe{PRpYFcjAo%5mzss3nJUld!Z`({3dLqYQ=hB_!>}g%?H?bfkjY;mHpl} zH+5kNgdP*?zCOY&{bs&)U(A}lQd>QJG2 zro@haj@qI9IRb8RqVNCbQdp0|R^JkP0hWIQ|NncT|81lHU-zTR=#jmFLy)a$oE8Py zU6G0Gtd*%^8vl{%kRwGB5ulb;s@-=aJs;p2*7dnN+sO3sE=ZK3SNXw&?`&W-RqWv{!fD%c>m88uKRJt(8w z(fT`2n(O7?z#R4kO9zzXrh`@w%%Quu@JO-yOSg^m>Aj^^bCsaE%*Fu?tPJn#E#~t2 z_U~jO?vBhEy^&6Mk6c5u_POFulW=_CU$*^D+zK2C*KpA(+Y{omR4pSz8)@3(lBfni z?Hoxauw0%z=$%9p1I5q1WSZ~%nL1bLT`C1BpX&o zk$Lw#tr1{ont45Fipie=GU+_yo`|zU21fCjK&Fzrz6aV)g|Gv!`UH#GGU+)o1KZ6h zXCjzeBUjs;5MPn1bZlMnh9V`S*29-h<>iPGdU`Q2_1++8%1HRH{+X@-Me8Mw?| zC^E?3gL(g>@sEV&>`#V^tF&b1BJnZ;7uPDCE3Rs+pY4qGYN~j9buBm7C1g_#?v7Q2 z2oHl#FE8Q4ADGpzE_cco9LGNiNWas2BPQgdsPdkpO}m#M)>%SgV`$iyl-?Q@8CxDw z*9VFe%D8OL%H00Anx|3q`4i7t0&Femrgv6d(l&U|`x0QYR@C6|7vz(JjGE%v?NUX5 zcfgX~rNZi)Ix;OLmCD{42Y_8f2KkzZ$VHrS92bw~b_+*7PZ23c1cK z?WMk}JTvU{Y(-(F2rc({YDkMocURV8WKg(M*IReQ_WD%XM}+#{z4jO)j7+cd*%H7K zbHuC?pH_AiMdaq5)bsJ{s1(r|Lwz~bd7}nyentCp7T6@e8OgM+1E!axE!22p4AdL+ zT-!>}`?j9B^8-Q%bQ9{duLwe_*u#fWa5>Qt_!+5{uy@rG&^)a6#@0L)cVnnRvnB`; zKZgj)O**5kxSS6oxbRX|zJNc$o)t~o1`f0qSUG2!&D#xs_Ntkg5&bJ+E#`IYNR6z< ziL5C~WA|)XE$5EF6f5{No_EPRB5UDJ_)5u zs5)h;MU2^!fl3L3BhyjUVdY#^5xDQef)fT?n)uJr3#-hh7BzL8P?rr3qu)#k_h@&- zt{Z9|w%m=2Ge+(v&hvWV(|R;ena#SO^k?i=lRX%z+FOe17^}QQ2MJ-HvO)IuP(N#k zzNhkcM^OrnL0U6Yu`c;^K)ZPW=p{u@l7|OuucDY6tyO|qv#M6Hxr|d()%c7!$2Zl5 zCZtqPPKWm0_3TKo+>J9BR1EP`g^O1s=zWVeVh3-R@K{LG=cQJ$t*nsarEevKLO)%{(9MyZ2i$MWWkv`(Gnc+VO-dQpDy zXvj^@5Ty5Nn63^7R@-81?a_1Kxglg6odj5Zp_(`?fN>5bZE&QYy)CWBYnKHT%PWwZ zaT!^|j;M!#BywO*8j@gg+4bk=P<)aWwLUo>tyPKXe*OG-cOi3#lu<%N?QRSKVh93q z`7wDk-_uQ|!;h2NAm)BK`tZuI<#IXnV!>q*5Pe@i63+MQz%9HIIaP*j+znOtbXvc> z>(gNj$uS9f5l`?P2bH@{TAc62F-}GG&tm>*BP*H0Yrq+^dOkuxC3|{K`EW#erQM(9 zd*v&3>01XqTRkWhau%a>TaB*pTw}gyy`uh|bx>6&P^}6E{T4XU{&?Ph6eq}qO~Q4S zA!!?CvW|sxWO%MMe`fOzN1`T$+-CRZ?$h~}0SL=jp(lH74*K|q_)UfUDRQaJ*%3=j zk1wZVU*o$is%TDXr}bCrXq@wfq%$NE=J!2M_@v&a&p(XfASuacr5-7>nbMsVQz|) zcq2v~4J-Eda76^J=EwFEW~E)wT6_~%qg%JRW34K4jsFG6wk4jhABpz?Vb?>h%dHKI zWaU*-0W7M$)J&?I5CTA=AX^d(_GJJ?H zQP1W@nlg0)P0q-~NfHF? zb6iLB4#Qv}9(Ql!REq(!yRpvw+f#xha<$rVBzZ-$5Dm_tJ011~69UZ&J^FRNpMCK0Aw6QxdV zr`@+(4oqFkyl~O=BMv%v-D<#-7MGPAB(B#2_M7Jus!E16Wi5kW?!N0%W%f93kf9`~ zH}#$~^xM>7;gB2p(K*5u+ALcTFU2l@Z>~h06181Q362Y1(Tu9w$0oQgsL-hBXM-t- zF;*hqI~w$7!_w_Y<)TWb#P9&WEC=I5MW(W|0o+Te9?TD}bf z&O)5^BeCDzgV3uQiPq?JkvnV8B2uQ3X~bDwjjkk%9`XeWi# z8y0PX2S&o#ecy-Ihbvh`{9xz3uIu>{{3A9G9Sg3p5Zm)bhSUB9ZL~zjKJS;(#?98g zYV%o>RahzJUHK4$R0Y^cF57P8_-TjGg>b>*J(-!&|H>|*Yfs#=0IqNKUxn?Xi#A8 z-on_h&;5x+oMYVCbiV^^&+-FeWvR#57hI9}8Jm_ov2a_>5elya5Ssx@i_c=$qmhlF z(_a%pLK9xePA@5@Vve%Y)edml_nJ_M& za#$)n4s~R5zKIC@>2_F|O-gQVB2t=6qg!3<7nXL>c^#=$EpY@;cW2f8Z19rHZ9mKT znP&Dp(}h)>>1Lr0ns-G)-jIw6J}&w!{3}s`BULtC@DFW9>%Zh6v(w0hZfM%WmXc43 zKzZ|z5N^2#jncO%^q0c=5GFJ+SFl)YeVS58t8KM>-^G4>VIN3!72Z}6(^Ae~ z&Y>6ECYzG1Z9}Snryn*4w8Z$BZQ1x&8x5&;)K5T|}4%OEb@q zN^C`yMpq{tjbxgZl!El8bVONWml)D$3&L!3WGM$;FN)$@Pd%NZA3C=Mu~J=S&=%&t!iaR?Lam28edNu7uhjxvPb|G+tx{;CsuVJXwGJ3 zBBVHJO5R{}CK7J7Y;ZSez~kO`lCpTa&Nu6AC0sI)hr*Fj6~{k1959@xyW^sF?$4rp zQfufF)&lM?T=ZXO>>^KGEGuRGYuxY@WusrEP;Yc^pwKFdRGjTr`1k*u~zVi!^CAn zDu-w2(lBhnMzw1v^Pv0JnBfU*F>O=3p*tIC4nx2@qIKAFoeSdQ`K7#F%CTZG7%q6nial0p<_{ zNy{6EFYc$l#6=V&3x$XX#M|USGV#ssvaaDEfev}RBJ+9-?r4<8^Tmm;0XP)_+C=e6+Lfk}yDZaG3KySML8OhP0ns$wpy zcHJ89o0xEFZR!um*iet|=gK_M(JRGHzOl$6W-IMNd|FhNf!MF7D;aAHO>&O>lg(mK zl?)LKf^Hwh8YM)=s8>^Z!;CT_j{kh!ED(;iE@2JKBSD&~+o~6;=K8&x$2(nVUNHOY zxs`+4Pa%EbbCnEPs`cq5j~Z54uIwiN-c5uZlgcuQm3(Dea+2U-)Q1LM${dk%HY84l zWWxBd#drP@@763S7y3fuKAtafu#SpmhsoGhO<8^>qvIqCH0fS(N)qlNf_dRlO9 zkf`S`pQKq9mfcv};3DdUn)mrl1wZ{%@u5v_6}8GABcB;7N(SNy3CRn zGp0IVeJKkl;e{&SelUl?zrN+4h^h%hVCS$0g-$jwgo=c}FYY_-PKO)B7`G;wsC(0P zU*c2Qg(#PDlE`;9zG6N=L#>kzhHKfDa6xj)o0u&wXLAKuz4_;JAegoO5TWmU-Qe{c z8C#)vHRfMdAKzW=mba#xmz;5vbRTZpkp`zLI-y9`c8pu2EeJM;Hw$)ZI9hG+_hhqK zbC5gmC;c=bV59uFIdxy8d{gHnBd`es<{j*;xA5r1FHdo|_DcmYv2Ln0#?la9S zc)hU9c-_g-4@&k4ZjnQLxbi#?#b7lmJ|@OO((5Cx9{Ng%Lc9%0gpfm*HU8ACmwX3N zrfm*$h42U&v=3Io?98K@TcW2AF8Lhbwi8Rd{;9j$B@$GqEgE7w0r6C`hC#4T`B>PPGXnJW!U(UoQJJF zy0^$vG+ENNy!f~i@a3_3>hcXs>UqN%fG~zHR!G7HA2Sg*OwGn^+0(mj>(e4PXp`7;dwuI)8q{!0$;kBV_envb4Z(f^;sf?sceJOt;DwX6pJK;9aPfcm|US$X}R zqsVXpiF}|M{8;_p*!h<=Kw4kcjAZ&xB*Xv9g(f~MC4e9T4!MQEiW`cHZn846I; z%g>|ss{a&)4ip8>B3$$Rx0L_ackB^sw0|A+g&cWK-(^G|W2aC|n-OUoZ=@K08s_x; zKO+Cv!M{KTgx#!8nzhF)e zrl@+9pkGt#VLT7+@1*`RRQLhw*F~A<~fw6R23eTOS zU!$s|0*DC>HSKpmujx;Mq_k2Bdmsb z5;*)?NOK$_GsTH3K&=kgK|)!Yx^_|*w6*{p8VQf0X+9Y#Yx+3^0>pZ zqNhlu*;QxB?3HWz^T3J+05ZRo!DhAlVq)c)fG)KZg=*1p8f9(J3OxES>7O1QaRpPC zPNj{r)DTWc$Gdmhu3UJvhJrfkve77|j~y&t^XCB2K83#TjW?aQCm5ZD!K~rPB^Cgd zD^Kz3D2P<4j$F)p9&it4>XwP~nP>Z*dqZ&Dc>KTVA%U#F1$Hx zt@F~Qgbqe2@pZs-w1o2NkIdXMuOI3Gi~D$hrDQ=33fa5Iw$r^i)&ts(8!0@Cbk41_ zZ1rr6SI8A3VmS1x29W1XYYfT84tm)q8#S8V@tSFJAJf^2M(N}02;!@!-**p7!6ERBh-#7#QbtcP}@+o)i4DdpjE$p z%Wx|BiEHu$xY9LhjmS=bxe%r5%6HyuZuIF(7*4k$ZFpWBBNA1m2$GHyTtB^!8u*sJbYPql4z6Qrh7 z7fqiX1IRIs=TFNTKYdUa{Ab8Ye!&H*N<}V-`%hfnFMME#{@;#5TcG>Rl=nF5{?8w9 zEq{ora=hYyhGvo<(A#7y<%<42w7;P!d;m(tSIhfn{J%%0dkb(=xTT-}D}7J(vHs`k zTmSVQlm&Rd|1V|Prb_~~zkm82k6sb~;~7x{psK$i(vbb1s=jj#T>{C0y65LJgZ9AM9V7rzL9IZ%GxuYT?Cq)#W3#VwBlyo zei5Et%o`5?KQnL`nH13o`e=y&{ z>aInM^T=NH*!V+aiIlyyK-7$|=1ddteWM5;!qxb+unG@WkIBg%PxJZ!7&pyUJs!J} zqKeUq-_$%@r}bQLek5YQ$M|bS&d6=kaesf|^KkL(l`wWm%%6cut)B^R+^^OWbH2s^ zsTp{f1Qb)+ZDr)9w8+UnDFy6lET2Amr82{NP|>+#5fBLBgmUV!&1!kx4}3qXhhE-N zI2qU#{C@Vlv7&WJTfBUeB(Qt5kGtlx{NkVZz0MZj``1+VbA+cBxe?=ecf({iOwGWKFa+t_lFvgMh! zog8k&IWPbyez&t%18(QD<|^{1(*2}`a$P{5ZAAS_)CN3Y6~L~tvLF-bbG+KiFrKi! zZhH8o#sW`^3COn?j!dN35g4l5D{w878=GJhvXIqFoROa7I)s<&27A)Jd%4UGLAuQj zWutmW{lV80$P>KZ%DfNeF4$$Uw2HEv95V9(LYm$*bG1vD9Z{C6FJx>ar=K>3l)KzMGtx;j z6$^Bp5jR#txIu=%p1gjYVO8S_AS$BPt0eaBE4(}?_?9$1X-|0zHlpH%ZiiVZTD)? zIfLrPYg zHxOMUGRncai^>pg5j`^{k~);02&kmS(vxv-Jv9P;AfwQCWqOY|EYqD;qoN8yW8N z6f^nkvtIY-w{@BD%TtLy!`3ri#C$5A`FcO;{n|ZU6`e;AfRnvC^e@~G6uW)P=5x`s zX!1zhE$3O_DWsU5Ce8SYA_Imuyl8y1iU`UQlA-51HEDzDv|F+WS%vycQ#* zK1jW^=aJp{KR3{*{jVEfql%TZ?RAztzAy3!(W01~)#gM@=Z1p88W@;t2Vey43H(1HFvmDNt`^=ET0YN3?91Q$>|epQDc^EA1g59);QI3A$6 zgU5i@?#JX}(W;&0g?l=z5CKQ~6Gf`nOLj2H))kH|WU{4Y)QZJU*JUp08Qv5ANy1;B zCNc;bYbT{xuhyPwH<-}2(q6m>1P4g<;u6Q&#_BS)b%t7i;@D+-s%!Id?t;N!FH@G7 zT>5QHypD4bZt61pr^(^wWctptrfEiBsQ3C`voy@cN<88aLfL%dggk)c^TAmd7oSzB zII?3O>I4ZghTh1>YwsF`f?IE;%|54+%R?ga#C=YNf4CN=@COkQ_BIIl2j4aXb%AQ9 zZI_Y0o7M1UIHlseXURA|#Xo}!YBhe4r;T~v$ru&%il^r`hTBSyD>$#2xvd=31pU~s zs;GW~vU&#S>ln1DjE})F@@t8%IN;D@+AXcRI>#EZsxt5-E1~SzSs;W0_O}$%3FGhW zSHGX(Pa*;X(F9P7Vs;_e8! zcV=%$R!F~JMlpC{xRyluDe)5Hz+$F~g7wp{zFFZm0JA)r-r>{9V8`x;R=Gt%!Vvj| ziw`ZoWBQ3Gs$qA3s3Se^Pcqwp8BS5dOG?i}z^=v2(xl3QDoI9YNBS2Ga@;inqfRuM z;R+3EN&d9sfLjLN5O|sQTblpQL(Wc5fIw;F68<<^TaR-%c?T1X1~3@JM3`F3%iQ3> z-RJw=%u_aXS4TVt*wdRMh~Gj%!eBEP-HInwSgu`E?6$%vRti`*2t=8f9R} zy^cjjC$rmEiB8{wtIxWp6JrF|JK=p(L;|b+<1`#yuA$msotT@+XjS+n>CW^Z-FCRN4ThI3nnK2f$=kP59ogPo&?^kFuQei=k5B9j9b!&#||rrQ_3=Cz#7v zcPOefL>54x&|Y+GXP5_h^}zX_tq(lpaCh$!GzWQ~XeyqMC7|4p#H`V?&92);ZerG! zCrjFocD)Loy&&(#eRuU%uXov-ha@U>jzQWijwPD&inllKSiU)^PUGC(Ca$=4>kniVD9wf>&&fC<4JNW^p#9jA+ut@_cgV zL%VH;DIn+b)HY!Q0e|G~1*UMK$vVs2tkX2)8I!+66-gUkr+7(%298mg&3kim%)M=W zjV3g}DR=oMuKNgXH{f-ySH=zwm>t&(?@$6oCoO74DNIOLS&hpsEe9flSsJQ*+MNaD zG1epQo=VrfkzK+`W-}=B1qX1d&Dw5Ae@zWgU&YHXDmc?TT1@W-{Z2QMKn6$<*Qs!N zM9?Bz{nC%Oyzy~s-b;v|XNzAuFlmp^`oF$f8g+D5EcO(H=3V_n!A|C+Sxqev;xo0% zIlaGV%M@b6vN>Jvg<=De;8tMel%#PaBOFO77J*(u+J7{9&$JeFtD@y&F17I29ybM^ zm3~|>|2nHw#38|KV7T*-0`IttNj;i6S0~>Z*>ahVzSW1`(feCrTYBN^%^X*IU}A^Y z@@aeQe3|#_s5O^nY8>dUFLo_i+E?C$1YILud-?f}f)LnjcaafV`W|?jh(nNh31i!& z+p@cOPiQGo>zlNFgH;%*VXS(}tI*6l7WnVz4xKSVvspeI*S2B~GTAw?*stT2A@$+K zZ;^~?U#Gf>k0PGsjHaNcQ9+=zd_$kR{;VXnu}S}s@C*KH<^4Cn&N(|CXa7exz0ma7 zdPyY|+}p_U0JyrK8}Q2uz=}q`#>m%Hb8+dsSy@l($`YWlCg4GhL(Km_E$X#>|~gaTgb`8mDYns#Y8J@_uVz*DC0H>ueQrk zgdw|jpC~xVAO^w=iYzdbJ@qf95v0!yp+i~$ych3?vv%YBO*II=Yo&GQ7Oa&XEpE<{ z><#a<3sqE(K@d=V{}Ffw)h!&AY| zV6$f{DUFG|bmjw+^mluvk$zHN@R7nX;R#gIqXq@I-L@3!ilXbCY2$=umBim?tby}h!Ja_pyjQN!c;ZFtQ9Y9)}H$8&mw$H=7*}u92O&UshuI}6$-0BSiw}% zIb#U@)TR^!>ZE$5N9=I?d39i<4HI*ru=thNro`idxc=@Vya!`2R`*gMf%6+M{GK)F_6E-;4I7 zhbg0(ix_X^8`N*)*45t=9F%mfp8RMy_D*S;7#SHPIP!!8YoP0LmzGenDTJ^ADh>lZ zwmBCkIZx+pQp7vCX^C&)x${Zg1G+Zh0;()&)4gwf20SY^%cvn8i@I0K*!Honvw~Yn zyJf$AobUG4?TsN#fc_@gyO3zZv0qbZJ?3V^t2qjdwAX+*K=k#WH{1PCZ7^}clG;^| zXGmao@a>rqP#MV zic#RrcCwBrU-e#yO0}dJ>%DZ_v14ihr&vPB)md(tM5J>J9kip}(;-WuK0`G)GKX?% zr3f^3i6crz|Bj0oS0Hd7`X^_KT}3^6(BLHc0=F{ZH=Jnl4@}{BR*9PvcRjA9M;Y3- zaM)rWJpBpqFm9^Pmu1yK!_WFVzN|UV`KG@3{g9q5lBohw1&B00pHd8vsE^$5Mc%Wv zhFQ<~95mbdRHJ*K{nm9iqPcC33h&^|AKYxkU*#h)HS;Fr$JJ`s5h6H4cs^ zQOW~Bcw@pzl&oQvinYWIVJyMP~4lVw~Rj1)!4 zyIjiGOOHrvzxp#kJ#20pmq+AHgB^;aUwiNT^RP_cA@(N_d)d#)C&aDhT3qIh`bY4Z z*@33j51*9Faw1~i=3yi}kLQ8qqXG@P`dQtKL^6V84y|$hS^|a`bzj-d!u<33O7>>G za`3U#|1Cgxn+8BlObR*N&Zlzeq65nZm_%Ds(FH?O`w^B41CCAIC(JR)LsE%T=r=K zso{hqggHGd9cn z_MzqA?Ue0;wkq!hvt_Pz9gL~_l}c8NoC(J>xR~QkPhK;=McT9^Dw_&qcp@eoB;Vq} ziMBqH?`&vrw?-)4TUP>n@?o-U@tL5RbX6ns31uoVs6vlH+=f~zCmd_R{-Ag}XpSk5 zI`gh|1}nDa)oT9t4#_tZqR^YX1ea;7)a=5h<*`CP!3xxtH;PteEIuq3e z$Jd`&*u~Pyy$Kpw;UB%Xw>uB2K4JGiOl*m~iYa>UfAelsTOQW%npWPVv9{JSNl?sP zC5Ekvew#5mQ=9IU>ikl~WPbC+fSHn=03m#{C$?$Kaz?H7LJf@Odoeb99u+092}I+~ z^L9~x@NiRMo8PO@w06n1_koAe^Fs@+f5i(gno0fPjtQdut~a5r=;7Uay#r7Xw`E2> z1YTEV#xjtop9HXQz}I#T}L#^oS_JLcBgHC)C?x<<}R2koio{- zTHiH0Mpf7X8xizye*nqMOMeKdK$n8Gja~@1Nc)`3S%$#}v?CG6pRId~nt{7kpN1>uEa0`9}hC>;jqx>6+p{zTej$9W~`}%2f%k@>^&Z3xV zhwIPwWw=1%QQQni0Y`>M@khw*m?jzJ z}RvY5xBK~5;HYcHZa`=n)1Qj(pIqVst+&+VL_Zr9%Jq?6D za^J03!xqx@?}F#HHM2l>U}-{#-;<7++>Ee$^JBW&I!S?O1CXocXWe&?sAQ!qfYS47 zm)Xnx!#1QMOW&WI!2M_{07Ug)e?PH+!?p`wYQOzAmiY$hIRJSQypIX`4{|vHAeSKW zvp0`4$iGi~WEhY>;sUVmzqTX+@M0jmI)}o<|34?<17N1c6IrVNK&8qr0jShz!ngEa zXFW#KAOSU?y^)pt_qE?6Z@&S;t0UZ_2>$CtfKUNFr3wCrPYHTY4iq}60tgEKb0Qj0 z1M@c;;A{Brx(a=PLIt-!X#CfSPk|bqN74LOWRuflp)w+W(Ef8G!($CkVkH0Tp8vP8 z{s-^=-^Ti%&h`J;v%VAfLHGboc(Sh#1LM!C%0FM&T^O`xTB_K6wkL{!aN&pjrUMGl zQOq@k>(bLSIVJ$Yt?&faEQ#DD2eoz^02V7ZPwW~bK5<@aQDx6P4T3cI7Y{5vW~#H8 z%_9@#ciG$O13m>{n;cokWQlhIwPSSYKS>bnnsXU=Sb}M(zeuew7o4W`BCTbkPg;PV8`SE0 z#xtyumj4>=ps!6U(CNkwWDwi%9(ZH{>FjZ?qe?Ho)I!^nWb}uKi!{jL<78MSxJJ!K#$=PpZw&^!y8^)@&!UNWrw{Mi?_S2aiDG z!;njBtmZAiQ69f~IDEzVO=70N5fQi!WWUZ{ApWe0-OLWB2ua!kK4f8XBUxP7-*plR z7zMSve%9(l^T%0gDB}+06;8ZLh+$FLhqGBsk5@ zj~)vA+GMRmvlWY{$p+tz#q)o*kQSpfE^0>)r>aXC*)w=JGZ_3Eq4<3^wc?l88nb~V z8M#arZ*+^-psBqzMrmdhVq zN>6r-CaiSs0dH#eRs5X>hr&nZH_vpY5CO48+8smrLdriC7fH>-T;)8a>!&QZe)j?9 z`h8v!1{)T2Svq#&F9PH1of+wrU$eNBLS}{-(PD4qu;5GO~zw=qQn=)eW%;oeAme*AA?pNu>wn&6kkW3kg`KpDZd%(yQ0|v9A zbuXVL9-DUV?32QXTl%J%!j#|~24hdGy!!^5x!8{r9`kJK)-a|=^4-38!>J*Ty5N*x zxS+5Ul`L{5vKEn+^@TVQmp@a?)SBe_@D)|_Wp z-KS`Z=|$ijM-h??Y_8=DS1cVCKEY^Tyq<#D_u3tWm$1U>gy_4$ls7XyGlJYbJ+)Ta z;Jf8ItH4I&d~q1^$G=$%ME>m#Av`Y(pRMqwN$sTptOxT@-d4o&3kEqsUfCFZaznFJ z#DWtxGvLpb<+J@lMM9|Fb<3KU6UnKU8u_S8T)7r9+k6b21>R@rj{u4m9f@e`VnDm5 zf!Ac_jOk+5iY2a(;3}X3{-FQVc$U{cV}34a+_}rg=Oi)Blr$O=hlnEJ*VkT3v{j;! zViKNro`3PxA9AOYzCd)>r>NPN_;VQy$8m};g*7n6DVe*84bB{_yZuNSNLbu-V~OP- z2&ex$N`d68cmC3*WFkK5y_;A`J~P1}X-ov6vN07annAH({;8pzE8y32Ula|+04Mr1bsO2=@AkemNx;uw& z2^uph;kE2dD91lx?R)0vku*GL?b$jgtk>@jL>i9_?l@NXO`hpXnPHou!)^JL9EBIB zW_(pDj~ZZT7d>$2z*&r1{h*t~CVqNgSK&K#c%QC6U-k6XFG*xvpjAo69@~@W@-;ZA zy{C{%-`dqZtj)!dCnc|r@toz36`qWZBb}1^^YoC0fW%%p_+J^%K zs?MCg)Bmv)R!8E%@@XghlOUS1pJwTCA)6+JJZlVuD_9`+OdMsk-!e%qKR&OG%H5i~ z^^;ppP0hq=H*cijuNi6&a68v( z`4fQm7=Y68i_d=a7DPfzbUciV$5kWYh00?T)$ngJgE4n8gmBMYp1-R4BDTd@K_{_oZs9|(z+W1_rx6Pv&b?M4P>n|=GGYUD>$Xk0& zN$kzzsgZ7QUz0S79ChL;iJVOUWS#3)UgEyTp12#ryYdWrtFduz_7L|pgA%m~9(-s+ zeU|9Gm3U0$PZU2xgmZD_4#FkVcMEDr*{ZEEf|*v@8{WAGbwdO zZqf9vR2CQ@t?~^C{#s^1aq+$f1Qoh=hIiEgJ{wQ8rmZ36ego%fOznKT@P(&0 z1-J80JY0V${chP1Igowfq`DcyEO)uAns!z8=N?xzwtg_g5yMiAn>peZ|7YToo*Z4> zO#OD$M&bs`T7T3Ih1xtXvf7&ILH$a^@!DSoH-LOr+fNw);e7v)MT$f4s!`ADY;q&R zV;^6XiwRVDb`IrkQaIW0G51 zfqpFW4+C9S-LHH+C~Ex-R#%4)?L(p>WX@LhezWwP(*+@v#XlG{k@U9{p91?XttMCt}k(aLsU>(H5rEE0M5IAL+M~SaUVzpRS{7IgU|7KvG)9C);&$HXcqBYfaDI zQ22fAox=@#x6n=hf*B(J&E~AqWATegMHBm!^Ep75t>8g~{RyAzyZ-gJYuh1=k6rgd z8UA}mEs7(K(Gz8B(0QnuPzeehO|N_-puT6QUkd@YZ@Akr=s9j_3@gM|b`spDbTeAy zs=}^-FLR;y;9X6UV-aUE-HvFsFQyp8^csS^*=7^CbR|;P-(I2mQ{Xh)}GH zDv7Jj0>s>~ZZ-p2_4awgu-6dJC24*_Z_9=N8yAh;tZAaxN$TRG;9zq)0&uTpKDSE; z(21MeQrPT?67QlZTB?h`e(@Z#N~rcw-+1P2Z>I3^AL=BX83VN)HKW(RwIk1X7m<}} zwv>?xY2M2#B0^V(?gkfc2Om>Z8q`le&M$;>;T?mU-Xw^-375VNmkl4b9lfZ2**-z? z)U%gTxvq(VD9MBRJ$rhSYF1ltG{)Ck;n;L+B`!q|o#0yR*CkU%@QjEu<%}~73c4%Da zuRfHp`Ut+W0L!c*WaKN|1hQjv9u``&Pk|A;j}%5UgIPVhnK0fgVi3LdF_T5_K}d5w z?trC!x&aEGp?7+7MF`rr2Vv#p>=bd0nq6sK5xDDBH%4MK6@t5a{K;NQMe|;np5)X@ zrgf%|W<(r@(*Mn-39K5I1`C70bIcZTlHmWVz3+^QYU!dxL?uX21SE^(tdcW=-0a_I=rrkukhTTYQt$pc0bA7CM+%Q=ZPZS7#m*t>46yp3UeT^i9*|u z|3>}A4pxUih`5>W4!H<#&3JLSVSb92GnFcJ&M$;dI7M<8{Cymz-<62;z)vY*-6 zRBQuFvel=spLV;f(`qHZjZPsbUWXtEk5#-c@>R+!&}KO6G3X^CR~f^H@eou$J9WJUTlu(v zP-tEW#u}`z@IlY$lgkd|O>4Z`KD76sL!?+egdV()qGq8%hd+G1nyNiiZ`c$nd;-X= zDw=yVU^!*fze(yyd2O|8p4?RK?Xoj4r5NG(Y4NU!+X^Z)D?lqvC|&(>0;5~t&4JA~ za~dx5JQl1b-IpuXoX73l99>RUg|h}7*bWJuA3s%J)*anBWl?Ula|E#uQlT#|@CL>E zN=K$|S9FCcRYCQP+$u-i&}ud8yb$b;?v?@BCfUGJaoXrD>)`X8;og^-CaKr2%rh;v zx%S=3XY2Q$O?|yjU)qnVe#$8L2|L7tj8r83Y1?>U+MVme5XEFxwqvSvh^_MMi~%fm zYQ|ue8!F-9>4;OYLBQGoVoUIC&t{tNHb8$Bjv{=0rwA;vZy_wNUHiC;h1M<{!&s5i z%jZ!B`Q)(c0u~Yw4pRp5lu*#0zVJ1c7XSbwa(razcgRNcou)?3E1Gu>iY>S_GUT`SA{4lGpDTd3HQnwM^CUypIYt~*8USa;!^9j6LJ=3r{ zV#wS)7lvgo=2q|%2wRggo*ghG(&oJ&(+2s#aqlH;>=G{}fdGDKJV z&RtBVH;xHS$;!=Xmt=u(hbt-hHFYj4GbZ1I+YYMN?fE|^h=7vjvjTvW2WPcWzrN`x z-(E!#KEtsY4BeNafdnOwl!#z6_PhtL3Ox}bH?Yqa3Z;L7ej6)O?sRGmlC^fqi~i}0 zgN6SiWPo@`hu}!IgkuFJatV;c+fK`SvK zRC0OM)qhbmuM^!_N`i6zC8Vwj6ooz1^!leJfYN%MS#Mf(TjFo{(BMgDiSe&^h2Ire zg}dZT023p8HK9}M1>tjSbzhuED_t%CkjUO^tV8@)Z*<9TwU>WeFdFLUwhj>J>S(vY z8i?Xh2hx5-q{&Bi8Ur`)hAMpdyY74Poy4;a0IOpzK=g%un%stTan6S#)%;Z`=Bv#% z;E`r=Qr`XDf4n&HS+k7VnqN^wJeN`LRzKDxHT8_*lCpPDnsJf!SzYji#)->E|3Oa` zRm3YC#<>tge;~-$bm)$ha47Ga zRO6%mddkk1gw{C7{@c}yWO&W!E51*1amUdl|K_Xy4Y6eeUZzVRQMB8C4?#I2fzHHI zSQ)8t`wN}6f)_Q|0AsfzpX|-MKckj-4dqJ6{e^=6P0v-ma|@KJee+ze$uR&ob~cFr zDQ7u-E}vorn2hvqnS528pkLeu4a@;`?AeWO(5UQp0};$68G*ctEvFlmf11#IB~D&U zq!o5edIqMiF6}LFCb$-Xu&W1X$^VmNk2QSvd$}Rr-?0f%Qk~gBc0TD~_JGO?g%Q(- z0Hxm)(bD?&#JjGF9)PARDtSrS|H0#(Qh^bpv}_x&`{xw|X#vRuApN!pV>d4|98mlJ z->PVI;hB*|W1sa+-CcCKTF|aa53idJ)W`$hm$n}0h5kR&>H9O_yA&GqPMN&vKm{E@ zWKM!J6x@8OcnQEX`9D)prvd&r=2_`L=&z?VL-{+xfOs7y1eYG0to?*rfm zt4wCfSyeJPz4DWrWd`m577B2H-+ZdSj+6$oKcD*ygc6;$REyw?{r&-1zH>kVVB>AT z`9Gr*yP|-(fp6-iP$A+BoMfrQ{4?c2+=-84X2W8t4=P{SF*sd|2Kb-v0!){Ao0Tyj z5~+E!7+{Y2m#mcE0aWa}1;+tA61FQf+xFvXRw!di;Y0b=K!K@t)N5(Jgm010UszLx zS>NRiq+^R>dreH{(J8U~1w%=3j(KP9))i$9nl^!nr`#(-ng?(0d`81EegA;qcEp26 zj|~H9hOY)PJ+sYqbQan#Tw1n{*BS1^ODf7oPBYt)3kF)qjy-MHeN>JXAyw(1EPE%A zE?qXI7%K!WwF3aY88uyH&FQrDW6=0|iVJ)8?PfPXAit!A?z>wUAW_4O)M}ARDf5{3 z>Mc->0(kon$6@2qP4yj_bU(%4w#N3>vx3)${wjQIty#!={Ps4N@|0)*c}@ao;y^_3=SR=!3bfJZzt4oF=SPiNk)J50@=wo)$CM?~(RM67tnWg84#Y|h_5hm8buP_>?JqJitlqC+0qR=$PEs$^1k=*UdP=Mn{uroxtVe@E6Pq&xOP#VuZB{L!Xs zcl%~>hMP~i2Z3^lLT%1L6B}>CWsKZ1AHQtoHGGc+`cHi7?b;FVJx^Y zNv);QGG{RW_f@w8D~sdrH1KmNqxPf3umCr`WU1rR333>CL!;Cgc5VC#cofYq@koqh zuGtbhsK}7g4<98xgKEi!W~D!((sWZ{rOBs=)gxEc)@jkxe;}C(VY^zMiM!ka>GKtD zu``UFMJ0=_Ho!I8hsIQL-b27#;W^9aQEG*4?)ysH85X(~hK>od^uxXgmHeSIozHU! z4h_dT&&J1UY}-B}O+G>!HO@FO4>o65{Vc_JJif~<6UajEeyroApS>`g=5KvurHtzN zSod^uUCBIAZ6O+A!v4ZGB|*)rY+t3L=CVRNk(ugCYOvt%>f4%)V}gWZGHpacdK4Nq zW$&;1rPas0OE?B`?~me>j`N;s;{!V;n}S{1lpLT3ysj^j9O^29DH}%Wmiv$yEnRrX zVuQmvzO4MBSsQI%1D2t*9;3!Ya+9Q(kBzLwbyMVCA-=So zk0nOxE?}Tm>cZq7w75pUV7D~GN5S**F_V(2pO<(dAC@rU59UksGD+E6fM}tx{^#@3 zdMBvIE)%zEEu%_TJPSr#6KTUA_Un%lciAhZo^cqQ6fg2YSFq_Z;0xg~cJ5dm$#D)B z8cpI#SdV;;+t($6er4%(BFDm`)ZLev%v%pC7B@on^KUc9rxt()if0GMO6SWnqJ9vz zgorD*B~{KQraz9e=x5_F8!R2tI!o$ z_5vth{eil%BANaAU?q&-WuKzCVUmyRHb+6kYfCzLwXofGAbkeysW56nBcbrka@n)G zFLcVpa5)V1M01g>i1FO^cJ@haB4J~mK`qwa`Nzy|>psN!4)wW9japeLgf>vd<5vfFyo>^-x1+|3R0@-Z=8@ICVSq|g(V?%1j z!kuBay;B=hQp+uITUd3RBOv0uTfC8O({^K}9j4wtk4l70cS6Mj&<~OX$T=x$CG4lJ zoP??b)`p~ck;M0Qk0wc$zC{a;D9P^f55{!a%t^T%Mlfb?loEO{OIzrf&aj)T@*^JG zA#@Su-+7vm7Oc2>5x&ey!Cyy3^JS7}J z+A`5R^?T@c3Sfd5Z=bmDU%HbgSUvjmbTKX%NjL4Lbe#N%Os0p^y2HZVWiT?Ok2`RBv=Pyj*qn!aXBS zPqpnrC1-AB%X(C)1rQjhG`zDz5Ew{kJqJe48*LQKPIT1_x8RGM8j}mpLS}n@EkTBG z%BaK1lPX#E-h}3MMN45G2}^;~+Y2d`{e`bY@&K_~m<%f1_}S*_3&*hQb{AK&>U40cCySsbkdBWbzTF)I;aY zDPZOSp9^Jn8G*nf_4!YCC5Z;%dnqBB2WvkNG^VTi`9o%dWqk1Ii)N@=Eb}!ZHQvFo z{d7%neHyaxF_XN>-vvbi-EPAY$bmL;QYld1gW#68_~+1asFy54s=VL&43yP^-7*AC z=t?i|!8Ksg;wiGs_CBof**p>B?{QzvOb{Xl+QrHO0=2oqKI$*c>&EZ^S&37Duf+UO zZDrp3iABUggf4i+)7!?zW`8>eN2Qxjzn;OQ{F;ynYSIkNsKqS zd(#!5a6!LmiJ!K$a4oqz-v4Q?>|_19dL8J(P)w-aG11{{9I_UL-Lx^-&Xv4;y3Fk9sv00qB(>4DnlH~M8 z`~)JVRQ$%j&-G9<+EiGuKOcBbJ4PiE<(@Bs7=cHiQdnff$VE4#on}GMG>*xiqC;hy zmJ6i?Lyxmi#OyW~MQoID%1i2LYOD=_*Ph-V*WF!RpB!6Shl~ECXq>tr&lUjc7XeAx z;_)XZRGD(0lx8FHN8NR+*{s{tr)!TiH``9;XT1%FGWRypG_p7nd>@rdBX@`#ual1m2tC9_(Qp0GC4D=uQ{f-FwdM4mgNjNZzhy{7*#rXHsIlSJqnLDh4C|sRW zvr4Bxw&pVsd;>MwP4kv@Ee_*Fa(D{Uzk(E(eg%5pXG}&JB^Q@jtcLW=^S0ma$TKvr zY0*15HsO;R>HQw8l()6;S>$Wj1DPBbd-8!MNUgHXYUYS#?EG;xsR5DJ9^Olz0;qvj z3@!<0i|+w}zLvgsS3PSn)Rw*Uu>1C)KyKfolco~4@gZ@r3uUtXiLBOp|FxZ3Wj03x zF$mH^;LK+As50hq<7nPfwD)W^(Y&xs2kA3@W=V=*nVeO8o8Umk2Az}ITr20e8_#No zv~}O67W~LjF)!UlK{xbq{(xbb+_5!oFTF4Suy1h@^CQURJ2z>ygAh82nQtGtOh6!-JCbY>cB2Eir@T#~D1_D8#|U zm!8Yr$sawok(#3fkr!z%HhH_P6D;0tPQp!m+)wMV*Rn0O)V-kZ*O&3jKSvy7O~6Bx z*NCKzbYi5vE2_cCBD#!SchB7i<}*6btw<^mCB$nN1~|?&-W7G(Ql5Z2aUtN!&#ox4 zx@~QU#tPhFhf>NmQ=%o_bG2w!+l+RHHA4@wz%PGi{RT0>T%qtjo zx*|6tNJ*~B(w6fyIwjt0tp+>~SGT|#;>OU^)TjtyHCkG;(y_Cqjh^=k3XRJv^Sa;f z9hvOXzf8NkmzOC^o;?-Jd$AX9q^|^1BDUcK@vgPE+>Y|`s88;A@Xa@al2(RGO3-&g z$%6!Ja~*wXE{aFN?}UQu?7MuKh|MPVF>f7upr)G{IIMp0(b|Y%$=uOJeNqN=e55_D z(mkBK)n9do1N&9FV(oT*-ssZfjP6pL90?}g57`m9Gtba@VqkI@+(4$|LLc%ZKQ4%i z`Qn`jUO7G>50!z!!iMSmR{v}0j_Htsokf>q3xyAPJ3=YI#h6e$9FOwFdzOu8hijMn zTVVq-jZ%%g&kiQ;8O9CfK|VAtQyq2To1xz36Dh(cY;9#wu$#g5R;|nTsoU84Eycm; zI@W5?O;|PGTU!d{mQm2^8(ftqqc6o5%xuQvaEMPVn=(RRQfz$3#cAW8$tKSoiPy*_ zC>C7DC;exiT8C@rwRC&puW#qg9$xyaA3A->J`W!+S$h{VG?BE%ca8xoQSQ?y@_rB~ zF?v+`HBB06#{bZjvKmX(Zx`fi+26f_?0HtgqO!O0jxr|pxuAKQl!CzOLEPIDRpmll z749B}5x*}Jg&FW#Bc$`{F>g#Ab%p?n_q1X22iCZuC^7W>StSXv2iCnO1X$MZAO~6LEV~vXP+%RMstkBjYwCMPfF_HPILzB%fhE=Uf6`*Mhe!jKM)L&eD33?(! zc`UHEw|yV4#;OZQ?|StnRa%0rl;i1TgY&q_eXYd4> zvzhz+XE7OyM3qfOQs3fg?vgjWq2v4c$Zl)i(p+au*I$psPpNLBAXvnS%uidjnR-g5 z%f?wJdeuh7l2-L6Gr0cb*TFKOrTj_Li|~Z?Z}uzNF3Cuh3jvJiw=EpbLZL>4qnlq! z#L*L?_=!d9Hl`S{5bXku?{;c^UM?%T%ok&l>)ax3v|AQW^w5%hsS;b9;(2jbi=Rw? z+*stj>iY`9=CN-`Iv~+4pN!5!1Kwla7gK3HjK$bqZ`{Z;R94q3FE;K?RbGsHsh~$S zgMLe>-9je_M8kN3b_+96;`J{dqbmUzxr<#{~e3}H|NDUEplGqqD+kTW)7oa)L|UI zYLg<54^mR=u*!R!M7Q)3PnNMd%hp%(J`%2wmeF;O>A zWPZTXgRL@4oRaj_lc860s}jMXWo@Hf!yNWZrs?~r&Q|&`%rru~i!2UAv|nW|taY^x zs3Noja;v+8sxLE8y$u4v3t5-;RXVQGsnfrPOjMGS+5o`u_&P%NzF2bO_UC)ll>&WA z3rR=UNUC`&3Sp4JV>^3o_g|o|IyVw)Dka%PRP(&Uif(k$jmSAOi;;71PrUoJW#F+G zWFTb7x$^sL%V26JdndG3 za5Q9gO&a@vqH4EB0XaxGlcc#Jr3H^#7e$WC4)GU?%fZP*Sw|GtCZL$P`wbarv{m!L z#Dv2FVxeo#+j9HBbLa|SV7>rzE~}5h*^w@MkTCB^lafULXyOjvQq_VhKVJY)odzBg z00O)3+iFPbY38YjX-&pSMAxqOH&5$O77Oin$g#o7mthy5%s+9b$k*#UPqnS`-eX_` z8h^}~G`d$AJ#7%`O`e=$3hsGhTMl`iCkrhr&9>d(?c?#wZ0z^9^C-Yhp!9EwA%jBw zC_TsD)%+~FBmNYeWSsnpsKKTpSkttLZqVgTbfav=X<3C*WHZVnZ#1~(TB+t(TSRb` zds*kx*4Wpclm?y<^61cj#-V@#BMxHr<$CP1;quB@zXA(Q0T7W-y^Fxr8UEVD?m;q( z|2u=!=Q7Bk-t^U#+73qKSa;iVm~7cqEd;DrktpY$!3LIoAosvAvaIwhnpKu);q(?- zz|VvnCg+Dt`VrMcKmvH82Id0Zlh;Iv=3`~s^eRQH-3ieE*T8o(y0Q^)Me(N|3 zE1p-jW2S@Q@xdtE32Um%Dq@Cl=HQe@bL6y0rB*F@Xyz-zc7&0?#-nlckyx;y?FEm? zzETw}U~?R7k1_2B>DK;m_le=Mqtc-WuAAafJ@~a8yPdrr0vi5$$K)RDi^nv7#Zz@Q zfaa{eIKMWRfEGP{gn`Ri%Icmfgs6KP`OWv6l$FmeG+*CRH^ITNIjuX# zZRW@)yS%KDo83V#AhuY)L4``$N_H@yK*)Zpwm#$4Gp(SYsMUc|~O<(sMZ)H)q#S z>zn1|DH}i82OofVPSk?aB3-e?o1~iYVw~=ih}Kyeptopea-M$YY2Q=4yDy2{92EHz zd8k?Gj{xlK*R=vQ0D)9GCp!8cW{6##j^qIT1h**DltfV_3qANOaJjUf6|g_7~h z%U&lV`rADi@U3>Ww?~EcjAyhaB~U$I7_z3LPyBwxix#QBP7?Cd{E>ze4Iak!-5WMo zZ{H>NKg;s#(9nyQIuYyRDTD5Dc6?5oU6(skVf3Y!<8i4JY7S0P9IG*-)!o$5N?qBg zf4j7N@$+g-hPu)G0^kULSd?wPSf;)j<+$(}7FhpkqL@NG<`7Be?LTjiyAj~7F~&(8Ndt^f|`mcHwP z-^s<6PRGxAMz#j|=i4THV9eotQ%WTUH~YORI%hZ9l*((kwVkCjorR=@pP?>(G)k|& z&Oxm|z5H|@k&(RcWLv%Bx$kNzZC*V1jLODAQ|XA%q)VB(BCIGmoR`;jRNBy4qg+}1 z5)gcmiC;~;DCEhhZa=d<1k)fJCcmZ~8v|P8&&63600pp_qBUooppxb$zI#`v-c-xr z5=pVro+Cg8B8TObPugl~%7#~!z1ml8i=L!I780GP(iY{)G@<@y=NKiCuQE8wn&&nO zzEHrxlJ9ujGUCcL+n5!xIFTVdLd9t>NtpbUV;W-8D+t|-@Zey%d{e7FMX-Kjq%UGo z7z~+q67P}DCnxG(I3j?3?RyG7PU-k9rM7_s*QenjPF>)}x#*I+J>ebL(3Q`2R>d>t z4}^8Bno@|>V^?jpA7<@yr(0`)k8GykUTUBFNe`Xys@Jx?qM+Fi3Nx%0(i(`P-lk3O zxH7mc1e?2o7h7safJKq(EjS|#<63I0$#dmseKb#UZ%;FH4+R1bOb(Wwzj8ok>}WLc znTnRV6kT5QcXwWhVHSDxJ*jkac4}l$(-8#6BrSRLXD5!oxKijvCgTf z#4*%tXBjZNIPX-9iDc0oicw~8bNAIj(mro`<}+guUfpvpTzqe}o1~$eN%Zm{cD8s$ zVSB|f6U6qcDq7Kn(_UkOSI$;Ur-8XG|25ANOi*Go@wY*lon#A9B(p}y%C`4P3bjmXwhOXOf*ZM7SKmsj!WDD^;_eYc@8x|v+lqS z#c_2Q7j`y#g5khUA^A+lyy8w4^;>IpP3tx}=F)~PSz4qJxM=mq1%7T4DBj_r(?y28 zR=uPPXaaP%mIGDn>C;1`5+@31aIYbaOrr4AV730+fC5k6y?HfI#UaQlX*`W5vK!-r zTShD`b_}NrYc=oAg zfU<(ZXIa`}40Yx=kf#%~c`4WAXZocE zwGRs)nB1<-t*8ilF0!{oj4vE*VW8mc%}!;s6?h~g$b=NsDu>`Awf%X=J?Wdsytt9Y z>0n8XgWoDX72Pn*rmM9cAqyG|eOj14pDSlfm0ZJSaM>;1-4EvW+Ir?LU?ZZ3#Vuo7 zEAOPmRB7(uE4j7{G75NY-ltPbwew7lCP4)nD&M)dE%p-syXRaUUHqBJ zH#uCCfm zxpdz&du1lwR=NF(85Nb_r;!T{Wo=FVzr{lz4UPz8rd6*$pI`e413_tRQ`y0mj%kP= z8M|c5vko)TV&hKgkzPawyFDWUF%Jvg#|=AIiuzruxa9|&hTx0V^qX9rOPvwlpmpHFv}R3m4*yfB=LxzviYLuIKJ4yotLRS#%acBz;tEwjywIYk1*IhtTH<0!Cv#{VlR@O=QfbOPa z;<CL1(|3$?;5;9zn1`-cV)PwMFCw zS!Te7!yQeJg?1iVt#v3PdsH|n_}!;b_rK81>4ulHnb~o-c!>HARH)G8WLUX2)UPVmoIbl^p??P3z$fGmRFOI zXAS~iLUsJ==IjqQY~A!NEtX#%L0l&Rhzze83-UaLP%lA(*?ALxLgFAjxSWWxs!E*9 zuhxT;5E|Lj2;)U_$EG+sY9j@m`e}}#d|Pggi*p_6GWW7h2%3k5bYaM_55~?QVi~{iuDF>l?$T1+n!k zHMwX8)nWkc?1M<$lN_U-w5#^LAy)1s^>FYwDBAXp1LD{1y4&UsT9Pt^vqcFe9iwi2 zu$5Q_>?1W`hdm4Rc3LNo71ap!92rWo5_F?M>Q5*La2YoDnIprin%2lJj5ViU&90`H za18i<{wlPfEkiozR8gR4Jl!!hdo28E5pplR@bX}}*WEqAdYn_uXwUtso>2~k{BgOA z&ToX$)JO(~YHA{o7jBqU7%(#L!<6^hWk|U8{Yn#vg$Wm8BWDuT0AK&Is!%avInhNd zuOSn!dBL>{@51qjZN8oYaB=$H0 zAi~Zs3^#W3ZXtD=Xi;u3uf=ab#1EKGprWn0Mb#;upiE;9L^k>s*Osm`UrjVBFJ|18j(nvk5aj0haA6kuymSwHt9)5}VDH7qP`KeE zfZT+AR=a4T18^Jku@$_A5Vv9&WluzW86H8ln>gPP?w(Bq1APf@WAl|Uj4{BP`-hZ9g@?pL** zduKx5^&Fy$O4PEB#FqB#^dG&QGkkTXWl6-1pIax&k}3sofOdxZ&kr2Q%Jf*yW>_9v zchqjApxau_v$gpL2a%2+jGfYlp!fYqt@leMv(OLyRKX;L@WR(-m@|oEte!Lo=B7D8 z&tj&d?YX&Qu}Ra603c`t{JmpY?g& zv0s|G{pNv>ax*h=1bI`T&5P(l7GFQj8s=2QG%=6!XQ(Wj2!8o?qf|+dWZ82^dZH?F z$QS#$pB81?5BDFeVuQDKk8%fPuDD+{ZA0QsaA0I*?IC0o(F^^e7CdE319r6ycST|R zCL^?zS~2+|&lE?(ESQgEMyT5vxw zPqV;Hl#lm6pIu1y5ftO;B<9?}*4|Q*-nG47mrOd0R$Vx6Zv&}gcr+80#WbJ~DK$zr zYCM2!xn+bG(DBA^GrAV!+LrI&;&5_j=J?kC_yKhp`Ti?20$*IyElIo8T)ma3>I-XR zS6%aNf#IWJCijs$O2W}*jn+^XBa_(23cVP5l?Wy~W%ig=?qlMXGNA^Hv^~VJ+O)&^ z^@?q#3{mxi_o|d?5V&dqk_qy4oJKpc*a@obE=yxe=Nco|NHzW4yBsLr zC8)KyXe`c4+JycBXBHUhx0?SRd!5lfQ+uz-K)%g1iU^ynWoeEVX{-C1Kg3Ai5ZZUh zb+iDn$rb&}i}JVMabd8v1zaO9P0i^8F&m4e^Sd3&H&W$%#{Pp7?=Av0Z zE`<~IcI8`K$US_#!!YfC^?(wCA;Cd(24Vf84=n=m`X=;?0{<4(ZR}o*B|ehJy&@8}Bh1hCY_!6C{xCl-}JBh|Y#k zq0!zfhk>1%7(McQxJ{d!X7NOi%MTPRsRv8mOoJ!D_L58+LV5E7A6@S^hVo9BHzg~8ci-hrjpVhf z|F2PB0t!ATVBx*IDf#c91pRkVZejj+reOZBJ|Eww(1MbSBpqV`AS4SQmwNyi2qeSt zi~w(q3=q@r^j&;pO*7=?qb1l-`5vWFqKv9WmY!ZqM*{hyAKE?y%>W*I$Lp;Cz}|%Y zfAepFKYviVS#_Recm7a=0+J8P&AUGqy8wNcMl7C9NH3L-Voynq{~3@tnR=f> zh4~7-YqA;8ky6;&*cdAi?JNeY)I{&d-rV~)>(rBHSV4<0C3E`(PjSYZH3JP@1nYi^ zLplrmIX8$bworz+!D}&;M4Hy(rZ;E+A@hEK;>*~?%d^Q2M29!WOZ{Cy$EgAAKQ39U zf598!>W2QO8G`HjwxnE(y}xPVCws?k@XEaWLpf4Ze*NoRnV}azE(F9ex8CkdJ&)kk zJ4%P%qw);2a7tK@z`I#V12OMYyN~;b(@iui?WWsRJx@#*PEs@DAj|vrQxOFP6*#Ed zz(6if+dGuH9Dy7=p;6ufvYAp@{W@oVwrN&I06W~|G$G~hYm^NN{`S5b!W=(CJV-(Zo%C*Wc^^|q(L zj!&y0AS3p#R}>e3ktGBuDy-Cyy-U@hB~kjBw`WYyf9TJU>nPe_{@G& z@)58ziWF;ZCQOh7))OSQ(tU?N%YGuTM_B~lx!EZm$pd?bwVBhO^GPAFuQ3y{-SjV4 z6=+w2FvQ@dY$F@<& zbK_|JpqE-D?R}?C#~FNEIlva5@Ct{M$wN7zIwnj z2jqo#5Sw>CchYfn@!>8@{vp^RxFzmOVS9wovOn{)sVurRD&9_BIF}f&9<>te91r8gjs@kG*t9J$=FP3GI zmRXOg=3#`5w`I4h%2jp{@3CK0y>W|sMuQeqgxLz{jsg5Oun~&x3m|Qvt#`&>U|Y_X zWd(xEjfD9Lnv^ShqfGh}%3>-gieC2dYh4wgX#0|Sga-4g!X)p zKklzhjQC}f~|V7pDj>!r%l z$*B5Qly9k>%i3rqH4ck}O}d=Zo>2z)!){|d8C4dqw@H5pFD#);u@vi7%qe44O0{j* z@(>y-irFkjP8#WvyMjVT(ou!^0uB~mEul$I=vlMw?N4hh!XH^0mZu&fhE<%uX*v1S zvZ9v&wi^^45`D*rbctbg7qjwZ&O^X}s=>TP9yK;p=3b-J1EefbrL`sVQdc?$VwVm5 z+>3BBZ8;te)7^s)yjbGV&q#1<@nq~z?=JeXG(5N>K2oM$=ISaQn!0V+v|=-UK977jm}LaJX1RCVvs`VwjE~#HBy> z3do=frG}17CG`|8SKzko)`iYlPeY7XjW0=u<;A91dYvlL&AJ= z3+Rv+l#>KarCY0K{&u%mIl5A1!_kxkvw<%4eq*INy1{ z>Es41!Q=QqWBTe0lL?SIueV(V0|~cdX)N|kgPs~~ZolnQlr|0l77vN>Pd$s%>P|kq ziqhZ%8*ZKO#;+V>km_b7=8YW8fQ1YaUdx(*b@G<{FP`WLhE5EdbmWnV`!yo~*{QmI zH%4gh$Gtc6zK2Tnt-z<X$TxsUM$0P zOrl!=XM<*ib9Mh#P3JS6jrhBP?kJBWcTXW{iDJG{^e&J5oDngU{IffdMP=5RvWis1C{I(QWZ&t7kzJu%(0DJgf&i|T#;Tr- z&~IH0qCy^_uu+J}hi3KgSxEk+I)-RE>S{y=_HK?n>HX(kxRx~wl7V_6NswYkQKn19 zZD)JFDAb`mm)@Z^-LV~TL*K)rc;CVVnAUa-A1}WpvyDGa(#DuQ@4O!~k6ql@MrKu~ zHLEYgGv4S}Y?#_brp--S9zbMyl@a7tjt(UEXXzAAhLY z&#+%}px_>V8LpB#A8>WyU48@{|0gwy#*%;xa2gruQgB1t28}SlbhPbpZ437VOZY|P_dD7*%yb6<)Vs5XCGeHEpn zeJ5IM(`+l*8|UGh`0{v%Ykfi()0+v7yHn~fbf45HpnHGyiRl^|+x>y1feUGKIV-@a zRRYQOh@7q@5DU~7xn|xv!U__3@+9q{l`Q*H18U-hNSYQZ)zQvb3X*oIXST$@0I5G& zeD;F3N}?JGRG0&g(bM}?MrNN=_CU6T9n_8A1tv!Mzf|(Kwkhm8r{F+xQ+oqeg~*%o zSR*Htb#PR=R8opnmOEml9YzC8ZYzwVhO)#ol}9sQ^Vu#nH|M{ye)a~09(?%UhEAlv zuD4Dh{`x*dCs&p17IN~uT5k^FMSeL2AwreV=bEUFzqM`~szrc+N$m@pF6IGwmusfb z4CUA&GqM6$xVCtENyT#rrf#DHXq%a@-_aWH1ywX*C~qxO!P~4Vm(>-!SH!ohO?xD- zI>vLXAA}3|XZ1>|Qc1p!A+I^-vRn60qaFs;c+DibqkP~`36}(#Ah!3S^>ZlFT3&bwT0}>nT49sYb78j_#Ogf1YkE+_L zizXg<5PUcF#N5pbkN;>|{&l(e?g`h@X%r;15=N;TR}*fp&#RW6)iyzmAh|i}w<+G& z_U4-H^t_o-E4@|4n|?nMIwse<)^HFL@6g=3Rkt0$|1xr(TdSW18naRh*e_1#WX8<^ zE3lyqnm&zg8Z9xcAbAunbn^N~-|eH1s3&=ANbXM?#3E^V4^nyxBF`VR_kL2j(-(&b zCpw!;HRuiso6E0c4%e!H8Z?ol6}EM^8Mq5+tWI>9-utk`gMDJNOnLdPEFUnAFX{7& zNnt7hXX7vs%YB?A0KDzQ#+qu)bIZtXZ}{PEGNF;I?l{wU55_)ZEZ@`jm|9fH zz?3;Wa2T#>i~m+deO~4AbJl1L6S{MyvuLk$bo0zGdP-7;wMBqVf?4}j-Ht$92BS?ux1_;pA3^oU1e+F zpF?*wTxUE>d=>LzPbRJ{H3F=!(_PjJA$4I^ZjKNr?)Jj<-k;3PLE1P_Q6^{C*g%sk zg=rmBOw1M|)*v`NggNA?6OPKwF});3+y=W~Ja+#ZAsti@&sVZ*U3ym*V?|h;E(@!f zYYi{)z>Ip5Tg!)4-Sf0N`(pDbxwv*R_t?Jf+}1r>B6?jzr!}fMdW8QP%#g&KD!|g8 zW@suFO4|!9o}HLftmdI!q6a-0l@|Y^z=b?p9D~#k6f@ZBesa)2ONe4y6Ca%M+RH`0 zZ3ES|d`WFf@E9(gO?4Y3MkjbICC*nP;xF)xiJQCXU7)}FMqE0gSDF05hN(JyZeI>2 z{mmV;HMvX?a*=MFYFI{#+!Ad3L5zMbEzZX!qGC&^0z83d2HQC?-NBB~E!@IQJvDOS zn1CRiYC{Cbz(t9+pUrgcr2e(X0S)qPZ#wNCQ#uYqcboU&lc5_Ey>kyhS^wvIK046e yf>GSq+dBXz4DzTHcz9z7KbAw={Qshw-vJO~z71N#Z+vLLpPZEPt15}t!T$p#oZ{*L From 71208e72fdd50b162da2a874f0d3ffdc0832f94b Mon Sep 17 00:00:00 2001 From: JoannaOlsen Date: Wed, 2 Jul 2014 09:17:36 +0200 Subject: [PATCH 040/778] =?UTF-8?q?tilf=C3=B8jet=20ai=20filer=20til=20giti?= =?UTF-8?q?gnore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 64c81080..178f23b6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ build/* xcuserdata profile *.moved-aside - +Assets/MacPass Icons Grayscale V3.ai +Assets/MacPass Icons Grayscale V4.ai From d7741451fdc3475a5f1bd54010459f78338e6a4f Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 30 Jul 2014 12:11:50 +0200 Subject: [PATCH 041/778] Integrated typo fixes from pull request --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d25e7463..7e56baac 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,16 @@ #MacPass -There a lot of iOS KeePass tools around but a distinct lack of a good OS X Version. +There are a lot of iOS KeePass tools around but a distinct lack of a good OS X version. KeePass can be used via Mono on OS X but lacks vital functionality and feels sluggish. -MacPass is an attempt to create an OS X port of KeePass. +MacPass is an attempt to create a native OS X port of KeePass. ##Disclaimer The Project is in heavy development. Beware that I'm going to shift things around so stuff is going to break. A lot. ##Download -Since Github now provides a release feature, I'm trying to upload binaries on all the tags I create along the way. +Since Github now provides a release feature, I'm trying to upload binaries for all the tags I create along the way. Use it with caution, it's unfinished. Really! All releases can be found at [Github](https://github.com/mstarke/MacPass/releases). @@ -35,7 +35,7 @@ After that you can build and run in Xcode. If you run into signing issues take a ##System Requirement -The Minimum OS X Version for MacPass currently is 10.8 Mountain Lion. +The minimum OS X version required for MacPass is currently 10.8 Mountain Lion. Since 10.9 Mavericks is a free upgrade I have no plans to support 10.7 Lion. ##Status @@ -50,8 +50,8 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port, than can read database version 1 and 2 and write version 2 containers rather nicely. -It's in active development, open source. Alpha 5 is out and now includes the previously missing password generator. It fully supports all database features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port, that can read database version 1 and 2 and write version 2 containers rather nicely. +It's in active development and open source. Alpha 5 is out and now includes the previously missing password generator. It fully supports all database features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatiblity. Should be able to read and write database version 1 and 2. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all version 2 features are supported. It is unable to convert between database versions. From 95bb918b6fb2231def0875fbcb07ad0c7faa73fd Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 31 Jul 2014 13:08:28 +0200 Subject: [PATCH 042/778] Fixes possible issues with wrong initial capacities --- KeePassKit | 2 +- MacPass/MPAutotypeCommand.m | 2 +- MacPass/MPDocument+Autotype.m | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/KeePassKit b/KeePassKit index c5368d2d..22cd576d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit c5368d2d8b2f6bcdae5a6f9800842a25402c7546 +Subproject commit 22cd576d7cbec4ccd6e0cf07d9f10c3d242c988a diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 3bb2c8b9..16175496 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -96,7 +96,7 @@ if(![context isValid]) { return nil; } - NSUInteger reserverd = [context.normalizedCommand length] / 4; + NSUInteger reserverd = MAX(1,[context.normalizedCommand length] / 4); NSMutableArray *commands = [[NSMutableArray alloc] initWithCapacity:reserverd]; NSMutableArray __block *commandRanges = [[NSMutableArray alloc] initWithCapacity:reserverd]; NSRegularExpression *commandRegExp = [[NSRegularExpression alloc] initWithPattern:@"\\{[^\\}]+\\}" options:NSRegularExpressionCaseInsensitive error:0]; diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 2aa452a3..6d711986 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -35,7 +35,7 @@ return nil; } NSArray *autotypeEntries = [self.root autotypeableChildEntries]; - NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:ceil([autotypeEntries count] / 4.0)]; + NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; for(KPKEntry *entry in autotypeEntries) { /* Test for title */ NSRange titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; From cc24a0af2542a83c08a3e978fd6e04b99dd14114 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 3 Aug 2014 22:39:00 +0200 Subject: [PATCH 043/778] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e56baac..1f4e9124 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,8 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port, that can read database version 1 and 2 and write version 2 containers rather nicely. -It's in active development and open source. Alpha 5 is out and now includes the previously missing password generator. It fully supports all database features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. The stable 0.4.3 releas only support Version 1 formats. The Alpha can read database version 1 and 2 and write version 2 containers rather nicely. +It's in active development and open source. Since Alpha 4 the random password generator has found it's way back into the Alpha releases, version 0.4.3 includes one as well. The Alpha fully supports all database 2 features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatiblity. Should be able to read and write database version 1 and 2. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all version 2 features are supported. It is unable to convert between database versions. From 4180e00ab2a87610054fd48784b6739613b4d9c2 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 3 Aug 2014 22:49:16 +0200 Subject: [PATCH 044/778] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f4e9124..69ae3572 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. The stable 0.4.3 releas only support Version 1 formats. The Alpha can read database version 1 and 2 and write version 2 containers rather nicely. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. The stable 0.4.3 release only supports the version 1 format. The Alpha can read database version 1 and 2 and write version 2 containers rather nicely. It's in active development and open source. Since Alpha 4 the random password generator has found it's way back into the Alpha releases, version 0.4.3 includes one as well. The Alpha fully supports all database 2 features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatiblity. From 8a29a94f8f48ee6f314e47c8ec90c47d2de32359 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Mon, 4 Aug 2014 16:33:29 -0400 Subject: [PATCH 045/778] Make autotype work in more situations The entry title will first be searched for within the window title. If the window title does not contain the entry title, then the window title will be searched for within the entry title. --- MacPass/MPAutotypeDaemon.m | 2 +- MacPass/MPDocument+Autotype.m | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index b0a0839f..4c8bd0ac 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -27,7 +27,7 @@ NSString *const kMPWindowTitleKey = @"windowTitle"; NSString *const kMPApplciationNameKey = @"applicationName"; /* - Enabel to activate autotype + Enable to activate autotype #define MP_AUTOTYPE */ diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 6d711986..482f878c 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -37,8 +37,12 @@ NSArray *autotypeEntries = [self.root autotypeableChildEntries]; NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; for(KPKEntry *entry in autotypeEntries) { - /* Test for title */ - NSRange titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; + /* Test for entry title in window title */ + NSRange titleRange = [windowTitle rangeOfString:entry.title options:NSCaseInsensitiveSearch]; + /* Test for window title in entry title */ + if (titleRange.location == NSNotFound || titleRange.length == 0) { + titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; + } MPAutotypeContext *context; if(titleRange.location != NSNotFound && titleRange.length != 0) { context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; From 06ec61ea281a5eff58dcc3a884e67c7986f95a3c Mon Sep 17 00:00:00 2001 From: James Hurst Date: Mon, 4 Aug 2014 21:00:07 -0400 Subject: [PATCH 046/778] Added ability to set default password generation settings (issue #166) --- MacPass/Base.lproj/PasswordCreatorView.xib | 12 ++++++++++ MacPass/MPPasswordCreatorViewController.m | 28 ++++++++++++++++++---- MacPass/MPSettingsHelper.h | 4 ++++ MacPass/MPSettingsHelper.m | 11 ++++++++- 4 files changed, 50 insertions(+), 5 deletions(-) diff --git a/MacPass/Base.lproj/PasswordCreatorView.xib b/MacPass/Base.lproj/PasswordCreatorView.xib index 035406ef..91824d97 100644 --- a/MacPass/Base.lproj/PasswordCreatorView.xib +++ b/MacPass/Base.lproj/PasswordCreatorView.xib @@ -19,6 +19,7 @@ + @@ -233,6 +234,17 @@ + diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index a460536f..9a364656 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -49,6 +49,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { @property (weak) IBOutlet NSButton *numbersButton; @property (weak) IBOutlet NSButton *symbolsButton; @property (weak) IBOutlet NSButton *customButton; +@property (weak) IBOutlet NSButton *setDefaultButton; @property (weak) IBOutlet NSTextField *entropyTextField; @property (weak) IBOutlet NSLevelIndicator *entropyIndicator; @@ -65,19 +66,24 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { self = [super initWithNibName:@"PasswordCreatorView" bundle:nil]; if (self) { _password = @""; - _passwordLength = 12; - _characterFlags = MPPasswordCharactersAll; - _useCustomString = NO; - _customString = @""; + _passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; + _characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; + _useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; + _customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; _entropy = 0.0; } return self; } - (void)awakeFromNib { + [self.setDefaultButton setEnabled:NO]; + [self.passwordLengthSlider setMinValue:MIN_PASSWORD_LENGTH]; [self.passwordLengthSlider setMaxValue:MAX_PASSWORD_LENGTH]; [self.passwordLengthSlider setContinuous:YES]; + + [self.customCharactersTextField setStringValue:_customString]; + /* Value Transformer */ id formatter = [[MPUniqueCharactersFormatter alloc] init]; @@ -125,6 +131,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { } - (IBAction)_toggleCharacters:(id)sender { + [_setDefaultButton setEnabled:YES]; _characterFlags ^= [sender tag]; self.useCustomString = NO; [self reset]; @@ -142,6 +149,16 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { [[self _findCloseTarget] performClose:nil]; } +- (IBAction)_setDefault:(id)sender +{ + [[NSUserDefaults standardUserDefaults] setInteger:_passwordLength forKey:kMPSettingsKeyDefaultPasswordLength]; + [[NSUserDefaults standardUserDefaults] setInteger:_characterFlags forKey:kMPSettingsKeyPasswordCharacterFlags]; + [[NSUserDefaults standardUserDefaults] setBool:_useCustomString forKey:kMPSettingsKeyPasswordUseCustomString]; + [[NSUserDefaults standardUserDefaults] setObject:[_customCharactersTextField stringValue] forKey:kMPSettingsKeyPasswordCustomString]; + + [_setDefaultButton setEnabled:NO]; +} + #pragma mark - #pragma mark Custom Setter @@ -155,6 +172,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (void)setUseCustomString:(BOOL)useCustomString { if(_useCustomString != useCustomString) { + [_setDefaultButton setEnabled:YES]; _useCustomString = useCustomString; [self _resetCharacters]; } @@ -162,6 +180,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (void)setPasswordLength:(NSUInteger)passwordLength { if(_passwordLength != passwordLength) { + [_setDefaultButton setEnabled:YES]; _passwordLength = passwordLength; [self _generatePassword:nil]; } @@ -172,6 +191,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (void)controlTextDidChange:(NSNotification *)obj { if([obj object] == self.customCharactersTextField) { + [_setDefaultButton setEnabled:YES]; [self _generatePassword:nil]; } } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 2da111a3..d5c7e481 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -61,6 +61,10 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; /* Password Generation */ APPKIT_EXTERN NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard; APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordRounds; +APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordLength; +APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordCharacterFlags; +APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordUseCustomString; +APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordCustomString; typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { MPPasswordEncodingUTF8, diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 7bf0e44d..6228d8e7 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -7,6 +7,7 @@ // #import "MPSettingsHelper.h" +#import "NSString+MPPasswordCreation.h" NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; @@ -44,6 +45,10 @@ NSString *const kMPSettingsKeyEnableQuicklookPreview = @"Enable NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; +NSString *const kMPSettingsKeyDefaultPasswordLength = @"DefaultPasswordLength"; +NSString *const kMPSettingsKeyPasswordCharacterFlags = @"PasswordCharacterFlags"; +NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; +NSString *const kMPSettingsKeyPasswordCustomString = @"PasswordCustomString"; @implementation MPSettingsHelper @@ -84,7 +89,11 @@ NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDef kMPSettingsKeyEnableGlobalAutotype: @NO, kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, - kMPSettingsKeyDefaultPasswordRounds: @50000 + kMPSettingsKeyDefaultPasswordRounds: @50000, + kMPSettingsKeyDefaultPasswordLength: @12, + kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll), + kMPSettingsKeyPasswordUseCustomString: @NO, + kMPSettingsKeyPasswordCustomString: @"" }; } From 04a14931c6035ff3f78cfb641f0d47d8d6ffb89b Mon Sep 17 00:00:00 2001 From: James Hurst Date: Mon, 4 Aug 2014 21:07:00 -0400 Subject: [PATCH 047/778] Fixed bug with icon resetting to default after closing popover When closing the icon chooser by clicking outside the popover, the icon would get reset to the default icon instead of keeping the current icon. --- MacPass/MPIconSelectViewController.m | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index 0a281705..f803885d 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -26,7 +26,7 @@ NSInteger const kMPDefaultIcon = -1; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { - _didCancel = NO; + _didCancel = YES; } return self; } @@ -40,6 +40,7 @@ NSInteger const kMPDefaultIcon = -1; } - (IBAction)useDefault:(id)sender { + self.didCancel = NO; self.selectedIcon = kMPDefaultIcon; [self.popover performClose:self]; } @@ -50,11 +51,12 @@ NSInteger const kMPDefaultIcon = -1; } - (void)reset { - self.didCancel = NO; + self.didCancel = YES; self.selectedIcon = kMPDefaultIcon; } - (IBAction)_selectImage:(id)sender { + self.didCancel = NO; NSButton *button = sender; NSImage *image = [button image]; NSUInteger buttonIndex = [[self.iconCollectionView content] indexOfObject:image]; From 6f5c3667f64eb40f5478013882117cc627177732 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Tue, 5 Aug 2014 20:18:32 +0200 Subject: [PATCH 048/778] German translation updated --- .../de.lproj/DatabaseSettingsWindow.strings | 52 +++++++++---------- MacPass/de.lproj/PasswordEditWindow.strings | 20 +++---- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/MacPass/de.lproj/DatabaseSettingsWindow.strings b/MacPass/de.lproj/DatabaseSettingsWindow.strings index 5d13e741..5daabf24 100644 --- a/MacPass/de.lproj/DatabaseSettingsWindow.strings +++ b/MacPass/de.lproj/DatabaseSettingsWindow.strings @@ -1,96 +1,96 @@ /* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ -"1.title" = "Window"; +"1.title" = "Fenster"; /* Class = "NSTextFieldCell"; title = "Database name:"; ObjectID = "190"; */ -"190.title" = "Database name:"; +"190.title" = "Datenbank:"; /* Class = "NSTextFieldCell"; title = "Description:"; ObjectID = "257"; */ -"257.title" = "Description:"; +"257.title" = "Beschreibung:"; /* Class = "NSButtonCell"; title = "OK"; ObjectID = "289"; */ "289.title" = "OK"; /* Class = "NSTabViewItem"; label = "General"; ObjectID = "358"; */ -"358.label" = "General"; +"358.label" = "Allgemein"; /* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "368"; */ -"368.label" = "Advanced"; +"368.label" = "Erweitert"; /* Class = "NSTabViewItem"; label = "Security"; ObjectID = "370"; */ -"370.label" = "Security"; +"370.label" = "Sicherheit"; /* Class = "NSButtonCell"; title = "Protect Title"; ObjectID = "464"; */ -"464.title" = "Protect Title"; +"464.title" = "Titel schützen"; /* Class = "NSButtonCell"; title = "Protect Username"; ObjectID = "477"; */ -"477.title" = "Protect Username"; +"477.title" = "Benutzername schützen"; /* Class = "NSButtonCell"; title = "Protect Password"; ObjectID = "505"; */ -"505.title" = "Protect Password"; +"505.title" = "Passwort schützen"; /* Class = "NSButtonCell"; title = "Protect URL"; ObjectID = "510"; */ -"510.title" = "Protect URL"; +"510.title" = "Link schützen"; /* Class = "NSButtonCell"; title = "Protect Notes"; ObjectID = "514"; */ -"514.title" = "Protect Notes"; +"514.title" = "Notizen schützen"; /* Class = "NSButtonCell"; title = "Enable Entry History"; ObjectID = "532"; */ -"532.title" = "Enable Entry History"; +"532.title" = "Eintragsversionen aktivieren"; /* Class = "NSButtonCell"; title = "Enable Recycle Bin"; ObjectID = "536"; */ -"536.title" = "Enable Recycle Bin"; +"536.title" = "Papierkorb aktivieren"; /* Class = "NSButtonCell"; title = "Empty Recycle Bin on Quit"; ObjectID = "540"; */ -"540.title" = "Empty Recycle Bin on Quit"; +"540.title" = "Papierkorb beim Beenden leeren"; /* Class = "NSTextFieldCell"; title = "Maxium Items:"; ObjectID = "558"; */ -"558.title" = "Maxium Items:"; +"558.title" = "Maximale Einträge:"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "680"; */ "680.title" = "OtherViews"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "957"; */ -"957.title" = "Cancel"; +"957.title" = "Abbrechen"; /* Class = "NSTextFieldCell"; title = "Maxium Size:"; ObjectID = "1269"; */ -"1269.title" = "Maxium Size:"; +"1269.title" = "Maximale Größe:"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1396"; */ "1396.title" = "OtherViews"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "1397"; */ -"1397.title" = "None"; +"1397.title" = "Keine"; /* Class = "NSMenuItem"; title = "GZip"; ObjectID = "1398"; */ "1398.title" = "GZip"; /* Class = "NSTextFieldCell"; title = "Compression:"; ObjectID = "1405"; */ -"1405.title" = "Compression:"; +"1405.title" = "Komprimierung:"; /* Class = "NSTextFieldCell"; title = "Color:"; ObjectID = "1435"; */ -"1435.title" = "Color:"; +"1435.title" = "Farbe:"; /* Class = "NSTextFieldCell"; title = "Template Group:"; ObjectID = "1588"; */ -"1588.title" = "Template Group:"; +"1588.title" = "Vorgabegruppe:"; /* Class = "NSTextFieldCell"; title = "Default Username:"; ObjectID = "1591"; */ -"1591.title" = "Default Username:"; +"1591.title" = "Vorgabebenutzername:"; /* Class = "NSTextFieldCell"; title = "Key encryption rounds:"; ObjectID = "1644"; */ -"1644.title" = "Key encryption rounds:"; +"1644.title" = "Verschlüsselungsrunden:"; /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1740"; */ "1740.title" = "OtherViews"; /* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "1741"; */ -"1741.title" = "Item 1"; +"1741.title" = "Eintrag 1"; /* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "1742"; */ -"1742.title" = "Item 2"; +"1742.title" = "Eintrag 2"; /* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "1743"; */ -"1743.title" = "Item 3"; +"1743.title" = "Eintrag 3"; /* Class = "NSButtonCell"; title = "Benchmark"; ObjectID = "1775"; */ "1775.title" = "Benchmark"; diff --git a/MacPass/de.lproj/PasswordEditWindow.strings b/MacPass/de.lproj/PasswordEditWindow.strings index 17b9aeda..235eb499 100644 --- a/MacPass/de.lproj/PasswordEditWindow.strings +++ b/MacPass/de.lproj/PasswordEditWindow.strings @@ -1,30 +1,30 @@ /* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ -"1.title" = "Window"; +"1.title" = "Fenster"; /* Class = "NSTextFieldCell"; title = "Missmatching Passwords"; ObjectID = "14"; */ -"14.title" = "Missmatching Passwords"; +"14.title" = "Passwörter stimmen nicht überein"; /* Class = "NSSecureTextFieldCell"; placeholderString = "Repeat Password"; ObjectID = "15"; */ -"15.placeholderString" = "Repeat Password"; +"15.placeholderString" = "Passwort wiederholen"; /* Class = "NSTextFieldCell"; title = "Repeat:"; ObjectID = "16"; */ -"16.title" = "Repeat:"; +"16.title" = "Wiederholen:"; /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "18"; */ -"18.placeholderString" = "Enter Password"; +"18.placeholderString" = "Passwort eingeben"; /* Class = "NSButtonCell"; title = "Generate Keyfile"; ObjectID = "21"; */ -"21.title" = "Generate Keyfile"; +"21.title" = "Passwortdatei erstellen"; /* Class = "NSTextFieldCell"; title = "Keyfile:"; ObjectID = "22"; */ -"22.title" = "Keyfile:"; +"22.title" = "Passwortdatei:"; /* Class = "NSButtonCell"; title = "Change Password"; ObjectID = "69"; */ -"69.title" = "Change Password"; +"69.title" = "Passwort ändern"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "73"; */ -"73.title" = "Cancel"; +"73.title" = "Abbrechen"; /* Class = "NSButtonCell"; title = "Password:"; ObjectID = "OQz-DA-SoY"; */ -"OQz-DA-SoY.title" = "Password:"; +"OQz-DA-SoY.title" = "Passwort:"; From 6b597484dba7d56a3ed88b829f02a24280831101 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Tue, 5 Aug 2014 20:45:28 +0200 Subject: [PATCH 049/778] Updated German translation --- MacPass/de.lproj/DatePickingView.strings | 4 ++-- MacPass/de.lproj/Localizable.strings | Bin 9940 -> 9958 bytes MacPass/de.lproj/MainMenu.strings | 24 +++++++++---------- MacPass/de.lproj/PasswordCreatorView.strings | 16 ++++++------- MacPass/de.lproj/UpdateSettings.strings | 12 +++++----- MacPass/de.lproj/WorkflowSettings.strings | 18 +++++++------- 6 files changed, 37 insertions(+), 37 deletions(-) diff --git a/MacPass/de.lproj/DatePickingView.strings b/MacPass/de.lproj/DatePickingView.strings index 04bc932e..4a248480 100644 --- a/MacPass/de.lproj/DatePickingView.strings +++ b/MacPass/de.lproj/DatePickingView.strings @@ -3,7 +3,7 @@ "17.title" = "OtherViews"; /* Class = "NSButtonCell"; title = "Use Date"; ObjectID = "26"; */ -"26.title" = "Use Date"; +"26.title" = "Datum verwenden"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "30"; */ -"30.title" = "Cancel"; +"30.title" = "Abbrechen"; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 3789a410bea733bafebb6d9bffdc0b5f40afbfe2..624f92addc356fc6383e33d1dcbd204e192a67b3 100644 GIT binary patch delta 117 zcmccO`^ Date: Tue, 5 Aug 2014 20:46:42 -0400 Subject: [PATCH 050/778] Improved "Add Entry" workflow (issue #156) - New entry is automatically scrolled to and selected - Title textfield is automatically focused - Pre-generate a password using the deault password creation settings --- MacPass/MPDocument.h | 1 + MacPass/MPDocument.m | 2 ++ MacPass/MPEntryInspectorViewController.h | 1 + MacPass/MPEntryInspectorViewController.m | 37 ++++++++++++++++++++++++ MacPass/MPEntryViewController.m | 13 ++++++++- MacPass/MPInspectorViewController.m | 3 ++ 6 files changed, 56 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 19d4a44a..e96731ae 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -30,6 +30,7 @@ APPKIT_EXTERN NSString *const MPDocumentDidLockDatabaseNotification; APPKIT_EXTERN NSString *const MPDocumentDidUnlockDatabaseNotification; FOUNDATION_EXTERN NSString *const MPDocumentCurrentItemChangedNotification; +FOUNDATION_EXTERN NSString *const MPDocumentItemAddedNotification; APPKIT_EXTERN NSString *const MPDocumentEntryKey; APPKIT_EXTERN NSString *const MPDocumentGroupKey; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 87b57ae3..dc8bc9c5 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -52,6 +52,7 @@ NSString *const MPDocumentDidLockDatabaseNotification = @"com.hicknhack.macp NSString *const MPDocumentDidUnlockDatabaseNotification = @"com.hicknhack.macpass.MPDocumentDidUnlockDatabaseNotification"; NSString *const MPDocumentCurrentItemChangedNotification = @"com.hicknhack.macpass.MPDocumentCurrentItemChangedNotification"; +NSString *const MPDocumentItemAddedNotification = @"com.hicknhack.macpass.MPDocumentItemAddedNotification"; NSString *const MPDocumentEntryKey = @"MPDocumentEntryKey"; NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey"; @@ -444,6 +445,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } [parent addEntry:newEntry]; [parent.undoManager setActionName:NSLocalizedString(@"ADD_ENTRY", "")]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentItemAddedNotification object:self]; return newEntry; } diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 64282979..1485b446 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -48,6 +48,7 @@ @property (weak) IBOutlet NSTextField *associationSequenceTextField; - (void)setupBindings:(MPDocument *)document; +- (void)regsiterNotificationsForDocument:(MPDocument *)document; - (IBAction)saveAttachment:(id)sender; - (IBAction)addAttachment:(id)sender; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index eb6e12c2..58655e02 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -13,6 +13,8 @@ #import "MPAttachmentTableDataSource.h" #import "MPWindowAssociationsTableViewDelegate.h" +#import "NSString+MPPasswordCreation.h" + #import "MPDocument.h" #import "MPIconHelper.h" #import "MPValueTransformerHelper.h" @@ -119,6 +121,17 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } } +- (void)regsiterNotificationsForDocument:(MPDocument *)document { + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didAddItem:) + name:MPDocumentItemAddedNotification + object:document]; +} + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + #pragma mark - #pragma mark Actions @@ -418,4 +431,28 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } +#pragma mark - +#pragma mark MPDocument Notifications + +- (void)_didAddItem:(NSNotification *)notification { + [self.tabView selectTabViewItemAtIndex:MPEntryTabGeneral]; + + /* generate and pre-fill password using default password creation settings */ + NSUInteger passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; + MPPasswordCharacterFlags characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; + BOOL useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; + NSString *customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; + + if(useCustomString) { + if([customString length] > 0) { + [self.passwordTextField setStringValue:[customString passwordWithLength:passwordLength]]; + } + } + else { + [self.passwordTextField setStringValue:[NSString passwordWithCharactersets:characterFlags length:passwordLength]]; + } + + [self.titleTextField becomeFirstResponder]; +} + @end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index bc2e6be2..d4a7b526 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -206,6 +206,11 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; name:MPDocumentCurrentItemChangedNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didAddItem:) + name:MPDocumentItemAddedNotification + object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterSearch:) name:MPDocumentDidEnterSearchNotification @@ -221,7 +226,6 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; name:MPDocumentDidChangeSearchResults object:document]; - [self.contextBarViewController registerNotificationsForDocument:document]; /* Setup warning message at the bottom*/ @@ -371,6 +375,13 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; } } +- (void)_didAddItem:(NSNotification *)notification { + MPDocument *document = [[self windowController] document]; + NSInteger row = document.selectedGroup.entries.count - 1; + [self.entryTable scrollRowToVisible:row]; + [self.entryTable selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; +} + - (void)_didUpdateSearchResults:(NSNotification *)notification { [self _showContextBar]; NSArray *result = [notification userInfo][kMPDocumentSearchResultsKey]; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index f94ffc4c..b16987b9 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -113,6 +113,9 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { selector:@selector(_didChangeCurrentItem:) name:MPDocumentCurrentItemChangedNotification object:document]; + + [self.entryViewController regsiterNotificationsForDocument:document]; + [self.entryViewController setupBindings:document]; [self.groupViewController setupBindings:document]; } From 6c9946a1b162f11220c19def9329434a03a68d80 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Wed, 6 Aug 2014 07:40:03 -0400 Subject: [PATCH 051/778] Select correct row for new entry regardless of sort order --- MacPass/MPEntryViewController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index d4a7b526..6de43848 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -377,7 +377,8 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; - (void)_didAddItem:(NSNotification *)notification { MPDocument *document = [[self windowController] document]; - NSInteger row = document.selectedGroup.entries.count - 1; + KPKEntry *entry = document.selectedGroup.entries.lastObject; + NSUInteger row = [self.entryArrayController.arrangedObjects indexOfObject:entry]; [self.entryTable scrollRowToVisible:row]; [self.entryTable selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; } From e3864634c7cdd00d828840dde661a73a96c0a410 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Thu, 7 Aug 2014 22:33:24 -0400 Subject: [PATCH 052/778] xyz was missing from list of password generation characters --- MacPass/NSString+MPPasswordCreation.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 59abb443..cf9d9d66 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -9,7 +9,7 @@ #import "NSString+MPPasswordCreation.h" #import "NSData+Random.h" -NSString *const kMPLowercaseLetterCharacters = @"abcdefghijklmnopqrstuvw"; +NSString *const kMPLowercaseLetterCharacters = @"abcdefghijklmnopqrstuvwxyz"; NSString *const kMPNumberCharacters = @"1234567890"; NSString *const kMPSymbolCharacters = @"!$%&\\|/<>(){}[]=?*'+#-_.:,;"; From 55d56956764159f763f01b88c36429905d7b2f84 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 8 Aug 2014 18:34:38 +0200 Subject: [PATCH 053/778] Hotkey is stored in defaults --- MacPass/DDHotKey+Keydata.h | 2 +- MacPass/DDHotKey+Keydata.m | 27 ++++++++++++++++++---- MacPass/MPAutotypeDaemon.h | 3 ++- MacPass/MPAutotypeDaemon.m | 46 ++++++++++++++++++++++++++++++-------- MacPass/MPSettingsHelper.h | 2 +- MacPass/MPSettingsHelper.m | 2 +- 6 files changed, 65 insertions(+), 17 deletions(-) diff --git a/MacPass/DDHotKey+Keydata.h b/MacPass/DDHotKey+Keydata.h index a5510a7d..f2c707ad 100644 --- a/MacPass/DDHotKey+Keydata.h +++ b/MacPass/DDHotKey+Keydata.h @@ -11,6 +11,6 @@ @interface DDHotKey (Keydata) - (NSData *)keyData; +- (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task; - (instancetype)initWithKeyData:(NSData *)data; - @end diff --git a/MacPass/DDHotKey+Keydata.m b/MacPass/DDHotKey+Keydata.m index db9497b5..e45c9991 100644 --- a/MacPass/DDHotKey+Keydata.m +++ b/MacPass/DDHotKey+Keydata.m @@ -11,10 +11,19 @@ @implementation DDHotKey (Keydata) - (instancetype)initWithKeyData:(NSData *)data { - NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; - unsigned short keyCode = [unarchiver decodeIntForKey:NSStringFromSelector(@selector(keyCode))]; - NSUInteger modiferFlags = [unarchiver decodeIntegerForKey:NSStringFromSelector(@selector(modifierFlags))]; - self = [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modiferFlags task:nil]; + self = [self initWithKeyData:data taks:nil]; + return self; +} + +- (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task{ + NSUInteger modifierFlags; + unsigned short keyCode; + if([self _getKeyCode:&keyCode modifierFlags:&modifierFlags fromData:data]) { + self = [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modifierFlags task:task]; + } + else { + self = nil; + } return self; } @@ -27,4 +36,14 @@ return [data copy]; } + +- (BOOL)_getKeyCode:(unsigned short *)keyCode modifierFlags:(NSUInteger *)modifierFlags fromData:(NSData *)data { + if(keyCode == NULL || modifierFlags == NULL || data == nil) { + return NO; + } + NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; + *keyCode = [unarchiver decodeIntForKey:NSStringFromSelector(@selector(keyCode))]; + *modifierFlags = [unarchiver decodeIntegerForKey:NSStringFromSelector(@selector(modifierFlags))]; + return YES; +} @end diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index 8db6ed04..afa33d79 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -8,7 +8,7 @@ #import -@class KPKEntry; +@class DDHotKey; /** * The autotype daemon is repsonsible for registering the globa hotkey and to perform any autotype actions @@ -17,6 +17,7 @@ @property (strong) IBOutlet NSWindow *matchSelectionWindow; @property (weak) IBOutlet NSPopUpButton *matchSelectionButton; +@property (readonly, strong) DDHotKey *registredHotKey; - (IBAction)executeAutotypeWithSelectedMatch:(id)sender; - (IBAction)cancelAutotypeSelection:(id)sender; diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 4c8bd0ac..616da205 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -21,6 +21,7 @@ #import "KPKEntry.h" #import "DDHotKeyCenter.h" +#import "DDHotKey+Keydata.h" #import NSString *const kMPWindowTitleKey = @"windowTitle"; @@ -28,12 +29,14 @@ NSString *const kMPApplciationNameKey = @"applicationName"; /* Enable to activate autotype + */ #define MP_AUTOTYPE -*/ @interface MPAutotypeDaemon () @property (nonatomic, assign) BOOL enabled; +@property (nonatomic, copy) NSData *hotKeyData; +@property (strong) DDHotKey *registredHotKey; @property (copy) NSString *targetApplicationName; @property (copy) NSString *targetWindowTitle; @@ -52,12 +55,18 @@ NSString *const kMPApplciationNameKey = @"applicationName"; toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype] options:nil]; + + [self bind:NSStringFromSelector(@selector(hotKeyData)) + toObject:[NSUserDefaultsController sharedUserDefaultsController] + withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey] + options:nil]; } return self; } - (void)dealloc { [self unbind:NSStringFromSelector(@selector(enabled))]; + [self unbind:NSStringFromSelector(@selector(hotKeyData))]; } #pragma mark - @@ -72,6 +81,21 @@ NSString *const kMPApplciationNameKey = @"applicationName"; } } +- (void)setHotKeyData:(NSData *)hotKeyData { + if(![_hotKeyData isEqualToData:hotKeyData]) { +#ifdef MP_AUTOTYPE + [self _unregisterHotKey]; +#endif + _hotKeyData = [hotKeyData copy]; +#ifdef MP_AUTOTYPE + if(self.enabled) { + [self _registerHotKey]; + } +#endif + } +} + + #pragma mark - #pragma mark Actions @@ -100,12 +124,12 @@ NSString *const kMPApplciationNameKey = @"applicationName"; if(useCurrentWindowAndApplication) { [self _updateTargetApplicationAndWindow]; } - + MPDocument *document = [self _findAutotypeDocument]; if(!document) { return; // nothing to do } - + MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle]; [self _performAutotypeForContext:context]; } @@ -167,15 +191,19 @@ NSString *const kMPApplciationNameKey = @"applicationName"; #pragma mark Hotkey Registration - (void)_registerHotKey { - [[DDHotKeyCenter sharedHotKeyCenter] registerHotKeyWithKeyCode:kVK_ANSI_M - modifierFlags:(NSCommandKeyMask | NSAlternateKeyMask ) - target:self - action:@selector(_didPressHotKey) - object:nil]; + if(nil == self.hotKeyData) { + return; // No hotkey data defined, so nothign to do + } + __weak MPAutotypeDaemon *welf = self; + DDHotKey *storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData taks:^(NSEvent *event) { + [welf _didPressHotKey]; + }]; + self.registredHotKey = [[DDHotKeyCenter sharedHotKeyCenter] registerHotKey:storedHotkey]; } - (void)_unregisterHotKey { - [[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKeysWithTarget:self action:@selector(_didPressHotKey)]; + [[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKey:self.registredHotKey]; + self.registredHotKey = nil; } - (NSDictionary *)_frontMostApplicationInfoDict { diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index d5c7e481..6c650029 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -49,7 +49,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; /* Autotype */ APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; -APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyKey; +APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; /* Search */ diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 6228d8e7..0e4a48be 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -35,7 +35,7 @@ NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"Rememb NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; -NSString *const kMPSettingsKeyGlobalAutotypeKeyKey = @"GlobalAutotypeKey"; +NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; From 8e689c26f87fcd790f2b738635b2ecda2726a523 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Fri, 8 Aug 2014 22:09:59 -0400 Subject: [PATCH 054/778] Wait 0.1s between the keydown and keyup event I observed an issue where when autotyping into the Steam client the tab key wouldn't register. Adding a 0.1s delay between the keydown and keyup events seems to gives the application enough time to register the key press. --- MacPass/MPAutotypeCommand.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 16175496..58632833 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -196,6 +196,7 @@ /* Send the event */ CGEventPost(kCGSessionEventTap, pressKey); + usleep(100000); CGEventPost(kCGSessionEventTap, releaseKey); CFRelease(pressKey); From 4802b7ddf6e7d2f04d55624154a5f0b371981df3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 10 Aug 2014 19:11:17 +0200 Subject: [PATCH 055/778] Updated KeePassKit to find window assiciations on autotype --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 22cd576d..24e7caed 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 22cd576d7cbec4ccd6e0cf07d9f10c3d242c988a +Subproject commit 24e7caedbf96dcebeca1f19279b527bf03b672b1 From b2adf2b78e4d0eab040547bdecf0a214741e118e Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 10 Aug 2014 19:11:43 +0200 Subject: [PATCH 056/778] Added AutotypeHelper to encasulate format checks --- MacPass.xcodeproj/project.pbxproj | 6 ++++ MacPass/MPAutotypeHelper.h | 23 +++++++++++++++ MacPass/MPAutotypeHelper.m | 35 +++++++++++++++++++++++ MacPass/MPIntegrationSettingsController.m | 4 +++ MacPass/MPSettingsHelper.h | 8 +++--- 5 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 MacPass/MPAutotypeHelper.h create mode 100644 MacPass/MPAutotypeHelper.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 8b73c84c..70cccf18 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -233,6 +233,7 @@ 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; 4CAF62FC1763604000CD7084 /* HNHBadgedTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */; }; 4CB4AA0D17C2274200454CAD /* KeePass1_native_test.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */; }; + 4CB4ED891997DA1800582DBB /* MPAutotypeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */; }; 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; }; 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; }; 4CBA561617C2EA4900CE13D3 /* KPKTestXmlWriting.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */; }; @@ -781,6 +782,8 @@ 4CAF62FA1763604000CD7084 /* HNHBadgedTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHBadgedTextFieldCell.h; sourceTree = ""; }; 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHBadgedTextFieldCell.m; sourceTree = ""; }; 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = KeePass1_native_test.kdb; path = Databases/KeePass1_native_test.kdb; sourceTree = ""; }; + 4CB4ED871997DA1800582DBB /* MPAutotypeHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeHelper.h; sourceTree = ""; }; + 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeHelper.m; sourceTree = ""; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; 4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = ""; }; @@ -1597,6 +1600,8 @@ 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */, 4CA3530918A53CB800839B0F /* MPKeyMapper.h */, 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */, + 4CB4ED871997DA1800582DBB /* MPAutotypeHelper.h */, + 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */, ); name = Autotype; sourceTree = ""; @@ -2394,6 +2399,7 @@ 4CE298EB1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m in Sources */, 4CC0D2CE17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m in Sources */, 4CF5CF7418B7C81600B0C026 /* NSWindow+Shake.m in Sources */, + 4CB4ED891997DA1800582DBB /* MPAutotypeHelper.m in Sources */, 4CC0D2D117974A5A000B4BDA /* MPAttachmentTableViewDelegate.m in Sources */, 4C67D33017981A2B00A7BDFC /* HNHTokenField.m in Sources */, 4C67D33317981ABA00A7BDFC /* HNHTokenFieldCell.m in Sources */, diff --git a/MacPass/MPAutotypeHelper.h b/MacPass/MPAutotypeHelper.h new file mode 100644 index 00000000..540266fa --- /dev/null +++ b/MacPass/MPAutotypeHelper.h @@ -0,0 +1,23 @@ +// +// MPAutotypeHelper.h +// MacPass +// +// Created by Michael Starke on 10/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPAutotypeHelper : NSObject + +/** + * Tests the given item for a possible wrong autotype format + * MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files + * + * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype + * + * @return YES if the given item is considered a possible candiate. NO in all other cases + */ ++ (BOOL)isCandidateForMalformedAutotype:(id)item; + +@end diff --git a/MacPass/MPAutotypeHelper.m b/MacPass/MPAutotypeHelper.m new file mode 100644 index 00000000..e5dcb53f --- /dev/null +++ b/MacPass/MPAutotypeHelper.m @@ -0,0 +1,35 @@ +// +// MPAutotypeHelper.m +// MacPass +// +// Created by Michael Starke on 10/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeHelper.h" + +#import "KPKGroup.h" +#import "KPKEntry.h" + +#import "KPKAutotype.h" +#import "KPKWindowAssociation.h" + +@implementation MPAutotypeHelper + ++ (BOOL)isCandidateForMalformedAutotype:(id)item { + + NSString *keystrokeSequence; + if([item isKindOfClass:[KPKEntry class]] && ![((KPKEntry *)item).autotype hasDefaultKeystrokeSequence]) { + keystrokeSequence = ((KPKEntry *)item).autotype.defaultKeystrokeSequence; + } + else if( [item isKindOfClass:[KPKGroup class]] && ![item hasDefaultAutotypeSequence]) { + keystrokeSequence = ((KPKGroup *)item).defaultAutoTypeSequence; + } + else if( [item isKindOfClass:[KPKWindowAssociation class]] && ![item hasDefaultKeystrokeSequence]){ + keystrokeSequence = ((KPKWindowAssociation *)item).keystrokeSequence; + } + /* if nothing is true, keystrokeSequence is nil an hence return is NO */ + return (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); +} + +@end diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 974782bb..07d5e006 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -12,6 +12,8 @@ @interface MPIntegrationSettingsController () +@property (copy) NSData *globalAutotypeKeyData; + @end @implementation MPIntegrationSettingsController @@ -38,10 +40,12 @@ NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; NSString *globalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; NSString *quicklookKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableQuicklookPreview]; + NSString *globalAutotypeDataKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]; [self.enableServerCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:serverKeyPath options:nil]; [self.enableServerCheckbutton setEnabled:NO]; [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; + [self.globalAutotypeKeyData bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeDataKeyPath options:nil]; } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 6c650029..0c68db09 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -47,10 +47,10 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; /* Autotype */ -APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; -APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; -APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; -APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; +APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment +APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? +APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key +APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; // /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; From 199b6bbcd2aae75f211e968293c5a6de5f2f5f93 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 10 Aug 2014 20:25:59 +0200 Subject: [PATCH 057/778] Added additinal URL placehodlers. Moved breadcrum to KPKGroup --- KeePassKit | 2 +- MacPass/MPFixAutotypeWindowController.m | 14 +------------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/KeePassKit b/KeePassKit index 24e7caed..4aaf8d26 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 24e7caedbf96dcebeca1f19279b527bf03b672b1 +Subproject commit 4aaf8d2642cbd681102a00463df9712fe8200934 diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index e02ef8f7..4c66903a 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -21,18 +21,6 @@ NSString *const kMPTitleCell = @"TitleCell"; NSString *const kMPIsDefaultCell = @"IsDefaultCell"; NSString *const kMPIconCell = @"IconCell"; -/* Helper Categries */ - -@implementation KPKGroup (MPFixAutotypeWindowControllerBreadCrumb) - -- (NSString *)breadcrumb { - if(self.parent) { - return [[self.parent breadcrumb] stringByAppendingFormat:@" > %@", self.name]; - } - return self.name; -} - -@end @implementation KPKWindowAssociation (MPFixAutotypeWindowControllerQualifedName) @@ -133,7 +121,7 @@ NSString *const kMPIconCell = @"IconCell"; return entry.title; } if(group) { - return [group breadcrumb]; + return [group breadcrumbWithSeparator:@" > "]; } return [association qualifedName]; } From be0ae27455b5164db9917f4eb882105bb55b1e8e Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 10:11:03 +0200 Subject: [PATCH 058/778] Fixed issue #156 introduced with #210 --- MacPass/MPDocument.m | 5 +++++ MacPass/MPEntryInspectorViewController.m | 16 ---------------- MacPass/NSString+MPPasswordCreation.h | 2 ++ MacPass/NSString+MPPasswordCreation.m | 16 +++++++++++++++- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index dc8bc9c5..e67bda36 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -44,6 +44,7 @@ #import "KPKAttribute.h" #import "NSError+Messages.h" +#import "NSString+MPPasswordCreation.h" NSString *const MPDocumentDidAddGroupNotification = @"com.hicknhack.macpass.MPDocumentDidAddGroupNotification"; NSString *const MPDocumentDidRevertNotifiation = @"com.hicknhack.macpass.MPDocumentDidRevertNotifiation"; @@ -443,6 +444,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if([self.tree.metaData.defaultUserName length] > 0) { newEntry.username = self.tree.metaData.defaultUserName; } + NSString *defaultPassword = [NSString passwordWithDefaultSettings]; + if(defaultPassword) { + newEntry.password = defaultPassword; + } [parent addEntry:newEntry]; [parent.undoManager setActionName:NSLocalizedString(@"ADD_ENTRY", "")]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentItemAddedNotification object:self]; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 58655e02..3568a944 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -436,22 +436,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_didAddItem:(NSNotification *)notification { [self.tabView selectTabViewItemAtIndex:MPEntryTabGeneral]; - - /* generate and pre-fill password using default password creation settings */ - NSUInteger passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; - MPPasswordCharacterFlags characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; - BOOL useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; - NSString *customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; - - if(useCustomString) { - if([customString length] > 0) { - [self.passwordTextField setStringValue:[customString passwordWithLength:passwordLength]]; - } - } - else { - [self.passwordTextField setStringValue:[NSString passwordWithCharactersets:characterFlags length:passwordLength]]; - } - [self.titleTextField becomeFirstResponder]; } diff --git a/MacPass/NSString+MPPasswordCreation.h b/MacPass/NSString+MPPasswordCreation.h index 402df9ed..1e40094b 100644 --- a/MacPass/NSString+MPPasswordCreation.h +++ b/MacPass/NSString+MPPasswordCreation.h @@ -36,6 +36,8 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { * @return Password consisint only of allowed characters */ + (NSString *)passwordFromString:(NSString *)source length:(NSUInteger)length; + ++ (NSString *)passwordWithDefaultSettings; /** * * Creates a random password with only the characters of the receiver diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index cf9d9d66..06b42739 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -9,6 +9,8 @@ #import "NSString+MPPasswordCreation.h" #import "NSData+Random.h" +#import "MPSettingsHelper.h" + NSString *const kMPLowercaseLetterCharacters = @"abcdefghijklmnopqrstuvwxyz"; NSString *const kMPNumberCharacters = @"1234567890"; NSString *const kMPSymbolCharacters = @"!$%&\\|/<>(){}[]=?*'+#-_.:,;"; @@ -49,6 +51,19 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { return password; } ++ (NSString *)passwordWithDefaultSettings { + /* generate and pre-fill password using default password creation settings */ + NSUInteger passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; + MPPasswordCharacterFlags characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; + BOOL useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; + NSString *customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; + + if(useCustomString && [customString length] > 0) { + return [customString passwordWithLength:passwordLength]; + } + return [NSString passwordWithCharactersets:characterFlags length:passwordLength]; +} + - (NSString *)passwordWithLength:(NSUInteger)length { return [NSString passwordFromString:self length:length]; } @@ -69,5 +84,4 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { CGFloat passwordLegnth = [self length]; return passwordLegnth * ( log10(alphabetCount) / log10(2) ); } - @end From 113c620ead197b727157e6951c4f47b7759236cc Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 12:24:52 +0200 Subject: [PATCH 059/778] Hotkey now gets registers with default values if no user data is present --- MacPass/MPAutotypeDaemon.m | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 616da205..c94fe56d 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -191,19 +191,25 @@ NSString *const kMPApplciationNameKey = @"applicationName"; #pragma mark Hotkey Registration - (void)_registerHotKey { - if(nil == self.hotKeyData) { - return; // No hotkey data defined, so nothign to do - } __weak MPAutotypeDaemon *welf = self; - DDHotKey *storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData taks:^(NSEvent *event) { + DDHotKeyTask aTask = ^(NSEvent *event) { [welf _didPressHotKey]; - }]; + }; + DDHotKey *storedHotkey; + if(nil == self.hotKeyData) { + storedHotkey = [DDHotKey hotKeyWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate task:aTask]; + } + else { + storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData taks:aTask]; + } self.registredHotKey = [[DDHotKeyCenter sharedHotKeyCenter] registerHotKey:storedHotkey]; } - (void)_unregisterHotKey { - [[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKey:self.registredHotKey]; - self.registredHotKey = nil; + if(nil != self.registredHotKey) { + [[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKey:self.registredHotKey]; + self.registredHotKey = nil; + } } - (NSDictionary *)_frontMostApplicationInfoDict { From 2371793da41614ff85e9e31219aa455bd835ec77 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 15:46:32 +0200 Subject: [PATCH 060/778] Autotype fix dialog now only shows candiates. --- MacPass/Base.lproj/GroupInspectorView.xib | 5 +- MacPass/MPAutotypeHelper.h | 12 +--- MacPass/MPAutotypeHelper.m | 19 ++--- MacPass/MPDocument+Autotype.h | 25 +++++++ MacPass/MPDocument+Autotype.m | 42 +++++++++++ MacPass/MPDocument.h | 1 + MacPass/MPDocument.m | 4 ++ MacPass/MPEntryViewController.m | 38 +++++----- MacPass/MPFixAutotypeWindowController.m | 17 +++-- MacPass/MPGroupInspectorViewController.h | 1 + MacPass/MPGroupInspectorViewController.m | 20 +++--- MacPass/MPSettingsHelper.h | 14 ++-- MacPass/MPSettingsHelper.m | 85 ++++++++++++++--------- 13 files changed, 178 insertions(+), 105 deletions(-) diff --git a/MacPass/Base.lproj/GroupInspectorView.xib b/MacPass/Base.lproj/GroupInspectorView.xib index fc2e90df..bfb220eb 100644 --- a/MacPass/Base.lproj/GroupInspectorView.xib +++ b/MacPass/Base.lproj/GroupInspectorView.xib @@ -1,13 +1,14 @@ - + - + + diff --git a/MacPass/MPAutotypeHelper.h b/MacPass/MPAutotypeHelper.h index 540266fa..5d73acd4 100644 --- a/MacPass/MPAutotypeHelper.h +++ b/MacPass/MPAutotypeHelper.h @@ -8,16 +8,10 @@ #import +@class MPDocument; + @interface MPAutotypeHelper : NSObject -/** - * Tests the given item for a possible wrong autotype format - * MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files - * - * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype - * - * @return YES if the given item is considered a possible candiate. NO in all other cases - */ -+ (BOOL)isCandidateForMalformedAutotype:(id)item; + @end diff --git a/MacPass/MPAutotypeHelper.m b/MacPass/MPAutotypeHelper.m index e5dcb53f..4c900a50 100644 --- a/MacPass/MPAutotypeHelper.m +++ b/MacPass/MPAutotypeHelper.m @@ -8,6 +8,9 @@ #import "MPAutotypeHelper.h" +#import "MPDocument.h" + +#import "KPKTree.h" #import "KPKGroup.h" #import "KPKEntry.h" @@ -16,20 +19,6 @@ @implementation MPAutotypeHelper -+ (BOOL)isCandidateForMalformedAutotype:(id)item { - - NSString *keystrokeSequence; - if([item isKindOfClass:[KPKEntry class]] && ![((KPKEntry *)item).autotype hasDefaultKeystrokeSequence]) { - keystrokeSequence = ((KPKEntry *)item).autotype.defaultKeystrokeSequence; - } - else if( [item isKindOfClass:[KPKGroup class]] && ![item hasDefaultAutotypeSequence]) { - keystrokeSequence = ((KPKGroup *)item).defaultAutoTypeSequence; - } - else if( [item isKindOfClass:[KPKWindowAssociation class]] && ![item hasDefaultKeystrokeSequence]){ - keystrokeSequence = ((KPKWindowAssociation *)item).keystrokeSequence; - } - /* if nothing is true, keystrokeSequence is nil an hence return is NO */ - return (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); -} + @end diff --git a/MacPass/MPDocument+Autotype.h b/MacPass/MPDocument+Autotype.h index fe29ebf5..a552d4c3 100644 --- a/MacPass/MPDocument+Autotype.h +++ b/MacPass/MPDocument+Autotype.h @@ -24,6 +24,31 @@ @interface MPDocument (Autotype) +/** + * Tests the given item for a possible wrong autotype format + * MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files + * + * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype + * + * @return YES if the given item is considered a possible candiate. NO in all other cases + */ ++ (BOOL)isCandidateForMalformedAutotype:(id)item; + +/** + * Returns an NSArray containing all Autotype Contexts that match the given window title + * + * @param windowTitle Window title to search matches for + * + * @return NSArray of MPAutotypeContexts for the given window title + */ - (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle; +/** + * Checks if the document has malformed autotype items + * + * @return YES if any malformed items are found + */ +- (BOOL)hasMalformedAutotypeItems; + +- (NSArray *)malformedAutotypeItems; @end diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 482f878c..c7765ba2 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -22,6 +22,7 @@ #import "MPDocument+Autotype.h" #import "MPAutotypeContext.h" +#import "MPAutotypeHelper.h" #import "KPKGroup.h" #import "KPKEntry.h" @@ -30,6 +31,22 @@ @implementation MPDocument (Autotype) ++ (BOOL)isCandidateForMalformedAutotype:(id)item { + + NSString *keystrokeSequence; + if([item isKindOfClass:[KPKEntry class]] && ![((KPKEntry *)item).autotype hasDefaultKeystrokeSequence]) { + keystrokeSequence = ((KPKEntry *)item).autotype.defaultKeystrokeSequence; + } + else if( [item isKindOfClass:[KPKGroup class]] && ![item hasDefaultAutotypeSequence]) { + keystrokeSequence = ((KPKGroup *)item).defaultAutoTypeSequence; + } + else if( [item isKindOfClass:[KPKWindowAssociation class]] && ![item hasDefaultKeystrokeSequence]){ + keystrokeSequence = ((KPKWindowAssociation *)item).keystrokeSequence; + } + /* if nothing is true, keystrokeSequence is nil an hence return is NO */ + return (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); +} + - (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle { if(!windowTitle) { return nil; @@ -59,4 +76,29 @@ return contexts; } +- (BOOL)hasMalformedAutotypeItems { + return [[self malformedAutotypeItems] count] > 0; +} + +- (NSArray *)malformedAutotypeItems { + NSMutableArray *items = [[NSMutableArray alloc] initWithCapacity:1000]; + [self _flattenGroup:self.root toArray:items]; + NSPredicate *malformedPrediacte = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { + return [MPDocument isCandidateForMalformedAutotype:evaluatedObject]; + }]; + NSArray *malformedItems = [items filteredArrayUsingPredicate:malformedPrediacte]; + return malformedItems; +} + +- (void)_flattenGroup:(KPKGroup *)group toArray:(NSMutableArray *)array { + [array addObject:group]; + for(KPKEntry *entry in group.entries) { + [array addObject:entry]; + [array addObjectsFromArray:entry.autotype.associations]; + } + for(KPKGroup *childGroup in group.groups) { + [self _flattenGroup:childGroup toArray:array]; + } +} + @end diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index e96731ae..3df594f8 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -65,6 +65,7 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { @interface MPDocument : NSDocument @property (nonatomic, readonly, assign) BOOL encrypted; +@property (nonatomic, readonly, assign) NSUInteger unlockCount; // Amount of times the Document was unlocked; @property (strong, readonly, nonatomic) KPKTree *tree; @property (nonatomic, weak, readonly) KPKGroup *root; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index e67bda36..50e36495 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -64,6 +64,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey NSData *_encryptedData; } +@property (nonatomic, assign) NSUInteger unlockCount; + @property (strong, nonatomic) MPSavePanelAccessoryViewController *savePanelViewController; @property (strong, nonatomic) KPKTree *tree; @@ -120,6 +122,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey _readOnly = NO; _activeFlags = MPEntrySearchTitles; _hasSearch = NO; + _unlockCount = 0; self.tree = [KPKTree templateTree]; self.tree.metaData.rounds = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordRounds]; } @@ -285,6 +288,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey self.compositeKey = nil; // clear the key? } if(isUnlocked) { + self.unlockCount += 1; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidUnlockDatabaseNotification object:self]; } return isUnlocked; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 6de43848..d5e41e04 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -9,9 +9,12 @@ #import "MPEntryViewController.h" #import "MPAppDelegate.h" #import "MPOutlineViewController.h" + #import "MPDocument.h" #import "MPDocument+Search.h" +#import "MPDocument+Autotype.h" #import "MPDocumentWindowController.h" + #import "MPPasteBoardController.h" #import "MPOverlayWindowController.h" #import "MPContextBarViewController.h" @@ -66,7 +69,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @interface MPEntryViewController () { MPEntryContextMenuDelegate *_menuDelegate; BOOL _isDisplayingContextBar; - BOOL _showFooterInfo; + BOOL _didUnlock; } @property (strong) NSArrayController *entryArrayController; @@ -191,9 +194,6 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self _setupHeaderMenu]; [parentColumn setHidden:YES]; - - [self.footerInfoText setHidden:!_showFooterInfo]; - [self.footerInfoText setStringValue:NSLocalizedString(@"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING", "")]; } - (NSResponder *)reconmendedFirstResponder { @@ -225,24 +225,11 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; selector:@selector(_didUpdateSearchResults:) name:MPDocumentDidChangeSearchResults object:document]; - + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didUnlockDatabase:) + name:MPDocumentDidUnlockDatabaseNotification + object:document]; [self.contextBarViewController registerNotificationsForDocument:document]; - - /* Setup warning message at the bottom*/ - NSArray *array = [[NSUserDefaults standardUserDefaults] arrayForKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; - NSString *path = [[document fileURL] path]; - if(!path) { - return; // No path, nothing to do - } - if(![array containsObject:path]) { - array = array ? [array arrayByAddingObject:path] : @[path]; - [[NSUserDefaults standardUserDefaults] setObject:array forKey:kMPSettingsKeyDocumentsAutotypeFixNoteWasShown]; - [[NSUserDefaults standardUserDefaults] synchronize]; - _showFooterInfo = YES; - } - else { - _showFooterInfo = NO; - } } #pragma mark NSTableViewDelgate @@ -405,6 +392,15 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self _showContextBar]; } +- (void)_didUnlockDatabase:(NSNotification *)notificiation { + MPDocument *document = [[self windowController] document]; + /* If the document was locked and unlocked we do not need to recheck */ + if(document.unlockCount != 1) { + [self.footerInfoText setHidden:![document hasMalformedAutotypeItems]]; + [self.footerInfoText setStringValue:NSLocalizedString(@"DOCUMENT_AUTOTYPE_CORRUPTION_WARNING", "")]; + } +} + #pragma mark ContextBar - (void)_updateContextBar { MPDocument *document = [[self windowController] document]; diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index 4c66903a..9710c327 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -7,14 +7,17 @@ // #import "MPFixAutotypeWindowController.h" + #import "MPDocument.h" +#import "MPDocument+Autotype.h" +#import "MPIconHelper.h" + #import "KPKNode.h" #import "KPKEntry.h" #import "KPKGroup.h" #import "KPKAutotype.h" #import "KPKWindowAssociation.h" -#import "MPIconHelper.h" NSString *const kMPAutotypeCell = @"AutotypeCell"; NSString *const kMPTitleCell = @"TitleCell"; @@ -31,7 +34,7 @@ NSString *const kMPIconCell = @"IconCell"; @end @interface MPFixAutotypeWindowController () { - NSMutableArray *_elements; + NSArray *_itemsCache; BOOL _didRegisterForUndoRedo; } @end @@ -66,7 +69,7 @@ NSString *const kMPIconCell = @"IconCell"; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidUndoChangeNotification object:manager]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeDocument:) name:NSUndoManagerDidCloseUndoGroupNotification object:manager]; } - _elements = nil; + _itemsCache = nil; [self.tableView reloadData]; } @@ -201,11 +204,10 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark Data accessors - (NSArray *)entriesAndGroups { - if(nil == _elements) { - _elements = [[NSMutableArray alloc] init]; - [self flattenGroup:self.workingDocument.root toArray:_elements]; + if(nil == _itemsCache) { + _itemsCache = [self.workingDocument malformedAutotypeItems]; } - return _elements; + return _itemsCache; } @@ -222,6 +224,7 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark NSUndoManagerNotifications - (void)_didChangeDocument:(NSNotification *)notification { + _itemsCache = nil; [self.tableView reloadData]; } diff --git a/MacPass/MPGroupInspectorViewController.h b/MacPass/MPGroupInspectorViewController.h index 67fa0ff7..669fbec3 100644 --- a/MacPass/MPGroupInspectorViewController.h +++ b/MacPass/MPGroupInspectorViewController.h @@ -20,6 +20,7 @@ @property (weak) IBOutlet NSPopUpButton *searchPopupButton; @property (weak) IBOutlet NSPopUpButton *autotypePopupButton; +@property (weak) IBOutlet HNHRoundedTextField *autotypeSequenceTextField; - (void)setupBindings:(MPDocument *)document; diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 826e84cc..e07eca2e 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -66,7 +66,7 @@ } - (void)setupBindings:(MPDocument *)document { - [self bind:@"group" toObject:document withKeyPath:@"selectedGroup" options:nil]; + [self bind:NSStringFromSelector(@selector(group)) toObject:document withKeyPath:NSStringFromSelector(@selector(selectedGroup)) options:nil]; } - (void)setGroup:(KPKGroup *)group { @@ -80,16 +80,11 @@ if(self.group) { [self.titleTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(name)) options:nil]; [self.expiresCheckButton bind:NSValueBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; - [self.expiresCheckButton bind:NSTitleBinding - toObject:self.group.timeInfo - withKeyPath:NSStringFromSelector(@selector(expiryTime)) - options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; - [self.expireDateSelectButton bind:NSHiddenBinding - toObject:self.group.timeInfo - withKeyPath:NSStringFromSelector(@selector(expires)) - options:@{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }]; - [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:@"isAutoTypeEnabled" options:nil]; - [self.searchPopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:@"isSearchEnabled" options:nil]; + [self.expiresCheckButton bind:NSTitleBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expiryTime)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; + [self.expireDateSelectButton bind:NSHiddenBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:@{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }]; + [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isAutoTypeEnabled)) options:nil]; + [self.autotypeSequenceTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(defaultAutoTypeSequence)) options:nil]; + [self.searchPopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isSearchEnabled)) options:nil]; } else { [self.titleTextField unbind:NSValueBinding]; @@ -98,8 +93,9 @@ [self.expiresCheckButton unbind:NSTitleBinding]; [self.expiresCheckButton setTitle:NSLocalizedString(@"EXPIRES", "")]; [self.expireDateSelectButton unbind:NSHiddenBinding]; - [self.autotypePopupButton unbind:NSSelectedTagBinding]; [self.searchPopupButton unbind:NSSelectedTagBinding]; + [self.autotypePopupButton unbind:NSSelectedTagBinding]; + [self.autotypeSequenceTextField unbind:NSValueBinding]; } } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 0c68db09..f90e0272 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -42,15 +42,15 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideNotes; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL; /* Document/Key Location store */ -APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; -APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; -APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; +APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; // Path to the last opened Database. Workaround if users have disabled the feautere in the OS +APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; // NSDictionary of all db file urls and the corresponding key file url +APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // YES if key files should be rememberd /* Autotype */ -APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment -APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? -APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key -APPKIT_EXTERN NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown; // +APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment +APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? +APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key +APPKIT_EXTERN NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown; // YES if Autotype fix was shown /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 0e4a48be..8c3c5081 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -30,13 +30,12 @@ NSString *const kMPSettingsKeyLegacyHideNotes = @"Legacy NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; -NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; +NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; -NSString *const kMPSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; @@ -50,6 +49,11 @@ NSString *const kMPSettingsKeyPasswordCharacterFlags = @"Passwo NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; NSString *const kMPSettingsKeyPasswordCustomString = @"PasswordCustomString"; +/* Depricated */ +NSString *const kMPDepricatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases"; +NSString *const kMPDepricatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; +NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; + @implementation MPSettingsHelper + (void)setupDefaults { @@ -66,40 +70,57 @@ NSString *const kMPSettingsKeyPasswordCustomString = @"Passwo } + (NSDictionary *)_standardDefaults { - return @{ - kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default - kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds - kMPSettingsKeyClearPasteboardOnQuit: @YES, - kMPSettingsKeyDoubleClickURLToLaunch: @NO, - kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, - kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES, - kMPSettingsKeyHttpPort: @19455, - kMPSettingsKeyEnableHttpServer: @NO, - kMPSettingsKeyShowMenuItem: @YES, - kMPSettingsKeyLockOnSleep: @YES, - kMPSettingsKeyIdleLockTimeOut: @0, // 5 minutes - kMPSettingsKeyLegacyHideNotes: @NO, - kMPSettingsKeyLegacyHidePassword: @YES, - kMPSettingsKeyLegacyHideTitle: @NO, - kMPSettingsKeyLegacyHideURL: @NO, - kMPSettingsKeyLegacyHideUsername: @NO, - kMPSettingsKeyRememberKeyFilesForDatabases: @NO, - kMPSettingsKeySendCommandForControlKey: @YES, - kMPSettingsKeyEntrySearchFilterMode: @0, - kMPSettingsKeyEnableGlobalAutotype: @NO, - kMPSettingsKeyEnableQuicklookPreview: @NO, - kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, - kMPSettingsKeyDefaultPasswordRounds: @50000, - kMPSettingsKeyDefaultPasswordLength: @12, - kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll), - kMPSettingsKeyPasswordUseCustomString: @NO, - kMPSettingsKeyPasswordCustomString: @"" - }; + static NSDictionary *standardDefaults; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + standardDefaults = @{ + kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default + kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds + kMPSettingsKeyClearPasteboardOnQuit: @YES, + kMPSettingsKeyDoubleClickURLToLaunch: @NO, + kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, + kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES, + kMPSettingsKeyHttpPort: @19455, + kMPSettingsKeyEnableHttpServer: @NO, + kMPSettingsKeyShowMenuItem: @YES, + kMPSettingsKeyLockOnSleep: @YES, + kMPSettingsKeyIdleLockTimeOut: @0, // 5 minutes + kMPSettingsKeyLegacyHideNotes: @NO, + kMPSettingsKeyLegacyHidePassword: @YES, + kMPSettingsKeyLegacyHideTitle: @NO, + kMPSettingsKeyLegacyHideURL: @NO, + kMPSettingsKeyLegacyHideUsername: @NO, + kMPSettingsKeyRememberKeyFilesForDatabases: @NO, + kMPSettingsKeySendCommandForControlKey: @YES, + kMPSettingsKeyEntrySearchFilterMode: @0, + kMPSettingsKeyEnableGlobalAutotype: @NO, + kMPSettingsKeyEnableQuicklookPreview: @NO, + kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, + kMPSettingsKeyDefaultPasswordRounds: @50000, + kMPSettingsKeyDefaultPasswordLength: @12, + kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll), + kMPSettingsKeyPasswordUseCustomString: @NO, + kMPSettingsKeyPasswordCustomString: @"" + }; + }); + return standardDefaults; } ++ (NSArray *)_depircatedSettingsKeys { + static NSArray *depircatedSettings; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + depircatedSettings = @[ kMPDepricatedSettingsKeyRememberKeyFilesForDatabases, + kMPDepricatedSettingsKeyLastDatabasePath, + kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown ]; + }); + return depircatedSettings; +} + + + (void)_removeObsolteValues { /* Clear old style values */ - for(NSString *key in @[ @"kMPSettingsKeyRememberKeyFilesForDatabases", @"MPLastDatabasePath" ]) { + for(NSString *key in [self _depircatedSettingsKeys]) { [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; } } From be436547e5b92291da7978264ea881ba773d0406 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 19:50:02 +0200 Subject: [PATCH 061/778] Set Sparke SDK to 10.8 Removed Autotype Helper --- MacPass.xcodeproj/project.pbxproj | 10 ++++------ MacPass/MPAutotypeHelper.h | 17 ----------------- MacPass/MPAutotypeHelper.m | 24 ------------------------ Sparkle | 2 +- 4 files changed, 5 insertions(+), 48 deletions(-) delete mode 100644 MacPass/MPAutotypeHelper.h delete mode 100644 MacPass/MPAutotypeHelper.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 70cccf18..5ae74ac5 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -233,7 +233,6 @@ 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; 4CAF62FC1763604000CD7084 /* HNHBadgedTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */; }; 4CB4AA0D17C2274200454CAD /* KeePass1_native_test.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */; }; - 4CB4ED891997DA1800582DBB /* MPAutotypeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */; }; 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; }; 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; }; 4CBA561617C2EA4900CE13D3 /* KPKTestXmlWriting.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */; }; @@ -782,8 +781,6 @@ 4CAF62FA1763604000CD7084 /* HNHBadgedTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHBadgedTextFieldCell.h; sourceTree = ""; }; 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHBadgedTextFieldCell.m; sourceTree = ""; }; 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = KeePass1_native_test.kdb; path = Databases/KeePass1_native_test.kdb; sourceTree = ""; }; - 4CB4ED871997DA1800582DBB /* MPAutotypeHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeHelper.h; sourceTree = ""; }; - 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeHelper.m; sourceTree = ""; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; 4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = ""; }; @@ -1600,8 +1597,6 @@ 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */, 4CA3530918A53CB800839B0F /* MPKeyMapper.h */, 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */, - 4CB4ED871997DA1800582DBB /* MPAutotypeHelper.h */, - 4CB4ED881997DA1800582DBB /* MPAutotypeHelper.m */, ); name = Autotype; sourceTree = ""; @@ -2399,7 +2394,6 @@ 4CE298EB1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m in Sources */, 4CC0D2CE17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m in Sources */, 4CF5CF7418B7C81600B0C026 /* NSWindow+Shake.m in Sources */, - 4CB4ED891997DA1800582DBB /* MPAutotypeHelper.m in Sources */, 4CC0D2D117974A5A000B4BDA /* MPAttachmentTableViewDelegate.m in Sources */, 4C67D33017981A2B00A7BDFC /* HNHTokenField.m in Sources */, 4C67D33317981ABA00A7BDFC /* HNHTokenFieldCell.m in Sources */, @@ -2721,6 +2715,7 @@ GCC_PREFIX_HEADER = "MacPassTests/MacPassTests-Prefix.pch"; INFOPLIST_FILE = "MacPassTests/MacPassTests-Info.plist"; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx10.8; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Debug; @@ -2743,6 +2738,7 @@ GCC_PREFIX_HEADER = "MacPassTests/MacPassTests-Prefix.pch"; INFOPLIST_FILE = "MacPassTests/MacPassTests-Info.plist"; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx10.8; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Release; @@ -2826,6 +2822,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.8; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + SDKROOT = macosx10.8; WRAPPER_EXTENSION = app; }; name = Debug; @@ -2842,6 +2839,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.8; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; + SDKROOT = macosx10.8; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/MacPass/MPAutotypeHelper.h b/MacPass/MPAutotypeHelper.h deleted file mode 100644 index 5d73acd4..00000000 --- a/MacPass/MPAutotypeHelper.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPAutotypeHelper.h -// MacPass -// -// Created by Michael Starke on 10/08/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import - -@class MPDocument; - -@interface MPAutotypeHelper : NSObject - - - -@end diff --git a/MacPass/MPAutotypeHelper.m b/MacPass/MPAutotypeHelper.m deleted file mode 100644 index 4c900a50..00000000 --- a/MacPass/MPAutotypeHelper.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// MPAutotypeHelper.m -// MacPass -// -// Created by Michael Starke on 10/08/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPAutotypeHelper.h" - -#import "MPDocument.h" - -#import "KPKTree.h" -#import "KPKGroup.h" -#import "KPKEntry.h" - -#import "KPKAutotype.h" -#import "KPKWindowAssociation.h" - -@implementation MPAutotypeHelper - - - -@end diff --git a/Sparkle b/Sparkle index 1b33524c..246a2e73 160000 --- a/Sparkle +++ b/Sparkle @@ -1 +1 @@ -Subproject commit 1b33524cbcd76c7cb2e1b0a8ac43d40fb90efb30 +Subproject commit 246a2e7304f1886db18ed34da74a54d591cbdd2c From fa30d4fca20110f45bc3c3845c20551b391acc53 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 19:56:34 +0200 Subject: [PATCH 062/778] Removed obsolte include --- MacPass/MPDocument+Autotype.m | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index c7765ba2..5e236a31 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -22,7 +22,6 @@ #import "MPDocument+Autotype.h" #import "MPAutotypeContext.h" -#import "MPAutotypeHelper.h" #import "KPKGroup.h" #import "KPKEntry.h" From dc15bc77440a5d88f5a133b1bc52e931df7fe46a Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 20:02:45 +0200 Subject: [PATCH 063/778] Clear key file button not working at password input. Fixes #184 --- MacPass/MPPasswordInputController.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 2c7be921..0860cc45 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -103,7 +103,13 @@ } - (IBAction)resetKeyFile:(id)sender { - [self _selectKeyURL]; + /* If the reset was triggerd by ourselves we want to preselct the keyfile */ + if(sender == self) { + [self _selectKeyURL]; + } + else { + [self.keyPathControl setURL:nil]; + } } - (void)_reset { @@ -112,7 +118,7 @@ [self.passwordTextField setStringValue:@""]; [self.errorInfoTextField setHidden:YES]; [self.errorImageView setHidden:YES]; - [self resetKeyFile:nil]; + [self resetKeyFile:self]; } - (void)_selectKeyURL { From 2996fcb77902e5df2495db2b898d613993bbc2f1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 20:09:50 +0200 Subject: [PATCH 064/778] using windowNibName in custom NSWindowController --- MacPass/MPPasswordEditWindowController.m | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index dd2dc4ad..112c26a5 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -28,8 +28,12 @@ @implementation MPPasswordEditWindowController +- (NSString *)windowNibName { + return @"PasswordEditWindow"; +} + - (id)initWithDocument:(MPDocument *)document { - self = [super initWithWindowNibName:@"PasswordEditWindow"]; + self = [super init]; if(self){ _allowsEmptyPasswordOrKey = YES; _showPassword = NO; @@ -41,7 +45,7 @@ - (void)windowDidLoad { [super windowDidLoad]; - [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil]; + [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [[self window] setDefaultButtonCell:[self.changePasswordButton cell]]; self.enablePassword = _currentDocument.compositeKey.hasPassword; } @@ -58,11 +62,11 @@ NSDictionary *negateOption = @{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }; [self.hasPasswordSwitchButton bind:NSValueBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil]; + [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [self.passwordTextField bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil]; + [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [self.togglePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:@"showPassword" options:negateOption]; + [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:negateOption]; [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; [self.errorTextField bind:NSHiddenBinding toObject:self withKeyPath:@"hasValidPasswordOrKey" options:nil]; [self.changePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:@"hasValidPasswordOrKey" options:nil]; From 4cbb23bed5dd80af3ab6e03f4193a723be201eb3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 20:10:25 +0200 Subject: [PATCH 065/778] Change password dialog now can select more than .key and .xml keyfiles. Fixes #214 --- MacPass/Base.lproj/PasswordEditWindow.xib | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/MacPass/Base.lproj/PasswordEditWindow.xib b/MacPass/Base.lproj/PasswordEditWindow.xib index 4cd0fccc..ed956a72 100644 --- a/MacPass/Base.lproj/PasswordEditWindow.xib +++ b/MacPass/Base.lproj/PasswordEditWindow.xib @@ -1,8 +1,8 @@ - + - + @@ -19,7 +19,7 @@ - + @@ -33,10 +33,6 @@ - - xml - key - @@ -205,4 +201,4 @@ Gw - \ No newline at end of file + From 0ac4b6f4401a18e29aac37cac7f75a22a867ce03 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 11 Aug 2014 20:44:40 +0200 Subject: [PATCH 066/778] Refacoted window and view controller to use windowNibName and nibName. Fixes #164 --- MacPass/MPContextBarViewController.m | 9 ++++---- MacPass/MPDatabaseSettingsWindowController.m | 6 +++++- MacPass/MPDatePickingViewController.m | 5 ++--- MacPass/MPDocument.h | 2 +- MacPass/MPDocument.m | 4 ++-- MacPass/MPDocumentWindowController.m | 22 ++++++++++++++++---- MacPass/MPEntryInspectorViewController.m | 10 ++++----- MacPass/MPEntryViewController.m | 9 ++++---- MacPass/MPGeneralSettingsController.m | 4 ++-- MacPass/MPGroupInspectorViewController.m | 4 ++-- MacPass/MPIconSelectViewController.m | 5 ++--- MacPass/MPInspectorViewController.m | 4 ++-- MacPass/MPIntegrationSettingsController.m | 11 +++++----- MacPass/MPOutlineViewController.m | 16 +++++++++++--- MacPass/MPOverlayWindowController.m | 6 +++++- MacPass/MPPasswordCreatorViewController.m | 8 +++++-- MacPass/MPPasswordEditWindowController.m | 2 +- MacPass/MPPasswordInputController.m | 5 ++--- MacPass/MPPreviewViewController.m | 5 ++--- MacPass/MPSavePanelAccessoryViewController.m | 7 ++----- MacPass/MPSettingsWindowController.m | 6 +++++- MacPass/MPUpdateSettingsController.m | 5 ++--- MacPass/MPWorkflowSettingsController.m | 6 ++---- 23 files changed, 95 insertions(+), 66 deletions(-) diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index de694655..18896fef 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -44,12 +44,13 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { @implementation MPContextBarViewController -#pragma mark Livecycle -- (instancetype)init { - self = [self initWithNibName:@"ContextBar" bundle:nil]; - return self; +#pragma mark Nib handling +- (NSString *)nibName { + return @"ContextBar"; } +#pragma mark Livecycle + - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index ec8cedd4..4fa23742 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -37,13 +37,17 @@ @implementation MPDatabaseSettingsWindowController +- (NSString *)windowNibName { + return @"DatabaseSettingsWindow"; +} + - (id)init { self = [self initWithDocument:nil]; return self; } - (id)initWithDocument:(MPDocument *)document { - self = [super initWithWindowNibName:@"DatabaseSettingsWindow"]; + self = [super initWithWindow:nil]; if(self) { _document = document; _missingFeature = NSLocalizedString(@"KDBX_ONLY_FEATURE", "Feature only available in kdbx databases"); diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 8199916b..76f45ddc 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -27,9 +27,8 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { @implementation MPDatePickingViewController -- (id)init { - self = [self initWithNibName:@"DatePickingView" bundle:nil]; - return self; +- (NSString *)nibName { + return @"DatePickingView"; } - (void)awakeFromNib { diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 3df594f8..a1936d62 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -30,7 +30,7 @@ APPKIT_EXTERN NSString *const MPDocumentDidLockDatabaseNotification; APPKIT_EXTERN NSString *const MPDocumentDidUnlockDatabaseNotification; FOUNDATION_EXTERN NSString *const MPDocumentCurrentItemChangedNotification; -FOUNDATION_EXTERN NSString *const MPDocumentItemAddedNotification; +FOUNDATION_EXTERN NSString *const MPDocumentDidAddEntryNotification; APPKIT_EXTERN NSString *const MPDocumentEntryKey; APPKIT_EXTERN NSString *const MPDocumentGroupKey; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 50e36495..06733812 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -53,7 +53,7 @@ NSString *const MPDocumentDidLockDatabaseNotification = @"com.hicknhack.macp NSString *const MPDocumentDidUnlockDatabaseNotification = @"com.hicknhack.macpass.MPDocumentDidUnlockDatabaseNotification"; NSString *const MPDocumentCurrentItemChangedNotification = @"com.hicknhack.macpass.MPDocumentCurrentItemChangedNotification"; -NSString *const MPDocumentItemAddedNotification = @"com.hicknhack.macpass.MPDocumentItemAddedNotification"; +NSString *const MPDocumentDidAddEntryNotification = @"com.hicknhack.macpass.MPDocumentDidAddEntryNotification"; NSString *const MPDocumentEntryKey = @"MPDocumentEntryKey"; NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey"; @@ -454,7 +454,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } [parent addEntry:newEntry]; [parent.undoManager setActionName:NSLocalizedString(@"ADD_ENTRY", "")]; - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentItemAddedNotification object:self]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidAddEntryNotification object:self]; return newEntry; } diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 3dcfa8b3..86151cef 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -57,8 +57,12 @@ typedef void (^MPPasswordChangedBlock)(void); @implementation MPDocumentWindowController +- (NSString *)windowNibName { + return @"DocumentWindow"; +} + -(id)init { - self = [super initWithWindowNibName:@"DocumentWindow" owner:self]; + self = [super initWithWindow:nil]; if( self ) { _firstResponder = nil; _toolbarDelegate = [[MPToolbarDelegate alloc] init]; @@ -85,14 +89,14 @@ typedef void (^MPPasswordChangedBlock)(void); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotifiation object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showEntries) name:MPDocumentDidUnlockDatabaseNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) name:MPDocumentDidAddEntryNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; [self.entryViewController regsiterNotificationsForDocument:document]; [self.inspectorViewController regsiterNotificationsForDocument:document]; [self.outlineViewController regsiterNotificationsForDocument:document]; [self.toolbarDelegate registerNotificationsForDocument:document]; - - self.toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; [self.toolbar setAutosavesConfiguration:YES]; [self.toolbar setAllowsUserCustomization:YES]; @@ -169,6 +173,14 @@ typedef void (^MPPasswordChangedBlock)(void); [self showPasswordInput]; } +- (void)_didAddEntry:(NSNotification *)notification { + [self showInspector:self]; +} + +- (void)_didAddGroup:(NSNotification *)notification { + [self showInspector:self]; +} + #pragma mark Actions - (void)saveDocument:(id)sender { self.passwordChangedBlock = nil; @@ -324,7 +336,9 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)showInspector:(id)sender { - // TODO; + if(![self _isInspectorVisible]) { + [self toggleInspector:sender]; + } } - (void)focusEntries:(id)sender { diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 3568a944..d36cf951 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -61,8 +61,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { @implementation MPEntryInspectorViewController -- (id)init { - return [self initWithNibName:@"EntryInspectorView" bundle:nil]; +- (NSString *)nibName { + return @"EntryInspectorView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { @@ -123,8 +123,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)regsiterNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didAddItem:) - name:MPDocumentItemAddedNotification + selector:@selector(_didAddEntry:) + name:MPDocumentDidAddEntryNotification object:document]; } @@ -434,7 +434,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { #pragma mark - #pragma mark MPDocument Notifications -- (void)_didAddItem:(NSNotification *)notification { +- (void)_didAddEntry:(NSNotification *)notification { [self.tabView selectTabViewItemAtIndex:MPEntryTabGeneral]; [self.titleTextField becomeFirstResponder]; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index d5e41e04..a207f05c 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -93,9 +93,8 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @implementation MPEntryViewController - -- (id)init { - return [[MPEntryViewController alloc] initWithNibName:@"EntryView" bundle:nil]; +- (NSString *)nibName { + return @"EntryView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { @@ -208,7 +207,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddItem:) - name:MPDocumentItemAddedNotification + name:MPDocumentDidAddEntryNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self @@ -653,7 +652,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; NSTableColumn *column = [self.entryTable tableColumns][[self.entryTable clickedColumn]]; NSString *identifier = [column identifier]; if([identifier isEqualToString:MPEntryTableTitleColumnIdentifier]) { - + [[self windowController] showInspector:nil]; } else if([identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]) { [self copyPassword:nil]; diff --git a/MacPass/MPGeneralSettingsController.m b/MacPass/MPGeneralSettingsController.m index 5e2d93b0..248d38d5 100644 --- a/MacPass/MPGeneralSettingsController.m +++ b/MacPass/MPGeneralSettingsController.m @@ -14,8 +14,8 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab"; @implementation MPGeneralSettingsController -- (id)init { - return [self initWithNibName:@"GeneralSettings" bundle:[NSBundle mainBundle]]; +- (NSString *)nibName { + return @"GeneralSettings"; } - (NSString *)identifier { diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index e07eca2e..289b02a7 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -27,8 +27,8 @@ @implementation MPGroupInspectorViewController -- (id)init { - return [self initWithNibName:@"GroupInspectorView" bundle:nil]; +- (NSString *)nibName { + return @"GroupInspectorView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index f803885d..c96554c1 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -18,9 +18,8 @@ NSInteger const kMPDefaultIcon = -1; @implementation MPIconSelectViewController - -- (id)init { - return [self initWithNibName:@"IconSelection" bundle:nil]; +- (NSString *)nibName { + return @"IconSelection"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index b16987b9..fbfc2ad0 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -56,8 +56,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { @implementation MPInspectorViewController -- (id)init { - return [[MPInspectorViewController alloc] initWithNibName:@"InspectorView" bundle:nil]; +- (NSString *)nibName { + return @"InspectorView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 07d5e006..2ca34d27 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -18,6 +18,10 @@ @implementation MPIntegrationSettingsController +- (NSString *)nibName { + return @"IntegrationSettings"; +} + - (NSString *)identifier { return @"Integration"; } @@ -30,11 +34,6 @@ return NSLocalizedString(@"INTEGRATION_SETTINGS", ""); } -- (id)init { - self = [super initWithNibName:@"IntegrationSettings" bundle:nil]; - return self; -} - - (void)awakeFromNib { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; @@ -46,7 +45,7 @@ [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; [self.globalAutotypeKeyData bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeDataKeyPath options:nil]; - + } @end diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 60f5547a..dfeaa984 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -48,8 +48,8 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; @implementation MPOutlineViewController -- (id)init { - return [[MPOutlineViewController alloc] initWithNibName:@"OutlineView" bundle:nil]; +- (NSString *)nibName { + return @"OutlineView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { @@ -78,6 +78,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [self.outlineView setFloatsGroupRows:NO]; [self.outlineView registerForDraggedTypes:@[ KPKGroupUTI, KPKEntryUTI ]]; [self.outlineView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:YES]; + [self.outlineView setDoubleAction:@selector(_doubleClickedGroup:)]; [self.bottomBar setBorderType:HNHBorderTop|HNHBorderHighlight]; [self.addGroupButton setAction:[MPActionHelper actionOfType:MPActionAddGroup]]; @@ -140,7 +141,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark Notifications - (void)regsiterNotificationsForDocument:(MPDocument *)document { - // Nothing to do anymore + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; } - (void)clearSelection { @@ -156,6 +157,11 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; document.selectedItem = document.selectedGroup; } +# pragma mark MPDocument Notifications +- (void)_didAddGroup:(NSNotification *)notification { + //TODO: find group to expand! +} + - (id)itemUnderMouse { NSPoint mouseLocation = [[self.outlineView window] mouseLocationOutsideOfEventStream]; NSPoint localPoint = [self.outlineView convertPoint:mouseLocation fromView:[[self.outlineView window] contentView]]; @@ -187,6 +193,10 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [[[self windowController] document] deleteGroup:[self _clickedOrSelectedGroup]]; } +- (void)_doubleClickedGroup:(id)sender { + [[self windowController] showInspector:sender]; +} + #pragma mark NSOutlineViewDelegate - (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item { NSTableCellView *view; diff --git a/MacPass/MPOverlayWindowController.m b/MacPass/MPOverlayWindowController.m index 0badf80e..56526182 100644 --- a/MacPass/MPOverlayWindowController.m +++ b/MacPass/MPOverlayWindowController.m @@ -23,11 +23,15 @@ static MPOverlayWindowController *sharedInstance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - sharedInstance = [[MPOverlayWindowController alloc] initWithWindowNibName:@"OverlayWindow"]; + sharedInstance = [[MPOverlayWindowController alloc] initWithWindow:nil]; }); return sharedInstance; } +- (NSString *)windowNibName { + return @"OverlayWindow"; +} + - (id)initWithWindow:(NSWindow *)window { self = [super initWithWindow:window]; if (self) { diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 9a364656..567db5d5 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -62,8 +62,12 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { @implementation MPPasswordCreatorViewController -- (id)init { - self = [super initWithNibName:@"PasswordCreatorView" bundle:nil]; +- (NSString *)nibName { + return @"PasswordCreatorView"; +} + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { _password = @""; _passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 112c26a5..7c4dc1fc 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -33,7 +33,7 @@ } - (id)initWithDocument:(MPDocument *)document { - self = [super init]; + self = [super initWithWindow:nil]; if(self){ _allowsEmptyPasswordOrKey = YES; _showPassword = NO; diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 0860cc45..6021fef0 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -34,9 +34,8 @@ @implementation MPPasswordInputController -- (id)init { - self = [self initWithNibName:@"PasswordInputView" bundle:nil]; - return self; +- (NSString *)nibName { + return @"PasswordInputView"; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { diff --git a/MacPass/MPPreviewViewController.m b/MacPass/MPPreviewViewController.m index fc9cfcad..1528ae9e 100644 --- a/MacPass/MPPreviewViewController.m +++ b/MacPass/MPPreviewViewController.m @@ -14,9 +14,8 @@ @implementation MPPreviewViewController -- (instancetype)init { - self = [self initWithNibName:@"PreviewView" bundle:nil]; - return self; +- (NSString *)nibName { + return @"PreviewView"; } @end diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index 6ef50707..6ae0f16e 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -19,11 +19,8 @@ @implementation MPSavePanelAccessoryViewController -- (id)init { - self = [super initWithNibName:@"SavePanelAccessoryView" bundle:nil]; - if(self) { - } - return self; +- (NSString *)nibName { + return @"SavePanelAccessoryView"; } - (void)didLoadView { diff --git a/MacPass/MPSettingsWindowController.m b/MacPass/MPSettingsWindowController.m index 35cfa2c1..db26d8e0 100644 --- a/MacPass/MPSettingsWindowController.m +++ b/MacPass/MPSettingsWindowController.m @@ -25,8 +25,12 @@ @implementation MPSettingsWindowController +- (NSString *)windowNibName { + return @"SettingsWindow"; +} + -(id)init { - self = [super initWithWindowNibName:@"SettingsWindow"]; + self = [super initWithWindow:nil]; if(self) { _toolbar = [[NSToolbar alloc] initWithIdentifier:@"SettingsToolBar"]; [self.toolbar setAllowsUserCustomization:NO]; diff --git a/MacPass/MPUpdateSettingsController.m b/MacPass/MPUpdateSettingsController.m index a72f0164..ac27aa36 100644 --- a/MacPass/MPUpdateSettingsController.m +++ b/MacPass/MPUpdateSettingsController.m @@ -14,9 +14,8 @@ @implementation MPUpdateSettingsController -- (instancetype)init { - self = [super initWithNibName:@"UpdateSettings" bundle:nil]; - return self; +- (NSString *)nibName { + return @"UpdateSettings"; } - (NSString *)identifier { diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index a91e3041..5a15d14f 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -16,10 +16,8 @@ @implementation MPWorkflowSettingsController -#pragma mark LifeCycle -- (id)init { - self = [self initWithNibName:@"WorkflowSettings" bundle:nil]; - return self; +- (NSString *)nibName { + return @"WorkflowSettings"; } - (void)didLoadView { From dc8b9d0bb4e571a992a7bd65183eaecdf67d2304 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 12 Aug 2014 09:37:37 +0200 Subject: [PATCH 067/778] More usage of NSStringFromClass and NSStringFromSelector --- MacPass/MPOutlineViewController.m | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index dfeaa984..32b18e79 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -98,10 +98,10 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)showOutline { if(!_bindingEstablished) { MPDocument *document = [[self windowController] document]; - [_treeController setChildrenKeyPath:@"groups"]; - [_treeController bind:NSContentBinding toObject:document withKeyPath:@"tree" options:nil]; - [_outlineView bind:NSContentBinding toObject:_treeController withKeyPath:@"arrangedObjects" options:nil]; - [self bind:@"databaseNameWrapper" toObject:document.tree.metaData withKeyPath:@"databaseName" options:nil]; + [_treeController setChildrenKeyPath:NSStringFromSelector(@selector(groups))]; + [_treeController bind:NSContentBinding toObject:document withKeyPath:NSStringFromSelector(@selector(tree)) options:nil]; + [_outlineView bind:NSContentBinding toObject:_treeController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; + [self bind:NSStringFromSelector(@selector(databaseNameWrapper)) toObject:document.tree.metaData withKeyPath:NSStringFromSelector(@selector(databaseName)) options:nil]; [_outlineView setDataSource:self.datasource]; _bindingEstablished = YES; } @@ -202,15 +202,16 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; NSTableCellView *view; if( [self _itemIsRootNode:item] ) { view = [outlineView makeViewWithIdentifier:_MPOutlinveViewHeaderViewIdentifier owner:self]; - [view.textField bind:NSValueBinding toObject:self withKeyPath:@"databaseNameWrapper" options:nil]; + [view.textField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(databaseNameWrapper)) options:nil]; } else { KPKGroup *group = [item representedObject]; view = [outlineView makeViewWithIdentifier:_MPOutlineViewDataViewIdentifier owner:self]; - [[view imageView] bind:NSValueBinding toObject:group withKeyPath:@"iconImage" options:nil]; - [[view textField] bind:NSValueBinding toObject:group withKeyPath:@"name" options:nil]; - [[view textField] bind:@"count" toObject:group withKeyPath:@"entries.@count" options:nil]; + [[view imageView] bind:NSValueBinding toObject:group withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; + [[view textField] bind:NSValueBinding toObject:group withKeyPath:NSStringFromSelector(@selector(name)) options:nil]; + NSString *entriesCountKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(entries)), @"@count"]; + [[view textField] bind:NSStringFromSelector(@selector(count)) toObject:group withKeyPath:entriesCountKeyPath options:nil]; } return view; @@ -237,7 +238,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)outlineViewItemDidExpand:(NSNotification *)notification { NSDictionary *userInfo = [notification userInfo]; - id item = userInfo[@"NSObject"]; + id item = userInfo[NSStringFromClass([NSObject class])]; id representedObject = [item representedObject]; if([representedObject isKindOfClass:[KPKGroup class]]) { KPKGroup *group = (KPKGroup *)representedObject; @@ -246,7 +247,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } - (void)outlineViewItemDidCollapse:(NSNotification *)notification { NSDictionary *userInfo = [notification userInfo]; - id item = userInfo[@"NSObject"]; + id item = userInfo[NSStringFromClass([NSObject class])]; id representedObject = [item representedObject]; if([representedObject isKindOfClass:[KPKGroup class]]) { KPKGroup *group = (KPKGroup *)representedObject; From 2fef801f72231b07f303aa7450d81199a96ff860 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 13 Aug 2014 00:42:02 +0200 Subject: [PATCH 068/778] Newly created Groups now get shown by expanding theri parent node after creation. Selection not working for now --- KeePassKit | 2 +- MacPass/MPDocument.h | 13 +++++++++++-- MacPass/MPDocument.m | 6 ++++-- MacPass/MPOutlineViewController.m | 14 +++++++++++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/KeePassKit b/KeePassKit index 4aaf8d26..1b5da6d4 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 4aaf8d2642cbd681102a00463df9712fe8200934 +Subproject commit 1b5da6d4f6e55307675b04209bf7f9997ec18f2c diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index a1936d62..c95bc1e5 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -23,15 +23,24 @@ #import #import "KPKVersion.h" +/** + * Postes when a new group was added by the document. This is only fired when the user caused this by adding. Undo/Redo does NOT post this + * The userInfo dictionary conatins one the added group at MPDocumentGroupKey + */ APPKIT_EXTERN NSString *const MPDocumentDidAddGroupNotification; +/** + * Posted when the used has added a new entry. Not posted on undo/redo. + * The userInfo dictionary contains the added entry at MPDocumentEntryKey + */ +APPKIT_EXTERN NSString *const MPDocumentDidAddEntryNotification; APPKIT_EXTERN NSString *const MPDocumentDidRevertNotifiation; APPKIT_EXTERN NSString *const MPDocumentDidLockDatabaseNotification; APPKIT_EXTERN NSString *const MPDocumentDidUnlockDatabaseNotification; -FOUNDATION_EXTERN NSString *const MPDocumentCurrentItemChangedNotification; -FOUNDATION_EXTERN NSString *const MPDocumentDidAddEntryNotification; +APPKIT_EXTERN NSString *const MPDocumentCurrentItemChangedNotification; +/* Keys used in userInfo NSDictionaries on notifications */ APPKIT_EXTERN NSString *const MPDocumentEntryKey; APPKIT_EXTERN NSString *const MPDocumentGroupKey; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 06733812..6ed90806 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -47,13 +47,14 @@ #import "NSString+MPPasswordCreation.h" NSString *const MPDocumentDidAddGroupNotification = @"com.hicknhack.macpass.MPDocumentDidAddGroupNotification"; +NSString *const MPDocumentDidAddEntryNotification = @"com.hicknhack.macpass.MPDocumentDidAddEntryNotification"; + NSString *const MPDocumentDidRevertNotifiation = @"com.hicknhack.macpass.MPDocumentDidRevertNotifiation"; NSString *const MPDocumentDidLockDatabaseNotification = @"com.hicknhack.macpass.MPDocumentDidLockDatabaseNotification"; NSString *const MPDocumentDidUnlockDatabaseNotification = @"com.hicknhack.macpass.MPDocumentDidUnlockDatabaseNotification"; NSString *const MPDocumentCurrentItemChangedNotification = @"com.hicknhack.macpass.MPDocumentCurrentItemChangedNotification"; -NSString *const MPDocumentDidAddEntryNotification = @"com.hicknhack.macpass.MPDocumentDidAddEntryNotification"; NSString *const MPDocumentEntryKey = @"MPDocumentEntryKey"; NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey"; @@ -454,7 +455,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } [parent addEntry:newEntry]; [parent.undoManager setActionName:NSLocalizedString(@"ADD_ENTRY", "")]; - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidAddEntryNotification object:self]; + NSDictionary *userInfo = @{ MPDocumentEntryKey: newEntry }; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidAddEntryNotification object:self userInfo:userInfo]; return newEntry; } diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 32b18e79..5db89ade 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -159,7 +159,18 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; # pragma mark MPDocument Notifications - (void)_didAddGroup:(NSNotification *)notification { - //TODO: find group to expand! + NSDictionary *userInfo = [notification userInfo]; + KPKGroup *group = userInfo[MPDocumentGroupKey]; + NSIndexPath *groupIndexPath = [group indexPath]; + NSTreeNode *groupNode = [[self.treeController arrangedObjects] descendantNodeAtIndexPath:groupIndexPath]; + [self.outlineView expandItem:groupNode.parentNode]; + /* TODO: Select created Group + NSUInteger row = 0; + for(NSUInteger index = 0; index < [groupIndexPath length]; index++ ) { + row += [groupIndexPath indexAtPosition:index]; + } + [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; + */ } - (id)itemUnderMouse { @@ -242,6 +253,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; id representedObject = [item representedObject]; if([representedObject isKindOfClass:[KPKGroup class]]) { KPKGroup *group = (KPKGroup *)representedObject; + NSLog(@"IndexPath for %@: %@ vs. %@", group.name, [item indexPath], [group indexPath]); group.isExpanded = YES; } } From 3a628dbf70c595982773145796433ba08677278b Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 13 Aug 2014 19:48:36 +0200 Subject: [PATCH 069/778] Newly created Group now gets selected in Outline --- MacPass/MPOutlineViewController.m | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 5db89ade..ee537209 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -164,13 +164,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; NSIndexPath *groupIndexPath = [group indexPath]; NSTreeNode *groupNode = [[self.treeController arrangedObjects] descendantNodeAtIndexPath:groupIndexPath]; [self.outlineView expandItem:groupNode.parentNode]; - /* TODO: Select created Group - NSUInteger row = 0; - for(NSUInteger index = 0; index < [groupIndexPath length]; index++ ) { - row += [groupIndexPath indexAtPosition:index]; - } - [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; - */ + [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:[self.outlineView rowForItem:groupNode]] byExtendingSelection:NO]; } - (id)itemUnderMouse { From cb46d547056308df12dfe65132e3c99a8d713568 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 15 Aug 2014 23:58:36 +0200 Subject: [PATCH 070/778] Autotype Hotkey refactorings --- MacPass/Base.lproj/IntegrationSettings.xib | 3 ++- MacPass/DDHotKey+Keydata.h | 2 ++ MacPass/DDHotKey+Keydata.m | 14 +++++++++++++- MacPass/MPAutotypeDaemon.m | 2 +- MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPIntegrationSettingsController.h | 3 +++ MacPass/MPIntegrationSettingsController.m | 17 +++++++++++++++-- 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index a4ad7d45..f0d77e1f 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,5 +1,5 @@ - + @@ -10,6 +10,7 @@ + diff --git a/MacPass/DDHotKey+Keydata.h b/MacPass/DDHotKey+Keydata.h index f2c707ad..73697c44 100644 --- a/MacPass/DDHotKey+Keydata.h +++ b/MacPass/DDHotKey+Keydata.h @@ -10,6 +10,8 @@ @interface DDHotKey (Keydata) ++ (instancetype)defaultHotKey; ++ (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task; - (NSData *)keyData; - (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task; - (instancetype)initWithKeyData:(NSData *)data; diff --git a/MacPass/DDHotKey+Keydata.m b/MacPass/DDHotKey+Keydata.m index e45c9991..e29bd887 100644 --- a/MacPass/DDHotKey+Keydata.m +++ b/MacPass/DDHotKey+Keydata.m @@ -7,9 +7,18 @@ // #import "DDHotKey+Keydata.h" +#import @implementation DDHotKey (Keydata) ++ (instancetype)defaultHotKey { + return [DDHotKey defaultHotKeyWithTask:nil]; +} + ++ (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task { + return [[DDHotKey alloc] initWithKeyData:nil]; +} + - (instancetype)initWithKeyData:(NSData *)data { self = [self initWithKeyData:data taks:nil]; return self; @@ -18,7 +27,10 @@ - (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task{ NSUInteger modifierFlags; unsigned short keyCode; - if([self _getKeyCode:&keyCode modifierFlags:&modifierFlags fromData:data]) { + if(!data) { + self = [DDHotKey hotKeyWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate task:task]; + } + else if([self _getKeyCode:&keyCode modifierFlags:&modifierFlags fromData:data]) { self = [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modifierFlags task:task]; } else { diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index c94fe56d..e729779a 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -197,7 +197,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; }; DDHotKey *storedHotkey; if(nil == self.hotKeyData) { - storedHotkey = [DDHotKey hotKeyWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate task:aTask]; + storedHotkey = [DDHotKey defaultHotKeyWithTask:aTask]; } else { storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData taks:aTask]; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 86151cef..107ce2f0 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -377,7 +377,7 @@ typedef void (^MPPasswordChangedBlock)(void); } /* Maybe we should consider not double adding constraints */ NSDictionary *views = NSDictionaryOfVariableBindings(outlineView, inspectorView, entryView, _splitView); - [self.splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[outlineView(>=150,<=250)]-1-[entryView(>=350)]-1-[inspectorView(>=200)]|" + [self.splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[outlineView(>=150)]-1-[entryView(>=350)]-1-[inspectorView(>=200)]|" options:0 metrics:nil views:views]]; diff --git a/MacPass/MPIntegrationSettingsController.h b/MacPass/MPIntegrationSettingsController.h index 170d8e24..f22a31ee 100644 --- a/MacPass/MPIntegrationSettingsController.h +++ b/MacPass/MPIntegrationSettingsController.h @@ -9,10 +9,13 @@ #import "MPViewController.h" #import "MPSettingsTab.h" +@class DDHotKeyTextField; + @interface MPIntegrationSettingsController : MPViewController @property (weak) IBOutlet NSButton *enableServerCheckbutton; @property (weak) IBOutlet NSButton *enableGlobalAutotypeCheckbutton; @property (weak) IBOutlet NSButton *enableQuicklookCheckbutton; +@property (weak) IBOutlet DDHotKeyTextField *hotKeyTextField; @end diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 2ca34d27..418f4d1f 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -10,9 +10,13 @@ #import "MPSettingsHelper.h" #import "MPIconHelper.h" +#import "DDHotKeyCenter.h" +#import "DDHotKey+Keydata.h" +#import "DDHotKeyTextField.h" + @interface MPIntegrationSettingsController () -@property (copy) NSData *globalAutotypeKeyData; +@property (nonatomic, copy) NSData *globalAutotypeKeyData; @end @@ -45,7 +49,16 @@ [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; [self.globalAutotypeKeyData bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeDataKeyPath options:nil]; - } +#pragma mark Properties +- (void)setGlobalAutotypeKeyData:(NSData *)globalAutotypeKeyData { + if(![_globalAutotypeKeyData isEqualToData:globalAutotypeKeyData]) { + _globalAutotypeKeyData = [globalAutotypeKeyData copy]; + } + DDHotKey *hotKey = [[DDHotKey alloc] initWithKeyData:_globalAutotypeKeyData]; + self.hotKeyTextField.hotKey = hotKey; +} + + @end From 8d407cb9593e1a805ee78a2cd92c88a9d125f9f3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 16 Aug 2014 00:33:52 +0200 Subject: [PATCH 071/778] HotKey is not Updated correctly --- MacPass/Base.lproj/IntegrationSettings.xib | 2 +- MacPass/MPIntegrationSettingsController.m | 27 +++++++++++++--------- MacPass/MPSettingsHelper.h | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index f0d77e1f..42ed8320 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -58,7 +58,7 @@ - + diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 418f4d1f..9c0741ee 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -16,7 +16,7 @@ @interface MPIntegrationSettingsController () -@property (nonatomic, copy) NSData *globalAutotypeKeyData; +@property (nonatomic, strong) DDHotKey *hotKey; @end @@ -39,25 +39,30 @@ } - (void)awakeFromNib { + self.hotKey = [DDHotKey defaultHotKey]; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; - NSString *globalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; + NSString *enableGlobalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; NSString *quicklookKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableQuicklookPreview]; - NSString *globalAutotypeDataKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]; [self.enableServerCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:serverKeyPath options:nil]; [self.enableServerCheckbutton setEnabled:NO]; - [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeKeyPath options:nil]; + [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; - [self.globalAutotypeKeyData bind:NSValueBinding toObject:defaultsController withKeyPath:globalAutotypeDataKeyPath options:nil]; + [self.hotKeyTextField bind:NSEnabledBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; + [self.hotKeyTextField bind:NSStringFromSelector(@selector(hotKey)) toObject:self withKeyPath:NSStringFromSelector(@selector(hotKey)) options:nil]; } -#pragma mark Properties -- (void)setGlobalAutotypeKeyData:(NSData *)globalAutotypeKeyData { - if(![_globalAutotypeKeyData isEqualToData:globalAutotypeKeyData]) { - _globalAutotypeKeyData = [globalAutotypeKeyData copy]; +- (void)setHotKey:(DDHotKey *)hotKey { + static NSData *defaultHotKeyData = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + defaultHotKeyData = [[DDHotKey defaultHotKey] keyData]; + }); + NSData *newData = [hotKey keyData]; + if(![newData isEqualToData:defaultHotKeyData]) { + [[NSUserDefaults standardUserDefaults] setObject:newData forKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]; } - DDHotKey *hotKey = [[DDHotKey alloc] initWithKeyData:_globalAutotypeKeyData]; - self.hotKeyTextField.hotKey = hotKey; + _hotKey = hotKey; } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index f90e0272..da94f14f 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -40,8 +40,8 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideUsername; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHidePassword; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideNotes; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL; - /* Document/Key Location store */ + APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; // Path to the last opened Database. Workaround if users have disabled the feautere in the OS APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; // NSDictionary of all db file urls and the corresponding key file url APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // YES if key files should be rememberd From 4f33840b184844379651e9e21c340b35b9d78c81 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Fri, 15 Aug 2014 22:15:47 -0400 Subject: [PATCH 072/778] Percent escape strings before creating URLs URLWithString will return nil if the string contains invalid URL characters (such as spaces). Percent escape the string before attempting to create an NSURL using it. --- MacPass/MPEntryViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index a207f05c..e6b4652e 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -616,10 +616,10 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; - (void)openURL:(id)sender { KPKEntry *selectedEntry = [self _clickedOrSelectedEntry]; if(selectedEntry && [selectedEntry.url length] > 0) { - NSURL *webURL = [NSURL URLWithString:selectedEntry.url]; + NSURL *webURL = [NSURL URLWithString:[selectedEntry.url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSString *scheme = [webURL scheme]; if(!scheme) { - webURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", selectedEntry.url]]; + webURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", [selectedEntry.url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; } [[NSWorkspace sharedWorkspace] openURL:webURL]; /* Add custom browser support */ From be03656ce986b3c1b168e4d16571eefb8640c2cc Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sat, 16 Aug 2014 14:47:57 +0200 Subject: [PATCH 073/778] Updated to current TransformerKit --- TransformerKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransformerKit b/TransformerKit index c3ccd5fe..4b01d707 160000 --- a/TransformerKit +++ b/TransformerKit @@ -1 +1 @@ -Subproject commit c3ccd5fed4d77ac689dcf1b20f79db76935d2069 +Subproject commit 4b01d707d8d841beeb24a11ccb94fade4917bd9e From 8c1e6733e872288a2dd9f005ef529c9373332c78 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Sat, 16 Aug 2014 14:34:26 -0400 Subject: [PATCH 074/778] Finished implenting custom browser support With this change, another localized string for OTHER_BROWSER will be needed as well. I've also set the project to use 2 spaces for tabs by default since that is the coding style you use in the project. --- MacPass.xcodeproj/project.pbxproj | 2 + MacPass/Base.lproj/WorkflowSettings.xib | 8 ++-- MacPass/MPEntryViewController.m | 14 +++++-- MacPass/MPWorkflowSettingsController.m | 50 +++++++++++++++++++++--- MacPass/en.lproj/Localizable.strings | Bin 9336 -> 9408 bytes 5 files changed, 62 insertions(+), 12 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 5ae74ac5..b6b629b9 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1510,7 +1510,9 @@ 4C77E36515B84A240093A587 /* Frameworks */, 4C77E36315B84A240093A587 /* Products */, ); + indentWidth = 2; sourceTree = ""; + tabWidth = 2; }; 4C77E36315B84A240093A587 /* Products */ = { isa = PBXGroup; diff --git a/MacPass/Base.lproj/WorkflowSettings.xib b/MacPass/Base.lproj/WorkflowSettings.xib index 73c8ef52..f04ddbf4 100644 --- a/MacPass/Base.lproj/WorkflowSettings.xib +++ b/MacPass/Base.lproj/WorkflowSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -91,7 +91,7 @@ - +

- + - + - + - + @@ -73,26 +72,28 @@ + - - - - - - - - - - - + + + + + + + + + + + + - + - + @@ -105,9 +106,9 @@ - + - + @@ -129,6 +130,7 @@ +
@@ -129,4 +129,4 @@ - \ No newline at end of file + diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index e6b4652e..50beb8ce 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -621,9 +621,17 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; if(!scheme) { webURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", [selectedEntry.url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; } - [[NSWorkspace sharedWorkspace] openURL:webURL]; - /* Add custom browser support */ - //[[NSWorkspace sharedWorkspace] openURLs:@[webURL] withAppBundleIdentifier:@"org.mozilla.firefox" options:NSWorkspaceLaunchAsync additionalEventParamDescriptor:nil launchIdentifiers:NULL]; + + NSString *browserBundleID = [[NSUserDefaults standardUserDefaults] objectForKey:kMPSettingsKeyBrowserBundleId]; + BOOL launched = NO; + + if (browserBundleID) { + launched = [[NSWorkspace sharedWorkspace] openURLs:@[webURL] withAppBundleIdentifier:browserBundleID options:NSWorkspaceLaunchAsync additionalEventParamDescriptor:nil launchIdentifiers:NULL]; + } + + if (!launched) { + [[NSWorkspace sharedWorkspace] openURL:webURL]; + } } } diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 5a15d14f..7bbdaf48 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -44,13 +44,26 @@ #pragma mark Actions - (void)selectBrowser:(id)sender { NSString *browserBundleId = [sender representedObject]; - NSLog(@"New default Browser: %@", browserBundleId); [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; [[NSUserDefaults standardUserDefaults] synchronize]; + [self _updateBrowserSelection]; } - (void)showCustomBrowserSelection:(id)sender { - NSAssert(NO,@"Not implemented!"); + NSOpenPanel *openPanel = [NSOpenPanel openPanel]; + [openPanel setDirectoryURL:[NSURL URLWithString:@"/Applications"]]; + [openPanel setAllowsMultipleSelection:NO]; + [openPanel setCanChooseDirectories:NO]; + [openPanel setCanChooseFiles:YES]; + [openPanel setAllowedFileTypes:@[@"app"]]; + + [openPanel beginSheetModalForWindow:[[self view] window] completionHandler:^(NSInteger result) { + if(result == NSFileHandlingPanelOKButton) { + NSMenuItem *customBrowser = [[NSMenuItem alloc] init]; + [customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]]; + [self selectBrowser:customBrowser]; + } + }]; } #pragma mark Helper @@ -58,8 +71,15 @@ /* Use a delegate ? */ NSMenu *browserMenu = [[NSMenu alloc] init]; [self.browserPopup setMenu:browserMenu]; - - [browserMenu addItemWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:NULL keyEquivalent:@""]; + + NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(selectBrowser:) keyEquivalent:@""]; + [defaultItem setRepresentedObject:nil]; + [defaultItem setTarget:self]; + [browserMenu addItem:defaultItem]; + + NSString *currentDefaultBrowser = [[NSUserDefaults standardUserDefaults] objectForKey:kMPSettingsKeyBrowserBundleId]; + NSMenuItem *selectedItem = defaultItem; + [browserMenu addItem:[NSMenuItem separatorItem]]; for(NSString *bundleIdentifier in [self _bundleIdentifierForHTTPS]) { @@ -69,16 +89,36 @@ [browserItem setRepresentedObject:bundleIdentifier]; [browserItem setTarget:self]; [browserMenu addItem:browserItem]; + + if ([bundleIdentifier isEqualToString:currentDefaultBrowser]) { + selectedItem = browserItem; + } } if([[browserMenu itemArray] count] > 2) { [browserMenu addItem:[NSMenuItem separatorItem]]; } - NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Selecte Browser") + + if (currentDefaultBrowser != nil && selectedItem == defaultItem) { + NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:currentDefaultBrowser]; + if (bundlePath != nil) { + NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath]; + NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""]; + [browserItem setRepresentedObject:currentDefaultBrowser]; + [browserItem setTarget:self]; + [browserMenu addItem:browserItem]; + + selectedItem = browserItem; + } + } + + NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Select Browser") action:@selector(showCustomBrowserSelection:) keyEquivalent:@""]; [selectOtherBrowserItem setTarget:self]; + [browserMenu addItem:selectOtherBrowserItem]; + [self.browserPopup selectItem:selectedItem]; } - (NSArray *)_bundleIdentifierForHTTPS { diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 4ad1ae0133f01364a5bf8be19d0c9dee58ce6788..42469b173134aa8ee7c0f006e5a04f2e793e8a9d 100644 GIT binary patch delta 44 wcmez2alms!o0PN?gFizEg9n2vLl8qegA Date: Sat, 16 Aug 2014 15:14:46 -0400 Subject: [PATCH 075/778] Make selected textfield end editing when a save will occur (issue #203) --- MacPass/MPDocument.h | 2 ++ MacPass/MPDocument.m | 4 ++++ MacPass/MPEntryInspectorViewController.m | 12 +++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index c95bc1e5..be0f2d3b 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -40,6 +40,8 @@ APPKIT_EXTERN NSString *const MPDocumentDidUnlockDatabaseNotification; APPKIT_EXTERN NSString *const MPDocumentCurrentItemChangedNotification; +APPKIT_EXTERN NSString *const MPDocumentWillSaveNotification; + /* Keys used in userInfo NSDictionaries on notifications */ APPKIT_EXTERN NSString *const MPDocumentEntryKey; APPKIT_EXTERN NSString *const MPDocumentGroupKey; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 6ed90806..5ab30290 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -56,6 +56,8 @@ NSString *const MPDocumentDidUnlockDatabaseNotification = @"com.hicknhack.macp NSString *const MPDocumentCurrentItemChangedNotification = @"com.hicknhack.macpass.MPDocumentCurrentItemChangedNotification"; +NSString *const MPDocumentWillSaveNotification = @"com.hicknhack.macpass.MPDocumentWillSaveNotification"; + NSString *const MPDocumentEntryKey = @"MPDocumentEntryKey"; NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey"; @@ -140,10 +142,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)saveDocumentAs:(id)sender { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocumentAs:sender]; } - (void)saveDocument:(id)sender { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocument:sender]; } diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index d36cf951..682b2e82 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -125,7 +125,12 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) name:MPDocumentDidAddEntryNotification - object:document]; + object:document]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_willSave:) + name:MPDocumentWillSaveNotification + object:document]; } - (void)dealloc { @@ -439,4 +444,9 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.titleTextField becomeFirstResponder]; } +- (void)_willSave:(NSNotification *)notification { + // Force selected textfield to end editing + [[[self view] window] makeFirstResponder:nil]; +} + @end From 030d97f4fc8bd07645ecce4f34372f9e24dcc76f Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 01:11:32 +0200 Subject: [PATCH 076/778] Using NSFileManager to locate URL for Applications --- MacPass/MPWorkflowSettingsController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 7bbdaf48..c4b65964 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -51,7 +51,8 @@ - (void)showCustomBrowserSelection:(id)sender { NSOpenPanel *openPanel = [NSOpenPanel openPanel]; - [openPanel setDirectoryURL:[NSURL URLWithString:@"/Applications"]]; + NSURL *applicationURL = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSSystemDomainMask][0]; + [openPanel setDirectoryURL:applicationURL]; [openPanel setAllowsMultipleSelection:NO]; [openPanel setCanChooseDirectories:NO]; [openPanel setCanChooseFiles:YES]; From 1a8419d8df94190b8242932646af02befe36a938 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 01:12:08 +0200 Subject: [PATCH 077/778] Skipping any bundles we cannot name correctly --- MacPass/MPWorkflowSettingsController.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index c4b65964..273e6740 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -86,6 +86,9 @@ for(NSString *bundleIdentifier in [self _bundleIdentifierForHTTPS]) { NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:bundleIdentifier]; NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath]; + if(nil == bundlePath || nil == browserName) { + continue; // Skip missing Applications + } NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""]; [browserItem setRepresentedObject:bundleIdentifier]; [browserItem setTarget:self]; From 1bbb778bc884975f90a996943544cd950ebc2a8a Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 01:34:00 +0200 Subject: [PATCH 078/778] Moved all constants into header --- MacPass/MPEntryViewController.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index a1d1c00c..6e9b6fe6 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -14,6 +14,10 @@ APPKIT_EXTERN NSString *const MPEntryTableTitleColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTablePasswordColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTableParentColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTableURLColumnIdentifier; +APPKIT_EXTERN NSString *const MPEntryTableNotesColumnIdentifier; +APPKIT_EXTERN NSString *const MPEntryTableAttachmentColumnIdentifier; +APPKIT_EXTERN NSString *const MPEntryTableModfiedColumnIdentifier; + /* Tags to determine what to copy */ typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { From b685afdf3f80505fee9063f393ab9086ad5383c3 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 13:10:49 +0200 Subject: [PATCH 079/778] Fixed .string encoding for Simplified Chinese. Added new keys to all Localizeable files --- MacPass.xcodeproj/project.pbxproj | 2 +- MacPass/de.lproj/Localizable.strings | Bin 9958 -> 10032 bytes MacPass/en.lproj/Localizable.strings | Bin 9408 -> 9410 bytes MacPass/fr.lproj/Localizable.strings | Bin 10054 -> 10124 bytes MacPass/nl.lproj/Localizable.strings | Bin 9966 -> 10036 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 4739 -> 7726 bytes 6 files changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index b6b629b9..17c0a922 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -910,7 +910,7 @@ 601F811218E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainMenu.strings"; sourceTree = ""; }; 601F811318E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PasswordInputView.strings"; sourceTree = ""; }; 601F811418E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InspectorView.strings"; sourceTree = ""; }; - 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; 601F811918E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/Credits.rtf"; sourceTree = ""; }; 601F811A18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizeable.strings"; sourceTree = ""; }; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 624f92addc356fc6383e33d1dcbd204e192a67b3..daa27b7f2de20d636d7ebb9cc28af10b41965f51 100644 GIT binary patch delta 81 zcmaFnyTNaRh>VL8gFizEg9n2vLl8qegA<4 delta 12 Tcmdns_sn;Lh|K0VnM+&%B?JW< diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 42469b173134aa8ee7c0f006e5a04f2e793e8a9d..6dd7195491913cd481fd012dcc6fd2fc9d87ae97 100644 GIT binary patch delta 15 XcmX@$dB}6a2`MHuh0Q0VesBT+H=PEB delta 16 YcmX@)dBAhS38~2qQf!+qNPXf207HidasU7T diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index c1156b99d8a4e42a80e7022885c19c78c44e4bbb..fac14882ac5e482de42f675f31c96eb8a32d4c8e 100644 GIT binary patch delta 76 zcmX@+*W}CGH)V3U0A{5Q A=Kufz delta 12 TcmeD2KjydLfy`z#*)%QyCISRiy)0`ihrOG;--y9Bgs}Jy&1ikSRSNkq8UBS$krbk zNw!=n5pdfC8f+6sHR&QNIjGFLuTd22IhO9;%P zlMmu74x?tsgy2y&1DRZ$hJiU4y?G;R{W#VQnBhIwHp~9X??YM%@~V(qFyo%Bw_CmA zV&Mop;iyD{`lKstmW8eWE(72tRJ%QBK<&$~SW9Vd)b_h_?wvhc5zb|3H;Q+JS5nU} zdsJ!p%8PP`!yk;jI6xKSW$(X8QW&LVCB zSF;v{0Z_PxdrNIR&Y3!%tpcCZz+w~EbzH|5t8<`Q#2rCr&f=nA^3Z^K&}UVAMz}6P z|0|GlQ~e5_B7~-|6+>vy-lIaLp$+%7U$uyA8-4dv+0ShAsewOxD|0VWVx0+ zxx(q2fyyRrrGriXtbOCvq-3GavWnDdmDo=|4IuVKSSiuTvXZfQ;`~;_m&cfm;O%0X zB{PU-wpC`5K1&MeeF+1I5xqvlq_xbF_t@6;t6Wb_RjylEwtiIPDK;KiynOl1sdqO2 z@B{HX^Xn`mcEHlctpt{oI!mXApjKU2X~q+LePrym@=0^bL&)z!TE>ce3Yox|_}&uU z>;z@J`|vJ7o?5ybFV&kw}{){XtFPOnrQ`%%T&H(1X(-LRjqrq6qwBwgY2pmUW|eS0gKEQnS_KCw?L zhzZ)}`>TKZK`69&(1q3pANzkQy}Te4`^_Z3vZ-FIX2MA-nLcIY^yw&c8A{|JtJX9; zG!GQH49v<5tt_XlwM1+#!RPU7y=%gOvmU*|$`E4W;@o!HL+RTSzn*$XMIXyllj7|R6BOTUE7(=@&_O8=y#B_7JY`K~?H|OO zzEi4C3(v$4;`^@)s$kq^^Z1%h!SU9 zKihtG`7b3GCr)rZHYf zXcbzyxk-KG`YR_U(Y^=PaY`J4rOXBDpT>o6`ERdxSFWrpK3vt~zHSa#z#UtFe3-^W z%}KgxD_&qO;+wm>I;PuYOG!FT-i|89_p+s7M%8eC8hJ$;nSq@xE@wDf^NQ1T)y@oQ z3;*!~Z9E>GkG}otRzor>$s=v0@}PA|4o~c4can#oN_M2~cVPCrx>F~1DBPP1r{_Fk z$DJUnpYIhvV)Vo(FTF7_6pl~)=0egJA3-u9xb7f0C+7R0BP)_$kELGud$fM=B|?wE z=kClRz?wN=d)apPjl|B)?LYH&7I5o`XkHQZF>=JM;&p(P+gmLxAk4 zm%w=ryJ)A&|KB3*s_d!R7D<0iTEyx-V9ufD4I%z=&O?8=8Hx4K*)KVMqH@Oe=`S$qxv+b&yp zYRJ=*BD}o@ifMcYrq>)d-@^Cz%n5VYJ}??~ud zm|o?d&Sb3+ySS6#8K}#6X1VB*oOs<1hSR^RTfRpA49usjW%MvJ+U+LxT775xD>aES zX8=XK+nHraygz$8mNhbc4gx)#koJ;w?}f=i&f9+^aoz`=-HeqyEjzh&;9_Cn{a17z z=VZx!Tm)&IR_#T@E+Y{bLPA2tn56GXM`(2EUUBI?Q%~g_*L15 zuKlg{)#9ORGQX*0TEXZhrTSSo4q4pw$+W=8^7Myiis>^qb_>=Do(2!u=jpw?p2gjb z|2Y548MCv``|spr)qUmt+|Hbu&6Rn|a~$GRBB$PBq)vv4%x9aAR=@Pw!O6!9)%uAF zaVjXr<4U%)=s3*~06htq80J-1{$E^t%5S_;ebmod&8}w(|@CT`QKJn37p+ z99KLqa5Y~so}Q+w7Ij67b@yM8OsiREaCc*W-rk#+>us)nrYY4MuU(DD_Ro{`jk)ON z$j)53cl5cYQRHe0)-RWh^34=|4R@=l3h6TEdx(9kykw`wH@fJ(MQ}m+&psf3;ozk7Czzw4JU00Td$r AF8}}l literal 4739 zcmb_gTT|QG6@KSe>@t&?)6AKqeQl@bL|7Y8u_ccrIV7?HR&HY3TCrccgHxFsQk zgg^ph0tp-lGZ5NCxS!;|bgXUs)W6WR_SVfDa-RBT_PVe2t&6yMo%Gk;G28c@5n@)x z9FLIeH+y=oRYxpYDjAkEp!Jf!5PTrP#>dv#W-v3``)9#1s1@{tCD_<%pZ-KR=l&d9 zI_zf7DQdx_2|MSTp6tAM*UeX?bm$V-{C2|f*MebMs#fG)wV&+=tJ~;KR)S{~**Hp@%<3L)+O&}%uO4Kl^4zY4U_IewlM1`i7({w$w!(KlNpCf&t8LsQ(NiaEq zGDys6syP@@+3Iwwi&~#U!&SN1Rn38(|QR>+HlaBBPP5t1@lj4%-mCZ2SbClk>W-6|^Pprz$a zMNAUvnar@Itj6J6fr~PhkK^3+WlboEg#L1y{l@>+BBFV91*KP@DojnuIkZZSyz(JxH zWo5~f`Xqx2*Iw<}p#NzG7E@nCL|9rC(< z8zQ1vgm&IUr~?}$l@k7xlN6zq=IlxppOVstKpvnf)g{5zX)Z&RkZn-Q(LPBXQq%!q zX74aK-R-+9QKSHKmXL=($eSQtSJ2c!TE&q9Kc1pNu_d2fkqrH4#};;@IiJ0sl_MMagh zVhHP0O-X`3XyQ_mX(2N&m(}T zB{l)N&?^`6StSF*JIZQ^->KPPV;0oJ`Nb95Uvc10so7)1zi0d8zU`56eY^s6Fnn(W@9t6|-!OYIZ!2xU&ghj|7xgrwI3w))> z?@}_UQe3USi@9rrMTPoJ8zn0Pmywne!H6V@An+jATW+1q1iMRY?{nx=sXJ=H3L7IP zcLf=yBgQfoD_InLF-J2}kkSDN;q(l~TFLeD-$|c6a@P^1z+nk3k99U_pC*OFS#*LJ zuCnbrH}Og(a>X03+7HCU17#V!j-bp?bU2`Z>U;c@tU32d{m$QDTZ9`zru|YOYjzrf2oM-*W9*LOlKLp2H7KD2PUou) z*RGQ9{_s8d;g7%XAqEt-QMFz29sU)4u%K}z+_3m{(K_BqjKf3fOuS4+yN2WYpx5L2 z!qo(8+cW`{;n0b96fT+pUBX3siDhMyO+Uw!6!N@KT?*LB0b~TJxJvr7TCrO?INF4L z%|7!pBuZBwe1$+e@nO?GKW(o*WS{5Y{t`P6J?{tbH(ZC*>OS!r;{n+kCd**~Sw+PS)i{^Rjc$O`EVo%W#v|vU}g}GL>tBzr| zv?k6@3@^nJj-u5aHuDAMY0QIahn&$$RWzP~t8j>x`jzms6N?bWd*{U_TbvTt3JOW^ zW%OViXMkO;-{sXZ;J(k87Je3)r98FZrjZp)KTlexIm4cO44QA?2Tob8r0TeSs6te{ zDCsKBAE;>Re79t3WORjp$8cqEx}{HfjQZzS?8QcBp~>rdwU*S*?w0@Yl2BGNjFN@P z;MPPETF0lNJZtB{`P_fcpTg+3pu z_z87|YrJ36bCNix5W8?9@k%f*AG&oL`FZ)c^CC+r*MgHnVFUOu^?BR#?$==hE4A^4 z51+lBXWz9Q?|VXBx9)m;AQx@72F=K;8*L&>QS$}-_>XS^VQXnEJ_6#~E98ZdK=p3+ zi!U$n%OqZ9m$d6N5AD${(&5KOA`(F*<%y-~UFc)9uR6Bp5Vui-3+*4gfqm%U8#itMB>o4%KQI;m From b56c1ee020f55ba08deda213802b728d93d346d8 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 13:32:39 +0200 Subject: [PATCH 080/778] Fixed static analyzer warnings on API missuse --- MacPass/MPDocument+Autotype.m | 2 +- MacPass/MPFixAutotypeWindowController.m | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 5e236a31..30918e45 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -32,7 +32,7 @@ + (BOOL)isCandidateForMalformedAutotype:(id)item { - NSString *keystrokeSequence; + NSString *keystrokeSequence = @""; if([item isKindOfClass:[KPKEntry class]] && ![((KPKEntry *)item).autotype hasDefaultKeystrokeSequence]) { keystrokeSequence = ((KPKEntry *)item).autotype.defaultKeystrokeSequence; } diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index 9710c327..b27f02b5 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -119,6 +119,10 @@ NSString *const kMPIconCell = @"IconCell"; association = item; } + if(nil == entry || nil == group || nil == association) { + return nil; + } + if([[tableColumn identifier] isEqualToString:kMPTitleCell]) { if(entry) { return entry.title; From f762f86938ec1687490c5618fc8ee075845fc474 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 13:33:46 +0200 Subject: [PATCH 081/778] Fixed wrong value on browser selection on cancled custom browser selection --- MacPass/MPWorkflowSettingsController.h | 2 +- MacPass/MPWorkflowSettingsController.m | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/MacPass/MPWorkflowSettingsController.h b/MacPass/MPWorkflowSettingsController.h index c56cfede..c03c353f 100644 --- a/MacPass/MPWorkflowSettingsController.h +++ b/MacPass/MPWorkflowSettingsController.h @@ -13,6 +13,6 @@ @property (weak) IBOutlet NSPopUpButton *browserPopup; -- (IBAction)showCustomBrowserSelection:(id)sender; +- (IBAction)_showCustomBrowserSelection:(id)sender; @end diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 273e6740..2ae523bb 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -42,14 +42,16 @@ } #pragma mark Actions -- (void)selectBrowser:(id)sender { +- (void)_selectBrowser:(id)sender { NSString *browserBundleId = [sender representedObject]; - [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; - [[NSUserDefaults standardUserDefaults] synchronize]; + if(browserBundleId) { + [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; + [[NSUserDefaults standardUserDefaults] synchronize]; + } [self _updateBrowserSelection]; } -- (void)showCustomBrowserSelection:(id)sender { +- (void)_showCustomBrowserSelection:(id)sender { NSOpenPanel *openPanel = [NSOpenPanel openPanel]; NSURL *applicationURL = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSSystemDomainMask][0]; [openPanel setDirectoryURL:applicationURL]; @@ -62,7 +64,11 @@ if(result == NSFileHandlingPanelOKButton) { NSMenuItem *customBrowser = [[NSMenuItem alloc] init]; [customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]]; - [self selectBrowser:customBrowser]; + [self _selectBrowser:customBrowser]; + } + else { + /* Reset the selection if the user cancels */ + [self _updateBrowserSelection]; } }]; } @@ -73,7 +79,7 @@ NSMenu *browserMenu = [[NSMenu alloc] init]; [self.browserPopup setMenu:browserMenu]; - NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(selectBrowser:) keyEquivalent:@""]; + NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(_selectBrowser:) keyEquivalent:@""]; [defaultItem setRepresentedObject:nil]; [defaultItem setTarget:self]; [browserMenu addItem:defaultItem]; @@ -89,7 +95,7 @@ if(nil == bundlePath || nil == browserName) { continue; // Skip missing Applications } - NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""]; + NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""]; [browserItem setRepresentedObject:bundleIdentifier]; [browserItem setTarget:self]; [browserMenu addItem:browserItem]; @@ -107,7 +113,7 @@ NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:currentDefaultBrowser]; if (bundlePath != nil) { NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath]; - NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""]; + NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""]; [browserItem setRepresentedObject:currentDefaultBrowser]; [browserItem setTarget:self]; [browserMenu addItem:browserItem]; @@ -117,7 +123,7 @@ } NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Select Browser") - action:@selector(showCustomBrowserSelection:) + action:@selector(_showCustomBrowserSelection:) keyEquivalent:@""]; [selectOtherBrowserItem setTarget:self]; From 2bfcd4dd4456dd9a587f5583b6eed52d0fd84ba3 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 17 Aug 2014 13:36:50 +0200 Subject: [PATCH 082/778] Added comment --- MacPass/MPWorkflowSettingsController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 2ae523bb..d5e75fd4 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -62,6 +62,7 @@ [openPanel beginSheetModalForWindow:[[self view] window] completionHandler:^(NSInteger result) { if(result == NSFileHandlingPanelOKButton) { + // TODO: Autorelease pool? NSMenuItem *customBrowser = [[NSMenuItem alloc] init]; [customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]]; [self _selectBrowser:customBrowser]; From c6cd1788ad22fb86cc61b9d5996a7d448c2b886a Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 17 Aug 2014 21:32:14 +0200 Subject: [PATCH 083/778] Updated to current TransformerKit --- TransformerKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransformerKit b/TransformerKit index 4b01d707..db20fcea 160000 --- a/TransformerKit +++ b/TransformerKit @@ -1 +1 @@ -Subproject commit 4b01d707d8d841beeb24a11ccb94fade4917bd9e +Subproject commit db20fcea462f3269c0464f6c132ae4bd2ddb060d From 24acbbb82365ee6fff32f92bb90c768f833ee9c7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 00:22:40 +0200 Subject: [PATCH 084/778] Fixed reseting defaults on browser selection --- MacPass/MPWorkflowSettingsController.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index d5e75fd4..ff1f21c2 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -44,10 +44,13 @@ #pragma mark Actions - (void)_selectBrowser:(id)sender { NSString *browserBundleId = [sender representedObject]; - if(browserBundleId) { - [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; - [[NSUserDefaults standardUserDefaults] synchronize]; + if(nil == browserBundleId) { + [[NSUserDefaults standardUserDefaults] removeObjectForKey:kMPSettingsKeyBrowserBundleId]; } + else { + [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; + } + [[NSUserDefaults standardUserDefaults] synchronize]; [self _updateBrowserSelection]; } From 07057e450c82f162ab0100727b49e8fd4c26b3d9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 00:34:16 +0200 Subject: [PATCH 085/778] Fixed documentation errors --- MacPass/MPDocument.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index be0f2d3b..cee549a7 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -24,12 +24,15 @@ #import "KPKVersion.h" /** - * Postes when a new group was added by the document. This is only fired when the user caused this by adding. Undo/Redo does NOT post this - * The userInfo dictionary conatins one the added group at MPDocumentGroupKey + * Posted when a new group was added to the document. + * This is only posted when the user caused this by adding. + * Undo/Redo will not cause this notification to be reposted + * The userInfo dictionary contains the added group at MPDocumentGroupKey */ APPKIT_EXTERN NSString *const MPDocumentDidAddGroupNotification; /** - * Posted when the used has added a new entry. Not posted on undo/redo. + * Posted when the user has added a new entry to the document. + * Undo/redo will not cause this notification to be reposted. * The userInfo dictionary contains the added entry at MPDocumentEntryKey */ APPKIT_EXTERN NSString *const MPDocumentDidAddEntryNotification; From 1d19b08f21407f27ba00a134f1c8bfa325c25591 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Sun, 17 Aug 2014 19:28:29 -0400 Subject: [PATCH 086/778] Implemented workflow double click settings --- MacPass/Base.lproj/GeneralSettings.xib | 41 +++---------------- MacPass/Base.lproj/WorkflowSettings.xib | 8 ++-- MacPass/MPEntryViewController.m | 22 ++++++++-- MacPass/MPGeneralSettingsController.h | 1 - MacPass/MPGeneralSettingsController.m | 1 - MacPass/MPSettingsHelper.h | 16 +++++++- MacPass/MPSettingsHelper.m | 33 ++++++++------- MacPass/MPWorkflowSettingsController.h | 2 + MacPass/MPWorkflowSettingsController.m | 5 +++ MacPass/de.lproj/WorkflowSettings.strings | 2 +- MacPass/en.lproj/WorkflowSettings.strings | 4 +- MacPass/fr.lproj/WorkflowSettings.strings | 4 +- MacPass/nl.lproj/WorkflowSettings.strings | 4 +- .../zh-Hans.lproj/WorkflowSettings.strings | 2 +- 14 files changed, 78 insertions(+), 67 deletions(-) diff --git a/MacPass/Base.lproj/GeneralSettings.xib b/MacPass/Base.lproj/GeneralSettings.xib index a375c720..949010ed 100644 --- a/MacPass/Base.lproj/GeneralSettings.xib +++ b/MacPass/Base.lproj/GeneralSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -10,7 +10,6 @@ - @@ -22,33 +21,9 @@ - + - - - - - - - - - - - - - - - - - @@ -196,7 +171,7 @@ - + @@ -238,13 +213,9 @@ - - - - - + - \ No newline at end of file + diff --git a/MacPass/Base.lproj/WorkflowSettings.xib b/MacPass/Base.lproj/WorkflowSettings.xib index f04ddbf4..1c0c551e 100644 --- a/MacPass/Base.lproj/WorkflowSettings.xib +++ b/MacPass/Base.lproj/WorkflowSettings.xib @@ -8,6 +8,8 @@ + + @@ -36,7 +38,7 @@ - + @@ -59,13 +61,13 @@ - + - + diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 50beb8ce..acb71219 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -660,7 +660,17 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; NSTableColumn *column = [self.entryTable tableColumns][[self.entryTable clickedColumn]]; NSString *identifier = [column identifier]; if([identifier isEqualToString:MPEntryTableTitleColumnIdentifier]) { - [[self windowController] showInspector:nil]; + MPDoubleClickTitleAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickTitleAction]; + if (action == MPDoubleClickTitleActionInspect) { + [[self windowController] showInspector:nil]; + } + else if (action == MPDoubleClickTitleActionIgnore) { + + } + else { + NSLog(@"Unknown double click action"); + } + } else if([identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]) { [self copyPassword:nil]; @@ -669,10 +679,16 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self copyUsername:nil]; } else if([identifier isEqualToString:MPEntryTableURLColumnIdentifier]) { - if([[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyDoubleClickURLToLaunch]) + MPDoubleClickURLAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickURLAction]; + if(action == MPDoubleClickURLActionOpen) { [self openURL:nil]; - else + } + else if (action == MPDoubleClickURLActionCopy) { [self copyURL:nil]; + } + else { + NSLog(@"Unknown double click URL action"); + } } // TODO: Add more actions for new columns } diff --git a/MacPass/MPGeneralSettingsController.h b/MacPass/MPGeneralSettingsController.h index 95d7aa34..4e206ce2 100644 --- a/MacPass/MPGeneralSettingsController.h +++ b/MacPass/MPGeneralSettingsController.h @@ -13,7 +13,6 @@ @interface MPGeneralSettingsController : MPViewController @property (weak) IBOutlet NSButton *clearPasteboardOnQuitCheckButton; -@property (weak) IBOutlet NSButton *doubleClickURLToLaunchCheckButton; @property (weak) IBOutlet NSPopUpButton *clearPasteboardTimeoutPopup; @property (weak) IBOutlet NSPopUpButton *idleTimeOutPopup; @property (weak) IBOutlet NSButton *lockOnSleepCheckButton; diff --git a/MacPass/MPGeneralSettingsController.m b/MacPass/MPGeneralSettingsController.m index 248d38d5..dc545e90 100644 --- a/MacPass/MPGeneralSettingsController.m +++ b/MacPass/MPGeneralSettingsController.m @@ -34,7 +34,6 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab"; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; [self.clearPasteboardOnQuitCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyClearPasteboardOnQuit] options:nil]; - [self.doubleClickURLToLaunchCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLToLaunch] options:nil]; [self.clearPasteboardTimeoutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyPasteboardClearTimeout] options:nil]; [self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLockOnSleep] options:nil]; [self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyIdleLockTimeOut] options:nil]; diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index da94f14f..a87014c9 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -18,7 +18,6 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch; APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch; /* URL handling */ -APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLToLaunch; APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId; /* Server Settings */ @@ -50,7 +49,6 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key -APPKIT_EXTERN NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown; // YES if Autotype fix was shown /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; @@ -58,6 +56,20 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; /* Quicklook */ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; +/* Workflow */ +APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLAction; +APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickTitleAction; + +typedef NS_ENUM(NSUInteger, MPDoubleClickURLAction) { + MPDoubleClickURLActionCopy, + MPDoubleClickURLActionOpen, +}; + +typedef NS_ENUM(NSUInteger, MPDoubleClickTitleAction) { + MPDoubleClickTitleActionInspect, + MPDoubleClickTitleActionIgnore, +}; + /* Password Generation */ APPKIT_EXTERN NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard; APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordRounds; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 8c3c5081..91580275 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -11,7 +11,6 @@ NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; -NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; @@ -49,10 +48,14 @@ NSString *const kMPSettingsKeyPasswordCharacterFlags = @"Passwo NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; NSString *const kMPSettingsKeyPasswordCustomString = @"PasswordCustomString"; -/* Depricated */ -NSString *const kMPDepricatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases"; -NSString *const kMPDepricatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; -NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; +NSString *const kMPSettingsKeyDoubleClickURLAction = @"DoubleClickURLAction"; +NSString *const kMPSettingsKeyDoubleClickTitleAction = @"DoubleClickTitleAction"; + +/* Deprecated */ +NSString *const kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases"; +NSString *const kMPDeprecatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; +NSString *const kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; +NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; @implementation MPSettingsHelper @@ -77,7 +80,6 @@ NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"Do kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds kMPSettingsKeyClearPasteboardOnQuit: @YES, - kMPSettingsKeyDoubleClickURLToLaunch: @NO, kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES, kMPSettingsKeyHttpPort: @19455, @@ -100,27 +102,30 @@ NSString *const kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"Do kMPSettingsKeyDefaultPasswordLength: @12, kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll), kMPSettingsKeyPasswordUseCustomString: @NO, - kMPSettingsKeyPasswordCustomString: @"" + kMPSettingsKeyPasswordCustomString: @"", + kMPSettingsKeyDoubleClickURLAction: @(MPDoubleClickURLActionCopy), + kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect) }; }); return standardDefaults; } -+ (NSArray *)_depircatedSettingsKeys { - static NSArray *depircatedSettings; ++ (NSArray *)_deprecatedSettingsKeys { + static NSArray *deprecatedSettings; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - depircatedSettings = @[ kMPDepricatedSettingsKeyRememberKeyFilesForDatabases, - kMPDepricatedSettingsKeyLastDatabasePath, - kMPDepricatedSettingsKeyDocumentsAutotypeFixNoteWasShown ]; + deprecatedSettings = @[ kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases, + kMPDeprecatedSettingsKeyLastDatabasePath, + kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown, + kMPDeprecatedSettingsKeyDoubleClickURLToLaunch ]; }); - return depircatedSettings; + return deprecatedSettings; } + (void)_removeObsolteValues { /* Clear old style values */ - for(NSString *key in [self _depircatedSettingsKeys]) { + for(NSString *key in [self _deprecatedSettingsKeys]) { [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; } } diff --git a/MacPass/MPWorkflowSettingsController.h b/MacPass/MPWorkflowSettingsController.h index c03c353f..38de88a7 100644 --- a/MacPass/MPWorkflowSettingsController.h +++ b/MacPass/MPWorkflowSettingsController.h @@ -12,6 +12,8 @@ @interface MPWorkflowSettingsController : MPViewController @property (weak) IBOutlet NSPopUpButton *browserPopup; +@property (weak) IBOutlet NSPopUpButton *doubleClickURLPopup; +@property (weak) IBOutlet NSPopUpButton *doubleClickTitlePopup; - (IBAction)_showCustomBrowserSelection:(id)sender; diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index ff1f21c2..cdb79cc2 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -21,6 +21,11 @@ } - (void)didLoadView { + NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; + + [self.doubleClickURLPopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLAction] options:nil]; + [self.doubleClickTitlePopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickTitleAction] options:nil]; + [self _updateBrowserSelection]; } diff --git a/MacPass/de.lproj/WorkflowSettings.strings b/MacPass/de.lproj/WorkflowSettings.strings index f6a48105..1698658c 100644 --- a/MacPass/de.lproj/WorkflowSettings.strings +++ b/MacPass/de.lproj/WorkflowSettings.strings @@ -20,7 +20,7 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ "42.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "is Ignored"; ObjectID = "43"; */ +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ "43.title" = "ignorieren"; /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ diff --git a/MacPass/en.lproj/WorkflowSettings.strings b/MacPass/en.lproj/WorkflowSettings.strings index 10c668c9..56e8924f 100644 --- a/MacPass/en.lproj/WorkflowSettings.strings +++ b/MacPass/en.lproj/WorkflowSettings.strings @@ -20,8 +20,8 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ "42.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "is Ignored"; ObjectID = "43"; */ -"43.title" = "is Ignored"; +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ +"43.title" = "Is Ignored"; /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ "44.title" = "Opens Inspector"; diff --git a/MacPass/fr.lproj/WorkflowSettings.strings b/MacPass/fr.lproj/WorkflowSettings.strings index 10c668c9..56e8924f 100644 --- a/MacPass/fr.lproj/WorkflowSettings.strings +++ b/MacPass/fr.lproj/WorkflowSettings.strings @@ -20,8 +20,8 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ "42.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "is Ignored"; ObjectID = "43"; */ -"43.title" = "is Ignored"; +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ +"43.title" = "Is Ignored"; /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ "44.title" = "Opens Inspector"; diff --git a/MacPass/nl.lproj/WorkflowSettings.strings b/MacPass/nl.lproj/WorkflowSettings.strings index af9777a7..0c511add 100644 --- a/MacPass/nl.lproj/WorkflowSettings.strings +++ b/MacPass/nl.lproj/WorkflowSettings.strings @@ -20,8 +20,8 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ "42.title" = "Overige"; -/* Class = "NSMenuItem"; title = "is Ignored"; ObjectID = "43"; */ -"43.title" = "is Genegeerd"; +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ +"43.title" = "Is Genegeerd"; /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ "44.title" = "Opent Inspector"; diff --git a/MacPass/zh-Hans.lproj/WorkflowSettings.strings b/MacPass/zh-Hans.lproj/WorkflowSettings.strings index 7ccd85af..5b98d640 100644 --- a/MacPass/zh-Hans.lproj/WorkflowSettings.strings +++ b/MacPass/zh-Hans.lproj/WorkflowSettings.strings @@ -20,7 +20,7 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ "42.title" = "其他视图"; -/* Class = "NSMenuItem"; title = "is Ignored"; ObjectID = "43"; */ +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ "43.title" = "被忽略了"; /* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ From 2b1de3d63bc26fd341eaa8100e497bac1404dac2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 01:56:12 +0200 Subject: [PATCH 087/778] Migration old URL Double click actions --- MacPass/MPSettingsHelper.m | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 91580275..45b12f9e 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -64,8 +64,9 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do } + (void)migrateDefaults { - [self _removeObsolteValues]; [self _fixEntryTableSortDescriptors]; + [self _migrateURLDoubleClickPreferences]; + [self _removeDeprecatedValues]; } + (NSString *)defaultControllerPathForKey:(NSString *)key { @@ -123,7 +124,7 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do } -+ (void)_removeObsolteValues { ++ (void)_removeDeprecatedValues { /* Clear old style values */ for(NSString *key in [self _deprecatedSettingsKeys]) { [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; @@ -148,4 +149,12 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do } } ++ (void)_migrateURLDoubleClickPreferences { + /* Default was NO so if the key was not set, we also get NO, which is what we want */ + BOOL openURL = [[NSUserDefaults standardUserDefaults] boolForKey:kMPDeprecatedSettingsKeyDoubleClickURLToLaunch]; + if(NO == openURL) { + [[NSUserDefaults standardUserDefaults] setInteger:MPDoubleClickURLActionOpen forKey:kMPSettingsKeyDoubleClickURLAction]; + } +} + @end From 6231e192af17ab9148e7c9f26ec9b2511ed83741 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 01:56:39 +0200 Subject: [PATCH 088/778] Extracted column actions into seperate methods --- MacPass/MPEntryViewController.m | 50 +++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index acb71219..6f841bd4 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -660,17 +660,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; NSTableColumn *column = [self.entryTable tableColumns][[self.entryTable clickedColumn]]; NSString *identifier = [column identifier]; if([identifier isEqualToString:MPEntryTableTitleColumnIdentifier]) { - MPDoubleClickTitleAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickTitleAction]; - if (action == MPDoubleClickTitleActionInspect) { - [[self windowController] showInspector:nil]; - } - else if (action == MPDoubleClickTitleActionIgnore) { - - } - else { - NSLog(@"Unknown double click action"); - } - + [self _executeTitleColumnDoubleClick]; } else if([identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]) { [self copyPassword:nil]; @@ -679,18 +669,36 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self copyUsername:nil]; } else if([identifier isEqualToString:MPEntryTableURLColumnIdentifier]) { - MPDoubleClickURLAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickURLAction]; - if(action == MPDoubleClickURLActionOpen) { - [self openURL:nil]; - } - else if (action == MPDoubleClickURLActionCopy) { - [self copyURL:nil]; - } - else { - NSLog(@"Unknown double click URL action"); - } + [self _executeURLColumnDoubleClick]; } // TODO: Add more actions for new columns } +- (void)_executeTitleColumnDoubleClick { + MPDoubleClickTitleAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickTitleAction]; + switch(action) { + case MPDoubleClickTitleActionInspect: + [[self windowController] showInspector:nil]; + break; + case MPDoubleClickTitleActionIgnore: + break; + default: + NSLog(@"Unknown double click title action"); + break; + } +} +- (void)_executeURLColumnDoubleClick { + MPDoubleClickURLAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickURLAction]; + switch (action) { + case MPDoubleClickURLActionOpen: + [self openURL:nil]; + break; + case MPDoubleClickURLActionCopy: + [self copyURL:nil]; + break; + default: + NSLog(@"Unknown double click URL action"); + break; + } +} @end From 019e64a9266924f2e99cd7aca6d095e099a1c2fb Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 12:23:11 +0200 Subject: [PATCH 089/778] Fixed exit Search issues Exiting search now clears matching entries when no group was preselected (use case is opening a DB and then search without selecting a group) Deleting a group now correctly deselects the group. Previously the inspector still showed the group, but the outline view did not show any selection. --- MacPass/MPEntryViewController.m | 10 ++++++++-- MacPass/MPOutlineViewController.m | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 6f841bd4..c6c057f1 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -328,8 +328,10 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; - (void)_didChangeCurrentItem:(NSNotification *)notification { MPDocument *document = [notification object]; - if(!document.selectedGroup) { - /* TODO: handle deleted item */ + if(!document.selectedGroup && !document.hasSearch) { + /* no group selection out of search is wrong */ + [self.entryArrayController unbind:NSContentArrayBinding]; + [self.entryArrayController setContent:nil]; return; } /* @@ -384,6 +386,10 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:YES]; MPDocument *document = [[self windowController] document]; document.selectedItem = document.selectedGroup; + if( nil == document.selectedItem && nil == document.selectedGroup ) { + [self.entryArrayController unbind:NSContentArrayBinding]; + [self.entryArrayController setContent:nil]; + } [self _updateContextBar]; } diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index ee537209..66ac9714 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -247,7 +247,6 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; id representedObject = [item representedObject]; if([representedObject isKindOfClass:[KPKGroup class]]) { KPKGroup *group = (KPKGroup *)representedObject; - NSLog(@"IndexPath for %@: %@ vs. %@", group.name, [item indexPath], [group indexPath]); group.isExpanded = YES; } } @@ -261,6 +260,13 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } } +- (void)outlineView:(NSOutlineView *)outlineView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row { + /* Deletion of an item */ + if(row == -1) { + [self outlineViewSelectionDidChange:nil]; + } +} + #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { MPDocument *document = [[self windowController] document]; From cb599671b4c12b8d02bc8ec330caa97cef6403d3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 12:27:20 +0200 Subject: [PATCH 090/778] Remove unused Notification key --- MacPass/MPLockDaemon.h | 2 -- MacPass/MPLockDaemon.m | 1 - 2 files changed, 3 deletions(-) diff --git a/MacPass/MPLockDaemon.h b/MacPass/MPLockDaemon.h index 73278058..891f5d45 100644 --- a/MacPass/MPLockDaemon.h +++ b/MacPass/MPLockDaemon.h @@ -8,8 +8,6 @@ #import -APPKIT_EXTERN NSString *const MPShouldLockDatabaseNotification; - @interface MPLockDaemon : NSObject + (MPLockDaemon *)sharedInstance; diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index dd4ea41c..4aa02707 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -10,7 +10,6 @@ #import "MPSettingsHelper.h" #import "MPAppDelegate.h" -NSString *const MPShouldLockDatabaseNotification = @"com.hicknhack.macpass.MPShouldLockDatabaseNotification"; @interface MPLockDaemon () { NSTimer *idleCheckTimer; From e2e47a9bcfb5c5735518a4ba311b46f83f2fb33c Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 12:27:55 +0200 Subject: [PATCH 091/778] Idle lock now uses application idle time instead of system idle time --- MacPass/MPLockDaemon.m | 70 +++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index 4aa02707..e82adef2 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -10,13 +10,13 @@ #import "MPSettingsHelper.h" #import "MPAppDelegate.h" - -@interface MPLockDaemon () { - NSTimer *idleCheckTimer; -} +@interface MPLockDaemon () @property (nonatomic,assign) BOOL lockOnSleep; @property (nonatomic,assign) NSUInteger idleLockTime; +@property (nonatomic,strong) id eventHandler; +@property (nonatomic,strong) NSTimer *idleCheckTimer; +@property (assign) NSTimeInterval lastLocalEventTime; @end @@ -34,22 +34,19 @@ - (id)init { self = [super init]; if (self) { - NSString *lockOnSleepKey = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyLockOnSleep]; - NSString *idleTimeOutKey = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyIdleLockTimeOut]; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; - [self bind:@"lockOnSleep" toObject:defaultsController withKeyPath:lockOnSleepKey options:nil]; - [self bind:@"idleLockTime" toObject:defaultsController withKeyPath:idleTimeOutKey options:nil]; + [self bind:NSStringFromSelector(@selector(lockOnSleep)) toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLockOnSleep] options:nil]; + [self bind:NSStringFromSelector(@selector(idleLockTime)) toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyIdleLockTimeOut] options:nil]; } return self; } -- (void)dealloc -{ +- (void)dealloc { /* Notifications */ [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self]; /* Timer */ - [idleCheckTimer invalidate]; + [NSEvent removeMonitor:self.eventHandler]; } @@ -70,18 +67,10 @@ if(_idleLockTime != idleLockTime) { _idleLockTime = idleLockTime; if(_idleLockTime == 0) { - [idleCheckTimer invalidate]; - idleCheckTimer = nil; + [self _stopIdleChecking]; } else { - if( idleCheckTimer ) { - NSAssert([idleCheckTimer isValid], @"Timer needs to be valid"); - [idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime ]]; - return; // Done - } - /* Create new timer and schedule it with runloop */ - idleCheckTimer = [NSTimer timerWithTimeInterval:_idleLockTime target:self selector:@selector(_checkIdleTime:) userInfo:nil repeats:YES]; - [[NSRunLoop mainRunLoop] addTimer:idleCheckTimer forMode:NSDefaultRunLoopMode]; + [self _updateOrStartIdleChecking]; } } } @@ -91,15 +80,46 @@ } - (void)_checkIdleTime:(NSTimer *)timer { - CFTimeInterval interval = CGEventSourceSecondsSinceLastEventType(kCGEventSourceStateCombinedSessionState,kCGAnyInputEventType); - if(interval >= _idleLockTime) { + if(timer != self.idleCheckTimer) { + return; // Wrong timer?! + } + NSTimeInterval currentInterval = ([NSDate timeIntervalSinceReferenceDate] - self.lastLocalEventTime); + if(self.idleLockTime < currentInterval) { [[NSApp delegate] lockAllDocuments]; /* Reset the timer to full intervall */ - [idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime]]; + [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime]]; } else { - [idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:(_idleLockTime - interval) ]]; + [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:(_idleLockTime - currentInterval)]]; } } +- (void)_stopIdleChecking { + [self.idleCheckTimer invalidate]; + self.idleCheckTimer = nil; + [NSEvent removeMonitor:self.eventHandler]; + self.eventHandler = nil; +} + +- (void)_updateOrStartIdleChecking { + /* update or create Timer */ + if( self.idleCheckTimer ) { + NSAssert([self.idleCheckTimer isValid], @"Timer needs to be valid"); + [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:self.idleLockTime ]]; + } + else { + self.idleCheckTimer = [NSTimer timerWithTimeInterval:self.idleLockTime target:self selector:@selector(_checkIdleTime:) userInfo:nil repeats:YES]; + [[NSRunLoop mainRunLoop] addTimer:self.idleCheckTimer forMode:NSDefaultRunLoopMode]; + } + /* Create event handler if necessary */ + if(self.eventHandler) { + return; + } + MPLockDaemon __weak *welf = self; + self.eventHandler = [NSEvent addLocalMonitorForEventsMatchingMask:NSAnyEventMask handler:^NSEvent *(NSEvent *theEvent) { + welf.lastLocalEventTime = [NSDate timeIntervalSinceReferenceDate]; + return theEvent; + }]; +} + @end From 21586b7099246b690760f722373ed2c44fe7f036 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 16:31:30 +0200 Subject: [PATCH 092/778] Removed obsolte method --- MacPass/MPEntryViewController.m | 4 ---- 1 file changed, 4 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index c6c057f1..a3d1ac21 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -641,10 +641,6 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; } } -- (IBAction)enterHistoryBrowser:(id)sender { - -} - - (void)delete:(id)sender { KPKEntry *entry =[self _clickedOrSelectedEntry]; if(!entry) { From c84d90a4539ac77c90db5c4f9c7afb4cc4072529 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 16:32:06 +0200 Subject: [PATCH 093/778] Fixed isse with wrong sort descriptors on modification date --- MacPass/MPEntryViewController.h | 4 ++++ MacPass/MPEntryViewController.m | 11 +++++++++-- MacPass/MPSettingsHelper.m | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index 6e9b6fe6..a87446d6 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -46,4 +46,8 @@ typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { - (void)copyURL:(id)sender; - (void)openURL:(id)sender; +/* Settings migration */ ++ (NSString *)timeInfoModificationTimeKeyPath; + @end + diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index a3d1ac21..0c41e22f 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -93,6 +93,14 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; @implementation MPEntryViewController ++ (NSString *)timeInfoModificationTimeKeyPath { + static NSString *timeInfoModificationTimeKeyPath; + if(nil == timeInfoModificationTimeKeyPath) { + timeInfoModificationTimeKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(lastModificationTime))]; + } + return timeInfoModificationTimeKeyPath; +} + - (NSString *)nibName { return @"EntryView"; } @@ -158,12 +166,11 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; [self.entryTable setAutosaveTableColumns:YES]; NSString *parentNameKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(parent)), NSStringFromSelector(@selector(name))]; - NSString *timeInfoModificationTimeKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(lastModificationTime))]; NSSortDescriptor *titleColumSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(title))ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; NSSortDescriptor *userNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(username)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; NSSortDescriptor *urlSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(url)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; NSSortDescriptor *groupnameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:parentNameKeyPath ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; - NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:timeInfoModificationTimeKeyPath ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; + NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:[MPEntryViewController timeInfoModificationTimeKeyPath] ascending:YES selector:@selector(compare:)]; [titleColumn setSortDescriptorPrototype:titleColumSortDescriptor]; [userNameColumn setSortDescriptorPrototype:userNameSortDescriptor]; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 45b12f9e..0c54315b 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -8,6 +8,7 @@ #import "MPSettingsHelper.h" #import "NSString+MPPasswordCreation.h" +#import "MPEntryViewController.h" // Sort descriptors NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; @@ -141,8 +142,9 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do return; // No user defaults } NSArray *sortDescriptors = [NSUnarchiver unarchiveObjectWithData:descriptorData]; + for(NSSortDescriptor *descriptor in sortDescriptors) { - if([descriptor selector] == @selector(compare:)) { + if([descriptor selector] == @selector(compare:) || [[descriptor key] isEqualToString:[MPEntryViewController timeInfoModificationTimeKeyPath]] ) { [[NSUserDefaults standardUserDefaults] removeObjectForKey:kMPSettingsKeyEntryTableSortDescriptors]; break; } From a53da4cdab49eeb736918ff19438bfdd1422ef8f Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 18 Aug 2014 16:32:24 +0200 Subject: [PATCH 094/778] Changed to a reasonable color in history browser --- MacPass/MPContextBarViewController.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 18896fef..fe08badd 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -57,8 +57,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)awakeFromNib { [[self.filterLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised]; - - self.historyBar.activeGradient = [[NSGradient alloc] initWithStartingColor:[NSColor redColor] endingColor:[NSColor greenColor]]; + self.historyBar.activeGradient = [[NSGradient alloc] initWithStartingColor:[[NSColor orangeColor] shadowWithLevel:0.2] endingColor:[[NSColor orangeColor] highlightWithLevel:0.2]]; NSArray *activeColors = @[[NSColor colorWithCalibratedWhite:0.2 alpha:1],[NSColor colorWithCalibratedWhite:0.4 alpha:1]]; NSArray *inactiveColors = @[[NSColor colorWithCalibratedWhite:0.3 alpha:1],[NSColor colorWithCalibratedWhite:0.6 alpha:1]]; From e1d38ad6e27153e64e708bfc9268d081b882a7fc Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:21:00 +0200 Subject: [PATCH 095/778] Updated KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 1b5da6d4..378554d8 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 1b5da6d4f6e55307675b04209bf7f9997ec18f2c +Subproject commit 378554d834e068a58099f5cee531a455b0363acc From ac3a41e4a029d22a906d332dab059d056c658cdb Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:22:54 +0200 Subject: [PATCH 096/778] More drafting on history browsing --- MacPass/Base.lproj/InspectorView.xib | 15 +++++++++++++-- MacPass/ContextBar.xib | 7 +++++-- MacPass/MPDocument+HistoryBrowsing.m | 1 + MacPass/MPDocument.m | 6 ++++-- MacPass/MPEntryInspectorViewController.m | 23 ++++++++++++++++++----- MacPass/MPEntryViewController.m | 18 ++++++++++++++++++ MacPass/MPInspectorViewController.m | 12 +++++++++++- 7 files changed, 70 insertions(+), 12 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 245d5b55..14404bb7 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,5 +1,5 @@ - + @@ -52,6 +52,17 @@ + @@ -74,7 +85,7 @@ - + diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index ca6cec9b..04dffb30 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -202,6 +202,9 @@ + + + diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+HistoryBrowsing.m index a42b14c9..c4af067f 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+HistoryBrowsing.m @@ -14,6 +14,7 @@ NSString *const MPDocumentDidExitHistoryNotification = @"MPDocumentDidExitHisto @implementation MPDocument (HistoryBrowsing) - (void)showHistory:(id)sender { + NSAssert(self.selectedEntry && self.selectedItem == (id)self.selectedEntry, @"Entry needs to be selected for history browsing!"); [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterHistoryNotification object:self]; } diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 5ab30290..1cca672a 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -594,7 +594,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (BOOL)validateUserInterfaceItem:(id)anItem { if(self.encrypted || self.isReadOnly) { return NO; } - BOOL valid = YES; + BOOL valid = self.selectedItem ? self.selectedItem.isEditable : YES; switch([MPActionHelper typeForAction:[anItem action]]) { case MPActionAddGroup: valid &= (nil != self.selectedGroup); @@ -627,8 +627,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey case MPActionLock: valid &= self.compositeKey.hasPasswordOrKeyFile; break; + case MPActionShowHistory: + valid &= (self.selectedEntry && (self.selectedItem == (id)self.selectedEntry)); default: - valid = YES; + break; } return (valid && [super validateUserInterfaceItem:anItem]); } diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 682b2e82..a5f25b69 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -357,6 +357,15 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } - (void)_bindEntry { + static NSArray *items; + if(!items) { + items = @[ self.titleTextField, + self.passwordTextField, + self.usernameTextField, + self.URLTextField, + self.expiresCheckButton, + self.tagsTokenField ]; + } if(self.entry) { [self.titleTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; [self.passwordTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(password)) options:nil]; @@ -368,13 +377,17 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(tags)) options:nil]; + + /* Setup enable/disable */ + for(id item in items) { + [item bind:NSEnabledBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; + } } else { - [self.titleTextField unbind:NSValueBinding]; - [self.passwordTextField unbind:NSValueBinding]; - [self.usernameTextField unbind:NSValueBinding]; - [self.URLTextField unbind:NSValueBinding]; - [self.expiresCheckButton unbind:NSValueBinding]; + for(id item in items) { + [item unbind:NSValueBinding]; + [item unbind:NSEnabledBinding]; + } [self.expiresCheckButton unbind:NSTitleBinding]; } } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 0c41e22f..d0c6987a 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -13,6 +13,7 @@ #import "MPDocument.h" #import "MPDocument+Search.h" #import "MPDocument+Autotype.h" +#import "MPDocument+HistoryBrowsing.h" #import "MPDocumentWindowController.h" #import "MPPasteBoardController.h" @@ -235,6 +236,9 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterHistory:) name:MPDocumentDidEnterHistoryNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didExitHistory:) name:MPDocumentDidExitHistoryNotification object:document]; + [self.contextBarViewController registerNotificationsForDocument:document]; } @@ -413,6 +417,20 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; } } +- (void)_didEnterHistory:(NSNotification *)notification { + [self _showContextBar]; + /* TODO: Show modification date column if not present? */ + MPDocument *document = [[self windowController] document]; + [self.entryArrayController bind:NSContentArrayBinding toObject:document.selectedEntry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; +} + +- (void)_didExitHistory:(NSNotification *)notification { + [self _hideContextBar]; + MPDocument *document = [[self windowController] document]; + document.selectedItem = document.selectedEntry; +} + + #pragma mark ContextBar - (void)_updateContextBar { MPDocument *document = [[self windowController] document]; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index fbfc2ad0..557bdf32 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -170,7 +170,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { MPDocument *document = [[self windowController] document]; if(document.selectedItem) { - + /* TODO UndoManager handling */ [self.editButton setTitle:NSLocalizedString(@"EDIT_ITEM", "")]; [self.cancelEditButton setHidden:YES]; @@ -267,14 +267,24 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { - (void)_updateBindings:(id)item { if(!item) { [self.itemNameTextField unbind:NSValueBinding]; + [self.itemNameTextField unbind:NSEnabledBinding]; [self.itemNameTextField setHidden:YES]; [self.itemImageView unbind:NSValueBinding]; + [self.itemImageView unbind:NSEnabledBinding]; [self.itemImageView setHidden:YES]; [[self.notesTextView enclosingScrollView] setHidden:YES]; [self.notesTextView unbind:NSValueBinding]; + [self.notesTextView unbind:NSEditableBinding]; [self.notesTextView setString:@""]; return; } + + /* Disable if item is not editable */ + NSLog(@"%@ isEditable: %i", item, [item isEditable]); + [self.itemNameTextField bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; + [self.itemImageView bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; + [self.notesTextView bind:NSEditableBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; + [self.itemImageView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; [[self.notesTextView enclosingScrollView] setHidden:NO]; [self.notesTextView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(notes)) options:nil]; From 6d690020efa6d449641352745960a9ef305e2d0c Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:23:36 +0200 Subject: [PATCH 097/778] Fixed autotype hotkey getting registered without task --- MacPass/DDHotKey+Keydata.h | 2 +- MacPass/DDHotKey+Keydata.m | 6 +++--- MacPass/MPAutotypeDaemon.m | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/DDHotKey+Keydata.h b/MacPass/DDHotKey+Keydata.h index 73697c44..685661ab 100644 --- a/MacPass/DDHotKey+Keydata.h +++ b/MacPass/DDHotKey+Keydata.h @@ -13,6 +13,6 @@ + (instancetype)defaultHotKey; + (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task; - (NSData *)keyData; -- (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task; +- (instancetype)initWithKeyData:(NSData *)data task:(DDHotKeyTask)task; - (instancetype)initWithKeyData:(NSData *)data; @end diff --git a/MacPass/DDHotKey+Keydata.m b/MacPass/DDHotKey+Keydata.m index e29bd887..32785d7a 100644 --- a/MacPass/DDHotKey+Keydata.m +++ b/MacPass/DDHotKey+Keydata.m @@ -16,15 +16,15 @@ } + (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task { - return [[DDHotKey alloc] initWithKeyData:nil]; + return [[DDHotKey alloc] initWithKeyData:nil task:task]; } - (instancetype)initWithKeyData:(NSData *)data { - self = [self initWithKeyData:data taks:nil]; + self = [self initWithKeyData:data task:nil]; return self; } -- (instancetype)initWithKeyData:(NSData *)data taks:(DDHotKeyTask)task{ +- (instancetype)initWithKeyData:(NSData *)data task:(DDHotKeyTask)task{ NSUInteger modifierFlags; unsigned short keyCode; if(!data) { diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index e729779a..521696b6 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -200,7 +200,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; storedHotkey = [DDHotKey defaultHotKeyWithTask:aTask]; } else { - storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData taks:aTask]; + storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData task:aTask]; } self.registredHotKey = [[DDHotKeyCenter sharedHotKeyCenter] registerHotKey:storedHotkey]; } From 4acfde511781fa9ebb988d348308c38695e73e4e Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:23:57 +0200 Subject: [PATCH 098/778] Added missing ActionTypes --- MacPass/MPActionHelper.h | 4 +++- MacPass/MPActionHelper.m | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index 38cae57c..1558244d 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -27,7 +27,9 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionEditTemplateGroup, // Edit the Template group MPActionExportXML, // Exporte as XML MPActionImportXML, // Import form XML - MPActionToggleQuicklook + MPActionToggleQuicklook, + MPActionShowHistory, // History anzeigen + MPActionExitHistory // History ausblenden }; /** * Helper to retrieve commonly used actions diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 3c5b4d41..26d0b02b 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -7,6 +7,8 @@ // #import "MPActionHelper.h" +#import "MPDocument+HistoryBrowsing.h" +#import "MPEntryInspectorViewController.h" @implementation MPActionHelper @@ -32,7 +34,9 @@ @(MPActionEditTemplateGroup): @"editTemplateGroup:", @(MPActionExportXML): @"exportAsXML:", @(MPActionImportXML): @"importFromXMl:", - @(MPActionToggleQuicklook): @"toggleQuicklookPreview:", + @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), + @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), + @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)) }; }); return actionDict; From 472289f7d7dd5bf31720f5a453811f58f542d7ec Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:24:36 +0200 Subject: [PATCH 099/778] Fixed autotype for fields containing curly brackets --- MacPass/MPAutotypeCommand.m | 8 +++++++- MacPassTests/KPKTestAutotypeNormalization.m | 13 ++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 58632833..9908c6ef 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -99,7 +99,7 @@ NSUInteger reserverd = MAX(1,[context.normalizedCommand length] / 4); NSMutableArray *commands = [[NSMutableArray alloc] initWithCapacity:reserverd]; NSMutableArray __block *commandRanges = [[NSMutableArray alloc] initWithCapacity:reserverd]; - NSRegularExpression *commandRegExp = [[NSRegularExpression alloc] initWithPattern:@"\\{[^\\}]+\\}" options:NSRegularExpressionCaseInsensitive error:0]; + NSRegularExpression *commandRegExp = [[NSRegularExpression alloc] initWithPattern:@"\\{[^\\{\\}]+\\}" options:NSRegularExpressionCaseInsensitive error:0]; NSAssert(commandRegExp, @"RegExp is constant. Has to work all the time"); [commandRegExp enumerateMatchesInString:context.evaluatedCommand options:0 range:NSMakeRange(0, [context.evaluatedCommand length]) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { @autoreleasepool { @@ -160,6 +160,9 @@ if(!commandString) { return; } + /* TODO: Test for special Commands */ + /* TODO: fall back to paste if nothing matches */ + NSNumber *keyCodeNumber = [self keypressCommands][commandString]; @@ -167,6 +170,9 @@ CGKeyCode keyCode = [keyCodeNumber keyCodeValue]; [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; } + else { + [self appendPasteCommandForContent:commandString toCommands:commands]; + } } + (BOOL)updateModifierMask:(CGEventFlags *)mask forCommand:(NSString *)commandString { diff --git a/MacPassTests/KPKTestAutotypeNormalization.m b/MacPassTests/KPKTestAutotypeNormalization.m index 047ae9c3..3e23a62a 100644 --- a/MacPassTests/KPKTestAutotypeNormalization.m +++ b/MacPassTests/KPKTestAutotypeNormalization.m @@ -44,22 +44,25 @@ KPKEntry *entry = [[KPKEntry alloc] init]; entry.title = @"Title"; entry.url = @"www.myurl.com"; - entry.username = @"Username"; - entry.password = @"Password"; + entry.username = @"{{User{name}}}"; + entry.password = @"Pass{word}"; MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - XCTAssert([commands count] == 4); + XCTAssert([commands count] == 7); XCTAssert([commands[0] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[1] isKindOfClass:[MPAutotypeKeyPress class]]); + XCTAssert([commands[1] isKindOfClass:[MPAutotypePaste class]]); XCTAssert([commands[2] isKindOfClass:[MPAutotypePaste class]]); XCTAssert([commands[3] isKindOfClass:[MPAutotypeKeyPress class]]); + XCTAssert([commands[4] isKindOfClass:[MPAutotypePaste class]]); + XCTAssert([commands[5] isKindOfClass:[MPAutotypePaste class]]); + XCTAssert([commands[6] isKindOfClass:[MPAutotypeKeyPress class]]); context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; commands = [MPAutotypeCommand commandsForContext:context]; - XCTAssert([commands count] == 5); + //XCTAssert([commands count] == 5); } @end From 55d1644b17ee955dbb0aa38a797d9996915c8845 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:30:35 +0200 Subject: [PATCH 100/778] Fixed not empty trash action If there were only groups or entries in the trash, the empty action was always disabled. It only worked when groups and entries were inside the trash. --- MacPass/MPDocument.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 1cca672a..b2ac3a6f 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -617,8 +617,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey valid &= self.selectedEntry == self.selectedItem; break; case MPActionEmptyTrash: - valid &= [self.trash.groups count] > 0; - valid &= [self.trash.entries count] > 0; + valid &= ([self.trash.groups count] + [self.trash.entries count]) > 0; break; case MPActionDatabaseSettings: case MPActionEditPassword: From d1fc013f1c596f564d67bdb7530e0762209c3f6d Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 01:42:55 +0200 Subject: [PATCH 101/778] Removed duplicate paste commands for autotype --- MacPass/MPAutotypeCommand.m | 10 ++++++++-- MacPass/MPAutotypePaste.h | 1 + MacPass/MPAutotypePaste.m | 7 +++++++ MacPassTests/KPKTestAutotypeNormalization.m | 7 ++----- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 9908c6ef..585156a9 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -151,8 +151,14 @@ + (void)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { if(pasteContent) { - MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; - [commands addObject:pasteCommand]; + /* Update an already inserted paste command with the new conents */ + if([[commands lastObject] isKindOfClass:[MPAutotypePaste class]]) { + [[commands lastObject] appendString:pasteContent]; + } + else { + MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; + [commands addObject:pasteCommand]; + } } } diff --git a/MacPass/MPAutotypePaste.h b/MacPass/MPAutotypePaste.h index bc85f50d..c36097c1 100644 --- a/MacPass/MPAutotypePaste.h +++ b/MacPass/MPAutotypePaste.h @@ -14,5 +14,6 @@ @interface MPAutotypePaste : MPAutotypeCommand - (instancetype)initWithString:(NSString *)aString; +- (void)appendString:(NSString *)aString; @end \ No newline at end of file diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index 66d0b916..ac376b46 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -27,6 +27,11 @@ return self; } +- (void)appendString:(NSString *)aString { + self.pasteData = [self.pasteData stringByAppendingString:aString]; +} + + - (void)execute { if([self.pasteData length] > 0) { MPPasteBoardController *controller = [MPPasteBoardController defaultController]; @@ -40,4 +45,6 @@ return YES; } + + @end diff --git a/MacPassTests/KPKTestAutotypeNormalization.m b/MacPassTests/KPKTestAutotypeNormalization.m index 3e23a62a..b601694f 100644 --- a/MacPassTests/KPKTestAutotypeNormalization.m +++ b/MacPassTests/KPKTestAutotypeNormalization.m @@ -50,14 +50,11 @@ MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - XCTAssert([commands count] == 7); + XCTAssert([commands count] == 4); XCTAssert([commands[0] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[1] isKindOfClass:[MPAutotypePaste class]]); + XCTAssert([commands[1] isKindOfClass:[MPAutotypeKeyPress class]]); XCTAssert([commands[2] isKindOfClass:[MPAutotypePaste class]]); XCTAssert([commands[3] isKindOfClass:[MPAutotypeKeyPress class]]); - XCTAssert([commands[4] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[5] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[6] isKindOfClass:[MPAutotypeKeyPress class]]); context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; commands = [MPAutotypeCommand commandsForContext:context]; From 04f519bd52d089939afd8878352703c001f255fa Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 12:45:13 +0200 Subject: [PATCH 102/778] Fixed issue with replacing spaces inside commands --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 378554d8..6c63ae18 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 378554d834e068a58099f5cee531a455b0363acc +Subproject commit 6c63ae1896ce96ff31bd33781028f4c17880f998 From 9458c5f8a09df3e446a40cc0e6316782dc7d7770 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 20 Aug 2014 12:46:02 +0200 Subject: [PATCH 103/778] Added {CLEARFIELD} to autotype commands. Stubbs for {DELAY X} --- MacPass.xcodeproj/project.pbxproj | 12 +++++++++++ MacPass/MPAutotypeClear.h | 14 ++++++++++++ MacPass/MPAutotypeClear.m | 25 +++++++++++++++++++++ MacPass/MPAutotypeCommand.m | 15 ++++++++++--- MacPass/MPAutotypeDelay.h | 15 +++++++++++++ MacPass/MPAutotypeDelay.m | 36 +++++++++++++++++++++++++++++++ 6 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 MacPass/MPAutotypeClear.h create mode 100644 MacPass/MPAutotypeClear.m create mode 100644 MacPass/MPAutotypeDelay.h create mode 100644 MacPass/MPAutotypeDelay.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 17c0a922..8572cda6 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -172,6 +172,8 @@ 4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */; }; 4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */; }; 4C6D1D2B17858A250014C5A5 /* MacPass.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D2A17858A250014C5A5 /* MacPass.icns */; }; + 4C6F228919A4A7F90012310C /* MPAutotypeClear.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */; }; + 4C6F228C19A4AA700012310C /* MPAutotypeDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6F228B19A4AA700012310C /* MPAutotypeDelay.m */; }; 4C6FDD2117BC4F4C004AEEC8 /* KPKTestPlaceholder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6FDD2017BC4F4C004AEEC8 /* KPKTestPlaceholder.m */; }; 4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */; }; 4C70D100179092F200652EE9 /* KPKCompositeKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C70D0FF179092F200652EE9 /* KPKCompositeKey.m */; }; @@ -673,6 +675,10 @@ 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 48_FolderTemplate.pdf; sourceTree = ""; }; 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_AddFolderTemplate.pdf; path = Icons/99_AddFolderTemplate.pdf; sourceTree = ""; }; 4C6D1D2A17858A250014C5A5 /* MacPass.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = MacPass.icns; path = "../Assets/App icon/MacPass.icns"; sourceTree = ""; }; + 4C6F228719A4A7F90012310C /* MPAutotypeClear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeClear.h; sourceTree = ""; }; + 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeClear.m; sourceTree = ""; }; + 4C6F228A19A4AA700012310C /* MPAutotypeDelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeDelay.h; sourceTree = ""; }; + 4C6F228B19A4AA700012310C /* MPAutotypeDelay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeDelay.m; sourceTree = ""; }; 4C6FDD2017BC4F4C004AEEC8 /* KPKTestPlaceholder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestPlaceholder.m; sourceTree = ""; }; 4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 12_RemoteTemplate.pdf; sourceTree = ""; }; 4C70D0FE179092F200652EE9 /* KPKCompositeKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKCompositeKey.h; sourceTree = ""; }; @@ -1612,6 +1618,10 @@ 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */, 4CE296171842A166005F01CE /* MPAutotypePaste.h */, 4CE296181842A166005F01CE /* MPAutotypePaste.m */, + 4C6F228719A4A7F90012310C /* MPAutotypeClear.h */, + 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */, + 4C6F228A19A4AA700012310C /* MPAutotypeDelay.h */, + 4C6F228B19A4AA700012310C /* MPAutotypeDelay.m */, ); name = Commands; sourceTree = ""; @@ -2330,6 +2340,7 @@ 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, 4C245B79176E1E3D0086100E /* HTTPAuthenticationRequest.m in Sources */, 4C245B7A176E1E3D0086100E /* HTTPConnection.m in Sources */, + 4C6F228C19A4AA700012310C /* MPAutotypeDelay.m in Sources */, 4C245B7B176E1E3D0086100E /* HTTPMessage.m in Sources */, 4C3C4EA718D6FEA100153127 /* TTTStringTransformers.m in Sources */, 4C245B7C176E1E3D0086100E /* HTTPServer.m in Sources */, @@ -2338,6 +2349,7 @@ 4C245B7E176E1E3D0086100E /* MultipartMessageHeader.m in Sources */, 4C245B7F176E1E3D0086100E /* MultipartMessageHeaderField.m in Sources */, 4C245B80176E1E3D0086100E /* HTTPAsyncFileResponse.m in Sources */, + 4C6F228919A4A7F90012310C /* MPAutotypeClear.m in Sources */, 4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */, 4C245B81176E1E3D0086100E /* HTTPDataResponse.m in Sources */, 4C245B82176E1E3D0086100E /* HTTPDynamicFileResponse.m in Sources */, diff --git a/MacPass/MPAutotypeClear.h b/MacPass/MPAutotypeClear.h new file mode 100644 index 00000000..a9809539 --- /dev/null +++ b/MacPass/MPAutotypeClear.h @@ -0,0 +1,14 @@ +// +// MPAutotypeClear.h +// MacPass +// +// Created by Michael Starke on 20/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeCommand.h" + +@interface MPAutotypeClear : MPAutotypeCommand + + +@end diff --git a/MacPass/MPAutotypeClear.m b/MacPass/MPAutotypeClear.m new file mode 100644 index 00000000..c3531173 --- /dev/null +++ b/MacPass/MPAutotypeClear.m @@ -0,0 +1,25 @@ +// +// MPAutotypeClear.m +// MacPass +// +// Created by Michael Starke on 20/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeClear.h" +#import "MPKeyMapper.h" +#import + +@implementation MPAutotypeClear + +- (void)execute { + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A"]; + if(keyCode == kMPUnknownKeyCode) { + NSLog(@"Unable to generate key code for 'A'"); + return; + } + [self sendPressKey:keyCode modifierFlags:kCGEventFlagMaskCommand]; + [self sendPressKey:kVK_Delete modifierFlags:0]; +} + +@end diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 585156a9..8a24bd9d 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -10,6 +10,8 @@ #import "MPAutotypePaste.h" #import "MPAutotypeKeyPress.h" +#import "MPAutotypeClear.h" +#import "MPAutotypeDelay.h" #import "MPAutotypeContext.h" #import "MPKeyMapper.h" @@ -163,19 +165,26 @@ } + (void)appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { - if(!commandString) { + if(nil == commandString) { return; } /* TODO: Test for special Commands */ /* TODO: fall back to paste if nothing matches */ - + NSString *delayPrefix = [[NSString alloc] initWithFormat:@"{%@", kKPKAutotypeDelay]; NSNumber *keyCodeNumber = [self keypressCommands][commandString]; - if(keyCodeNumber) { + if(nil != keyCodeNumber) { CGKeyCode keyCode = [keyCodeNumber keyCodeValue]; [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; } + else if([kKPKAutotypeClearField isEqualToString:commandString]) { + [commands addObject:[[MPAutotypeClear alloc] init]]; + } + else if([commandString hasPrefix:delayPrefix]){ + [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:5]]; + /* TODO: find the delay */ + } else { [self appendPasteCommandForContent:commandString toCommands:commands]; } diff --git a/MacPass/MPAutotypeDelay.h b/MacPass/MPAutotypeDelay.h new file mode 100644 index 00000000..2dd74c44 --- /dev/null +++ b/MacPass/MPAutotypeDelay.h @@ -0,0 +1,15 @@ +// +// MPAutotypeDelay.h +// MacPass +// +// Created by Michael Starke on 20/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeCommand.h" + +@interface MPAutotypeDelay : MPAutotypeCommand + +- (instancetype)initWithDelay:(NSUInteger)delay; + +@end diff --git a/MacPass/MPAutotypeDelay.m b/MacPass/MPAutotypeDelay.m new file mode 100644 index 00000000..f0aa012f --- /dev/null +++ b/MacPass/MPAutotypeDelay.m @@ -0,0 +1,36 @@ +// +// MPAutotypeDelay.m +// MacPass +// +// Created by Michael Starke on 20/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeDelay.h" + +@interface MPAutotypeDelay () { +@private + NSUInteger _delay; +} +@end + +@implementation MPAutotypeDelay + +- (id)init { + self = [self initWithDelay:0]; + return self; +} + +- (instancetype)initWithDelay:(NSUInteger)delay { + self = [super init]; + if(self) { + _delay = delay; + } + return self; +} + +- (void)execute { + usleep((useconds_t)(_delay*1000*1000)); +} + +@end From e20e6419fc9f3f10913f3f3fa7e83320062aba5f Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 21 Aug 2014 00:29:46 +0200 Subject: [PATCH 104/778] {DELAY} now get corret values assinged --- MacPass/MPAutotypeCommand.m | 43 ++++++++++++++++----- MacPassTests/KPKTestAutotypeNormalization.m | 3 ++ 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 8a24bd9d..64f73d10 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -166,24 +166,47 @@ + (void)appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { if(nil == commandString) { - return; + return; // Nothing to parse } - /* TODO: Test for special Commands */ - /* TODO: fall back to paste if nothing matches */ - - NSString *delayPrefix = [[NSString alloc] initWithFormat:@"{%@", kKPKAutotypeDelay]; + /* Simple Special Press */ NSNumber *keyCodeNumber = [self keypressCommands][commandString]; - if(nil != keyCodeNumber) { CGKeyCode keyCode = [keyCodeNumber keyCodeValue]; [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; + return; // Done } - else if([kKPKAutotypeClearField isEqualToString:commandString]) { + /* Clearfield */ + if([kKPKAutotypeClearField isEqualToString:commandString]) { [commands addObject:[[MPAutotypeClear alloc] init]]; + return; // Done } - else if([commandString hasPrefix:delayPrefix]){ - [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:5]]; - /* TODO: find the delay */ + // TODO: add {APPLICATION } + /* Delay */ + NSString *delayPattern = [[NSString alloc] initWithFormat:@"\\{(%@|%@|)[:|=]+([0-9])+\\}", + kKPKAutotypeDelay, + kKPKAutotypeVirtualKey/*, + kKPKAutotypeVirtualExtendedKey, + kKPKAutotypeVirtualNonExtendedKey*/]; + NSRegularExpression *delayRegExp = [[NSRegularExpression alloc] initWithPattern:delayPattern options:NSRegularExpressionCaseInsensitive error:0]; + NSAssert(delayRegExp, @"Regex for delay should work!"); + NSTextCheckingResult *result = [delayRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, [commandString length])]; + if(result && (result.numberOfRanges == 3)) { + NSString *command = [commandString substringWithRange:[result rangeAtIndex:1]]; + NSString *valueString = [commandString substringWithRange:[result rangeAtIndex:2]]; + NSScanner *numberScanner = [[NSScanner alloc] initWithString:valueString]; + NSInteger value; + if([numberScanner scanInteger:&value]) { + if([kKPKAutotypeDelay isEqualToString:command]) { + [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:value]]; + return; // Done + } + else if([kKPKAutotypeVirtualKey isEqualToString:command]) { + // TODO add key + } + } + else { + NSLog(@"Unable to determine delay!"); + } } else { [self appendPasteCommandForContent:commandString toCommands:commands]; diff --git a/MacPassTests/KPKTestAutotypeNormalization.m b/MacPassTests/KPKTestAutotypeNormalization.m index b601694f..294f60f5 100644 --- a/MacPassTests/KPKTestAutotypeNormalization.m +++ b/MacPassTests/KPKTestAutotypeNormalization.m @@ -56,6 +56,9 @@ XCTAssert([commands[2] isKindOfClass:[MPAutotypePaste class]]); XCTAssert([commands[3] isKindOfClass:[MPAutotypeKeyPress class]]); + context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{DELAY=5}{VKEY-NX 1}{VKEY-EX 200}{DELAY 5}{VKEY 300}"]; + commands = [MPAutotypeCommand commandsForContext:context]; + context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; commands = [MPAutotypeCommand commandsForContext:context]; From 4ae8350b91a8b3a603456b536bca1601416eaf34 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 21 Aug 2014 15:38:33 +0200 Subject: [PATCH 105/778] Updated key equivalents on Autotype selection window. Enter now confirms the selection Refactored ordering application to front to not use Apple Script anymore --- MacPass/AutotypeCandidateSelectionWindow.xib | 7 ++-- MacPass/MPAutotypeDaemon.m | 38 +++++++++++--------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/MacPass/AutotypeCandidateSelectionWindow.xib b/MacPass/AutotypeCandidateSelectionWindow.xib index 0f12e8aa..d845b10d 100644 --- a/MacPass/AutotypeCandidateSelectionWindow.xib +++ b/MacPass/AutotypeCandidateSelectionWindow.xib @@ -1,8 +1,8 @@ - + - + @@ -41,6 +41,9 @@ Gw + +DQ + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 521696b6..299befb5 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -24,8 +24,8 @@ #import "DDHotKey+Keydata.h" #import -NSString *const kMPWindowTitleKey = @"windowTitle"; -NSString *const kMPApplciationNameKey = @"applicationName"; +NSString *const kMPWindowTitleKey = @"kMPWindowTitleKey"; +NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; /* Enable to activate autotype @@ -37,7 +37,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; @property (nonatomic, assign) BOOL enabled; @property (nonatomic, copy) NSData *hotKeyData; @property (strong) DDHotKey *registredHotKey; -@property (copy) NSString *targetApplicationName; +@property (assign) pid_t targetPID; @property (copy) NSString *targetWindowTitle; @end @@ -51,6 +51,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; self = [super init]; if (self) { _enabled = NO; + _targetPID = -1; [self bind:NSStringFromSelector(@selector(enabled)) toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype] @@ -108,8 +109,8 @@ NSString *const kMPApplciationNameKey = @"applicationName"; - (void)cancelAutotypeSelection:(id)sender { [self.matchSelectionWindow orderOut:sender]; - if(self.targetApplicationName) { - [MPAutotypeDaemon _orderApplicationToFront:self.targetApplicationName]; + if(self.targetPID) { + [MPAutotypeDaemon _orderApplicationToFront:self.targetPID]; } } @@ -175,7 +176,12 @@ NSString *const kMPApplciationNameKey = @"applicationName"; } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - [MPAutotypeDaemon _orderApplicationToFront:self.targetApplicationName]; + if([MPAutotypeDaemon _orderApplicationToFront:self.targetPID]) { + /* Sleep a bit after the app was activated */ + NSLog(@"App wasn frontmost, did order it there. Wating a bit."); + usleep(1000*500); + NSLog(@"Done waiting."); + } BOOL lastCommandWasPaste = NO; for(MPAutotypeCommand *command in commands) { if(lastCommandWasPaste) { @@ -214,7 +220,6 @@ NSString *const kMPApplciationNameKey = @"applicationName"; - (NSDictionary *)_frontMostApplicationInfoDict { NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; - NSString *name = frontApplication.localizedName; NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); for(NSDictionary *windowDict in currentWindows) { @@ -226,7 +231,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; if(processId && [processId isEqualToNumber:@(frontApplication.processIdentifier)]) { return @{ kMPWindowTitleKey: windowDict[(NSString *)kCGWindowName], - kMPApplciationNameKey : name + kMPProcessIdentifierKey : processId }; } } @@ -271,15 +276,14 @@ NSString *const kMPApplciationNameKey = @"applicationName"; #pragma mark - #pragma mark Application information -+ (void)_orderApplicationToFront:(NSString *)applicationName { - //NSLog(@"Moving %@ to the front.", applicationName); - NSString *appleScript = [[NSString alloc] initWithFormat:@"activate application \"%@\"", applicationName]; - NSAppleScript *script = [[NSAppleScript alloc] initWithSource:appleScript]; - NSDictionary *error; - NSAppleEventDescriptor *descriptor = [script executeAndReturnError:&error]; - if(!descriptor) { - NSLog(@"Error trying to execure %@: %@", script, error); ++ (BOOL)_orderApplicationToFront:(pid_t)processIdentifier { + NSRunningApplication *runingApplication = [NSRunningApplication runningApplicationWithProcessIdentifier:processIdentifier]; + NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; + if(frontApplication.processIdentifier == processIdentifier) { + return NO; } + [runingApplication activateWithOptions:0]; + return YES; } - (void)_updateTargetApplicationAndWindow { @@ -288,7 +292,7 @@ NSString *const kMPApplciationNameKey = @"applicationName"; Start searching the db for the best fit (based on title, then on window associations */ NSDictionary *frontApplicationInfoDict = [self _frontMostApplicationInfoDict]; - self.targetApplicationName = frontApplicationInfoDict[kMPApplciationNameKey]; + self.targetPID = [frontApplicationInfoDict[kMPProcessIdentifierKey] intValue]; self.targetWindowTitle = frontApplicationInfoDict[kMPWindowTitleKey]; } From 9774d51212dcaffa4d7a63fa8b905f75a745b885 Mon Sep 17 00:00:00 2001 From: Yonatan Mittlefehldt Date: Fri, 22 Aug 2014 10:39:18 +0200 Subject: [PATCH 106/778] Added option to set expiration to 90 days --- MacPass/MPDatePickingViewController.m | 8 ++++++-- MacPass/de.lproj/Localizable.strings | Bin 10032 -> 10086 bytes MacPass/en.lproj/Localizable.strings | Bin 9410 -> 9462 bytes MacPass/fr.lproj/Localizable.strings | Bin 10124 -> 10176 bytes MacPass/nl.lproj/Localizable.strings | Bin 10036 -> 10098 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 7726 -> 7768 bytes 6 files changed, 6 insertions(+), 2 deletions(-) diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 76f45ddc..b3ce0a4e 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -16,6 +16,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { MPDatePresetTomorrow, MPDatePresetOneWeek, MPDatePresetOneMonth, + MPDatePreset90Days, MPDatePresetOneYear, }; @@ -33,8 +34,8 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { - (void)awakeFromNib { NSMenu *presetMenu = [[NSMenu alloc] init]; - NSUInteger tags[] = { MPDatePresetTomorrow, MPDatePresetOneWeek, MPDatePresetOneMonth, MPDatePresetOneYear }; - NSArray *dateItems = @[ NSLocalizedString(@"TOMORROW", ""), NSLocalizedString(@"ONE_WEEK", ""), NSLocalizedString(@"ONE_MONTH", ""), NSLocalizedString(@"ONE_YEAR", "") ]; + NSUInteger tags[] = { MPDatePresetTomorrow, MPDatePresetOneWeek, MPDatePresetOneMonth, MPDatePreset90Days, MPDatePresetOneYear }; + NSArray *dateItems = @[ NSLocalizedString(@"TOMORROW", ""), NSLocalizedString(@"ONE_WEEK", ""), NSLocalizedString(@"ONE_MONTH", ""), NSLocalizedString(@"90_DAYS", ""), NSLocalizedString(@"ONE_YEAR", "") ]; for(NSInteger iIndex = 0; iIndex < sizeof(tags)/sizeof(NSUInteger); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:dateItems[iIndex] action:NULL keyEquivalent:@""]; [item setTag:tags[iIndex]]; @@ -75,6 +76,9 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { case MPDatePresetOneMonth: [offsetComponents setMonth:1]; break; + case MPDatePreset90Days: + [offsetComponents setDay:90]; + break; case MPDatePresetOneYear: [offsetComponents setYear:1]; break; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index daa27b7f2de20d636d7ebb9cc28af10b41965f51..6441b28874d57f981a7b6b1d919128ba0ad1315b 100644 GIT binary patch delta 56 zcmdns_snm@FD7+M1_Oq81{VfLhDe5B1|7&001fHX)}fgyzByt5K From 942d66bc25ba5e91f67c3e7be5d2b48d37d53f44 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 22 Aug 2014 11:26:49 +0200 Subject: [PATCH 107/778] Using newly added isExpired key to display warning icons --- KeePassKit | 2 +- MacPass/KPKNode+IconImage.m | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/KeePassKit b/KeePassKit index 6c63ae18..8b66768d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 6c63ae1896ce96ff31bd33781028f4c17880f998 +Subproject commit 8b66768ddbfca8f9fcd1213e76fbf89a9a659e7b diff --git a/MacPass/KPKNode+IconImage.m b/MacPass/KPKNode+IconImage.m index b7f17cd9..a76c27da 100644 --- a/MacPass/KPKNode+IconImage.m +++ b/MacPass/KPKNode+IconImage.m @@ -19,18 +19,24 @@ @implementation KPKNode (IconImage) + (NSSet *)keyPathsForValuesAffectingIconImage { + static NSString *expireDateKeyPath; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + expireDateKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(isExpired))]; + }); return [NSSet setWithArray:@[NSStringFromSelector(@selector(iconUUID)), NSStringFromSelector(@selector(iconId)), - @"timeInfo.expires"]]; + expireDateKeyPath + ]]; } - (NSImage *)iconImage { - /* - if(self.timeInfo.expires) { + + if(self.timeInfo.isExpired) { const BOOL isGroup = [self isKindOfClass:[KPKGroup class]]; return [MPIconHelper icon:(isGroup ? MPIconExpiredGroup : MPIconExpiredEntry)]; } - */ + if(self.iconUUID) { KPKIcon *icon = [self.tree.metaData findIcon:self.iconUUID]; if(icon && icon.image) { From c3e957125cfdf8694baf4426e6931c100793b56e Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 22 Aug 2014 12:10:21 +0200 Subject: [PATCH 108/778] Made preset selection more sane --- MacPass/MPDatePickingViewController.m | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 76f45ddc..f956aae6 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -35,6 +35,12 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { NSMenu *presetMenu = [[NSMenu alloc] init]; NSUInteger tags[] = { MPDatePresetTomorrow, MPDatePresetOneWeek, MPDatePresetOneMonth, MPDatePresetOneYear }; NSArray *dateItems = @[ NSLocalizedString(@"TOMORROW", ""), NSLocalizedString(@"ONE_WEEK", ""), NSLocalizedString(@"ONE_MONTH", ""), NSLocalizedString(@"ONE_YEAR", "") ]; + + NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SELECT_DATE_PRESET", "") action:NULL keyEquivalent:@""]; + [item setTag:-1]; + [presetMenu addItem:item]; + [presetMenu addItem:[NSMenuItem separatorItem]]; + for(NSInteger iIndex = 0; iIndex < sizeof(tags)/sizeof(NSUInteger); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:dateItems[iIndex] action:NULL keyEquivalent:@""]; [item setTag:tags[iIndex]]; @@ -55,7 +61,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { } - (IBAction)cancel:(id)sender { - self.date = [NSDate distantFuture]; + self.date = nil; id target = [NSApp targetForAction:@selector(performClose:)]; [target performClose:sender]; } @@ -79,6 +85,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { [offsetComponents setYear:1]; break; default: + return; // No valid selection, just return break; } NSDate *newDate = [gregorian dateByAddingComponents:offsetComponents toDate:[NSDate date] options:0]; From e6d6d9e553bf95a04435acf6e0333c6402c1164d Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 22 Aug 2014 12:32:39 +0200 Subject: [PATCH 109/778] Fixed typo in KPKLocalizable file name --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 20 +++++++++--------- MacPass/MPDatePickingViewController.m | 7 +++--- ...izeable.strings => KPKLocalizable.strings} | 2 +- MacPass/de.lproj/Localizable.strings | Bin 10086 -> 10206 bytes ...izeable.strings => KPKLocalizable.strings} | 2 +- MacPass/en.lproj/Localizable.strings | Bin 9462 -> 9574 bytes ...izeable.strings => KPKLocalizable.strings} | 2 +- MacPass/fr.lproj/Localizable.strings | Bin 10176 -> 10288 bytes ...izeable.strings => KPKLocalizable.strings} | 2 +- MacPass/nl.lproj/Localizable.strings | Bin 10098 -> 10210 bytes ...izeable.strings => KPKLocalizable.strings} | 2 +- MacPass/zh-Hans.lproj/Localizable.strings | Bin 7768 -> 7880 bytes 13 files changed, 20 insertions(+), 19 deletions(-) rename MacPass/de.lproj/{KPKLocalizeable.strings => KPKLocalizable.strings} (98%) rename MacPass/en.lproj/{KPKLocalizeable.strings => KPKLocalizable.strings} (98%) rename MacPass/fr.lproj/{KPKLocalizeable.strings => KPKLocalizable.strings} (98%) rename MacPass/nl.lproj/{KPKLocalizeable.strings => KPKLocalizable.strings} (98%) rename MacPass/zh-Hans.lproj/{KPKLocalizeable.strings => KPKLocalizable.strings} (98%) diff --git a/KeePassKit b/KeePassKit index 8b66768d..1372ed20 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8b66768ddbfca8f9fcd1213e76fbf89a9a659e7b +Subproject commit 1372ed20238f576aa2d7372f7d337595ef52a8d7 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 8572cda6..c97c8244 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -126,7 +126,7 @@ 4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */; }; 4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */; }; 4C52A892178863B000868229 /* 68_PhoneTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */; }; - 4C53A7A51864C39D000DFF0D /* KPKLocalizeable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C53A7A71864C39D000DFF0D /* KPKLocalizeable.strings */; }; + 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C53A7A71864C39D000DFF0D /* KPKLocalizable.strings */; }; 4C5426F317BEEA8700A4424C /* Autotype_test.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4C5426F217BEEA8700A4424C /* Autotype_test.kdbx */; }; 4C569D9E17652B0600595B62 /* MPConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C569D9D17652B0600595B62 /* MPConstants.m */; }; 4C569DA117652BFE00595B62 /* MPEntryTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C569DA017652BFE00595B62 /* MPEntryTableDataSource.m */; }; @@ -586,9 +586,9 @@ 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 13_KeysTemplate.pdf; sourceTree = ""; }; 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 18_DisplayTemplate.pdf; sourceTree = ""; }; 4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 68_PhoneTemplate.pdf; sourceTree = ""; }; - 4C53A7A81864C3A1000DFF0D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/KPKLocalizeable.strings; sourceTree = ""; }; - 4C53A7A91864C3A2000DFF0D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/KPKLocalizeable.strings; sourceTree = ""; }; - 4C53A7AA1864C3A2000DFF0D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/KPKLocalizeable.strings; sourceTree = ""; }; + 4C53A7A81864C3A1000DFF0D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/KPKLocalizable.strings; sourceTree = ""; }; + 4C53A7A91864C3A2000DFF0D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/KPKLocalizable.strings; sourceTree = ""; }; + 4C53A7AA1864C3A2000DFF0D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/KPKLocalizable.strings; sourceTree = ""; }; 4C5426F217BEEA8700A4424C /* Autotype_test.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; name = Autotype_test.kdbx; path = Databases/Autotype_test.kdbx; sourceTree = ""; }; 4C569D9C17652AC800595B62 /* MPConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPConstants.h; sourceTree = ""; }; 4C569D9D17652B0600595B62 /* MPConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConstants.m; sourceTree = ""; }; @@ -919,7 +919,7 @@ 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; 601F811918E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/Credits.rtf"; sourceTree = ""; }; 601F811A18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; - 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizeable.strings"; sourceTree = ""; }; + 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizable.strings"; sourceTree = ""; }; 601F811C18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 6021FE3C18E1341900C3BC51 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/EntryInspectorView.xib; sourceTree = ""; }; 6021FE4418E1342500C3BC51 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/EntryInspectorView.strings"; sourceTree = ""; }; @@ -983,7 +983,7 @@ BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; BD6C366419484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = nl; path = nl.lproj/Credits.rtf; sourceTree = ""; }; BD6C366519484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; - BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/KPKLocalizeable.strings; sourceTree = ""; }; + BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/KPKLocalizable.strings; sourceTree = ""; }; BD6C366719484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; /* End PBXFileReference section */ @@ -1590,7 +1590,7 @@ 4C77E36F15B84A240093A587 /* InfoPlist.strings */, 4C77E37215B84A240093A587 /* main.m */, 4C77E37415B84A240093A587 /* MacPass-Prefix.pch */, - 4C53A7A71864C39D000DFF0D /* KPKLocalizeable.strings */, + 4C53A7A71864C39D000DFF0D /* KPKLocalizable.strings */, ); name = "Supporting Files"; sourceTree = ""; @@ -2220,7 +2220,7 @@ 4C0DD6C618B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib in Resources */, 4C7ABA4C17BAEC6700FF5799 /* 20_MiscTemplate.pdf in Resources */, 4C7ABA4E17BAEC7000FF5799 /* addEntryTemplate.pdf in Resources */, - 4C53A7A51864C39D000DFF0D /* KPKLocalizeable.strings in Resources */, + 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */, 4C68456F17BC2A0700FCDBFC /* WelcomeWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2491,7 +2491,7 @@ name = InfoPlist.strings; sourceTree = ""; }; - 4C53A7A71864C39D000DFF0D /* KPKLocalizeable.strings */ = { + 4C53A7A71864C39D000DFF0D /* KPKLocalizable.strings */ = { isa = PBXVariantGroup; children = ( 4C53A7A81864C3A1000DFF0D /* de */, @@ -2500,7 +2500,7 @@ 601F811B18E016340028F3DE /* zh-Hans */, BD6C366619484CF40089EB37 /* nl */, ); - name = KPKLocalizeable.strings; + name = KPKLocalizable.strings; sourceTree = ""; }; 4C76155E1764C04C0015A1A6 /* GeneralSettings.xib */ = { diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 2f0beabe..dfe1fbd4 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -13,6 +13,7 @@ #import "KPKTimeInfo.h" typedef NS_ENUM(NSUInteger, MPDatePreset) { + MPDatePresetNone, MPDatePresetTomorrow, MPDatePresetOneWeek, MPDatePresetOneMonth, @@ -38,7 +39,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { NSArray *dateItems = @[ NSLocalizedString(@"TOMORROW", ""), NSLocalizedString(@"ONE_WEEK", ""), NSLocalizedString(@"ONE_MONTH", ""), NSLocalizedString(@"90_DAYS", ""), NSLocalizedString(@"ONE_YEAR", "") ]; NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SELECT_DATE_PRESET", "") action:NULL keyEquivalent:@""]; - [item setTag:-1]; + [item setTag:MPDatePresetNone]; [presetMenu addItem:item]; [presetMenu addItem:[NSMenuItem separatorItem]]; @@ -88,9 +89,9 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { case MPDatePresetOneYear: [offsetComponents setYear:1]; break; + case MPDatePresetNone: default: - return; // No valid selection, just return - break; + return; // Nothing to do; } NSDate *newDate = [gregorian dateByAddingComponents:offsetComponents toDate:[NSDate date] options:0]; [self.datePicker setDateValue:newDate]; diff --git a/MacPass/de.lproj/KPKLocalizeable.strings b/MacPass/de.lproj/KPKLocalizable.strings similarity index 98% rename from MacPass/de.lproj/KPKLocalizeable.strings rename to MacPass/de.lproj/KPKLocalizable.strings index 971b24b5..80f3c248 100644 --- a/MacPass/de.lproj/KPKLocalizeable.strings +++ b/MacPass/de.lproj/KPKLocalizable.strings @@ -1,5 +1,5 @@ /* - KPKLocalizeable.strings + KPKlocalizable.strings MacPass Created by Michael Starke on 20/12/13. diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 6441b28874d57f981a7b6b1d919128ba0ad1315b..36b49ed2c9fe9cd8a7dc961e454f070827c920a3 100644 GIT binary patch delta 112 zcmaFnch7%A0duqqLn1>7Ln?y;LjXf2Lo!1)kX;1iX))+Ca4{$`1T(lY_yDmpLkL4W zgA0Qrkah*K0vLjTG)OiCs7iss7KoJ?!Wi;_x^sYLrZc2Yu9cCWT)=!_vk{AlG63qE B7196z delta 16 YcmccT|IBYg0rTWn%m+5FU@=n$07w%DeE7Ln?y;LjXf2Lo!1)kX_gu#^|9w-w8q=SJt mgh2_Y(iVu77(y9}!TJgqihwkTUBaNIFxiRu%w_?WX9@rSAQU(N delta 16 YcmaFn_04lb0Q2NS%=7Ln?y;LjXf2Lo!1)kX_gu#^|9w-w8q=SJt mgh2_Y(iVu77(y9}!TJgqihwkTUBaNIFgb$C|7Y0X$5C&I2xf3)@Bw0Hh7g8$ z1{VfLAngid1uz5wX^?CPP?Z9MEf6a)gfbL^%_;zzkqTy)FsLa^p2oChvkS9`GypvL B70Uns delta 16 YcmX?Md&6eK5~j&w%=0#HViuDI06v-qQvd(} From 53a7f92b9b362c9fc5c0957341fc1550b8c36966 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 22 Aug 2014 12:43:24 +0200 Subject: [PATCH 110/778] Better display of no expiration dates. Handling of cancel now does'nt overwrite existing expiry date --- MacPass/MPDatePickingViewController.h | 1 + MacPass/MPDatePickingViewController.m | 4 +++- MacPass/MPInspectorViewController.m | 4 +++- MacPass/MPValueTransformerHelper.m | 2 +- MacPass/de.lproj/Localizable.strings | Bin 10206 -> 10284 bytes MacPass/en.lproj/Localizable.strings | Bin 9574 -> 9656 bytes MacPass/fr.lproj/Localizable.strings | Bin 10288 -> 10370 bytes MacPass/nl.lproj/Localizable.strings | Bin 10210 -> 10290 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 7880 -> 7962 bytes 9 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MacPass/MPDatePickingViewController.h b/MacPass/MPDatePickingViewController.h index b9162806..426d52cf 100644 --- a/MacPass/MPDatePickingViewController.h +++ b/MacPass/MPDatePickingViewController.h @@ -13,6 +13,7 @@ @property (strong,readonly) NSDate *date; @property (weak) IBOutlet NSDatePicker *datePicker; @property (weak) IBOutlet NSPopUpButton *presetPopupButton; +@property (assign, readonly) BOOL didCancel; - (IBAction)useDate:(id)sender; - (IBAction)cancel:(id)sender; diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index dfe1fbd4..c6c110e8 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -24,6 +24,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { @interface MPDatePickingViewController () @property (strong) NSDate *date; +@property (assign) BOOL didCancel; @end @@ -57,13 +58,14 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { } - (IBAction)useDate:(id)sender { + self.didCancel = NO; self.date = [self.datePicker dateValue]; id target = [NSApp targetForAction:@selector(performClose:)]; [target performClose:sender]; } - (IBAction)cancel:(id)sender { - self.date = nil; + self.didCancel = YES; id target = [NSApp targetForAction:@selector(performClose:)]; [target performClose:sender]; } diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 557bdf32..1c90327c 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -235,7 +235,9 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { } if([popover.contentViewController isKindOfClass:[MPDatePickingViewController class]]) { MPDatePickingViewController *viewController = (MPDatePickingViewController *)popover.contentViewController; - [self _setExpiryDate:viewController.date]; + if(!viewController.didCancel) { + [self _setExpiryDate:viewController.date]; + } } self.popover = nil; } diff --git a/MacPass/MPValueTransformerHelper.m b/MacPass/MPValueTransformerHelper.m index 61697f8a..7d56269f 100644 --- a/MacPass/MPValueTransformerHelper.m +++ b/MacPass/MPValueTransformerHelper.m @@ -30,7 +30,7 @@ NSString *const MPExpiryDateValueTransformer = @"com.hicknhack.macpass.kMPExpiry transformedValueClass:[NSString class] returningTransformedValueWithBlock:^id(id value) { if(![value isKindOfClass:[NSDate class]]) { - return @""; // Wrong input + return NSLocalizedString(@"NO_EXPIRE_DATE_SET",""); } static NSDateFormatter *formatter; if(!formatter) { diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 36b49ed2c9fe9cd8a7dc961e454f070827c920a3..030aba8ad418c223d6575173f7a89fc1ad82ba05 100644 GIT binary patch delta 62 zcmccTzb0VA4hdBy20sRWhIj^7h6siL22X|{AS<51g~5>_1k4Hsk|C4(C8XIE81fi0 M8B#ZIl+fh|0MvO6@&Et; delta 12 TcmZ1zaL<3k4vEcdl4|?_CR7Bm diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index b8611109fc6b462c30c81539ef752ce74a310b94..6dc93a9be3cc28cd020c5f652e342910eedbc9f7 100644 GIT binary patch delta 88 zcmaFnwZnUZpSZUYgCB!GLp*~kLj*$rgC|1}kQLA1!r;gd0%ipR$q)u51_cINAO@*U eWhevUA|Nl7p@N}+Arr_>WhiFQ+w3kb&j$b(K@gMx delta 12 Tcmdnt{mg5FpZMkl;u3rSCMg8j diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 6fd7a10c763ce6e3a0967f67c5c891752fee29d2..b37b4eb2deecac1acabd801b2f8339778dfb3df6 100644 GIT binary patch delta 88 zcmdlG&=j~KK+;=@!H>b8A)djNA%Y=*!IL2f$ckrhVQ^#!0keXEWC(*2g93vs5Q9{w eGL!*v5s;V4P{B~ZkO^d`G88lDZT6IW&IbVbZV?0k delta 12 TcmZn)+z_xKKyvdU$p?G@Beexd diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 7704e616722e43ee7ed1cf09eec2ac176072f131..77acbfd9cf6a0ef13bd506b9ff35d3f2eb10d42e 100644 GIT binary patch delta 86 zcmaFlzbRmYfTX7qgCB!GLp*~kLj*$rgC|1}kQLA1!r;gd0%ipR$q)u51_cINAXZ{1 eV@PEvV#s002f_k|5};TfLnctHWHYDaO+EnYln~JX delta 12 TcmdlK@W_9IfaK-`$xD0yB=H3q diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 29b27f4ef1bc467541183a1ef8e6f962c7f0a3d2..d84530aa3f1d364b1db5836fad1d314dade7028f 100644 GIT binary patch delta 88 zcmX?MJIiiEm9V!GgCB!GLp*~kLj*$rgC|1}kQLA1!r;gd0%ipR$q)u51_cINAO@*U eWhevUA|Nl7p@N}+Arr_>WhiFQ+gvOh$_)SrDiFZ{ delta 12 TcmbPbcfxi!hYNUB)SC# From e482ec04d24cdbc8d4361e02e4532b27ac484ed8 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Sun, 24 Aug 2014 15:23:15 -0400 Subject: [PATCH 111/778] Implemented obfuscated autotyping and restoring of pasteboard objects --- KeePassKit | 2 +- MacPass/AutotypeCandidateSelectionWindow.xib | 2 +- MacPass/Base.lproj/EntryInspectorView.xib | 235 +++++++++++-------- MacPass/MPAutotypeCommand.m | 103 +++++++- MacPass/MPAutotypeDaemon.m | 9 +- MacPass/MPAutotypePaste.m | 4 +- MacPass/MPEntryInspectorViewController.h | 1 + MacPass/MPEntryInspectorViewController.m | 1 + MacPass/MPPasteBoardController.h | 3 + MacPass/MPPasteBoardController.m | 48 +++- 10 files changed, 273 insertions(+), 135 deletions(-) diff --git a/KeePassKit b/KeePassKit index 6c63ae18..9adeb5a5 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 6c63ae1896ce96ff31bd33781028f4c17880f998 +Subproject commit 9adeb5a5d42f0f19425b8d8e5c6854ea806364c3 diff --git a/MacPass/AutotypeCandidateSelectionWindow.xib b/MacPass/AutotypeCandidateSelectionWindow.xib index d845b10d..bc6b74a8 100644 --- a/MacPass/AutotypeCandidateSelectionWindow.xib +++ b/MacPass/AutotypeCandidateSelectionWindow.xib @@ -65,7 +65,7 @@ DQ - + diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index d055fd41..bd111c28 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -19,6 +19,7 @@ + @@ -673,31 +674,33 @@ - + - - + - + @@ -705,15 +708,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + @@ -758,10 +785,10 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 64f73d10..d293a8bd 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -16,12 +16,16 @@ #import "MPAutotypeContext.h" #import "MPKeyMapper.h" +#import "KPKEntry.h" +#import "KPKAutotype.h" #import "KPKAutotypeCommands.h" #import "NSString+Commands.h" #import +#import + @interface NSNumber (AutotypeCommand) - (CGEventFlags)eventFlagsValue; @@ -127,14 +131,14 @@ NSRange pasteRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); if(pasteRange.length > 0) { NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; - [self appendPasteCommandForContent:pasteValue toCommands:commands]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; } } /* Test for modifer Key */ NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; /* append commands for non-modifer keys */ if(![self updateModifierMask:&collectedModifers forCommand:commandString]) { - [self appendCommandForString:commandString toCommands:commands activeModifer:collectedModifers]; + [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:collectedModifers]; collectedModifers = 0; // Reset the modifers; } lastLocation = commandRange.location + commandRange.length; @@ -144,27 +148,102 @@ NSRange pasteRange = NSMakeRange(lastLocation, [context.evaluatedCommand length] - lastLocation); if(pasteRange.length > 0) { NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; - [self appendPasteCommandForContent:pasteValue toCommands:commands]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; } } return commands; } ++ (void)appendAppropriatePasteCommandForEntry:(KPKEntry *)entry withContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands +{ + if (entry.autotype.obfuscateDataTransfer) + [self appendObfuscatedPasteCommandForContent:pasteContent toCommands:commands]; + else + [self appendPasteCommandForContent:pasteContent toCommands:commands]; +} + + (void)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { + /* Update an already inserted paste command with the new conents */ + if([[commands lastObject] isKindOfClass:[MPAutotypePaste class]]) { + [[commands lastObject] appendString:pasteContent]; + } + else { + MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; + [commands addObject:pasteCommand]; + } +} + ++ (void)appendObfuscatedPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { if(pasteContent) { - /* Update an already inserted paste command with the new conents */ - if([[commands lastObject] isKindOfClass:[MPAutotypePaste class]]) { - [[commands lastObject] appendString:pasteContent]; + + /* + * obfuscate entered data using Two-Channel Auto-Type Obfuscation + * refer to KeePass documentation for more information + * http://keepass.info/help/v2/autotype_obfuscation.html + */ + + NSString *paste = @""; + NSMutableArray *typeKeys = [NSMutableArray array]; + NSMutableArray *modifiers = [NSMutableArray array]; + + /* + * seed the random number generator using the first 4 bytes of the string's SHA1 + * this ensures that you get the same string split every time for a given string + */ + const char *cstr = [pasteContent cStringUsingEncoding:NSUTF8StringEncoding]; + NSData *data = [NSData dataWithBytes:cstr length:pasteContent.length]; + uint8_t digest[CC_SHA1_DIGEST_LENGTH]; + CC_SHA1(data.bytes, (unsigned int)data.length, digest); + srandom(*((unsigned int*)digest)); + + for (NSUInteger i = 0; i < pasteContent.length; i++) { + NSUInteger part = random() % 2; + + unichar key = [pasteContent characterAtIndex:i]; + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:[NSString stringWithFormat:@"%c", key]]; + + /* append unknown keycodes to the paste since we can't type them */ + if (part == 0 || keyCode == kMPUnknownKeyCode) { + paste = [paste stringByAppendingFormat:@"%c", key]; + + [typeKeys addObject:@(kVK_RightArrow)]; + [modifiers addObject:@0]; + } + else { + [typeKeys addObject:@(keyCode)]; + + if ([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:key]) + [modifiers addObject:@(kCGEventFlagMaskShift)]; + else + [modifiers addObject:@0]; + } } - else { - MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; - [commands addObject:pasteCommand]; + + /* move to the end of the content */ + for (NSUInteger i = typeKeys.count; i < pasteContent.length; i++) { + [typeKeys addObject:@(kVK_RightArrow)]; + [modifiers addObject:@0]; + } + + /* add paste command */ + MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:paste]; + [commands addObject:pasteCommand]; + + /* add keypress commands */ + if (typeKeys.count > 0) { + for (NSUInteger i = 0; i < paste.length; i++) { + [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:0 keyCode:kVK_LeftArrow]]; + } + + for (NSUInteger i = 0; i < typeKeys.count; i++) { + [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:[modifiers[i] longLongValue] keyCode:[typeKeys[i] unsignedShortValue]]]; + } } } } -+ (void)appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { ++ (void)appendCommandForEntry:(KPKEntry *)entry withString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { if(nil == commandString) { return; // Nothing to parse } @@ -209,7 +288,7 @@ } } else { - [self appendPasteCommandForContent:commandString toCommands:commands]; + [self appendAppropriatePasteCommandForEntry:entry withContent:commandString toCommands:commands]; } } @@ -240,7 +319,7 @@ /* Send the event */ CGEventPost(kCGSessionEventTap, pressKey); - usleep(100000); + usleep(0.05 * NSEC_PER_MSEC); CGEventPost(kCGSessionEventTap, releaseKey); CFRelease(pressKey); diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 299befb5..c4eb1c74 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -178,17 +178,12 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; if([MPAutotypeDaemon _orderApplicationToFront:self.targetPID]) { /* Sleep a bit after the app was activated */ - NSLog(@"App wasn frontmost, did order it there. Wating a bit."); - usleep(1000*500); + NSLog(@"App wasn't frontmost, did order it there. Waiting a bit."); + usleep(0.5 * NSEC_PER_MSEC); NSLog(@"Done waiting."); } - BOOL lastCommandWasPaste = NO; for(MPAutotypeCommand *command in commands) { - if(lastCommandWasPaste) { - usleep(1000*1000); - } [command execute]; - lastCommandWasPaste = [command isKindOfClass:[MPAutotypePaste class]]; } }); } diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index ac376b46..dc5578f2 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -35,8 +35,10 @@ - (void)execute { if([self.pasteData length] > 0) { MPPasteBoardController *controller = [MPPasteBoardController defaultController]; - [controller copyObjects:@[self.pasteData]]; + [controller stashObjects]; + [controller copyObjectsWithoutTimeout:@[self.pasteData]]; [self sendPasteKeyCode]; + [controller restoreObjects]; } } diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 1485b446..56b67fd2 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -38,6 +38,7 @@ /* Autotype */ @property (weak) IBOutlet NSButton *enableAutotypeCheckButton; +@property (weak) IBOutlet NSButton *obfuscateAutotypeCheckButton; @property (weak) IBOutlet NSTableView *windowAssociationsTableView; @property (weak) IBOutlet NSTextField *customEntrySequenceTextField; @property (weak) IBOutlet NSComboBox *windowTitleComboBox; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index a5f25b69..fcf33d53 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -415,6 +415,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_bindAutotype { if(self.entry) { [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; + [self.obfuscateAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(obfuscateDataTransfer)) options:nil]; [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(defaultKeystrokeSequence)) options:nil]; [_windowAssociationsController bind:NSContentArrayBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(associations)) options:nil]; diff --git a/MacPass/MPPasteBoardController.h b/MacPass/MPPasteBoardController.h index 66ab6740..dfadbcaf 100644 --- a/MacPass/MPPasteBoardController.h +++ b/MacPass/MPPasteBoardController.h @@ -29,6 +29,9 @@ FOUNDATION_EXPORT NSString *const MPPasteBoardControllerDidClearClipboard; + (MPPasteBoardController *)defaultController; +- (void)stashObjects; +- (void)restoreObjects; - (void)copyObjects:(NSArray *)objects; +- (void)copyObjectsWithoutTimeout:(NSArray *)objects; @end diff --git a/MacPass/MPPasteBoardController.m b/MacPass/MPPasteBoardController.m index 6362776c..abb77a20 100644 --- a/MacPass/MPPasteBoardController.m +++ b/MacPass/MPPasteBoardController.m @@ -16,6 +16,7 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas @interface MPPasteBoardController () @property (assign) BOOL isEmpty; +@property (nonatomic, strong) NSMutableArray *stashedObjects; @end @@ -56,15 +57,6 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas } } -- (void)setClearTimeout:(NSTimeInterval)clearTimeout { - if(_clearTimeout != clearTimeout) { - if(clearTimeout > 0) { - [self _clearPasteboardContents]; - } - _clearTimeout = clearTimeout; - } -} - - (void)setClearPasteboardOnShutdown:(BOOL)clearPasteboardOnShutdown { if(_clearPasteboardOnShutdown != clearPasteboardOnShutdown ) { _clearPasteboardOnShutdown = !_clearPasteboardOnShutdown; @@ -72,17 +64,47 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas } } +- (void)stashObjects +{ + self.stashedObjects = [NSMutableArray array]; + for (NSPasteboardItem *item in [[NSPasteboard generalPasteboard] pasteboardItems]) { + NSPasteboardItem *newItem = [[NSPasteboardItem alloc] init]; + for (NSString *type in [item types]) { + NSData *data = [[item dataForType:type] mutableCopy]; + if (data) { + [newItem setData:data forType:type]; + } + } + [self.stashedObjects addObject:newItem]; + } +} + +- (void)restoreObjects +{ + if (self.stashedObjects) + { + [[NSPasteboard generalPasteboard] clearContents]; + [[NSPasteboard generalPasteboard] writeObjects:self.stashedObjects]; + self.stashedObjects = nil; + self.isEmpty = YES; + } +} + - (void)copyObjects:(NSArray *)objects { - /* Should we save the old content ?*/ - [[NSPasteboard generalPasteboard] clearContents]; - [[NSPasteboard generalPasteboard] writeObjects:objects]; - self.isEmpty = NO; + [self copyObjectsWithoutTimeout:objects]; if(self.clearTimeout != 0) { [[NSNotificationCenter defaultCenter] postNotificationName:MPPasteBoardControllerDidCopyObjects object:self]; [self performSelector:@selector(_clearPasteboardContents) withObject:nil afterDelay:self.clearTimeout]; } } +- (void)copyObjectsWithoutTimeout:(NSArray *)objects +{ + [[NSPasteboard generalPasteboard] clearContents]; + [[NSPasteboard generalPasteboard] writeObjects:objects]; + self.isEmpty = NO; +} + - (void)_clearPasteboardContents { /* Only clear stuff we might have put there */ if(!self.isEmpty) { From 1daaa2075e0b0e6e90844a42b609997018306f83 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 02:59:56 +0200 Subject: [PATCH 112/778] Draft for timeout --- MacPass/MPDocument.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index b2ac3a6f..8ff206ac 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -293,6 +293,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey self.compositeKey = nil; // clear the key? } if(isUnlocked) { + self.unlockCount += 1; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidUnlockDatabaseNotification object:self]; } @@ -679,6 +680,17 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } [self.trash clear]; } +# pragma mark Expiration updates +- (void)_updateExpirationState { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(60*60*6* NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + /* TODO: find better way to do this! Test for alle entries if expired */ + [[self.tree allEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + KPKEntry *entry = obj; + [entry.timeInfo willChangeValueForKey:NSStringFromSelector(@selector(isExpired))]; + [entry.timeInfo didChangeValueForKey:NSStringFromSelector(@selector(isExpired))]; + }]; + }); +} # pragma mark File Watching - (void) _watchForFileChanges:(BOOL)watch { From 19c9872c350825c648c328788df286326ccf5a47 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 03:07:37 +0200 Subject: [PATCH 113/778] Make the selectoin window key before activating MacPass --- MacPass/MPAutotypeDaemon.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 299befb5..c9b42ae8 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -260,8 +260,8 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } } [self.matchSelectionButton setMenu:associationMenu]; - [NSApp activateIgnoringOtherApps:YES]; [self.matchSelectionWindow makeKeyAndOrderFront:self]; + [NSApp activateIgnoringOtherApps:YES]; /* Setup Items in Popup */ } From dd845cd2db1f4edc6d5a904c13e45bc64b17b6b3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 12:33:41 +0200 Subject: [PATCH 114/778] Updated to current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 1372ed20..4ca467dc 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 1372ed20238f576aa2d7372f7d337595ef52a8d7 +Subproject commit 4ca467dce9e1e316cee98d0b02b160d5fd375e42 From 74b2132877c919e792de3f262071a18f0ada244b Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 12:52:02 +0200 Subject: [PATCH 115/778] Added James Hurst to contributor. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69ae3572..e94bad40 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ along with this program. If not, see . [Chhom Seng](https://github.com/cseng) Fixed issue with blank outline and entry views if the inspector was hidden before unlocking the database. Implemented context menu validation for entry context menu. +[James Hurst](https://github.com/jamesrhurst) Obfuscated autotyping and restoring of pasteboard objects. Fixed issues when exiting search. Implemented workflow double click settings. Make selected textfield end editing when a save will occur. Finished custom browser support for open URL action. Percent escape strings before creating URLs. Fixed issues with Autotype key events. Added missing characters for password generation. Improved "Add Entry" workflow. Fixed bug with icon resetting to default after closing popover. Added ability to set default password generation settings. Made autotype work in more situations ##Copyright From ef3b1bebb268940c24a5d09c6cada8f3f1a19de4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 20:02:32 +0200 Subject: [PATCH 116/778] Squashed commit of the following: commit d56e9628b870f18bf4d06f2b42f2fb325cfbfa93 Author: michael starke Date: Mon Aug 25 20:01:02 2014 +0200 Implemented settings for forced and recommendet key change intervals. commit 64336eb662cf66173ef96657cec96b69a706f723 Author: michael starke Date: Mon Aug 25 18:18:59 2014 +0200 Added sanity checks for delay commit 37087da84c2c2d12197196f0d15a517419dbad93 Author: michael starke Date: Mon Aug 25 14:20:59 2014 +0200 Added key change ui to database settings --- KeePassKit | 2 +- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 174 +++++++++++++----- MacPass/Base.lproj/InspectorView.xib | 2 +- MacPass/MPAutotypeCommand.m | 6 +- MacPass/MPAutotypeDelay.m | 5 +- MacPass/MPDatabaseSettingsWindowController.h | 4 + MacPass/MPDatabaseSettingsWindowController.m | 89 +++++++-- 7 files changed, 218 insertions(+), 64 deletions(-) diff --git a/KeePassKit b/KeePassKit index 4ca467dc..fcb5063c 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 4ca467dce9e1e316cee98d0b02b160d5fd375e42 +Subproject commit fcb5063c788865e0c02bf1cc9edf24f72b785ec3 diff --git a/MacPass/Base.lproj/DatabaseSettingsWindow.xib b/MacPass/Base.lproj/DatabaseSettingsWindow.xib index 959c032e..00a2f108 100644 --- a/MacPass/Base.lproj/DatabaseSettingsWindow.xib +++ b/MacPass/Base.lproj/DatabaseSettingsWindow.xib @@ -1,5 +1,5 @@ - + @@ -16,11 +16,15 @@ + + + + @@ -33,10 +37,10 @@ - - + + - + - + - + - + @@ -76,7 +80,7 @@ DQ - + @@ -85,7 +89,7 @@ DQ - + @@ -138,20 +142,20 @@ DQ - + - + - + - + - + @@ -162,7 +166,7 @@ DQ - + @@ -191,51 +195,66 @@ DQ - + - + @@ -244,7 +263,7 @@ DQ - + @@ -256,7 +275,7 @@ DQ - + @@ -333,7 +357,7 @@ DQ - + @@ -345,12 +369,12 @@ DQ - + - + @@ -362,7 +386,7 @@ DQ - + @@ -371,7 +395,7 @@ DQ - + @@ -380,12 +404,12 @@ DQ - + - + @@ -394,7 +418,7 @@ DQ - + @@ -406,7 +430,7 @@ DQ - + @@ -418,7 +442,7 @@ DQ - + @@ -432,6 +456,53 @@ DQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -451,13 +522,10 @@ DQ - - - @@ -466,7 +534,25 @@ DQ - + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 14404bb7..3eb44c3e 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -85,7 +85,7 @@ - + diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index d293a8bd..42d31027 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -276,15 +276,19 @@ NSInteger value; if([numberScanner scanInteger:&value]) { if([kKPKAutotypeDelay isEqualToString:command]) { + if(MAX(0, value) <= 0) { + return; // Value too low, just skipp + } [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:value]]; return; // Done } else if([kKPKAutotypeVirtualKey isEqualToString:command]) { + NSLog(@"Virutal key strokes aren't supported yet!"); // TODO add key } } else { - NSLog(@"Unable to determine delay!"); + NSLog(@"Unable to value part in command:%@", commandString); } } else { diff --git a/MacPass/MPAutotypeDelay.m b/MacPass/MPAutotypeDelay.m index f0aa012f..12996619 100644 --- a/MacPass/MPAutotypeDelay.m +++ b/MacPass/MPAutotypeDelay.m @@ -24,13 +24,14 @@ - (instancetype)initWithDelay:(NSUInteger)delay { self = [super init]; if(self) { - _delay = delay; + /* Delays longer than a minute are a bit lon */ + _delay = MIN(60,delay); } return self; } - (void)execute { - usleep((useconds_t)(_delay*1000*1000)); + usleep((useconds_t)(_delay*NSEC_PER_MSEC)); } @end diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index 3f7a43c9..fa55c3a5 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -44,6 +44,10 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { @property (weak) IBOutlet NSTextField *defaultUsernameTextField; @property (weak) IBOutlet NSPopUpButton *templateGroupPopUpButton; +@property (weak) IBOutlet NSButton *recommendKeyChangeCheckButton; +@property (weak) IBOutlet NSButton *enforceKeyChangeCheckButton; +@property (weak) IBOutlet NSTextField *recommendKeyChangeIntervalTextField; +@property (weak) IBOutlet NSTextField *enforceKeyChangeIntervalTextField; - (id)initWithDocument:(MPDocument *)document; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 4fa23742..29a74538 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -37,6 +37,33 @@ @implementation MPDatabaseSettingsWindowController +NSInteger _MPStateForBool(BOOL flag) { + return flag ? NSOnState : NSOffState; +} + +BOOL _MPBoolFotState(NSInteger state) { + switch (state) { + case NSOnState: + return YES; + default: + case NSMixedState: + NSLog(@"Indetermined state!"); + case NSOffState: + return NO; + break; + } +} + +void _MPSetState(id stateItem, BOOL isOn) { + if([stateItem respondsToSelector:@selector(setState:)]) { + [stateItem setState:_MPStateForBool(isOn)]; + } + else { + NSLog(@"%@ does not respond to setState:", stateItem); + assert(false); + } +} + - (NSString *)windowNibName { return @"DatabaseSettingsWindow"; } @@ -94,17 +121,27 @@ KPKGroup *templateGroup = [templateMenuItem representedObject]; _document.templates = templateGroup; - BOOL protectNotes = [self.protectNotesCheckButton state] == NSOnState; - BOOL protectPassword = [self.protectPasswortCheckButton state] == NSOnState; - BOOL protectTitle = [self.protectTitleCheckButton state] == NSOnState; - BOOL protectURL = [self.protectURLCheckButton state] == NSOnState; - BOOL protectUsername = [self.protectUserNameCheckButton state] == NSOnState; - metaData.protectNotes = protectNotes; - metaData.protectPassword = protectPassword; - metaData.protectTitle = protectTitle; - metaData.protectUrl = protectURL; - metaData.protectUserName = protectUsername; + BOOL enforceMasterKeyChange = _MPBoolFotState([self.enforceKeyChangeCheckButton state]); + BOOL recommendMasterKeyChange = _MPBoolFotState([self.recommendKeyChangeCheckButton state]); + + enforceMasterKeyChange &= ([[self.enforceKeyChangeIntervalTextField stringValue] length] != 0); + recommendMasterKeyChange &= ([[self.recommendKeyChangeIntervalTextField stringValue] length] != 0); + + NSInteger enfoceInterval = [self.enforceKeyChangeIntervalTextField integerValue]; + NSInteger recommendInterval = [self.recommendKeyChangeIntervalTextField integerValue]; + + metaData.masterKeyChangeEnforcementInterval = enforceMasterKeyChange ? enfoceInterval : -1; + metaData.masterKeyChangeRecommendationInterval = recommendMasterKeyChange ? recommendInterval : -1; + + /* Security */ + + metaData.protectNotes = _MPBoolFotState([self.protectNotesCheckButton state]); + metaData.protectPassword = _MPBoolFotState([self.protectPasswortCheckButton state]); + metaData.protectTitle = _MPBoolFotState([self.protectTitleCheckButton state]); + metaData.protectUrl = _MPBoolFotState([self.protectURLCheckButton state]); + metaData.protectUserName = _MPBoolFotState([self.protectUserNameCheckButton state]); + metaData.defaultUserName = [self.defaultUsernameTextField stringValue]; /* @@ -178,16 +215,18 @@ } - (void)_setupProtectionTab:(KPKMetaData *)metaData { - [self.protectNotesCheckButton setState:metaData.protectNotes ? NSOnState : NSOffState ]; - [self.protectPasswortCheckButton setState:metaData.protectPassword ? NSOnState : NSOffState]; - [self.protectTitleCheckButton setState:metaData.protectTitle ? NSOnState : NSOffState]; - [self.protectURLCheckButton setState:metaData.protectUrl ? NSOnState : NSOffState]; - [self.protectUserNameCheckButton setState:metaData.protectUserName ? NSOnState : NSOffState]; + _MPSetState(self.protectNotesCheckButton, metaData.protectNotes); + _MPSetState(self.protectPasswortCheckButton, metaData.protectPassword); + _MPSetState(self.protectTitleCheckButton, metaData.protectTitle); + _MPSetState(self.protectURLCheckButton, metaData.protectUrl); + _MPSetState(self.protectUserNameCheckButton, metaData.protectUserName); + [self.encryptionRoundsTextField setIntegerValue:metaData.rounds]; [self.benchmarkButton setEnabled:YES]; } - (void)_setupAdvancedTab:(KPKTree *)tree { + /* TODO Do not use bindings, as the user should be able to cancel */ [self bind:@"trashEnabled" toObject:tree.metaData withKeyPath:@"recycleBinEnabled" options:nil]; [self.enableRecycleBinCheckButton bind:NSValueBinding toObject:self withKeyPath:@"trashEnabled" options:nil]; [self.selectRecycleBinGroupPopUpButton bind:NSEnabledBinding toObject:self withKeyPath:@"trashEnabled" options:nil]; @@ -196,6 +235,26 @@ [self.defaultUsernameTextField setStringValue:tree.metaData.defaultUserName]; [self.defaultUsernameTextField setEditable:YES]; [self _updateTemplateGroup:tree]; + + _MPSetState(self.enforceKeyChangeCheckButton, tree.metaData.enforceMasterKeyChange); + _MPSetState(self.recommendKeyChangeCheckButton, tree.metaData.recommendMasterKeyChange); + [self.enforceKeyChangeIntervalTextField setEnabled:tree.metaData.enforceMasterKeyChange]; + [self.recommendKeyChangeIntervalTextField setEnabled:tree.metaData.recommendMasterKeyChange]; + + if(tree.metaData.enforceMasterKeyChange) { + [self.enforceKeyChangeIntervalTextField setIntegerValue:tree.metaData.masterKeyChangeEnforcementInterval]; + } + else { + [self.enforceKeyChangeIntervalTextField setStringValue:@""]; + } + if(tree.metaData.recommendMasterKeyChange) { + [self.recommendKeyChangeIntervalTextField setIntegerValue:tree.metaData.masterKeyChangeRecommendationInterval]; + } + else { + [self.recommendKeyChangeIntervalTextField setStringValue:@""]; + } + [self.enforceKeyChangeCheckButton bind:NSValueBinding toObject:self.enforceKeyChangeIntervalTextField withKeyPath:NSEnabledBinding options:nil]; + [self.recommendKeyChangeCheckButton bind:NSValueBinding toObject:self.recommendKeyChangeIntervalTextField withKeyPath:NSEnabledBinding options:nil]; } - (void)_updateFirstResponder { From 5a19d73e7a1cbc6ae32297762e01e85594d91c36 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 21:06:45 +0200 Subject: [PATCH 117/778] Fixed typo --- MacPass/MPDatabaseSettingsWindowController.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 29a74538..abe67d24 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -41,7 +41,7 @@ NSInteger _MPStateForBool(BOOL flag) { return flag ? NSOnState : NSOffState; } -BOOL _MPBoolFotState(NSInteger state) { +BOOL _MPBoolForState(NSInteger state) { switch (state) { case NSOnState: return YES; @@ -122,8 +122,8 @@ void _MPSetState(id stateItem, BOOL isOn) { _document.templates = templateGroup; - BOOL enforceMasterKeyChange = _MPBoolFotState([self.enforceKeyChangeCheckButton state]); - BOOL recommendMasterKeyChange = _MPBoolFotState([self.recommendKeyChangeCheckButton state]); + BOOL enforceMasterKeyChange = _MPBoolForState([self.enforceKeyChangeCheckButton state]); + BOOL recommendMasterKeyChange = _MPBoolForState([self.recommendKeyChangeCheckButton state]); enforceMasterKeyChange &= ([[self.enforceKeyChangeIntervalTextField stringValue] length] != 0); recommendMasterKeyChange &= ([[self.recommendKeyChangeIntervalTextField stringValue] length] != 0); @@ -136,11 +136,11 @@ void _MPSetState(id stateItem, BOOL isOn) { /* Security */ - metaData.protectNotes = _MPBoolFotState([self.protectNotesCheckButton state]); - metaData.protectPassword = _MPBoolFotState([self.protectPasswortCheckButton state]); - metaData.protectTitle = _MPBoolFotState([self.protectTitleCheckButton state]); - metaData.protectUrl = _MPBoolFotState([self.protectURLCheckButton state]); - metaData.protectUserName = _MPBoolFotState([self.protectUserNameCheckButton state]); + metaData.protectNotes = _MPBoolForState([self.protectNotesCheckButton state]); + metaData.protectPassword = _MPBoolForState([self.protectPasswortCheckButton state]); + metaData.protectTitle = _MPBoolForState([self.protectTitleCheckButton state]); + metaData.protectUrl = _MPBoolForState([self.protectURLCheckButton state]); + metaData.protectUserName = _MPBoolForState([self.protectUserNameCheckButton state]); metaData.defaultUserName = [self.defaultUsernameTextField stringValue]; From 6780999d14a9f0521a2fcb9ad99613ebac05332a Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 25 Aug 2014 21:31:04 +0200 Subject: [PATCH 118/778] Fixed content huggin priorities in autotype tab --- MacPass/Base.lproj/EntryInspectorView.xib | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index bd111c28..eff2a9f7 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -699,7 +699,7 @@ - + @@ -720,7 +720,7 @@ - + @@ -826,8 +826,8 @@ - - + + @@ -850,7 +850,7 @@ - + @@ -904,11 +904,11 @@ + - From 9e2345bcd779af3d1942a5cb97b405eefc50ed18 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Aug 2014 12:00:53 +0200 Subject: [PATCH 119/778] Encryption rounds are now stored when settings are saved (fixes #228) --- MacPass/MPDatabaseSettingsWindowController.m | 2 ++ MacPass/MPOutlineViewController.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index abe67d24..59cea748 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -153,6 +153,8 @@ void _MPSetState(id stateItem, BOOL isOn) { [defaults setBool:protectUsername forKey:kMPSettingsKeyLegacyHideUsername]; [defaults synchronize]; */ + + metaData.rounds = MAX(0,[self.encryptionRoundsTextField integerValue]); [self close:nil]; } diff --git a/MacPass/MPOutlineViewController.h b/MacPass/MPOutlineViewController.h index 4d38e6b5..04fb8a11 100644 --- a/MacPass/MPOutlineViewController.h +++ b/MacPass/MPOutlineViewController.h @@ -10,7 +10,6 @@ APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; -@class MPOutlineViewDelegate; @class HNHGradientView; @class MPDocument; From f322c44fdfe09a93aed6fc575739e284c8226486 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Aug 2014 18:58:27 +0200 Subject: [PATCH 120/778] Exired entries and groups now get updates at runtime --- KeePassKit | 2 +- MacPass/MPDocument.m | 11 ----------- MacPass/MPEntryViewController.m | 11 +++++++++++ MacPass/MPGroupInspectorViewController.m | 3 --- MacPass/MPOutlineViewController.m | 15 +++++++++++++++ 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/KeePassKit b/KeePassKit index fcb5063c..275e6e3e 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit fcb5063c788865e0c02bf1cc9edf24f72b785ec3 +Subproject commit 275e6e3e1be61bea09dfe1ef9a7f33d392f93888 diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 8ff206ac..6ec8f755 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -680,17 +680,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } [self.trash clear]; } -# pragma mark Expiration updates -- (void)_updateExpirationState { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(60*60*6* NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - /* TODO: find better way to do this! Test for alle entries if expired */ - [[self.tree allEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - KPKEntry *entry = obj; - [entry.timeInfo willChangeValueForKey:NSStringFromSelector(@selector(isExpired))]; - [entry.timeInfo didChangeValueForKey:NSStringFromSelector(@selector(isExpired))]; - }]; - }); -} # pragma mark File Watching - (void) _watchForFileChanges:(BOOL)watch { diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index d0c6987a..4bfb62bb 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -37,6 +37,7 @@ #import "KPKNode+IconImage.h" #import "KPKAttribute.h" #import "KPKTimeInfo.h" +#import "KPKMetaData.h" #import "HNHTableHeaderCell.h" #import "HNHGradientView.h" @@ -46,6 +47,7 @@ #import "NSString+Commands.h" #define STATUS_BAR_ANIMATION_TIME 0.15 +#define EXPIRED_ENTRY_REFRESH_SECONDS 60 typedef NS_ENUM(NSUInteger,MPOVerlayInfoType) { MPOverlayInfoPassword, @@ -115,6 +117,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; _dataSource.viewController = self; _menuDelegate = [[MPEntryContextMenuDelegate alloc] init]; _contextBarViewController = [[MPContextBarViewController alloc] init]; + [self _updateExpirationDisplay]; } return self; } @@ -728,4 +731,12 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; break; } } +- (void)_updateExpirationDisplay { + /* items are all entries */ + [[self.entryArrayController arrangedObjects] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [[obj timeInfo] isExpired]; + }]; + [self performSelector:@selector(_updateExpirationDisplay) withObject:nil afterDelay:EXPIRED_ENTRY_REFRESH_SECONDS]; +} + @end diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 289b02a7..e6b7712d 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -81,18 +81,15 @@ [self.titleTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(name)) options:nil]; [self.expiresCheckButton bind:NSValueBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; [self.expiresCheckButton bind:NSTitleBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expiryTime)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; - [self.expireDateSelectButton bind:NSHiddenBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:@{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }]; [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isAutoTypeEnabled)) options:nil]; [self.autotypeSequenceTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(defaultAutoTypeSequence)) options:nil]; [self.searchPopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isSearchEnabled)) options:nil]; } else { [self.titleTextField unbind:NSValueBinding]; - [self.expiresCheckButton unbind:NSValueBinding]; [self.expiresCheckButton unbind:NSTitleBinding]; [self.expiresCheckButton setTitle:NSLocalizedString(@"EXPIRES", "")]; - [self.expireDateSelectButton unbind:NSHiddenBinding]; [self.searchPopupButton unbind:NSSelectedTagBinding]; [self.autotypePopupButton unbind:NSSelectedTagBinding]; [self.autotypeSequenceTextField unbind:NSValueBinding]; diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 66ac9714..ed17e505 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -18,6 +18,8 @@ #import "MPOutlineContextMenuDelegate.h" #import "KPKTree.h" +#import "KPKNode.h" +#import "KPKTimeInfo.h" #import "KPKGroup.h" #import "KPKNode+IconImage.h" #import "KPKMetaData.h" @@ -25,6 +27,8 @@ #import "HNHGradientView.h" +#define EXPIRED_GROUP_REFRESH_SECONDS 60 + NSString *const MPOutlineViewDidChangeGroupSelection = @"com.macpass.MPOutlineViewDidChangeGroupSelection"; NSString *const _MPOutlineViewDataViewIdentifier = @"DataCell"; @@ -104,6 +108,8 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [self bind:NSStringFromSelector(@selector(databaseNameWrapper)) toObject:document.tree.metaData withKeyPath:NSStringFromSelector(@selector(databaseName)) options:nil]; [_outlineView setDataSource:self.datasource]; _bindingEstablished = YES; + [self _updateExpirationDisplay]; + } NSTreeNode *node = [_outlineView itemAtRow:0]; [self _expandItems:node]; @@ -301,4 +307,13 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; return [node isKindOfClass:[KPKTree class]]; } +- (void)_updateExpirationDisplay { + MPDocument *document = [[self windowController] document]; + [document.root.timeInfo isExpired]; + [[document.tree allGroups] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [[obj timeInfo] isExpired]; + }]; + [self performSelector:@selector(_updateExpirationDisplay) withObject:nil afterDelay:EXPIRED_GROUP_REFRESH_SECONDS]; +} + @end From d16df3ff0221e9cec304b3208b11f72f67fb3223 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Aug 2014 18:59:26 +0200 Subject: [PATCH 121/778] Implemented password enforce and recommendation system --- MacPass/Base.lproj/DatePickingView.xib | 8 +-- MacPass/MPDatePickingViewController.m | 4 +- MacPass/MPDocument.h | 3 + MacPass/MPDocument.m | 20 ++++-- MacPass/MPDocumentWindowController.m | 89 +++++++++++++++++++++---- MacPass/en.lproj/Localizable.strings | Bin 9656 -> 10528 bytes 6 files changed, 99 insertions(+), 25 deletions(-) diff --git a/MacPass/Base.lproj/DatePickingView.xib b/MacPass/Base.lproj/DatePickingView.xib index 14f557e7..8144837e 100644 --- a/MacPass/Base.lproj/DatePickingView.xib +++ b/MacPass/Base.lproj/DatePickingView.xib @@ -1,8 +1,8 @@ - + - + @@ -49,7 +49,7 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - + @@ -87,7 +87,6 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA - @@ -96,6 +95,7 @@ AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA + diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index c6c110e8..8e268cd8 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -50,9 +50,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { [presetMenu addItem:item]; } - MPDocument *document = [[self windowController] document]; - - [self.datePicker setDateValue:document.selectedItem.timeInfo.expiryTime]; + [self.datePicker setDateValue:[NSDate date]]; [self.presetPopupButton setAction:@selector(setDatePreset:)]; [self.presetPopupButton setMenu:presetMenu]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index cee549a7..ad256add 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -161,6 +161,9 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { - (NSArray *)allEntries; - (NSArray *)allGroups; +- (BOOL)shouldRecommendPasswordChange; +- (BOOL)shouldEnforcePasswordChange; + /** * Determines, whether the given item is inside the trash. * The trash group itself is not considered as trashed. diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 6ec8f755..fdd496a5 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -282,6 +282,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey BOOL isUnlocked = (nil != self.tree); if(isUnlocked) { + self.unlockCount += 1; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidUnlockDatabaseNotification object:self]; /* Make sure to only store */ MPAppDelegate *delegate = [NSApp delegate]; @@ -292,11 +293,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey else { self.compositeKey = nil; // clear the key? } - if(isUnlocked) { - - self.unlockCount += 1; - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidUnlockDatabaseNotification object:self]; - } return isUnlocked; } @@ -312,6 +308,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [self.compositeKey setPassword:password andKeyfile:keyFileURL]; } self.tree.metaData.masterKeyChanged = [NSDate date]; + /* Key change is not undoable so just recored the change as done */ + [self updateChangeCount:NSChangeDone]; /* We need to store the key file once the user actually writes the database */ return YES; } @@ -438,6 +436,18 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return NO; } +- (BOOL)shouldEnforcePasswordChange { + KPKMetaData *metaData = self.tree.metaData; + if(!metaData.enforceMasterKeyChange) { return NO; } + return ( (24*60*60*metaData.masterKeyChangeEnforcementInterval) < -[metaData.masterKeyChanged timeIntervalSinceNow]); +} + +- (BOOL)shouldRecommendPasswordChange { + KPKMetaData *metaData = self.tree.metaData; + if(!metaData.recommendMasterKeyChange) { return NO; } + return ( (24*60*60*metaData.masterKeyChangeRecommendationInterval) < -[metaData.masterKeyChanged timeIntervalSinceNow]); +} + #pragma mark Data manipulation - (KPKEntry *)createEntry:(KPKGroup *)parent { if(!parent) { diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 107ce2f0..fb4d248e 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -30,7 +30,7 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) { MPAlertLossySaveWarning, }; -typedef void (^MPPasswordChangedBlock)(void); +typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); @interface MPDocumentWindowController () { @private @@ -88,7 +88,7 @@ typedef void (^MPPasswordChangedBlock)(void); MPDocument *document = [self document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotifiation object:document]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showEntries) name:MPDocumentDidUnlockDatabaseNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) name:MPDocumentDidAddEntryNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; @@ -181,6 +181,12 @@ typedef void (^MPPasswordChangedBlock)(void); [self showInspector:self]; } +- (void)_didUnlockDatabase:(NSNotification *)notification { + [self showEntries]; + /* Show password reminders */ + [self _presentPasswordIntervalAlters]; +} + #pragma mark Actions - (void)saveDocument:(id)sender { self.passwordChangedBlock = nil; @@ -204,8 +210,12 @@ typedef void (^MPPasswordChangedBlock)(void); } else if(!document.compositeKey) { __weak MPDocument *weakDocument = [self document]; - self.passwordChangedBlock = ^void(void){[weakDocument saveDocument:sender];}; - [self editPassword:sender]; + self.passwordChangedBlock = ^void(BOOL didChangePassword){ + if(didChangePassword) { + [weakDocument saveDocument:sender]; + } + }; + [self _editPasswordRequiringValidInput:YES]; return; } /* All set and good ready to save */ @@ -216,8 +226,12 @@ typedef void (^MPPasswordChangedBlock)(void); MPDocument *document = [self document]; if(!document.compositeKey) { __weak MPDocument *weakDocument = [self document]; - self.passwordChangedBlock = ^void(void){[weakDocument saveDocumentAs:sender];}; - [self editPassword:sender]; + self.passwordChangedBlock = ^void(BOOL didChangePassword){ + if(didChangePassword) { + [weakDocument saveDocumentAs:sender]; + } + }; + [self _editPasswordRequiringValidInput:YES]; return; } [[self document] saveDocumentAs:sender]; @@ -269,12 +283,16 @@ typedef void (^MPPasswordChangedBlock)(void); } - (void)editPassword:(id)sender { + [self _editPasswordRequiringValidInput:YES]; +} + +- (void)_editPasswordRequiringValidInput:(BOOL)canCancel { if(!self.passwordEditWindowController) { self.passwordEditWindowController = [[MPPasswordEditWindowController alloc] initWithDocument:[self document]]; self.passwordEditWindowController.delegate = self; } /* Disallow empty password if we want to save afterwards, otherwise the dialog keeps poping up */ - self.passwordEditWindowController.allowsEmptyPasswordOrKey = (self.passwordChangedBlock == nil); + self.passwordEditWindowController.allowsEmptyPasswordOrKey = canCancel; [NSApp beginSheet:[self.passwordEditWindowController window] modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL]; } @@ -327,9 +345,9 @@ typedef void (^MPPasswordChangedBlock)(void); else { [self.splitView addSubview:inspectorView]; [self.splitView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[inspectorView(>=200)]" - options:0 - metrics:nil - views:NSDictionaryOfVariableBindings(inspectorView)]]; + options:0 + metrics:nil + views:NSDictionaryOfVariableBindings(inspectorView)]]; [self.inspectorViewController updateResponderChain]; } [[NSUserDefaults standardUserDefaults] setBool:!inspectorWasVisible forKey:kMPSettingsKeyShowInspector]; @@ -422,13 +440,35 @@ typedef void (^MPPasswordChangedBlock)(void); #pragma mark MPPasswordEditWindowDelegate - (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey { - if(changedPasswordOrKey && self.passwordChangedBlock) { - self.passwordChangedBlock(); + if(self.passwordChangedBlock) { + self.passwordChangedBlock(changedPasswordOrKey); } self.passwordChangedBlock = nil; } -#pragma mark Alert Delegate +#pragma mark NSAlert handling +- (void)_presentPasswordIntervalAlters { + MPDocument *document = [self document]; + if(document.shouldEnforcePasswordChange) { + NSAlert *alert = [[NSAlert alloc] init]; + [alert setAlertStyle:NSCriticalAlertStyle]; + [alert setMessageText:NSLocalizedString(@"ENFORCE_PASSWORD_CHANGE_ALERT_TITLE", "")]; + [alert setInformativeText:NSLocalizedString(@"ENFORCE_PASSWORD_CHANGE_ALERT_DESCRIPTION", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD", "")]; + [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_enforcePasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + } + else if(document.shouldRecommendPasswordChange) { + NSAlert *alert = [[NSAlert alloc] init]; + [alert setAlertStyle:NSInformationalAlertStyle]; + [alert setMessageText:NSLocalizedString(@"RECOMMEND_PASSWORD_CHANGE_ALERT_TITLE", "")]; + [alert setInformativeText:NSLocalizedString(@"RECOMMEND_PASSWORD_CHANGE_ALERT_DESCRIPTION", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "")]; + [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; + [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_recommentPasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + } +} + - (void)_dataLossOnSaveAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { switch(returnCode) { @@ -450,6 +490,29 @@ typedef void (^MPPasswordChangedBlock)(void); } } +- (void)_recommentPasswordChangeAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + if(returnCode == NSAlertFirstButtonReturn) { + id __weak welf = self; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [welf _editPasswordRequiringValidInput:YES]; + }); + + } +} + +- (void)_enforcePasswordChangeAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + NSAssert(returnCode == NSAlertFirstButtonReturn, @"Return for password change should always be NSAlertFirstButtonReturn"); + id __weak welf = self; + self.passwordChangedBlock = ^(BOOL didChangePassword){ + if(!didChangePassword) { + [welf _presentPasswordIntervalAlters]; + } + }; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [welf _editPasswordRequiringValidInput:NO]; + }); +} + #pragma mark - #pragma mark UI Helper diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 6dc93a9be3cc28cd020c5f652e342910eedbc9f7..f4ea55fe9129cca6a240e25de25c633cc7ecd0b6 100644 GIT binary patch delta 616 zcmb7?%}N6?6orrALaWe96?J81s)8HEwG@%IR$Ha4HTVs1 zZeNxbZ9`4vH6kROmz*(--7PJw89btg8}wnI;lalaa$LvBzoAO?ChjqS!UJ=4I25ZG zt^;&k#g6++=%rXY!tmRgxClkEcFHspF-BvHzI{8lS}eC6Z<^82rqH6VcwIZ{%@MV5 z2PCghmtzj;q58iz(HVJ-t0BbM+#@QU{?d*oJr@zPV{-n`Zd?ZHS3YF_ib}*>4lS@ DQqgVb delta 12 TcmZ1ww8MKtoZ{wVDp4!|C3poO From 8d9a6ca881a0cf584646d1345f25f6383586dd1b Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Aug 2014 23:18:06 +0200 Subject: [PATCH 122/778] Forced password change now is only displayed after unlock and before save. --- MacPass/MPDocumentWindowController.m | 67 ++++++++++++----------- MacPass/MPPasswordEditWindowController.h | 2 +- MacPass/MPPasswordEditWindowController.m | 32 +++++------ MacPass/en.lproj/Localizable.strings | Bin 10528 -> 10544 bytes 4 files changed, 53 insertions(+), 48 deletions(-) diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index fb4d248e..b78ba1b6 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -215,7 +215,17 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [weakDocument saveDocument:sender]; } }; - [self _editPasswordRequiringValidInput:YES]; + [self editPassword:nil]; + return; + } + else if(document.shouldEnforcePasswordChange) { + __weak MPDocument *weakDocument = [self document]; + self.passwordChangedBlock = ^void(BOOL didChangePassword){ + if(didChangePassword) { + [weakDocument saveDocument:nil]; + } + }; + [self _presentPasswordIntervalAlters]; return; } /* All set and good ready to save */ @@ -224,17 +234,18 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)saveDocumentAs:(id)sender { self.passwordChangedBlock = nil; MPDocument *document = [self document]; - if(!document.compositeKey) { - __weak MPDocument *weakDocument = [self document]; - self.passwordChangedBlock = ^void(BOOL didChangePassword){ - if(didChangePassword) { - [weakDocument saveDocumentAs:sender]; - } - }; - [self _editPasswordRequiringValidInput:YES]; + if(document.compositeKey) { + [[self document] saveDocumentAs:sender]; return; } - [[self document] saveDocumentAs:sender]; + /* we need to make sure that a password is set */ + __weak MPDocument *weakDocument = [self document]; + self.passwordChangedBlock = ^void(BOOL didChangePassword){ + if(didChangePassword) { + [weakDocument saveDocumentAs:sender]; + } + }; + [self editPassword:nil]; } - (void)exportAsXML:(id)sender { @@ -283,16 +294,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } - (void)editPassword:(id)sender { - [self _editPasswordRequiringValidInput:YES]; -} - -- (void)_editPasswordRequiringValidInput:(BOOL)canCancel { if(!self.passwordEditWindowController) { self.passwordEditWindowController = [[MPPasswordEditWindowController alloc] initWithDocument:[self document]]; self.passwordEditWindowController.delegate = self; } - /* Disallow empty password if we want to save afterwards, otherwise the dialog keeps poping up */ - self.passwordEditWindowController.allowsEmptyPasswordOrKey = canCancel; [NSApp beginSheet:[self.passwordEditWindowController window] modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL]; } @@ -454,7 +459,9 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [alert setAlertStyle:NSCriticalAlertStyle]; [alert setMessageText:NSLocalizedString(@"ENFORCE_PASSWORD_CHANGE_ALERT_TITLE", "")]; [alert setInformativeText:NSLocalizedString(@"ENFORCE_PASSWORD_CHANGE_ALERT_DESCRIPTION", "")]; - [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "")]; + [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_enforcePasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; } else if(document.shouldRecommendPasswordChange) { @@ -462,7 +469,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [alert setAlertStyle:NSInformationalAlertStyle]; [alert setMessageText:NSLocalizedString(@"RECOMMEND_PASSWORD_CHANGE_ALERT_TITLE", "")]; [alert setInformativeText:NSLocalizedString(@"RECOMMEND_PASSWORD_CHANGE_ALERT_DESCRIPTION", "")]; - [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD", "")]; + [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", "")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "")]; [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_recommentPasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; @@ -491,25 +498,23 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } - (void)_recommentPasswordChangeAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { - if(returnCode == NSAlertFirstButtonReturn) { - id __weak welf = self; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [welf _editPasswordRequiringValidInput:YES]; - }); - + if(returnCode == NSAlertSecondButtonReturn) { + return; } + id __weak welf = self; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [welf editPassword:nil]; + }); + } - (void)_enforcePasswordChangeAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { - NSAssert(returnCode == NSAlertFirstButtonReturn, @"Return for password change should always be NSAlertFirstButtonReturn"); + if(NSAlertSecondButtonReturn == returnCode) { + return; + } id __weak welf = self; - self.passwordChangedBlock = ^(BOOL didChangePassword){ - if(!didChangePassword) { - [welf _presentPasswordIntervalAlters]; - } - }; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [welf _editPasswordRequiringValidInput:NO]; + [welf editPassword:nil]; }); } diff --git a/MacPass/MPPasswordEditWindowController.h b/MacPass/MPPasswordEditWindowController.h index bb5fbb99..719448c0 100644 --- a/MacPass/MPPasswordEditWindowController.h +++ b/MacPass/MPPasswordEditWindowController.h @@ -31,8 +31,8 @@ @property (weak) IBOutlet NSTextField *errorTextField; @property (weak) IBOutlet NSButton *changePasswordButton; @property (weak) IBOutlet NSButton *hasPasswordSwitchButton; -@property (nonatomic,assign) BOOL allowsEmptyPasswordOrKey; +//@property (nonatomic,assign) BOOL allowsEmptyPasswordOrKey; @property (weak) id delegate; /** diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 7c4dc1fc..c69c3f6f 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -35,7 +35,7 @@ - (id)initWithDocument:(MPDocument *)document { self = [super initWithWindow:nil]; if(self){ - _allowsEmptyPasswordOrKey = YES; + //_allowsEmptyPasswordOrKey = YES; _showPassword = NO; _hasValidPasswordOrKey = NO; _currentDocument = document; @@ -55,22 +55,22 @@ return; } self.showPassword = NO; - // TODO: fix initial view for password edit - //[self.passwordTextField setStringValue:_currentDocument.password ? _currentDocument.password : @""]; - //[self.passwordRepeatTextField setStringValue:[self.passwordTextField stringValue]]; - //self.keyURL = _currentDocument.key; NSDictionary *negateOption = @{ NSValueTransformerNameBindingOption : NSNegateBooleanTransformerName }; - [self.hasPasswordSwitchButton bind:NSValueBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; - [self.passwordTextField bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; - [self.togglePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:negateOption]; - [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.errorTextField bind:NSHiddenBinding toObject:self withKeyPath:@"hasValidPasswordOrKey" options:nil]; - [self.changePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:@"hasValidPasswordOrKey" options:nil]; - [self.keyfilePathControl bind:NSValueBinding toObject:self withKeyPath:@"keyURL" options:nil]; + NSString *enablePasswordKeyPath = NSStringFromSelector(@selector(enablePassword)); + NSString *showPasswordKeyPath = NSStringFromSelector(@selector(showPassword)); + NSString *hasValidPasswordOrKeyKeyPath = NSStringFromSelector(@selector(hasValidPasswordOrKey)); + + [self.hasPasswordSwitchButton bind:NSValueBinding toObject:self withKeyPath:enablePasswordKeyPath options:nil]; + [self.passwordTextField bind:showPasswordKeyPath toObject:self withKeyPath:showPasswordKeyPath options:nil]; + [self.passwordTextField bind:NSEnabledBinding toObject:self withKeyPath:enablePasswordKeyPath options:nil]; + [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:showPasswordKeyPath options:nil]; + [self.togglePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:enablePasswordKeyPath options:nil]; + [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:showPasswordKeyPath options:negateOption]; + [self.passwordRepeatTextField bind:NSEnabledBinding toObject:self withKeyPath:enablePasswordKeyPath options:nil]; + [self.errorTextField bind:NSHiddenBinding toObject:self withKeyPath:hasValidPasswordOrKeyKeyPath options:nil]; + [self.changePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:hasValidPasswordOrKeyKeyPath options:nil]; + [self.keyfilePathControl bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(keyURL)) options:nil]; [self.passwordRepeatTextField setDelegate:self]; [self.passwordTextField setDelegate:self]; @@ -169,7 +169,7 @@ BOOL hasPasswordOrKey = (hasKey || hasPassword); keyOk = hasKey ? keyOk : YES; passwordOk = hasPassword ? passwordOk : YES; - self.hasValidPasswordOrKey = (hasPasswordOrKey || self.allowsEmptyPasswordOrKey ) && passwordOk && keyOk; + self.hasValidPasswordOrKey = hasPasswordOrKey && passwordOk && keyOk; if(!hasPasswordOrKey) { [self.errorTextField setTextColor:[NSColor controlTextColor]]; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index f4ea55fe9129cca6a240e25de25c633cc7ecd0b6..6ee18d0d7e343669ab4a521896a558000b494586 100644 GIT binary patch delta 24 gcmZ1wv>|B21eM7}{Bo1e2=Gl_p(3^Um`W520D!Rxd;kCd delta 24 gcmdlGv><511eM8lYFv}g2=GnbqawBWl1dy40Dh_oZvX%Q From 554da9dfc797bc6a5baca0cfbe778b7876a874a8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Aug 2014 23:18:32 +0200 Subject: [PATCH 123/778] Date picker uses the actual date of the selected item --- MacPass/MPDatePickingViewController.h | 2 +- MacPass/MPDatePickingViewController.m | 1 - MacPass/MPInspectorViewController.m | 7 ++++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/MacPass/MPDatePickingViewController.h b/MacPass/MPDatePickingViewController.h index 426d52cf..5dbd4008 100644 --- a/MacPass/MPDatePickingViewController.h +++ b/MacPass/MPDatePickingViewController.h @@ -10,7 +10,7 @@ @interface MPDatePickingViewController : MPViewController -@property (strong,readonly) NSDate *date; +@property (strong) NSDate *date; @property (weak) IBOutlet NSDatePicker *datePicker; @property (weak) IBOutlet NSPopUpButton *presetPopupButton; @property (assign, readonly) BOOL didCancel; diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 8e268cd8..63a0e72b 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -23,7 +23,6 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { @interface MPDatePickingViewController () -@property (strong) NSDate *date; @property (assign) BOOL didCancel; @end diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 1c90327c..38893f94 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -221,7 +221,12 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.popover = [[NSPopover alloc] init]; self.popover.delegate = self; self.popover.behavior = NSPopoverBehaviorTransient; - self.popover.contentViewController = [[MPDatePickingViewController alloc] init]; + MPDatePickingViewController *controller = [[MPDatePickingViewController alloc] init]; + MPDocument *document = [[self windowController] document]; + if(document.selectedItem.timeInfo.expiryTime) { + controller.date = document.selectedItem.timeInfo.expiryTime; + } + self.popover.contentViewController = controller; [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; } From 0286ed4e5c43100b03764034a54a783ae289ff7a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 27 Aug 2014 12:13:24 +0200 Subject: [PATCH 124/778] Extracted search into own class --- MacPass.xcodeproj/project.pbxproj | 6 +++ MacPass/MPContextBarViewController.m | 19 ++++++---- MacPass/MPDocument+Search.h | 4 ++ MacPass/MPDocument+Search.m | 14 ++++++- MacPass/MPDocument.h | 24 ++---------- MacPass/MPDocument.m | 3 -- MacPass/MPEntrySearchContext.h | 41 +++++++++++++++++++++ MacPass/MPEntrySearchContext.m | 55 ++++++++++++++++++++++++++++ MacPass/MPSettingsHelper.h | 2 +- MacPass/MPSettingsHelper.m | 3 +- 10 files changed, 135 insertions(+), 36 deletions(-) create mode 100644 MacPass/MPEntrySearchContext.h create mode 100644 MacPass/MPEntrySearchContext.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index c97c8244..e4a3531c 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ 4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */; }; 4C0728BF17B68ED0005A7DD9 /* SavePanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */; }; 4C08C3AE17B3022400BBBC95 /* KPKLegacyHeaderWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */; }; + 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */; }; 4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */; }; 4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */; }; 4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */; }; @@ -384,6 +385,8 @@ 4C08C3AC17B3022400BBBC95 /* KPKLegacyHeaderWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKLegacyHeaderWriter.h; sourceTree = ""; }; 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKLegacyHeaderWriter.m; sourceTree = ""; }; 4C08C3AF17B3036500BBBC95 /* KPKLegacyFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = KPKLegacyFormat.h; path = Format/KPKLegacyFormat.h; sourceTree = ""; }; + 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntrySearchContext.h; sourceTree = ""; }; + 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntrySearchContext.m; sourceTree = ""; }; 4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFixAutotypeWindowController.h; sourceTree = ""; }; 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFixAutotypeWindowController.m; sourceTree = ""; }; 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FixAutotypeWindow.xib; sourceTree = ""; }; @@ -1366,6 +1369,8 @@ 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */, 4C94A06D1938DC8C0040ABAB /* MPEditSession.h */, 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */, + 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */, + 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */, ); name = Model; sourceTree = ""; @@ -2304,6 +2309,7 @@ 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */, 4C94A06F1938DC8C0040ABAB /* MPEditSession.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, + 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */, 4C811C8316ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m in Sources */, diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index fe08badd..75538098 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -7,13 +7,15 @@ // #import "MPContextBarViewController.h" -#import "HNHGradientView.h" #import "KPKEntry.h" + #import "MPDocument+HistoryBrowsing.h" #import "MPDocument+Search.h" +#import "MPFlagsHelper.h" +#import "MPEntrySearchContext.h" #import "NSButton+HNHTextColor.h" -#import "MPFlagsHelper.h" +#import "HNHGradientView.h" #import "HNHCommon.h" NSUInteger const MPContextBarViewControllerActiveFilterMenuItemTag = 1000; @@ -122,12 +124,13 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)_updateFilterButtons { MPDocument *document = [[self windowController] document]; - [self.duplicatePasswordsButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchDoublePasswords, document.activeFlags))]; - [self.notesButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchNotes, document.activeFlags))]; - [self.passwordButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchPasswords, document.activeFlags))]; - [self.titleButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchTitles, document.activeFlags))]; - [self.urlButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUrls, document.activeFlags))]; - [self.usernameButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUsernames, document.activeFlags))]; + MPEntrySearchFlags currentFlags = document.searchContext.searchFlags; + [self.duplicatePasswordsButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchDoublePasswords, currentFlags))]; + [self.notesButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchNotes, currentFlags))]; + [self.passwordButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchPasswords, currentFlags))]; + [self.titleButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchTitles, currentFlags))]; + [self.urlButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUrls, currentFlags))]; + [self.usernameButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUsernames, currentFlags))]; } @end diff --git a/MacPass/MPDocument+Search.h b/MacPass/MPDocument+Search.h index c5a76cf1..f290c4f7 100644 --- a/MacPass/MPDocument+Search.h +++ b/MacPass/MPDocument+Search.h @@ -8,6 +8,8 @@ #import "MPDocument.h" +@class MPEntrySearchContext; + FOUNDATION_EXTERN NSString *const MPDocumentDidEnterSearchNotification; FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchFlags; FOUNDATION_EXTERN NSString *const MPDocumentDidExitSearchNotification; @@ -30,4 +32,6 @@ FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; /* called by the filter toggle buttons */ - (IBAction)toggleSearchFlags:(id)sender; +- (NSArray *)entriesMatchingSearch:(MPEntrySearchContext *)search; + @end diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index cb9460ee..078520fc 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -30,13 +30,17 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul - (void)performFindPanelAction:(id)sender { self.hasSearch = YES; + /* the search context is loaded via defaults */ + self.searchContext = [[MPEntrySearchContext alloc] init]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterSearchNotification object:self]; [self updateSearch:self]; } - (void)updateSearch:(id)sender { MPDocumentWindowController *windowController = [self windowControllers][0]; - self.searchString = [windowController.searchField stringValue]; + NSString *searchString = [windowController.searchField stringValue]; + /* Update the search string */ + self.searchContext = [[MPEntrySearchContext alloc] initWithString:searchString flags:self.searchContext.searchFlags]; if(NO == self.hasSearch) { [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterSearchNotification object:self]; } @@ -53,8 +57,10 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul } - (void)exitSearch:(id)sender { - self.searchString = nil; + self.searchContext = nil; + /*self.searchString = nil; self.hasSearch = NO; + */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidExitSearchNotification object:self]; } @@ -97,6 +103,10 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul } } +- (NSArray *)entriesMatchingSearch:(MPEntrySearchContext *)search { + return nil; +} + #pragma mark Search - (NSArray *)_findEntriesMatchingCurrentSearch { /* Filter double passwords */ diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index ad256add..443d9a7a 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -22,6 +22,7 @@ #import #import "KPKVersion.h" +#import "MPEntrySearchContext.h" /** * Posted when a new group was added to the document. @@ -58,24 +59,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @class KPKNode; @class MPEditSession; -typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { - MPEntrySearchNone = 0, - MPEntrySearchUrls = (1<<0), - MPEntrySearchUsernames = (1<<1), - MPEntrySearchTitles = (1<<2), - MPEntrySearchPasswords = (1<<3), - MPEntrySearchNotes = (1<<4), - MPEntrySearchAllAttributes = (1<<5), - MPEntrySearchDoublePasswords = (1<<6), // Unused in GUI for now - MPEntrySearchAllFlags = (MPEntrySearchDoublePasswords | - MPEntrySearchNotes | - MPEntrySearchPasswords | - MPEntrySearchTitles | - MPEntrySearchUrls | - MPEntrySearchUsernames | - MPEntrySearchAllAttributes ) -}; - @interface MPDocument : NSDocument @property (nonatomic, readonly, assign) BOOL encrypted; @@ -102,9 +85,8 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { /* Search - see MPDocument+Search for further details */ -@property (nonatomic, assign) MPEntrySearchFlags activeFlags; -@property (nonatomic, copy) NSString *searchString; -@property (nonatomic, assign) BOOL hasSearch; +@property (nonatomic, readonly, assign) BOOL hasSearch; +@property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong) NSArray *searchResult; /* diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index fdd496a5..51843699 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -123,9 +123,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey _encryptedData = nil; _didLockFile = NO; _readOnly = NO; - _activeFlags = MPEntrySearchTitles; - _hasSearch = NO; - _unlockCount = 0; self.tree = [KPKTree templateTree]; self.tree.metaData.rounds = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordRounds]; } diff --git a/MacPass/MPEntrySearchContext.h b/MacPass/MPEntrySearchContext.h new file mode 100644 index 00000000..8f1c7ef2 --- /dev/null +++ b/MacPass/MPEntrySearchContext.h @@ -0,0 +1,41 @@ +// +// MPEntrySearch.h +// MacPass +// +// Created by Michael Starke on 26.06.14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { + MPEntrySearchNone = 0, + MPEntrySearchUrls = (1<<0), + MPEntrySearchUsernames = (1<<1), + MPEntrySearchTitles = (1<<2), + MPEntrySearchPasswords = (1<<3), + MPEntrySearchNotes = (1<<4), + MPEntrySearchAllAttributes = (1<<5), + MPEntrySearchDoublePasswords = (1<<6), // Unused in GUI for now + MPEntrySearchExpiredEntries = (1<<7), // Unused for now + MPEntrySearchAllFlags = (MPEntrySearchDoublePasswords | + MPEntrySearchExpiredEntries | + MPEntrySearchNotes | + MPEntrySearchPasswords | + MPEntrySearchTitles | + MPEntrySearchUrls | + MPEntrySearchUsernames | + MPEntrySearchAllAttributes ) +}; + + +/* Wrap serach criteria to be able to store them */ +@interface MPEntrySearchContext : NSObject + ++ (instancetype)defaultContext; +- (instancetype)initWithString:(NSString *)searchString flags:(MPEntrySearchFlags)flags; + +@property (readonly, assign) NSInteger searchFlags; +@property (readonly, copy) NSString *searchString; + +@end diff --git a/MacPass/MPEntrySearchContext.m b/MacPass/MPEntrySearchContext.m new file mode 100644 index 00000000..19fabc54 --- /dev/null +++ b/MacPass/MPEntrySearchContext.m @@ -0,0 +1,55 @@ +// +// MPEntrySearch.m +// MacPass +// +// Created by Michael Starke on 26.06.14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPEntrySearchContext.h" + +@interface MPEntrySearchContext () + +@property (assign) NSInteger searchFlags; +@property (copy) NSString *searchString; + +@end + +@implementation MPEntrySearchContext + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (instancetype)defaultContext { + +} + +- (instancetype)init { + self = [self initWithString:nil flags:MPEntrySearchNone]; + return self; +} + +- (instancetype)initWithString:(NSString *)searchString flags:(MPEntrySearchFlags)flags { + self = [super init]; + if(self) { + self.searchFlags = flags; + self.searchString = searchString; + } + return self; + +} + +- (void)encodeWithCoder:(NSCoder *)aCoder { + [aCoder encodeInteger:self.searchFlags forKey:NSStringFromSelector(@selector(searchFlags))]; + [aCoder encodeObject:self.searchString forKey:NSStringFromSelector(@selector(searchString))]; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + self = [self init]; + self.searchString = [aDecoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(searchString))]; + self.searchFlags = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(searchFlags))]; + return self; +} + +@end diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index a87014c9..ffb0acd8 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -51,7 +51,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key /* Search */ -APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode; +APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterContext; /* Quicklook */ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 0c54315b..3e6240ed 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -37,7 +37,7 @@ NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCo NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; -NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; +NSString *const kMPSettingsKeyEntrySearchFilterContext = @"EntrySearchFilterContext"; NSString *const kMPSettingsKeyEnableQuicklookPreview = @"EnableQuicklookPreview"; @@ -49,6 +49,7 @@ NSString *const kMPSettingsKeyPasswordCharacterFlags = @"Passwo NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; NSString *const kMPSettingsKeyPasswordCustomString = @"PasswordCustomString"; +/* Depricated */ NSString *const kMPSettingsKeyDoubleClickURLAction = @"DoubleClickURLAction"; NSString *const kMPSettingsKeyDoubleClickTitleAction = @"DoubleClickTitleAction"; From be5889c5b13fd585af7b4616d2e2731e407dfb7d Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 27 Aug 2014 19:43:03 +0200 Subject: [PATCH 125/778] Search criteriy is objetified. Can be stored and saved in preferences. This is a first step to enable saved searches inside the Keepass database via use of custom data. --- HNHUi | 2 +- MacPass/ContextBar.xib | 27 ++++++--- MacPass/MPContextBarViewController.h | 1 + MacPass/MPContextBarViewController.m | 32 ++++++++++- MacPass/MPDocument+Search.h | 4 +- MacPass/MPDocument+Search.m | 81 ++++++++++++++------------- MacPass/MPDocument.h | 3 +- MacPass/MPDocument.m | 4 ++ MacPass/MPEntrySearchContext.h | 25 +++++++-- MacPass/MPEntrySearchContext.m | 45 ++++++++++++--- MacPass/MPSettingsHelper.m | 16 +++++- MacPass/OutlineView.xib | 4 +- MacPass/en.lproj/Localizable.strings | Bin 10544 -> 10806 bytes 13 files changed, 170 insertions(+), 74 deletions(-) diff --git a/HNHUi b/HNHUi index 330a06a8..08252931 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 330a06a8316d889eb4aae97a4c7300a6131e392b +Subproject commit 08252931b9a9cae3f2947adad34def666071f23f diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 04dffb30..5621f982 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -7,7 +7,6 @@ - @@ -15,6 +14,7 @@ + @@ -102,31 +102,38 @@ - + + + + + + + + + - + + - + - @@ -135,6 +142,8 @@ + + diff --git a/MacPass/MPContextBarViewController.h b/MacPass/MPContextBarViewController.h index 4eeadb6a..0ed45c0d 100644 --- a/MacPass/MPContextBarViewController.h +++ b/MacPass/MPContextBarViewController.h @@ -20,6 +20,7 @@ @property (weak) IBOutlet NSButton *urlButton; @property (weak) IBOutlet NSButton *notesButton; @property (weak) IBOutlet NSButton *duplicatePasswordsButton; +@property (weak) IBOutlet NSPopUpButton *specialFilterPopUpButton; - (void)registerNotificationsForDocument:(MPDocument *)document; diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 75538098..66a1163f 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -70,12 +70,24 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { self.emptyTrashButton.textColor = [NSColor whiteColor]; - NSInteger tags[] = { MPEntrySearchTitles, MPEntrySearchUsernames, MPEntrySearchPasswords, MPEntrySearchNotes, MPEntrySearchUrls, MPEntrySearchDoublePasswords }; - NSArray *buttons = @[self.titleButton, self.usernameButton, self.passwordButton, self.notesButton, self.urlButton, self.duplicatePasswordsButton ]; + NSInteger tags[] = { MPEntrySearchTitles, MPEntrySearchUsernames, MPEntrySearchPasswords, MPEntrySearchNotes, MPEntrySearchUrls }; + NSArray *buttons = @[self.titleButton, self.usernameButton, self.passwordButton, self.notesButton, self.urlButton ]; for(NSUInteger iIndex = 0; iIndex < [buttons count]; iIndex++) { [buttons[iIndex] setAction:@selector(toggleSearchFlags:)]; [buttons[iIndex] setTag:tags[iIndex]]; } + NSInteger specialTags[] = { MPEntrySearchDoublePasswords, MPEntrySearchExpiredEntries }; + NSArray *titles = @[ NSLocalizedString(@"SEARCH_DUPLICATE_PASSWORDS", ""), NSLocalizedString(@"SEARCH_EXPIRED_ENTRIES", "") ]; + NSMenu *specialMenu = [[NSMenu alloc] initWithTitle:@"Special Filters Menu"]; + [specialMenu addItemWithTitle:NSLocalizedString(@"SELECT_FILTER_WITH_DOTS", "") action:NULL keyEquivalent:@""]; + [[specialMenu itemAtIndex:0] setEnabled:NO]; + [[specialMenu itemAtIndex:0] setTag:MPEntrySearchNone]; + for(NSInteger iIndex = 0; iIndex < [titles count]; iIndex++) { + NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:titles[iIndex] action:@selector(toggleSearchFlags:) keyEquivalent:@""]; + [item setTag:specialTags[iIndex]]; + [specialMenu addItem:item]; + } + [self.specialFilterPopUpButton setMenu:specialMenu]; [self _updateFilterButtons]; } @@ -131,6 +143,22 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [self.titleButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchTitles, currentFlags))]; [self.urlButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUrls, currentFlags))]; [self.usernameButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUsernames, currentFlags))]; + NSInteger selectedTag = MPEntrySearchNone; + for(NSMenuItem *item in [[self.specialFilterPopUpButton menu] itemArray]) { + MPEntrySearchFlags flag = [item tag]; + if(flag == MPEntrySearchNone) { + [item setState:NSOffState]; + [item setEnabled:NO]; + } + else { + BOOL isActive = MPTestFlagInOptions(flag, currentFlags); + if(isActive) { + selectedTag = flag; + } + [item setState:HNHStateForBool(isActive)]; + } + } + [self.specialFilterPopUpButton selectItemWithTag:selectedTag]; } @end diff --git a/MacPass/MPDocument+Search.h b/MacPass/MPDocument+Search.h index f290c4f7..ca211af2 100644 --- a/MacPass/MPDocument+Search.h +++ b/MacPass/MPDocument+Search.h @@ -25,6 +25,8 @@ FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; @interface MPDocument (Search) +- (void)enterSearchWithContext:(MPEntrySearchContext *)context; + /* Should be called by the NSSearchTextField to update the search string */ - (IBAction)updateSearch:(id)sender; /* exits searching mode */ @@ -32,6 +34,4 @@ FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; /* called by the filter toggle buttons */ - (IBAction)toggleSearchFlags:(id)sender; -- (NSArray *)entriesMatchingSearch:(MPEntrySearchContext *)search; - @end diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index 078520fc..288016dc 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -12,6 +12,7 @@ #import "KPKGroup.h" #import "KPKEntry.h" +#import "KPKTimeInfo.h" #import "MPFlagsHelper.h" @@ -26,25 +27,30 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul @implementation MPDocument (Search) -#pragma mark Actions -- (void)performFindPanelAction:(id)sender { - self.hasSearch = YES; +- (void)enterSearchWithContext:(MPEntrySearchContext *)context { /* the search context is loaded via defaults */ - self.searchContext = [[MPEntrySearchContext alloc] init]; + self.searchContext = context; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateSearch:) name:NSUndoManagerDidRedoChangeNotification object:self.undoManager]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateSearch:) name:NSUndoManagerDidUndoChangeNotification object:self.undoManager]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterSearchNotification object:self]; [self updateSearch:self]; } +#pragma mark Actions + +- (void)performFindPanelAction:(id)sender { + [self enterSearchWithContext:[MPEntrySearchContext userContext]]; +} + - (void)updateSearch:(id)sender { + if(NO == self.hasSearch) { + [self enterSearchWithContext:[MPEntrySearchContext userContext]]; + return; // We get called back! + } MPDocumentWindowController *windowController = [self windowControllers][0]; NSString *searchString = [windowController.searchField stringValue]; - /* Update the search string */ - self.searchContext = [[MPEntrySearchContext alloc] initWithString:searchString flags:self.searchContext.searchFlags]; - if(NO == self.hasSearch) { - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterSearchNotification object:self]; - } - self.hasSearch = YES; + self.searchContext.searchString = searchString; MPDocument __weak *weakSelf = self; dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(backgroundQueue, ^{ @@ -57,10 +63,9 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul } - (void)exitSearch:(id)sender { + [[NSNotificationCenter defaultCenter] removeObserver:self name:NSUndoManagerDidUndoChangeNotification object:self.undoManager]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:NSUndoManagerDidRedoChangeNotification object:self.undoManager]; self.searchContext = nil; - /*self.searchString = nil; - self.hasSearch = NO; - */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidExitSearchNotification object:self]; } @@ -75,29 +80,30 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul MPEntrySearchFlags toggleFlag = [sender tag]; MPEntrySearchFlags newFlags = MPEntrySearchNone; BOOL isDoublePasswordFlag = (toggleFlag == MPEntrySearchDoublePasswords); + BOOL isExpiredFlag = (toggleFlag == MPEntrySearchExpiredEntries); NSButton *button = sender; switch([button state]) { case NSOffState: toggleFlag ^= MPEntrySearchAllFlags; - newFlags = isDoublePasswordFlag ? oldFlags : (self.activeFlags & toggleFlag); + newFlags = isDoublePasswordFlag ? oldFlags : (self.searchContext.searchFlags & toggleFlag); break; case NSOnState: - if(isDoublePasswordFlag) { - oldFlags = self.activeFlags; - newFlags = MPEntrySearchDoublePasswords; + if(isDoublePasswordFlag || isExpiredFlag ) { + oldFlags = self.searchContext.searchFlags; + newFlags = toggleFlag;//MPEntrySearchDoublePasswords; } else { /* always mask the double passwords in case another button was pressed */ - self.activeFlags &= (MPEntrySearchDoublePasswords ^ MPEntrySearchAllFlags); - newFlags = self.activeFlags | toggleFlag; + self.searchContext.searchFlags &= ((MPEntrySearchDoublePasswords | MPEntrySearchExpiredEntries) ^ MPEntrySearchAllFlags); + newFlags = self.searchContext.searchFlags | toggleFlag; } break; default: NSAssert(NO, @"Internal state is inconsistent"); return; } - if(newFlags != self.activeFlags) { - self.activeFlags = (newFlags == MPEntrySearchNone) ? MPEntrySearchTitles : newFlags; + if(newFlags != self.searchContext.searchFlags) { + self.searchContext.searchFlags = (newFlags == MPEntrySearchNone) ? MPEntrySearchTitles : newFlags; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidChangeSearchFlags object:self]; [self updateSearch:self]; } @@ -110,7 +116,7 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul #pragma mark Search - (NSArray *)_findEntriesMatchingCurrentSearch { /* Filter double passwords */ - if(MPTestFlagInOptions(MPEntrySearchDoublePasswords, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchDoublePasswords, self.searchContext.searchFlags)) { __block NSMutableDictionary *passwordToEntryMap = [[NSMutableDictionary alloc] initWithCapacity:100]; /* Build up a usage map */ [[self.root childEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { @@ -136,8 +142,15 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul }]; return doublePasswords; } + if(MPTestFlagInOptions(MPEntrySearchExpiredEntries, self.searchContext.searchFlags)) { + NSPredicate *expiredPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { + KPKNode *node = evaluatedObject; + return node.timeInfo.isExpired; + }]; + return [[self.root childEntries] filteredArrayUsingPredicate:expiredPredicate]; + } /* Filter using predicates */ - NSArray *predicates = [self _filterPredicatesWithString:self.searchString]; + NSArray *predicates = [self _filterPredicatesWithString:self.searchContext.searchString]; if(predicates) { NSPredicate *fullFilter = [NSCompoundPredicate orPredicateWithSubpredicates:predicates]; return [[self.root childEntries] filteredArrayUsingPredicate:fullFilter]; @@ -146,34 +159,22 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul return [self.root childEntries]; } -- (NSArray *)optionsEnabledInMode:(MPEntrySearchFlags)mode { - NSArray *allOptions = @[ @(MPEntrySearchUrls), @(MPEntrySearchUsernames), - @(MPEntrySearchTitles), @(MPEntrySearchPasswords) , - @(MPEntrySearchNotes), @(MPEntrySearchDoublePasswords) ]; - - NSIndexSet *indexes = [allOptions indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { - MPEntrySearchFlags flag = [obj integerValue]; - return MPTestFlagInOptions(flag, mode); - }]; - return [allOptions objectsAtIndexes:indexes]; -} - - (NSArray *)_filterPredicatesWithString:(NSString *)string{ NSMutableArray *prediactes = [[NSMutableArray alloc] initWithCapacity:4]; - if(MPTestFlagInOptions(MPEntrySearchTitles, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchTitles, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchUsernames, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchUsernames, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.username CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchUrls, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchUrls, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.url CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchPasswords, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchPasswords, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.password CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchNotes, self.activeFlags)) { + if(MPTestFlagInOptions(MPEntrySearchNotes, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.notes CONTAINS[cd] %@", string]]; } return prediactes; diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 443d9a7a..26a66bcd 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -61,6 +61,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @interface MPDocument : NSDocument + @property (nonatomic, readonly, assign) BOOL encrypted; @property (nonatomic, readonly, assign) NSUInteger unlockCount; // Amount of times the Document was unlocked; @@ -85,7 +86,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; /* Search - see MPDocument+Search for further details */ -@property (nonatomic, readonly, assign) BOOL hasSearch; +@property (nonatomic, readonly) BOOL hasSearch; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong) NSArray *searchResult; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 51843699..a0e0106b 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -354,6 +354,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return [self findGroup:self.tree.metaData.entryTemplatesGroup]; } +- (BOOL)hasSearch { + return self.searchContext != nil; +} + - (void)setTrash:(KPKGroup *)trash { if(self.useTrash) { if(![self.tree.metaData.recycleBinUuid isEqual:trash.uuid]) { diff --git a/MacPass/MPEntrySearchContext.h b/MacPass/MPEntrySearchContext.h index 8f1c7ef2..370d9a8d 100644 --- a/MacPass/MPEntrySearchContext.h +++ b/MacPass/MPEntrySearchContext.h @@ -16,8 +16,11 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { MPEntrySearchPasswords = (1<<3), MPEntrySearchNotes = (1<<4), MPEntrySearchAllAttributes = (1<<5), - MPEntrySearchDoublePasswords = (1<<6), // Unused in GUI for now - MPEntrySearchExpiredEntries = (1<<7), // Unused for now + /* The following two flags should be used like enums. + They are not intented to be used in conjunktion with any other flag */ + MPEntrySearchDoublePasswords = (1<<6), + MPEntrySearchExpiredEntries = (1<<7), + /* All search flags that are combineable combined */ MPEntrySearchAllFlags = (MPEntrySearchDoublePasswords | MPEntrySearchExpiredEntries | MPEntrySearchNotes | @@ -30,12 +33,24 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { /* Wrap serach criteria to be able to store them */ -@interface MPEntrySearchContext : NSObject +@interface MPEntrySearchContext : NSObject +/** + * Returns a default search context initalized with sane values. + * + * @return The default search context + */ + (instancetype)defaultContext; +/** + * Returns the search context using the users preferences. If none are found, a default context is created + * + * @return Search context configured to the users data. If nothing is configures, defaultContext is used + */ ++ (instancetype)userContext; + - (instancetype)initWithString:(NSString *)searchString flags:(MPEntrySearchFlags)flags; -@property (readonly, assign) NSInteger searchFlags; -@property (readonly, copy) NSString *searchString; +@property (nonatomic, assign) NSInteger searchFlags; +@property (nonatomic, copy) NSString *searchString; @end diff --git a/MacPass/MPEntrySearchContext.m b/MacPass/MPEntrySearchContext.m index 19fabc54..56a15fb0 100644 --- a/MacPass/MPEntrySearchContext.m +++ b/MacPass/MPEntrySearchContext.m @@ -7,13 +7,7 @@ // #import "MPEntrySearchContext.h" - -@interface MPEntrySearchContext () - -@property (assign) NSInteger searchFlags; -@property (copy) NSString *searchString; - -@end +#import "MPSettingsHelper.h" @implementation MPEntrySearchContext @@ -22,11 +16,19 @@ } + (instancetype)defaultContext { - + return [[MPEntrySearchContext alloc] init]; +} + ++ (instancetype)userContext { + NSData *data = [[NSUserDefaults standardUserDefaults] dataForKey:kMPSettingsKeyEntrySearchFilterContext]; + if(data) { + return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + } + return [self defaultContext]; } - (instancetype)init { - self = [self initWithString:nil flags:MPEntrySearchNone]; + self = [self initWithString:nil flags:MPEntrySearchTitles|MPEntrySearchUsernames]; return self; } @@ -40,6 +42,7 @@ } +#pragma mark NSSecureCoding - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeInteger:self.searchFlags forKey:NSStringFromSelector(@selector(searchFlags))]; [aCoder encodeObject:self.searchString forKey:NSStringFromSelector(@selector(searchString))]; @@ -52,4 +55,28 @@ return self; } +#pragma mark NSCopying +- (id)copyWithZone:(NSZone *)zone { + return [[MPEntrySearchContext alloc] initWithString:self.searchString flags:self.searchFlags]; +} + +- (void)setSearchFlags:(NSInteger)searchFlags { + if(_searchFlags != searchFlags) { + _searchFlags = searchFlags; + [self _updatePreferences]; + } +} + +- (void)setSearchString:(NSString *)searchString { + if(![_searchString isEqualToString:searchString]) { + _searchString = [searchString copy]; + [self _updatePreferences]; + } +} + +- (void )_updatePreferences { + NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:self]; + [[NSUserDefaults standardUserDefaults] setObject:myData forKey:kMPSettingsKeyEntrySearchFilterContext]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} @end diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 3e6240ed..1e35260e 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -49,7 +49,6 @@ NSString *const kMPSettingsKeyPasswordCharacterFlags = @"Passwo NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; NSString *const kMPSettingsKeyPasswordCustomString = @"PasswordCustomString"; -/* Depricated */ NSString *const kMPSettingsKeyDoubleClickURLAction = @"DoubleClickURLAction"; NSString *const kMPSettingsKeyDoubleClickTitleAction = @"DoubleClickTitleAction"; @@ -58,6 +57,7 @@ NSString *const kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases = @"kM NSString *const kMPDeprecatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; NSString *const kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; +NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; @implementation MPSettingsHelper @@ -68,6 +68,7 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do + (void)migrateDefaults { [self _fixEntryTableSortDescriptors]; [self _migrateURLDoubleClickPreferences]; + [self _migrateEntrySearchFlags]; [self _removeDeprecatedValues]; } @@ -97,7 +98,6 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do kMPSettingsKeyLegacyHideUsername: @NO, kMPSettingsKeyRememberKeyFilesForDatabases: @NO, kMPSettingsKeySendCommandForControlKey: @YES, - kMPSettingsKeyEntrySearchFilterMode: @0, kMPSettingsKeyEnableGlobalAutotype: @NO, kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, @@ -120,7 +120,8 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do deprecatedSettings = @[ kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases, kMPDeprecatedSettingsKeyLastDatabasePath, kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown, - kMPDeprecatedSettingsKeyDoubleClickURLToLaunch ]; + kMPDeprecatedSettingsKeyDoubleClickURLToLaunch, + kMPDeprecatedSettingsKeyEntrySearchFilterMode]; }); return deprecatedSettings; } @@ -160,4 +161,13 @@ NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"Do } } ++ (void)_migrateEntrySearchFlags { + NSInteger flags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPDeprecatedSettingsKeyEntrySearchFilterMode]; + if(flags != 0) { + MPEntrySearchContext *context = [[MPEntrySearchContext alloc] initWithString:nil flags:flags]; + NSData *contextData = [NSKeyedArchiver archivedDataWithRootObject:context]; + [[NSUserDefaults standardUserDefaults] setObject:contextData forKey:kMPSettingsKeyEntrySearchFilterContext]; + } +} + @end diff --git a/MacPass/OutlineView.xib b/MacPass/OutlineView.xib index 1de84ec2..1ef91d5a 100644 --- a/MacPass/OutlineView.xib +++ b/MacPass/OutlineView.xib @@ -1,8 +1,8 @@ - + - + diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 6ee18d0d7e343669ab4a521896a558000b494586..6d7f7e5d1a2ece28e7a5f78dacd819b025c40bbb 100644 GIT binary patch delta 145 zcmdlGv@K-A18!L*hF}I)21kY<24@BjhIj@ShERq81|J4bAm4HFL_vQH6|M{sKoy=q z9j**6llvv5^<5b%7z!9N8HyNE8B!RO7_1q%fF#IVA0T#S2mzYw2GrpLWVtc~O)lhD W Date: Wed, 27 Aug 2014 19:43:26 +0200 Subject: [PATCH 126/778] Updated to current HNHUi --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 330a06a8..08252931 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 330a06a8316d889eb4aae97a4c7300a6131e392b +Subproject commit 08252931b9a9cae3f2947adad34def666071f23f From 5fa01f0366c504f7e203be42d780e55d94384447 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 27 Aug 2014 19:46:43 +0200 Subject: [PATCH 127/778] Created groups are now scrolled into view (fixes #231) --- MacPass/MPOutlineViewController.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index ed17e505..639e8520 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -170,7 +170,9 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; NSIndexPath *groupIndexPath = [group indexPath]; NSTreeNode *groupNode = [[self.treeController arrangedObjects] descendantNodeAtIndexPath:groupIndexPath]; [self.outlineView expandItem:groupNode.parentNode]; - [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:[self.outlineView rowForItem:groupNode]] byExtendingSelection:NO]; + NSInteger groupRow = [self.outlineView rowForItem:groupNode]; + [self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:groupRow] byExtendingSelection:NO]; + [self.outlineView scrollRowToVisible:groupRow]; } - (id)itemUnderMouse { From a5a8c0646f38c2c2ee80cc04404a96f078a93878 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 27 Aug 2014 20:05:59 +0200 Subject: [PATCH 128/778] Extracted some state tools to HNHCommon --- HNHUi | 2 +- MacPass.xcodeproj/project.pbxproj | 10 +++- MacPass/MPDatabaseSettingsWindowController.m | 56 ++++++-------------- MacPass/MPFlagsHelper.h | 5 +- MacPass/MPFlagsHelper.m | 13 +++++ 5 files changed, 39 insertions(+), 47 deletions(-) create mode 100644 MacPass/MPFlagsHelper.m diff --git a/HNHUi b/HNHUi index 08252931..254906cc 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 08252931b9a9cae3f2947adad34def666071f23f +Subproject commit 254906cc1096951ca077ad0bb8ca7fd955596d0c diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e4a3531c..e80d0169 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -216,6 +216,8 @@ 4C94A06F1938DC8C0040ABAB /* MPEditSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */; }; 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; + 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; + 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -753,6 +755,8 @@ 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditSession.m; sourceTree = ""; }; 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_CreatedTemplate.pdf; path = Icons/99_CreatedTemplate.pdf; sourceTree = ""; }; + 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; + 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; 4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextFieldCell.h; sourceTree = ""; }; 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextFieldCell.m; sourceTree = ""; }; 4CA08D9E17A831B200A6544B /* MPAddEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAddEntryContextMenuDelegate.h; sourceTree = ""; }; @@ -1297,7 +1301,6 @@ 4C4B7EF717A4B335000234C7 /* MPUniqueCharactersFormatter.m */, 4C224B4017DFCB2300FF6AEE /* MPNumericalInputFormatter.h */, 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */, - 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */, 4C3C4EAD18D7039300153127 /* MPValueTransformerHelper.h */, 4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */, 4C26C33D18D8C92100CF1A1C /* MPTemporaryFileStorage.h */, @@ -1306,6 +1309,8 @@ 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */, 4C4B728318E4B9B400A1A5D5 /* MPDockTileHelper.h */, 4C4B728418E4B9B400A1A5D5 /* MPDockTileHelper.m */, + 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */, + 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */, ); name = Helper; sourceTree = ""; @@ -1761,6 +1766,7 @@ 4CFDDDE7185E92A600A9E7F1 /* HNHTextView.h */, 4CFDDDE8185E92A600A9E7F1 /* HNHTextView.m */, 4C48A56018BE932100278A2D /* HNHCommon.h */, + 4C978E0519AE53FE003067DF /* HNHCommon.m */, ); path = HNHUi; sourceTree = ""; @@ -2298,6 +2304,7 @@ 4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */, 4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */, 4C3BD51516D276F800389F1F /* MPToolbarDelegate.m in Sources */, + 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */, 4C61EA0316D2FD0800AC519E /* MPOutlineViewController.m in Sources */, 4C69A73A16D589DF00EC1B1A /* HNHGradientView.m in Sources */, 4C65C79C16DD283900E32CFF /* MPToolbarButton.m in Sources */, @@ -2353,6 +2360,7 @@ 4C3C4EAF18D7039300153127 /* MPValueTransformerHelper.m in Sources */, 4C245B7D176E1E3D0086100E /* MultipartFormDataParser.m in Sources */, 4C245B7E176E1E3D0086100E /* MultipartMessageHeader.m in Sources */, + 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */, 4C245B7F176E1E3D0086100E /* MultipartMessageHeaderField.m in Sources */, 4C245B80176E1E3D0086100E /* HTTPAsyncFileResponse.m in Sources */, 4C6F228919A4A7F90012310C /* MPAutotypeClear.m in Sources */, diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 59cea748..aa08809e 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -23,6 +23,7 @@ #import "HNHRoundedTextField.h" #import "HNHRoundedSecureTextField.h" +#import "HNHCommon.h" #import "NSString+Empty.h" @@ -37,33 +38,6 @@ @implementation MPDatabaseSettingsWindowController -NSInteger _MPStateForBool(BOOL flag) { - return flag ? NSOnState : NSOffState; -} - -BOOL _MPBoolForState(NSInteger state) { - switch (state) { - case NSOnState: - return YES; - default: - case NSMixedState: - NSLog(@"Indetermined state!"); - case NSOffState: - return NO; - break; - } -} - -void _MPSetState(id stateItem, BOOL isOn) { - if([stateItem respondsToSelector:@selector(setState:)]) { - [stateItem setState:_MPStateForBool(isOn)]; - } - else { - NSLog(@"%@ does not respond to setState:", stateItem); - assert(false); - } -} - - (NSString *)windowNibName { return @"DatabaseSettingsWindow"; } @@ -122,8 +96,8 @@ void _MPSetState(id stateItem, BOOL isOn) { _document.templates = templateGroup; - BOOL enforceMasterKeyChange = _MPBoolForState([self.enforceKeyChangeCheckButton state]); - BOOL recommendMasterKeyChange = _MPBoolForState([self.recommendKeyChangeCheckButton state]); + BOOL enforceMasterKeyChange = HNHBoolForState([self.enforceKeyChangeCheckButton state]); + BOOL recommendMasterKeyChange = HNHBoolForState([self.recommendKeyChangeCheckButton state]); enforceMasterKeyChange &= ([[self.enforceKeyChangeIntervalTextField stringValue] length] != 0); recommendMasterKeyChange &= ([[self.recommendKeyChangeIntervalTextField stringValue] length] != 0); @@ -136,11 +110,11 @@ void _MPSetState(id stateItem, BOOL isOn) { /* Security */ - metaData.protectNotes = _MPBoolForState([self.protectNotesCheckButton state]); - metaData.protectPassword = _MPBoolForState([self.protectPasswortCheckButton state]); - metaData.protectTitle = _MPBoolForState([self.protectTitleCheckButton state]); - metaData.protectUrl = _MPBoolForState([self.protectURLCheckButton state]); - metaData.protectUserName = _MPBoolForState([self.protectUserNameCheckButton state]); + metaData.protectNotes = HNHBoolForState([self.protectNotesCheckButton state]); + metaData.protectPassword = HNHBoolForState([self.protectPasswortCheckButton state]); + metaData.protectTitle = HNHBoolForState([self.protectTitleCheckButton state]); + metaData.protectUrl = HNHBoolForState([self.protectURLCheckButton state]); + metaData.protectUserName = HNHBoolForState([self.protectUserNameCheckButton state]); metaData.defaultUserName = [self.defaultUsernameTextField stringValue]; @@ -217,11 +191,11 @@ void _MPSetState(id stateItem, BOOL isOn) { } - (void)_setupProtectionTab:(KPKMetaData *)metaData { - _MPSetState(self.protectNotesCheckButton, metaData.protectNotes); - _MPSetState(self.protectPasswortCheckButton, metaData.protectPassword); - _MPSetState(self.protectTitleCheckButton, metaData.protectTitle); - _MPSetState(self.protectURLCheckButton, metaData.protectUrl); - _MPSetState(self.protectUserNameCheckButton, metaData.protectUserName); + HNHSetStateFromBool(self.protectNotesCheckButton, metaData.protectNotes); + HNHSetStateFromBool(self.protectPasswortCheckButton, metaData.protectPassword); + HNHSetStateFromBool(self.protectTitleCheckButton, metaData.protectTitle); + HNHSetStateFromBool(self.protectURLCheckButton, metaData.protectUrl); + HNHSetStateFromBool(self.protectUserNameCheckButton, metaData.protectUserName); [self.encryptionRoundsTextField setIntegerValue:metaData.rounds]; [self.benchmarkButton setEnabled:YES]; @@ -238,8 +212,8 @@ void _MPSetState(id stateItem, BOOL isOn) { [self.defaultUsernameTextField setEditable:YES]; [self _updateTemplateGroup:tree]; - _MPSetState(self.enforceKeyChangeCheckButton, tree.metaData.enforceMasterKeyChange); - _MPSetState(self.recommendKeyChangeCheckButton, tree.metaData.recommendMasterKeyChange); + HNHSetStateFromBool(self.enforceKeyChangeCheckButton, tree.metaData.enforceMasterKeyChange); + HNHSetStateFromBool(self.recommendKeyChangeCheckButton, tree.metaData.recommendMasterKeyChange); [self.enforceKeyChangeIntervalTextField setEnabled:tree.metaData.enforceMasterKeyChange]; [self.recommendKeyChangeIntervalTextField setEnabled:tree.metaData.recommendMasterKeyChange]; diff --git a/MacPass/MPFlagsHelper.h b/MacPass/MPFlagsHelper.h index af0bc1d9..c1724e45 100644 --- a/MacPass/MPFlagsHelper.h +++ b/MacPass/MPFlagsHelper.h @@ -20,8 +20,5 @@ * * @return YES if any bit of flag is set in mode */ -static BOOL MPTestFlagInOptions(const NSUInteger flag, const NSUInteger options ) { - return (0 != (options & flag)); -} - +FOUNDATION_EXTERN BOOL MPTestFlagInOptions(const NSUInteger flag, const NSUInteger options ); #endif diff --git a/MacPass/MPFlagsHelper.m b/MacPass/MPFlagsHelper.m new file mode 100644 index 00000000..fa758947 --- /dev/null +++ b/MacPass/MPFlagsHelper.m @@ -0,0 +1,13 @@ +// +// MPFlagsHelper.m +// MacPass +// +// Created by Michael Starke on 27/08/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPFlagsHelper.h" + +BOOL MPTestFlagInOptions(const NSUInteger flag, const NSUInteger options ) { + return (0 != (options & flag)); +} From 30f22d135924aadcb468d5ea0f9a1a3a65120f36 Mon Sep 17 00:00:00 2001 From: James Hurst Date: Wed, 27 Aug 2014 21:24:05 -0400 Subject: [PATCH 129/778] Fixed autotype on Yosemite (issue #230) --- MacPass/MPAutotypePaste.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index dc5578f2..a4bfa3bc 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -38,6 +38,7 @@ [controller stashObjects]; [controller copyObjectsWithoutTimeout:@[self.pasteData]]; [self sendPasteKeyCode]; + usleep(0.1 * NSEC_PER_MSEC); // on 10.10 we need to wait a bit before restoring the pasteboard contents [controller restoreObjects]; } } From f243d3f2693f513d5af69127d7e0a117930eb60a Mon Sep 17 00:00:00 2001 From: James Hurst Date: Sun, 31 Aug 2014 18:46:07 -0400 Subject: [PATCH 130/778] Fixed overlay icon colour on Yosemite --- MacPass/MPOverlayWindowController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPOverlayWindowController.m b/MacPass/MPOverlayWindowController.m index 56526182..fa9b7140 100644 --- a/MacPass/MPOverlayWindowController.m +++ b/MacPass/MPOverlayWindowController.m @@ -47,7 +47,7 @@ [self.window setOpaque:NO]; [self.window setHasShadow:NO]; [[self.textField cell] setBackgroundStyle:NSBackgroundStyleLowered]; - [[self.imageView cell] setBackgroundStyle:NSBackgroundStyleLowered]; + [[self.imageView cell] setBackgroundStyle:NSBackgroundStyleDark]; [[self.imageView cell] setImageAlignment:NSImageAlignCenter]; } From 5f84dfe10038c6a5e7e2f3d1236690658483d04c Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:03:37 +0200 Subject: [PATCH 131/778] Updated to current KeePassKit --- KeePassKit | 2 +- MacPass/MPTreeDelegate.h | 13 +++++++++++++ MacPass/MPTreeDelegate.m | 13 +++++++++++++ MacPass/NSTableCellView+MPSwizzle.h | 13 +++++++++++++ MacPass/NSTableCellView+MPSwizzle.m | 13 +++++++++++++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 MacPass/MPTreeDelegate.h create mode 100644 MacPass/MPTreeDelegate.m create mode 100644 MacPass/NSTableCellView+MPSwizzle.h create mode 100644 MacPass/NSTableCellView+MPSwizzle.m diff --git a/KeePassKit b/KeePassKit index 275e6e3e..450ad0d4 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 275e6e3e1be61bea09dfe1ef9a7f33d392f93888 +Subproject commit 450ad0d4dc88e324158d338e18a3770d24315b7f diff --git a/MacPass/MPTreeDelegate.h b/MacPass/MPTreeDelegate.h new file mode 100644 index 00000000..cd10f335 --- /dev/null +++ b/MacPass/MPTreeDelegate.h @@ -0,0 +1,13 @@ +// +// MPTreeDelegate.h +// MacPass +// +// Created by Michael Starke on 01/09/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPTreeDelegate : NSObject + +@end diff --git a/MacPass/MPTreeDelegate.m b/MacPass/MPTreeDelegate.m new file mode 100644 index 00000000..4de86e45 --- /dev/null +++ b/MacPass/MPTreeDelegate.m @@ -0,0 +1,13 @@ +// +// MPTreeDelegate.m +// MacPass +// +// Created by Michael Starke on 01/09/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPTreeDelegate.h" + +@implementation MPTreeDelegate + +@end diff --git a/MacPass/NSTableCellView+MPSwizzle.h b/MacPass/NSTableCellView+MPSwizzle.h new file mode 100644 index 00000000..ba59e08a --- /dev/null +++ b/MacPass/NSTableCellView+MPSwizzle.h @@ -0,0 +1,13 @@ +// +// NSCell+MPSwizzle.h +// MacPass +// +// Created by Michael Starke on 01/09/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface NSCell (MPSwizzle) + +@end diff --git a/MacPass/NSTableCellView+MPSwizzle.m b/MacPass/NSTableCellView+MPSwizzle.m new file mode 100644 index 00000000..4a6ab921 --- /dev/null +++ b/MacPass/NSTableCellView+MPSwizzle.m @@ -0,0 +1,13 @@ +// +// NSCell+MPSwizzle.m +// MacPass +// +// Created by Michael Starke on 01/09/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "NSCell+MPSwizzle.h" + +@implementation NSCell (MPSwizzle) + +@end From 82ce6da892ab68587896bee77d39cbc1d0d696e4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:04:21 +0200 Subject: [PATCH 132/778] Removed swizzeling test --- MacPass/NSTableCellView+MPSwizzle.h | 13 ------------- MacPass/NSTableCellView+MPSwizzle.m | 13 ------------- 2 files changed, 26 deletions(-) delete mode 100644 MacPass/NSTableCellView+MPSwizzle.h delete mode 100644 MacPass/NSTableCellView+MPSwizzle.m diff --git a/MacPass/NSTableCellView+MPSwizzle.h b/MacPass/NSTableCellView+MPSwizzle.h deleted file mode 100644 index ba59e08a..00000000 --- a/MacPass/NSTableCellView+MPSwizzle.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// NSCell+MPSwizzle.h -// MacPass -// -// Created by Michael Starke on 01/09/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import - -@interface NSCell (MPSwizzle) - -@end diff --git a/MacPass/NSTableCellView+MPSwizzle.m b/MacPass/NSTableCellView+MPSwizzle.m deleted file mode 100644 index 4a6ab921..00000000 --- a/MacPass/NSTableCellView+MPSwizzle.m +++ /dev/null @@ -1,13 +0,0 @@ -// -// NSCell+MPSwizzle.m -// MacPass -// -// Created by Michael Starke on 01/09/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "NSCell+MPSwizzle.h" - -@implementation NSCell (MPSwizzle) - -@end From 05de5f0e9aaba22affdbb019801d7a8d79be9c37 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:04:49 +0200 Subject: [PATCH 133/778] Added MPTreeDelegate stubb --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/MPTreeDelegate.h | 3 ++- MacPass/MPTreeDelegate.m | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e80d0169..c784acab 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -208,6 +208,7 @@ 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9216EB6F5E003D34A1 /* MPToolbarItem.m */; }; 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9616EB754B003D34A1 /* MPActionHelper.m */; }; 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */; }; + 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */; }; 4C89F521182F9FDD0069C73C /* NSString+Commands.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F520182F9FDD0069C73C /* NSString+Commands.m */; }; 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */; }; 4C8A173D1790AA41008B5C17 /* NSData+Keyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */; }; @@ -741,6 +742,8 @@ 4C888C9616EB754B003D34A1 /* MPActionHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPActionHelper.m; sourceTree = ""; }; 4C88C66718D9F8D600F43852 /* MPTemporaryFileStorageCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTemporaryFileStorageCenter.h; sourceTree = ""; }; 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorageCenter.m; sourceTree = ""; }; + 4C89B70E19B4B4A300DC0A6A /* MPTreeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTreeDelegate.h; sourceTree = ""; }; + 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTreeDelegate.m; sourceTree = ""; }; 4C89F51F182F9FDD0069C73C /* NSString+Commands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Commands.h"; sourceTree = ""; }; 4C89F520182F9FDD0069C73C /* NSString+Commands.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Commands.m"; sourceTree = ""; }; 4C89F522182FB4740069C73C /* MPAutotypeCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeCommand.h; sourceTree = ""; }; @@ -1346,6 +1349,8 @@ 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */, 4CA334C818AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.h */, 4CA334C918AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m */, + 4C89B70E19B4B4A300DC0A6A /* MPTreeDelegate.h */, + 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */, ); name = Delegates; sourceTree = ""; @@ -2350,6 +2355,7 @@ 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */, 4C77C84118E240E000D1C42B /* DDHotKey+Keydata.m in Sources */, 4C3C4EA618D6FEA100153127 /* TTTJSONTransformer.m in Sources */, + 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */, 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, 4C245B79176E1E3D0086100E /* HTTPAuthenticationRequest.m in Sources */, 4C245B7A176E1E3D0086100E /* HTTPConnection.m in Sources */, diff --git a/MacPass/MPTreeDelegate.h b/MacPass/MPTreeDelegate.h index cd10f335..7f8e945b 100644 --- a/MacPass/MPTreeDelegate.h +++ b/MacPass/MPTreeDelegate.h @@ -7,7 +7,8 @@ // #import +#import "KPKTree.h" -@interface MPTreeDelegate : NSObject +@interface MPTreeDelegate : NSObject @end diff --git a/MacPass/MPTreeDelegate.m b/MacPass/MPTreeDelegate.m index 4de86e45..6b5a20b2 100644 --- a/MacPass/MPTreeDelegate.m +++ b/MacPass/MPTreeDelegate.m @@ -10,4 +10,9 @@ @implementation MPTreeDelegate +- (NSString *)defaultAutotypeSequenceForTree:(KPKTree *)tree { + /* TODO use Settings for the default autotype sequence */ + return nil; +} + @end From 63597721208e205bf739a545508b0278c6bf1267 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:05:18 +0200 Subject: [PATCH 134/778] Fixed typo --- MacPass/MPEntryViewController.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 4bfb62bb..3036e7c0 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -67,7 +67,7 @@ NSString *const MPEntryTableModfiedColumnIdentifier = @"MPEntryTableModfiedColum NSString *const _MPTableImageCellView = @"ImageCell"; NSString *const _MPTableStringCellView = @"StringCell"; -NSString *const _MPTAbleSecurCellView = @"PasswordCell"; +NSString *const _MPTableSecurCellView = @"PasswordCell"; @interface MPEntryViewController () { MPEntryContextMenuDelegate *_menuDelegate; @@ -278,7 +278,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; } } else if(isPasswordColum) { - view = [tableView makeViewWithIdentifier:_MPTAbleSecurCellView owner:self]; + view = [tableView makeViewWithIdentifier:_MPTableSecurCellView owner:self]; NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] }; [[view textField] bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(password)) options:options]; } @@ -731,6 +731,9 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell"; break; } } + +#pragma mark periodic UI Update + - (void)_updateExpirationDisplay { /* items are all entries */ [[self.entryArrayController arrangedObjects] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { From cf562bc0c27b012f6adc0465144ab376f4ee9d63 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:05:27 +0200 Subject: [PATCH 135/778] Removed unnecessary logging --- MacPass/MPInspectorViewController.m | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 38893f94..60caa64e 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -287,7 +287,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { } /* Disable if item is not editable */ - NSLog(@"%@ isEditable: %i", item, [item isEditable]); [self.itemNameTextField bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; [self.itemImageView bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; [self.notesTextView bind:NSEditableBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; From bf2a8ed5f63edf3f6eb4fedbb9b4f0caee210416 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:05:45 +0200 Subject: [PATCH 136/778] Added settings key for Defautl Global Autotype Keystrokes --- MacPass/MPSettingsHelper.h | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index ffb0acd8..3821c80c 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -49,6 +49,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key +APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence; // Default sequence used for Autotype /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterContext; From 16ae9739f28fb4ec47ac0777cb61d61ab6b01433 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:06:18 +0200 Subject: [PATCH 137/778] Added comment regarding KeePass settings for Autotype matching --- MacPass/MPDocument+Autotype.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 30918e45..bc64d307 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -53,6 +53,15 @@ NSArray *autotypeEntries = [self.root autotypeableChildEntries]; NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; for(KPKEntry *entry in autotypeEntries) { + /* TODO: + + KeePass for Windows hase the following options for matching: + Title is contained + URL is contained + Host component is contained + A tag is contained + + */ /* Test for entry title in window title */ NSRange titleRange = [windowTitle rangeOfString:entry.title options:NSCaseInsensitiveSearch]; /* Test for window title in entry title */ From 8ab4d9f7875894eb4a86214c3e8a2472fc2ae33d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:06:36 +0200 Subject: [PATCH 138/778] Searchbar should work better with wrong selections --- MacPass/ContextBar.xib | 2 +- MacPass/MPContextBarViewController.m | 1 + MacPass/MPDocument+Search.m | 15 +++++------ MacPass/MPEntrySearchContext.h | 39 ++++++++++++++-------------- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 5621f982..226cf117 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -103,7 +103,7 @@ - + diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 66a1163f..984635f8 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -82,6 +82,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [specialMenu addItemWithTitle:NSLocalizedString(@"SELECT_FILTER_WITH_DOTS", "") action:NULL keyEquivalent:@""]; [[specialMenu itemAtIndex:0] setEnabled:NO]; [[specialMenu itemAtIndex:0] setTag:MPEntrySearchNone]; + [[specialMenu itemAtIndex:0] setAction:@selector(toggleSearchFlags:)]; for(NSInteger iIndex = 0; iIndex < [titles count]; iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:titles[iIndex] action:@selector(toggleSearchFlags:) keyEquivalent:@""]; [item setTag:specialTags[iIndex]]; diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index 288016dc..faed64a8 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -70,7 +70,6 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul } - (void)toggleSearchFlags:(id)sender { - static MPEntrySearchFlags oldFlags; if(![sender respondsToSelector:@selector(tag)]) { return; // We need to read the button tag } @@ -79,23 +78,21 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul } MPEntrySearchFlags toggleFlag = [sender tag]; MPEntrySearchFlags newFlags = MPEntrySearchNone; - BOOL isDoublePasswordFlag = (toggleFlag == MPEntrySearchDoublePasswords); - BOOL isExpiredFlag = (toggleFlag == MPEntrySearchExpiredEntries); + BOOL isSingleFlag = toggleFlag & MPEntrySearchSingleFlags; NSButton *button = sender; switch([button state]) { case NSOffState: - toggleFlag ^= MPEntrySearchAllFlags; - newFlags = isDoublePasswordFlag ? oldFlags : (self.searchContext.searchFlags & toggleFlag); + toggleFlag ^= MPEntrySearchAllCombineableFlags; + newFlags = isSingleFlag ? MPEntrySearchNone : (self.searchContext.searchFlags & toggleFlag); break; case NSOnState: - if(isDoublePasswordFlag || isExpiredFlag ) { - oldFlags = self.searchContext.searchFlags; - newFlags = toggleFlag;//MPEntrySearchDoublePasswords; + if(isSingleFlag ) { + newFlags = toggleFlag; // This has to be either expired or double passwords } else { /* always mask the double passwords in case another button was pressed */ - self.searchContext.searchFlags &= ((MPEntrySearchDoublePasswords | MPEntrySearchExpiredEntries) ^ MPEntrySearchAllFlags); newFlags = self.searchContext.searchFlags | toggleFlag; + newFlags &= (MPEntrySearchSingleFlags ^ MPEntrySearchAllFlags); } break; default: diff --git a/MacPass/MPEntrySearchContext.h b/MacPass/MPEntrySearchContext.h index 370d9a8d..67278696 100644 --- a/MacPass/MPEntrySearchContext.h +++ b/MacPass/MPEntrySearchContext.h @@ -9,29 +9,30 @@ #import typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { - MPEntrySearchNone = 0, - MPEntrySearchUrls = (1<<0), - MPEntrySearchUsernames = (1<<1), - MPEntrySearchTitles = (1<<2), - MPEntrySearchPasswords = (1<<3), - MPEntrySearchNotes = (1<<4), - MPEntrySearchAllAttributes = (1<<5), + MPEntrySearchNone = 0, + MPEntrySearchUrls = (1<<0), + MPEntrySearchUsernames = (1<<1), + MPEntrySearchTitles = (1<<2), + MPEntrySearchPasswords = (1<<3), + MPEntrySearchNotes = (1<<4), + MPEntrySearchAllAttributes = (1<<5), /* The following two flags should be used like enums. They are not intented to be used in conjunktion with any other flag */ - MPEntrySearchDoublePasswords = (1<<6), - MPEntrySearchExpiredEntries = (1<<7), - /* All search flags that are combineable combined */ - MPEntrySearchAllFlags = (MPEntrySearchDoublePasswords | - MPEntrySearchExpiredEntries | - MPEntrySearchNotes | - MPEntrySearchPasswords | - MPEntrySearchTitles | - MPEntrySearchUrls | - MPEntrySearchUsernames | - MPEntrySearchAllAttributes ) + MPEntrySearchDoublePasswords = (1<<6), + MPEntrySearchExpiredEntries = (1<<7), + /* All combinebale search flags combined */ + MPEntrySearchAllCombineableFlags = (MPEntrySearchDoublePasswords | + MPEntrySearchExpiredEntries | + MPEntrySearchNotes | + MPEntrySearchPasswords | + MPEntrySearchTitles | + MPEntrySearchUrls | + MPEntrySearchUsernames | + MPEntrySearchAllAttributes), + MPEntrySearchSingleFlags = (MPEntrySearchDoublePasswords | MPEntrySearchExpiredEntries), + MPEntrySearchAllFlags = (MPEntrySearchAllCombineableFlags | MPEntrySearchSingleFlags ) }; - /* Wrap serach criteria to be able to store them */ @interface MPEntrySearchContext : NSObject From 2aef949a5b33d9bf2f074af13074718002344c7f Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Sep 2014 19:28:29 +0200 Subject: [PATCH 139/778] Added default Autotype sequence to settings. Using sepearte MPTreeDeleagte for autotype and editing --- KeePassKit | 2 +- MacPass/MPDocument.m | 7 +++++++ MacPass/MPSettingsHelper.m | 2 ++ MacPass/MPTreeDelegate.h | 4 ++++ MacPass/MPTreeDelegate.m | 25 +++++++++++++++++++++++-- 5 files changed, 37 insertions(+), 3 deletions(-) diff --git a/KeePassKit b/KeePassKit index 450ad0d4..5f2c98f4 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 450ad0d4dc88e324158d338e18a3770d24315b7f +Subproject commit 5f2c98f46fc4d3c1b6bdd985d46384ff1301fd7b diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index a0e0106b..335db0a9 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -31,6 +31,8 @@ #import "MPNotifications.h" #import "MPConstants.h" #import "MPSavePanelAccessoryViewController.h" +#import "MPTreeDelegate.h" + #import "DDXMLNode.h" @@ -65,6 +67,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey @private BOOL _didLockFile; NSData *_encryptedData; + MPTreeDelegate *_treeDelgate; } @property (nonatomic, assign) NSUInteger unlockCount; @@ -396,6 +399,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(_tree != tree) { _tree = tree; _tree.undoManager = [self undoManager]; + if(nil == _treeDelgate) { + _treeDelgate = [[MPTreeDelegate alloc] initWithDocument:self]; + } + _tree.delegate = _treeDelgate; } } diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 1e35260e..335a2fe0 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -36,6 +36,7 @@ NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"Rememe NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; +NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence = @"DefaultGlobalAutotypeSequence"; NSString *const kMPSettingsKeyEntrySearchFilterContext = @"EntrySearchFilterContext"; @@ -99,6 +100,7 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyRememberKeyFilesForDatabases: @NO, kMPSettingsKeySendCommandForControlKey: @YES, kMPSettingsKeyEnableGlobalAutotype: @NO, + kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}", kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, kMPSettingsKeyDefaultPasswordRounds: @50000, diff --git a/MacPass/MPTreeDelegate.h b/MacPass/MPTreeDelegate.h index 7f8e945b..fadf8281 100644 --- a/MacPass/MPTreeDelegate.h +++ b/MacPass/MPTreeDelegate.h @@ -9,6 +9,10 @@ #import #import "KPKTree.h" +@class MPDocument; + @interface MPTreeDelegate : NSObject +- (instancetype)initWithDocument:(MPDocument *)document; + @end diff --git a/MacPass/MPTreeDelegate.m b/MacPass/MPTreeDelegate.m index 6b5a20b2..9fa0b171 100644 --- a/MacPass/MPTreeDelegate.m +++ b/MacPass/MPTreeDelegate.m @@ -8,11 +8,32 @@ #import "MPTreeDelegate.h" +#import "MPDocument.h" +#import "MPSettingsHelper.h" + +@interface MPTreeDelegate (); + +@property (weak) MPDocument *document; + +@end + + @implementation MPTreeDelegate +- (instancetype)initWithDocument:(MPDocument *)document { + self = [super init]; + if(self) { + self.document = document; + } + return self; +} + - (NSString *)defaultAutotypeSequenceForTree:(KPKTree *)tree { - /* TODO use Settings for the default autotype sequence */ - return nil; + return [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyDefaultGlobalAutotypeSequence]; +} + +- (BOOL)shouldEditTree:(KPKTree *)tree { + return (NO == self.document.isReadOnly); } @end From ad915f26b03a94ae1b319c4eae631bcfca2c0041 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 Sep 2014 16:03:02 +0200 Subject: [PATCH 140/778] fixed #241 - Maxium length now is set to 256 --- MacPass/Base.lproj/PasswordCreatorView.xib | 34 ++++++++++++---------- MacPass/MPPasswordCreatorViewController.m | 2 +- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/MacPass/Base.lproj/PasswordCreatorView.xib b/MacPass/Base.lproj/PasswordCreatorView.xib index 91824d97..507df440 100644 --- a/MacPass/Base.lproj/PasswordCreatorView.xib +++ b/MacPass/Base.lproj/PasswordCreatorView.xib @@ -1,8 +1,8 @@ - + - + @@ -32,7 +32,7 @@ - + @@ -41,11 +41,11 @@ - + - + @@ -59,7 +59,7 @@ - + @@ -70,6 +70,9 @@ + + + @@ -188,9 +191,6 @@ - - + + - + @@ -224,8 +224,8 @@ - - + + @@ -274,12 +274,16 @@ - + + + + + diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 567db5d5..53521c65 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -31,7 +31,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { Skale 0-90 */ #define MIN_PASSWORD_LENGTH 1 -#define MAX_PASSWORD_LENGTH 64 +#define MAX_PASSWORD_LENGTH 256 @interface MPPasswordCreatorViewController () { MPPasswordCharacterFlags _characterFlags; From eed6ad193d039f9d8c4af5287fd18f04fdfc20d1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 25 Sep 2014 20:34:58 +0200 Subject: [PATCH 141/778] Using mail like color sheme in badges --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 254906cc..9f628bb5 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 254906cc1096951ca077ad0bb8ca7fd955596d0c +Subproject commit 9f628bb50d479c869c7607d701f28e37b203bec9 From 1ca5612d58aab91def8176f54ea462f79357c1dc Mon Sep 17 00:00:00 2001 From: James Hurst Date: Sun, 28 Sep 2014 20:42:46 -0400 Subject: [PATCH 142/778] Fixed linking with latest Sparkle --- MacPass.xcodeproj/project.pbxproj | 8 ++++++++ Sparkle | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index c784acab..73bcb7b0 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -2854,6 +2854,10 @@ GCC_PREFIX_HEADER = "MacPass/MacPass-Prefix.pch"; INFOPLIST_FILE = "MacPass/MacPass-Info.plist"; MACOSX_DEPLOYMENT_TARGET = 10.8; + OTHER_LDFLAGS = ( + "-lxml2", + "-Wl,-rpath,@loader_path/../Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; SDKROOT = macosx10.8; @@ -2871,6 +2875,10 @@ GCC_PREFIX_HEADER = "MacPass/MacPass-Prefix.pch"; INFOPLIST_FILE = "MacPass/MacPass-Info.plist"; MACOSX_DEPLOYMENT_TARGET = 10.8; + OTHER_LDFLAGS = ( + "-lxml2", + "-Wl,-rpath,@loader_path/../Frameworks", + ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; SDKROOT = macosx10.8; diff --git a/Sparkle b/Sparkle index 246a2e73..bb241f58 160000 --- a/Sparkle +++ b/Sparkle @@ -1 +1 @@ -Subproject commit 246a2e7304f1886db18ed34da74a54d591cbdd2c +Subproject commit bb241f58bd62203e1de028621351ed10a8bedca2 From 6070992eed434fee089f955a710a3581e49cd738 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 9 Oct 2014 21:26:46 +0200 Subject: [PATCH 143/778] Set to latest base sdk --- MacPass.xcodeproj/project.pbxproj | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 73bcb7b0..a29a4b0c 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1781,7 +1781,7 @@ children = ( 4CC5D35B18A1162100AF7FA8 /* Sparkle.framework */, 4CC5D35D18A1162100AF7FA8 /* Sparkle Test App.app */, - 4CC5D35F18A1162100AF7FA8 /* Sparkle Unit Tests.octest */, + 4CC5D35F18A1162100AF7FA8 /* Sparkle Unit Tests.xctest */, 4CC5D36118A1162100AF7FA8 /* BinaryDelta */, 4CC5D36318A1162100AF7FA8 /* Autoupdate.app */, ); @@ -2126,10 +2126,10 @@ remoteRef = 4CC5D35C18A1162100AF7FA8 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 4CC5D35F18A1162100AF7FA8 /* Sparkle Unit Tests.octest */ = { + 4CC5D35F18A1162100AF7FA8 /* Sparkle Unit Tests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; - path = "Sparkle Unit Tests.octest"; + path = "Sparkle Unit Tests.xctest"; remoteRef = 4CC5D35E18A1162100AF7FA8 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -2749,7 +2749,7 @@ GCC_PREFIX_HEADER = "MacPassTests/MacPassTests-Prefix.pch"; INFOPLIST_FILE = "MacPassTests/MacPassTests-Info.plist"; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx10.8; + SDKROOT = macosx; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Debug; @@ -2772,7 +2772,7 @@ GCC_PREFIX_HEADER = "MacPassTests/MacPassTests-Prefix.pch"; INFOPLIST_FILE = "MacPassTests/MacPassTests-Info.plist"; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx10.8; + SDKROOT = macosx; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Release; @@ -2810,7 +2810,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.8; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-lxml2"; - SDKROOT = macosx10.8; + SDKROOT = macosx; }; name = Debug; }; @@ -2840,7 +2840,7 @@ HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2/**"; MACOSX_DEPLOYMENT_TARGET = 10.8; OTHER_LDFLAGS = "-lxml2"; - SDKROOT = macosx10.8; + SDKROOT = macosx; }; name = Release; }; @@ -2860,7 +2860,7 @@ ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - SDKROOT = macosx10.8; + SDKROOT = macosx; WRAPPER_EXTENSION = app; }; name = Debug; @@ -2881,7 +2881,7 @@ ); PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - SDKROOT = macosx10.8; + SDKROOT = macosx; WRAPPER_EXTENSION = app; }; name = Release; From d2f1c53dbadb7913918b9769983258440eda7d12 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 9 Oct 2014 21:27:46 +0200 Subject: [PATCH 144/778] Updated to Xcode 6 --- MacPass.xcodeproj/project.pbxproj | 8 ++++++-- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index a29a4b0c..0fd476c5 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -248,7 +248,7 @@ 4CC29A02176F9D140050C939 /* MPTestAssociateRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC29A01176F9D140050C939 /* MPTestAssociateRequestHandler.m */; }; 4CC3AABD175F4983003EF01B /* HNHRoundedTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC3AAB9175F4983003EF01B /* HNHRoundedTextFieldCell.m */; }; 4CC5D36418A1162D00AF7FA8 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CC5D35B18A1162100AF7FA8 /* Sparkle.framework */; }; - 4CC5D36718A1333000AF7FA8 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC5D35B18A1162100AF7FA8 /* Sparkle.framework */; }; + 4CC5D36718A1333000AF7FA8 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC5D35B18A1162100AF7FA8 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */; }; 4CC6DB7D17D23DCE002C6091 /* KPKUTIs.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6DB7C17D23DCE002C6091 /* KPKUTIs.m */; }; 4CC7EA1B17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7EA1A17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m */; }; @@ -2073,7 +2073,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0510; + LastUpgradeCheck = 0600; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { @@ -2787,9 +2787,11 @@ CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "Developer ID Application"; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; @@ -2824,10 +2826,12 @@ CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "Developer ID Application"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 1409b6c9..b792db58 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Wed, 15 Oct 2014 20:37:02 +0200 Subject: [PATCH 145/778] Added licenseing information --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e94bad40..0858f2b4 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,9 @@ This Project is based upon the following work: [Sparkle](http://sparkle.andymatuschak.org) Copyright 2006 Andy Matuschak -[TransformerKit](https://github.com/mattt/TransformerKit) Copyright 2012 [Mattt Thompson](http://mattt.me/). All rights reseverd +[TransformerKit](https://github.com/mattt/TransformerKit) Licensed under MIT license. Copyright 2012 [Mattt Thompson](http://mattt.me/). All rights reseverd + +[MJGFoundation](https://github.com/mstarke/MJGFoundation) Licensed under BSD 2-Clause License. Copyright 2011 [Matt Galloway](http://www.galloway.me.uk/). All rights reserved. See submodules for additional Licenses From f097e95e46d695db6551222b90fcea5407eebccc Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Oct 2014 20:36:31 +0200 Subject: [PATCH 146/778] Added deployment Target availablity errors --- MacPass.xcodeproj/project.pbxproj | 2 + MacPass/MJGAvailability.h | 225 ++++++++++++++++++++++++++++++ MacPass/MacPass-Prefix.pch | 3 +- 3 files changed, 229 insertions(+), 1 deletion(-) create mode 100644 MacPass/MJGAvailability.h diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 0fd476c5..6ea366a6 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -689,6 +689,7 @@ 4C701CBB178618A000581B88 /* 12_RemoteTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 12_RemoteTemplate.pdf; sourceTree = ""; }; 4C70D0FE179092F200652EE9 /* KPKCompositeKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKCompositeKey.h; sourceTree = ""; }; 4C70D0FF179092F200652EE9 /* KPKCompositeKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKCompositeKey.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; + 4C725F3F19EEF4FC00191B01 /* MJGAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MJGAvailability.h; sourceTree = ""; }; 4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCustomFieldView.h; sourceTree = ""; }; 4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldView.m; sourceTree = ""; }; 4C76155F1764C0590015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/GeneralSettings.xib; sourceTree = ""; }; @@ -1135,6 +1136,7 @@ 4C217D8E17A32BCF00609FAA /* Common */ = { isa = PBXGroup; children = ( + 4C725F3F19EEF4FC00191B01 /* MJGAvailability.h */, 4C569D9C17652AC800595B62 /* MPConstants.h */, 4C569D9D17652B0600595B62 /* MPConstants.m */, 4CCEDE2C179F2122008402BE /* MPNotifications.h */, diff --git a/MacPass/MJGAvailability.h b/MacPass/MJGAvailability.h new file mode 100644 index 00000000..eb35d97c --- /dev/null +++ b/MacPass/MJGAvailability.h @@ -0,0 +1,225 @@ +// +// MJGImageLoader.h +// MJGFoundation +// +// Created by Matt Galloway on 18/01/2012. +// Copyright 2012 Matt Galloway. All rights reserved. +// + +/** + * Example usage: + * If you want to see if you're using methods that are only defined in iOS 4.0 and lower + * then you would use the following. Replace the __IPHONE_4_0 with whatever other macro + * you require. See Availability.h for iOS versions these relate to. + * + * YourProjectPrefixHeader.pch: + * #define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_4_0 + * #import "MJGAvailability.h" + * + * // The rest of your prefix header as normal + * #import + * + * For OSX, you also get the warnings: + * + * YourOSXPrefixHeader.pch + * #define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_10_7 + * #import "MJGAvailability.h" + * + * If you want to suppress a single warning (i.e. because you know that what you're doing is + * actually OK) then you can do something like this: + * + * UINavigationBar *navBar = self.navigationController.navigationBar; + * if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { + * #pragma clang diagnostic push + * #pragma clang diagnostic ignored "-Wdeprecated-declarations" + * [navBar setBackgroundImage:[UIImage imageNamed:@"navbar_bg.png"] forBarMetrics:UIBarMetricsDefault]; + * #pragma clang diagnostic pop + * } + * + * Or you can use the handy macros defined in this file also, like this: + * + * UINavigationBar *navBar = self.navigationController.navigationBar; + * if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { + * MJG_START_IGNORE_TOO_NEW + * [navBar setBackgroundImage:[UIImage imageNamed:@"navbar_bg.png"] forBarMetrics:UIBarMetricsDefault]; + * MJG_END_IGNORE_TOO_NEW + * } + * + */ + +#import + +#define MJG_START_IGNORE_TOO_NEW _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#define MJG_END_IGNORE_TOO_NEW _Pragma("clang diagnostic pop") + +#define __AVAILABILITY_TOO_NEW __attribute__((deprecated("TOO NEW!"))) __attribute__((weak_import)) + +#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) + +#ifndef __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED +#define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_OS_VERSION_MIN_REQUIRED +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_OS_VERSION_MIN_REQUIRED + #error You cannot ask for a soft max version which is less than the deployment target +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_2_0 + #define __AVAILABILITY_INTERNAL__IPHONE_2_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_2_1 + #define __AVAILABILITY_INTERNAL__IPHONE_2_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_2 + #undef __AVAILABILITY_INTERNAL__IPHONE_2_2 + #define __AVAILABILITY_INTERNAL__IPHONE_2_2 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_3_0 + #define __AVAILABILITY_INTERNAL__IPHONE_3_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_3_1 + #define __AVAILABILITY_INTERNAL__IPHONE_3_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_2 + #undef __AVAILABILITY_INTERNAL__IPHONE_3_2 + #define __AVAILABILITY_INTERNAL__IPHONE_3_2 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_4_0 + #define __AVAILABILITY_INTERNAL__IPHONE_4_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_4_1 + #define __AVAILABILITY_INTERNAL__IPHONE_4_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_2 + #undef __AVAILABILITY_INTERNAL__IPHONE_4_2 + #define __AVAILABILITY_INTERNAL__IPHONE_4_2 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_3 + #undef __AVAILABILITY_INTERNAL__IPHONE_4_3 + #define __AVAILABILITY_INTERNAL__IPHONE_4_3 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_5_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_5_0 + #define __AVAILABILITY_INTERNAL__IPHONE_5_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_5_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_5_1 + #define __AVAILABILITY_INTERNAL__IPHONE_5_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_6_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_6_0 + #define __AVAILABILITY_INTERNAL__IPHONE_6_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_6_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_6_1 + #define __AVAILABILITY_INTERNAL__IPHONE_6_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_7_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_7_0 + #define __AVAILABILITY_INTERNAL__IPHONE_7_0 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_7_1 + #undef __AVAILABILITY_INTERNAL__IPHONE_7_1 + #define __AVAILABILITY_INTERNAL__IPHONE_7_1 __AVAILABILITY_TOO_NEW +#endif + +#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_8_0 + #undef __AVAILABILITY_INTERNAL__IPHONE_8_0 + #define __AVAILABILITY_INTERNAL__IPHONE_8_0 __AVAILABILITY_TOO_NEW +#endif + +#endif // end of #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) + +#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) + +#ifndef __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED +#define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_OS_X_VERSION_MIN_REQUIRED +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_OS_X_VERSION_MIN_REQUIRED +#error You cannot ask for a soft max version which is less than the deployment target +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_0 +#undef __AVAILABILITY_INTERNAL__MAC_10_0 +#define __AVAILABILITY_INTERNAL__MAC_10_0 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_1 +#undef __AVAILABILITY_INTERNAL__MAC_10_1 +#define __AVAILABILITY_INTERNAL__MAC_10_1 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_2 +#undef __AVAILABILITY_INTERNAL__MAC_10_2 +#define __AVAILABILITY_INTERNAL__MAC_10_2 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_3 +#undef __AVAILABILITY_INTERNAL__MAC_10_3 +#define __AVAILABILITY_INTERNAL__MAC_10_3 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_4 +#undef __AVAILABILITY_INTERNAL__MAC_10_4 +#define __AVAILABILITY_INTERNAL__MAC_10_4 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_5 +#undef __AVAILABILITY_INTERNAL__MAC_10_5 +#define __AVAILABILITY_INTERNAL__MAC_10_5 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_6 +#undef __AVAILABILITY_INTERNAL__MAC_10_6 +#define __AVAILABILITY_INTERNAL__MAC_10_6 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_7 +#undef __AVAILABILITY_INTERNAL__MAC_10_7 +#define __AVAILABILITY_INTERNAL__MAC_10_7 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_8 +#undef __AVAILABILITY_INTERNAL__MAC_10_8 +#define __AVAILABILITY_INTERNAL__MAC_10_8 __AVAILABILITY_TOO_NEW +#endif + +#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_9 +#undef __AVAILABILITY_INTERNAL__MAC_10_9 +#define __AVAILABILITY_INTERNAL__MAC_10_9 __AVAILABILITY_TOO_NEW +#endif + +#endif // end of #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) + +#if (defined(__IPHONE_7_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0) || (defined(__MAC_10_9) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_9) +#include +#undef CF_AVAILABLE +#define CF_AVAILABLE(_mac, _ios) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_##_ios) +#undef CF_AVAILABLE_MAC +#define CF_AVAILABLE_MAC(_mac) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_NA) +#undef CF_AVAILABLE_IOS +#define CF_AVAILABLE_IOS(_ios) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_##_ios) +#endif // if iOS SDK >= 7.0 || OSX SDK >= 10.9 + diff --git a/MacPass/MacPass-Prefix.pch b/MacPass/MacPass-Prefix.pch index d3edb1a5..6795a931 100644 --- a/MacPass/MacPass-Prefix.pch +++ b/MacPass/MacPass-Prefix.pch @@ -3,6 +3,7 @@ // #ifdef __OBJC__ + #define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_10_8 + #import "MJGAvailability.h" #import -//#import "KPKAutotypeCommands.h" #endif From 87dd11cf2cb0a5607ea026d8913cb8ae9e7735e2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Oct 2014 20:42:47 +0200 Subject: [PATCH 147/778] Updating to current HNHUi (10.8 SKD compatiblity) --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 9f628bb5..fdafd665 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 9f628bb50d479c869c7607d701f28e37b203bec9 +Subproject commit fdafd665051682c252894e71943bc0e44a084e89 From a0e95d577bf09895efbcea299ac77b165bef1422 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Oct 2014 23:29:30 +0200 Subject: [PATCH 148/778] Fixed errors on Xcode 6.1 --- MacPass/MPLockDaemon.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index e82adef2..9358289e 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -76,7 +76,7 @@ } - (void)_willSleepNotification:(NSNotification *)notification { - [[NSApp delegate] lockAllDocuments]; + [(MPAppDelegate *)[NSApp delegate] lockAllDocuments]; } - (void)_checkIdleTime:(NSTimer *)timer { @@ -85,7 +85,7 @@ } NSTimeInterval currentInterval = ([NSDate timeIntervalSinceReferenceDate] - self.lastLocalEventTime); if(self.idleLockTime < currentInterval) { - [[NSApp delegate] lockAllDocuments]; + [(MPAppDelegate *)[NSApp delegate] lockAllDocuments]; /* Reset the timer to full intervall */ [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime]]; } From a8a4ee4d53fddfeb1b82feefe172463aaf0dff10 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 21 Oct 2014 16:25:52 +0200 Subject: [PATCH 149/778] Updated submodulse to current stat --- HNHUi | 2 +- KeePassKit | 2 +- MacPass/MPTargetItemResolving.h | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 MacPass/MPTargetItemResolving.h diff --git a/HNHUi b/HNHUi index fdafd665..91ff6849 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit fdafd665051682c252894e71943bc0e44a084e89 +Subproject commit 91ff6849a7d8c0934268e560045712121af9a69c diff --git a/KeePassKit b/KeePassKit index 5f2c98f4..e43f8a45 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 5f2c98f46fc4d3c1b6bdd985d46384ff1301fd7b +Subproject commit e43f8a4506dca5d7ea30af65d51884a6a7b19a6b diff --git a/MacPass/MPTargetItemResolving.h b/MacPass/MPTargetItemResolving.h new file mode 100644 index 00000000..6d68df0a --- /dev/null +++ b/MacPass/MPTargetItemResolving.h @@ -0,0 +1,13 @@ +// +// MPTargetItemResolving.h +// MacPass +// +// Created by Michael Starke on 21/10/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@protocol MPTargetItemResolving + +@end From c2def5653ea28a74385d433649eef6b28808a02f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 21 Oct 2014 16:49:37 +0200 Subject: [PATCH 150/778] Password creator view not allows toggling for entry/global defaults (UI only) --- MacPass/Base.lproj/PasswordCreatorView.xib | 33 +++-------- MacPass/MPPasswordCreatorViewController.h | 1 + MacPass/MPPasswordCreatorViewController.m | 66 +++++++++++++++++----- 3 files changed, 60 insertions(+), 40 deletions(-) diff --git a/MacPass/Base.lproj/PasswordCreatorView.xib b/MacPass/Base.lproj/PasswordCreatorView.xib index 507df440..26324b93 100644 --- a/MacPass/Base.lproj/PasswordCreatorView.xib +++ b/MacPass/Base.lproj/PasswordCreatorView.xib @@ -1,8 +1,8 @@ - + - - + + @@ -27,14 +27,13 @@ - + - @@ -43,7 +42,6 @@ - @@ -55,12 +53,10 @@ - - @@ -69,7 +65,6 @@ - @@ -81,14 +76,12 @@ - - @@ -97,7 +90,6 @@ - - @@ -226,7 +208,6 @@ - @@ -234,9 +215,8 @@ - - + - + @@ -207,7 +208,7 @@ - + @@ -225,6 +226,13 @@ + @@ -258,16 +266,19 @@ - + + + + diff --git a/MacPass/MPPasswordCreatorViewController.h b/MacPass/MPPasswordCreatorViewController.h index afc20471..b444c87f 100644 --- a/MacPass/MPPasswordCreatorViewController.h +++ b/MacPass/MPPasswordCreatorViewController.h @@ -7,11 +7,13 @@ // #import "MPViewController.h" +@class KPKEntry; @interface MPPasswordCreatorViewController : MPViewController @property (copy, readonly) NSString *generatedPassword; @property (weak) id closeTarget; +@property (nonatomic, weak) KPKEntry *entry; @property (assign) BOOL allowsEntryDefaults; /** diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 8a8dc0e0..d13b71bf 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -12,6 +12,8 @@ #import "MPUniqueCharactersFormatter.h" #import "MPSettingsHelper.h" +#import "KPKEntry.h" + /* 0 - 20 Terrible @@ -30,18 +32,11 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { MPPasswordStrong = 60 }; -typedef NS_ENUM(NSUInteger, MPDefaultDomain) { - MPEntryDomain, - MPGlobalDomain, -}; - #define MIN_PASSWORD_LENGTH 1 #define MAX_PASSWORD_LENGTH 256 -@interface MPPasswordCreatorViewController () { - MPPasswordCharacterFlags _characterFlags; - MPDefaultDomain _defaultDomain; -} +@interface MPPasswordCreatorViewController () + @property (nonatomic, copy) NSString *password; @property (copy) NSString *generatedPassword; @@ -58,12 +53,16 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { @property (weak) IBOutlet NSButton *setDefaultButton; @property (weak) IBOutlet NSTextField *entropyTextField; @property (weak) IBOutlet NSLevelIndicator *entropyIndicator; +@property (weak) IBOutlet NSButton *useEntryDefaultsButton; @property (nonatomic, copy) NSString *customString; @property (nonatomic, assign) BOOL useCustomString; @property (nonatomic, assign) NSUInteger passwordLength; @property (nonatomic, assign) CGFloat entropy; +@property (nonatomic, assign) BOOL useEntryDefaults; +@property (nonatomic, assign) MPPasswordCharacterFlags characterFlags; + @end @implementation MPPasswordCreatorViewController @@ -76,13 +75,10 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { _password = @""; - _passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; - _characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; - _useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; - _customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; _entropy = 0.0; - _defaultDomain = MPGlobalDomain; + _useEntryDefaults = NO; _allowsEntryDefaults = NO; + [self _setupDefaults]; } return self; } @@ -115,13 +111,19 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; [self.shouldCopyPasswordToPasteboardButton bind:NSValueBinding toObject:defaultsController withKeyPath:copyToPasteBoardKeyPath options:nil]; + if(self.allowsEntryDefaults) { + [self.useEntryDefaultsButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(useEntryDefaults)) options:nil]; + } + else { + [self.useEntryDefaultsButton setEnabled:self.allowsEntryDefaults]; + } + [self.numbersButton setTag:MPPasswordCharactersNumbers]; [self.upperCaseButton setTag:MPPasswordCharactersUpperCase]; [self.lowerCaseButton setTag:MPPasswordCharactersLowerCase]; [self.symbolsButton setTag:MPPasswordCharactersSymbols]; [self updateResponderChain]; - [self _updateSetDefaultButton]; [self reset]; } @@ -130,43 +132,31 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { [self _generatePassword:self]; } -#pragma mark - -#pragma mark Events - -- (void)flagsChanged:(NSEvent *)theEvent { - if(!self.allowsEntryDefaults) { - return; - } - BOOL altIsDown = (0 != ([NSEvent modifierFlags] & NSAlternateKeyMask)); - _defaultDomain = altIsDown ? MPEntryDomain : MPGlobalDomain; - [self _updateSetDefaultButton]; -} - #pragma mark - #pragma mark Actions - (IBAction)_generatePassword:(id)sender { - if(_useCustomString) { - if([[_customCharactersTextField stringValue] length] > 0) { - self.password = [[_customCharactersTextField stringValue] passwordWithLength:_passwordLength]; + if(self.useCustomString) { + if([[self.customCharactersTextField stringValue] length] > 0) { + self.password = [[self.customCharactersTextField stringValue] passwordWithLength:self.passwordLength]; } } else { - self.password = [NSString passwordWithCharactersets:_characterFlags length:_passwordLength]; + self.password = [NSString passwordWithCharactersets:self.characterFlags length:self.passwordLength]; } } - (IBAction)_toggleCharacters:(id)sender { - [_setDefaultButton setEnabled:YES]; - _characterFlags ^= [sender tag]; + [self.setDefaultButton setEnabled:YES]; + self.characterFlags ^= [sender tag]; self.useCustomString = NO; [self reset]; } - (IBAction)_usePassword:(id)sender { - self.generatedPassword = _password; + self.generatedPassword = self.password; if([self.shouldCopyPasswordToPasteboardButton state] == NSOnState) { - [[MPPasteBoardController defaultController] copyObjects:@[_password]]; + [[MPPasteBoardController defaultController] copyObjects:@[self.password]]; } [[self _findCloseTarget] performClose:nil]; } @@ -176,36 +166,67 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { } - (IBAction)_setDefault:(id)sender { - [[NSUserDefaults standardUserDefaults] setInteger:_passwordLength forKey:kMPSettingsKeyDefaultPasswordLength]; - [[NSUserDefaults standardUserDefaults] setInteger:_characterFlags forKey:kMPSettingsKeyPasswordCharacterFlags]; - [[NSUserDefaults standardUserDefaults] setBool:_useCustomString forKey:kMPSettingsKeyPasswordUseCustomString]; - [[NSUserDefaults standardUserDefaults] setObject:[_customCharactersTextField stringValue] forKey:kMPSettingsKeyPasswordCustomString]; - - [_setDefaultButton setEnabled:NO]; + if(self.useEntryDefaults) { + NSMutableDictionary *entryDefaults = [[self _currentEntryDefaults] mutableCopy]; + if(!entryDefaults) { + entryDefaults = [[NSMutableDictionary alloc] initWithCapacity:4]; // we will only add one enty to new settings + } + entryDefaults[kMPSettingsKeyDefaultPasswordLength] = @(self.passwordLength); + entryDefaults[kMPSettingsKeyPasswordCharacterFlags] = @(self.characterFlags); + entryDefaults[kMPSettingsKeyPasswordUseCustomString] = @(self.useCustomString); + entryDefaults[kMPSettingsKeyPasswordCustomString] = [self.customCharactersTextField stringValue]; + NSMutableDictionary *availableDefaults = [[self _availableEntryDefaults] mutableCopy]; + if(!availableDefaults) { + availableDefaults = [[NSMutableDictionary alloc] initWithCapacity:1]; + } + availableDefaults[self.entry.uuid] = entryDefaults; + } + else { + [[NSUserDefaults standardUserDefaults] setInteger:self.passwordLength forKey:kMPSettingsKeyDefaultPasswordLength]; + [[NSUserDefaults standardUserDefaults] setInteger:self.characterFlags forKey:kMPSettingsKeyPasswordCharacterFlags]; + [[NSUserDefaults standardUserDefaults] setBool:self.useCustomString forKey:kMPSettingsKeyPasswordUseCustomString]; + [[NSUserDefaults standardUserDefaults] setObject:[self.customCharactersTextField stringValue] forKey:kMPSettingsKeyPasswordCustomString]; + } + [self.setDefaultButton setEnabled:NO]; } #pragma mark - #pragma mark Custom Setter +- (void)setUseEntryDefaults:(BOOL)useEntryDefaults { + if(self.useEntryDefaults != useEntryDefaults) { + _useEntryDefaults = useEntryDefaults; + [self _setupDefaults]; + [self reset]; + } +} + +- (void)setEntry:(KPKEntry *)entry { + if(_entry != entry) { + _entry = entry; + [self _setupDefaults]; + [self reset]; + } +} - (void)setPassword:(NSString *)password { if(![_password isEqualToString:password]) { _password = [password copy]; - NSString *customString = _useCustomString ? [_customCharactersTextField stringValue] : nil; - self.entropy = [password entropyWhithPossibleCharacterSet:_characterFlags orCustomCharacters:customString]; + NSString *customString = self.useCustomString ? [self.customCharactersTextField stringValue] : nil; + self.entropy = [password entropyWhithPossibleCharacterSet:self.characterFlags orCustomCharacters:customString]; } } - (void)setUseCustomString:(BOOL)useCustomString { - if(_useCustomString != useCustomString) { - [_setDefaultButton setEnabled:YES]; + if(self.useCustomString != useCustomString) { + [self.setDefaultButton setEnabled:YES]; _useCustomString = useCustomString; [self _resetCharacters]; } } - (void)setPasswordLength:(NSUInteger)passwordLength { - if(_passwordLength != passwordLength) { - [_setDefaultButton setEnabled:YES]; + if(self.passwordLength != passwordLength) { + [self.setDefaultButton setEnabled:YES]; _passwordLength = passwordLength; [self _generatePassword:nil]; } @@ -216,52 +237,64 @@ typedef NS_ENUM(NSUInteger, MPDefaultDomain) { - (void)controlTextDidChange:(NSNotification *)obj { if([obj object] == self.customCharactersTextField) { - [_setDefaultButton setEnabled:YES]; + [self.setDefaultButton setEnabled:YES]; [self _generatePassword:nil]; } } #pragma mark - #pragma mark Helper +- (NSDictionary *)_availableEntryDefaults { + return [[NSUserDefaults standardUserDefaults] dictionaryForKey:kMPSettingsKeyPasswordDefaultsForEntry]; +} -- (void)_updateSetDefaultButton { - - switch (_defaultDomain) { - case MPEntryDomain: - [self.setDefaultButton setTitle:NSLocalizedString(@"SET_DEFAULT_ENTRY_PASSWORD_RULE", "")]; - break; - - case MPGlobalDomain: - default: - [self.setDefaultButton setTitle:NSLocalizedString(@"SET_DEFAULT_GENERAL_PASSWORD_RULE", "")]; - break; +- (NSDictionary *)_currentEntryDefaults { + if(self.entry) { + return [self _availableEntryDefaults][self.entry.uuid]; + } + return nil; +} + +- (void)_setupDefaults { + NSDictionary *entryDefaults = [self _currentEntryDefaults]; + if(entryDefaults) { + self.passwordLength = [entryDefaults[kMPSettingsKeyDefaultPasswordLength] integerValue]; + self.characterFlags = [entryDefaults[kMPSettingsKeyPasswordCharacterFlags] integerValue]; + self.useCustomString = [entryDefaults[kMPSettingsKeyPasswordUseCustomString] boolValue]; + self.customString = [entryDefaults[kMPSettingsKeyPasswordCustomString] stringValue]; + } + else { + self.passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; + self.characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; + self.useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; + self.customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; } } - (void)_resetCharacters { - if(_useCustomString) { - [_customButton setState:NSOnState]; + if(self.useCustomString) { + [self.customButton setState:NSOnState]; } - [_customCharactersTextField setEnabled:_useCustomString]; - [_upperCaseButton setEnabled:!_useCustomString]; - [_lowerCaseButton setEnabled:!_useCustomString]; - [_numbersButton setEnabled:!_useCustomString]; - [_symbolsButton setEnabled:!_useCustomString]; + [self.customCharactersTextField setEnabled:_useCustomString]; + [self.upperCaseButton setEnabled:!_useCustomString]; + [self.lowerCaseButton setEnabled:!_useCustomString]; + [self.numbersButton setEnabled:!_useCustomString]; + [self.symbolsButton setEnabled:!_useCustomString]; - /* Set to defualts, if we got nothing */ - if(_characterFlags == 0) { - _characterFlags = MPPasswordCharactersAll; + /* Set to defaults, if we got nothing */ + if(self.characterFlags == 0) { + self.characterFlags = MPPasswordCharactersAll; } - const BOOL userLowercase = ( 0 != (MPPasswordCharactersLowerCase & _characterFlags)); - const BOOL useUppercase = ( 0 != (MPPasswordCharactersUpperCase & _characterFlags) ); - const BOOL useNumbers = ( 0 != (MPPasswordCharactersNumbers & _characterFlags) ); - const BOOL useSymbols = ( 0 != (MPPasswordCharactersSymbols & _characterFlags) ); + const BOOL userLowercase = ( 0 != (MPPasswordCharactersLowerCase & self.characterFlags)); + const BOOL useUppercase = ( 0 != (MPPasswordCharactersUpperCase & self.characterFlags) ); + const BOOL useNumbers = ( 0 != (MPPasswordCharactersNumbers & self.characterFlags) ); + const BOOL useSymbols = ( 0 != (MPPasswordCharactersSymbols & self.characterFlags) ); - [_upperCaseButton setState:useUppercase ? NSOnState : NSOffState]; - [_lowerCaseButton setState:userLowercase ? NSOnState : NSOffState]; - [_numbersButton setState:useNumbers ? NSOnState : NSOffState]; - [_symbolsButton setState:useSymbols ? NSOnState : NSOffState]; + [self.upperCaseButton setState:useUppercase ? NSOnState : NSOffState]; + [self.lowerCaseButton setState:userLowercase ? NSOnState : NSOffState]; + [self.numbersButton setState:useNumbers ? NSOnState : NSOffState]; + [self.symbolsButton setState:useSymbols ? NSOnState : NSOffState]; } - (id)_findCloseTarget { diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 64e4106f94f01e4767efdd9bdbdf736abb6a3f47..6d7f7e5d1a2ece28e7a5f78dacd819b025c40bbb 100644 GIT binary patch delta 12 TcmZ1wwk>4CF3!zMxM~ytCtn3| delta 176 zcmdlMvLI~3E>2k&23H0*21kZa1|NnHhIj^dAm0y&gMeZ_lQ*h}x(0#eTp5%Y6c}uQ zScxH+A(f#7$Z}`MVaR7lVn_ti3Jfkl(KH~t6v!(9s Date: Wed, 22 Oct 2014 17:39:29 +0200 Subject: [PATCH 156/778] Global and Entry based defaults work. Entry defaults cannot be removed for now. --- MacPass/MPEntryInspectorViewController.m | 1 + MacPass/MPPasswordCreatorViewController.m | 25 +++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 60111a87..a6394364 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -273,6 +273,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.generatePasswordButton setEnabled:NO]; MPPasswordCreatorViewController *viewController = [[MPPasswordCreatorViewController alloc] init]; viewController.allowsEntryDefaults = YES; + viewController.entry = self.entry; [self _showPopopver:viewController atView:self.passwordTextField onEdge:NSMinYEdge]; } diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index d13b71bf..8d264f27 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -93,7 +93,6 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { [self.customCharactersTextField setStringValue:_customString]; /* Value Transformer */ - id formatter = [[MPUniqueCharactersFormatter alloc] init]; [self. customCharactersTextField setFormatter:formatter]; @@ -166,7 +165,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { } - (IBAction)_setDefault:(id)sender { - if(self.useEntryDefaults) { + if(self.useEntryDefaults && self.entry) { NSMutableDictionary *entryDefaults = [[self _currentEntryDefaults] mutableCopy]; if(!entryDefaults) { entryDefaults = [[NSMutableDictionary alloc] initWithCapacity:4]; // we will only add one enty to new settings @@ -179,14 +178,18 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { if(!availableDefaults) { availableDefaults = [[NSMutableDictionary alloc] initWithCapacity:1]; } - availableDefaults[self.entry.uuid] = entryDefaults; + availableDefaults[[self.entry.uuid UUIDString]] = entryDefaults; + [[NSUserDefaults standardUserDefaults] setObject:availableDefaults forKey:kMPSettingsKeyPasswordDefaultsForEntry]; } - else { + else if(!self.useEntryDefaults) { [[NSUserDefaults standardUserDefaults] setInteger:self.passwordLength forKey:kMPSettingsKeyDefaultPasswordLength]; [[NSUserDefaults standardUserDefaults] setInteger:self.characterFlags forKey:kMPSettingsKeyPasswordCharacterFlags]; [[NSUserDefaults standardUserDefaults] setBool:self.useCustomString forKey:kMPSettingsKeyPasswordUseCustomString]; [[NSUserDefaults standardUserDefaults] setObject:[self.customCharactersTextField stringValue] forKey:kMPSettingsKeyPasswordCustomString]; } + else { + NSLog(@"Cannot set password generator defaults. Inconsitent state. Aborting."); + } [self.setDefaultButton setEnabled:NO]; } @@ -195,6 +198,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (void)setUseEntryDefaults:(BOOL)useEntryDefaults { if(self.useEntryDefaults != useEntryDefaults) { _useEntryDefaults = useEntryDefaults; + [self.setDefaultButton setEnabled:YES]; [self _setupDefaults]; [self reset]; } @@ -203,8 +207,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (void)setEntry:(KPKEntry *)entry { if(_entry != entry) { _entry = entry; - [self _setupDefaults]; - [self reset]; + self.useEntryDefaults = [self _hasValidDefaultsForCurrentEntry]; } } @@ -250,18 +253,18 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (NSDictionary *)_currentEntryDefaults { if(self.entry) { - return [self _availableEntryDefaults][self.entry.uuid]; + return [self _availableEntryDefaults][[self.entry.uuid UUIDString]]; } return nil; } - (void)_setupDefaults { NSDictionary *entryDefaults = [self _currentEntryDefaults]; - if(entryDefaults) { + if(entryDefaults && self.useEntryDefaults) { self.passwordLength = [entryDefaults[kMPSettingsKeyDefaultPasswordLength] integerValue]; self.characterFlags = [entryDefaults[kMPSettingsKeyPasswordCharacterFlags] integerValue]; self.useCustomString = [entryDefaults[kMPSettingsKeyPasswordUseCustomString] boolValue]; - self.customString = [entryDefaults[kMPSettingsKeyPasswordCustomString] stringValue]; + self.customString = entryDefaults[kMPSettingsKeyPasswordCustomString]; } else { self.passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; @@ -271,6 +274,10 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { } } +- (BOOL)_hasValidDefaultsForCurrentEntry { + return (nil != [self _currentEntryDefaults]); +} + - (void)_resetCharacters { if(self.useCustomString) { [self.customButton setState:NSOnState]; From 35720cf1a9a699f06495619f9c093c91d8a3a5f9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 22 Oct 2014 20:27:41 +0200 Subject: [PATCH 157/778] Reanmed flags helper to better reflect return value --- MacPass/MPContextBarViewController.m | 14 +++++++------- MacPass/MPContextMenuHelper.m | 10 +++++----- MacPass/MPDocument+Search.m | 14 +++++++------- MacPass/MPFlagsHelper.h | 2 +- MacPass/MPFlagsHelper.m | 2 +- MacPass/MPPasswordCreatorViewController.m | 1 + 6 files changed, 22 insertions(+), 21 deletions(-) diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 984635f8..ec3ce0ac 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -138,12 +138,12 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)_updateFilterButtons { MPDocument *document = [[self windowController] document]; MPEntrySearchFlags currentFlags = document.searchContext.searchFlags; - [self.duplicatePasswordsButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchDoublePasswords, currentFlags))]; - [self.notesButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchNotes, currentFlags))]; - [self.passwordButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchPasswords, currentFlags))]; - [self.titleButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchTitles, currentFlags))]; - [self.urlButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUrls, currentFlags))]; - [self.usernameButton setState:HNHStateForBool(MPTestFlagInOptions(MPEntrySearchUsernames, currentFlags))]; + [self.duplicatePasswordsButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, currentFlags))]; + [self.notesButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchNotes, currentFlags))]; + [self.passwordButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchPasswords, currentFlags))]; + [self.titleButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchTitles, currentFlags))]; + [self.urlButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchUrls, currentFlags))]; + [self.usernameButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchUsernames, currentFlags))]; NSInteger selectedTag = MPEntrySearchNone; for(NSMenuItem *item in [[self.specialFilterPopUpButton menu] itemArray]) { MPEntrySearchFlags flag = [item tag]; @@ -152,7 +152,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [item setEnabled:NO]; } else { - BOOL isActive = MPTestFlagInOptions(flag, currentFlags); + BOOL isActive = MPIsFlagSetInOptions(flag, currentFlags); if(isActive) { selectedTag = flag; } diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index d1fb6597..5a816fa7 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -21,11 +21,11 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { + (NSArray *)contextMenuItemsWithItems:(MPContextMenuItemsFlags)flags { - BOOL const insertCreate = MPTestFlagInOptions(MPContextMenuCreate, flags); - BOOL const insertDelete = MPTestFlagInOptions(MPContextMenuDelete, flags); - BOOL const insertCopy = MPTestFlagInOptions(MPContextMenuCopy, flags); - BOOL const insertTrash = MPTestFlagInOptions(MPContextMenuTrash, flags); - BOOL const insertClone = MPTestFlagInOptions(MPContextMenuClone, flags); + BOOL const insertCreate = MPIsFlagSetInOptions(MPContextMenuCreate, flags); + BOOL const insertDelete = MPIsFlagSetInOptions(MPContextMenuDelete, flags); + BOOL const insertCopy = MPIsFlagSetInOptions(MPContextMenuCopy, flags); + BOOL const insertTrash = MPIsFlagSetInOptions(MPContextMenuTrash, flags); + BOOL const insertClone = MPIsFlagSetInOptions(MPContextMenuClone, flags); NSMutableArray *items = [NSMutableArray arrayWithCapacity:10]; if(insertCreate) { diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index faed64a8..1db04a95 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -113,7 +113,7 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul #pragma mark Search - (NSArray *)_findEntriesMatchingCurrentSearch { /* Filter double passwords */ - if(MPTestFlagInOptions(MPEntrySearchDoublePasswords, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, self.searchContext.searchFlags)) { __block NSMutableDictionary *passwordToEntryMap = [[NSMutableDictionary alloc] initWithCapacity:100]; /* Build up a usage map */ [[self.root childEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { @@ -139,7 +139,7 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul }]; return doublePasswords; } - if(MPTestFlagInOptions(MPEntrySearchExpiredEntries, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchExpiredEntries, self.searchContext.searchFlags)) { NSPredicate *expiredPredicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { KPKNode *node = evaluatedObject; return node.timeInfo.isExpired; @@ -159,19 +159,19 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul - (NSArray *)_filterPredicatesWithString:(NSString *)string{ NSMutableArray *prediactes = [[NSMutableArray alloc] initWithCapacity:4]; - if(MPTestFlagInOptions(MPEntrySearchTitles, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchTitles, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.title CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchUsernames, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchUsernames, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.username CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchUrls, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchUrls, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.url CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchPasswords, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchPasswords, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.password CONTAINS[cd] %@", string]]; } - if(MPTestFlagInOptions(MPEntrySearchNotes, self.searchContext.searchFlags)) { + if(MPIsFlagSetInOptions(MPEntrySearchNotes, self.searchContext.searchFlags)) { [prediactes addObject:[NSPredicate predicateWithFormat:@"SELF.notes CONTAINS[cd] %@", string]]; } return prediactes; diff --git a/MacPass/MPFlagsHelper.h b/MacPass/MPFlagsHelper.h index c1724e45..bee619c6 100644 --- a/MacPass/MPFlagsHelper.h +++ b/MacPass/MPFlagsHelper.h @@ -20,5 +20,5 @@ * * @return YES if any bit of flag is set in mode */ -FOUNDATION_EXTERN BOOL MPTestFlagInOptions(const NSUInteger flag, const NSUInteger options ); +FOUNDATION_EXTERN BOOL MPIsFlagSetInOptions(const NSUInteger flag, const NSUInteger options ); #endif diff --git a/MacPass/MPFlagsHelper.m b/MacPass/MPFlagsHelper.m index fa758947..15fde702 100644 --- a/MacPass/MPFlagsHelper.m +++ b/MacPass/MPFlagsHelper.m @@ -8,6 +8,6 @@ #import "MPFlagsHelper.h" -BOOL MPTestFlagInOptions(const NSUInteger flag, const NSUInteger options ) { +BOOL MPIsFlagSetInOptions(const NSUInteger flag, const NSUInteger options ) { return (0 != (options & flag)); } diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 8d264f27..05d97811 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -12,6 +12,7 @@ #import "MPUniqueCharactersFormatter.h" #import "MPSettingsHelper.h" +#import "MPFlagsHelper.h" #import "KPKEntry.h" /* From 94657cb09c0d376ddb3c249c0ea1e23f3ffee3f5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 23 Oct 2014 00:29:36 +0200 Subject: [PATCH 158/778] MPOutlineViewController refactored to use MPTargetItemResolving --- MacPass/MPDocument.m | 3 +++ MacPass/MPOutlineViewController.h | 3 ++- MacPass/MPOutlineViewController.m | 36 ++++++++++++++++--------------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 86f00418..143f735f 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -533,6 +533,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)deleteGroup:(KPKGroup *)group { + if(!group) { + return; // Nothing to do; + } if(self.useTrash) { if(!self.trash) { [self _createTrashGroup]; diff --git a/MacPass/MPOutlineViewController.h b/MacPass/MPOutlineViewController.h index 04fb8a11..bc49a042 100644 --- a/MacPass/MPOutlineViewController.h +++ b/MacPass/MPOutlineViewController.h @@ -7,13 +7,14 @@ // #import "MPViewController.h" +#import "MPTargetItemResolving.h" APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; @class HNHGradientView; @class MPDocument; -@interface MPOutlineViewController : MPViewController +@interface MPOutlineViewController : MPViewController @property (weak) IBOutlet HNHGradientView *bottomBar; diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 639e8520..7e2488bd 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -145,6 +145,15 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } } +#pragma mark MPTargetItemResolving +- (KPKNode *)targetItemForAction { + NSInteger row = [self.outlineView clickedRow]; + if( row < 0 ) { + row = [self.outlineView selectedRow]; + } + return [[self.outlineView itemAtRow:row] representedObject]; +} + #pragma mark Notifications - (void)regsiterNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; @@ -189,7 +198,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark Actions - (void)createGroup:(id)sender { - KPKGroup *group = [self _clickedOrSelectedGroup]; + KPKGroup *group = [[self targetItemForAction] asGroup]; MPDocument *document = [[self windowController] document]; if(!group) { group = document.root; @@ -199,11 +208,11 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)createEntry:(id)sender { MPDocument *document = [[self windowController] document]; - [document createEntry:[self _clickedOrSelectedGroup]]; + [document createEntry:[[self targetItemForAction] asGroup]]; } - (void)delete:(id)sender { - [[[self windowController] document] deleteGroup:[self _clickedOrSelectedGroup]]; + [[[self windowController] document] deleteGroup:[[self targetItemForAction] asGroup]]; } - (void)_doubleClickedGroup:(id)sender { @@ -281,21 +290,14 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; if(![document validateUserInterfaceItem:menuItem]) { return NO; } - id selected = [self _clickedOrSelectedGroup]; - if(!selected) { return NO; } - if(selected == document.trash) { return NO; } - return ![document isItemTrashed:selected]; -} - -#pragma mark - -#pragma mark Private - -- (KPKGroup *)_clickedOrSelectedGroup { - NSInteger row = [self.outlineView clickedRow]; - if( row < 0 ) { - row = [self.outlineView selectedRow]; + id selected = [[self targetItemForAction] asGroup]; + if(!selected) { + return NO; } - return [[self.outlineView itemAtRow:row] representedObject]; + if(selected == document.trash) { + return NO; + } + return ![document isItemTrashed:selected]; } - (NSMenu *)_contextMenu { From 675c5f92c8e6e82a2c197a5c7830cb1143caab22 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 23 Oct 2014 00:39:20 +0200 Subject: [PATCH 159/778] Updated xib format --- MacPass/Base.lproj/InspectorView.xib | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 3eb44c3e..bbffec7c 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,8 +1,8 @@ - + - - + + @@ -21,18 +21,15 @@ - + - - - @@ -102,7 +95,6 @@ - @@ -120,7 +112,6 @@ - @@ -129,7 +120,6 @@ - @@ -138,7 +128,6 @@ - @@ -150,7 +139,6 @@ - diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index bbffec7c..63425332 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -73,9 +73,9 @@ - + - + diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 26a66bcd..f67be43c 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -23,6 +23,7 @@ #import #import "KPKVersion.h" #import "MPEntrySearchContext.h" +#import "MPTargetNodeResolving.h" /** * Posted when a new group was added to the document. @@ -59,7 +60,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @class KPKNode; @class MPEditSession; -@interface MPDocument : NSDocument +@interface MPDocument : NSDocument @property (nonatomic, readonly, assign) BOOL encrypted; @@ -164,6 +165,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; - (KPKEntry *)createEntry:(KPKGroup *)parent; - (KPKAttribute *)createCustomAttribute:(KPKEntry *)entry; +- (void)deleteNode:(KPKNode *)node; - (void)deleteGroup:(KPKGroup *)group; - (void)deleteEntry:(KPKEntry *)entry; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 143f735f..7dfe3402 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -32,7 +32,7 @@ #import "MPConstants.h" #import "MPSavePanelAccessoryViewController.h" #import "MPTreeDelegate.h" -#import "MPTargetItemResolving.h" +#import "MPTargetNodeResolving.h" #import "DDXMLNode.h" @@ -512,7 +512,19 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return newAttribute; } +- (void)deleteNode:(KPKNode *)node { + if([node asGroup]) { + [self deleteGroup:[node asGroup]]; + } + else if([node asEntry]) { + [self deleteEntry:[node asEntry]]; + } +} + - (void)deleteEntry:(KPKEntry *)entry { + if(!entry) { + return; // Nothing to do; + } if(self.useTrash) { if([self isItemTrashed:entry]) { return; // Entry is already trashed @@ -615,11 +627,13 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (BOOL)validateUserInterfaceItem:(id)anItem { - id target = [NSApp targetForAction:@selector(targetItemForAction)]; - KPKNode *targetNode = [target targetItemForAction]; - KPKEntry *targetEntry = [targetNode asEntry]; - KPKGroup *targetGroup = [targetNode asGroup]; - + id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; + id groupResolver = [NSApp targetForAction:@selector(currentTargetGroup)]; + id nodeResolver = [NSApp targetForAction:@selector(currentTargetNode)]; + KPKNode *targetNode = [nodeResolver currentTargetNode]; + KPKEntry *targetEntry = [entryResolver currentTargetEntry]; + KPKGroup *targetGroup = [groupResolver currentTargetGroup]; + if(self.encrypted || self.isReadOnly) { return NO; } BOOL valid = self.selectedItem ? self.selectedItem.isEditable : YES; @@ -640,9 +654,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey valid &= ![self isItemTrashed:self.selectedItem]; break; case MPActionCloneEntry: - //case MPActionCloneEntryWithOptions: - valid &= (nil != self.selectedItem); - valid &= self.selectedEntry == self.selectedItem; + valid &= (nil != targetEntry); break; case MPActionEmptyTrash: valid &= ([self.trash.groups count] + [self.trash.entries count]) > 0; @@ -720,6 +732,18 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [self.trash clear]; } +#pragma mark - +#pragma mark MPTargetNodeResolving + +- (KPKEntry *)currentTargetEntry { + return self.selectedEntry; +} + +- (KPKGroup *)currentTargetGroup { + return self.selectedGroup; +} + + # pragma mark File Watching - (void) _watchForFileChanges:(BOOL)watch { } diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 024d0ea3..fb4de2b9 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -45,8 +45,9 @@ - (IBAction)lock:(id)sender; - (IBAction)createGroup:(id)sender; +- (IBAction)createEntry:(id)sender; +- (IBAction)delete:(id)sender; -- (IBAction)pickIcon:(id)sender; - (IBAction)pickExpiryDate:(id)sender; #pragma mark Helper diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index b78ba1b6..54352246 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -24,6 +24,7 @@ #import "MPContextToolbarButton.h" #import "KPKTree.h" +#import "KPKEntry.h" #import "KPKCompositeKey.h" typedef NS_ENUM(NSUInteger, MPAlertContext) { @@ -326,15 +327,25 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } - (void)createGroup:(id)sender { - [self.outlineViewController createGroup:nil]; + id target = [NSApp targetForAction:@selector(currentTargetGroup)]; + KPKGroup *group = [target currentTargetGroup]; + MPDocument *document = self.document; + if(!group) { + group = document.root; + } + [document createGroup:group]; } - (void)createEntry:(id)sender { - [self.outlineViewController createEntry:nil]; + id target = [NSApp targetForAction:@selector(currentTargetGroup)]; + KPKGroup *group = [target currentTargetGroup]; + [(MPDocument *)self.document createEntry:group]; } -- (void)pickIcon:(id)sender { - [self.inspectorViewController pickIcon:sender]; +- (void)delete:(id)sender { + id target = [NSApp targetForAction:@selector(currentTargetNode)]; + KPKNode *node = [target currentTargetNode]; + [self.document deleteNode:node]; } - (void)pickExpiryDate:(id)sender { diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index 0304047f..50b40576 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -8,7 +8,7 @@ #import "MPViewController.h" #import "MPContextBarViewController.h" -#import "MPTargetItemResolving.h" +#import "MPTargetNodeResolving.h" APPKIT_EXTERN NSString *const MPEntryTableUserNameColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTableTitleColumnIdentifier; @@ -32,7 +32,7 @@ typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { @class MPDocumentWindowController; @class MPDocument; -@interface MPEntryViewController : MPViewController +@interface MPEntryViewController : MPViewController @property (weak,readonly) NSTableView *entryTable; @property (readonly, strong) NSArrayController *entryArrayController; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 17741dfc..64cdf14f 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -340,7 +340,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } #pragma mark MPTargetItemResolving -- (KPKNode *)targetItemForAction { +- (KPKEntry *)currentTargetEntry { NSInteger activeRow = [self.entryTable clickedRow]; /* Fallback to selection e.g. for toolbar actions */ if(activeRow < 0 ) { @@ -352,6 +352,15 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; return nil; } +- (KPKNode *)currentTargetNode { + KPKEntry *entry = [self currentTargetEntry]; + if(entry) { + return entry; + } + MPDocument *document = [[self windowController] document]; + return document.selectedItem; +} + #pragma mark MPDocument Notifications - (void)_didChangeCurrentItem:(NSNotification *)notification { MPDocument *document = [notification object]; @@ -597,21 +606,21 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark Actions - (void)copyPassword:(id)sender { - KPKEntry *selectedEntry = [[self targetItemForAction] asEntry]; + KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.password finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoPassword name:nil]; } } - (void)copyUsername:(id)sender { - KPKEntry *selectedEntry = [[self targetItemForAction] asEntry]; + KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.username finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoUsername name:nil]; } } - (void)copyCustomAttribute:(id)sender { - KPKEntry *selectedEntry = [[self targetItemForAction] asEntry]; + KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; if(selectedEntry && [selectedEntry isKindOfClass:[KPKEntry class]]) { NSUInteger index = [sender tag]; NSAssert((index >= 0) && (index < [selectedEntry.customAttributes count]), @"Index for custom field needs to be valid"); @@ -621,14 +630,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)copyURL:(id)sender { - KPKEntry *selectedEntry = [[self targetItemForAction] asEntry]; + KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.url finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoURL name:nil]; } } - (void)openURL:(id)sender { - KPKEntry *selectedEntry = [[self targetItemForAction] asEntry]; + KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; if(selectedEntry && [selectedEntry.url length] > 0) { NSURL *webURL = [NSURL URLWithString:[selectedEntry.url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSString *scheme = [webURL scheme]; @@ -650,7 +659,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)delete:(id)sender { - KPKEntry *entry = [[self targetItemForAction] asEntry]; + KPKEntry *entry = [[self currentTargetNode] asEntry]; if(!entry) { return; } diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 60caa64e..d3c779ae 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -80,7 +80,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { - (void)awakeFromNib { [self.bottomBar setBorderType:HNHBorderTop|HNHBorderHighlight]; - + [[self.noSelectionInfo cell] setBackgroundStyle:NSBackgroundStyleRaised]; [[self.itemImageView cell] setBackgroundStyle:NSBackgroundStyleRaised]; [self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; @@ -304,6 +304,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self.itemNameTextField setHidden:NO]; } + #pragma mark - #pragma mark MPDocument Notifications diff --git a/MacPass/MPOutlineViewController.h b/MacPass/MPOutlineViewController.h index bc49a042..5c7c8f75 100644 --- a/MacPass/MPOutlineViewController.h +++ b/MacPass/MPOutlineViewController.h @@ -7,14 +7,14 @@ // #import "MPViewController.h" -#import "MPTargetItemResolving.h" +#import "MPTargetNodeResolving.h" APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; @class HNHGradientView; @class MPDocument; -@interface MPOutlineViewController : MPViewController +@interface MPOutlineViewController : MPViewController @property (weak) IBOutlet HNHGradientView *bottomBar; @@ -23,8 +23,6 @@ APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; - (void)showOutline; - (void)regsiterNotificationsForDocument:(MPDocument *)document; -- (void)createGroup:(id)sender; -- (void)createEntry:(id)sender; /** * Retrieves the current item for the current mouse location * @return Item under mouse. If the mouse isn't inside the view, nil is returned diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 7e2488bd..944215ce 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -7,22 +7,23 @@ // #import "MPOutlineViewController.h" -#import "MPOutlineDataSource.h" +#import "MPActionHelper.h" +#import "MPConstants.h" +#import "MPContextMenuHelper.h" #import "MPDocument.h" #import "MPDocumentWindowController.h" -#import "MPContextMenuHelper.h" -#import "MPConstants.h" -#import "MPActionHelper.h" #import "MPIconHelper.h" #import "MPNotifications.h" #import "MPOutlineContextMenuDelegate.h" +#import "MPOutlineDataSource.h" -#import "KPKTree.h" -#import "KPKNode.h" -#import "KPKTimeInfo.h" +#import "KPKEntry.h" #import "KPKGroup.h" -#import "KPKNode+IconImage.h" #import "KPKMetaData.h" +#import "KPKNode.h" +#import "KPKNode+IconImage.h" +#import "KPKTimeInfo.h" +#import "KPKTree.h" #import "KPKUTIs.h" #import "HNHGradientView.h" @@ -136,17 +137,12 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark Custom Setter/Getter - (void)setDatabaseNameWrapper:(NSString *)databaseNameWrapper { if(![_databaseNameWrapper isEqualToString:databaseNameWrapper]) { - if([databaseNameWrapper length] == 0) { - _databaseNameWrapper = NSLocalizedString(@"DATABASE", "Default name database"); - } - else { - _databaseNameWrapper= [databaseNameWrapper copy]; - } + _databaseNameWrapper = (databaseNameWrapper.length == 0) ? NSLocalizedString(@"DATABASE", "Default name database") : [databaseNameWrapper copy]; } } -#pragma mark MPTargetItemResolving -- (KPKNode *)targetItemForAction { +#pragma mark MPTargetNodeResolving +- (KPKGroup *)currentTargetGroup { NSInteger row = [self.outlineView clickedRow]; if( row < 0 ) { row = [self.outlineView selectedRow]; @@ -154,6 +150,15 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; return [[self.outlineView itemAtRow:row] representedObject]; } +- (KPKNode *)currentTargetNode { + KPKGroup *group = [self currentTargetGroup]; + if(group) { + return group; + } + MPDocument *document = [[self windowController] document]; + return document.selectedItem; +} + #pragma mark Notifications - (void)regsiterNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; @@ -197,24 +202,6 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark - #pragma mark Actions -- (void)createGroup:(id)sender { - KPKGroup *group = [[self targetItemForAction] asGroup]; - MPDocument *document = [[self windowController] document]; - if(!group) { - group = document.root; - } - [document createGroup:group]; -} - -- (void)createEntry:(id)sender { - MPDocument *document = [[self windowController] document]; - [document createEntry:[[self targetItemForAction] asGroup]]; -} - -- (void)delete:(id)sender { - [[[self windowController] document] deleteGroup:[[self targetItemForAction] asGroup]]; -} - - (void)_doubleClickedGroup:(id)sender { [[self windowController] showInspector:sender]; } @@ -290,7 +277,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; if(![document validateUserInterfaceItem:menuItem]) { return NO; } - id selected = [[self targetItemForAction] asGroup]; + id selected = [[self currentTargetNode] asGroup]; if(!selected) { return NO; } diff --git a/MacPass/MPTargetItemResolving.h b/MacPass/MPTargetNodeResolving.h similarity index 54% rename from MacPass/MPTargetItemResolving.h rename to MacPass/MPTargetNodeResolving.h index 8a6f9733..28cf37cf 100644 --- a/MacPass/MPTargetItemResolving.h +++ b/MacPass/MPTargetNodeResolving.h @@ -7,11 +7,15 @@ // #import +@class KPKEntry; +@class KPKGroup; @class KPKNode; -@protocol MPTargetItemResolving +@protocol MPTargetNodeResolving -@required -- (KPKNode *)targetItemForAction; +@optional +- (KPKNode *)currentTargetNode; +- (KPKGroup *)currentTargetGroup; +- (KPKEntry *)currentTargetEntry; @end From d3afe1069afad4fbcdb715db20fd8079b9baeaa6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 24 Oct 2014 16:19:06 +0200 Subject: [PATCH 161/778] Unified Validation for Actions more --- MacPass/MPDocument.m | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 7dfe3402..e96aa418 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -630,28 +630,43 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; id groupResolver = [NSApp targetForAction:@selector(currentTargetGroup)]; id nodeResolver = [NSApp targetForAction:@selector(currentTargetNode)]; + + NSLog(@"entryResolver:%@", [entryResolver class]); + NSLog(@"groupResolver:%@", [groupResolver class]); + NSLog(@"nodeResolver:%@", [nodeResolver class]); + KPKNode *targetNode = [nodeResolver currentTargetNode]; KPKEntry *targetEntry = [entryResolver currentTargetEntry]; KPKGroup *targetGroup = [groupResolver currentTargetGroup]; + if([targetNode asGroup]) { + NSLog(@"targetNode:%@", ((KPKGroup *)targetNode).name); + } + else if([targetNode asEntry]) { + NSLog(@"targetNode:%@", ((KPKEntry *)targetNode).title); + } + + NSLog(@"targetGroup:%@", targetGroup.name); + NSLog(@"tagetEntry:%@", targetEntry.title ); + if(self.encrypted || self.isReadOnly) { return NO; } - BOOL valid = self.selectedItem ? self.selectedItem.isEditable : YES; + BOOL valid = targetNode ? targetNode.isEditable : YES; switch([MPActionHelper typeForAction:[anItem action]]) { case MPActionAddGroup: - valid &= (nil != self.selectedGroup); - valid &= (self.trash != self.selectedGroup); - valid &= ![self isItemTrashed:self.selectedGroup]; + valid &= (nil != targetGroup); + valid &= (self.trash != targetGroup); + valid &= ![self isItemTrashed:targetGroup]; break; case MPActionAddEntry: - valid &= (nil != self.selectedGroup); - valid &= (self.trash != self.selectedGroup); - valid &= ![self isItemTrashed:self.selectedGroup]; + valid &= (nil != targetGroup); + valid &= (self.trash != targetGroup); + valid &= ![self isItemTrashed:targetGroup]; break; case MPActionDelete: - valid &= (nil != self.selectedItem); - valid &= (self.trash != self.selectedItem); - valid &= ![self isItemTrashed:self.selectedItem]; + valid &= (nil != targetNode); + valid &= (self.trash != targetNode); + valid &= ![self isItemTrashed:targetNode]; break; case MPActionCloneEntry: valid &= (nil != targetEntry); @@ -667,9 +682,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey valid &= self.compositeKey.hasPasswordOrKeyFile; break; case MPActionShowHistory: - valid &= (self.selectedEntry && (self.selectedItem == (id)self.selectedEntry)); + valid &= (nil != targetEntry); break; - /* Entry View Actions */ + /* Entry View Actions */ case MPActionCopyUsername: valid &= (nil != targetEntry) && ([targetEntry.username length] > 0); break; From a5f8a388cc1858c9f680d1b574b0f852677638a1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 24 Oct 2014 16:24:42 +0200 Subject: [PATCH 162/778] Updated to XCode 6 xibs --- MacPass/Base.lproj/EntryInspectorView.xib | 63 ++--------------------- MacPass/Base.lproj/MainMenu.xib | 8 +-- MacPass/ContextBar.xib | 22 ++------ MacPass/EntryView.xib | 28 +++------- MacPass/OutlineView.xib | 16 ++---- MacPass/SavePanelAccessoryView.xib | 19 +++---- 6 files changed, 33 insertions(+), 123 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index eff2a9f7..05d2f1f6 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,8 @@ - + - - + + @@ -33,15 +33,13 @@ - + - - - + @@ -53,7 +51,6 @@ - @@ -69,7 +66,6 @@ - @@ -95,13 +90,11 @@ - - @@ -126,7 +119,6 @@ - @@ -135,7 +127,6 @@ - @@ -161,7 +152,6 @@ - @@ -170,7 +160,6 @@ - @@ -179,7 +168,6 @@ - @@ -260,7 +248,6 @@ - @@ -283,13 +269,11 @@ - - @@ -314,7 +298,6 @@ - @@ -327,7 +310,6 @@ - @@ -339,7 +321,6 @@ - @@ -570,7 +539,6 @@ - @@ -625,7 +590,6 @@ - @@ -675,11 +639,9 @@ - - @@ -710,7 +670,6 @@ - @@ -722,7 +681,6 @@ - @@ -734,13 +692,11 @@ - - @@ -765,7 +721,6 @@ - @@ -788,17 +743,14 @@ - @@ -840,7 +790,6 @@ - @@ -852,7 +801,6 @@ - @@ -864,7 +812,6 @@ - diff --git a/MacPass/Base.lproj/MainMenu.xib b/MacPass/Base.lproj/MainMenu.xib index 9c1a275f..7d032e7b 100644 --- a/MacPass/Base.lproj/MainMenu.xib +++ b/MacPass/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - - + + @@ -11,7 +11,7 @@ - + diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 226cf117..6aac24dd 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - - + + @@ -23,10 +23,9 @@ - + - @@ -36,11 +35,9 @@ - - @@ -49,7 +46,6 @@ - @@ -154,11 +145,9 @@ - - + diff --git a/MacPass/DDHotKey+MacPassAdditions.h b/MacPass/DDHotKey+MacPassAdditions.h index 685661ab..5ae2442c 100644 --- a/MacPass/DDHotKey+MacPassAdditions.h +++ b/MacPass/DDHotKey+MacPassAdditions.h @@ -8,11 +8,26 @@ #import "DDHotKeyCenter.h" -@interface DDHotKey (Keydata) +@interface DDHotKey (MPKeydata) + +@property (readonly, copy) NSData *keyData; + (instancetype)defaultHotKey; + (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task; -- (NSData *)keyData; + - (instancetype)initWithKeyData:(NSData *)data task:(DDHotKeyTask)task; - (instancetype)initWithKeyData:(NSData *)data; + +@end + +@interface DDHotKey (MPValidation) + +/* + A hotkey is considered valid, if the key contains at least a modifier and a non-modifier key. + For example Control+Alt is no valid hotkey, as it's missing a non-modifier. Control+Escape however is valid. + + @return YES if the hot key is a valid hotkey, NO otherwise + */ +@property (nonatomic, readonly, getter=isValid) BOOL valid; + @end diff --git a/MacPass/DDHotKey+MacPassAdditions.m b/MacPass/DDHotKey+MacPassAdditions.m index 32785d7a..f083aa10 100644 --- a/MacPass/DDHotKey+MacPassAdditions.m +++ b/MacPass/DDHotKey+MacPassAdditions.m @@ -6,10 +6,13 @@ // Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. // -#import "DDHotKey+Keydata.h" +#import "DDHotKey+MacPassAdditions.h" + +#import "MPFlagsHelper.h" + #import -@implementation DDHotKey (Keydata) +@implementation DDHotKey (MPKeydata) + (instancetype)defaultHotKey { return [DDHotKey defaultHotKeyWithTask:nil]; @@ -59,3 +62,34 @@ return YES; } @end + +@implementation DDHotKey (MPValidation) + +- (BOOL)isValid { + NSEventModifierFlags flags = 0; + switch(self.keyCode) { + case kVK_Command: + flags = NSCommandKeyMask; + break; + case kVK_Shift: + case kVK_RightShift: + flags = NSShiftKeyMask; + break; + case kVK_Option: + case kVK_RightOption: + flags = NSAlternateKeyMask; + break; + case kVK_Control: + case kVK_RightControl: + flags = NSControlKeyMask; + break; + } + BOOL missingModifier = self.modifierFlags == 0; + BOOL onlyModifiers = MPIsFlagSetInOptions(flags, self.modifierFlags) || (self.modifierFlags != 0 && flags != 0); + BOOL isInvalid = onlyModifiers || missingModifier; + NSLog(@"%@ valid:%d", self, !isInvalid); + return !isInvalid; +} + +@end + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index b9bd5412..a17bd2d7 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -21,7 +21,8 @@ #import "KPKEntry.h" #import "DDHotKeyCenter.h" -#import "DDHotKey+Keydata.h" +#import "DDHotKey+MacPassAdditions.h" + #import NSString *const kMPWindowTitleKey = @"kMPWindowTitleKey"; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 54352246..1ddd57a6 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -185,7 +185,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)_didUnlockDatabase:(NSNotification *)notification { [self showEntries]; /* Show password reminders */ - [self _presentPasswordIntervalAlters]; + [self _presentPasswordIntervalAlerts]; } #pragma mark Actions @@ -226,7 +226,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [weakDocument saveDocument:nil]; } }; - [self _presentPasswordIntervalAlters]; + [self _presentPasswordIntervalAlerts]; return; } /* All set and good ready to save */ @@ -463,7 +463,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } #pragma mark NSAlert handling -- (void)_presentPasswordIntervalAlters { +- (void)_presentPasswordIntervalAlerts { MPDocument *document = [self document]; if(document.shouldEnforcePasswordChange) { NSAlert *alert = [[NSAlert alloc] init]; diff --git a/MacPass/MPIntegrationSettingsController.h b/MacPass/MPIntegrationSettingsController.h index 1ea4b9a0..75476e82 100644 --- a/MacPass/MPIntegrationSettingsController.h +++ b/MacPass/MPIntegrationSettingsController.h @@ -17,5 +17,6 @@ @property (weak) IBOutlet NSButton *enableGlobalAutotypeCheckbutton; @property (weak) IBOutlet NSButton *enableQuicklookCheckbutton; @property (weak) IBOutlet DDHotKeyTextField *hotKeyTextField; +@property (weak) IBOutlet NSTextField *hotkeyWarningTextField; @end diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 0cc30b86..bc01b5e3 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -11,7 +11,7 @@ #import "MPIconHelper.h" #import "DDHotKeyCenter.h" -#import "DDHotKey+Keydata.h" +#import "DDHotKey+MacPassAdditions.h" #import "DDHotKeyTextField.h" @interface MPIntegrationSettingsController () @@ -39,7 +39,6 @@ } - (void)awakeFromNib { - self.hotKey = [DDHotKey defaultHotKey]; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; NSString *enableGlobalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; @@ -49,25 +48,40 @@ [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; [self.hotKeyTextField bind:NSEnabledBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; - self.hotKeyTextField.hotKey = self.hotKey; self.hotKeyTextField.delegate = self; + + [self _showWarning:NO]; } +- (void)willShowTab { + _hotKey = [[DDHotKey alloc] initWithKeyData:[[NSUserDefaults standardUserDefaults] dataForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]]; + /* Change any invalid hotkeys to valid ones? */ + self.hotKeyTextField.hotKey = self.hotKey; +} + +#pragma mark - +#pragma mark Properties - (void)setHotKey:(DDHotKey *)hotKey { - static NSData *defaultHotKeyData = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - defaultHotKeyData = [[DDHotKey defaultHotKey] keyData]; - }); - NSData *newData = [hotKey keyData]; - if(![newData isEqualToData:defaultHotKeyData]) { - [[NSUserDefaults standardUserDefaults] setObject:newData forKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]; + if([self.hotKey isEqual:hotKey]) { + return; // Nothing of interest has changed; } _hotKey = hotKey; + [[NSUserDefaults standardUserDefaults] setObject:self.hotKey.keyData forKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]; } +#pragma mark - +#pragma mark NSTextFieldDelegate + - (void)controlTextDidChange:(NSNotification *)obj { - NSLog(@"controlTextDidChange:"); + BOOL validHotKey = self.hotKeyTextField.hotKey.valid; + [self _showWarning:!validHotKey]; + if(validHotKey) { + self.hotKey = self.hotKeyTextField.hotKey; + } +} + +- (void)_showWarning:(BOOL)show { + self.hotkeyWarningTextField.hidden = !show; } @end diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index c468f2ee..7946804e 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -9,6 +9,7 @@ #import "MPSettingsHelper.h" #import "NSString+MPPasswordCreation.h" #import "MPEntryViewController.h" // Sort descriptors +#import "DDHotKey+MacPassAdditions.h" // Default hotkey; NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; @@ -102,6 +103,7 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyRememberKeyFilesForDatabases: @NO, kMPSettingsKeySendCommandForControlKey: @YES, kMPSettingsKeyEnableGlobalAutotype: @NO, + kMPSettingsKeyGlobalAutotypeKeyDataKey: [[DDHotKey defaultHotKey] keyData], kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}", kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, diff --git a/MacPass/MPSettingsTab.h b/MacPass/MPSettingsTab.h index c897ec4f..247c513f 100644 --- a/MacPass/MPSettingsTab.h +++ b/MacPass/MPSettingsTab.h @@ -21,8 +21,8 @@ - (NSString *)label; - (NSImage *)image; /* Called when the tab is about to be selected and displayed */ -- (void)willSelectTab; +- (void)willShowTab; /* Called whent the tab was selected and is being displayed */ -- (void)didSelectTab; +- (void)didShowTab; @end diff --git a/MacPass/MPSettingsWindowController.m b/MacPass/MPSettingsWindowController.m index db26d8e0..9c91919f 100644 --- a/MacPass/MPSettingsWindowController.m +++ b/MacPass/MPSettingsWindowController.m @@ -63,9 +63,6 @@ NSLog(@"Warning. Unknow settingscontroller for identifier: %@. Did you miss to add the controller?", identifier); return; } - if([tab respondsToSelector:@selector(willSelectTab)]) { - [tab willSelectTab]; - } [self.toolbar setSelectedItemIdentifier:identifier]; if([tab respondsToSelector:@selector(label)]) { [[self window] setTitle:[tab label]]; @@ -73,7 +70,11 @@ else { [[self window] setTitle:[tab identifier]]; } + /* Access the view before calling the willShoTab to make sure the view is fully loaded */ NSView *tabView = [(NSViewController *)tab view]; + if([tab respondsToSelector:@selector(willShowTab)]) { + [tab willShowTab]; + } NSView *contentView = [[self window] contentView]; if( [[contentView subviews] count] == 1) { [[contentView subviews][0] removeFromSuperview]; @@ -90,8 +91,8 @@ views:NSDictionaryOfVariableBindings(tabView)]]; [contentView layoutSubtreeIfNeeded]; - if([tab respondsToSelector:@selector(didSelectTab)]) { - [tab didSelectTab]; + if([tab respondsToSelector:@selector(didShowTab)]) { + [tab didShowTab]; } [[self window] makeKeyAndOrderFront:[self window]]; } diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index cdb79cc2..b28c555d 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -42,7 +42,7 @@ return NSLocalizedString(@"WORKFLOW_SETTINGS", ""); } -- (void)willSelectTab { +- (void)willShowTab { [self _updateBrowserSelection]; } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 0fe95c71..edb626d6 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -54,7 +54,7 @@ CFBundleSignature ???? CFBundleVersion - 2536 + 2537 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From 6303436ca9b0daef8edb19355b47072dd781e338 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 29 Oct 2014 16:58:24 +0100 Subject: [PATCH 179/778] Filled placeholder in license. Unified Readme and license texts --- LICENSE.txt | 6 +++--- README.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 94a9ed02..7fbda610 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - - Copyright (C) + MacPass, a KeePass compatible Password Manager for OS X + Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - Copyright (C) + MacPass Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff --git a/README.md b/README.md index dd48868d..0f347616 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,8 @@ Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpa ##License -MacPass KeePass compatible client for OS X -Copyright (c) 2012-2013 Michael Starke, HicknHack Software GmbH +MacPass, a KeePass compatible Password Manager for OS X +Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all MacPass contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From e0d1ad5f22766f1bc06cc23b109ee9e5eba33c87 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 29 Oct 2014 18:41:25 +0100 Subject: [PATCH 180/778] Renamed clone entry to duplicate entry. Using NSStringFromSelector in MPActionHelper --- MacPass.xcodeproj/project.pbxproj | 24 ++++---- MacPass/CloneEntryWindow.xib | 69 ---------------------- MacPass/DuplicateEntryOptionsWindow.xib | 69 ++++++++++++++++++++++ MacPass/MPActionHelper.h | 4 +- MacPass/MPActionHelper.m | 42 ++++++------- MacPass/MPContextMenuHelper.h | 4 +- MacPass/MPContextMenuHelper.m | 14 ++--- MacPass/MPDocument.h | 4 +- MacPass/MPDocument.m | 13 ++-- MacPass/de.lproj/Localizable.strings | Bin 10284 -> 10300 bytes MacPass/en.lproj/Localizable.strings | Bin 11016 -> 11048 bytes MacPass/fr.lproj/Localizable.strings | Bin 10370 -> 10402 bytes MacPass/nl.lproj/Localizable.strings | Bin 10290 -> 10306 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 7962 -> 7978 bytes 14 files changed, 123 insertions(+), 120 deletions(-) delete mode 100644 MacPass/CloneEntryWindow.xib create mode 100644 MacPass/DuplicateEntryOptionsWindow.xib diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 1241bfe0..e2927f51 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -239,6 +239,7 @@ 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; 4CAF62FC1763604000CD7084 /* HNHBadgedTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */; }; 4CB4AA0D17C2274200454CAD /* KeePass1_native_test.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */; }; + 4CB915941A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */; }; 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; }; 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; }; 4CBA561617C2EA4900CE13D3 /* KPKTestXmlWriting.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */; }; @@ -262,7 +263,6 @@ 4CD3ABBF178F72610073F5C5 /* KPKEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD3ABBE178F72610073F5C5 /* KPKEntry.m */; }; 4CD3ABC2178F72720073F5C5 /* KPKGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */; }; 4CD4901018513C180017397F /* KPKXmlElements.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD4900F18513C180017397F /* KPKXmlElements.m */; }; - 4CD5A79118BFE17900162DCB /* CloneEntryWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD5A79018BFE17900162DCB /* CloneEntryWindow.xib */; }; 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; }; 4CD6C5AE1789FDE6000891F6 /* HNHRoundedSecureTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6C5AD1789FDE6000891F6 /* HNHRoundedSecureTextField.m */; }; 4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; }; @@ -378,8 +378,8 @@ 4C0104BC17C37C2B00173EF3 /* KPKXmlUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKXmlUtilities.h; sourceTree = ""; }; 4C0104BD17C37DA400173EF3 /* KPKXmlUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlUtilities.m; sourceTree = ""; }; 4C0104BF17C37DFC00173EF3 /* KPKTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKTypes.h; sourceTree = ""; }; - 4C01C2401764D8980016D5D0 /* MPContextMenuHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextMenuHelper.h; sourceTree = ""; }; - 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextMenuHelper.m; sourceTree = ""; }; + 4C01C2401764D8980016D5D0 /* MPContextMenuHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = MPContextMenuHelper.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPContextMenuHelper.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C01C243176500C40016D5D0 /* HNHLevelIndicatorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHLevelIndicatorCell.h; sourceTree = ""; }; 4C01C244176500C40016D5D0 /* HNHLevelIndicatorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHLevelIndicatorCell.m; sourceTree = ""; }; 4C0728BB17B5B7F7005A7DD9 /* MPPasswordEditWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordEditWindowController.h; sourceTree = ""; }; @@ -617,7 +617,7 @@ 4C5AA590179549A1008ECAD7 /* KPKXmlTreeWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlTreeWriter.m; sourceTree = ""; }; 4C5ADC2E17830AFB004E1E8D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InspectorView.strings; sourceTree = ""; }; 4C5ADC3017830B09004E1E8D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InspectorView.strings; sourceTree = ""; }; - 4C5CD34017D158DE000B7F38 /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 4C5CD34017D158DE000B7F38 /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 4C5CD34117D158DE000B7F38 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = fr; path = fr.lproj/Credits.rtf; sourceTree = ""; }; 4C5CD34217D158DE000B7F38 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; 4C5CD34417D158DE000B7F38 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -698,7 +698,7 @@ 4C76156C1764C0CC0015A1A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PasswordInputView.strings; sourceTree = ""; }; 4C7615701764C0E80015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/InspectorView.xib; sourceTree = ""; }; 4C7615751764C4A40015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/PasswordInputView.strings; sourceTree = ""; }; - 4C7615771764C4A40015A1A6 /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 4C7615771764C4A40015A1A6 /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 4C7615781764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = de; path = de.lproj/Credits.rtf; sourceTree = ""; }; 4C7615791764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 43_TrashTemplate.pdf; sourceTree = ""; }; @@ -737,7 +737,7 @@ 4C811C8216ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKeyfilePathControlDelegate.m; sourceTree = ""; }; 4C83814015BF4677001AE468 /* MPDocumentWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentWindowController.h; sourceTree = ""; }; 4C83814115BF4677001AE468 /* MPDocumentWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentWindowController.m; sourceTree = ""; }; - 4C888C8F16EB6C91003D34A1 /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + 4C888C8F16EB6C91003D34A1 /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 4C888C9116EB6F5E003D34A1 /* MPToolbarItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPToolbarItem.h; sourceTree = ""; }; 4C888C9216EB6F5E003D34A1 /* MPToolbarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPToolbarItem.m; sourceTree = ""; }; 4C888C9516EB754B003D34A1 /* MPActionHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPActionHelper.h; sourceTree = ""; }; @@ -800,6 +800,7 @@ 4CAF62FB1763604000CD7084 /* HNHBadgedTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHBadgedTextFieldCell.m; sourceTree = ""; }; 4CB4AA0C17C2274200454CAD /* KeePass1_native_test.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = KeePass1_native_test.kdb; path = Databases/KeePass1_native_test.kdb; sourceTree = ""; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; + 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DuplicateEntryOptionsWindow.xib; sourceTree = ""; }; 4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = ""; }; 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSettingsHelper.m; sourceTree = ""; }; @@ -844,7 +845,6 @@ 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKGroup.m; sourceTree = ""; }; 4CD4900E18513C180017397F /* KPKXmlElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KPKXmlElements.h; path = Format/KPKXmlElements.h; sourceTree = ""; }; 4CD4900F18513C180017397F /* KPKXmlElements.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = KPKXmlElements.m; path = Format/KPKXmlElements.m; sourceTree = ""; }; - 4CD5A79018BFE17900162DCB /* CloneEntryWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CloneEntryWindow.xib; sourceTree = ""; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSettingsWindowController.m; sourceTree = ""; }; 4CD6C5AC1789FDE6000891F6 /* HNHRoundedSecureTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextField.h; sourceTree = ""; }; @@ -878,7 +878,7 @@ 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = ""; }; 4CE5299F194847150078C2FF /* MPDocument+EditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+EditingSession.h"; sourceTree = ""; }; 4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = ""; }; - 4CE5B549173AFBA700207B39 /* MPDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocument.m; sourceTree = ""; }; + 4CE5B549173AFBA700207B39 /* MPDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPDocument.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKHashedDataTest.m; sourceTree = ""; }; 4CE8246D16E2E93400573141 /* MPOverlayWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOverlayWindowController.h; sourceTree = ""; }; 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayWindowController.m; sourceTree = ""; }; @@ -928,7 +928,7 @@ 601F811218E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainMenu.strings"; sourceTree = ""; }; 601F811318E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PasswordInputView.strings"; sourceTree = ""; }; 601F811418E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InspectorView.strings"; sourceTree = ""; }; - 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 601F811918E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/Credits.rtf"; sourceTree = ""; }; 601F811A18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizable.strings"; sourceTree = ""; }; @@ -992,7 +992,7 @@ BD6C366019484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/GroupInspectorView.strings; sourceTree = ""; }; BD6C366119484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/EntryInspectorView.strings; sourceTree = ""; }; BD6C366219484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/DatePickingView.strings; sourceTree = ""; }; - BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; BD6C366419484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = nl; path = nl.lproj/Credits.rtf; sourceTree = ""; }; BD6C366519484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/KPKLocalizable.strings; sourceTree = ""; }; @@ -1985,7 +1985,7 @@ 6021FE8418E160BC00C3BC51 /* PasswordEditWindow.xib */, 4C68456E17BC2A0700FCDBFC /* WelcomeWindow.xib */, 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */, - 4CD5A79018BFE17900162DCB /* CloneEntryWindow.xib */, + 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */, ); name = Windows; sourceTree = ""; @@ -2208,7 +2208,6 @@ 6021FE8D18E1617300C3BC51 /* PasswordCreatorView.xib in Resources */, 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */, 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */, - 4CD5A79118BFE17900162DCB /* CloneEntryWindow.xib in Resources */, 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */, 6021FE5618E1429500C3BC51 /* IntegrationSettings.xib in Resources */, 4CA3531218A5577300839B0F /* dsa_sparkle_pub.pem in Resources */, @@ -2220,6 +2219,7 @@ 4C2C8B341787500E009649F3 /* UnprotectedWarningView.xib in Resources */, 4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */, 4C7BD07619FE94C900C7AA5C /* MacPassImages.xcassets in Resources */, + 4CB915941A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib in Resources */, 4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */, 4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */, 4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */, diff --git a/MacPass/CloneEntryWindow.xib b/MacPass/CloneEntryWindow.xib deleted file mode 100644 index b8f7192d..00000000 --- a/MacPass/CloneEntryWindow.xib +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/MacPass/DuplicateEntryOptionsWindow.xib b/MacPass/DuplicateEntryOptionsWindow.xib new file mode 100644 index 00000000..62a28200 --- /dev/null +++ b/MacPass/DuplicateEntryOptionsWindow.xib @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index 1558244d..b2347152 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -12,8 +12,8 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPUnkownAction, // Neutral element to be used for returns MPActionAddEntry, // Add an new entry MPActionAddGroup, // Add a new group - MPActionCloneEntry, // Simply clone an entry (inlcuding history) - MPActionCloneEntryWithOptions, // Request user inptu what clone + MPActionDuplicateEntry, // Simply duplicate an entry (inlcuding history) + MPActionDuplicateEntryWithOptions, // Request user inptu on what to duplicate MPActionDelete, // Delete entry or group MPActionCopyUsername, // copy username to pasteboard MPActionCopyPassword, // copy password to pasteboard diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 26d0b02b..557dbff8 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -9,6 +9,8 @@ #import "MPActionHelper.h" #import "MPDocument+HistoryBrowsing.h" #import "MPEntryInspectorViewController.h" +#import "MPEntryViewController.h" +#import "MPDocumentWindowController.h" @implementation MPActionHelper @@ -17,26 +19,26 @@ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ actionDict = @{ - @(MPActionAddEntry): @"createEntry:", - @(MPActionAddGroup): @"createGroup:", - @(MPActionCloneEntry): @"cloneEntry:", - @(MPActionCloneEntryWithOptions): @"cloneEntryWithOptions:", - @(MPActionCopyPassword): @"copyPassword:", - @(MPActionCopyURL): @"copyURL:", - @(MPActionCopyUsername): @"copyUsername:", - @(MPActionDelete): @"delete:", - @(MPActionEditPassword): @"editPassword:", - @(MPActionOpenURL): @"openURL:", - @(MPActionToggleInspector): @"toggleInspector:", - @(MPActionLock): @"lock:", - @(MPActionEmptyTrash): @"emptyTrash:", - @(MPActionDatabaseSettings): @"showDatabaseSettings:", - @(MPActionEditTemplateGroup): @"editTemplateGroup:", - @(MPActionExportXML): @"exportAsXML:", - @(MPActionImportXML): @"importFromXMl:", - @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), - @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), - @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)) + @(MPActionAddEntry): NSStringFromSelector(@selector(createEntry:)), + @(MPActionAddGroup): NSStringFromSelector(@selector(createGroup:)), + @(MPActionDuplicateEntry): NSStringFromSelector(@selector(duplicateEntry:)), + @(MPActionDuplicateEntryWithOptions): NSStringFromSelector(@selector(duplicateEntryWithOptions:)), + @(MPActionCopyPassword): NSStringFromSelector(@selector(copyPassword:)), + @(MPActionCopyURL): NSStringFromSelector(@selector(copyURL:)), + @(MPActionCopyUsername): NSStringFromSelector(@selector(copyUsername:)), + @(MPActionDelete): NSStringFromSelector(@selector(delete:)), + @(MPActionEditPassword): NSStringFromSelector(@selector(editPassword:)), + @(MPActionOpenURL): NSStringFromSelector(@selector(openURL:)), + @(MPActionToggleInspector): NSStringFromSelector(@selector(toggleInspector:)), + @(MPActionLock): NSStringFromSelector(@selector(lock:)), + @(MPActionEmptyTrash): NSStringFromSelector(@selector(emptyTrash:)), + @(MPActionDatabaseSettings): NSStringFromSelector(@selector(showDatabaseSettings:)), + @(MPActionEditTemplateGroup): NSStringFromSelector(@selector(editTemplateGroup:)), + @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), + @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), + @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), + @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), + @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)) }; }); return actionDict; diff --git a/MacPass/MPContextMenuHelper.h b/MacPass/MPContextMenuHelper.h index 6c94a152..8e1682c1 100644 --- a/MacPass/MPContextMenuHelper.h +++ b/MacPass/MPContextMenuHelper.h @@ -13,9 +13,9 @@ typedef NS_OPTIONS(NSUInteger, MPContextMenuItemsFlags) { MPContextMenuDelete = 1 << 1, MPContextMenuCopy = 1 << 2, MPContextMenuTrash = 1 << 3, - MPContextMenuClone = 1 << 4, + MPContextMenuDuplicate = 1 << 4, MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, - MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuClone, + MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate, MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash }; diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index 5a816fa7..f2269992 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -25,7 +25,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { BOOL const insertDelete = MPIsFlagSetInOptions(MPContextMenuDelete, flags); BOOL const insertCopy = MPIsFlagSetInOptions(MPContextMenuCopy, flags); BOOL const insertTrash = MPIsFlagSetInOptions(MPContextMenuTrash, flags); - BOOL const insertClone = MPIsFlagSetInOptions(MPContextMenuClone, flags); + BOOL const insertDuplicate = MPIsFlagSetInOptions(MPContextMenuDuplicate, flags); NSMutableArray *items = [NSMutableArray arrayWithCapacity:10]; if(insertCreate) { @@ -39,16 +39,16 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { [items addObjectsFromArray:@[ newGroup, newEntry ]]; } - if(insertClone) { + if(insertDuplicate) { MPContextmenuHelperBeginSection(items); - NSMenuItem *cloneEntry = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"CLONE_ENTRY", @"") - action:[MPActionHelper actionOfType:MPActionCloneEntry] + NSMenuItem *duplicateEntry = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DUPLICATE_ENTRY", @"") + action:[MPActionHelper actionOfType:MPActionDuplicateEntry] keyEquivalent:@"D"]; - NSMenuItem *cloneEntyWithOptions = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"CLONE_ENTRY_WITH_OPTIONS", @"") - action:[MPActionHelper actionOfType:MPActionCloneEntryWithOptions] + NSMenuItem *duplicateEntyWithOptions = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DUPLICATE_ENTRY_WITH_OPTIONS", @"") + action:[MPActionHelper actionOfType:MPActionDuplicateEntryWithOptions] keyEquivalent:@""]; - [items addObjectsFromArray:@[ cloneEntry, cloneEntyWithOptions ]]; + [items addObjectsFromArray:@[ duplicateEntry, duplicateEntyWithOptions ]]; } if(insertDelete || insertTrash) { diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index f67be43c..5203c30b 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -182,8 +182,8 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; */ - (IBAction)createEntryFromTemplate:(id)sender; -- (IBAction)cloneEntry:(id)sender; +- (IBAction)duplicateEntry:(id)sender; -- (IBAction)cloneEntryWithOptions:(id)sender; +- (IBAction)duplicateEntryWithOptions:(id)sender; @end diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index bfb1f558..c2a7be82 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -606,14 +606,15 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } } -- (void)cloneEntry:(id)sender { - KPKEntry *clone = [self.selectedEntry copyWithTitle:nil]; +- (void)duplicateEntry:(id)sender { + KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil]; NSInteger index = [self.selectedEntry.parent.entries indexOfObject:self.selectedEntry]; - [self.selectedEntry.parent addEntry:clone atIndex:index+1]; - [self.undoManager setActionName:NSLocalizedString(@"CLONE_ENTRY", "")]; + [self.selectedEntry.parent addEntry:duplicate atIndex:index+1]; + [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; } -- (void)cloneEntryWithOptions:(id)sender { +- (void)duplicateEntryWithOptions:(id)sender { + } @@ -672,7 +673,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey valid &= (self.trash != targetNode); valid &= ![self isItemTrashed:targetNode]; break; - case MPActionCloneEntry: + case MPActionDuplicateEntry: valid &= (nil != targetEntry); break; case MPActionEmptyTrash: diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 030aba8ad418c223d6575173f7a89fc1ad82ba05..153f3de454f153327dc34c12393a914a1fdfe612 100644 GIT binary patch delta 52 ucmZ1zuqR-H3oE}1LnuQ4gAaozgENC8L&#)#4(Z8htP1Gjn|oR3D**sVR13ub delta 36 lcmdlJuqI%G3oE-bgAap0gWqI*4(Z8xtO_vx=DDo%l>oYZ35fsz diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index e61f4d3f08360f2734e7995595471a98fb55ab21..ef0e80460bdb7728d817967c01f60ab494ed4390 100644 GIT binary patch delta 48 ycmeAOTM@Q_k9G1P9+AmrY$B6;gheK20qG+=LX%ZE#3tvlN2e4Lq0TXXID_kCM-Iu!ZLAVNm0V!Z diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index b37b4eb2deecac1acabd801b2f8339778dfb3df6..924cc20fe3945d65750ee7273de05ba2c1c82bbf 100644 GIT binary patch delta 86 zcmZn)Toky$g_YZdA(SD2!H2<90j fA!KqVt1-U|Ln%W6Lk>eSLncEaL&@gDtoxM!8*vhx delta 74 zcmZ1!*c7eeLmopag93vqkS<{;VyI+LVz6f50+KM5 R3t5eUy1*(oKW5#p1OQbd5K906 diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 77acbfd9cf6a0ef13bd506b9ff35d3f2eb10d42e..746e584b8b5fb2e080b9aaa18e03a39a3db44e8c 100644 GIT binary patch delta 52 ucmdlKa429y0xQ1@LnuQ4gAaozgENC8L&#)(4#~+4tSac@n^&{8D**shcnlu^ delta 32 hcmX>Uuqj|e0xP>SgAap0gWu$QR$CZ*^KRC5B>)9kX*Rjlz0sw2) B44VJ| delta 42 scmZ2wH_L8=4hy?8gAap0gWu$SR>{dBECQTRK7;Gzem2R?eJpdN0P4{S#Q*>R From 0315254e3e0c24002d0a0fcd02a6ab4acb268c81 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 30 Oct 2014 20:11:50 +0100 Subject: [PATCH 181/778] Fix Autotype window now displays content again --- MacPass/MPEntryInspectorViewController.m | 2 +- MacPass/MPFixAutotypeWindowController.m | 29 +++++++++--------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index a6394364..c2624d43 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -420,7 +420,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; [self.obfuscateAutotypeCheckButton bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(obfuscateDataTransfer)) options:nil]; [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; - [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(defaultKeystrokeSequence)) options:nil]; + [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(defaultKeystrokeSequence)) options:@{ NSValidatesImmediatelyBindingOption: @(YES) }]; [_windowAssociationsController bind:NSContentArrayBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(associations)) options:nil]; } else { diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index b27f02b5..499f7ac0 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -25,6 +25,13 @@ NSString *const kMPIsDefaultCell = @"IsDefaultCell"; NSString *const kMPIconCell = @"IconCell"; +@interface KPKWindowAssociation (MPFixAutotypeWindowControllerQualifedName) + +@property (nonatomic, readonly) NSString *qualifedName; + +@end + + @implementation KPKWindowAssociation (MPFixAutotypeWindowControllerQualifedName) - (NSString *)qualifedName { @@ -119,7 +126,7 @@ NSString *const kMPIconCell = @"IconCell"; association = item; } - if(nil == entry || nil == group || nil == association) { + if(nil == entry && nil == group && nil == association) { return nil; } @@ -142,26 +149,12 @@ NSString *const kMPIconCell = @"IconCell"; return association.keystrokeSequence; } else { - BOOL isDefault = NO; - NSString *keystrokeSequence; - if(entry) { - isDefault = entry.autotype.hasDefaultKeystrokeSequence; - keystrokeSequence = entry.autotype.defaultKeystrokeSequence; - } - else if( group ) { - isDefault = group.hasDefaultAutotypeSequence; - keystrokeSequence = group.defaultAutoTypeSequence; - } - else { - isDefault = association.hasDefaultKeystrokeSequence; - keystrokeSequence = association.keystrokeSequence; - } + BOOL isMalformed = [MPDocument isCandidateForMalformedAutotype:item]; if([[tableColumn identifier] isEqualToString:kMPIsDefaultCell]) { - return isDefault ? @"Yes" : @"No"; + return isMalformed ? @"Yes" : @"No"; } else if( [[tableColumn identifier] isEqualToString:kMPIconCell]) { - BOOL isWrongFormat = (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); - return (isWrongFormat && !isDefault) ? [MPIconHelper icon:MPIconWarning] : nil; + return isMalformed ? [MPIconHelper icon:MPIconWarning] : nil; } } return nil; From 4910be2e50a844e94f637f8e8ee5df5dd5a659ff Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 30 Oct 2014 20:22:32 +0100 Subject: [PATCH 182/778] the default column now works again in the autotype fix window --- MacPass/MPFixAutotypeWindowController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index 499f7ac0..a95904c9 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -150,8 +150,9 @@ NSString *const kMPIconCell = @"IconCell"; } else { BOOL isMalformed = [MPDocument isCandidateForMalformedAutotype:item]; + BOOL isDefault = [entry.autotype hasDefaultKeystrokeSequence] || [group hasDefaultAutotypeSequence] || [association hasDefaultKeystrokeSequence]; if([[tableColumn identifier] isEqualToString:kMPIsDefaultCell]) { - return isMalformed ? @"Yes" : @"No"; + return isDefault ? @"Yes" : @"No"; } else if( [[tableColumn identifier] isEqualToString:kMPIconCell]) { return isMalformed ? [MPIconHelper icon:MPIconWarning] : nil; From 0b6ffc5c861cf6903dd52244a1bb555d5de49707 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 30 Oct 2014 20:25:10 +0100 Subject: [PATCH 183/778] Added link to github contributors list --- LICENSE.txt | 2 ++ README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index 7fbda610..f5755e08 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -633,6 +633,8 @@ the "copyright" line and a pointer to where the full notice is found. MacPass, a KeePass compatible Password Manager for OS X Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors + A full list of contributors can be found at + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/README.md b/README.md index 0f347616..90b4387a 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpa ##License MacPass, a KeePass compatible Password Manager for OS X -Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all MacPass contributors +Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From 842b7615b5b6515f17c07bd037e68c627932d6d0 Mon Sep 17 00:00:00 2001 From: Jellyfrog Date: Thu, 30 Oct 2014 20:43:45 +0100 Subject: [PATCH 184/778] Compressed all images --- Assets/Screenshots/Attachments.png | Bin 130841 -> 81876 bytes Assets/Screenshots/CopyCustomFields.png | Bin 53946 -> 34874 bytes Assets/Screenshots/CustomFields.png | Bin 127062 -> 76979 bytes Assets/Screenshots/DatabaseSettings.png | Bin 140404 -> 87749 bytes Assets/Screenshots/DatePicker.png | Bin 199035 -> 123438 bytes Assets/Screenshots/Locked.png | Bin 85093 -> 46198 bytes Assets/Screenshots/MacPass.png | Bin 129095 -> 78453 bytes Assets/Screenshots/NoInspector.png | Bin 109912 -> 64412 bytes Assets/Screenshots/PasswordGenerator.png | Bin 178165 -> 106457 bytes Assets/Screenshots/SetPassword.png | Bin 152246 -> 95958 bytes Assets/Screenshots/Settings.png | Bin 104175 -> 65554 bytes .../icon_128x128.png | Bin 20967 -> 14186 bytes .../icon_128x128@2x.png | Bin 52259 -> 33579 bytes .../MacPassAppIcon.appiconset/icon_16x16.png | Bin 3463 -> 715 bytes .../icon_16x16@2x.png | Bin 4950 -> 2031 bytes .../icon_256x256.png | Bin 52259 -> 33579 bytes .../icon_256x256@2x.png | Bin 143640 -> 81479 bytes .../MacPassAppIcon.appiconset/icon_32x32.png | Bin 4950 -> 2031 bytes .../icon_32x32@2x.png | Bin 9261 -> 5654 bytes .../icon_512x512.png | Bin 143640 -> 81479 bytes .../icon_512x512@2x.png | Bin 405575 -> 206722 bytes 21 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Assets/Screenshots/Attachments.png b/Assets/Screenshots/Attachments.png index 0b6aabdc8b61110e4004cb9ebcb2c40c9c596da9..608a2e9ccf29a2278ef7d728ec27cefbad2d5718 100644 GIT binary patch literal 81876 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 o7j{BXJ+wpZJEj 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

$u8zAl&H7VVPfWk=8>+C1uCIMvxK3R$ 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 literal 127062 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 z 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 Tbw%kmGK7Jyp-!F_+W-FnrjmU| literal 140404 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

O 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 literal 199035 zcmd?QXH=70^EWI91skBE6e&Sb(IXut)I>!^5AAp?fHWZ#5klxaiHd?q6G1veML`9D z&}$+B2}lV_NgzOg00BaP5D1X^aPEIy>pl1T`C049r|a6+o|!$r*)x0Z*^~G`t<5F& zAK$-g*Di^hH?ID*YuE0uUAsiD?-ko=3Db1T-?eN14{tNGKX00usr(rT^Yr%h*tP41 z#Mg|lI|E%Zc-p1~toqsSr`ON4>^ZbIzyIU@_eWk|x)QH*=&J80^|EjG4;>b{*1zZQ z9^w^;18%KP_nvigd3Eiwlk5TgI}=i`>S_6P!j`V=Y#U4vtuKGOH!ny;B@BJ-{T(~W z#}`~<4SI+%n6qaxlA{hjc)S0o$l-ocUT|vE!-pzc#5IBB<05fbwiTCSTO~AAAeOyOBQ=Ssw1GFON4$1Do>pyK{&Dc<1=*99(yAgSn~^zbp7Ln%>Sy*CU5NDI zxp7A_(tkK#WYL5pA3px^ij{M2^oGS;0{{Cf=RJm1 zFVkm5{*pPfJFaKpH+S=(p3JRleL8C6(uUn54UV<8-xMwWIyp|u(zrg~l%x`KOb0(b z>-v}Q`{3jPS4UbDg@3K9HEtYjZF6+1V$L8JaM%=|{q)nMp|#DvOx&y9&GbdLn^_m; zuA)KSO-0tT)L-FO<(2;ezaPxzno5JUhHSqSd&OGN zJYT4Oh}0z`Iha0Dg6@@%UcWUz2JXFz2tKs0^oeN2Z~EV)c6+Q=zKRlmObh(^J6a_k zbvex3d4EdZk-#3>z*mj0z9LzOumSyD%`L{P0+rJ|DGfc5$9p<~Px25C13DYOl0{yz zIPVsIim2TG%^#Dhdf2P4UUYszGN#$X{*sw<&6)l^*S{T%Cny_;o;iXB?-e<$BBs7a z@te5!rGxjLUVI?hDZ1x@F=@|_OQ#KXNj@o@GzyLI~0qdTHsB!=P}pC7;4 zaut3B^7GCGC1`Bub?!UWpNi}I*NuWtG#-TS9e;*-fqAZcC8ZGSdR8tZ@f>bn+jsTv zr(Ey3t!bamI^J`x=d>l*b2m#lq2qT~3ACgg*!Q5meA97<7vl-g_F703x{b6?QL^}@ zUPr^^6@OnxF-@sD@vz-tlEgTLR(N~b>iuw^W+{-2Ry(Xcb5e>*nC7k$R?~JHJ_WVL zAG$Jm&t=#t^s{fRZ~W4}k=#nH*}Z{cfdzrS4IzQEfnNhf z1EtsQM4aC~w0&Xw%68kD?X3AR|NUb7C-yr&cYH3oU-oG1=d)ilhtht$^LwxS!TEi1 zf5io};|Up-=ie%Q3>m;3J9ZR$tng^n(e7h}vy#8ROFx)y_s8cy$mz-F$8T{;OW!S( z_1vC#KlXO4n0MKuVE^ss#jneMefm|tX8)#a@oUceMzb3Gjnw1!d#^&@js8&sf0Q}s z+*jBeRDjRU1g~s0a~CTb<0G>;k2XXXoff5!=N!izKbd5DT=s(Vqu;%CFQ#2gxJY=E z?0u`ov1a%Ej{CIgf`MZT%j9}Smj|Tm^L6w34m<~J@ZO(0n!Dd}Gl$)W?+MG(%5yPAeoOS7 z^ULtQ2h(>ib60+d`Pn?ed-J^DT4{%5f^`BcBQ)c4hPVd6?wsAW1GM^4RU`!J){EAx z!$8f@Otd|0z>PIJJec9tL|~UG4QY1zRXN3t+eV2;q2V$7te66`X0zvQyJB#AJ&x*@ z8MrB$DiVzgLU}XpE9q0gV+$}ZJ=#%PTVLUUgR-kKijLY#@2THIKL^SOe{8}vEr%%u z4}?OR?lzgaF6uV)9G}w*gKWBQsxFtCsGGJc7n^{>jUvi6d^fK|Y)8&Ug+!eXH;>GW z0JDEGZ?1jbl;5mjIWfq~am)j&-f@gN&wq=% zH{}KNu++(@V@1J!h3O9d-eNG^O1@76IF^%%g8DmbC5PhlcJbq z9jXDL0TBUV8FHFk_X9&dkNz6`=#|l>3DGh>oD!ds3|16ASNdM&X>+RL$nQsRh6Q=! zd9sdY>avV+K~u+=1*aQN$(&9;({PGmd7RqBwAj+xQ}9%`mF|w6`7tAP?!>v8bGJYL z{G8;yRlQYx@7+`FYvBP6b8DruEhlf^DtPGseBhyb-HKqzDMPw?k`>=pb>1@_42vWWxK)_&$gU*HOoFF!xTAV0e9o4#rO&93aTnzBp)aOFEwUD|4b(E2*TI!#v z(YHc>uJ*mnx9V7*=1qq+WiT4=yE**TkX!Fi8C7wiqS_;6qJR;FNoRI*x=nv5oF6=2 zdncOIJx;DmX()g9S7GJbH5Q^(&~z7b*J?;?=(Ko+xUQ6msa!|}%NAE2a`Dl{Jr`Yk zp4Y_0eV2494f<4KT#5*HFm=@W3@|w~?}=UGNmUkz!BQobL-8%AX~?>Jj`Nn&Bk%+ zeO3sUZsio}RP09@HyDCa#)Ai@JS|cnHV!LKC#v9na2hOPyfHdAgd2(UN3P^|8i$Eb zi;1lSt|U)bv}|$^bNnuGLn$387NE=Y_lQzKJx7WPJ}%A>Cmf8B2r=DsbUl0;_{y?)<{p64S%A5R|{Py4Y&(d=Cp4OZX0q~Rb6jf{9XRQ9!EmCGOLWKJEMc? zFEl&}Gryhv@LXD2B>eV)U8lu%J(7B@)!8%Gp(oSttC^y`-eTP??5JvBt?znm_W1sp zUAOj%&Fu1jtF#OLLG2{`tn}l(XC6a+KOF1HSih=3mw$Sr_r{~YbT4kmbcqMxc10^? z<>dGl0A9zl>mZ~tI#n4iku zd|lmOA;G36PyQ|FzkmNRPLFW!|B>Vu^q*?&D5&-K7cCu4ZLR<2y+dm9cdOB#-r*j; zc2~Wj9)3YPGC(>y7xYa2MezUm^gkm17peXKkQ(S2{BO$t_2oY)O|<^j;D2fKA8`Gv zbq6odeiN<##vZhPPDbM7u3eXQ-Mo7FPPoWY%f9B1cSDL>7Kg7U9ld>7NA~GUUBeFh zn1_l-E-q+&{Z&+$&rZm%jz5mI#*2viKU5VXlWrzHe1Gf2z7qkKzDd#sQ;DL5Dlt7r z|76{Ob0Y}wWv7k6<*yFcj{SMphmYWv)(|=6HJi>+;S^Ru5FzR8mxFi2eiwc7<$;4s@lwCD+jS_# z315zv{1a?Zm&6vQ`jxf2ntmJ#BZ@0E(d$Fsgxuwq{$uArvBg$GfeClBjT9Car?NRD zw_Fms9Ov<;)xCc*kg2}t=1@!)_e;KM=*i8QCo3^yzT(j_k9Dg?}TP=JCMX^wP+%0r@FKW~s0H&b5itx~rEWZlE>zS^GnO z&l2p0rr3b55B(eZ%^%;`ChplU33s$T105s|M@znWB7RS-c5|xh4zD(LB*)b2kwe8u`OLV9=qAl9;d6D%#h#WLTMNVkVQn)S;S(-!QID_}53 z?)OyM{*&c@e1oSwVMJWg?eWUeOnIQoWsfF;v$0vzf3u>;9lh-hJK0manEf4Ng9Z8K z6hD=pD_)-9C=`ePvxoa4cg)k4@_B1hhab7jzgi0&vN`REOK%o;pTtBTLf6!usiY|I zuVO42?)t?D-5z&+e!{;Qndo^@X;aI0nQ0@69qw7a-IbWM8uZt2i1kcy%a-!1C){a~ zj^WX)9#D^dwqI6~cixSaqniwVV|~{ad&^R$-1naYk^hQbg{c&n1L8+wZKX$sx~nL6 zLO2K8d}3g|1?bZ&p7Nv-sZ+Hw$dg=czI$VrFaKOONqsY5P_5GD!wNp@_p%k+jelbn z_Cd=H5&YHq_;vOva#g7k$g0{o;WFo1k==(@)ctC{*b`p zViy7lQ%cZ=gRQXzaJ95LBCImYp{Kp{t|M7)?rK2smlbMhH-lOc=^}nF--Mnx zMD*~*xkvn-m8jM5&-|CM2QAkxo!UGLsZ>8hPoH(0oab=j7o``Hh;^`XXY6#7y;vx& zExyZ5vT7qldZ-GKl^0@}wgC#;Kjc+f>)Mzo3$!f$`fnzlNrkTV(utcc#B#l-rQLzG zpEHdE>1#`Av%UllLXqC4eY?iPv8(B_Sm^qWh-rx(5e;SP!10FUvGSPPYN#7=%Ex2r zbmIprr@0%JkfF~HaNkb<^J?}j)Z?wt-`(!jSJz7T$&vce+4(nI$J|J||IJ)Qct+fi z+OKzU9DyjbWjR!y^ixVXwu7vk4+=a&$>fIUNH4Hv;#29lI&df4ONIX*bJ*>eqe7Kl z=}V}xwx7Ven^uMxZk5(a#EGU6k(uih^ENx4wxR>9=yHb8%Kuxkk1VQ{In-s%5LuDJMNKZB?~-!>G$o&f4sb>Uw!hrk87PA3K(96c^CzcAXvSQL$` z?y9nuFYx|dXBop?{#t93`-5$p6rE8n7X*IInMBDz0MIZgFy3`!I^(c4lD8 zoVPGgoKmCLL#X92J`o_7JWFxaaI_&vHyyfVQJYEip$F-36!h@l@Qnfv^y>uvNu35f zzSogvc-xi*7OYl*#Rq#o=HtGCNwK7D~_|9#K%vccCE> ztlLDP2AH>I*+(n#`mC5+@9I^K3Dn_GOC&9a>4g)aXG&;x9EAa+fJI(83)?3&64udp zG{tPgAWwA{437&Ctj19WCV~(ppO+t=20y;VKGE$S0)5uE)wMV>ocXU zdz$B4WZEnKi*sVAXx1wa>i2WXr=&Zs!?1~>b)*dDQn{jHZ6YyNd6D}CpTYlZHb0-H z(`uY7;>J7XNb$7%lcXDKN8)}+(QgPhxb`D-y*j3^c5-@Zbe-s_WPF-lg<`f|TEmor z^W6N-yi6*<%o)t9FD4O11`-1FoP)4haMO*YawR3WuBURGT*G#)#yak5*)||LL6i2Z z`IQ#Sfd$5RcJ4a`v{@A#7cHLPFGM~|h?6Fm(8V+J4#4}pz*Mr9VZAzCs(4UP&Z30O zjCT4Y)KD9Pm0C5*w20ChmXnF)*ibT^`$asHzhP#MnjCe)yUk2;^x@wgbjxwSU>yMl zr(`Jrvsy@@QgH1ab18Yz{13fGnDkNt0$1l`D6k&}SnB})3l=#_INMfI(gEjVCba<{ zf^-W8PXw=bWlbvKcj*ZBm%;STob{DAQ(uDrGS781$vf#`965T~%fX-N59Rn&CFj51 z7$IyuP>FE)FSa%=L5jgL8#wyog^qgp@&-yKrXZ3{Oil*L>!p|_jzyDYA|WSNG+8TI zo`ixHcPyXn5Wybt5>`m0fC+AwXZDPj16gt&V_B8^;4K><0;qG8%lWb*B3}4iTc^xRkImHq6|#F6)1OmGHV27M!x< zn6bW2)^s>rD3Y92N~jbBu98w3nK%XP;`NL$+)r_lZLuS!=>dL`>x#<5+^o_Sz!~NJ z%ExhCI@KE?i;PUnAX=W>C?LIcv|T>PIE}yV)jTE!!d-zy!F`jVj=^w1i2qBpH;SYE z12hVCLDH);&*6J2>vM$6Jep$8`Fg`;!p8qr#fW)6e2CJ> z`dxFUw*g*7xgemk))o7CQ)hYxSLNc*PfUY6q|*nDHxDgO=|v|cl&us>TI=XDZUe55m^U%#uza@eY?i$Y@XfYxViO|^`qqU`)oNb- zo~7qyZL*e{qS##w|L%vKOgG6G13=;Vk!~IogfE>#6`ySk^m?desBg45XQn=8$8YGd zW8&UfFK|B%`1$hsB?^}c$1#hr@rYxY5KsF&$RR0$f&0!_A^~X|)A1hI$)o=N100_; zyn(ktVZQ2BXDT`*Zfi@9*;Oay8=Z!9D8w0kTq*n;3Nv70WlAWSNHJn~{LraV@6)lI zgD7kriiu2qp0~r(8#~F7SHt%Y6F;lT=)<|_uk;kae*^I;R|@S9`5D@a>;==`VedI= zm8mYK3vzB1kJmg0G`gn4tH~I_u(#IjFxf9TK@+2m2<+ITF4B<`wX8XVwTh3- z3h{io6lD8t>SMl?V$O_LnGnFc zbEN4ivTCBXf_%@|EQ*Sw3#({rD;|73<+>8>qQ0z*zf2+b5tW(6%mI>y??|4@iw<=-M+we*KtGoB0F zTcGj-g8M5$;DVqhp`%CN8w3jton-P=fA722M{o21 zwlmN!ip?uao-PVNm!R90F3qRdWFJq4Fhg%x(J+{w+GHf8^SqR1`0YmT3N{_;M9epx zFn$Rm@?6wTtU~&Oy#!Os_U<%E%?9jeuLibom?CVD>O7WCKOn1_Xp32U!|c#P=#08N zc_tP9Z7cw<1ZfDhxe!JvFa$2P6$tWR$`uN$>vXalP7H zqQyrF36gGB97B0*UXiFmE5C=A4QsI(|94`}| zJg_6&-|dRx^=%2i;-!{@2~#IBg0je$aA#&gpY${xN0>3iE;yZgmNr_#O>zUo=tqF z7Uz~D)>9ZhgBA~wZ8afs+{gJ~Vaar}Y|AMDv6@O9Op{!~wIBZh56&yQh)X4^gq)?O ziwE4pMQHg#EsW77q%@6?JQpV424if9yv8_fxINBs?JS5iY?ra*n%N1)ZZH7)XM(WP)ZYm zJ}mvcyifQQC7k)8I2ZkXMf!griF5u7rsOa@<>Sj06;pCo7y)k*YhUb}+SxzXY^%8> z$Z93CUC@nr*%qKx!?`SocGy)v3V%5a`Qh%eZ%5bj^I`QrjbzoJZSLr7ngKk5C(&PT zj(f`>;!{sE^mkG`uw~1P$Ibq=XCShLd4`M%R{Pn60NcNa8Ss7^nm?i*@^J-$fjtq^RE4u{y+q7mBA+WuH4|zI7^7{unE7{GeNs4p{p^h)uinwn8V@>0UY1xDEIs7V_^a6 zqbn+7c(;=S;OQ`C#`qBwZ<>Pt2o#=m=1>G?d21Ce@qAfDadkg?X4@9eMxfER-B}D7 z%^Vd*Q)rLv#-hGa?c%Q?S-lcQLBIC+YR#P|rnWwcv1qR@VEm{xA5Yk)yT>K?Rj3E| zx$}FeBa!q#+U|+X!UD*nxbrlf<5h(Cq`q1XA1wiKB^dsaEzntP9RQGTNo7_7?6mqh z2Fj3I_~JQX0T(rvrN!D`d?3Ge_eIw_dCjGdF(kPtW<}UpxLaa$j=1UUIh%N` zow*C*{7ji}gQYNpcV+Q(gwQHr$jtc=3`r=Q?pxve$k3Z(2K;`5sZa2xXg0p* zW1hYw$~at`Y9N1}d5T(R5#1vWhFKGfQ|*JMCu4JgQLhyE-=g$Y6@cArB|iuFvg0>a zq>7{+`BH6Cp6WWTQ*L8j7Mpl0bZJCt2@Vv-=oo2o((thpm~${gVGJ;hbaqQu|3zd* zuWDpG>2LgaNhAM>A33aEhdb6#@fCseZL=cwUt+tOV1+nc zxsrbryS^@)taNJ2O!0{GA)gD62Gj_?ex6flz=e<-2=k8wc;Q%TUbYs?Jh?~7$epH7`^7KE%JEse zVV)FQV*7$i=b`N@UZ9|5@fS>6+WVAueOBi_+O(Updi0Dhx)4E&p9+mesbq^Kqvyys@p5>vtWxk$p6lU7+(t=}5= zFUjBZ%M*?&7%g@#<{I1+FNanz(a8go{_^E9w=!n~+Gl?4+#V>SOE-PQYH3r}*tRwq zWw{M_8JL4u;4b6>_Zux9GU*;EGWi}$y~IAWXhKd9-|nRdolT-A#_XECA--E(r*$Ax z6FTs6Hrl1o%7@s2n+@xjZUW-k=K7Kxj)#tZE>3RA?h8nL=YSOO4VEjOqbuNz4FXyw zK5_d%jE(fWB!yud?oGF`LKeMz`!XGWz$ka8PGL`McRBZ_VsH;a2R4;g&ztLZ6F47e z5)~uIO3)!4ImdMBMlwvov64;R14y~1t;aXTC5O;4FG790F+RoCXq(PC^nqUqX(8KI z=>dVuP}y8}U-Buj4=%Vx6xUNR!0nR)+0Jc)=$9Wu)_L5kE4MgdDG$hlk|je{Um5X# zjud1eoB-(QPiB0C1O7T-Bkp!)qNr`{%7gw}b;2KpnEIYKy|&2^m-dH+lJaDIMmb{s zbhHNBD!1MjSc`5S6=w|l2z&%iZKcQDhxbZ_@*JXwhj`2sWOSbY_kH<~Jfl8+OVMh| znCvHw=GNFIgx!wbG`7XN;sJ*ShRYM~77~l+1{Z-HYM@nHCi8$MgLl$8Q4ho$&0=OSE;K@L>-V6ie;`xp@?l**LFr>)r9lq@j-%h z4Q9NBtv+=+yeoG?kpK#%l)-F;bbDq&xAhBK@cHS|x;&-23+*=vNGskHlJhZ($O+g~ z%50~!(0aCfX$s7KS**qcZ%n*K?@5r~sr%i`78{;DZ^2MD1Z@K!SD4;bQ(tyV@!h({ zqjCi%eNCU}chv~e+ zudLNB;I=yHHVGxx(H?oBi%gxb8!K!SLVsdALn@5w9Q_LdnK{F`fDj}2Kuha6-?vzG z0uRS;t101u%?n6Dok1vt?KJ{KXgCWOvGEY$WMcS2n&k4RUBH4Gb;!$E9=SF_Y>$~6 z++Jx|G%8v)9H|^h^>Ii(GSV`zsT3}uJvu0#8=Cl}7fx+RmTc-kypL=5XhJ7lyp-%h ztER^6?5sirO|kap?LCwJEazfd1t-8WS9QVuFS&XvExrQ;)4daNr1c<|!T~VeTq<7L zY@CEUu2KgV5^{m%+*nPikh3=P3!4M@DH zE_E_EthD(ZJnErPE?ZAS-_k+0WW`yz1elm%bw0-r8YOoOJ+mt6X5SY1_OK{&k^dA_ zcS6Q`YWkW8J_Y$b2;AClv!1LpqDU%0Gd%6+Ax%@J%0sg|IId zKw`R1iIw$iZCs8^(Knz1#c{e)q~7O7kP$E)cPfK_B{RXU-k?5&>$-&CviHFKMD3LV z`yhWG=6yt;Hd)*Gbe0*q6T_Xo@*yjGqMVUAN#^6BuU1z0HZIZiZK4H^bG2~-@oEaB zYR2SjZc2m{;(qh|eCifnxbY>NAr4X?jx{`)N}AhX8_-gOXZ!f0xbR+kFFcsf$4{4r zwVaa7`5B0rV%PJV07-g%&WDRp8yL3LuRZ8(_JL_^%YqrR6NmwW`0-NsZW#nW%}6!WtgLJh>x5*}HJVnC)>`V34F&7SKDyV|*Zly*8{>#ycjC*-k}$lh{X z2g>L?CWsa5=d8&e<5Giw{6C^sQJ}*BQ!bqOQVjqa-C1y0*Qe)@k+yje9cI&|o>3$F z>hKioiba4eP#D&3SiVIy5OU0MQ6RQWz=S#BWwC}aP%tA!NSf97ev2SrgkO)kQM;)p zu*i#GXEPI3#gKmt?E&py<&h+rs(`}>V61v&7Ah)I4x`}v7uUf7lD@U;+^ggOix0I~Oh z;9QH_0T^HJ=w)H^84%K{TUc~{TFHwCH<_N*N`lZ}4Sfr?I}XS9QmV*2=X`z$?QAOg z^KwB9pAW7`MnSg^?mlq1q`VHg1b3`+xz1k_7qADa)Pme*^xGG0iNaRLw3Sg|RG+{F zlUFjhjVf2X<62-tb5V}; zXKSV!x*X6#jB``8Ty1#?$1mqeYtwfnaD8)qrKQE-&^ak;TZLxu>W@`S^Ygv~8X_%k zyU@MahN?2vu;rd?Fm}AYFG)V=Y*a@g`PCTO} zOgUG1;Y#6i_{3`m+~(dt*YTNZ&Kkkkn=Q-~<)R<1NQ!3IIajpIe~BSH5;7qx!*$zV zU0C6JYlwMvB=;>ITPvJaW9I2hr%ilCR?!Y3xK9k6*OkJSwT$-WLsiWN8R8+FZ(DJYwcHAR@kFW~Q zt11N%q#|G0JCvO!zTyg(Hx5w2Et`O8E8(nn0N<7nPsC1R+bM8vqa>E|qa0TZQ;4U8 zbLE*cZL&4s(H!|WK*&{f#VJRs#7rTz1+ZOcu)G@M)>`V#tU3Vt8C={hO%BQ|fsqcW zfrKME{2v6|-I7t%X(#5JE#k!iYM3?RVW}_n9FYDt4*!0k4&Ol>Gc<5%1b)DGkU@e8 z1CIqnz@W5sav|9)lfLp0sXRQ)ch)P$cYXnMY-+V=7OlYlRIFd=LBlH%&?-~TF(v^P zaanP~*CxW%r;Z?pW0m51eJRiK10FU{UeroS9YV!xIbwA638P?1 zr(YP4D#B$nWr9KeRE6IxG9*`j&PS>aklS(`rW24GYRv2qtTK{sE7W1%AHrNC&rNx` z2a2(jT3xS)k8W*aYm-)plx->IQ@rxAD8PDW_y($_Vq=ON z(Dp+gs6fO`5#ScQpJ_536wES%SukLoLLUux-k1?}8^&m?f5!YkQNX<0Wlpmz_4fy(=7@N7yE&B?3isXCi zrdI~R4>U;U20PAD|Gr17NOgRrz_LWBti=|X%#EqWJg+dMJ$QqT*DC`BYHztGC!%Iy zLN=@k8D^a?Zph;X31&DB3^l`K5NAG|nc$*`W&2=<#}BMBl;#Zy5!S?V6QPyqLe#H< z{MK9R-qWF28=UO%Q%ePFmu{Cg!FLL8P##dIh*gK?nIQN52}+Avk@VHXTPVIc>C-EP zEUUffg;ZJ7t$DkEHmk!?D@tg>_ZQc=wZa=i2I4)o&lsyk#1A=holDVJJL!{~xGmMDo*C}v!MKxn8TgWcdW2fg*0TF{$4HE2)13a*G< z{JoU!%}~fywNO?(Fsz;uQn(2nAY)Yl^4ouKpUkba^Snz`=W2wQ`kDDq=tE)+yW%-K zRM6xCpp`o-ohP>mw-1bpzG1t5e{j&pp&8$CBEYuP4{AlOI5T{Km&aBWR)_TJe9XeJ85 z=*`8uXxH_FS%y`!Zc}4+L}hkjKZ5J24tLQGJ+G}1UatpXRN6Iof~?y2E8nOQzg|Ta zRbdN@-uO`CwUBqC=W}66D^AEi^90Fh5O}w=VbC&;t7l-_$gE+{u$z3|woI1v$_>`# z2}SO^EWO%DygRIaFhMJF6Phn{cYl@kN8YBY}g_%g7^zIVM38KNg&HW|Ft{!iz*{99jB-wCRlv&(d2GZ{q#<)NbSZ{@`1ogSDV<@A}4G0 zS=Z1Ie;MOFmC2>f3Xa@hzt^P4uYi9jPY-SyFQf*rps17@E(4&qX@68zTr1w2yG*%8 zYF=WK#+1L5LV?{tN`r}{!NOrDMYl?HQhZ`^ZYf;K5aib~#X|exZg9`^Cdy@xW3GUk zOw}J<_~qBUGSOT+QiRv=(Qik@6=;X;@pnI_UN1Kl4-IqEr!gM_h7WBrfYb?1+-A9n`;5G4u`l z=|pIdufH7v+r2tv;8w0>i3FAnd51=PyBQfCMPF}e=RUz=VRNy%piI>~7 zbA=Z)+&pVKZ`2WcFx7bNq2|=`t)<1E;{Yy7Kvv`E9e(l-nfw#c_O3M?*pc%ltVa9@ zw>@EkSG&deT-=dgLac^`YA*JbcreJP%M4k+Dy3C@MvHSaoN`A+U$+Weh+BG8Sf7wD z=O~eb=F2g^u!q)+b8nOhSWO@qMtMdf1_&v2=|HjcRVlmg4+v&zHK2aKWr?jaj?y^| zo;wu=%ffJ^36defjMo#YfI{c+)GREAZxHRNAdaCAAE~CRfgkh?&(GC2q$D~j*p4^q zNZOl_w8ALSA&%r-YBh1T{nZy4>N%$M8(9wpz*437k6Ii6^QnaJ&`Kn}+pX0bIl41xHnQUmtBCq^PHDF00dV#JQrO?3byj63lEp%3+@j zlbzeeKyO}$IYwqBnyEUyY$SB>6C?Tz%dzxo#mLGXbE7@FRgWjOgIfxL%8I`gIyFPz z5(}s$=3&SsBnK)?0Nj_@j zR!j5tnbWBqZgK7Pu~5+#pFb58PbTYzxUar~o`|8BNhFyyK$%<9RJ%z-Ok}WekdW16 zlpv$=(gwbGdmMay(x!aND*vNJW^z)J&J0>tY=7e*Sb6E7*jQ|$#rc?hK37y1N$6Yc zlCO=wy~mpucm)4Be9JZ^@22DM#_Z<@9ME0lW6y7ULSRk!_w&+58-Y5bu>soa77iIn zF@2cx3Edmk>{tHMza9f8=aa*~OHVIDlH&o@lp*^D;WViq(-5@D+w)aDQG&Z9dtMfB z2>j5-cLl_`91zZBTE>g2Nuv$glf&oJ+y?Rrr}4Iwqb2&ji5t0O;zjdrPUx<;T;^S1 z2QJodsnv!wy|W4iykLlgO`9nzaC=Nnm9@-d)JHifY!$K3&CLD$HPdSq2c_7@b?lQu z_|jIg7$|s5&|Z(7!&ux=BdNR0d6jh>x?Db&nko(5k~2e+Pn6ZV2Ko(bwa32jFfp(T zQXz^*7a$keQif^pZk=js+CE?5$s#2M{*f4GWN`K;NMU~&G^$Es*v@S#8DI~fzAuEy zXF}&S+FMaZ@W&QE=Ai_PXDNDe$KOI2c@3UjvhLPF$-UmaLY4C~FY@Z=99`y)wCEey zZ9aAcob;m$@Nou9tzG-&&JoV*^6y8DOHG$hu)p6c_wjNwu1BtQXyKF?=2=p{Sekxd z=RRg4+sjFan2Vd9&b8I&<0%jXeY$>4AIVD%r_y1pId6td z$*B0@udM2*u4|O!?lSDTdwz~`QlMqmule?jnCCxzZgW@e43G_afygTt3pbMT2!@<^ z=AaA>1?DH&4GS!W=Gctvavpt~5w;IuXblRrW@XD;B%|cJF|5M+kMJt-(J|0c{rs3v zX@%GM9Q|m$G<$fo-e8z6sf?}6P2@>W&^&Q8<+M~^B?`Vc&fLs2 zRiD_H(3|ejbCwHpS`}=41HzU#X)c{%&K7fkgB(keT}s)L#A|0<+$xc{cg5DeAEm@u@+-9h0 zCmS!|V}&0_D$H_dPpsmR@_t3ozT0s?q*eY!hkx;9{UDeVrk2xF_s?>z7>zI**YI)#PpGnA3hdct7jBBOz&L7AI{x$mXk8tUeLk9o8r_O#vWc))bDiu*58|r zg(*f%v!)wS(fXKxpC0I$3S&26hq&8IvR{LtU-NPX`xwg%vJg**-;M(GZ_f#ysA@hp zgS9qaV?LvzMW+ z{|0nA(8QynvjMQYOrm{e%EIz?)&sIQ)keUGDct(VjPt_$K35Cg zhPOsh4i5;{B?5-MWs_^zOGKVGZ;{ua1HYF*{H{~B{OloRE1TT6Y(Ks|E}&BDz=N3H z_vEqg2>{<(y&yDPa}r!!w{R_lNkj7b3>a?!fZbW# zPvHy~p5M-&JHPOg`>PGu*+N4Z3>Cthvqk7zBRa^_U=w%GF~r8P0LG|z7{E9bLIs9x z(L}m!+o{eQPweo^;h&ULQx5SCahO%kd7* z!PlB+RlVAu$6?i!DVTskl(5Vu=0=F1jxRE_y;I9LE*xhGP*oJ4eKaxMF(1*5=p;9- zh?YyS-{@val*FH61kSPv0D1thl)Y|7tc&kvrbE>>Az@>}M55w}G#i0JQP7R#qCg?# z!8ZR3D%nV$bSilGO-Dd0UKWI40*Kyvm@P4sE;NOZ9wWOd=)UBveS6^=4rYb(J5jrK zb!^Xa(XQfyfHT}7Amn9?83_9R~nZk%=4O6;u)PgD+w0K}tPE8|VM7b~#!{*`nG-&}y7+vt*T& zxf+HbNuxC#ouKj-JR)qDs$lEpPJtgUVf-%rUi&eIOR-BBYc_z)0ETk-qf)n(BPVqN zdJd~~JT;^;4btVLsq9{_WD85*2hIKKWN{dvM+vc5Q4;6nfRif*0C?JfVClp9_}#@b z+k>`#xzjUkoVXMOTrr$1Vm7YpD}cYCl9K54iLP+DJ`fweQ>KmNs15O?h7WC@K=u`z z(30}v^@wmq_D&u};!&THp^j~Yl~>~SMSR(<)wbw7(SU47p()_Eky^&W`8unBKqgM6 z*aZ;Qx<|I%!g=krMjr^ShZhzC_zzc67spa?VnFCHk5tDmS(^>}`m%;mZb4(z!FnDM z<7XLhFr%@=5w!o*Q#%U6!HYF#&lqS6U9JO!j+unr;h^+Fl?%Dy;mgHe0LRjqns~4I-hdP z24xDC=^c?ff3FTHqYXDJy-&t?R}(;tfWgN4pplpLx%zDA#!vnFM1l`CuFjTQ?pm_) z2zz)?dAi4?+Qt&%s9^3k)jWbm!{zi^rdI5_r1tjuLB`K})`FiTTltVf^xT$t?BXHD z<)5R&aq>|bFRrn?@T14N-R>%!zu+@5fqqafFA-$kJw7Q$;V0)ep!*bW*9~rCXJhWM z_GJDauKxa?>G%KR$7!*8VpGaVY$HV?LOHjQN+K$+XUJ(r6mvc~KWSyjdE_J~b5`n^ zoS&ZyoAZ-$GG{rNvy5y`X2!P9dSAZZA3mQyU_16Wc07*z$#J_~4~{yWPq(7J5X9S? zZkl9QR<6E9W}3}CXYJ4Iw6267alb!ILG|QN9&5TQHKM6`OU-dQ{j$j2G~{%~A)6yq zx7l~GqP^b_-ee+=@SaDv4~@o~3HbSd`Hn$0C*91MVuS?BvjzcRcLfQ*Gwa0nU%<(# zE&5srw2-&g)`&P7_f=&8#*5QP%zfh+2F5uP&PuZ5FaTa{1Tox-qNY#P0Q8D-rUge`)6ajRt7*|>e~ zyMl-^0TorS2asf&eUvEj2jWCy1=BZ7%i7J2vYAWOZ^M|K7^tD4OH6 z7&by`K6krWF}tvXNCzI}O7PXsh2vG;9}FQM$%J_rPO>5m3>(jE(lCsYIyNL6T2$}g zew~eG6N0?5>u9PkvOfcq@{+fq4^|t#G7%c~-Ntb1!~vr?>LY7+7N~PKQ zPZ|psdBa5!l}=mY~qWH*V(x8?j2;_g<5$nn<`c8`js=jq0HC$Kc9C zwb2`){OBI|V|Delyl4gvh41#}EV4O;u_NDbRY{+uA;4a-)C4%haDyGAB`PigMo#x-6zYvw1H9l?}9+DSlU@}zkX%Hkw5Za0mLUF9g_dD znSC$k)42{Z7*{L^I|hjUcd$tb{Ix)Ss!PSoGt8He7r%AmI>{ze!Z`I?0a?VIGxt#n zLyTha%ZFuAabNmZ{4hbebq~J%7IgxjxQfT8IxDY9P2W(8EYgdO z49KYZq8fz`_#<9U?a{irLa2#OMv~J=BxxA}001q4W(E1J`v%j_Li{Q4{$47>`?GDpj`LZC{%$YTi6jo!vPnhJ0sT_xm=QqI&cR<0tCgtLef$J(P zx)UU52N|-sL}V<};|16fVE%x*AjdC;Mete|2|r@{#L>i2rQ&wbda3lfqm7HBew@DgpjAWp9 z8796R!FdJWhXuu=`ntr;bvWtGmDRG9 z@Um80`(oK~<6lB01``*^|M2rbTJFOPXX_xj&2_@x{toEI2CF3Ryp&lTk;s=OIArtH z(Wls?RTWJsv&8xvC7hQ6fkPLc+!qS&)4k@t8StwdyyvfV_vru60??1D7-0TaGSof| zQn{()J<9pMKj8xx562}k#J9)NvPFFVDPZXPEL0!BSK=6m?O^O@I_(0)Db zGICJ~T`?z;idg@}(6f=0#P+PuhXz{OX3cbghIktH6uyeniXN|3!6gIsoPVv z!#^nipHZyw+U)LZ1N*oW%biu!lo`is5?)9!EyY|+$^_LIxv{@A7#zcAJdEWqV$66v zG^5tFJ8eFsA?fSHzu{Qb;Ts>F!F<0%k9%_H6;r;1FHpkYaA}GyP@Baht4H!Kh`HOB4#ke+0wP09CT~LN|}7e75uvb!@=@lF(uNQXD~N* za@>{ZnM6a4o6rFf^xo2$V|=%JEjPVZxf*vq&RPzpp&TuutYa@4CfIQNZ{IXkTUWBQ zmLx#Wty>(w9+Vy;Cf>O9G|cE)ABGP#vs$-8w+{cOt(zK`BWZKICM0<@eoLwW{&X}n z_6e*tcScpF4gR#h{*|sgVES+%d$Z?s%#YWTtN6b3Ct81^y4rjplkZT{OoMc-&LiKry`MsLe?fwW_U&KK*Dxq5g&ob zkc~4_WpnH9V1-ShjKAFe1IUbMH~p0OF;AU!P2tT4STa(AOus6e!$KN>p+5b#7n?;b z&cYq{s$n(RLRz+Ed+^Od$g}tRTMdygoSRwO=W{?a=9Vf@ha3}YpfG^5rdC8m| zA6ev~6Iv!cos%UhmH?w(WOhZ5fn-z5pV{94=M@lLc4=ml-s^lE8K}nkQfFDNsthUv z5#lSscxFF>!MJ3rC`%#RE>5d#`CR3+C=@bEKd`6R)tpUuwf~idhz{aC`3T0oim?e` zswknEbK4&l8=gSwOKi;1OwRJ#2a{iYhrgU)&Pl>nUfbR>ozeF4k$sZfpM7|*Iq-Gm z{%Q1(2ZA5i#z;hO6H*y2JnT_Y%t_umAqa z=pXBN|2x5Fe;~U_ZgyBAC~+ok{mI&=7s*KMeEnyDr#tARQdKt;LY}12{ZQ>{O)3A76Kta~lm|1QoN4d9 z);^`=j3mXx)1)++UAG}(v07f;K29+WGtkg42c-utkUF@PbqY(Xm#i>7wm%_~-ZI!6 z0o86PK~DL464gXEYNW=A+hN+{3pLz8&r=50o!|a?9>Y;(w{60EDJCWQ6D4kE`PC+x z4vlTHIg@H7pJUuxa%CK(H4eM5+VuVZHKtp62}dPW3DUt?{(lCo6x8((u_aWkPP$Gz zlubujBKr2=GQKw#*HL+?XVw>3)U~vIMALa_44{bSjy-6!b>ogw<+RT`< z4vznKTQM~jTq-se&9FCSHX^3yPOChXY@ ziBX97OoR8>WU53Xv&L*P&A+)@)Bxu7j(N4jQlk(8bDGu@PDaZ0`P%s5EuvgvH*<$x z!8G_t$eBcD+X}JFiU5Km8}9~l7eI2Dj8Ja3lJ z{oPl%b3(sN93`x#g``)SiiS$zR!-UNv@V~!fH*Vp&8@#_&o_hIJum4aFB_$zgLE$f z6p9?RTiNXE#l{T~1EJ-AKRY9lq`h+z+kKXnWxjKn5T)?R*Ifx;2C|S9_BdQu;mzFR z=+%Ra|0bCm-j_ZHPjBHaAIy+KvcL*wa0 zBpwK{(X9!yFN-X1j@6$?Ks2EaR0{Zw#{q{>lB*2?NX%BUsIR_ucVgIX zd1(=3$BHw<2I8xFriwk!24z)fAHpll4-uttQ*3KE{ROO@vsr|{>1k0`@2wyF(7Oss zhevmmDSylt`?7uX z_+d?0C?!5%J|U}*m}#D+A)%qCX>#z1+w-QbPMI`v3s%8s*L~Bq2wcX<9%4Fpy${ah7UqhB*2%rP}bd7{My4$i>%%!zVikwVdV<7#r=z3Lot(%eMe`Ou= z+NK&>tDuaUXtDv%A)!5Cmfl%~)4W|XZ3>M+<#x<95KAfx%2C>f7;`g3`J@ukaj1sV zstWp>j71fEJ%G(smdK6^c4bK=D}APgr$tS%3)~7hs%6zq-S7WUvwBw552KrxtWdTa z4$fnHh}Hg?MEMf8#0r-bj_e4bqH&@mt9YlfeF)ufsfJ zz6B#Y^nrnxr;u#md3AwbxlRfd#~;}vpO98M)bFp=6YtlZ9Kq5LUXJb)Jj!9?D0>(( z-;l=JLn{_H%nIF&;9}&JF%X@L+Ju10@2T~D6nE|1@X^CSCe2?MdJ^*y#8VTV*1}0W#yKbb^T@!+Id0(&8OwWoDa-?fVJ`LUZ?QL6QbNr zG%V3mC~*A1UIGO2zg5mWDEPgHgvFd6C;Jl<|Rzk&Rf=D?Zo1D9|5KI4L%C$#k)y|R|Lhgn76hWIo~ zeeDn_mJqK{UT_$DR;#O_Hi7W>6Lf=$r|g>*xhfIc9&U%7k_Y8X5BW1zem%c>ZqV6! zuJWn<2MGW1-#LZ%6u&pvgi>`S0ovP{+Co<(cPG_MgbVKdIb$h;g-!~P#^fieUm!mB z;|t2f-k-cN8*?s`wvy=?Z-2BX;?2>)c5=u95wWPF5*5bc6E3WdWy*qMqSW;5aj@04 zWWFg(*S&ZZa96?m($3023h$f@-9GdZDkI!?J>5O6!R>X6`S6Gt!8zx%@mlBP3-?YRkI$G9 zPnUsKrmBmVU!cOSa|KgLxTKVn3lhW4SOQDIT24M~b#nCYT@y#(L7Sb#iHw7bE@#$L zduZYK4=#TFJoPVHp0jGhm_wQdGVGPKhF60#T82db*UZ+CgKdtZO}nAOXSvt1(SMUD z)-5VgdpO~(I{4&*ojrN}efhG@ITyF`_DOK4O08L7JY#d-OuJrbUJ8ZRpV%J?BTAvS zBmHyLWz?KE4vuPD*AA73pViur>L!$ni_AS?IgEDr>Jt9PYtSFd@$WKXHuZjY`R`VP z?8L;;gpY^gj+jaq!^r~|>lQq|XILr#p}DJq8p05j_N$|Iqdk@Ip*R))l?37p%p2Ua z|0|flL2yj>tZf29E7|L{{;atm@;B=lz>l0z%&L}(H%fYXm|RqhK)e2#skd&LX!C$4 zZEf!1_Rmk)zL+I4ivCH zDhpmON%z$U_M(N)tGy$0%X|J8|2alKiM%Go;as4)AL75rw}?NDh|akjz3F>2V#Pr3 zc?nlb*p$fckh&eV6E3*ej_-K=)9PLeD$?0lj8O`EL7H7y|MV#bETHxWRXZyz@PFc+ z#m@!t>mYltj!T|?8=B)+L+sW0x41_LrXRyNKe=nn!X7e5$Ez=%N(i{Q|LI(7h(Qu5 z;Hu`IzfDXkkpTCFMts|)Zmt+=8r$p7Dj5PW&w6$zqRJTqpu4*_4*NoCw)G#DoTnesa$2o6E zOejx!a+;mj*~LcV0_5*|m0!2Qp^KEfu?pwD2CyWJ(|h^zxXz*drN^A6>AvA#jE@7s zIim8F8z1<8TTMHIf0(?m!atQmaBoUG@CC;=HQ;tir|*xM-)Svq6vy_Bctg zefYffvr9(UR9NfKA|q)1pt;*fHhXmT>((1`c;i<1JwEo&M*#r_3wiNbC#we8W<#R8 zlfU-cW$fy|Xl0}6WyciB9B4-_9OgJ_A%k&qtoWeKcf$5#IJ7tIJ!3h|9y;T+ z{q*6Fp$1ROc2#Jds1trE(!^Ff$SXF1Z?1#09u+T8CA~8WhRVNns76Lc9jL&^1yfdE z2F1sjJTbu=`0ErKy(#}KYnTu+aDBqhZM+`oPCMB@erMyRL^!Iup7{jr7ou`2yv@#k z(s{N6f?w8XyVHrUQC*#bXSxuOkeoUCPZ7Ue5%;j+C#}&&oZJ*NDNGHK)K@TS49)dG zv`KpQ9c7x61Tp^6+>qNt9#2*33|I$`%m~UlkElYoG1kV#Ao?- z5@Y^S53|#_2fg4CBx_pMtWNq9d%K|DAHA27Fkt9p^0W_Yr{(qGi$Cn>twZ74NkiK1 zp}i9+u>&nuydBId`!9yyTi8v`wicwl$spz9*7tCpxxS@2gc}Mz$8c{Ln~{}f+bv4) zENm4I)$Wz&hpjg|t*@n}W?qf_ZYc&eN1I2vc`g!ztjYEhU@%QM{B*TH{leBFXomlC_*>)pl!Pmq1yTA zLU)GcY!Yvv!%~Q*>i*?XOx;G5ghos&BCjh3wtdRh3V+x2VJwZ~3BEDQR}gv&xJ*Nt zh2qZ(0eUxyN*Yf5B#u{VW9In~>yM!_zB8?606;@!ha&~thPB`iYD7C4)L=P$1w|X}Kq*Dh9lYHOh56iXo9rV=+0wJj1-ymfT-(E1 zn3u19)2i^TZ$-8cO`L6|MLqg5H@3XHLupi|p!9 zn6q=tS^7tN#>XpvtlPxFlRL1HdcV}+ksHplm~+1tw7gr0tQe0%&EDhJzuRY zTvl&CzVOh)Fxy5P?YQk?Wq;6X(U7ja$e8=?L4{V0?HGu8c=&LWi#9RhIPb9CC>zC0L%mHDy#oA3d(duW}HYvS;^$U*O#Y?&3Y%hq35BO zB(wz8)V1ubSByOHFLI@n7!>@PoLS)AtT4v!S$%;N&$ms~IM0n=0Y6JD-J$;7g3QRa zCI20%Del|$ZGzGSKNG!x|9-ItB$Nb+aWUZ6mPa*$;lck2%-nQpr0h3ug|<&zN;(J? zQv`K0S<9AH&-i`rO;@>vCsvb++oJN)d3SFlr1Y=BpM{ z1^8m4oPa05Y31eqRnv;BUazVC)-8-;>j8dFZBtd0@ZXh$Q(4Nxs%kBdaD=D)b+2m@ zr4ZV#i4T5W55R4I2&*5|)| z3mP5}4(5#Q&Xun?)In_@mneM zg-Lw*UnX6duj>4DELm{Ehn7EgdA0Uwo#!^=o>`Os0-?GloVg#$r`GLzQZdjjPn#23 z7df-y>5a}Yl`6@P<3W9T)P9GyzOaFKn|gu$e~unG#e4V)jus?ed%S<3ldHT zxn90*tM}VM!j1*I{c*!mFHg z5osx649O~Y2Q;bstR+@cWq6MzlO(OvT32KnbZ;UHa&+#h*=Sb67Z%$`Ta9(Qn@*U1W2DeYyXbi)m&E z<791Xs3KIC8D-!@0M+7%^^$LEw=`>1EWN#Y%B_H&`h=~ky1RMc&9El0ZmaHbjv%RG zXyPS~@=De($Zod?;5dgmW=_w`$Ux4rlwuGMp$@TxM{ zWWkZC6b!WU&EG4_`b=osgZ+MK(CRs!=1$E^&fzT|+3n!4GPfA;^#eSZ_V>^8{!_n- zpLD^^h6ZCR^$>NNE9q;lX)O;@I8^{5q074cY8V+vU2ETw{^ntfwrp6MlA8gy+WnHEq(u&n*tu z+n2xmF#9B)fJu z>fW?ZTp0e}5S#a68%_AbOB1Jf(m+8Cw@<{FTE<{qXfeF&MKXWvRzxr&m*uFMAEX(y zWMctLtI#FAFY2GH@^Dwz6(0xO6c_NlbN|K91hmY8ZvPA&+Tgfcqp$NOXk`t>r|TX4 z#WWlwaY9^lT?~5#W?DmN|E;lvkBl*QIi&pz%a!%?4CoM#@X*)vNad#5bGsLK7I<)H zg8wDFRO(X3RGP)&ZnU}sv@KUU$_4p)>-z%SS8?HRcLfVu=a(WZp)+&6J`iufKseJ; zK`^Ukp$Y}bL<7^UhD`eyt1*@eigpUD8MjC`GdH3x(7XGe^{y=u%mX^arWf= zT0z1eN=U(KGVaL9B77JFJ#z#Fc&m9`xT3v0Tgyr#N&j0>#oA0@b3Z)M|*k!imau^*77rGbwv^&a~>($&%B`h=Rz^mhHuPea7=N#HJ> zlT41PjvXc7%m%4B*VsoE3N5<*IHv;#EV?t?XQ>^8fc6&cAE_I@fjwo?35Z|K^`u%o zRyb`C&{mQ^L*iHnjnv*>J64$V@_%x7J@fq%^Ciz8d#QIHx40AO$c=;Z3F>`(CDVNT zR>R%1kzB`4a^DD=-Myz48XP$1Immh;tKRrqDrM(lrRvV!!6y#HUN@}>`0$Q&;%$e% z+Y!|{=;-Tj>wDu)3=YoBSmE|?X!~HJ4LQazWRV(nxjUbZ&*Y)f|!SvIM+soLD?dJs4w$xNqu^-GNLE! z01X^>d<9ozD)wZm^%n^WktZfF8izZ@Ce}#2BJ|PQ&?RS)#JDy%z}@ zco-!=4+c5ba=!Z$!D5|W73JL%95F9;)j^Lqta-=AtDR@TqNJ@4YiYJ&w&CV(q1OKG zn=PF`*FLDH_J8c3tFb5J(rQ*(L)w(4B*V{muIK0RL46kTqAk?^Eoy#yRzvSv7gv^F zr$&!ln#87Ho01-ui@m4}zQ@W>I7m=%raVszD3pbZc3pEq2Ge;#P@i3W*{*B5FEO%s z0;A9(gno&gSfmiRKJ1*_;QpUdCyo~0r(t^7>YR1e|60v;*tHhX0_A(8M4Ny(^?>Uu zmy)^sj{O%SBR*UxjW;r_UmCy8wptDRAq+o=7RZ^>C#bhj<5uj)jt}uYY-NmBG3;351LcYnCujt?EI<~sHS)_tUrlTEcSUU z@W)iqwPWHzzD3pCHBxzQ_u#>T#`gX4Ipbawg5Ud0s)>d$SO%7?(ozmcmZ_F$UZcLc z4d?aab~$wHQF8P)00f@iUgLD$TE&Df@4i7Ox;@YX`@P%HLnZ+@^@KfLqWS zeZ*py;|~F)O@QUm{KyR}b8{gzkn7`=!~%uJw*Z}a%60L&Q~73$ion7IGyby%zYP-> zzr40#Bz1U(jCDo1cIN>E<5aXpA1y5#OPKo&dvMJ@$2syta}2<`*Fqd`gc|6F6#!w5 z_c{I-!=spKfE^rD#9!7!k_~E?Q|tUUXhHT1s=Eh#^fImUr{+x44Or+4PR0~Pq|TBn zDk}7Xw|ivc?8B0EyHvGTKS5f#J`s^Z%{t?K6Ag}G0ZRoT=CJ>=%UhopOvUj>fb=R- z7Lvfk6x*)TP`{sSN;??r9Ct5(Yqvu_l&%lq!b)r_cN@A!Oi3XU4U|}&*Ves*=hKE3 z4d)m%MALSpN&}bUE$utQ6W7^E?JY-!reO=Mi&Aq7z)`4=W4_vb;d`t+gU}NK_ub!! zsNG7_4RA8Q=Cx)Ko@XCcpk9+k3!h@g3gP)kFSm=FS-vt0a$G9{o8wuF-^*WY{aQHx zuKow@19@@i?`sOY=#em|;R++ao~M2Mq~Mq0q10CXZGXh<>2=(0BY{Q~NpElKN4%_W}l zPg>5BnTj@&x5H1bp1)~+>S$d=%5A$?pz_PM+t2JD@TC*(YXjMP=+bZPvIpa9^C^xk z=!KgJzDt?p#}e0!u6tj9ay>H7Ezf}4`JxQmM;XEjV=`XHOmSA))tOfuJYASjOJA?7 zgU+dTM+w08>sv`Yu`zJJ?c?~rZ9QS_qx0=wvv~f|{f`9jS-UXe zKawXUe>lqR#Qi%?M3*w@x8C{ACI+|EQ!by`u-5zOt65pJuG6q#zM`(qQ&4FL26TxK z?;csCF#7`tYU2$n<)dW4c>;_s!Y`#(h?50P!|oReob%j<1-aw2PR>>(ge4dI;4y2I z??sk(a?+Nm8kf!1yv*a%>~NeUv;Ef5yinF02Pn62ETS}(YV6?78bYu`W@1-V7^R$D zgc1+ka8t;SQNE0zBvo)}a_OM(o{mP@7aAN-DrxM#6oR3-W}m5~#o`2IP6Vv)xP!to=u@kjb-lP0z7w-TyUH-rCpG zhsA1*RGtG-z(RoLSWnVxk@_lja`~O&H|A69o~H4m^NO+R_?W*o?3JR-w*s1G{y`8AUd$2v@F< zsiK~df`*lf^~dsU=De>+P2KgTO~ai)kY26d!?~5PFz?sdQ z;6GNF_*k0o@0e)=E7XnJsW<%B)+e>v3i$4u)*FG3Uj(&XCTMOx6+{^l;W zyY8XSm_mY)SJ1w)+Sm9?#vM>}_jBlrzaQE*dH*u`xios*Y5SyMiPl}sGtb@`0MbXP z-_L7ZQ;agwIreP}4Glk{EeP?PKbKWR>#hD@n0-cTde&u zG0#LX`*F%=z;L0+2g-cK^rdqu7lgHh;l0P+FML!G+vT3Wgp85kT&e=yF;5k6byxXe z3<+FcqU(bqq&_Vm_1j@ATNj5|_{S2Xk(v&EJvxvBrLqMfTd5!SsKp1Hs@eE6Xa^2W31E>j*}S zR?wj4szl??pmv9VB1lT-WT9G*OOGTNq&+W+>@@V7Ow3{k)DKLuC)LV}SZQ0MBn@+3 zN_O2tEHLaeN)If_{2>orfBrSVIU&THmz9>`k#eg$k3cK*%H*|JV2R}ZkO*b|;imsmW~)YpJyipJyciq7*S zEp~=kl{L!Z@L&PM!JK2Ob4nvRucFsSy;?+d0=#^i9D^R4{$KWXOK;~a-{Z{jYE}o~ zaaYI$%M7C93(X!bsbBd(F@<~sc+0m@Q(#I~IV#R?ZP8=@E)NKk zK+x0(tOWQ)cP?Vm6`u{kWKmajGwEX~mA|`lEh3;tyoOdauGp#DVtT^aqi2nK?#Ko# zeKz-ZZDF}z<}0%CTaQ>bDiE@X_1s($XcB+vIr1SDPCaEA8s*Mfc?uq_Q7DcBKUTA? z6D{>I;nTSHDAs)Z!oP!^W1Yu2yM`c4=&^__$4J#?y!h;#SJU(>^}!CM;X*7ZM=OSx zQFY(J5G^cwMPhApq7=8;KrW%R17WY4!r83$oRC`}y`rO=z%YFwc%$w1DQLC1|1EP6 z4s;v!WoY zh`&zmyEc~o%*yZnZC-0V|HFBylk>?}yoT3cl;?aJ2VcxSwfC4EeDi;j&6& zlS>5S=bEKIC&5$-@8;fJ1nli)b0Ta4yGm~Q#qJI1FOU@Ou_TV{K>=((#lGTw_YlFK zc{Np3HWutNAUu=u}d)hmXXrlmpX3d^NuS=V3wWqAoC-T z?VRlY1(lCXuImX?%huW+9^;)Hwv%QqCVOOiQ;aLt+GV{`dW^bn>q#yi|8h~o?Z<`7 zVq=xQYga_lCPz~ljP2?>g&)mKj;qmDOm+0sFNl)gVM<0n*o`>qDl0a|f^flCgc?qc z=*V49%1Gy`mr=bY%;RP9Tv%@8dfvj5cgfeN2XFbdR3g=_fjZxNK>qFKhP=aZ=humg z&mf8|2aku#2~hDI;eTRThANaiK$~ap%!M}3E-vlIYl$765h_O8^NHM)vp8>aJAl%*CurS$18OsYh*+>Lnb=7QrT)PwdL>Trct^^4Y<%&qf$c-2< zBxSWfL&zzLU+i?)N^0r5JQC+D8I(UW%!!WnTu6h7zPyhjkccTsofb&w?uh=MZs`R6 z%*#5&e?g^7)qxL(XyRhjyN}9qOTzM)g>k>b-E&oIUc=}Zfdd}JmAFl5T@|Jh2y=MvTFDathEp@cPGNn+(J{3gIY{9e+iUO8*>?L z@00cG77n^#AogMX8GAKqFFbUmm2r`SORj#a{E7HLMh%BQ7z*l|8dRcOHNE!8pF_{2 zaG%*SZRA`f(IF7F*uiJS?YO^DITR&wc_+o}pJ&H^oCpaxHGh&Cz;ygoQCj2A`kD1K zTL?ymw6%!ibm{lwciI}brYRLNTpN8A(pKwJeLdA2<{}dYS(9Gi)3c^vwKj$9SP>YQ zrMPX_R}}Frx7M}a$q+AbAC_-+PgKfMinXx{oPG4rP8pO!`b%*gK7%Gv z$)Wr3-KXB7AfT6eesumedZ6sBp*c)}emHc=RM< z5|{uWIGPqMOd9EvAqwl^v|o4(N9r_u?h_88YI>-98_FI{>E#y0=+wZbZ>a|@B!_t| z0*rE=!jTWKWujom06xPcfIY-af0vWyf+N4J(~%>V7xO zcMlymED(j+vnJJUN61IIMVJV#DQl;|6c*BK_f~gzieDVP;#B zfvm;%c=|{TY~5`##bbS#n|j{(bdJh3rv}M4<0_l6M;7@tfKO1TMB+KZil?jDFLFMr2b`(CW+q*>d_K1s z-Sh6^LJx!nr|DB7)+Wh_YXO=GPM8v_+{$qLp^uuU4b~#Kl;$`te4wYO{* zF_P`r*Pljz#h=&EL%yTO@Y?Ox*>@HMo^M_^*j24TT;9Q5&(1sy8A#oKFdxnzGLV@f z&=i3a*PfZL-y65yk<=%3lEa$4l!F;T0(YVNVz~+FlaP;BQ_v(v6GEmMQ<$8bOxX8WavpSMGXpqNa z%e-e59R*z*>t9Q2IA?5ED9^kjK6Tv>DhHSX19u65TleXk!uH6FZ8i0VNdVg{#m20hK2${uO5C@KFUsuCY9 zMa6vb21CW@aMK-Fcwh!R_b=!c%vo%bd@* zJ?@z52rkv|6h3?Qda35HWdhf?y~hPr{`$zcmkF;FH`|BXq&gngz`2xMgt=^qQk*J4 zQAcM@1nfMSYP-u#DMqnHU?}ckfD@UZ)(TaaH!y0x9BCgNH{DY&5;$c5EoFBX@U^Kq z`_RkcTE#0_z}If9JfY-x6Q8ly*5;0AlYX4U=%b>d>TAaaP7!U?UyQ%-QWLi`l!A7W z9R!w$VG72Y1>!O$qXFf5@3e$6Iy+^aZO5ebl&DKfBLj?_^M+h}dcD zj-qYDtD^XM((eLJ8-?eAE)PBcgDrj5Ge=Z}AFE1M36kR*6?yj_weclZ!0*_P$kvpP zBIk6h^V!#dXJOSwaC3tF24S;ZHo~8a{z(PRS+|n2qa&|TUc~cKLWkvFm`b=|jOSWv zLWMjcuUd^wJ!|Ke)B$cYv*r8%xSq=M`87vl*O5>a}CmGRLOmWlcEO9MoYdMOS%gmYcYZ4h~VQ zs&z4&=H_)_b9(L6J@P&4Z|#ar+s5SAgU{yW+?c7jZr8Z9;v@SxCQLJ+XSwmH6RH+4 zL{c5n`RQ)It4kwFpRw9HzSfR#>i(E)1Ai!^4>X)UQ)&rzrk()9>O_Z^+qmD}$Z7+S z?INt{7jO=0L-u|$z^Q=(rLpZ(v2802^#z}*)m+ulUU%WzX#?n$hC0W^V2R3 z{U&9xX0#FMbI$HR;RkQoGb5?7ik5i*%JaPU{J7JU#amNg$%42GlKF_HtTdeQEd-n- zqL=Oe5Nn8f6x?ZO8*@#`Ybp7bYn52|ol&Edg)VztIZ2C7Sc+2ku;vZ>r(377P6vq zZE)Hh$>smmL}G-=ZAy!IwA@3EvX&36rvE#YJz9Ba-=dccrsNu{$;tnrJXpoQgWGZ! z5kC((0h!;w*tb8pJ@kpjW(;y--xF&i^rGn@#V}%Mo}&8cl#pxp_tKVQz=&xZW&&zT zHk?%V03YudvpK$k2-xMKn^-R%BtZ30oLgu(^_4VG&%&By8DS0ye#WjX&ggtc7c}mD zD@Q$_6TvufE@0sY%Tuhe)0C7*7nEHz;6H1=Xp$X(FaM|j4>0<#Kt6{wIsyRcD&Ip& zSPh(_CSwlERuEyFCOy1~tF9dr8e%WvUOVf5`>xdgubny$8t3!apdcar|E?5`Uv@2) z*0UzJmRM^TcVHB>suYzcwvUh!CREm z9rU(19Up2W2=X|f>di*=gx!-T7>kx0=3+XMurj{?hpzVuYU+#IMnQzA2vPY1Qlo;R zQX-&1YD7dtgs4a_kq*+N_XI^mx&ngKP()OE3!TtIQ9wGO_Zm7OJtyz`op0vcoSQwl z+B?atS^HT}`^AdG16rk{Yu_@d6z_#F@0Rw(^U!FJ!nMIz89qr*TXA44s(+O|cJOpk zXEefl<3;yGvVYZuHtcx#C*J0tA*K%&jFhvl7Nn~XPwRR6x3+3-h0(TMy18tAjPL`+ILZ5)2VwQSi(*=s z?Ou-Hwih1(%Hp<9h%8swfQRs<$7=2109$deazX+310$J?;71a6d(310=KL^yjw#(! zpLC?w{-9x2$slZmtQNWI53-A$|Jff|=Dv1s`hQsL()mk(_3!_Ofp~kZ1@Tk$OXbvg z#%;cFpvr!!>X+&axokN(7DX>ZXH|zk+m%23?_z$TyoaiG9pCZ#cn6F>q5tJPXon{!el* zDe@vqyyITy8q)t0$iZ>{v(DpYw{8;nvM#->wnVZR!Sd;YLhh$xmk`tW%6*|6HC|Hf zqt`mq(=Vp(Wg8fky!$~;{u2h2k`cdA&c}J3?kF=cB1!1Yyo)W(6+?Gizl7Y9x#4Oe|`4w4W^uh{jQNF(6w<1%&_>?{0U}hxmzHy@wKt*%_X~^0;4+?099m z)I71b^!~} z9#PKEiB$kBMPe(NV67Ijdj3qDV!yzv#%-^?oOGc6@z;DJHA0%u=Ff;geQ$oBH*1hUeE`oLB=NUz4NzDck*YFBH@#^^V6q(zkD?__!>d zm#rV1OS!J)qXHU$vK^EVGJoQ+E-B4ymaJLt{(Sm?O*QvjJ0GV=!1=-d;2T!0s~>eR z2wK~ZF8iyB8xlr}as2i95h_1^>B*RMh7xp9YN{&a-lfz*_5+IpBInQ8r2NDR+nyB# ze->c{Y^_z-9-0;Cq8}p^!-`#WkD8j`KPICLKWI271RRm zC%}Mb`kCex>tBT-;}FJm5Ehi-@)QWUmFOMzAb8L*1rp-#{TX+O7H^TTDoXfi6ODGJ zKIe!>vIO_$GZV$t7Znp8kaKjng?(-H8;4*N=GG>62oL#8K+5ghlewoS&>%RBB9LHG z-wHayLf$Jfd(k32zLTDo_?)69e`5%it{a*V$|K`9HG(54FPamucSoh<=4Z2$12JFA4Vh|DkN1fWvAX0Pad8&IaBqCBCrT^>kiSFOcpz#8#;UVmz&!sdv z8J}btJr_CwS%=DNX3VjSV=X6Kcx2bpX+G*{M`ed&rj`4n^F`cyU1~SS+bRjSJe+i@ zF?ZT(E)Hw*)pt-7*Oqn}3qM#+PzTywYFu6nd)z?1CxY=rVgszNURhr*zOLr_pQ=nW zf7-f-Uh3JafxfBrZ*NQbz5FZ&0NAd{%G~*mRI|Kj?A2AYf&7!_>02@i3eIS87!Mb7 zmn?61812<7UJ`u0KuERsI!_;-+Qtc{CY=S`Ayr*|?(p)ZLpiJQTWzUtEZ({{YCZb2m{Fek5Te1M%8 z8m35)jk{R?3tQi+En#=*Kx%q9p_R|$v;?ZB^_S}U$GFnvL2FBI*4$RuTt#F>&b0z| z0W}gg(p*cTeoshrbm5{*S7FHD!pg>t1nN7PkcnKWxi1$(hwaaD3xys%Psw_)2kkD? z{wLGB=Xlt`{~+)t_I~f+6C!VoM&n?G-JZJAbvEExL4rX1`u7-j7Q5v=eS)<`TOOck zc^*>D_{VzFcb$EYU75)K+%RYbbbpyi-S%K=Lk7QS@zK8-p>5Kr54b~-8Wgy1H?LVI zCrvzdS9g5*G>YQsVcpjTNz$|31gF(yJH>400*r zIq2pNs*CQ>co9el#=%lmvLpl(JI)Gvur1cHSl-{iS+e)y#<=;16uD5{zhG~jl)Z%O zfC5EUkmuwf{NO;JCWWA~d`LkJ=KS*wmAk)wz$t9k^Mqfqwl-w_vo7;1xwM1RysrTU z4THZ3*R$BNZVvHWphqZqE)RY&fak)|)`;E%kU)ZMhgMvX%S$chvGRI`|A^?ujrb)E zf#*;i(1EO_S|W0YjJhwM#oF8P@6&eYno*&Br^8FQ&Z>%8&g=hRIx@5slg z&0k{tzhdR~Jka@E;@FRZy>mviz{`R)E4%@aj<*ygtcw7O%tlxWGWo>DH6vux` z`jXs}xD0>mMn2Y~ZuEM&?($0X(UoZM&{c%zLKU%UH4MiF3>CftFK05WAEYnE$K-+# zq)Sstmad{v02OgQ56|ke7VE4Ml%y|-QgzfQ8+KIiMG;}`;DfNgkA=<UewS!c~|;sV?zJl=8viJD5j=mS^|xnY}Q6U9}dNfZBnvsO7)w zl4_*#61tXN;67`>+XDbiygFPM@t|4%BUGr=Up-!3;nNo^>4W9XBPawUoZF145&19t(s0yfy0>THr4DI7NcGdjZDyH|Wa zpEg(FdwbQ1QCdfrx4&C*IV=YBRxmyWe2GPLkQi>nf`nKeYO3@?e=`*^*~iB6PC#wf zg5o#vxU{0pI< z8d@AGfjONtu-P&T6NBd{Db`o0A58jpo>#4q7Nx4|Mb_g0z>0mQes^G8O6?)A26coX zPGw7K0lcdLBDsZs7u9c|Zy|^2z=iY33LEg#X&CcYccAE3m^TeL20}WbLo(e1Zi|F6 z+SifQUt}K+QB#1+d-IYH8ag;FZJx`1h%eWi@{v9jk9%se^rgbvEshlL&O&D0NZFmA z@97%m?rGs+O_WiN6kZCCKD2G?`c{?k_%++LvQ@om);18&nD7m?$g|xYG48XDI;y%AQI;0vXGPrp8sUf{Zhp7#G=Fy|Sj9>a>ah>`hPOnFuZJ7;Vzx*pt zzYZ5B9Gc<15FdQ%e|+gWsT6_Xi(8P!0k(#`B)^!^k9_=y^8(KUoA~-M`L3i({$2n16uS!A2&V5j3d=zR`V!hX z>_&%4sD5Oubk{{2_9rI{Z<>R78HW>C95#ULi8Wt+QqL$@L*grABA913m*O*3)9)Oo z!ie18d!74oT;DAI;8E(X>?*}sTq zxb`}iPPFBUj^$sFKii^j)HKo6NY3ItnjDLw7RD)k+j@LTsnx^LIx$IgvrYda>Lz_SMfHS>&5pac3&c2g4&gcQR zg?EubIPMEVosVR*n|;Vo0i+;<7zY0BT=Y})MAeQ2Yj_2tFy}Hb0aSQbeb*Bu#xQBX zco4^2Xgz7^%nKkghO_JR*5kjucIb*B=;vPWQTtA^DnmL`4mWGUEYofHPfjI$KoQ4N z>4Dpw5Ho`^^0%O}6!B7qk4^#3*@oW))vPMDw3IB%ddL3T!0#}9MODW2HAcg3GsO<5 zBd}nqwfO#-iib(<@m~wwO3~g^%VuHdz2f~JweeP`aR`@Xn~85|b9>e}1=;=bE7uiR zO=ZZNe9cbK<~QF(eCY%Db#;-p-0LR$3U^;keTZN%+arBzuFjlm4_5=<<@9~ii>G6? zaGgQBt`^Z|ZlW|=rVWgxq1g%ny{ z82F;Xx%oEO-UJ5|?pCyQy0(FO-sF7%3ezhiyJZ4NNoRuf+D|o5w2Y?O+WTu5N^h{C zVKDS1QlJos>;x2=__dPDrfP2hK`e_ID!V8Mja(<0yq&xbzvovpqd*l+U(Ud*gwN@2 zk*_x#REQO2PO+A;f)xVOD41K^2b#2el}L+&o;&z?>kG4kH{wy`2y;mHm-ghNq9%qU zzPJHg`Quc@o04zeKWJcprn?`#X|R6Xj;lKZ@nkCMfLMypsn^F> z@c5lyQza*P6zo4~R-?fygDX_&pC&~q=c{~WG#c&=C~Q)V6lM?sJv86VQiOFF4fl}# zq+l`1eg1Na(%cI`+5lr`K#N4>&(LKsEpkyz6Vbi7s5lqxVbi;1tpyiGv`zPJZasY4 zyT#yMVLAj~N9@+7RG)<3;NTNw=t^&mDvl@nJ;@@zX0>%aUyafUHbwacEVO(S zeSo+JSvAG>hZ~}TFN|ypsohFu4jso%{v=J|78-nj2p0&z?}$q)Xs5NbllY*62<4~;Oi1=;Ox9h=%qy;i(>D7!K4|O z{_v2qdP?HaCHKe}>-RLT_Y88Xs{2wecQq~W#?pVv&PSN3!YoqN46*+;W!8hH5u?20 z8#fc^9BUv0cjDS%0}$>}ppmE4SPyh*d9v{+;`w=pPrLT(4F5#z4MNYqc->2Cp#TZT z4aV3Sh8hN!O_oxGoEDS^)zRIfS_A(g-GTV;Gk-Kaai65{d9F^3LhLZzK~46?WqB5# zl^Fi6xK(yL;!if_f+e{9E#E%YbiVB08IU)|@TNz2oP4ohNZR9?N|SIvH&V37gf#Yd z^4H1t;W|b2PQa;4H2CwODWy@gGqd#6vYuW_U%0SkK%kyJ@t9ylEAg6yxJH!Cdd}vE zh-X(H!p&%?@e=WvXq6K9*nNh32YK$ft!AAjBJY#@6ehp_Mq4H2iDGo zjGwB}0WI~cE>9T%_6-zMaFIQQib_|0W_;r|&o}e4jaSSkMv`&Sj9=B2&6Il$j2{Iq z2SWom2c_$%_sh#t)hSGWRaSc0h|Fz##H>TPZrd>g=_)G>w>T!!y z?&K}bN5g@*;IMpjE7Efs6fKRq)5=F`Rgl2)cRyxSIq%$TIG(&sX_NWt%dl~;)tQ=d zV)&r(LmqLe-V|qacNcDV_GXy|m>h>6CDzZ7&8zX_?#Zg;X=`Qj=MsYHF{^KnY*<_F zh%r6cf-!%tVXuMyA#&<sn9%Or33vc>an_eH?1E7|nXDbU zK4$Yk0{Nd~c`SL&8G`xo?_AByDEDLolGvL%m-d#CcxH9^74G|s(#eia0|X#H1@E^$ zi`J#f3DL$L_T9Q!SwJ^*R~GgD%tesMU!t#CF^h6H_F)M^pid)UvMnP7HtCK;q$neNOU0ol( zGsvyR0b6slAR9^f%a4Aw)_9mO>Jn5>TOZ7V1Tcr5D4FP4=2U}as_J{+nB6vg{B0M9xexvM=w8JI>{h>SNxJ+z-{t-Wi$-|b6?1<2FMLc^Z(HhMdup?cP zfGrSooghURTOCUU&3`m<>E=gQrqIb5(mp){D9>_{O0)RY@?NWlfZ*WaE{)X7tW+0q zJIB3&;6uB@`$uMk*cHEtkkV%r1E?zf!yMb5q!)x18f>EI9JhA}-YiAb4m@+@ZuadE zO(XksO>`3K{y0OZzhW{^@FB%z=wAC~!lxPXh;pmpxN2PWA#8R|iF}OPHrlCP`|Ve4 z!E~f+S*ANFGXGRi2C~X$z)8T1s2R0(1@T+tNWcq*H^`87EnK;NRKQI=1(iVR@V|`SkH;)37e39*JgvBPv2Y; zW3t2DViG2!3z{DT`=~JTIYIwRp;FoCO8}Q)zG{7sk1+gI062X@U#j&N?G3=E^P(`* zJ=Y4by~&oOP0S@;kxXyv0h7d4b9I2;?~c0Tg7qj+fh{M7giW~Ycf}l!KL4j{NYAbz zbMYI0lvls3Ub?@CrBaz8xn~}q+DB?;t3+walyEO~B1=y@Pk#cCw&9jOkNvcmqc!Q* zj0p8P@|Vus%ZT;gb1ghV8a5_o9%l}_WJ5RP{YKab!JQ68@JTVkbPNqYgc7#%8J;cs z0#voj@9#A^$UtSd(;MTUt!DO&eJxqhpu7>6h_G$SoYGJ||U;)5)w&((Gl=CT|n6D!X^Sn$=(%;NsuIoFn_xWTes%cdp6!ilvrg@OBO zK{FOOddo0ABhR;daavG_G7>_Vm(&m2jezgTQ`)#S4OJ<;Li^A1Mee?SM_Vz0rkKGf z2Y&sPO+g-E_T^2%YbZQQpZXvEaH$cL;l!q6oVZCmo8!C-hzL@UU zU4u^$Lj%h#rpT~o%z# z-Y)b?lj$~QS@>&vPD)?4S2S?*R?yME2>ib_2@__!y8dT(yJ3dwz#ovc!fa4O$jQ7S zVQ+o1`3c^IpEhuDY%AM+O83OV84J9P&Um<%Nl0iyAv0oYy=p~}9js_76j>us-Lv2| z6b&;=0SmtoX|j+~Q!@VIb(0fFk&cT z+yW8!@X+`tV0BHzq)dzA8MOUd zxoEW;MZE0a;zs)Wg0MX^j;rOBSwp=lDzbFa4AAu;_?<|hmSCf`%mAS^Qpr9+722F= z;Y-ORVEZuE?sWW(AU|!n$14i7N5XqRcz0wN#C2g|z_u4(oWeIzhuv`iWcgRD#D+{h z4RLAFZ}2a&2s(kfbdxZZfX8uF4eqpZ{4~=Kzq6t>iH_htl!Z*|T^^Ygl;=V_#tm@R zn9z54e8(#leOFw?@Cy;{HTqsz%@tNjc zcyJr+_!goYek^gf_f5M0m;9K<^(0p7Q*q5~-X7OY$S=~t-Y(a4xT_$H94D1Lq0ji| z`_LgVlv!cl_%;cgo{(Qc=mwKOQ&VO1fe*&n?zB~8pYRy&3aC3gPxlQ_O;RQb>P=kw z4r!IloPQGa#qqZW4_G!^%53jB2UC4_rWeo#h)>p#N(^WPvj^y^Z|C?)mBUW+YzcCH z&anPF?)TP2O7cYF_>6l9SilNMRy?G(t!;x#`?;JgdRjELjcVo=iIirY8=Uv`r|V;`W(!0qdOrjJ5636GS|li5t|j%e#BC_)i2e6zca~RxP0FV zIDZ+y88$meL!~Rn#%?o6$#c)`8KR^ZE>Yjand6AviHsL8T#-RD!{|@-m%JZS@ytPe zkK-D#dZMqAGWes;wfPJYeX$eLCo^_X<>E|L#FCeq^Pd|ko=vfWcmI&IaHxK8x$;i% z@Y<`)Vqr$r%>MEt<+Ze_3_|D(y>F=q`Sk>m>(g18GoT=GfK<24s1y|(h%h2 zM_mC!4*KC{|0?~a@^)oB;9kYqC4VeKj#Mc_$2F5a@F~Tr%(~W$Dy_+U)N}G&U!K&$YusCq}u-aVD@8JC$*Q#_)QTWfq z5x3rBgucY|Q@_6|tSm?kjjz&$Z%HyD()zmx*YPg<4FhDZUl`ms68$J@?&kyeJQu&s zD1z5~u@ore98a9VJ5ak`QG~N@n7FO<(FTW%ohpAM;}#9*)ukUFZ+$j#gfWgw5ho#4 zyuLpV){qIX%X>U?#y9`L^x9yd&209K#~F5Ner2P7vTRaYBTVdjya?(7sQa%b+Xi6` zlT__Q7d>6~sk#pEL1sdtzKEklFiHL$q_83a{|pouz zC8~)&_N>qoB!@T@OH{ml)H)Qv*@!fn{Qe9^*;Eq=KL4z$Gn_K2zXpY@cEax;V}0P)@_e(Z0D!R!#BDSdr=Sj<6dxvsCNKz7#Wqze7J{4V@1i zWU4eJRZV9RWWJxqDx*rmez~rd-ch<~uiQ|y&B)|bb2mu=7@}QrEfj^MOZ_+9cCe0Mf>@L@*!&y_g7|B*yQ^<9haUV z_GWHjd+hoCN+$$Innm-U+nW{AlaWSn zTx_eqSX!DCZo@^txx?V1yRv{pte}o23`y7hT65(C=OA1{PoisY+a+cCvM8aoaRni7 zSEqaIwHAQgwTdp#tNK;RH~G8QcG~W?!$h7K-O($)VFXc+{330hN;SRdI*!oDr~+LC zy)>gh9Tuj|`;mw^%Y^bU#@bWmvcq%fMlWoeY`T(#lFZxS$i&Wxzn6}LYjby=bR2KZ(#nF^`J!8J+vAyFE7RtQO~v~SF2&H) zf35sQyepE$h2WnCeYe~5B94!%7gmAwot5j{lTYZ7dh!-8|w#Vq+tR*`21|`km$7$)3Y# z*%P0L)*xdeFn^W1LwKwKq~;HQT?};p!zE;cj-E|dAVKI&koO7yGqZQq?kUdEt1@Lu z7{BF|&xT9j*Y>SosXch+=HvijvO3-U49W17x$Rd@hpFEB<%f@i*!e?=?+1iCcr^-9 z4(=Ee*XtIbN}-a&wYX>;$>@Wp>qtYTOME-oFsh#iaT~UljP&pHlrVTrIm)bv9tOnS+rgw9+a6l=jaB z^Uv7Q{$5OqIYSgN{4Lflv02;A{DOp|%kKvjbz>7B6lT$ldKUNr1*+NiQ_yJmzLHF+#M9kM^-t{ECde1R+MtbCE3*T{X$j zRT|lG3D|g0;3ALk)?iKFdk{@gk;xO9`|>V@zSi{ofG0%w!$RKq`0d5`y@}kCa!Jv> zb;IC6b@**al!%JZ7^BCygV@OKBgPJA!o-3{!#pt%3MKRE&vh+{Z0oVR7;1YpZ7Hm3!bIA5RdwCjTZFFF6s zs>mhs7-?Yg%Ycti?p4~%9Q6vaKcS4P6Q~chFBhOx=g&-)PrwYY8L#o@4%;HwY<5Vg zss+L3zz2{uuEWPm-8EB)V6Zb^&*g|^H1m9 zYjIIR9@Ewo%tPdMZ_*1qwt(8E|QyfmGU>g6cXF zDj2xtsT#UF6XaKMYq!bW9bZxCFYbz~(Z}(U6@a&khDvqh=&Zpengti!(V=&KSoFi6ErTj96`YdH z-YNgJwFw#qC|06sRKhc-j5>wgF zW}h#!s;sTJ`2{9&+~@;ckRVVBOUu)>rd`@gn|qs)Pr4pADfKH121{-vm-}_~AEoog z8mclvCioOjjU$V(H;D4!jd91u;dA+FO=^?`1zR$dz+51n7N+RO2;qK z-{d8xHCLUP!p^wvk0D@^E<(ZTs`qBqE_E(esY~o;fXC#n3g}IL|S3r^83JL zNvKz)FS;lne`q#bg%{*z;#7>Ev#-az_!`8C8|QczJT?MI6Jn3J_zXuQn#`YUtgn5j_)HzJg`b-Y!+qZ5$fmG-r+Dmp;WYH6@|5i6_ z=r#diL1vNe2X&(3!ANQf{q|nz?-f$Gs?ZHuI5f?#gHQA=i_ce|*De)}{q%w+mXJ&2 zPM^)a50*#eq%O!Zz|-|FlE|yGp~bH-S(eu>h$sxH$U&b40`D(>=dqYChov3^n90BU z8(|Uca~vm_tv1o-+%P${9QYuPYBbf6XO4J*g>JqPqHDVkG1y!A$h?5yP?Ybj$LlYZ z^Z6}KZMR6GK5L=2hi|Y<9RQRP-)g@%BjXt{BC}Tgdr!kc9;gm5Fq%VtxcqL-SrbjVAk}0 zrRh3y*N?hDOAhhvpTNv!Z0E5XzuAp7wPp+Qslqk(qYE%k7kggl-i5Xs?AyjdWfM0B z=k!Rkj7g8`fhjz&@nY7*Y!V5z1+s>aEu)#{qPY`Qz8?B6=nlCchl}3hq&IUZXtyZ< zO;eM=F}Nrh25|(5$c*^?Z*cj4tHn=xb#63S-y;D`L5wTS42MHkGT^W%=X;^g_VZ;Z zslE*xlIJ6EVA2OVEYdYkFh99VoD3ByF7Zf>rM>nY7Lc?F@g1n)SB03*?H_laz%AZr z1brnkAFo1=eGcvBshY1L2e{He--iDW)=JRdH}sxwzf-K6tob#vCl~v^?Nqyc`Y)6- zBlV>=T!ulY06Jx{8n=Y6P*%lN2Q&T-MqHh6;fXnL)XP(5P-#2Dd2-Rq?K zr(gQs^fptrcdLX_5y_c!TIm#|`L2VKcmzilo#nQncSRm|Pj&iZkbOfn+)gt22E6Cf z6c@+`2kUP;J#W?!!|*2PfK6kk{`Tw_q;Mc+3FV6_SfmB&g2xgAF8y@Z@JNeG?FJBh>@DllGV9&tG?{v)s6yov($hMg zP&~4Vn=@_`g_N;N{St5)r%{C|!=*bF&{(;x!JHPulA>~MWz+??osqRbVJgpuL53*i zF~jb?JM}=gVKwTaFE56=!oLH^pm0tVXjK0#-E@`!4Ylvol1%y6ZM3q=3UvLsB)6So z=?Asu>HFj-LA1z~Pm}!p4MXI6QkCHbkx*hs=j|n4sHCK1djUsVPK3vK*VQ0*%J`^W zMZyM;O9DfXRkrfIn(r9XS?afaeroC4z~tBVW=ErG@0wVWa)JduiF2T;c_soE`Uizy z-Fk{&=EN+*C6Cg1=&B*sFDnkm@fozz8fC^F04dt%-sLkpjtHKdHB_F%aIC{_k^IKn z)Wh2!`N#FS`+KU#Ku=ki=K-^IiI0V{ZxOb37~(f_EK0N#E?t&L>l=Ks&JGiR-?Y(M z8C^wQ21(O^AW!01sP9e5e%we-DF@BJBj2rqyC*o4M3AVsJ&KV(}5Geh+Si!8wU(|ZrY_(S=dD#V!nCZ>gZ zzjeZ@v17@^>xm7Z*_$pwftFvh_h|gYb1RbpYC6W0Tc@cKSt3}F)-5RcpF6?dEPM$M z3N2sRNYLJVo1sTvB=lhf<{ePieH1i`6$F0kz&`&{rB%0aIy!@x)j_Z|_G#@T3*a?d3zHRRn`<q8xjQwZ} z;AtV%bosGR-6tS6aEgRc8}m&0Q`zc3Wv-`v450x9U4WTTE;hC|`~EYbn2f6zOr69v zx6-}0d~z(tJdl+B0E+3rOkCM!x+r?gHs+YZDfrZMBb>kEe_ZQ5zt@ApC8K$W+x2gkU9TH* zJ1$S!l?Xn{lgipQS5b!2iAyP4r@}INZe?dI`ISU)<84;-X+}j<4si6n&r{7cTn7a= z`3An(>Uh?azYC%L)5JKNn{V@L(G4=v!sT6(G3QHvPH~T65|Q@`)y8q8!_Rf$0%mty ze}6TSfNNRFw!7(3EFnK(*ww!*Le-M1xIeriH15DW-OT$_&`#N{A-|u;y(W%44${Y3 z{5mds*=~k#1BaE$A5*^xA+B#x!s$n?&zz590gf(3<@>-HM|mI}q+D)f;2-mu$yU4p zBHm6ceR=p#s-}`lc%*N4OM>5GUTDkEWWyWzvG>*9Kx|yVCxFz&Aly1?KQ*CHz`bLMg zktP#DHaU5SIXgeo!gG!D$1~>iT+=MVd@c~W$3xka&$@u~-HS6cR-5_p)d1q&;zQ?& zR^AyI7v%q2H55gFv`~HxQGWd#RNy?R@tplHeQB58b8FK+jKdopwc;~Y!feo{@t56R z(?bvC_jLZWe%N^KX`tyGUdbdJ>Cn`_JI&AUSGJh(72-+`cHSPul23|iHWJs!T;s)VTPLJBPt!|I=u{BhTnTyvV{aXSp#Np&EZm(yb8N?|!Sm+J56$1-z!8i8ft zM%%%w&|8V(VY;OA7{}!iCouU*8l$_zds5w@hz%4z^_h+}Ix38v#5?)W8?F+?Be>my zWp|^Z5=f=ZiHwna9mH+E5j#``*+^-`zSF?FM=bq+yU%*=jsFj}gQeXj%q;OM*l%p1iqcgi)Wb*@j8+}SIZ=@s-fpKY74K;FqH-a@L&3r7pwJ>0gF zJZ;Nxwx)B2+Bh=2NmWH~H5aUwrr9K}6)|;I4zoy1!<~YVoKXtpLft+6I+u3_WXqYp zlX>m@zW1d>Sp6=Lav@br3y-=tO9@tZkMzK4vcfJE1RX1=`y36ebU`#Z9Vu6f9) zryZqo7U8g7ZVj%~^Aj__X}_qapj(E2QMM}qQzQWLn7;Ev5yA5#^H`uZv-+gq&5u7f z4<#lOozId=Xz79J6b#$}Uu)xMcGssu`giXHw+6thpV|W%#=f?+s(B!Z+S%>=<>ao+ zz3JvdN1%im;W%6;q6BWf;jrnq4HKK1+$+>O8h=q#)) z{VY5xAb1sPcogdjL)!<|1g7jG-XWS^I2ibxMI3az?88@N9`C+uuA! z3aK-o|EF613vMrOFMZ_aQjb#RLQhw0K!QvTTF1zL7&h^$gmKX*kF5JFl@}6gl54TI zMZX&GW0rfSo=TbK{=c?xc1zE<4}3+JPHB+WmU!RU)|fU7$j0|hDk{8W+4DGsvfz(v zEbiFg6J%zCcw!xsIukRa9oGJ*?J`9fK0*EVP1wylr%m&Ggg|Jg0jH9Wi1*FP%al4S z@Rb@TwGi^>vVZlHaizA>nd0B|D>Q-JR_r2HlQX;hvYlh^{#k*y#9IQ*FGreHcPpN_ z1-1Z-1HSCTpVTfipKLck8R${)Q_E8yMOn;nj~s!nDWJXQ$uhH&r+|SgVshhe3lVAHVaDW|KLyj`!h|P zjtgE9a=jKO(7g4h?-Q-TtD1gGfc~?oBYzB4Z&l6LFUUt~@W?9TX$~pzInglF)73l_ z8>y`Lsf=Ex3E^b{>yELAq=t!pVjKIf~i5K z4$IY%#pWx!Nl`d<_%wsadjj&_?uBo3f~exG>m7UnQlJ`kr2`iKNy|z`;(lKFJJ%~4 z4Bb>l&$MF$BN4(3?~Ygo4>s~}qec*()nRf63Ga}V1mv*Nqap=c`moHZ4vyh+PkZhb zUk{auie!Zb;9YJ?3W2E1t2zG*;&x4H(8ekb645^T6}?>)y{sv@q_+4SV_juc?^4 zQ2_eW8mir6-SvH>jop&RNHKWPiU}wi&7(_A_Ys2J#Y38kjh`p@PwVw-+})7s3Ig|H}u|WoCq9ZqMAm=Q$8@cjM~gb&i%wtC6uAFzKJJqU?o)Fs+iQ6mWOh zty8FOiT$ghq2ABC0MxJ)xyW67ZnWRxPgstamXr{czoGG>I!B{_QoB|<73r_Q4MkdR z;Xhk=CoVSYzD1HNqj&4Cl3zEu<=`Cut-?SR{Zn;%myppneU{L=`LJOdH@Ze9F^xh!r zhQ{M#U_PTMg!rC`{xLhGQuH84FpL6CP3d@X>wg&sz9AB5m(imOD;A0xCN8lZsqW~^#j@`Khd^=YIBe9{4ubpNomLx$gZMko^iwVM5g23 z;WSyDqGI#)NPC*0m^uQ<{AaYw$k?lPhc~q$evocw0sR;!m3eUaw=>zKFT)`)+|xQ2N~b zLO!>n)jR$N;ONuno9#ku{AAHeEA1Au2DxV^n1gv}jc`ct2c zlr=T7CKd`@o=7xyivhR=LX~`f_QBVykc9-KM*df@$!2`Cn<-lbu zCw$g&rXv(~R;b>C73LBlr?&MNpp*|#@!5aPA8K^ppMAde*ENwgF$uGJ;to2lF3iQM6 zj+e69%w8b-Yc|pxvG-y-z3DZ<;o7p=Ysh-Kvy@}(817Ojp2@85FmRQ_G^i>ge+{!7 zrqd7KSJZIWKBA(`^@G2yF^*RCg2}plW@4v$e!?48zGQA39P^f0O>eO> z=2;TclIV~U@b2UPefv6~0tlWnRiA*7!onsjtscg&Jw`N@>ujeV*G95{wE=pbwkCJI ztqP-+Jf(jt#cZy!lIOM5I5xYV0Pb!SNHru?ztw-t&mtmpAbW)t@BKs+F&XirfPEQs zz(O4~z=CC3=9dxjNaY>o8SWx zi;;itq(|+vGj@(-lxD|TUD}I$bb*2mX?{_E?{VT(| zK0e8^h}&A{=#UI@Nm~!&#yqeiorW?;=~;(TLsR5fP%I`1w&BdD-rTx#D`YPc5H!90 zS{-ZDlcNt=0Q^5>eFadQTeIyUKnM~B_hAU`1a}GU8r{78&AuO2rO9w~(l?dT2^xM>BT~!7`D%v8hA_}e|s<5inzYy7kX@7n3 z_m_k#@kf!Qln{59(CP7=SoJ(hb9L0^iusM}#`z)L@rT**yw!1iOsnBrsJT@*x==|# z-H#EJjv?lqzL-&?p_Vvd-QY3DX9)(m!P^#b^`7LbCYu@hq-4^jxzJtpWd6eUimtqe zFmKYg8Se>>Yw34QL$Mb!AN?UvGyNJwV<5Bn4fmT4fhEX+fA5l9 z;>LN1$MGGI-bm450CMOYx=-Vt4hgVd7)tfZ~-_UmL5P@tX!6)-t35c=V@+n z#aZJ}#KO5c*YDOf3Qcvm0JWyWBSgbXcwwv-e4mtw_b2t=SN;DsHJTZL9sw5tH_-vd zbP%ad7XR|#d?@&^q8+&4oF_GqU$gDjm8GQkx|6~p4)3=4p=ThvKanBTrFi&#OYQ+4 zRQc&MpdH2ZikjZmhZfkb&Q#Bl;qBNkpgHU|pvFk}{eKJvaN$Dn@smG3Dh`f%rh!(r z&5q(iqTAF}d9bU2Fss#s*r(TNTSiPUChFk1`lxdHLBCV(F9i=YG#`B`15*X0!e1=> zoZ_Zz3b2ud6eDNjg^Kyqju45VhgaUmo1K-siBsf*E8_X=F4y_w)B+8%<=Lv1Vvc(Q ztKu-8(Bx-rNd{dR>Oedp6YujZu8qheEq$@AkyUi+?t?}> zmp=SjIQ3?#Dm&H){0~T^l`Ap+(`&i>Kt%O_R^{Kd=~BP`^|1yETDAymgkRi|6-$AU1$DH1Qp(BH#M{wmBj@#4J(?~2_<9gv44(y=NkLb8nZ##2*lV=g-nVxOOgzKD z?PnbmfUjGr`)@7)Sc`x%<)ZrSoR^fvhdZ(}v0y5i%WIM~)Xqy^vlaJ$TJGh#4;H2` zrX?HmiptpuG8e+Kpg+i>g9b#H8r|<$yq@PGn@V$TDH~7Y*=rJpgl4^)tAcsFFj&@! zSM)DCyo(h>pXmT(y-fe(2j2-Poe96wxJqg#ryyj66AoqT{d&v6ZtRUFc<4Qp!QF{T zzxbYd#7Kuk)#(%TXSP!S?eOIF1ZwPQ&%2HB$>8Pn+z~U<)y>|{@3a8;3ibXf#QJiX zYvFc~r9HnETKH%-r>NM2kb<@ynoYLs9YvJ|K8C~6V`xteQJL=I!7as7X8{|=j z_&PcaKUJZ-eE8LrG_A!Ob-)E#)z%xn(}nytmdw>`Uizkpz55cZM?R)y36}0juURyB z5(DXfntqnk4WFZPwEK_(RePKMn-qDW@L(ZV8nE5Q5aWH-8uudDje9a#J;;;rh zGecYM^Xx1gzfTbmj8wlg8c)DPWW1r8$Y#GC@MKhuT3xsuj6rf7eOI40b$^W#&pmKH zzfF32?O&+$iywatyIs)<0U!D}bC8KVie8>{ftPK?)bUy$=M$e{4t_R>{@CqXd2Ky$;)`^&znrG`w}CgKcm*LN~N9 zF}Ic7wVPbm9~<#2fU+ZxoCgX)U-)M?5RWf8+2ARhj)I%6NT?1);R=vgF*Mz#m%w~A53Ve8Cq)ooYlsMEWx^` zXM2TO?wLzpnaPc14rwK>wPzUPzA|NrgvDA_!JPDQr&;gZ@-ljeOGMu0>y6!MSNmRw z+mhah;ph`Gcc+=TH)#3H_tZ+X&$3ojB zcH47l{nNHIedf?;G(mCxJM|%iJ3=S0mC*;=_Ac5$6I?pt%Gt;5JYuMv zcoXXfdnX{jF|{Py1Nv^RBelx2EhODu@wL?I3C7ow9ZL7^PxPhO^8Pbpy*=P0?Gbur z-8Q;UcU`P^B2vLym8ml1kx(@l&vuzg?S7o=Md$eZlj_VDy#MEbOIHS@Y)+^i@c(Hr6x=`@e=Xx z*_NO)8`UC5wWxdL-`t|H)BU^LWH`tA0Gy8V1xvr|KJ08vPH&L5NjHn3&BQqBa5&td zblhYetfg=zDeh5$94{9Pd*#EcpPW7O+M`vRVly=M>-%kwJGwo=zP)D{MCQJwx%-qE z6c<^Z9(iboT2p~eE4+dFEQdi=SRUw+w?c~npOtVwSVrDp$VODj&UL2C$z#EgcN5ya zoY;2rQ~arhLtC|{L$4Q?nCEYVq2~D@ZR|NEoQL4&@6Wcbkkm?4@Ex@7>k4FoBQw~eXx!RuEZc5O#>#%>Ul$lG z)oLtlI;!;j2ivCWvgFl%B)KmmqK0=e56y3fuIz*2&k4y~J=Dn0Wv%5Oh#M=;A$2J8 zHAMob`9>b{{1Ya!BzdDh9-pt@a}>_-Fb8gmBLZx-7K}4I&u&`Cxm%i$-J!ov3_I?j z6Arff*0Ju1jW_9y8NGT5Z(*G>jLq&4cdrkneaIYCr~Fp6;_#)gvFQAl_wWH>?4X-c zL&bAIWD*U3>cIa7LJ6iHej@9Brajxh1o3n74FSe2>svS^|9EkFrd!2zIzyyb*ecOo zC_(sg(Mu^;<{>`04Q;;`RGbJLH~spfvveGzeT<_}9<%->t}!fG8g>^fdVBQkXfaQG zcu3IdCya&Cn?R}B-y0@J>aKl=UU-t3u{bg;st<3f|3Y0wkdkB%V_kbAcdi6m%OdHC z)-0T(ZU+c>JlVaSVGDVY=K6}CH*Gq#Tb!C0xU2d`$eI>J11@2)Efep?r5Y5w{Q;IN z7HDYN`Ki&92$>}HK}h0J1TBI*5u^wSLzYgh8Fi;6qMRR`$Y-|jV4a5i8I&T^q#KgO zc*QHm^2em_g3EM^GeVm%r0#q}qH0k>jTG;Eqn@xM`ji}#_4L>s=v0IriQACLfgcHE z_}=zghxKuKgAql)|WXy3}`_xx;wF?KGWmQ<9HW&g$T*%R19brGOK8NE18I@9F~~LZxmZ{p#IsC zvG2{7vY+3fYI4%S=HV|vU{V=={YGP#QD*Wmham4uu6-E`?U?F z^Hj>=<}nvJk4^-$Yz{i3B4PuLWIEf}lO&e=|J{QIF<&*!@d=Lu++q*=o%Zt^)qefL?By=M72Tw zcBnv`?Tb3SF2TwTncbn(gJEYBQ5DsqX!Y?cmH176?qCdKiX3=dh3AH(B2v$R*sI1K zhiQ*<3@Br| z?i5ud{PjcKk2N{N&?)$Kd-#O9G%a@f?Xti|ZUvpv@yB9*m0 zgG<8bJnT~uMqozD|MYs4$B3jM4Y*i3yLwjG#P1H1AVCqkOJ^_dU&wRjrn%_HvxM0` z;G)ge?0dY;RYWhXX+R?ArC8`TUHpSA{aa$H`Zt>&LR`##j~BC=a}H>E`ni%JVJ4Q&2?TExWGjy2i5FFHo!R7ESMVx&uSx}PMV&08 z*P8>yH4(6_nr|4(-SaEr*6yb{ZZez1x2(lFe?J1>TGf|H@yso4+e-zo$xdI3EZ~Jb6h)a94q_YN{IR`W?gf z%LJrHI->1#&O=KP8>TGE`oZNBA;&AxFs7TSG#aQ#V)uTA=5fHtH*30$`Ez!7M~b!3 zyL$JZF~d?6`tv8>O1XQR8R}%CqVR)YqrF4APmj^_=tQG||6JJAD#l(BZcMoCw5Xi> z;Ubdfyw`}_nZ%sFL|QgKotggcKhH{Fp1%%?29h; zQ?A5v#KP&I;bqlmsO#SB)$Zu!hx+^G!E|0AbsL*@{0A*PrN{l5HYG2K6_4J3On!xT z^OD)AlKPm*zxCTBKPRL1`}egBY`k81P^KVbbPoQ$DfSj4J(CS3(zLpy8-^Fo7W8xQDdQcVY-omu4zO`RzgwS zzu?AQ3Cvn-EhX=0oasN4`;0=p7z?bSWNz!$pnv2v)5W@J`;m7tI* zdM1L0Eb9WP1D{2me`P%dG}Jaf2N)~9U~tg2*}ncnxkV`5KYCuBzn!N3=IiEMDrK|& zCwu2~a0>D)J$I_bKyuzOJj%^e_}C%OyU1HeItVURE}M$~v}(%q6`u|1D;|r$?nvT1 z)Os6hd}CGfq#FVvqL7ghX>MMgIjf0CeqrJEW_Q3t$hxH2|E-7!NO)wcRA~58czR`n zI{kkwt}x#`T?7;keW7=c#r6)$;d8hqh)9kAf{3el7{RAamm1^@Eeap2WCMh zRNP^fG$fX>3*1t(D&$Dgt$uGnrRKS3TR7JWZtqwylkWUE?qy0wm%fh?Ws*TZP(7+K zyPgcH*~Xb=gFIsUen8l}wWeeAa_Txz`4gIv(t`tuS({}bz$a8^yZMmrrfe4&G&cI~ zG%43wMoGq|>~rO&QfN8Kztx7finMQAsw>i6CCG0ARWdfBQoc;lXI(FVWCL5g*x?1D z+WAbYKR?-cuXM^`2l8SQ#KxKk&illyu~{N$=42aa;Uw(~o+7l*Xb3g@|a z>$t~q2Z{}P*bHt}(6a1PtArH_{3ZorYjo>f9xGHk$VOwxts^8Cw{No{4D@qt{KnYH z`A4?0k4fZ&0vQAICu>V_;7+OC^cVMM#+wIv4Rg`5?}S6GwpX=%hAW;hnWvXYsuhSm zWr_s|4@!OwqlHC9hTDCi-vZhQ2t3~&_YYg5mAR-0)>wz#y8dI?>F!F^boW{t*Xq9>| zH4X@!SE~U&ea@zAxh;RkX4iy!JEOaiXZp)6$_yuYj5~_shI$xuWXsl;=L#hFy(2X6 zx}(?KRR_yJP@VQ3XLokfkD9D;|D0v65-DZQklurZysETych&u)dF5~LOfQXTmQyz@ zcCqf+q>s#q%hw2yl z4AV}+!p{THWG7JGiz9~v%}0ts>qxJ|O+-%Gds@BjpXF`h;LqHg$-FO*saAcUWszPj zK>OCe z8DDS|G;NYQPI#v{Z2RhOtjCi9+m6vG(N7ZPwu&XU0tE+~jH(ti8lS0Ee&IxF1RUMD z{kS0}=^4wfc`%1)3UyD2LzjYKY;@+&_-U+){YYJ~=? zmfKcf6wh(0(-V)LKU>jc<3R044NV}_Gdo-Ni!t#RBY$o}2no}{++4g`=OKs0yr5S5 z7b`9CG6R>V>9bmzspcLkD}Hgft71@8t$7tY{xwPXCvJthNC!wyqu|g=pr~kfR_2c* z&M%HZql{zki|^HRWyqB{Gq6Pm5z*ekRwn(Qo37tt)!yb2Xy475-x?j6>2aJ$o_=c@ z)(Q&K;>}luBhLRe-v1JDIvXxOh9)mjo>OZWz2_tM24zjKdU_PNf+ zMzo_YuCyuDlaKz4rfxG2=#=1F)AV$d^+#w=i(YHRB4o&CgsWS=XBarHnP-O zsezCBn9(z*fHd}&JZQ&{m@WOvrQ&XcB==%(`g?S3#nj$Cen=$gjc&QrWgM$o?WsB` z+ek8q$_^yo>@87S4~c3ymut!VnG@m=r13}%%;;-*u+m!cMd4z3#+#&F3VJX!4{5IE zJhblZCIuNBvGlsvV8%GTG;tM-=D7#`MBu&H+;l0ZRw@j7b;L zDzH(iDuT#;99>o2%O|EBubqOTQIE^XCV-6H;I0FoB4p_-(M<_UQCLN!%1<@N7R)s? zbd%?KZ=%*}gsIW?7LuP(l9qf)|3 zd~yBqZot@Y>t;L^qTr2!|0kk@j(Q7Hp}P&zG@RP<3PU3!7@(lJ-#*jn+6G`jc%|?a zSTzi%0wZJ4&jz#J=Kz1#b^Py5PHUT$zZ;B27Ml#lTIE6+FMUW{%Jkfwf_XKkN|kA( zGq~pCO+yBt|J!!Qp`RMcdm6@JToH~LrTBhckYQ*`4o5RMd_tsQ@c4`eNcaS}FzRdq zRhj&*9j@(}y-nFm6r6518pW6KXMnx+8wv-ldgMIVv>ari9#rP5=Cnj?+L&dSVdH3x z?E_|Elm81=uoL%pM_S{6%l|#tG}M$cgz=($U{o$TFL}cr)8wkC=zU>&jlXL)Ei25C zOJhP3ux@}UYFiaHbk{33>c^~P?y0N>`!l>Ggk>c&F)<_3&STeva=A3IqSvm6I#bX? zlDxg2>obL1;jCuefebIB(^OVg#1!FG`WWrglnMhiI|WJj5q99%jr7WkGU^N7sZl9D z1$`^^@+P}zwG?%~@U}2hC)a5H%n6h`=2P~MfUAl<=SA%zBORYdV-~9=`K`;#%cc)? zElfV&w-+yKoc}HrenjzccmGtaa?Vx>zK`m@`TwgNRzf8fMbQ0kYYy>YX1JtIHx>il zb78d;gKtpn7MZ2l$DeK(`u2FyH}&XmAYYD-C4CiV@?zFCjM9ZX7j2%en+LT!`-FQA zJbjGX{s)k-41kr%F+vmqkZDeFVMt7rui7`$b^a1JNdjTm<`}`sawPbdBfW(aa9QpP zQ|o4_jEuq4(fq)T9iRHdSmJ~nEvc@8i%`^sT!cQ%7JUYd`x9G2%O%&4B!z70NJkr1_XsvR*Oek;mfQ%9kLYI z2r0`5FSfwy?_H%!Kbm|W0xL!H^@hVIArA$Hj4wT0^qEOA>cM52H+@6OgZ94Bj_%ui z9bR8YeZu>)TL-s$h*ZCyi_mf_Vza;AVzKbIP9ACOR?;*l3vQ`?;=vZ{Cf%sXT7(fH)$m`Q*EQXGHgc}4o8e^mEGqOB;sm?;E9Hy{( zn>9So`!kV`I8qCtPyL z^+;}nU6g6?31-4{TKTnl^mY0w$E*|KKIh>R)-KB{Yj?)%j+)_uTXsILe32}Wl=Q-K z-hpBdlU^iGf5(OAy8+$jeBa;5Pk+r`&~7?SnfO+o_14LINl?YmrVH-jrrM5m4Yc^# zI-LRJ4A2eihXIYY)8t<%7WA$v0D8Djn_->uc13+7EJ6R`cL>{lA*J=dkd=R&*V1ND z8Pi#?9ho;;QwH&4uS&m9XI*yfzI9<379Ew`c+g+ zY`@h%SoP$=Yk@PcTr=)4SUp;A8e>D6#d;`{swZmSukd4)>wr z&!Tt&bmsCeS~~?@1qwN!$=T@gfjM^O%l%o5ReLxM!ChxA$XOd0o=ew_OJ*?8Hv3Wl z_vRnD?b~P=3yv>DAa>p4Epn-@U%M&Ess`#3T$SJi2a%|pp_ZJ9+1*k6iBpqz2Q-kl z&IfQoI7tvmVe zt}(!|Z>To{*o*$JFvx@G?h^sOI|8bwNw(zRN2mH;G1l7ThOg&|x#n(c>lCxl7ACjv zGkD`-LDN?M0}ZZ2AeV%7d+0|apbW`LRumQ%{uRJwZf-s_G9oydM91iHV@9TF&<(TU z(I(^vlugU>h0}biVqZDpPvJNV5j|&&77*m;#G`& zjLr71Wbj%85)ZNr?2@>UeWcsv*mLF)$%B0zn?6(VXP_-aBTfcBuwKg${M@ccka_y5 zd$@+bZ~JEn_*C}7f89%R1o{-*I9OKIQ9AZPgsx2|1Y$J!oy%A?MRi9U0fOdv9l;j2 zPk>x*Re%h~;-R}~o*}A}J;hO&Kh@h#UZb#+&1$3K1RL6!34!Ns6kYe$eGeUwn(3#U z1S2msUduL@igO1A3vF3{ddZB$t{9Gp&56`TRDF- z;L@A%EyFrW%GLWK#$~eR@h{&XoZL;paT$pUoQ+kKtWDoX-Omln`|xexp5tw7#f;|3 zMStKyAG!VfLEVntwq;iR_7O|UB%;Z5a<|Z*uoXK!qFS+96fvEa-|Zn_o|L~^iI9r>VrFTb&6d`r{Tfa5t0x-wPT2_k!YTU4Swx%3$HtS{`Hr1(4!`qv(2q6^wI1#p=y=6~b~eK` zgUki7)4x#+du~Z~C828V+<1jG!-C6=-peEz2o0?x3+mGo`MRznS@b{ zRClBUuA9$w9#60@mRndz@5g}`=g)ZewD_SSqYT}@maoD+KIybI!Jgsr0K{hCAWOBr z*)qw;m#y(q(6l|JoF2Zd&nhm}2fB^MVea?@7uC zqfuK_TBqwZj&ZFxnBeS}0@!WOL$KE3?7ez*=O1~+l-=8F&bmJ`&U<}Yucoh0>|sz( zJWd0XE*91Dlp&ThZ(~0Sgm)AHxV)XJ{O1 zF@MZqt6qFM5lAnhfztZ{N$&Vqow?o*7h4w3D#MEus9C(M&^Vnaubzzq2`=c2yZw{) zuJ4*=Wy;fvq!lpQmz(uCEKi(Xtv;*^yvxv#0pAF}(Lu^Ib*i*#cWdUshf8mo?}h_J zV;2ehVacEGx)Si>FHRYZmvlX5uKkbY2SwzH7%TVH$vfMY zrj4Cb|K0vV;M{5_yP?$kzs39Jz-wQv(yANxvdGfrjZ)BKxo9exrKy=syBT{wyux$Cq_Qw65RqL0q&XHr~A%*#8_A0>tO zDIP)TG9LBQxbBUosTv`&(i8mlv&2lm2pmRZmUFK#0aSc#E-=Q<+f>L7#nKV;N3ahE?5`{z5cdoFH=8x$u>tv~ zdq%9+^j|u!ahEHzESZfiBF}YkiHP$!&3P~nexArx*}d)I7t^n*+$U`T+zZ~J&Y3MG z!3DD`EsewVT&DXlPV(I`$Pc4+oJ~dj<8HnX>uhjAJyGXiI88F;CwU>$fV73py(Lk1S-B(s65ZKgx z;=E*|op96(zMPGH@$BdcNb}=#thi*}uDMKcconAI;71d}$38{Xq&vXnMTaZ=stm5j zdviyFb^WDh>1SVs6%-UBw|qraDF3RX&5LY34{mJHo8iyuz2?PgI)QB?`GHgTrBVp! zI{IDiJw#b27Lqi7ZKDNm>6m8Y>^uH}4gbZ?8#lQv>RJ-7s;_~R@$Bs) zu;1l3JzHSmzB6|Ob96lZ5eu1o(7QOeEj9ZZ##IQuB~&hj0aRGC;S8K`G)TRGVbUJt z^wm(jaP2pz+CIS_AIfF$u=kGXM3iUu_+am%K0-bNNcuDHB!D*Js2?_ZRvbrLrDlSY zw|9w~SpBbUo(o_7_)O(?_p|hDliVsf{D5Ul?MvlkPJlO6 zE8k#VBOp7}3JwXV5nkBbRWD*LGV-mQtUWSoJ^C#REnnR+iw`Jo`EHX+eJ>w>nwvr= z!_`r4rvY@pw%h+g3w9%MS^JAL+vpQYtzN}Fp8%39io}gD-}xO0a;7qG z69so*j5Wj2G?EitLg2nTtgA#s%ZVmeHEeYRrBN+8GQ6#)Hhg}RRH@WE%_c*xoTI3$ z4386IGX^E0v5gtahNaW`eC{+mbo?mR zX%`kOG{a2^ZG;?`A57cwgX+3wHbXqf2O({mNgrv1S2&(DcBG?nAXfTuxZ9uJGr;Mm{o^+5X_!-T`6JIOo|dYDdn9>gUFpOnWxqhg-7 z1AF9DC@~dj&j331$Sr$TeG(uV{oV6Nm6+;cPLX&|vM4s)>I`tn|NQeQSl*sdsH(4% z?E*%}$C(HhYn(4JAYzQx=$c87cuLm0Kt|Ua!E}f!LZJV`&LdBrw1;}idCXv}why{V zn|CG0>evxT*D9#=Tgx|}F3GC{w%A`p3=^eTh#oBbW!k5;#YMYj`!a)wOZ) zYb+|JLY^ec>14Ekn@9&7oYrm;B?pg}EwfCp**9oC|=R;!MGQQH;xA(pAjVysyP zVZDjpJH@ z$r*tkDDET`fd|j?c6A-%Spj{q1`Kdl!QR%Pm9T`8xGduNEdt&cWP3eJf@0dYKl? z{B0COFDjEmx86ee=6pl9{mrXC43n$%p~)7}L`K^WRc^8`WG@y&_!F@iqS{|ciUZ|6 z$7;v~y_tG-)UY{i#2@#2t;FcOen-+5~hV;wFJ0k21?PNHo^!jBGW^BvnS-fd>$dVQr-aheSY=#QL zDw=o)Q6KgOd@0rFOE{{@p0bK0iYem_qZue6XssYy^C{`0YW;z*B8heZvcrFtJr(-u8$te=`ySXoJcmT4c5oNWmc>xiSs zaf{;Dq~f3^lRa?{x`%PMeZ`e42YsOjB{aKDH;z>HiY@&L+PDY(w$Gnm-H|ftuknI9 z9P(CDe{eIUV}Q5rQ`Wa+BXC}6*~VVWR?h5+eHdg1ScGQrw%x>5iTZB@tb#S|9BjpC zANARZ@m&XYdCTWnt=Jd{d(t3}H_%OI;pcW7wS@G?v!m|Nc*l1hH&Q2U+cYn2{OJ3- zs{kP0XP=L0eV1m%B03Ssb{eQ}07}l#FzYZyq-NuQ+M6*><$8(^+R;T)uPpxq;(A&3 z{7zwrqT}vVj2@!au#cU7!8*WjE+aSzN9iDWU+GWLDAUYvI~d;HXfU=*7vp0@5ha!$ zya)WO=$7QK!OYid91Rcw`hMc`g4pNsgjmw=U}`-jYG2?bwB>`SsC)?IHhIkjwlC3t z{{136I8ch2(t%E~8C~M1hL=lmAYI=`xxncVg|(F9;w@EHt)VMxsI}(*vUGQUWhw>4m7^afekf4iCFw;9F&0cd&v>6mR8nAWiQg7==xulPLdtZrnc@y0FD6*#0 z0O#(o5rcFTZHqcEi1iOfMi(rRJz^JGlRb8ELfho;&c+ za-HWZ;+<2OCzR^7kn7TssMkH(Y?vHJ!yC1$H@XDuOL;!0%~eIQ(H%`w)7Xf-g?ekZ zihh7wI`EpVgafw0XyNm3FH%TJZs+ay7s325-%`{Lw7w#>#TPO24gwq7h-TllOQKG@G!6t8te%IFhy z#w~Q~c7i2i>(~y|?xBL;M}p#U(%xxo3ETrPR-tQT82aR&+zQ&iwgLn|Jdp!=Rdp(S)6^OIh6iqclqa*JU0kGwM;%wtR~*r!jXEN*kR7S7wr2s)G~KMwyjz;roKBc$%E|Uu+na zwKFvQnZnmxGM5jr%Hro6=+1{)-x9f2!$HBK6wgZpa^%it{F5ueQS1p)a0p zKsDXSXD8|$pP|p1frE1OE-D?IpQTW@>*;7%Sutk|Wt8f77ITudB)j9(nWt<K`bLPJB}OSD_r#D?<@9Dnl>Y;N%_79FQ2vcnUvWrW1p z%)L@UdUc4)mzvM!`d4T#`K1~f^H4RPKm)cfnaB3J1Opgf#!~|-R z!$-f$;Jrsj2W-A#%p;#mnEed5W+0#UJ0QoW_89W4=tR5PSb(AN8Yi-7A(5<}>jQ5d zp>ju>F5uvSWni&TuvqB1(JWMo9aCesC0H+5_-ngJM`MCCmGjyZhQiPo>4$s7J7N1Wpxce{6Llh#l}KM2^h0Vfw>8IZwfNG?70^gSmX z03w#jlyGAzP}#s^_<_O6P?fi7cGm48f-`$Yk{j+?j+K_~e#bRdq2sYp8_()?*pU{a zr@)}ZTG{EuT{xv`iW&hAYPY7~;WM4&fh?)?MI&G42}^xr%8d|csuF=m6DYMliYDLm z{lJqhh+sm^4&reu5+){QtXbZ3RHojd?^g(fHi*7IH!R%+GqR&O*f5Ni4T@&3>2yyl z63d|o^H;y6!zBAzM(QF9s~Oj-A-|5GP(Nh%iKqB}OJ&^u4r1x-vqMbBST}2n`TcaW2R6sNb+A>1=CzOAp{8Smj)!;z>%n;SLlIFhF%DC}`~2;0n-Eq+#{g)JMkK@hXb;Q9tu zaRDc`?p}PR(WYCDlww8S^Gx! zE%-6H^@{U}w7cZ!x5Yt*+ZxubIxfvZiciLEWo>KkXfOs}11%v^g&d@K7#ML(OHo6V z-fu#~HF6ws;yk-01O=8t3y#t6M9+#0epbnLu?k1hhRo?XJ3(0UZ^t(LX|?9W6b<=r zg4mSCt)sDRn*8FKBT8QQ)M+Y?eQl+kODG#gv+eZUOvG2EBp>p9rJ9XrgCA7qtPer(Ndo9SQ9im!EyKp3r)I>dOQKd?Vo;&C(}0$&x-P!A4j2`Mz$ z!zWfB!5Qpob)VjxZMPH~Zs|?AS8`Z*x?V7NO4qBuwbYjcj4W(p7uA)McwQVn8EL@& zoPIR;nVg_4Mn=gYB&+ePygu(EGW*`Nd;M3;OQSYu?#Ak8i8dxH@k_|i60&dL$buxG zfx_5<)4fhtS?KaGTKn~%ZIpzR>!Rx0`eU@kCi2&weTQnMBeC{y(XBU4?r%}KoEz4$fi6>Vltt*;XKKf%*6w9oWFo*d8)1~8eUKT_e@H^uq))si_f z+3%vf9}$*?Q_)7jdou{Oao4!ESKf}1%y11Jxu$YyYSjMl$OQ)bV5tGMq;*%X3|Y_+ zbsC+rP5$b~T|vdC#2?S8)v*1QT}0lk6`7}#Lb{D)OR9g{kbvh?Aoka69M99i|u5&hceONqh7o-MJ& zM>r!W?3k|753Yz2buQB%jS|9&J*ILd4O4wSO@hH^T-$s(tfnC z^v}AdT~hzMnfudKoO$JPYUs}LwXm;Zk6u|{w5I-kO&!cPoIeUM^SOL96JRnQ1Z=0B zLk?*Z?J(2ft90;RwVv>!)m04xSH3dlOUax(`rtE7+D6|g$5-2Zbe?2l2kTf{5T^!6 zC3p>sUCyrXE@jEUiC@!f&rcO3^4u(t@mnh)ly$v!*;Ce90-ohh8<*?&Vv*v3u($@zdf3 zx+*uO*YQsY!f#)EFC30oi{?2+!R^N7GUSbZGv%FDpuQ0^i^DFqQWVXeay}U7PcnT~ zTS~l2T3oR`me3oW^?`cgKfn59eQUw2`s3h}Galq|*%X)eawqnqs+}4v@N005Z()n6 zpKl))d#Dag0`|{zlK2nP*)IUBC)=W5w)Y?|zrwE;**d4xJx-gpaB`bVp{uq%+YGE7 z9JpBQp^*Y>L%G&qInA^lGfnhhms-GUn0F#|j!V4-#_#OKlG*Q@WdXh)S4!W`~(+Yd@_c4(j8$y8RH9Cj^>GC?ZA2%-8dIXo2mgC%Z}`ue79jA{QC+^ zo%MTrds{wqz)y8Mc#+rh&aDP%{C`_=Rz15cHC1R|DeqP+tMtckJlfMFqTqIL`@fle zx&F=2gntA@C^PS~zO~PC{3jwy3Ad4=zNMIg-r7=&p&M09EP_x+sqJLXrRTW zKdqrhDZ_xn2KtRH*pGyj3t-vXQH6hFR#P=gFY0qjQuX?Zjc+4P4BNqeCK32n$iEb9Bnv_@kBpd-S4VI6?Z>9x&h*BK2v+gSc~vM{bUiNtf4 zEb>F1ci5AYn)i?}sR>ovTC`4M6XSplj|3TTxC5CBFD&_-N|DxB4=U-D{`~NfqopNA zOyYPjx#q5^JW=3AdB0!A7aemUaFzkh>=nL;;bKiZuGv%vy()sH&r*<(Ip2dXXGG># zygY?SCAIh%69?1>hcP+EDm+0pFRYpdXhGn zV&jeHA$<$G5BKcwbsm&S{z!~Vjph^$&rB$y!8{Zcq<*?gc$q@r8YU)zA{kgw%Ewgi zKS1&~qzLU6vw)6==2wDRMISxa+TwJfzT!1kB+gI(?q|h+Tt{1<`LpBUlG-pQc`t}v z8h}y0d~2X)xs~CH;|M@yGOx)eMUU5$AefYIjPNHXOEn+73b+23Lqp0e?zkgt!A;+c`o@HvbL*-=9y(Fw$peEXzR zku-&O!KXux*+U32=!l_Vw7v3A9@>I+vSJZ78+!6>Lf%kqPpqNQXTO-X|@Dhbjv3kU}dn^D_P=av9 z05vGfam~oab5Nk#lNNTKQgS-CR$^GQY9E9+$K#GL4MwD7V`MLsOyFi}IFVVp18Tpy3sl zEF4X;To5t-()pAWpVQ12#AO)`g*z|o+Kc+Uf5bjtgI?xN2>-Dc&bhVTLmgYWx0jA2 zVXe|cd$RW;G2HoFkDlysLMc;W_nxK|)Blk}^r*td!u4ru41%ED!Vo-9HwLx~LX%wP<; z38_biUS+H{>Rzhx|L8;v_&=Zj9>4`eGIibelAg;DdDKcq;4ml^$(&-ZL~rm!|MEaJ zZ1=j(jgIbc;h7S|ZQuCV89xnI9~r%0Uoyc-sO=$vm8E;>s`u-xTGZ$A;R3~Kih=0{ z6K?I#g=9o!H%={*i0_v{8A6$>u~Is2glgc1pLCL&?kZnh-;#4}36nu8 z$j(S^xEZSBTQ3)lJt}_lxNd@2a^-S=Z_-X8F8`2u z6+Q?!A4j>DXTiw|gl7rTH5{M#8l}m1?=Vdn z7$cl@YFm#XQPzRx{T+n}q;y||@7-pDaYH*)!LH4PFo=gbqQwF>JvY`l>p zrA-J;3JagMczI+ZMJ#bCwyjY7C1x|dya8NU1i9T@BFiVYdq&U6`SI$&VI*TdUPc?X zlNLTP0vplWqY!^C3pf2-!l!Oi*0;K!< zq3tj7A$S1x^PggsuW&*qd|~0Y$X%*D+K`R4iHut#gSkEPr8k-D>$k|0GQ(1F1bVIt z1)aKP3It2(?w>&yFa54?2!!`h+B#Cce#PB^*H(*_k~OcBJ)E>tVe;n;{;wAmlXDIC zRl11^CIzgWofS?oi%NOX=}k&Bbm(0KKPHW+P^B(7DVo$rn&d|+UI@O#z1B~z=Ka)) z!Eh^>=4NU=59?JKH*Bsi06WzY&Qx`v<^dCU8w+)+6^l^SYy)X(KtIhc5xnfLld}*O zTv;d>)X{T18-;u;N&sZr8+WN!ucnP1o2JfopJ}NR{Ll6$d!}gouvrU*0mhUz=nasR zG`tA^7SzGZE=>c-FSpvm=ICr}q5BtIuf`TU+s-aNk))k6Ez2;xdxulG=SAx;)rV`p z%Ze@!mwr!>kIC|7731~)Yi#G;Niv$n&-$X}bdeasCz2h`CC4AkJ69VI zW4q+$j|seLXgTC*OvUe;RtYu?hiQ0t@bo%dIs6Gz02Y@!`O}yQ5re?HkR)dwq}z9d z(A5YJ80>`m&Dr0!>p+Ib*7M=QX}KUo5NKvNT1#$tdVOet$gx{&H zQ~Ew$b>!1mc;E#g553jffoNg3r`5~%2OuTZ!y@Y$`~zYm2>s34UvwE4l(X-PzP6Dx z3EhdCAF(Q0BQjpf;eN%(*1bOsD1G5~+OE)E7?IUqaslttIJj+KgC0~bW2@ib50tjv?ka6$v=RO@Ef zRO+5A<0~FIk^gw0PT+OXuX%5sT9-5FAzUmnReD=rR}X%TV~YT~?ey&_H_oBDEO6bc zl)Q5}7@F%wu`eP5)0$0<5iXYdp3IE+0)NTn&GGZ%1(OBbw(j-@0O%~}MklM~OD{Yd zul`Y1Uz!H2|B`b$mj8RL=3x23&AMvXVxkzZfWyQ>Vq-EK24-NNtY}|0in;<)2rBwb z{kf2Fgpa|kA!&3u6AHAbv6G~0?0fd?2+2 z3iZJmu3Z8?z|+>Kt3YUT_m0&;wGHXi*l5X9jS(Zv_9{ zj3F@*VU}}ytBY%S@o}sCDd3YCmF+-dN=e??M$aP9p)5qXdqllQWS5%CpU@Tq!Q=7f zXdl*dRGCdtR@Hn9%UE-YjgeTpt`B%)R9H;G3(b)%VxdxU%)Ha@D6$RO=*9giTJvoe z(fR0oJ3S;(IYR$6X}?KhGC68hn6s(Xt0TSqx6I?=o$HJ7ey?#Ou9=(2a5JX3R>42> z?u0*kls6|9op*rKD41UWo_3&-%msHPlE?0fNm!%EU-Hh6{nRxs;?D~s&_m;|J#4Y2 zLhPe2E{l*IMO7!(e=thf)Q$Xhv|%l$sDkEi`;Zsr^QUU1n$#EPZH|%Q`a9b zfkt6vrRtp|Lr0Kw9G~lc=`)xN8)e26G{tJ|CSFuqu%FqYcT9SdWxj+QH>=8=Lx4{l za)FJ?!q1BG5Aw5<4DKF%yzynf%xC4VW|sLIi^5MaQ||_K$0>ePSuQBkP<|})L9|XRjyJv>G4##7{EHA8~)DllQvlb~q5bp7BAZztlnOywmL08eZ2V z?`qwZcI$o@L((p6S<4K6A=;egxC#& z3iVsvj&D|wGubOC`J_kF?{ZqdtJYb>a@CBhR6s4PLRHz*{c%xPH6F7bN(+CNSU8}m z@e;4U)FN#n?B#=-A{@Db?S!i+w{ui)o}6v#E~O3^DpHV+u^NmX+T`CtdGbcCn)nM? zvK)dlVVP*U5{Z#z+MxeBT4JLu&7>#NG)H$F<;bqvW;6~>xE*EO?hBOAR{E~Ky6zXP z!?iz@bi9=bSZ=63WX|gbpnHS<*k~ktO>X%UO%&I-;UA%R5;u|{Y?~k0z%U7p1%3}( zsd4`p6gPFRc`LQp(AE5DDA`2!rY(Qj#${#dX0*cl;i8P6MwUdgr$;;IiqlwMiT2`F zheFm~@*x!2_~2EFQ2ix<*5xbf{y0b!B-3E^+PtaVysOZIr=kM(M09C>K(wu6AbcFN zGj_kbO1d_s29PeDYXN9ku-q+XLf5ngb}v(M^}19)?9$C{4znmLBUb3cB(eS6C~0vg zEI~s+Fe;zVhw&@;EKW?cXo!^<8aA2BV7h!h18yWUB3mdYYR1Py&y(W2nm#2MP)33&#LKrTsF?RA9pnQ*|ff;BBb?#&D|Gl_jT3H zHH6tfbxk|OB*pZGF9k3Et>ug-;MX=yYp%Qzd!bafE-2qd}`zs zj_!UF#o4;87-O`#64rVb&-<`)VK)0pFT+pvx9n^D#dgS)!8N%ZW(8fg*S@yy+)RC& z*(O_RYqJ2MngC+b0ihLu-wD^p)|ZQM>M?O=e>Yxog$VR;FDCbt2%{9p@-U)te_LQI zm+HW@#UH42x{?^})f+>+buklTP*y%^F#cpnyHa|BiTCGx6Qx!90r?BdA%oo4KcQZ>$?-_$)p5U99!pNb!9nY^m_~Nz>f^v}g_*c*{fqg2 zbInqigIl}@vh&qd1@YKXdjQI~Vt1?8oX_cp$IQXklB0n35n8{;BnN2J9n#-&E}P3Q zlU~J6%u<_`eZXSyW2Q?rMSdCo1=0;Fd>GMKxOazfc4&B)(OkaP3~{dw(vXgVcW4QO z`Z5z2ScW3H*KuSP7ohR@=cml7MMd%1w3gCJ@3h9Z`HmOP^%-U4%0bL}49jl9FGf}b z8*w8v`zIIyBy;bHfZR|NMm&B_6tR0F#`7Bl^3FeCUenQ{IRKPdv$8KTYI5UyIz5ESAJUyES3h!g5l6C1hsJn&}d$Q ziXqYSD&O&{Tl3KcG7mPD{ddW%MUzM$)wt*S1-o4$Y@F(wu`XP`-{c#hA30?84l_Ol z3mIp}t5*kM#Au9_E@iNNugWyUdnaXH%h&>UKVTRiBxz-9mm7RS!&qV^dhw-afdka6 z6t88gcWbD7OmIIfUZ$i@7Lxq<;X#Q?EHB|9p)tI*x}Y2|Yg#R|?O$ymMIW8;Ti_!4*>;mL-JO$Y&DbP2hw;Ai>kCosz@RhJe00y*o+di z9&%Njf*iuc^Ag*>+ncCNSISdBV9PpDRExlF%=Sc_D09`yU#(g%PKe2Ie+Js$Uqx1r zTT}YV6hoF4qNrQ)$j53vjzm5L(}?ebf@mdS>dMuo5!Rou9zI!LVU#xwe)|D)5Jt;9 zYVCu$)t(ASK4-*kypPJILPv*AM(0Y-``=(DQ-W|mkOMB+8r12QJbM*owl?tPRjfe- z@D??=6l+jyK$&fsf&Yuq9l$G>ki@6*NpDhqn_noT{^NTi!C%+M%6nR*`sE)KGu0l+ zrbe?Q`rfrsShbL*8twL13l~FLE#BG|-sacmUo0o{as^I#$hJAW+$%rReXfkX=wt7_ znJJ6BJg@(Rq(;lhfNSt1w$omUJl(3vElMHx*Jvt_|0J%~>C--|EuMyPaswvVOzmaU zmCZj-vtFwWTr*Nncmb18MB>jIb&=bD8yx(6zx2=tdY#7O^N6P^n!MdWhzlFM$uWq=ypv%R zWD#@N2-CAC994_&>2!NBhoC8s_{Jk@9V4cF|0^Zzwn z$+_pMG*r|Ye0RG~xHGyK+h#Vlqyt?qcN~BlKQegIV`ejglXmvm1P*~fAI$U}ZGH3n zitM)GWPT?WfO$JeNAcPPFN?DE0Lgg_MUO^D~tV$4SeJH|nhr8vLOz5f>}vmlUz>ImcKI`%EaY`hFE7nu7r2^vMR3Kbh3j zp3U{sm35QtmXVHzy0zgOe}c3yX|o4P+tGVDwUu_AUPd@xr4`fxBjEQIz-|fLrl_=r zfjZ+uJ82u>_F%1;V5qy|k-RdcUYlk0eJln__mZsSN&P`Yn|f2I=c)>WQ{QrY#$dWr zT9itOV{aMLSsW{qlmh7^i*tN%c{VBjtmmo!I82uBvcWJ-ivWx1cNatR%gbV_^ zca>vV)RD+`v$lwgu=XxzIJanWTtC13+DsG5upVF$*Tm|&oD=+Q&c_AD)z%p9?9ERR zB@mmcwr{uc=@>?Rb&Ct|+rwjVid)Q1J@5K7f1;JOA6%U%Ea=Dp#1AT< zjY(|r0yJ8FNe#V!NI77Q4G=Z@WDlmQ*_w{!V>VvfHs^51$j;!$aNrJ~m`^?#%jr8A zLyFI7ceM$!4Dl_n!6CE&fBjuo^QYW7ph^0FYq*2nZ4Y?Om*ZRdo5eEH#?b$EalyH9 z=ACKL2VEo-NZZ=x$#X4&Pk8e- zQ|OIxUb_pTyhvkgY(m}06E>B?K;VaF1E1ZButtkFp1C*H^@Jm`NFO}3uW#%)SPabQ zss+k}9Rk^iT67jtOFd0-N0A1}4K?T-ByeV>@lvci#(Lpi4{+3NHHdgSm7Db>^e8L4 zd@hY+Xyg7;dNapcr5m{$@!+ly0h0`C_r;~;{imSvSUo|gj_m4{6z8WCd=w_%jrcF4 zKE!2Aacc4DQm>7@PGqeK6ItUr4Qd!~KYTPDJ~h?%ZM6r|(EjOZzr~fWZH9gKea033 zO{6BbaWSZEHh@2(;$1l#CeE*ppc6DyBHn-)z}ARCu7XmGXscuV+n<`RVr2p@^|qmb zy3VLSB(Z?r4zHm@)5g0X<5xg(>j|F@i53{*W(o)QhP?b%o=Nt)dF94ww|6d#t}=)^ z?g{(^ub3W8>Ttc-DCeQW*vZ+fEQe97pyMY{z(>Z&Euwrb!is|DKcebG!#QM@Tjc$F za`VNrln9HNRz6H2R$;VJzngABW^F1&mn*`6cQ0;1+f%i9mN0W4PHGZh@r7rgXHyBq?gEIp>qgR{g3!VeuicMaeLq zje&@C$@>o2mTf@wVX)Z8^L+Oz*@AK@wVk2I=BX7Ops37JM4&+%q~g-Y!|FerVTMxO z7YG=z8ZtcAUPD$ZGXbnd4P6ZPmz7@sUXaq^z>fiSC0efI_T(kzKhzjE(&pW`=pAZB z>|cnl@7tT`${UxQ^ld%Z&1p;6X_?`geA^h34>MoxqOjzA$wEFLP~w||;aW{=EUio4Hq7oZ+Ylq8zK;TGy}J&%)k8SYTJ^aW*J`ZK)=}f z6zms;q&{6BtE(Ixs>(T@Q@;)6d09aDBS7|qhl!mK*T*nVV7W*;Ha(&&EN2?os)G8` zLq`l?9*-8xN`*PBONf>{$@K34XVQGJ;~0c^;SsP`(kDVAi>PjA*H9n&YQ(V^#t=4B z^x*!joV6E!_#?@GpA4<2``wo7st(b1+bX;|*EOr2*K7R;DC4vmI6 zY34oI{~e?GB>nxEubnd<04(=T_lfno0N0cc_^uLnX7{4d>flmaJikL;&prk*@wXXu z@8W+lqR?W^ks95u#^L67N2kDFzkZP&lo;-M+7&GPatnawvo8IqYbOUmmeZ?6ZgC~v zv91}_L#)cq)AYloZbFs{l3YYF7BP(WB8+_5#GLm!R3E>e%PH-u*-B{PH5xY0bzlkj znHSDL+qoSzwKW2BXVe?J28HQOwUNMbxpgl#j_=I?H+MXL;|gM%wlp5IdJS%21?0k% zK5ao|{B^tJ2RV0QuWoY4#9bHj{+B~^B!VN5#D?z_!U=6VE{Ni0JbQ=4TqkeKPZ;;*;YV+Fx89^k{=!g@(c)5hn4x6k2b) z1Fh<=$?AWmIFJ*(%W5;5%uM5PJDtcl<8!J8XsS-OrLsLjTM1Xg6Y8s86I9moY83hC z5L9j>x2*Hp79l*{?+R{;Wb25-_96Lk@4#ivzke%e(8q#6Hzsf}Bl-USvv7iJo~BYC zxZBD9E)M0R!Q4$O+1D>O$=jj9mwI1Kf4(VZQ_k9nf*fIo!;?`7m!1WOwR-rc&ghT#*yJRq-3Vm4q2%4!qsyPqkZb7}7Wegt zJyYO>-s^P~&!tW8J$ct*%Dh8L5cRb=$cx@L4EV=RO*5ct&9@XBp8;gkMR3D`!+w-x(?* z5Y+tEUO3Bth!%T%e`I&{5C-sVTg6xv#VC`bVjDvomBPUI;3)#l(HNtnXl86M=yAlw ztPaDrl7u$T34nsdaItB2G zi;E*DPu&$&?7F)_VEJ){aJJEGf+hgnk)ApF{#LI*>joHC?)KLCkL-;Zv%u9YqTfP8<&uBezNhT(Yu-)24f?aANC zqbeyKMa2#KYm;x5xoDf8Yuo8w@TJn?T*bizewzf?jv$lSW0eyGY!(Oe@E7T4?-Y3- zmc#r`%|AmLbRVqpW_grX{3D#jAot)y)IBFcXmBYSnPYQsL%9HIJ`vIcHie9yXj=AU zy;v$#jQ`jeYWS^4{3nlL+x}pg%V5fE-QXoYNq8*b;@Hzyv^$d|n@K49&_?#(X8GSG zB#mP4KhT#GaPi{EpR%Bn+qEa%CrvB)ILUVwiffhW-tfx2X1aMjG|CP@DJ&|&JFC0C zc6L5pU3PA)dsxzHb9+4;P8zxzghb4tQt=A76{f=+-(Mm-d)UmN~@WUM{k!I?EO z6_)D&Jx+^WL8HOt>soCGb9J;PnEs$>^|J04Q*NI*aUZGK5P~uy|GJ=!x-}m~oYmzs z%D+O$XWj=61qbPLJ`KKDKNu!fpb2^50>;^oe279PXE*~Th(nWYGXDG5Y-;&|>#ZLx zw1sgj{h{E-5=y*Ov||r@IfRpH921p^lB@)^fC>tzt$s0KVMy0~rj>B>(3!Z{m+6|b z23L~1-20IDy`=g=#`S40_V{YX8U;H+R@V5ZdT77M3dK+-Cb+b>-g0pD0H>HM6VXFY z{AhfAW_x0ZM-uN%6GKt4#)iaFd(U;557VclB~I~}+pzq-wvEeipwS6l9=u?0S&g^D z{6T9{yiSUpTn3Q*IRY)N3i8^)F#T*&VL8?X}4$@@D2Rk3hMuqe@-l1>+}}7!sRG@MZs?U zInsggn%;3bWn;F=t0|KJ;)1>&oL0A=& z%l6h-=Eu4!e3INuJ^_F#Ow6`TfyqJfc9ogDoiqdw2HSVh%Nch^3C-zO_t<|(7eGt= zJ(sj4Y$U022|%1xi~5mU-=L-=u8k(Hb@7OKwdbGLi1a#bUz;#0qYt;+uBJP6s6a21 za@HxD>DjEV?7WRu9dCSf#O%q~Rg&mG$hhcygv=XgE8pMd|64w~D3$u1Uje=^92%8c z{_kui;+6~IvZm2dnd_sasYXha(hnwUzMnHUzYD_9&{5c3?M-m+A3J@FiQv?0r75Dn zDkM!PkzyZ)$U}a0aw3;4;5>h1$h}gqFuIx==bBWW@~TL2Q;t=7bhfnuwr2A=S~x4) zZ6KEsx1t!oUMaBd>kD3;x_|uS3RKT#|HTh3vYitI$6=Yr@HW{bxIGnlyqus2*`I}w z+s%8fm=Vt5CpfI2a=t2^bSyxN?Iu1x(FHttKUYt-AK@LyC$O&6P^u$SSodTpB|o4) zwAuW~lUJa#UQrA66?&>)1`r&z=lNVLh-HL#e89l~vRb zrEc2+j3I|99yh-UxOCs1K6Xc zxeb@Pp#MIi{(Vl&LZjf&e^{4Vt~Zgr@{U~Zb~eOVbgMDtrackz|N5%bstWpzG2^`WPde92W^K(ApjAxJCupdozpR(zuy)q3W1tk; z!365s=_`-f+D~?~%}I|pV{Oe=r86gfk`nSpm$o|oT~gjlU?`g!q=PU1vyA#bSI^%^p+FMjt||Z+I7y$>@>qH=|+f zZNGJ&XnE+<#^m1T2LOH?k5jTiiyxn~WAo2Ntc~`&xCmpp=SHmkF`~s$S~FQKZ|}UR z!f-!@8H4#$o5?G>##)9toZ9~=^I#mUCQED;lL-E8VpgRJ>jvh|d2vy;W5)u$*|Uh} zE@=Y^7%ZneOo-Bk1g<>o{w~{8V3>{lf(TDd6?=`hlC}!vN{Y+;WO0`{SyhhA`SSqP zW}W&?n=tAr@CEPV$LO-wUUeQguJ?6NMy5HOx z5H1Dn8kz|m<0QXiIkEU-A>AWFbOk&aTOY?<)T~8${ehxZ{9xBAe;bAqQV>Y?x zaW}lx<$nb`?=&WEYq}X()Txe7RiOZSgL>^!5~44bUeTw#VU6dp`ESS`1z1?G9+EZQ1ni z{lAA~S2vtYzi431`rh}?zYse0*w0GB(%KIGu;5m)Wwr1=jQNgV^+yLXJK7J$dhf>A z^Uvc;bxBy=` zG(904xU;_@bHyN-hl#mD4!gI74}6%#ub4I6uVkmK8_dUD?hCngS?OOE#K1S0q+T)dLHf074D3V#S>3i|wK9^FB1L#Qn`e zx*8CMbxGL>-#!Squ)TW-QiEhg(4Lj(<7GAILm(JiAj?8s9^R({hlRYvb&dpeo0esx#`T;F7KO36Oi-O*^GP*Sb>)9 zb0>Y>bETz4@}?Z#)#Lpox}d%Ai%UoH_+Se72B1R2Ne{%-%yESdS9C{{?ef6K?ea#j z1=@toT^HZYnC*x)0(V3!*VX(w6m0{SRkqCYrO=6py{W4Ktgt!NG-5sJz%MDjJi(DZ zVjnW;uaB7V@Aw4~;E&Kr4hPDZeom??8l^q0A7|h)4P`=k$A;aw8?Ww4dG26h;b0r| zm~rLFe|a0uQdm*^pRVviXsBXw3fb7r@|PTABOZx!wMz z$S96T?pAV(!t_q~?bPP>v;r*noiI8g;;Y`DgM3PA2EAYFZ(F!u_+04~cn`m2dO*rr zH@ju)JP+r%pN`FHRl8CaHL$++$!KUAodUh5rK-;8tBoD@SPQ8Xe5LfNRjO2TC=I7e z^SOL|;!bWqsqWhs|MNw#;wwh2)5FKrjZs~%K2ZB@G`230KX^Y(=*`35l1fFb!Pn78j6 zS6xr1eRyV>{>u#yQQezjB>Tk~w!P^bR*^$rXr}t0-1o-Q0s*g=DXnj>Pd%=8np^y4 zvk%q4zC<)LA6~UHOs1mDQFB73Px%0?VtLWO?eNCT9(UPqAU=6EYZW;GtV!D{C5+sRplQSmjKA19`~OIU#*> zv`ki9kl9C3zdrf{TfB3nM0X$Z`RW{Rz7fUEo_c_hY4*GTyWQhqa+!NWksv|)^6eEB zxK3!zJqZu|MC=oeCivXHQ!B8mtBOQ4~*_ohDZm&E>?-f*t14U_LW|s)uwVyV0ItUPr^@N0UMRIHUOnmu zvEw%SdMp>WROe5kjQvNllLPk&r%mnz4Oz%fL_w2xd4SEd-#i@Fy=7;7 z7}6Y06sE^6>Zqlm#0|WfMK8kkvHqd#Ps@WS1}A$g)S`UIZR~)l_3PoPa;j;)IaK%g zP{?;E?^2*TA4HH;k5bWIPDtcYI{uuhiN8xvE|%bBmLxL^?*arHWb;dwpy#{pXWr~6 zj(uu~i;+Kyn3nL7{^o^|lTG1ZU(Wor=EP#MqHvvcj-b2l#&_CvXxF+Gpar_`4!d;9 zFBVT_wLlNf_Thc(x&zQ-pruC?H~!XfixL&>#?#O+_hw3Rz_-g)*J|oQe(9J+rJ!a7 zOt}5L3C4&t&x(HS2Em62aN(W(b%PW1EMSV)U=UeHIqm6xMIGK=7=BKv5k%WY;kZU@ zw4$VA*Uwl2`07<&Q zcc1){s;SRor@tSkk_^1kUp4?HsjtM!)v~&+(S;g{fvx~Yp+4TVsXCJPd%>~)VjKoC z@%yWOzlIW#Dx}G3m&+AQVJl^qoy6_7LDWY*#zQKnWY*?m1>GwBFH{%#e0aD{+7c~~ zqH^|o25U|_Y*1!SiO(;rmeR3pC}W~cO%jNk*pO$P&*DSwOnt0Z^j}VXtlmuvnS@Jz zvCBftXN+%mJA_T*ij)xAnmL7l`yMuTYwF(q!ay#GRJ(0oeCsL(;=Nb{C4rwx?+d7=0AQP2HgE{lX!% z-(2`)E)y;W!pRarY;b0;W`fn!f5P$_G&k!PW#Nt=2yKVAudPEWx;;J}A!J78De4Dh zZ@)zjowi}=h2H-$W-$1Vs?DMQ9fXKRSycW57YpfcaDme^{PRl^^!3?{bi_;;3aXpM ztj#^%mo@FKQYq$M?6dAjG|ek~by@}PJ25QZ8$w<*0W5}}6?Kq4&5PS!1_?<~7gvV$ zfb2leyp2BJ?Lfj8`@xI9uqI(5Uh|yeUYp%oq!5?3(wF&Y;85N+d68~y;7uYiI=25G zSSVNHJUs>%OUnwS=3CL#J2j5#j#sVV=-t??q`djLFZ`%Q41{{+bJqi@DY4NB&o3^^ zq{FnUt}}T4^>r8s`{`>|7mXkIuJhBFPwlT2m{!x9t+_;H&v@ta7^X&+72y+S|hw zgn9KGes!z*5vqbbC^*$Wv9q{ERzB73MA4)^XS&1ObbgppAVgQ%Oyc?c;Cb4Hzy#U| zb}<)0Sgg{)RpZ4HDy?NkqLxo%h4W$q?~Eh_h945_>&~_js@V&%H8I!#dQ>~n8g(-k zUPs#U{|z_>p>$^MYoH3igA9*`^5F-e#3g=<&_WmKH0o0RK6_yL5^IuXSDx*Y2tf>P zi}xHF_VtZ8U-5j+`g#uh7~1u{OXNfpe8^pf4wLWJ%d%=a!W8H_{h>sw&o}YXOxJHW zhxW=#>fHTwcS(4;xNtFq0Kv-%fAZ~bLhD}tX|d({HY4V($D41j zH^bjPKFzr|y4(yj;z#=?C;p7`&>i3PJr@>=JpD{U4K){q{tZ{Qi4uZbBmVJbaUD#?tUpLWutwc zD|ajwN-D8_5OQs<7n(sO_giQmr@*m~VAbIyD%EkjDODpi4C*gymQU@_?1}I@O%EbG ztXV_E*!oqV@Ta3QsbKak&Khu^5X7R_JfyjhU+#r_sX2z`HE)>6*M2XM#G6zJ0Y=W=ve`u?LHFs2`|odGI4bPtmZ>)H0najigsd8dyS!(~+1Ad7 zJ7fYQX+$yE#kW0iQ}|riZL@Ft%A#^{2LTU!t={*aXeD_~mR=>B zt{4rY?WGWo=i7xS+S(^EbI{GWjp%o2$}@;s*Q_w1qIZETq|67x9K}j5eH4#OWF7wT z6U(c|rLDJW3h*SQ99^9K-A5TFXN@kep$( z?!)O#OaFeK0Cpqc<3qt!;D!S*>HE8_Wta>KdCW6^JOINe3f>7>)2t$ox|-*FX|~A+ zUk}uXKLRi;_Rooyi}m+NC6TeGNG>uD!4ju5XEw&)K*XT^TLl{rR5+YBRK+f~&-9=Mn4Ld=A=% zt)R|KJu9T~u=PxIX!Aq}$ZvNatIVpesK&pwHL9dTx!!s2tqh85y&9XpX)3abwdoRQ zUuQb%GF{x&Mal^tR7i+jR@jIWkWt>f6=>1JV_jmmE##c zhp>V+h#mY#U3P(@Q@whQscN?rlbcJr9|vai#4SeP=?f|pQqW_|NOgwcw+BPc`qH=G zgM-Q!>cgylfz&Ht?c{iH?Qr+EI7BlrD~%*fK7=JG3gW%H8o;)w3A{aDVIa1j zhUiFIo=t^eQl)?4d&RiylV1G_yj?ci=IVZk>Zf!3-eynB`F${m*yP8Oyjs}c*0>Wy z`48#63bmT7zD3r#qZPMy+g)PG&CC8M6^DTRnPH87lA#{Cs6>$U*lLrNrm?oRcK_+$ z4)Qdr?)rMx0RBBZlI*$`#NOmF4cXg>{h!-k^)-Py235oJ->4{-C@HAasVIlj6T0Ag z5}K>LE0&1M@^2F1=Vq1C0Nvd_MkfzPO9?4QwxfEM9!DLonP2-mzd{PS6%n3wiJcHY z8*Q^Fh^o=KA)!$2R*!N<@dXHIBH||4j9nY_|De)Eo~oU^m2;s> zkLF0*7$aYXjmiCze9z`9^>4gjC@;acKEy^FgZ9}3b_LsegR+5{l+6VphW@gB!Z5Jd z#=-h4(h{mCdQKaWKvUDnc?bvbC~2Tt7;d3U?1b$c3(WiF37Grr$~H;H!Sz67zO zmtosw*Uc{B3cdpg2%PwKL%xHAVJS_ReUwIzhm7Y1{IdTaXix$--w>pB<&(rwPa@(B zKWluUT^tm4!g3!Pt#!9xx!m>b^W>n({e6SHlw9RtM~$tBix+Etep_^?utZ4mpWlDz zr5!F4ys^o|6pdVF;fBLpMHy~+HZ{5F4|OgI(_+$_JEu9xRGQBvNk`q`?D>5Ag!~+I z4gL9M2f`1UxgogZ6qaNH!zP|xpdF(WFU6?jx`UtU^1|gF6F(EPk!|xj0$9yVqmFRQ z+vsqJF1C?JIvo}r%34o4q2=0M_2oLf2!0G5_du8gC6A|(zQmPSYHq%IzDD3r9fd6W zzBGtAC$c+p%fWuYzL<{B_rf|Y?{6nV;9aTp;930EC^F{Swl(wZmGc3xmGBIEeKbQf zV^VQZV?~9ZHKZqm-Zqb!g}klY2m$g77?DsCqy+{j3gY;ZN$ahoxyM_r-6ue~wwl-t z^>UrJ1U+NuMPDZN*)P`wbACYywe%Sm^D~((l;%EZoRc%y9b8##<%Rv#iXB132kV-+ zuJlp>I}Cc)GtcCSh6MND`lcyJ6MCyoNN9p+_ZnYmysBwBlWk8ObU z8t-wsgnJGnQ=|@$h%lLG3o}3m*I;{dY<*W}_>C6xqil+W^{_P&qP1YTLpP;nz7+yd z|61w6ZK9uM01PSV)EMpJ`yK5_edj%hS^4&qh3mE3wVqLjj9>qu=W77x0tR?+)nGS? z+geyiwMg!r=0e(V_&d4`FQ)G9WKf|E=r$%~60-0KZJ4t}#-c^nkDQ8PyO&GWp*pvD zhrCND8xwDl6TY1^Laf{3}~QBtL2m$ z=Wfotu!v&m=KE-cD#EtBMW8pc&1iRB=hF&`V(9of#Sg)5u_8)}46aZf@8+EUZ&n+E zenyqB|HZCGtMkg(h3A5;z@3Md?d4fV-YnTwpf&=Q-?hHka{0nj4nteal;}=cj}e-* zR37r&e1i20P!a^vB10lxy`bd$RzjkQH54?j=L<`a0L=#ra6c8&Du|Xu%R*F3942F~ zUU{CKYH3~681)!Z%>h#CT^#TL*~ufMZ~C9HCOK+VqkhUuO~O|`V&}7L4O016@;QK= z=DwLJM8FG=14X^L>oJMOz|E>F#zlx;=OF}`T? zd;f!UF$+p8_cdEjiud`OR9Fll-l^R4!hDwk?R3S09sROrJ<2;&z=9_Kv>FO@HjlWkQ_DaagW zSqRy1(Bb->9vnCG$XaSyX=&Q;T!9KmVj>otN2G_3lnQxjo#VLiDAGy&)OJaDe?K4?baGLeI_s>J=;T>8=LucjZGu};L)R4C(br>&@< zlVr08eH|HxYHCtLx2jA+70U-fZ=C@q9rFo68;BeuAs~YQn;<|5B4BdeAJeWKhp**K z?Df&b+~u14dik7eF_d@4^jf)t5@NO$5FNISc=p+_LBV;Du#_Ayn7?DAzSB-=SV16f zfH%szuR8=`rY5#{B*!D)@snGTZ0_N=cu9fUpUe9e!cCV2tFhfgLcpbo%KG zvSup-+wE5Ig$dz|E-hVO2e&+4=iGlZWv>mSZd(!q-8?ews{b|FLm1zo?`j*HqZlb3 ztC%FdU#G^x#ZKeg-gP-RB+Aq8_V~c&quw1Y@U%&vdnHGsbGi3&rMRE3S*(9HPJk2b z*6xTOlTnyWqb$RD6~78D5d4E)=?%^PezB+g@bEBmU5!4K7D}IH^|!-~OQ%vR1YB`o zb9K_PF2WBa`K|cj52;e$iH29UgDlQ&S|dX;`iJnaureyD+)pj$--QXbq2`-ybQ-Oe zCO-(~3;lrBldRF}NcK}vuQ=9Nuvuv=laZ6bVuHJ3F6FW%>~5r4E{*~`9p1L}JQCpS zexs>MS@NMa$>UnrdZYGbF8mE^o!jt_ds7C3$vfqkeE9vHuK=v(pFk+MrlH80&)F|f z9ZS{36H-rGg9{qK7+rg3itL&B-?x5w*K-yF2aK+cvQFauXZjJ|#@RRu5BZ2U+iJj; z(t0(?H}Nw#;wzk6YwI7ng+!yda*99Me-Q$IP#8V!CEa_;5(GP2nRF$dGU`TPQ)O?Jp)`E&;UGuEgIVaH!Hs|9kDKaz-2eO@a7Eiy6 z$$Sf!iJvLcOSk^C;)e~Moo?tPVfv0S)B`wwxFua4^atB@|D`{FrxraA9{>x9cK zc`^Gkjg@ko|3%d~hF8*NUq7~OcI>1(w$rg~b!?m%9ox1#woh!QV_O}w28Sxcj~5JGCP8-k#PmBA z9w>HBSklnRq*D>^6A_ZTY}h^&V?x0{f>fl#Kt*0#s{awX|G(HByaoXZ^nh8}p$ON- zhI1aped!v(N(pZffF&=hz~D18#!lJ-AK-Y-Doj$*_2?%9=dUUI0Nf zV0s~FZYvn1^-WC}7VW3#Rn;}(?TmkkDi>D6ya2NX#d68JCQYgC$^5IK#}ItK+W!Ssx-bI~1!gajHM4y_0GBa4_;3@`KSgr_EA`X+zPf!nNEkLrpy`4H0$Tq9M$i!db_W&y zpD-|4=DK;Myk-%^1Bm{sC| zdJ24u`Wqm7=}P7K=7wukIwaaNOdig%*eUzEoSg$?YaPM3`F z?<6H(m?U82IFJ1Rt$NZ%-r35O$Dy3mAaqK34oQfyZ61jw@*?p+h3wygPH&tIICExO z_+Bb3a}8ctzh^F<(cZ|##D}#!E;|uy7ebqQaM-@HZqN^1DEV-rbIYXKY1}}} zv9AEWf6w$hUH~9*+LKF}eB3^qWG2xC#NNs6G?HsY;=~DC<&$U)TEe|1(fBeYT7t(>k3BI4`cLtqAjgvoEs!OdJhU?h(OQj?N`1$|$_E#>I<_V*Iv)4$Z)!<|FHn!de1pK?bi#r;yg(M9TrWl54XC!i$HkJ{Xv9YqlJ7B zkve;>Gk7`Hg?e*nB=HbGOfnKV_oy^5-~;3i$4>NIi! z;%4_kC6~WkiN%v~Uyg;RvTd559}aDT?*)kP`DgJHaU(h=3`@WpJ_1<~e?czaUF$4K z&|1}r^%1hD3y;cT(^9}4$s4>IbRWG(QI0bxnyZE7>RL0+rbD|QE4+)c+x(=dfFz+jz-JX%#{{F%35dl5K&p#_GM{2lwq&6s@y?=V z$Y3xP<;@)rpfI;Xx7-U7hi7im?gag;j!cL=JaNs6xdV{Q*GwXs0O9DzE(#RFQ5zIQ z{+^nYBVN1wpWL}We~R-M?Y*0grLqa~!Qal_om97Ou^;=s{*|aT=sH2ie?Lq!l$13( ziTrqfO>0DMj#&3#%L(pmI|fMtJg8=if4{5a(j_T1cNQ%Gwtf%>wy5X!#un+7^B^{{ zU`sTiys=$sD}-1)Sb;8}8;`B!Kg`v?&rp(~+mw{Z_JtpI!>l!NMT!ehVmDDQud{tH zZ5PGHOe=JW7O!~p@v`%#a)xl$zw#I8%v^5_r62wOXRiXu@0Ri=U$arp}m}S>DqpPca<22_hZm36`1(D&3NO^8)7M-{5EOWO zP`p`knBHlG{nFwWE=&hzHfxQ7P? zCcvP<3?2j)pbT^DyECQAD4ndJ3ODeVRBMRff2dP#LxnP$VGT|anC9+vj{_xM$FwX>JADxsL#(`gpP zeGk|GcObxZ3%G=yYqt6F3zDJx{qOoHXhx5%*AXfZwR`xzaYm4X&8F==l7uA#pXp1k zLg6Z>%;v|S-`sl14@){uyVXEJeH~bFGc4)2xcKGts|2zMnYjqsV(P&imb5r@|718! zEFNB77-)&k+3(hNv}+Lxc8zlH$%9&NhjYJwB|Hfr<;wA_DHt?_+-~wkM+foRaN3KN z1axe!@qlMED|X~Wy>mEq9W0)0e2mr4QAVs!;ROI@^F>Zp>M0MfuM+l#l4!SN5BFA8 zjS1MOxn^LF2LOVj=8n0zO_h(C(zz`b?WT_VfB|3-i%6{yL&lLBZh6+i=J=wfKSaB; zDABVcFiY(wP6kA=n(FXL>)I^U40v-`6cw8(#?N(WkBvoe+Yc%oxc%tyC^-DTi~jFl zA}~Z&gP+|BY3uIk$GHASG7oxPCU3c9$-jfmC+}px(#?FkI;`ZM@KlP8NH*MgKcttc zI7~j~F&{HENaCt>);UTs&mB|jYS5`+-wFW-c-7d^s}mRd8Po}SAHKWM*2=g6=q3O) zurn#gQ)dr!jEtam(%Z!kLceh*mDV-kyJF4|(?9~-ZLNS!C;ZW=u@MEcB zD5AJjK<8D?FUDHo7+O}Zzxwh!-8*(ClXTF|(qk^kXZ)()Yq)CfR68-?a*H0!s~tQ$ z?lncyDwsfQkG7= z5V@q;4HhlWzYhPAd(CE)<9+4kIkuUyfyz(70APFhh<+DH$pdXYl0rEAwMD=-$kDKp z(rphGG#0$a=mwDD93~^p9L;4ubDpXGo|pGlV=8_r{%p_CM7gQpkw=v~_d&u2nh2(^qsTvFR| z?-^$Ue#Agy_`f&jVXa_2qZ|fMn7Cj0fdGNWTM!ks^}=X+yNo(~w`?=suGwS78qL|| zd)-=M?$_l-B4=>sNq4tZ{1AKtG~WV_TW9G=exD7Mx$|R{3M9J4&Q~3ms92&p6pix| z4dmK#mzQ`}BAMv|Fx5&iAYKoj-PK`^;R(7!IUi2V2xF&CX2#aGY80I*n>u=)?bHU= zl#K|`Z9icf@ur{6{y5|f9H;Pk`=HUP?6HwLG#|* z^R3oJrhJ@JTwS9)!HvX}y0Rnqj}dVz{|?AkLIvaIW`uMEAswC#PLX zRt-X$koIV+3zJga|2g->D6etLikhli;A3S*KdzxauOfO(~Yb8S?-u#WtG(r{|cZAnq3 z9s``PGXT|W*e5SFb&cI48Dj=Ff? z0pouPUhehEaVK{v;=*p>PFZVrP`c1Or_ONVryVx#NORRb4HraV}B3uQqY$YAzIFe`MKeQlFk#}q%4LjBBNS|%TAyv z{itT_mxbPt=}j%fu&Tk*4KXXhq3ppsiC^TFF7~ypQj~@2jEvfA$tb1KDRavkV9i%2 zs$j4|OUd5)LX{H2fK)f%@%fv(MU@?a3rBRTbn~DIFeVCle$QutUGsXliK3VQ}|){?2FtL%YANGy_nJo1?P@_(w< zj-?g&J496z8>Qp#9r+Izhm4~x_AOv4!vhG1VSLQ9AujoF{%jwodr0-Z)2Uf7Tv};g zLJSL?lju&h%2g8~f_6)$H*8&@Gq**qu6Z{&d*HEdK?N~)nv+oOQ6qFF` zQpZ>~y8k6IiV*ty>l}@>)PuVZj}1vG{I8S*E;JgXS*lJt_op~KdSDd5K~QVmz@TmBivuwT zGU`xCWn%#krW67-EAi|H5(D~1XJ)tpLo%+Y14H2Bi$^)DR#rOTg@upPKQ3-&8y$@2 zo@roubN1s-LMXjkC7i}kzC@-e1icbCw_scL=JGm5@cWN%H$ijB=|*wxp{p_InpIAi zLyXJckKM}C$|;KHRX8ZAC`W~4_}+}dRyvK$+yL@>W7c9xL@@oG zeuDdWT+&NgM?&H$9$h@+z2I*P*l;uno^%?+#2YeU0dZ?3UEu{zX*} z*u#(e1;0@^G6gBx9Q)CDjTaI5(N4C+lnw23aZE)4rWk)rGK!cO#~f8?s& zy(x?XRi^GXylGbkG)Xv=W0&Q-sHL+q`4O97Dm5swd>_Y%qdKD%vgPmM2Nr10?qQD1b3TmSHa_}p(5W-U~{rWNjzM-hF@>0GmjEmd|6>@HM+R8dOd`dP( zE@B&@jMy2R+N4%S^McF6^@ndqu74tn)eTJ#ElG{`Gnw%O+i-Q@rj1`HS}JyCDJ!9y zDpP&tf%T`Y3r!q3BgJyr^W%u6G81aK?1Y@Q;ct6UEQKIvHcOy0o}5+?T@k3~GCFZa z>kwrf*wpkja!D4clg-2tb@IssABR~t=0l(}^Y(nHIw5AM0oo?cw$FLV7KppZG4cwm zDw`Fs%G!kJvE?JZLcq~Uz=^qCa|Xu^w6Df+(iqtsm7VHKLrmKrvdgNgrzbJzgAyN? zhC6vYUEoYPzNbWB(&gz(X(t?#Y4*G;s=X+sJ7>w_(=q4RRk<3DgH1emcJ10MnV0c3;ofypj`w4z$>SbAT=y`9^)_b^^ z$F*B)0XJl_o$uBS;54UrAU$xYFYS#Xoh0x1Zeq8f#wXGMm=0l3HTq3+I%UFfGB*|; z`UZ!Kwr5?d9_Fsq>dvMyUfBMN8(#pnWFHZCgKncu;tR%Xt2ZYGH0w!PCz8t@mx-=? zSsfUfKkTCF=Z+W!aFJ0ZRM=+BN%r&!aVLaJ)NQ@>F^bv2U+k}?c!bY_WZ=rF z%q#=$V;a>=y(HisqTpl|>xzdMV5{$rKA*7|+m?_TIBBA+RA!5YLa&w3)2((|!68{C z?<;>#Xm?_h3LOWX2F!J}g&D=Ep~Z${#4~}1f6m@0CVd@v$7Ath3?OQn6|~|)41L0w zHYjKeX#1EBE99-iRQ=Gy;>;N~)|e`1HN!W;ue>n*eKqyq!D>L&e~!I` z5jB;If3Z^S3ze)T8E&Kd!0$S!9Xo=k8T4b zv%ezi2kbt(^Ccf7@D}y-4jvSyd3AlmxSezujGP3r^^O2|XV?c^p(s%!JHb@=L8lWi zQJjq^DmrFKzgc;aRzU%DY?j(C_cr;DXj#X2qVA#a@*5Ifc{JQp*A-eMEB)3tOd%8* z6f2;z07;YydDA&i@B>rP72`R=XgrA==NK68$i3j}>WrNsD{qBtS+ z99;is{E4VKTNgT%dHWmQvHX>7$)w5V-nV@Z>uG^^`)a_IPjdSRV0zHYz_FjTi_~7g z!|E!Tc7}oG83acJ_M(`MI-dOwf<~+p0~)n$hOfutar5wuwHr1~-9}nZX179(ApZ%b zg<(zgLp@oAC*;I7zWaNzhdtD;+S3OXe`?cHpt|}V+BT?`;my83zR`Z7@noS-Cs;8q zmNjZZv`t5{nBcTy!FFLP=B0gfh1!>8f5Fabu>zKyrcNb5$ zo+|uy%j+7A#|Dw-a|Tadg8ky+Zo8O4{oT!w5Q*O&jvh8 zP<;5ey^wzR`&N`784CDgu9=l(?Z5a>rXcIfQF%T*rWr>Z*mpXAStD}!*8O&57mfRp zvZ~4mZO-6$TrRac{l`YDuekQZiLJ&zw>f~AVSD&tgxjn9vs)8qL7=MSGFf$|Z+_lz z0IS7!lF~8TT3-FQ$Xb9z@RRmU;e}*LY)f^~;=d^)6a~c5zcBY#%cNs;W7Gy>$-u~E zlBo$8y_K>4UnHIbtCA$BOf-uU`6?-@-vLuua*(8p7?{PXuV$19S!q$?Gmm@sNFNp2 zkuh23gn5HO+6|H|swGV*B-^EdoK3%gW_*#HOe0b@X1@6SeAMjUFk?}pZI!JOehz-6 zxeWg~CV}$EGekuh1sCm;FlD=p-_>zk;HCp-zIKf&VPjU(6Ibr+fqskV5lB$@B{Z_n zq>!S%vQC=Y&QUy%|0V;Yx4aN<2>GjOLpfL$6*amh2OGv@8Xdg~l39z9x@qT$F1sZ- z(asna*HghAlPDNQ63xSrz+FP5s{woMT`T~aT&4?<3N1@7W+W8^F6GF8v+Q)gvf6Bu z2A{oAqpxc=xuKO&b8T`(N1bG@}&20hnTb} zj0d4D(7g%ULKY4rvQ(t%VWZ(8CZ#)Js>mOX+~g`4iv6%{kJQ-aEVicd>>te_jBV9_E2Ro2mgG`cP#%V z7W-P}8^q$wzRM4@BD6O=^mNSfy4Nz=W3uWHC+wQ?fimC>YK#7J_*LK-Md#RWc527v z1n)q&)DH)5o2N9aXVNUXfX3}L0jhMPu*4b-9Si;eEz`9KjSTm|U5?rj$Awn;@?ja1* zkPwI|%hW%+-pzjF6@f?cmHQ+r#zH_#_+&D8tsUeYXQLe1fQII#8njvRIArOKZg!i- zD{uE@&6j61akm)dB_l;V_M=!|)rqh(`_#fzF}+iqfT#aqK$rC!P_{5(YG5wYTvbENpZ%F#AGsh|J8g|MiC;&2;8o#Whiz0s9MPQ_yYfuT9x7;8gHABgJTO2?6Oe-589XMXC59=(jbzmu&!LJ917gqzzQDw~GxZ2#ag4P2&(F ziU!ukLp)zL60#+vvQxu;m__Uuit440 z!%Rb5QF@JXpN~65ztA3+w47uSY0A%=H4QLAJ>hdn5~B1U9r}w!2%Yp_!1#aL(5Fs! zK+Q`v4KKki?X~(o?gXCarn_I*czz^qh5uq6Iv?}BSr#PSdAEU~DD;8%o4=GM;_;^R z+Z6cCkJSxiAl{G69U1l>-Wkx1?YA3xzn(&*O7Fh3a@D_s<3-*M0EGDWPt%MT9~`i0 zbzFQehG)g3J#Yn6mcbRe7}+`-Rd#Ih!eTIF zmGu!2ag`S{)L1JbsowVFi)UdaNddoC$Y=Ri4vEyshvPKmBJw{yU*RX5C&%GVJa#kb zC+z-spNr;YM-W7h??C(z zVi|qOqiCHD1F>b+h50 zRz^f~*5=vEweY0Q*O(uTEaBZuU$3;3e(w$cF^gUn8t7(PNZ5pbp(LY7yb63Gbb5uA8n;iI9($Be7gs7FrU>u>8A;j#cES?PDAxRz6kY%i-y$M>Y_eQm-+KTbGlbtn4 z4dsfqwHe>m)`&)3PBW3Rf+iu@B=`+4jy~Yc%xusE)!Neod7(S96FN$vZDbnfsuC*3@8Ifi>v;RnVfcZCNmLUajF?hnga%ngL`Sx4 zCfVI~Sns`CLv4wSQ>UiB4j^z(APtQ*;m#Svr`uxN$2LM_+H&lib!i+%+#<#A1M#Eu zBvlrRVA8m9>!8O^q{bom5}oK-c0dv?MJuT)T_CxA``E{;%6;=PksrMt}s9F&q&xK(L4+FJ^Oa5 z*b9HP*Gad@_Wm1gqy5do=Sh^*r@ItR-Qk_2>+_y`?K|$H_!#jz&9@yVRZ1>f2{oJF ze+8FP;o2x0<2o=gicVwbG;&!Swms>$QX7O6J|7fuRuXns|9j*Ktsmm;c4|LNZk?-U zXgXcvWY*b`GXE{Ui?7Y~6<6qE2vh1#%uume%S_I8-++yN11tvJ$kM;`z1qS5FB6e| z69c6BRSHy{ihD5_Ukufn$l=)-#*;NfZkbCg?^ng~gFJuU$7BpOC45R2>EPeH5a^kx zrE$Ov4oeCyE-rQkh6yNK7J7P!z?}1Q#^Nyz#>U0T`@!d@gG%$K{ov1mdH;4Orp7OD ztywFm5PWj7nuq%#sD~FifX#R!?a0&3^*RcFScBXfV&^pv(X%xbcbVwR`9uexYR zJo7SIe;ghjiWsouu{s}&3V?D`VRDjeXwv$?MlF;QaW#I_g)L{w{4u!QLpSrRv5Y?g z?adY1n~br(&BqO2bz7|69HX75l(DtyS>CHHrkg2bA z5c+uC^Il{!!N_k~hs|KiNR_(h zFW(Xai{ij)(#&v{9p7F>r=Y~egA~-avo-v#RKqo^2}u0h&Q`|IhS#^p}bJdT;_N>#|AjQ)@(DfoX5c# zy&5^R(_4O9amO9ewXaCL*3|1TLlC`Y{oJS5^4;kU{sxBS#7Vq|xvjuV;PTmos-fe+ z=y6)bHBF1#BbsiAsdic_+x9`suH$Xz(tU0_{8;aybo^{tkr0qh2RMX;FCm|m4r{4) zocm3DpnhmRN4k~|!-hdwHq6g-)*=g7fS!^R7bmBzq^d9-9FT93aDGkaDz{7FHE(`e ztnZpF^FW1sIoA) zUi{)VU}XvM*>)zA&101uku-0&kfHUmKfiutFw9ZFdY&GUCXNRtLmR&#Ct5gg zp5=-rFgAITXs~1~RUE#CC@-0e%{DP1KASw3jVYe?g|dx*Q=wotj98!OQeeUQZdrq*&4f_FHoHCJj1o{_IDHZFY z3V&f6Qxu8vw%=>Dr?@#LT-3+QS#8AfnQ-!pRwxtc_vaHfqnHBwTshoww&iWOiEq?F z1HsF>^_u+cGyoASd+1mA#dvh!Ge?@xvzEeA(*ahKf zjH5uju{B!uz^(F~O2APRtS#cymA5;ig}7^kByv4E+4ErIjoqNrgsk_yEfJ1rNb*Vm znZxYZUP2uzw#OIpBjR`4&UMuFX`=srcvY8q3k{3p!u`0O06h)fyqkfj8~+D2?&LyrO-cowfDt z_H@_e8bd)||I%hFqo!2Q&_U3@?@b3jov4pn?UtGblGpXeHcEs{IcQR+N8P&Kw()eH zYS}f#fLTsinaw#IGUiQ-^oQ<~7fDt;Em@SSXm8FBZA$dy2=uNSrwEKfX-`);$5to& z5M&?E2QIP}O=Z>7p&`kMh8msR%DtO?@VLJ!^hgG%5c~-25;8w9N>gmO3dFK(BSZ-C z>mY-LTPLQ55~N713=(pwNt8ic-XPbu4<>`KVzZ}A#!&I6msd^C`8@mbww|)4Lbyxd z`yJIzv)C0ewSh+*P255f{jf_I)fDGy$}M>JSD7*Rr+xj$ETe&cwau)`ckPwG57!>2 znkZ&KIn2{!eZ~0wjC8)?W)NVgjU60#ycw8dxgCkoE?-!5_%}HW#X&9f59xi@NZlb2 zR#^gVIOB4ZgzC1_L}~BiRz2w}+RO!g3fT_~rKtrMaSm9;!RZU!0xgJe3E8Imwsg3N zPt!{Y@Yt6u-p+|}NK}JWnoz`T#-Vl$vTD)$Wc4q*3+qAyET2U9KNyJkwDJE72@cH5 zg9IFXAq+VUsi zv*XeYgz%}!i2mIPU8Voq%}9K;7W&xO7!*Fz(_D#*sa%qumr2YD+}1J1lsxN(1JhhtKP*?AsAC?2x1Gv1YvEpI2Jj9{39eBBjzX$ML`9ZGtj9l*zhIk&SQ?l9GqcXnP z)8%q|P%{Ic4g;pg^%3i?=L>}qb(bdx-;a?npTR{A5S<=>3pfpg-e|R%)3o?{Kracp zK^kPWL-7%8Rin-Nvs$`VLX>lnTFZ4@Q#>4rjp=qb2W&&|&b+-D9Yf)y69p7ZM=@?Z zxBmD|!J$YM-Vo6!#zJC0^*!y0)ym2ZJQ2HiOj^Eo;L#vbtmE)|Rjokjg;9Pi-L+40 zisl$EgTj(xzpI#&+9>LN2=?NN21yKpHtsVxhT;RMfG)Fcy}RvpkX;s6p(rpTGjncG z!DGXVGxl^{=KSm@NkI0X$82h?a$ta@fO?v6yjMQMy2K#J3T5Cw%RU%1=rJ!PWwS*8ofx= zC4-+g#D6ass+~^SpQw@rdAB_84-9Uk!cF6!n7osY9|T;%5XgIMelxU*ygW|Mjh)zR zb-O`*JY7?^H6A1OZ6h7n?a{<*#=({lC34jw(s?A9Wd6e3g{)YUV(jYLw z7`b_7*-J=2Z*$gu2~(Hg@-5el*nxCh);E{%wA{gyUr0;k{Zk)Sw$@+t{fl&C*PMup zzvw`N*#G*Ft<>VAznS7n{uP+8pLxdUjTsiY;!bGIi1N8{TJ5=1v1|=!OqeA z-UW12vlb}P$vbvAnnWinbNdMl%_57tp#YiJQYK=k9#m`BgFoEst#&j+@vK@IP2$P3 zA#pP1(jsWl3gKO>u%V*LON+GI3NTbBXimzaJtZgOw4J?CDwB5-R#2Fj7fEb#P^ZU| z2A7#e$cIavabBR2JGd^jiSD+r#Bx}qg$?f%>`&PPbY0|Jp-eVC`4=R1LP=C1YBDag z@$vDgFXup=tNryRt466n;>hs_1Tyhl#zk7ga&T|05iH(*5xEz%bgv(oerAY2H}z7Y9XbbB-pWhf-h9AqTL>JD=S$`Dj}<^VM|^g2 zcyaQJlTx0S8_aZ$C!hP}efRWmeRvQ#^6JQHTW}M-2UU|qfdUzX;k79 zAI2y_Mn;Afhyl1cN(h)wxZgoH_I0L3UU)P^3a30S=BKSxJEKdXfW3DrU%F8l|Jr%a z0q&8RvuPLhj|%(mv;L;uVeQXE;ql|WqlsbD$@C=0IT;#w;@}Btc?{&Z-I6$jfra~l zh?09^*wuv)#2Fw0%S?J8jRP;VzJf)(1x z^B`(9Eow~@I5RjIq{XPlmzTVg^n?$R>#^JT4}|pZ3CDb6#Pj~nxQ#eJ58p_VZikxR0t$nWBM_PbHzd??+Um$RT`k6(8*`a#%@G0OD#6H6e|@9M(p&Kpc;E%Q8Bv zoY5IHYoZgFbg^ryz|9Z5#;LeEtD>pCDV~le%mC?7o!>(aPaF?X5mYSeg9|%blKyv& z`7^JJ0X({5w1q~-V@`&bP@4?i2I8l15PZ-meGp+30zED59z^V30531^o@V+D!#*uD zH>um8lZZJQ7A_hzG>jSMDinMaIFc-!%;=H~uMExeqF@X|HxOTbs9lG-a@_14ox zK6NV5i^j``H2_zZvz#>&a{cQt%_C!2CdOj{KjKJEA1GH;n*dj5{uiM7 zkNN{G?#Ah;FWuZS&)(g7uA&HuYZ8>jC-*II67gZ78?KnE^@PfFQ;O7M?#Z|+lsV|D zaugxn@m;RG2C+U^9;H;fu0`&dLBA*mPt)Z}Eil+Ms(j8c z!z1!1Y}aGb1f@sL$No&gi+A4)@$?Yd-j{JWLFDcT@F zg^_8Nb0$-6GjOK%tiJC?tV*l`M+=1ofdC#7ASz6rkJiSG4u^sQ^SKBF&CQrNx%=fC z4HXLA4`=7Ev(+2g5NUJaDgs|P44yu`V6|QSfKu~bGKeH`h(C0QcyQWOEdMZ%xohRR zV-(nBDzbA62_e=B-cyBk-PF0bV_sHiSF+uepx%r{x~1Pda}IJA)FfH;@kRrxvK7oa zAt$7K{B?5qhG&g@ghjlBq=|yt9fTtM>Zkf9LK87|F3KDREKX1UPRebtnvxr|eH$uY zm+#VkKZkPlwgde$rQdEJZPQ#lwOXfk#COUsjw@x`eZjEG^5BUXwtH=S;NqNvLqq*( zd)vvF=xoJ?2qyi}o-V(?Prh1X=eAu@yHd{(`#LvO&!}}k2AX%?)j2w_**O$Z&cq0| z)r+CkT&}4kYicYREx{V@%_i7xaB?FDGoQi8MnFp<7|HilC#0v-Dlo|^D#Ai{{3TZ; z`D|)xLLkt+ffidyszCp`k-s32!sp|8zCZK8qbThi_s}6QarX0eyG`W-45lu%+STdJ0X0^esh?ua*o2Q+&yK@18ZG9cuh!A#f9%=pW_91Q= z#mp1>C6!%O9`@#(1|*J5w`CywEI3nstQTt@8I!~Zk43(nfP=a_sLEnUy~SwjDMH%+ zLvTMZpf--ODjY{?h;hxQt^RUZ` z8-apqOBJ-|&IFt1Q|9pQ1#cYx=Giei)7(&XvJa)kt-H3WZZN2zQBqUGoQrtg9>_TH zs-gi7ex{41%b`Ijimq#TTI@Zvbt}^FbMGTFKHc*DuK7_LDxiFN)RSsiln4KzU5*$! zDa40sy4K-BDyWqisJ88+r{0Y}oV|U0!;ILVc(AW@REzii#PDO80!?vSLRSxSKi<0m z>O=e-Dqaf9TLMI9#KcCjV44m<5fLjoG>vQ-&r)5h@JbU<|M((9S%OEn(&ZvOr-z0q zK7MEAlYAVD8>3-wAn2#{Nr^%#5NrL4+Q9<75E+dmm1iIjpFTSsm}hkZ@=5}zAA9o?v|F81|y|8zo27wW4$aqGm!;KA4xPPzkR4!0_^9kSdj_`ps{v5 zSW({1>5fnwB2gowcHh+YK#(%!<={IqCN)rLaq1Wi!{ofxEJeIt~ZqK>S3 zx{ttb3k13oNL_Gm9V8>nC@QFQOv?gh*!lQ$ZHM-lgm`#(uvS(Sv**kTlPV8>ANPs$ z{rdV+l(^OGez$DPrrk^1`=$mXT;g^C;JPF>$ zCjeo5BwU{p1)qz^14=gUlQ~-gXOV*Hm9rIhQ^s!b&xxSt)pk7oFlmCX>a{`Lj!sP= z=N2hesN+FG-`$P1@Qf}jDjI^f5I+s*@_>MZ^p)nC?ICvldlPV%7Ki6a;8AhJ1B04& z16l04sDI|t&P6S8>Dl*74U-b+d?9(h*-7dL14#@R@kTln`q@m|oV=HXT{&B>N)d{5 zPH79wU#~#?Pl5Z_-J3>$xJTp!rFMscK39xDJ`!3ze(&0V>7j*RdJDIFvNXZ;D_^H{cvfkR>P0GT1irMeY;HE-Ge*)uv&4Hur>N?AhPzi4RWy z>7rJOk8z{z_jRk?f|`mZe=IRR=#NRyW``Ty3~asAG4|wmHJdO9#b2MVb2QrjMGSIf z_j4*c)JtT^@3GXM7GO@hlXsW^Y>*Jw#(=0txSTHcr=L}I@n}$U?#jNmH2oQhQx*A1 z^+8j+aQW~JKc1<50JG7vPmY;fhe79bUsx(LY!H7_FMk%4}Gt>Q&O5qE;e?<9GAT9-jvZ zM(CUC@$+ouCBr{2uvst&;B2DQH!h>nNP>s}y_1G}SDC#~kk9X!cPdaog5|l1z;}-m zFnQooJgq|A#e6s2wDHY>UQ(z>^y@koK(LfaFZ4$KA+ca>Xceo5`^pVT&QHH7h5OKy z(Mln}@J!)$4lgXx?_H_Mo;a~|a%ksd-q%Jj2A+&2-hx^%*Oyih)jnp@ZJq7tIi#%$ z-v?8O-|BoKo!yz0SRgO-*W^Vyy9aV&X1g3uixYM{CkAnrFv=LuA@8SNV1hg2v$N$4 zproXP+waYj3Hst;cfW<_<}V|p9X$JL@SF2iUlEPtPAd`8pRDh?At$JJAK8d{02vCD z!?&N&K!g=qqvk0uj5CkJUJb(NFWZ=HKsPpoNAn#cbDFC6)u2EDRl!uyT*ImEU zu4IH;#G5NI3$<5`osJcsrf93+fa_GaVz)XuT@OoyLK=bgu7LrasyK-M^8$z%iC1Kc zijF?G5d|$85%ARa6LuxJT`;6!Fg8ARb(L|F-0sH=ag?^7S0Vi3kU zB<4>KiTh~8!?Y*${phMXt^fZYDF3Oxz0hF+XZ63NSqXF=|Q2F zI&zl=LDTTWMsNlBiwBEEinU!m$)lvCKHM&m|BtM946L*3_PrY$E4GalG`8)uv6D89 zZQHgRHMZ@nps{V+PEPhY``!D#pZD|iZH{Y>Iq>_BA)pP}@>AsiMC^m1?K0*VkLz~v z2sk1)Q^ZrTDlf^SaHm-L`-4^SFJ_#u!$`J?xb%HBQpS*dRif$k$^gCospsK0qLwE@ zE=Ncd1p*k^lBB#b?aT3(9Hj*d01;Mjc8as)gSGDEKs@FUpDQf%a_x_TvVN6d{jVsw z#zrry?SC*c)^nn~;EY+kg)&qZOO5_JlKdY-3C#dDp-`9#3LO{x84@DM)jbyMU92*j z-0BPI$(|i?62E@zLnq))IcBAq{C?oIaw+&agNag+Y2JDDYHY(UKp6pXs}<(DStc5S zyqP~1;15p7xDdZ~ws6;T`Mzd`q#pcb+mvglR<7ZX63&I-JNuGIKO%28};czBk#Honxi(ztyeM9j{L>i1M)_xjJ>^MteD z=?BEEPz~%2)f(Y&rgaGq3jc34CD!i2K|-GxEV?~3Piv>YKTvjCqMF^=C^!&H8}#la zDnf1{1@FrNKR)rz5j_e74r+Y`JEQMLs>hmBSL%3|!(x?KB*gD|<}Qony>6#gZ>l+Eqtp1Wcp{k$R^)sVdi?obK2N71 z6sAhX?iGF08LY+tHnnt4badg&PeDJ8t36*uNC0F_-&1WQh%S1B`;y&5TluB)vmr&` z81kTG=OmFDtowzL;>3DCBB7&vbhnn>HZxHBi_Q4Jl@YpsR7oKBE)pGKM_B8>(52)6iX=} zDhCREWorP39fQj@??&^NE_=y8qdFl{TOevRQzb!!r4}n(7A19Fpj19z4Hhpp|F;Rg z9Dr?>{wt8Rs^-G!aFX=?{Sxl?B9CMY5vF#n9Dzj$EWyDp1Oy>yjCPU8MAN;%R)_VAg0E?Q+a`>em5~l*Tkn_I39@W$WcFY&-9aAHi@6Kl7D_+Z#v{Wd- zRbGC_(jgM+@6Hh!}>q z9e};``omb?asjh>=GQr_cH3@e?C~3m3tr2y%fkrWg(JW~ZCXUTTp~?-0t~K% z`w)^KGU7R!VewS* zL3FbO$cTqM|Bo;E?<6%AHI@Qdw!@pWBi|kSLRct1lmRMiXdVBSm~nAnpra6d(IkMT|!^KbS9D{t&XEp9mQ!Ij-i+R0m$KfYewV#^(+ z+Ks)b$&x*_BG=Y6HiF;X7J`gK zfiP9AFxp|v@Rkmk>*)`swNGEy(?8$@(mCYnsY^>x{_|1zFGFrZgS{lW6qaNQ z&7Rb@*XG6h>tTm7YJM_7+r?Jv*L}S7o@XoVi}xX8f;$Nhf_+>0AhGZKPb4cc@|F>~ zx-xc}^giG415iaIJp|dxc_l!5#s(&EgY~q%)rnF#{$!hySKpZa^t&D{)Cge2j4TME zc0#v$zL~wUx%*q`)MT-r@H0HRS3m%lkYmu%?Fd|`W4Flx$_KKoIhimzeuFy3E>g!% zOE_@?&ObpRa3mqX(FtrfyD=&ze9WK7OAtlcMbR{Lz@E$|LEGEdCUf1X16Ih4fT225 z^6560z8@F{+%K*`=d*PLZDW2H0>*jT7~oMBz(USnf`T2Cn8o@z2)>P%xo&)(cKciQhG*6_q>@H4Sz%w3_R_-64!Fm!JC11 zXui~qli@IpEam^-F5TqduP_G4uz#;47heiW!kWmhuBHij98oExRZntcJ&xo_DIdhE zJ_UwLpt`3^JYp)C+PXS%+jXJvEhF2ormyb5^buS5a1BXwX^L=4p2^!NNvC)^F$V`! zED>eY>`Au1{1x^CYkn`qqM@e~W6Vn2lk7=)EAbLwkeuiJPRx{OuRcAv=Fw93f6(W(1an@E%gZ7n56YyrUMU!7|zP1|8lan$!D_c~-BBAMIv z?q-oq<}$uDB-RL9l*;Q?O!hg89+I$563{6-IwBtPxLeMY;zdoBlv71~fBJ^GHk@JF z@1zdjTeNDuFnj*>0u5jh9HoOY%mjnU=A{ig@%0_N95Q8La_Yoh4gYnU=0IF$Y0rXU z2m8^H(AOGb<`g*)_1;hTZ}$jZI`N9{Iia#FA{TXrpN_9H9H!%CmeP8vJHr0yI~1;N zTdwv9W+h=`4dzi2?bTZT~*>BDG3Ww#IM}4&33KGurRwwLKw9_-HYBF85JYH z^o^&vrqm;_I79H`cw|wcc;WOecLuS$w9{7qe=J-=1$p(4dsw&0Z8F zW4O?GKO_;!>~9*-tF93uYOX+M%_q?rgwFEc&1sv}MTbGd{IL+Hd{O1`X0T1_+e|eo z%d*E@)1~ujRV~Zc!4qxn_EU<@HS)Ub)-fw{DnY-}n_P7nhE>)tQ*{`)iXXoHqw>-# zCIs}~yYQ$lw%5YB(RRp|8I$yd3;!C|oP`jz8s{J@GbnvbU~|wPhQ2*pCbR6+?T~2P z^!PdbPkL{egS3PHMDEl!{zhwcGK9jl`3%oo(miF!o|e+E=ONp&;A{Z6wnYw7FzVB; zOP!?!0-;YZP*-9G=R$@EYq}{ssE6-NvMu|>M}kTcfdlJq+ML=Qbw1dRRXkMn`EP!J z#r8YXtAWYdABhGYPa$h}MkJ4;#>2H2Q|z<=K)qF2%kYh0hD4xBzNY3fk&1QKP3+3y zjV9mqzC8hBO|ObdXb11Z?_z^|$4>nHJk*!_kUnLF<@b!o$AvE>J2L}HtQn`d;6mJ=f z$emX=!DOXV7FfpY^^_Cr?q)ff9Kqp9QqjsuToSlQ%1E^Zj}%13-vMao%evn;j**YI zST_4jbi~9UAGth`EC2Q*N71$&helXwn3^f7n9^F|)u!CFYt4U{-5;OpX=Ig^*KWn2 zU-)u!!A5jy1fxESloVP?pI54hy;eufnGe`5r+?Qyb8pq&sW!YG+!+2UsXj4_tNPA@ z^?~Pun`PqE=B%Z*3QM5z!ZPyiNgls*C|2IAp)-GRF;x3OzF^?d`bRhrxoCM=im%#; zS1&XtnpD^Lhx{!w!!E0Zx+lBZ8(IZItm^BTQomxotnBA-T&4Yet*V_uGrx5 z%F#|ErpygU-(_@Vh z#lcLgboH*8fa5isDPRLOG%{XbXGx7y;b8Kiyjus;nV;Spbe@kpnPXeX@u_2ak$~pm zn#zn#Uk=o|aShMQH&>5AX#wk%)f${F|6B%(@>%py_cdLwhyk*pFH}yhvRELZ?a{-F z$dUe#4?mBb&u{2-7cL^3cPN6Of|oyiG86>V((yHjC@7M+1H#+=R|&s#%noUVYVoTG zS>uSf849CfEhofc6U!YkRBF#Fq^(AIK;){zkQ1{n)CO1an2(7=8F=uhd%#azzL#<> z-fm_w&aohyBW-Po`ykEkVVZSS7%YK)31QF?Za*b4g7G^W_wa0CCfU(#<|9)kj$p?2 z?&K^9ItRirD|x*&a9oKh=!6lhR~lJsZO;~(MW<|+B_H-!=_ zJHsq2vF%(Hm&6rOB-uUqox(&?pwQ@ohWt- z7MkU7H}Yu~j}`Y<+BJt9L_aIL2?rm^$Jv9!VoNXh{%)8YQP5)1<}GYTSb|xAphvWC8NS7(T@l=;Sbw8xZwk<@Lv&V4)_Z_l{i5!OF+tnV}*Ap^=U%Fsf9Tm%Z<;ue_W$^QX&TF=Q&=ZTw+_5#B8AW@doSr33sS$YHLT~T{mAB zUd7TfL`EkUU6P-U^@-^k8s-uo&B?t^Hs3tPPln=^)a^d=F-c*^U!3iUT=P?#m94oQ z6rC5X^76XoK7>=Nq&37x^L9a_tbWDnaCgKuf$8D|EyMk0iXuuW*zO7236kFlBShkk z{y`o}$Qvs+a{2X#J)@~MzGP6%4%jV%2z0> zS9eNKb^VsXPk>giS%@=Rg&V!MW=2?Lma!PSDrht=w8~EDLR_^<7y?Ztev&0!g!)hl z?W8hE1Hg{P4@Ga%`-6O@+I241z2Ocw_z;qUvR<--1Tpwm0R<&VI)RL1%%r;0l!YxT zH8!=Iewz23x@skW*HZVpj8)6WPHiX4gjXp7mrim*h&3Vk-Q4Qox!p8k9kbUXA0Lku zVtn~{eR4){dLrdM`J4gmey$hGgm&#CtQ8eRD&(dIa=BbKv57hi-bYruy1ROT(?xGZ zDEV~8EZ7fEE!bZxRpv+E%GD0D)}w-b8#||5kI)l%+s_MxMvN@5tfsCFv(Tej9;Xe5 zu~(#rc`~Gic}$h!RoZw_1dymqn2+=S~w@ganu;(u$ zi^&@Fit-qyFR}htpHT@`XA}1FqCE37f)YdwFoXLn7ba&0W>I*FMe|RHr<^U-Wzfjs z+->8h&btuAn}UU@u7lz+cp4gphXd!c@~h7^;9?c-ti&y_9z+dZd~U78f~!j_RD|-Ov8U;g8E2ynXe(?5BXthZK*}`q_MfZc~>Y*0k^A zeKYoZ% zpGaSU;;3w(?f^LhR7pw9c#(Yd~76G(3Bx~(eGvq>IjCRA}b}R zdj7DRbbMn_gr1_4_&=SM&<<)bPoRsQ4@_F?W8Hio{nazC1wn`tM0S>7cup(DFod=2MGyJPd;&bH;&5GrZ?@D<6`?}>tzi~_<ms>+nkw}#Ega(rw;Lch^?O| zY23aEz?;ZM;qS0mu0}~A-iglD$mc0kK_YZ+#7h4N!*R2~W9@v!@EATLWi^Af?)XC= zLLK%Liv;?HPRcP_WJndjObC|Mee@a3(uY>u_NC*#ZQX| z_2SbzjHgfbmF8CAyD@CovsZ1LOH@w*BQ46?>(|K&6vC?M+eF6`1PzZewTV_MWNXbi zm^u*pMIbkDPA^{IC0S>2j;tp+<%cW~0_}I1#*i4VfFf4;PP@Pg{9fXCv7qj6t z#cSiOm1h?_f^L;`ppOalD(exv*p$e7QOv<+NF)KpeRRIKK~QlWw{CNx`!aC@H z_-FpakcX|$CRjVS4+JvOX?VYk;#+YSb0_McD$x1xV#x?FphA&SnCN9kfvsgCet(-& zpVI1mqLy&Q;smNo5Mi!d_;M?Y(ARoK>iW5KRo*(7{t~d!ahO=^~JST%GFPFgxDf z)MFyAf zfea|T@@m9LKk#+KgtTaxxWN&;HZC;OPS>BAi#uEnQ4bJ9&D$h~%KJ(b;!u2{CwDGo zzaPR6y1b9J=P69vFP_3yuZJ5SXbKu9|svc`?GdhWj-)1MK zHk0>8!$g2mf^}Rsn<*`tBToa777F{FueIeyFYS#&cuR%|S-u^M{_{QZ73p3D4u0O3HBQ0@_rnh1wUKg`ZmcWZQtOPnwr6G!uV_{i_ zGxz*>Z-wB}GwJW1gb2OkkF1Jr>~9;eJ47`Q76FOXPBywrPm45Od5r7^;@lq3<7Iq} z?!&Sc!n~=5aqdQ)gZ}ay1uC;E04ICNrmJNy}<%=1s7S z7jEY!=3(E4raN%%(l(tQB(AmnPnQ%ksK>CtE^fq!>)2kqgliFP|Oz8@Q zAqLit%lwuN7rjTiQrZ7}H6X#s6hv_0N5e)~%nD?kS}+Hl&yGxppDnD9k(#N05_7z{ zPzt!cU|-Lt`MO?hGfq){uJ!mP$lXBwcS^4B8yubF14tK%j2udSj!hWH%$(iXn**k- zV$JrAeGQP zlw_lBUkb5?!V1mA>)P;3{x}-Whp>lm0iNo6gzg(o=fH}3R47T2YKK0SZ*!1+Dst<} z4Fs~1-WI&(To|8D-1YhgN-+b!Z9)0X@KiJY&*YP9slvv<3SE2cf_b-hE~4WfGJSRP zqdY6C=UmOL`y9WIX(7kaz|F0*DGk2Y{kH{dy~z#C{eHOzc%^Ymo#0Apu_K?36!6oP zYQJ4a z;|*+a`?4(geWyr-)m*$W6Yr-38~!t!+i6Ij7%jYCoxjj%GGkoQo}47df$-{hQ1-7} zpk7>)5lh;Dq^ZMSLIop_WJShKjZQ56sx`mEVx`IH>_*e6d3t!I+b)zfzw~SSM2!8u ziB%$y73Qx!)u`XeS*X8|3NEtXmyf>(cmKA11SmUJszxZG%ak1rxo9(AJMTrDLqY}_ z-b82NxM|W?k-FfxY>8u{MsjbQ4=PHEq7p3;szYlrlcY8NP}V5+Vbt=|M10_5wcFuvwS*FuG#-gW?5O5gbW&MlMztr3rCa>WIuwV)&TCedGG-9l zuWs^4T-pJT!OyoRexi%jW)aLsGcPKRa=$iWTj*5(xBmFqBlIIh^|P=(4~P+X!>F=h zR`EoIw;@OjWLaneT%@)A00?a4wyfi8-*((3ZStB9~=U(V2 zW^_W6$uJa<6kYXjb0cno2$ct9@C~E!UB7yNyp;m$|Mald*UN;!$H zsR5VvTjJ$h6Sc#uZ62(@sV9e9KR&_a*B4BVD%?-IVj_QAYm?_HPtNC3@ZwV4epUi@>F(Tm zH$5Mfc0bWO6=i8SwaRxe$!H?UFDy}+$&C6z^H&wju1Y?E$`~$5|BCE&5Mfid-M80i zZzDYYpys^aLt!g;?~2E|;Zj#a6pBeF2og%73&W%cLSKq*bAvS4UumlUOpPxiw!4I* zoBZJjVA*?bE$0Zh2x>p$a|P$QZHPxeo}*4E^~0!6a}=Dda;UQGUCe$yZVo8&mU5t6 zBl%r%a{O+6J}CBsJ@N~aB{~{f|6KJR)Hk}6-AdU9s&+DT-qVJ@bzau*OXdI~B6up> zs9EQ9-;2Xn zul#GahaYY#5z7k?@4N-PckwhH0tTP2c3M(7eE`t6M^Wdr!~Su%{?=u{f9365qp&yt z89T*QO2P279d*#jpu5?eW5*xxwms?qkr;h77`oookht*eW!c2whG>0|p( zlDISJ`0gUww=sEvsBA%(XWOi^CJh0OWZwjp(1{2G1Ccxq2JDXk58axa!>syZtqF2& zYcEWj%%>CxEh@b9iwXAAZx;=?Jo4q~E4gLXj1_?tu%xHA$EO6FPK>YXTG9Ti0YkJX zl>Ysp*VTaz>zwB~a*-B;etoX*UE<9hK77kF0_6k_WUr-&msNCy7cV%E05H?v^js8? z?G>eFe5Hg11jb`xgfR{6yAN<{30l~wn#T-#H_|+gocDS1wF_w;Ii*8c4t!LUj)5zj zqaP8L_Bpo?oM`IOA4AFpK(B3Lsqv2s6#SZtg@ESsV|vtWG(sI4pUS(uoe)D7G4kvQ z)bIaUZOoJO#nx_THu^lG=Ye>=u0t@@FKlprs$)#tO$EDyg$gTEVg>}ADcWwk#4Ax4 z8cR5MbZT#fm`SknZ-DiXy!wk*Mq=ub03}u3uzp{()x|pe*Wosb(8gbOJPZBE4}MMb z4N*~plLETT{m)=T%go4~-p~YGTK*kfd!&WN3>j|XGM1RZVmn}ewZ8}9X;a?SVL@oA z<;j-e%sxWL!%!yJHP9T?!0uMqI6ufuyS_5iHzx0lF!dMZ*yZtE4UiWKDB?7GO7YU3 z-2>IuUCKTWh>Hr><6*~RIaquqO6MKXe>M)VvgQjn2l?I#$ zm;Z1h*1mR9zNt_XyC;g!evyo*y_0;io9l2PXV+1Wibh$x&G9kx^2U%@<3%>YZ|htX z7kut(d)yTwBWiXa$)Yjn$&+o}Ni$X3JPhF1Wtgk@Ck+D@)EyKkBx>?GiSh|0Df1H_ z70>;I3E0rVv;rg2RkFiRr&3^4Z1t#|9&tWvWz9(I?uClzIi8qZ)=Oa@Kp#-t*^Y7V zZ3a+SVcaepLNzLR>I?vwffg2nc7rG(=N<84iQ~*mYuD9+dd_zM-E(=iD`8CNH$qGZ zEKXZIpAch&n=QEXCKJBcvI!C!?g}TxCw_4-VTimZKLQEdlU;`;KA+F{gt|<6NM1c& zwOv2P>y2J0@F11kn5jSWeHMIMmrq99HPv^=xe2m93CP=%to_><9pl!%gogTd5iv`f z#r5F7K|VbWP)*xm_&o44GTJP1yS;;kP%WpF+sVlN4}B+1PL&p=w)j8!*$7XVQPt&0 z?29VQTO}1a%%rC@7j{JV(47- z*;;PZDWru|zz35ilNm^Oktt|chy$p&II+#S2VtaYVxueiNOj1{t;BKf@1tKh&($9jgf{gy7xXaC-|iVF|er+icB27 zpy2O*|NJ}s>Oy^~Swn6pdv?yRY9lF&RF~Q;b{>Z6G~t!}g~U=j4p36mjuXaE!RwCL zQtZ_b;4OnCx-z0pW%(Ah4{ymJ7<=&-DDfGfDCMgK@1)wsb3Xlsmm4ghma3K(-9CK+ zpWL~InH3g+B^FBMpJrgkOlurxj9=qhqEfjDl8fFAq>2s^6{Y_Wy+jU$a_$80g8S_7 z#FzannP?T}!-Z(D{ z%}6+^bVHAmds=44TG_3tQ&4l_{O=}REpY^KmgNyHQ;hiW2+^!KjKkx`I;{#aa!bzdwgQ!VV582Lq~4k~ zDh~cF^dNNBEITkb{nGnOtnZPFj!ihuA%;@lKH47L6Ou0hEOTNPJOR4XaVSb|_svi1 zrDKTz9DS)SE3#{}AW%-L)1`ko&dZ*<>Leww7?u$jTUd@3p?+>}df#?%RO9H?OyV6{ z9v8Oo*ItJ^1~jH{3@fdt$zID}i*AW1+j+XfL~)YHr7AVAnM+aVT=X(4sGj0AKF8xY z?xqgxM7DgiqhEi1kmR~t0m!vFAo94#pz5>n)#xw*jsM%mW@|PpHFpPui>-Uq@i2rR zu-`Hvrz_jw6qQ9UDkeKMtR&|*eY~5Id^%ptM=0+lDd_3s*RCcAVQd+A5pIZH@qC^~ zv1w{k=9AAv2C=L*{_xAf{imhBfa&cH1w|*mF5d^m@3?3IclgXUV)@uD|6g0q)e2Fj z{JX;b_m)DOn?ae+)ctc!KO;Ed~8>aXXiO+=ro%Ru{98CQc@%2EWjw5vH_MNZwSIprQ*J>}DaMsx8` z8ntI$1U_EqZkX(ee7D1`NS}kNVkTUGJ+BQJcKY*d?aja@zhF6>$3;AoNr$EPsXUa+ zr3pNKCxfd5SHX9r@+?8(6)fZ)(WZ|!;k+T#uc#IrrUvgijXC}(MB2wBt>7!j{gEw9 zq<|!(+d?<-?0s^ZQKJb$`T@!xRfL@fjQniMSwy=h?uvoY-kq|>(o{npHc1lj(ERtU zY?2S1E4TE~dm{}w?O($ZH?Z zV>+8Xa8hQ*?uX z_q0)5#*W^%7Vl%S4l>CCQeOvmwQ(svcu|FsRni;}2X{!*{ns-J{egPbz76MkIBD2^ zKkq?P^jkS!GKyqyN>S&Z))s?2^tf3gIxi;XOUdxw4z6#Bm&+ z>p{N7WCVOuT&q5=rg*ldD5gwQQ%kAuH>&Ja8 zE;5HwRrZxxfJBy76 zsSMY2M?3jbSO8K#sSY;bSk6^pJ$whF_=DZy1fvK-pO5MX%q(xUQ9GCBRj0oV48j68 zF#49%l!`F9b@eBFl3a=uOWExYSZ;KzE85R)!uR=u<3gW0SlD6q6HZbFHb`~dB}EgT zhErY)Ow~8AAcs!TLy)%6E>gw`l|5;T81Ft^>1R{6QotzgW(+Ut0e=AdPDLJ6| zl^4%y2V_03HCkx;%Hn?M$guVVj+WlCElu#mu&+qLnY6kmMf6B8xWPqC8+AaK>25u$ zK3dZpb#&EC`Q%pa^%OAtH zSK*@SJDt^3H|m4@PRthO1J?Uf0}<*;jKfhdx23-DfNNH6C2WC|otAIL&$CxzXpgzE zL)A**9XlFFC-@IWZ>eV0`7TzcS}ST>&9&;_YVWDE_WMjL5)^9mIF2<|1WDt$y}L;0 z+~ie+B*4xCyX~D5?km@t1LT~<0qxr2_CZUIg-eZOqKP(`THzo%e=ynlb zio>;)NjeLfk<24bs#_MQ-V_TLoUcXBa1>=+!iF;^Qaq`{ckk(ikJ%i6m>7HHUCbyP z!g=U~*39`o5VBpt2(vIxzBR#DP56863~^n7B4G92vS zk~?!U+ZVK*_5C-J#z)rOC3dmahAkOQ09c{m!z=ZdApNbMDD^3~dwNirFHGdwIAL0E z?S1%M%-WpQcsBaH3fBR|{{9?P|JUMMh$1Mo(WDTOIK(@KKb-H`i#>PCfZIB!pNO^( z*p$P8zlM;I_cLG0HL00hQ2Y;OjsOb;XL}>sSdp`Dj$ods;<_t#AB?#1W1~W9ssP@H z*W+hQZ*?3$9%%92ibYR-D&i(38F}u=NyPO%6@Qc?lKAz@`I|GoL_>x4m&+#^wc)cx zF+MbX^>gG@D+iGAb}me{!@I3yDvW8{pxe7G;ald+$@tmS_FCuA!h|Fh!sB*@ z#ui}9pCL3n9PK6}3_@>X)PxQ1P;=W47KM`R?|U5?zhprc=ji9A!nU*ZF;SJ8s{@8a z<=4`kCoG1IYLvcb7ds1&N>*LFeGlnV+Z@++u6+d)lY&^bKMfc(ZONyQ+M+uOGoqGt zXaOS*1KHGiVV!VLPsS;1oz7%Z3F%R(UqtSfWBz!fyPid4#t@cS8CWD`eWgh0YGq2= zZ_gJTSY3L1P(FNj(LJm50iAzu3gA>5Cb6_z5Qt`{zX;@x%NyoKgE`F&<;|)Z*pPUI za=E(@a#>^EIpefDfq5_^L=Dlq6WjhpsLpmA23ARnxhT5TGKKC$6-Zglx{X)rtJD%^K@A`CygBF35e zRJIK?{55|0nhjrD6CM50T&0X8>nwto!Lr-Q7OB$=NKl22I~Yf9&su=*!{28x*>j&x z?m+z7SY)`>{YQzn(hEEiO#Jc310Z$<(EwhYg8yh%kM*u~XDGA~hqL-@U{-VGs>nu_ z@aYZ{KUo1kggjv#yC0b;j~hD9&odbMqlTD@VIxYgPzTy#pTiPl;ArkER~Pp%)vQVB z>hspXJgJ{u;aJ})?c?35k;Q@hD_f9tF2kpuBgM@!Kj))1`tQz{c27@dYwOC#&pnI3 ztE-h_A;BDHTZq@%;t|-Mj(DYcb<6b9JiFb= zi%TUa-+W67{%QN)C9tPUb&|2LpTgO&?%zUo&tcxA3$yo$9XH#_*i@A%y!Ii|1a4Qo zVNTNLpS(OfIOvBTW6gdLJ2h=kWmCh+7{0ndx(Cfq%Tb7HEb=se44?K->GPQ5>EmMV zBVRK+>w*>NbEn>REp#aKdBTqcK19MdJ}WBlJep+r=lY;j{%r7I(e-<@ z_S-YE100_8mYtdO9C>#ts@sMH>9821xA?HU@k%$bNRgiaYq%8Na*d= zF5SXksrk6 zS??xXwmhj{ectL-ztE9ztTclPTi}B+|51(C7lLA=CH|x0e|{DwVS}UT!o!)O3EZ#W&ZD|yq|3X%GXGNLo#zYpt)viTe{4-iHV8tFekDI{a~=qOv-4^O#j^{ z-~DT;w(ybOQ#GSjlaYqz|7tlEHm-cPU3am%T_u*yk273r7oG!!c>G3JQAu}7I{9L_?GuMq^xjzzj8f# zgh&%bx2cK%8kkyk(dwgPsQon~PI{e^E0%rJCOX1=y57_sPbahMfT_1Pot8XfR#C3R z`(p3U-R!@JvA5VSI89b}nzzygTn{UiZwb{zH+b7u4_u{^G-^%4NL*aY=5s|u%%`WP zM^>6_^vU6JB-#T{I8$Fa&`n}3ynF(De&~mB~$r}4n0`@x4hucQQ%gmBF4Isae zCJiknHcH+-As11!F@k%HK0p~BDqy7sdgn1MRxCnM2w-$g*C+UvCjAK*GdRkq$;m}7 zW)G}*80C>0!XxIjNS9fYVN`a$qUk)0tvG7Pw=BN*nZyc6Px~n@EW6|pBw>scIv}8f zzc#SvtgndaPvGC4XBpeU>GFo|<`PTR$e)yi1^A>?&dn=*vCxl7w+#X8Jg-Um6bTng zm~lg?aLmQIw^NoC7fVIr+Z2)aRs}~3SIrRyj9+wbD70V3Z>XrGM6jq2JDCujj7v9e zXL^iZ0MYCZGIvfJA;L555F$qYAvXAwD%sYkE4gxl_gWkvIx07k@8SMZVYdU2kaXBl z*v+Iqky~qZB$4J#kOpzG`OAH^OTlIWnx1 z&*rJx6g1Hd3^ueW$vg~RA~)A6ntC=_R~3Kc*tn2%$P&CB)mPWWVO6X}RUxbXvi2dr zwy#qryg(7mZvl(^wRz|h#%VLm<9vld^1-zXKNJGo$Hveg!AI@BZ;kXZ@zOI~8V>TYS&n ztELu;IzrFLh)vBC25-8R-x|J+iuu#%Wu4XWY!2T{+Ky&yDT4Sb4IT%jX6Ms^5yjnc zz&T;Bo&5)uXBP(qfVN|@%|pA?2US;<*H3YBJ5gUFxXNcTlqk+Fomg&UsNNs~K|uWf zn*|^b-O2Mytac01QXHf#VWP!Oc%P52X6QaquYUO)B5T49Q`3jrP8rd3#fl5k<8_2| zXGiB3JD;EG!}dorss9I<3QvtC=$anw|ahKqW;X^RJ|Mk2HLLrs&-X zEJ9;5A2+nF|LE0l6?1KWnz|B))-hR+U^|YRCb6u9v@YsHt{R6Z2JT zQ&&rJJ@8bU*=Q+0fiYQ^lywP#6VKT2Rc>Ml={x0rB3a!7(LxlcW~@B<2D^o! zaHghxzBl=^SsswC%73vLV+rD&6jW-*IaH3F;z|TCz{iAy1iR9;bOm8FO+P*HdiZD3 z5)X01y3_|UKR7sum}%Ml>PkP^3<#(`o>>402g<|62|nL$=yDI0Tlsl!i63fa`LRB` zX}HaX+Fvu5V8T!zRZJ8pKql(@F8WhyBO&cwNa@?n)^oKFPaxK1flWTrk&Bp|l3bU@ zVa#KuQ2n-|HwvctuJ+v+%xZ#XjiSRD`P~^(|4k*RathjV%>%=Ot~c}-e9v<^d?Lop zKJ!8SX3m7cvX`*|?T`41@v0C-wjEbqg4uL9F1!@HX)8W!v2!WWWOrRQ1!Lf~Mr+$I zYvo2$`=OSQb%&xM!V6r4IrM*DV!s)o&Bf&h=4l0v$Hz#J8qblYteU0!1wfd2lIirZ z@3g_mXSngahde-XyMhUO3sC7XY>6>sE|ZN0re|<7&@5B3@S~+{H<(+IszjFdCg~fj ztBCJGnw4fcr zttp7ya7(r(^c*Mqyn0=T#r@uNkNZ3$f9UF(6ndsQ~r;}5Sf zQqBgn<`F|d%u^jj3~o*M^Kh{dW6mR-t}uwE$6H^aU^$#up=tkm6o-7RdC2ysS2g5i zqSX_H8(ZUAe2{`|m}fIOqF+;@249K-kw{Y?$?^SeK?r{T0RSg`6A_ z{1>wpkM)ee(F7oKkChJPd!=d_Aw;UBVY z1X2Ztvk0<~0`WMS1eIm!k}7({xe$>}Ho*Vk>MNt-YL~17AxLlt5Ind`aCd05akpRr zf;$8Y?$!_*CpZLmcWK<+8+Uj8cxUF$-246Nb=K-%=hXAmu3fuokB`y0T`FhN*m(F< z-2zj&Yy$BRAxltI@O(tUuQK|Jd1#M;5Dd)XzC2L_cxqm_HPj;lteT7o^SklvnjJb7 z&~|rZPfJhE7Yhz2_4l??GILVY3zY&s286~OSRV=M(LM#xBcnq_$S_vhqT;y~O-QHm z#8H^#EH_zS?FTf@*^m1zvdJB6=ju>biPqjv1=n=FqJ@jJj3E&XR~u`23itHYcKjvf z+DwsARAsf=MXh&~!xK(~r3t7vt(-%%%gR}wtF56LlG3gE5w@HK2s@=9(>6Djl5HLJ z@KQE@|Mn0BO1SFHH$$Xz@l51KdRu-pWl`AnAG(aUrZyqWj-$|W1%8MuinRPO?8QTY zGYazQ3&u(&(OVOop+wZ?>xI;}{he;$*!|Ki%~?pN;CP-Kf9=Q+QgX1JyXf%Ste|#1 zOG2P&dP(4@$`j=JPT14Cb?c!3$fb2xc<@kZYm~=Cfa~^VLQ?yNv@533hnOyq8SO6- z6`4Ga;zK@?R101Yn0$!&kl_G(UmmvEMtJYvE|+P&T+nC4yqnalx!c$~AT&he6muAQ zFMSD=<-OgSeKY=Ht+8I1p{n;d4{zZj-v_h7OD&~4GI*q~S z1w4rjgM%u)lG=soHpai2%s)6!x|`f!CIO=&I_(_RhV{g5ZCAV*L>Ur#z0C3oq*3oJ zpG7|WfqmK?fR1@V$k^o2+gpx_9b#jLE=O(=l_Caq~f=VufvY&y~X;ZfrW6K}gb?h%V~& zKuRrzEpHy>hB|aQjRAqux^!l#E!*Ms_s)CcFmK+ag;@>EZC>HH znS;*$%ub=&?#I?kt)wx6_llHQMVG!~K(T_JI@+R&th6*wa$_B6O!vs0i!XJ!TrtK9 zIZE88^?8;rNwD<%zE%Uf8Tc}~ZIQ|iHNM;r+Fz;y`-$RxiIbdh$~-|?l5Axz zgBD>7Wvz9iZxZv+Z}Rv{c*IK*T|~L*f3{7>dkDQnOsPGd#C4(3RzEkifXs{awvrMt zn0~?UA{&}m9&V2!7f!vx836K~6zEaCs0omwNPmXciy@XStB_67^SJAp-(}%pBsYtg zQj1#b#U)h6W=Bq92}_XlKyNXNHF+eOlgP|aw>zz8q3Lb$4)R@s&B?P0E|seQSl@ZVn8Qe*?C@$H&L+-SqYHc=uB0jt;K? zbeJQK+pSc*A^6|%#`F2W)()r4Z^dGk)9G4`2V5XbX-)wo()m#}0e_5!S& zgb+@nqNBgV!ZgwVH=qOD8-IQF`$t$rTn)Z%Z0f|BL}!Nfs>*b(VuRi*%ZmDf*pe6#wnHB}2fmwU9`?U=>n%mZ#cp&9N)@ZmzSKtK&2~cMIL& zSJT!GQgWirNaI5je>mxDD>m2LD%g^5~qKzE0IgYug_ZReU(w8?` z5t(%Jt?biNPrOzQjb;nDloC7Q<(dA>^kdJ(*iRIzxf2PPla-^d}zA=GVDY0pBn<}Vm~4L;n2{~ zKSPl#5#K5H?-v?|DU$odw~UVVR)#w}<`~>S-@7}9$!k!o0>Q{E_1hP^vVQTGA!(Y7 z*G<*GT_Ibj?W)bL$4WXnI^DW+^PV9wi=(5XeKI=bsQa1GMw&OGMqxOjokkWbd$_Z5e$XFL;ANc>7 zkRfsU%CEKPf<@q$QyqVugo4E<*9xpNNdMHh`Jo$|bP3DB83(MzYWHG3Uu8q{ygnuB z;an+X_hPKv$7Q{ACqX0bCDPgIW5243wq(SZbWJ`>T-09QaBjmrHCcsRf7|v6*~dYM zts=Q}rnv4kXJXH7AA$C-rWpRL)7|RHL(av&DSjVTQQQn&(>&dX`J>Z@C>MFuU(x2(qZjeI}mqtI^?r=O6!)^z7iR5iKtm5J^ zP+nU#0k#U^W2W75Jy6q_JhYI0P~NXBlk;m+tfN2aIZWbkW$as<#w&WC(NWg-^24B9 z@dja=84_5}(p#N_rI&GZudzmByvcgd%U$6;%R@=?D(qwL2M~! zE~`6;l9=@gP84545<~LI50;)>@%76=_idW{m`7ki7xpI_41^vb5fRbgNu56;mPnSC za(<&VmWv#hBO|`vk7+I^Z8W#k+?HhZ$BREtb<9s|=L{bCcS)MskDy9VJB6p4s@0xt z9&CHAVGrJU0xp-BA{XxI(9((m~H;>Kre%Xk@e|6Z!%Q)F`{S~*fCT|>ajQW=(#4=v$M12dbl3FMQ z=&?(4c7F=D6weytxtEZr*%0;D<9Sk!rSTE6psq(xb4y9K1q4+W8&~^J)8#EY0%m#e z4~8TAi5AD(Da}cRKKy_)CUAqH|*6qk~> zNv=%oIN+xTX|J0|Wp|sI!}*D`;9=$n!6p1Ov&f1FzWrCpL&ious#EWJxGC;pGV z>Lv(We;+Fk?CYB1X-}(SOJHU?E2-hr^M!k_?Hs;|qXyE`_L^{jlkd$y+S$%<+R1Gh z4*K(+C(rrfDU?t%Ep&!kKcc;4!N~;28%VcuK^3NZ+2o?e#^V_xS52*u(nBR8gM~y% z(6EMVetH&jCeH`V5pufFO1pl!9G{pC?@M2KohG6n)#_CtfYs+Y^rqQNO2!_if}=FQ zx(jP?vP`pfJ?5%UOjgscaxT-CZeUIxn8oSVWKbO}bp-6OyI1<=?;`}fjX#1P-D1{U7b@bC_GXRl8|hl*U;I;DXh2o;YGzFG_pCN! z6o1~+{kHC$dtBUbs`r5dm$zaKoe1zB$NXGgznx~_-fT0g7pt?~7d-xnM#_6Ft9P^R z!<&v#d=> zxJ}SJKJM4Fw%K0>I+^TWr(`6xf@XsWT{DiS!6^6}h$IDkvayRZmZvXrZHT zL~g^@9Q_we+C%Z2Cwd>7nn0CqnGc)a0M~i~#~!Iy_|h;mV%CkKY}h6=U@QvVpQw~% zp0eIA@pv*TKr(3R2Rr5=Xs!GeA{X3XoW zC%*F)vqndMn;(YzA)g4ZcTGYcUFFvv&tLsBB^8-O!Nb$g-4!KNbB>C0YXny7wwCLy+j;Z^=V!>+QhBF1OTkU4w#zNp zz7xD_G6Ui#Pqh=g`>0dT+%;pAj@Z zw!ve03L>nqE`Iqy;b-pqoL89cki*iaAHf}z;RbDE$&4spZAFam^;N()+;ei6!(vkW z@MksS`I^%`q^3Oszm&n@IE~%D-g^OCum#;?-~r$XRPnqSCE znm06~=b`UZUQv_J4$8JMtwMvTV?EIlu}swM zc!XA&yE3F9Y1H*Ne!GDYfxT z)cto7qg36C_QR|#QfT0~ZJyS=jEo$2{I?|;GTa)wp@MgrnY$=ka^|Oz#Qd{1t8!v~ za@BW$8%+a`4@+k4c+cX`e?%o|Y3W6E0R=~$s@pg7%EAc`gy)x4`{>MTq0Qi#O*>;1vo29lAH{*$ck_ay=J@q0p3%aOU@f}N?o^`JaRvL! zbkI+c@nxx z`5Fg}0pHiWE!wWjW?|e+v$$p@C8(Y-|J#LB9Q0S6SRO-vxMAFax-LHx-gXd2a_0snchcUU% zC7#NCm|?zcl{EKL$LaP;0%80I^|Ys;`zi#V*oL1s&0zh&qSsms7Uo9M%%AHa?sFgN zgSM0y7R_|7Um5kIPzeot?aG=+=e!(zYC?dUhsbA_3}byBVG0Rv%&1_u=apW^{r77 zfBmJil!T`zkcaJBB1Oy-V#dWw$NY*N1J}pSH?cD~^jV(BV=L}%ZP))8<-q3=bKnt! zS=gMK`OfEq?ep^T$xLfn$yX09G48CtOwT>sq$o=cSs#e!C_4Zaf6owarl87llW1G!t38U?R4`DRAeu-W8wU%V5?rN}#%6 z)Bp{q*K;oExy*91KiFOEh!J+slOlZ{nKqX{ED$VD*_Xlkv@ETC;p)g&i&RE(qjRjYxHm>hqi@AfFX@lDd-YGpx4FspYy-@t=VKnUKua z#*c1-4_GHJyO(z(?FPN4;AxW~YHhUHRjdWHT#$U-Ch5=|RB_C%_kD!s`biMO*&_gK zG}VVXsmKe`S5bsZNNlb7!2}fAG|_rcspw%%dRG1Nc$RDNk-2+Y9tg6o>g22&FcNp< z(?C${2Wj)mkS$;3WwBv%yy*7N&1f8|JTxVq;;?}S!aXGcH?v>bZ%$u##C-26d)@EO zgMjU)odAbfens5Dig)Nj7ZO+9JomYq4i9vla<;nS2a=N}YrG0O$-e8aO@S+O(@*dQ zYQ(AbYrlPa$hZZ9tG~xcg*=&U7slwtl>6RrJw5s1IrMFZ$bFK}>|Ot0{P;+Sr8VRFG(VoCr(w3VnSy`uxG*<))EGErUnu z<(j5$J%Am7Y$3Tv^YvQr>8j!0-DQr3RnOoLjsBI9kqN(9PL&3c>l?A0(>vk3BnE7{ zpFgdDBAh~>0Fn0%cQ5s7jR~;vzrc9Qw1G3n4K@R~X{_O?rH!C<1}=q*#pZ*v`zbUL zb93yS;rAJ`a9bmP0rN4hJ(|ougyEDKVGzT}%#mg^?)}3KC(FP84Rim&FGsv^JbQeH zCDqGu^=}3tzjG1;d?}6_ac_hbUpiD=WM_Eiv&&Rm3?4Iqyc56YmR~mncL&=cltnQa zN_nWK#fyJW&?{<7XoMMy1uic3k}f!O7vgt-3-Q#qYGFgCUPxf`Le|F%{_|yo`W)rH z$?h$llT~;HZIcTxO%e~(lcVGq%)_Iv>Lea?8Hpwk-L3iaI7dEpyP|?5G@fk&M$eO+ z`BmCBcW18{I!}4p41dDMUmiC}gZ6`*ZpI6c`XN$dr|z^d@E#N5sxkMDI7(yg!J*tP*CZcCr@*grD{R88j$5u)k+Tg`=|$@R7{~%$R3rg>iQ=m z=+eVaQ6r?6NB;$jg^6EXiN|*<;&Nv_gq%Fr<3<)XY0<}Q-IjNu7d|7A=SvIvtqc>v zOxOIZ)lK+zq%ZIUrli%$5THcRQSsvRG<9y$aLXXsZ(O|Wr;e|*%v*0KAv+IVS0L-? z%>~3YRriv_;U-~t+H#kAP!B{^UA&wRQK7D9<5?AutL7tcRRk>N-<>P^(!J&}+E=@L{1|}X^-wdQ^q7_vi)ssO+8DY! z&#TU+|Bzl=_&Vj?d0jT5MY*_KB%Y&C%!hRW!UN@0RM3`C0Kbz)l8GIi&5f`2f%gO= z|Kdt%82s(J5n;?$)8heNoo-Ag-97j1Vw)z(Aw zAz3BdtD7S~1aj7l)drD(p7gmJRYsqaM`cW{uSa`LVB z_EL5mnz~NKx~LPJ4e(>_HLCq(m`RlJlgxB>oqo`K3&CsUA!{)pT8bM>IsYirlr5J*l#IaPMVXJCvyvAI@yo9zIYNz@Dnu9}HQ@K7_tXh# z711pjX(TQAcLuW6b6gktH$c)IPxKqVyA<6N2T0~lh%XNGM?3Rv01M+su7}Cjj@A3! z`zq7o#xX%)T}`%RKgKf$H%DH7(jY;Lf&jB`?`>)a+JZX(th?R_&XmC4jf zU9f3=7kXgw7o-iXmMf}udmH1(MSD}Xe<5q^b|3&p+r~}R6td$W52#Y+itBo&rj^YE zV{%^LImo2e!|^Au;nuo*fP!~$27>1X%Fve8m;68n^ewObU-$n072S?Cik7}OL`g7U zu1w=?h3(dvh3d~NeKmzJxXU!%&TTKd(cE>r*UhJ-1_)19w-ht{q2QC$&~Oisq}z-n z9$ki(6g@or3O8lg(>romDOJ zxm5V6-(Np|lj*+dE}le41)8tsCJGM*$+^o=rm6tO0ve$+F)Wc#zweTJ>UU&;kX6rp!${svMIt-(dNk@6V(_BOF_Uxp`QG@jo}Xb}@pDGamGgwa^b0iy z35{M2jciCCumli@ons>hR`)hu`1LY+y}$jiGBXRrz|hm_k=Q73R-*eGj3((<6722_ zb>i7gyIsfUeNHM;(m0y6Jj)X9>{>=XdTCAN%XgUJ`Mxvhixe@hdPhU#`RT;> zOnL4UdzXl*;5(IlZyw%9@u%SVNHIWzyoK8@vd--NiXoqfwbO==yTn2o)n_&fDEChT zX14em=YQ0MP{YIJw)r{DqCMJ#iR{s41Hk77X#Efp-j}Bo;vx{- zO>NKxtId5w>VA-j{s-2EHq8gV&1V$Pp~!lV5rVZ|EZmNd_wo?WbDS++adC2)?onU9 zP?Yv%7S_2x;%9%FBDA-?W+V2tRo|db?yNUHfJe@(nq47sseRUKF#G+O>+{_rw_PW~ z>RJ%#^P0)s1QX4suc~Raoo&^ThtNv zoQm02%Y>Q}$(-xS8QV%Psy`auB{R5bs87daCSx@PeKi++-sk}fgb;? zwr!ubgZoL7()7E+kKw!*dIa#sGJ0AJ#rH^YFk?JzthVfVPo6F1ko1wgB`&xV>4wtP zT}(rTtMO!`gg7h+1=!NmocOpiNSiFmKZ0D&DcsOmrm+ZCa|n#%TAwGc?Ejvr;qix= zV?JZ?)=rejPw5um{Q#f81bV^wiFFp4>1@2rtzRbm z^&O8)w9PpA%;Fg{=6ieQWrIprsf3NGSI1?G)@ZGmID4PZB{h@{0`-^g8XM%fW@Hz@ z{c^d5S})<7i|^sladZI26KcvD;XCR4N{kN9E`!cJ(bODx0}k$Ny)3Jw8)BYOOe747 zp9%H&5JyUn#nPxcdE8`l!=0Y^PBNcq!4IZ$sXB(eZh+Aqt9pR|(ssA-;AY(_z32+P zhV`#$UI+Ni+Yoxfe_bcgnj;`)Vn%Kh`b()Cm-i{9@)Qx#27q!9`CL4 zFFWmaJ0ik^Gg!~pOt0hya{0{ir{e_?2KB;~>1oil+2A%1&+xY@uPL=n;X@drh3y0d z4NJzY8YA5s)TL_B(Mhd560p;exWz-NW!;JR%oFTiiFs?01b8DJFJjlBwbXry7@%ye zmyTt6hzA}xVesqWeoqL9x+Gq{4jSUd(us`P?JzN{k@j<*=abrWe|~qTV_91){}m*e zuU*N%%C7*qRKDC zR{GuvjTb{45a~pzw9I*mk5mctu&Wt_gCF&}m`dTaI-6EiY@`@#B#P!4YCXWnE-=~X z3DY-`iji@YN-%lPBNI;HBjaD0^nu;Qy_C<4c{^N~DxMKHsO3XC3j0=H1FRcwp{Y{i z@)-Ky2RHj&k<`p@*mEK(yCJn#IdhS8Q-CUcA+vTBL_qt2PM%=sI~l@PVV_gaTl{qZ z_RxduQ3W$n8c$`n7Z$rMyQzWn51UgFITdNJs9DuHUW}nz`+Lnk*WUt0@N!rBH+7C71_5%`*bW@g@W2K2blaZ) zJXaVo^?}gn`5{M(t6;!wOiILS%Rcz-+0L#{UF_)T9cd5Esz>alnc=?@&wuA17}$qX z23a3dB^;RpdHN#A@w31|B8p!c#yA;UlxjEFc1-ih<0@16RXcJKg+$xKf(jrsDn)4? zX`eru^woqYPE}w3SUO{8XJ-$tbbAQgoHIFtx5SJo769>b>O%`lw?U0c@;nHsbRS^j zl#37BIo_K$prMpzU)-WJB(Av)npe&?ZY9ck=~>i}Kh_C}D?POD?-v{9cXuZ+u#DQZ z|LQSm;RS7=lxjIA|DjnbYW7UvW#L5u=@!YRmj)h_X{iNBOJ4k?mG zOyQ{%uZrwJ1Gi7ut~9w&CO3LGBAk~M742h*1wE1srEnn$CjfU*jSZ6K-To##^$Xhb z<&}GG+ae_RQA_I?}kI^tvyW`K7PPHVY%wLEMLD;-H~F(x~}LBQ3Un zd!Zc|h#2d?q~pu23}g@bQzxTJw)nre>q#XPXi}s4tzw>K@*0i>m7KR)>HlWDbXiMm zYc!1|d<>SuYkqT2A5azX2iyd9zWM5n&&~#Sqwx=qNSq^)U?JrE_;J>+FD#*QlWu8k z?FjI;vziZ!F}zoQx-L7-DYn3n{R=ge_g-=)9$+?LHCbPqk*o z?hTa^W)e>WwJ$b~Kcgudxh+kj^e!bov2tXy0zqF1$`2As#y-s|3yv6S9bI_ownrBy znHzc+yt^!Uj~o5(P~*Su0~8ckqMCyabt(#FL3NVhqd2nP2?uwwW=+o>SCrz#RlnbH zJEI22;}1HG%7$lhEf^c!3T`iN=~^cxywnbm(BFgnE87S=0F+TX$6=ov1tNyR8}vd6 zUmb-%lX-!bQ5q^MColyB1g!=@RP!w!)fC@r^Z^3>SWIBkDJYq^e~zWlL(u7ZcuZzU z){JU(pvV~{rI$dX%w zxd6AJAC3$)^@)NGHKk@ytaf)`34J+{KdH}g{N3#9GTrkrVq{}Jlf3NF85^bHG8?09 z#;{;rDBbOR9F=WYT#i%|KEDat=YYY#vTx4uMnP=}rdg(-Tloqo8jeh)a$a9Ch*>Ki z)O6ZCr`?xZmvEnEy#o|lBaRsPKQi{e&U?QJoavWOl3-uQ%=C zAmX>Ot_hJ9CW0l_t#qIGAur^ECUs3iX<6elGo{s*MP=Rgsk&z_)aPFIoA@zS2}qrL zo2n{=MhbezJ2l~^=|9yaIlpx&p67_(tEqU)O60~58}e`>B>Yo&T9fP5It1>+Tijz) zqEWKY4TbSU6j)5=$~gYesO9fVg+m8hD5UUU28n%RJs-!TPS>vbcJ5@cJo_tRlwUkr zd(EFr9R|7?DaK!yb(6A|%1BGwH!s^MdGpn#j40;k!lAj`fJFjInS@ImBLns#Ih|+1 z&2})|*Lb?bZuI0ZZT7xRe&N>lhEG>imeBk2%eyEm&H>}4P zGF)Tc8ZAsa$S3^$ZLso^HQnSsTEX3GqS!(@Qc|HEV1!iS-G*x;hJHMX6=~{;H8U06 zXJjJVi6rTmWYexP6s$w$8VtQ_gvp9eh%b4-1Ft(@5y>aeehj*E&$0bFi#vBEeZ>0B zt|c@7wwT?3>iP}PC#HZ*L$L+e-Uq=czU^1qT$yA#8M*92X8E=|n$B~#9-wSsP&Py1 z@eKBfwDaCv+e$Ha9_Sm|4miJ>#JTJ8U5R}3eY8m?n`-xVGmZWj&1*q~TjGI)tO?#Q zEO%lt=AHB&XKt~XRB}daR;4STzNNaS90|(2ryfo7q-1Vg*N=-}G4%e*+;I0Z&3ASn ziOWnSq1<%*;rehTlKKHUOf%|ioRJVe4He?oH-SV`Rc?Mi8u!Ecn$SWWCcZ-Bw5NzY z)Ze4TrsyJDdw$*EZTB(*XdCc(iM%W&#El`Va3hcXqG~(vABW{z%oimgwZss_PNjt9 zTHP1fR*Dok1~W@}@z)g`hNUMs+{{?+yi{7y=?e8tQYX;LbFTo#YFby|Gz z5K^blb+*NTs5IPOwRUepkOI^EY6Yr^R1~hiI4Py(QCq^el3@`@#3VgM*~ETkY3cmd z{9s&}5)f05T*+?3@i#;*tK~1eWUKY;FqhYB+iHag0)Z=6a3w|>bN?`**Vd%d*%tfI zSC@-GT3ZsMF)A&+CMmH<$~i*27HD)l_|TOXm4V!Ki}v2457?sEsK?-t19I^aJP{vK z>pN~#u4Y7z;IfXM8v`G%xYusU;W4893wrzy0(m2miZMgcGu#T;ZQreWe_0j=M`<g^*3?AJ`d>#ImvHn=ULFaqDf^+{+1s2?4;OeHsiWfji?K#4Mw6DB>(a^Ma6(8NnugEJ39Qh#` z!MIPz2q}EMZ-boYkgkS5o;KpE{|=av#zW--_Wfxf5(mU|dz^j_2cFMR5(?rCeeb8* zR-at`rl}Ae1i~&{rtVqsqEEhzj%fe2z)rmZcs(!r1JuMqUwvUJa7xA*AXuc{hN~E2 z`I%|Wm9Aq_Z#IN0@cMLVdxND&u=%{f#+W=ZO$ErTA7ZQ7f-yngBVeM`P&fNcF`S@e z^j@~9@aj@bFvY9eYSe0TXNa#|Aq-zO@ivj%+^djs!0YcfL(;g`8RGs6!RuMVej%-; z{{-uAPpt0{?PL4U<7ExUG*0O643pu3jw>i;TFF-v?j3?@pa25J_8B+iV-jy+v=-*>cB%}9s zb@Db~Uy$?s@Mcg{5-L|EK~1BWk%rNg9y7LwhU+mF~9btI4B1X#IatcJD}9VOeJ&e)U&!?U*RkpCF}^R?%$Cs49yh1+GY+ALncw{qH=Fk!uT2Ly8O4 zwL$6>?6QMqgj-z6ep8t}HozZJY6$8>0AmRwn#D)KdeH~9W;Aux{2O0a)kNT)ljQ#4 zj}zgXwzBO;SuCQoPI5{q5RHX$G$D7HQ%@)+@v`;(Z%qRjFiji^^n2H`wa44IGjOh9 zKCw?Ey+9@IkF4y`Detj_z}b*p|54({nmTxH-}^yL`>}G{K2xz?y9K-T41~YfZRw z-WTHYl@wooXNxI6xhIb;h!<;=cD*qfC%_IYEC^JLErP~)psLojGdG<*-Bbe`=_|9% zW(f_I<|L)}N1;wRs&R@g$qR~f*JRLa-jz%3@4Iw#S;M)DR>>RlmzC8??ue=XOh0xK ze@vKco9~U%9DB`@ba0*jTwepuE3D9Z#YLy)NE=bn zses*P=JMf#3LcjjX9zBBBzAF|EQzXYMP)7Lp1$3-UN*d3Q~>Bal6a?r zfBf@mDm5J;E*|{jB9A}(=ef)P4pS#6g_)~-ELI`*M$wK9z@+CSdS@{uXmOtfQ-i!( zRd!pgk|{}r(&}zh z_rMzXf<+?0oGw>St(b9ilQZESuos~1a3tHzI7iPcon2^(5gc6Y5uL&L!8hHP`$sTZ zoEZ?+vF0ZyAOB)yr7Ne#NLmSVS_$oD-!K_1sM>b(dyUN^r6X~EzomhEPGCu@?^ya9 zbHAW#TBOxDOiPd56)sngxc6;=CB(r^_l3$O8M3XBmfVBSw;U1rcz6`s>M;*k(Bq?P zaF!NAVgdLgop)1NhZm8b7@xPp#TUxkC(2!L$lg^%Hi0-+PTGr$g*L8dz=^l6ug?t^ zGHWYyqC(fb#{XV{zvVwLrUlxpr*qvv+@$JQ7tL5o_;I;#z}o61ZQ^i}A2uZMm#^3Q;HHEUB4M@H5(GhQw##H^( zFRjKLb@-|QCijPPrcurFLTw%+DPgWVg=v$4E*&<%)dg0qU|cVAIg8vXOZ}>a>THyZX~NW*~Ktu>X0Rz@9JiH%KAwA^dEg9(+TF; z5c_^f8MI6ri_cFi=KN`JUrF-%`Z`E2zlUNfnWs2JB8CX&B$OlrS5jDhacokwv-3>v z;!_?u*>qo|>sACwt$~(aAcUkz-B_l{+cvm=XJA9}X`q@(?jZ>)3@y!Z8Pomgv_41G znK^5NL|{u!Dh5q4_z-cm(YpPMK%YJ$gQlU$<_B=1gA|(ZG6x@JJyB=3kPOK!Y*0Z?aWP*>64taOHLqEiC1iD$qhURCpEs zW)1^%X!DXBy3%UW+Vm5?r4aG^{6SfckQ=NdM9>>Z$@&;(#!QVYqt=kx_Lq8~HFdf^ zqtNB)K1|r~M**8^qfm2=vVPv|WuBpwz6s)6jc#wU4NJx34?kUX%TZl+12WVfLG9O5)*?*K#&`Dih0yZK{B6a(}J!@HC0 zVS;4d(ijMF`jh3%qd&-DdZG&U8G3*c81E~mTHeOGAVK7HXm+yS1F!Wn*kh@^=suK; z$r`yHWUvQZd*kD8HyUpNGuFN!kNwAG`h^%~l8?B#&iHbcyu|we)0#OsTorxTn-0*# z-F(0T%f{vSo^ci(K@NBW$waGCyMX{!XXB{!^S19fkLVKwH3zq=%~i6l?CJ|Bt{FZF z1<0T8#@wfXooaDPs$dW`4ygnMxi}PJVAn?l=uD z{$faJD=jo2^Ubyqr@7xdI55|d-DL~W9q@qY5FaZ5I0&qEA*!UP1}|GvUjvGsmGC=u zS(-m0eksM?AYc^{^#)U26R(~>49^KXD5a}-_fbAqFuHdb2i^ZnHndCjk{sChPvXjb z2y?H^1<=Lxw%e8c{h?t`x37NSn<0YzERMO6gxhAl!0L0UC|XZTXVR2e#n!iPLM}`( zCOKw5NLlKw#J}LdUEL2}30!Y4gbSBD_?}<5TURm4$bSqZlubI7CVllhf&^3bk4X`)kpBuBP_ zL@qD^lTKf3*%>M<4PQrxVSHfJB$Sd zUe*N|1Etrn#O^9GZR^m?4=PS68|S5n40n4T$%C_^K%B{|Ea6VnzGZCqUBr;)v8|Aw48Uc!GJt-a&O$&xhH?pSmlv}B^frfF1l zUXAUP8Xz;@$W{ex$na9_ygX(?3P$;1`%YV~(NPd2L_fj6@RJfc8_Kq;|VXFP@3}hizNOzuX(~B4q{# z!=E(9Csd85q(H^ge!In8VG8nEYt=?XNT7oY>2Sk|sp9W&Ig|7^*(l|5tI^9nv40#A z{biBWh6NZYw4gO$N=^30!b?Eu(_%UX9 zPP^KRlXXKW5uOh7sM2ZU{#0Uxg`~%OsBd#w+@)I=t;%0Ph|Ww&)W{N@qNCG*zKBE` zU!bw`3l+8vr((G`{+x%+0LC8bTcdh7*D6EEb0Gszms255Jv_q)G+81CC!lqVtc04--qg@RzU^M9{T(!>Ql^&gRB)Tm2$1)8E$$>7==m%v4G zY#CD*byKONQAu2c$_%_YDR?^|;U2PA3Xb+=*9_mW~92P z>2g&HYUT!9d!oG^JP+)7wWSX#koJB4zQXx?WSM#pyofsJWGpt}$p$|hg!{~Zcj#__ zKRiC8vm{SGS(PL(nhInW8y2t&uYuzD?_B|mB>!GQ-+00WLnCiVW7eMU#~Lh^!>r?% z{h~V&Hs7BLjg!So&8W#kJPJy?-UL(FKOlyFe>WVRTik_hb>d*p&)f{j2y27Q{}xm! zEGfY8%tJ%ygzliVJN#5{nE^p|;h;EOM*I&AoTInTP0wYa&}YS``?tD=s#ofUllc?0 z{~Z;|6LSNpl-AnF1~ih0ObP_e;Mb>g7n{si{XR^|n<^y@78_vr1Y4+dfa@5HHh>Lc zrgW0-pv9-iji9h>kO+s1CM_ooJ)pGzjD8sZX(Qx%p4r>sdvvUP^gQNd$m2GT7@(ix zglt+8Hl)&i0mmF&*}UxzyT0>LbkQ+MsY-u`U3^GgGsh=E4hNy0tKYS-`DXspwNg02 zK0%CCicptW-`<5glMKtWZ)~dhn$*eG0&1oG|MfrqAt6jJM(0iJ7iL0Cc5n3e7zqN6 z#8rk6(FCs9ye8jU&X-i%Uzf0&tV%Zg%+RzrNDclK>BS=!{`B}WAz4yc_czDoHRBB9 z5{9&RhwpbUefXUdk8D%pk6eIU!~7VybUgZl*5iyM~#&1cz>!e^~jCpI+p9?o=rFFV#K+k(ygBgBa>^a@^cqJzz8p05n~$*itYPy7ov zoby>JsMbr6n`NQ&N_%csc!7$L4q>c4wGn%EI%Ki7v^}h1IPL?1s{Idj@USZ#E>=E| z-bZ!1q0~j>h9{X&B5qIWG|?$Kj}J{=^ps{i`k|hi_Q8sN!xeEm%ln$Zs>m($0X*hL zW8%d4P^dfwma5o`eI05Ht(!#D@JC09=xL+2h%k0X)9*k{Gf66VO_UP?##FYcw!((O zKT6SR;I;Ngm{~ERtyF0JXE34owIae$Iem6aAwk=Cg85zUc1jM> zkf#q|c;te+z=ZLhRR;}Y_=jXkvAY#o9g$RKnffyrw|4X)(INZr471RY;j5MuSUFHD zz?e_j8xoBkL8&1LX_geG3N$i=WR`)K`_4mu?>v!RKtu$xl->AT(G5mk|8Sjj60xa4 zZ=&_IxNfs=%Y@SA@VsI)HK@e0$YoLM3>JzhQH$!?RHd)VtfK8XFLG^a^7m6*DmN<} zHqun6Ug^gdI!l@>^#i%)gV=yK2kXHY(=DLSGD1Yxf554K4$KW4>;T*%Uz3swy_|&W zlwk-;+MA=S^8cgjt;5>Rx_05Aw3HSrP}~X>cXulkin|rJQrz90;_eVA?(PuW-QAtw z5F|)WX3q1RcV^!2`-9}#S8|cx-h1sO_qx~GZLLulH9o&&zECH^c>wbQN7oN&W4zRy zYaJwyv_eh{fK(UbIF=B+5RA8LCGoqT{K#k`u@tUEhil@{=rL;gtbp{pQgC;5vF?(j zPVa--ava(0xYI*CwlBU9BXRRd47&-oYPa~yjf1*qLYCx6YwnU{=O}?3of6Y0|(38dxNsY&Wa%K2bxv^-X@Cq$6r- z@Xn9u(^y9-cI(cX<@%qNblnj<2l@$|>6T(^4)u%Ev%!kB`}+NeN5;`K(lWo?={1`O zt@8IUw2>6p-VKareIiIUm0vPEjsY^1tc6`ofBwEK#e8~b#M1Das;#znm!sWj&#+8J zuJ0Xju&0sd6#sJe*Uj$*{3fOQ4q7KEqS7b3~{h2a=% zma83D8u`@a*s9L@l7kp7lv%`OGyR60oW5Cfb4kwB_Nr)* z<}F+n(c$esDMo>gPG zv(FG;$05Xt8E2;c77LIH-n@zNwFC2j`YlGlslmtTaSPs8r|q7RV|@hkn6V}2pp(YZ z(l{Jo)-j0qTqr$kXMkUbMXmnw+GEn=)CbM!ZP`yDQkNEi9(aT%4ok#5@(=v!t>1a4 zYfp#&w&;HCf571}H&dHjByhU^0Par-I}OW7UaS778KQ`$i{P}Wz_BkxX#F0?+L}|S z`FV+-aE6Q5<1-ZOfoU9q{=QqvI$6UF^wy(u`)rxS* z17|fEYdt10o0SDW&g~H`CfH;C4B9IyW|S!V)s*Ox$wT=u>3ub38dfrr!5p7>kfxCo z3Kgc6WJ2^wqFU0^F zT4N@q9hpmXfz?@xU!k9KZQWG5KdKfmT&whhCj~LG^cD&>)J7##1}36eMf0hA#y=nW z%<3raCd=H?vf<5@c4V({=%-5b7{7#Y7!R`c z4MTv4dLC=K&cs7sisK@ComENSPBc?zLCH~yVtiucQI{$U!iZ8u(*A8{L8;D<$tcXR29{=k$0wabA0zijTj^Pws+nkDzh=FU-GlJ;E2cLi?VU z4g3{Bl`(z#&w7!P*(c!8>-lnx@GF*hW&<%Ej2h_p_dj7^cEfGgx-uRALOoYFc_v*N zV;M6cQ@FnG2Zz##0K(>QjXeR6rMet!Sb9f){<1cPfFi#5`3o`u7y4USKwwydQ;`-` zZ5$+)*Z4?F$BU;RicVr@TSb*Pcg@bcg0!vpWt z%O8^q^#rW?4zv_Pb&9D&x*)Kmvt^$Jim2`4&ASwKkj5ynR@j2t5Nok_-gZtr^WA+e zi_?=BA&Y5}0$(O|L@=DqSt^H+SWiSNf=UurAkANNUFHB4y@dh65#ZM1Gl67%AFhO`aGGl%RVI?6oPJw?i z(lpbn=^ev0Br{M_(y(v^mctW~pt)P2S&iJ1lYC=tY_myZktMFx=Q?}SqiP4nO`x)< zE=R#tPV1aMwJOTeP87v4DpNq^u;(&Mkj>&U=#4O9sbi)oq!Eeg9?x$-`yR{hz4~KNow9C3$hvU(G+uB3VpkKY&4eN6l31W%9R)N zvl&#IkgqL;X`h2v@)paVb-Bf2K9{Z1yA5hy2(Blhf{7J3I`%P>Ezu22xuNS+Idq$O z)B$@tWNWI@LeEKxvH^3y+2Y4gNRW*rw0_Dn{@L~Go)*qOBSK_9FBG_!9xqsiOQX@6 zC@sx+@~2tjhe;9i%p$pBUP;_zTGfMk=+@M5+j^57IU{89>kW247Kv8S(vsMyHiGlG zl1YQPz&_4`{%|PSEaUf25)LC-JoX9q2|bUlCrXRL%jg@KbKFl>nC?r?P4E^;^!>a` zy?8_JOV)gctJP7^(uV)-yED~C| zS99&qJlbL=nJ_}5ZS-W0cSFzORvWTQBc_P0#C)az*tpjRJfscqdRAx?1K8Y*MOi7_ zUv|75nv*ECr7r1cuEgKpgpiIQlwe?qP?(B{lQ$t}9$qs!_41Q(W+Xxkf+o#6eFr(L zH0AJ)$&_}(?oFEO;;xF_7=6$5kkd}hg|@M`Clk%kdZV7vo;<*;3uyd>5RzBu=R!vF z!AnB2ClQAtg~hJVg(#r*p=VPzw`8&^_t4QsMFGadeiIK zG)4JXk7zo@?m{m!j0jsBXGRa=SQ^dL zC1r*GJAi`h*NEZwX9k$8?M~qQ>%*qKCacoP%hrope^q6DUl%&2Nr612eMnxEH+ObH z#je~}69{%2AwSEXp6=x1v>ykBvggHq>a8XNJ`Pv4pn@Q1xU5+U@czmhl)p|RNlkb3iU0It%-E$=f z?il!nP-QFMUWrhJG+*}*_1p;z?1b@b?CuRha%)Pa(fLl&pUA!Rj<>belWjNm5GrSP zNcxhMguG+E>%AQyq<(br)H;rOa6scK3hb-+6KzOA%E z$^LQLCz8z`K$^97>Vqii{cA0?I7LsO`sY7=yW4lKn+C>j0tzMAoOem~AH_Ou`{XXx z51$o>ypOXZrWdf_>&MjePG#_436OWX1OQ1?oGZIbVP|n}cJBWMgV(#&wG!*@!0X3a&7>bbZ6XGIK-QaxijF~F%i_qa&yB115;&6usKRn^ zw)Z17i@^@)mAJanMEH4cP7bE1;)k0UDGZ){i*n3pnXW*O>N@!jLrj!MLDx7^$@y;M zoewT)r6m0nWcG#b30tedi925+0&c(j{?(8sp*5w0mFS&Cci0T|lcfEjE-*TZ3%KQ2 zc(H(gptRbT1FoTm5Bx3mfU%FCIrs=a;o*CbzPeKP!QsfSJP*>Tj=4tm^Ymm2?0p>@ zck$a)a8{|~4Vsh$YfRe(A~L|$HnAIsfa9?SmyS-e7?=j!W#KY_l9TX zGn&zl^gpTMJJ;7mrKiNdxNZu$Cku}gyy@*zJBEIo?Vh(+5B_uWVQ>uw99~UJlj@Zc zc3@tx@yjI5yr}hZo7dy5Hy{bi!8G|1_th#_p{yJ$2y@YxZjOpY0I&~+3-C8>ff!;lQ0r)zm~}BQ0w1))v4)~u2;`TlWwQ5W@)l3- zgW7QHyiwFK?Q@$-WI}oq;bH(q4)!sDw+_&E5Zz+kt$Q=2IyZoJ~!75!BvX3Qh_G5l5UW!rp9JJGO z9eU%(=B0bb_BM&_;L66U_WBKc7n|qsWHe&_MZo26>l$gVd6l?V3IZPG8B#ZzCqucc zG*K!FmD7TcSd?}48AL;?V^8|sgM@{Y?V;H_R#STjoE8&f|X_u$0O zp{vrVk8nZGWcKN)xz4mllM6@53&%p{%qn%Gm6(l}mH9}9`24J+XvfNVNwFr=YJ*^+7RYa7P5!=>@Z^C?ha;ahIYDiL=6E!hF2lc?lKejo9t_k|dTlJ6 zi2p7QJ$Cot@;idMBJ6);SakAEWx%)WDew@sfcF7bz46yL6Udbw*Emektw$En?U!wE zIn-wSnd&T6$>xq+H>*$L-mxGa&)!BScUyG!o6Bxszo(<@vz{co<(j znZ!#Wl)62VB(GJTKBT8nVO0dG3q92Gx*5>Z5IU@Nn1sGq_}VpxJd(Hoa26ilG{^68 zW#Dji`Y(2%SD89MfzWx6|4Nd+o`^7la|Io($)`l|{i+zZG!^wB_wN!`WQHM5Yd=U0 zF>Cm~%fnW~eV1Hi`=y?t95eaP1Z9)ZY2$Dc6bNxJ@DOzbb@0nybqF{?e^suFLe~$y zZm&IcM(QipZ4$Ta4iClWLotg9))c|HO2^^&>2BonjPea+$=)MOpJNR8$8kp7#&$s> za>smUdMnesc6fJGd*i86x5+KHe2hm-bwjuSh$2nHZ|C!l+fN&iO1r)ERi?pAPx!U% zf3iVfJAw7u(Rcrjig593fKW$-yLb&5?kMlf`thCGc*<;l{lds5yLF`#O+9e`sGcb^ z_AbBS`v#qT30MeT^BQ~ICyv>D!cA1A&^TgdH`=ti8v`p@(DX@pvldtWgdN)AJ$yRu&Wn%FHs^T5bSXyK_KbvX$H=hF&bI* zxm7ebwb*czzhf$ZUw|@awPC^#@HK{N-&={-v?J2D1J+sql>b**qE8~yNfJ>b&3Yk4 zfZX4@G^X3{O}G|&Ge|Kd1T!`rP0=!Yqaz%}<-@KpDcae)bZ%MFg1+5-0bOHu2whsV zpVRK#sb9CJ@~ve-s~GMkf3<6i=S5n`W%;<3} zo9xL_hB^Wrf)q5^PRQd(Vy0NjCCNEm$UqeOo6pO~nBl`cN~F=FCk z9|TP4ZaL$*bDW>DzZ?CQ+WG_Qff}xxe=gvCSN%TdJOml@TKmdr=v(OkYeP9_P8J6- z&4-zfZkU`~Nb_?k;D@_so=iavNk%dm*D>yHeqGjLrqjvvWoY)$(<6-P2R-}s)%f4m z0SiXY?CbSQV%lk;y8*HykGD<#WX5@jd<<{IxhsShst1*Of8W{qTF{bu<+-smyz{bi z**|h5VO2*TZ!@N>B~<{NU*LqT=^TKm_9*rEUQji9p!9+E5#MK3PY-0#3LKqHmT_Bd zm}Qtu<%^>#7?ytBfwEr=t&$U~xLB4~Qm-L1?7`|^E~qR*U#`huo&A~@OGjTwf--z$ zkhM{FZ0C{8l={8G%EHp@G87#&!&#DzMMJ@9Dx69qx#s$G=_2yo!$405dc-8^)n7~X z2%tHEn_#my?X>ZG^H&eK|6upNq#qWnw?8Q{nz6prgkImiTh&bRqSEm%5(FL@Z zmWms=1xju%Q-v&|#gU8n`0wLMYzkRVco#CT8Fk=EZak7WlJ%0E%=q2`I`@reM+dU$ zDgUd}{?g2T&p3WzVeiW{Yx_}rZ}mRjMrAov<-;>3Mr8CxNga>N<#Q?QWGlTbqSXpoG}LgZ-{`-+SgqY;T@r1-G@7O`86Lm z=e}}}armRq4{rRgvLpaL_&k{tyiUUx%{W_Gtgz;ziFHOwM~p2#&BJl0$02=b11&Ir z*2yUsNF%Bv)>#@VtH6`s*vpy-OCn%-JX0aihkpj0?LDinUdb+xW_q@g!x;8|+nYz8 zS3CWYJ!}*F0eEabP7c29y4>}2WuPL=`0vrbK|P>ORVj2_=;~xCuYfopw0jnpOKq4I zl)UIGS#dDoJQ}OpwqWE_o`&l_PD21bcY5d1>n_8VG}b)_GS_uc>po0E_SAP9Q+NrU zyJndCJOq~mB(EgV?gB16iyoVd1=K^{TtbTJO?NzlZ`n;BE8bI7E|u+HepgC^R>_E^ zwL?8j27bHd0guOhzC(3#WIn!U9$NH4`0z!9Ls=@kGWo^A3kQj*uCn?i&^p5{4LYeS zHveKl;6?%Sadp>Fk^2APDF{nuuGn-C(W#XQOGt$H#T6nN6T}>KCc~Nv5U~EVr_HZC z_+H`MEEO3KgOum)tULwMz4$lIYb#4LVLr)3z4obnqBn`BfR@)r|Nn*U1Rqdp$zy-M-*WUkokyB{?+Gul9gnr#P>& z_J9EQwwC0pmOEIlo}t*+-j7O$m~Shr@A*qe5^r)FXzL^5em$feus$*M(@BbbY@A8O zSvFhCcyhDaGp{@?GOmR=u#e`YHC&HXT7IsW5Wv1qHeB(Vbf7nHHmUU!?8DwR)1O=(Kyk-UReo*7*$#+vYt*n-&J3nH&@9(5YbV*VJ1wOdS{RGKvul6;W* zwPap($p70y1GQ%Mb0IRORV!HUij0IspbYz6y)x{RiAkXG>C}saA97xtdpe5o$N7f8 zpYy+r=!p~JVAQ8#QWf@u<8>6GUPVaD_hI3Y;sjupMf0*rymvaV;`Yy%y|ujC#OZ}r zJOsQyhx@RX|NRZvkvRW>YkY47X-Rvug1A@gnJ3FaV54Q&s3plIUKg-tWVqsEG41C}>oH7Tzq*?|OwPEl4l|2#4i2ey>ibp4TW5u38dlnZoO9agXKAry(y zGTbWoR9tB|U#nt5F4+AeCI}X1jMvZ~jh*@=iNEDt8O-zp!p{T$HO;Cx;eM zc-D(;;Zd--38PLt9DptN23+Rkq;VWPl#{q`Ql8M>X*07>AAC!33rw4g^(pUGHBbpw&=cd5X0NN-X8^JDeTm-+(P|D=4sk_`HA@V%EAH&KhAX`QKhS zjxFh~l+Q>-L__ayiZXIeN1oO7uVj{M%J^GJ|5pKJRU_#q_%Ap$Qo8po$TzDT`AKHP zm8yj&2{Zj#%ke)G;Ng)>ODZh4l}8%0fp|eGFL3xk z1QNs}GCfmC#B!D`D?ZHNsBVcrPa!oqq@{7LEoP15`s|DtEL9lNE0-eQWlwbt9)ZOd z?QGb||B~653B*BeiJ?^2l+P9#1;+Ai{NA!F^J3Fui*~)^`&PL8O=NDHMaSJaiCA_H zt(<=nfj*JH;&bLO&=NJenqycA`>DWQ++q>)fsX?2dg~jZ8&hmPI{NtRJJVC@<{qzv zZ@UVtN3HZLkK=fIUCFSjM_Ww#*Z@DP zM&44PrP>Q``Ei&~Gmf5jB(XV5!?rz!1o3m+o@+a>#`fVDWvG6|87mS`afu_Ztf{o5 zEL0{ED5HY5L_qTnH!~ZP#(H4s+N&>*m3g?shTP@qJWE6D-=d@I=ZosRZ7fH5MY&E| zKH_;Sd-{&O!MQnK15+H$p?AED1uJIn<7J8SUsamI;;(s)5kAcnKuCiK7OZ85fjV!l ztkL5N0+*ul-)*R`s)V>PE*!yyVD1KbqB60zZ=?WhhSn4Q7iAB&p!!V0pXA1wjrYxf z!!kNkB3Svyt6CxHR1W7vjD6b?MC8t_Ii_xZ&KU&`$aa6W$rpGY7ij62nJ}k*B{;3g z7dy^>7aN&Cj%Qs$Z^OE=&Oya__FQmYX32uA0v!9V5fRl_mkx0;`CIon+*f~wHiKK) zA+TeeXVSi8S_(L;#fo0FC(l}iOK9lc1kF^4?RZqXB-KkxiF9enIhG~38*+c zB*NB42_@!>%BAcE?IGZyjBj@*E%gF1c;aWspCSJr_DT%#K7bN+^8P3bVQaS(7!}{+ zkF^8nn`msu9#&^twBh=exY=UQ@n?L24-bBYXEZy8ZZ315{?l8BJ!3oH;=18+Z07 z!Hw`fEw_%^9s@hB_es)U((iV*oMc@eY`DantW)$r^&7#aXH9StK`#hIP89nK)<`3w zK8;WmpO!7hVxN!Lr-x#vL<`$D7U!L8Xd8!~-Y$yz9p%n~75ucJ;g@T+18j^h1<40H zj+d=JwQx<98Gw!u#rx@}J^L9Xj9@odP@HjuiPi20$Z|xiD1Bh!ufJ83=`Fnn7j6WL$}RhW!-ay( zt5+ezMomWr164N;9X&NIpo>oR=FT&D?(~-^{1`( z85dJ~_j|cc+;@|#{Ew}bJ2&L0og~N3n2j%zG_=NVb< zEdZcr1K^GwPlYP}2!Zy%NqGK2(sn6W_IzRYZFX$HL!KXwsZlU!MbMGCfKiCVNBilV zd;bQ0vg$_H^R9YNcnr9UDayGhV)I97D=DrV$ROn4F5Kyk{;*!YA zi{$r*U+1s(L(VZezDW}9Kk!Nt=+eP1wOj6`03GPSY}C2+uQ&e$3MT!#Tn`2q`))*J zHE!>Owx=GkjrytN!AWboRN@o?P0ZAOzn_qqI&!BCRB$mixR#jA&$8+vFr{?ZivLS=p5sJH2}-{H$vnGwth zfmLoaU9Dz!tTb%qj#MU&Cz5g?gVKFl$}t1jH8Ro;Fp8xxy!NY$-nElMF2WA zEk;cU-of3YM?t;cp~0e zr$vSD6NT1?pZ7ooz$MpQuG=fNT}uwkV%3O9Pj9i=RIPPuLCxA+bwpA4HRCf!G`z3OC@`N#$OqWD84dvzK9&W2Z0n%%yxOdf7 z;XkA~>Zy89WC+>Yl&^X^j?sj^+3z-RaY^b{6UHKs5(&=EqT+q%l=u%q!YjJgfH&v|g01I~jj2dc69$dL94STH}R>-+7_hbvqyY69~Od0Vlp?87>`xB>m~3 z1PO<<@!zA`vAOUIQqrZ8tCAarSSR!<9vvu7%)qFuS?jn+BYz9f{ho>Z#&1#U8p;Ml z(aQdy%%ZGyM%c=ZUk^}5BlH^|3%{HZqVEshDKNAgaF;mAxUDW_DgAQn_>M|7~nln^m)HZY>pz5ZbQViUd(<^fd>iD>pPJ|Vdi zz^%LwiOH|uJzMazRhz$~s^wFH?X4AS2VJ7nvdd7Pb}H#>l?g%3Z$*_`4e5S*V=cIP z1Z;TsC-k024J((ul^4+3JBmN-RpyopJ?3R73E<*l0tFCXBfc6Y6GIs+`1GFo6Ls%i z&Y-d)IvkdWYtcj@B5e&dHR52w;Bkd-ji|RXbD5?_P3)-5kE7I=371mf@eIe@OuX@{ z%w26gFwdRkT}GujWRJL{WUm%FzY^ui{R%|=3TDtN_-`gfhg`;^_|B+ZRp>0T6_I(; zc)2a%2d-xQx`}y*ne~)|I~3exd6csX$u|+XUq$);^#=Oz3Or5fqV1id4Z~&0R?Zm! zg05P{r35tbTp!%FW8dy(71||_+iON~;c!JvyOe}J?Hv>B`YqXfa}d2zP!R z+k;Vju&|JN$+@y<83ZPV>DmQYAE!*N8qCrMe-G%*Lx&%0_!}HEWM=Ll^l8^|>@sUQ z1blyZHp#3gbImv$Nb?oES&Or=%N|`c�LBlvxQHi63%-ZM{PLAE20fL7bG=*Bsh6nr)p}v;)~m;1Pes&K z5k6`FQ zzxHJ_5K}JZa%W(~9aN5U_=_q_1N{&0@t} zR-k3N-|ph2Pf(H)rY-EKPASsOg?*{6eYyW^kA=XiH(m$hA_G23oL1C{%dMN}4@asl z!?SmUpZP2`nWD$t1(fE?ncn(X7w}(Sv|lY~RmN#5qb10XFMc_m-%u13aPa5%JQv!X zFJ(+Be(U|^hb4<5?9PUm5EAci%SrMvXeYo-`V^;R{-;jq>DnP@RyhJ;ri7%Efh{;d zFr>(BR{os`(Tkha`Osk9cTivp&3lg60;FE?_q^6cgEPeT$J4;M19Gu>X)W0}<*XJ_ zUZFOC<#Vn^&a8<$Zl9Z)$rQ}y06>^{f~QtG(S5w$J1YO zbL_qd8C)lb?!^+|3`dc;hpYoIBjM$mzgY9y9k|ZZw|ZZ=##%sWLOLvJKWX{23Urg3 zTm^XLA}ClM^`dJme8A_w0n$P6J$_Z#krLdUKQG9M+rxgeenLHkKF}(!cBa`v^M^v{<&b9?|j`h09kj0yghSzeTH7^lvT8! ziy?Ld`tsY++@Ub1R>wVUV2F`TkW3b7Jh|1BX?lOWpk}Y`*VSald3>xgT3jqdT3ai^ zOVyEf29<~T6N`Cw@bvYagvn*Z5UaTR-ot?7T6L>2aJ1Qak-A;^fW^)GvemehC6g7D zrMdj9>9XFOn-1{RRI3eU#f^E}=SyOe5>OcBAl;>ouN>X}1)F$9Z>6e>(f&3QX%8fw z^s}{GS3J7G4;$frZ0OpA9sw0K~+yQb4<*SAuav@&av(kkNmv$LM$^vY&#G* zk4@Hfm;5oB66=|qNBYeRuo+JKPHhyHo4>{n%?kO>Zs#-ATigLFman@T4kn=D`?*}+CBxER_8T1_6RoyD&4H9t zw1m4h&q(bYAp@c>4VI)K-j>N1NE$~34*312WF8%-G|f9 z%8WKHf&{4`l?J%&+qZ^QTqGM*Qd=eg*g{a0S)XrHt;VE3#>9l%;O7@>Dh$hK#j8 z5v#Cy7H7NlFyUOKq7Zo}`x(M6D8rjyoOKPXkw5l3u(jJP)=|3PzA3zn3veilbt>XE zWA)S9+HyH7V>UkfoAHAE+QmHSWOihxE0}lh5^&dD6u-YU6!_(N!q=S5bB~wt=f@xy z+T`D=yZC7#mEl|`pI!6Pd5*>u3~|}aJVLc@A{WThkXX$%biAhsth_2Cth;>55+R;P zIsz$=wtueuCnPw}^N*0QtKk~mE|^Jz`1iO6Y29+ z1LaV5i_`BhZVrXmbH$lXn7DjUO3kYkwEIr2K z{uB>|x}N3d^@`;W=nOryLAK3*=_(UMdXNS&KHn+PY2Oei`fMe;9%v(G^mDe8k=59Dt0lAPGSgE&J_IGM(B9A~*?sTg1(Ft^0KO^$x7- zfCu71kos2(yP zS^1YG3AQyWOPlsM*!|;?Y+uiRdTr?tjFMhOd_Ip?Jh6lo9;wuLgo`KCpt^o| zIA-DSHofGeLaA+0f7^8Lt0o83+`XSvN6`aPPOmcuE_qO&DZJKIe5`|pjjKDgo4+L9 zxC*KAhk1EzsiCod?j|DriQS17;3*>-KzgfX5I473lt401Fj};)CkxOu`g&R}ugQ1fnr zu0?Znu`DQ(fYY{~yJSvX7Emz+I&aj}%RJCy+9ONjbI-5o%5BU#G$~crTICOQooS-B zz+SvA!$pdp^e+wcKa!-s_BC5hFPHzz`6eE^ZpQPxrFzN9*9A!Y4!Bao0Ws76 zUVYz|4vm-1B=V2UoisoCW8H*%{p1`8!o}OZ>Mstz<2r`pV|Doykw+8y7OpE#$r;G4 zadVEkEXYume^j#0tEn|=)}%d`9FHlb(qEGW#qN#FlZZX1hPTaiH}0=ol~*h;xV$z; z_M11LyQ3rKPzx^H`J0vL)bju1EV=WAXO$}lFDCkSmM#keiX=$W;OD*|YR0G0fTewT zFM7HKP9Eo}@~WNi@x(#IXK7>of)7E*M=U{eS++&ZkID{T44jD5T#@l26r_hY8uOQ) z&T{iJ6qds~co$jefkMz~0cpCFD2(+fzN=Tdtd2p2d>52fQ-u~RL`Rt0mSK(&2`mW` z`lX3=GL5D2Gh`+FkBF36zrKk6)LQ?U#EPi2BFbmO0Upih%D{riLkno$X^t=&{_!@c zavw17@oX{oFtEmYSP+P&jX%|={s4enMlv@MP~uh7r=oQt&yG&!_q62M;qHHVU%eNL zxGxjxX^c6bVl^~ym9IhJB^g{l{MMp;m7cay9!A~<6qL4mGpdNH*tp+p{cXwqZ!i$m z8Ak4lVuiap?e`t1^v#-7ghAeepy#SuaGB2tlZa>#-m|R>RZY@5!i?G}@uc)fwkWio z=Q|K!Kwrh7m37M*ymv(W==xl5_X1vH+KSkmHDyoT|T zy^4jN1Y}X+z5k3ooTUbDZ1~HRbOi?^(Vg-SKyUwf&mkIZuvz@0*9D07hK(UcM7K4v2*;nPKn>M+{=*M zYP?5hu$?tMlOk9~s2#{r;Cl2NnL&--)O9E40KK>9#1W!tVd@PHaw$}1%+V}x8#d25 z6(r%aofj}|pYdA0>mSq4CWLz)XySjqnPD{@Cp5FMVN!=!2BH6vMYt<6lsg5NmEidl zxA^Jp#>xu8{loRaNUQ{5>OH7{_5v2J*efl5jwITvCN_GlL#xXn;CX@@(LR zO1PYa#0!aWy86>F2iiZ)lJQk%Y?3&lm8NPGB6bJckM2m*g&mT*)E~PqPiiN+8O*-txs~Ol z7gk|AB^YF}OKq1kT9P8M;~HPjvSCvrEc_OfRi72?Mdn-nAP8aBx^sNekH+6tv}&&} ze{pR0^<%v_x{j|9THG-$H$vPZFb>EIjSk*HVru*3a4=3(MLOE{t>;VWeNOe{QRhbN z%LS*Dd<9hDTOVY{NtFbPa3Tbagb@bBAFsfm-*8MynZsnFZKD{nmo~R+`|mz-1ltb{ z4GrFcA5&I`U)GCA-kUE7w}pXg%`;ps@`Xs7R0(cqYb~s-D4e~*bTmlEB_!+gc}ceA z!+e)L4V^nRRr7zS{r`Fd!n?(VS#eoe#5}tJA%j&(21&ck*5qyh&LSb6x3Ue*x%vvN-z|zjBZG{!RH#>zTXvL!A1HA zZ$Iq+2`oZ%n)AcD>!ZP#TJ=rDx7#1g_sADri+M*+8g$g+MK&lE04M(|LUiKcZ={X< z`#Ih_(gHu{zk#L}o1rg{CLu)5F>5XxI^q$yegKR{c%1j%W3;W(8NAS;`k3~%$naGT z%c2!+5fe%}e$56;&C7=aK(fbqd!y-sj>{>LkhiBJDXj`3c4bJAsHN4(ZvD$@o!Jcj z?INt-;JjW^^Rii*VgMOis%nuC+xiEj+6uJR*B0<^oR@cL*I`$oz0nUrkXL)|W$cxl ztMq|}l^GU%gwXr6dY50oL@<$U%kA$XxQY1s^@ZMg;VHB1cZs^-e$+q{=m(b!HC#B$ zC}!bW)NQ2U9>%y^iTKyfF*8~G3pvCN7fA&Vj@NIhsRJ0?6e79~-+l))`v-TG+sfD# zYG{z3y~$e$&yWIWhdUMQD9gQ9U6|4t{Tr3x@TTefT&$U(M7G1J4G)PxC zKJSUBZHy)vKe&FKSDWou>y(3HAAjUqeNf3psSOaSVz+ZtYHIKW3%cBngf zRoQ&b(7>P6avyy?3nE}{3>bc`&o2LRdF8` zB;d3#eFV38_ge(}$e=E#=}XeW2+pKwuGe_IZynyC*m1B;=UE%4m!x0ow_?wt6=`sp zeo^PY_a6n_~O2pR;W)p42x(9qCx98K#Hu2*9&2K>yQTc};v zUDwL1ci>a`4?WqA-=IoK@U?c;Fa7FI-igNtYkZstmWn=liX`A^Xb|q@Lo|dyk-fj) z{iw@T^J4?&KpoS8iJjY8PRDQlh5m^g5Tc8pEdyfcSD66fD~fB~VFs&3Va|2^lr+%{ zeuR&%gZ_k01LuBzdhC&A9|F!0uv z%sPpa`J$k4t!3k?_5Vg###NM9X39D{_K#@gv%dPa!!cvQLcE(KZ^M|AOHTyva4gI+ zefxaHk@7lZF~l>Cm22Aja=sekC;v0>Q1dNid*6ChHJXZ3?>lF1s;Wo=s$WqD$eg%+ z4as|G9nBgQ_j`a{6Fi3a#`U(Q9q02=uT4yep@)3mi7m7Q=GV# zmKV+1A=(ay5+EkNt2SV(P)9g6?t|f10q8Q-`*Vgb$#Cca^kzRUTc}i%tC%yK#4dNl zQ^xgx*R;()ZhM~&qBGaIWahelJV@K`z3C|3crt=9O9gY@{eIobtl5P&e|IIYuvgJ+ zqpPF5${bgKUNe-m0&X{o)(OLu;xZ=F;nYTGR4P_ev|Y@52jpMK#vSdu&|rd} zKs8Y?GG2O{{!J$x;OSk-S$kdfPtk&nviH$93ovJ|5-|=ak!P>!8d>P&pG%aiUxXR- zXe#Qf`A@B)k_rW7t;UiHGb0V$j@1*F@#+8lQ3%nt0}4C0t-hQ&ScJI4C>VuU+Dyw8 zd~V*t47{GDlw`ZLwFDZS)k5Z&`!5<_+|Gxdl|&(r&Hk;!;sq&Tu!{ zzOX+b@Z3Rwy7HJC+1RmKyl;@OH=v=NYq}(DfA=iEmsEJAG!aucAN8s8lRmb*Fn7^N zuXN-q=WG^$g45@UJZ(0GdWn-XLhl1P*(_}N;eR-eo#?Rp&=6fx4~fIs=`3LKSS9kF zwN|kvy#VI)-Ty=k#NF?hRpu-LD__=lBE+eVFrBVUtixmodgSo7?F*X(i9@#=>KN*p zGKiiX{_-As*E0gi^(~(jqy8u2sL=Bm3wfyX<^N&ptHYxDyM0vp}QM~5Qe(*d(VB(J-+Au$-u)id++aFYkgv^HRY#c zFWR)~4&8S3fC7c97Zu#L@I{a0Dw?>=H_+Fw(8}L`{0T5nLG5CrcSD@0-+c5ABx}dO z^=rT=P$lH%IT$_YND)F7TCEOKO%;^uo*_j;_|rCqqiMcS5c&%|^+#@TsPNUu?kT%m zO(@SXHn_vMvrwyU;Cg~jU0z_mP{wqDXSr*Pk9M|X)GLs~MI~AgQwDBX6pr@wmn7El zKLJ9O_sJtV<8^293=YL<2$}cYPnOTd0rubrd+_?9*YYne&FAA41TQnuTR7eZG8(Ta z96a%*eAVNk_N{BwNgW9h_Dt@CQXkS}lZ3kYpa%L>y43n?+D+TC5lZ zy@_fKY{PUcFpe#sjqH5J_SQJ%=#~JV*_>WW2V(G{`-4kDY9@OfQEa-9b zA8X{=RCt#9_YzgG-RxOcaO>47#*XnIf5WvOs8ohSB0b_W_!;E^q|3d9F-2Gy%TCco zQPDZW4ACMidbNe=x<6Mka<}<2XK!Ao=>fsDhxh#S#TnO-`hy#_c|@2=$q1F*?`rw$ z+Y9?nT7PbjotS-!Cx(d~Qg)t+k`uTOHsVoe=AqMysHBfq%&*OzjtU^K@t>!95+FaQ zRRD^@qS$V){F_z#*H3yWGLMq%Dc!$d0+R&eo-hjKffJot%D?RG?HP`kQS3IlNs!QV z=A}5%bF0L&0BS;$?PhuG2Uw>E;+M}PPNR+&)wEyQ6F?2_Z`VYF!_LTqa)OpkUhUc)pa$m)*AUj4|U_^MDBODmKAQR7Or|kiP?nL zQ<_EZ5VAw~Y|IyeFYxIy$27Ik#DhGZl8N56rOGxe6$Up}1x_&Ou+DF`cwF0H*Dkpl ztQH=7l(_W$v9Z$5q}AkIEImFbrJhL|IcDEZ_VPTw21CKe&pg8>E} z;YqcEr4Q5y33Cof_xCwCz;bj{?PW1|vNcQ&`2|$|4}vP4m!M4=4{Z`*qgLZ2KY%}l z^J8&d9#+qYEa)YhuIoSQ|{r=`6nl!+~o@1|uX z_8&;~r+Pc_wj@tJNBU>Y$m9Bk2KN$L-d;zz?0pKuD;v>23Ab?+)~|0oZzIx6r-AdS z$jXHiSDmAi<20@0@-7SyNBQDrE$d1nec@)e&7ZCJykPa((k7En5dEXfhTm-dR0~O7 zYks$0RZQNr^@0obgybMQF6Q38eT1c$hB-9uyWa;FmS9qiUpnu*(s6oTNJdLC&=t)l zO#8RZ8TVz4G%rnX>Yp7Ay{-BY4`la3;MJF8DIAL=s_lT9>hc`d&3wnM)i=GjiTxXW zeIO1kZRWp`RUjP%r%4gvXC#)RM{#23cn)$4K&HH~p9NrQ@<1RLyS^FxxxArN8Wk$H z4>Bn))pxNA9-3yKoU)=x`kcBTY<5TBd&yuOZ!v#XKhk33FEJ8DzgSFh{KCG@>oPOB zcmmPeg)?7P4wN^gM1=arWPD#i`;;11{oyV}sM>)SNb(<#O%M0O_wfFRO!R>~x!>K` zu1a$%aWzAU6HYV_-tdtifryaukNQbnCVdracyAwAMEfz;Z6F!T{VLtBrIJ}h7ckqKDlI$U?ek5^&}1(? z|FOAN9SE?a#eI7ffO(K!c^R{+iSL>1@QY_}C`D6>a_e=C6azpE%0ZuR|~G`UcF+h?({FWOqY z`vbf5__{5(Be;vilMd6fBuiQ7%c}G57d&alahv35>_+ee=BxXhy?XmRZOSS#zkE9OAY$ zwU?3OalFY|iCY}CFpEeD6KMAqa#XpSAD#*{6QuU|XeN_bgZeXo>p(|1?@D=OPjXC6 zcF2gp9qlonrgKy&RV6Ihed?*by+OG9wZViDjMzgSK@q&s*Lcq&SA$GHD3K5M^BWs4 zYmz5!6;!uwKG!TLT~^z2478lhcAlP`l5?T8bH7XXRtA?&Hx2Lec{U!DI@c_?ZYl29 zT;DU?wp=b~lhyR8bumpWFKc-%j_kKUX1@sRb~L_{-fQ&OYCUhjS$2sE8BgI~ z+iPaXet1&?qa?agb)?7vUWmMai~Rd5e~bnH@Je)fvRA@v^DA@Yu8Y{(H2S z+KjlHfE?2GBCt$ZrM0QpriGjl*IGvK1-eb)b&4QX ztz%~Y(07|BHRZSJ@WOIuN4X<_jt>{e-Tlk2?cD&DCz@o;g$7XX}f{23CrMx)A(k*H&vD`tUx zAGwWSuh!0l&yno6WeS?`dAX(5-O#Qy_dA#7?^+w**TdqhsBfy>&zRLo*zZr<`u)Ufl(VELDXN@C28v!riq%ia~dC>G61F_8%dW+wA)v zNuDoJ6kyB*+cg|9x)6B0FeYR|Byo3rmhg>!NC&VxPV%P{cpjmzKurX}ne0bFEHQZ5 zthn#7*U@G}DfoP`+rTRrATASvyE(BeRQz667+Z66L1@J0>PRtotTf&NwpCV|2AcT@ zzFe5+%Df7c^O{V#xl|_~zPbfh^AHw8W(UM@eJ`XpFHsB*5ki`6Z6kp9WY`c|2d zwt|)mE4M!>uI(Jcjf&<+y9Z-@lvdYEEim530+-c-p4!`@d>6pYX{uFPUFJ~|xTRq; z>P&Qw!+k*b=5l!_cTEbMGK)C7z+=>Px$hAYvFpQcJWK4TRk)IS`Dc`ieV5;|^F(Ep zHi`2fLc_{$|{J_!#P{KxUeQ#wxZWHUYe6 z%tup9;?5bGjNfAAmp?=q%Xs|7BqdXTF2{?ABeEN~wsmU6zr)FUQuO=NY0>_p#$yrE z3Gw;c`#-JmC`o#06Q@D4Jz=}Ta7MM?LOgA6QwmU>%pN`YL!EBW}e!2TpZL&4dL(tRJ1CAB+k4z_8hLzAs zq>*>3Fn@waH8cCT@w|N|B=Dc@7EC?VZk8IDkdo)rXdHXwNjWX0a>T6KuaQqkn0RY? zXW-Ji6KNlgj|SunRI?n|JS6x0!(;rk(})D;v-4U&d*@^sNd3J+`OL5qiGcV*i#YvI zkMRQMWsB;r7VVaq$w`fa0~g6@^QgEuj9pMmQ=XQ`S%bBlYDtTSY*LBPXTN;|rIbS| zVGktdW_O(a1$nIv)VXv?nD9>i$I~_ZNxR*gc(|F>)6Jhwq$~|v#;DoqYD6cU~W;v8F6>XyOM`e+BP(3m?&Rw!a zBYdHp%}*pZM^VWU6Zl^JOEy#kBH0twb&Xuj$}T9GnV2Xq%E-&8*O;E3*7;(Yn0OXC zuxvUqwJ+ouq@yD&l1Jur>6h4{sWB0M>~uK^5sdV1j%5Y1CJR+S_=kT45WFw%P8qWTiHoz|kwJhSiWTe69)Qq<@s)fbAxAuic{ZUvLwPAYwFUAH4 zrW~fn2ac{4Un*1W*8A$N=QM;%AIBK;^@Let@@h7ygQYxBc_DgM!zBGMB<68mklvr59o!MpB%i+D_%}rU%dD~Jp z>`$D`N$Att_Q}+4WBh#1(QqXV^`_sJi0hM!n-iuKj{m`2d-JL-+-^my5M=}SU%3OW zk8bPyQHRQU@KSl;nV#y8jHI+tjmKTRGb~R*O5Lt=-fCyyufp)MEKSeTErD4ehFeOx zE(NxG^{t+PM_=@R{k9fupY!eJ;M22=e87!01y^t$i^n$J2CwMO7|w6!Cl36hGZ~Av z&B0m4&GMRBT9N`WF#8YgX~>uo#XT{YNDcmlzxs_&@F6DuLx!5i0B0hz{*QAx+{c}8 z5}Zo?7jPdOo^On}$Agc%l0!>#YpKjphfI-#)tmv+ zcCZ2LNmN-XLR#^s=00k7s3W~g2mNo6z*fuI3QF7OcpB(orvdB!3FV9h0LbL8Q{)tW zt0r|u%GZJCuGasrLi?vs+b4c9lMei|0J#J#?Grz;P^w-y_y_!DCe^h07*m~iQ*sZa z*wluOu3tQPldB0bPhM*!9VdtR5fW6#AiC_ZyY*@9(1yD$eC!u z>5l~&O~B7R+Zr0ks&Oe}{Je{;`6VfH4#R_puTzc6biDT2DNn1O40#V*u)ih&-{fF} z>^kL7W>alQ`Yy5~lQw}|jdbuSkw5Yc5fJ`9M&lPFxt&X=jQVqbRMQWisM)w-tnXPV zkIWb0FI1=Lrv&aX`1e;@nE2#)8&pbYs*N4T3k8di^`HMTmHoSpRe1g0ZtVkf#T(Ob zzqnSHVIQm-1eaI&_=QiqLDi3my z1_Ldg^-s#UHZ$se;X++eP$XQHI0iO45f)P)m3vl@gR~0Um>_agHnw=<8521k7vq$j zWZh7(;JoZXyCqFw^#;|f^vqpkWb^Fr2P@19#M()t4YcyPU{^*$+5Khy-Ws=tGbc}l|oo< z(n&M%OXPn&+=*y%-H)8r8PN8wHS-;QEZo$RA0Y<~>m8U05yd!0;7Q%}4)9LDXjI`s zuPG83GQa~D`VZov*yQeT06_O3>^M}08u}q_U&x*m%@vVeXkem0wcu3PmRr9FJ(WQiZ*BSE3*Va{A>GBPZDd(z=Zg%lyb zdf#%2i(QO|vox5HKLD4ZCUW-tN6@=^ppt54n<1rh8he@*|D*kf*Z$mY;G{D9v*xn= zYgirXWl(_uP^xZw^cvG&hmDQyyH_2+WyKqTS~uN?nkKOUen3t);PgaHTJzDPd=v(% zc&RbKt;-d5^HqWbn24>?i9U|Xo6o6}{S{c5RJ*_CxbVybbzLF(?B8%H^p)_qUHFl+ zJa5@FO~L)|^C^^E#eabJk^F*d_ePJ|vVH%)Tp} zjlZr`gNH9L6~1U41T##*Dc+0fuR(fpF+VU5y4X^XPr*~{{tr#WW&g#B zF>{J{EKG4^;u7}Lq^qpL`&%0x1?yaN>BUfdabUfqbn4`s(P^2%&}cMRb#;Z(DdhX zR%33WUigoDt5NylBcI(nUR#WJ1J)xf;C2Rs$~bPTcXg9BGjPjmERfsX*b*tf2Fts) zuZ7=I&8jpqeQaT`8YoPYr8#Ft!>Wq5ur4NeC%^_3^?DT8F^}01vFB53bbeH5^GV3) zhUpR{D{&mda0IBRc*uOcxxR8P{i5wZZkE^~ZJEjtxvF%-HCpUqgyvEmZZ9VTMN-9M zDuW!I2}B@!t+rF66zJQRpXD5^iulZxz>6tHiwmTjb1*@)`HZ*?N3HwX0Hir_xV6Os za|lnT;XHGhXygkg*QlnXA4*6d{MO^1D?0t8+I?-L(O8T%jkL(tUFWT<4X!;MKKa>; zipM{`Vhk>$u2{tt?FLdDv_GH73f9zXyRBI3;TbC>GV7}Qdcm$Wlq6(id)4`$H}QsG z6!*)f%rBKqEv*v}4ADOG8_Xw1i<7@u`OT!S2;Zeh&Kx4^{*yO<)2xk^IDgZiIn)f= zp!IXJKykw1epK~eR4XwNCj8BiHtJhIF;JqD2z)*vF0U~bgi@vCxABFI%;t*(ti+xulCU{4%vj_6EA*hu$y8Eed@{0|AfRE)zTdkUP4nwFNmnmz`Gao(|LqjUBqC&}I_kor5@lR6+xotp->KRTc}zE9+DcrE%TIIS%l(1^ceCq&c|+40wwx2asz6X$dz%SQ6)nb1N8IaQ+!m?)yt2y;m+P0I##h@rvp`>1zI&U+8_xD>z@T9r988K&3+PBsfY=qh*K0Y=^z`GST zvO>^i+=GYGz^QoiVj?l+0lpIATO(=g{s1SJidnckDc={TpFjMmVcg1{IB+AJIb}Zq zr|L1Qr^-|t;+R~d^CdRWlBbD0&my|WPcx;^((*KTVunlbQ{d2)I6RZ4()wELRto6t5D=o)Ek*unb?;^ zk4|{&m9&?Yd4IX<4vV~A(ae^9HFJ*Kb*WbKN)|20q#qd{hxAq&Rsmi%gmF9jp)=#J z{U!dMyrnDCYk%^S%Os4Ok8hyPZvCHPHVzI~D<~{-hrbZilEa$CP2$E6$` z`$AXkuBaFeJR9VCPSZeu4K&OANP1va!Q0~^`JrlgOb8&MkWRVlf;N;PDU9kV*{Q== zQ?E3^%Ld(tNK%ya)#vP9Brr2#K+cf*{2F=_^CoF$jIC~+Uqkhj^Vg--WhN8}s*K9L9R z1iZ;uBNcz-M)m2nC?ehVai@ZbRDG&*& zCLR$_w^zz%+ks2xZ-7=T^79y8i;@@*E*-MeRhqZ$yOHb&oYj6r@Ec{}jfog&MDE3I zqQpJN+p6l84cSu{(8(zhO}q1TyUF)`Y`m$Hk?qqkdhN8bZq(Q!Z*-W2R3$=j@8dwV zGRvLN7QyRV&oFWz|x7Cb`RyQfJPzP2J*9 z^m|M2t&_-+j$QjO(hD6^tv@8Mrq5aO<>dQOg9vHM2w(ik;)ebU%&#CW#z}yWG$25d zk|vOtMVT25%v)B4C4r@cqkPxvZDWa<=BQU+q)iJztPZ8n`cI+>{*_FMu%5U;?L9o2 zEm44JX$JI)Mzy7(^7+frqK>7E4k4#;&hC%C3cQ{RP2+f9z#lTV8ft%c$0cbcVf(bR z;q{ZAR(&R^F{1r^ZlNA&@kPDK8^?O4>d&i-G2w&V--!(ZU%9M!>|$xUe|@A!zGAru zGMKMhk+f9$%!x5=e3YNWnV<#aT!01ef?W4L>PL5}`XSq47+S?by=%x>{@3z)w7~Yl zTUhx(&R9rwiR^_I&@a3QZpu4g$cVMIbS1oEJcggz60ARPXNUw--H7hUxra$zqNiFBQ?X_MXnC zX*he|ummhTn$JM|j;PH0%vlz@cnl$+QWqTf6}lfAUlA_};r`IBi=k4Y8j$5Oam59yoc<}1l= z_5JrJW-vwSjf*jfS#&(nbO;74w&OYr zJzVZbdOtmVB7c^wC3HfnMk4FC14%JG!XZ$j{u>{y$cyQrR!djR8Yj_H`10xZIevR? zeJeKM?usW?gacVr@`W{pqLCe*tj0^zTKq@tJM z;QS#-3DoJqtF@r-E@0Vdh-t6OSZd)Sv`t;bAn(gX?sbW;J+|raN3dh%`>Ir-;}_>aeiO zpxE-+OKfD$wA_f943-BOV37dU%B}ORr(4>=PP*OJ`{XG4<4cJXbD6pTe=ke1#3CsQ zLgpd@q4}#2l5d?C>P-{U>vpUvTcoB1g+1EwrOIJH;#r!#gXcLHRA`0*C*I&*d0 zGDUiX*rXJbdpj0J{L}4xxwPnK+^3ee8p$vAIM)kfhZyW$qxvG&k%~Qe%w{0rcb`k+ zFWD=>vB-6ZPnyMt&%BOpXG%3JfL@NG)U$NbU-&jhIIp6pd;VPu{FkljNhlPLrFO+(6(L#TDzYRHI}c>eGv3h~ajvI< zF|WUoUzX2M_#Y}~vkXi*Ib?=HhGu-b@lj&W1MX~!IG zqme%ouP62@vmWPZ_H0(O{rN4cH2%|gr>st24q<fb<`drg&)|;&YTnb>w<3thCXx`*fVwBTj>PaD{<6pIa1_=EG8$?A##rdr>AQqLi$e#V! z^6O`nKih>0ex5vdVPPG*`uJ-dsnprZx<`?7)a!K*^>MI{bPu4;hX+z?lh@ng18V|s#GE@5-zBcfyL}ee8!V|rZ%=-Zrzt1 zg4tJ{qBYxe>iWXH323*y_!0Q1ebq^uC|Tt5 zM8e_lueh7{Oy~~L(cF}621?z~e){sfV(Vu{8@-W;6&QZMuGa#Q zht+z8kJpOhN~mhYK7FOs6#UhL_Rh4SE$)5=#-i{xsC#gwh~tJP)cJe4C~F-oh~;%b z$)|mq0Eb9=xX~{qi5}8~39gfZY8tt4rCKam0-6(?{-bi-+I|U&#?AYNG4yqFd{gprCxa%pkc< zXZ?T~ZYbhSq`afFWyN-+C0V4UV8G+l=4+E$DG>7rgTL~;;ODdhLMk4Ryhw(2| zr4_sJAd}$)s#^eate}&~jXW-dH$wCIG8rw-6DgXw1wueT|1E9V_4nEfdj*OeM(pojv7mQ{ zkkOrOkHiNOGPHo?O1SoS{OBjK%%RwiHY2=yazoL8c-+pm&QqfI*Z8xjF=Ix9I~?N+ zd*CIqWjdGsGTHL^4uc?4z+^+anRjG`i;7xW$y(~FrEj(nD zL5E6sd~%!!U583%JRPXx+R$(gtwfM|yxae>Z(JPh6tcxF@qPN`>59A24ugrO%8ABX zRM7aD8<5h%%ap}RAykKbLehFGRc2#hK}d;eA$x`k(4ELWp-;;Vv9JnZaUPdtSo{TP z3VurAWPK%$!qiJsQ8{^OQ{u+>dqp8liE*>`ctMZBLM!pqpo*%YL|z7wBGypa?etyP zHWm?P3m$Qg%v|`s(r|s^ABw@8v~OS0mli;;&KIWtj@7*cZMo*r^1P8fsL@+{`}-Zn zHoYVu88p1ARlhJ-Zo{_dCv1gzR7=6!?pG(--mopa!1jA=LtTeBAC)(^YuEca>rBN*rW#uXX8CiFzavMs^{*lX7_jG_!SD+buHkB@&Z z8bh`QBMVgX{49ve^?FFNW3;fSJLWz_Rg63pOe&Pg!Far3`LgV>-nN~OBHHlx*Yzea?GgwJVrLzbONG%71mx2A3eiUDH+Q+r#eu?2Hw(f>V8`%C{fdJsR>%Ko15e(u+|pl8E1l1 zBA)aK(jWUR%ZBfMqu8B>T5xZcB|QWpHv!xN`3H4~vEa@>;yMv7p88M{|jg z@km~8QpO|OzI2yRa8p5Q{4$nhIRT+vN^&;UbG>=*`r6 zM21c87$=4zf5y^ zI7tS>;`Jbffns5J2Gw+SYK*;HJL;ShtU&3dUabg>WX7!8{W?y*qY^lroIpQbF+VnC zNAq^dwyaAphaCq!2>kK-ou%W_M7T`rGKkGvW@11JanpO;UEUNMOF!oI8&@=mGd;p+ zjD?K%CWecc$zesd4}upI$&-gCLYgd7iGXU#B=N*nP|LOF;ZMqZmerS}<{p}d3Q})T zZpbnL>`^7h|3;8Fubx;wTj}aY$xYbKUPW!j7Wv~Eg=@BwpM%!gAPP$=yw;``fNCGA zi}a0RN>4Ss6e{iDimFumyz0R3!r%?oYT&!J1?q@ZWLrAr@k;%AxO4C08^Gu>L9t!} zl5~j^2n>3f)_gf9_m3LL@&dp7nvs@5Pzll4sWPCI#2pSbPv?kkA@m<2mup{d13W$y z$fIgYM+vHLBK%u7Ir2WwR$yRkl~tqFkY<~SFixL@J6M4ry|ym^2sMS|iJ0wxnpj5t zAD-2?Hb+Igrov@^7urg+-;JN(0VH9Mc$-LL^A}Ag*cOx9fpXnL(8Te$Q=1Jr1LBst2bH`M2t_CSbsIulw?y6!nHXelx}xc+)L-C}w<=Z?!tctlM$JnmFahB^i{#|PgbU(ihVd(U@a z46{W1{^}Lj1;`u zvqKZgfPOGm*N%G2_rx;Ly1d0x&uBtKD-6|+-4AIaL`;%lQ8IAU$&7=vj7d{Gr|$Xy z+g^d;p@>I#MVf4nV{kW~=Mp8a3p)w95Ga(K_gj7?N<~+a7J0UgkJJJM^#H`xqWy*_ z_bRtWm2IHBxHOf(?HF%7hkVx*%cDop=VkojJp#~g!2-~kFKZKmgBII`bf$MFj8<^F4+!$aB;@dH5?ccx+M)p z>4frU2{-vx=q`se1LnYs>?Xe*Y^bLHb!Q- z`#K^Z{rvdi?{;=&DCEd``eS-9sFUuBU_+EU?@rA`XNPvM3mXy07hW;g zUg7wqj4Ec}nfUNwash^FL=}!pE~>v30QYOkSyA6d^?jK8PQ(72s`*zDhZ?GpntJCm zcsu^H;*M9V-*;Kq(UH9t-r3_9OR>X}%4uz>pA=_@M}@!CjF#@=j6W@_I-`UkB8)Mf zW96YM^z5W5@-^29kY7=?iJMB)=)Rl6<_F0ec5n;OjF=N1MK8Cpo0sNiLFz(jad|Ln zgiERo>+nNe8sL^l&{JXY9$kN2*Z%}TY=-k}g6P1nPnz>J!nwr1qyhgQJS-#lnthI@$mNz#Ga|aN!X)^|s zu;V%3|C4?zBPB(z)c$#!Rnd~XxSt-Ny6}uZ5N0%+?Q=O*UUJ6mWC7bSqIQEeV%QmX zb%S0Vu}7Jj)=MK;Mp?O2oXlWVDyI_8oJ{4^`7R3Iq8Iu92fh_RU(%SPcU~4!q=ue5 zLN}`~AH$mXk3FFWyW2iPAO7Zl$_026;X`{@R);Lo;Cy zrftn#%81v7q-Ci3LB5!cw1gf|RH@=I8LcVQ%cyu(m6eJru-xI46|`h1nd2p?aKL|N z9^2{G?cM?GMx$2AygoIp@M%<>Rdemc{^6y+-*Yz7%yM(^XOYIErz*wh;m;Ar7p5Xr zyE3y)402!8*|4^(hx+Nzr*fD|nj469kJa0jurQV|5ccq@ZdBoTD?l&0)N?!+K9J38 zYt8eyEym;&5$@zO_~JrU7C>CiN7}PS@j4Qc7|!b%1u$<5zv-cW47sTB6Ii1D3Mn~t zswTt90u>iz24JTaVD)vR{lU8)%>s0_IkRC=FS_`}MkVR4 zW+EWQ#MIO)tA^OH#WPa@^V-wCx5*SB%kK8*sBOyUAZp0mdkoZr4VF&QzPMc6)XH0W z!|ru?SZ*2cF++aqej5bc@b>CWf#mh>g56rH5=SA&$YSlA9SO363kJ!3K;>CGBEwnX z^9RGNCFd;dn^F>^EFHY~@B>f@_-ZF@W4iWU#z_FlKMPrV!B;Ss8mIVqI@#Lwi^$F8 z*k=Um@Z*mtsHKLxYa7jYE<9KAjeW#oFyq^Rcu2p=9Z^!ovg0C}#j9q{+jw3TuRe zDY*}}CPs(Z>fl>(1!%=@ z@`m)zK{fDj;J804>b9Dh8@21P-svsI?&YL%TVX=uhWp1wP(jJhVW#z%7Wbh2Z+?N& zJ62rp{+6E87&SL>X*MgVG(V%Q(TVifx%DOmcz!~s@4CkXj>NogiFhZ8jhN&C$8!+_ z*zzc=q#~RhStE04p?u-p_g(df;H*C$14%-@H3EpXi22~NPeD`y3^9-%&UrdaTA#%w`Ar#^NF_0=kr^lETa6|;wUb>*Dxf?Yj=@$KDj2I zvSEJ1bAZkBmiW3IzY0{*!#L}OWXPE`Hj8de(A2h2y&Hm!W-pQ`V+rDspu9^w>rPB5=~ z-m>?fVp1`VfKTuR9wfE8SL1t)=8s=v5@Q^}>Sj7*=7db4g8ZgFm z|KhZi&M^o*jF9-4dVVntj_>Z4CPR%-F+E3@xntA;jPcZ*c2oE_I*ld>Y*Xq?&MesV zQ2C&tIq~lRery>m)Y+l2M5N#eRaN2(qPX9Y_zM~zTW<6Z=7?0SG zwn6R4gr3~rY$lncur?l^mb`HCwtnX2dawB8;b`|bN@uw;4R|s=@Q$s1d+;Hyl)BMM z>aL$jb92UvEyh5782Ygpi+z#tcv;=>=rCfC=5Z*(iH*DDS2b(VLD z%yu0Y+uD?=@(hIz=cJj>AF_3A=0;_X$g8{FRD7@*`POt#&CFmndt?grTzbyAJr+V2afB$F4EKyEYp`?JR<#-#cK5%yy7VW_Rm-^*f zxe=9LOCw*5Bo|#H0G$xMy_0B0}~QD(4W&huZ;_X(9@F0XfgBQsxag^#xXN z(y1~Tn+{?duzzDN;*pbly_&+)IgChRPK&JdIzUbS!cS$_La&XqKhIL^e~!#w;PJP5 zJ8hf{(5pHGne;tP3u!cXOO|ZlCITIva6m~nKJkR-s21te_E$;~$RV+C-oM9k0Y7hyczH~yNd3&7U ziOD^mRY8O}rDeUE@in(J+Ab-(mE?8AM0=H|zq>O2&R=ebm1kc*q-#VBr)D}3+arEM zMto)bh6T=WpqJMqIaxG_j)%L{s_JTAXH)kJi@aVRr^U*A#jdeMuxi2?iGcBegTMnj zhq@=JR{MwrECuMZq6j&)5Kz5EV@JQ_ZW?g|cRZ_Ms1M3wi*xW6wt$>5Xm9h(4g zwqex1-*&pbYE%p_Z|knpxwl37Z=CO^;rf+9*ZYz-2`Q{esbk5U4-^fZ+$IUUkE(A< zBG=D{pEd0p{{BI@ITp5q2iPGNy%hRcK(XH!%@@_tdMRqZ*!rP6pRz%F8Cbt&;qM>H z$Gdzpc$)#NsZw;LvL7Jx9|%+jzMSp448L9b@bkK|alnu^Y;QkFMy_%^RogVwaBh@0 zK8ay@`Iy3fa8oocMLOP|b+?+g>yd#LRHEd5K3cYE_Td)xDRYc)`)fU3=%TRJFu!}Q z_GzBh22QbEmWL;;-0HNjqNm$YpzI-q)j1FJmr%b^w%@Vm=Hu(GK=aZ%tL!>pHMfxB zhIZ-k7SrYuO>svg*mC)<>2}pM@|d#4;v1Le^xdY8ee>;9;Usx^P2!N21cRGYB;6Mzh~EH?_N%FSq|ESY!7vZ9tYr$*4; zf8zW7UUA@ib=SmjJEZNcaD|~+5^a*(|Cj3X5i8e9;_n*m6}U-0{*fkaJv}rto0s;Q zZ+Bhe&w_`##uhf1UpbC147VmzB(__JUF0?XaN?__iPM#$?Wb1hNLjam>5*l%;j3Qm z`dw%&QECLCNiw5b3X*A-w?*7wOwPH__u+!JUIj1S&3KWn6=;<0etkEwajBjuJ)YTf z6opCLwMeiV5r5S1wdJ;a-LOB@E7pxoSZVpVLX1t&mgE|lUD`W={5|95*_d}b9irF| z%YeQ?T;VRqaHaBV8#nW-r^2tmsV#QCF9ma&?S9>!c=ue8_@>5zsl5u5T@dma&`BT^ zAn*_mR%vDLyN(C5#iunXx|9wE$h!4D98`j4g}%H)A0cvPbp=^_+;Rj`j|P1v7WRx^ zsAh~J(yf=wZF0+PI`g|RydMbf5BE=Fa!bC&+{H?|gCe3~tu!4YHN?T0cPFkfVBD)zLi^dU86;=>{*ZI6GX92Q1we zSr=&;B~kSZTrhwWxqsXb%8!^Hc`!>B&^PVya%Qh;T8g*V< z-~SJL?-|up_Ad-8qN0qIQB;~E3My4Wda)7}0UebNK@kw?i6H`k$e=O|B`UqED4_J- z6D$xR6r}|S5F~^E0U`+y5>lQM75+Lr_rqQ5zU!{_zVG5o7H9AM>viw55AEXxqSi@I zLsmQ8Ive(c^W^~;C$3y|cIy`E2bg*8IyRY3AFRMNr7xDc`whyF^TW43?in~xHRo9K zQ5-q&2Zl`uIleT3C3_)Lj*upAsQ6bzezXEfDHqVV0e)ZesiS)u$P$|R*R}DFC5~aP z24%OVIBq4F;ICNWi@oKy2l*t=Q}#_BQh&VJXgBunFA9D8SYlc2kKY?0i#cqwZ8(U> z(_1Ib7j7^rHlNx?h>D8(^zxxHPCQ6H#rw3DCz|Da>Aek{r+A~d( zGTqjpUH6XdF_*sZ!mK%`DL1GLxYx`|snGxOuUUEQxo2h)CsdSn`T4kB>F*&}oAMef zPG`r15vP=SSLUde1e0XBtC=zfO5%SHQ9>Nw=$k8UFKfsq@?&MVHH#(rvT9R&2kaqK`Jf}jUS!Fids=Ty?ydM(V5Vo8c`50@M&tw)^6U-k`y!c4MTMsz>rMS-FDC=nNXsW4g*RcGLj(L@u8l$w6hiHG2Q$+?^4l<}h zwyFyNbsxV}hSy*GyTvspzO_8{09EsBKJ!^Eu(K=-jg*ES1$f8>FUDLwaS{&H^^2|hB*J;6OBivaUoe>wniTg z(&#=kd(!++@;PKQGYyfP0-t?yy!xrhW4DA?vZJXoT9*=OO+;{)(Z^ckQKk>;qqNP< zhkr`1>w2E}=GDh0e>`4(;h+52{4CGd&NAG5E1@l#Tiy+Ru&)m7uIoV%(JZ4~UQ*#q z{-HhpY4BD@4E&?=KYb%jD8sn&B--ElOq1*ZuNAYD2_P4WRSq<8CFKMku zqSt90Ob*8F-pEhqaB0YR6{*TZ+lAS6PT^-%wro*RKYdTt+#D)=gQd0m-fz9pe}#er z0|T}8gsbnF1nFo@Dby(@0=MWoH~vxPQ_pyY-sfbnHzt`M`$}W9xzQU#A8R>zZw*Z` z@D=0np^9S7$ZdSXFD5pv;w#r-|0oyU?7uukeUkZ=-uvSBf3*APQfi}WZ19K*d%`Tl z<;tu}!G>@ke$#X;HO-kwI``$Em-M%BM(G+Xs)$jq-Wqat)&6%5b z)a^W1zxMdL5ViLM^MoZ%8!H{wGvtzvHE=ORi!QJ*e78KBb-;89vSh&kr9lMFJWbdp zt!drGr;Fo|tM z_5(5bM`^XQ@yRC}hU^J+nNXYuhCypaamU-^YzivhO!%DtYH=4o*OrMy zzt+>fX)(Lwb-0-)+U&>~NiK?e>+w_qh?iT-1at4QYA|$gGc@SyMjV=OQM+K1$_F;? zLVS!H&*%srxK{rO-OT>$3;Ga-WkcS@pFuVEeb%_u)H9UK*u@2^p!sb{!&q=&fFC*9 z%v!`Jcf2cSytRZzAa}{z_C3hD=to4>y|$f8fXCCBJUo504jVHRTApND=b?WOKg_*d zUIEWnUz=-Bbk29&y>(?4Vnm;~SV%=eDs_rc_l_ipv!*AK>)+%aZiVX%OG5{>@jL zY5dt}T%s9Yfn4F~=fu)AvthrPn38avaSLiWIys_Z*tGL6E5r~AuxKbyFi6WgqyMI=lNBfQ8R7^WW<5EHUw8ki?bHW5dfvA7sUDWtNl z&qV9+yUnv3bfq=xxMcvyUF5g|zQ1;j6>|x>7y+3+ZR0uv^KYZ_U`M=`X6ar$?ljq= zd0X7J6L9Mjt?%Q<3spfiRIVo1nN`Do6$9tYUaz~~`6+BSMLVzdD;V>F!$DzQ))wyl z+GFUBzR&vT!Bx?>w`~8!{oA0ma?v39H$_P#eWLCyV`N=@8?lBLM_02j63(=aLb_KyJ2J!=mTlFOpWnBY2nV_DX;v^JmQ|W?cjOf0 z;Js+@IEAE3btcm_5H>@J8-bpsvfvdXC_@`M@EKMeC!9H&$< z@MjQR9$6fZk~yXkw-`NcXIu`lL4-kbHL1rvP!iXOGkD-YT>irCEmr2X9#j4V$3wut z@46Oh*x?*w2R0^N86$Yh$l&@_pKk(m?Bq9P)3`c(8w!4Rp%q>_rOoSw&^KXYqD{5R z5jB2{1vu}sSzPob*;I;vqnL7T^nAv_TNrEiFT)@nY z8Piw+WDv0%k>0jMv<@OQBCQN&OH__xE(gAaAT~A05BUVL2JkPCP-e>(%;y0$=sCY8 zC%Y#}v2H|0jCefQ-LskX858JHH9Ztkr#-`OjK|?;P-{NDrB|U4xd;|7#EFsyZGP2` zaPs==XiTZrmoN6u$RqTG_pRb4L_V3G=EgtOxgbx@Ip(BT*W2A5*B+Gj`ZoImgdcBU zXF#vwF-7N(_AENK`g(NNReSM;ki_C3Gh z^I~hX=;y1b3%bTgJo<_OcY<)S#LbB&raU<~{d)!XLoyl5e<&yHO-;rX1dfZgCbMgB zSmHbrhtfQi5uGezR!W3Y@>=uEvGY8|g}@4Awk@GFb>U+NGeZ*jWm^ogKY_5?iEJrJ=4*TXi3SJH^|u(8%u|(EK$}JtdY!pA6A!SRP&hHgtEFOxujf^u3l=ByVr?mnfNdUW-{kwK)#Y!(cK8Cu_){u?(^=z z7hVw)*3zA4Wj(pCEMmizE3;YWujwVBjOsZ0_Yck-K9a>n(HZe6cuwq_lB60J1N(gLR|3vyFkNS2y@7Pe*C#o= z@+l=G_mLTpj1RQODX91(yrM*vgPd6f$R1QPf)!$Do91__E8RZ7cC4HpF0<%HPI0#B z$EAhyDD)DGL2G+x-+J<_cy0awbIL8b;9ihL6&)0m$BZvpu$>De%V-{p#@lwZz~*)R z!KIv76z`T__co4UI8mi54eF!;)Ld-5vGNjyoKvUCUuv$g=M2zaLKoudT)@^r6aSkfL42`N? zRI#__jgaHxamiRPqIJHGamYH2&PLh{%{rzlwd-TFjRMlI1#!yL52yPxa{|DPQq!~e zks)qB1E);^_)?8!($mPWiXozxXFm}RD@kol-$krpPSO8z&PV!iDLCVt;maFN?%pu> zG#97NQ}jbrwCXbluEK4epq{zUvD#>yHhNq|?W@|6T?Lj?(D`l)=42Z%g5K&CRD$4A z!C-ecmzzC1aSbDC%4Qp&45zhYTlJ1)nsLX4&V{$Hawx4zw5gs|mg(Byg=(QAn{RfZa zEeF1Zhzt?V+en$2Iv>ebwCunkBp0a!?qgoAn)7QvLP6riaBXtgodFqTs;6k0w6TnR zp(sfuc+eL!9ECp|O|I=UJ#2yDEP?DAM7Rs_;DA0q@;XD#ES*q*DXa=`LPA4L7+Gbc ziguXdMkbLcZ0);X5cH>+&*JdgVvOIECwkqjiL}s}T~io7ufao0l5ql@U+dx%veoOJ zL`{!>VU^>^*S5iK|Nc5Q)q}U-TjGUd?r${OL+u({y4G*pPV#0@%FXQh%(sSK5c9T4 zC>Ww8P{zQ4R(`x1@U@x6UNDVw-ZH?BU~cbZxWNO@8|&2|#?)2vL)achTrM*xW6CS) zeV+@>ZV~I}n&JlnNL zW-_q)Gd^{g{9UkFi_)7-v{CI(1FpXZr^@S3T&QDncHpBdM@V2WyCXiSK*axI7^XPZ zxZI`6G_vAqQK-A0WR)NGnQuJ!B3~I~ z5SNWQgqtq)q{8MLtA!`=aTEOz8{?H!GFr&O-sghf97!`)g8x1Mr#XZ68aGHA95?}K z>P)k}+2X81J5FQC{l^L)a;*>LEUG!;FTUs5z_G~T>d&teq3*-}b&0Zq@*9_=h%Gg{dMb@zmLHBoof$UF>-x z>jS-nboH|6G2V13FQS0k&AewY6_kFX$gH5C2hRd^2z8{_ShyYZ+s}TmMsoO=72pB86|> zMBh7mG7Gr;Y^&DvNXllBnU;y*3WA_8`JOb2Y)?=Rz7d@8+nTZpKiN~y7Hpe^Gq0cY zcCkjKOv^2g0S4DgZW0-3`TVv#$8GoDhT@)o{PgTQ5($3-NFCAl)=2&tDFLYMLeSZw z+*9eTcQ``s0$nQTz>_vA3w${0bHWCq3wPiE?7Sk3_SSX zo8dr_q}BWfsRXUy5OOrFI)7l!0sANwalx;Xnr7n*SAYH8^D-3oSE{vxh-k4Nbjg`I zz^kUpkU6&IzA=!mQFJ%jA{RoY+Jlw#iehA2%Qeb&f2$u)K0CC(vQy~F!DV*!+6PPN z?mn%Bn#j^UFwF-?4FnjoP?-592=V!uR-?4bX+GTwIHLxa|bjR7J(FGY7}=r3*8!b1`UJchJGCV24^0CW8>u+DQqq>h1BBB ze?I-)h;ro$NuwprdznL42K>YtTnJO&w)y?W=8EJ~AoP6M7^Q)1MbStn-igB^DSfX7 zx^QuJ0d0yk%~+h5J<^diL@}tbEvx|3MmEn+kD066&cegPCq`M%Q30 z4Zfy(d7z(W5q(F8gCVz>R^-HX-=< zrm48c1{hf6FSToG%Cz1YF(l_gx<%VlKctqJ2&g&fFbI%C%~X55Y`qS-LN#qFUbSP9 zICCHR!*&(C-j_bIL!X_m=I12Yc703f!ES!1g*U4}YN7Y63m6 zKt7K?EvwsnB*4t(w>7PQJhBrwvS4kogz(|E&)T}#zHooxl;lomuKN*z=q{n_qsF4r zI!$o_{&L6wk3YW2vsZB~aKT5(!PYa&ykD`v4S=KbI9YLV*)o2}|9-vmCXpHUxR-tc ze*Q9xuz!DL$(C{R3%~pq;CruPaMj{z@`#O_CKYk4-C0yiQ`4pk@l7H>#wO^lh0nAM z{!#J%=l=o#>Jp)Lmab+s#@?;BT^S^m)j5L}|6QYT>JHyvnH9F`Sx+@PT!tPNnA$PjZd zf`h$XjJD+teh)8z4(9+AU!p!K85GVuQ-8u)Cn`G6Ho3m743^$D1j>Szc+5+RXlYW0 z_Y=-7b3nlM2&?*3UBS{TI@~YJ$zk``&dHs0@DR#B=Emp<&;fXtNz&?DrSK=S?hl*F zhp+rUczWkor!2xDuR7r|0Tu>PjN0i}!)>)vK1<7KY=ZY%nZ$&z>uxbbE>!`-iIF*( zOgsX_xTY6Rm)W&!C8|<@PImgFxF1?p5l;bj1Cn=iFFM!&j4XdRco8dzt^sfi{Q3)SEAix0V#9%8g|vbg8J;hL1Pgt5aUpx~J^kNbvq0QP5evg6^(!c^gfX+i}| zp+rtdc+3?vA_?kcbb5wCS@HR9^KHdQuW8vLW=t*k)W_g{*xqU+D~fG?f@*sHvZbjoG`=@jXE zH6{+>0;?41zf*n<&{*TDyoeQ~PXNSQnw-~NDhFP|O-Wb+!-==-w@eA7^) z?FlGM9PF;}Cc9+h{Mn15~NF}c}yy8pTX`!mXOGDQxs*pr(-oNz8Fu+grFsrTK~ za?TqIwC?jeasJ;ue6Zj4N)8=IxuH2N`;FHLmTP5jNxf$r->(qA{3AzHWG2`1<;GPq zxhasz!lz!B2*j)CdxdYF9{P@uKY*s`f1-1k*xv!xGkhi;7p2T=3KEm>eYd!D{atgZpDk^3ll=8n$H(e`^y zIXGyWVO5iiV#VO1E?Kr>NJ=fnIB492Tt%4yzS!~It9Hr_x23x3-Yj1Z`l=g+LUBz% z?T@^m&3&GX^FqoAsiLgeB)ivU#rLu z?8IX&YG<*{#%U}m@>_y|rDr9%i~cB+c%q;#cVMmtV=)tze1Gdux9C*u@D>y92}AQV z*h2m*7Wtc^)W-ll;Ks++AnqFvG9VUUI^a$`NQ8`fa(dMnSsQlGfrogvnR&k!VFvXQ<ex*6E z6Gi^wrq*iH-?P3ch-U3M@;m%Y9HN>m7lO~+f0hp??0tB9{ zbJbinSv7@1>HxhsM_HLx`GrrN9*OEyR{T%WhhL3Ym2S4ScWYuQd!e~plC8EDaUpL~K0vkPQQlLzsEgG@%s6iEad)7Wb zQ`3CNA`r=l)c@W#P)!xWMilnJ(pxGzYu6o~q=LFCa8}|I&p@^6ARF4D>R8nMYvtz* zmP$LPptI9p7Q0=Yt0*jII$VjJQq)AwsFD5J`N3fX4Tu{m2^boZ)e{X= z9C<=n=|OCpq+=Bts73Gb3{lrn0%}aOVfWH4w7wh`q%-bQdM6xV@B%re=JCd#adsc9 zsI;>>AO99LvD2HgG%4XWp^deRvTGW@wZa6^op@t z#c^doU558`7XHQUDvEzC$|Xx*TuBa=jqUYLpp*ILy_4gz4z7&A0bV*T;P9$=mw6G0 zmT$JkNB(ez%eo^hqA0$7z-s3C%6Wnn?|l>~9Nnz0!p^!+*>0ZF4#L~cRHXjgv0D=y z2?PuGflt4!fKNXBH6LE*Cg!5H3!ub&bL|YQz{cwJqx#>0k(XxQmP{;@VD)?DT!%4^ z8AxQdj^y{r3kl1e9L@j^mkGN+G}&KRC4`2$K=oUVmP5ueTD^iMpc1)!rE9dzvHCHf z`RJaX)%PFLeuNhrAPXpYHDJDaEn8r%)_HXxhg_lH+Ybk0fQ{ubgyvOiB`W}HRi!yE zr^zc3%>6YG(&8XCdsnRmUGM8Tb2nOt@cF`^D&gEJf*#-3g=>6pQC&4LK!60E*uP51 z5`g&owx_@S6=|RYF}*7RxVmdLQkM|$)N08AXoNaQd{@+EsH#Z-G$UxoFMVCXI;u~A z@F?bI>HhmFJk$Y2ur#0Ti~roVp|0G%zN%_|tmpjlihy8(_lhN;hT9^f)N9lNgqCCs z)B|*#P`~ib!B`lf=w_Ud_uyv}_y$-S5W;L_QtZDU6dnRFvU%rzXcd{Wg1iyioxAFR zlAuc1>8!AlZ!Om&5g-6_!W8|6FyrI`2Y?*Y&o zNq5XwJ%|$&XPZi5S2S|@N26>ZRIk&tCl@5|26f*Od=5~H0}p@ug|6JIf_&7fG165ZCs!EzDkrNswfZuhEk^6aAeadEFSIcx;?cgtA8IX~) zpdFuFI>A399D*sTn}6W*vtCsY}RH6=@AX>$H_V(+4z_exh$r24Jm?f4i+z zPs<8aUkOCFMkV*<`gz%{+^^pwc<^7%SR_nOtXZRHaN+E!YybV(|No4i^#S0tZ+_pn?U0m3Akf04Kbsdr~C#x&u(4_voBO{v!ANp9GsB zQD#os1o`XrRoeeL_8WJ{ncU-H-4^~(yp zj2=J<&O&Dt@(!E4u(bDxAOeGY7xrADMzA>Aw(3Z`BJU zfOH$>Ldv3@4cb)Ump*rJ-*zCdx=Vrr{*8HyAT9pZxcgU%)AFd^7NJNTcb8NMI2IzP zkMy#A!;P>w+M8_ zJI4Kczw0M4JKP5lTC=Bn6<1sVwM%@IaZ6&AuB-zDyrDk(-#%94QV6h=y5u3k&pF07 z_1Gim39m6au}W9=33TPl;Xb2P;#va;c&+N2Rlqw1OKkx)X{^$f4S;}uyMJZ5^RYr> zf?)U1RqJB;lT}NL?#8YhV5>%S{emIlwkY2D`Y&Tt zjRh&*s|;80&q^uq5mkZ|ujY(r=)Xt`wh|Pt|MwY!>P1@z9@@RtEF4JRtfOM4f7Y}5 zQ9-HXLb;4>~T2 z!?+3QPga7Aev^1ojHq^m~_O`8T z+5QN2C5nJbSQ%6={L+a7uuSj+1fOX5!FT0!$`7SUZ~`9uH)ni1abaa}e+7zaxDe3U z0=f89Oo@FD5aEE)Sz4N`WEq9_!N$r}x9ZMBes^uqBg2kXP`}>kUn(v@wN(`WpHKoh zIQ{P(8r68y$Bo7koevQGZ*`+Q=atL7uaPyHJsoWj zU)}&f93hC8A=03n@{bf*wu?b$<{M43msiA%b@QnHQk(?k;HpX}#f(2^X3V%nl}eQR z)M;Fj5~?ssfPLr zT+?;cRDZq;0({?Ws~ytQM$BxIONGSAMjq<$wX5UyIdkR~$=W9-kIm?Spi%QL+dlJD z?q;w9qUP&>EpN&`(utcBV5mM4%iy%)rSVrVISp0YDW?qZ^b~I?h}1vKbACZ{bTzhp zRz-Bs_Fg#wq8~&r;-9K$_3b{D8UTEaHbro%x0cbSkd^9dt#Y`;5ybf;zf1)s z4A?!ln5m+q(a9>vs;R-6iWCIBsjjJ?+78LAqn)$77d&Mhuz)L9bh!iEZt%22Hubm% z-bK4JZ;mjoowQV%rY@8yz zGjxl;n1(44=v?lr3|)WKw|=U+lwcC(;HUW%%R6?>+I$xV2dwiB0-Q#1@C?ztAW19{ z1N$Pz5?%6HB#QzhmuifVX$LNGSxE7GsopbRRuGuSY-pW5gv(LNKx_S$gk3D-hIG$~_ccYY9?)YQP zBu6e+_bgqnRlV(tWj{G6k3``l&bXD5G}*IIDQ~GcokDt@k%7vA`G61ZeCZw7-qQ}c z>j5v-$va)Wrd>QeR3@mB`4G#(5&X9{`ZqR$TmFIJ9c$=U#8K>qXG1*yfJpE^)maUt zi`t-6QX0t^^R=o`sm`dXQDxI8OurpRfw zCu_;uhQ`~6c7QHA=zepKDrXaWFv8M$_X?+m>H_-0y9?LNHfo}MW}{Na#W5`(uq6;b ziY_s+@40KPT2Cq=M!eyYajowh(!!=kUM{b~(BdiS_=zAkXT-8`HvE-AW7}ux3+-~Y zDI`(M$x5S2Bmc;8J4t$VqH7>`3alUZms7qB2@|BXRRN4m4YkLf*l%h@_jl3BcU8;{$k#O z&X~>&@Tayu=n{d~dG1F~w*Xi03WI82?o9{oo!;$M# z>>L&+BoYX)h}4WWpZ3{_peWs-C@|Oh8kj+4=Tnh$shJFUW?lujn`YfvE>n(SrFP9y zxxl5yo{F7wKsfUxvIvGYoP&jdLQt`RCgh1X#IqpY2Qf26CK1U${mdzF;{l2-Zrsu( zSGTc;R3a%pW?Ags~ny5ydIv&GjyOOgfLXIac4z z^}vuQ`_kJ(gZcxxjD4C?c#K|LkcE#lwxEEOB<_l~cNy%c8i9SH4o}r>ZDe`;Q3!00 z0Nxg*d#+1Ap7U^ak%UqqvU@6;NizIJcWbCM#vxKit7k8@t%$XwU?4w5o{)idTPjJP z<)S{Cln|dePDxIuliOw|46&s1rVMD;f^JY7G4^dHZoXQ8IKnRvoY7QX}d zdon})_>35mHNlD|96eNMCxE_b;J2p-@1n0nXtp7F6r??x)#??e)}|$!47!M%w?LNR z3-p1l2V=@P3TUjBm4?rFyG_9aV|APXu#;{l1rNyk!SS!w`+CyLj*=GOseO0+GA%yU@;PBXloT&?t8<(p>5)FjEr#mN^fDydDR(!#Et%R^#fiMNWHrhnu}Wg`DBF03 zch!B$bIJ_^O-{bSASS1PvZ#dFcX-DhOnpas&^~^3x!aajXc1r3JG1DIC+(mZlA{%P z@tyd^f$M7dhsL5{AF3gPRVGgw8!&b09&SvvAU1c>F_op)cEvZ!lz(hN5*~@8 z+33fia)3a2H#A7@Gr+nY1!&1b(=p;Wm_fbLVOf<_k>C}tt0+}mBWfwaj z`_yy?;rb&~WU6$p>-msboFPv4!J87-9PUU; zIOArSQ?GV)fA5Xyw$C?o20d&7qe?5@v9qW^)}bWs&1)NC=}uBD1Ld@~In(sAQM5aL zSmJC!h-^-(%JjkoeWY^DR5AE=`Fziq&r81#dH5$itoNei^BMZmR`{7@QVG~%-`khD zDBuu=G9yvrdL8A^?j7EmG5Bo~IxpE6WeJzi1ky0}xc>ot>0m>A{s!%MI-CE9Cs zybzaoGE}T9@Ho+wq?~B^0v&WVu*MdD4o%$wANZ|WOrF*g=9AdYgYBEXf?nLl|GF)d zSS4l_J&++M0Y49XE4apYdU8D?N?#*$UvX)pOZ&YqVKwlP8rVoAtG))dA)?*S+$0k0 z%Q2t71MhXlEaF^ua3rcr%Zmb|wo27p%z)nA_3XAM3#EF~Pn?v+)}CC{%!1AXb~P&f ze3X;!hncU9iu4{+q>bn$u^6{mYrSG6kyzwr`_MG*l*_his64H?NgeoR7-XnQY)6f| z7bRmL=tIc?X{&T{ZVv7V>JYo}DcRS$VqS-R%ua|@3zav^UbuP;sL)7%Qa#QHTOHpi zsqha%aW9wls#WgXK4amV(*EPmGczaf956F{p>4J`McV*hmO0zajs!2_`DKe{Mc|aH zZJ%G&jBhZ&W-jijC^(izV$4gzImwg?3hfd7hmNI1G3UY=V%C;JE2J`t=GIrKRz=&ap<&{h1F zW)NnI5R0m|EN(CKYeTSbVBTPB>Q*c>GLhVrcHnE*E?f1TEhd6?*~4diUlRXM{n8bn{|&k9;6?< zgGV)6r>DSzx>#EW5R6tNgdA&Opey?>acsk_DyB+!IQ+Gfn_;UcDAjozDV{g~nk8|o zsaP>@utP!jmY+TM{U3-u^GNM{sTA43U_WG3FB0E71bfb!f9KY63*G21MFr zeo_pb-9ml_EmT@HqmZA@=TP`BwYxU5T{!0rsmwB1(95?{sgNk&t4vW)O+5XQhPzT*dEvu6i7Eg?Cr~Hw1Spc;0v@V6*1ruLpmVi zVTVeQWvBQx?6T0Cf2e}^(qI-ic~!-o*TVY8tDyC7NGIH9Z<+Fji2jP4^jXHVIPz59 zCcUltv=muJV3Zaw3W;~aX2aTKDDBylix!wGZ88OpIHFn}{#dT#F*LH`CfISpB_5Xz z3$cv^yAC?ND_HW|E7MR-jv>?7v1iFGephL}O*|cXk_2 zW_YDK7s_|&$cR51mvA*G*2kH2-n1F3>8Mtw#~l&-c)z8vH6J(>r;tZIAcGPqyk*cK z^6pk(wB2tVw+iLf9fw&{91$DtzCfq8qdyn4fwYJ8X&%z@79OAFE995(vXQ*+wfdyogJ)ix2xil#-OuAe`K)%HEFD2p#}a5W;d#IRc`y+Cy|Oi z?{ZJve|vBkTN{`AfVFk>~@z=vgJplVbA1oeLb-nXLd`y(2q~R z{(9!dM)vVrl%)+Cl-r3w^_o(jo!?+lY*xC(zjUdbSzI^c8(`Nq-wm^4U0Eu_j+K{E zV*!1rdz-3tWO9FF_U}27xahl|F5tWE@nwu6yXop16jzP-F*nwoC1Cq_TYt*m*8iw95HhT!PY0OD}JiuGa8q zxpi{y8-LTSdXYDn27?8TQOk3~VJ_&wA!UlMk%JtqwyCI3?w4KD;3lzbVvQ5pRMv26 z2W?$w8Q!Cad8O@@Cysq7!)!3kagtq~--d^F%};Z(x&5RVfT)4DsR#dw&QKLefd?7L`29Tz8KbI~mngd!q?OM4@9$nWd!Pw-SKa&!<9V{!4Kf=)6u08%L`*_t<{GM7A%!|)v^OW=}fXeV*m6ygK>6E zF0p0iP>a!a6>*U1;y53+=`#W72K*G|_p3mGn7X~9sRt+s~m=ozg z`$@iIA>(!NifIUb0B^jEF1_!KXu-Rp@wmH}A3Jv~Old0SRUBe`#@Is;J!L>OkfXe0 zOtE!P1IT;P4bMC1(c`jj{z(DO$^wO2uq{T$s9_RaH~2zQfedPc4?R4#1neHV@(#zh z{12P~MDuEI__C-JYh+h`E@)@m0O~^T zZo<#IYr(C%vx$sb21MeyD(>I&71S5Vo^xnr{Jb42S0c_gPmOvY@({LyQP(&L8Z3BY z|0FU9i1&LARYuFd%?|!&9L$t5&nNV=98lG{DE0VzkOrONx>Tb83)L*UbVhfe6^{$?Wk z*R+%rUJgMm}PXo;l9F^isV*Yb1w=Bv6`x&L`L?VJ7G6CTmG zQHB{zz8DC)68tnx+A#tx0$YkK0@alWINq)kW4FZR^M*m=)IoyajmP&FuxZ{_*9QR z!w$>iy<)82>TlWEMa^18sY_eMldJ1o?aOZwiZ8DJWiM|}_{mzZn~IgVEBEgpt0?9_ zeJXUTsOsvJc{`Z4Mbv8?%z%;&m}5zEgGU%5APik}t6xPamLNdqhQP^Je;g6c36b)9 z*X>#gs-o_I_RLR1^iGY;q>hWRY;U&dct?9wDfR88Q9y+72qdy8k5QF}2q^*yBvrif2xJpfFri6^-i4>P zZ9M&xc{7Yv=kSv6b3i7I4Nlur;cd4CnK%am+mlJtUDfC-@xXS zLDgOvW}Dxix!dLJaDMMeYVm1IXkPNE(!>%RRYWS(=zKG=FUry6$EAokx^cBC8hT`} zdU{21d3-Wg=TD3+Glu*8JzKmV=%G*P5e{(SGdm%+TkSd$>9>gjDs{;i!}xE2&K0Z< z4<6{qQ5zr5CTY7wDM+7IOS^w~drjYypqY~#-;KX@(mW~iRSLdiI}Y-S>Y|lGaNmZ} zr&&3pcD4aqZUY%!WNk@LYMET8ftV?TJmMQu>z&{9M;Fu|vy)!C;w}}5aOTE>Orxzj z2|NmOA~G8SUd&)Sj#ueVUDT((3YpW~UUWgkEL~J=84Oit*a|;gbTA>OXU7;%aAT-z zhm4M>o_>)tT9UxxCt$B^v!$0rn8PJbY^%)_@GwOrtU`#@$6yTu8oJ6a(nR9!K9*Wdd*rUDOL)Xe#t|ICX4rZk^Fh+0Q=dK6p(d5Wgrv2wHnXVc8Fjz%lDTxx2y+gcXV#|ixT`hgP+sEwC{Qw4U8|4oc8UUt5k-=u>$ScFhhclJg{BA- zW@&VOFBcx(t*FC_cH6)h=~^QnJJA<+s=#ZMmA-mb1|W z7BM^JynVYbB=7-LC4i;S9UJ|e8j3|t`1=vcMAGQJFhEA1;@ zym|`8@P+B>o&&4^Y91Kx1UpL!)9{;~xeL7~BuSn<^FM`fnW>Qa)!xwF%>aWT(U}_| zvSUblgJGwH*A`=b2FZLn_V2B@BEQxY=ut5RL~X<@*SW-}9XSVh4mjw++ThAl7n2+? zXRdD?>(UI+QQFI@4skao;kqV=sPZuFueD6;fg0qKmTXP!of$2~8x$<=xEWE_$m#Invt`L^u(LI0rq?C=V*4$6$5QJYyZefDpC}X(>s)}|*tu21_qHoG?27)gdT8+n*kj@aR?r*` zU5BxH5(GucNc1h`U0Sdio5}@P@<9x68JykV0!a{?(j2tP=95Z2ffYkpH)3 zkMHd}AWy&K6FsGB4z^#144X?uBGk~3k)K1!mg_0;38h3^6^si z-{+DZPhSIQ(60PYT^rq+7CS{2?H=sx;k=2MzOLL*Vvm03?9maLlC&6()#&*gq!Z(D~Te+S7w1dg-wHeKiRW zT5xX!Yp({~Uc5E+qpaMIM;2td=}^G+5bxQ&I1#QefHS@E=bJ#9puc3i0Gx7+pWvWw zf`QgFVwKCZVuLx?`zL2<@y-+_mGS2uJa6W+jkRjvnIo97_&}B&#it|~vV3NzFbbVi zbM%-Aw7yrF&++LXfivTPZ_}j(yao#sxYot5#h?hdP>ZNc5SiNmJ5a7zuP$KfwK;0A zJ=nfsmv4cqWaIM9csOVTnMFQ(B6T_DUXiFfU42;V$Mt<5v9Fpp9BjqcdCx(y1NT0pn>L}< zG@GgCIbkzj3Y|pzX2W`Eo>c}Cp~a`FyMXDcuv1q^5RPYmrNmX0oQ2@!v8^e8SZ-ch zD!7NQfeIADyg8RO442&VczT`53o4TA1>#XX`FYuvU%Rwc?Bs*5Q$0&KOn?vm#IB^) z`j;*WVQ`U?CdZ_5G`(s==X^myyB?**2M>_w6Bn)~7f-Hx=1#oX(SY)Ud)d0_NM`li zaB*zHjzK18cZG^JNIH??P5d#aJdwIg_2e!ne({dSH^z4_39Q_O+EJ83;MaDp8%1W} z*T;2MKIPu>s4ndT5V^le6@haFn^HT)u0!U|fXAE)8xuy96;vCdM*=T2khmUI@9xV0 zC+U=-owU}JPj3$hB#FR8lC-%&H``L*{SX?J!(qLyncGI3#3&e?A6LK&0s)|3;eqR^ z*&eo|Q8!U%uBLhQD!K}pWP`{klq!7-@V(5`Tm33;2+;dvs8o|*9_Ld6);68RcQkVc zGz2wYmaNiGUyJp|&RuB-nXsfHKP+n!0KZC3&nxritq!V$g$m+@tEdQAQa}DoQ_B`! z7Z#=$NnRBAy*`mp&G-I9fA4GN=DcU~)2}O)JuhGb4@t2l{RJ6-(F|Fq3wQ^c1W@*8 zI7s@zeX(Ki9nL9&9yMbjKR!L>e3T=#|1%L3%64gG zx$33Np_ZNEcU?6cc)xwe#BC&Uph3B4K1TUC66|S9GVRh0%-+A{`6L*&C&N1vsjSX$ zSBsFyv8L}`HC_b(e+!eVcT^d`Xd`f~1Fwg_2^Dt-|FnO(qqJ!X8U@7P7VVtnxf%x4 zSE_AcE|T_ZKG4BJM=B-t-nao}4kg4UFF`zxe=D%5+V7be!Zsf#uHri?6uRFsDkZ1! zbZuu-6Z&J0~t zMDv(eqX6N+eLkq2tp*cX3N*NEidZbOH70lM4Kr;nXp^q8ppI-H92S$Y4?Va92q0@} zu{A+VhP0cH#LJYa$q}L9^EVX=&Hd!9duE;lUE32hWC1b?lkD-pl}Dkz(vJ3 zBt7V#AxMhUVKOJ>0^GE~SsA@Q%C2eTGh9nmZJwf=|dGMP@d395qj&E!iAd*z_1Yn7+N*^=V947q?fx>iUBB-+QJiAjxoG$!-^^5W-^rm| ziD|jzs9N4oEtMAU?lx^!8A?kJG204rJ!}cw@svX91`R}k>Af!Hg5q1f%Aa9q!VaqP zHi!(Q=F@&lU(^6ieT*GIfX=)k^b)BpIpg>Z8OAwEqtVXwu9Fva<>4)f|wcL8e4h*_~7b;wy{7R>+ZI^3@lrD$ik!jgCY>Me1@*UDWcsYclz_O34)oB14+xK%0m(VO zjqGH&L-s>*t?;dm*#O?I+kM3+8n6J+XuSpM0zWzsmqjExpqe`r&J4ZB$Tv1eEHyw0 zoR2edFzJa)ZGP+-9+V0;9}%EUvoK^`?jY{>$_$H~?-2Z8mV&M z)TI@dT=wlfG1D+0HpF21y{t3ttM!wSAStT+xj<_C5y)evb@!hf=IuK4@EbNEQv5!E za;dR|a_HP4davv=H-(%SdP|ZrWwG+~GDo*K_t0z9L)0el+|}JkVDdG^IFjJWB_b-t zTz$7@=(tXkz1gkI&BRwsZm|03`Q%LV5rvI79D|b@fksRnAaMhQk&jp~L`U=>(l%#w zFJ9!5=kGQ0g$#L<>cZgradEaHB%uftYs~Vr2Q+GopIT;9X4(%CXKD3W&EE16p8mHS zq`8+&y$)%BMU)%Sw2TRX;dD==xLZ=*c66!jQ9?(JRvb82cM&$M2j@}}!`^A6R`0)dmk5d{g@8}oB$qqjxOoLJKbajx2xfx*#&x%CP&{sBK zS4UCJB{x$tQs5!lHB8K}5h_!|iCeaO*^wV92W9yJBsKfE8l`mWE-)n6hnTha;C~T? zC;YM8Z!(gwM;M%yXLYD+P9lGeQ%)C;6G z7f$D4p$lovqsYY9rY#(~J8B-E@7g(f6cvV39UE9Jnti&Bmic+Sd*LEtUJL(atgT#g zDOU26>EsG`)D)k;zmw=Um75bcb&YsEdHbHMcNh()`os0@$06`KfU;j=dR$JVX-wdL z4>rALC94uHZg>e^jPT-%f^+{^`U%FrR!Sknz1F@XpZpz2T&71DLBvp32`_{jf?I36 zhicmDm%2)uKsSc_Kc;UhZDG%sf6~z3Un?3jwl6ubW+iXF6=rN{tNnQUIm3~&HTsKh zB2cI2@VB$tS7PPF7DLGoZMJu^$_x23v9&u3|K1t3B>m$x>+kwL0^1(`^6G#v*Lm0V zu2gc_4e{S+?boli?uzb8EmJJKq^{y@!gJ*88>V?gz1jC1y^BZ1FWDdacN8UyebSA>d^4B7{x4=^w=XtG}=)nH)YF<@Zeq>&JyGYNI2*Dx?m zLb8%#8XmA`8~qhHVwj6kf;xVZS++7`W_+E%8|1|e2573VZS&oZd8TZyOE*S z{{MaaJFfj8mQaqn=&)o<=s)>?d!;;Yhfauods49np$5W3kA0`|won{N!DrCpa5QGJ z$x1pAx*q7sY^GuFP|)&*9y078^z;ZH&@&YD?9Hf020cSJITgz#!a6DF&qKI?g-&>F zag2lo^NSEo%Dgv$PKZ*Z#ljy-2mci$Sy*@u!A6Jjzy}|#`_La5z=@L*p#7krUD?5e za@Kt`;YGNU#mYzjfXIc3GhWM$3Z1?Bj4Xr+{}Sx4LL3rAWH2)rc#aCaMGKvRZ;uf! z)(hixUJkF(wyxrOQ1yR)phxuyxP)Y5EVV=+HCytI7K%BYN4yGf(?hR9dQVy-llUG7 z%cRv`MIbbYnkabg6NKmOHx&#_-#)6mFPJ9R`yo|qpS2!m?A7FiJMn|~SBUGS+GGqyAvh_-tU}5uz zW17O6ta-#$No^Zrp=q7stP#YZ!$Dc@_P9fayb!TIAtCkuMYuKw`64*}^MujxAs|m9 zs3rLuR%3(&#!!iqVTJ;u;wm==#CU(ITuX|R;dDWuH`qekbjBPB^clz-WC;HGZoo{C zz+*&A_-7pw%EW2#rTml4773KC(Q8Zp=G|{Uhwj`o@ljxagNI-mGGdffTu89byZ)At zN+^%5-Y6aVfN@Lx>$MFQ>Px@>mCPjp=8sYbOa)w!#ic@DVZ}u+Bwav0Va%)n5&P>qToq9_ z&!GaXB_yPs0mf!6Pn$Jusr~9Dt)ajHV8M4i9`N_ijPIJ&RzXqU@Zo>I$Hk1(9KcQx z#cP;Su<$-a&pHI;-mbToSnv71Jgy(|&18Acv|GMr0mmkJEaTs_9%V(BBrt>)?AO~I zsXm~f)Vg$TNX=Q@*_vgdZPWrH<%1&}M9~vj<74ifZ{^2<>_4|#M+f<1E;to&{NiiZ z(Fg2bCW}aQv!to9>&Jl&HBJI!m*47}zACeX?bJSf21oY(uV4H7x6g91KFo+@IGd9Ho6rA6^Mnwu6EE#6} zC3msjVFVbdm?r}AxcQjs_O%k_uOCTI_~H_$d8N^^faRQ_6jqi5htQ(6}V_WPY1RMd3wJFlXpNObb`x$ zr*Y2=;l#Dyj5R9T*bIfzyPPT7)AHPQ+me6PHkc53b%YdttNg31UM|q%C2%I5N`}{Q z2cAwjr>Lrm>0*3hV)ya+`8l$;0dmRk|7zAgcVS_nDg*_;2YEr4dB%QU8pQl+`)2=e z+hE(jbn~i3T3BZCrvESzmL`%uw1@K_4&sw;IF3hDhat?2q*0Mm&XB z?B{f%2a!%gIW3gpmnaabBlBrNnBI~Rw`ik$jeB5+UZcjp%W3}}a=zBe;jkq-S)-WA z9iNae;13H2Mua{=^4tH|F0MW-2?FIeR@v~h z*L~haCsg71N zr3=eiyAKu#XAj{Z#pu5TC7t8y`(3^FKecKA$=aJf@y(DY;?4*A!j6(iCVO-{_X^d0 z96!%&4RI-DFgz0?w~l#ow6Y!kGwHQLS;b8sg@)3ux6@xO1lHQMhJ#pZ(!Ku9ebCed z&HkbjI5c1-t!7g4pXG$K9M;aTAI;{&1&C4@vJ`%1W;TDi+P2;3NM5;VgIt4VG*VR0 z-QzQ=d@VtzO4)lFiKMk_bClqK6L!XotfFGxI{`+y*j?x1xbMrl6Gp4O4gbCNzI^Xe z^_`IORl=vU1?G$8@%dd(Bpn^UK<(D${O?CoVxi}~M0tOrDjrCz?$g>2>p^$!h(5O* zOH!+9d~~Katqa6@12&*U8I7BF7u;yYe0;XRv(>R$jL!pd$f^!*i;XhphY`kcJ}phf zQZY!>M2TXdGq49)Q=qWG)#K8wrN&5Ze>#?7e5R;8F?!SA5b4G4X59<#OHkr48qkpc|P0hWM z7QH|v1`4?^FoWd2$+-^?VEKQ{{q?_m9HN!2?Ox-Ia8wjBWmQQ@=oiyr0>Tpxj8NDx zfBGescgE+bS@+1O@wZ&BeVY$E0mZ;2>4AVn+K2&G{pk&Npl{-0M|#GM)26{)Zq_E4 zua};1Xf(5gW9uPz-V(Hk%EVF`2G z$c3eUwTBl0P{5zi?G49{?FtF!IXXXrg0h64J|fy=@0nB6ZIQ?9Un6K<3pVKX8T}@o zILb-4(iPG(0*aQ-EzfaG+_PS5Kh&Q6Hyq(3YgK*2%C*jGZMBl=1uD1NZLlrzv>f(V z(sE!hJqlZ$qXujJwoaVbw2;SR0%=8CZZlaDex1PkW#V?MGcEMEe!DAq`U|G#TWgF& zrM9#049f9(DSpde-HcX%*wqB7igpy;hP+{6>`x<~2o8bFg3a#xChVH2)%$Bb4LiRe zWSZ_#a!vxhS(&;Yi1`@?E8>bpX6C9}Wu}jGYvEqEN3+HFH=H!P8Cj1aU{>yn)xM9W zFC1luqD1ATO@0`3M7_i0KdDDDrKlH24(o4<>C9(^QgYH8mj765Ey;|hDN7}wZJ3cJ zwAru5bE@fozF$tOT^wd&2k@bxG;7((%Y!MI;&p#)<{W_buO!D?_1*sig=;arEM!OX zAEgX_DdA%*RqKt=<@yZ7kP3`WPA&|=se_}#gpJ3-?wNd!-Sv|a<(FXx)7*STnnW?d z%uit}t$tjcQ8H{jGFqRX!gOwL(*-ZdCX0Ibke_%OFS8eu@GvYDYDwh5@!@t+4jym7 zRl+Ed9!tF7N}bmOMBG$`eC?EM2ZB7;|L;o$IB#C2XJn-0LokNR0I7+NDc$>rW(KuOYJAqVm+#1WDrR&E-2$=XY|hiTLPP z>)oji$Bwp|iyiZC*Os2~m_i$NjHZr5UL=Lr1oOhKdnhc7cRPxTCC{UN;`_xa+Boj{ zk%gS87qMZ-j!LP15l6E(6jXoK0k%Bno#u%riY9;|;h1b;>7S;_7vI5!XP<##0(dDv zA-&kj)TyT)Ki1El4IHE^RT^`W#{|*(hT3LTrPrI^q^)PMuNB-~KeEhWF;h-vh)}NE zqNN;r_AG(EyzKKH*tAwXPq?P6O^)h3{s&Bf!=Rx%CErHsRRgc%VuduePZu@a54vw} z!5~MPLhF6oR}e7>R-|Xx>xT_75(;=~zsm2xgjP9cvPd@Zd+seSrvIS5Q2%*st?A=Z z@pWCQTTaBGvjqgr4X`>sktr8RfkYK2t>bbXF*%R=vQBI~;XX>VFe~WPE?XrY( z&+-OQ;Hc5{va)L5z7rNIf@{Ahq?7#dlrnIVd={p2Y|=xqg9qYk1N97UhY$i8 z9YNk1@xUqe9M{3Wb$IA!9XK%N5-9?CkW4BU*V3))XW5#XVb_Xx-unz2LvLeTTppl+ zZ&_xb;^I+hW-uHLe@!iz;5{jatX#`>Ul^X9D9Tc`8ak_6Q{_-lfqsRlV@N#_nzCB~*dmk`fx=`qUuD!KZ+;^E z$OG3@_=aY{yf8Ug&y;YekDgS|RLAc6Z0*U^_o3Plu*+csJ~*j%K)z``uy^q%QEp15 z|2G}@IcfArhmEmr$J5^4K5*=abEAAN{ENYW%McRV*#-$|rLRUKx~crW+WlDP;~cJo zf`2<4SkO)g6_$-Qvq`8s9EKp6 zZ0g#LZ_37fVU+=hD`e_OeJHXNc&N}-!^PD3 zW~fC*-lr}P+_JA_G5dD!BY*ZND7sf^{2<)kko1OO=?T73s zP8oi7>!qJvj)&hjHvnAA25}N2KGEIj=VMAUv_!}_F{8fxfr^cZax|Ah5b`P%g)Na( z1?u+tcoinlY)b1~lTDkAzI&5sT0uXLlYGDKW?i-^nX{jw=>TY7;p7Ju=2F}1*qH6x zqVzZsZT$YVI_HJ^dLsZq`OSjN=p*UY%1~?L){Xu8IJh_L-_RCtT%6kWe2{tV zA?TQIyg#0-p{eP(pRDb)YMwe*sa^ZjDV(dE>zY?uY@bq=Dt}N*m`e7Q_|uOBBV6ex zy)Ij^53%DDlAV<9m<+Y{~*e_f;5eAwoP&0 z_TBLoRv}v17Ovf|Kf;xxWlXx~WIui! zeXon#O+%IIXk4$7RFYVq=*%2HE&N?t^g|cD%KzT89uFjy{$9dUG#QclGni6A%XPnP znA05G0A#EY93=+q{cDBXASvS0T&+|x#JVl=l52&esNpHIsUzZV?2k%X!nYKju}nKM z+?Ik6mr`;gjze%FWseKO>`iClK_!(x8cZh@qT*{D5Om`#*h2etYA_R+jN2Jqw`;5W zIroYAb7qE>L+OsJjj~(9tv)Hp>N)7Rk1!)6;&Nhlo>Q%Z?jfZfQ=xTPw79kl_~|N=*5EazQNeP*~*yI zuje6&K#lPGJ z)*$eJMasYJS!8hQ-B9X;QxhJ9tM|dM6u*_@jj1m$Tcs?$!~v&g-p|XeZN=qh?9tf` z1>FeNPa1?zyIXXXZqmIvnc)-0`XwLo1yv#)JSp(a7eW#wQw7^1Os%S(;D){E^l@nZ z)NQej(e zpzFZmB;0T>8Ed01 zj2!MxTuS-vFAKijSdewri(vi7<)r@Wa+V*tMn^}Dr!u%YtnyeDXCFCddE`?pZ3%S7 zLD3UNx3F8wBN!JnrLHuRv}W?dH3S}&GSreORuC>v@%>u z39(dP(6P(g+ci>>RZnjdH`-Bj-OyV&S?7w(#51yKGox8ex4~Wd9Wi9l6X$rxX^e*D zoBB%06FO! zC)0`k?jLM9mTWha8cR^&+Ln};$NP55Im+BVnENJ z`fYL86S5s4hQsoY=HaS z%;vagCt@`MljT$+NZt+Cq<*=v@=*+gi<nO##N9doRVtDoW zs{{PP?$(@-dP;N012IKgrCoOv$znX^EX1zRlx!lNvWD?EREQ|VftkDtk`^N&Jtssp zkfYpN^kqyj@-v#{pda_St2(X{RU7OTR8Mz;Fm|N!Us^n9p$4Gc?OkqOHJ& zc20#k_xFj@N{U$T#ZVhna+S}Hr`(#d*-M=`r!9$Lr@xfm-`f=w=eC;KVIw2YK+`nNMA_f_?kdTltT>rk)vAC#DXjab%?Cf{2ve5kk(ErCN;nNZalJ0FG z*yqA`EAKw_+{m-^{lL5G75X^~H~W&`ga$vfxDDi_o$m%QR(!5t-iyW@zz}D#)E1r1 z!WJAG`mwpd=bUA=VHXoOR3StvCGCtAr~|J_*52^Q0UfcR0V1cHzpxG+4S|UxjL6ag zf7&kz1drRV-S@@%+tjUfe;|mQ84R@eUf%963E{e06&M(j!F;U0iy>j98Hyk5+Z?>| zV!xlZ%aThvS|Q+@bYhE-RNQR_?f z6I=uP4<94D&%UDdd#nhUo(?#W9wpHiQY&Ku@G1`f+@gScN3`bcpWUC z0Z%rvMzya0>OI7}vBeVi%CnH6G9=Fi2=;7v*Tlj%ww<>FuS&hicl*<8v%P&O9z|X` z*g?_3b#sM#BOZsW``hXEU+x}c+ArSGX#z>M%6bJU`nN`TXTMQ{b0kECF)!m-oh>yfxEWnPb2W3|~>G5lx>)<#i+fTM*5F``>6M{LG~h$Uy(n^&(k5}BM5npClz4;JO{ z@?F2wD-?D|e^ozCT+*mnO1<@jK|t)Rg4+_G021!RdDX zx41T$bN_Pkbmndhhk(zAno2r)`-Ql4UIZu>WP~3#2yaV>N+u9pUns+Fx9+Ntt|l)1 zTiL6&GL3sX@ChLVt6v0La^hrsrJRS&Yma_dxhWf`<&WrD-W**aGbDQJ=S7rJs#4;)`$U9<6%mTOdiyl@yZjd+S3be%hs!5rk3Rin0~y8|Qrw zTe|}TUtUj=01fsIyI`^VBT>{QY-JM?5OlUIc2OD zDV;uc_E=fBP+3m(jW#x58;AQF*zX_{zR^ejp)vIRyHges-1rELC> zKUZ_|MHV_OG}K8ylbTBb;yIFJmMm>&>G{$dlr>wO5<>pq`${c6PJnlE#P>fxGDsPj z2P3AFbd~B(wh=TaM>4*w9TkPfs5MlZpA=nATb4T~ApjbxA3V{vmG?Pn=N$FuQ$WxZWUf$VquFM;Be4kT`dzeZ4bS(zg5RWC1CA5BA&|tpl6aBY+0klJr?5V<7MZo79{GPex z5|-iOu--!`J!e7(WH1aP_KoDIIV>z}!>Rr3;qlQ_elX(6sLjCypiUyG$uE&)y0m}& z;ogR%u|}djWj(*@q~pW`{u*W(9S4H~bD^D73U)v&d)4oGYirB$o^m`w@qHvt*7O(N zIbHA20+DR^6aUJGVBKYz7}?q=xuw!XJYKTxq7%)Rrlf^m8{_WL3e5>KmgIkjrDPN% z>%zCYAlbWMJV4oRhq#pU!ROO~>C@2L+7Z_F|H#V=A{X&n@AiA+m)zS0CCcj=uV%ok-vqf%_2t9TBiL{Ip6U$674q-Zb?S{+tk{=Syhot2{FfyE za{xI0Q%o){m`6Y{@;Qs@mMn?a?i=});Jg>{wK4ZY%6k%J;vV#Gzz0v2EUL?mF3($m zY@amLsn}HV7$v-|cER7V{nztXrD^_bvvhoYIJf7Qy(6fYO)oo|s}IZQFAEI+9h*8W z=0#dx+;D<*fB|C+qe#CS=g{!oc> z`1SwL1P~-4_$0)H@e~FU1;Cw7M%&P;f$gpN#TPgoJgq%K_=-xFsJ5X}a}W z#hZ+;=iR3sW0~rI+i>w@D<6FOJkw>V@PC+zJ@`!ta{OrjZP+&mJiXLHS|>k?&v{m*{-_0JBKOi;#iOljV_IX$&rAFs?Ka%`KM5MDO@kAZ% z-xS#wYsTEauTn+rXFz65*b*M|j~g zhVIuct$tdg6`&&H1d%GpBStWNBH;8P-D;bRI$f>>NX_IV-~5(rX8ic&p>SL9=uWb> zShpCbm$fLW!V%Ka`xQTdsU7KyVTF=tg>6<@mPc0JNt)E_mSeHS4Qbie8(+SZj8X21 z_@{qf@&9#{dR%e8{{3+(ZZP6B@Ird)Sr^g^hXh~kMuvfjTd#N95-lyK%GY-d9@_6fO23#mtEHJZt<>w=4O->B1SLBPh&zg~M zq&ip6mEek*mg5b0{$;ydUxvrmQdyqDudT{ayl&6^f0N?%@e=ZWBFNSJ)9gw{Uz6Q3 z;3WmoQ&>uhGjJ6YD${}+>FAnUSz zV)xIR#YKD>ueq>Xr$hZd- z@CJiCA9seLE{=}MoXS)~6}KH-$+KN3l9dE7-xd2v@6DGgyB|(xpHAnB0GaWkY(J9* zNtPf_JGBdfH&~5&&d@P1KHnA_Hh!XI%ty^Gxa??c9f=sPU+R{&oqsQpyujqV&3o{2 zw%WLR^Y;4q5kjj?+he~8IG6;U8OTNviQ)Q%k!b7$B1&O8_Dd8renI89Z4?Jf-*j5s zZb`qRIuWyHDWeM!O}MevzH><&_>DCQ?(e%A{)qB&rdG5lEl6o4;o!hpt zXRInCHx1FQa`+_x^Te606hP{;78V~8qJwCs@vPf;eIGTlt45Doq`?Slq!squ1EzX< z9qwJbzHLo3Xf*6KwdJ%>j_$p$KFGVS^)vu9_pBdWbq_t=;)EeV{viM&;40(Zi@9=9 zuC8apjv3HwYYcMDyw>jWz2-qc_xZ&e7Tucz!~rk^IKe)`L6A>qks@rZJv`(Vpj-k7 z5@0WC=zAbdvYae!BCOHN`BUzc1q-6fHTopPBl}vJ8vEiK)!hSmj{+^u{m^}X%V1B( zci3F*c77i*BHdS@6{m3csJ4sZXbf&CS4;1wMN^;kZ$0xJB^}?^3f3MvnAL(=$sA4~ z=I`-Pe&b<$LqcL9Q^|SUuzPHD+l283_WcmfotWuza(1R#{Gs{h_%1(l(e|rv^zCVn zDVmwFAlby=V359nfywM}@DR1xiF@gM{MwoxdGAl7^Zq8gOjlnYpQNZL6nN&7f_pAa z8Q-_?h;(_9b`FV?7k2=Fb>Ar+#No^Nwk`JjiAlOJUQk42;`zCK&xx9#`#w99k!c$OZ5%yHBI zD{S`qkX??&F!A7fMkpZsNT8WK~9GA{I%R#=NWb$r9WkVxCox9y9 zZ`{=vz^+NCFV!R}2$6Phk_|PT&|E29Qc_W{Ac9T<_xdYtL|HgKcq1?zah)l5Ex^l4w={=c9X;)q-TJbS>_^9QRtb(I6ZK#-h;)X(v$maUpQ$ytT8VvqGzS zu`)-u`Gm9&{XI*-pE9R~=GJcND;n(zG-7TAzsFACm$-9gz!KLpxyA*~+~&^vdz}0C zddRJ8xy^s>DV2{JqwtuWHuwGWi0Z46&(u$S2cFNJcvhRN=gr0vXm(6f^Q>BAX6Z_o$PBjs`1h) z;JId!>eUz8%LjuLbPTyaU7pZdZoVP-T!vUw{g5`KWzN*#alP~DPQ-K+!a5TKk9cRa zCFT$3n_j8YDj2><)?Ab35^??5r2U$ z2IuA^7UKM z55fx)jmg9r&`D)&M+b@9iiyM#045nQa!U~qfb9|2C*J!g25ATptlgn;P(dc!d!{^R zFKk0b`TB90-6&_KOOs(4Gnq10yy^`u{So9_lVO>`+;ls8WLkd}35pS97_)4S0y{OLA&b#UR;MgSfgP~pv(aaWa3|yM ztjA)pOO8lky-Leql(jNYE7yisD1zqVO|H|WpnD<3r82%0Y#GrkgZ(Z5N|3HA^32e0 z(rvrn3msUWW%)RGgt>k!lL*xuy!3r^t20e?I%w}m)&o5Ih>Gx2=ubYq?%?x>F% zX2KA>>f7ss!#GPp)xf;m+ek8{e~ax7-&pB{NA-F=Z>5VBdLS^*nYUOLAWS87T~JMg zwuyCHLA(v}KHUM{JenW95cnr=`IU54IId=1OH1J~q%npGqOq14VM6#sL&4RbjzxWs zQvFx4KFxh1{BYQj6aUz(=tSIAsz-&fz@%@S=>N#xOq2rWb?TF$Qg80AN5{ zB=zJzTD2%y_ptzwX~W~D_aVohxR2)9-Bri@nZDy|FrFmY5S3^UqE#6vq4mUA^=jUr z$FdIqer+z_Gjg32OMeh^YrS6IZO8rg)l21&81fHU&H#p9`w1)^0u6S^5cOK^&X-@Tu(iODa2YOiN8lM zclg_QkdJCH`Em@Tkn2M%M zB5F?OB2k06!EdP^X_I#+0!PnK3oea6s8J!T{|iK6lzC=j;$_XJj!^kpK_$l+Eto7c zG1ks@rqNT-nR2Z*hDJ}=DHX)=5$8D5zQ+V6yGynJOwF1)Ltri>A8I^@GjtnanJxoz zHg#rUlf8sD?}0Yv3T)~_+ldkna{)aPI-dk((1oA2#*(!SBVduA1`&r|6HiWEZ=F7h z)iH%VohEH9u7GOe07j45Yv3a?v@%XndOw(C;4>Q@#5)i{kr`6aib2g6DuT*SU5eb{ zsk3OeFFgAMgp!Cnc)kTyI?XXCjJo?0`Ul6TKaMO#UUeR)qltOk8ofSiRn4B67D`7; z7m*lq5Vrcd^LkD!jRWRPD{(PXisxY9et$J)oARcJ5rKeiFZgPq%}<8`TMxZ30Tjng z{dc{w$ah&JW%DdB1zw>!h4n~@El2!Vp8Kjf4}f0~gn0H)mB3dh5cH(lQ<2PJCnj-hWD9N#m2q z*~dFxEoLrSu!FYUj_FTeM%sX1Yl{E4e4~|g z?g*sq=~Soj8DePBt!zFaR($hvy9j2Cy6IRKi-!C|jr$@&uqjlGyak)`E{^_i-zl;j z29P%r5W@R@VhBG`dcba zF#HvnZ6`e)wO4tPF0abcwiT#kvW$7&e3;|?Cv49oezfA2^)!bGE_Q{LQRh2?%G|@O_bpJZ@2|T~bJtH{#8oGV< zZQsWY_l6naR}WCyT^kF_tK#LsT@9HWo^7`CtkKbjKfCO_fdRvllpB3OA6E(;fGS?A?qZ>KDC!}RBDM%g6-LCX% z{Y=ZjzaTrgY!Ir5Qtkg_5cKD(hR&bl94{1o)i<@(^ZF4o`X8*y_js&?qC>JjbHBi| zfAAuz5|?B6y`?ruWi?pnxriiDX7^pi2d@ zgX^HH^=6lUWS}=@A&${`oQ*eMTXwf0l!MUupS?`o#yP27&dHGPW7bB(6Lu+CLte3a z^6vomPfbo)nN7yOD8f4cJwh0GK8Tq4C0{BDCB_L+@kvJK>h2{O_p}RSAJ7l*GxMMWh69wvKmC-N=4~I2Dor@| zXRv&Urt*dnD`cN*kFb|&A2^Xp{<=W(ulM0N6qy;h*IBOYcVxXigE|@MQAYO4Z!lap z82d^;`4Y*z%It~tR-1<+ev_nzhb};b59CSTB9e?>mi5X0S+t?4$YU02#=tGU<9-Wm7&Oi&sZ)W+RR(hR{< zgZ|FQ= zkL%7=%uaEi(D?8rjWCKJY9Brz1lsU5GW)C$qQ0XnlMrB}gVkdDY%u>^rG0Ui$4|2o zZ>Q+Y*n_LF$ZT1a1wmhx)GN7mA`=Aa1%^z0wUYMNhwFuJ5oX!m8m+ zm65QroWXq@ing6iq0@lPHFxy=k$j7gLR;a6*J(A*Q3PGiQA!Wy@^(q4T}GDg!|FzN z>$($4d`sscWS>2JGZL|0g8??20so|ApI(I43~P z@PNEM;;_|cp82nIT<3?8Wr*4m^LRrOg!l>DXplU{$%;Gcd@!x&wV*+V3xnsuy4%&E z2!xM9Vh&CbiZS507m*R2V^Yy>_PnlPSw7e_(}X6-y^ZKC#Y?X}6F-_Un?GHD8O4AS zRnWWpM|0C9!&)STc)NvF>*py#0<=9E5|TsL1S)OzKG8EDp$`6(obr9tmqm_b?Lbk# zY>E7>pZ@v54uzP1Y{cb$&#@CS5WX#h2uDj)Cu@`LXIy+O(f4L=$139Y)>*VDS8$qO zIz*G*m&+5opR6X};BVcu*&kiy_KUhNIFA*6IbtcxyD;eXy5CDPje*s0AgidwHK&}qqyfoEVY zOpgHF@-u%pIAi?R4QGnSXavYk>LI>N>_y<(RZ@o+$IGgb{reom-Cm7oHkBUs0-R-z zaGB{64^bM7(Ij$!@Xk?^w96|Np4p5>!2!Vnq?EE2o0ejGIkpI+h0 zJHqnCkcH&nYInvC_YOAN@zn6|7fx}ocPeoa`m}0k(#d7Y5fxqhsa6(Oy{$^JOoWcw zM&L?)LifPirp{k(u>2JgDHF1fmJ80kDe?xt2Q^MGYs!CfQP?4be(IZtVzfNj4zbG? z;$;UkEu_OYaKXCfAAfz1Xyl1!Gl>*){5I2V*fmqWUZU@t$HoXLjfc1#YCW?ng`KRn z4rNV8k3y0F$*w=1>G)#*Eb?PLfIKRchSjg3(ELyE4}8M-_N#T>-tRUu3oEPYTm8G( zFK&h~W(P$5xdO)9L-#7t-oodg8!NYOhbgrV~}e` z9ZN&BqrOAH+Fnsd7#?M=bTY0Md-@bcGLR=Xu=8y8^$5_RZXt?w`AZyzbbYj;4Q9_R zpuH>b^e+viWznCYJl?1s>0%VFu~dLrU$x8IwxC^x?r?mg8DTZQ!A|=~vj3%HPNe4H z8{u)_-ZGadWRxnlPyH9ebiFz(+)p=F2YU=)7|-*kkVOC3<+*6TUf^2wa-r0W3mAus z_)&8@+wHG)BGdqV8?5JP+e?)2SPcc+UoSd8nh^iydo{C1MO+##KF#Qy;t#C4jVO>W zj~xTlEROcphzU4(J{%sjlriG;Qr-48Eh)KHrvNTF3Tz*HJeXrz!c2B9QaBF&DNjIs zkv#F-9IEt_QgJ7HCu)2G3~{(MT$|4bsk_S;yR;^PSZML6sJa*S;tFXW0QE?7!4;p8ceyKotL||WN8AAI4GcMe=A>As&$(`D1QjFv^I{nsx91nnZig*)oj@D zPap;{h!o!TN`uEv*?02_Pb!!fB*$wH8EXMuBYOY>{0{D9(5o|!W2~{;POmqbXSYl4 z-v3yA?M5C*k*8m_Lz2 zoY5YEZaZsyEA*?EmYLAK62@>+qpY8i^tuwKYT)SyI>b0Rextu@TpP^l{zJLznS!da zhxx!mLCqVGq1O7Vt374RG`WQt#SYRH@HswDeR{N%IPJ6RXg}gL@Hq~IA3>*sFf`sL z5x9@Mx0{+yUOD*M zyz=Sk0;6Z}0K#$QZ)zY{o%ooJc0W>6@@cbcBa4xam-2n#xI4Q+*fJMQ9vI#)5-}i95&j$uJ==oFf-o~RHpz)`EUE3 zoJHczN*Y}6vUvXpC!09ERks_u$N$l5FM@=I(sgNASRxOwx!a%Eo*&nPXGgv1-hi`f zY^ah12(dtY6M@NKe~&1rfDrllkf|2q!fA4oZnwp<8#qL zTQGRJF??zM+J==MuEKZi5uL+Wo*l%q zUwKyLudhlF^S*>1)nfYois4FFXQ?XzoAw1kHn{OR*N5!T&Ta$%{~$x4={2witPUJ= zFHZ)mPL1yYN6ug*4}mL#UfK3+J|OOYBo2H?gt5|RMlBSwEqf8dzpT(*Q0`Q9x{P36 zhwha7E7(CHbW8mnDjjc;$TeIlmWKhiTnUT1_b)MZ$i-lSALvRyS_?soH&>7SmP#Et zSRF#0rWJvy_701TGmlnuZ^EZ+4sqvi?qlnC?gY;7dyqS@4jf+Beg+o~WuFANEW%hX zF1Yeyi5p5?Nf6SBee>oM_QHCb<#1)O-0#N8@qr`UtLT7%CoxDbtgHK!i`JQ%xmVvE zw-I=mNZJq+=rBM#)chgOM`C%hQkke?O9xu%)gV$g0nNjEyslZ#ej-Fh#6se^E(RHT zpc)3J9j2&^xvW|7sSl9Ewf8_Pn{F#7$W!zj`g?g>;7}Vl(3S`$vWgR>J@kTRZT-}X zy`jSWT(vSE$P#}+C`NjiVM)#*BwmFwYRiE2eq;%+(?6Dg=`Q>BvkHIAI9T^-vT{-t z^tNv3(a{To?X^jo2*z+yKP*lF+-2H@?*UMMQyA+FqvU*6dUgCqqE&H#hk=#s3mE7$ zN$5=ljD`K>25=dJosc5+>)T2ZtvzkDc^Vv$*HiP-N2tHm#0ud%e4ZX11_J_d|Px?D8D(&~dt!u6NHd--oQ`4FvtHbxCdyjV`w6_U=( zE$#8+`a;o94*pu09+WyWQJAx9aBDP}P5~x4U8ro6h)T&X1a~&PgE9pA`{6l1LY7>5 zI_;{DvY#0!B}%rFZCQ^4@IPhHe{%O0?VugD>LQTngvh;S0%%z2Zfr{3mkbSM z?w!xCkcGWyV=Xhjd=~Ck#27VnTD|%RnrUQEUd12i0Fy+O0?tzAvyZ1#p$VcE-zwhh zbR z3?OI1`n+|;BHwl9SSQDFD;UtUcmo2zmn)WjA z>!I*Xr|2#CdVdsb1_|z_LbBUyqJ86Dbjy0WX{Pm)`wo_UGLl!NodrM6Up;s=g$i&7 z9R?vVCuBy$4z42->@n-q6^b8i`reFJnMKY>&p2C)BqL@a0UWxM9u7$6)0KkaPr1wR z^q99h0z|vsP25~(+UI+)9>FHVLcvMoZDc9MQHX}Dd69>5KI|;GqASOJp?Kp+lOj0o zL{wIlFqHd{L^aYVPd8U2m#PS{A;X-6|46+)l+W~>YeQq+1L_#TIYRY^;6XFEtk$lj z>W9@-+uwkGdOXb_Vzw7dIxN@qzf^3f>HjzYQXEnz`6(vBz#jrP-UnQj8@+w!S`3FH z@iAofK|c{-0Ou1vX>DKvuvl*+ZZ>E-vwBzEnLsbz5{qB-AxqV5*fl;~oG|UG7F7<; zULaSl)c;(n%Eyk(#+lexCB0@h* ziN)oGYISon**@`gk@FB3RKd%doR_t!*9%Bid-d=y5oqg3&k5Yvhz1wj7?F`ILZQ(k z!I&S5C)?UQS*=mL5PxJf)1vOuwgulUftN0pnwGMoIO$%DpGkdE@-`se2n#FLlbtih zU;Dt#lHVFWBWhXBSZ5{s2jWLyl@w4S{L0TOgmbShN5Bd%fcfmFFHs4%*zk=pBxWZy zBEKwx{Sy>%c1Tx=GPQA@kyQPRwsh*mnlR_r2~p1vQ9}ln*umYw5((@8XwtdV*Ezw> z>k5xW9)UBiv2@6o2xcs@o_wzeV~q}MX<%h!KYX|xuj(GPw4koh8=Pc&@wOAe!A zx@C-3HBT&IGcj;f-97$e-K(W>^&W6D7_-pO@GweddT{i!NR)Rs^r4Q)DdC0^AgL`K z;pK{e?L7NE*mi&O>CC}_cggAL>iIZ*VwdfSR5EPE-R5c1T^3{|thu@;|7AoNcr*DA zU-AIh7j4sbKQ{&Jt#vJIPc_fI2%|I#Xp|uZ*JnSD6AW2DUHI{y!jD^ky@(UQI>IUe zPTmO9+^BP*%U>mo{({al%G<<3csm*n{gxl=oQe7OrnAOdH;iP z6?3((<^as+{TB^kaXF1}LyN*Lm z!1W_T@;DshqNmr(*J1J2JjS8#P4PLELq#pwG7g(R&)&HKQ>83W7#Q^4d$p!G16tYQ zoBpvU|L4y9KXZUQ2+TM&0mGyhu?eNhWFN8nnoEE43e+gqWS%@qCrbUDaZ~7HYMXdw z-Mv@;u#xTCchvV_$M+i>Mln6H>tQeCR(huBG7p76M-{vwgGz7fP z*j7wB36=c>v}PqX*Wu*}-*?kx6lltZ<#{RjlfT=`1mK3m!A5*Z`!dB8wDEA(alUxE zdd_z{&R?X)5ywh``+O)CX;WK&tHsLXGeBr;zD?8lCr}&ah@=#D|`Kv`jMzWPJ zopqER<^5ge`KQ8Ey<{z*(z;snR;<5bQ*&}c!FgwqV{Iw@?@=cy{xWH5HZ|-^51EEW zc8sb#0aN`1V6tLjy+Mcx8QJ8f$mTV2HgNaI4fy>jv-RUfH7y{z8)qI&@$WRcWwhsL zHM?hrW}UVLws|VSGWZrN!yp?)0saY^i~wdTPOS)v&acVRU4tcFjXbwQVML%Wg%55& zR0D>w-n`-S5&WlbjN!voCD*@5ZVsw7SuUH|zd~fyp**0~$<6xA|HmFebd;{)_RhCQ zhnV_Gyc&JrR4AfHLufX?$Mwz+mTSoQ41`511ojb^k`bOtw`wOmgweVnwf$;B;Io2} zdf^nYl$Q1);a=DMnP|Ep#8bKDd(%Y^Ph;ShywcOr0YgAFVPM>M|BV{yTJx#QA|I^=S|fw~W!c#zq3;Jk(1ZUy#|Gbe^&?WS6MZt~M zH7)WJ|FTY8W`;I60>a(?pd%UNm)ir0`^858C`-qH$hp?2Ft?#KN(R=P2X%moDdx_QwEOe;*9!f!4jtk@~tM4XLNFhsaVfi zNP69%LK@T3kFLiqBUG(LXdHwV6|O;WcSx+hMvigPv&F)OlZ%~Ch)s?gW5o)3rOd-| zBVNy3G|#5QOTAXSQ@EyASx(zxl(LcE7}Gla5_OX`S=v-3irS?qaGLK)5SOmze~pXFUao9Q;yq;t)Bp}&9Gh76ro zd8pzyT<@%;s=ap%egi&w)(X54Y~jBwkPr`T`rVQULSNxrnh{#e35u@8 zLESgY{`Y@ujX~?Nmk4MZy~UM!%ig2W`b~CRG5aE-nbS|FNCS^>uO+o}3>&F?)fKf#TI9$#Ab z?-E{??y@3meFt5-EOiPJj2VD z>JjxfW4;>T|4^!PI`*XiPrQat{3+03DlDFROuhtP#RBwi1)2#_;S8Hl74YPC`DOUv zQMfj}IHsq$Fs+s93l(M_e+ULPb)7eD?ibpVCH;`6nTX^z+PzzRsJU1-lP5HhFvQRZ zM!}xJ!Dl-HIt4B)X!7yt;uF<753VddY{0>{PQV@muScME2!gKL0e0x=JmWcw57WHI zyHURl+neI64k+<1*2QO+#oJfYBeg_x1U2IU zA~#y5^V~Pa;seL0^uC_ug5PhxoqIgh3%?+&4Dde#%;;k8>E|1JX^0t-f+_=7ryd&uc1hvp!L3i8JXO%En6_nto_2AL;1#?4hE>;Ef0*#$!Ql)7UnB*#f~?Zt;mjxZ`_KPS#p~Q z7YfPLX;=W(B)BdDYm1BRn}%F|iA#@xn2rW&jwe3Fnb!?HH8&&>NP6WvaMZ~Prp^5v zImhcMTT+#hnTYsOI?F#C5?^862RE2rc-ObF^;GsuYD?Jn{;}k%&?A=>KOc`vZIq7? zehvn>{D|&TT4`HBX-uKh{`6I+qRS1pDtA+i8=I&P81Yv(8dtm2v7jq4du!{w>O`dk<})aZ0OMnFiYI5U;jl_Lu*B(lDn zwq!m$-Skd)alGbT6#lSH?F#}ms_VZHkN^(Y9CYv{Q`E^^1f!B1_ajS4%|^#RB2w#0 zdqW50-@D`5uSmty93sGrPN}p&V2XN26xpZPMD8+{J=4ox26^i*u1cwv8O4UGQJZr+fs+Co0<2zYr0j{l_v9H3}Ji-S2qjG zAhmE9MI|G7a5>ugfU5Y;;S-wvYi0d4YL53gZ|D6`2~1edPW6TBskX!^!_ft4w_0$l zZG49OZu6%-uV~FR_xNto8m5e$+ttBHd#@0y9Ir6PR}gNi;<;5_CK8+iwil!VM)VHzQ(G><-s>OkjP}be2CLe* zPf}h-x2p9itxCZesHa$L8n}1ahNQ_&Gyp%GBe^S<>whJ*akEusxv$>fcNavCG`#7Q zhs`1x^)G~_FEdyWwsY;)KUE+7s=PR}a_750Ty~MWySih%>;aScs$^kyu8IiQ^CXWWFP1YP24*X9-LJIBxklmdGC}_fXkJ^(e%Zy zdT$qkPpH|`3IbPu>IGi*3ed9;H` zFa2#Zd`Nt*cN{0L_b%3YDptk?nmfPGdkBxz$8IY5MT)-O3au1mdOgR2(;NXe4`n9; zGUAR9+*3LhZv3x=CbOi1{bn9a>5z%PM@NX(5F=$ouGZ4Am&`FLas%teSa3UlHKwB% zyecTo@D*LBjuOLRMOk4n6zN;6R5~e6VDi|l0S$w#wpwz2ZEa+&6VASv@mHU;;#q6x z&>qPlo4+hSVQwFFfZk9%sEBC2`lG!b^Bij%;U9mQYkr~55gfQ|Ml$>!bD)Tch1%&9 zKj1CoAx`agmQB@8xRBiX?IDJeAm6zm>m#mAUB;b8{SkZ#iTGZt5aK%smaEtP1bfPT zTs>o4RTq6Mo3A(8Y7=m1I1n+WOot$NLI}a1mx>T^LEaM>u8J|>HYgL*wqb7sl2 zZ{j6n!9H=y(m6Ew(5_U-^h4rTpsZWXtZui4Rni}OT3ujP=)YJILwq zo^kH6f|9bxs#@u;VVDr78p(pS<|>BAN5Acn?)=A)kfB(*Ksq}PLcii zMS4+e?O7n!u`I8Ib})-wR3T1S>%CD{^+|(OR&HOy7P`t!A|mNQ4urca_G=onM<;|O zRJg^anuSAPhB?3@LY@eic`Z`MuGtGJcznF!)~jMwy;owQr_IxnLAGW0+3U9H^UTb~ z;87t8bRp;1u*bvh#y$0UWn-k$N@_pp`(obyO;K}XO~4iT$(NvWjMNcjI2;TZme1jh z7!cp)Bdt3rPj55xyUR<~v5zfQ25`al2KaK0g>`n&9=|3G;iweh0DyMCU*T!A&c39B za#(tD85z3A#Q5DA(yS-=aWXRtg3|1n1B8{vyW^bSa`~lPt4E(JkVx~+(i6YW5|CzMfHy;WA&V5W2jjfSu`|cBP3FQ8S#T}7#o)s%PYyMg?I%g|pzT7r z1~E*=)WUGgq%i9HN7mnQh+Qcdrae{yyph{4=7Te2CD;p+n1z-7x6?f#9Z=8N zGEvl-5iv^a`7Hv+#B>2JFRBZcm@_8GH<3 zIU`dda+GWFk3Fel)q4G5Cx~1ovS#q&e!)CK()vuaLy6K$eQ8F649#4g_IdCh$1e;?| zK8BvJDoVo}g2To72b&i*NJR0-KHp9gPIDA}OfMwfD6OBB{aZt^wzgj6Za@;rTSsqm zps#ocRTR|#qMVF_fanNbDTSQ)N6!x5m&{*AQ`_S09sChciNicP9H9JwEo9WZ9yh}83EI5{I_(=YmedU0#7a;wG@I5v=Rm({JDVtJJB~z3jc-B?nqnff-P1SQRys<&5-YVhQF^sWa(YV6PeeEn;(X01VR#G^*VP zEW(oG{NSI$CplCLK2zS9!z(T?#2*&!CB37H32K!S$vp+C~336C+qVB5UQH zm?=S~U~pzUUD$S9M68*7W34_a`lH%IH1dZ#VTsR7 z&Qf9Nx5UUEArkOnDlkeJA?8W7p2A@q$p}0Fr;qrS5pYPhM}O>!$aTLwSzKui;3L2| zg^DQN&h9D*o(5t=TE{e*)dHkGBhh-H_T3d^8$xslF`sfAP%yyb>6F}4VhKNJ+^G0DMNc&`Yj?k(b z%I2Agkqsi?cV)AIe;#(vJJV6CEspfyf2M&LawhYuP%SGvGQ&Z=TAr_wgI>4s2ragu zG9Fr_ou4E7UMdd6hJ)9VkE3H&^kXIF)A{2Mmqgi0U~T}WsT=d(ibA3|JDn9uH3%bo^N z5(AR`3G}0BRePa^1c;aF&kivguCzy3NG)Ym*ozT$B8aV6yF+o27d%l)mWZM9AxRNr z(X2PPACVuZWqg9-ZlzU3CMj~Uw+#j$uhHemJ ztjH9#>xrmp?#k7fy!R(xk`7B70;C7B4ja7AK9eBDgM^@KP z|C}22c=%u9z22dL@c=Ku5Y!yd4*l4$+2;ZKpRQWysHBG-DQxfb`G4&G*dpRzki|`| zAtOo=?O;6B+$Q1~cG}qe`L?GrmW&i6+7|~;z75yjvyE=agY3XMRnAk>qrKMCZKNP= zIbx*anOtP}RyCvH;Li|Ca0;9-%2hVMc|{s6=x4%p$Sv$-oC8oNZtF2uKu6iW0tYH6`3rB`329 zP|8Lp-J+DR7GV6bOPP+B@pVkVu;tRbXbxl-ma^%SB;1>Yy;Oc0NoYZwR`g*n#Z!HJ zl$N-hl)6e4!+tU4^oQMTqwQvb|>ogOr4mq+co zZ+YaH#al^dm#!|4_s_&Niz|e9Zgki?E@Xjd;AbjP>0theP*(#9JpIYu2YsdE2yw1S zqZODatBx(c#IL;&Bzod#_7cs6BgMGxcie+}(wKt}k>l03ayrco z2Uu<63v12Lx#Ju&KntI5Mk&qfc?(T;c+bb4@C4DSa>VIt>(-7J?z`NENzKSKhM5~b zjgODhg{F1*a>S=l_R-?ioc~@uUIx)zeAZLem{g@lmo8+o8ZFVRe;YTN^6askxW>Wn z={A#%H~3bbe}T9K9lj~E{SKN=&jltk1t}^4Z4-72L6eP4qO?8C=7#KL^Uq=Nq}|Ux zw|Es84TON(QscW3L~#Sgvikvo5xuTk?^8`>i+FX5AH&Fl50IT9oESddX-y=Ho!*yU z9dPaVwm>I@aHF;UmjaK^#{)S*~4-%N;?Np}Sh0N24 zfde)c-;iD(gci`k9aBY1pi(t|->GAJ5G7TP(Lk6Uw<=DGjj@_6PjtC<%5>oSsun-; zY&>3zYhsPB3z#Wk9|;I2YWHLKkNmv2Uoz_>epxW#Fr-Xa4Occz18?j%97c@CI>M;c z{zRh}m$e;q4@poPbzUgmpRbJu{$@H*7mQTt@U=I-`W6}+@kl1YiumH5mU+H9l9PLO zpddwtSbKGjpkq#h@APY_=4X%xYNz->x#f-h-RH(%{pAAkmhRj$dPG zf1m{3qxlmEJCkJW^>pUyiwyf{$h!3l%7C=J(Y+M7tXv1y2Av4Kp=8Wh*=uZWsV7?9 zrEF8)8J)bUJkk59Xu7Ras~Vgl!IjyEe0ae4w1z8loZA_Z1fo$M-od(A+`oH&YXlaj zY}VBOKrj|A7qN#p`df%zeP)&$h7?>f%G$rYFDLs4uKetDa9OxJO*Ox_zh{i$-send(*U z>Ot8p0a`+vOj#d>7k&U1V`S#?-2WaD*<0Rnw=s$SQOT4alia|2f@te8Ejnu9`iZ5w z=j^P=X7_E)(-Wc1kT2|WHw0MeW!z0&-EnKeEwSC%oW**TTHT+y$zE4}|L5uDrr=0t zx9<5$T@aieuxn+}e`2F)Vi)Gd@tNs?nK|FqShmF1$$-dm0?fUQuJyHC^1ahAGu}M! zO(ibMS^eb-Y@xe7c2?+QMN6~kp@#-c&NGvK+?TX^?M54n;RPgQ9pA4-Oa@)w`*Dyx zKC_vQSv<`wFX_a_9dCa}*K7~2iYJ=pl`F0O5PwHSzS$cg4Zo@@b0AQpE!z3BAq?jS z!_;oTpGYA-S_W;y-Px6;V3aY#*6)NECAGHLdP(&zUpRZ5Bbpi$7z{>6z62Gc@mIkxL$R0|ga;Q%Pwd$Jkc;bgdBUdtaEamGkl~+Tr(k!o!moley zl*XJyNG(u$_6jb|j1@XE2#vT9CC%0`*^?pFJMD8yB%C!+vyd)nbp0W9(#rab>5n?R zmNZ2?9l2xB?|Z1%x-WB+9@dWMz1MHAZ=7??Iiab;;v_lm zmt|t>v}1m6>4Xoc*{{8Jap58&4Kj6;oc-iZ*VrElm&YIJP$2aUy0~qwtAiWW!B(7^ z02~19D**^Wmi-i(Oc8L7oCX9xKbz0a zE)0iI#!s65M?t*`8smV@}1h$|b?0Khl#t8V6JPEn4>rNGlyQX;_EZ2$#=C^9<2X zneu=8W3ah2Qv{hr&us8YPu#GYy0%y@3#?Uy62v5&J5pFL)HSRWRhHpN^=UV>r>I(m zq{P62Sb8_J`Z*WXIp$Wzlr`(j=VkjuII;_HEzK1#_3ApJLo`M>84pA!g5yNpZ48C8 zL>~*XTG4mq&?=;~b)pi`ch`w;V-Mpj=^IB+B20EY6TZ^P?LMJ08L@i|yBzd)xx-B> z#~cheL@hVYO)`^PMbFN&1(22@n`61Nd$Px&5F0qxRhbW;B;!ZAdk_2}xY>k6Uq1x8 z1|WF`_(aaCJbYbz=6G&=z$mFU0*u|qzLS0bdMq@5=h%K_yjW$hsez*7CMz4yJgSN- z;McFUUL@;k20aVAd3SmJP_Ec@Pi7;=g{Q5CROu}Hgv9^hje{8K(kMwuX`)Z_uK45>VPx7o${hNo-6Dr7%^hfYhn0K9C@wCq6*t zjg_u;?LA*lJYtXR?(^)`!+eM%ALx78cdS=WP?gkB++&rT;?)CeQ4xj3JYPmQ+r#n0UX#-S1}gb5YcvLw0l7w zmlJ%d)+PKs33_m1yBWOkO1&KsdBOL%_oOHOIqOcl-XE1ZUU~{dzvUPvc5;E14cIb? za!eduCcWlX@MT1}7SFNd335EFF}QGf1WV$hQE7qmHOVwlMBIp4iy-#+V-%ImV6IIb zU%S=rVaD3;nIHH*E}|kMJX28rQaRS!IQmdYpRX%HEv@!eg*$#DkZHF7J@sI#>DE=* z9>XGh$(!|<=1_}_Z7`}fEJoj^ikckrz5hcM(oS_yU9l=X(If(013cqX{HSGey!bE* zxd3~5mV?F@Pt;?1c%xCD6SbE1a(0F%>&4c2&6dux_Uo5xUG0?UyJ{w+N4-Lr-fsCv zq?yFT!un-n^hN%AG0?l5L)ZcI)hF&(n3ko`S8-0??Ld2VDcB|4q2njUC;cGc4$&Sb zB`9c%Tkr5~hz*#Za07+HvH*CyLW@G>ul4fKCzC5pW`O!PR$b9++8QnERQbrA-5 zTPN@CS~im?65sK>@$;md^%pttY|5JoDGz*dY8~4+J&1fC<9oPy1>6IWg!gV+;{%y? z(75jypHjhR$H3Ro|9HYDNyFbj*7%MAV9R> z%?3=wSKkQq_s%b&E_4L^;Ys43shYm%i20FWUbhdmk43}`M?AMU86B6bI=||N$OuLR zupck5*P2TcpOERS3F*wA-K+)OVv@!Nw`VV8wL6)mhd3)4gdNT~Q-k)6{@3Thl;pOn zZ#{FJQ6e6daMQw9XQxJWp(M9>2?N{o(x35U?D6-jU?iwePv#9b;Q>)4b^Xh8nw$1s zgJVm?`Q--zsD&%{GfB%R>u1I5i(&uDr&+&&w=o$hI}>M||Fu)dFv?TQ z+k|hn$i+Avj2xLejd~{Wh3H40_uCt=>25lkcwFdX*BLRro!{H?a))i z5v8VXivRuV8Ok>!&$jB{kW;L0XMefbHbM8fOOUJyjJr7)JQnrWeTvE&wd-sgkOJ9X zw;aCP`RfM1|7|hA^RK!Q2$1Y=7XP z{(Hs$yPxrYxAlJ#^lwt;KUnSWQRY8>*Z=#BzcKUvACdkBk^Vo#vbO)YKJ`Di{BIWj ze>mT|+@J#nH`d=tsT{nJfG6~`%D9P8@F}1H5A*@0dzX=KT045qGOrJlZjg%9jCVl z7!(KfNq-Js3w;5rzu6YQc;%eOomBnw_j*1CxKo%*AQGyaOiCc)WAtEzG#4&cpxZX> z#MJII=s7J_B9e!oW0L%p+an^sdWWcWBcinaqT8ku)1R@!jhKa)M`fi-a8mDsgJB_+ z#Cl-qZP!1zHQ)nAR6PzS4BRfJ5?V;jDwC!1R*Z_pAeL=@{itFI&qs&2 zccPH?LlDFe$t7%qf^C4^@zp4(zB+P#!HQHwV&a36upd=Inv;&T5si!BQOd^y`4uS} z^#mlvuxpH1MM|rxird?>AXjlXKi^t^N!?+3iS}7Nk zXy6O^dbX{hMIRn5*VFQQoEH*9KINZ%@et7*4sTw1Jz?A`M;z?MhpKf)wD6cx5&hJ9 zpmH4uJg9Nz#q2SyO_6K;($#V>{r`{6O{mVX>o!pzOt&ks(Yz%rK-)U-zu zF0{1F@9`M~Sd9iFq7grpMDvUf>?OZK&c=Kb={5w@hl5g0yeH+;oF4G-?? zlYmDhiWs+~Btp%sM@(VXll1o&s<#|x7Z16hgp5Pm8VfQha(y+wJa1vQQc)MSKo?xtQ z|La28G1YpM=eyIA1zF`>o3>hoJC2ufXXf}jNyzY)FvJk2X^i}Jq69 zq5nWDx1c7)ah5$jn;(k168*l`?TxDnVoVc_Bs`M@2fe~MDvKxXMX{N0azR%|k47mD zhee0bluQp6kbhbc3uEroWuv7Xv?JyFR?0g{hL4<(nK=qUxw1ZQ(qcCen{EQSIZCMLKxQ=BfhM7iu&`qJ3Uj^@i# zTL5p*cRbmO&$q|oZf=dd{t)QyzP>)l2Z?2ken%IJ_#H_IE3Oh07TOz*nhp*Gk5}LD zC>x3fL;V1q8O>8z92h<3c)F0#DoTy9G0%t_*SXFoTX#7VA_wm*=2{jm{#dN=(QYir zkQ|7_#665sx3}D{SV5o>CS~?pS+mldV0i5cY?>gkz2|#1{>7-%-xpuM?A+63u6}*p z=cBDf0*frW;oWk)X7yq(pe#k{RuQQL{4y*hH-6vW??y)}yRnl~zZw~7NHgJ|Garhs zv}*l+UFMc%ro+c$O!n3oW@=RD?nL&t!)8~{Va{$#eWTs3;kTrBda2Cj-N35PO~Nmu zrnsN@GMu7kq*M4d@*6j6wljdUUjxqpO-rT5iCixh zo+sCFk`R{*^m0eYRs9*PV7XsS|1-z+XurbO4aaBnp~j_~`%qh3L<2vu+Rk$dYWC%CzYOlw-sX8Y4T(#Z zYau*|$Ow^WD>T1mjU^^=+aELW#(+!N_b*;o>0T9j^gb~I4q<Y@(YsyRnMs_zhLnk)>qYA7f2_PFUdFQ8V)$5-J2`UO{SxWQcm_ZT#A5`@Sk#`z z#2$MGHv{LvMEu$#zoo*>5L%0hR9j66Uf$lp_d8A$)_j9I_0TGK6b9s`e(-Uz|DFir zDA-equy}KXKuyH|JNKcucg{qswsuD3{Zp)R8knpg=jr>y?=xdnVLWxm;>}WoyGSy6VC@~ zSB-b(9t-CNARTd@D3UY-_-5;?sd42y1S?L=gCY3I@YyFtp1_OXsm6e?>+Y%a2>$X!CHqI|_PMU$p_$ciOb`O?VI+K}4y* zZ^$(Mi9(^0Or|7X z^JPx;;aa=~y%fde^!l(^?eS@3`3OX-AVT&PXL?A``rT0a0@h zSS-CM#dBN10X%_8&cLB}vwnXbw+K|T)9yR&_~Hg%>C-*mO&$?2O^i^Iu1sLaiKW7_ zz7yN}Hcbb+_U%RKXuGyMk7;HBR}FB0oVR`N?cAoc{f^K5`1{~Txx{yET%-Yy^4|S( zu1Cs(Y>{u$d+&06&&@=N@u;z(69(DL#AvwQT|^g7@u6tSz|3hZY$34Ipmw9= z-5KkZ>lCS&|*0!%^4+BY*DN;K=%*M4Vy2>oi>-iVS9d0&^I zzbBj@OgmrwVF_;-?jUoDT5pW=x`0&`sNEvy3t{Wub9{z1atE}3mdSoZ--Y*5ZZBvn zNOEL`Wloggz9+}U=X+B8Zm1pkHTQB$-}PW@yC~IAwLW)D3Xci*2k-7N#PIa7Y2E!J z1VN4oqAIC#pw4MGZrU|1+u5w@vtE5?tWqAdcDI9w`kolbs?8NCDb~kRpq4T!_Dl5f-h#kTO+yrj>CQ!tCmFT3|F;ed|g0#?wn7HJfYD(}CS%0tHx= znC~={#QBlRud5FrUu@D#8_6Fh62b)w7rt&*ZI6Gc@s#3wd{9GNi^~wfqTQ&t@jt4V z{^pv~#IhcpEeX$uuJkdqD_JOOn!EUNU7yOWE|4C+30`ypX8@b)>i|^7Jtx2Lh76^n zF2j4SVAqy}R^#2lNZ>VL*!_6`+uWBXLwc%K`?M3F@$$t+9wr`r*?NSV2yq-@@lq0o z{E)yv*!&YV^w-F!^l#jh&z_%_a+bJ>KQNa5VmX|Z&0eXNy+S!vfFo?8Zt2zxp5aw2 zQ1PAI=u(V9$YV2m57p7yKb-~h4W@v8m@MQgKmjVqTd?2*w0gjnON(}gH>cmreGxvU9^XhKHek{x!*jY z*4G^x*B%%vq}yjg_ewytf+IHjr52WxQE7*d5$5vn{kR^P8Iew>(z5C!XRA9($C}8y z*{d*CWAUKf zEG#Nwvt3}iX^a{k9#+@Xtn;`qtgEXV(?OtB$|;1@Ik87#{xm=bA-wiK^h}j+Yl=u! z+Kj}zOwGF$N4Q9_0=%i~xxQoLO$t;r13y>PN$aZ#XY0@pImGzlVl44tPe*hbJyDeh z;>kqfcE(9n4DtHTWi6++Wav=Iv^!#VVCM0gk37ztCg!cT@ayP|RiMmcPoQqMQiz5C z)^IvV4h4*|?7{|dUrf$(msE&hkw>_}>1(P(1RgldGAFrkMXuVN&ZKT`^S-ywU~^0I zZ*yNc-jdLavSTwcG8{+36&d>nW>I+Bfe>yJA%hYF!9w{;uq3U&6!+Q|!bocV!Yu9x=^aFWz zJGe1ThSAcccP~)Aq9gPA;e0ElO?m7d?xKop8MXUaaE;xLCVF5}PtiRCDbea(;-L6; zSuRI&IkCmmk{5&ER$%UJfyx1k=H8zxuxtcr2c%jUEgd;p}tHnz+qJx zcN~KG{vI1+d4K_*{f<+BzcHnp;Wp7Hn#pW&z{l|=s9;ww0)E~fi(1tO9$x|&6PI0S zw&1!B&=d|%wKVJZLebdztyp)@ z<#okR*)n__`36RsQk8GH;?iX62Eb-wi*8}4#3OO!;!B-={M6Lco&qE{D)8aGCRJ{% zzK>3lQTT!LHk>a=5J|8(cn$NSt^3%(<&dkTnc=9H+1aH1yLi%a^X$-W6-p0jeu;Md z@J28iT}+?K5m+DjeFYwVohN8R%P4Z)vfGqb&-nYV?~-giDyZOHbf4c2C0f2j!fmd| z!b!j?)V9&!S=2CKOx}8^oc%jV)(Eg2uOLZQ)@auSTF|=n{abBR9w}g|%Q`1l^Zl>f z>6+cE=C9Ggog74u41G|!G3Wd}z^Dmx5f5(EHjOvM)x+vs?|@eL;Iw8QQ_hcP^vXuz zqC^f&lCCDuf$$SqP)&o;m3L>A*u|YyIW^4ivHU5d3`C_R8#Un4S~4-okPeNz_Qsa~ zQQmh)HPv+e(nAlucPSzQQ91-d6GbU1Dkv?|dFWE4hZ3sNL;>lj6r~sGNRuu_5JM3H zQi2o%1PGmbg3nvlUF+Waz5m>G*Zs~PaL$}Pv-j-Tv-fXKrf>{SC*LdA`HLN7>}Rcr zj%AfdlXrPkjE(A65HCv1y(7$Y#a@6TQp2g}$n9Wz>Bm!a5P*~%hSqjJQNAR3EI@)Z zz4-RM;R4>yT1Y=f^1)6s)=m!nz&18Se5#|6>D6oCOOXfTOyVmIn`trU103S6`NG1H zm;TO+E0A#>oOL~vkLx`{`!(jKu^5cAoV^0OzLP}LSVT`B*ouO##-e2AW~N=cV;w_V z|1TLvlDue6z8Y>xw&62d?CIO$i`bxqR{Op6L4zu0ABegl5{?uQy>3J<>!MXW`b1o* zS0iG~O0u%%*u)MfdK+Wop2Kdg0PHsE8XEM+gE;M^~i(cr` zTzs;uikZdni7mp;N)aGYL|omNBid0Tt>%X~`TLW`a1M&> zNEvx?jWL+P;$1Lp^Ly&k=y1`D4^uM7sGNl4?Cf8#v!sy#7{&sA+sy1so>tUEgQr-b zVNOA@uMsP7D#(dHaL(FSQ+73FZEY65=;-JIshxO}Mf`vbK4*3w(efz@h99=;EL&JV z#fgtTI+Pq!U%YFlQr6ntu2ML3c!8eYxHZBteby7JdNzyJh$?s7IZYZK8Y+1A4q3LW z7>`nW)E*igeG$sQ$f$4Ldy@{1fAV*nj)> z?e_iqU4Q{7datsWi%3ewot_*er>0)_@sa;q7Hw^*q&av`JTD6?>sE|mVA#%%SL01! z;S%tfXKyWzQQ$B|M1jDr(e@`((FG=Js4uN zmHGLEhs!bJtbbQVH@4D#+VwB0t8jNgzlV>9oZb|C;3`HFRdulOhe_>AncrGWy3V(C zo%u@+EXQ^rMMOoY&5507aPwn%P#oc>Y8Doj&9muhdoWmahXJuK>HH;zgkK!07-dUrA)_hjz4LoXQ#^J@*lX4jxu!`t_<==K4A9kH*_aRRcxIV}C*i~=2mn5U}*J6a3sDMox^>WmL zPDfLu%x^;Z3@<_J8QkuLD$rSN&b6OXA^|i%zopjV;?|17@}}yw48%o8J1hc5XQOEc zrZF791-|NdM{xK-aOyE6Yjo#3Bm8p1WKGQN+Wh#dLr!zy3=5NPdR7w556^VSyB_Yx zMh3;I4A_0OF@^IN5DRd0+mo{Ka|(s3hghC&r)E9st+-%p;U|JeBVY-zQ$?*v+PvoG zA8xl&E^pQ8k1d*_57|gT^y{_rA%8ku((OxoU)h1(a>zZu-@kfk`e(DKh3N^y+X0D9 zJwGqiGv!i_Vmlfvl0l_HFgY}p&B4hN6s}2ynCPDmf2aG07 z{L+dyX1-j$WZRy5b2+XtK1sy%_35_c{MfPrgOa9fgqB~`FGv&Xp2gGpWlR^j(n;y?!+w( z-%(t9ND-OgQ02M*!=%XfgafBTw@@2kf92`uRf`}vZP(Z2lB~Mu7uOY%`C~@!y#%k@ z&5iplB8k&ia{ByqQGEqQVMNxPX|`XJjM_@>H>D|vf*h=TshYXmy2olT=rmKR0n04i zP((J#r{k=pFT8457`)yx&g%zu2`t{`S^nE*Z$)E~eevmu_cP&ExK&dZBfI3I#a55@ zT9?ZM+jT8nOi}c_u|RKBpacAc@GOyas`H{+@aL6L%~1vZcO@5NrF}Bb$Sx_I($u*j z`)^(p7ZjOFO;Jzd<;vtcxJQ@XhoS1wb>l-<%onJ}X#ks&YdF)Q+3nNc}UiQXBG z$>X?2&NzFEbVN*H>UWb}Z4_&is#d(jfe4UhHreAoT+lm?DRQD^Kge zpj+?oFdm;{3I@W-yNpO63O!Lw>8NnL_3(Z}RFf;OcDYMbgCvY3>5~~qHn1|x(okZ~ zyn{T@JDBP%`{lRpzT|qx;yGV_x{YgO4Lzf6j%S(^b2rqYGb#{YyPreHO z4*n_fmz6x6S><78t!3$4gz6P3;k%ohcEmKa^m1FRzO%~h0j0_hsEL{lB6*kfN3||f%j2&Gehez0*UMpZoJvpL z!LAA%IMVReVG(CXr}xM^A;)vMmaV}PwHrbH)3d?lXcejVH~@C(0Enp9R~V6AP0+F6O*cs!Wi`a(F8lsBz9pGVDbFLe={)O8FZL@vfRNd2O63V) zZ1ywQvcrHXKG2xFYcV8c({29r&OS$`LX!Q{pkL|Z~)Q*fix zv<&W^>_W|zUtk=Ju0D&aV;A+9(Les=#RNlm$(U|eZ}J>(ToxTX5dy7k$B@YK7I@ti z=LVyaST&?P2}f&8*STSU?OuZ|QBac#I57-3`{p&&uZo{TG2Zj{)02(zz$J+iihQ>Ox!hDu27q!PV&>25n|R?(nB1CUo3iGPkUh8BReFKUK`Qqn90tmV{Xnn6Yjgl z9CKCA!%PoCrLc}m9FQoAuGzPE{S*4yYF zW%JL}$>V*9Mxn1O*YHsn7(23>U6U5W!xyjf`JU+O>+?!YtjGa4tkjQy*1O{47Yo;d z_3j`OI2d*H_46w$lfW;Ghl`Kc0pyhgbV4De&hEs{>q*hRZhFA)=zA7*`=NRY5ZcaS z4620;0B{6s4vZ)U27sT}d3~F`X@rs}%|+Or9kjR4wghlqu_8+)`X{9NpKn`0=%W5|*tUp7jPiyPWd!<;XZs&sKUEz=i;T0k`m;oYLPEfO{)0G=yj1 zI>)Q$i1Qr8pF_?+asi^9>*<{AU%+(s8P$0T@aJEN|68<5fRF!Y4pv)$-h_mz&PH@C zj?g`m)n{ZMz3o?qs>*KU!EcCms(nutG`krn9} zV#~oH3J>X9>LYe<_ipns=V6aWW&Rw=UQG$OOPuPVK-2U^5hHUpw zGJS|XWm+V^0DMHXzO-GV!^4Be!6(&4_)8Q69`XOm7A!FC0G}$L;Xq@0b1JUDo`NeI~Yix@nMo zXsyJkJpax0lP8AbX0~#hOT^b!Rj5NoEnG!Xk~qHg!av4XjCXwIls_{|#gj&o(!+^- zr@huchf-&o2C~=1bN5+hmSWI|9p190U#=9kkqr!Da?BLAi4}qd_9iyOq6~Eh)19Ps zyJH>#ze8fy(Ek!UUcaNuEs};9q{r;uAfS*&WxTtIsCz9hS|9Rj!?QtPntUq$;|dwO z0clM9noqCCBLvzIN?w_W~GbGxkOGF_|3o#3%;C1quQe$SwjRRy9P8xxIwc+|MgNZ5>|F> z99(;7Tyw~TJH==oj(u_+%aE>c?l;`u>Cf@haz)11*F52MH;bNzQxE};?(g1XWv!A( zP#hP$(f0+f+=v?VMkfC$b^{i$3OPbu##nxTKA&wn&3U%RmF+v{Qzrg?dFt}BJxtLO z+Wtpx`g2ekuGn_xr~c_eK+bX~XB>3zt>ZiY6LfQ^TvPYvIBR(_S|#Ezz3v8a`tUfN zjzih>XJ(^uV98*KWlw)YjU8NGL)8sQ&k;P%Ly~PC{9SVpo4Z+jkC|po%t8RB=9c#t7o`Hm(_j{kS$PJx0%FCP zDfDliOrOvzCi5X^3=Pg~tYEJek(Lr@{fQyJSuI+q?`LpE~h0TGs5P&Sb$11&{!(8f_zU`kROzk;h>@5|w&l%o76W14en zWs)npTwOm%j)T81nC(`(y+~%w-5R_=cEp~@Mm<7HRvpXPu!3)vnP*E;P3u_48i<82 zDpIkdyki!aWc3C9*?SpLqTf2(Zl)o_C<^A~jv3~|C=6}(jxVtd@eexDI2v^<^20hq zSV#?pm#}S+8+4q=Esl4@@5R|11;h7F8jd>~(c5m-uz{y%pwhB*jf2LcU;I}?THo$O zlp^`0=fx~P02l|D2{Tdchs=atHL? zc0UK;@q9zDlXbEMZiAl;0&*9!eEeCj{@!8^+}qI=&{LGtE8fH8lgh+BwV1$hi9@4%vNbbPxo#@_fP;V01{{GPaY}PB_ zAHi=iz4*u|z=1#L2*Kk{^+>9KxWEzamAu*J-R@z=gUX-uAr9}1+B?7(Of&x@oOYJ+ zcRb6mv_=omhnMkc4hIK8PQHTRTwc$1+B^j3gG9~#azZc9olP1Zms-;{d2{^J6G z(tq~mwLk>HTF(wVzl|%5W|@DL$m+-=J=l>%9sN6(c6ef#(>BKo7}0dC2T#=RFS7c; zs3#rab}Ak4v}8)2fx_MFfiga60|R`6xn&_x;HjygWt>4Pl4s=oQGG;<5^?R75>+rv z(OH};RyGL1D@Vk;MMR{o?tro+Qa2|o0QgVlWB)gtefp=$|A~^$Y5(ud$7b#(B`nYY zT9t^10sLRTRfiI2KNB+l7jOTQ(*Mx@C#9d${=Zg@|DtC8t)Bl4mGu8tTZi9Mr3dE77jw_pRxQ$eQFc^ux6d*f*H-cvN#e zw23*kJAAZKz*58I;3FDqiCWvmZTSW^m`P#BZvgZoL$B(TaJJQxP=5NTI$#@0AF_96 z836-FSCiotTwA8E8@w=61wplS?wcF6Lv>ioCWq~BL1k0J>t?~ts}G(A`z{HJstmQl z2n)s>=K^rxGyZn$EbXKX2Dc!pg0G(T*i1SJ+PsF3R#Kp(8h8deX@{|pg_{Lh{{+2& z9Ve7gj6eN;=^4oIz=H?8Jxrpa0ui%6=cP@G~zL z&zan-ccLRI1PUh_rvZQY=nYFo9iaoVnty-m+ngH{)bhUjY6SUayRmig*_oEw(NjX` zBbsktjUqR7YBAEybuyS~#e{+xS4-R4&Z0c-lRG`%8oLqh6LNb2OG2RS2oH9j3lQH& z9~mUhVZgrGv@{+5zaCwHTvR|m!Vk(V?-vuuLN?(MyMeo{g|3bURO^$F6x6_Rkr$haSg^T$j7a+{Jw! z4?4nayO&!MER|$?1+}tPqc)*TJZVZn^3(LShGb+$Io{miR8*R*B-3oJ=VHva_m5Nh zxCSYkKoD-y_b7=w>T+rm!@@a)RutdKh+pQY+MB?S;NWP?Ct>(Vu9jAm+f~AvK%zi{ zIP6C~tw8*VM-2%wSQ>eJA|FMO>f+)XtR_sUPafguUXa7(+i)c4rYX5?z-o10yL0B3V!UWS8RuvR54iwjW7tY_6$Yp2!Q~PB8a_ z8<-a9L|60>s6%A>pO4i>EFEz#ZoyQh?#QD0OAxzv;x0Jf-_#d84)C|?NPxojs-Mq1 zh|FgtJ9>h%YmuTlZ!;p><*E75hNi8nIh@-(#Z-5_!#L4%McrnqkeR?k=T*mCTmir4 z2WZ+=g?w;WB*juEse!^dPg5l5bidm+Lv*=6eB0Bn^r7GFV6`SSsDtd?Zvm8aI=-{x zAl6#J`jNS7b%Id6&d=f~d1;zIOqX)3eK)Jp$H^OOWuqN}%j2Akvx@M65@ag~9qfl6 zCTdRp+(>HubL|%fQyI65zu) zh7{Y?Q^^UdKIYo1gZhK`x{ z#S&mmlMzb=ebxaoDp74nkHqgIJ55qt{4Y-iu1gkl1g^K=ud0{V#I;9~Z!6(k6(B2o zV`(U9TJSMroIl#CE7UODYlw_yUQx$yHU~$?WKU0DbPiua%FCb*WR!7ZtUG>4^*oOy zYNTWdijG@!87}z6ako8~&#pME_;L{{ea*H4g>Qb2tBoi=@A@C^gjU$Bha+7{yGD%L z6*RvPw;RjrK`UC?<+OS1noq@q)2ifcT#}htt*&YO;-X_FIpH% zqiZ*PmO}Y41+gN-5=goylegz5`e=rOZzSf!zVE3*UQulGZ}kXkUf^x2N9nnRyDo*s zm(SD^auZ$TJ(?3R=6h$&W&{yP1&be}UlohZ8i`4ON54myCC!D0^_(@g>QUyhQni+q zhrYiG*y5nv-Q7@V&bh9N7(^$e=jR_SKWm*u;2V(?oz1WxSSmVx-jg3$T%w0>Ic>|< zGYzf2)6;y3p=qr;QAc2%N*DcB(z4H8#OBigzFypDrCL-e^?{PY_4VNs>tVcB=&8MC z5yV*}4C@GyRZn!Go?`K6WYG9-1$WQbJQti2tgI0Rrju3d^*oL4Iab&|r3>;^n>vw1UG=OMmO>K#%0 zj#3)erQT*(>{nPZ=OKUQc^gOfa7R|OsSO;*YJ}apfW$w6yMIlJ8#X$j|1yDx^%94< z2AP~ObFA!U7~ZS6Pm!z>LtwUv;SyV>h-e_mL)_GoRvg)iUI1t09GWc%hdIvbit$1_ zd{-T524^W`kR*1J#~FXR(nXkk59{~6aVnPYd}jl5xgKvm&-atQms^%-JJA-UkNdCey7T+FPxN5VcQGBT09oJ;R zM3g4yCvUA3R*A1Wyh0FgZrZCD90C|gbps*KYyc1$_kXXBAQ`#PK!hcRdk6(6>f96C@JD1WcZdhT@sBUZ}}AcEz; z{L^I??9k-qxZyW|o5qkJS(tW6!!6Dt&Ze5e?_aaJ82g6mQR9j1BeutsF1)O5J!&T_vt|70p1&Zy*uw)Ea`> zH+&bArBlo4qCt3jfqTL4=WQ*u!?IxIZ9oy5Ax8UO`rdS`xnbFvsqJ}aqd^}-7z_kU zwqH{WDFFoTry6T|NLD>=03WN>@6VigGH#QyW9!7zE&*>LS&44eyNFg zdT2Yi-q~+|PY8Eopp#NsKiQS2aNVt3NW^9pZkSD!|49JQMw{aH`C(nb3~W^n?ug-o ztz0ICu;@gyru`GbNHK(XEB7O0xQtOd{1ng42;L649ZQ*ytw8wn1I4zG zqwoBwfuPP)cv#WY$^(?zMpWpVYvpt`59R_9<=bIjZ>ne;#=4OJui$TRp$G)^{w2_{gTI6xHmcCf9}SKfHL z0g1<-7eGUo6^Er~LD$Gk8G#gzimp69I-Sqqd4hsx%_BgH0A)?N5hcY>4MEzMSVG6g zJR=SFg)EkYwG;qPbF^wI8qkVe;Fidg?{m0YAVno0UI^~jk%@1B6p*UOHkr){{2xk? ne7A)FMpp2xKZu2p<$rM@m`=;6*VZ(b2=8^T8EBVj!o&UtVqgGo literal 85093 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 z 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

{E%vb90NonRxkEU~>85kJA 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�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

aj}KF+g85;le~Vkey;9I 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 s$hB_awI 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%0DUorSZ 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͂jcZQt`w0UlUteZR`ZRhzs&lG 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 diff --git a/Assets/Screenshots/Settings.png b/Assets/Screenshots/Settings.png index 117bf58b42c09aa954c6ece5c09fe88bcbd4e765..05fb99a0f9f3b7b4c384d52effa5e012e495b869 100644 GIT binary patch literal 65554 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

0c>ix(YCRAEpWs{;j{ZIpWr_v zdSa$##=u~cEKh?!7Pc9|h%?9i@v4g=5~0wiMNkOB(h0Lq5iEAv2*yyFd&cUsAl=aQ z?``7B-yRz%%dT_!Dv6o>akFboaIg5CGJuH`JsafH(=U1EdpgDahX{=Sb|?gdgkr0z zs;p)@ZiQ}Vf6wHD+DCmUpVgj`8Y^T!*TXj)^e@c~#ax-rRF4~NAOU+Bs@;9b3h98N z7I$2T=<~jzzb5yVZc?+!lhtc^M&HiPt7n)0T8WeVb^L_nC?ZCMg046=zP%!Hg z;du82ZG$mYRyc)fosJdRj4f2v2jyhf7$}od0o#Q+2I~;Dl2Lp_*AhD^a@acU*%i84;ksX%oHREYTD2Yt9NK zH9gSt$xSFSns9CKXeOP&s0O%(C|-lx8`+cb%swLr0{uikYeS`@7hd?0U*JiF{G4} zLO%!~31@(7I@Zd=GiiYf>#1W3mWfTV{W#mdsQV3=Sq@XBGz>ZPtgNL}lfk>_w1;z} zP7O2WuVjMu>Ol<*pbc`yjLgk7@tV5INiGo9{v>6kD3yx?vQbDARK@aT>cv?ouqUK@ zlNgZ)v0!h{haSK2Q-kP4@GV^$UDv+lb(aXUjR!q#$*zhFL7+!lv`?r}K1RCB#iPwO=Oo8hS} zt5)jtYOPR$wLbQ+ZzVFwwITz%eL8IE!?z(!z;et{LfM_VHOw?mAY1he??|vr>HJsC}jiMLo=M-8Cfv8sD$?xK~U>wrs*rbU}#))YE@G^c~%| z!@B}d^1(nZ(5fHU7Fi=(Gs3n(qdQ*uK)f}$FzXsyG8v@>xK!j{=pfhM9xPN6M^+Pt z6~HZMb6)s~1T12KasWwJ>HTSiW@#C4ca^?&_}B{9NjY+mft>j9kG!8|pd`J_cR1cA z`~+cT-M|Rl{#1<2GJL+9vw(PA3W0+}?9Z`t|3cvg$zBPrgaFk{R!5~2kb|Q$fOJW4 z2g*rQ%BGnLpTYMY=0_Y#t{fIXfFh~y`{s|1 zzo?4&%wy z3~-SIU_6qz4u}&IG&5FB+`?3N0JFnwGS5m_dRJOj|LxeMnN2wp>z8LxV4g}w&g%I(( zo9eErs*S90aIFkHL#7xI}!cD4{6ScHxy?vl+&OG4yQ}o z^jgV-DwW@VibWZbk({5}>c4n&w9d^G@A^7V{ayuFT}elR0+quLRlNf6*R@&MOpy^j z=YxP`oAuFcdNZ_D3KO_*9Yrk?z-*nt?{07ZEEtX4b1nd;6ft)DDvShrK3`!F)7}q$ ze^}e#@q6G2EzE$&Evq1V0Ks2y3@Pl#zrdjm7rHmA!5ch|g1~Ot4~8&jYbyTw4yev+ zkyTzDU+TdQalAoNO3EL+hh!fgIN3ij=08{~Fa$SBoe|e*y%)g?eYl|x7B|Wr$?|cM z@B8In%TXC`QnfQO%ZltIbU$qP^hF$PD+E1?dXD&IN#t)f0X___5+km!-TrKu?klrg9nTx<29hjf9B)MxJf3;GbCMy7Zd}89>&Q6F} zV%{KdvZ6Z!Zq)3^W%w*f84v+73hLEMTHf#NOy&`bgVE>yAM_V?wAJzD2l!tJz5PF! zFW3#dRx=3!MxrZ`>v^wiqowQh#k!)2`+AMx!(Mj-7{mU<(r_zWSn%o(3q`Ho1Ot2E zfz9b>xHbPF3p;ra)>6y7PwHm)ofP+O2`;NTp5R0RCODQ1Kw*6*U=Hjrf9P?yU?A{t zV{^0c#0>%ie_EFIupHTA<3?(50N@o%JmB!u5r+u4v3!t4ngxzmO|WKomQIBjl;r4? zUv$RQWoH<#$gGcj26r&?6cYl;5*r3dLp8c0uv5 z7*m!=yY-mO^Ive7nsR5m+1K#yNB97Cud@#A7Ou4b63f2;{r{Dudrs>30maGR(WO2< zAZi%mqhI}22^-ezTqhGvwj$4do+C-O@|3X^JTb4VYv*dp$y6TR>Df4o(eAe9S_AL~ z@5W#Y=V5$*Lv%ci_SD<|K@$o}sGU8A^!W=N*5k@EHw(bSi!>55>`3vzWD^@!M#B`{ zsLEdXpJo6m|-0naU?ogKG0cq}9&Qnq~zpRf7-FW4R~I?=(b$u$a8 ztg@s^zTK^GYAzh`Lj^gGX1-wNoLJzL)$Po=bkQlJoPYD_jl4G^!wdzsRE{}9+8iC# z?2x89j&&|XS-kBn=af8-3wP0g9eGOQYzltlH>M@lNcvtC3Co%EN{jumT4&|a{7?Et z3&})~P?L6_1*Va(F5ftFdgS;eg3|_mWe#fKvuc%I)Boj&|BLIYr6T{ob6wZ4Q0?ld zQ0nc7OXo&b5=Dv3JAo_62QutvJ#I$2a2KH@i0PRCKWU8Gw*`2f7?nD7*}p46&0I3{ zu#w-8$h)1DSPH}|nXKRl3t~j1q`q~M>suEPRq7iqQw?HNzB@0fkff#>nqIL96d=7& zm(K&A16NTQ3sy!K+6tv&hTrpo{;h`owT>w--m)N}NS9f!CbTh^T)(ROG5qfuItr?m zc@mmw&+jM?msK9p{g&`Dc$W32uxC}#P6uDm_~}JSMMBJL2LVu%+v{Ew6svxP^I~Q{ z6%i5{$Jt5Ayy%gVd`z8sO)s2t4Ky7B1Bg~E&OQ&otD!xrnV!uD+%fD&C!&=letuNI z*#nbW<~GAK;Kkb?^9T`r-(+ytBu9#s!^6(C7-viW>VKm*3fEGK(o=_%fcFk&rZe+e zVTED;kiYI*a!^;HUo;tt9u3iLJWG2cQVi#M2iMkT`PNc(5({HebTma|I;9=@B(f&>!hRYb` zR(j81LIhs96YfL{vJgO%6@9#{zsCrP^r@q;wa*K}KNL!ouXd;TkBu6CzS9?2Id?uFZ2xrh`7P_1USEl^ zGU>u#m{0LYExA&-DhNgT2IGSK_3;#H8Pu&uck(SMy0UOMrr7s{ zaBxVdXb=|(ilp-G)3R-WLJ(Ov#^8{P5F&PHvTgrcg7} zEzn9PWPixUjyztNAxB}pTD?hZ;`6_A+gU)%a1$q$*>(O$`68nu2>RGS;yL8n2tId} z{vV#s{_vKRcpz~97DLGRUT=#JRRDOi;?7?*?!Lyu{O}WU#TC@J_As{9LjlO#KOI}xjrfA|6U5ydieiN=Dd(SukgqS%>VrL3@={yfAK@CJUjsX zxl?dqpByd5u{ST2l9(A@%gg;=866OK_v8Mt41TAxP3e&0inI{gIBR{SHcUazePGk!OqJJ#E{D zrn;xtr=aJ6d;J!0DqqH1%{lb-rN;0Q6c+ns9vHmPsHR3oC%u~>qy##0bmO7;ctrq( z0C)AfMN$hJi}6%Bo&>rR$NIATiu|}sOD10D(XU*dk#D5msidbtt}`*}%?4oxeb+av zKxLzh;)s4Yi&f-YrxW4mNDN>c^nntk^N9l`&R9mmXbV14KN3X>+Y6ugAgY&t?L4cIjc{~7t!UL$FVgaCyIAFi?bAo5NU3IFI@D73#aaZ974pP56 zI4=F)U9>P(4ecf*zwlLS4^BOW$zxRXI?@@LW(xMtYl)C#KxQkl_ZCCBR@WvZ^V_n~ zbjToS-}g5J$rc_Wp&`H$h2vj%@bFSF#2Aj^pu9MtZikM?E8;~J1DDZz<+R0^MLUK_GD!cAckw)4t zG-Zi-7)Rucid_C=<%8 z6k8BxXWk@WIqPL&C^H>P?cfH6wJaHAm#Cs|1vOwoT9w|9z*Eq=jC@}$H5HJ`_6xGI z*wM}k{snkG@33(GQZOC7O@GrKRo_A33H6Aw83i{I2rNm>AOGbX_;Ow67Z93NK4zCSO2J?jZTE1bg)bEi3JCoh` zom1W~Np&o1L~)Wq#@zMJ32C)GjUB|Ov4EHP=xlL6J^{;mdpO`d^z->RaHBBGuNeVc zkn@-V%Gv)n7m&qDj+j45l8d3rF*YYsWCY=Ml7|6W2@PwJa(WzFo5RTV{E+uBm7VJr z;S-Fd1soTruD&woF-i-&sCr!S+mSzhG7NI6QA&gn-#O1{Gcwgl3UZQni6XQ!r`!m0 zcHu|lw88`8a^<)dK7#HqmRv`MF3Gr~*fzJMhh{xMC9_Fk)kJJDm?S3F{p;^x?DvlX zTvg0IXLquW8l~l=+|oz7L2V;_W1PrAaOx1UZ`>_pZ@tJsp^HSE>hApGhE#a72*Kjp z6l0@R|FvJb{;;6+w0F>5I>MMxslVO&zI0F`W7~3oAexD;r;xOa`BK<2D8h+xD!|wz zl6=I1b8ZhKXgqQ-T}Hl~<`a?CPUmf8669Eq=J!rbx zhW?M2Oz#QkZ78736F329xDOHc-^d+k8Ha<+N^5o9R|w+JgD1{{zpzNzu}XAAIgf|u zQ^YYa?gyEr);C)%A4LSPrPGj-a2K@MiHal~Mfm)x%4iYf?B8jxhsVFkS{2JqR$V*f z<3Y62dw}wBr_IK{RnR2mYj@vX3J=hC=N5xr%&%_PpAp zbVL81Ry<9Lp{KIa|1+D5c&8^=Pj5hC&=tZkBQ(RwZv4hmjY0EvM?=2yNoS)Oa6Gdj2$xn|-F@De!q(eU9(NxRK#AFY1~@_R+}y9g zeURt&vnJziX)PNQtisqC7T;YxU-Rz0=t(5;qOnzSi?Tod=}}RHI;q4WUNK-w!m#0# zTR8m*MF^j#apKjmJ=|=>-TX;&c!~yqpP9F&rIDR#d{h@}XnA^hL*Dp7|ESv!&O){O zEuIp{opSWR((QY!=2O7(>J>jT(%I-&h8__0SGBuCJ~w7_piF(Mvf#$r0$77v?oqBj z?V#Oieov(HCG>5j#X!$P9EPE8yjn*8VuZ`k7XRUVf@K4va(IcEjxbKxBQsjFfY{YD z&qu-OAj}BstaI6PqL=z41%6(LJ(LL`X@3;U2watMzz>UB`I| zB#vhJ+95EhMSq}tT)b(eujf%5!cnfL$nTs$e#&%fkJ3~wni+`vubl>0 zMgE!m+;ZHW5NeQlS0Pd$O+f$leA%-*ZCZi@(-d=$Qq$|pINpc*VSoOOt}q|x4!4o3 zGN4pKh~m&0+Ulsq6p{e(w``!griYmzNvktnt4t; zD`4qG1EuoOpSewX5q`c&xt9KHGahq*q?y%obar^(>hh-qGA04h=F}jm%0{&%9Bsgo z_aFabx3oT`2uw=Rt-pD`UiJ4!VV56zubsMWw%S&M^VSr7@74^29L?tVlsh`JiI;Ay zPta>q_XvBpW?Ds%AoJVt8N#K|r7o!Bipis^3!i)ZK#A4@Ir_Y1GvxEez{m388XUQO zsclW)_C<}Vt(Cbphm9ej&f%bc41U1!w9x$lhv!fV^K)7}yNbpir>MtcIH|Scc49|I z$D6nRxO|_>8BOpDgi$Q*o!eRdepoNXEd}hWo=4G<_HxDfom!%UgM(kN0eDoepT9@} z>}CJsXi;B2f89&~xbgq*<___IR_|+tClrW=8)EQB2z^jc`)Ks#4krzsFhbarpkfq*DS_}pQz zb{NTXLY*^Pnd5^dWB;~sNQ@QV#AM_sVNbQe{wl_9aVLYD)Vm{KT`Buxn6CWpF zmqFL$R548Ql(CUl;u-3c`d#7{NI2BO`M&yb-4cOxVrsfyjtFmsqbbov}wjVO5*KSQfe-X!fe=qakW1%y!j57O-tQO z3wz#(VHmg!N_`Ks_`r9y6KRj3qK=A!#2DvnQi{HF-8)`^Pt!8;%is?G&k9z9yH9R` zqV{-wJN!G=!!$9pBLuMC9S6>f?QYY27s>{yNalxH`vS2ZVp9j^VB95{{-E4| z)3?6;e@c7nsHnoPZFmY8njr_NAta~5RPWD^dr1MZHID2^N`$X+h+=CevxXtTw%1lco0qGiv@6a?Wy5!rrrI~@N z_hu_vT0cSK#5VWl`6RR44t~}M3mzJ~Kz)D8QF|JrwADj3b{(HY$)Z z{lcA2-2U{j+>~i|#Z%-LMblnEK<}%DoU~N&vY&ut`{N;5!*8DEF>9NNW|uhEU8^AB zM&jiyq+n7Oha6_P+|*YRH%xP-2xDJ1Y?oh%T*|A7CxN%we(S^=Nm?}@+4@w(&J453%yd0| z=0FnM{6cOlyFRqsI1lh# z?xsg-w^&>;r=%ZQx-vI>jCP3uYL{jZor8*}RZt_e{p64? zRBX+IXT6`+g(XVcxZU_RoZ)WIf^e>+0e?0nN67rzI8r0@Ke^`JB-tIyv;O{UV^!%a zgJv~Wg7T9qehq&UCpVhdUhN~SiiomMxgpBzVnex9Zi$tBrl%; z-%>zKl(ha!oXtWF@$dP`w&gxW+lf1}M(NG3L?n|E_oB)vSM6=Tjmb_(rF_$$-8f*& z{!aQ^%+A@Tlt+Wacz^~s@9`ObN)pFGA8SGLqTqouQuNlu>#rW z_TxB^@|WT7k-F(NEh@0??=Sc~DGO#ANH5DgUJ9ZEcbJG3*xP^ob(-kEVw*u@@%z!M ziZVGKQxUs6_UZ1VgSaPcYh5%}lcnBJUksui8R?wYQl!`TITe)PM#)A32^ zlaukx4lNgEGxNUg)OhmFJM-`1KX+eUe~9F9`Mz#x9X%Dik)?C@L;B^WZ%q}s)QxTA zH2Evkyot{{1Iv?n3xK=5ROq~Dzg*{G6rlb2&&MaP6*+i9lh2LVaTOcu#o9@3S>1z= za}KVDt}ZMad7D>1J^avx3C*V5YH)cPDEn0YSej$-t;+%4pdrPYxJs!#RPB(5_j|6%tefFPi>XI-kOAWc3EJlYtR>Q zqw&zQ;uOy8L$5gTAr)0va+AWorBKQ@q8H~k=_1_h{W4>o%83$>Tg>$Rp#bP%1fYkS z_fe{6Q%yOm%MzMh1PjJ=hp}v%N9we-U6Zz@w&xN`El6mP7!!MIU*IAILQ)N*)PA=8 zw^}}EM}DVBTus7>dlZBv3=QDh8`!s(k65$DK0Wk!_&nHMA*ZZu`m!ItwI#bfjVR?% zHACXu)a>UsOFcBK?>>h57Pp6A9V#9SvNyK0IPuJR@>Eqbq6n3d!2 z#u7VW`seQ)22CrvloR2foZ`-H*>w8HXkSN_>Ku!b{HNZ>QB&r;$|@lpYdKL0TB)dL z+I{QkUQ$2Gg0xP0`SN8&=j{U5axo;ugISbVELnG1DcX3C=a$CWv01xVMUXOYh?cYm zCTxIK&&zA#+3?Gwv6v^diX4-QE!kTXWozHEE66tI&5|N6fh8fXFykwaZxm~wldzY- zz#oQX2z~B+jrpVWI_fc(_7|TkpXkOI{X~XHFzlW#ZTw#E4LLmXFa0|RWHhOmI$b}) zvouTY9G_x@dK`OrCLUjw#W6FIQqQut;Om!vi}55pp!A=4w9B!ZS00aUhqhC0Wt_bN z+RvD4@wm@f4-gRF(o%v>u8{xA%Z~Lug{t-O9TePWVV1+NhqnDYppiVKJ>W6yV-jJm z`J~iYjR7C*$1kHh*=|hTR9285_ShG_YOTSqi{Ej>cfJH`8;I@p2Qb}PShGku{mJXF z`8>nRu2g;}{Nsi|}yf`Ev)M@16zd!J;GTbK7@*Vq`{G5Z9V)gyv z^vK8h(3$a}i4r}pwH*fGv;qztUL~T(4U7BK#48dnROlX&cDm4Oi)m=~E-tBQ>$$Uc z8#-w}ja-!ZID(qR@5c?E$$EY?y8Z5G7nSc}1>E0z`BGOnM|@VeY}f1F??OONDRKV5 zJ3Y~i=jUM`V{DM|sn2)5b6SvF74JS>`{F1G5xoj&;@-j|2(T8!M;6{Oz$v%5o(#%Z zmI(|bj}D04dR54Z0Ge-DH&t3Z37Il{@Wh0lCeu-}=tMnTL1|$yvGWAgIPR2+DSjS% z3y(jpM)+r0#FnKfno~bo;~ir=ZPMjK<|dPr%js%cYFw45rGfq_+6zJ-?Q4b1ZMCK* z>8Z7RJ-fxVr+zRW@2FI$6=+AF*rOSnYIhnI&Hgx1|GQAUEey@t8rsG;JO5NJHjPXB z-hJm8AN!z$C89*a^Iv5%5(aN<>EPep^c;A0J+&%W4IEAt*IcrR>~?9=j}5u=<$w@8 z^L`1Ykb4wE%sUp4rvI^R_<3ZlP$AD#ZCUnb6l0&nls(MeMJDo3imKFOip({B64vK@ zv9;3uG4S8kkL?y#T(k@fuDV^mGT?PImPmjutLTKVf`4JicwWdoznJ3n&&QMuJ*kFQ z3-uSVKhkJLMTr%=iRcl$=28Uma3mXkZPt5fnMed;T z++ploOn*LUVqjteRAX$OmL(AhLYrA?S9reNg^njNeZ$nR7|Kr=+b=`+N2VZV)0|Gb`|=e zih*Go(XOyh@KQt;TEV;1{`!+hCR>gNaf5Te3ll_($`(k{+_XjNRG-BN4?CtcJU~3o zHxo8j`^pl4D9;Itcrg6%RrGGZR;=47{LnK{v2m1db>;q|np*M2&>|N?( ziHml@edH;x1aH`)ztyOEXH?z$y5-bNx1m~{9Xa@|ZL#Selg=X`?5HtiTkCNpT@Te| z`GL=ybQ9NWvuY2#6m&#j_6lmXL2We5`u?P~w`WpD`Hr0DJxy>`eUB-5)lc_WZE>aaD~8GNixU@)$(roz`nS9E(G}8UwH8Ur;gamT{Gy{a$*J z^18^9B}3PoZS1Tz+?ZTlIUN5v?yhkZVNmy z`uFig)&Q38g}IBYaS=}X+*|kHz}G;PFT5U&2It|d@Np$}`h%m)|HSr)HrGXnVDTIhrdyexQ?3ZVk zT#uRX;}(YW$9uIE!74dxxzA~EN%}AP=LFm5A{%1*hF1pyIC$@VqaHmHdiFFrQ0eH? zx4EhUx53lgmVa}*1Xhh{^EMw1@7dU4MnO%68iz7?$#pCZoxNNiT*A>YS7^6|p5q<8HrY`5zm13AqYIX5Q!8MCQ8e%e28Y)tg}#p;#4NuxCt!KC zte~GX1ctZ^i3&U&CH@IID* zE_V82_Zk0H?@7Op5A3=XbSKhYIX@0@%Dk%u;S$S`(KX=z?e~p%B`7J0rA+k2Z)KIG z_*CrX{g09lW$Ntg)#z0-U-F5hWFm)$u^fVgBL0;~;2e#T%Hu`2?!MI5w6up&^iOtW z-k;VPHQ&`oR+Tc*I-!3yWw3Sf-!U9Fbw6Wm;y{AsS1@uKy`3_2g?q=KD$}&0i!flP zgk8%cfs8*I0Wst0LM+-Iy4z|$Bu^qpwc?lBnj!=R&81UkuW6ZnniQ=Kxq1J=jQPQW z{!LrNiuKHBZ6)Eac zZ|J=HxW$@bc1D2D%f?JCq!6hMu>OSVNSr?9x+u3k!Fe`VGQ3ad`mwLFPj){CfTz16 z)q>E;OY0uI?c)3nylbB4-&)?67dhniOW#Yu`nJ+|n%nBz%jK;GCv-a9yD?q=Cu`7> zvYyA=rd*Hv^V_XwSnTVyfHHS+13aA)^Vz}rAtsi-f%pvvf(P6|_4dOTq9_9m7o@(y zfw8cP#0;n!9KX7(L-x#b$?%Kcz!} zO2^mWuL@B)U2`0AI(=&PdYrD1ouX0(8AHo=0)ve9!v`#jR-g72xv?v(?lDS?FAl&K zRsYyPY+L6DBMkL&tSu%V!0u3rTa3Plb(V7COG(0}*s-CmeZ|0#UOaiECqIJU2kJe1 z`y98Y&PqI5x`nd) zE4x2X#avg@-SvDdH0&8KUsmpaLCp*fTRW`jvl|H0@(-D{<;IeRW%2$fNK|$MGb4Jc z3myDti3Iq`u3rD`1`b3nDUV;DoQ_`m zEEQzT?jWaR;Wl6;F)FStY~eNg=SDJDFyv`H&9*P5$>s3%SVkDw;GjMUyI#u1m^gMl zS8e5(v}|~M+buU7r!~ROpWz3iG0>-ZZ5T$wF}nc12y|y9l$LI>?BtRM59W})&la>P zRHoYdi}tD;Y|AY5S%m-0majJ}96!h*&82e~p$X-kd(`^o12fx&f4jxyGqxFW1`QFG zt@WIm!~&9C!PAbJ+zNB>y)MLTU5%=|W9Ihq06QDA!7Qf?qnkcOS5&S$%tP*^My!>3 zEAY41vvK=+sfr8AuVusWF@tf9_BeSEhTb3cxJkm|$fmfKVw7Xi>)?MZ!AcB=B3xK?RfdDnHx%zItw zfj2c*TtW9~L__!|5nts%1SCb4st z+dM;KSX=ZO*!VNDRK70V`(XB^@b9@>?&YIinvV;o=82bE@Xo}6@b!Y0Kuv<-Tk{WrVSz(xxBnX&^v*2M zC(!%*@(34ige3yDq9f}qN6tG(eI8a&`(8&UItfejEsOgcz|XiU^FPQ3P>)UEBa@|7 zBAfF@Oa5>KtsGDGhV*T3wu|?kVM!%Z_A%7Pa#5Y5)lnj3_k1g1w?JRS!dmTP+vB-C+saZYiolM)wAyY*q{e&DiGvcEhP zyL_liO!wPvX?5&H%laZ>;IaB(I>Hjuu_Jmh`)`YH8p8;E{zxW2H^Qff(=&&nb;lEC z;sq>%!$MXx)O{_Uh#W%21hC>E7r_G2dtF&w`NWui^hAZKSB zFB^uwj0>JuT57&FJp2)8FkJumr_p=;s+`*6rf{S8WbZjFtJ*7nuS&QF`-i*|52;`A zQV1ctA-VJ?K6AU3|I5~+mq#)CEv?g9|LweZtlLv+4#n=?-e{*c9j*FNcd)|9^e8vOHwZBhM<)lT5y1L|vX4rgEd#A|%!Dm7I#y#+fnMez|3;NEyBfPk^)LP1J7IwQ<$%^ z*gY1eni$`-TU=|_o$@+Ot=sdj9QMs`ToU4~WX<#n-nw1vCh%~Xeh zo|Ek)BR^y=>|Ei?`1m%^bSr>&b_(`Q31|E2IAh7#kgV0yXjpuvo#e)PUxO8Jvce#I zV`0=O@Z0R-HLgb^c*&O%A*{!bRc?lTEYsY$&B&**l$ASd`@3vE9=X2R=YL1D#(Dlk zE;TaHX7bwr-RD!`MYS{)qX)qWZBESlj()4-2Ep6u~14jaBHfS71{75p-FnoB^gv3R+q#2w+0_KYh+DOTf(IAc8XU)csMKJz9llA%(kIT9tMujuwC8KIX z1&hJb&s&O&?h%HH6lz!bwRWUxwOk(87KD&p8HEa4qkX;LirV}$+*axY-E>8YTfh2O z1tNn?I&`PDAOuxn=c!SvlY zv~mT{Qr)P-4iZJ6kG>)+`Zb+k%w1S1Dby~wINVB&pxeK5LQ`vKt(c%y!gHwW zZ0LUTiQzi(gAY9!@f$OWufgjN@imn7f~6QOwT@P)5hO{Uv9p?W>Yc2QAR$ci_8cs*s(k zS0GoKGrm3pwRuz4mq)^@t|Fg+e!1gzJFK^sh>tmWFLu5P;fRiIx)+aaPEzruSZ^zD3RzF-L;Vo<}WYK8a)*9@+g#;IV=%BfRY3tgcdV6puyQy4#+?{CC}NqQ%So|6OtNbmvyK| zvSgRNWV0N%2UgX`n%u9iG~TVpFt#3ao$84Dk;|4O{SkkqI9oeWF68u7Z#cqb#@a70 z;p0lVr>Vi4Rd35GZ^f6_z3yhNtktzvMa)#O##c7w28po7({hZw^`#x59sd^{G}K(E zF!$Rcnd|;M_AA`~p?`gtt14VKS3XY8Z==8WXA1+$o`l;|2>4WZ`yxF6pDXtl-^>(K zR1}#r+Fq}pBdd+0t>vz8}$nJlLuq=W4B&w`>p$O`!?TiI+l<+?PJOh+aRAf zs8&j~^V%60Xsm1uJ5UIEzjb;!&lJ=+;xv4e>n)6jv(`+iA|~!mP$DMSV+k4+AuJnC zh^#9wW8iLA+(hJ=V+q6RTo6F!h6f@CMfiVoo#u@t{OSAzJbY^>PlFpEqQ{LzjqK%_ z1AwG(ZJ96ZLE;HK>IB!H@#@@=UZgtVM+tmQv_)UWOvYHoLdL|u(W7>2u%2t{z4Y8k z)tM?CpdG|~;2J}RGksat;`a7?_2=9OlZ5>PbJ!O&EC=Re0;7n>CXrlGoB!GAM|L%8 zlVP9!`*%)A81NLr%=wovSFT7Jt|hDW22)kwUGFFblM2U|z6vu5aEuTdf&BR#P661e zqpxGEdrObw2o;35M{T9Q3bIi2U7J|34*C80{D)E<5X4f`70f^jx6{lZ$!^zyvInLl z&)_H3#c;RRPwR?DxWroQ)j)!gNnGNaDhN?l?AuRjXvhfl|m6ZX!JDVZoTKqA6Ax zQ~!!BgN04)H`kpXq+-E%kKjlxsj^N!HMum|m5{nn*V{PwfY8c%!Adqa1_?n};_n$U&1 zNG@_$Ft1Ga60|w!eWZa^FtU@S&kHeQvk2zGyt@fYeE6P=uo_+fXVsD-3D%vLJSJ&1 z^KbPi^C;eOTyR}j?;Ii9WUS04n&qDsnyzL3KoTVvMZK;xAWFu;q$sW^c{aRlt^h>L z*3_S}?YQllQ{FK9_78q!91{-?gpY;WZQ9qz$u}n-oK2ZPXWu;a7;x=YuVAh^3P#t8 zdtkX}tQmCF2(PI2Q4m#fL5M~Qm)HjsgoS08VpHf{(|a6L8#9`BNzrco8F^G5eW?s5k|Uc$W;oVTA>;Dbv4k7M`zYu1N$D>n`Ml7&!1 zsBpi((t8t0lj#a~ae$D{qro#=OVK2y27BkQdvh!Y$^meV zllFUoP1D>!&EQZW{0dYDmYM`8#&rz@EL=kPV?M-U!3gJBRy1bR3-Z$+Yl+)kBSRBs zF;x$vg-4n>PwaF0WC(t;zn@ULiekAVhO#9cXP33i$IY)Hu{Lu^Du zIyjM(i&M;c9s z0ED|C%h5|AzTgHn%%R8pH+!CWDIyO!&=ka7sCp!c$nm8~l(I4(#DXoyt%-B=HbTq` zAyzGm5BA35l!r(gwh1B!+KY|;L4=SX0tb>z0~SZo5_LaZA5JUKV4ec(py;pTEn>}abZ{z-0Nl7NuUMsoG>DTh0rJvM0F39cIG@Xb(d>kWU>PcZg+U?|%0K)o zh#e8HcQCqaa%7FN8WD3s3=WTQPe47!3HDP) zs$g2~S;Vk@;*O+QY+ABha*6{T$`c;zKu$71knm8Wc^cJlGnVO|WAHnYYu5A@YFzp? zvenVJ4n|pUGKsI+N;LDOZerYBKDTsSf-bR0fgBAP7|Z$z$Qj}49QvRMqK0LjdD}D? z#&YyN8Hxv)$1vMbgHE`B;9lTYaYsDUc_#lF> zlW@ri=$-9?R`Vvtc-iw&v z5@UwC$aBRG+SLIfJ@EqpCH zkOk~OIyYs_WXq&5Js}q%Cy0RRpj@OfZjuq)V0W^2545R<2jTE~)$=LkWuYajT|-rFms^nYU)Zd2C|CnuY{-Fzm1SOp24w9Q0vB zU}P1MCFlmhQ<^Ftw&g#{S_}R`JRggnVkAg*^wyxcAVYFo5Dnm$7eW^`5G;@PBRaux zhWR4z!qzBSw3t2oh;^H~RO!QC7to_Ahyj@4jAsppdBvaxRb{>;IvlK}Ul&vdJCU^s zL-TJEFWcd?lZkfnG5nArMl0AaNCYeOwP@nBN&=M|jfYxwyE(DUm905mIKXA|G7l^~ zEY`>Y!WEGjW?AW6e!GhQZjdsuN^e zg`jq}YU%?BKbV!&OMJrP;9GvB8jU?1S`U=_icxiL^a6_?o=0UwY3EC zfd@y=mu5mliRWQWfAgBmg8x_af?rSj{8i8o(4jbiTo<%oNM2o%1e=eacT9#|Q4ME9 zlJjusi?ciDF*q}^PHQlW`8I+UUMs5guYn@x^M`;^gzN{SOmal#pKyR1m*%rN+W%0$ zK5V8SD8oUoK}6$3)tLMtz>jrrDd2U(#Kwt4*M$LAxaLRHpp1u+)bmIX?n8V@fa^%n zSVOdUJ}bWP@A5@ppQm)DET&MP`9W(C4>{B$tgtp3pAC6G14<^kE&$P><`VmIMUYU5 zrk23o4`=ozxfD5%r30|jp|I#941fb_L@%J3vt2exgswu$?LJZ{-f%L=t~Y=}atYfE-O+XZsdk7_J3( z%q{}idSES~TAlevp_&Ml*miS}mDu5UXa~dD_eCWZGLQz?3^9F!RLcu|UlSsa`czYc z4l%_P#Z;nmner(P#c@--Vs(5fVyc{4MT7)pet0hq2N3;YW9fWEW6_}z$WaB1VItH) z#Q?%6YQ(ZPfulrxpeV>~OI$ocnF}g%6;l!Qg9;7L#nHcO5K-nK4oYn8RkTY^1+H({ zc4T?4UERMFw1HptXcj4yl;M3CAt?PdruJsexyyb5B4R+EeMFeuvzUnay}21>k1zy-~a^?G>fFq#Xx zih`|C$=m9v!o38rNTi-@U2Vi)Pk#O7Po|z1r6hVrM1QVH;R|j7y}ZeT`U!h8MO(T~ z>~lW?^%$&qmpMzz9=jCIuZkA%PqYQ)dboMYljdIH2S_~^cGqkx>Am(sSYnUTI}nBf zuSMvV=fS*5f*Ic@^Jy2S6sZtIz(x6wkup-!Tit(s*NE#&G6C?*3p*`=V01qD zL3SPyQfYAUTPXW{5>9j`2onqfoGl}T>!Yk~Bm+QCVX>$4e~0;Sprd&|Y(74W8Ui9M zg_C?qAlPPt3rU!w$k5Kzf@* z!EBGgg|8@bT>nMfcB~yVA@mMFqj}`$AX22|FIs#80c4-w zO0#S@YDmFPVz1iC4cPwE866oz_oZIwBw+i2C@3NoyO97a#r#%^YB@Y9xCtn}Er8K@ z*iJP-c|;B&1XWD=Eg%K-S)Z4Is>w&KAmvS9;@OXnaPb@1n(LY2jsUIkJV&zw=d!?& z#BO6cn@pmV1kQTPpNbG@Q?Y*#;4(ZefD~K|vPJW9!k0UAFC1w};E7j!q7@%@4_u1J z7W635_N(V#zlurR+zsp6HG4Vm(-h+U(w6cLXY6HO#|0X*}8*N@>g z)xp&e^hp{8z98}&CB*^Y_cv+4RFFS$3s~Td%R*@|3SD@=eiBk9noa|t6d~7Wx{P}J z(&vXaL025|HOTsR*qIptrs6lB#lfakChx zM2)9+!>bnO%sEj*SD2eFhSa=FCE)?h;KRve@$$f~;{!uJ=#8%8>G2MLFV!B_@C7E^ zpx~hb^rt&3J4I!IO*oDBE|UT;k-4+BbikEtnk&nJ|Cc}KBxdjDs=>`Ed4PN$NLyW3 Ktx^RO{{H~=iaTro literal 104175 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 `Go`owVD<%`SQsTxe5khw9W7iSN zBHAJ;EitoUdQ165(*z|HwQ=M`44E_7R@H5&@OyJS-%&R{;FXpt-=~a=#vBdxm%{c= znb_!srpj5)ts2}^IKi#o&yFeZbf>*U8`6r)8@4nW|mEr7*D6I9mLCyuQ65uu-VHd@Rd&=?zN4o z<;-b_Q%E)FuO633;WY<+mD6j7G#yx{MEZlZ*kbw3P9_G&S+0C8ptpP=Kw1Czxi7JI zy-eq0W}k{S;Ojy)FiWB7N!Of8j(VX7s{*`qe<9thx2EOEEvlWEs?G?;kS`{haIS-N zS;?|Ovp?Tj&;hblMX?Q{)$fyuOSl-Gz3j+NO>#8F;uy>@diyRkWUk)&2fPxsm7}Gu zX?M?tUpdZs`qNR*bw<@F^#7yjy#J|w|397-^)^nWvK>+sWpBqhq*9TiRLIPhy&aBo zNZA}B^KdGa?7febaqJ^|Z^s_z9P4ln-}Cw5`xm^f+x5D}bKD<~YiZ5opO9nT6h+FF zy6;G~Yd#Km@c!y#smfkGVRvuB*Usie8=GliEkLJy8Pb-Br6Oy<5~cD;F>fG_i?ISG>V2 z*>E@Mf$_+a&MAIxKl}Gkxc@ufQ3l;WA-A}FAO0rw{B*}hv->%Y;btHiuOFk0vkl}F z3;0TIAFMe8fIe^not9nDGKJoKR_R}#BQrKLZ2?G_zMPL(6{Ld7nL3?K8o{+1k4!q; z{p&{-bzCmIlYp+P^e3=BX0W|dIFTD&2VP&E*o1Z}_uD(YR*)1GNoUSVpJvQ>0r;LB zxX3#j{!2Tlo&Ru(;}E>-2A}0^IDE$JwCENMIGjZy@An)UA8t+qF(-eM7no;`YDFX{ zG7=X=CBw0CotR{Pq2eq4foMr=-(%$ZxwoLxg}A(#qanaGE%rBIDEDF224crmDEIl8v_|>NdaF2JYI$_-u~dsH<{~C{u(R z$Vw1h8_DzyWfNesPwGx{@5F@yWhm-y9s-HNDfu%mE@jR{bZKj{3irZyiem*! z2wO{%2mf(xEA(uYk4v;Kj=L7Mf_`=8F7P?L|ilT4v zc;1hml94rzBe;Fc*;DM?$Cwh^-n0mqltQcD$QxY*;YmZ6g?M1y2nN&{1s@}Ca(l}8 zp3DgZ zG}Xi5#pUOX6aJsUJgC^m|K8Guqnh77!_546+x?Fuc$W22e=inCFP!b_{+P%s?6UX( z97h=6%&R|W`zyM=06I6;#CHM2V#iU|9Iv*!9{fm8O5m=et|_lMwJXM*#-`YgI;#h^ zfZjW*l)(+-i!Q)7wwV|3;8QwKI(h2C@mabvCW>1*y|L!pEd!EcLcvQao^>ZWsQ+|svMBYXsZ|@7e0Ce_1!=0mD%Xjg4ms|3j_ifQiO+KHg4BR;DveTTum* zl`CV5iZ0wq25ba8hLcPtT!@WH9y{Eg!~hkhZeSV@cuP(<$&0)FrAG_12(`jm5-9?n z!u$wP_&LziOM3iu>}Ptlq?K&IhPy{z zX{Fw8!G4D;q)3?tpT}i2yqyBVc0^Knx-HEYv z>9}_E{6Jiw4ks+bWqB{;O}0R~vT~sb$YZhbh&O!2(8hx{+Zab@8_ymKqJHHWM|xWs5m z-Q|9@iqaC(<97CpIwE>Xr-hhn&;aTKlcQ}J9URY<`B`veR&JO3o!Vp((b^K>WW~&B zC))*{bd%dQq@|!`kx;hSnJLFvuCb>6!=P_F!JpWpnJ+4^SNqm)nD&OX^PL$gOV1vU zR4KS-T}ijY?b4aw@(5Zg9&WoZ{M+?;`-)kOI9F7Bth7FOLKPhzJ>F;MU z`C%%|?(Au%6FWit0$jmDW9Aatqbu?#bF@(iv4d*7LSNk+MS(P4tL5AqbmjH+#*-OH z2SC6DrEh?dDS5KQ6d$ELU?5^nxFl_7T^vV;{#coio0bQg;~a{}jY2NO+N9+?_M-bq zEc~&}=2NWOo7Risg!ToH>islTQ4(?~ib45_>?3m1t}x6_3hAed^_WI01+Lh`*NEY+ zTU?Q4$r9n;InOMnJX*pQe^Fx2BWPbroTH(-n-@p%H8nm2G2DuEL8G#vIN9f5V$E1v z8Y{Dm?J&qk!xkBp6_qYLNky1y9#8ObOzRt+t;Hfq-{YBEkM_7ZQf;G|^aOfts8S-s z29Y8KNZqK5>CR2=9ZF0X7{U;etoGNrM&eodq}}tt!f+5`^u`B47=pE zdJa`(*n43`58}5&i(87MpE;fad&9w+KA9FDbSyP{c=;abfR)+n7cf{!=N8J%cC2Bo zlSWTBpzT3V)cc)JaTPrL-GF4t@EUTb8jV|(*4G0-IUCk1Jt1=w=UZR{PkBkAr-OL8 z5@m;X=AJTkE6qoRVU%WKi1tz*KfjOV6_ot%9mCbcR7P*iyL+NQHB14?Iz|w(Aa!VxU1wh#>#>mP7 z5{KXX1ta?_k1(>2hg{+Vqq(9x{W{$C+{hz%t^;MIw(qhMh`o{*dX_6oWuwAcBlPPR75(}!#zB23mCV($7z8|;+ubPI-X5zxJFeqlKG_-ix37T?nWjE zif0tbTOu%2M@nN;<&1KoSeVA31|Ngqj!NOw} z9%|A9Xe(*C-mZOUCv>AI%Gjk=2tn1Fx#CC~W*`ME5r(!CgstmWWjP6#Fl)!;4^7Fy z3C=t-3fj*S*?JIYMf@@t+gkezmXNHC7iXBduvBkK{tx$n!ksFb>Gy*>U^w?p^Q3BY z@?jWT%pC-6poTc04``Ez$x2CvS`8cFVF)$27JU*v=tRoV>G$$cuMac zw&yBsE{O{8$r%3c3lkgAv3or8{!t(0BDVJZQO9|CN4e=!mp(wR?Ywa%gzTp`_0*#z zQV?6W-UNP~te!9^c~@iyhcse zATwZ@FROUwQ*KS-wry=$2}18f!Xwz&=UKkD81VUfp?gHa^Qc_-Xr-s5R7PfROBuua z9oezWbcs$RBc&7x?p7Nr|7Tcb`5w&3-mF zPFDiqXlO5xyN-{Q8S7r6jP&Dmlvv5AmjLetL%M*M{QcnIFw&jVnwq4O^yHJ8G1Rj5 zYE~+4rHJy7N(=*EN4eAr6M!@Pb(J74%<&ke4HLMx$d+mFlz^w7Xg1q*GW_Pfq~v0dqK%9EFy|5JtmYm?_nV#+Vc(G!B{!*6 zAsY1HSXQA%eaXP{Au87Dx(ltXvWEP62R+}@U32Y_8++>H$@9|$HmvyVX5o6`a(juS zFX#lPAU`|{UwcQIotdAGDI{|)rq$u6<)#Dd;0eMTU6BxMNs z*S?zHGnP|KBItL92*a}EMWJGp%jAD>dBJXUc;_rc&^Ci3kR;D}e67YR&vjW3c)Sz^ zKr1UVI|i|vr+F4uG>w8u0PJa3^+`k6!Xk!BHbjoJ`;C8+xwD-BEP2eLM zkA}=!bMI&pWzSZ_NW&p!v|h5fB0?Cv*9?iQA~373EXOoqYg&568HI&e(v>8!)W7Xv zlz9DK^Hf7Z_tZMJNeXz0PvO`N-antk&duLibP+-O&Mz&Byt^7vZ&e}+;rCnSrpMhs zk)cZ=!Eljt+zW>nk5uNItENXfnp$m?48iI!lTx-&vpAmCJc|G`sOp z#)_sKc9}I*5y2?3u%dMbEVpcyiyS;vlCipP$BO5Sb}sDjMh-W~G!UMh%8i6@$$8JA zF{O*&3`CNu7i&(pS*!pmr_JLj!ao82q}y6bFHRGUzRohRRFD^IO+Hyw7zO3!Hp1Ys-3K zDGuo(5L)9IGr;NGmI*Z_Z4u2gV6J|)TZp*jy2g`SdV+y04~DO5BDqi?(ocNsTOy+)3f=j#P)E(sxVqBH^o)K-wU7E{T-zWGo=qO^>L6~vmFUB(SU*#G z)8hFbN9&6w^Rs<(9F*D$m8+el_RdD<71nON^No zU;IjO{H#s#WE={`It&cD)28kCBu7%=Io>B+GRVzBh{|EgNtDvIwBtDeOOVsC(r>C? zVWU+OH->tfeB#xRwP-IocxiTN#%&c?dLq%n)iHA{^l=NiCtzor zM$uG-)4mvgDqp^cY)Sh?xkq{IE){sNBF+%@jWMo?i;(rV*FMPUu>qX z@AzY>ZOQH4inM2-5@%y_Zv3aOGyAfgri_}zCX%v-Z~rQZa7hp= zK{Lz5V1*nPsr|~C3SLY1u6A?v#L%jJkI;rGLY|iwvGP_FO`{rQ>CZ&EZ%aMd_5RYN zF{i25zfT_lXGGan=f8k63MIGGLHm|KXVEQ*US5XwiTaaZ>bK>I-<3;G3U{-~$NFXd zgKsvvr%Jl>HvOd_qrvhPg>ED2v6%fo(#4}=bXgpu33kzeaizMW^?cNHeT+cb`VkIK zY2imHMPE*i<4!ng{lv!-TjaCCf)t^PiuuyFddu5+KUhBt9Dc7aN$=@HGk;Eube`(C zCkWsKdk>y`QyWiZSIz+X7&oR&d_dKT` zF0kLx5aQH4n``a_+#oS%>S7m`7AE;rV@i6MqnQIL;zem`;>ujRH zw>^;V?^$;s&;!RUB);LbY`fR(DZ%Uy6A*};uJgf_wvoxdwtw}Sz?mN1??7|8E*fRG zS)~I}Wqr!xi)8LZYQMwG(_Ldm7D~HD1H9qxnIArlh!JmRz6A+~J(M@Mb{~rq&m^`9 zYZ5;7e5UPUy(yj@*uSzod3alzXY{A@JFq3->xHm5lH-@wTc`j5`1M2EjBwxCmUJuF zY4yPRjc#5w#1UD(OP+oT+C2=#k$kUv; zHsJ0N|DcpDvvU}=W~DA^rZAtmwW0 zir)ykG^qfUqW7iAi?>;a;f@cQ9*!{aN{2Hi=MS61PxFX`D(sz5&sfhgBJA7L~dvEfDlJ3ESm9$pWLNf zFA(@TIh9ath~Tog}n~w=stc=q)>S2 z-5*~fmy=|Fu(TM{c!>y9*ZI*I7=c@ty}Fh&b4lky+UL1X4+!6`+{m74=g~ZQImOmv z`^a{%q((^5YI;|IYwV|3-UhDu0p6TtX~U|YZoWX;uu)A9X%G31F*mj|^VlS8YDC6{ z0Cd!<_Ze_00_eVJP&n?{MKu|JxS-|JUi=E->#bP=iY}U5(w;uCyxn;5Tq4Vf8zR@~ zMZ=xq+pbJL1jpVJl1Nb1MRvXg+4Ge54^LNh5j&Z)SCv3MdoSK(aCk~{lBJmUm%;&* z2xhAnP2a=Nj4D+7j?AaT?^mH`pD98(3Wbe9m&B|Uporw)+(qvgnk^Fuqh~%VFW3;R z9&FJqN=I37epvQ&T zWD$e#lHPRKvxSm)?Eo5Yz~A&)pSd?_niTzxno5dvE?~+?pkA(`ecKZ9bUAG1wmK#`2KhFZPmUVjE1~KAA)-MK1dKc(1IS`Y6V&3 zU|GmsYccym$*9V=FfK-wqdMlf(8rG}+fi$4s)%pdTYa_K%x#E!UHv!eY~0^K2EC)6sT zgjigY>V{*laY*lz103y&8Y#L=jkT)M_68S|j9naN1m;>^T_G~XE0A)S+1$tHR_*s3 z$xZQ|U*;??MCAGI^t?%DR#BolbPPOgNQB?U^h)$3|J4G-w)O=sx&|)E9SKl&e^C35 zu;0fTyrJZ+b1vr&21#Fo17Xd4osC%E6oc!24j`mlCpLV?u#e3Q*S>u$CF=P(pot@! zU^W_M$KC!2kIex-nmt-=<{xWRgv=e*JZWz)nXTW617qrPAR7=Mvjhc`FoAfVMqWZ{hSDv=x<>`Dvy9ayWXV~9PHZ}5q?o1rQjX>`=VWh_~(OMF6 z9cfwFB1_GgITfx!l(}OoO?qts+!sty9}}|rhx7R{f6WvDq@SfM;UjSb4mZjZ1JZGU``_PT@*uXMmY2^T-K z4(10!1^4a%REqa4Ej^qlZ98&!BsJ=jA#|a5I2cehDf!Xvc0L zM4O9~f282k#(^QE%^d<}h>XMz!UOK~sF|lzJ|}AQ0PwIq%FOF=yEZ)5SI~SNIb)OD zhM`h87l4gqW*+3ipjhChK9Xa_)X#kp=X$?bL739@pK?!n<6VX2o$F49$cdM*1nmq_ z!wu`{xj8PB+B&tFE*GclE}|Jx1h$Dan3d0MfoU0@fIj7G;y0JO>uV66WJ@r5$ZqEI zVFx&D1Mfh`6(~+A8)>f0!Fv+GpZHTL_6hpT9XwKJxtesZBz(%~lI!VUe($ejr)cv) zeAr^?is?wSG@8?M#BZK@v4r?>rS*(zj)@#Kr~OcJY+2*5a>APfsk2CLQ*ePF4(@3K1P_p@U-)X!CJH&*H>@J{`As{TO;Jr5N!9|}FINmane|7bSRkI~ zG}AkeJ+EcdoyD4DaS{TKtcd+t6wYhDz({?P=+70~z$03aa-u@jJ>_aM?Bj))bBYYB zl)C@^cXvTvKblM^x}a8asORLbWX_5kPn$U@CNoNIC>`7+bJ&ybuBdE z^%}xj#!YTKy3eCf((XG;5o41U!UYX}^O?%7J_o)|8M+PqxF0#o7o#=a4`_(vyO`17iFLie<=)?#(Z6TZ%Q~;5 zPZYV9e)UV4^!SpSmy51qHM8qtB4AG~Xn21Se#wz`yx;o_stUo?(&J+`#q;pMNP~;N zBk5uFT7r0Bwdlo#K?CNnrg?opgTKX(u%>Tey9J9Q(!~&ut;VqZI|zsEdDCn~&Wj7~ zUvl_r6xtQTc>0O|q#H!V_xf@yTd$@kI1~Vg5e(mx6JsJIMI}dpjVd>Rq?3LOLgFlc z*M=>$O5tXYQDRA0dX@j%B`6bJjmol6W{wrc&=3!j?xT}2Q5_V4RL+%5q#1eg9Gol8 z}ns5ZzEWcIpvl4QD}zQo9qW+CAs&b$w6TXs4X zmsxeRJ(k$Wm5Ol-&zO9&Fi)MrMcRTIo0{3~{KMzhmE*Ja ze;4VRZEa`yu#NzDV*-gfn{ z&@6pFz2v=ECN%EnVlU-l@8z_fdaZHHXMflLr|5cOI|V2A(u-l(J8qqKlI6_D7d~ok z`U|o}_G}r6iFz@lH9}Uy1ac-9LM*)_v@SPDb@>d)bK}zTyTW$K+(M(X9 zh>n1iIP|oHW<_{&O-w4==Wq}&^Q*#Atq@W$x_0BeChd@T#q)!AR$Ik%`LQo(Ud}qR4N;pK9kZ2Z$6Dj!RShTZx6RKq5;Dq(I{l0~>fq+^QM z%!^|U6i*ErNMEydEp#soqq+Xa38Zv{QHuk1-^sE+-2|PLgnx*sb&3>2iH-ozca< zToCj)>ZT&6tJw{uFF+ZrJVZ{#bybh7Ltz=6NOPYes5y!4NyW47{l*EYt5~-xUg%RgTcBglRmHLpPSWlOjksUuLvJ>2;b+YaIjktz zF$OMYUTAls(TkW2prb8fNxQLcZL|Xtuw14 zMPG8cMUIh~;0vQnidt6v$;FG4uC#v}EQ&~L%Xx931j*aXS_$D{Kp!3jFTG(SRY$SV zhQ;+LjQk_5S?P{WCZ=my$gCb_ax-VX5^a7=(3&>C7c+YAn_>m09-Lw8joI!x-?)YD z%LOs}-xkLg$aI7^f{}yzdN1>kTBYQ;s9d5%`xZ!f{+IF4xvQ~iH{k^`mzmHOGpN`| z=@oH3UV1Jua(>*~%B8QH+6*h@(Bkusb$x)&_8(z{z^7QKX>$X2$W~-w04_~`lz?HG zq1Vm#3#j73+KcH`Gdz+tq%MN&6*B1!1A;Z&j@s(F-b3Elv&$wiG*8!6$u~Z3`VUgF zMLb$YQUK{C2Lzy0EzxndXV%K^z8QI1(uDwZ0ejx!++YYxN$|XIa#nVDC&=iv!6Y1Y_9sdoi zmyrsc9yUwDJUw#+zQX<~vwYg9XAqD%&G|D6AYXZD89@8arB~SX8^n~U-zPbLMmUD- z>orO_yLwJE*fRsxa~;^lO)PG)6RcOjc8AfC{6QhJsZcir%17SWc6b5Gk9 znFL|iodRmqpo4E0tu>d=b+kKvem7PTQmU~b*qss#V|AK>&!ISys#RS2ex`xKbMOQem0&!Sn2tcFjOgMdf*e@$B%mXKF_Odjdn1n?iv) zm-vFV&^`LJp(liRgRMb0f3zVd<}UR4^HQ^jJZg`tmaoE$-G>o9LoCf0<0b0|@CB zKXNY?^>@0eFYdEC*Nl1j6p0fPbN9i6c+ADFK;-zT9luMX$B!)C3KquZbdqw3_vZDO zR?~Z{ld8HRv+8J7pHIsy>yLRR`s5sP7|C3J>Xtp@e^pA)ZaZe?ZI^$>{cM zPnPpO9tNIBzf#$Il!8?X2lyfC9)hz$x##N_TK-A50vd)JO05L(N*&!_k6sFeipArT zb-s2-F?*Cgk2BR10Xm2^p=NEGB?Yg)=NF#aD|pmcj=Bo*`8k{vj$#@PtJM>&D-ex3 z%Mtg^ngOMZDEyTJ3}cpu(zj3!`|<6Gj~l-{v5|gjUaVt7eRZ0xyUx6&*khIE{}M2a z@{uZ_g?c$IWQ=HC55C1EvwVXf#U0;aN?Hgo~4=#sy0 zs}?nW5VmLHE=w4eR}FHx=b@dnG87yPF#pxb9N~Yk8T{!J|B=h|6BFeEW7B$-IK7(y z(ks!tgwAg|rl~kjrVOs~5NYVfAZXwfV7X+nLk@WRgi6N8qtPaI%*#@Gu3e5|dRkrm z7Ld_$HNyFC=8cFHsrL{0MV7K%^25p_-(<`_QX0&Sn#eYc3xg$U82v0e`MT0mwUJY* z6n@Y3lg@EfZ<@C4Q@m{gq-_xjf zccYQ-^7;c+U_K8I80K)psZXbkqk}btmu~#cyp*)_yd&!Rvc|)z9ZEur2W(!wgeq6A zhY+ci7h-1i;S?^nV)lyMjuxZbvU>WrOv%|Ey74x0qBX_P(LAf6XYf=b!+x-H4!Qol z+A;0;-iS^aIvDm`JH1@ZAvI9v<*bYdU~6FB=hhS<=o@YT|R(=X%$mN(H*H0FZRj!vdyWKhYnQI*5K*3V97#bIi8X zp~>0fmTK7V-_JJrwK(_JlU?HHin7(ZroiuKd0s>DHq?Qsa)-hDruQ&jiGy*Ou%Re; z+S{6+zf714LP{o@Wik_>gU|EiqAN^9!6d!Pfp-xTkVxs}_=flOxq!}l##=ABpBJs< z*BN^ytH4t*-crnKMvqtd7H66}oNEEG_m*I;6)o^sK~6N6jI*eJDP-)*(%r);^XA4S>y{ z&z`lI*F^IghJNM6JX-DuxVk+0rf{7WCp@cV7+=acZ%X}FQU-^9%PMlBbU%;_Zqz|= z$0eA?=10F;vPo>#dVAT_GV6-Kjo{}%PO1WxZH0Y1bZl%)1^Lpo0_8AL;H(v>$!nk2 zK7_Fm?K;cHsL0ytspWG}G^elo9>4Uq%VZ*nvkmTjB}s$hPqWR2f)D<24#lWUY?V(! zPxjE*50aEr5g_@QW{p^s15+m1!eS<80jWK&aGGs;|3bNN>Guy>*1}8Q+1~Qz)RSeQ zyiTuQi?Vv}w}lIZ^w%3FQgwQ0gJS%*c`7-acQ*wmu0GZDU!E82uhGBVp5Yz3FO-%^ zdY|^Zrbx$Z_$w$^bdcw%rt#gV18IBa5%woM0{P}^oLGiB?cRjWScEOG?Ze&B%elU@!}1aBD3jV8D15! zNGyr{psVQOU+Yo9#|`(S@{!3ZPQ&1l-fun|KGNR(&)RPl)4uCQ@|GE|BS(6T-(q{; zk5{c--rP`N;|~Blwzrmw^dP--lLB@cmlkV|h{GjnC)e8Q!;^KQB z+@V%{arz)IXps5vA)Vry)^m}4Svc{hWWq0(f^iP3ot(Vv+z+>G@oDzh7bV*(hE(3^ z5(I`={@9D`m7GV8*c>+oz<&cb5pRGw`1^Jh^N=k|p>O>03743)eIBywspQxTeWY#leLtQJdWRAlS;!QMt<#o!8lm98Umv9PFHJ2H2lA2$t?}5 zq!PaGm79ADOES_PpFGv1uts-gYmoQRCG@M*fy3sHZX~zWddsYvIM7? z&CVqHm#obz-}M%`jrkgazUv6y<98}vou}=K4eOGPARBpeOnwD9K)(4x5*8yPJzL>; zSz(8EewZey8HT98YIf~%GFCA6`DRYMIatcCqop*{vPu(iyn1yN^<&fY4|Q8J`oBDN z*YUME$BKJV!Tx24wu!EMnx?AmoilxNCd(&S-s4ZO^7Mw6<_;$>{TI~JD<0?*BK8_9 zIo7iqEYiX%?*tfU^|F?SIIQCh0eSRkQeH-{pBki3cuYy$JUT^cX4aMF@p^Q6piHyyl-U&G#EGV|ahSrj8DjB7}D;7^R0`IZnH`DxZ( zV%Dj_^i#Y?Cb|FE2mmwE6*#R8_IcEqe7>lGdOj~&m0>7~%7B=8I#Kfsp>odvSLneC z9OIx+C`q7ojcIQEP~B*g>-MyKlsEYsQ0|XfkDUegzBQO}6F0 zL46Hg8)70zufhtH@+3%fx?;oSz7)p$OQ<&yUDCCv49Jvy3->GZ76&ZLV!~WtGN@%S zb7sZi2p=(UPuYq-d-v08IAsHQ#ECG@GjyTwt^DnUn~D)IQO1?sG1H-8!@D5=?rPLh8y0Mn6Mqr z?y<`xNd=Z3nLF!EbIYQF74ptfp&9ZR8|Qy#Nx{xkXr1AuV)B~$b7U!ltQ3kdHA&jm zLenm5r1_mH2>ZpgNBWyA-cm2jGM=Vr@pI*=CE`INxD@(D>+l-det)p3T(^%6rd(5OLaxwV{$-LR z`&%Mcd@WV0W{=Z(L8I}N2-yL$*3n|<{Ys@E**gaz2Hp4x8p%q@IlG7A2(UV}<7R}Z z_-xt_Lshygd(<-w`@Ze5?Z3|87B6TML=J)1J7wBpNJj1O-xWHvpL>y63td!U3a0ca zewv|67}fPg`FV>Bn~r!xd0SsV?lI;_`ifOs@JhKktyAXMgw{8y*JGu3#=-K-E{z(= zPfoS%fd?pEJ+-6d7EOoksR4%d_umFi{x}=1tmLbT`W(bwJK;C3kvbCF8=IZ+#(`Vb zp4(wusKV18yjISbkm>dFeLnxYjb&vA?#b?__;01DA}E4vfwvSCHZBBn0j6|zd#vZe zbv(}xf2*|T|7n+2QZGEH&?O4#_L^_@Yzr&V{gzm?|0OdlQ$Lpd%eyekUp{WTuQP^p z+gYPwW3YRe{RE7|uqMp#35+K%<~jcO9&~@m5cXQZ`P)`vQR&?fEUQ?EL)UFKt1c^x zd~b1qo~+CdbrV|t!x)f`tnG9zrxhFhk4^YEO3R!UA%jx3a5LbF`YXbf z_mavU#Q&~8KyEoYE4y&AFgOo6jj>MbddDp{b+I?4*z|e8tkCdxZv{)k{{}6kZ z9{9I6$%6T}jsR<7UgekMa{t0w!%w6zm5n!56Rn0exuA+?6rI?{#L(yuJDf&_Q&u?v?7f^fDIwcNS1%8#Cn#7^SrXd zrr(#hHh`r;=ArSQ3#8aoXoN8^H}f@J8G;yM0Us1_a5!nV_tL{C2lRsb#Z{g;P>6R?~8AUlivuq0{1Tra~= zZueUV^Cg0`o&uxyf}nn4DHmqzUM0zpnbD@qWJ8Yz>(evBGNPsrxxR=`a|m|dOJ0tq z4^U4zU)%c|>(^gi(QjOTKP%doF^4H%`2ZfIXIBT$K2nF5pZOh~o|F`H1h#$m2$yAC zgWc&i1X$WY%Orli*&KTEwS^qxN)x~b*31sXfYQ%SF4^KIgPuRrPY&6bXBq0ozILr=kKZb95#6?%IRN0OrGX?0 z1VVJiHs&22otS(5Fe{Ju>1PsHuUcF~cHPlE&@8c{^<+zcp3;jxa;&+@Bu9bnPN?a# zmT#cwdto-w<7eIsTFQ{3vyF{6ldpm6o#hjM<(&0syc6mw1I1{cyK3arY-Y;4p|i&~ zmoxr5&31NHE~jsP1vdo?-PX+%o^|GoS8yVU*ANJMkcl~zAoK+??_kMHnP-#rtGp&i zXf$>owB3oxNcUb1QXijiPpR~k8FLAlHy>{ri(o~x|TS^E+UTzAyOe{5%WU(UO(*uRn*KdakS4=OrtL!@kaLpEd0kk_LXN z=eev~jRvo<4)}c7{^JGB-Z;g4Ua>@15yO zR-_-ty=BC6%h?(klj#p4B`x~6I|jw*^U7xAWCX_;Yr-bjoqT+nfi4i1TB;TtCu;`}Pg+~$SdST~H($hoE$!^zNWfY!bIe(m7Ifzj?#{t||WkzDS zC{57qYu0aKA15y`j+t~_Y*VmadGYwsQxye))dx^d2+)=HK-9Z@emggp0^`hL!J!kFpgMzLmY-4?tfGjfVs@Vo{^N003lBba-cC#_i zt+vPGmN9rplZK{r9=Xi~JndL|t8b@MOB_{_mEd~TZPrrTf3MpAwVhw0$l|bQvgKZV z)qA%;PIyttwmJt!X-5;MX>}b8S!wFbNx0N75he7d)Ax#3T+)u9(bkVHqu})^;BMD| zOmvJk?(YrNM=0IuqmfyQPuN!}ELqcebT1!CpC-wC4wa=9!KGV=EMGvRs)dRg(sQQ` zn`hq_Cez*DLS5l!2j_p@__{ETYj`|$WGuZH{q%OxJB!XZsL?!ib}FK*j`>--w0522ujGsbzx-6CV-;Vz*+h~?^kVE-@$%Hwzu=Zr#e?i8& zpE;iS?o`H^Z463>tVCWMe5Xq*Kf6298cbQ|9avW$EFbK1t$Mj-Ta$rNDG{iM0I@#T zOa;-Us7wQYbQ5uMM2m)XbyzNB@F0r2OE0}si+i27JuUlq<6{ckS$PQm$$9L#%H+12 z0;|IHUOPrH-nWB4JJ1)X5OijI&67FJ@{3%OGt;_+B^Xi zOB=X|zdmVxQ_G17ObeUEDse(*d=wNAm2Atm247}Ik3uHyfylcf#z@Vu3ZSLwZzo3b zyLuA0DnG0_B8y8#Z7RB1p#qPwwdWnTtf zN4=T-?p&0k%b921itWBf_@A9<V{5m6DX77ddO|i?-CL z)WZ^!%TAZ#-pMKu8~&zVeU~A^U|JjSmS@H9GU1@To@jLZwK?}0176^2wEe8!CnUc3 z`0c9hY-TOUnGm-^wN|ha4Wl6|0;*P>*mpua@~}8poqth?M5rF9mfi@T!`6wsh*H*b ze?~cHc`0uF+8UEI%5uGHQ`;wiSlvM-BvJiF@XmB#Hhp0DTk))7qIX5LX(znYWN>zI ztQo3EAS`Qw=oQ1wc}N`is((KUPBGr;~uxdZzn_XXnlWo+Pp2E7a^D9yBE zuhq}h_z`0x;8M8bc@g<~&|uPBLxsjaF-8(}VtEy%(EAQk6mV$%a>2a)d*I%M*K}*7 zrA=IMl@*@V3EiHr)^#*G%)SWqq>%{tr-&p#uH7_Ov1W4Ph6gJmI5MQ`jSS!^4I$#^ zB~S-jA5M~Ix-n)7xPNZo;(&-PvalHF^754Zy8}I6({c`76&uwQl$JH-tYo|RV zmX)Hr&&2qh@7>1U<&&e)7r)JizH*6&iyJ=E{ccf-lJV}U9nFppBczMB!vOP-5cbN9 z?&6Ss@yy_T@m1Xt@$&`5E!(&1CD+e&zy-uFeo9<5BIhmu9b<67&>LSLP@qLthB7ug zx_Xk>2h8;JCTx^_(rP-93(^|`Lp?pZPrg+he@aiJ<1|f%ie|sYTPc-0Gs^mv6)ybM zJvSQ{^9TLO9WM;5jILc7qhUx>PA2Cs(}X=Ulo8 zzb*ARR2C`gucB=uJtTWqsm=YP_3+}H{D-3kS4dW=xb0|ivTS<1c&Z`W5*OO4MNy+r zMGXk;fcC8_j%^Uq3bk+KJto1Xz7P#->sayY&BufBtsCh;u%4;!V{{*10Lz9!6FLnI z=yOg1{gY=Uwm>8+OpNg$s5Td?l`#!{-9XSEIPY#JUQ)!?yWHCfuI52P(a)A5m@953 zk0Sx2sycadeN<_aPcA?rLIDbX8M|uhjr2Y-l_owCdd{$eb0GhH)oW)Ve7&&|6vMa{ z-DRUJX>vL7cq@jRj86S)veiQEfLVG7SJm+GWj3kV0q?U_FRzt89U$G9I>H(Pa3jp| z9@aiRoE8zJ=dQ)F(>bP5^O%=M6?78eYaU0I9J$a>g*+czm&VF_vB{E`S;d_3Rj29o zIOE&rv-^`c1JxT@bMpdIFTxVo?&#akbg$33Ung)}DB4dv_Z;a5B4;Q1njN^d2-Uvb zWl6d^*x2C>UNCX3C=uEHT+u)LSOKW^YU%r}!}KX5s;YL)CpD+V91pexC=k0RKNQZk z5FqH?)|rx@YhNMc`oq6+dYjv%vH9mL5SV;wgSV^Bcl9j}iT24TE+|lXmQtt5*21aF zFaP3rLhiC@{Ap41t7!c;O|zGAz`fpF%S>?_%J zv|NyTYQ~46MH= zGUT;|=nH@SV#7Z4ZjTkXX8^6i)($0-Yc;~eoN+k~|0~di6SSw_JvRDPj`YC1KlNO~ zIN7!_or9p4lWPcSiu$x0;=5$){pAdz%3`ei^FQ}D=PDLutW`ss(6(hCNR z@Omaa4rzT^;}n5bXQ@_7msh|Y9pJE;J@vhtB{cMV;T}j!-!9MF3sd=BU7(8_%2_pQ zGl8Vy-ZyK*AADCX!YLPEe!?B{*ruQ!g<<$mjpsVFsCaeKkx}bCr_};3OD?#n?y^#{ zx_-+9@7EN7%B*9MxbYEvA7VayFIhn!!Aam?nll%+Z%90~=@0ui6Py6gOiJ`*l)Pbx zeexEqjRPlRyj+QATz2+e|xOG%dx`bH1kB5l-tM_PYu#x2(F1enjCoG4gFTB1d|pQrTRoa($A za$*on#G4wgEQClzOH|~|JLKp)QDcU`n-z~P@(dZtIh|BBgc+KUOR~-Ou-Yk6STubh z)nW=z;}1wZ<-Jes1uMRVzz0sr{AcWQZIvsuA(Z@sKC4_`x+^vv~METDzuj0Rh?QK=@o ztiuuuw6$OUWlVuUX;1hmmoj2f%y&fS+UJ6$W^4;Dp_h~0DMJ+)OFuQ){VJ(BaODy2<7X4U5*g$;4R!8I4`EMwu_7()vf`#g5H?yoJ!hTv9#RfO)g_ zq4sJ^NmuttcmSa25*)ScpDzALyj|<6StSALMRE`uS-GYHk#u70uskk|@H!MbB7P&Y ztEO|w7?Fs+<8Wo47ng!3f7T4DdVfg350#sYpuhblYwL!{__hmXbH-3kQXK6J>Kyr# z`{&bjtr=)qCUSuG#1!tx55tXEno zL1?6X9MGb_0bm>L)rqhdF^zStqAgEKXibX*wgT`V(Tt1RYJ6s$2aGwOZHA)0y2K9P z)xA*Gk<2?bolxxTr@q#7WcMzFwk1-JOrP2r&rnf zQmS8}flG)*y=Zy z<08jbWIZjIAQh=2zo{5_7bf8Us2x_jj}{&Cpav^>omt&+U&vi7w@d2^txOfj)$rxY z%h!1V@Vcw`nLISG-+m1t#?~ z2qN)KKH-3qfZIaPi!HWqdDkmk4%DJp5$)5s#aEsc(%PzECdNLu!AhONpQ@}IA=fl}7#m0-hJlw62!9xo z4^h^Hgw7HL!=})3v0ciIfC3f=91U|Hsgld74#NqYjh9PwR0k;uK?#qH-Ou0*O@EJj zXWhJDgG*gDpd#ZI(4a)8(kSm_-8J)>Z*0%)_B{ia{7#MZi6QSW^_NqmKL@+&9eF&7 zPOgRz=q8^zz%+|QD4iqG%hvSA{U4{)e!yUal|CD=3_W5-gA|yS%Z=hK+^E8$K{Q(G z^*ySNp_JymnbBc4WG#l*r6@;c7S+PYopUpoy&G)D9L^`EOy&f;QFcvOEEf89ghL8k zSA~fp{&GZAL=t}h7$Xm59svpQl0?>xRQSUFo)HlyIw|GCE`F7cH6c7R-Xl%jN<-q` z-C|C6V(Xxeiy+_2##g?khLhiBTmo$_m!cx-YVHv)!@8z4* z;2^huk0=e~zKWp`Z6tb7WxB1za z4tMpnsf-N$WkNzjdfh8WWAtizlp3+I5~6fCL|b0*CNFVe^Br5 zR+KZ6!m@dlnTwDzIZ6%SYU~Qz*45;rj%Kh+o~8}6fmbbrv+{Ra<&Aoik{ls+xsjC2CaExqEF30bNOdHQ;NTTd?> z)WK~DT=1BDMA(aAg`Ka9pbX>yakU5fO^}l>$>y3ZB{r;as{a<+X`dq(;J``awEg0B z8O_QwFz}{MMiO&mVcsJa$KS%h>--^vvDl6NsxV^-AJtASaTs?`yZs)8oJIN`{=97FJZz|>PcOCD0`+x`!Y7#D50UTXH#EaSld1KM240Af@4H(rlY% zp^U*2UGIcL0Pgk%#q2mbBKAG{UiN><_ik)se`9qs+Q-d2gM%H3GorcdPV#YdR24u7 znJ%?ydHn_x2-kPMs$eH%2VXwjXv5rLDLbN<%3xyRNdXW<`<|fiNnu^w-Qhg{3}a6x zn!nz@4&g}U_K=ETX4aqEi&GzAjOQ#y~dCr!&UZi;Y0U}0AY^ll8UE$ zZ8OPW3P^8)6K-KpY+aY`ny&I>h_gKb?3;;+ChXMEk}m0`|>a!$?M zgB-{A?#G?j!x%(^{d^AYI5!J;9eIU9J7FFFeVes8@n}1OS$}rbSwh8hX<()w3aUjw zuJqJZV*5VNxbW?oO5t%-ZF@Aa;BiXSQ{3HF>w#TcZOitaDq+r%K?la;?W`&pR&cp` zUG4s;&U_2PR9FX-=ui|GR)#sW9=K`} zWg)1^b@zR~_4mNX8l|fI(`whU6k*-fVan)c=$8JT==aAu!m%lw3U78a#z2JMlF?|| z1e5ZG5%DV$#-u27-@R9bn&-FoBLuZTVn3UglnEEa+W~v_-4b1rlSys%r0I^(5)zDi z4xX%WKm0_8B5@-o@n=*}8*(`9_l%no9cgsNpuQPAqitBE8{neM)&KDRnu9W@b-k~; zu}3)2m%Bf%^CTEbkA7Z|OU$oZJ)?K0n1#k&WHuGJFv)FoV?TKja!@-Cq;LvH=N?M~ zKwEL;397L|+htkj?x+y{lYyW6?g?hQ6+L_kBnBCZH7Zu!7Av!tp@0c&WBCbtyS+V} zC3=a^MivW-1Sor6F_Zh4=zdLwFdL2U)f1Ztey(JT>j0STwYTI*8sMBvxr%_#sCfz% zzSWHO>B*9;$i5L(tgOfxgRcLzA8NDy#b^Ye(Yv0+S5aX9+7Hp^>PzBla`@{(AgE4IkBu=IT;Lw2^@1r&^P_WGl*CnB7Tn7ZvKM zg%atBxZr$>-As8EV|4A98sYx0IE!o1CxS8!i#L;N)2x*;e+?bD6Ga0rA1PqtIAyYE z(JvGhn{khof;u@xBEO~CZ@|%m4+f2rhNsBT_GsM;+xCzp41xxVdiA>NdJ6k!%ZT}g zXvb}RVopTYzQu_uk|^{}4mD?z#E}A&8BVakMX{2(!{tO*jd8ULY4u9Ei!2r4^Pd%(U3xQ=E{s=WRf|M_A_ zAO11}Lo&;4PlEati((qx-g>5bm&(wdjS&xs+E3c4(;Oi?S-V}YI`Z3G@3UW(V4G#_ z0D!GG^eI(Qh+(!W1&y&H@wwLUl$N$4_LbRUyr;o@@R?rnlqMccyJ(lPOy;$klm6#E zN=0ng^OO#uCwV<^p4$Qr)OLzHzOS(S7WXwktcZF2nI?X$lapd@$9*8|3Fv75(TTo~er3iY$D6QTSfBT&n8GnneaupcQ z`6Ammf4^q6_PZe7o^BQLvPy$(KI2)y>igd|w3`qo(qlWWQvk(#_58!(O?QC!@AHVv zSHt&3-hSP;$;>9q5V+^qwxu^!|MQRNM-$L8nw(-@vdSvl4cc}0h?T(8`8yq|p9<`U z0Yu~VKU708vbyP74tKR}Qy?602z;E-j>=lnN~^I# zb0MLJbN_IwQhdM8IcF_P)|g}}P20*YM<36EbWYKZzlQy9kFF3sJcPIF!Z7#K5(Pub zQ;~%Tv|VOiS{<;!!dTobH;oqclpOWkCZBnxKF$xI!~8p9%<4zST*m%d6gAngJeaeh zLt5M%>_vWCp=0$K?#T{*_8U0!>5-0YqO4&etn&uWHwOZADs=H~y@ zR(l)9s6!+_QgZhj)Mw-5OY173p85sl6gxke3<2hxXVh^02sGiI%3^iY;XZ@boN@wX zLEY=Diutd=Tft`dqMf({5m@}FEAf!=5(HZl3=9Jzs7K~Q6*iS zY(DaE&x+Kkv~$nGh%vgOhyoo*prLvq@!`e^&hBcW7dNLSi-MON{}G`3n9c{+Uw`~F zPG1$$lL6i1GU(G;&V4F2^o3%(bcXH&4I7YszDkk$M?ERXVVwJTR8{bR%erf)A3*Az zL$CAn$>R=ok{~q-l&MW}?yFXH-F+PraQ3kx`#)G)a98jG1hBVaMbh{l`{>=M5iOhe ziXURZx2<}_cLHt_GL;+U{_9t0+K9w8Sz1(hO_C(9`~~qe_r~m7Lb=P+-HjC+(qq3P zOWWyD{qVM{(oh93IMa=`61WHfCbu1*yXz%(t{DU?$cdzt-WJUUHtOvk3%C_^;wCCt zDpWty8v|^zQ~-jtQ@rWwq6@PAomjs_=HmAOnq(l(8kL#k=sGQ0FLPnQ!^2JUnEa$* z8Q+ucP@A91M>&~p;*1)tNsnZAO6kN0h!i?%==Bo8wHb3kHCR!ml8m_(l+3vD>)mJM z2Awdo8oYC!d;7QHNh;VJZ^nG!P|YmADf;h*?1ngrI@;Xdn>~k|K6mddYwvp3Vm!Kj ze@#$^f>$M}SQhs^f~c?>*U)EK1ROAR&$w>w=ew|JWEENIKY^jr6jVBT(5e;KCr8<{ zAUMXq*(&PmY3L-KNmhvfolqA)5jv3k>0Xc&nb$j=Ma(^HNQ0jx9I;RiY}74d9!j-h zqpBnwZ-(EW1>~lr^Qx(WDWDefdEBXme)fqg`Btf;0HID0y9qF}v_ZehZ(Jw1c>4Lw z%G*zgNz{)Z?ql7l=W+8kq+D|D-Rz?#(F|a-DKP!ES!H3M+-{S7P+31~+h$flC3tfV ze?tV$UhbBlP1rJ9tg-*iQUhjc|A?xcK^Y$%tqtZOZ=l78L4ksUj0hFqD#MJ4iLt%u zCfu^L3m5MpH^pE__~+O2PmuK(wxtPt)Q-m-b2K|=4 z2~c5wl$ZlS_8m1H=}m_uk4KGm2qH+@lIH)O8MrVLB*=QID=rG729GResH(vbovMMc zG~o3#Ha132+aK@k>IW7nJ*Jb&wN8wX?Cx@$?5M&2&QSb6;~Br}KHjRepGHZAtoPKx zuobx#!~SFtg)=D{wohczlT%N-RgCjuX+{oa9CV^%(<;>@WQc5DRJFVF8Mj^1R6Lp0 zrggg-KpAJ>L3IV)A&&oWCDT4*>hGG&>oviVfA{vS*F3Cd>_xV%E<#46RYReQyWkcnj;^T}+7rIzfiSwO@M&wt3N! z`W|zB33!rAd&2jght_?1nJ5#ifx@<7?MwaohH0P`c^iMZ`xYw1epyI!guj(oaOf;` z(kA|RiVD3=)6u?IO1Z4}aVstklHo5mOed(C@njA@kiGT4n0$O)?9zP>(J?(R2&w^< zY!A;WQ33xwRw`~V;|V>J2R-ac&w2Zq4{OkJ!5|Ss&Qq4tZ);3Fs?M1F7+bs0WNg3J zm{5cZL*pH~dO@fR$!-`l9qt)*pKk{|K7>$>BHmb5AVl@}A0Opcq6ed4qghJF7}lBr zF~1|)`-bVD4o!TJukKYoE!!&1{CAeDDX!|9AlW=g0Ei(UubY`&FQ^rA>2@veP#b?* z89h*GmAVK6h}H2$8oHI_^L$)9bsKntWJX)QgDmV<9z9IwXxB!~T<1tJn`%CAbO6ankN7ITo4 zQYH^FHtmGeMZD_P&c=Ia2%RCP8=rF?05T645kvwX*S{36YMu;Weq5r1XAgRmSpz-b zELgg{jrEk|sqR524IpO%wh7LXBc&c{x!7NW9{NLF&d$F$pf9UnT+HNMow0oW`118p z@`T0r;YTm89j)DeECjM=mtL&qUkf5K(!nbF0UuxyFr-YTbY?{~FeJnsckYKP-Y+T}g4{+?Dj-S;Wi0ZJ zkWyH?#TFa-yhVlWcb)}6STg;qrfOa6*Z`pG1g$XSz%Ch$5@CU6rRx!Ds4Qmwvn)#X zFvB>SHWXW49RD-lsSyOz5SM_pt_!(UHs@LQ(S14s9IQ24VTt4Uf}nP3>)QlLzu^r*f3Abd^ZPF zn?h@LcS6~ztyzB79}ZXQ)P#wsBJsNgt)-MAb6N0sP}0)UTT70(P$$!ciGLG%rY*E& z_0-kPcz8`rOniauko;~AbbqKg5&ykKJnCUi)n?QJ_n~|olx+o|4u-se9QFJy5L=zU zEjs;OtnQ-z{`)&&AQO6tV+Ck`P6@)GxL5YXqr-uw=53jz@Nxg$8NUpSCtbQlZ31wZ zzRsxbCrOz1vA4zl8X35P19(3|{LjGuKW>Xp^F4^R(660LCV}dPhA3Sr`K>)ZI54oV z6ac{5E1*OmUn%R~cHID8{xNKE9EXPnq#?RhG4SxBr>3T?BXK@`BIn|o)#sOzk>OQz zKvHFe$u52xVS5m_j1EmvbA~^+qK$TA+1!c$mx$Q*7SzS5kI%94#Kye(Tb0zt7T-%mhw9hlcKsXMRdbBxspL z8ONF@C*ah9xa<;M#fgghRK-uGv=2QicLu zdEFRauMf=@9!XiuxEsK(Ll}6y$%f#|$jDe!zLM1t#)ICoW7gbv=?}Q9{tg@3t@OH! ziLDuVb{n)*>qO)|gq{-FbDbN$rjufvV?MqAsjZDsqz0N{RApdbu*bmp?Dj6QQ-@?n6tlnO62U7XdwyP0iLAXpmL1RbnXs#w`Bly$_y?ELlEX>gCMC#X zM5JG=Fd=H6;A&g-?hJI7@I|yn*0RELw1N`cC|u8+CV*sD4^;+mO;fy*&KS0<|2R%e zujOQIwy@=c62TjUw(?Vawj^U338;##2nfTE<*c%S=dYhu3(;lbeuvke*x*0@sjGPf zvQ58*pITA4mhpn4k&ZA;+I>hw3jN2|dA(GB8BqDn-OelYytpU&0_B0Yem6cvCr61Q)A%C6_#XYtaRUAn@fxI( zKP~v`jYXM~bK({GTAg6REJ!j|5l|{Q`=lVNz`@=96jU##7GCmX+~?dk66`PjiuO z9xD33RX6uACeMs?9d7m2zktb&EH00hG$Y?TKu**^sJ(E44DyA^ufnJ4W`pUT3>0s^ zuP0}ZZHS9wbE0#H=hc`3*3^txU8&E->lZDvGpXxtx_JkkK^L_6AK-% z5SUQiTx`JW-bc*&E)n+)U2>>R^}8HVvd+%tXisRYwW+4(>@9U;xMq4<2OO|#%{nJ) zII(x{8X871-!5BTKOv`FdyA-b-6HaeBGd1QJ~mN9A9!UP#+t%9j8Sc*dzEF7xbO02 zFisRo;KjK>4LfJ?#7HL zRUQsSYXnl*A?I~>LVYhV2wYCzT{-x6@6=NYxG2Zw2EU*Q;0 zLaLLZa#pqP#Z{l)KW7KCi+y5Z{WhIG+7gacF=_=$h#4Ack>P zE$@4Og^P|Xsu12RZC<QgG^#PN({r1hephmaA6e}TAiE-ZK^h#bYnxOGYlh6tFsbfCyvyce@=bw zxG}P#udIloVkWhS0v6HZqW@%<$EAKF$|3$a%Vd!Qcp#4rjoCij{*$#B^T8^S=qii- z2vPh5Ca6?~>*%7i`Qw?b9|YlYzNU0rKz}yEbT1!7S6*EH#!J@>JOEPmxQzJCL{;~; zY(Op)3>x0eiEq+k4-3*Z%c~{K(AQ(|E958e5xAi8=ct^{X1xlSX~5h4=!iEp(!G{H zqH^IM&hbcFD@}WOHWJJiWP$wZt|wYl4WOo-B!!XjP8&6%U1olWTlqDK5O;))YO<_~ zenIGB#NZ4u{j9eIQvFlv(qOy+z-)~`xLH-^qV;PD^I6TZUA4EeM+FMw#rLYl>;tWK9 zB3dk=@_l4?C0O;$sdJm|5S#QvD*=2RFfSizOWNh>A!&lVS$sd1%geKc<1VF?$ma3+d7>EGLt70XfJmF! zAmWzOug;JZVGlxoQ|-^%>Vek$CmJqy3U_LEH-q3_LA|MwyOM4`Vw%>v)^*8}v3}?~ z#EKXB9D`i@#cXHD9RIO_yqHb`>AF*LK3W---eYN|8b=>o1<5_S^q4;1UNAjqP^6JRLpDlU9iQm3EA19yMo5ht-y^@&os! zzLUe(5l;%|TSA^w-;ZyAN8n^X;g8ubk8NjrjiMu-BypJu!LB8hy*70S_NGF?*68Ux)$p;$0y~O56bP9H(9u0^-*R9EEY?C@TRtzEzT+W+K!hs#TJ#xs%hWEq zk;-=QAA3`5{_M|VSgvn2CX|&ig+6I(z`rt8Ye4D7E5!sytP$@{B?%&4U3A0NlLN_z zeErPwNr*4MK9XEhX;_D&f}R$fBkDU4mRm0j5Lu)f^wurm;!nw-b-WqBfxRO-yhXHS z8ib6_&{W6#P4X6G1NpQHiqvo#kt&DT~6Spam7=^sgJ&88jOG_jv-?06R{ zmuUg5Bee&@@O^thDpoHKl-;IvV#(g67CKXrhR!i}(mQDaiEREI9_ zzcj(UZa7|NA>1PN3uOp(Ha>?bM_Bt^1zqHEOMvpQC30=eaQXc{x_^3L;{?-w2RRZ7 z3TkV2*Fyb7D@23CM0%WxGJFwiI7!Yy)642#1}YKVtAnwFU)`{qs2wF0WO#O>Ze@#H zIGS8kWOVa>9pUzkCiUX2zj#TH<~BYCzgfr9nHf+5%;A0+=+Z+0XKT(&VI0$=FY8`+ zrhuaGLd}jc%FVq;jBHFGw&mC_e+|C4;0dB(gR@Cc9}#gi@wMFHE7ximHh(RKM#v~>t+_xhr1U&WFhA>!&mt8=o0TJ>>QB+)bo;sPe?-T@kNyJ!DT3H%r~2d z_dUtU7dW>fDt$aEryv@d6F#d=x|))-ixW}L`ii5Hh+JFNF-Qm7-b@wNL`O|kc1iBH zWQLCAoo>;Sbb)YJ-g|!@ep5oGK2uA!Qz-HC*JV`QZKd4UZM4s}s&1pTa1-@KhEc2s zyOn30BQp$dtcT5^O5o#YhBKh~GJ{MzZlJZ_yyEYdq@#shBaI&ke}#}SMJ+KT8U>cZ z1jCJkUT&q;Mj>BY>{1#MmF1S2u#M|#&Tvm6df*;C(eG@x4BT|o5RjT&q;m_|CWxq- z1$7@VPaN%j-ozgvb%zVjpf^#9KTD+haJOmh|Du*!&0IH4ab`le5-6{$Z8rp}hHvc7=Z*mW46UZGJlTtDgR&pSBviSA;b;y?J@2;g^k!k6)XMZL( zJM_(Yw93klQf!_{o^{=ESfm>QJ|&OG8P1Zl60-_!Xb*RHQmnRJ+~nlsilL!FF$W2M z|F%0t$S#JYO-x%>SIDHC98^_RRVnG~ua~qEX&P0YiZG~Qz1wu??j-A!gL=k{LL0dt zl(0P5B86)6t_-%QxR)YBxxxIbpjmx@TU z+B+IP8FxW0OtPU5iu+n+6g5bsGeO?@@+e;hXF&gQ{iak}S`Fy%re}>F^Wp8$^R^kY z5|X&`eEAi2F-+jnetU3-gDL`$D-+_3oc8!_dE&VFvqK#^iLqL-8bmN-}obm4^z|uW>&G`D-1rf`0V? zURqfpGAHv7!D;F&>7^@Gi$xezyYVMCnNTte^9W^mdAn)Z=pR~=w6R<4?_FJ1y%efi zd`*^D$*<20inIlA7QZDq(RNehx9JzjWQ#2|+DLG2I53_@Cqknn-I5HSc)}`|C>?%u z-5a4v>|>PlU)2rpMAtJn5Hb^2Al*&64H*n_ip*W~zfHo1a<}$NQauu@%=u1y|3_nl z)Xz)ZPL-;}xAvs}71_ExO82Vd2>!AdPLRE;A@_lP^ydCwMAEh6AH-}o{z!dfw;p06 zknoZ|y!;Q`KC1xZTDxd4xGwVc`CvQK|An6~Veq#tA1$4*uT@Hg#)eYrLF}b!0okC| znuGdY0T|ntUrkL^>+x-As{RW(oc!|+f9BxYRO5X-orU~yt@x7Q&upg4u3XyiuCDm!^{ zu&4Lc+%Y*X7j}#d1rF%oLNz9gNh>;!1QJf&$R_v?jGtfpPxPsXDFo+l1YmPziy&`~AWmA*U!bXm^Q2Sd$_&@E%g#H=FV2a^YJV*w3 zraegk(9cD{lX6?&*^p!i?21?hp&rHF0kxTnKNi$}qqihHda4aHVC(eUPMCcubS?Ye z{e+6=5B?)ZEQJFJbl&TsWXKxgQkwoZB)>=1)0j?|xw6vYv@@}97!nEptP4B4JOwi)74 z3Bm=Qc$}p_AJT|}y{rBXPAoctO&kDty_oc&Iut|d6ZDiSMXOz4fr&1Ke~in2IgG&3 zZ8jz4-P2s)e92#o@!$y7WLsT?LeB_rKS&LCOMKI~$=XU~BN`CLuXuTkvY#leh?iTx z1(4O%)WeXTF8c3zK6+WWO3kHS({yteh;2GY3V)a8>Id&*GUq9ukp+Hcn@Uda{&N2I z@nrzE+QQHN4>MFpt;M<^^*%8Pt#`mr#lwrt*i!4u8WHDt;&nDXZ@|h1+wbb%tsb#jyD6pN2A z$Bx@XJeI!`!Zys$=p+oWa9w}euGtTsS6wHC>#v_dQXTBry3ZSl^tRaze-E|KKk#Qu zSX~xW;H#fsOcFm@4@uX!0(f&nf&{R1y2ChhBZyoc@!Wsxd*hKR3;+GP9Xq1hw8fHV zaUh#_l5SqL-r}*s%`EB~$m8|su5MX=`1sAGv7tlTgK#JXGAun|lrCa|E*8z2!c_vG z9-+|1GPNI;y53%Si3+$sl&y7`G)^5uxgOV0)i)v9!$S&r*mC@&%Z6?LN*9&>?6nz< zF7?3rhTd344O_j*gUP|c;coa<8u8w4BJzv$qeujh`k?$x>A?>sM{+id-kI-7AMH);C} zyUTr=R~;Rai$s`89?j$Z-Lt>Ng}&*r=Jy5!jfp%e(1GdLz}HOvfbYtS{pIR*%!qM6 zV{E`lf+Z1nrexb+$V7+2`iaVMOLeR%MYiBmSMkWMiv!@=j2p|J%4#3YS%S&9<3laWii7XV;W5DDHw%~4+s%HR^Dvkp zR#nVjs*%YBn1I}k2v+yPN$x5Ih$G$0l~?D}bZe&1T^5|e#q(MINs-a@wYz(nP>4eB z6^S0!c86|~(toc;nRx1V4D7JQ?E3I-ES_KY+5F0xhY;J;N&?A4;W6yqaW&^1m&Mz1 zFXD-2+8y4I(ra~bM84I>&xO+9ye z_;k#;k;qfM9v+*kF!)-ny<6`W($^=zb^QV>RKb{n`--M<$uhiy`c=-b9b-9Bsh`W_ zcuOzpZ8c+Oqr8M7piiRW&0fTsH3$iv&HLuhgz^xM6@uU{Z^b%u9Ut=$!gi3iU9zT-i~1ewXpC_lsL6B6^F5c6h2pIkl&n@v~rmWphz$rN3o2bJ4T z>_%BYj;mJ#cK3JtB5IeO*)R|Giw8w}ywDvFzb4cB_~!h@*U77SV2b{i5Rc4RB%Nzs z$4xc(vOWGV><`eOK9hidS|dd;6wo482BMK(uiP27-8>m7xG&q zMFCgCvdk>^m&(0sHhDEO5m9K;mmaLr?!ocWin&AK0TAsYZSJIQ@9{B#{u~=^Ua8Xh zwYyvZ$_!6c6MiL96?z%pHFkof#jTh14(7=LIv-}KkLcWi;{HM_4y-VBu8`>HBFl@z z4zxK}QQndHoh4&8e1J;Ty)`8AVK5VR!PO?ytB;aIMP6X=5*s0&F+#wmK)?241|Ftrs{#KmI;ti3^~fr5!fg|(Wt2M z9JcWNXG6gzGN^qatnY8Ky0PER;XRSRlvkJ3q!uhJ1*D4Pk7?VMplwds4h$zT4)rB; zuf-f;ChCqJ<8H!FyG<_?JG>Entz)ie~-wy!&_(xdAA-X7Sa`g zCo&588CH;p|D(4fp?P~YyY8>MTxQgufywY*?~L)VYB;w%wUxSnPrzV>-wbIq6(zgo zilyj4WSh$uOn4k4m?(7m>&=pW3Ng6f29KEHG^A!5&A?S63(H#tzCQ?AON7 z@*(U_mAudopH(NXAN<5MZ3UvbN5lf0I%A${XU*cTk0&Oj!NE@A;)gYqPDI zGpcoo;_wYp7gK-E4f`CU8dkdnG-QQKh3SMz%mY~tn@{H&>v zpw)g~)dkw@B7(pG<$jy$jYPbQ%&1?S0m6){OV9j2SI$Ztw>Ni)&#=>-jmqkgg)E7( znw57#f`~|iFJRTXg0bu?a+6c5Ez1Sr+^#iT7e7R-wof%mCAf5xOL*={Bf-^UMI}h0 zr{;4;A}W-G&KJfe;Ea2oByCI&rovjDrg>(H;O2tNvu=ASP`mV$31o4848M+07Tt3c zPRTBYXgR;JkfjpWyiRv#4Q^+OUwd_%U)^UcSeu}ewYp21Venglebo)@oi;|8k!&p5 z-Qv<$;u@LYFRs@-eB`2ZL}aXnU*Lm3$f1OMBANlRYAopZf|Ytz*CddC$S!shdt!PY zy9Y!1dVX_VXM~mSzXuxTSUtQ32++zd<}A<(ZgI=MwIu3v6B^Pd)0KeuEmp%jzZW?h zFybU+FfFOzGjmIGy@$c_-PNn}$&qq?<)(Ky@Z9Zo?&)Mx>W@lYoYwoKOO1UN>vg+< z4|pOiD%oIu2>hT}?bMidkfXG|pCy7!Tfjc{*Bq z-6n{cvMcrZ8-UI&os~~BsghI&>;1AKYb5xUtB94Hlfj+rjhUt*mT2&^f`QGY`g4BM z{lRIO#`P5pUV>Mc&f)`blKfKO)h5a7Y6%a`D^6BP^USx}Z=7MXDcQ65vYz%q5=QaG zi5ted(c3ncF{!epq;L8{n`h7kgbGzk4`nU8h38JpcGCHT24TDg+&+YO-TzEO-2>eV znOl~cN4;^q1+DwB>w_;6NQz*7ne1Tsf$#vDmo8=@H8ra`I=BR*|zHhNr7coq?vfLXnb@5nQpo??>6z;~e8#`U%xCTeb8RGOu1%rz_%Na=2~$jRN05c!-D>`jo_A^k)C_# zuV$k(^VOp5uW9@IU-ebE<3dkKe3Ykn*;6O^zffaU+ z)RsU*#=qKHI`JF^%H;D6B-rv<^p=i>mvbw)7ih$FwVb;L_^KTZ-h;!4AjNtIffKRGdtrmg1P zV?J73#c(_xbhvRNe>F~2j%B4Z|H9#-G^fB^s%-i_EZyVS^poRH=vv^L^N(x)L6`m= z*TMh_dXO?TU0exj3{}zVyAOK*Hy4$kTG-72Y4eUV*;)?No(F>dzyE%YJGo3Wt3Dfk z{eo{fjqFFscaTi9BbrHQ&FG=|iI!PE`Zujh=wVN^coW8a-pTD8?o0bZTIWcQUL?D_ z6FT;A*|ly6>!(%Qn{8w>FgFnGm1T#HIGtDZo(urL0>;*bpDXKACga#q%`J}~>)&6g1V4{>i5 zRmT!_3*&6u-QC^Y-Q7Jn!QI_8XmEms;F91P+=9EiyX)PYob!$E;f{a&Z})N2O?TI- zs#R5Ut~FOIHVabeOSajWkUQqL?+BC#t$1YpRA!1lbeF)1mvvz&a9}yRRf&RTf9k5aEW?sC06n|AqZKbk>dSa2}d&A}u%At9k#nvN_JM2oU+n3|UTM!K1$ zilqHuE7XldXRCe46no7`{xA}(=7e0NVji$qg7|rX^8oU<&UzoImASq+crcar7U=e> zjFnwjPjBzJ1rYOz<9s@m|RYXjRnbS2}dh-lUo10>lJN zlno5WoGYxQ1915@iaLW|u)IS=d$ihm2N}~C=hJU0ZSlAn3R~9FSOheBgz<<44iD3g zj4Sxib4E|qa^`C?Tt;taFh(YavYvj#^hLf^VZCbXTFf~2Fnjb_FgX440Fi!W1=%*tF)bG#!dWr38n#a z;w#h{p+Ji%$mPxHoXVHYVGk&EQ;?r(q0*>a;y&jo)icwf% zeS$4;vjZ&veUoH9p}d_}c1Hyr)~`e6CXpWY*Yq94l6hv0!k2xvbqM zkFau|uCZY59suxBAY>CZD8^#>I9Vl2*virgNbc9{{sF>m-V27vS#W*1AVjPnp4@C(;fQt($h{!b{lHoG{V5 zfqPdF>}=%v_+(uluM&nM?Ftu$3uJ=2Vcbfbqv<1*LIl45@3j$P<<81|hC;IR;lH2t z@n?ll5Iisi2>KZFzb`a~u!n?LKz1xhwO>Q8e&Z0lqUs15Tkm!U6}K??xFtUbpuHB* zC!n*E#WO<$$_a6lfU~l)QiM2=GY)x?5r$$6fgL0%DZCQXM{+iXf0O`x{_Q|)2jCz+ zIvQ48Q&Tn;dB4A9}TC>3ipo%7|Dp+Kuz-kFCcDC7SRk^T%B|@eJnnSb@k0*5ybQ5#B8wO z{cEank-*a0$`TrFlz-m#(d@^ME_`I!N5%Q*mybqjh5(!P|NbT%=4xuX?%8rJ6;;hi z_+lQWt)tq!L^ti@>`0e?zjX-#>?L}$#O^5CMcSVZHVQ{r7{qZal-iDcuDG%bB%y?U zq4p#O`YpCoy)9z3`^5=yfZ7T1A6uM41G_l0qO#g_*+oU0>%rVNlLbX^%Ce3wU%(@( zLwn&<*c{`600iiUMKu9+3D7P;Tlo=p$$=}(jAN7r^tPapXmc5Hf{BaBKHMCFGYwIH z@7b(gA82ygKFElxPB7rGQFQ`4XYwTyB6vfrmh;+9%r0cHKFp>%E>)K?ysAaDa{j`S zwIh3F*_rTLt6ZM-p%*xAyPu*f{?h{ZXN0Sh0Y^RuW*lzow*t4oz{#eu?vr<$af{J) zf4q)`cDz<0KPZRM)le7HimD$ykJ+aW*LnlYuQAn^m+S9=y%FlW{iqV zWCO9(JAT))ekO1~AMdJrTds8rP$`^C2xIw}&s~591c(Kx74=i?GOD4oImHKBhC0@S zjk6kMeZj9%Sy0}j=F6P~b#1-%1kZ%9F--Q|H~NI+yFu2gsQKh}oA}a3c>eV}oAEQgJ# z3#W{BN0NSp>=^u;h-fI^yu`1b=Mn-IibZXU4P{I(2-(zZw9|{4r66XaIbJI-%oG;v zYq>m0oNyiCYM=?*;#>N@el76!cE}6gM&|#T-WGy)rr<7(-FfAX9uJ*#^$Pj$*SvEk zHy>~BiuO)a{bzm8u3dhVbZfgmtYgNNns`dC44AaCRa@Svcq{6(o?aQR?~;DB!^)zB zA>)LEsuD*SD1#0Ns(?!k7xDku$KS(5Rd z*88s0OzKyee(0CQf4<8RCJ2wqzH4kOPE%Mwn9Drgas6D>yGMX zq@)P1WGx~m>NT8M-T`I^=-7%4tJ8V2qI1ENsnMsp7~WC7M*YunSOkcaNp8B2uJ1Mu zyqI(TE(F$AV-PS(j%WfB`Lis1e9eG9_isCmApoFGNSODgPD*8Mr2b+(Y~~rGS|bKu^JE z?_0(DcP0SmGw}MqUL9zj|I2kHga%?Qpw3PqUbmwe zuqEfDe|r-Md2vGM=DR87^21!JeycSb_~x+Qp~%7Qb4QOz$Peg7!^b~K`E|&8JAs}X zv31vRp|W_)`g4~n-l8v)G=%wK;{sPu zEpy@>&4{F8)=x~MWN9S%`SGs#= zWrcDawah>8E{kZKNdx`Yq=-?~3RVspew*kniuZC-1Wv-aH<3nw9ctP&}_?4#-$+ z1Y{)@LH)gETH(d~i;L6~a~7X;Sagh}pDKF-81<|_D@>1Sof)nM88f|g$+B&) zW%qI1tgU3X{3@vfwxyN>cWSe@l+Az#zYLdmo2Tuf2QE@CEs$JSb|Hxy?-Po#mud%D zns;eB0MTQc5YoHYBaV1?Uixzn#H?~zm5NBNg0}RlgjUWYDvBE0(Vv6R-v$&=%uiKe z6mf^5*0L^G=Gtn|A&{RmVw#H3(2`}AnXIE|Cl zxhrF$_N91Sa?SeE)5H^rKF-rtuE)~mV)df9Y!7fv?uN4kNd3*Uqy5M;3qZn2xl^PBz9ufFU%xXrkvy-80CADSjIY@ zQ13cGUCf81TM z^T>FvePinXydp=9BUb6BVsmdremYjd`Q>>YcSrC0Rs&I@f?MuW$$`z;f! zpg{q+CAKPX#|ZJ!(9oz156mx{MgFb=trVLp%qF_C35!4vr2qvLG1ha7v+Q{B;B>N{ z6xom=6UpHPf0M36_UcGDOuwT)G}2@E*)2N5qdJoh&Trep*a#?)s;JakMAf)p;GZ~* zCxmtXc{!wK`?+?>g`x+ubau$VFcCdQ#zkvutydkN-#K!4DJrRPc^O|jyzRHnL>f+n zAWI-TVoXoCAzPx?1v28`1WM2VxX6Y2LzH$+k0Vn(l79YZ3+qTTK~78a?O zSVhsmMaM11LDc%FFQ}>B(FxXCSH~?JvT!Q3bb))6%OKW_gQ;xCpU^*vBzzo#^dHd|1)(@uK}$fRnd2#{{44j+afBu@Qm;VltM$=tmm7~|#Ao=nxBXxlPv*q^fR zLzV+8xI^QV`eO-vYRsld%TDOy>;z|P!Q}e^4J;7yh;5vj<$C$NThEJI-#0%)e;Ypf#v0&rvKz=R*BP(SBD{<(aoToCQ{)z~> zU#;y&BTvuails#EX>+Mz#~LSW)2jfNG%S+e_IvqJy?G-`DbgRzoj!pTp=7PUC37#+ zuqm)16jIxpg7Dd0{OeV$g!bFfwTCf{LWEW)3qCc2gva|PJ9Sl00#!5$YYHvxobb1~ zP0yZBktBC_I_iz-3JYazEH#~z4}kmufjH?yWfITtig^2BD&nDhiPD5w8E)%lYlGIx z)&X7mKis!+pJNvpfz*MACk@oSfz1wL+(7R3^@im%ryI(ti&lWO(jdVrbk8578PSkx z(=RCadC}G+{$C=KRG3Hv72|G=h$zqdCt4yorXS*Rp-B3KmBy)qr2>EXZ(KB+hCV9m z%@;7iim+teB}K?dPi`Bc)~xSfxU3*Sq#yL5NDJH`ii$VF=1L1#V8Hs%lB{T*Sq8@g z(VPxs$4$=34v-cNTc5ps2WdAZ>u~D59@FHMSv^1syW<8P?%=*j{$L}_uaXGtkra!8 zdPfmF%gj5z#KfG)%ir#k#Il7pj?}M25Csuuql}|?O7$8sQY1)dGCkwy;;T-GI^t+2 zQwm?%;r$^%-6^|dnU+{<*6?%8C7Ca?}l3;UHc%*}8C9TT)zw#6qgzfQ-^NwPf*E zGgr!1Hg?kIvvJyK3lS1A%AZ0PFpDvc2Pbfe=gq-Vup&u=+;}ubi`mc8^}jXx=08sz zJJUez*k!YblSpfh_flHyprQWS#Ca8B5in)8|HB__9rSH0{x@6}8?%l)cV+N*EXXVY zU?uXAby#a;cgpBrgt%8p;Gigt0GkvtZS^{ z#XvP!iHr%l%715t5l^^0y1 z`TOzWS5qz7h6zktAeyX_krl=L&axoPII)u+dv+XzBt+31*Jyz$Yw9Yo=otYYw($_L zDMyq08a_2D0B609A*`hz7&l2aXhIvFdPKZsbk z_OeE90weHjNKX$LLMQ|2Bk$*2g%|d$^Dxldv(FDe{3)yLrYkIG!Yvv*J`& z$%aT;1{#)1`1>a`Q4DUrit_q4*<90Vx%AATc%$iMiN~V zy`Z|>T!n58MCaSqyVkZbEHH)mW!w~$^ksCVHZN7aQJg@Ry$=4qa#xMF&I=>t$*U^G zj0s*90Qn(IzxY+yK2e*VQ;3ID_X2g?Hl|=Uvg2D&_&6onM2WFS+3BBb9tYX`-=Vt& zgSst?H)~+vuxyR8a?~z8;C7znOcGHPOV>9Cbg5LsGgivJ?f6(UtH~vs-XZav#QvmS zHnj4X<_1ruZZI5XKW{@a@v}d0GR{3-@F{$NrQ^&~8z zk4RHHQgw6>GmCSUsQL@Sza!KF!Lo=&L)^L~@PLpT;Y2LPb<2Gcp z=;rz!tEPe=R+YG2_Q9eot3H`gF6h*N1e4c&Ts1K)lItAny~UCVMe|G%+84_0jd(Xt zuPIk}N}q0Q(wglDKID;;aZ%-+tOd;}oaw?IW8G6puv3ML`?4W(0}JlE(yIR8G8Yz6 zb;epck$dFP1Ghz-7vd1~yh+h16!ek+a?Tf-EMhB30eML|dV`6# zNZd078TRHK1xsEpL|^O}QERf*?{7PfI`LvMJ;Jp_!Ia`j(4m~r^zYzcIUA%)4*M;l zv3YzLHo6)t;mYJ^`bYs^m0Uw@-nschz9qKsLi-bq+#0TO#!1cS>EWPzk)2YrKeWdG%SkbcKi1pUVfg{`Q$FY3n2_jD#%js+X9sM-?oXyWm zaUgklJ6aHZ|Zu&*9&+-q+~%&Ow9<8}`r5b%#Vw5K%(vO`Q(hKeaX_bgYOE0!j=hYPklN zmJZQ6$=jup4Hu9WD0}t9|Iloh!%`nG9dK(Xaq};p$4HJb5^0$)u1c$mz18&e=9@Jz z$_RclGtFN!iextO5^qc~Lz~AEbJ3tjb`|9^BAP)`!P9YTV!wm_(fOl=-0T@|qAaat zmU2ya;RwT72&i*Ts6He02|fF^Z|M`>HC{E*OeKGbjWxvZ@USCLat;Ctit`7pprD|s zq+?_}EwBAQ$O51OC9+sulfI)P>@5~HEZ#Kw+07lOYQ%IW&ee=f!Ye3K-%fI z%g_HXS4tOVfeO6Z1%x2ScGYDb*UnqYN5b0CP-P`_E?DYc?e#?;g za}%Qk(E9%dwsYt{knm0^;Qa-9jrRHTnA5f@ZpyT&Q^x^eG0`9E(Fc5gO+pM0dfDRs z7uD|QSyq;@12j!!Y>fq)ZgjezW`2T?9H%x!?G5@1Zsb2ABd>utF=6Hg<_h?HlS^kD z)AGcl{Xl{6)LgmGTp5E0?EY4ZB<%I!H=jBlgs})FYtp6*?_fi+bo+Re!O+cc(H;YCCrJvSRA4*gEJDd zqK!AXYjWb&pF<`Y9r>^*kbB8R-f%!*SFugUe-$FPcmd5jiw{S71ea}~I9L%k|Jp|j zUUM|9G`T2Nq)zNMqzBNi!|s-4gOvKuN}zNQ3uMNSQriaVsalCOMwiDLwbUC>OnLS< zbfOrD0k4AnlcRnsO^Xjt3mP;UFZu#^1crGGQ+=1b@sp!(H}ekLw=-yznXD(?ek7_& z*rhL}9_xMiI&?MFD$HHse* z;nIsZ+tYjWN&ovOT{5r}6svEVhnQE`hPk*wk0>~vFT0HwH@(Q7Dmq#&oMvx#%NKoT zs~1xiCM#%Jj!OM82WnqJBAZ8;kI%D`oC1W@Qzt~h#&(npgkrW+XZhfx6ZZ4#hKa2| zH~ABmMJ+q+3(ZJpt)dZfhi&r=6qK$6uD>De`TOF41_VIfdne_~2`kQ6;6I-?G6yog zUoWz{61MA1l|>O7*Z$jEjUXT2SSNWD9>ruK{F;#N^b!~5>3SEzEu|P7Lv_Q(3GExPf1k#_V&dxV!wQK6PN|^bwnNR18hU!3 zZF_DdJD_N~Lr|5BOVl)^=Vu0+{oB4%Bp@`;u9B5*H7=rO;e6OiL+;V8S|FUz3I&SO zu(w`M1a!{G8~b!)F9O~OXf4IJ;@rSCS7%4irIMt zd}wz2AYFyOX1C>nc<4U4>ECjzk_)k8R&DOa9>RCbop6$vNc4M_*uKa1xeU0*J8X!v$+xLi`%$>(R#<2!3pmuA-zHZB%d+i^B!;&C%<&(6y}K! z-T@)~61Dcrh(MdL)e~)qStUwp6nwOJw`-!lW259-VlV*>W^>FO@V%`de@uG-O>)4$ zGh&GhjNnMwS`L@T-X{$KHp$*A(skLEM?n4B(yUQ~P7|={dDv0F?Abv)j^`>%P>6>M`I$z# z4d=QQWWYP(oQR8O*8$9!WO$%6VjM!IyKBh&Pat@ptSi326$rRYwUcdFmFoBm6f4ZF zSMGxYb>I|~up5SsoQnT7j=nH379L9&jULEBf-~^s$LgO0A)|wZq#Qa%(V@S-xGA(N z4v%YNZ;#STWhgA6%AmD{ytJLImSjT|30bl$3=XRZ@j&9wbL;>kAqFhj(q-|Q@b z`x1tdUxf8IC>iMME>hG>%KH;QFBM$SkF>1@j#>`UKL8t#ixsPcAYFlKFX00is?%bi-`In&IF1B}&!zbG{W}QN0fYC3PMp~A zQ(r!-rOu}9UiJKnsicDkspXuVSZs~yWBZp!1tB3m>;8w?#n%@LOmYF`s%25euj4oh z2K*(Hfdn@(SRIw-O3d!FGq}VrIrlq2!-&PcEZbk2jTubxA2OP15Kmp-*!(Z|iycHM z9C$ub6*3HDd>1Y|K(K_({$9z%2JPT#g<{47tJ>_(f-vZf`^zF&!9pwm90@em=nr_^ zM~46nFc6FeEur7Oky^3i>Ua9LE6haEIUNIw`np&?JU#XN`GX|jbJymE?jV*~M=}wP zn_S)ln85-yfxzc+hVWSPqB`q*_rE!sE$<-B$VCBaK4UQ%_C}#m75P&`)Ur$va~qgi zh;>mcWJIA@;Q_LF-C+Hm@A|&06fQ}IHDNa5gY`V1M?6@>93)G$fy?h! z77jQRycNe&4JnXLn?#Zb*qM0w2m*M?aEXc)E*HsfXlPJL1Bcg&-+o?gy?hPw)u(ab zn6<@=PBAL@dd1V=rX8jwd?ST8_CdXmC3q3Y&4{UK11i^)rJjB%mCR!nNS8Z2V|?z% zjsDZb$&Nkl7l$GMb~&-WCNdgn?3>|HTtIqyg*SfsJGyzA*-jhU+r|>x(ASJlaTc3k zl6_AmIPFb^h>YqS1+Bn+-o7sdKb6=xKf3KSm78m2sq@RPL~P zz_H&9Y|j1>auFw>r}O;<;w4Whcun-af+P82f+(QtD%&XWG88d6xOL0O^5*WgDKqTw z4QXQ*4lS{k3oQWty1P`*ze@wo>+Z(tt|8uV#?|CtVd>^agkWC48;|?hO4J|0=TU#X zM0!pz{MRr}KVAn+JMY-jG~+3VV7qiIjsP-I^zHlOaOS6AT^Q;jUP`Wu`>B{i&DmL}B>Bja&@&@?axqylO}3 zV!(#-Li7d}>S>zD^*W$%EG2w*8~h^(A@ObkxG4+Jxz#+wv_N+FWIL#!?Nm=UYY4-| zN=^PAyh;5=MGvoZ+8Q1th;Yw6IN^<$8-Kr+QVq4Wdf(ACffTJQ4@}heyDUY@)Fn1&fQM%0;_m0%h=S`*2q(R%m< zu)FQo7cRAv%lQIL1PMc|gg$6qB{x5QnA#a($A@Kk7(Yil(rz2R7>~Q0lyU1x@7^7N z6iWl=;F}rPjNZf~Z06wHXCC3l zR|*+@&mB8bGL%dOfG>wxfj%wpysy9P|@6@DU41fIcN z{m|G5ni+Zwa`{u_?>cK$`R@h~0GTeBYyWWLg@E z6%C0u1MH3lxERWeQ_>ecBYs#+!gi?UzAM?%zkCu6nzb#20=M%gK^NeLtKJ`6p%IOl zN`ADYGNh*>5ww}c7MbxFnJ^+Y*p$sl1eU>tUQW#Z*HXpEwJn>qy*=y`7(HBqc(jg_ zfb*BMuh!d~7QdY*g|o6qXXn>DnMk({2kz)`56pEG|L_*QP+&$xS(u-o-%tp+D9Cd6 zDj!J7k;wSmn|^N4{!u{22-6pCT7>LB#W7T?KR5A-N~2L~eSgfHTcZ-gVwe#0(L(>) zm!SA8Bq>8rn2CV4SBj;~^DgX<<5&1dKFZF}1WW-4c%4u;qW!JnciiBb<`|aHBb<6} zlt-e@(6=0i{BP74jqC5|lEu5>}N@6hz>8%Z^9duxU{i%yD{fJ-@E@`sPK@xFA*pBz7LnpZC z#MdesHmTi%(OaciRUkqLakbtW)u?+-;lbB}de3f%V`y%3hbeTu=(6d;2xm|zG2BvB z%XqWY`OTbMkQ4usD^J2c2`a4l&&EvYxhlaR8S(5jx@JNEW-if5SlZp_jzwpvAY#pz z6y)an>5gi}BcTu=)KN z&z65dhYj4D{oI!gWl&^8%zk2Z_1fS$;q!!$x&x-ZJ<(RkFfotJOw4d58qNuCQTkNr{s#vg*Rt3 z9MS(WKkG)kbtbQl?b#w{DMTrN_ll^`XJDJcB5w~ZtKF4eRq{TU>+dT@@#LFsAPP!T z3|EL2sh%z4cHKdKjVK+XDP-0VsBYDg~I2@ zdvT+9vYZrY?2LnSM-;o-5qjF8J}OwzU&pj704t%5hXVI!mJbjkworfVbyM5-(_KOj zQsOjR*pmMyLdZC@lWFXLABEM4Bcl(`Xq zF!~Qc|Gm)Z?>~#3$YLb%+0Ax@>MJQJHxnQ?4I7nBCiwbA=5Wc~$_#(70$v{Yr{)=Z zwF0uj3jEi!UloGL&%MvEJfotupIebv+T0OV&v8Zi$2=b14$Sq@yw*YK+^dTP0P3Ap zf`ASxY(e#^+FZJer;3OTu{ET1AHsp~0RB*=w~Tlrh27*d?Is2!Iidg%e{jhy|GGlP z^y9eQy#Sga!{@2#i}NKM!G;Kux6=UR0S*@d39e`IXG?U$V?aQUY>J*i=^R#dMTNM8 zMA#$p{N0VYnD9+(8VnG)fH>{D(qU_44vvb{pf{qSwST>E@W}RY+YOO8I@77`& z0>lS^Pm8|ft3Dcknvu(2=9vp%*jsbf4t$UeZp}x|Eh-iYnm)TuM?Rcmq|Xx=AyUG`6?)cTkS`n(B_d^ zj`8Hb_?&wrMSFtIenIZr{pzqXCT{Et@Ul z*_tL7#VL&!T?WZ4r&W9x&*`0g`79xh)9O{oEa6b5``!nW&p}i*4}E=}OxLJWM&&)z zNc?em2QsMLS|<6LZ}v!tSb8(XqONCnO=mU!XV{m$ruwumFx3K}^j}%w^{!(Ik{<#+ z%m@c|TF-h6Iui!sM9d~mEii88;{uph`Kj&6w0caHEnRD*s}HD;a^nlX3O0Ih zULFn7i8|uOe$Jnc(&AU@F?Bg{fpr!cQ&T<|>&VTtw$fVbx(QJn8d<#qM^|M>^ zY?Z`64rb+BV^tbx`J`+mI^u;ZK7ZNo3Et}TbxHmxY#}?WF<0vi1jOR^5aLC2Q?9q= zYEn)Xf&%tT!vZ@NfNuB%pG}2`x+UETg_7|1bSbyY&+_->>|{g)R)^W=5JW86nczD3 z-2x)Z4Wk9;#JH>XUxG{(StO(l86}X;b)%>}CcnBOA|OcK!<7Qp!%*i?dL}qQAYnIK z=bB6oT`Efg`kh^e2Q?K9p2ldx$18HPombm*tDtBq3{~~wH@|n!mcBN6&x{iwUOWD0 zwG^4MHvVV&lzqR@2n&XRk~~}jXn5#& zoOd3*od{PKD9AQ#ztFwC|LnW+K>4TTOnniK_h^Ru)6t6e{^W{3o|=+%+MfQ)KcdXf zoOFB9u`U9=S=}Osu?ilQ-n(21d6iClRe?9riUymjBZHA%@k<~9w?f(s@uYzSGb~5{ zVdHY3leQe*g(m)T92QZm_)R|a#cHt6=wl_rm&C+CaA-v71gmJB_lwQnBx!Km4TM1W zYy#}_=Ar|&03C>(%wrj0aZK4eDL!vj5d4y3dQws-ysi#H3 zBtzr#%PWvk+SkyU(j}XqY_au7ReF@X=v5__$8{_ z!{hhV#^bi(Kt_`r*r(SqpaEK2fNzP8MEn>2wv0txki@XflxY6TO+hKtW-} zT9`Y{6v-6TLyl>kMgJiQDqA3<_K;=J>_@Nd6OGU#S;yNYw(JN+nBz(7JDGhxusp5- zltRC4h}9w8p23a*s^3~*IhNuUJxz7fu|KPI;O;i+#r9%3Gq!A5-o8j80{%1mYf@V< zl1E;OERDc3nI_XpkciyC(yRz+-NPX&bMOmjmo1*EQ;=bmi~GCf!zwq6RVHTNFw@2W z(Y0gh@R8TNFg#kDX=Oe}#N+k;_OE4ou>?YaqU&HtINjP`r)nI)u(ofj?NVFSFeu#F z*kK18I1|!ULg21_xSvYx#C1EcYbwMx767u^VH7sb^>X(N0@1Lr#Sg`5ro5G*1;Zep zMWEIS`)E$Q34W*qR#g zkD_^N6>0OB39877ufLrh)?|b@vuoKh|^%<<971B^nXkfU^W09%g1n{kd zAMoDMm^8Y4Vf+a!?MFbD*_W|V%6LDv&GYa0~hCijDBAYK2r$1Mkt9`XX6?%Vw=nbO?*S>PJ{Zv19!j* z=1|fZ*2YoK9D1h@pO+Y>H6zCWU^E*^i9lY^GUmpIF*EF1M)_3Rur=}1R*V1bVY?yw zyC{Uf5Lp#Z10w|fP5)f+C);VsrbgVBS_*0#4)-T0v+fEV?AqbFa1`b9m@lYBc;VKP zENaz(8) zN&uqK5P99n8p(Le4>zNyY>$r}r@JgjD|Eyl!M|Q9m-xnFaG>ICdD2DP_2(4mANLCMMi|Pwf41cvP!=pP%(A z{b~?X?P8yu38Jl&$@@E%_ciK^lD2>C$5W#G@A&K$`G2yo0yKh^iej4N&3w{;bxVIP zd498PP*zqB1d{$@zEZ8-zbtCT&cm%{#C6S2jrql6T z7v}XTOe7(S=BnpLTOiEccoPhA_Q%ji*B{Uop-(q`oBM~w-)u>9?v`N z4r2i6-Im_-$f1D&sZj~UNfn8R2Qm~(AL!M-QDE45n$!oq8{s)4F^=Z+h-~ewFR1oK zoNk;{0b;q{JX75G+01YL=h&`o1Ykk80TIS_MEU#1_OTvbsze7^?%EpWdWY-q`;NyI3faE;I%oh9}(FIp2jZOR$8 zs&Akzl%3%4$25A0%jxIA`Ix3COkN~nI^M@w2h#|*u0NGIniljxK&5~XG84wD@{N>M z2>pP@+ui6uxUi4?t7Mf=mxGq6!Fv_Q>d!cR#28zCh+fJnG%7{o-bj?G<+adHoKUz( zMrk|vpk5d5E-uMW1qTWEnIE}AnMBu|df$LaPV#pS^|Q9g7-$ai{O%_i>W!@jUS733 zeL)}L&7pknJ44CbE_?7$@YoaC5-vKFKooeR3Yd0b2GI*Ie}cd*mmu&{HckmhD`+LfqZV4+et<;iWM5*0-;HPolGkj#SsVeGLqnb5;A~@ zb?L`RRuM0^eC#hC-UR@BgokdwZX86ZJ$&AA(Y{FMTJ}_E_WqYCsv-tP8tIFiVs4iG z_|bDMr@5)UiKBi&CFqc(X~yvncWq_(@d(2eU;B-F*^(j)% z3C8gj*RjtvvPn9|pdq#+**=iV@5*Ii)g<1w>|eN-YxMRMFMjY~KdDACPM^V#O-w2; zmw*jQ#*0HJ=0w|A%;jeAk2)D6Yxd1y%*CKpFN0nP`;&StK&nyFWb}I_vwsCP^-_61 z?i0Jqs-W!mf1}u|3uHM1ji7I9(k4U_R$}8K5xF*T+u^NwByN95z1CEvTTy<55nze~ zNpDPu_0(@1nYIW1J`PV$MijEcx70M{!ewIxZ`?4@&TkA+0TlKqRTwcy#7a!?=#f?OrJ>Jh<-Rad&G-w~F~06gzm59n6bsa!2lr3*^HZpdd0& zG1qZvmnmJFR6q^-5Sl!if_5(h`rq>Wd&=oFw}K`nRc{#$+9L1Q{gk4GUM8$!VY34B z+&|Z;xenP4vAWh`nL?0*`Zff=_~e?wJj^(~dbi!pn{&Hgp;t{e-QE4*Qr6Xt1}0-{7Yhw+eu)<} zQQ-g8t(+3I;7V*`P_YR3UZT=9nHIS9!Y(d10%%AQpyS(88B!$9;ksu#|=7Re4h1dyAaXt#> z;G*e+<}`z=tt!JtS!O%adnM8tkI(lKpH_|+av>9qemhNIiMGqn<$0!26il?;k<7E; zEy_6U@lx($rz_gP&YGM@M0JJEJ`g3N5Ko7WdJ?L*)|y8+mG$Dv4NvTw>FluXWDWls zoyRIN9)3s_Z$MSEYA$F&_;mQeTn6bu0==)kRT-uq(eoHA?uCPF$lLJz8&s++Bmu$; z-8*UolNwOpYfV5k?(L=&l3MLax`CK*Ilt2`JNeDR(`cDKV*Vq*rvlV? zR83iEC=ssJ?l&JUL!@&-M`7_|V@b(6|1V+U>TLx#@O7NM##41M(raI%B7@Y?6e#~i z@p@eV0XYY9hS-5Kj>ruQ+~)9GS7*N!gLb=fG8`!}%}VUp&tsV9Sin%A!;PtCo!rDR zO^x1$vmGch92KZS9C{XfY_@(h5!@>h^LOwNUoM%#sFO0;G7ZOSM3{FR#n)=LGloY; zcOTsz*S_`Da_s8S^kBsbPm@l3yWcIT)J>MN6zhVF#Cu9Yz=~$CU&$AFW&aG|cRQt& z^?}&jrI0IbV=INN^&eX=en>R=&Ad@y4Xn9bA`VRGff(Ww1by|MTjelJtj+E1HMUE{ zYG`l?*twAqzQV-En0ERjET4r5CFFpCzUplz%*;Rs1hrx+k!|7YXBW7c@I^#|E`Bl0 zu`d)EeH)(T)7HjNS9J7cO=ZIg@(;?uzecsH5Ibsw{GwhEvF(e{5iL{l!o|$cn-EJ+ z6dUUebJ^SccKjQ)bN#?NgOeAK+fXz?=Lumo0*aVdeutfy0QuFZ&xCw-a$YUyB^D`) zlrV-&Y~%DWF2BaICNo1(Zp!BE;3I?`BlV#lAL7xoXPOGYmNpUlcA;9dm$d>^_x$e0 zor@es{9`**X9f}7jwBUTp(!mTMJD|&fc_%HTwi(liBbNM)&c%xJ?6@XB#@u(tz+#@ z!iAP>A{NlF)833zzIY%3q|ix=7-l!^*S?1ix09_LGOwIOc0CVlF7D^D&G)RX5(Gs1 zVDw=Skbekj*o4Y%o+}J=Czo^=Lj|>mE>p9hY)1%0eK!eVvDCo~7K6soTDg^wmL>M! zM1WNix~CN^=pJ>S!}E?v5Gd$p4{K#FgulIVlvf+bK9hyRi9W-Y^^N#B3tsTsceQ%T z&d)V}cViw#(6oUI(!hkWdE^<$E~4|l57R~&(pW|lU=)Zsw$5tP(kC2^#RY=)(AU#< zk1C>UHwl1>G-@FoM=ytvn@Jj3=jkyC&(R9sD^|D6LDuNs|UXIX3+dsGxFk! z0l`rI9&K$8e=cs?#fH(?gE4!}@c5q*QZ4HBRQ-W6LCy@Z;S$`goZvV&uTQbD_QH3b9tpEEku{eUo+ez@|aaN|dXe z3~DduA=ve~>uMKI^=N6!Obg%pLf6o&6uTArPE`)-Op77x)j{h&nP^! zR!7QgkJ%vm!zn3#JN-w5&hN+VPjykspYer_>J@AwleAx0oPKq2AV~azSPC$Mt5lOu zjDt17)77R9zb>T^8%P^_YWX&9LKo%J8d6sy2PLlptIM&xbc zA6*YZRfYT<{Yo;z?kctHe4Ga{DjCU8Zn_=df?1z3@hv~gh$tp8>%tEzy@x_gD!A0$-*V7pS0UpUj~4At)G9~rh)9^1rWPs20{b? z*@;?5{}vH8_G_smvzN1EA4P$*jit9lC?zzEk|LFqD0~_}3c1Ybju>HHg^{CZc}O^C zm>`D*W3iq$n;mSrT~aEyvbc7X6zPX>LKj0+U?2K++Dzvv&FOMIT$L^CWaE2|qn4|% z)D>VN+lc=#V&o<;Fslx{Wm?!RWGl6y?Be876hH`+Kl$I7!531nBR>_@V8`?FmAF;$ zO)ea0kBZ+T$t7lv+44j|1Ow|L2cvF)lDN>qr|I0V32bu8USdi{u%uxE>F5%X21Jov zAsneYyWd$%N>aVlx>${Xtt3$tbXnXA`ruOzjU4(!Gf%&n)sjU!X3bLn;G_}?yCICV z^B=!o5)W<{)KOz1QC`Q2=}X6wl7dW;5yjyvN0j1nLU*(?Wtep1fI29VS-jYd=RENw zoGmb*f`$9S1bH#vb+)Yo1Vq^Q2w6V;AJ*O}y0R_m8jX{RU9oN3W`$L;ZQHh;RBYQx zMHL$rbH}!Icb#*-@BRuPiF-PT%j&(V7yeT;#NhwK` zgd+0Ga&krJ(gG5BkX+re;W_t}0bN1I1dh0R2*YrGk@?j(P}Vj)0|;Aeh~HSsT6KS! zx7kV~(HuQef~^;QX+&e;z+^JzREq;M%@=_L1^`RUxkd?g)gQ~cZ6%Xh4%z3P_A?*~dL{kcH&85LU4nV{|La z6|OBz@GW|Pau7v z5;X}4B=>D3Lkf2)%F4Z}tPW@2K}=Kah91}-jW+Xd`xO=|rl>Ky)zDPLdI7`{f(PfsyF;_$3l zlJY#bGD~c`>zLy#TWZBUd87GT9Jz^PWU0k$oG)VLVR)r`JTMy{EQd{T0fsD$V=OC32gj-AHoP^iR<=== zzkQ=|D3bikD-TW#h!V%Ki~<)IENluTo=KE&ZAT_qDWXxQ3>JDUtW*3Z^4nPySz+L+ zM$^yQX|^sWS5(7BH^bWwW7Ve#min@htFpL~2Zt6tfl?r!6tWV_d+}YwX*SBXB--Ac z2k*(^g4*f9C!c(?LRKe(Q3zNTqKbV$QN^m(g}%3WUzK#h)t1G0ll(Ts!t?iEFZ3!7 zWK~*K=e)pbjczfiE~)S!dN5eeZ+UOU( z<7nTf3T*=hqqrOZ!3#*@&(`p4ezgCGSc+9beEFUW27J79lx3(GqL@l{5!0>a3Tk$hnHkT`$1^eDIIs334s z`$|$EdC@%F2N_7&eIhSW+`is3 zy|j#G=FM#3j&HkT@FUs9spfdzv~^}Q8?X}DWl0*bAYrNsuDA7o_H46ci3}jH++-Y%_J?oKb2Q@;r5l%TOTXuty7_@aB zoY-U>JAeSjdO!+i-K%OlbLks82U_*>YG@8)782;cPOcZ4irbGLTD~?ot&3hxHlD4{ z0*nZ4%U}qn_MXO-OG4ePBZG72jrbclA1rG9{_$_f*e_dJ+aK#G+-Ii5Km+S~r z&GWqIVyKn_;%?5g)n;)*1U}bD=29B5&E|I8|Jb*(@q4_l-QLWO*4h%Uu@SN0(*>(4 zRXl+uCpR^wg<*P31fF+D?(d)P(KniRPcEMvT`wn<>CFHq?S_Kx$c6nlz@Meh=+8Gz z%eiwkYvNT>U|(Kwwf8?sPaLPn&Oi2fh9@g(&eJb%rv-ajaU`I#Zd51Y|23xd$qBmAZD zVA)@2+Uwon{0rKWOXH4J;$Gt@4Bs8lTwSSbUCGsx?JGm3GT=KsazyjnwFAbXH%Xrd zoA!Q05sWbm9gMzF{$i{uThvI3Vb{ZHOm2YRw|~G9bYX5Ds)Owi@M+^gQC5@AFkQ@^*NJ zYc$WAoJm1Dy&&wa_95>X&d2&?nWcGPOD7w`n~=#CeC1ikjji?=oO9V+41v*W!}k!h zlWdbd^te0|sh1{9@Vn%@DI0w`MpVYf1mxAgc63#%J`Sq(8uDye36~BaWqr+LPJf(o zJ7bQ&X3Z9S+6E7gEB0`AmpXjh^qO9`b?hATsr%?ojSzKMAX+TIYmHCY6SX`8??(_aInPFi#Fi>rHEik_~$|o2N-x z7zVql@@S<*jGJ&Y(Zt=fMP27uR5B8z#u7XN0+UT(D0N4*>=+7plz--inpcFC$?DCO z_M#9=OKD+7w4q169KqH-cvMvO2wn@uDfrS6_4U*03odliy}q3@H*>`G;wS0#OGXiZ zh0^tR#5rBh`9c2UBSP}S>oA*FEc;WSe@Wpjz>4nFvX^P<#q;xx0|So04;Fmx0nq#T zP1wwgRoCK{-lpG0LezuPZmxeRnX~@MP9?r$TaPO7h<#bWi4@c44kf1us_KE}$o?wL z&OyoS4o_8^bm^m0!NC3K2VW=WSFfaxz?dkCoh%aWPa@wHw^_p$&48dSUvQwVM0E)> z+!2SF;2h95{N(P?rkXpTb+EHz<}yMzBb1a2I$3b7o}p_@JkTB{N&vEU^PHll8=zS| z1k4f?-zJjFo&g330#Z9)f#<5@@*4e0-e~W3okp905iTNuVC*}v4JszPRz+YO@3Lj{Sh86~hg6M0LeCJt>>70;tM5Fzsd#fAR}y)_$_%&on9k2Q;WIas;C z?jhipjhCXkx8M)28nI;n+pVdfmF2dKF6M(3t^DZVG8Zj8EiVzY^E$K9m;b zt&7h%3v0`*luf9ALnYzM7O_wVIH+;_^D~tL7kxsF+V;H$QeT+q(yvFpScFe^nA|sJ z{GLoGr#_U=KhhJPM+BZ?vq<>ah&Mx}_Llg_kSom$ZGI=tk#7jtkZj?(tK#)$SFbZ4 z$SbKs5IR5fWX0u%FIWk86TIFW6rRxK^4~}gYq6mzsP!z^r9k&#fw2<(SXXKEP#e%s7^3aThJEsBd(6Db%ae{E$(nUv$WU{U({A7B_lLNF`&o*=VIg)YLv_gY_9(GE4@T4 zLqO)mZ6#|MN*E|cKQ3-F;xHP8s8pv9=47;Piw}MAyJPfyMBg$Iqq!^w7I(IL>A#iq zWu+k^m`a-L34yeu{@M_Lk9b|Nvd*v!HI_ge!gL6RGYM^morM7r>i>jPHPikZ@`1uGlqu2Dw@@^Yc}53RgzgS+NPA~b>CwO9W6LknzZHegY~LllxOZ%Ww(gGoWt!`Wr%nIp`J#p5FY&^ z0fCB&YQNnJIui8$e;Y;IE%NT0LW;h~f1^_0(#OCsRN_bXDRR((?_c3Edi?MV7@GVu zvR;p)INg7Hf+t*o}OJPMjjV{jPptLMu%!#qwaoIoPhMaZ-2$VwD<{A&?zeBzPRearbSXCElmCyN04qs zC$A_x{QHdJu%LPs(0O`%l)g3H?shSeo#7Q`@Kl*IaOybC|M+wI`R60|W6tz5>*Hi- zY9bnFV$J$g_sFOIDT8(trOe>U=yLC0;14jH;d7$2u}6$V~_SPBf!)=uwM26bNT zftRD(RLz@X>>chTsTl9WWT{bZhZ#pNyxnYFl}`7dHuSiESmE)K+ttZ%Z>SseJPk53 z8T3O$6AJ2b0a5bH5ZE>j6+I^eRDI%!@uX$s_N+5NdfH=Mn;$}I=mrRY- z(`(Nkx7L7#1 zx4D>)l%<6siy$;csrshK=OaB{42jaN`6%u*^>z|m2Dc-tLd3q}Ti8d&jLJANEv*@1 zJ*CPF#2wO&!LysRS{fSk=5}<$1!5e;azpWfr}Db60QYz}u;6y!eAkPI2T zhdHXGJl9`f1YWJkKVCFwY@3H&?64j2B_I?fFAw$}FLQc+x)yeY4ENu+Jtio>X_-)? zQvWgri_2g^(x_)!;UGnC6?pbC&@fn4&>Oh;yhN#TKhu>XI_OgL;nH>g4Ax@ceAu7l z+=`~m^+wgKPK6>I)n8gipoi%2kO@m|SW4nJ^I23j7gEiyQbqCL5)vF(>lujVjxw@H z`gw%9XgfHS!WsgHP#wc@w(9>!nig4yOnlj2l$?47MivIpOXYqcbH=I3JRBdcHS}ku z7WwXBWJ={~V%R(<9|kSQTlMXja1xaaYh=QFWJuI=uo>D608^?qwuBA1vk<{7u$ZRc z%WcC-&`@?~dBF3)pYOEt>Bw-mPy;Q%H(}R5U9>JL@g@1<$o)ve_*I&75i+ac`~qAf zVf^ST*|@et`)L9OlN;S2H_oh;L~LJrLIW&51|;cwW}X%&2dv)%d5(_ao=Oq)%2)wz zKqtv%8Ux59-$qR--#xE}rp$pW;qJvSloPKmmm3PHUAwq?jx5`B+GuW|i{C}>nA2fC zw&-J6y;kAXOoMlNTGg-zi!*y>0v7dfU&c%5!{FfH4zMi8{j7dCxEti+d@_y0T@-wI zI^=7nBd5p6u9WX%BU@u{|2{OFTTg2Lvc`GasBc{M#`~Ggz+AokK^mYfx0oxzw2?at zaGzmiWrbGKzIXb*4G-^preYrl@Z5;%(uUM|R67%8to%`p>gwE>y}s@M@d6isLMq{JBlq3$j2HaO z3*GM5GllQVd@hanF~?bd2;9>_mK`!C=AzAdju;Fqtf5f@xU+VC5I@;jm2(}p0(I ziwmTR2iOd&yu#RZ#?o07On&K=s4maMNf+ca>_%fMI6WVuLY7}nuRLW7#F`N7q(Yha z`sa0e&}yRSY594WoDiWR^!E5%U_rqkYrkFYj+DeCCE@hEj4bVq^y6uEp(cK?fZ28& zQ{>|}JdAAglJ+751PuQ?96`YXI>BrCeXj?<1`4=s`EU-!B>e&~8LRF^Y9GS<R7sO`<#=P1k-4$+gx8~kL*P8}qyA8D? zIa_?}BbW#)t?s#qSUjM|&6oWNV=vl^boMkphcx4!NE`*?2a2>(u@iX@0{WqQ0jh4R zw4!j4(4jMHQA%E;Mb!FX)pk6n{-M)+?@bkchy}cy8k1+6bo8XyiDYRUy)>m3;;Sr5Nazv^BDtl%I{j0wlNv{8#xbKLhVsVOL z8&9b{x0!Hax}Rm~0M(=eAwcXIo1OieFh1=`46Z?yjau8G-^`91e0cUPBG3C*Vp)q& zW*ZtzGPB*s5NY@Nx4N^48MFi2 z^@7#F-qlBMDqW0?k6&Btnu*LXHZB5oee}ld*4{brd@GUd$fv^$Y{UC~J_9A9ixn0m zqA|>g-;;=BO>8B8kk`5RVE`a8Y>v!rep^h6O~At?ik}JE<))T?F6{0u_Ri;6JKIo#rwWZO0R(pj|2-9%rczn2z+_#XVTr|<%FfqOVW7mRCrw0710 z`sTZK6GBjg`fk+^THTjgZEuG&u3w~3XG^epeL%k^v*(?8)oUD`w+%6@mCU@#(#nsJ zswYJzWgJ&)I=fJ988a<*$9Vw$<9u{AgNBp?Zj45_0CcXv-=%xBtq9%h1T>|%3ASK5aRJ(WnUGWWY=VM> zL$jwqEPQ*|zi$yZ=nMHs&-+#P<&W&bjvfZj`&*hXLiGPlfSjw43sFnGPRcsuQSQ`b@pI*vgy zaVqK=9yrqIB<8+rd0-|s;KaY{eMTY=ic``4f=drov&6AKQbgmRuN59kg#H%uaPh8SMJG;3WEXt`x-)a&Rk9)?yyVA6h&c=PZvf3Fxk%iGv zZGaeWRWFp4d(^#Jlg(O;{|8b16}qeHl71XBlF2hvRjbiS1xgR#pB(`n1_H!ih^GRh z$6hB33NxX-yIZ=0&(}NdA8P$r*pzWubsoE)m^W>lG_a3+4KR{ZIv9WkHhu@2?^)EI z9FFi#C}N=!S9jv>g+x#$8Lwq)#fZLJt}nU%{2oxjkdP!)T<|-dE1BHPD=gn%mMNmszyQ0w)u=0USZpAI zhnZG}=o}wY8{SyhR#ZW2z5N4e?2@_Y7 zHZr6*U{s;DAFhYGKzEZm+4qi!=U7hdf+EJ*>h^ZLE*L(q%#3O)919{Qp2vHR{Xlnp z2mN$n^I|@f+-SO_nMy`MVqs5lFO`F*wu79HO+!3jM|Yzi&Sj#19$)Yr!XZ_RlyLZzPY$%U~~%JK3lB zvRoCGrtbWFhW{w7!ke!BL^=w*3=B<0`t|ui!_WwmTta!#P*-Q;vVxY^{+rGpYhC*N zMI*YHpq7Br1}fOADX-SNK_9$g3B)0ye5B3ot1jn+>cr-12R_`7JtLJ#V!DMSeYEP_ zVVTO4NNM$h1-IC%wsuo349rk>h$v9H7`4*AyAUh;lLc1u8h7vr+C*g6En=+xlo+i2 zF56+}u|lg+Tq=1uwMluzrShN@H!y8E; z3{Mt@8Jr#Mw2A4V%Y4QiUXPX%8tTpo&i)E8=;y}_8#J+4SYKgaoyazIcCIS~$2Wy5 z;d?=Mx#M;(T_q!HY+BlNdBN8cdnnY$eHu8R&;K-W&#wc+$Hc9|WYyGK%MKlgkZrT_ zgvD_+E~KOVqET#Jb#`nWIEWGeg7c!qD^K;VgDL(3M)}fTWjWAj^t|6a= zkwLf0Bh{9^T1*aW%GVttxR@F2g{i{6xei9>XG*X?hW}5T#^Qr$BW7}6eob+@sy4d9 zcX8&7g939IV6u&N*KW7K`jt-zvyM)r+vr7y7&Sge)ef@AiGhQRfgN&W?kYy=IqIqn zuNC~xdlPRLj^Wy-keviSzFNK9u8g;0B?6eOvjSIa0-II2Pv>KYh10FZD4A#PM+G~L z4cKm{t>0?H9GVbASIyv4osrLoI}64v8WJ~j++$@DYy%x-GVGg|FyPTC{F293R5W10 zbW157o>v@Z?n5P$sX>Vw+;n5PCqFVASTe?;9x8frGvFQo zjcV-BmiAAKfTshy*eXyO(;<+&>C7b$3Je)X!o2XM52~2y<*z!J7aSH4toIUC zVgO}mZNKY2jU2t?tQ7BpDA3}U>x+J9g*oNULCZt`H6Ob?=o@YBLTbUx`!~DCV)xDI z)TwXg&H?%w%XHawmJ2tHi$k`vr z2%vzL>kaYq+4sCWqE+|ce;7chR)5Cx1`@|d0zk_5STmBg*vzassC%f`tDiQzrkLrO z{g!nYz(T3hnY;fO9Debcym@iq@YIY8rdF#9$qO|w$mh&xd6HT8SS^^hOSt9!o%reD zx{cEjRUM}X&&4<(K-YC;R)X{L(P#Yo*P}gheJJ79m_(O?DY96(ripZW;E?qJ_;6b% zSD5?Ev{Y=C*s{RGh7=B(1($?;5mxS^t~Hybk+(?T+dEhvwi^um zLFcn3R1z+j@8YIDd)v-H7#tyrAt5T@VpUkEG*`YSy3O@&KhqJSh8+UxG~2s+r>KZg zOY$)GpY8MSX@iRnY74WThcO*B`5$!00}Ta6Rd?Qhf&5<}jt~vJV7onbD1P`a5Cfuk z;0oOT-&cG#Y!j(|3`Tu5V9Bt5xwG(oJ#W=zZ+kw-ascKhMQWFf_C^wPcW<)(!~VeM zNc|TlQ5*Uoe=gS>)oE6zbK2zy-JZ(tm8+D_EG$5zQjn1JYb{uvy8c{Rk3|0J zjb3;o^q0IK|D_v5{=RQd4rF9x&Q=gie?&w@ArWY4X))kIX-{Nh%$f8W(nvrIX5$Pu z&+0C)-_EF^&W*WYM6FR1-SB(IGGJ8$ee%;MA&is|4ApS*S|4W@A2iW>-nk8xbNkM= zH`)AHqb-z1fWotg9GtV@D(FD^w8K*iVILDG#F5GK>R2Oknyr|e2t)!VLtnrg+Z_S< z;{zB(bT{~p607~EvyUJ%iDn(EC!%A6+s?vRhL2LEHWctcof(F?;s^7AFJlDoM8xTy zZ2Lq^1L084ROkS&Q@q}y2rGQ{QxP3>`KW`s(%ccYOIe6HTe=hvHQcCk;Z{33z&cPYo(&HCu}XQ>GqY~?ezsSFS~Q?m|34> z4?78o9g>V}g?)uWGzgS`SGW4?iUVGX#i`ei3KDu2;_mt_(A)8zCT_aD$diI9@A85B!whah*GhDq^t>sB(CJ8`quS# zst=L=_Cew(Z@f@3VZ)O2D`?Df{*D*T?7>xMYFle2S7r7sVHsi_gO0i?DE|aq24TJ! z1ZLk!`~G*KFi1K7w>81LSwk<4psIDScM-#|(v$C^kL4)@vRcYs~E>C?Btv(Q#XfiB- z5bW@o8T4dM-eDh`{dTF*Y9TEnYJkOJz$70q$mp{#kq-D~Cu%X^QftntXIiCUL{=qw zat(#Btxm~Hi(1gjcb7&qh&0N~TAYe`*hZ#P2*5R;$D(7&YP#V+)4~EoEm+BlrD=s4 zHB3>QE4}_9AS;70CneKVnwaM7rbLY_*j_Ci^7WN_1{E|y-kQv-`zKAP->xCK+}mIk z7)MCX{}LQXYHC12YHDDhWAoGkoGU|$m9WPm+DH}nNdqQPGLuzH9SjFsnw|3k8eFZV zQ>sRl?ADckVRtyTf?g9MZel>g#5q&_&FZSbM8gtxbI?;$jQNEzr&R0bgc#iO4QsCb zNePZ#^7IFAbVV7>H&H4ZPm}W*^)1^T3(-R6C5;+IOVNA$2d^U7$u4x>RXZvc;~^O{ zE6BOCbGGD@3i)1Xxm6{-ldi9s2E#MNsa}7j0&L(J5FfBp`3USkqc3TPce-Ay-9A@M z+zW8Ff?38mHm?>@GJrEoEL~elnxxV|kNU~Gly^LWqKa!2pVNjK^YFFg{7rhnMkAoD zC}^a5Gfsz%g-)i}0#If>!B8nNS%cs#h`(QL7}zrBA~n_(u7eO}Z|;XZwMVwwYbs1~eXy&wG|1Kcd}Cv85GfR3)8_oD;J;Wl&w{_9?4EZ_qi-{KVtv(hHeB<@ss1 zG;zmR{61^p%akA1ye|{(=?WDNvwGtWM%M!@uW!gP<;hjK2FsYX%XMrvUk&2z54&DX z(`oET#qM(rIg;$PG1i21-2lC_)i_egOvM&-shB9SlnrH+)48vFdmhrh_y-hqH+a7_ zOiMKw^(TT<&E!?55jv4|G{R$2Y@9{I!qTciRcxL!)$06iErmJnpU@MuK{UKwxS^~i zSt=gYjOJJCM`Ut>DiBSz)vtAW*}9bH{YAqv>nymN^UpS7v8z*Wz9wuXM!$!}=0(hz zPISx0Tb!1O>;+=9`AH(kN#fKAr^U71W4I19;SY{x%-Af8s^beyZo;oqZw*sRZGYBq zLc9RFy}JznRvvA{+qB9J?gOC+NjlGm-9X<95E*RG_W>%nugSBhq9Y5x76DoiIVgKWRH| z>=F+;3vRJ!RC$4l>tJEh7x2I>h&YX(w}n+ySIV;42VUgRot?K?-JsJr!5m9W$$GoK zqE;t}8K>nN?~BkVU}2WjqOJa^=?Nbi)Xr4OC`SsFV1;4@%xj=Z(xPCZYYO!BB^@G5 zSqzAX$<|a`vJT1&cU{#pNU0nvRNhcY&gqV@Z+A3ZS6L)2-2Dt#Fq~bX z2;-gc9Yi>unjB^JbT;yNT;l4;%@CnwQhZ5TlJZ`eK9nLbKYrjQSQqK(iph(6OGJz} z1c-7yYOBG(r?}lT!&EGgYDabG&GR%$jK^N2Vimb>!j9`UbmSeoJE#$mB*8zq7$Z3D z-p7(zwR|@)2;Xh+LONald1=V}>%w(sf1`O1A-N>PD`Dpdn;)>;$)09k?bApEmyA=W z9jLZ3-4U+beiUdEO+Y*Tm}g>10?0ue`j|_JAIMLY+@2tu^_CX!)zgO8QNo{d>mrWz z|L&-a@PN&W@ulNBUA$F*-$4npFO-4iQ=|QU2aSLQC2`5L-}M0vW`IJj5Y)}+n#Fj| zSt_U;qED52pF01k8eNTtH(EOK(~A%=&MB}u1uLP;hNmd1x<^3DH21S)}()MsENnbEOBj?5@6uqp3Nb0(DZ%xnG5`f z#Dv5j8B<^TVIW3sBkeVVSVzImvnmgIyg!T53}BsCY~g^?GSBXb3O}yr*3jPs>PyUwAFSpTH;~wfs5Me=PMcScFJ?4SY4N=VmMcMdpZm zhP$RUqPLMEubqs1;7B@ZbRivEtwe ztAh&{YP4N|iIvxmje#=78%Rgp5|L(Eqjzob?T zHW8<+#`&@w{I=qYMRrUJw=Cl9P6m&|Ias}XjG(eaR%Tdgb0`yC+u4^tLqnXl+Uj&#drN~ zojq(~7vW1>k*-#xkW?09*pjgMQ!$%hjbfL&De{I#3SK^;3^u$X!D3M&%sQ7}=^S+| zH3=KAaM0fQfuf&P+w**Y8ypgHZ($G=7MsJ9`Q~l z-!c3)*Vj+h<6J^S%)r~obg({s!$chT+9TlJ*dDdFv_Z^dF-OK^1PDSB$lF-9ZY#Q2 zmIGnMRL|VxqW5}!knrcLPVFw*2mN>^ClwLBF%RmfI91vB?x-|15XsLt$M6tL!ng2M z0%W{1ZP_I(MdsR*Ku#j(Eewn2BzXUuY<8t=ibn(^4k#V_sA{=+JFw~1h@KpsPoA;; zNDA_sadg`;h4}T1Qb*tP-@FbS*v;YOK2*<+{B~C2|-nfx~I@c7u-Pm<{}+C_sS$6$YT5Y3otf>_;DCzudQhEFpvz+#ZFA zXaL!6`45-RdxWWTalZJA=Km*0C;T@@hoE`gwfw)=^nuw(|5ot-R&2wp_X00$L)Cce zI{)vrzbpRdJO00~=#As(Eeq-_M0yaVQ|SLs8Sy3Q-5U1=lN<$NPiWV(#vakZm5Ir+ zGD`{yeucyH9J8~{P~>jw?~pimJQ0M<%u$eS`p~N zFb5}JeqP?Y>?isG-JFft8FuuVsB-2Hs%G7b=22?I=W3eQ0Z`f9VT@) z+Er98PwTjI@zKeu8R1| z|6{Zx+)r3E2%!egQ6|D0$%=lo_ty%e(Y|xS0lUA_FEsY*(s=`E6>w{#7Z$f^?NCdp z-#ylnK{gYL-=~qfwNK|)H3PrDnid-GI|~{|NLQIZuD%n_-l-Fz(3`C7AYKUkB$PutDu19EWT#}&FrIsMMO-81*gJ+(!n-Vi8lIt@C zMWr*j<`a~Zt#TKe3ts-{72KqkrIoipP(Q51!xxrXGqbYNaF{NSqr+0?v}Z6ilp@Ge z3l(boTuP~{tX`%niP#EXjO9R=?Lc1=3AbSM`tDLL8V0aTN-y5cQHob0iB_DXVw7?^ zQc~Qc8zUwgZ=6$9)`^N?%QU%HR{R62(p+_MHcnPj!Fi>*&+J7&k!)PNyl;}XqWhi0 ziPUjdocp?cKi+c5vO*%2pO39twMtMaakobk&#AC6y1jS`o08+an_1LSHlL{_5moh} z>WMB)V39*6i}--jKw;Oj;umbjou^c&V4)+qTW`(qyi?u*u-SC-^5m zY~!@BR64TIp~B?jg9G$&lUm+lj`Mrqgyf%3GZ9IJ^iPSDgAR*Yd~+;%;`pN~EFsx| zvJK>i!Fy!{@RCSvZ^+7b%HIb-Uz>YQC=;SW6bSnV>GC&)59s|iLvI# z>z+1(3PMTm)tjsFO21|If5<1rYus^qQOa)E$qH=peqte}$Lgzr#^ZEikN%{&@=IEMSq8m)$d`(=Z@OK&?P!p6(KXx{hb3|s(3#|8!irq)4|XwU5Fi8 zNBI{G9=EUQuXYpc6iM`o<;`5-%Be2}i@vrN&{2Mc4tZ=t&|_Ea_s;14!&7hOfLM}( zk34pB6LoC75GI&oFZzv@_>sCgJ~Z^)5L}JrlbRFt-XPSMnZgY|c$M2}DLHK; z!=nTQ5*(K%+56iIx|lOElu#DbX^K6*WytJd`Nm<_;`ax1<0>Y1fJ}R{C7cAD*m__) zjw8aEbP9QLri;VVhdmMj<*#J7Jrg;DMYNPWDw;2Swc-0?ztUs79FyW7t_Z-RoyH-m zV!M7RCLn4sBM#75P%f(Q=kPQWj>w6%M_{MW)rzUgdFI^lLCz1c55XCdq+@Jk`0nPowUFAFw1dRWXW`nU>hxRP_wG($>;>fVq!nX&#^ z8)W|z?0}&wlP#IhiH9{N&h^eSAr&s<`#{jCv=neo+d}j(ORd^OLRONCmeZ|Lil~3w z?kx7+p(*8=e@dlkJe}WOjHuIpE9TOBKK=!HoiE@@O(KV3o zr12}~?A0bGBUBq1d2%j0Rxy55Lg6qBE6&+eF`AI41~XhJNMxDfM7^ew~Tu~%h;}umj*WC zio4Ig_EGw#Qn1cLtyG$jxgA1*yDMcfKNRkba$adykl9B%8CWi`fm2&@cMgQZ^+Z_jFWCTd73$c1 zwk(Ts(fvh37LKhU%np|9ZYhuKl10!x0eO>xF7{O+2v`}I74FZ`wWt|}#%se>?MT^1 zwJG&Ly9ug_frP?xI%`u}_~|`yBD1w&=jq6eQ2G&FL4{d=2ejQbJP%f_3)o()xpALW z-Dd5gWX-G}ey-{`DJ|PGp~5Ah`(KikUUKPS&f{FV-IsVd{^a|K-eZXT9Z#&y*jAx$fuoR1L=77d1lsC>*Y_{1h1)1VF<>UWqmJujTaM@*4}|M|2i; zyw*Jv7YG@G#enc{vDxScYaV#(jV?09vtQ8+{gxVTEZJ+0R?gBapMeQei{ENN#cnPwkNMO zEtw4;YGd4x(GFSwp6SA)w=za_5v>_&hjIk>2I}r32x0*`R$D4u>XcUeIx0&JpH;gWC`9E+05l4m!yYCrGNl?gQadT@Jih$h?>+5AVkHChc(WZH{k>ZoO z0CO%68$NpJqs_U?g2t@5Z=$kU@t`qy{OzWht7s+o>t==MjaZNFr^q6QEM*lBKV}I= zuT(>;pK~Tp=vqj^Ua1)y3>=aq7k++g_`TKfS@1VOTnk8v6J^@#1WI+q$ihx1mVL9| z*z3e2a7atLn2Q=m7r#X;i9>i#2U%9C>eNFPC9h9sJaXPre{@NleuUSzG85KS)4naV z`w^#`$|uqqNKJ{|K!J<=PAsf$f&DW%)$Bmr7WSz+UQ9Fm+BlGUguWJ7HBsTQ$p(u? zPP+|LWb>tPcuwIjW& zq~bhpNa9uqIeI=d)-J@o8l#ptY7@;7{Civ9rvt>Bm_IO^3AVImdFj z^4a7?efxmWs`P{8$0ce{iPMQy@la`KShCZhADNk!7H@ILx;jNj?WSd5^GZ+)I_nsm zVf7I$thd|w(bc6mUC^&Vv7`JntZERu&)AOg@R6*erEt-&N~6MO!@#CUc_jl2E`W86 zVA2cwqvyK68^aHszCWpxh1xDun9Z{MR;vC}L^N@7D$*ek5d4mWy9;AwkW^0KXKjF) zmcA7H(^#p-m!*ZU#NGzthmsC1%-T%39Z8dZJ1ZQg^$LQ=O0%0p(s4#mdH$TKC_Vv4 zRk1o5Bk=^oaAcgLia{B-L60l{C=sgNNDg>fdd0qDEw2pu$koGHcp}DHVAq7D#~h2) zL#*{4rKHOH(e=r2(;Z239xY{jw;`nEw>l<;QiLppDE}hE2SWotgeVleR>Yy^$?%ew zSW1u4SImN!{g8fTx#itTf(lke2VzR-#(}%m=P{7 z@IPk1n}is?R#_$&1xpLpn9;^imBTvo|IBPk{NT`(Ra++^8W)Z(bxBbuT>ch?z@s_r zW=SKvHz~ViFO~5|;_Fg`K5wyLIt$@i365q~oX}Nf7w2@h5E|1j?N=T6f!QB&9udE5 zQRvya$~NNxD$9?!|HmRog0cmplm$Q+HMAL8WFN|DvL}gaXksWmxM)T*Ep!Gg&D2e> zb<2~O3@jm_O_L${V-{AIA0}C~b+H;KlS9^-bV4~(?Rx?Txb8FJO<>nDXc=7$h4;Zj zeaNa~`rRyFZ?+~<);=D@}9=1SD-NCn6ouK>;8G@XBy3V^Kdv7B%qo~xY|w7kRD}cSA@p{qT1H7wTs6(p^0FT$Ucp10t5f z-)7_?Z59MGHkHd$WXWSr8c7YewcacCq#O7v<`)s?ZLH#X zWS=vvYrXMJ?y7^+HljgF_`O;%RO(%KHB4wA5Bl&xw@~6G9yXQ#alNzR`mhfFAGUY< zTuA-vA{0R{^dhT+wEm50<)5c!68^Bf$gwf8z`9rk((MG8FPNCvP$X-h<3TZ=b_Hql zex(mz_pDoXB8^=0dK}wR_hDJNI1>z}aSd|6ljfparGJSxg~A$g?14V$!uAyE2VXv- zN{>DL^DKDMt&4ID93nZ*ap%IY)WBx|b*RYzvh>~|;vbXQ{#PXZPZ`;U5(l1;OYVb6 zFtTgNeIx7IF%?6I!ni%lJE2nCwruQBtuYVuvlg=I`BS8)lk)H@ueM-n;pYne>kkj^8Xwvf`PIBu zCA+G0+m07|?uFItjxir~TMhgnvCU`&W9!T%M1m8kYu=l!2nV(rZV0I8VjJWH2ZIYZ zdtXQFkGg?pB}Bc9`2gm3hpV+RDB-&-FDK5HyoZ^Bjre)ow(aq-gVAdcy@!PsEfvfPqgK2=JkT zk5{VI2IBkj@~UK_g6B}qI686kM1r-YY9V|H!PU4i4R2}aFU#j}z`15;)$#jGUW%u@+A~Es~GKNxPg8FIX z?3AyMY|Sq&aEY!gDOy3D13-yYnDd6HKYC75x2^*D3wwZ_zQ= z{gN?Q1KKsvr~emYUjY;a7d0v&psb{nl+sFvGz&;ciAZ-W-Q6kDEh!yR(%s$N-LWjO zbT9SR`2Kk_@6Ei&3^Q=|?u}FToO|NxSEsVFaZL3C-%d3~tL{FBS_GPQmvtU|Eu7ls z9~f1v=2=vfQb(EC2)>#4L^s74`tt*^l0|5<9dbf(Q*{2M2z}YWkm-ZU27!~gZkNG{{@lqG2q z_UVn{`VVSAMgGAQFYwMpOo^%7oYRA$Oqz|eFYn8js1LmgqeVS4p0s!s3Q>hvg{@!R z?zIn@yGs!2m#~hrzX!YkwFW``&pLb{{pYzIGI?zi${JYV!-A^JEYt7DXk&5M>A#Kk zxs}Bfu-3^(6J~4AY<$o^um@oonBu6w>$bm_>FRRcY70fQPis@IyJ3o!EnRn|sCUPs z*&B*eyWC2Asy`qQ=Tf+xh&6Ye$51r|UKAu>LIFLf1f~4+OR1MjTS#8j+5UhzBf(|V zOiPHn@(~Vjoq5vbi_5rn8-qSg3%;try_s*a*czYDxnf>RnK2(}!7@>Ae||nvD_xra zm9F(gqhO6v=<5{XP4wHw8Mwrz>(AheQ=T>EeS>*I;uLp+E=G*;CH*;n&EdNb(!GuC zyD9a`M)*OHuz^)QS*yb~rh=LJ30uP7O*xDE3mOJxZdg4yXy{oflz1= zG7M(Ov(oR5$h*#?Xtd@a{Z11F>q^4d69NCHj;QSl#riFB$S73Sc~cL@aBh9c@|D_d z8#B5=EKnkw%%)7Z<>Zpj1(I4@?zE!T^ay^+ng(sn(rnaY4xK4o(QZw?Rcg$nPx&48 zC0qK6glKoK$QZh~#g@y(JmgTqV2Mw18@nRU7}uq%5>{-e;WL2Sfre-WHTY#=1_;F+ z0DPr5TUF;LC7>DNG@B;?6p-X;sO8GeNx51rNv(?K9W6fkg=F+q^llAmZgp5pHD5fl zovL1MR!4figIgO%?%cL;Nf1lTOx>V?@0!Bk&#dkJ13gZSTr2T{&RvOy?^05||Jg<1 z&>@|eZOSui9YTQL`Fh*yXVBXE7y8Zg(RRu;U zur~5JxQ>lT3S65}-Phle|12qB-l9RxrlsuT_vNh-s-1CsL0Z#hgV-u_sx(570s3it z_cQX)2^5KEywb=?X50<4mFoNpsT4bfU6%#%;wNgyr<#o~Q9)QjO7GnOxB0QT#3-L; zW1;M0vW+_82B&#*j`>gYE_0rOjg>>|j88u&RBNsA!UO#CYGOiI%mzyw^Sg&--aO4? zP`yf2&cT=C zF{v`Xvf&%$vngC~X~XQ&u%*f$O&HlrP~5q)_eyjEy_a|}jY^2ikPJutQcteiibSi9 zP*D4vYQU*EP=Jp%Wahk7T2wXp~?BfZ>FqKrf0;%0w3f<2qHe9(wa zSkdv&UasJ$E@h3f#u|L@KI`_g{z<&2?!~B2>q9=ctVMl*A5MPCq|23Q&wjb;<=QK0 z89?c8&jD8GxJ1x%=P-GwjMDs+=FTK6#71!P%ChjBi$BQQUsrY=VftygE$qLTOdpi;WLs5i#{*rJ~G&JX^SVr&I=#t7+$!P#XK!wos?fK;@?L_9`1gq;NL=% zF{g63L&2D|;dD7vhrX)|s_SQv)8Cmi{u;gXwh~(JSKNIcnWvC}5II4IItBtd@~fsn z6MJI!nXVcuUkp%RJ+;rI8jVvMMUNp(_Kli;TBt)n+enM4(xKsY&r9>3!;SD1Ckl`2 z#~g(1Sggw~t58<-t)=$QSJ@)|p5Iy59j7-FI5axvPQFAMfxKZBZ``d_c~7a?*?`u9 zoJ-Z1w&Ua1tqEi(#Vc#yg{IbsLw`p7D1tKGOboZ^$G$wpelR`hlICOK)G<&A^SA&} zedKCh+xar8EO>lLp>de$zB-OUkPH41F>thw+yitAmX@(0!zMv^XJHm` z`<#r=Ti{lvbV~18IWh`oPZ$mQRYyhM>-teYSVa9;9Ne?J*VlGx;0rxNta}#AjwI#r z3~Fqxpki+ObKprb@vVWqD5#zkLpd>2g*Iex@Ow?x5Z$9xIFr@pbO-n@S z>)7D49;S&+XyA7Un9+N&OTBwe>)O?j-}SlRTlQSM*1j5J8geks?~}=wrwlbL=1>f0 z3#T4C*%DV%XD#P=Xh8-%*6a1{KJU4SSDRek>sdKT0jZvP6cP`_3Au%z?49z5S8YmW z%4A$FLf#Z>+Dic}7)nqXlQkN=niRWy z9rk$a-^7Wm1pZ=~zW~W2kK08c_ggp1EUu|D`G!{`F3;04r;3GMATGa=S`>ODyBOIX z4w4z5Wg9?N#342uQl~tHia$}1!Uj2I=Z%!Qox}&b2}sYCPuU43Yemmi-lZ)ag&!!8 z$sH1;5yu&~CqNd&@D-Yvk565UEc2J5A`-tgKM*5O0IO#Xv@VOX&L$1U3zzLYzHy4<1G17Qdg^(c!JE zp}BIe5_k-FMyBr~B!_)mcI^Jnrx${ThUTIN%a#WnnOaGDeJ(rR$Hln5haGtWC}4dl@NP&fA`j$(rj_Q^zgRl;_W9+_FsdAP{GN4;(HVk zsdRld!l#5^T`x)b(o-#Gg2DYQW`>Lj$n8 z-wiR~TruU4k55c^vjy!`+uAckQYYV?v~LHGkGz?7W0wba71xeaxZeA<(5sz0lq?y3 zOrGE2nc1v94@~g{i5ziVQM}1s`*EL;i_Sor7Fptu|m246Cx7_2M1mTQ!}Bx zDxsV{PeP+^-{&w*22T~;ZD{>DYbvm*0eGD2S`_VWWLsFu)#vaC51VG`P^s%Pi2&A_akys=dd=}Rxne1?9mqks!pOa_v`)pKS^@2L)t5{WWsr6Z;rTDLyw5ilp(434M2v8^B(w3fUdsJ`^+4EHMXtvm z!4(Z83|W!v;P~2t4N4|d5v zMkl^ONA94-pRpJc8t74X_e>6!Wec67FucfZtLtrf!5#tpq$oBN`Ju6o&bCZ=qAE^G zgCZq=80{d?a7Y!pp{DI)+^C10@+q!(l*r!$M+AiT96FR>N?hn)lQE;MW+!GO`V>Gc z%@(Dhr!N_V7{fw^(z1t_v>pvaAbq7n z!5;~|F{HfttZz2t!Gj)j!lBDYEFJY-gW6*vnTAlRXE|3l$z;0Fzx(ZIMiw~f*?N1=78Bl@fJJ2#Wx`Pag~$oDwQ7>%(f9Fxmv zEprvn-JXe3A9TTx@`6mQ1cOE}!8G*emE@vYUT=~PvQO`mRdg*n{L<1x9i(YX$ zRBT9O3!$OA!E{B38H8as4A^)vX|z2J3M`~NK0h1hvw=AFD$O)y1W9HgWz_cc3p@Uh zb{}!(p3+zE4j3G=iY6tk(RMKuY2Ty*jo&rN9593iK$6S%+OVNqxswp-RlIP5K|O{M zR{g-wBb3+WQLQqrry(~JDz;}=pwZHpW_X2BfLmijev`yX4K6+p_{V-|RO~ZFa$f&m zwK^S5$PfWTabeOl)r8Q*APb8{Pvre{v~1*oYZgh6d~o;?LMaLF*8r`qGvlCYXS#Q$ ziUXxRuM38BY3W7QL}kq0cHCMP`8ur0sTt+~f$}Rax@~SnzWjPe)^IcGV z_ll;3qNd~3&jj$ARwH%RN_;-$Yw?bf!OJx41luZbzOIi;4e^hbEhW&teYjXyq6B?( zj81584QX3+uGV>uInqkL;eqN?4KqD=e2A|4JVK^y%iU(<(`YHePbprsH5NtKyju}H zg4tnvC(Uw%W}J7HxY$RcvOnV*f4k^9$uf({+9vFGgJ6!;uP6Ov%PYyG^E2)k+J?2y$jd2qGSYb*v9Gu6-mhj;Q+)L*uth-K$C!8| z<7OUBG2@9{`05^iKEM5ejX_{f2$bYVZpcI5D7 z!0jmmo_SU)54hzhxO6IuL}&J*A;1gQDZHEU1l)dPs>-&?G`%`ZoK4JPn-OpL-Z=RJ zFQ`ugv4;wvztQNe4H#K?yE{er^gT#i;Q@g#dpbm+;@7o{UW}r2wyKvSili6{pDO~q zc+osZoThsi$^iL>t{tZ*Mjd|oILctnl{3W+!I^*;;?77N>b^>t8;%-!XK?W`=eI8c z&j(dF9+WMmnRx4TTuixMDuox1YCXR-^12LgOeFmfmLSYt9x$MG&QlF~Z&C0Qdl!4| z`yD{)or$tEZA4!j3m`;BNM^8c>W#*Utc&)2EmchGp z$Xt6yA1w44c$!tn_I#ki@K?cRc1E4R$M@kV@RyPSg~y{pDXEYQdH zELzI4{pRMm`cyzk;Kdh?Y4**?U^EhN-4QS%PJ~Wq(?psfm_%Ok8?n!qG8<*%efwae zRy5sxd?&82<7?mTe$9PnvQ=~ctWfh($3mt zi;99*KiA*NaVMuCH-9Oo65C>$;K#rsvDcV$cCmfbhMYiisF0OS~jzkEQt zjKY3klK&t`G9lYD@Zliy-Dt`z$MUM;FC^BuiQ8Z9uKYb?!oM9oQ{B^rD(w*~4d}`* zwv9;J0=`jn0jXPxnplxg1gntytBjfx#Vv{B1*c>$)nz!xV7#(iA*GubQ1?QNe%xK^ zUyZov!B!Jf4p+ z7_4(k-<(ag9@7>j8br_P%GAb8r}Zv7I4roBB(z5IVzZqgajxOb(am+`!q`)iGa-T} z`xgG=Ed-#g}+3%j}$kldosk=zN8Q!Pb9|^ z9h8jBWHWvmLIVsY61IvyNWkb3054vCX0{C0FDohO^hkSf&e{OWe9$jiW;mX(ve>im zyp$oOWqd#1AcwKI`0LrC{hmn;C@bOe*HBn~*qiG1oI&|23exy*s>r4nE)4TQcm^5F zS{x!{>z6_GqNnF%jCCw`U#8c2_c14)DoVWbHrkUDRbCCR47q?E>FdlXz+4ieSYs4Zfy|V9e%VAZ_OG)m zup-=Je6H4pURyh#7J=ey{u@bjCZnPt(IO@;{d^G>)s&$=o2A15OHx@1T&3F|D1cw1 z3W2Egm{G?4b+v|-IhZ5hbqHhS6xsA^ltG!Efr7~k&bAX_khtu=lwWxqnQ-GeOLvx{ zo1m~MR{O{7T#)?tgYTIxncf?MQCzI3_x%zcUY_{P_i|P{l?3mVu03oBzmbFINhCO}1Iz;>wkLjH57==n))^oVxna zc_-2OPtfLSYSL}P(r$dDX>Sv%q|W%UBif%lRHIImQn`<>tO4E;s#$@r*yb^FVCb9^R2)w)*?GE`Q+zPzwfT+|+NRf?=qPehL%`aS0G_#?&ubwZX=}MWYL5lK=C!F^T0Txv) zZy%MLua2T(7@RNpy7|Gr4B_OmQRjO+ei@0SzarrDsWrbId!i@)#C|}PK2I-OuKJX{ zNMJAQ&jwX_y&nc0&fe79-Q-h!OIMe5Gv_*Ww`&c3S2Z=|xK3gCAz593Eqb?fO#2o` z#Hj4~?NhB-g_h5ql027f0lyMN0&*IqE-z(YX!@&_2`=O|;@mZ~Vja5_!RRTOYOl~t zz7njBWg>UWs~qLnKO^zY4D!K{jwI=bOZJ!};(Iv_;k89BL4YejHZK&vi-^@?M^dK1 z)9+?k5m$_eOE&e-vTTu200=b^BY%_k|7Hhs(ZQ|1xRbm**e;1GtdZ%y~3Bn4Z)dy~yzhyTeG zghvUl1xWn9W*bLVOoYVF%~iqF&JWHQpysvSbl0Vex?zctER3Lg=?};B6rJjq-40uE z$=@cXtT|qvZG0htzgutJYLHRdYx_GBjF`h^W{f?;c8^?)Fgfzhy_d#DCtMX}Z@GgsmIu%p2PHf1A$tE03v7Av~p&{e0{PmOUUTiUrfR2 z;}5Q~nSPI4QT~*|D^7?$Fui;C;8iH#t17kxgYijM2!05j_fN9)md}s>uJ-VMU+vM3 zlZ|(H#3nx%84hlzdp{cUFCjhPHDVZ186RyV<<0Wwcj5N`%^_QdFozoV1JYm&IxAx8 ziI6B_wt{}`8k4Zl<=x%t=_R|g+vk>GLJ zZB}zEriNXSUHs4f6sLffT0%#>TZWPs!QEq+T*oL7S{r_%KOgO&B46{(dw;HfvnJ@o zPyMgE4RVR=Z}u5hdBgm-4%KfGy8BIz51?L!e`T-W6q@wAY1RYp6!CxjzHQ#{Z~lJ` z=B+m74Rw)ULqqBTepXSuSByRai*pI z%~au?u{=EXRpwBs_>- zlr|4{H(r_;bwQI75o<$Y$*ZsnrH)Wzxy`5H3FfX`P8WuI#6Llm;#83_E_{1U%wRC&O&$i4CmpN-ad`4Ffu;MB2YWs!Ae;f-#@ z$sVl(_HP@Lq6qN=ie{8n$ZkA*~^MjvR>$Q2gJlIIUOJi1pPpu3>;F$H0y03GZZbJWVA&fW;r+{kVg zbuJ@s$_<}7pLMUDY5(mcny^GS!47L;9$m2pHV+0cUf{aSBYoO@L;UEO*Xp-9n}&J> zS_zqs6r0=J3Hrx24dy1F*q_rb91fzZ29pwBxJ^HkBkTqeTA^Jdyn?4V5XvAYVvlV` zPtJQ@zhy^^eVlX0((B^gjXTfTn1+X_2;^PK zcQS*^s82G?f&-R(Vcx-^oeHkctCd;-4F-y5%}BrbF&qp4ER# zWrt9lf$!@$s6W0WVnKR*%#r@;UA8~h9M&0l_RP##24ydaQtYn~L`QX8 z`?Sm(xRpw=Af6z|hWA(5qr)zHhJ&J6z4!^95oM3MU7n$eK@7C(XEpa1u_BmXd|~pE zk@N-tv=E*nzO5j_6xcrJUDq4)x4>P4^;8#Q$5(O0s_FP5Zbemr8YlgH%)Dp0$Ih5Z zq!pMgXCxcx?x^Waj}4z&R0Llh{YZA=J-hBNa? z*F67bGCOT)0Pcl)$|-P#i<)*aYS~GEuXe8hvg*XF&j%8^VuAYvWALx@0}EA#aK;*2@Pt{ zpX`h>=3DIxNtomD&M*mi88#+9@S*o~0YjB>m(2@%pjyluIfAuwh8i|d=EgEuf1Zt; z7$fjrP)@gM*~NDIo^&KKNL1dQ*psmTo8Zr*j?vk>XRC9Yl9WboTRg;tp4+EIf;zvZ zi(ECTCk`K&l;{NVA*u36P+E1nv3dKPUx=C9A2}xS!`!PZyir&OA5cf-jV(EoKVO^` zy4dxQ&N<$F&v?wSj$CK9W)K-_DE+MT_!d7fvM1+Kt8UXbk0mdQD0Q3j?o&cIQQ_cm zYQ_;49jqTfoBry> z?e&W23k-$2jNN-Dg`~GG_)ox;9jcN)>og+PzQ|*9D+p{PC}~rl*jTCFKUpn)41avj z>N8+0Jh}S#l^wsls73GOrBPRtU-~R(cFnn>_S5(o;}N1VAAPE~Y0 zu67f@cR1W#9b8YgTJ|=NQm>;f937`}BBQ52S-HLbmUy+}e!LZPhK)n$v+i3x1fymocMaelJ=Z?;QUkFUp$M`PCFOc2bOwNmTK+Qmv2zUI3ejvU+@ie+v=>I z@mcM4{4(tgv)AXaF0^-@!@@yz%pVxC6Wj>B&a@Km(3EZua5M9UO9#GqMx?G!v%C%WI%66qDNjv8IwcGN1IH~oB?QGaHz<7Lx91)lQRTMwzE z2TwUp{6ho`GGu*F-g>-(PMbwDCWtAm!<(R_cQ4!>D>*U9I-l~^_kgX4iku2Uk~1An zMx#w1fBjhP{E!*1HS4(=B7TwY#R)S1oNM%fQ3FR`pCl)w{rRtq=iQ`~lXb7L@d9#h%eBauj=Ip&FNH?n~@0wpr z>FRjayT9KFPMsBykBF7(iC)}GuZ?RhcxF7ZGs{oTD0s6eSafri4&e99eJBz#JVSk7 zVp!RA>kd`|lQD8>+LyFw+KY%u@nm}vbkhr{(6>})5`EEutpuvy+!KZS)}E7Lf;Sjd ztZi+bMj&ypR|W3%8%Hg*{5Ly~jLuDuT5+jgfY&F?u{y1g_zGyG;hrn+-Tsf{)q;DO zmHu9~G)%<7GO#9lnFNu`z1*G5@{J$(B+t9tV<#0Af3>@(8k}b~qtkj618((N>vO%) zxruzNB11fUH`;RS4*u*J;&BPV#P`H(QrJeapyj+8A-nana~DA7hk>o*;mP^5mnXdg z?an{n%)W!RVJz85xc+>AfxYjSV!$fN*f)W=RQxTqusk%@5?OyMO0HM(t0I&11lJ|+dB40 zPxiiXBn=-}WxgHoxKF_DT7@!3IQun^h*#w_FX0*P#76f-Cdarn0`k$Up_6|r_U#>ZF zjbN~dd8@F*c#1tn9d!k_E}dc~WMeKXAMHC2Ofs9458K`KuhL^qE!JO=HyhGJJRCPi zm$lj><8|Dja)Z*mtBQx8fX*I9)=l8}dFLa{`@GROf<5Lgo}0MQc<0p z(YRZ)g$?;Er$FP6`u-MuRB zY6GpAAMYY+<3ujJ{rT>;lLxHtPJ-uQwfCpl;64S+*knxdcU<>{g7mGY$DZH<)FTGL z#{y%clexU=^>E@xy_>#q5ZJR;TL(kuQ5rlo>eaNQL`Glx*Z~qV{$BVnvuYaWsLLGR zd)U;h>3yxs3w??+GDj=X<@O6^@B_oPf$-WTZLOF<8vddX(YRmGLZz}f_6 zkBbL8mw2yykLw%3w^!u%2K8s#`}?=bvvv2Y@vZshSFM=01FMaLdq> zmWoyP&&uM_dPQ1IP9C+GvzXPJ5$8R*OBvcx!AB3*P2yG6k`~zBZc;-G5n)@~W~89@ zVe{1rwYRvg@#Zir^&VayJ7mhYwcNJMf&qrUT$wk>@990?D(Eq!*-8)8YNcPEGqZu^ zBn-5KBT?r@>kK1y(!`(ftE7Z^A}hl#o6 zTED*K!D;9%ILW-^hO2rteO6lVNmhDItd$lo{&&A{IpD>FR)QB|Oriyo-rUafVY?iE z$%=?MhBvJao?2V{w?=IMO)9`nX8i!B%0Xf0<7fAgsv{e3(vjjm3&J#Xiz$SMx3?BCNVf(!|KPq5%+twi*&87Mu@)0>fn!+NVm(+Fh*_G+T;S~!K92toS>^4N~YkqBp zciXo!!#?m2;jP!N*GduCby0?X|DV7L->hbjb&K`#@9w`_F%cVz_g(vA z=@F#mvC@Bf8)f+UUf)f#&p-0!`sF_@!$d?!GxNXDC_8@&VQ#?Z>-p2Gaq!6~NFbSU z@b}cGDRG4*4Q7|Et@mrFf{C7NYe?;AI9mF@r&o}S^-bhT z9~twxuY~v6 zZt2f=p!^S@?vV)O$d@bb+oZ|=fSecxZ=uPa2>%PhHULxr#RF^3{pg3Y#a|>C>9WCF z62qjp*#1pjc13tBtb5dKyi)!bX^Fo5zgzxai&?YdM!Op}u&9sz`!!7~faWQ?0W%45 z!wT}crib2!gzV75f7>BM*^p_^#cXkqZa7vxeA>ts*A1IjcQPkNB&3k-xqMA$3UXM9~80}^p z&$QfCXWb6X|BjV_kJKn2q0Vks?5^4?oMGNsoU8#J^ml}v7d^tOJ!)$jzL`z>1GhGC zFT6UxXJx=#ELDMVykn6MO~mbQFuxB6KFlPXc`wXKhP#xgw7I zM3wx6-1ER(=k@{4=yFG^t&h`4s2Fz#vn`j^D(1qW|KYE%t+w_4fZ+EVBo9Y&9virF z-VbN#v%+hS)B6$^A)T5)Le7@cEYkflP*bk;RZoO^jcBzw_KQ(59Q!g2Ui}J3_`_h1 z$4_P(LLkyS9b@D8HOyTVvP{(zn#9vU)zaD7P=3=(B>ej(>$@WJWHmX{?kE#KwZHIb zI|XzJ2NnCi(`&0a#}v`L0qCudC%m|9HrtQ!nbb(M(H~za;&z;mxG9?K2$Gck=}0~h zeuadg+_`A`XVYh*ehzr!0r8|xOI=yKr?5)`djsP)Oo$f&EtZQ_L}H%u%7(rK_UY)39h1lGeB0vK1M9?a!CH^8PQqu^7Jw29{^X z3v7KIeN(@ckJ6ZlmV&s1nXV29VyOSlFP7dVR~TvTS9m z^U7s{$o;+<0@2mxC~M2V+_Mi78ns2{+q+BY)!D`pl1-R_6|44a0{f3T^#P4J)8=++ zm#;Hqi`ZUjTxfCO+s!k<1ofe32potMt3aLIh+1(Ge(ps zKgun8`cTOWd0v|^x|Nl9xhW!PqayEmDE0l@zPW*qadUiIL=uFv!8`*qJZ3g;Q@bpV z+~2K?gkYtkPp2{M^mPVt@al_7SDPxE`Ek_HixA4K!QQkl_Gr4Yrg{JmFOw+#gU)~B zHTFIkH7*V!t+ps}K?~xvbvYKZ#R>m?@FJ}r{h&z9Yim<$u<@*%7n7@0+ zcUV>)HA0!BQM#9;*%xqSqChXxfz>P;spv5V}Er=P(K-E5nt}iA9nGT4)(p~ z@7h*l6x3sYK_f+}&8&m{*BHpQ3a{Jpm z!oeCV8Nxb_EG{{7tWouonYB^wd;JpF2K`7whsM=Y{4+(`bsLteJF~wO3L+XiBVKnU zcB}#KXEDL%y5h3YJ%ZqyDpJz09L3ncCN_gK#WNR4S6zM}vV+r-fx%bK{5Q`f=gejU z!Mry(X6NE#g`-Auy<8FPFLHqmJARQRnFm}NiO7t}&HXihRg^Xtl#R2O#Kk2Q1X^zK zF_g*l`h#=T-A;njlKGKdUFG9Ea@QpT?@$peffxdo{QBb~T<@uJQ(VRc;eXl&)Y=)C z_eo1PSadtcbs28b=W6T9s+wP)vOS%Pr#_4D%EvgCL~^AasM04(TZdgz>Tq`Q_0TtY66zjj z<86B7KUKigpO}wmF{9FjlkNRK*^o^*c1CDA&wm!Y&fb(=3hW5JFx8)umVm=9-@EE$ zJfs?#e_z>(K-^O0j^ATQc&&*BVGL#CH6WAdZAkRw#6TnuMWWY0Bmt}5cu(oEjAE(F zOSi1eOdtO4I(5QoE%o5@z|MSxZfz9{6L|k7l6jc_NkRlC4^brWK0h0U z-yAIYO*#m4W!haaM!T7Pr-X^PAhTLV{0fr0L!GW(6{MI#_=+SeE}MSiy!cq=coX3X z!#3JvH`#HVA0uPGTLf(SuYQ(mBs6LuIW>fAb64~OZz4o2)zag1hcSh)!JKp*XT#n) zPY$EJNF^NN#rJy>j!7D#Z*yvpB|;UMiw+0LvT;Tk*6H2w4DA{!j2jaOq2oYiy4|ce@AHufwOS8Pz{7j++f%r zOHU6v2v@1z?2AO8cC0V=cgak*H7fg3Rz@&}ai>Ni^%{wnWo` z@`L|z?KxnFh|$zk58Id%Ek>6AHUxXrX^2|fDr{VX_1VKxa;uZxR(4!1eT4>G*kSoq zI)bpWNi3>PHEM#CTR4!?-SppAQPSviXiwEz_r(yC%wS#v^He{4@Ll0rF$Q=oGfdbG3T|iVAX?j@FOB2kc5z!7NaD&orV@P z<X7h~X zDLn1E67&&_#nL$YeZl3*Rz-s~9>H#sJCP{KPir^EBOKRE^soKS=lp~$O8gs9$XKiP zvcj1e;mnO;(0g><9^2c7LK#U|cbP{IQy01EC|4tB4KT9Z8^=z7clw&K_0wofSM3|fI>1jX+SHbD}_B*Q*IVy%P9K-S%O*-sG?P4S1Se1{^eqTFA@Q6d|d z@y~b<3^5SZE#mZEauov4Ma*O7Cgznjsm`SR`mph-$xzy=)0p(H_o6Y8eqr~(wxpzw zD+SQ4x-~cx|A{GvQJ=K_k5&HtsOIy!6GH&gW0P8z?)n|ybaV5)OFduhjtWK@3QZix zp;ULyhS4XZ_o~nEtD#KkdPQV&TjDx|EgYOK>7^+yO3sVD z;`Err%N^Tl=5AWx*BQf1d^`FtoTiqHx(uX6n*u7Us1~j#x~jSCrbIZCghzP0j`4a+ zwxPg+b_w*}6}DQua?7@Wf7GcjG`hv0J29?IrrJe`LKett%Ti@y!I9`uW-%$Jj&mP` zolI>B*2A1WCr)ZjtsM~7ZIpap<;#CQ7kf-Xi|?*WuVY}wEuAGxu7~rmzh3WbH8*H1 zc)mV~;6_)Xx|D9Qmn9pi3@C~pp@NOmSp8EQ2idV8;#Jenba)p+Sefkr%w#!ndj6noAMJA>vE-qhn@dmd=-lgNBwE#d3PV_cM&VN{#vG0XK2D2 z@TIChRJ97ES>uM4ATCPd2gEoEqF1@-psI+Y?@vb@qlEklkanDt_mid!kskZsPJ$RV zEC@1ZlK*keSx!ojDb1D#%lZ%inx8HE;=TY$rG!axYVNG>?!Epv4K4f^ZaKMO?WliD z*5?-2xUo>RwOCgRQeb9eBRZX%7{H6r8a~j&5EtBa87F6$c^*?n<25sY5M#;u_b9kv z$1+B9nn^;yS%=F`@~r8|CNU>X+Jz|z(#;BN@au6D4K+DWtT7r5By4^&OCY4D4$Y{J zJxB?uL^D`_ZjV+c9a&czv)OD}TE$b5`9MO@`2ZF6EJ<+Y~TBV zn63sU_cR{waLjqSzX!cZ;mUOf=LQ@C=1@>} zhE=B!NdzM?gZaTHLKl*A9{e+dS`;^^pRCr@xwd$(<~+_!qWjq_KK`a`GQunX@+vsh+R@Yig6%yl%@8!e{@dGmk5XOcAvRr|crqPT?c#G;bV z#)16PrBr%0=keH7b!eDoD*Q6h3p21k&go7r{YX1uI~B?x{)- z(;YxfU`)|AvEiuZNt;yxet7Yp3N14zw92kZ-_2d)P&F^#l|_2{nRruo%khTDSZfa+ zklW?bLwhpoiPe|<@(p0XgdUSzw)l>YH6qpBNav!X4Lr%UQL!tjSwEFYNu%+BVMfd& ze(Rr2teWI|rQ1M}$C zCuz(9SqU0f6JH!!M@f?u#JdPb?MZZ-^iPJ`BZOWdrcP-Pia6%ToatIq$l zG3ANU+US%<{|K|OSBRvg=vBGNRkuAE zP`$e1WSposAwDV)?$FTNr|xMF)Zh9&mVxKJdU==_Iq`6~*#BC5*|(|eZSM}Xct=%A z&R1PFJz~1k?ROLAyiJjYG^GpVnAbYam@M}6NX2wt|3?`QZ$t_+AD`~lv9Q&B_tWyk zL#jLL`uZwjk572@`es+^n$!Iir~78CIB;HS)`4WbjbdV-Pi7|`fi;1?OJwjK>q(8@ z4XO!wWX{GuT%7E?CE4cDPX0RW^bDP6yqm6@p4jz^59EVcv$KCn2J1;!C4D&+ai-Vu zqTD3m&$-ayzbarl*|yc|OsCmS!NYEom34I<$JUAa?U#}74&J^c?zzJ2S9^Kp6@R>V zr(pX0!l&+QPA}89diE8`DUunySH+Hh#p_I(}#A+q*Jx z-Pc}qt#2y7+O=Yzgv+<5Uyi~%fOnG@`x~Anlt(Dj?L?CZ2B=_o?*Js?^B+; zbgrkISn%ewr1a}ssqy zui2}Se%0dprR&S}-S$G8>oI$HzVKe#7qMrtYvt-=TdysWE3}_{Q@rYg?&g1s?zk3C zG*emb`tHWAF#Tlc=w~%gkL)_qY7^MB+TPZn-+57a9Amf$$B--yARY$3XAJLtC-}PHa?XF+aP=^=t_?Sjaf4kY| zpV7|85fO`CCCO!+ewTamkI&^*Uw6*0h18!rc1T8)D(FY=&-u4*!}jpD`!{O))=GQ* z+x46OZu@6&lVrLz^J}?H$-n#8-roAXSf6jx%5OHI^JA+w@0kE;RbhZ*zqI~(%vKa=?y@Fsb=EbzXhxE}D-1aO{1Z?$9H#tH9gp)+O> hXV8ixKCkgV|GD>VVeWB%fK5LJ22WQ%mvv4FO#pzi!P5W$ diff --git a/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_128x128.png b/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_128x128.png index 677d7a431c0d571ab85612e7eec0dc899a85dc88..fd49d42d249ba8bb024beee943c1590d61a279bd 100644 GIT binary patch literal 14186 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

oI8 z{?gu!z3?j(#W6-D3`^@pCf!l1`jY~9byI}Rf=Dy*Ic_u3{uF=C;t|J0|4P;8h;^C7 z3J=jrj3NtQoLXsrCE4On3gCFVgDDfuth($07*qoM6N<$g3rNB A!vFvP literal 20967 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≪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 Nfv2mV%Q~loCIH_AE$9FM literal 52259 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

c0 zC-n8$4t1|gZM|Ja=E*$`4M|d;VR|D{g zK2!JA9_ZO!-ru{_Ah{e(MwWs^|xF0e*UZ*80&> zUzC%5l`fw zkOV?Tqvy9?Uo_JUTyQ|w<>9EMQ<4Z1+AcgUK`?%LSf6qm(o&%`0!~W;!YtD^;n1QcfOCOR4m0KwztfC2 zPbd#K3wI9MJbDgnr8e)t8etNKmO@24m^F&{kqqKx;k|wwO{U+6!=x%mzD-VfiY1C=n`ENGvO&{*l^T@a)pfP+4>>Gg9#P}T<6d4{UW_XsD(GzXyG ze_RKQAOI#99-JO5CdW_PFvJ?aTJEF-K#R13McTZuNeP=U|6F=L?{pvR!*8HFv@mYxYwd5$JhW zp9$3=&8Ljh;}4G6;ha^#Z{s7dfIjs2c1FKu_xU&{@9u|jepL4XGk|x{N81H}+a?&q zTh;&&5Ih9E99s11-MwA=JNh60&ma8Xqx&C!QXw6>Sm)2dFGZ$&_u{z3%}Y)L@cJwX zf#ssF)wMy_rpA?u;Rekyr zCcXVpZP=lw$IlMS5nWU2?VH$DqfBZ6KYWgRnSG;=Wj%n;nm!wT?7TjJ4A6C%?Lr{Z zndmd1N85z}`}=c2K$YuJ7bg17aA~V^?4nJS&leA(KQ?F(e zdI_7CtN`#jl_1dL)R8|$p&bDx1ehGWQfqfNUi;7Q`p{c`=*Mr~utb;>?r0eKyg&kZ z*8At00pVrv6K;Y;EhN}}xTpjHZxRadO5N(0Mj34%s# zVrUcKmul|-ZyT=Buz)2*CJonU4uOe7<_kEXh~0)9Nu2|HHmuJUrXtMC)B?CCkcR>I zF=mr(&=mmhHo!Kw?4$wU)|CUjmY?xH&zv>><9a#$k-z`kj{Sf9q0i{c zv%7V_sQgU!0e(*Oxg-wtP&v-pyyOJ{cOHd+=KqVOy4L7oUVtINmUZv_wfDT`!@qgQ zmQ}4bImoyVz0`Vg0Itg?1nYs{1wo3V24ZfvNku#VW`LO_#Lk65iZ8nH zm_Wz`fyNkN)nLTt2_^u)Gy}7>nP_q%3=d2zh-jNqOGX$_$QEe@?dtj4}sr@Q&64E$FL?~)uW#h*!jpN8o($oQwi)-dPl!O0-!+%Ghw730EawoH>WG8V{h)fbW2xAp|1$ZCyVCzaIFZbCCwsuOb)PUsUWl+%@>bfBVN@ zI`!Pw9u@hpE_!{&`@GnrjlXu5pPu$h-@I%D0FNRH0l~XitP3H)yntx~jVm_Ydh^FV z^TF4@;cZv1l@PFZ2xy6V@~LNcz}FH8fL!z(^d8T_Pnf&W1`I%A;&bI;cyL;~2qg?8 z2&Ob7m_P_HG#J;V7mk#C7$QVr!1)1F%wh`Q2!tkG0G+vkHfaFZXaY+_Uo4@4kXWP( zKSCjB2+|S|211N|(MG6KJsJ4;F)*qpS8-Jp`g2W2wt-!MWegA4`FM3dX99WLVKH@PGHIhYs!d#E0&l>Ob;=LcP~V z>7d~ft@fte%A!@c!1yL7@{CRO%AlsgW3`zD+dBQ%Y|$#LI5BLrX(09 z$F;+aYvS}wVSrH3olP@bP@x;#mb*p60D64`y1?G5md!f2gC5&81Dh;EeFpq!2Go`S zYD=6daNgU~>vJK@CUhfgilX;7x7J2k#+wxA8+1*xRw^MdEq4=uCtVq3VJ3iH!yJLT zsYO6%N2RIui>;?`(%8OPYx_;o2H1k_We23*%VW=Q>-oWBppLeI-f4vAf*{gKhbmQZ zi+-)|cl4c}c=B(5|FNzw{01ujAzj|Ae*Tj`ddp2Wt?^X?b`JvBv7#e*hcN(Zso?_(@)>@5eRlQ@>Ed->t46tBcIIU*0C-vw z0%{6rNWi8cv;h|c8<*VvzBj$*XFl<+o36cPwMJTA(HCpIZCpBjP$fs<$AmFq8Sm5U}A;1tq;nNZZQ_>F1jh$%< zlpmvPf&joi3*#!hM>SO*xoY4=T@NQHg;%Eo_<4o8K|OyHmw{dD^^KgZ!0Wi2wE)rvQ#rq5r0tRw~K~U#8QmskaK%)lZO^U<$3J!R(0K^Cu z+yLC%vH>z~>;(Eq$M0i%69Tyah;EAL!oYYGhlfbLYd*3VP_N%LFgE$vS3bGz*j>ML zuO?y-h=bXE2R;*hFKd-w_g7^u3jyGFoDB(BC2(!P1;K{)>)v|%%^&^5yKcSx^&43! z&`O)_7pEP89|tr*H}FP~CqFzMCO4}Fc{~R^wq0tNGlYR?#G%o0RRjWb0a?UJ35027 z1jxy7Qh-MYpaDQPK>&{~cp8)mf0i(b$8mxNAYL^A{OI=v{2%~0E!j^<0{noQLsQYS z4d4<4>el5I$b~$FMEH(g7;Yd?ayG zOWGTJZ0CJ$>vxat_|(U~HoEW8tqMA(%YpB`KC}EUYn5O3S7k0M0l=L{ZGcq*Dg3s3 zkhuYb09pa_16QoR^Jl;Rwx9U;+pfFnsuio^u)tJN1t##Sb>(0e)~W zr>7nsUI#yEL;>Mxa97kf>VBWp{ey=N4?KJKZ$H?3|DQjsAeQ!gSr6bd)~DBJOYbFn zcAv_2LCj?*0I0<%1k`lwTVZGe%XJ|D{92=7!BtoM#P9ydYv1*=w{KdtxRqCowY+XB ztJ+(S zelbOVbOnF>H31-Z#a0?77z8+Y0IP+=13`3Xr3+e_?n1!m02m%@T`mOjoe+V$Cg`*o@N9SWw$N6q(ZKyG?{4GvVLm9de$ zmxsA51%N+VHFPzbbiTk+xfvE91l(TNvf-NRH-GRy{)5-t@%|gvEo*IJ?|=&eTAYCp z;Kr+#AjpM66`$fH;1gfz5pH1iFle4nv>oiZEp|hISQ79F#}I#pDbobVvH_$R2fG2? z2m)@TSAjoxD-??Y^ z;k$q38{@|g>=lRa;_H_i@MAN>Pp{ANo>iaRmz}w+1prSw(*`vEZ<~jf$wmM$G^hxI zt6p{EwLktJe(1KhzVC*$%bFXRC@c#BN(#000`I}|9^V0<+cUxiM#7;3S{DMzhNi0u z@X_ydl{E+e=s5Yojz4(|uUbMht^jCe_}u_-@A1v4Fbl?xd<8?s`WDL z^>yFLT=oLMYa$8)DVJ5l0v7}f5fBJ#+poU;6<2-mcYg5pH^2M3HA|Z+f&evD3}pc4 zz&E!LIV&xOla337JWX>e%x!y*Am$5A|MpY1a{&NfE#tuUu%rQqU}1ngx((2B+xmYL z0`Nn(un2bCfZAy}h^yQHUc3qH__NF7V{qywJWjEZljN*mDq*ezj4x7qH`Y!?FFOFO6?!0u1s4sxYoH2l$>^H3;; zOYAsi2Ok@Gj`fd>KmXw8cX!;wFTalR^HHnSiAW~-eTHj5wt{0M?vLs-4|=C|K;q_<5iOD~!R|tPNd+J%l7rYmKdWD$_VBuPOmhbK5eU(kGxIy$>{u?R0d$N5 zpF+F)OhUlJlQ75tZ($`rMFRB9=Cf;$rMw}*_gGKg=BEfNKHxs)YHN1pzRR+KPfe{kgqcz#IV@0pLdnAPjK3Fjy(AV9m;ReDt*&-}wHU zuf6S#&1-Z7Fj@ht2WSSq4VI1%A*qptvw7 z*)9N*Fqo@Q&`lE81p=9%fpD(|`Z%daZ{MTC1NU!x=2X4ClwzqCxy|lfV7mv^kcni@d4--HHj4HspUx_BbXEYN4_!aKLAlW$$_Zf_E z8dMawY6t-n0E9;YkOV?T^Dt}-Wdra&na5js^z`UR^IWUSFU>1J8#%>+xKt0V*QnTPc#e@qA>8GLJ|myXn@W^jvG`Fl+%q602czQ z-A1eT6TuoS69negPi{M?9pt${2#ldj4tRQbX7Ft?FM_`7c<123Z4V#qd+wWiPCodV z=cmT{0X@AsAa`}%fe+xJ1A4~y(iQADgazQMBF@$<2!OM#xl%j{12lOA0TYHU3|tHF zp#j3dH3rudmbTyUmMtq^|AAXJyz=dvH(qzk+SMyov@cRhI_;}yj{!3Cs5uI+}&-~<%0CKRqS`Xky)ywOYuwq1ZZ-4*j z(S6&yk3Iju;gjFJXZz@$#||p0_vj98dUQbUs=eC|dM5TR>)m_0|MO-R1i*Q#%8*c| z6)-$N7yx(&Jput?fFN*T;9&>^3txQ8omVft`OfRs-t?x8S6p}7x-}a%EnlP)etf84 zD+>sOC=>vsX$nffH3q=Sl~9Y@Bn6H$7>gKr5G-=qr60hJ+iW>d=h?6X*vGI1bb9&G ziRq&I*pY#*ecMiS?|S0s(2o1}4R62ykfJ)EbHF?3bKtvrPZ*$=7*V#D`OZDn!Fe?c z0^qz>XLVvxD-cX=(lFNy7!tS;z{ZatKy%>oFa*M)#wBZ4EWP#Zn-^XE>P;&)-?Dbq z)vs8&=E`eVEnm8{wN=uF7w$ozkGU1>^^4>h*+Z`ZUCR)LkM|ifL9gth^ z4#4FG@Tl}$fPQFbXsoC6z{%dO1O5FSJ99Xn%Een= zx1oL0E7moy-n3%T$}5*HU32B)rOQ^gFIuKy#FCY5?TZ(;=0gXikzVA%?Z#C2=mG2o zc-f=F!($_-PM#ha>>nK(>>VBI=^P$8**P@Pd!&E#$j%eP2cJGR(Q}B&Isolg8OZeD z4tjWUuzMVM@}7PH^s0~xZ59N;g|6Wm>1V=#IRl0YT;BU*yAW`|yD)HGw_P~6?R2+E zzo~J}rX{T_uUMj^x|*AptWnz24GpbJS{mD#dKB14hsUSK_!dsX^u(#2(^HeDC&o^8 zoto-7g1Rn+-Y$CM`~uJpYzHpk@P?{2MF0Q+c}YY;RO9zB0FFR#pt}Zu?dcH*^?m{L zs)&ne76ib>tnC_k#W@3%aRY0#0WjcnVCOc%!TmYV8ETLQcCCvr@*xb{FFC^yKiYs$ zeSer?myN%C8DJxigV+I|1KepY5L`gGP+>?wl5*GAOJ3*hf%L6 zQ7CxN4Y+ap3=Dx$vW>7^({txPD>*48C4c+y@sroAkG#vnf#vwr zN)*JiKqO8z>MHu-xIljW-1D<~6TF8zAhj{17j;M$qVsVPFBMx^70T*}_9jZFat2ZZzX% z1h_pJ1G$vZKEaSy>RLJ05=N;rgbqJ&;fjch)%AZtH5y*l83wtO(SAhzu8f1$f~!j~ ziVDsRs()~N0-A?p-15kfynKgi7C8S<p2>Cjx0| z6Oz1%TCWOITY&Xs2n|ahmok68i)6-$-A67d#`<~WSIxk1)`zS!W1MVu&Z~M4WBnY+ zA@`r}fl;X2o7JCQ-o2Jv{q9F$(<}%&r4Tx07wm;mUmQB*%pV-y*Itk5+Wca z^cs2zAksTX6$DXM^`x7XQc?|s+008spb1j2M!0f022Sbr4m>%m+S6U)T+0vHeh z4p;%e;bvw8NBBen)cn0YnVG0a#2diz!JCV%YDoJ5ztS`M50QMwW zn;o;hl~n+=Z3aN);jB;ZAOP|O0JPqm^B#t5UXsM(3?~bV?CflF0iSCwE9f`-pMr17 zzlJ&Ynal3`Ry(E_KY=4j6*FZ;<)){mOGM1f3=WsiWc~LL|Kq?pY0b&QES#Uf7x9JY zRZ-}a34er%XuE|xfmo0(WD10T)!}~_HYW!eew}L+XmwuzeT6wtxJd`dZ#@7*BLgIE zKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1 zbf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G0)J^h1hPRs*Z>MaG1viigKBU9)PZ`? z1WtlBa0XliSHKN$3k-lqKnjMzOE3Z6foTYW@DLTEL8_1zqz{=w)({(72zf(6P&gC= z#Y2gZ5RyRo&?cxDDub$_Lr^{RBXk>%$GT@D&7?Df)BxS@M3%+z6yUFe;(hDAI85YkO^7@Yl06UmLMc-BvcR@ z2gb~6tQGuvWbRvcjdBj{|DY1^&LA*&ECQg$SNrogBQY0yvw1HGfY9d`GJ%1*> zA(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIePB}`sKzTrUL#0v;sBY9)s+hW+ zT2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*OzyfUoM{~Um<@={-*r60#U(0!Bc^w zuvVc);k3d%g-J!4qLpHZVwz%!Vt<3;HN{aSypn;Ew-QgOKCU1lj+6uALzaG31uZ^TjeO_9OWA2v&vEi!Z2X?Gg29)jFXJJjF0m) z=DE+~&)YVyXDz8V=CRT`Hx#x)t5ZkoxO<(lU- z$Fyi#3$+AVVL5M!`j4}Yh7b~ z$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$F$X<|c!#|X_tWYh)GZit(Q)Cp9CDE^WG;+fcyOWA zRoj*0TI>4EP1lX*c7Mce#NF6E+5NctD-TN#kw=Til&6#D8qW(}h?lQdkyo#`lJ{co zYVW5$IzEX$jXo2;cD}29FZf~o0{wRS-SgM*=la+CPXsswtO@7}qy$C;RtG){G6@m| zbp*q~0l~Y1A1~5hBwW-M0z&*lc7;3%H4I%9`g0gAEHtbp?03l#rC8DKn|j zsm*DGwD`2sLM35}uq$0NJtw^{!!)BXL%Pao)$UajqCnA+Oek|%X1kb<{!H~qj3k>S zgINo+YO>yEM`fSNQOptM^yHf4Zp$6X^U3>uHD)z;b$@5RcK(L^!8Pt{4y}dOu3X!> zPIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~LQ&zpEzVmGY{hI9 zZ0+4-0xS$$Xe-OToc?Y*V;rTcf_b_jRe-RZjXSeas3 zUfIyD;D24M<;?P;^0&KJ?7miETXA3yX^&)&v@)o&y-KfYN7bk5r0RhhkDBJa>U+2C zo!ZCS*T3Iwf71bt1H}hE9uyqBf5`VxYpp?T#bMmxti#XiqUyT8XMbORMD0lNk2S0CmgB9Cz6E{f`d#}k-uAkE<&OWI8v~05`tB~i zd;ebCJ?VYk{m}=h4_-gadN}=P{bTIoq9+PZDxRu8t^L*b*Ji1`^z5M5V9&FNXOD)s zLoff8`L9pI1<$F^D@L?N>PM|d&y4wu-G6$q^u_SYjF;2ng}*8Ow)d6MtDk;%`@Lsk z$;9w$(d(H%O5UixIr`T2ZRcd@bEQTaW4q8_bRuduwKY>FdBndwWIpWxK{~Ii@AW{au zzrOk4kqcKJ^`-k0>G|P|AsEjSQ-AZE;~Moe5VPzbZ;|X&lx?k@UGI95b0Rh)#2Z5I zG-2xRnsZ!hz0&obdlyA`8xFYLn+{#N6Tkc27SDbQ@gOP0U{;9Vh7i+pLVQt$=uU}J zje8DXygkGm=E`)bT(kYa@vX<&kJbd7Flf3h0UGpc951>bVPq(VkQ-=R7k|M-99Kfvc6@Y@O`6@3lsJFx+E(`cQj-dQ&stB)# zYV=iacHM$Myb2F{`qA_9HGfvD+kk7g@1aQJ1`96Q1_ozf zlG)6mYLW$hW?psP*J^j4*7ZEz4mr_yq8-_9pWr49nM}3Fmu2hg&>PDjnV|867tCQU z8)4e&L{ckP_N`gFE%1G83du3|#$|d3yOAr5_X5C<$=W zf=IJFvhieS_xXL*Ya9KFucBmxs^{$SL`=){bv!YD4d0;l0VbDt3x|o&%odciIGYF>2Kzl@B7~GeV^z3-tYbG{PtV_PtSJ*KYtWFCis=$X~FXZ=d^K; zKJ@)x3V%=VsNk7RA@6NFcJ{LiSCy?T4VocC+mPKxa84Wd=tEz|F!q}We_QZ~;MuUK zV+l9fb=nRq&}IRYBfza8;OZbTF{iCf_US`k#xRx~CBx`2E1p)X??OAd08b2j2XTe~eRys*bMdTUUKG(eJC(Cv}A8=nul z(PH*MV*|8;cA0-+a3fdirVkYAiI~p~z=a;0ja=j;_k%Rrf_8zfXj0iT+`0|JK|RBfKwL9$xY2_$y$d~);ymfN2)RA@(ua2L(~thjAs3=mZgPQ~oAW!n zL}TGsy?-6^p5GCZ6j2Wxmw=CJfubHKIxJw>VV)HCP{{2@YilbiD=P`kX#+5^Pe1zW zB<@DP6MJhtI3b+meqnp;Nosvr9ecgId#j;TQ9F=3Lo!1qi(X zd~nl&FYdUe%FjD>dEGk&v$C?L)||Jux5N9PKjRqRWOU;|`8ak7H#Mk5P45Jrdp4r6 z^MCzoz?Kr=Xw?|1hdk)C0{St)IxPW}N`>t`guIL7n!O{pKlmWx2B zXi$rq-U%%6iMeA8DF*(M=fWwK9ks)r85J;^tUswW#Txz^lt*ZDViedVjF~-*#l*wxLQY&}O-}2VxW%$jHe@c7755 zQ+yc(S4vTI?FL7#X-9lo=8PU_H3P+JJGns(YEjcWf#u7N*v5i$+z32vMOuRuWrH3x zkKmrSAUrA#hfk!5NEQ^?=a6~60A~s=a^#wJ?29>m&s)HFmC1wr_ED@AZfa1Ant$F2 zyy6p~H*Lsv;m>JiM3s%;n$Cp=6VPS7`#Zn{4joTLY-%Qwvd&61@+i)cYuY7&V^hBa zjAMM&pc^T*X85O$fEv`Irgs9reI~5FdtHVTYZNBDS7<;%j{{Z1z-=?8eukMqL}D_c z~vMI`wbL5(K>^YJ!^-IV&#($S;9r)sAD=WqJtmcPOY|C2_n zP1WHO>4O`359*Bodx514kBr0q_#_-UmI8|L#4I~Uu4$(a#p%zu8tJ9n4jVR}(qYYs zVNiow)bvhZ!5p99$W=)$1SFZUB1(hEvSEBCRVXt6O49^c*nucefR*4$S$}TcIY+L! zM<1S?{!IRg#)-sABVLQvAmHQ(s6j1idMEIG!Rw17yA5wBZ19ch#~aDLP&8OjtZ|{- zFhRESqy5~-Q_I^e?TCJWw5?}cxq7Jtewb7b1I0=;E;p)iO{GSu;Cd5Bt|#nl+^QjfO`LUm z6rmS%AlIrm1ISGcYEg5>w}4>vOVLgJL8*59;jk7y;kU7?Scj8J3v#<1xH{lLVT&Fm zt$JK;)8lHp9@hjMxxOg&n|D08(Cb8cqXi$73-JrSQOTPSNEy0PPoWPZfe}`tBCjV;@sEX$?*Tw=3JjD4Y|J?3wPGx^`k8a zEz#k?O+Dh}{ZuGNkbkZ+gGiBiqTJ7+TYBuiG=P>?>ia7{Sr04 z?o*uQ`Q6+Vn@_DiV;VJas9N2Jr1S?}TSQg$a zr>n-(TdVQp--wAhZQNTK(~6- zw+fvI&KbpqOcR3A3|N<9S;e9Dp)Fbd(Pqj#p7Gk zYnCL`X#bR>Gg}81TE_{_X?r{*t!B=WwaN5l3}eYbu5bFM^kKnclOGYjg7t#Uf_I6@ zIc>i5p)X?|?9{Wb2+R2s!F<62f^*uqH`^2c7o}@GiR=tk(EtDd07*qoM6N<$f=0vg AmjD0& literal 4950 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 UM#>VmdjJ3c07*qoM6N<$f@O-IOaK4? diff --git a/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_256x256.png b/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_256x256.png index 5173672df4bee99e404a523a84c9485d91b39bb3..1a17287e1f20d1a9091a7ee198e181c488da4b2b 100644 GIT binary patch literal 33579 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≪z9tvaLuRw>n`OCGAOblV?QenDk#=wjNL09!f_4}so2?xdq zT4p^D=b+pNmx`+s{b(^i32sq{fs+CHiLw^TG6u|@i&f{$h4L+a9^QSM_In>0%LTwU zvUDD-MzEv8waoPkH6!Y@l^qy_|LY&JF5F9pp5J;9Aj2|rgNI9G4p|#9l+vzj#ZaW& zvu4Q7i1@dN=MRfu2A!5#Tlzt&R3C(>+>q9X zD&ROhFS=DT0E;M9Fla?tbtq@V@}|KXCAwG_Dej$Ov{IkRS6c1uzEKx<@lq5{6~WBVU2MMmOh^Adt?)_Pj>Mk{31K zLR3-qODhLueS|gN5J4`^vsu+}rSTHTl-uj2vG@B~9>tBP77We*A%6uFN<*fv?Py$P zXW!ihDmRzFkhqgEW^50}5%i7;>(>=)@xr1`F9UW9`_d%B&i z0r8+d8^;QFI{k#*h%z*NNY(zD8%-dLD`=^=N`U?kbKtt`+iruA*lrynJ>~Tyu*R)# zmZnu;fu#@b=xCzg(E8R&+ViyH10dyY(J_(fxv|3Xra@aP-1??aUIVz($Y#v8x~o!4 z1TASn;m^uWBd)2y>o@YOt*7m(}ekK|$Js`MYosh>Q0@8`d z-46@rQlMtx8ZAx~wOth8Z$ME%h*KH2D?=PmSuN~j4D{F7=!uZHIZ<8(l=Rql{`lqM z-xp84Md_KM)SO=CRtsN&NL;e|OS5FyIOTtt@L76UK-;t&AV_Ogzo~z+=erWXDA<+i zK6KaxdqXnlv<=0Npt)YS-%}<^QFk&z>>R&zfp{!B{2& zQNYS%0L+PL*Z+qq>$AHt{OC5C^p%j{y_ES+>O_oU=MCsWg;^T(M+4iFVhp38rs|Vc zaJUNtIrkAx98iaJlz|0j@rCD@to99Tg-Fv`o@IIa4RA;%EJ-06`jM zM~>`X#a>v+Q5USEz~YbUouA)+i}ZO-_GW$_@Tb(k%ZawXJW>}N)sV6MzC-e(^#8#U zl?CqXW(QC%l!16*ZLbbKMK0g_T#8?uA+YJX*R>T!*Wm7L-q#F*5*An zgQ=O;qPvYgC^+8JM+S5$Evfgch4&oH{nZlzB_3c>-QM16VQp~fc(wTpp<@@|F=gad zTm0VAso7-^xy`HpcQz z!DTnR?0c*$$FPBN15eeceoZ7B@ZIoNQuw#hIPA(0C=SwU(Btx>|1r(OexUihC}7~4 z&`>=%s278{4x{+$D4b(dnz-~(3|72eT}n>>;!9w4Em}_pKm5{-#m!SJ-8>IR%}Y?! znpQsy47-v9ZkKTn;|FJ+MMuqE)1tw)nyr)WFrXfb=;_ozVdQB*eTc2@Q8#}}Z>$H0 z3GERWHnGh!blniPp@$Yi@w)LaIm)n7^$j*P|Dr*-jmYi?#e$qb{=#T+CaMa5_ccp` z3;ZR}{eegs_6pN%#{gx+WqNedGzEp!`6}q@W|W0;R$4kkZ~>B%$|=y`OVY*-jug{v zAZMmTz>#9eV8n{(OUD5k;`>Z67e-A!9^lhxzanlvytq8Cs;lV|loTN(L!t14M?!Ts zjx)(<4KQZp<1T&7{o&rrBv4bpeYMip+#YwdQmC%%=}~h1AVaoohx3+i48bRKM=_tCUSUmf;Xf|`rnkgKwd^Xyq zr`EIJm(hN{6uLJN40tKhlwX;jtzC(w+Ge<`m4h1oDSs$_blpIb#39n_7PjigZBi9H z1{JxsrW#E#Ke6;>L{(7vUOsm*4ZFCx^@{(aan+1WEH$w#7xK|}EQ0==t2pEptqt47 z+U?GVSn7we-N#-pIk9_e=I-nEiHV7mShE{n1Ft5x%ZA+iJeJeAH@SlBSs2@IPfRoD z`QyW;Uzx|avO*Blvb|H8*E7z6;^BQx_n`<-S7R!f&0!X=Hq_A6dU9Cxu$gl{;L_+< z)?IUym0lnmy!QFU$nW6tGcC|C3SHzeYQ0N+ct>+K=xucTWw;XSH65Ih@@Oan0@1L@ z_5LSSQ~a?>Av=kW_idE}lI!$q&;|UuK403x_Ulbr)G7&2q-KJF$XJvjjehSH7|2TJ ztdYrS3qUK7Or#DbPrON@0Pz_=5R*Od>#Rj@ase&R%29jcgnFc_Y)PqoI zu?RM90LiGM4sKFGm1ckhd3OVrbY<{pOGJnKH9TBC;$tI&SuiO(bI34S&Hn5v)52^H zl+U0@fiX^*#mnfe&>FdcWRQIQOBlItCjqXmPyL68@$(CNU_SHyYLRKmL>@X=)dh-FDT;-Z3XVTVcyPVBIotppTy(V#ADG15>b6xNi<&V0sr>rK`cfzne z5qa|uE}jDYb08hA6gbWHzV2_cqNIrP(5R?D+U8WQ8_w?9V6SLY?(46DT5aCL+pV8W zfri)hK**JywX`ITF6(Z9o~}xq_r6jX&rkVnR9wL|Qmvk{iyxO8pRY2wWwi^&&~!I} z^MtFlcu|FY_Wn=$^=|i4m(laX!?XR5${~}_@6sir5KfH5>n~|?sx`%&YrQ4ivi>5u zlW_WyIA6FU$_oQg{qcJ9pfi1+v_#D$bmDx`xdE~5V^X{vT7)}pHO^;E^hCC}1L|{? z7Pf;FQ4LH6AsQ(uW`*I~|4AQ3tdim8+qI2ot}9VIV>d)Dz7=}_qdW6-gp(bRln69| zIYB|xyyT1GL+7S+{h+JVLkk;PICoBMc?JskUlBARZBcCdX^Ov}^Iyyzf~(@$K16D$ zXgupDwVl2_eH2863OEmvEes0&-$7H>ny^n`nAN5usFXfH;+CU1dM;G!G91*+3}^bx81F)Z%j!Qi~~xS z&Ze{l=qF+n%$6~%pAXVy&VD>lp4H?U#c{3GvWERbMzzrsvaJ(k$b9)&U5$puK2rEv zKh%<4>GeffNiAi5cHBOwN8mdtARq9rP>VU*C{1N*6!^UP${sBRq~Dq<)L-$+sGLHT zzv;RfZ(eI$_l!3Tx5^&kK1aEm97USTy-aDo6%{txerm)%5UtBqdF;h31^V~jx<}OX z-A~}zUXlqQkI+!ae1OxP#Gbq9$#}+2UVkYD+yF5;fLMo}mu2;9&g?k3C#*Z0n#NJ>rd8O9$PZ1G_0aDn zU-9pkRZ=v~(5}v@1)V!@!nWnq9fkttck-iT(SG+%%=L@wvVj3~l99Y)0rRN6dfprvpZ)E-TxdjG~D@o_GXcDN7i&#SvA!_Xj* zUuQ>=BKIsLDHhiS%b&FEU+=pAlHN{tUMZne?78s?#`A#RLha_ow64YVz$>SC zy7=WBGwRp3B#O_tb=;T=pQhUD12^5z9uIC+?|0^r+AygKe`p&Z8@WD!ufsDc9|py~ zbrP9hGNgZZtN-^cCVp2{+@B|w(Jix56IBp2Hw)+(1;N%RzzRemM$hOMkP)n{Z#U5$ zBVcid_k)PTLx@riuv}FwdVL_#U?fgCfG}(!lJC@7$glB%q4OF|Sg#R4)D5HRMl0kg zDA`%JA#aN(m8=WleFrPTEno6AZR%0z_M?TLzml{j3XwT4X)|4=OLY@noM+-E$a;!4n*w)EeTyL>xy(CypL!%L4WCxHLQ1s1J3Y;%x zAY*1Sc|S}~bxw8{Kd8F$jwM03Sj=|m!q`Eg$*dj%3$uLc1)|nj{Ke?_KJi*@jqcr! z53xD@2d~lto1)&G=@8Myf77plwdY&{^M?KrMjEh63%Y#mdRNcqVxw3W%tX17ql2$s zIL;xd70Y9hJmHf~`Tw7?_{KT0SJMEHrRU;nKh4+UYc!j~=#*a?-AFDUe8U)ENKcU` zKLYR6_+HW#0*%ee>fU!ywl&guD)fX`uJUw!9{MV9zpI-Atp4x#%kS+G|9ln^g~zQ; z(l9M+4*eyhSu|;2yza&L546#YLNro^0>{sQhaf`I#Cq7toWz}HpCtl2?8yA!1(UCVkcM#X=|nKHwA8rpM6Y!((qPag9roIb4F zeew$WP4c5C`lbkO<39Io zzBF*^z(7$0NGl@${OJd_{~d_}Qb70>G7IHH^Gl8Mu>!%xxXr&Z^K^CMn8%rh;8tg| z8Yu&wuK+B+1$2+++S!@0NwN(?f(6Gzeu31;L9Ox+I@EWg_dc%ei`42;T;AQD38pLl z=$qG>swSt{zM0|afHRkZHgTo%qHDm3 zlwA;6a6TXI@t?kA`f%pQE&Cz2XDQVaKITS89#uU_bwhKEX4P&yzt?_+voW zu}FnxOyeVo*!a)6eP^aDRTb1xT?<@?G)OZ&be8w~k(FCVW9CnBAsmI^NHAeAZUMsu z`4XoswaTk?m|nhF_~vv;vo%zS`BWPj5!uCikCg0p+ik4I=(T{`>)en*$tl6@cc*b# zW!djI0h<1$%3;L7X>;>$K3hsJjl-2Q-PH#*=MM(d#F1itpGC&NiGmD*r;&bvT6R@` z_oY{FWt`Dr3DVh9Ud&$TB)jphK;kbsjs$L^^$x z(kByH(t%miN{ItdXl}~S7L@oe;3!Q|bevL)QVdxrPgmu+4IR~Z02NLf|nH%YJn;@D4%6u1ob!|DsySEVE9eWdoXX1MS zIB5mVzHo2+LHHW9lMUls(?kk`4~XVQJOAU0OP@Ja{34O3W}A{NUS(Woqkgo9z!!hb z?fRy0Y065I^F^C5kOs4+iZNFjvxb)ET%nl;oe1z*`ZU~^Wpo`AoF{^x1QvIu#V8C{y@fC{hv0Ot2s;^|A@N$(qUlC6_g zmA!lbN*K%;R-A{{P0(w#uLEl{`I|})a3Zli?79*6yAXkFUyPpz!+Z!R7Qhcj#0>c9 zdT4ilIVtPbUK4+2x3c{D@^sWZ+8dMo<8Y(aCF%epS)#2*bCsA%v+XX`YRL1SxaC6f ziK-NaSDFaron=-|BS{jFSJ{A8Tk~hR=een6QRn-6d&RZ(-pq<6c9ghe=1opB zN{%yOMAv2kFO5c2p!OxmB%p%DB;dj{YsVZdxZY?wdG&$HRrKyKJMC+u=AKqgMJWvj8djX%(Ghb7UlC+^zf1lj+H)r< zu9@P28Kk3Zt%(m*8KpxR1MaBqZQ#v*Mw2^2DC44g)u(rANn*AZh&B68Qf{VPX8~1u z!&UBEO%>dV-%M{QruHdGSYeg?=+XR1aqw;5xRS;Db?;dK%A;`20sY^){-aodm}?4z zEq}1CT9CHCMnUKY6A1J5SySeqM+=l7lUiAf5=$WHTe1QuWIkP#9)iJSo2(Z)fq&gC z8~94){gZ^jvTJ`1XFl1{q`U{s87zQtCU)9xfg4e@z#Y=!kw?L+Xd+$LKWP!%wR>Ba z64F5S0%3R2SMR)Ej{-xS?RC5md3#B-5FE9+2osRJSqH8dc1|s%G=Zc^P69|L& z7#j<4vnniD#p{(jwZyt1JOK2cMReFL@|y`;H=v#PJUk=K3^JCYDMwG;Dd)y~S^sED zq2H>2T_4a=uG#Hkg2pi)J#`1`-K|e52bwwsu?at+UO!2z&fEfXI*{yLo`kShFM0@H z45{&o`0($avp>a;IxKm@|4CtFaN*%P!-Q=0Z)IdnUQhaJ>Sp}9=pk{P36w*dMiP3Z z6?V49aYz1Ef;1*Fg0j4zOg(y`bv0cdNCqp>v(gQ!7SfCKuj_1V4;i@$y=(gcBgnON z{=Fjw!IWa;9VSb`>9@kcO$^i#6#rg+cmX=%?#ga2FD)%Ft!iJABq=Wl0yfpyfGWmo zrQFG>zMFc82yomCwcawLCInf__Q3pNFR{9^vwk4%!;yrKnKEhRHY)WW@qBVc@2nmP zLIo6_>NP_3$?^4T2MmFZOXN8rKF3L zvnO_{i=z|ZoOUtD;_wnmUcc)~;<((Yo{4+dUv%tWFpJH{|s z^Sb$$r3EK2;73$<_U{Mr>&qRR;oi|ZihnPI{tA|4)9Ozg>aQS~t=0)MZ`<&_(_)^N zucOrpoHFbhg{*2ygL_{qSg|I6jnJFYkStV|J!6a(ZO-8WJ?0bq{CDeq+~cZb(69WM znmKXOhK62%hq-=}f_K2gTUPxSBd=F3!s|p~$)Iu;6bR3qpKxMq`z|#sFpNhaqpLG~ zR3UAX$KulXVExyBle$tD`}w&1SmXhY5nb9xw2A4?&UHbhcAO2QN+8eQkN{NT4}z1= zlMzcWc2r$*@9Uk`?O&g6EiX>HloP1bzSiI9`9^_t@iHv52Qw!#Q-X|Jcru(Qa_+rg z@1Zo3?2|PFwsZ7Hn(s=Ny;-2_9At!=09N042QboW>imPi1OJCT2Kx6}%f!IrNtS)@ zB|yq46qzs!fq(nVy_e0?sa5$>L7mKr9a9Wv_5s>g#U@dumJ^2miLTi#idu=}Sw_xlFnHWIn{8@?~fi2_(yoMhG}t4c?~I3-qEw zTopV##NSUn`EI1*R6ufN9fOfLHTa;0G$Q$qQL@i33h}(xRH!;u#P4@zW3w|WJGcK! z2e2;TEzV`F_lMf_u3XZ?DYTE?oG!cQMCdh~>G91&z7yBgK?tsa_lOt=}RL~W)zg7#;U-Z3W6_9tkBQn3`_Fz8io;ezX8uTR+%;{ zJ1b%%4kNH_m7Ok2ZjP& z#p?8=EBYsvliQIKf3gp%{K>i`_X|TW%5M{r3Z<#f)pZ`00vh+OE8JHplz!*>)n`RjCSB9dj4FaLF20NraTjg)nDbC9&Q0RsI-3=j>9dXo-9y0eA*{XmM-lq;v z2KoIsyp|vXDC36fU=A9nCvjo%dI`vx4sYg_zkaIHR|u=WVqn>m2&VQ zBaFWRn4O57oGNFBeROvC@e~511%7aF)vJ|X0kIzlM6^n=DiqMo*Mgor@Fx005Lol9RF zIqhoR38lA5SofW1WIG^7jEze=eysPx-kbZKMgnD46kjZ{0XlUVwbGadiqyVG$b(2E zwYP7z^w~@MCx}%_3m_?tS=^NIKMJSLpjfvN7R{%|!{#WVC;V)N$0Hwt0drI^#Q%rF z&Fpd>3rSWQyoJB3-{HG;BE$OOG4SGt9R^73`BVZzQMyoj34*x>(3xHA;4wAplI>us zCUt-`Btd!KQEF+1Nr&X1h?nW>#XM>kT`7|%BLNQ6h|=mmi1huU)kiOejtLe-I@NV# zoYGS!?r{fzP(^=b0liV} zYx?coPSmWRFs!_pJ#$yKro>+(V{wT)KNfykO{}>JH`7&Oe>*g)_Or#bFm_wlOy$J00W^~5g&I|RGn z;TN*|>%7`}St8Glk->XQxr?OrXGm(Lg<5H%xa9t$3UZbUtr@V*;zzt1M;`M#MLgA( zsCFjH9LH3AfNI6;B#-%;KMNjvs&AX>RYkj!36(a0L<^e3s5OlS!k$-_tr9A)PytN; zjMXTC02h${O-djL{$2lqPXza&9=sD^ejR{kh$LUYwzNB6nxyZluX3qT@rhS&SAOuWq|p)Ck}$SL-A)bd+Vv}k^JJpx5(>) zohtvC*LdGTrC8SWHLWUhaB+G^q+}e(pR8e&dqox z!eNFC^OTy?HZ-W#Cu+j>EtuT6M2EK9CPHEyAV+8@*^V_sV&fe zJbPpL{N3i&F>NV|3WO)(gVtCTWwNx)_xJ%Cp?(tvo=MfhKx5m6RBSZkM~?8E(b{XD zF&FuW2`fl%DG#+uF|CR~*(X};o;OY4oxR2)6_$j}&q04-OduNvO5Cnw-heh~NrcV3 zl~fyG;X0mv3XLm&VbfP>h`eg6%fSRIq)ozhac+B#qY` zkRe`;0(;4kMJ$?c=@o`_o^v+r1cwd=odJ`gC>NFu2dif9y|f5vn|`RDZL(L@b5W}5 zJ3>&<=OnIb+UW1)@oz^BMn`6XEVoWU0F^&uRMQQR%E*7P{*H;!5dsBuTdflF6oNYT zml|pTj86&wW-G3q_gz@<=_Oo{D|ya$1uI(G3Hib*esNCLE1|*D)v&W%P>qiML5LG> z-Te_7+V*OrIeX!N+ogK!thU&p>8Yx#YAC%0~^3qUAf?e<(t zcJE7o7d=|xVK=z%LB?tfG~5#RU7`78iq6PWS^+QdiAcT=r|Kb=^)Y~rbKF*TAK~Kj zb+K|Z?0wO71ExaEy%9Rw>`Zd6A&y`FiV|iQmVv#I(Idf>A^IM<+@)Be zUoESf6ryOqznm%H?+IlW8{d8r zKCDz3!&D9A6=Fj{SAFGU+isue_4FNT^e9+-}bI_>gU;}uqG}f z0z<`7z@xKxMm9hMts$tOw1_-Ae^dYIh%+vej3@?rRafcUD|u1M9$`?fdDZL(gwioh z`dCz)uRc{nFr#I$hU!mgUgA$AQ2abMzM2OIknAT6bTt`=40j;;+fh zk2(X?8x|;vE(K*+pkTDNFvyhKks(Dj=NZ-000-7W>6!e)C((j4EVd8E9=PV5G~XRz z=K-ur-DYEAO83{-Z>t2AayQ+inqU^TeXYoX(gX!k=`M2`D@EU1UV6Rqc!o4bbWn&3 z0r%kPKZB=s+hT;4$IDR5@|Ew)SP@zqxA-p@K`#dos#l~p)jdG?IkGC$SK^jq8Co*R z^$8&$=#A$Sz)F;vvTMwDS;KLG*!%9~t&bk4Yfuw#UeonxU^<-D76O2W%{{q(8vNw7 zeOcQTsAFMP&SGK?uE{yXMDoYq{ALXC50##yR!0l0J^%fU{i-a0AE+Gu4=8jaQWW+B zM{)Y%*vZA%)ZRhds`6_^Jhk^sg(u!1L|lGBWBSm#O{e!+R|v1mJU|i?5=;k9-0+OEM3fN9?W=2?4PUafhuZ zK3#+NS-qB=oWKx-=`n;x7$hMCE;)CI25AeZ=|ezCiZoVJhFmf;_Zu|qfPQ_=(eKTm zBmce87u+@BVwbZ0-oNuvYw`Y$m;k`4uM2y*I{?d5`Vva&ay}qMjM_dB$)+%sD1YDs zUT~$*Hbr@Ef%K@5==Yb&YLtjk@P*YuIL;Ea$%8?64Qx>eBD)KC65$TbqhTTWRi8Vr z15~VOz1anD{&~TNp2YLvyU{b|W~lEU-@1G97(3LyQ55`XU?I|8! z*Z-DbQXj07`z}imJJjakI!YVp`6|DDAc;cVe z9r3Q#U${cN;9!nIgm8@i*k8>qd7ISzH#sGh!RdeB`Z`yX0Tc0{o~+nqVc|M%saO%3X> z@UVGsStYWC)@H@uq9|DS zScQFjB(NQFEcv2!xT=3cqZS;`LOaZe$JR6fr$$q0au7S402-5AXjQ$!t%ld@<{!Qf zfLZ!>F6R)jN?urH^vKg}FaPlnPs_XQsej#$xJc>UX{l`lj)jNL? zQ{G1w)+^SH$9;kVauc#8ip11| zNd@?u!n+kcE$x>JO>BROBZ;rWgir8YSoY8RioXGy_1_D+37#^$at4fIo$vu&P(yd< z%<$T2BqqONMF=+ovKavuE?ctow2wmf236MB{ZJMZAbrpU(f`QuG6rPay-C zlsnJYwKE|QH~&z{QkIxPn54NGQ%!johWhs!#ym#;*_nnV^L3asL(NE)GNrSt))lum z0@&hOIvKHqvl!$T*pi-+8#4#y#H9}S@vn^QWpXuBrZ6sFbosY4Xo%4!k;}AEo=tx} z{gxt@1y2!_3*VgMjmCTM>=D`uQ)3DK0%e256fkK z$x8?{2E!5CvuPVUyI(g_o<%!JvU+hOCgg*Bo-%IJ0;#SKat^@IIHzRDJ)6H&uU5^C zZJ5y|wFYkzybUN!#OoBaT&(Y16#}uIZORBY9TRgF32w0nW-5KRoIamA0HV88z2`@N zv6$NTyLqu2hbMY#gvGJ;`eFwil(9b(S09~T#)0DmeJ@WCj&n09d8D~0&*UrtWyt42 z%t*%csR;h|&Y9jx6PQGt&ANkaybV8ZfuiyO2k`PWT^{`IV(~rKTezh15|j}pphe8@ zd9%0j6b zSX$mWTMy22dv08=eJBmHEsBqm9xWAF!A-Vz3?-<*{7m}b40FSE-EUcW4 z4yVt8MU534tOMv$`lQKhmOS?!gET9BV=UlzOuSOA5*o^hmGMx?X82$?-LI(p(2kgW*zj*x-v(xbhBiv9ba zd?zhuI3ARCKLgMLvuZ4f0%{r=vV3v|P@6g`++5hbkZ*7fbP^O6T$zMImDP2#r%?XY zqR)DE|Aq9Inmd_C1DGtp(Ml9U9}#QcUkVJBLRAtMcm5u4wOi;|J)O+0sMV-V#Rw+w z6HHla^;EPej(-O+@84HXXI1zQp-UCp2-Y3meKZzN@Nqc4_-|GH2JXyHSA>G$0u4z! z<7dpAPK?zhEO+Xiw`WgKXwzIgiSW(70_yh{C6kzOSnTg=>14T2A+mp;AZ!M-eus^1 zS4n`m@lvL+BNwnc=RdJ@{V2^aG7kx|5NEFkyA2hl)qiCpTb&Ll|6F;dMW6XBU*loK zd$97f$)8Q(TByl1>rgIl(-VSnR6L!k*GndV4cij$3`h4wJ$Oq$%2#Z)h7-)zAv#c- z{_e-#kUsVmgNfH;lX8V^nA&{Q*`fGd=*2&kpQF{2u}?Qd=0*(Qgz(SVv9X!ZqhuZD z`A*Vm)Nx1Wc_T^pK52QG21unZ^=yTD?FU1^I*QKMzQnHfeJNdUO``tP3o|2tih#D(jPh*Bq!t>TH`O z5@#b}Vy8iHf5svNim0^v zhV^G_3`JX3ow}$4M-3W8$`*3i1zps}ZY6PC?l!eGGQ@nP9pl~$m8r7K-P~XMsY*&; zxKd}X*{KTVI>7#Do3jvcG@5ke;*slqoXc%hC_X>=A(G67x1PbssoVcy2UhnN?F5Uuc&rYc>?sI}$eMv+A}RRqSzkXRBFVeZkCrdgwVFatGVG zsfiEbGoG?cGvwZ55(-pd#i$2!K#&%Ymdyxvc?o0vPm0-L;uSj7HpNV5T)15^!T)|8 zjLo>9#B{`*C)^S`8hqO1Q{n11_Z**}PEMz3VZIArex5ks0(S@)56GH*;YsXRFxwJU zU{candy+kG^K>-i3*%odZx;V)h2mwX!z&SN>=$;t-@vUH3#`~cJD%(3UcHZiYnxH~ z;Lm-wrn@l}&kz6bkrbAOR!m9%5wH@WBwAz8;*f7)dfdpt4RXD}MYHO2C;OdzD|+_% z_tuA4$IeId43FY)RV_N2jml*f201^Tu+374;Exqw==u}9PE*nOHO((4wW=YC84x?B2&$8;6T1qKwi*`ow9ZP|( z-PQdO?T!8UKk?AG1H2UO))9VTl8q${%WDQ?(#F>0yk)5x=;&TK#&*dgaZ3)%7l)xz z19~;0q?(wBN0&Q^W{`(q=Isx!anq{-aN~hX^DI!ZD-7zk?~--A!#@eisPKRlbQs|DBmq=5P~nLdNnma}Kt7U!B5&F{xS5I%Sn0ctVC z`&(A1y_Nej<7hZ4Kvciob7(5uW=^DMc_6Ygc+R5`ULG|)Fimdb_Q^@0mQBMI|u`uIB zOvsANUA8}*=1gKNKVF(1tqP0E-=>-673#&&%nsJR&6YFU;tk6n zY#jsAQ6BtqsPZe~1MtTJ0&;n8}7UCaB~D+zUt zm?Dk>-LH%fcjlZaz8ai_<0cUY=f})m@2SEf+OB9H$O|IEaLXi|+b{k&vjh0|o0_Rk z$K(u5wJR^Ny@u-PJ4yGWw)zJA^l0b9!7A%`6-(@dFNB*Whmu8v;-_hx)el3FWV6Et zJ1)bTepm>MrROKc7HtN6svppyNst5#gc7zMvl~K+Xc2F!&!gO;z%@J;pM@#&&0?h= zJ-i`^jtTik%iv_nUf#UV_Del}T#{MbwLfiTOXxqoC(tX8cQc#krIGU3XS+ zR1Fk*)Xajpbv(-aqK{JxH~s=tdUv}5ZR=6?{^IM&KmPbX4xuEINYZ8YxP|U*U)ebc zdF^ud+2QE}Fd6y@tis&4*uL4e5{meD?$j1Jf57Mzu^OSOk6J5N&lsOo5fU`DUoK0K zGXt(jMUI(4g}zZghi&jadkXl_{n?dNdmQhast}@W3AL_EJsQr*5~10M9A_MJRulv> zU;DYeH)LsDb)~pw%Q|YnEK(j0yV2qYj{AfX&=q+78=*}-dR%iNMA<I_+QIX2 z%yosC26CLF;Ky}pmy^{j@us{5`W`QLVteIa2W*#&J#OL1|1zb$ldlxSu%n6N6EuD> zY0U|Vj#iO#w#{aaDI_21;|!esP+GksU8$f6D@*_&EXfqx#4wh_L5xYlvjw03Oz zY^H2VRL{Ig{4@Qli}-vt;+K z{#G5>%Tt_dOe`LZwP9y=6P=Vew3!A`Rd4-HTqa)R8+j7!Y+@muNWJ!LKn_LnS>?s!0A%VZbT=t$I|DF}JpCLQEy0@lp z=}60(RZ0e8Z+m514d_>akK*mo9ugEeJb01mZGwu?GuS{5*OZ`H8u<6SCENa|8h(c0 zS<9UwuvfOYDb{F0W;7Fk=RPyTf1J7Z3anp6A>bpDGkO2uNNa6(0v-h~aZcmhHNDvH&pr`LK)@fDi zM}fsu_SZnBZ-ok7%EqW|TLe_TO!J^$vH{C`TN9qgCZnUVFX_4Pk=gP>m-l20T!$a| zw7Da9zLqU1;-{B8m7fz#pY;jOgjhsh{#RQ{4(ObSgfYk9@>|K2I<9(H`CFgvPZtya zJeRo_v-q8YU-Oft2pGo9^BA?eKCgvSHO$EXgxl4*#0a9lZ*7Yd6Qb$D!L}-H;&+{0 z8Q8n;i0T6~D@c0?-;Uo^L0$|zmoDZaIA>(D>_t!#{9<*RkQKkHvwVl1KgOi~Pw~__ z_g$J$$doGtSK>&~@j`0D7Ba@5#qxIP;r_Wgv9ZA8;Yz*y)*h~8giiuoI;YNk%?1-N zV6c^WPD{8#$o-@Yb3(h!!z+siYnxv^OY!Vg;&qO)l_ayMZy z2k6j$dU$!#p=su8`0i`o$Q<&v)YBsqV=u{O!D*P=-XIo(>Ma7@omS8H=hn#cyxp13 z2S%P>Esb+}-(o-uJ(badP9S6GdF%rmo%KI9e1*B7i|i)Hw{l<%LI;`^7BB&1*VdQH zGSAf1O<*jQG&jM-4J)qQsEupXS%_UGguBjrU#4C>EzSWFCw`jAO+LFHd8QdweeZ}| zFV8TmSoVycyI${kxm4V`bacomzbk#t|K;PWu}4Q*U=xV-YR5j`OS32h#*gRoW~6^( zD6x;iiDHPbEs7cThF~~=(?5I{-@+J&SJV}HLo1WDjq;!Mj>Ho0E{}&I@TI-u5~ng) zwpj_)Y&~AL;fEgNy?-aJA}pyOyfM|=ZnK{EY|w+;vAq{RzFW}Xu4TJ5RQ*3o&K z!i;T1MJ{(g63{;DhU?fb#h-et?FMk*syW&4a^OHQS}9Xodu(-6xwS~*y*{bq$j+U+ zP7R+=B8z7{A5PYFWW8E$$V-X7OnHOKWJ58`jt`YfG=;M&td!-0_KI`Ra#9LnC^_*F+&uf zKMJp<2(bs1=0zVf>$JO;lLwJYqYu!&M%i)kd-z*r2;n*>lcGw~;_;B1*6Y)*iU_h# znHtO3k+(sv!B-Qg7%lJA!|MF)t?iD@lXp7v9*FT@gQcB5b9sOHjj5uqQwc~U`NN#3 zyyy^gY0Nmer$C_B`fB;8an486u^E*yCdRT7-HX+DiQcmFF5=_Zj`zxS@QGn{e-%wn zaZG(j0wG9i&z*w&RaeL44ihS|+joDYzwil^ka3Ub{`Ifkv-9@mPtJF)&EA&CP$#E~ z8Uc4ZSfqYZd6C!sOLrHf4frNjU6kth?f^z02-TPZL}qNRAVMCzkNJaX$gOz!NU#{c zIrGTzR4=M9I`UwHBk#l&ULIN^KOIZn&}8Zkur|8G*cjED)iSw1@tm_UX!+s~!)0-U zTXRVFZHjnHr-xT`KFZ({^!#N! z+PKx)+;*n2!nybv^g+YdEaq}N{=C`5a;+>IG8UYrlr2T^@s&U2b%^HekDW>F zlRuZI5t~nLa?H4QyuUO3oLH(_5OFH!xjZ?yR61B2hQ3$u*P-^^SU);8%!{Hn@@-t9 zz5vUZqoAbG*yzyElqp=`1sAWjie_}gsqE!Ey6NE2{>tV5 zEi`g&qug7jETEq!HZJ3n(7dp3PFb9vwZ8weufSRIwR^KN6Q8Ow$GtzbF6sNHZ{PMk zUHYx>p3_EUKIL1xKDP#GE^p`ilb3MgN9;i*-*e%opH`)oEee}CZ_PQM{?K$c|7qI7 z>gi1zA5XsexY}sdb`7YrH1Dsk{6~ZMfLfpv$?U! z87r~B`dKJ`_GR?VX|Ln1J=;-vKKu1)W)H=p+Lpl)oNyyYq|YbmiXtxaQNUCcss9 z7@}KUgSl&R%ns+D4{5llba)5IW{fBDzX_tYkNwMQ@j Nfv2mV%Q~loCIH_AE$9FM literal 52259 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
c0 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

;?3cvaChPX9&4%@aGTlsDtVb4Ay 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 TtK6OZ?~BLnPurE)ct`#}9`-=; literal 143640 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

CJ`T0j(@ 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

;?3cvaChPX9&4%@aGTlsDtVb4Ay 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 TtK6OZ?~BLnPurE)ct`#}9`-=; literal 143640 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

CJ`T0j(@ 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

(88 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�Iz*UE4AXsHfB8K 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 VtF_>ZoC3nDFhY6ndIN6U}Bf?2QFz00&0 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 jLhy)eAc&EZQC5zE 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
    -vWJYq+j`M;3@FaXZgV=8M%E;&iZLm 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 Date: Fri, 31 Oct 2014 18:35:36 +0100 Subject: [PATCH 185/778] Moving to DDHotKey fork --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 15d5bd0a..8176d026 100644 --- a/.gitmodules +++ b/.gitmodules @@ -12,7 +12,7 @@ url = https://mstarke@github.com/mstarke/KeePassKit [submodule "DDHotKey"] path = DDHotKey - url = https://github.com/davedelong/DDHotKey.git + url = https://github.com/mstarke/DDHotKey.git [submodule "Sparkle"] path = Sparkle url = https://github.com/mstarke/Sparkle.git From 873a976faccdfd29dcaaac531e03a30fb19863fc Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 31 Oct 2014 20:22:59 +0100 Subject: [PATCH 186/778] Fixed broken interface connections (merge results?) --- .../xcshareddata/xcschemes/MacPass.xcscheme | 2 +- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 110 ++++++------------ MacPass/Base.lproj/GeneralSettings.xib | 39 ++----- MacPass/Base.lproj/InspectorView.xib | 11 +- MacPass/Base.lproj/PasswordCreatorView.xib | 51 ++++---- MacPass/Base.lproj/PasswordInputView.xib | 34 ++---- 6 files changed, 88 insertions(+), 159 deletions(-) diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index b792db58..2fe41cb2 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ - + - - + + @@ -25,7 +25,6 @@ - @@ -33,19 +32,18 @@ - + - + - - @@ -69,7 +66,6 @@ DQ - @@ -79,9 +75,8 @@ DQ - + - @@ -90,7 +85,6 @@ DQ - @@ -99,7 +93,6 @@ DQ - @@ -116,16 +109,14 @@ DQ - - + - @@ -134,7 +125,6 @@ DQ - @@ -143,7 +133,6 @@ DQ - @@ -198,9 +187,8 @@ DQ - - - - - - + - - + - @@ -274,9 +256,8 @@ DQ - - - - + - - + - @@ -368,14 +344,12 @@ DQ - + - - + - @@ -385,41 +359,36 @@ DQ - + - - + - - + - - + - - + - @@ -429,9 +398,8 @@ DQ - + - @@ -441,9 +409,8 @@ DQ - + - @@ -456,9 +423,8 @@ DQ - - + - - + - - + - - + - @@ -558,9 +519,8 @@ DQ -

    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

(88 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�Iz*UE4AXsHfB8K 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 AmjD0& literal 4950 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 UM#>VmdjJ3c07*qoM6N<$f@O-IOaK4? diff --git a/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_32x32@2x.png b/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_32x32@2x.png index b296dd6d82cba9203f4c8cfd7b30b2d96a0f8f12..43f2010bf7f0e992bdcacc7ae57c433de7197e79 100644 GIT binary patch literal 5654 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 literal 9261 zcmV+|B+}c7P)X+uL$Nkc;* zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DXM^`x7XQc?|s+0 z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0 z#IJ1jr{*iW$(WZWsE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45( zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3 z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s) z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3) zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9 z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@>R;lZ?BJkMlIuMhw8ApiF&yDYW2hFJ?fJhni{?u z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz zt39n_sIypSqfWEV6J3%nTQ@-4i zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^ z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$ zF$X<|c!#|X_tWYh)GZit z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz z&kJ6Nm#vN_+kA5{dW4@^Vjg_`q%qU1ULk& z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|iPIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~ zLQ&zpEzVmGY{hI9Z0+4-0xS$$Xe-OToc?Y*V;rTcf_ zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl% z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX= znVPf8XG_nK&J~=SIiGia@9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh- zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@Z!`fmn~gF&$bMumvK!fnT!*YXpn`fCxrm%co$3BTs}9ING1}o z(b3rP{^J7&UfccBlRtd;w`gty{@T{I@6e?Ag(aW@5-$=*=e2Ih`{BW{(qi>#C1@?D|{(V(pqMue@rx)9G{(=okz- zUVz2`o`=ds6L2mpAfD9vww&wJmo_MR_(>hfjFmRH4Q8wcp2oJa~D&0c3$(J|@( zj3DhOd5k}mh=4FECOKu4JZ6w^;U@@(YDW}_Du=07ckSG{1&&Rwf=eBG6oJ9 zH(pnIT?ClsULR~}x$vI*zV+Gb-nHsxkH_U2g&Kod12`iW0TX~509@!%)*Z;~ZDuP2 zv|Dn61voixF52r;EFm>oIPJr~nHhjng?|`v;DrE`St5OdnL5EGe z4!iPu+^*bW3f-P8Rwa$VkgnJy3o|KUkRS;l+e zwJhyWw%uC?Qfx|jtLf7Sbi(5*v84GIVGbvz$}*6z$|N{1k`$1Tft8U67anfIpxTMS zbuyF7J@N229(??t{`Q-Ad=MmXI6b3u#srxD-hIdY-}~Zw|7^{ldh6`=0~nYX;28f2 zn&92`iZt8Hve<8z0Bm0QJd|b6Y48Nj`piV&iU3?tF##n`Sr#>h}@Met_qY zM&GVSfTGDqK>Wo4yM)~Uj++#C+^c*ZWsLw6yp;n2XR48a6AYdzHlSo+Ocu(rJ6XXv z=#X5|CMg8k0{WUm=Ms>>``7>CiKiaEYxUotdh|>z;j{#pKHs(azDMr+;D>MjkP}+> zB@l!l%>&Tvbq{)csiz|I5v5!}P2jrcSrRBoV5zcM$KkX@5^4mXPVhWOD`1^v5kLK4 z{0$yqbIt_tydGV7*O%Aby!y{? zWAxjLIT@@`1vdscAA0>QfvPOPSVi!NZz>Zw>(-KWok@tUvz&R%b2FdkF=fn$tZPE( z`ASi|>;Sj{=NZ(EI#So`?*8YyP;D|XpgMc{g9PA_zy1ESqp-CO<}9@Gr?Ic!KxCl)hvb2%zRFhq1%oiuwEOrOQ>8BH#&m) zAZ7}6q^|G2{q8%V`_05)l{2$GCjns2?Fa-ey8fQ8{(X1E<2eAcPs87w0Plh@4+LKm zt&;%#-Bj3G5~#|M$n*F+tHk^H92L}US=(p59BZeDzDj zKrC|!pOpYSK>01p?s@3mD;IWkj$(3?K-A?VhC$C!M9+hL{|xX{R4Hwix;~fiGdZu@ z)NNTy*8Lc1u5EURyOdY+4^E}2D|KGBu&aX@h{eQoib%kjHTj!Xth(-PH{N=q7Y%Z_ zV;6FQQ^qvyswSA3*D(fobxo zeZqFw9^#uyP(#&KiSx9=w?-?n;Y10YggFCTVFUy$Mx1!tO}E~3bi=Ca#`MY}}F4yrCrl*Mb?0rVzrQU+H)H@CExKRN{se48r&jx;KYD!*t z)j=p7MFD1=${?$f zKQmIfT$a6i_eyhfvxLK8*|lqz96x>>ZP=u znC7zA2{fNC%d$q006)-zYo)1-CIpA4B!Z=>he9FQuwerhGda2R(o0olo#*HVE|*IY zb4ml|3Ch%RsJzNJ$CA2T)ohmn77)CLizs4P3M|BgTTY1ue9oGjbG2#mY_?4=Q*W>S+cIq@fdlwG&(veZEbDJ%$u5;WZAN1vS`sFS-5ba>iuXm zDm!=XRQK@Sxsp|ml8Y16Rq2CzQ@|z7b$P+0Q7NM_EV$(A%ZUwVF@~K?GYJTV-}9*t zERMKc;|L<0elq2-lW{S6-vfrHfrY?n3K_T0`kP9nBp3{;;J0MS66FRSk4Kp45zYczj#WxqyAE*kl4d zP*(ol*?obevs2R9Jzq{tBoJWrQ-&gZZsC%pl9|d$b8DN7#S=1xsWPXwO_3lLVJB79 zPtGijmW<%-!lEGJt;)c7Nu1oq#Le7p4}_WwZtjPp0_FK?M&)<6tAE zmhdSJopR1 zN$@0Akqad3eN6(1C?Qv%aTR4KLaRNQrs;#z(}JZIis#{8oMGM$jkNf9yPQZ1@m z38-~5nJVL_f@L5rf%Pho@;r8@4FS525`WW(z%9}cZIaG;-KysuSW42DRS93FMHp6L zkfD3NgsxHm`qMHD#}7pTdk3@uyfY7oQg)Q{J4&^eYWq4yn%G@MewofuI?_ZrDcKp~q-WXt8| zkecG5wJP#xqKIwhG8%EJC|XA$1dFna5+OnzgJks>@i0Xi8>PK#o(gz620_dyKDA@isq+cGwZYaoM>RDHpd?1zP7+kIPK0vF ziQzcp8Y-a?QW*mQX-uQ6jZ?T%z$~qGt%!OYra%%2P6IUjUHkgO#uPvRv& zJX26FB<$FAVUMefTUe?-)FsYo+nR{Q3>PpXy$z<%-L^U&v(A5f*i3XAKvjg5NgOoS z;DgvGnG3uIZ7mu6Cb1C^OO(XTk8{j~*ec191H(A1?Fv~5NahB9|7x+k_MJW`Mn&xy zvx~(#8JU=pbZbDIe&jZtZZ z3#eVBga_(cB2JvTdds0mh-k#y5ZKSMm3LdQ}HD4_tWC zdK;sATw8%s7tN}vF;LgGwX6)7LU_t}{a~Ij3l;dLpHd94ErQg56#)>aOKk;H82kHU z8QH!k4(s)Z%k9H!JmUpU9Ogg1@teOw^Zd%JmSz%=mekPR-rbw}TCct75-uq{9ycPX zUna&=vinF}n&AeWQLZLo#58*i+H?UD!OVGeDv6hL=OJ<9^b`w#5Z&`6g0Ia-6FGSe zI>yEd($LVLHeB7n!1Ybvu1))aZ4cC`jQ~__8UZkkGR*V%iDw^pGPV4Mi^2iB9Uni5 z#~%<^a#DW(%9ykRe7)Bx4fR-45WERo6QL$a=;AeZu9Nuqs1#wojP|^ZrRsgwDP8@r zf&>sGu9nSXC&sZzv{~)z5vVomo+l9ryteKgNXV9*V{l!cczgkY5vzBZlc`E&__?n< ziRSsefF7wSRU5LZ>!0y#?|*OH{o3;f>4qNcBKUni@zsYU2fzB=t`l-_D2X)!qBySW zUf_ob%si(`qO&{22KSjYJ7=7qd5q_{FCZ9+u%)8fw6?G7l+R)B;BZQQw|hj=lNF__ z-|rVMw(^K!_iHa6%=T{F2!Li()=+0BfYZc-N1yuqq-rFYMS`28Wge~3suVik2KhNDk?_Hkf3fLxmbYYMah>tjY@K$2MQ(3WSmZG3DS z1=iygaUkH6V7M866_A&<56M=LK*3qCuaqJYI#WsXTEz|m0I;e-YTz2^Y$fkC@8ff9 zqeu(T(KlLUf(@k3`mv+eoEwgJnt#AITtVP$1n46s~L zRxtdtb>H59*~%rCEL_+W!k0*;VhGW_O=3fNdEv!l%BL%p7U^yYsBZ=M6$fJgCVFsY zSOApAT15Fe^qubWyk|xt^}J7IvrYnN0UT}U|D5fy?;q=PWF^d%9u)5XaR@?EGsBgubOopPs_YlUt^uuF%u;L z=xo(CWyCW@*@u9)dH1mV&!)pt!3R^JXouQ_35VRUQk#sVvW1r)Uh`dG*bYeX*?ON? z=du8jz!70E+qZfB3r~Du$&G9Nqqq1Xr zzc{L1e3RcTO)aew#V%;TZ<9%UW%MXgC&BNgn*_;eQMsNQlCS@bizjs)Co`^)+=VKeaRhk;T5`=F2 zLj9Sae{EB2!vhbYsXpY|(s!mj9-ql~f^?GxET0X1m~VFdBwy&}Kj&{ja~a}l7e0Ba$&sR8f9x;`gI zPNbv{uGah7u;j-x5@=|bXj`{5v_t{kt$IF-XMVH(yIW5D;LiIXf{UIB^uA$&IG8P+ zmH<8kS70cMBEPx$Ltp;njjKPiGJ;Rh@SZ~^CQC9NOUd}ikR(QqB#&+EEH+?L*q)4GNjor>mSX^a z@W7a4MpBrX`y|}dB@M0Z(i9C!L&PCouTA1G`)7W3|HjdueC}V-B>kRIe@@fKb(PMD z0N!bmfUg8(dE-rY-?8%c`&P9ARk?^+SgIluam0aGT*gO-Br`sQ(E?v>VcOi-9>hlv zARz=_4Iom32tQ_$ZV*vNvq0jKIgjBqgUJ@YM28rvn( z%wQM6RM#URe3r`*^8_B+_~^aA9N+Nuhtb>)gsj> z@zDzxEQ&%0Y+4}HrpoxpAt#B6Nl9QDoS8Twg{dU=4lyiYV&Vn?J}#y(jdtVZC0~#* zapyLd!`>rSaz@Te33WSOkhn3Wt&g+2%!*AaAD}TH;ENsa4P4%!cLQw%?jY7 zhakpxAAocHF`CJjUi|gFx-KfW1=oC$QQa6 zy!pDGkKFfxE3Ufkg0KS&0US4vQGKALbzVc1n#3lcj3)m6tXh>3i(6KQA2K{v00PhdhE@ z0C>`RR_S#Spe2}b0snVHI*~8*U3$}>%)8~T8!mtI^$WxJOv4SDID_M6BtL6s#_LA4 zJjHtpwdu*WxJgQH;Oq^{cl9YQKgZ<@VGf1(KNB*EeePY`pFPz7U*C8pyL-bXJVxLH z$o#J|rww+vZ`O291h7TZ8W;xnQF1%-LTT!{xcP=VS1!2X`lVfqE^7&SJPv+l&!L2K z0eU`d2!ATE+t_!s2af+l!*xYsDp%@1^y2=10}v>+KB;&8VIR=odmU(eNxBTWk$8{4`<4Gk^z9-rUo^7=5CiY=GT z7IN84abjX5JwDu@h>sl^&-QIOklOm>E-B>+b`Y5*m$Q7aao+v|<#{6jO4X9-8hi&2 z?-ja81ev7p%M2bPl&Kg(qo5(cG1O8OV~N_a;jS&g@+Ag$a5$UGpNpyE`B~E&LV#5g z$e_h@%1t+6$*jBqrPT}Q0knRS!HkH3b P00000NkvXXu0mjfDJ$_k diff --git a/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_512x512.png b/MacPass/MacPassImages.xcassets/MacPassAppIcon.appiconset/icon_512x512.png index 079f89300609eee9b48e1bf1a6a0afa2dedb6cc0..3bc9043ece4260dcc4e1983d80c74e367b944ed6 100644 GIT binary patch literal 81479 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

YNN#G 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 literal 178165 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%0DICViLogfmY{ZzrP38KSe+tPRn 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 S3CM>ShHcwoV^L^MApbvK6Zt;? literal 130841 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 literal 53946 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 B>Ae5| diff --git a/Assets/Screenshots/CustomFields.png b/Assets/Screenshots/CustomFields.png index e8ab34c7ebed3c70335c79089ca97ed2b2fc03e2..1a83e357281cd2e160b9349c3312e31de338b7de 100644 GIT binary patch literal 76979 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

- - @@ -95,24 +88,21 @@ - + - - - Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved. @@ -128,9 +117,8 @@ - - - - - - - - - - + - + @@ -207,7 +204,7 @@ - + @@ -226,7 +223,7 @@ - - + - @@ -49,14 +44,12 @@ DQ - - @@ -65,7 +58,6 @@ DQ - @@ -74,7 +66,6 @@ DQ - @@ -87,17 +78,15 @@ DQ - - - +
+ + + + + + + + + +
+
From 046d9b9ad6b6114923dd43379df12b11772b4aff Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 2 Nov 2014 19:41:56 +0100 Subject: [PATCH 190/778] Revert "Using better drawing in Yosemite" This reverts commit 3714b332f94f39dce3c14b5a45045f3a44ca5a34. --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 4077ebe4..21b97144 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 4077ebe44baa78ea1e7f221770cb14016ee9c9a3 +Subproject commit 21b97144b2e8272c372584b06c02209f0ca1c2de From af15d6c9c2d3629c9cb84f1239d1f7cba5a89906 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 2 Nov 2014 19:47:25 +0100 Subject: [PATCH 191/778] Readded Yosemite aware shadow removal --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 21b97144..ac30521e 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 21b97144b2e8272c372584b06c02209f0ca1c2de +Subproject commit ac30521e824537dc597ba8e910e2265cdbc81a9e From d5fdc610baeed6fc79aba85b2770f2b4a2911e62 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Nov 2014 19:26:43 +0100 Subject: [PATCH 192/778] Added clarification for external references --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 90b4387a..aaf64002 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,11 @@ If you want to live dangerously and want to take a look at the master: After that you can build and run in Xcode. If you run into signing issues take a look at [Issue #92](https://github.com/mstarke/MacPass/issues/92) +There have been some changes in the submodule urls. Please consider re-syncing and initalizing all submodules. + + git submodule sync + git submodule init + ##Known Major Issues * Binary releases (0.2.x - 0.3.x): From a849803ceb42cc524571a12b1eb1a0e708b05990 Mon Sep 17 00:00:00 2001 From: Thom Date: Mon, 3 Nov 2014 14:51:30 -0800 Subject: [PATCH 193/778] Adding File type icon (https://github.com/mstarke/MacPass/issues/176) --- MacPass File Icon.icns | Bin 0 -> 189079 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 MacPass File Icon.icns diff --git a/MacPass File Icon.icns b/MacPass File Icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..09e5fa52f6a189b40b031e834d52682ed3c710e0 GIT binary patch literal 189079 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
GNdezPQ)HFD8Dv_-r&j{;6WU{ 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 z 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 literal 0 HcmV?d00001 From e123020d0323d09a0ab364d93414c8b27a311b7a Mon Sep 17 00:00:00 2001 From: Thom Date: Tue, 4 Nov 2014 07:53:24 -0800 Subject: [PATCH 194/778] Remove ICNS file Add PNG files for file type icon --- Filetype Icon/macpass_ft_icon_128x128.png | Bin 0 -> 14756 bytes Filetype Icon/macpass_ft_icon_128x128@2x.png | Bin 0 -> 38867 bytes Filetype Icon/macpass_ft_icon_16x16.png | Bin 0 -> 3645 bytes Filetype Icon/macpass_ft_icon_16x16@2x.png | Bin 0 -> 4565 bytes Filetype Icon/macpass_ft_icon_256x256.png | Bin 0 -> 38867 bytes Filetype Icon/macpass_ft_icon_256x256@2x.png | Bin 0 -> 118224 bytes Filetype Icon/macpass_ft_icon_32x32.png | Bin 0 -> 4565 bytes Filetype Icon/macpass_ft_icon_32x32@2x.png | Bin 0 -> 7090 bytes Filetype Icon/macpass_ft_icon_512x512.png | Bin 0 -> 118224 bytes Filetype Icon/macpass_ft_icon_512x512@2x.png | Bin 0 -> 263191 bytes MacPass File Icon.icns | Bin 189079 -> 0 bytes 11 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Filetype Icon/macpass_ft_icon_128x128.png create mode 100644 Filetype Icon/macpass_ft_icon_128x128@2x.png create mode 100644 Filetype Icon/macpass_ft_icon_16x16.png create mode 100644 Filetype Icon/macpass_ft_icon_16x16@2x.png create mode 100644 Filetype Icon/macpass_ft_icon_256x256.png create mode 100644 Filetype Icon/macpass_ft_icon_256x256@2x.png create mode 100644 Filetype Icon/macpass_ft_icon_32x32.png create mode 100644 Filetype Icon/macpass_ft_icon_32x32@2x.png create mode 100644 Filetype Icon/macpass_ft_icon_512x512.png create mode 100644 Filetype Icon/macpass_ft_icon_512x512@2x.png delete mode 100644 MacPass File Icon.icns diff --git a/Filetype Icon/macpass_ft_icon_128x128.png b/Filetype Icon/macpass_ft_icon_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..77d1cbadc4d7300e51743534eb861ee026dd8484 GIT binary patch literal 14756 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

TR;qkgdhOu=43cfHMxQJ5t+; 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�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 aZ?LvfqKTAU)ouU$j!28ki&co|`Tq|!XJpC% literal 0 HcmV?d00001 diff --git a/Filetype Icon/macpass_ft_icon_512x512.png b/Filetype Icon/macpass_ft_icon_512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..28394d2690943fc71ea4e34abfd5341dbbc58f8d GIT binary patch literal 118224 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

TR;qkgdhOu=43cfHMxQJ5t+; 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�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≫C-D8l8yLg=^>o1 zmC)X6wB-=^V#xm4Piz7YK(=|rFy9gAPki^CK5s9HTqG$(L*(<|>7FJsCk8wy2)%|u zdzBl%3CLU>%`km~9>pt|oXB>=-h*&bbLf%t4Yfn>b&mD7hwbv=boi)J21FG1_1k>z ziF@B!Q6pQz_OSxX(Ep^wdII(G%9&N*S`%08Gr}tHuc9{ zw=6_lLDILix>J5!Zdo`q^|oF%)F3wYb-APojg(#omsGhAE*E^^8I7>Qq5tQ-sZfOp z^{Osf%#?z0*#&otR^>!4dHlxeq(54hwgkS$khcg^m-Ml*8cHDY>hra9yb-D%5H?a9lxe348tiRL+YLLy* zS))QW_}N!)h$r?&5Ppd;h%A+&qaXu9~hSOskUGM z6OV&rW{;3bvUnJ`LgFiv*=6-;!+hSsDw6ZqgQBw)BLLZjte~Dum`VwS9(5Me?wH9C z9hOM-N06^gJFuB!qD8d==@qr(s(yIYC!4Z9zJ`Uf?v7uuq{j1M=_n9{C>CAipPWbv z35nUCUi0o*Xnu^H|7Lcz1o;Z;V@d2YeU*ADRJ29+?IZh@U~z?fJ^0Hlyou+z@vFf? z*6))iaeknCeYYlYUp-CJB;>`80_b|ZC7xw_vTnxDslF^-V#Ejhr)dm7&G`yJJr;yZ= z)B;nlA37EnAVu7O>HY3F>hZme_uOUE5kq$H5b)&U)iphwcd$#gJfJYsFp>=R`!(!r zU;I!<>1LueNI`s@+X#iE-;5FZO^3R+T(k5g1$D{1F9pcv5kOt2)*@eBMtZ7&Mj-EB ztfTArB0+q8zgIZ&O#pmQD)2H9dGj>%AWI0WICdBs^z-Q{*a{jLA4ah`+{ZuxyNmVS zBHRW4=H*UW9UOgKeFA$~8d6#taQ)>$gFWJ>f@->@g)a?}VSmPt*clPL^ezP{bg?(( zMJltiv-r)EJUDZhb(Xq@{0POQpJ-e4s zO>YFAq7OeS5)|f;X6Jj6q)82)VaAK)Qf5jCtnS0R{if9AxAhX97BoI$6j8JLK}`Z z_^@y+6yoD1Pi^2)sH>n{7%duO`o_Gf#2JtBYO!SEkAEWODBjFLcr$wLIfobz#^Hri^ zoV_g<_QLXW`DVqMPVF0aW6klmMB}H$dN^hWK9G4lp(jO(s1RHqo6U4aoVwJeA&8{l zM~9(rP9-~UTf&4FWn&B)HO7vP^PN34-_s%|(%cLR&DWk2|GlAf3d@c^@q;c!f)NOU5eLLD& z49I2*=UBE0qQ9{hPBC3mZH8S@AuW_3PkjtX##-tECwTVqJ)u$UjG>6ze z=|axLpIo?>e(a_%Se0OUe07a%Ajf~y57~g)h|knJ8-fQihO4qpF|$Ci@gT0 zH&~AtlLh_+Q`eUMa+Ld+rCi-8;lpQgr6~3#XCZU8qWFf6fOIIESJf+6pHGbFTqYlA zDte|c5lOHk9o`>+bIfY zK4eY3=Otxqdy(a1qUAuNvr`EJEvE_ACIu?~E-l-_RSxm!Q4gE&wL~t zJt@z}=y(Ow;0m%gg(PgJpxS31>0*kD^IASz)bjAhPqs9RfIBYu8!3(oIsX0ujCNr_ zf#nRof#L~~1;+!)=8&0l-l$D#7!mbM1>vizSx_OvQBP;n^GMfJ{* zsDwW&b>H7PMo(>mmSWWILyaL@?52QAZ$scEf ztY!djov-O7J4-zGC|fI`1SL4^fNI(=_bi*43&K_MzU0B1|Kns$Qt>cN)-gj{ zl8dkiiJ$oGh|@TVR8?`}EWcfI33vq^$MP|dg!eN(5i==C^M7odiHC3=TjHJ7Y+c;ZFFP)xTUdJ^fAYwVyvLZ=CMECq@Hq z)Tn{4DCV2_#^-$)1rcT1w-<#fMFtWgI*;H7k7@gS3pwRpB$!vRwmH>hO8s_czOcOg z3i{wzUb%@b8L#~JlEw$X4njTRd)6c%YWEHq_pG#x!T1-WU;T@f6Ba>#gd-d9_s~u`>Q5BxB|5N$er%6W+T@U` z1R02fj(g_GbA8HQn|0xp?tz=|CadNFCETc~h4g6yft#H=?22C_^vfaF@AZ2+#!I_b z-?-^!d)#CUg)>GALwpHD>Oi@NGZdyke*8P>&q=rSVbQO>*aD^V_;U1Df8it-yHik2 zBIT4{6{IHEfh}hl2L5-T$C+O=Gw|kZ_R{=#8Q}s4XUOXR*iT8)Lh=0He>Oy!g zSaL4y4^#)xeX*5`B7Y2c4vKRL4Bx=ZK~r5~{w~w10_X^~q!u~WJ6jueJ#sBdU?eXe zuAHY_e>C(5?c8)$c@su--y%G>+8e9S^E!_4BDJmC%v{7I5b8NWBlef z#16?=g_>w63XJukfA=7nR@BZJJ8;GAwRJ%a@`S@C{NWT~fR&>>NO^Kp_OjT+6bdb+ zo6={j?tR?qR265>_51naSd3qDR5-IxpiELf3h3yRNv9f%{t;fEXWW*Xf>YuDCv}NX zlegyH>Z(E>zqj+vaPwm`p)BIuVm{>Nskm%<&qiTsmZ*}t)&tp`{N<$=C$i$z<(9ST6m5F^kVhzvR;y$_PT<&}?+kg~VKV z9JS90NATE@lXJvrv}9exo09UsJo z--{jCA52OInXsP$@8!EebJdfSC3iR|*(O;RNHIYt|Zj|v9zx*=kLHS z#TySlu^7P$i`-)fr)fbTHoqBr?AnAM*T8_*@4KLJwyXflMWgv7fHwg1NOq zpf)S#27wo&Y97lSYn~@DP?Y5f-_ZM*pBbhcsPPUi$iLJ~35rt*$5?i@mDFedf|z+s zBSoe^@%vvZKaKX)G#UJWQ7v91Sfv0OV_`kem{I0hvW{|p|A%bCzSbc0Z9slQ2U-0b?2GHsO? z=#>$oZ3N?RBJ}~3`VSatZEUyw@`l+IVO@KC3N7RHf@wBD4D+e z9wq${-LuX-o}O}m`0m>ym0Wh87xK|PWZ)eDu32oM&o+CEt@q-{bWDKmXd5GC%WMiX zFmzw%>@U>0obJ4!9vZ)#cL#NuF{`S}mRx_C&KV)x*7d^Rn zm_k?A@_K%HHb6RmNYRhMeuMqcnYzq8j25MGH!sgg4ZA|7-+x4quotH9Sa=t-esA(Y zk|%MY68_UxV!wIsFBvA#oEZ4l1>dNc?ArCyZGzAe-q=-j>;+2vD_}Tdp?kkW-uJ3z z%e;OLntX}T3@kmRj-w($|2m_=b4_pN>(ET&V=_-PC$I|>g0(E6>fwO$_>DZ^9=k)j zJVq2su1)CnqMVR!{-Ivt@?2|`8ZYAsZN#TSyl0zYws;)4zO;ss*i ze-~gVl6f5=H~Ml_C=j+(f5t#prd>( zSVRmM4_nlF*rZ^U!S!xfWVg0IBc z7<;$N7C~Xa)rQFtz#Xl9JIcF#JoxjU6hlzK z5a@4r`|pA4gkLjQTcT9*C!1>Wl)Rb6|B#d-WeCs}%=tc?VJbMdTH(+sGE=iaH3Uzc z`9$e>-D8sSvE`RID8k9|v140H{aST9jf>MPPw?o-~|btgtzF9 zBQ>l)mQpg);dT>-Ln+c7l2cyb|9ubn9Ygxi4STfZJ)Qen&b!K;&>Zl6({PZ$M~6X6 zp-ANbLE#|h^~F-lznL6C6O1(&nRd2UxCXmQ_;XU!19Kw0nLxj|7~_tDRX#^4ggb%$ zAnmPOUXa(r6FEX#c1ijn_n;)ZmM8%yLfu~y7TP7e{yJcW{JEe76iBoGxtpQHQ}_T< z7+}VmxUDa|kawdqvd1VnrSHVk7(Zhu_R^d_6aW2-@7rS*RQOO3nxU2T(A;f%DOu0s zc8aoqkk>Nk{C_W~>R2BK-(hb^*St^-KK2KCc_6QJzR_r_%b4EZBiB?}O_`?HZTZ$a zcdlDPjrp0T*BryOpRqGqiRrcT*x1BRa0p)Gkncplu$%a5bklwW2bgvV!~3 z7hyX76b`R9l*cdF+HDb{3X*PYLts z&HZ{Z^ffkoDl2ke;CNzx8>Jq2`uVjd2jpi?<~PGFF&c}IdT_xvOgn;ez&e>5m2Z+c zI2L5pMUMFBfQULbVUFr2eh+;?PWN?}3p+@E5{J%_xE*L7AN?vekbZ5+B;rMk%jn10 zjys-VB~MPT3?dDk2^T|WFoi7AqC-~*?dk9cI_090UOgMKBLL~5#ox^#D&)Uhd3zqx z4mccZeLEZ~eHcZmt3F%dNOHc*)*`eXbMiP~b$zKB5f)|@iL5%gL6%x(cZs)-&+Dph zrzZH*bN5pR>uDl)RO)6U!6RWjbawp%G;<-1ziq25*?()8%)q8Ty#FbZY;4Fpq^Kz+XCBQQqB7lR6J$R%*U0n<%99`}{5nWxly9RUzI zdl#A|CqS;n&%ZT+`7=CQ`G=cWfiSXe-Um669ve%A#>TdU1`D@?^{cH?`fbf&9a2Ew z^0!AVAz_!QZLA`ihQrLaKK?PgOnD#!*Nlc!zXjDr#0H@z1z*Aw5c|9BN>~`=eh3Q& zuM=^u)9hI(+(L~pr1-l*a~`%gc-23`>HElYl8dxEflpICU51!Pi$No+>WR^Ti54U` ze3QbqMa}4Wwi;3wO5eD;0@oU=RfIR6R&Ehw8er<#HiLVG{=ddP%~)La|J}TO{`~&u zJ;?DxFeZi6{vT+qUFTCEEr9VW?1x`2hLf=Cl}e{%-titV@t27PW!?^R%P2^-^`@UR z9%8T?#T8CRrvAFUN#K08QnFx3%Q^5fi9NYgSTYnDZ}dZAD*gR?Jk47QmfHOH;2{3b z0c`$`R1yEB=i5XsQ?=)UZ^=Ny^c@?m^gK{W40#f-EvraXOmLH;y}Cik7vbzaye5h- zm*blx=?#qJlyiRAWNh`{e=B|-PBl5Ga9bR4J+59qpS2)3)f;m|i$G2MN%a0Qoq>D^ zjU}8@B?!Z<@87l>L`z*z`Itf;?@NNz8#E{ucaJVkg9@9+j+EEKTou1o`F*N?slQh| zd8Jvu8Bly2HX_N8Ot$P3pH_mB*~R55@?LK?=Uj;gxkCFJuOj5h&a|fcf<}3|N`PJ* z3u3V|A{TtEyMNx;k<~>Qt##)u6>uadPfAvVJ#J?ou8t|frK**2qVyeqE~HXRgHvSn zs4-);JnCy*w=nPB96MuS7>fwB_mWN;m^dBIO_u5u_j{#DYq|D;FMUZ%Y_qD|J#Rk5uXV%zxVOaDd_+Vz{x8Z5Ksv!deO z9VHZBQL&dc7p|(2#+>Br*QzVNA0Zjhhk;Le(p&tq?X*tskc3(YTiLaBbpkiZ0XqG4 zzHane!axd5`T4o2zgD`)1HXT|o_yJrVFilp3NL@ExVdA-HF)Kn{Oxbiw!&Ro^^fgh z!;&VCUlW$Z>ueBPb(WCxSLQa(sD^(HOF#Z|ESOLpg^9F^?qyXRCozaiD^q`V-C$*+ zT~peZTUVp#x6j(*kaN@ZJrWtH1AIG{gwXdNQ-cXcR#GRf%PMLJ}yZ#EkG|S6l-X z*Xd+%L=66%_1&g^P<$0ZS!!QQIjep(e!%e$gU|CYit4Hlx(KG=O{Vc%)yT_PXxU0b zrLlO&fA&{G@9-S)=N5XItf8q}NF5(K8iFqwvD34|JIiD-@rsbA(4%b6{qTJK`+pW9 zwzx-*V8P+^hUDRUnrM{b_pwKg9gJ7F-9Dejch&FoCvl*vOZnuT3_-F1Eh0e}NI;fY z5g$#j_@CdngB-DR_I|~`;9Z<@c9$KnzKe9)l|>wJ7z2tlY>IbHl}IsUHiB-pg|x8$ zZJB8m=MKi(v{SmfyEFVDQyLhw9O2{Xgb~26bb0?%#y{?YuVWGjjdecwYXv)AV6xXp z8t1++C0-Oc=r)CnPsol92#&}E+RNyr%)~z{nBaZUO zza*ZE-y0lKDUAA)Lf(SBK>z+pcm^{NqmBvVxK0XpbvyBsMG4x^tJEq(r0GFMsxLOu zR1sMlmjo~+_6Q1AP}_YJjw_kOOK+=|gXsb;KGqpSc6i>9F=vq)g@<*zXoQ*UvF-Iu ziBd1bn<`6sxXD)(duHh*zI2PAjk+eXUCIneT`Rg5ImWe^@A_eNSFGgl$(}|SXmkOZ z-0^9Bo%wXES2I}cy{;>%p|cQ5OcL3LMOz ~|5sBCH0I|KJ7&TBews^3P$Nj#djb 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 literal 0 HcmV?d00001 diff --git a/Filetype Icon/macpass_ft_icon_128x128@2x.png b/Filetype Icon/macpass_ft_icon_128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb089c10fc400890856b143da699613e1e2bc4cd GIT binary patch literal 38867 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 z%0A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 literal 0 HcmV?d00001 diff --git a/Filetype Icon/macpass_ft_icon_16x16@2x.png b/Filetype Icon/macpass_ft_icon_16x16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..386b5a89dbe64fcca22115dc8195427cd797128e GIT binary patch literal 4565 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 z%0A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

GNdezPQ)HFD8Dv_-r&j{;6WU{ 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 z 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 From e9325a62beae6819a428f8953370a4bd2a0e231f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Nov 2014 22:32:56 +0100 Subject: [PATCH 195/778] Moved file type icon to asset catalog. Associated file type icons with document types --- MacPass/MacPass-Info.plist | 8 ++++++++ .../FileTypeIcon.iconset/icon_128x128.png | Bin .../FileTypeIcon.iconset/icon_128x128@2x.png | Bin .../FileTypeIcon.iconset/icon_16x16.png | Bin .../FileTypeIcon.iconset/icon_16x16@2x.png | Bin .../FileTypeIcon.iconset/icon_256x256.png | Bin .../FileTypeIcon.iconset/icon_256x256@2x.png | Bin .../FileTypeIcon.iconset/icon_32x32.png | Bin .../FileTypeIcon.iconset/icon_32x32@2x.png | Bin .../FileTypeIcon.iconset/icon_512x512.png | Bin .../FileTypeIcon.iconset/icon_512x512@2x.png | Bin 11 files changed, 8 insertions(+) rename Filetype Icon/macpass_ft_icon_128x128.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128.png (100%) rename Filetype Icon/macpass_ft_icon_128x128@2x.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128@2x.png (100%) rename Filetype Icon/macpass_ft_icon_16x16.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16.png (100%) rename Filetype Icon/macpass_ft_icon_16x16@2x.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16@2x.png (100%) rename Filetype Icon/macpass_ft_icon_256x256.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256.png (100%) rename Filetype Icon/macpass_ft_icon_256x256@2x.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256@2x.png (100%) rename Filetype Icon/macpass_ft_icon_32x32.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32.png (100%) rename Filetype Icon/macpass_ft_icon_32x32@2x.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32@2x.png (100%) rename Filetype Icon/macpass_ft_icon_512x512.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512.png (100%) rename Filetype Icon/macpass_ft_icon_512x512@2x.png => MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512@2x.png (100%) diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index edb626d6..93a75ac6 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -11,6 +11,8 @@ kdbx + CFBundleTypeIconFile + FileTypeIcon CFBundleTypeName kdbxFileType CFBundleTypeRole @@ -19,6 +21,8 @@ com.hicknhack.macpass.kdbx + LSTypeIsPackage + 0 NSDocumentClass MPDocument @@ -27,6 +31,8 @@ kdb + CFBundleTypeIconFile + FileTypeIcon CFBundleTypeName kdbFileType CFBundleTypeRole @@ -35,6 +41,8 @@ com.hicknhack.macpass.kdb + LSTypeIsPackage + 0 NSDocumentClass MPDocument diff --git a/Filetype Icon/macpass_ft_icon_128x128.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_128x128.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128.png diff --git a/Filetype Icon/macpass_ft_icon_128x128@2x.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128@2x.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_128x128@2x.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_128x128@2x.png diff --git a/Filetype Icon/macpass_ft_icon_16x16.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_16x16.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16.png diff --git a/Filetype Icon/macpass_ft_icon_16x16@2x.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16@2x.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_16x16@2x.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_16x16@2x.png diff --git a/Filetype Icon/macpass_ft_icon_256x256.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_256x256.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256.png diff --git a/Filetype Icon/macpass_ft_icon_256x256@2x.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256@2x.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_256x256@2x.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_256x256@2x.png diff --git a/Filetype Icon/macpass_ft_icon_32x32.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_32x32.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32.png diff --git a/Filetype Icon/macpass_ft_icon_32x32@2x.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32@2x.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_32x32@2x.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_32x32@2x.png diff --git a/Filetype Icon/macpass_ft_icon_512x512.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_512x512.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512.png diff --git a/Filetype Icon/macpass_ft_icon_512x512@2x.png b/MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512@2x.png similarity index 100% rename from Filetype Icon/macpass_ft_icon_512x512@2x.png rename to MacPass/MacPassImages.xcassets/FileTypeIcon.iconset/icon_512x512@2x.png From b16fab842e02bb9a8791f18514ae795b37b3cb65 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 5 Nov 2014 11:05:10 +0100 Subject: [PATCH 196/778] Completed contributors list, Fixes issues in license text --- GPLv3.txt | 621 +++++++++++++++++++++++++++++++++++++++++++++++ HNHUi | 2 +- KeePassKit | 2 +- LICENSE.txt | 686 ++-------------------------------------------------- README.md | 20 +- 5 files changed, 654 insertions(+), 677 deletions(-) create mode 100644 GPLv3.txt diff --git a/GPLv3.txt b/GPLv3.txt new file mode 100644 index 00000000..94a04532 --- /dev/null +++ b/GPLv3.txt @@ -0,0 +1,621 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/HNHUi b/HNHUi index ac30521e..de92bf37 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit ac30521e824537dc597ba8e910e2265cdbc81a9e +Subproject commit de92bf37f4e46b52afd0866607f69f1c1a749ba5 diff --git a/KeePassKit b/KeePassKit index e43f8a45..dc1742bb 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit e43f8a4506dca5d7ea30af65d51884a6a7b19a6b +Subproject commit dc1742bbb29039faacc43df9aaf0026b2ecbecdf diff --git a/LICENSE.txt b/LICENSE.txt index f5755e08..e1116c04 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,676 +1,18 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +MacPass, a KeePass compatible Password Manager for OS X +Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors +A full list of contributors can be found at + - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. - Preamble +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. - The GNU General Public License is a free, copyleft license for -software and other kinds of works. +You should have received a copy of the GNU General Public License +along with this program. If not, see . - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - MacPass, a KeePass compatible Password Manager for OS X - Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors - A full list of contributors can be found at - - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - MacPass Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md index aaf64002..f7160473 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,17 @@ along with this program. If not, see . [Iiro Jäppinen](https://iiro.jappinen.me) MacPass icon -[Gil André](mailto:gil@panix.com) French localizations +[thomscode](https://github.com/thomscode) Document icons + +[Jellyfrog](https://github.com/Jellyfrog) Asset file size optimization + +[Jannick Hemelhof](https://github.com/clone1612) Dutch localization + +[Gil André](mailto:gil@panix.com) and [MBibal](https://github.com/MBibal) French localization + +[auge](https://github.com/auge) German localization + +[Zhao Peng](patchao2000@gmail.com) Simplified Chinese localization [Nathaniel Madura](mailto:nmadura@umich.edu) Refacotrings, first create Database @@ -107,11 +117,15 @@ along with this program. If not, see . [Frank Enderle](http://www.anamica.de/) Cmd+F now marks the text of the search field if the filterbar is already visible and sets the focus. Set remaining password fields to fixed width font. -[Josh Halstead](mailto:jhalstead85@gmail.com) Update Readme (typo) +[Josh Halstead](mailto:jhalstead85@gmail.com) and [Sebastian Lövdahl](https://github.com/slovdahl) Fixed typos in Readme [Chhom Seng](https://github.com/cseng) Fixed issue with blank outline and entry views if the inspector was hidden before unlocking the database. Implemented context menu validation for entry context menu. -[James Hurst](https://github.com/jamesrhurst) Obfuscated autotyping and restoring of pasteboard objects. Fixed issues when exiting search. Implemented workflow double click settings. Make selected textfield end editing when a save will occur. Finished custom browser support for open URL action. Percent escape strings before creating URLs. Fixed issues with Autotype key events. Added missing characters for password generation. Improved "Add Entry" workflow. Fixed bug with icon resetting to default after closing popover. Added ability to set default password generation settings. Made autotype work in more situations +[James Hurst](https://github.com/jamesrhurst) Obfuscated autotyping and restoring of pasteboard objects. Fixed issues when exiting search. Implemented workflow double click settings. Make selected textfield end editing when a save will occur. Finished custom browser support for open URL action. Percent escape strings before creating URLs. Fixed issues with Autotype key events. Added missing characters for password generation. Improved "Add Entry" workflow. Fixed bug with icon resetting to default after closing popover. Added ability to set default password generation settings. Made autotype work in more situations. Fixed various issues with Sparkle. + +[Yono Mittlefehldt](https://twitter.com/yonomitt) Added 90 days expiration preset. + +[Dennis Bolio](https://github.com/dennisbolio) Fixes issues with icon selection ##Copyright From 58aa096de65c054b55c2a809bc798811536096d7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 5 Nov 2014 15:56:34 +0100 Subject: [PATCH 197/778] Updated contributor information --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7160473..33daff39 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ along with this program. If not, see . [Jannick Hemelhof](https://github.com/clone1612) Dutch localization -[Gil André](mailto:gil@panix.com) and [MBibal](https://github.com/MBibal) French localization +[Gil André](mailto:gil@panix.com) and [Michel Bibal](https://github.com/MBibal) French localization [auge](https://github.com/auge) German localization From 5d0cb54b28f6f6690c0105e8671d90edca61bab3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 5 Nov 2014 16:22:32 +0100 Subject: [PATCH 198/778] Updated contributor information --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 33daff39..b0a192b8 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ along with this program. If not, see . [Iiro Jäppinen](https://iiro.jappinen.me) MacPass icon -[thomscode](https://github.com/thomscode) Document icons +[Thom Williams](https://github.com/thomscode) Document icons [Jellyfrog](https://github.com/Jellyfrog) Asset file size optimization From 7d99608f857ad458ce0e3e36ce34f8fcdfbc61f6 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Wed, 5 Nov 2014 19:56:58 +0100 Subject: [PATCH 199/778] updated German translations --- MacPass/de.lproj/Localizable.strings | Bin 10300 -> 10416 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 153f3de454f153327dc34c12393a914a1fdfe612..3041369b1e9c0e69cb8fef7fb7ec0da3222c5c02 100644 GIT binary patch delta 436 zcmdlJupw~6K4x_nhD3%EhEj%HhBAhHh9ZV^AU}yAl|g}_oZ$&W215>zoyVZC`6lyJ z#>rkBJd^LR@=b1I^#QRr-(g+F%7!qUk+9AcC66#ayO;Q&;e1CnL%W^iF}V$j`uR`E15 zk{Q!gPqJo$f^Tx5y09|bY@mirptceqT?!1&bcR1bV@iNx>60g_T_#FhwfaE-;SzAc delta 310 zcmdlGxF=x4KIX~W*!g%B7|I!*Fk~>~Fr+f%ZGOr;m2vVTR*A_|Sba7>V%@^b8p;sF z;Inx#XFB8L1%e`zr*X+mcHoYH2v5GqCBOLy_XMWRVSG|BrL}@znV`DrMG6_ADh=6G zCo73bfz7xj!Z+E0jcap`*aSBIaE5$_B8F^+G@uLe8OkSrl$4yTBP$^s%uvFR$dJd7 z0wjxoqymG}YQbZ^Ou%$WY9nFqxl2d@_gPBF2)*D-}}(6@aR9K;jJE z3@!{#3<{eSl}9(D2mB+-la7P1I+I<4`gA Hz4}1_?|D_J From 6280b5150b7ceb41f31a094e6a63b3741dcd2db5 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Wed, 5 Nov 2014 21:26:14 +0100 Subject: [PATCH 200/778] temporary fix for issue 257 --- MacPass/MPEntryViewController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 64cdf14f..5a3d8148 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -373,8 +373,9 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } /* If a group is the current item, see if we already show that group + also test if an element has been selected (issue #257) */ - if(document.selectedItem == document.selectedGroup) { + if(document.selectedItem == document.selectedGroup && document.selectedItem != nil) { if(document.hasSearch) { /* If search was active, stop it and exit */ [document exitSearch:self]; From 7e349af809a27f532f3a403c1d5cd647723a8380 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 5 Nov 2014 23:51:44 +0100 Subject: [PATCH 201/778] Updated contributors in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b0a192b8..ae800cab 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ along with this program. If not, see . [Gil André](mailto:gil@panix.com) and [Michel Bibal](https://github.com/MBibal) French localization -[auge](https://github.com/auge) German localization +[Benjamin Steinwender](https://github.com/auge) German localization [Zhao Peng](patchao2000@gmail.com) Simplified Chinese localization From d5aa94b965130615ffedb0db949dd12e496db424 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 9 Nov 2014 11:45:35 +0100 Subject: [PATCH 202/778] Updated xibs to Xcode 6.1 --- MacPass/Base.lproj/PasswordEditWindow.xib | 22 +++++----------------- MacPass/DocumentWindow.xib | 13 ++++++------- MacPass/EntryView.xib | 8 ++++---- MacPass/PreviewView.xib | 9 ++++----- MacPass/UnprotectedWarningView.xib | 10 ++++------ MacPass/WelcomeWindow.xib | 19 +++++++------------ 6 files changed, 30 insertions(+), 51 deletions(-) diff --git a/MacPass/Base.lproj/PasswordEditWindow.xib b/MacPass/Base.lproj/PasswordEditWindow.xib index ed956a72..25290a29 100644 --- a/MacPass/Base.lproj/PasswordEditWindow.xib +++ b/MacPass/Base.lproj/PasswordEditWindow.xib @@ -1,8 +1,8 @@ - + - - + + @@ -18,26 +18,24 @@ - + - + - - @@ -46,7 +44,6 @@ - @@ -94,7 +88,6 @@ - @@ -103,7 +96,6 @@ - @@ -115,7 +107,6 @@ - @@ -127,7 +118,6 @@ - - - - - + + + + + + + - + From 49c73afcfb2ce27e14997c4d0794baf739a4c61d Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 26 Nov 2014 18:55:40 +0100 Subject: [PATCH 212/778] clearing undo-stack (#265) --- MacPass/MPDocument.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index c2a7be82..92466f32 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -269,6 +269,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey #pragma mark Lock/Unlock/Decrypt - (void)lockDatabase:(id)sender { + if(self.undoManager.canUndo) { + /* ask the user? */ + [self.undoManager removeAllActions]; + } [self exitSearch:self]; NSError *error; /* Locking needs to be lossless hence just use the XML format */ From afb8c63d02a773ef7dc01d20fbbb4306f5ed306d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 1 Dec 2014 17:42:35 +0100 Subject: [PATCH 213/778] Bumped Version. Added descriptions to autotype commands --- MacPass/MPAutotypeClear.h | 1 - MacPass/MPAutotypeClear.m | 4 ++++ MacPass/MPAutotypeDelay.m | 6 +++++- MacPass/MPAutotypeKeyPress.m | 4 ++++ MacPass/MPAutotypePaste.m | 4 ++++ MacPass/MacPass-Info.plist | 4 ++-- 6 files changed, 19 insertions(+), 4 deletions(-) diff --git a/MacPass/MPAutotypeClear.h b/MacPass/MPAutotypeClear.h index a9809539..11336646 100644 --- a/MacPass/MPAutotypeClear.h +++ b/MacPass/MPAutotypeClear.h @@ -10,5 +10,4 @@ @interface MPAutotypeClear : MPAutotypeCommand - @end diff --git a/MacPass/MPAutotypeClear.m b/MacPass/MPAutotypeClear.m index c3531173..1f8d3950 100644 --- a/MacPass/MPAutotypeClear.m +++ b/MacPass/MPAutotypeClear.m @@ -12,6 +12,10 @@ @implementation MPAutotypeClear +- (NSString *)description { + return [[self class] description]; +} + - (void)execute { CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A"]; if(keyCode == kMPUnknownKeyCode) { diff --git a/MacPass/MPAutotypeDelay.m b/MacPass/MPAutotypeDelay.m index 12996619..b8dc80ea 100644 --- a/MacPass/MPAutotypeDelay.m +++ b/MacPass/MPAutotypeDelay.m @@ -21,10 +21,14 @@ return self; } +- (NSString *)description { + return [[NSString alloc] initWithFormat:@"%@ delay: %ld ms", [self class], _delay]; +} + - (instancetype)initWithDelay:(NSUInteger)delay { self = [super init]; if(self) { - /* Delays longer than a minute are a bit lon */ + /* Delays longer than a minute are a bit long */ _delay = MIN(60,delay); } return self; diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index 297d1bed..bf0419bd 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -31,6 +31,10 @@ return self; } +- (NSString *)description { + return [[NSString alloc] initWithFormat:@"%@: modifierMaks:%llu keyCode:%d", [self class], self.modifierMask, self.keyCode]; +} + - (void)execute { if(![self isValid]) { return; // no valid command. Stop. diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index a4bfa3bc..4d89d0c6 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -27,6 +27,10 @@ return self; } +- (NSString *)description { + return [[NSString alloc] initWithFormat:@"%@ paste:%@", [self class], self.pasteData]; +} + - (void)appendString:(NSString *)aString { self.pasteData = [self.pasteData stringByAppendingString:aString]; } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 93a75ac6..9f9bb53f 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -58,11 +58,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.4.1 + 0.5 CFBundleSignature ???? CFBundleVersion - 2537 + 2542 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From abdd20eff5b84450277c17ddf32d2f524c6350bb Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 2 Dec 2014 20:53:20 +0100 Subject: [PATCH 214/778] Upped build number. Fixed typos in documentation --- MacPass/MPAutotypeCommand.m | 6 +++--- MacPass/MacPass-Info.plist | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 42d31027..8b8f25e6 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -118,7 +118,7 @@ NSRange commandRange = [rangeValue rangeValue]; /* All non-commands will get translated into paste commands */ if(commandRange.location > lastLocation) { - /* If there were modifiers we need to use the next single stroke and make update the modifier command */ + /* If there were modifiers we need to use the next single stroke and update the modifier command */ if(collectedModifers) { NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:collectedModifers character:modifiedKey]; @@ -283,12 +283,12 @@ return; // Done } else if([kKPKAutotypeVirtualKey isEqualToString:command]) { - NSLog(@"Virutal key strokes aren't supported yet!"); + NSLog(@"Virtual key strokes aren't supported yet!"); // TODO add key } } else { - NSLog(@"Unable to value part in command:%@", commandString); + NSLog(@"Unable to parse value part in command:%@", commandString); } } else { diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 9f9bb53f..453848a8 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2542 + 2548 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From c2985d2faab043538df713260ece75c9a3f3eac2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 2 Dec 2014 20:53:35 +0100 Subject: [PATCH 215/778] Using private event source for keyboard events --- MacPass/MPAutotypeCommand.m | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 8b8f25e6..27adfa7c 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -311,8 +311,13 @@ } - (void)sendPressKey:(CGKeyCode)keyCode modifierFlags:(CGEventFlags)flags { - CGEventRef pressKey = CGEventCreateKeyboardEvent (NULL, keyCode, YES); - CGEventRef releaseKey = CGEventCreateKeyboardEvent (NULL, keyCode, NO); + + CGEventSourceRef eventSource = CGEventSourceCreate(kCGEventSourceStatePrivate); + if(NULL == eventSource) { + return; // We could not create our own source, abort! + } + CGEventRef pressKey = CGEventCreateKeyboardEvent (eventSource, keyCode, YES); + CGEventRef releaseKey = CGEventCreateKeyboardEvent (eventSource, keyCode, NO); /* The modifer Masks might be set, reset them */ CGEventSetFlags(pressKey,0); @@ -322,12 +327,14 @@ CGEventSetFlags(releaseKey, flags); /* Send the event */ - CGEventPost(kCGSessionEventTap, pressKey); + NSLog(@"Seding %@", self); + CGEventPost(kCGHIDEventTap, pressKey); usleep(0.05 * NSEC_PER_MSEC); - CGEventPost(kCGSessionEventTap, releaseKey); + CGEventPost(kCGHIDEventTap, releaseKey); CFRelease(pressKey); CFRelease(releaseKey); + CFRelease(eventSource); } - (void)sendPasteKeyCode { From 7ce789790ce42b0e09a1e7df17c200e9027e596d Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 14:36:36 +0100 Subject: [PATCH 216/778] Added better test for modifier base key presses --- MacPass.xcodeproj/project.pbxproj | 8 +- MacPass/MPAutotypeCommand.m | 8 +- MacPass/MPAutotypePaste.h | 2 + MacPass/MPAutotypePaste.m | 3 +- MacPass/MacPass-Info.plist | 2 +- MacPassTests/KPKTestAutotype.m | 115 ++++++++++++++++++++ MacPassTests/KPKTestAutotypeNormalization.m | 68 ------------ 7 files changed, 127 insertions(+), 79 deletions(-) create mode 100644 MacPassTests/KPKTestAutotype.m delete mode 100644 MacPassTests/KPKTestAutotypeNormalization.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index fb0bb6a4..45d83955 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -138,7 +138,7 @@ 4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586FA116D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf */; }; 4C58BD4F176370B100B8178C /* HNHBadgedTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C58BD4E176370B100B8178C /* HNHBadgedTextField.m */; }; 4C591B57178F897A0080B16B /* KPKBinary.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C591B56178F897A0080B16B /* KPKBinary.m */; }; - 4C59745118B3CE7200C8EBD1 /* KPKTestAutotypeNormalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C59745018B3CE7200C8EBD1 /* KPKTestAutotypeNormalization.m */; }; + 4C59745118B3CE7200C8EBD1 /* KPKTestAutotype.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */; }; 4C5A11FE1708DE8700223D8A /* MPPasswordCreatorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */; }; 4C5AA591179549A1008ECAD7 /* KPKXmlTreeWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5AA590179549A1008ECAD7 /* KPKXmlTreeWriter.m */; }; 4C5CD35517D15DBD000B7F38 /* NSData+Gzip.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5CD34A17D15DBD000B7F38 /* NSData+Gzip.m */; }; @@ -615,7 +615,7 @@ 4C58BD4E176370B100B8178C /* HNHBadgedTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHBadgedTextField.m; sourceTree = ""; }; 4C591B55178F897A0080B16B /* KPKBinary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKBinary.h; sourceTree = ""; }; 4C591B56178F897A0080B16B /* KPKBinary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKBinary.m; sourceTree = ""; }; - 4C59745018B3CE7200C8EBD1 /* KPKTestAutotypeNormalization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestAutotypeNormalization.m; sourceTree = ""; }; + 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestAutotype.m; sourceTree = ""; }; 4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordCreatorViewController.h; sourceTree = ""; }; 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordCreatorViewController.m; sourceTree = ""; }; 4C5AA58F179549A1008ECAD7 /* KPKXmlTreeWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKXmlTreeWriter.h; sourceTree = ""; }; @@ -1453,7 +1453,7 @@ 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */, 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */, 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */, - 4C59745018B3CE7200C8EBD1 /* KPKTestAutotypeNormalization.m */, + 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */, ); path = MacPassTests; sourceTree = ""; @@ -2315,7 +2315,7 @@ 4C6366AF17AF207600AAF17D /* KPKTestHexColor.m in Sources */, 4CE76DAD17B3AD010043B82B /* KPKHashedDataTest.m in Sources */, 4CEAF85B17BA9B44001307A6 /* KPKTestKeyfileParsing.m in Sources */, - 4C59745118B3CE7200C8EBD1 /* KPKTestAutotypeNormalization.m in Sources */, + 4C59745118B3CE7200C8EBD1 /* KPKTestAutotype.m in Sources */, 4C6FDD2117BC4F4C004AEEC8 /* KPKTestPlaceholder.m in Sources */, 4CBA561617C2EA4900CE13D3 /* KPKTestXmlWriting.m in Sources */, ); diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 27adfa7c..1767d7db 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -319,10 +319,10 @@ CGEventRef pressKey = CGEventCreateKeyboardEvent (eventSource, keyCode, YES); CGEventRef releaseKey = CGEventCreateKeyboardEvent (eventSource, keyCode, NO); - /* The modifer Masks might be set, reset them */ - CGEventSetFlags(pressKey,0); - CGEventSetFlags(releaseKey, 0); - /* Set the modifiers to the ones we want */ + /* + Set the modifiers to the ones we want + We use our private event source so no modifier reset should be needed + */ CGEventSetFlags(pressKey,flags); CGEventSetFlags(releaseKey, flags); diff --git a/MacPass/MPAutotypePaste.h b/MacPass/MPAutotypePaste.h index c36097c1..299e9e72 100644 --- a/MacPass/MPAutotypePaste.h +++ b/MacPass/MPAutotypePaste.h @@ -13,6 +13,8 @@ */ @interface MPAutotypePaste : MPAutotypeCommand +@property (readonly, copy) NSString *pasteData; + - (instancetype)initWithString:(NSString *)aString; - (void)appendString:(NSString *)aString; diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index 4d89d0c6..d90e6f0b 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -13,7 +13,7 @@ @interface MPAutotypePaste () -@property (strong) NSString *pasteData; +@property (copy) NSString *pasteData; @end @@ -35,7 +35,6 @@ self.pasteData = [self.pasteData stringByAppendingString:aString]; } - - (void)execute { if([self.pasteData length] > 0) { MPPasteBoardController *controller = [MPPasteBoardController defaultController]; diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 453848a8..92ebf48e 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2548 + 2550 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m new file mode 100644 index 00000000..4cc91234 --- /dev/null +++ b/MacPassTests/KPKTestAutotype.m @@ -0,0 +1,115 @@ +// +// KPKTestAutotypeNormalization.m +// MacPass +// +// Created by Michael Starke on 18.02.14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +#import "NSString+Commands.h" +#import "MPAutotypeCommand.h" +#import "MPAutotypeContext.h" +#import "MPAutotypePaste.h" +#import "MPAutotypeKeyPress.h" + +#import "MPKeyMapper.h" + +#import "KPKEntry.h" + +@interface KPKTestAutotype : XCTestCase + +@end + +@implementation KPKTestAutotype + +- (void)testSimpleNormalization { + NSString *normalized = [@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; + XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); +} + +- (void)testCommandRepetition { + NSString *normalized = [@"Whoo %{% 2}{^}{SHIFT 5}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; + XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{%}{^}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); + normalized = [@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}" normalizedAutotypeSequence]; + XCTAssertTrue([normalized isEqualToString:@"{TAB}{TAB}{TAB}{TAB}{TAB}TAB{TAB}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}ENTER{ENTER}{%%}"]); +} + +- (void)testeBracketValidation { + XCTAssertFalse([@"{BOOO}NO-COMMAND{TAB}{WHOO}{WHOO}{SPACE}!!!thisIsFun{{MISMATCH!!!}" validateCommmand]); + XCTAssertFalse([@"{{}}}}" validateCommmand]); + XCTAssertFalse([@"{}{}{{{}{{{{{{}}" validateCommmand]); + XCTAssertTrue([@"{}{}{}{}{}{ }ThisIsValid{}{STOP}" validateCommmand]); +} + +- (void)testCommandCreation { + KPKEntry *entry = [[KPKEntry alloc] init]; + entry.title = @"Title"; + entry.url = @"www.myurl.com"; + entry.username = @"{{User{name}}}"; + entry.password = @"Pass{word}"; + + /* Command 1 */ + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; + NSArray *commands = [MPAutotypeCommand commandsForContext:context]; + + XCTAssertTrue(commands.count == 4); + XCTAssertTrue([commands[0] isKindOfClass:[MPAutotypePaste class]]); + XCTAssertTrue([commands[1] isKindOfClass:[MPAutotypeKeyPress class]]); + XCTAssertTrue([commands[2] isKindOfClass:[MPAutotypePaste class]]); + XCTAssertTrue([commands[3] isKindOfClass:[MPAutotypeKeyPress class]]); + + /* {USERNAME} */ + MPAutotypePaste *paste = commands[0]; + XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); + + /* {TAB} */ + MPAutotypeKeyPress *keyPress = commands[1]; + XCTAssertTrue(keyPress.keyCode == kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertTrue(keyPress.modifierMask == 0); + + /* {PASSWORD} */ + paste = commands[2]; + XCTAssertTrue([entry.password isEqualToString:paste.pasteData]); + + /* {ENTER} */ + keyPress = commands[3]; + XCTAssertTrue(keyPress.keyCode = kVK_Return); + + /* Command 2 */ + context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; + commands = [MPAutotypeCommand commandsForContext:context]; + XCTAssertTrue(commands.count == 5); + XCTAssertTrue([commands[0] isKindOfClass:[MPAutotypeKeyPress class]]); + XCTAssertTrue([commands[1] isKindOfClass:[MPAutotypePaste class]]); + XCTAssertTrue([commands[2] isKindOfClass:[MPAutotypeKeyPress class]]); + XCTAssertTrue([commands[3] isKindOfClass:[MPAutotypePaste class]]); + XCTAssertTrue([commands[4] isKindOfClass:[MPAutotypeKeyPress class]]); + + /* ^T */ + keyPress = commands[0]; + /* Lower case is ok, since we only need the key, not the sequence to reproduce the string */ + XCTAssertTrue([@"t" isEqualToString:[MPKeyMapper stringForKey:keyPress.keyCode]]); + XCTAssertTrue(keyPress.modifierMask == kCGEventFlagMaskCommand); + + /* {USERNAME} */ + paste = commands[1]; + XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); + + /* %+^{TAB} */ + keyPress = commands[2]; + XCTAssertTrue(keyPress.keyCode == kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertTrue(keyPress.modifierMask = kCGEventFlagMaskCommand | kCGEventFlagMaskAlphaShift | kCGEventFlagMaskAlternate); + + /* Whoo{PASSWORD} */ + paste = commands[3]; + NSString *pasteString = [[NSString alloc] initWithFormat:@"%@%@", @"Whoo", entry.password]; + XCTAssertTrue([pasteString isEqualToString:paste.pasteData]); + + /* {ENTER} */ + keyPress = commands[4]; + XCTAssertTrue(keyPress.keyCode = kVK_Return); +} +@end diff --git a/MacPassTests/KPKTestAutotypeNormalization.m b/MacPassTests/KPKTestAutotypeNormalization.m deleted file mode 100644 index 294f60f5..00000000 --- a/MacPassTests/KPKTestAutotypeNormalization.m +++ /dev/null @@ -1,68 +0,0 @@ -// -// KPKTestAutotypeNormalization.m -// MacPass -// -// Created by Michael Starke on 18.02.14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import -#import "NSString+Commands.h" -#import "MPAutotypeCommand.h" -#import "MPAutotypeContext.h" -#import "MPAutotypePaste.h" -#import "MPAutotypeKeyPress.h" - -#import "KPKEntry.h" - -@interface KPKTestAutotypeNormalization : XCTestCase - -@end - -@implementation KPKTestAutotypeNormalization - -- (void)testSimpleNormalization { - NSString *normalized = [@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; - XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); -} - -- (void)testCommandRepetition { - NSString *normalized = [@"Whoo %{% 2}{^}{SHIFT 5}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; - XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{%}{^}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); - normalized = [@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}" normalizedAutotypeSequence]; - XCTAssertTrue([normalized isEqualToString:@"{TAB}{TAB}{TAB}{TAB}{TAB}TAB{TAB}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}ENTER{ENTER}{%%}"]); -} - -- (void)testeBracketValidation { - XCTAssertFalse([@"{BOOO}NO-COMMAND{TAB}{WHOO}{WHOO}{SPACE}!!!thisIsFun{{MISMATCH!!!}" validateCommmand]); - XCTAssertFalse([@"{{}}}}" validateCommmand]); - XCTAssertFalse([@"{}{}{{{}{{{{{{}}" validateCommmand]); - XCTAssertTrue([@"{}{}{}{}{}{ }ThisIsValid{}{STOP}" validateCommmand]); -} - -- (void)testCommandCreation { - KPKEntry *entry = [[KPKEntry alloc] init]; - entry.title = @"Title"; - entry.url = @"www.myurl.com"; - entry.username = @"{{User{name}}}"; - entry.password = @"Pass{word}"; - - MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; - NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - - XCTAssert([commands count] == 4); - XCTAssert([commands[0] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[1] isKindOfClass:[MPAutotypeKeyPress class]]); - XCTAssert([commands[2] isKindOfClass:[MPAutotypePaste class]]); - XCTAssert([commands[3] isKindOfClass:[MPAutotypeKeyPress class]]); - - context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{DELAY=5}{VKEY-NX 1}{VKEY-EX 200}{DELAY 5}{VKEY 300}"]; - commands = [MPAutotypeCommand commandsForContext:context]; - - context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; - commands = [MPAutotypeCommand commandsForContext:context]; - - - //XCTAssert([commands count] == 5); -} -@end From 559f7cd78f40521dc418d1e0bf0fc5c5212b6bef Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 17:30:13 +0100 Subject: [PATCH 217/778] Fixed issue with special keys being remapped again (resulting in mangeled key codes in release) --- MacPass/MPAutotypeCommand.m | 3 +-- MacPass/MPAutotypeKeyPress.m | 8 +++++--- MacPass/MacPass-Info.plist | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 1767d7db..0c663c29 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -323,11 +323,10 @@ Set the modifiers to the ones we want We use our private event source so no modifier reset should be needed */ - CGEventSetFlags(pressKey,flags); + CGEventSetFlags(pressKey, flags); CGEventSetFlags(releaseKey, flags); /* Send the event */ - NSLog(@"Seding %@", self); CGEventPost(kCGHIDEventTap, pressKey); usleep(0.05 * NSEC_PER_MSEC); CGEventPost(kCGHIDEventTap, releaseKey); diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index bf0419bd..cf8f5c1e 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -39,12 +39,14 @@ if(![self isValid]) { return; // no valid command. Stop. } - CGKeyCode mappedKey = [self _transformKeyCode]; - [self sendPressKey:mappedKey modifierFlags:self.modifierMask]; + //CGKeyCode mappedKey = [self _transformKeyCode]; + [self sendPressKey:self.keyCode modifierFlags:self.modifierMask]; } - (BOOL)isValid { - return ([self _transformKeyCode] != kMPUnknownKeyCode); + return YES; + /* TODO test for actual validity of the command */ + //return ([self _transformKeyCode] != kMPUnknownKeyCode); } - (CGKeyCode)_transformKeyCode { diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 92ebf48e..84ba7744 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2550 + 2555 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From c7cd9d9a22e576834cd4af40d7a4eafa70666b1a Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 3 Dec 2014 19:22:59 +0100 Subject: [PATCH 218/778] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 694e2c1e..13f9efd3 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,11 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.2.x - 0.3.x): * KDBX DeletedObjects are stripped on save. This will break synchronisation features! -* Binary releases (since 0.4.x): - * KDBX History is only preseverd. Editting doesn't create new history entries +* Binary releases (0.4.x): * Default Autotype Sequences will get stored although they shouldn't be stored * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` +* Binary releases (0.5): + * KDBX History is only preseverd. Editting doesn't create new history entries ##System Requirement From 7fd1aa43ba3176e4077ba0a105b975ff8872d32a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 20:16:58 +0100 Subject: [PATCH 219/778] Added minium heights to entry inspector --- MacPass/Base.lproj/EntryInspectorView.xib | 30 ++++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 12c9bf41..ad237a6b 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -445,10 +445,10 @@ - + - + @@ -456,7 +456,10 @@ - + + + + @@ -467,7 +470,7 @@ - + @@ -475,7 +478,10 @@ - + + + + @@ -487,6 +493,9 @@ + + + @@ -505,7 +514,7 @@ - + @@ -524,7 +533,10 @@ - + + + + From 3d5b7d2b8e49b51de09bc0eac676525ca73837d2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 21:07:47 +0100 Subject: [PATCH 220/778] Version bump --- MacPass/MacPass-Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 84ba7744..01736b2e 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -58,11 +58,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.5 + 0.5.1 CFBundleSignature ???? CFBundleVersion - 2555 + 2556 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From 637f524cb7263e35f058c1a44e41a183b3d8c8c2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 21:18:28 +0100 Subject: [PATCH 221/778] Raised build number --- MacPass/MacPass-Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 01736b2e..dbc4aaba 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2556 + 2557 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From 3a46e11790fb2ad8e18d9120ffde7bc38734662e Mon Sep 17 00:00:00 2001 From: Dylan Smith Date: Wed, 3 Dec 2014 20:39:41 +0000 Subject: [PATCH 222/778] fixed 'candiate' typos in Autotype dialog --- MacPass/MPDocument+Autotype.h | 2 +- MacPass/de.lproj/Localizable.strings | Bin 10416 -> 10418 bytes MacPass/en.lproj/Localizable.strings | Bin 11048 -> 11050 bytes MacPass/fr.lproj/Localizable.strings | Bin 10402 -> 10404 bytes 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPDocument+Autotype.h b/MacPass/MPDocument+Autotype.h index a552d4c3..e66d6b58 100644 --- a/MacPass/MPDocument+Autotype.h +++ b/MacPass/MPDocument+Autotype.h @@ -30,7 +30,7 @@ * * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype * - * @return YES if the given item is considered a possible candiate. NO in all other cases + * @return YES if the given item is considered a possible candidate. NO in all other cases */ + (BOOL)isCandidateForMalformedAutotype:(id)item; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 3041369b1e9c0e69cb8fef7fb7ec0da3222c5c02..e1be8f2f2f130f4435f0af7b2c4c93c728f4fe1a 100644 GIT binary patch delta 14 VcmdlGxG8XhmjYwTW>1B54gf4r1rGoK delta 12 TcmdlKxFK+Zm%?Trg)|NTBf$i$ diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index ef0e80460bdb7728d817967c01f60ab494ed4390..eae9ebabf1e0bc5c6a640e03cfb50574a5ecb783 100644 GIT binary patch delta 14 VcmZ1xwkm9cngV0WW>p1dZU8A?1YiIF delta 12 TcmZ1#wjykUn!;uc1tx9)AtVF+ diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 924cc20fe3945d65750ee7273de05ba2c1c82bbf..e55bbf16ed54a9de81e1ad70280035245328dee4 100644 GIT binary patch delta 14 WcmZ1!xFm4H1_j2H&Fd9DvjYGzDF#Xa delta 12 UcmZ1yxF~SL28GR=6h5&704N3p=Kufz From e54e3357e559682d01a056e72358d2a9f87f1b29 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 Dec 2014 21:46:38 +0100 Subject: [PATCH 223/778] added german translation for autotype candidate selection --- MacPass/de.lproj/Localizable.strings | Bin 10418 -> 10420 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index e1be8f2f2f130f4435f0af7b2c4c93c728f4fe1a..e34202f23f3565eb940538836cbf1ace4fe4fb27 100644 GIT binary patch delta 34 pcmdlKxFv9dk-}syE&;(rhEj%NhH{1{3>geL45 Date: Thu, 4 Dec 2014 01:59:46 +0100 Subject: [PATCH 224/778] Dragging URLs now uses the host as entry name. --- MacPass/MPDocumentWindowDelegate.m | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/MacPass/MPDocumentWindowDelegate.m b/MacPass/MPDocumentWindowDelegate.m index b2d6c302..b834b57a 100644 --- a/MacPass/MPDocumentWindowDelegate.m +++ b/MacPass/MPDocumentWindowDelegate.m @@ -38,24 +38,21 @@ NSArray *classArray = [NSArray arrayWithObject:[NSURL class]]; NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:classArray options:nil]; - BOOL ok = NO; + BOOL ok = YES; for(NSURL *url in arrayOfURLs) { if([url isFileURL] || [url isFileReferenceURL]) { - continue; ok = NO; + break; // OK stays NO; } - ok = YES; } return ok ? NSDragOperationCopy : NSDragOperationNone; } -- (BOOL)prepareForDragOperation:(id)sender { - return YES; +- (BOOL)wantsPeriodicDraggingUpdates { + return NO; } - (BOOL)performDragOperation:(id)sender { - - NSPasteboard *draggingPasteBoard = [sender draggingPasteboard]; NSArray *classArray = [NSArray arrayWithObject:[NSURL class]]; NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:classArray options:nil]; @@ -66,16 +63,22 @@ } /* Currently not working, as the underlying operations do not get the unomanager */ MPDocument *document = [[[sender draggingDestinationWindow] windowController] document]; - BOOL ok = NO; - if(document.selectedGroup) { - [[document undoManager] beginUndoGrouping]; - KPKEntry *entry = [document createEntry:document.selectedGroup]; - ok = (nil != entry); - entry.url = [url absoluteString]; - [[document undoManager] endUndoGrouping]; - [[document undoManager] setActionName:NSLocalizedString(@"IMPORT_URL", @"Imports a dragged URL for a new entry")]; + KPKGroup *parentGroup = document.selectedGroup ? document.selectedGroup : document.root; + [document.undoManager beginUndoGrouping]; + KPKEntry *entry = [document createEntry:parentGroup]; + BOOL didOk = (entry != nil); + if(url.absoluteString) { + entry.url = url.absoluteString; } - return ok; + else { + didOk = NO; + } + if(url.host) { + entry.title = url.host; + } + [document.undoManager endUndoGrouping]; + [document.undoManager setActionName:NSLocalizedString(@"IMPORT_URL", @"Imports a dragged URL for a new entry")]; + return didOk; } @end From 249875fb7f3595c712edefbc4488db395efa18f4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 02:00:03 +0100 Subject: [PATCH 225/778] Fixed isse with entries being added while no group is selected. --- MacPass/MPEntryViewController.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 5a3d8148..f1c46357 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -403,7 +403,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didAddItem:(NSNotification *)notification { MPDocument *document = [[self windowController] document]; + if(!document.selectedGroup) { + /* TODO: show group? */ + return; // No group selected + } KPKEntry *entry = document.selectedGroup.entries.lastObject; + if(!entry) { + return; // No Entry found, nothing to select. + } NSUInteger row = [self.entryArrayController.arrangedObjects indexOfObject:entry]; [self.entryTable scrollRowToVisible:row]; [self.entryTable selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; From f6ce10fbbd62428c593bd28487d1194876372e61 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 4 Dec 2014 02:01:37 +0100 Subject: [PATCH 226/778] Fixed typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 13f9efd3..a9db3105 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,8 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.4.x): * Default Autotype Sequences will get stored although they shouldn't be stored * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` -* Binary releases (0.5): - * KDBX History is only preseverd. Editting doesn't create new history entries +* Binary releases (0.5.x): + * KDBX History is only preseverd. Editing doesn't create new history entries ##System Requirement From d95b1bcf91d90f5dcb9131954588e6abded823c2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 11:13:24 +0100 Subject: [PATCH 227/778] Updated comment --- MacPass/MPDocument.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 92466f32..24934f05 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -315,7 +315,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey self.tree.metaData.masterKeyChanged = [NSDate date]; /* Key change is not undoable so just recored the change as done */ [self updateChangeCount:NSChangeDone]; - /* We need to store the key file once the user actually writes the database */ + /* + If the user opted to remeber key files for documents, we should update this information. + But it's impossible to know, if he actaully saves the changes! + */ return YES; } From 0da10e06a2ce14b0492fadd7eb9b9d96118cd60c Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 14:11:53 +0100 Subject: [PATCH 228/778] Fixed error in localization lookup --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index f097ee52..6ca61e1a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit f097ee52d107c9af7ea3661b9f336290dce2a3a9 +Subproject commit 6ca61e1a50156bf354bb230efc42b4263da5eb62 From 9d8e24104c60e528f4ae54ff4b2c243563ed5764 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 14:12:21 +0100 Subject: [PATCH 229/778] Window associations are now editable. Localization fixes --- MacPass.xcodeproj/project.pbxproj | 20 ++++++--- MacPass/Base.lproj/EntryInspectorView.xib | 2 +- MacPass/MPEntryInspectorViewController.m | 30 +++++++++---- MacPass/MPWindowTitleComboBoxDelegate.h | 13 ++++++ MacPass/MPWindowTitleComboBoxDelegate.m | 45 +++++++++++++++++++ MacPass/de.lproj/KPKLocalizable.strings | 2 +- MacPass/de.lproj/Localizable.strings | Bin 10420 -> 12010 bytes MacPass/en.lproj/KPKLocalizable.strings | 2 +- MacPass/en.lproj/Localizable.strings | Bin 11050 -> 11132 bytes MacPass/fr.lproj/KPKLocalizable.strings | 2 +- MacPass/fr.lproj/Localizable.strings | Bin 10404 -> 11846 bytes MacPass/nl.lproj/KPKLocalizable.strings | 2 +- MacPass/nl.lproj/Localizable.strings | Bin 10306 -> 11748 bytes MacPass/zh-Hans.lproj/KPKLocalizable.strings | 2 +- MacPass/zh-Hans.lproj/Localizable.strings | Bin 7978 -> 9420 bytes 15 files changed, 99 insertions(+), 21 deletions(-) create mode 100644 MacPass/MPWindowTitleComboBoxDelegate.h create mode 100644 MacPass/MPWindowTitleComboBoxDelegate.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 45d83955..2bcbf6dd 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -229,6 +229,7 @@ 4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */; }; 4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0B2FB15BCAF8600654E32 /* MPSettingsWindowController.m */; }; 4CA0E3A7176FAF99004D18CB /* MPDocumentQueryService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0E3A6176FAF99004D18CB /* MPDocumentQueryService.m */; }; + 4CA0F3ED1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */; }; 4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA23359176DBFE100F0B6AC /* MPLockDaemon.m */; }; 4CA334CA18AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA334C918AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m */; }; 4CA3530B18A53CB800839B0F /* MPKeyMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */; }; @@ -556,7 +557,7 @@ 4C3D4C0617594CA40038DAAC /* HNHSeparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHSeparator.h; sourceTree = ""; }; 4C3D4C0717594CA40038DAAC /* HNHSeparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHSeparator.m; sourceTree = ""; }; 4C3F28521791EDE800703281 /* KPKErrors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKErrors.h; sourceTree = ""; }; - 4C3F28531791EDFD00703281 /* KPKErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKErrors.m; sourceTree = ""; }; + 4C3F28531791EDFD00703281 /* KPKErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKErrors.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ContextBar.xib; sourceTree = ""; }; 4C431BCB16E2A82700700A81 /* MPPasteBoardController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasteBoardController.h; sourceTree = ""; }; 4C431BCC16E2A82700700A81 /* MPPasteBoardController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasteBoardController.m; sourceTree = ""; }; @@ -598,9 +599,9 @@ 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 13_KeysTemplate.pdf; sourceTree = ""; }; 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 18_DisplayTemplate.pdf; sourceTree = ""; }; 4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 68_PhoneTemplate.pdf; sourceTree = ""; }; - 4C53A7A81864C3A1000DFF0D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/KPKLocalizable.strings; sourceTree = ""; }; - 4C53A7A91864C3A2000DFF0D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/KPKLocalizable.strings; sourceTree = ""; }; - 4C53A7AA1864C3A2000DFF0D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/KPKLocalizable.strings; sourceTree = ""; }; + 4C53A7A81864C3A1000DFF0D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; lineEnding = 0; name = de; path = de.lproj/KPKLocalizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; + 4C53A7A91864C3A2000DFF0D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; lineEnding = 0; name = en; path = en.lproj/KPKLocalizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; + 4C53A7AA1864C3A2000DFF0D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; lineEnding = 0; name = fr; path = fr.lproj/KPKLocalizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 4C5426F217BEEA8700A4424C /* Autotype_test.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; name = Autotype_test.kdbx; path = Databases/Autotype_test.kdbx; sourceTree = ""; }; 4C569D9C17652AC800595B62 /* MPConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPConstants.h; sourceTree = ""; }; 4C569D9D17652B0600595B62 /* MPConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConstants.m; sourceTree = ""; }; @@ -793,6 +794,8 @@ 4CA0B30D15BCB6FD00654E32 /* MPSettingsTab.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPSettingsTab.h; sourceTree = ""; }; 4CA0E3A5176FAF99004D18CB /* MPDocumentQueryService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentQueryService.h; sourceTree = ""; }; 4CA0E3A6176FAF99004D18CB /* MPDocumentQueryService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentQueryService.m; sourceTree = ""; }; + 4CA0F3EB1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPWindowTitleComboBoxDelegate.h; sourceTree = ""; }; + 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPWindowTitleComboBoxDelegate.m; sourceTree = ""; }; 4CA23358176DBFE100F0B6AC /* MPLockDaemon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPLockDaemon.h; sourceTree = ""; }; 4CA23359176DBFE100F0B6AC /* MPLockDaemon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPLockDaemon.m; sourceTree = ""; }; 4CA334C818AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPWindowAssociationsTableViewDelegate.h; sourceTree = ""; }; @@ -861,7 +864,7 @@ 4CD3ABBD178F72610073F5C5 /* KPKEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKEntry.h; sourceTree = ""; }; 4CD3ABBE178F72610073F5C5 /* KPKEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKEntry.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CD3ABC0178F72720073F5C5 /* KPKGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKGroup.h; sourceTree = ""; }; - 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKGroup.m; sourceTree = ""; }; + 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKGroup.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CD4900E18513C180017397F /* KPKXmlElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KPKXmlElements.h; path = Format/KPKXmlElements.h; sourceTree = ""; }; 4CD4900F18513C180017397F /* KPKXmlElements.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = KPKXmlElements.m; path = Format/KPKXmlElements.m; sourceTree = ""; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; @@ -949,7 +952,7 @@ 601F811818E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 601F811918E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/Credits.rtf"; sourceTree = ""; }; 601F811A18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; - 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizable.strings"; sourceTree = ""; }; + 601F811B18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; lineEnding = 0; name = "zh-Hans"; path = "zh-Hans.lproj/KPKLocalizable.strings"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; 601F811C18E016340028F3DE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 6021FE3C18E1341900C3BC51 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/EntryInspectorView.xib; sourceTree = ""; }; 6021FE4418E1342500C3BC51 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/EntryInspectorView.strings"; sourceTree = ""; }; @@ -1013,7 +1016,7 @@ BD6C366319484CF40089EB37 /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; BD6C366419484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = nl; path = nl.lproj/Credits.rtf; sourceTree = ""; }; BD6C366519484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; - BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/KPKLocalizable.strings; sourceTree = ""; }; + BD6C366619484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; lineEnding = 0; name = nl; path = nl.lproj/KPKLocalizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; BD6C366719484CF40089EB37 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; /* End PBXFileReference section */ @@ -1374,6 +1377,8 @@ 4CA334C918AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m */, 4C89B70E19B4B4A300DC0A6A /* MPTreeDelegate.h */, 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */, + 4CA0F3EB1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.h */, + 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */, ); name = Delegates; sourceTree = ""; @@ -2418,6 +2423,7 @@ 4C245BE9176E1E3D0086100E /* GCDAsyncSocket.m in Sources */, 4C245BEB176E1E3D0086100E /* DDAbstractDatabaseLogger.m in Sources */, 4C245BEC176E1E3D0086100E /* DDASLLogger.m in Sources */, + 4CA0F3ED1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m in Sources */, 4C245BED176E1E3D0086100E /* DDFileLogger.m in Sources */, 4C245BEE176E1E3D0086100E /* DDLog.m in Sources */, 4C245BEF176E1E3D0086100E /* DDTTYLogger.m in Sources */, diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index ad237a6b..8b7f2df8 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -808,7 +808,7 @@ - + diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index c2624d43..de2d87c2 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -12,6 +12,7 @@ #import "MPPasswordCreatorViewController.h" #import "MPAttachmentTableDataSource.h" #import "MPWindowAssociationsTableViewDelegate.h" +#import "MPWindowTitleComboBoxDelegate.h" #import "NSString+MPPasswordCreation.h" @@ -48,6 +49,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { MPCustomFieldTableViewDelegate *_customFieldTableDelegate; MPAttachmentTableDataSource *_attachmentDataSource; MPWindowAssociationsTableViewDelegate *_windowAssociationsTableDelegate; + MPWindowTitleComboBoxDelegate *_windowTitleMenuDelegate; } @property (nonatomic, assign) BOOL showPassword; @@ -76,6 +78,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { _customFieldTableDelegate = [[MPCustomFieldTableViewDelegate alloc] init]; _attachmentDataSource = [[MPAttachmentTableDataSource alloc] init]; _windowAssociationsTableDelegate = [[MPWindowAssociationsTableViewDelegate alloc] init]; + _windowTitleMenuDelegate = [[MPWindowTitleComboBoxDelegate alloc] init]; _attachmentTableDelegate.viewController = self; _customFieldTableDelegate.viewController = self; _activeTab = MPEntryTabGeneral; @@ -92,19 +95,22 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.tabView bind:NSSelectedIndexBinding toObject:self withKeyPath:NSStringFromSelector(@selector(activeTab)) options:nil]; /* Set background to clearcolor so we can draw in the scrollview */ - [self.attachmentTableView setBackgroundColor:[NSColor clearColor]]; + self.attachmentTableView.backgroundColor = [NSColor clearColor]; [self.attachmentTableView bind:NSContentBinding toObject:_attachmentsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; - [self.attachmentTableView setDelegate:_attachmentTableDelegate]; - [self.attachmentTableView setDataSource:_attachmentDataSource]; + self.attachmentTableView.delegate = _attachmentTableDelegate; + self.attachmentTableView.dataSource = _attachmentDataSource; [self.attachmentTableView registerForDraggedTypes:@[NSFilenamesPboardType]]; /* Set background to clearcolor so we can draw in the scrollview */ - [self.customFieldsTableView setBackgroundColor:[NSColor clearColor]]; + self.customFieldsTableView.backgroundColor = [NSColor clearColor]; [self.customFieldsTableView bind:NSContentBinding toObject:_customFieldsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; - [self.customFieldsTableView setDelegate:_customFieldTableDelegate]; + self.customFieldsTableView.delegate = _customFieldTableDelegate; - [self.windowAssociationsTableView setBackgroundColor:[NSColor clearColor]]; - [self.windowAssociationsTableView setDelegate:_windowAssociationsTableDelegate]; + self.windowAssociationsTableView.backgroundColor = [NSColor clearColor]; + self.windowAssociationsTableView.delegate = _windowAssociationsTableDelegate; [self.windowAssociationsTableView bind:NSContentBinding toObject:_windowAssociationsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; + [self.windowAssociationsTableView bind:NSSelectionIndexesBinding toObject:_windowAssociationsController withKeyPath:NSSelectionIndexesBinding options:nil]; + + self.windowTitleComboBox.delegate = _windowTitleMenuDelegate; [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [self.togglePassword bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; @@ -380,7 +386,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(tags)) options:nil]; - + /* Setup enable/disable */ for(id item in items) { [item bind:NSEnabledBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; @@ -422,6 +428,12 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(isEnabled)) options:nil]; [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(defaultKeystrokeSequence)) options:@{ NSValidatesImmediatelyBindingOption: @(YES) }]; [_windowAssociationsController bind:NSContentArrayBinding toObject:self.entry.autotype withKeyPath:NSStringFromSelector(@selector(associations)) options:nil]; + //[self.windowTitleComboBox setStringValue:@""]; + NSString *selectedWindowTitlePath = [[NSString alloc] initWithFormat:@"selection.%@", NSStringFromSelector(@selector(windowTitle))]; + [self.windowTitleComboBox bind:NSValueBinding toObject:_windowAssociationsController withKeyPath:selectedWindowTitlePath options:nil]; + + NSString *selectedWindowKeyStrokesPath = [[NSString alloc] initWithFormat:@"selection.%@", NSStringFromSelector(@selector(keystrokeSequence))]; + [self.associationSequenceTextField bind:NSValueBinding toObject:_windowAssociationsController withKeyPath:selectedWindowKeyStrokesPath options:nil]; } else { [self.enableAutotypeCheckButton unbind:NSValueBinding]; @@ -431,6 +443,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [_windowAssociationsController unbind:NSContentArrayBinding]; [_windowAssociationsController setContent:nil]; } + [self.windowTitleComboBox unbind:NSValueBinding]; + [self.associationSequenceTextField unbind:NSValueBinding]; } } diff --git a/MacPass/MPWindowTitleComboBoxDelegate.h b/MacPass/MPWindowTitleComboBoxDelegate.h new file mode 100644 index 00000000..933f088a --- /dev/null +++ b/MacPass/MPWindowTitleComboBoxDelegate.h @@ -0,0 +1,13 @@ +// +// MPWindowTitleMenuDelegate.h +// MacPass +// +// Created by Michael Starke on 04/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPWindowTitleComboBoxDelegate : NSObject + +@end diff --git a/MacPass/MPWindowTitleComboBoxDelegate.m b/MacPass/MPWindowTitleComboBoxDelegate.m new file mode 100644 index 00000000..38a61ae3 --- /dev/null +++ b/MacPass/MPWindowTitleComboBoxDelegate.m @@ -0,0 +1,45 @@ +// +// MPWindowTitleMenuDelegate.m +// MacPass +// +// Created by Michael Starke on 04/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPWindowTitleComboBoxDelegate.h" + +@implementation MPWindowTitleComboBoxDelegate + +- (void)comboBoxWillPopUp:(NSNotification *)notification { + NSComboBox *comboBox = notification.object; + if(!comboBox) { + return; + } + [comboBox removeAllItems]; + [comboBox addItemsWithObjectValues:[self _currentWindowTitles]]; + comboBox.numberOfVisibleItems = MIN(5, comboBox.numberOfItems); +} + +- (NSArray *)_currentWindowTitles { + static NSArray *ownerSkipList; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + ownerSkipList = @[ @"SystemUIServer", @"Window Server", @"Dock" ]; + }); + NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); + NSMutableArray *windowTitles = [[NSMutableArray alloc] initWithCapacity:MAX(1,currentWindows.count)]; + for(NSDictionary *windowDict in currentWindows) { + NSString *windowName = windowDict[(NSString *)kCGWindowName]; + if([windowName length] <= 0) { + continue; // No title, skip + } + NSString *ownerName = windowDict[(NSString *)kCGWindowOwnerName]; + if([ownerSkipList containsObject:ownerName]) { + continue; // We do not want to insert some system windows (Dock, Menubars) + } + [windowTitles addObject:windowDict[(NSString *)kCGWindowName]]; + } + return windowTitles; +} + +@end diff --git a/MacPass/de.lproj/KPKLocalizable.strings b/MacPass/de.lproj/KPKLocalizable.strings index 80f3c248..84b93060 100644 --- a/MacPass/de.lproj/KPKLocalizable.strings +++ b/MacPass/de.lproj/KPKLocalizable.strings @@ -1,5 +1,5 @@ /* - KPKlocalizable.strings + KPKLocalizable.strings MacPass Created by Michael Starke on 20/12/13. diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index e34202f23f3565eb940538836cbf1ace4fe4fb27..c6e6d70bcc7b7a21724f220fbb025372476409ae 100644 GIT binary patch delta 969 zcmaKr-D(q26onU7t4XCzCmDvCluW0!0hQkLrcin@=0}Cvv`wT{DWN}6gJTMrmO@{m zl>H2X7lKLzU&1#K1fdtwJ8z_gUbyy2g4%>IoWFfGXRZC6GoM#ZH$I+5WO~Y~K0qEz zY^(55Mv-F$C9caHa~undKfxl`C3tYLz~(U)AmprsJ#3mQgQ>D_Osx*H@1_nkvbC}OVvUrG!6tCHm z$iyTSpBullN8xoW;}LW7$jS3$(($onEC(!R-xSg^|0^9IDlk(a5R|-)r4v3gLLA@( zuUM#-Iqf#T-y9s4voULEjoC}YSHzlpiaK_|WVEm}Xt~A~G{4f^z#PubP#;vJH zHY4%mUur!a^dUDnUTQ0ayrF=fy6L9Dh|(DO-{*|1SPmbqCGTP>d2bI}`e*%H2_M_n I$)8vM0Q}y(LjV8( delta 34 scmV+-0NwxUU9?fK>It*n3i<-0>JARGJRR@|lkf}#ldvZgvmz?U1Sgyi5C8xG diff --git a/MacPass/en.lproj/KPKLocalizable.strings b/MacPass/en.lproj/KPKLocalizable.strings index c3fa427f..d9c947ea 100644 --- a/MacPass/en.lproj/KPKLocalizable.strings +++ b/MacPass/en.lproj/KPKLocalizable.strings @@ -1,5 +1,5 @@ /* - KPKlocalizable.strings + KPKLocalizable.strings MacPass Created by Michael Starke on 20/12/13. diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index eae9ebabf1e0bc5c6a640e03cfb50574a5ecb783..91d37ebcd362c9701e0721568dbdb2f2eb61d1b7 100644 GIT binary patch delta 48 zcmZ1#_9twEfb`@OQbOF}44w>r3@!}*4B?aSa*0o_5aQuhUJq|GjX&=@25_p#X$q<9w zF_!-K;qzxN8D)f&SVhgL;djnueQ7k~?_8c)|Kp5%4|HD@?nVe~@Z2S=FdH-x>7}0O zk)A`-#MCW~1Zxp?BX}%=GB{?Qfc)o7-oJMvXQo~M$HjMJ{?o+xXr1!~SgNY~Zxgv} z9lTA@wzN$=39GK!{iVrY7qDPL$|2*TBEK`8&6$~5b}h38Gb4_b7}R2-4TL$sQb1BY zq+22m(KhQqv4!|1JFO#D@&{)ApD~xe`eqrt9%$RhZqpo`#@EA=@wdaO%Pj|csuu^R z-SCD(=dR|z6{aDUn?bSD6W)A9hY8~^|S delta 27 jcmX>Wvm|iC9nQ_`xc)J1-o)3!x4A?16UXLHnjtIzy`c=1 diff --git a/MacPass/nl.lproj/KPKLocalizable.strings b/MacPass/nl.lproj/KPKLocalizable.strings index 862f8122..b284d953 100644 --- a/MacPass/nl.lproj/KPKLocalizable.strings +++ b/MacPass/nl.lproj/KPKLocalizable.strings @@ -1,5 +1,5 @@ /* - KPKlocalizable.strings + KPKLocalizable.strings MacPass Created by Michael Starke on 20/12/13. diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 746e584b8b5fb2e080b9aaa18e03a39a3db44e8c..ab3aaabc0f813ff6a818d1d4af009bacaaf6f9f2 100644 GIT binary patch delta 1094 zcmb7D%}!H66#gKnP)Q+`n*xn-D1orTof{#cxxHu&w&k`4iHpgFdl6!332jAIJb|m( z_zZ5)^bLFhSFR0VZQ_oNiQgG4G_=*2$+TzYoH^gm%>7b4fA#5X=h+P) zpX)Z5&?u9}=3jw*0@elG%*345kCBT(^KCpnppCxen2W^1bU+>vnH9;Z&T)hq4iPdk zU&klLG!b7inIn>itf{3^u7`Ixz#hvY7Pch_uQg8BTCvI#VuBc@Xg}kcr4Afc{(k3 z;=(h*oa4A`pW&|Dk7guPd~+I`S}$YQDh#Qx!MSCXispkGnicChrOjN4>%vR+#6#J< zSFD@ z5*+EdD~cX55Wt9~3fp$Giq~9+So|YN9-Z8%OB0`SP@ox@aFUukeT+223-R^NZr3#b zZSA#{Jy56mpkCTp%h3)+iFN+Uo7<-NeGbtVT2*Z`d$apL6BkV;ku>34VyWxZ(zEsl R?RL1@{qgW+f0+F^^cydl$qWDh delta 31 ncmaD7eJEhVBhJlRxLBAcdr0$aKE=nzw^>Pc1;=J5%|$E#&$A0` diff --git a/MacPass/zh-Hans.lproj/KPKLocalizable.strings b/MacPass/zh-Hans.lproj/KPKLocalizable.strings index fcb89f40..884dc42d 100644 --- a/MacPass/zh-Hans.lproj/KPKLocalizable.strings +++ b/MacPass/zh-Hans.lproj/KPKLocalizable.strings @@ -1,5 +1,5 @@ /* - KPKlocalizable.strings + KPKLocalizable.strings MacPass Created by Michael Starke on 20/12/13. diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 1390871d48e79ae3670eceb9094b2d5e9cefd877..8b3e36a806f71ecdd8b838aa132fe334cda5e36f 100644 GIT binary patch delta 1151 zcmb7@-A)rh7>2)KBEdorh(wEk_oOZZ>C%tHzFArGkD(~N=3Jt^Fm&vqSOd^Md!UCxMKKnSSpt@WQ z@;o)8Z!BR>Rt7sme*dwW7eTVtFZuD&7`0kwN^5oq1WbEtY zLaOE{q|s2?HMr!}Q$kfMhSFxOK~Fi<<(;FTBZudB80N(*dU95i68JyIKdIH>F3AVz zACbIEGkB`sfU4AAYcXW$agP}JboRCHR_M3W%oh{Z9ho(^gGN5E@(YJfeN?lp6*YNL z!xmEwuyyc2-qUZ&i+?5Qrt9`*z_>-z0(GlPz^l-z4zG^r0lNb2u;gs@P^o#`X;Q+? z*e958nJ9T~x0QVWI|Gl1yPnGir1ohFqv;Tg$zLA#cEraxy)mXK+0-Lxk7rj*CPx0^ M&&LmN^62ZGzp|>z^#A|> delta 27 jcmX@(xyo)s2K#0!4i%=&Dcp;=H%ExKux$=etY8KJk8BB6 From a48f323e6463f94f89ded4c50ab86bd5b0486887 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 20:04:20 +0100 Subject: [PATCH 230/778] Fixed Reference lookup based on anything other that UUID --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 6ca61e1a..ab02bcab 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 6ca61e1a50156bf354bb230efc42b4263da5eb62 +Subproject commit ab02bcab6ff3b1d19f7cf519bd59e5b6bd60f319 From ea818fd4fc1b699ff893a8ff1e7839a46c1e9d01 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 20:42:24 +0100 Subject: [PATCH 231/778] Only displaying the entry user name in autotype if it's set. --- MacPass/MPAutotypeDaemon.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index a17bd2d7..f2b19ff8 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -234,7 +234,10 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:context.entry.title action:0 keyEquivalent:@""]; [item setRepresentedObject:context]; [associationMenu addItem:item]; - NSArray *attributes = @[ context.entry.username, context.command ]; + NSArray *attributes = (context.entry.username.length > 0 ) + ? @[ context.entry.username, context.command ] + : @[ context.command ]; + for(NSString *value in attributes) { NSMenuItem *valueItem = [[NSMenuItem alloc] initWithTitle:value action:NULL keyEquivalent:@""]; [valueItem setIndentationLevel:1]; From ce49478691a3477d10d8f269bccdd47e39808898 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 21:37:31 +0100 Subject: [PATCH 232/778] Added UUID display to EntryInspector --- MacPass/Base.lproj/EntryInspectorView.xib | 59 +++++++++++++++++------ MacPass/MPEntryInspectorViewController.h | 2 + MacPass/MPEntryInspectorViewController.m | 3 ++ 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 8b7f2df8..bffe9c39 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -27,6 +27,7 @@ + @@ -445,10 +446,10 @@ - + - + @@ -456,7 +457,7 @@ - + @@ -470,7 +471,7 @@ - + @@ -478,7 +479,7 @@ - + @@ -492,7 +493,7 @@ - + @@ -506,7 +507,7 @@ - + @@ -514,7 +515,7 @@ - + @@ -522,7 +523,7 @@ - + @@ -550,7 +551,7 @@ - + @@ -604,13 +605,32 @@ - + + + + + + + + + + + + + + + + + + + + @@ -645,12 +665,19 @@ + + + + + - + + + diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 56b67fd2..c5747bcb 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -20,6 +20,8 @@ @property (weak) IBOutlet NSTextField *URLTextField; @property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField; +@property (weak) IBOutlet NSTextField *uuidTextField; + @property (weak) IBOutlet NSTextField *createdTextField; @property (weak) IBOutlet NSTextField *modifiedTextField; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index de2d87c2..1c56595e 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -386,6 +386,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(tags)) options:nil]; + [self.uuidTextField bind:NSValueBinding toObject:self.entry.uuid withKeyPath:NSStringFromSelector(@selector(UUIDString)) options:nil]; + self.uuidTextField.editable = NO; /* Setup enable/disable */ for(id item in items) { @@ -397,6 +399,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [item unbind:NSValueBinding]; [item unbind:NSEnabledBinding]; } + [self.uuidTextField unbind:NSValueBinding]; [self.expiresCheckButton unbind:NSTitleBinding]; } } From a47bba23b073a7707d82f91ea3bc61bc4f918968 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 Dec 2014 21:47:21 +0100 Subject: [PATCH 233/778] Added referenc builder stub view --- MacPass.xcodeproj/project.pbxproj | 4 ++ MacPass/ReferenceBuilderView.xib | 67 +++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 MacPass/ReferenceBuilderView.xib diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 2bcbf6dd..ca657d56 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -223,6 +223,7 @@ 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; + 4C99E6A51A30FDFD00E2BA8D /* ReferenceBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */; }; 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -782,6 +783,7 @@ 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_CreatedTemplate.pdf; path = Icons/99_CreatedTemplate.pdf; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; + 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ReferenceBuilderView.xib; sourceTree = ""; }; 4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextFieldCell.h; sourceTree = ""; }; 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextFieldCell.m; sourceTree = ""; }; 4CA08D9E17A831B200A6544B /* MPAddEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAddEntryContextMenuDelegate.h; sourceTree = ""; }; @@ -1104,6 +1106,7 @@ 4C5FE9AD17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m */, 4CCEDE28179F203B008402BE /* MPOutlineView.h */, 4CCEDE29179F203B008402BE /* MPOutlineView.m */, + 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */, ); name = Views; sourceTree = ""; @@ -2245,6 +2248,7 @@ 6021FE8D18E1617300C3BC51 /* PasswordCreatorView.xib in Resources */, 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */, 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */, + 4C99E6A51A30FDFD00E2BA8D /* ReferenceBuilderView.xib in Resources */, 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */, 6021FE5618E1429500C3BC51 /* IntegrationSettings.xib in Resources */, 4CA3531218A5577300839B0F /* dsa_sparkle_pub.pem in Resources */, diff --git a/MacPass/ReferenceBuilderView.xib b/MacPass/ReferenceBuilderView.xib new file mode 100644 index 00000000..fb873699 --- /dev/null +++ b/MacPass/ReferenceBuilderView.xib @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 90f844f87ee241dd4f89e0927f391103dee3570f Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 5 Dec 2014 02:57:10 +0100 Subject: [PATCH 234/778] moving more code to @properties, ReferenceBuilder WIP --- MacPass.xcodeproj/project.pbxproj | 8 ++- MacPass/Base.lproj/EntryInspectorView.xib | 2 +- MacPass/DDHotKey+MacPassAdditions.m | 1 - MacPass/MPEntryViewController.m | 2 +- MacPass/MPOutlineViewController.m | 2 +- MacPass/MPPasteBoardController.m | 28 +++++---- MacPass/MPReferenceBuilderViewController.h | 16 ++++++ MacPass/MPReferenceBuilderViewController.m | 49 ++++++++++++++++ MacPass/MPViewController.h | 4 +- MacPass/MPViewController.m | 4 +- MacPass/ReferenceBuilderView.xib | 66 ++++++++++++++-------- 11 files changed, 137 insertions(+), 45 deletions(-) create mode 100644 MacPass/MPReferenceBuilderViewController.h create mode 100644 MacPass/MPReferenceBuilderViewController.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index ca657d56..6bca9df7 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -284,6 +284,7 @@ 4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2961418429AA5005F01CE /* MPAutotypeKeyPress.m */; }; 4CE296191842A166005F01CE /* MPAutotypePaste.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE296181842A166005F01CE /* MPAutotypePaste.m */; }; 4CE298EB1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE298EA1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m */; }; + 4CE30ACC1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE30ACB1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m */; }; 4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */; }; 4CE39AC416ECE4F7000FE29D /* MPPopupImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39AC316ECE4F7000FE29D /* MPPopupImageView.m */; }; 4CE3E62617AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */; }; @@ -893,6 +894,8 @@ 4CE296181842A166005F01CE /* MPAutotypePaste.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypePaste.m; sourceTree = ""; }; 4CE298E91795FC2A00DF7BDB /* MPEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryContextMenuDelegate.h; sourceTree = ""; }; 4CE298EA1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryContextMenuDelegate.m; sourceTree = ""; }; + 4CE30ACA1A312B7F0063FCC6 /* MPReferenceBuilderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPReferenceBuilderViewController.h; sourceTree = ""; }; + 4CE30ACB1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPReferenceBuilderViewController.m; sourceTree = ""; }; 4CE39ABD16ECE34A000FE29D /* MPIconSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIconSelectViewController.h; sourceTree = ""; }; 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconSelectViewController.m; sourceTree = ""; }; 4CE39AC216ECE4F7000FE29D /* MPPopupImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPopupImageView.h; sourceTree = ""; }; @@ -1090,6 +1093,7 @@ 4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */, 6021FE7918E15FF300C3BC51 /* DatePickingView.xib */, 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */, + 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */, 4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */, 4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */, 4CE8247316E2F2B900573141 /* MPOverlayView.h */, @@ -1106,7 +1110,6 @@ 4C5FE9AD17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m */, 4CCEDE28179F203B008402BE /* MPOutlineView.h */, 4CCEDE29179F203B008402BE /* MPOutlineView.m */, - 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */, ); name = Views; sourceTree = ""; @@ -1711,6 +1714,8 @@ 4C1E9884185F71A800943563 /* MPContextBarViewController.m */, 4C26C34818D8D5A300CF1A1C /* MPPreviewViewController.h */, 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */, + 4CE30ACA1A312B7F0063FCC6 /* MPReferenceBuilderViewController.h */, + 4CE30ACB1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m */, ); name = "View Controller"; sourceTree = ""; @@ -2405,6 +2410,7 @@ 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, 4C245B79176E1E3D0086100E /* HTTPAuthenticationRequest.m in Sources */, 4C245B7A176E1E3D0086100E /* HTTPConnection.m in Sources */, + 4CE30ACC1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m in Sources */, 4C6F228C19A4AA700012310C /* MPAutotypeDelay.m in Sources */, 4C245B7B176E1E3D0086100E /* HTTPMessage.m in Sources */, 4C3C4EA718D6FEA100153127 /* TTTStringTransformers.m in Sources */, diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index bffe9c39..3e19806a 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -620,7 +620,7 @@ - + diff --git a/MacPass/DDHotKey+MacPassAdditions.m b/MacPass/DDHotKey+MacPassAdditions.m index f083aa10..db1fc74d 100644 --- a/MacPass/DDHotKey+MacPassAdditions.m +++ b/MacPass/DDHotKey+MacPassAdditions.m @@ -87,7 +87,6 @@ BOOL missingModifier = self.modifierFlags == 0; BOOL onlyModifiers = MPIsFlagSetInOptions(flags, self.modifierFlags) || (self.modifierFlags != 0 && flags != 0); BOOL isInvalid = onlyModifiers || missingModifier; - NSLog(@"%@ valid:%d", self, !isInvalid); return !isInvalid; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index f1c46357..50d1cb44 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -705,7 +705,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; MPDoubleClickTitleAction action = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDoubleClickTitleAction]; switch(action) { case MPDoubleClickTitleActionInspect: - [[self windowController] showInspector:nil]; + [(MPDocumentWindowController *)self.windowController showInspector:nil]; break; case MPDoubleClickTitleActionIgnore: break; diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 944215ce..20cbd7b5 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -203,7 +203,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark Actions - (void)_doubleClickedGroup:(id)sender { - [[self windowController] showInspector:sender]; + [(MPDocumentWindowController *)self.windowController showInspector:sender]; } #pragma mark NSOutlineViewDelegate diff --git a/MacPass/MPPasteBoardController.m b/MacPass/MPPasteBoardController.m index abb77a20..bf8dfb35 100644 --- a/MacPass/MPPasteBoardController.m +++ b/MacPass/MPPasteBoardController.m @@ -41,8 +41,7 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas return self; } -- (void)dealloc -{ +- (void)dealloc { if(_clearPasteboardOnShutdown) { [[NSNotificationCenter defaultCenter] removeObserver:self]; } @@ -64,8 +63,7 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas } } -- (void)stashObjects -{ +- (void)stashObjects { self.stashedObjects = [NSMutableArray array]; for (NSPasteboardItem *item in [[NSPasteboard generalPasteboard] pasteboardItems]) { NSPasteboardItem *newItem = [[NSPasteboardItem alloc] init]; @@ -79,10 +77,8 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas } } -- (void)restoreObjects -{ - if (self.stashedObjects) - { +- (void)restoreObjects { + if (self.stashedObjects) { [[NSPasteboard generalPasteboard] clearContents]; [[NSPasteboard generalPasteboard] writeObjects:self.stashedObjects]; self.stashedObjects = nil; @@ -116,10 +112,18 @@ NSString *const MPPasteBoardControllerDidClearClipboard = @"com.hicknhack.macpas - (void)_setupBindings { NSUserDefaultsController *userDefaultsController = [NSUserDefaultsController sharedUserDefaultsController]; - NSString *clearOnShutdownKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyClearPasteboardOnQuit]; - [self bind:NSStringFromSelector(@selector(clearPasteboardOnShutdown)) toObject:userDefaultsController withKeyPath:clearOnShutdownKeyPath options:nil]; - NSString *clearTimoutKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyPasteboardClearTimeout]; - [self bind:NSStringFromSelector(@selector(clearTimeout)) toObject:userDefaultsController withKeyPath:clearTimoutKeyPath options:nil]; + NSString *clearOnShutdownKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyClearPasteboardOnQuit]; + NSString *clearTimoutKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyPasteboardClearTimeout]; + + [self bind:NSStringFromSelector(@selector(clearPasteboardOnShutdown)) + toObject:userDefaultsController + withKeyPath:clearOnShutdownKeyPath + options:nil]; + + [self bind:NSStringFromSelector(@selector(clearTimeout)) + toObject:userDefaultsController + withKeyPath:clearTimoutKeyPath + options:nil]; } @end diff --git a/MacPass/MPReferenceBuilderViewController.h b/MacPass/MPReferenceBuilderViewController.h new file mode 100644 index 00000000..2b6f7656 --- /dev/null +++ b/MacPass/MPReferenceBuilderViewController.h @@ -0,0 +1,16 @@ +// +// MPReferenceBuilderViewController.h +// MacPass +// +// Created by Michael Starke on 05/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPViewController.h" + +@interface MPReferenceBuilderViewController : MPViewController +@property (weak) IBOutlet NSPopUpButton *valuePopUpButton; +@property (weak) IBOutlet NSPopUpButton *searchKeyPopUpButton; +@property (weak) IBOutlet NSTextField *searchStringTextField; + +@end diff --git a/MacPass/MPReferenceBuilderViewController.m b/MacPass/MPReferenceBuilderViewController.m new file mode 100644 index 00000000..81014f81 --- /dev/null +++ b/MacPass/MPReferenceBuilderViewController.m @@ -0,0 +1,49 @@ +// +// MPReferenceBuilderViewController.m +// MacPass +// +// Created by Michael Starke on 05/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPReferenceBuilderViewController.h" + +@interface MPReferenceBuilderViewController () + +@end + +@implementation MPReferenceBuilderViewController + +- (NSString *)nibName { + return @"ReferenceBuilderView"; +} + +//- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { +// self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; +// if(self) { +// } +// return self; +//} + +- (void)didLoadView { + [self.searchKeyPopUpButton setMenu:[self _allocateAttributeItemMenu:YES withTitle:NSLocalizedString(@"SEARCH_VALUE", "")]]; + [self.valuePopUpButton setMenu:[self _allocateAttributeItemMenu:NO withTitle:NSLocalizedString(@"OUTPUT_VALUE", "")]]; +} + +- (NSMenu *)_allocateAttributeItemMenu:(BOOL)allowCustomAttributes withTitle:(NSString *)title { + NSMenu *menu = [[NSMenu alloc] init]; + /* first item is button label */ + [menu addItemWithTitle:title action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"UUID","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"TITLE","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"USERNAME","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"PASSWORD","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"URL","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"NOTES","") action:NULL keyEquivalent:@""]; + if(allowCustomAttributes) { + [menu addItemWithTitle:NSLocalizedString(@"CUSTOM_ATTRIBUTE","") action:NULL keyEquivalent:@""]; + } + return menu; +} + +@end diff --git a/MacPass/MPViewController.h b/MacPass/MPViewController.h index 67c7aee4..292f5e6b 100644 --- a/MacPass/MPViewController.h +++ b/MacPass/MPViewController.h @@ -10,10 +10,12 @@ @interface MPViewController : NSViewController +@property (nonatomic, readonly) NSWindowController *windowController; + - (void)didLoadView; - (NSResponder *)reconmendedFirstResponder; /* Returns the associated window controller */ -- (id)windowController; + - (void)updateResponderChain; diff --git a/MacPass/MPViewController.m b/MacPass/MPViewController.m index dce049d0..ba907119 100644 --- a/MacPass/MPViewController.m +++ b/MacPass/MPViewController.m @@ -20,8 +20,8 @@ // override } -- (id)windowController { - return [[[self view] window] windowController]; +- (NSWindowController *)windowController { + return [self.view.window windowController]; } #pragma mark Responder Chain diff --git a/MacPass/ReferenceBuilderView.xib b/MacPass/ReferenceBuilderView.xib index fb873699..4a074836 100644 --- a/MacPass/ReferenceBuilderView.xib +++ b/MacPass/ReferenceBuilderView.xib @@ -5,63 +5,79 @@ - + + + + + + + + - + - - - + + + - - - - + + + - + - - - - + + + + + + - - - + + + + + + + + + + + + + + From e84fd1d5bd9c0deaefa090baa500ee0ff200b467 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Fri, 5 Dec 2014 16:45:11 +0100 Subject: [PATCH 235/778] Added more known issues --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9db3105..1997400a 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.4.x): * Default Autotype Sequences will get stored although they shouldn't be stored * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` + * Forced and Recomended database key change intervals are wrongfully initalized with 0. This has the nasty side effect, that 0.5 or Keepass under Windows complains to you about it all the time. (Issue [#269](https://github.com/mstarke/MacPass/issues/269) and [#276](https://github.com/mstarke/MacPass/issues/276)) * Binary releases (0.5.x): * KDBX History is only preseverd. Editing doesn't create new history entries From 853f60efeb1f149940ce08393f30f302a92b4de5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 5 Dec 2014 18:00:52 +0100 Subject: [PATCH 236/778] Reference builder now works rudimentarily --- MacPass.xcodeproj/project.pbxproj | 16 ++- MacPass/Base.lproj/ReferenceBuilderView.xib | 143 ++++++++++++++++++++ MacPass/MPReferenceBuilderViewController.h | 4 + MacPass/MPReferenceBuilderViewController.m | 35 ++++- MacPass/ReferenceBuilderView.xib | 83 ------------ 5 files changed, 192 insertions(+), 89 deletions(-) create mode 100644 MacPass/Base.lproj/ReferenceBuilderView.xib delete mode 100644 MacPass/ReferenceBuilderView.xib diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 6bca9df7..9552c22d 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -223,7 +223,6 @@ 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; - 4C99E6A51A30FDFD00E2BA8D /* ReferenceBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */; }; 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -277,6 +276,7 @@ 4CD78ABE16D155FF00768A1D /* 09_IdentityTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB916D155FF00768A1D /* 09_IdentityTemplate.pdf */; }; 4CD78ABF16D155FF00768A1D /* 10_ContactTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABA16D155FF00768A1D /* 10_ContactTemplate.pdf */; }; 4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */; }; + 4CD820211A32173100399DBB /* ReferenceBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */; }; 4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */; }; 4CDB5C421794AA4F0017667E /* KPKTree+Serializing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */; }; 4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */; }; @@ -784,7 +784,6 @@ 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_CreatedTemplate.pdf; path = Icons/99_CreatedTemplate.pdf; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; - 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ReferenceBuilderView.xib; sourceTree = ""; }; 4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextFieldCell.h; sourceTree = ""; }; 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextFieldCell.m; sourceTree = ""; }; 4CA08D9E17A831B200A6544B /* MPAddEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAddEntryContextMenuDelegate.h; sourceTree = ""; }; @@ -881,6 +880,7 @@ 4CD78AB916D155FF00768A1D /* 09_IdentityTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 09_IdentityTemplate.pdf; sourceTree = ""; }; 4CD78ABA16D155FF00768A1D /* 10_ContactTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 10_ContactTemplate.pdf; sourceTree = ""; }; 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 11_CameraTemplate.pdf; sourceTree = ""; }; + 4CD820221A32173100399DBB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ReferenceBuilderView.xib; sourceTree = ""; }; 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentWindow.xib; sourceTree = ""; }; 4CDB5C401794AA4F0017667E /* KPKTree+Serializing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKTree+Serializing.h"; sourceTree = ""; }; 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = "KPKTree+Serializing.m"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; @@ -1093,7 +1093,7 @@ 4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */, 6021FE7918E15FF300C3BC51 /* DatePickingView.xib */, 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */, - 4C99E6A41A30FDFD00E2BA8D /* ReferenceBuilderView.xib */, + 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */, 4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */, 4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */, 4CE8247316E2F2B900573141 /* MPOverlayView.h */, @@ -2253,7 +2253,7 @@ 6021FE8D18E1617300C3BC51 /* PasswordCreatorView.xib in Resources */, 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */, 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */, - 4C99E6A51A30FDFD00E2BA8D /* ReferenceBuilderView.xib in Resources */, + 4CD820211A32173100399DBB /* ReferenceBuilderView.xib in Resources */, 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */, 6021FE5618E1429500C3BC51 /* IntegrationSettings.xib in Resources */, 4CA3531218A5577300839B0F /* dsa_sparkle_pub.pem in Resources */, @@ -2691,6 +2691,14 @@ name = Credits.rtf; sourceTree = ""; }; + 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */ = { + isa = PBXVariantGroup; + children = ( + 4CD820221A32173100399DBB /* Base */, + ); + name = ReferenceBuilderView.xib; + sourceTree = ""; + }; 6021FE3D18E1341900C3BC51 /* EntryInspectorView.xib */ = { isa = PBXVariantGroup; children = ( diff --git a/MacPass/Base.lproj/ReferenceBuilderView.xib b/MacPass/Base.lproj/ReferenceBuilderView.xib new file mode 100644 index 00000000..aea657ed --- /dev/null +++ b/MacPass/Base.lproj/ReferenceBuilderView.xib @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPReferenceBuilderViewController.h b/MacPass/MPReferenceBuilderViewController.h index 2b6f7656..e071d25b 100644 --- a/MacPass/MPReferenceBuilderViewController.h +++ b/MacPass/MPReferenceBuilderViewController.h @@ -12,5 +12,9 @@ @property (weak) IBOutlet NSPopUpButton *valuePopUpButton; @property (weak) IBOutlet NSPopUpButton *searchKeyPopUpButton; @property (weak) IBOutlet NSTextField *searchStringTextField; +@property (weak) IBOutlet NSTextField *referenceStringTextField; + +- (IBAction)updateReference:(id)sender; +- (IBAction)updateKey:(id)sender; @end diff --git a/MacPass/MPReferenceBuilderViewController.m b/MacPass/MPReferenceBuilderViewController.m index 81014f81..d15cf123 100644 --- a/MacPass/MPReferenceBuilderViewController.m +++ b/MacPass/MPReferenceBuilderViewController.m @@ -10,6 +10,8 @@ @interface MPReferenceBuilderViewController () +@property (nonatomic, copy) NSString *searchString; + @end @implementation MPReferenceBuilderViewController @@ -28,22 +30,51 @@ - (void)didLoadView { [self.searchKeyPopUpButton setMenu:[self _allocateAttributeItemMenu:YES withTitle:NSLocalizedString(@"SEARCH_VALUE", "")]]; [self.valuePopUpButton setMenu:[self _allocateAttributeItemMenu:NO withTitle:NSLocalizedString(@"OUTPUT_VALUE", "")]]; + [self.searchStringTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(searchString)) options:nil]; + [self _updateReferenceString]; } - (NSMenu *)_allocateAttributeItemMenu:(BOOL)allowCustomAttributes withTitle:(NSString *)title { NSMenu *menu = [[NSMenu alloc] init]; /* first item is button label */ - [menu addItemWithTitle:title action:NULL keyEquivalent:@""]; + //[menu addItemWithTitle:title action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"UUID","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"TITLE","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"USERNAME","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"PASSWORD","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"URL","") action:NULL keyEquivalent:@""]; - [menu addItemWithTitle:NSLocalizedString(@"NOTES","") action:NULL keyEquivalent:@""]; + [menu addItemWithTitle:NSLocalizedString(@"NOTES","") action:NULL keyEquivalent:@""]; if(allowCustomAttributes) { [menu addItemWithTitle:NSLocalizedString(@"CUSTOM_ATTRIBUTE","") action:NULL keyEquivalent:@""]; } + NSArray *keys = @[ @"I", @"T", @"U", @"P", @"A", @"N", @"S" ]; + [menu.itemArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + NSMenuItem *item = (NSMenuItem *)obj; + NSAssert(keys.count > idx, @""); + item.representedObject = keys[idx]; + }]; return menu; } +- (void)setSearchString:(NSString *)searchString { + if(![searchString isEqualToString:_searchString]) { + _searchString = [searchString copy]; + [self _updateReferenceString]; + } +} + +- (IBAction)updateReference:(id)sender { + [self _updateReferenceString]; +} + +- (IBAction)updateKey:(id)sender { + [self _updateReferenceString]; +} + +- (void)_updateReferenceString { + NSString *key = self.searchKeyPopUpButton.selectedItem.representedObject; + NSString *value = self.valuePopUpButton.selectedItem.representedObject; + NSString *newValue = [[NSString alloc] initWithFormat:@"{REF:%@@%@:%@}", value, key, self.searchStringTextField.stringValue]; + self.referenceStringTextField.stringValue = newValue; +} @end diff --git a/MacPass/ReferenceBuilderView.xib b/MacPass/ReferenceBuilderView.xib deleted file mode 100644 index 4a074836..00000000 --- a/MacPass/ReferenceBuilderView.xib +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From a70a6e8b046f1684d3215c88b63782f10ecd7fd2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 6 Dec 2014 10:30:35 +0100 Subject: [PATCH 237/778] Reorderd headers --- MacPass/MPEntryInspectorViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 1c56595e..40624136 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -7,10 +7,10 @@ // #import "MPEntryInspectorViewController.h" +#import "MPAttachmentTableDataSource.h" #import "MPAttachmentTableViewDelegate.h" #import "MPCustomFieldTableViewDelegate.h" #import "MPPasswordCreatorViewController.h" -#import "MPAttachmentTableDataSource.h" #import "MPWindowAssociationsTableViewDelegate.h" #import "MPWindowTitleComboBoxDelegate.h" From da1cbcbadf5c8d08bc9b54abf2e4469fe6b1e2c3 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 7 Dec 2014 01:18:43 +0100 Subject: [PATCH 238/778] Removed unused log message --- MacPass/MPTemporaryFileStorage.m | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPTemporaryFileStorage.m b/MacPass/MPTemporaryFileStorage.m index a62f708e..56e04956 100644 --- a/MacPass/MPTemporaryFileStorage.m +++ b/MacPass/MPTemporaryFileStorage.m @@ -34,7 +34,6 @@ } - (void)dealloc { - NSLog(@"dealloc"); [self cleanup]; [[MPTemporaryFileStorageCenter defaultCenter] unregisterStorage:self]; } From e970db356cda12eaabc507361e48f48f1483061d Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 7 Dec 2014 01:19:00 +0100 Subject: [PATCH 239/778] Fixed issue #242 --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index de92bf37..f056276a 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit de92bf37f4e46b52afd0866607f69f1c1a749ba5 +Subproject commit f056276a89340b2cb16332279217b9a49da6c80a From 1729a9dcf177732958472c2af9c5e559ebe8809a Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Sun, 7 Dec 2014 01:26:56 +0100 Subject: [PATCH 240/778] Fixed #277 Date popup now dows not use responder chain anymore --- MacPass/MPDatePickingViewController.h | 2 ++ MacPass/MPDatePickingViewController.m | 8 +++----- MacPass/MPInspectorViewController.m | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/MacPass/MPDatePickingViewController.h b/MacPass/MPDatePickingViewController.h index 5dbd4008..05aedb9b 100644 --- a/MacPass/MPDatePickingViewController.h +++ b/MacPass/MPDatePickingViewController.h @@ -15,6 +15,8 @@ @property (weak) IBOutlet NSPopUpButton *presetPopupButton; @property (assign, readonly) BOOL didCancel; +@property (weak) NSPopover *popover; + - (IBAction)useDate:(id)sender; - (IBAction)cancel:(id)sender; - (IBAction)setDatePreset:(id)sender; diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 63a0e72b..9e2dd2c0 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -42,7 +42,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { [item setTag:MPDatePresetNone]; [presetMenu addItem:item]; [presetMenu addItem:[NSMenuItem separatorItem]]; - + for(NSInteger iIndex = 0; iIndex < sizeof(tags)/sizeof(NSUInteger); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:dateItems[iIndex] action:NULL keyEquivalent:@""]; [item setTag:tags[iIndex]]; @@ -57,14 +57,12 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { - (IBAction)useDate:(id)sender { self.didCancel = NO; self.date = [self.datePicker dateValue]; - id target = [NSApp targetForAction:@selector(performClose:)]; - [target performClose:sender]; + [self.popover performClose:self]; } - (IBAction)cancel:(id)sender { self.didCancel = YES; - id target = [NSApp targetForAction:@selector(performClose:)]; - [target performClose:sender]; + [self.popover performClose:self]; } - (IBAction)setDatePreset:(id)sender { diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index d3c779ae..4ae54a91 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -208,7 +208,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.iconSelectionViewController = [[MPIconSelectViewController alloc] init]; } [self.iconSelectionViewController reset]; - self.iconSelectionViewController.popover = _popover; + self.iconSelectionViewController.popover = self.popover; self.popover.contentViewController = self.iconSelectionViewController; [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; } @@ -222,7 +222,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.popover.delegate = self; self.popover.behavior = NSPopoverBehaviorTransient; MPDatePickingViewController *controller = [[MPDatePickingViewController alloc] init]; - MPDocument *document = [[self windowController] document]; + controller.popover = self.popover; + MPDocument *document = self.windowController.document; if(document.selectedItem.timeInfo.expiryTime) { controller.date = document.selectedItem.timeInfo.expiryTime; } From 92c1981668c6574a9a1b4ac0a78bce934ba3f984 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 15:35:29 +0100 Subject: [PATCH 241/778] Fixed issue wiht mixed disabled/enabled settings for group autotype property --- HNHUi | 2 +- KeePassKit | 2 +- MacPass/Base.lproj/GroupInspectorView.xib | 16 +++++----------- MacPass/MPGroupInspectorViewController.m | 13 +++++++++++++ MacPass/de.lproj/GroupInspectorView.strings | 9 --------- MacPass/de.lproj/Localizable.strings | Bin 12010 -> 12326 bytes MacPass/en.lproj/GroupInspectorView.strings | 9 --------- MacPass/en.lproj/Localizable.strings | Bin 11132 -> 11420 bytes MacPass/fr.lproj/GroupInspectorView.strings | 9 --------- MacPass/fr.lproj/Localizable.strings | Bin 11846 -> 12134 bytes MacPass/nl.lproj/GroupInspectorView.strings | 9 --------- MacPass/nl.lproj/Localizable.strings | Bin 11748 -> 12042 bytes .../zh-Hans.lproj/GroupInspectorView.strings | 9 --------- MacPass/zh-Hans.lproj/Localizable.strings | Bin 9420 -> 9638 bytes 14 files changed, 20 insertions(+), 58 deletions(-) diff --git a/HNHUi b/HNHUi index f056276a..0a0c4564 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit f056276a89340b2cb16332279217b9a49da6c80a +Subproject commit 0a0c4564d14a2814f2d7e0196d479a8fb644e5ce diff --git a/KeePassKit b/KeePassKit index ab02bcab..8e317424 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit ab02bcab6ff3b1d19f7cf519bd59e5b6bd60f319 +Subproject commit 8e3174244b07f7065eebdbd0c11eb6af621549a8 diff --git a/MacPass/Base.lproj/GroupInspectorView.xib b/MacPass/Base.lproj/GroupInspectorView.xib index e49c41d5..fcdd133c 100644 --- a/MacPass/Base.lproj/GroupInspectorView.xib +++ b/MacPass/Base.lproj/GroupInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -76,7 +76,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -98,13 +98,7 @@ - - - - - - - + diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index e6b7712d..7e63361c 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -56,6 +56,19 @@ metrics:nil views:views]]; [[self view] layoutSubtreeIfNeeded]; + + NSMenu *autotypeMenu = self.autotypePopupButton.menu; + NSMenuItem *inheritItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "") action:NULL keyEquivalent:@""]; + inheritItem.tag = KPKInherit; + NSMenuItem *yesItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_YES", "") action:NULL keyEquivalent:@""]; + yesItem.tag = KPKInheritYES; + NSMenuItem *noItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_NO", "") action:NULL keyEquivalent:@""]; + noItem.tag = KPKInheritNO; + + [autotypeMenu addItem:inheritItem]; + [autotypeMenu addItem:yesItem]; + [autotypeMenu addItem:noItem]; + /* void(^copyBlock)(NSTextField *textField) = ^void(NSTextField *textField) { [[MPPasteBoardController defaultController] copyObjects:@[ textField.stringValue ]]; diff --git a/MacPass/de.lproj/GroupInspectorView.strings b/MacPass/de.lproj/GroupInspectorView.strings index 660fc3ac..2c6068f5 100644 --- a/MacPass/de.lproj/GroupInspectorView.strings +++ b/MacPass/de.lproj/GroupInspectorView.strings @@ -20,15 +20,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Disable Autotype"; ObjectID = "244"; */ -"244.title" = "Disable Autotype"; - -/* Class = "NSMenuItem"; title = "Enable Autotype"; ObjectID = "245"; */ -"245.title" = "Enable Autotype"; - -/* Class = "NSMenuItem"; title = "Inherit Autotype Settings"; ObjectID = "246"; */ -"246.title" = "Inherit Autotype Settings"; - /* Class = "NSTextFieldCell"; title = "Search"; ObjectID = "265"; */ "265.title" = "Search"; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index c6e6d70bcc7b7a21724f220fbb025372476409ae..7be89fbf22e2b0b1b3f7ca122ff6c41f73236018 100644 GIT binary patch delta 314 zcmaDAyDVYDB?)DH1}z2!26u)chJ1!nh5{hllOd0x7|2RxNMTA^bfO2)&>)~!Lhu^w3UngKvn4=NbAYfE$V&%1 WR{`$yB8DWO2rJkJo6k!~iva)%KRDC? delta 12 TcmZ3M@G5r0C5g>^QW9bSD0T$# diff --git a/MacPass/en.lproj/GroupInspectorView.strings b/MacPass/en.lproj/GroupInspectorView.strings index 660fc3ac..2c6068f5 100644 --- a/MacPass/en.lproj/GroupInspectorView.strings +++ b/MacPass/en.lproj/GroupInspectorView.strings @@ -20,15 +20,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Disable Autotype"; ObjectID = "244"; */ -"244.title" = "Disable Autotype"; - -/* Class = "NSMenuItem"; title = "Enable Autotype"; ObjectID = "245"; */ -"245.title" = "Enable Autotype"; - -/* Class = "NSMenuItem"; title = "Inherit Autotype Settings"; ObjectID = "246"; */ -"246.title" = "Inherit Autotype Settings"; - /* Class = "NSTextFieldCell"; title = "Search"; ObjectID = "265"; */ "265.title" = "Search"; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 91d37ebcd362c9701e0721568dbdb2f2eb61d1b7..3342611bc0ee62eb92dd6e2491fea3306c414a3a 100644 GIT binary patch delta 256 zcmewpHYaiepSZ3*gBF7VgF8bJLq0<(LjjQO$&klT3}mG;Br}u%MT>x9S`7LOTntK+ z4Hbk<{TTcilz?KkK&-^z!jK76oyd^HkOS1Az~Bfp1*EHlp%QF{5`#5dXC#9wLokwF zSD;Nq>Gbqu@MG`*>J9?BE(FO0kXti=_7(wMQG&&G1)zPYK$#Mtd>%tOL-FK^lERy% H#FIn-kw7gp delta 12 TcmbOe`6p}xpZI1yi98ViBj^N} diff --git a/MacPass/fr.lproj/GroupInspectorView.strings b/MacPass/fr.lproj/GroupInspectorView.strings index 660fc3ac..2c6068f5 100644 --- a/MacPass/fr.lproj/GroupInspectorView.strings +++ b/MacPass/fr.lproj/GroupInspectorView.strings @@ -20,15 +20,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Disable Autotype"; ObjectID = "244"; */ -"244.title" = "Disable Autotype"; - -/* Class = "NSMenuItem"; title = "Enable Autotype"; ObjectID = "245"; */ -"245.title" = "Enable Autotype"; - -/* Class = "NSMenuItem"; title = "Inherit Autotype Settings"; ObjectID = "246"; */ -"246.title" = "Inherit Autotype Settings"; - /* Class = "NSTextFieldCell"; title = "Search"; ObjectID = "265"; */ "265.title" = "Search"; diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index be5d7237bad7dbb668eeb0fc89fd3d7ad6ae7df3..bbe4151d65e7befa4d00a531a0f80b0709297be4 100644 GIT binary patch delta 300 zcmb7?|-Dx`wYu)jl-uN3qSJxY7f1N6&4Y-~8V zJMO;w?!I^|uP>|gaIqPZlTmO|9*}ZYmaxUBo2%#I(ZZomM94%DGsS1cSe2uRp2A_k zLAz@<9JOz2zNi?6OGR|({&LD16bm*2h0W>fO=!p;{LtTN6O2gtT1%@!7xj-*6WCI;u T3ZzpR@+Lb<3vWIqAtwp|g2Xf| delta 12 TcmeB*dlJ22m&E1=l3JnwDS`!+ diff --git a/MacPass/zh-Hans.lproj/GroupInspectorView.strings b/MacPass/zh-Hans.lproj/GroupInspectorView.strings index 6349ae2f..767ee822 100644 --- a/MacPass/zh-Hans.lproj/GroupInspectorView.strings +++ b/MacPass/zh-Hans.lproj/GroupInspectorView.strings @@ -20,15 +20,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Disable Autotype"; ObjectID = "244"; */ -"244.title" = "不使用自动键入"; - -/* Class = "NSMenuItem"; title = "Enable Autotype"; ObjectID = "245"; */ -"245.title" = "使用自动键入"; - -/* Class = "NSMenuItem"; title = "Inherit Autotype Settings"; ObjectID = "246"; */ -"246.title" = "继承自动键入设置"; - /* Class = "NSTextFieldCell"; title = "Search"; ObjectID = "265"; */ "265.title" = "搜索"; diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 8b3e36a806f71ecdd8b838aa132fe334cda5e36f..db1753921d386902f8e6cc580d7c6dc3c62409da 100644 GIT binary patch delta 180 zcmX@(xy*Zmov^Y#gBF7VgF8bJLq0<(LjjQO$&klT3}mG;Br}u%MT;gUG7C?RQsGke zWAJBC0;;eDVkHJ%zj}X-(pQZug7l`Q1}ZUFGjK5|O%7BMR*qzFWe7%6i9?;XCxah@ f2T*Mg(9RGf_0Q|-lVIlV>&~kOn!VXtc%mQxEF~(D delta 12 TcmZ4Hea3Txo$zJ}kv>5HB7y{l From bc03d8ef32187b6cd62503be316746c15e5690f5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 19:05:58 +0100 Subject: [PATCH 242/778] Fixed #282 Search now gets stored correclty and is respected while performing a search --- MacPass/Base.lproj/GroupInspectorView.xib | 12 ++----- MacPass/MPDocument+Search.m | 8 ++--- MacPass/MPGroupInspectorViewController.m | 30 ++++++++++++------ MacPass/de.lproj/GroupInspectorView.strings | 9 ------ MacPass/de.lproj/Localizable.strings | Bin 12326 -> 12650 bytes MacPass/en.lproj/GroupInspectorView.strings | 9 ------ MacPass/en.lproj/Localizable.strings | Bin 11420 -> 11752 bytes MacPass/fr.lproj/GroupInspectorView.strings | 9 ------ MacPass/fr.lproj/Localizable.strings | Bin 12134 -> 12466 bytes MacPass/nl.lproj/GroupInspectorView.strings | 9 ------ MacPass/nl.lproj/Localizable.strings | Bin 12042 -> 12376 bytes .../zh-Hans.lproj/GroupInspectorView.strings | 9 ------ MacPass/zh-Hans.lproj/Localizable.strings | Bin 9638 -> 9890 bytes 13 files changed, 27 insertions(+), 68 deletions(-) diff --git a/MacPass/Base.lproj/GroupInspectorView.xib b/MacPass/Base.lproj/GroupInspectorView.xib index fcdd133c..418c6b90 100644 --- a/MacPass/Base.lproj/GroupInspectorView.xib +++ b/MacPass/Base.lproj/GroupInspectorView.xib @@ -76,18 +76,10 @@ - + - - - - - - - - - + diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index 1db04a95..15326746 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -116,7 +116,7 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul if(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, self.searchContext.searchFlags)) { __block NSMutableDictionary *passwordToEntryMap = [[NSMutableDictionary alloc] initWithCapacity:100]; /* Build up a usage map */ - [[self.root childEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [[self.root searchableChildEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { KPKEntry *entry = obj; /* skip entries without passwords */ if([entry.password length] > 0) { @@ -144,16 +144,16 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul KPKNode *node = evaluatedObject; return node.timeInfo.isExpired; }]; - return [[self.root childEntries] filteredArrayUsingPredicate:expiredPredicate]; + return [[self.root searchableChildEntries] filteredArrayUsingPredicate:expiredPredicate]; } /* Filter using predicates */ NSArray *predicates = [self _filterPredicatesWithString:self.searchContext.searchString]; if(predicates) { NSPredicate *fullFilter = [NSCompoundPredicate orPredicateWithSubpredicates:predicates]; - return [[self.root childEntries] filteredArrayUsingPredicate:fullFilter]; + return [[self.root searchableChildEntries] filteredArrayUsingPredicate:fullFilter]; } /* No filter, just return everything */ - return [self.root childEntries]; + return [self.root searchableChildEntries]; } - (NSArray *)_filterPredicatesWithString:(NSString *)string{ diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 7e63361c..4550fdef 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -58,17 +58,29 @@ [[self view] layoutSubtreeIfNeeded]; NSMenu *autotypeMenu = self.autotypePopupButton.menu; - NSMenuItem *inheritItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "") action:NULL keyEquivalent:@""]; - inheritItem.tag = KPKInherit; - NSMenuItem *yesItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_YES", "") action:NULL keyEquivalent:@""]; - yesItem.tag = KPKInheritYES; - NSMenuItem *noItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_NO", "") action:NULL keyEquivalent:@""]; - noItem.tag = KPKInheritNO; + NSMenuItem *inheritAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "") action:NULL keyEquivalent:@""]; + inheritAutotype.tag = KPKInherit; + NSMenuItem *enableAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_YES", "") action:NULL keyEquivalent:@""]; + enableAutotype.tag = KPKInheritYES; + NSMenuItem *disableAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_NO", "") action:NULL keyEquivalent:@""]; + disableAutotype.tag = KPKInheritNO; - [autotypeMenu addItem:inheritItem]; - [autotypeMenu addItem:yesItem]; - [autotypeMenu addItem:noItem]; + [autotypeMenu addItem:inheritAutotype]; + [autotypeMenu addItem:enableAutotype]; + [autotypeMenu addItem:disableAutotype]; + NSMenu *searchMenu = self.searchPopupButton.menu; + NSMenuItem *inheritSearch = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SEARCH_INHERIT", "") action:NULL keyEquivalent:@""]; + inheritSearch.tag = KPKInherit; + NSMenuItem *includeInSearch = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SEARCH_YES", "") action:NULL keyEquivalent:@""]; + includeInSearch.tag = KPKInheritYES; + NSMenuItem *excludeFromSearch = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SEARCH_NO", "") action:NULL keyEquivalent:@""]; + excludeFromSearch.tag = KPKInheritNO; + + [searchMenu addItem:inheritSearch]; + [searchMenu addItem:includeInSearch]; + [searchMenu addItem:excludeFromSearch]; + /* void(^copyBlock)(NSTextField *textField) = ^void(NSTextField *textField) { [[MPPasteBoardController defaultController] copyObjects:@[ textField.stringValue ]]; diff --git a/MacPass/de.lproj/GroupInspectorView.strings b/MacPass/de.lproj/GroupInspectorView.strings index 2c6068f5..eb3898e5 100644 --- a/MacPass/de.lproj/GroupInspectorView.strings +++ b/MacPass/de.lproj/GroupInspectorView.strings @@ -8,15 +8,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "231"; */ "231.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Inherit Search Settings"; ObjectID = "232"; */ -"232.title" = "Inherit Search Settings"; - -/* Class = "NSMenuItem"; title = "Include in Search"; ObjectID = "233"; */ -"233.title" = "Include in Search"; - -/* Class = "NSMenuItem"; title = "Exclude from Search"; ObjectID = "234"; */ -"234.title" = "Exclude from Search"; - /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 7be89fbf22e2b0b1b3f7ca122ff6c41f73236018..09ceb16fb6b76b40ded1eb4caeb6f789238e36bf 100644 GIT binary patch delta 237 zcmZ3M@G5D;KM7`i2Cc~t^@Rl$7@QgM8FCqtfFuZ4Om<`u-pnD%!>Fpj5X_LukjPNP zkj#+5fT0j5qQ#&;*^y6p@+L_M-C%}Nu)0*Bo=k>3hGK>iAS(w5OM$#}pz1OpzX*(z zCZFY%R*z(G1=^qll(7Y3B?cFuN{C&>P_vRiwoksuD{kn=;E$xz4`>6(O(j5mDcE&w JW|xu|0{~88F(Ci| delta 21 dcmaErv@Bu6KZ(g+EL@u{BzYJ&M@S2a0RU#@2V(#L diff --git a/MacPass/en.lproj/GroupInspectorView.strings b/MacPass/en.lproj/GroupInspectorView.strings index 2c6068f5..eb3898e5 100644 --- a/MacPass/en.lproj/GroupInspectorView.strings +++ b/MacPass/en.lproj/GroupInspectorView.strings @@ -8,15 +8,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "231"; */ "231.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Inherit Search Settings"; ObjectID = "232"; */ -"232.title" = "Inherit Search Settings"; - -/* Class = "NSMenuItem"; title = "Include in Search"; ObjectID = "233"; */ -"233.title" = "Include in Search"; - -/* Class = "NSMenuItem"; title = "Exclude from Search"; ObjectID = "234"; */ -"234.title" = "Exclude from Search"; - /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 3342611bc0ee62eb92dd6e2491fea3306c414a3a..785e3f1ee3be1a3220c993f0bc7d0e895076a573 100644 GIT binary patch delta 265 zcmbOe`67CQl{m9LgVyAY;=+Oo49*Ps47m(RKoW#2HXDjFGny(e1T&;EBr+5+Br{|% zU?>8LXffzBa4{$W)wwb_G6VsQ@tAyDTssm~ABa~1gqaL^4CxHTK=sz>x)|aaB7tTE z1LYJLY=Kyb!4s%DnIVUvlpzJEUjeLJVe)!GQAZ@(fcpFx{E>9IGE|`GN&~tcf!WEmvC7Bsb6&Qkn zl8FpO49N@`n2LZRS`7LOTntJ;b*?}|gMh|(Og<>7&5fjQ@^4AW$r5}5hLJ!u!9cYN z47Nb5#Nf%02Q)Va=#&(&6EcB(6dNZC@`)S!G590tab>7L(US&r8_3}(`Zn`QMT!Cd DFgq66#;N*hKpxB|^n z0_w5_VkHJou(}+EQlJ`;>O7z*NVNh3)FhBDV?PFeBt4;EwZ%Ylk#&^;-H4=b^HoVx FQ2=^#Fzx^V delta 20 ccmcbS&=t4gnZ)EM7Ou$(lHWF)NUMkf0AH#H#{d8T diff --git a/MacPass/zh-Hans.lproj/GroupInspectorView.strings b/MacPass/zh-Hans.lproj/GroupInspectorView.strings index 767ee822..05a26e3e 100644 --- a/MacPass/zh-Hans.lproj/GroupInspectorView.strings +++ b/MacPass/zh-Hans.lproj/GroupInspectorView.strings @@ -8,15 +8,6 @@ /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "231"; */ "231.title" = "OtherViews"; -/* Class = "NSMenuItem"; title = "Inherit Search Settings"; ObjectID = "232"; */ -"232.title" = "继承搜索设置"; - -/* Class = "NSMenuItem"; title = "Include in Search"; ObjectID = "233"; */ -"233.title" = "包含在搜索中"; - -/* Class = "NSMenuItem"; title = "Exclude from Search"; ObjectID = "234"; */ -"234.title" = "不包含在搜索中"; - /* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ "243.title" = "OtherViews"; diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index db1753921d386902f8e6cc580d7c6dc3c62409da..387354313572d755c0ab0b2335317fb4ffce6d08 100644 GIT binary patch delta 209 zcmZ4Hy~uY%maw`$gBF7VgCj#JLkUAZ5LYr3Fr)%SoPoSth9n>f!WEMfh4-2&Fa!hT z5*dmZk{L2E)c{4b81xyq7?gnOT!Cf=0Zs9k{9IUGS|&xQc3*d1y%K{phWtihVLR4f m?GTM{kSbk2ENU3y8T=Uhf#xbO*aEQ<1Fs*lj?F?MQv?C87%4pf delta 16 YcmZ4FyUcq-mhj|R!do^=iFODA06ifFeE Date: Mon, 8 Dec 2014 19:06:28 +0100 Subject: [PATCH 243/778] Fixed #283 Autotype and Search Settings in a group are now undoable --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 8e317424..2568217a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8e3174244b07f7065eebdbd0c11eb6af621549a8 +Subproject commit 2568217a58064ed7c8a7ea04d60a5acd38987d6b From dbbb19015b86b7863d26deb03fabd4522bb9fa56 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 20:31:28 +0100 Subject: [PATCH 244/778] Added autotype lookup settings --- MacPass/MPSettingsHelper.h | 3 +++ MacPass/MPSettingsHelper.m | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index a4a9d74c..2a9b010b 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -50,6 +50,9 @@ APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence; // Default sequence used for Autotype +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchURL; // Autotype lookup included entry URL +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchHost; // Autotype lookup included host part of entry URL +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchTags; // Autotype lookup included tags for entries /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterContext; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 7946804e..e141b7ea 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -38,6 +38,9 @@ NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCo NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence = @"DefaultGlobalAutotypeSequence"; +NSString *const kMPSettingsKeyAutotypeMatchURL = @"AutotypeMatchURL"; +NSString *const kMPSettingsKeyAutotypeMatchHost = @"AutotypeMatchHost"; +NSString *const kMPSettingsKeyAutotypeMatchTags = @"AutotypeMatchTags"; NSString *const kMPSettingsKeyEntrySearchFilterContext = @"EntrySearchFilterContext"; @@ -105,6 +108,9 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyEnableGlobalAutotype: @NO, kMPSettingsKeyGlobalAutotypeKeyDataKey: [[DDHotKey defaultHotKey] keyData], kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}", + kMPSettingsKeyAutotypeMatchURL: @NO, + kMPSettingsKeyAutotypeMatchHost: @NO, + kMPSettingsKeyAutotypeMatchTags: @NO, kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, kMPSettingsKeyDefaultPasswordRounds: @50000, From 96a20292d800e395c8f03e01982458127fc81068 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 21:08:18 +0100 Subject: [PATCH 245/778] Added (disabled) check buttons for autotype settings --- MacPass/Base.lproj/IntegrationSettings.xib | 55 ++++++++++++++++------ MacPass/MPDocument+Autotype.m | 2 +- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index 5b1e0cdd..f426521c 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -18,17 +18,17 @@ - + - + - + @@ -76,27 +76,54 @@ - + + + + - + + + + + + + @@ -139,6 +166,7 @@ + @@ -147,9 +175,8 @@ - - + diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index bc64d307..0f58fb58 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -55,7 +55,7 @@ for(KPKEntry *entry in autotypeEntries) { /* TODO: - KeePass for Windows hase the following options for matching: + KeePass for Windows hase the following options for matching: Title is contained URL is contained Host component is contained From 738d5c55db6f5e691e4681ee43dfc551b805e7c1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 21:24:22 +0100 Subject: [PATCH 246/778] Fixed issue with entry context menu displaying wrong attachments and custom attributes --- MacPass/MPEntryContextMenuDelegate.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/MacPass/MPEntryContextMenuDelegate.m b/MacPass/MPEntryContextMenuDelegate.m index 2f54517f..e9312fab 100644 --- a/MacPass/MPEntryContextMenuDelegate.m +++ b/MacPass/MPEntryContextMenuDelegate.m @@ -46,9 +46,10 @@ static NSUInteger const kMPAttachmentsMenuItem = 2000; if([lastItem isSeparatorItem]) { [menu removeItem:lastItem]; } - MPDocument *document = [[NSDocumentController sharedDocumentController] currentDocument]; - - KPKEntry *entry = document.selectedEntry; + /* since we can get opend on the non-selected entry, we have to resolve the target node */ + id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; + KPKEntry *entry = [entryResolver currentTargetEntry]; + if([entry.customAttributes count] > 0) { [menu addItem:[NSMenuItem separatorItem]]; NSMenuItem *attributeItem = [[NSMenuItem alloc] init]; From 19fbdf144e66b0a03833e6d83d8b2bf04c9e7c97 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 21:30:41 +0100 Subject: [PATCH 247/778] Removed unused includes --- MacPass/MPEntryContextMenuDelegate.m | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPEntryContextMenuDelegate.m b/MacPass/MPEntryContextMenuDelegate.m index e9312fab..f4c58422 100644 --- a/MacPass/MPEntryContextMenuDelegate.m +++ b/MacPass/MPEntryContextMenuDelegate.m @@ -22,7 +22,6 @@ #import "MPEntryContextMenuDelegate.h" #import "MPEntryViewController.h" -#import "MPDocument.h" #import "KPKEntry.h" #import "KPKAttribute.h" From 1edb41f11ba2985789a89f830dfe0f7f8b7d42b7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 21:42:04 +0100 Subject: [PATCH 248/778] Fixed issue with custom attributes not bein properly lookup up --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 2568217a..e8294198 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 2568217a58064ed7c8a7ea04d60a5acd38987d6b +Subproject commit e8294198cd088c0202c194213549848da88bf852 From d372427809b68f8eeb0d6656bbcc28bc06c7d950 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 21:49:20 +0100 Subject: [PATCH 249/778] Fixed issue resulting in lower case commands not being properly recognized --- MacPass/MPAutotypeCommand.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 0c663c29..1a490907 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -135,7 +135,7 @@ } } /* Test for modifer Key */ - NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; + NSString *commandString = [[context.evaluatedCommand substringWithRange:commandRange] uppercaseString]; /* append commands for non-modifer keys */ if(![self updateModifierMask:&collectedModifers forCommand:commandString]) { [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:collectedModifers]; From e16cda11eb74213ceb31e92c55c74de2b4f40cfe Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 22:15:00 +0100 Subject: [PATCH 250/778] Comment update --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index e8294198..1f37380d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit e8294198cd088c0202c194213549848da88bf852 +Subproject commit 1f37380d27c14870aa8f69083f7e6f98f96cef77 From 195f5339403fa764f49d92deb4f7ccb0d953a3b9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 22:15:45 +0100 Subject: [PATCH 251/778] Added test for case senstivie custom attribute lookup --- MacPassTests/KPKTestAutotype.m | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index 4cc91234..a7d86702 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -18,6 +18,9 @@ #import "MPKeyMapper.h" #import "KPKEntry.h" +#import "KPKAttribute.h" +#import "KPKAutotype.h" +#import "KPKWindowAssociation.h" @interface KPKTestAutotype : XCTestCase @@ -44,6 +47,42 @@ XCTAssertTrue([@"{}{}{}{}{}{ }ThisIsValid{}{STOP}" validateCommmand]); } +- (void)testCaseInsenstivieKeyPress { + KPKEntry *entry = [[KPKEntry alloc] init]; + entry.title = @"Title"; + entry.url = @"www.myurl.com"; + entry.username = @"Username"; + entry.password = @"Password"; + + /* Command 1 */ + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{TAB}{ENTER}~{tAb}{ShIfT}"]; + NSArray *commands = [MPAutotypeCommand commandsForContext:context]; + + XCTAssert(nil); + +} + +- (void)testCaseSensitiveCustomAttributeLookup { + KPKEntry *entry = [[KPKEntry alloc] init]; + entry.title = @"Title"; + entry.url = @"www.myurl.com"; + entry.username = @"Username"; + entry.password = @"Password"; + + KPKAttribute *lowerCaseAttribute = [[KPKAttribute alloc] initWithKey:@"custom" value:@"value"]; + KPKAttribute *upperCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CUSTOM" value:@"VALUE"]; + KPKAttribute *mixedCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CuStOm" value:@"VaLuE"]; + [entry addCustomAttribute:lowerCaseAttribute]; + [entry addCustomAttribute:upperCaseAttribute]; + [entry addCustomAttribute:mixedCaseAttribute]; + + entry.autotype.defaultKeystrokeSequence = [[NSString alloc] initWithFormat:@"{USERNAME}{s:%@}{S:%@}{s:%@}", lowerCaseAttribute.key, mixedCaseAttribute.key, upperCaseAttribute.key]; + + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithDefaultSequenceForEntry:entry]; + NSString *result = [[NSString alloc] initWithFormat:@"%@%@%@%@", entry.username, lowerCaseAttribute.value, mixedCaseAttribute.value, upperCaseAttribute.value]; + XCTAssertTrue([[context evaluatedCommand] isEqualToString:result]); +} + - (void)testCommandCreation { KPKEntry *entry = [[KPKEntry alloc] init]; entry.title = @"Title"; From 78447e4a6db8d6b89d19b27055f95ca8d3b1f637 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 8 Dec 2014 22:16:12 +0100 Subject: [PATCH 252/778] Fixed regression resutling in to aggressive command convertion to upper cases --- MacPass/MPAutotypeCommand.m | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 1a490907..b11004a2 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -135,7 +135,7 @@ } } /* Test for modifer Key */ - NSString *commandString = [[context.evaluatedCommand substringWithRange:commandRange] uppercaseString]; + NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; /* append commands for non-modifer keys */ if(![self updateModifierMask:&collectedModifers forCommand:commandString]) { [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:collectedModifers]; @@ -248,14 +248,15 @@ return; // Nothing to parse } /* Simple Special Press */ - NSNumber *keyCodeNumber = [self keypressCommands][commandString]; + NSString *uppercaseCommand = commandString.uppercaseString; + NSNumber *keyCodeNumber = [self keypressCommands][uppercaseCommand]; if(nil != keyCodeNumber) { CGKeyCode keyCode = [keyCodeNumber keyCodeValue]; [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; return; // Done } /* Clearfield */ - if([kKPKAutotypeClearField isEqualToString:commandString]) { + if([kKPKAutotypeClearField isEqualToString:uppercaseCommand]) { [commands addObject:[[MPAutotypeClear alloc] init]]; return; // Done } @@ -270,19 +271,19 @@ NSAssert(delayRegExp, @"Regex for delay should work!"); NSTextCheckingResult *result = [delayRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, [commandString length])]; if(result && (result.numberOfRanges == 3)) { - NSString *command = [commandString substringWithRange:[result rangeAtIndex:1]]; + NSString *uppercaseCommand = [[commandString substringWithRange:[result rangeAtIndex:1]] uppercaseString]; NSString *valueString = [commandString substringWithRange:[result rangeAtIndex:2]]; NSScanner *numberScanner = [[NSScanner alloc] initWithString:valueString]; NSInteger value; if([numberScanner scanInteger:&value]) { - if([kKPKAutotypeDelay isEqualToString:command]) { + if([kKPKAutotypeDelay isEqualToString:uppercaseCommand]) { if(MAX(0, value) <= 0) { return; // Value too low, just skipp } [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:value]]; return; // Done } - else if([kKPKAutotypeVirtualKey isEqualToString:command]) { + else if([kKPKAutotypeVirtualKey isEqualToString:uppercaseCommand]) { NSLog(@"Virtual key strokes aren't supported yet!"); // TODO add key } @@ -301,7 +302,7 @@ if(mask == NULL) { return NO; } - NSNumber *flagNumber = [self modifierCommands][commandString]; + NSNumber *flagNumber = [self modifierCommands][commandString.uppercaseString]; if(!flagNumber) { return NO; // No modifier key, just leave } From bb2bc98da9af05e78f99736428d0bfec0f2b1ba8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 9 Dec 2014 01:07:20 +0100 Subject: [PATCH 253/778] Adding more tests --- MacPass.xcodeproj/project.pbxproj | 4 +++ MacPassTests/KPKTestAutotype.m | 50 +++++++++++++++++++------- MacPassTests/KPKTestReference.m | 21 +++++++++++ MacPassTests/MPDatabaseSearch.m | 58 +++++++++++++++++++++++++++++++ 4 files changed, 121 insertions(+), 12 deletions(-) create mode 100644 MacPassTests/MPDatabaseSearch.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 9552c22d..f234d328 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -171,6 +171,7 @@ 4C6AEEF91A043E2B00CA2420 /* MPDocumentController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6AEEF81A043E2B00CA2420 /* MPDocumentController.m */; }; 4C6AEF031A04400E00CA2420 /* OpenPanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C6AEF021A04400E00CA2420 /* OpenPanelAccessoryView.xib */; }; 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */; }; + 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */; }; 4C6C72C417C01E4200768849 /* NSMutableData+KeePassKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6C72C317C01E4200768849 /* NSMutableData+KeePassKit.m */; }; 4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */; }; 4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */; }; @@ -687,6 +688,7 @@ 4C6AEF021A04400E00CA2420 /* OpenPanelAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OpenPanelAccessoryView.xib; sourceTree = ""; }; 4C6B7C7B18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+HistoryBrowsing.h"; sourceTree = ""; }; 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+HistoryBrowsing.m"; sourceTree = ""; }; + 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSearch.m; sourceTree = ""; }; 4C6C72C217C01E4200768849 /* NSMutableData+KeePassKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableData+KeePassKit.h"; sourceTree = ""; }; 4C6C72C317C01E4200768849 /* NSMutableData+KeePassKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableData+KeePassKit.m"; sourceTree = ""; }; 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 48_FolderTemplate.pdf; sourceTree = ""; }; @@ -1449,6 +1451,7 @@ 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */, 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */, + 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, 4C305F3B179A19F90082334F /* KPKIconLoading.m */, 4C1842B7179B348600E2F5BC /* KPKTestLegacyLoading.m */, @@ -2321,6 +2324,7 @@ 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */, 4C305F3C179A19F90082334F /* KPKIconLoading.m in Sources */, 4C1842B8179B348600E2F5BC /* KPKTestLegacyLoading.m in Sources */, + 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, 4CFC8743179DFD3E000DFC03 /* KPKTestXmlLoading.m in Sources */, 4C79E80617A9400500AC6CD2 /* KPKTestNSCoding.m in Sources */, 4C79E80917A9485600AC6CD2 /* KPKTestNSCopying.m in Sources */, diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index a7d86702..41ea7505 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -55,11 +55,34 @@ entry.password = @"Password"; /* Command 1 */ - MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{TAB}{ENTER}~{tAb}{ShIfT}"]; + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{TAB}{ENTER}~{tAb}{ShIfT}{enter}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - XCTAssert(nil); + XCTAssertTrue(commands.count == 5); + /* {TAB} */ + MPAutotypeKeyPress *keyPress = commands[0]; + XCTAssertEqual(keyPress.keyCode, kVK_Tab); + XCTAssertEqual(keyPress.modifierMask, 0); + + /* {ENTER} */ + keyPress = commands[1]; + XCTAssertEqual(keyPress.keyCode, kVK_Return); + XCTAssertEqual(keyPress.modifierMask, 0); + /* ~ -> Enter */ + keyPress = commands[2]; + XCTAssertEqual(keyPress.keyCode, kVK_Return); + XCTAssertEqual(keyPress.modifierMask, 0); + + /* {tAb} */ + keyPress = commands[3]; + XCTAssertEqual(keyPress.keyCode, kVK_Tab); + XCTAssertEqual(keyPress.modifierMask, 0); + + /* {ShIfT}{enter}*/ + keyPress = commands[4]; + XCTAssertEqual(keyPress.keyCode, kVK_Return); + XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskShift); } - (void)testCaseSensitiveCustomAttributeLookup { @@ -72,9 +95,11 @@ KPKAttribute *lowerCaseAttribute = [[KPKAttribute alloc] initWithKey:@"custom" value:@"value"]; KPKAttribute *upperCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CUSTOM" value:@"VALUE"]; KPKAttribute *mixedCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CuStOm" value:@"VaLuE"]; + KPKAttribute *randomCase = [[KPKAttribute alloc] initWithKey:@"custoM" value:@"valuE"]; [entry addCustomAttribute:lowerCaseAttribute]; [entry addCustomAttribute:upperCaseAttribute]; [entry addCustomAttribute:mixedCaseAttribute]; + [entry addCustomAttribute:randomCase]; entry.autotype.defaultKeystrokeSequence = [[NSString alloc] initWithFormat:@"{USERNAME}{s:%@}{S:%@}{s:%@}", lowerCaseAttribute.key, mixedCaseAttribute.key, upperCaseAttribute.key]; @@ -89,7 +114,7 @@ entry.url = @"www.myurl.com"; entry.username = @"{{User{name}}}"; entry.password = @"Pass{word}"; - + /* Command 1 */ MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; @@ -103,11 +128,11 @@ /* {USERNAME} */ MPAutotypePaste *paste = commands[0]; XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); - + /* {TAB} */ MPAutotypeKeyPress *keyPress = commands[1]; - XCTAssertTrue(keyPress.keyCode == kVK_Tab); // Tab is a fixed key, no mapping needed - XCTAssertTrue(keyPress.modifierMask == 0); + XCTAssertEqual(keyPress.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertEqual(keyPress.modifierMask, 0); /* {PASSWORD} */ paste = commands[2]; @@ -115,7 +140,7 @@ /* {ENTER} */ keyPress = commands[3]; - XCTAssertTrue(keyPress.keyCode = kVK_Return); + XCTAssertEqual(keyPress.keyCode, kVK_Return); /* Command 2 */ context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; @@ -131,16 +156,16 @@ keyPress = commands[0]; /* Lower case is ok, since we only need the key, not the sequence to reproduce the string */ XCTAssertTrue([@"t" isEqualToString:[MPKeyMapper stringForKey:keyPress.keyCode]]); - XCTAssertTrue(keyPress.modifierMask == kCGEventFlagMaskCommand); - + XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskCommand); + /* {USERNAME} */ paste = commands[1]; XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); /* %+^{TAB} */ keyPress = commands[2]; - XCTAssertTrue(keyPress.keyCode == kVK_Tab); // Tab is a fixed key, no mapping needed - XCTAssertTrue(keyPress.modifierMask = kCGEventFlagMaskCommand | kCGEventFlagMaskAlphaShift | kCGEventFlagMaskAlternate); + XCTAssertEqual(keyPress.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertEqual(keyPress.modifierMask, (kCGEventFlagMaskCommand | kCGEventFlagMaskShift | kCGEventFlagMaskAlternate)); /* Whoo{PASSWORD} */ paste = commands[3]; @@ -149,6 +174,7 @@ /* {ENTER} */ keyPress = commands[4]; - XCTAssertTrue(keyPress.keyCode = kVK_Return); + XCTAssertEqual(keyPress.keyCode, kVK_Return); + XCTAssertEqual(keyPress.modifierMask, 0); } @end diff --git a/MacPassTests/KPKTestReference.m b/MacPassTests/KPKTestReference.m index 6598bc7a..8d56695d 100644 --- a/MacPassTests/KPKTestReference.m +++ b/MacPassTests/KPKTestReference.m @@ -53,6 +53,27 @@ XCTAssertTrue([result isEqualToString:@"NothingTitle1-Entry2URL-Changed"], @"Replaced Strings should match"); } +- (void)testReferncePasswordByTitle { + KPKTree *tree = [[KPKTree alloc] init]; + KPKGroup *group = [[KPKGroup alloc] init]; + KPKEntry *entry1 = [[KPKEntry alloc] init]; + KPKEntry *entry2 = [[KPKEntry alloc] init]; + entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:A@i:%@}", entry2.uuid.UUIDString]; + entry2.title = [[NSString alloc] initWithFormat:@"Nothing{REF:t@I:%@}Changed", entry1.uuid.UUIDString]; + entry2.url = @"-Entry2URL-"; + + [group addEntry:entry1]; + [group addEntry:entry2]; + tree.root = group; + + NSString *result = [entry2.title resolveReferencesWithTree:tree]; + XCTAssertTrue([result isEqualToString:@"NothingTitle1-Entry2URL-Changed"], @"Replaced Strings should match"); +} + +- (void)testReferncePasswordByCustomAttribute { + +} + - (void)testWrongRefernce { XCTFail(@"Missing Test"); } diff --git a/MacPassTests/MPDatabaseSearch.m b/MacPassTests/MPDatabaseSearch.m new file mode 100644 index 00000000..270b64b2 --- /dev/null +++ b/MacPassTests/MPDatabaseSearch.m @@ -0,0 +1,58 @@ +// +// MPDatabaseSearch.m +// MacPass +// +// Created by Michael Starke on 09/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +#import "KPKTree.h" +#import "KPKGroup.h" +#import "KPKEntry.h" + +@interface MPDatabaseSearch : XCTestCase + +@property (strong) KPKTree *tree; +@property (weak) KPKGroup *includedGroup; +@property (weak) KPKGroup *inheritingGroup; +@property (weak) KPKGroup *excludedGroup; +@property (weak) KPKEntry *entry1; +@property (weak) KPKEntry *entry2; +@property (weak) KPKEntry *entry3; + +@end + +@implementation MPDatabaseSearch + +- (void)setUp { + [super setUp]; + self.tree = [[KPKTree alloc] init]; + self.tree.root = [[KPKGroup alloc] init]; + + self.inheritingGroup = [self.tree createGroup:self.tree.root]; + self.includedGroup = [self.tree createGroup:self.tree.root]; + self.excludedGroup = [self.tree createGroup:self.tree.root]; + self.inheritingGroup.isAutoTypeEnabled = KPKInherit; + self.includedGroup.isAutoTypeEnabled = KPKInheritYES; + self.excludedGroup.isAutoTypeEnabled = KPKInheritNO; + + self.entry1 = [self.tree createEntry:self.includedGroup]; + self.entry2 = [self.tree createEntry:self.inheritingGroup]; + self.entry3 = [self.tree createEntry:self.excludedGroup]; + self.entry1.title = @"entry1"; + self.entry2.title = @"entry2"; + self.entry3.title = @"entry3"; +} + +- (void)tearDown { + self.tree = nil; + [super tearDown]; +} + +- (void)testSearch { +} + +@end From faed4d13b8efdebd7e1853388364a373f249c648 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 9 Dec 2014 15:51:47 +0100 Subject: [PATCH 254/778] Updated submodules --- HNHUi | 2 +- KeePassKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HNHUi b/HNHUi index 0a0c4564..6078dc13 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 0a0c4564d14a2814f2d7e0196d479a8fb644e5ce +Subproject commit 6078dc13a388224a944701e9de96eb9090dfa670 diff --git a/KeePassKit b/KeePassKit index 1f37380d..8ab4d26a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 1f37380d27c14870aa8f69083f7e6f98f96cef77 +Subproject commit 8ab4d26a4db7b3cbc5ebfbd70d08e7ee2c34aa49 From 0a9d80ff733b7cc1349d611eca0cd357759959e3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 9 Dec 2014 15:52:14 +0100 Subject: [PATCH 255/778] Reference and Autotype test and bugfixes --- MacPassTests/KPKTestAutotype.m | 77 ++++++++++++++++------------- MacPassTests/KPKTestReference.m | 85 ++++++++++++++++++--------------- MacPassTests/MPDatabaseSearch.m | 1 + 3 files changed, 92 insertions(+), 71 deletions(-) diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index 41ea7505..4f4633af 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -23,11 +23,25 @@ #import "KPKWindowAssociation.h" @interface KPKTestAutotype : XCTestCase - +@property (strong) KPKEntry *entry; @end @implementation KPKTestAutotype +- (void)setUp { + [super setUp]; + self.entry = [[KPKEntry alloc] init]; + self.entry.title = @"Title"; + self.entry.url = @"www.myurl.com"; + self.entry.username = @"Username"; + self.entry.password = @"Password"; +} + +- (void)tearDown { + self.entry = nil; + [super tearDown]; +} + - (void)testSimpleNormalization { NSString *normalized = [@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); @@ -48,14 +62,8 @@ } - (void)testCaseInsenstivieKeyPress { - KPKEntry *entry = [[KPKEntry alloc] init]; - entry.title = @"Title"; - entry.url = @"www.myurl.com"; - entry.username = @"Username"; - entry.password = @"Password"; - /* Command 1 */ - MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{TAB}{ENTER}~{tAb}{ShIfT}{enter}"]; + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"{TAB}{ENTER}~{tAb}{ShIfT}{enter}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; XCTAssertTrue(commands.count == 5); @@ -86,37 +94,40 @@ } - (void)testCaseSensitiveCustomAttributeLookup { - KPKEntry *entry = [[KPKEntry alloc] init]; - entry.title = @"Title"; - entry.url = @"www.myurl.com"; - entry.username = @"Username"; - entry.password = @"Password"; - KPKAttribute *lowerCaseAttribute = [[KPKAttribute alloc] initWithKey:@"custom" value:@"value"]; KPKAttribute *upperCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CUSTOM" value:@"VALUE"]; KPKAttribute *mixedCaseAttribute = [[KPKAttribute alloc] initWithKey:@"CuStOm" value:@"VaLuE"]; KPKAttribute *randomCase = [[KPKAttribute alloc] initWithKey:@"custoM" value:@"valuE"]; - [entry addCustomAttribute:lowerCaseAttribute]; - [entry addCustomAttribute:upperCaseAttribute]; - [entry addCustomAttribute:mixedCaseAttribute]; - [entry addCustomAttribute:randomCase]; + [self.entry addCustomAttribute:lowerCaseAttribute]; + [self.entry addCustomAttribute:upperCaseAttribute]; + [self.entry addCustomAttribute:mixedCaseAttribute]; + [self.entry addCustomAttribute:randomCase]; - entry.autotype.defaultKeystrokeSequence = [[NSString alloc] initWithFormat:@"{USERNAME}{s:%@}{S:%@}{s:%@}", lowerCaseAttribute.key, mixedCaseAttribute.key, upperCaseAttribute.key]; + self.entry.autotype.defaultKeystrokeSequence = [[NSString alloc] initWithFormat:@"{USERNAME}{s:%@}{S:%@}{s:%@}", lowerCaseAttribute.key, mixedCaseAttribute.key, upperCaseAttribute.key]; - MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithDefaultSequenceForEntry:entry]; - NSString *result = [[NSString alloc] initWithFormat:@"%@%@%@%@", entry.username, lowerCaseAttribute.value, mixedCaseAttribute.value, upperCaseAttribute.value]; + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithDefaultSequenceForEntry:self.entry]; + NSString *result = [[NSString alloc] initWithFormat:@"%@%@%@%@", self.entry.username, lowerCaseAttribute.value, mixedCaseAttribute.value, upperCaseAttribute.value]; XCTAssertTrue([[context evaluatedCommand] isEqualToString:result]); } -- (void)testCommandCreation { - KPKEntry *entry = [[KPKEntry alloc] init]; - entry.title = @"Title"; - entry.url = @"www.myurl.com"; - entry.username = @"{{User{name}}}"; - entry.password = @"Pass{word}"; +- (void)testCustomAttributeRepetition { + KPKAttribute *numberAttribute = [[KPKAttribute alloc] initWithKey:@"NoRepeat 3" value:@"NoRepeatValue"]; + [self.entry addCustomAttribute:numberAttribute]; + NSString *autotypeSequence = [[NSString alloc] initWithFormat:@"{S:%@}{USERNAME 3}", numberAttribute.key]; + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:autotypeSequence]; + + NSArray *commands = [MPAutotypeCommand commandsForContext:context]; + XCTAssertEqual(commands.count, 1); + MPAutotypePaste *paste = commands[0]; + NSString *result = [[NSString alloc] initWithFormat:@"%@%@", numberAttribute.value, self.entry.username]; + XCTAssertEqual(paste.pasteData, result); +} + + +- (void)testCommandCreation { /* Command 1 */ - MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"{USERNAME}{TAB}{PASSWORD}{ENTER}"]; NSArray *commands = [MPAutotypeCommand commandsForContext:context]; XCTAssertTrue(commands.count == 4); @@ -127,7 +138,7 @@ /* {USERNAME} */ MPAutotypePaste *paste = commands[0]; - XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); + XCTAssertTrue([paste.pasteData isEqualToString:self.entry.username]); /* {TAB} */ MPAutotypeKeyPress *keyPress = commands[1]; @@ -136,14 +147,14 @@ /* {PASSWORD} */ paste = commands[2]; - XCTAssertTrue([entry.password isEqualToString:paste.pasteData]); + XCTAssertTrue([self.entry.password isEqualToString:paste.pasteData]); /* {ENTER} */ keyPress = commands[3]; XCTAssertEqual(keyPress.keyCode, kVK_Return); /* Command 2 */ - context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; + context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; commands = [MPAutotypeCommand commandsForContext:context]; XCTAssertTrue(commands.count == 5); XCTAssertTrue([commands[0] isKindOfClass:[MPAutotypeKeyPress class]]); @@ -160,7 +171,7 @@ /* {USERNAME} */ paste = commands[1]; - XCTAssertTrue([paste.pasteData isEqualToString:entry.username]); + XCTAssertTrue([paste.pasteData isEqualToString:self.entry.username]); /* %+^{TAB} */ keyPress = commands[2]; @@ -169,7 +180,7 @@ /* Whoo{PASSWORD} */ paste = commands[3]; - NSString *pasteString = [[NSString alloc] initWithFormat:@"%@%@", @"Whoo", entry.password]; + NSString *pasteString = [[NSString alloc] initWithFormat:@"%@%@", @"Whoo", self.entry.password]; XCTAssertTrue([pasteString isEqualToString:paste.pasteData]); /* {ENTER} */ diff --git a/MacPassTests/KPKTestReference.m b/MacPassTests/KPKTestReference.m index 8d56695d..d0bc0332 100644 --- a/MacPassTests/KPKTestReference.m +++ b/MacPassTests/KPKTestReference.m @@ -8,70 +8,79 @@ #import -#import "KPKTree.h" -#import "KPKGroup.h" +#import "KPKAttribute.h" #import "KPKEntry.h" +#import "KPKGroup.h" +#import "KPKTree.h" + #import "NSString+Commands.h" @interface KPKTestReference : XCTestCase +@property (strong) KPKTree *tree; +@property (weak) KPKEntry *entry1; +@property (weak) KPKEntry *entry2; @end @implementation KPKTestReference +- (void)setUp { + self.tree = [[KPKTree alloc] init]; + + self.tree.root = [[KPKGroup alloc] init]; + self.tree.root.name = @"Root"; + + KPKEntry *entry1 = [self.tree createEntry:self.tree.root]; + KPKEntry *entry2 = [self.tree createEntry:self.tree.root]; + [self.tree.root addEntry:entry1]; + [self.tree.root addEntry:entry2]; + self.entry1 = entry1; + self.entry2 = entry2; + + self.entry2.url = @"-Entry2URL-"; + + [super setUp]; +} + +- (void)tearDown { + self.tree = nil; + [super tearDown]; +} + - (void)testCorrectUUIDReference { - KPKTree *tree = [[KPKTree alloc] init]; - KPKGroup *group = [[KPKGroup alloc] init]; - KPKEntry *entry1 = [[KPKEntry alloc] init]; - KPKEntry *entry2 = [[KPKEntry alloc] init]; - entry1.title = @"-Entry1Title-"; - entry2.title = [[NSString alloc] initWithFormat:@"Nothing{ref:t@i:%@}Changed", entry1.uuid.UUIDString];; - entry2.url = @"-Entry2URL-"; + self.entry1.title = @"-Entry1Title-"; + self.entry2.title = [[NSString alloc] initWithFormat:@"Nothing{ref:t@i:%@}Changed", self.entry1.uuid.UUIDString];; + self.entry2.url = @"-Entry2URL-"; - [group addEntry:entry1]; - [group addEntry:entry2]; - tree.root = group; - - NSString *result = [entry2.title resolveReferencesWithTree:tree]; + NSString *result = [self.entry2.title resolveReferencesWithTree:self.tree]; XCTAssertTrue([result isEqualToString:@"Nothing-Entry1Title-Changed"], @"Replaced Strings should match"); } - (void)testRecursiveUUIDReference{ - KPKTree *tree = [[KPKTree alloc] init]; - KPKGroup *group = [[KPKGroup alloc] init]; - KPKEntry *entry1 = [[KPKEntry alloc] init]; - KPKEntry *entry2 = [[KPKEntry alloc] init]; - entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:A@i:%@}", entry2.uuid.UUIDString]; - entry2.title = [[NSString alloc] initWithFormat:@"Nothing{REF:t@I:%@}Changed", entry1.uuid.UUIDString]; - entry2.url = @"-Entry2URL-"; + self.entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:A@i:%@}", self.entry2.uuid.UUIDString]; + self.entry2.title = [[NSString alloc] initWithFormat:@"Nothing{REF:t@I:%@}Changed", self.entry1.uuid.UUIDString]; - [group addEntry:entry1]; - [group addEntry:entry2]; - tree.root = group; - - NSString *result = [entry2.title resolveReferencesWithTree:tree]; + NSString *result = [self.entry2.title resolveReferencesWithTree:self.tree]; XCTAssertTrue([result isEqualToString:@"NothingTitle1-Entry2URL-Changed"], @"Replaced Strings should match"); } - (void)testReferncePasswordByTitle { - KPKTree *tree = [[KPKTree alloc] init]; - KPKGroup *group = [[KPKGroup alloc] init]; - KPKEntry *entry1 = [[KPKEntry alloc] init]; - KPKEntry *entry2 = [[KPKEntry alloc] init]; - entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:A@i:%@}", entry2.uuid.UUIDString]; - entry2.title = [[NSString alloc] initWithFormat:@"Nothing{REF:t@I:%@}Changed", entry1.uuid.UUIDString]; - entry2.url = @"-Entry2URL-"; + self.entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:A@i:%@}", self.entry2.uuid.UUIDString]; + self.entry2.title = [[NSString alloc] initWithFormat:@"Nothing{REF:t@I:%@}Changed", self.entry1.uuid.UUIDString]; - [group addEntry:entry1]; - [group addEntry:entry2]; - tree.root = group; - NSString *result = [entry2.title resolveReferencesWithTree:tree]; + NSString *result = [self.entry2.title resolveReferencesWithTree:self.tree]; XCTAssertTrue([result isEqualToString:@"NothingTitle1-Entry2URL-Changed"], @"Replaced Strings should match"); } - (void)testReferncePasswordByCustomAttribute { - + self.entry1.title = [[NSString alloc] initWithFormat:@"Title1{REF:T@i:%@}", self.entry2.uuid.UUIDString]; + self.entry2.title = @"Entry2Title"; + + KPKAttribute *attribute1 = [[KPKAttribute alloc] initWithKey:@"Custom1" value:@"Value1"]; + [self.entry2 addCustomAttribute:attribute1]; + KPKAttribute *attribute2 = [[KPKAttribute alloc] initWithKey:@"Custom2" value:@"Value2"]; + [self.entry2 addCustomAttribute:attribute2]; } - (void)testWrongRefernce { diff --git a/MacPassTests/MPDatabaseSearch.m b/MacPassTests/MPDatabaseSearch.m index 270b64b2..89b37623 100644 --- a/MacPassTests/MPDatabaseSearch.m +++ b/MacPassTests/MPDatabaseSearch.m @@ -32,6 +32,7 @@ self.tree = [[KPKTree alloc] init]; self.tree.root = [[KPKGroup alloc] init]; + /* FIXEM weak! */ self.inheritingGroup = [self.tree createGroup:self.tree.root]; self.includedGroup = [self.tree createGroup:self.tree.root]; self.excludedGroup = [self.tree createGroup:self.tree.root]; From ffc7b28fab1f0281d520be2f7070a9dc92645555 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 10 Dec 2014 23:58:08 +0100 Subject: [PATCH 256/778] Added FAQ assets --- Assets/Screenshots/PasswordExpiredAlert.png | Bin 0 -> 319286 bytes .../SettingsForExpiredPasswords.png | Bin 0 -> 373932 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/Screenshots/PasswordExpiredAlert.png create mode 100644 Assets/Screenshots/SettingsForExpiredPasswords.png diff --git a/Assets/Screenshots/PasswordExpiredAlert.png b/Assets/Screenshots/PasswordExpiredAlert.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd55294cb4065c65366c5db9f86ab42e6536682 GIT binary patch literal 319286 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�?3WX|ucr-_6V7xxN87A`7@8 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 literal 0 HcmV?d00001 diff --git a/Assets/Screenshots/SettingsForExpiredPasswords.png b/Assets/Screenshots/SettingsForExpiredPasswords.png new file mode 100644 index 0000000000000000000000000000000000000000..e70eb6a64e3b14adc6520806f73b64da4c7c986d GIT binary patch literal 373932 zcmeFZcTm%5`!9^T%B~{V5TwPjiqerq5=ziTMOOhe^cISU5+OhgErnGSq+6C=Vp(ZP z2#AzG2p~-a5*0}3C6Gi35LyyQC~th8-}#;A%$Zr|oq7K_@5~{?O!CcLuIqD^`*Yp* z4e{4(t#|KK*(oCvJTtskB%YO#(zSlxf4XC+DYg}mw4_N}V-%g$;XP*U2q8ChTdi?SbubE#EqR~>C~ zJF#W^?=m{_Sw`o#zc+uVu;q!`OZV$PpM_ndw7&Zt^vG-v!{PA#pQB#|r|;}}8uh9B zYkRsDu4QG9Os&$NDpw9)ySXL!_q}xeeYai$)%L!(J^j=^c3$h@`lEeYSU~1pji(tV zirzLqHJzD+hrHd0-TolyW#-m%j6HMoM=Co5UVhmcS?U!#P2a5O>~we)Rjg;!Tk&hc zhlqR33&^1-M#kCibsma3Pq(!mCB)2MKb00@8T9nzvFCdV)`lK#KT?$5Xtk1jX^%>B z*pQ`a`X;BcXU<+rq+KmpNbn_62Z7CmtBECnIs!`+a*- ze;Xgj`Z9m=;pe*d;RmnmgY3Czx*$G!XA$@i^s|Z5)UVf6ihxdu$B!H!EnYu4d8#}8 zG5>@8LkQ?7;6a+xpHH;F-g*a$^53LJRR4b2=U3Ke=c5;YmEUcpY>|<9IQ{tUuSb4e zeD9?t&xY#I9lGIvKR>C&y?BiRdOx%?Vc(AS{8RS7-Y_pw4KZ>vh|MNlGFrImschZ% z@XL~h&*7hbzpwB|?`bcsn=$X+;7fO{^Qs@l$Q*dG-6vShYlrpUMLMT@HP0HZ{c?H= zV(^=uv!9~XUY4ao`MR(A5s07ejpPsaHNXB6`S+1;cH(D-MGEJ;A1xoPmu+7#mPLMP z{`zwHQWS6`=*gBNH}Vp*xBk8P{=%^wWxv9+^>+>8NDH^^ZWG^Gzf*m8W>Ec7tfl?+ z9jEh-dc07!H#iWf^X}#Cb%(vL6FOcXKE=JeSTfS#^+n;E_26ZVJ3puVt@`oT$8u-M zu#mX+x$>BFy_F?tqkdlz;d*a_#;3u87 z_?+C{Yj$?2;hK5wO79`V~ZM!N%;S@6h zlENpnGsb=%_efyK1c2BOPnoT|{yb(UQv+`ZJxKbbS*bSOulVxD^|77R$>wU+c#M#@$xEKKbcp;bG9N?^w~o7 zdi-SWL!;omrH#955;+&m%;SP0cGWA#8XBBwYn3yAbnQemx*OwAwjD(RU4WGPz?U`e?<2vq2CT+xp>orOm53MKT zSAI3$MQ=}BxUg~qt?T)S-v(QFzH(u0$7rl&JL>1dzx}M?eG$0N^Zd_yul&6?>*0e; ztH1Uso>wf-xP6u{R{4DK-d?~Z(~je-e;>=nJ-xZ_)UQh&ps9VK7UbuI<2fC$DXX_R zYrp&UB;A((4d8kpaI0?OnPkV`@h<`k)eG`2j@g>c>gL&UKL>uz|2lN_jen2-myAy) zUqqi(zY&+)mo;|8csB-ntr+?o+IsQG>xbnjeEO*1&~#^Sb+Jhi)DiB)_X{uz%*1w`zjX!yM(85+ zmwsE)SgMSTjU~rcw?*tOZZl7=RFN3d?wI$kG=A|OsQBG^zsnzt8w`2JV?24DaZY#D zE!np{{f}ne%mfHe3AYJR@)<_Y_P6d0;e={|Ds%Cg~_J{Ni#|ht~7S6L|&hkZ4HpH?5xi1@x7uwZmAwXx)aavA|n558f&GZODh=!+-_( z=HH|?qH(L3T?LOaE)=wCC7wtOx&rAePp{B{=|orDs9t>g%$Znj3KP%<+e}-(?vTt7dPr-C7k1A~zfP?#Im~G$1Qm{o$GlnhlO1kqJ~v(V`6cqF zz=xur2OgK~tyXhMIhS%F#W+R5dhudglDom%psB>`>94

9uIy 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

+x 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

{u1J(d8 zM!ZIahZIk!AK6Z@-pkRUN3_L}+9b54Ar@9f#{EH&Oc-s~4GeZV-@U2^c>!vbQ5W?6LaoPKUQT zLnWh@c4y3vSfeiwzqZM<7@~9J;;90ik4!z)LTX^IzldIvbHMGcug!+FfNvhM_~t{Y zMdkU3<08IZ77O^$GbUpCKz*MJp*M~+FryXm4t>M<$rXXlrW-+} z=}(7}#k0*sv${El#_8CDX?D+E{InVWRd3)~5i?4ZJ!*_y)ep3oJF!8g@ckk3R(g-c z4(v!$pYn!jAm|p>d!>H4XY-X^5VYHck6V)y2nIY-}0QM4T z`!}4OPU}*qd2@a_r%K4D-LYq=k>f=FN!?3sXTy0#RkONgDHptlLI+E(RRWi9N$ z;rMASK);7(_dt;2iSOsq7~9zj>5biZn+g!ki?jzMas2_L0h_mRg#eid=??9S>OV4l z`cV?J0w=!wU@$Lg^CYxKtQu1yAEfEr^vzpqUJkOM_LtKJC)6Z0oN{TJpp_n8$cd*z z!wpi#OJdCdmJa_4+W-B*{tIZkn-+@Zj{g#pG-7hbgHFNd9EV*7S_7AvT`;3) zN`4-BLVG+RS{QL-cJ$3`pdowU22yA#yur!>r)dmAPA#Ck43Nk6f!ioAe@P*kNfHPE zGWXx;i@H4<4wJJE58cm;L$gb1&)DoAX!X!B5>oJg5OUdS&?0}f6-YIG(qp^~ULrtd z^Ih#~V90dly-U0cE+Lcp0F?fZ zQA|tX&0g9FCRQ@8lC%;@q$Ris@~qVT8M4V{)gS+> z^_oN%HimPS(nCsxh5q!@xrMC<@v4Y{cxDB%Xd zglEoCyV!R^?{LCQG;9P_{ka$SFVwJ0&5E|O+b`>LC=Sx^qRRQAP^&fTCn*1Oz`Sq- z@U82&zKDwQp^4e_0URmaq?AQ{NCl~~I?cp9hb7S$y*bFQ%BOvjcc5CFcz$`p8<&#i zTY;itt7csJnx>~I@d%vDQmTNMI}X!fQF!@YYMVJ&`+n)*Y|(ah&L3Gc`CO9b&e4TN z(lP<}VK8{!XCK%8o@d}h7Xx&!fc!10KX@oDoVS>wTxwnfNU8tdJF6zt+4Oq53U-{? zL<+u_866@klN+8N*2fVh*ATSJc&4=f72{bUKRjonK%Fyjp*xYJT4cb1jd$8%*=t${ zWf2SEPthNMN9N=k?0|X_CAnz&wHJTMcD5Y9P`|9#*H->=_~->#iu^R!qat)BGh}FJ z=*Wx=8jAA+d%}uZ-x~Qbl`B>IH62PnQsQpa{*=}Nj?^kT7+_XYErr*uO)I}{S<>r& zh2~#RCUPKIL466bS(62xydV6H%W^69i&4G1m4+$@1a=PHiI$jn&W>pCpG-8RJnEI) z6wbX-)h3CvmRMODatTS5jT_bgS*`$-Vl3D=ON>a@U$Er(rDlN4G zE8OUEsgde!5YP1PvoicccVTS>mO2+2?ME;)njuCNf!R5gB+4Sn@DJFVxz1u^;hxO*a@lv)u145 zh`BJ7x~bW<6Z?j<4VSAl(gu)x&!XO|@!Iycm~esUTI99h`-Jnc8Np~xM=f3cCEb&X zL5T}d(ghv+-rOM3^T4G_JtRGt_~?;hNtHGdjM^gyFn?4gHF_0)I-n34ee~P6u&4Yx zAMU>|0M(BTBy>4ahBpoM5R?Rk3R+zPjfLHf)ZG=V<=&}wP6|gb2~Ix((SxdNIX(aF zew(fLS^(gMR4>Zhz%T7an5lLvnxOOH^?5m4ETx(bU`vmsqynYtaaN>Ics%Cu88dl9XvwofNS!wCFftzwZ^Q^j!N^`W)+L4 zP{=8)P~H^aOte7aj}IoaJoTje86&ZR)u(jAiK}X(+av0vwta+I&cfB}VLnpNq$S-7 zJ34Ms6Lw1;(vX*R6_g!vnhFRJmOzXR+FRy^coEZTTN2SD&*+a>3iP|gCOr{i?5SNZ zo5fnGG_J5oXnLaOZj*>H)_8~^)R1?8+*R*kb>6^(Rq&7Gc|q53ekuH=NQua|ID$lH zv2DH(MH^ILdoAo-RZ5Rx7nIxOgi;eirZcX<82x>g-K_1IBT#4_-qVZzj?EoqCpQ^Z%w6{_>)6 zL^>xiQp2BnlA{a72{&!NqRajq#r7V8#N$@4vjvOF{E6bHFgQq`9Zis|qT7d{<8vpZ zP>mlcZD7+&B%CN((fWW9OKhT9fT)ZZvf#LM)7WX~ni4vO;+e{AuAR0TuMDr&af>A3 zv|#ccXX`#)iL&ow7#6oaL$xz=POt25*=Cc`6?td3NJ1g2q~s682<`0b;PH^mZpq`L z3c79Pj;HxHXsHCY@v-nez|Xl~;mi@{FFW%|MF)b#ZWa!C(0SeRnHz??%~ACoA8&~Y z=0psz3Bv@DFfu9N^3@tpjHj+I z1Jrm;U~;caX5}>T|E9VB@16|?{>tH2*&Kkz6ndDrlJe&wbh%kBiFzDIkqm{CU(*(z z@RQf_Lo(m?1#osPEwFi}r8>KWnV*iX(^Fxh#rXhW>iZB}Q|q6e^2_X>lZ*3`0@dDZ z%Z&xk0dpOa)qqN7srF$FM9FsL=1X2yNdo;S_TFIs%~0|2u12k{yj_f2jA)|6=+GlN z>nE&GGLb)!#Dr+y_Ke{}W&~vzEr_YP_7iu2Wo5Z`=Y?+?_LorTktl+iGk;>jkj?lV zr$!2iWAn(M?43RujRVH4kKZp(m`xU1nllYg^VEvn^P_mxkv7&>>xm`a z|63OkPOL&5XqGVyliJLMqL^W{pDT9p*MXyuwze3E(rz{;Z|W)h=s`rmRF?t`-`LDm z4Y3y^ALE&Dxk6P=~L!#v5kP&ke9 zb3(>CTFqDoG69Rb&wWDKPlw-sL||RxVEQj6^`lC04=D=~v79ai-+A2DL5vk`Uf(^Q z?*Q6=2sEx~nYYS2#&` zc_qarQvDLEJ5`n9-zUu!6#OFRyp52GjtZ4u`h>LRmnF?Ez#+8DZw3vvZgR* zol4m8RHZYpzA}oAp!w`MK7tVvKw|xbgsigvmS%BSjE4sa3F`Cf|MkX8!T)OrV)SBx z(dRfbBE?$#6buO!N3@qRjJUWqRNPi(&T3fNzOr`PU#axAVr~}Su~{h(EH1agea<&j zypi-!Cwuq|Da7Tmx1IF+QRb3#P!N_++OURZxjX=TL5EGTKux}x8f2%$&W}|0*m-v) zeO0)xh;6pr_9{St&g{nd8-_d9(*7R2X{^793Q}OYAVnV-%qVwouHb}Wr-=kEEn?pn zHyIgcc*8+nC5-W-AUq0|uc}FGgF~VL`RZmO6;p>D#?qrc(8hWbLB={02YM$*ilC>T6xeJg^w%t$@9-oS#y3R;1mikIFsU-*LoqoROdu#7(H06|1;^<`gT z^))eeKn$W3kk&@A`s)oNC7&yNxnYmtT+DB1=trC*LKi2Juw+8CtqU{$ zDVsn*d^T?)%gB!n>)SF@K$J9A4BQMik{Vepa5~+OEfKybIgnnd*rEKZ;$C9&vLD@n zcOk|3d6x_4$d-{JStc_-jtB2C@E6QT%cV^crDvS*4>6Wvo*qc5eR$Occmwn5o#%Ru z|G7wS=HH*z&!>R7j=vWDuSI5#{*W23T4tW-v0+8^UNT=wS3y#E`!fQ2?T)6rir5$$ab#f|!Mu*GWl$_oY#JeZ zPc-)8#rglUn;5@%C*0)u3}I-g$p6pX?nL;>d!`$KJ~JhQ2wBSs5(|WkAXhz`6kwVv z&3pj?{#_GPFoS-%noe?|2q7>zlRsVSIIeP%x4UnC{A3SvFv@doPp6ZClE0v|rV&OpBB2Y&R8S$*pWMZ&B?->ICl z1?Wt%tLA)9M3Gf;lxN#ng;qmjkQyCM$#^m(pre=Hw2gCM;3HMVVLnMJ07Y~o@CRP+6vA&c3^NKyg~{Zq zqRodg_}MTBKy>1fMSM5rm!n0p%U(HrOu(1l^{2+2IpJi%`UZ{o<&}ah6`D-25Ka6k zO6=SuSDXv}@lv@+GtsgCSl!>XZ6gB)Ns!no;Snsn zw&U%tRz2RXzJs_-VT(}nrv%3%2cX!#X^znlk%a{mXHBcPX&L$X|A+Z zK2uCqwmFQOrSk{xuxit13P?>ZV9EUl$TGAErmL_CJ5e_h?nz*s7(X5B%z-U-7yy)H39+^E+4z!g))1jsBv|)DR$@g)P0TxkjnONn z1KDJDPk-|0T**uNu(4^7)c0q53nawz^SPUag!TT~=l@;SKUQb*3bfQSPvcR}&S3Bx zTybMu=FnO$rvUsoGkD1?kk?|f*0+98CL!sbt6<8lE?eSQR_o+@6>=)}(8qJCDVOS= zTtu3f1PoDG=0)c7Cc>;Bc%27xeJU*f9)h?74UD6~CEq0xS>d3EoSA_1JWpS>8B!kavQX;|56YyC z5+bJcHn>x;6@@NV*hRn)a1!}6C!32H1?05yU}`oy<|m2A^-IJI5VbVuI;o<_9cmY( zw?%3mlQe(hU_R$Zaf@0)@NliSvh_+{&dld8MCsA*twxq=BGxC(84Dpcu~=7;j3VwG zqm|7$>07Esi59_3;GBFwtf1x-D?;yB^f-gs7fpY)bDxp@)l<&BJWpyJ{5yTu;M*ZR zU?KOnp5a7MAYi=w>(p+w%J+!D;JWxhpIG4C{jW9tk6Xoi%-@O0W~J#F#NyM5AeiY7 z93ZWrkZnFs9Spy9c_9NmD!27rL;y9|3}zchQ;-5 z&4YmeL4pPM;1=AS;O_3h-CYyh3GR)%yEpFAxVts(uEV|ecmMA@&&)jYwfoaq`<%UM z*IreHQ`&mbUY9`EINX>{nP70%fW~-QKg@Yt59jW9+r6Al{Rr7as~Ok1#WhQ;+g6cO ztoqj~w?9Wag+nQ1o8g9f$~j!Q@>o&}RfZK!wx1gmUaDthjudFa>FTY^x+hnDLp9Dc zS|^}26-|fW>R@9r7(QSBN=Cj@C1=TDWWxoZic!ftBSoMkQpMl2EYDnQcciLj1g_K= zX1E2E+{~`hNd7;b_y1lC!F0jw`A0;X+%Mbt-zP<2RaDU+R5Zi3r#ov z$Z=7MNC+|2S(1w*lgH`;ax*2qOZk5ZkC-B^A|3a>8eP1Sjg>nVR#UT*K6Js6iOOz^ zJ&c!g%2<}0>_hxjwczB053b7zka{favJc~Dg)_bqBmG%!%{khyNixE}G6PpOK+U`_ zd!oZEHu+F>1;IWhL#7Kd{>#6}UBqR-+gx-tLZF}JQUflWp;;l}8j$O^og7!=^2OqFHrOU@%?^uz&~mcg4(#+whiCIjl_{5 zc|+g3x8)UN9ZsBq6C&uD4$EXWr*pzlVIR3@c<1fU5UwZd;Lq8?5+%sPVjJrn-h1P* z!?pa~?LYK&iN|3RTB((%Ta7~MFU-F(^i%d;VA)bi0K%|kM-Cz@x*e^R=*9{)u@ZM2 z8~a6pT@)GtiB#^5&MO)BZ?TA^RY80n;`%r_N^5D%2NW)uq}?PVnEj^8qlQoih<2JFyi%!b> zg(a=^KfvSvwGdjwkn`2fv^R1(QiKpJfb{lYiEof>Y;zM`T*$s5_Qm8%dmxm}MXerWYFYefgCDvx|lav5oW z&MP!ZGUmu=bS~dRq~6z3#>%fL*Kx3h5?!TFwz4rw{^NL>swFL_$t+uZR!4zlFIFVm zP>Z(0p*+kjl|>R%Q6or*x}T=Q?5bLJCH|j^WhZ{`>J(^?v{O~ZD7656%q=n3Z5Y!! zsILA4oXjbpZt7t1-0UtMYsB_kb`v>n?E;oIQjGL$`9Gq7&uz-}+>MCH{^!dRv=aOP zqVx8cX+2-eP@1S^2x!@r4hC*O$h`Y5$&9Vn6*Iiy<(yjF9aTM_mrJ)As&i5y+x?VNnN<>*P8OECDoe;ZETf({CN9qQB zeNIyz)hiVXi>K6H3F0T0&Q-rkMBvU(bH-(Y1pEvRZ`^fNRVWDj`fIUhV?n1kCV zp<>UlrU<|Cy(&7s4CXJHO~l(&g28C~`Y(d{L*ypE@$US^bIsezb57zyN#qtArRfzB z%arq1)ZuLPuv-1N&hOW(^x>=^p30o(zLGadESUw1Jx=sDj>>7b%3{tbS?fcW>D~72 zx>V5S6_fP@FE4G5u|*R;_1XRXzs9yq!Y^t7!-w4+)|`f3K<|djP4DQG?%neG1Lu`^2q)T+S(y)Pyabd? zXvh<71Obl4J%{mxCx$=4?GJ>`yjMb(SW;m>-MEV<$d48E-pz#3o7X4FRisCbh=Wv5 zg;TdYoy>K2AmiC&Ft2iqWk@Ni3_Fp)G783VuB+&WDIce`+LC9Bv9eJqx9+LBDwDgQ z2>X(7vKajql!-|ke8 z4f)bBA)>_8q2PG2`SXJw%r*l7hHR3{VD1;0l4AeC=k_6ETFcV&l%mJQ zdldn5XJv5}D#vGYaX52Cs*h9FJNWL@*&pD_1pFJ&Dcw(AJS`N^YrBe~ez;Lz#| z(`WaTYqXfS9RWElG~8C5V{T?!D_0>!=2Be~an+^3aHHf(#29l2vKBtaMIP(6u<2c% zc&3pbhurV==YTH*UX8iNsbj|WvkhZ5j!|K%QhdKtA%2=Hr2aA)tx3X5_{H7_2M;7O zSp^y7wm>rV#>crtmh?{f>*d~(w(=W7;Al`g7Q>A2RE~m=W8JrK73-<8ilK%M$ zqAj4@8SW0zg_7n^>63k4+Ec)#es`oUmRVK`xTMj0N*`dl#h1OwmKN61I%=t%#gckoXN>I z=bbs`Bw29&=0T`-PL)r7JHPoSUEYQ5j7;eeb;4(F(ETvaz!;>Vi7t+k_F9aZ!5fBJVsYG*=!{d@vLCUxE1fBSal#xP#z9$E&+YyX5J6!QBp<(k;!1NmLv0DXEBhlUGoS2J>@ zmZ92i?0*m#X13ilE9Ox};v*#DlOdpAMk z&Yy^BN^YYqO=Yr%MPuNidWx;EPc>eHWyrV%U&+Bu@w0}8#H64~XVRC-uQ>_2_$RV@ zWA9$R@Lpq)3hB>(nnn<6@wONGvNAOfkG4bsCO_76`+rVWg1nG2^rsu0`l!(Z>6{J-P@qO2!ojJF>U~=KvNA*DROhI8H6n%k3r76p)Yb2M6a9c=iC!*m+#Cey4~Mi2v`Qs`Ph+j#`1Cv{ zVVU>h?Kh(cv6AlioGSi8+(?+3w<3Itud zN$bkAw$#ujfp7L+M?~5??KD@Z`<`!hqTF`*&C#D(cwY1yDttDX>F=P$*KHOWWZ{b5 zOZlY3WZg~M6OOUxXa(p9I^!D!xGTyz3uTBBm*ZJL0>-g8ZXtYjRgo~!&N%ovx^^P34^9@-)->8|Z-QPg2MEa|{vU>q~3sw#sGRWlHA zg%#?{d7j8S8q8>dyqGd}_>#gdJlG|bZs68>l~@)%XGhXvrO-hDI?wD!Y;tMZJ7b9< zDs6PyRHL@4h3!D9Y{4*=Y*#UNV=vHrr?OOF^kX%c=&A`ViuDw^Ig<-B990)wWWfDw|3Zx5eznd`BInn69*Pai)9eqNB+LC9!#f?h)&skCu-Qs5pK+=&Yf~hHD+WNca86hQ@kL zYKGg7e)wg97+97)d`hH~@H7ze}9?guwL~~ z26xDg)`;HXy|8jlcwJohN}2v%O_>#b%D9GE*VQa7C(caP_d(FlWXJgYL`3W;$z!2Y zE}roxHje?C(67*zAOiVlrAB$}DvXSGpCmR=RnAU6o|gfusI}NRbx|Q9jzXBK%u%Q4 zod+D*_d^FA+zTF?+Sees2|3;l;OcChj)y}*qB8V4p;ouBbJ4@%j;{Ud8mY{UO`d2Z zTPx_JY^XE%1^O(kr+=6ywzB+`0Rh(!1CYQm;+k3ei-tF#eB1EX36k-gZ-oFD_@mPvL)SOPv_xYed->l1hU$xK<$xs(x`=8y5<8{iSE))qu&p5b?aI&sd3*EwYTE4Z8%r^LpJdZMSbuh>7KeZ=KZWbzb1G)Ss5-`g_=?>u+iiq(HteFyC zyB@h(TaL`*^DTOVKdP?x84zlqjf8L4mXKg#p-3ksnTaY5lXQ)4oUSy<$4V7tcr$z69`%<-y=^ivvHj|S z`fyD9e9oX#yu7I?<4uMpb$8NtRyzWPV7iRSJXs;H?upeJBA61u7T6})1KcK&CrzX z26;dGp~fcSx4NBInvSg8-byaKyA|`#i>mzx@%?M_J_`7aB7OT)+BilFN~yP`Iang! zkM9-|iI7Ikcsh}VUNGjxHuT#s=l;lR3p%jW%aI%M`QelkiC!yL=x!m$=GyDP5v2>ee_&ki zQ!5WqpIg;4O)J?xi+^O(W35CQS6O|+4(hS&8rXQTW#J?JbUo5Z{66y9axR0&u$81Y zc+$+schrx4n|HU$>2{nzAur;n^qxA&cJPD}5MxX2;%lv90;TJDFCu5jhJ=Yei%viz z`>S+3F!T|T3A%!>@VTw_N=l@bS*u&7%(DFH!HLK)%jbriLXUAweO@Q^NNV{@HMf6c zq*21D+_n~MQ5r`J^PE{lbd0uBCXLC0ZMwjMD?f!Y_+F@vn`S`!3*?!6K>FnUqh6z$ zfWYgGa)UkpxcKFs%J<0oy3$O%E_v;)2(8*r?>)RmboO%fdJ*gBM$-{>{?5{K z;ZfrOWL?$q*c-M{-JT9PlLIuiUD>D&c{l5}8JM_AxAJc{^I!&w$0UlmLu7x!_iX@t z7xx`OfpR#I1Cta3fOHO#m>seOTAa7u9c!9iRDIR*f>D*4s&(5HCQK|GJUP-;n?azZ zMCv>=ukvuyIVu9~FU(8s((29fL$tO7Xd7`_b8?o0q4k4JWqZ{C=`~A96i8m9lIm&& zIzRCxF^~#8q{~OwVaxJu{SmYx#h!mJE!&N2r8{PfAzHZ(OBQfT>b4dre%6YK!12QH zL}0Y5)B#}w8Pqy4JhDJIaOm@(;Mf%nQLf_e58-LrB(DO$1io; zdh8SkAvpRXv2cguggF7=oduYPZ&-;;>VoLWj=!|tJRA4o-FpvnD_f3sc(9L=eoRH3LiYn{SHx+oY-UccGuGY`toZ{ zNX6q%|Ck4e3aFbv<#JN_0Uxh z-$cr3zM@D<^;EKXUUQVFp3i1fe@DZ`rhi@v=n6G5I;yCpCFK?EY>ufErfs&e3ez;>oh8TgA$Xj#4wL@#e&{JL<9{uJ3h>w90f58Aii;tZX!!Evnhu~c}H zG-1deg}zr*2w37_wGZdV;SKoQa?21-PK4>mK@2I?RA@Pzs*_D4_oCNU(7gMUT{~0ePEQ? zk821@BJT@`3YfSfdcQ$w+N)aknId^N0AJiO{R%UPb=V^GU!x}fTr{w9e2g=(ar78= zj(_jsXpyPTpUmcV`uX!X>>82oT^c3Th!5!MydKN4{UguY2^KHDNoR}D!#R4SSc`pYT55oB;i4BqTrM@*`Pq6H zF~Rw?)Q|%l%9%FeK%eV*8d(Zn*4QYwB=7y^smZ6j(^qQ4KJ3f&#p-~9KsW3gao2*b zXn|}KMVz$`S5vnQ8`%vB316A6T-ge3A+e9eDL4H*EBi)+6@T#RJ&hP*8+7spn|RCH zNCeR~3aa!^;rogXJDWLy^9*N^7zkm93F;k(vwT_t$3wdEMK%AOFJ^6P#~gdOFV5lV zHn(Bf=Rw)E&C!!zlY+9aTKoAZ_53AYo$xOBl!N{GLd@lq*_2p#NEnj$yHzlM?JT=2 z>S{n5-w!m`yly86l~b=pG?aDrRR(z8$(a`EVLSGGcP@4r?~}q`to!nOhiM?t!Kth# zyV0?wbA!(b``R|(U0N!wXrGPUhMdsq^JB3Q@p;Ynq}ohz+?J4y)B$sKHkFf=ufxm}kvOfIIE zH(`_Ya`b1>5CtuzXvfy$(c|gQgNR2~AoGYz)=f`A^2RFdpbtA+6acX?__q7+&MUjr zopm3U6?&1MU(RwJAQKtV;(XxQQbY2@rSBeIC+8H&vyr_72>O0rO6<<_&c-I z8Q{vN2|TXw25UAX4D{?sIUBaejntQzpk77AtQkJ&CrRS?%97RJRwIdtA}fMjIw)s} zIa$c%)&>GJaGOGxGd%RO6MIjFA`v}~v-Bi=ie@z)r@Lla+RDW<$)t7n-88tMMFy4B3UkShV z6;IDrSDo&?fl%QjX&=irBt6Ip9wwH1Cj5=@r`s>3eUpM}Ujkb063;g6W%718n6ztK zt9OcHnYTVI#wBF)MWH9NooDy5^io@)<47t&Gz17t+Q?gpF;SB9n z5RXu0-+1oyxH+2b@(1|K@`>L9wpkD=Z1N@_B$Oyc#qF@e!zlBiN$up14*A<8M-{_2 zk%P+fAyGH^)^C2tM7d|12f#nR*yAB0vR1KJ%w6?lF6xa*2NdRdfe0-xs-Gt1eiSyT zabR9`Y2v~}10utOckT->aj6FZbm=u7GioP`bwvFb{jdct{TFa(Ottcq^5vE2h|3j^ zH%347+eA;%lVcZ%&?x0as$6fsAM7j_4h3|GNl(S9M7PYbX4eAF~6ouOIu zo$#1ZEOG||NA^dMqcFb^|GeC7j!odLVfm7aglfY%AAS+Q(NM{Yg&_CO5?dLE0TE(7 zCZ>2SAU?oWw>4WE#LpRRFVO7tC7d?TnJqupEQ?U0nMD85*LtZEtg`ER9u}?1G9y}dDhPIr|20}TS>th04rUi`=KPZrFn7`E+aU|wLRNbCivCPi z#Ff&!QZo?rX=|70fT2H{?ise1M#Qm|SRm#Lu&gGtvP9Hb_OgmzzbL*)MhvJw1y(j< zxx1I0CZ6R7il77uL>|ef1bP zl;6Lcv47S4yo0;;@(~tRtK{bzBKr;_cMjrA+Uh7GjHq;7o|EFa9Eq22efoLlO6P|M z>coq@_vcVzx{8c&IAR1WVWE{D6FV(JH~UKA?(<%Ge=QuXzBr9eaXnS#q;JB-Tla&j zqF>o!sW)6QbS8Mk7~|dJ)aNR_-);+uo>nyYrOPmGK2U>g8HoEjl+o2|3L<@kT#GI=bGiR&9rjxkaQuRKw_2~K!Tp| z-Rvzw+(?tS0`kuc<7UBoaX2STK#Djz8m>s#aqp4w!Y18kWHGnA%|4xtN&aU5kGFi4 z9w|Rg)gmcnXp90Y0-UA)Fsx$GHVwX`hzZ+ccmJ44AKkmDN<;3n`f@bAdR=9%s*X}P z->#D1rpdR|mu+E?mXeqb@gQwx(`<*M9Q2B7)Wh=Jl_l&jVcykJV|pD;GbcqEnU9I_ z1~|GhKL;8z@JOYg5#%?1ILjIDK|x!rW1*;pX3Oo`P<~gQuT2LxkchhQnVZJuw=IeN zL%Thr4QuRDpsCvUBXQw}hv%GppSHH1$X(lem!$eC4yC~Mk=Nx|mD#{}`%;?VIySb$ z?fJ!QRh5XiG75^>O#M(?CW8I-18oxSAbuFdW7y8kA!yGvl^}1GmnbZO zU-p^~%=nWxNxD@JLz?)#uv?t4ao+Xh1uApT%j4QULi?jcH)_@2O$-m zEH{7@%X;F}_j4D@%i67$dnOj|2H&i@dzn}^b<|1ka80#O#A#yPMMXn);HrWjPTZ;q zTfTnHnx(vXY)em^D3#|xsbOUmeE*(Aw{g4*b2q?9oCwLt%^sfgLo=6qWOOstOOAe% zHCc5=I*rKZ231br)tOv+-)i&0Un@m{`K~Sxdmn|vA;1Qe{PR0JB#xZ?kY+}FbG_~OZDJ< zxXm-G;0YE}ajDJj?4fhP$uV*Dxik`jxu~uyX#} zsf7eQ*3^}u$C3JS75d>mcl9USgLn(A=@)%;xbTwXAJYOacR$s5~@A@v?!7&{#f5X_4zY--VbzD=AxejGu#P|@o#Slep zjKks{OqbGzX0$#w4t|y-Pil4=FjnEchqDEsOP6`c4i@GHWo<5_>buwkQ|bre1s551 z2Y{&Kb~C-qevNH0&cEHX|NhgbVRbuNrQbNMn&LP=BzSeyD-H~hK64*VOn11AD%N_h z4p=eNaT^eIcRa-7q}%Y5#$I7C5!?bK*PdRhTVe8ud@~31x45mQIfB{lsbj@W8T!YF z0Q-$#@;k#j{jBmFUR~!p`$B0NRnmF!d9KIRh}Zx=_b8Z9yl;j!6f5UX4SR#u3t!|n zu_kU)JkJ&wc|rQ;J}{pB48$1GUEV^TCm+eE`tMFJY|$!)=kuFMb$-!XcyGv`Uybf= zo%sH+`Y|kSu(+nF8eU(T(pbQ;^U+2hFN4{P;dlp2Z;g~S>p6nXzfSXH{;u-gBXb@p z784cKqKbblxEeVnYROlks`I<)87&I(G%h)Bnw*f=>yIG1_)$pn!~34)D>>xg+de`O z`1|_?+1+~Lb@jso9%D`$8|i>!uKNn^WX6C3Rh`>S#`Og3ZP6Z-bmNbH zCnqdglG?PPE;m<;^Di=-UnpbvKO7w~wmP^#zxwH;=1SRCm`bGuWrm{qT^^x<#5ribSqaRaQ;GQ!@m*K=E0~PAQa4JgsL=saA|d#I`ItUsCyABpJVAzu;nfQ`pB) z1Z6X0F4qyNoS7QWj3VwPy+g~9-UYpKV9m}!y6fuVU3ZOSEYnFpljB=_4zE4AN~Te7 z1(R>;VxlX#N?3)}^5i!;dYlanik}9sEz0=E0W*YCruK@7aMltIjF9^|>Hjjwb{fCK zMFXx@Lj>J4zE5N_4HCX9rN6PSJ4zN*t-qOhHyaW(T0eesI(r4s-rX44_28w=_gipv z*so_`BxAm(D$QlbPkax0`Dia7q3qAFK4pWLz)&kj+g1YF4Eoo z%xs+K{H>oyr_BX08B~nWVvWJCUD}REJ<6{l_@hY`KEvdRJ@K6p&}EI=>-z6HTXz$} z8*XD2-M7d3QJh(~xKh_)X&Raje%br=T6se|M@~V|Xa^a_HX| zm}4{&g}ZLIAfgoJ$i@fJR$^Wqz!}pog;tt8Iw5h6x{=JRX`Bm?CL{YSn((r=g{g%;W zKXq7PaNeD;GQ46y>LHT_<6)D3-&OB4*xXre zHP0;*N*SwCYA|j#p+k~Am@-Ao^3Lcs3A^BDz`(yT`E}u|3tL?5K7B9FxI|1L8gkF5 z&gB-dVzB(i<%D94Bo&DFJ(p}C8DO2nV_s0}9Eqcs2 z=`S6x>74C)ieclDaH?Q*Y`QUL7U17+e$i*U?3ML3+VC=mAZ)(1I*|1m4(!#$cDoFs z=R(beFnZTPHaLjnF>h(98n9{QzqpBTNHyY?0Bz7*oO*$Otygsh#C|sa{8a8-KT7oH z{c!=WxeLSl(|J`z6t)v|*bk4vHF?UNLch(;nF1W~{kjO6u||%g$-V^8rX?nB5REn{Bbt!&gs)5>opG zY>+1klUVN4dy2KNAzIgLo8sASH=xQ{MhY`&de=ugm0yt4yj>WZk$b_quJbD?dYb&@ zJ`YT2&y419m{H^PgQ!KZL}pRUgHtO zbIm~OoWI6~Q(P7V5~aB5hMTQNHyBAw81?jF7!#KNmFUMp)j~X4lG9b3J=0qQ)l@!vFs)%;#)Y#yGsiMVhf$5c% zq-{R8xay_n*+7TWLf7*h`VGx$BT5>>m0}h@*wG|g2RRLjVC1=HO=PfmyQc`nE)T}s4r+z{yJRg(t|tQgB>4omIS4Wfmp zRbn<4AUlNRK-vnW03ZK8t@Pj!H8t zV~&5TZoMT~)A-?#GGw{swRZPNQB5FgXXQet;aCWp)v;RpcF)Y}b-}vd^@o!wsK6Qb zk1tnaW&YZ60U@}C?)buomcdPZ<=2^w)p1eFriPgR{}Ac*^iYO_Hd@JU+fo1i5e7n3 zhLLRxiq<0h+rVusBC}EvKf>fz{I!XHIlH3fq_CQDl3igu@anN!A6{i ze3^mkhfVKzZexs4p>sm>m(5RiER0~lW9h|dLArTX_OB#Cd&k>0r?v3&45k6ubddoE zBlKTvA@F({Pta!oChUD(JJNV--uue*%?48nNSXfgtS4&vEM~@anM2Gm51>#oa!ZA& z3UG=kSCjLyT>8&~`}_=k`P!@a*OR=BK>a3j0IHDtmAtuK>X|J+C+a{xLMIaMgRtsr zI(U7MV?clRw&6vZ*QLrAPvA7piirmF_!1v;9T}7VSjJP?V5$Mtq+(|AaXu|NC4(xR z_lu0-=Zk{P0Z2+verx%3ZMu;<&9HBH$nMNa?Or$g&4Qya~FTY0piusTgU~oz+o%eDR(}m<;uWQVM8+Nd5_D~z{i>Rro zgX;fGBkyC z((gZOs18Usm3WVL3x9;|S*9JQdl#>Ez*uGY1T#MYLV<@TAw?U>67P|0=aWc$=;1&K zO>It8;gx6Y;>yP7oaaN$N$NHt2cL!sw4B^8u||lC%q?q{j>@IV)&jbh2}lQ$b8!jqJ95swj{q z_O~UfzM(Dn(Uf5jsm~npN__>)P_`L)SPrA$ZX)Y>is)js%W+Clm z0lyK^Z@E4$W6waBe(q@?O}~=3MME0k15&04Mej7mH6W+SRx&e>q%Br>1q*~L)fyH7 zNa4%rb6lYwqWspq${V}am+2m?#(TNWtNNrd*eJZ;r`(v1`{bx1G?l0l(lV#%bGAyF zFT*b(8V-ksWw*nr1Oji%fL&mH+pY;n0G4VrGQ2tZ*itW9SGD$RWt}G32%RI^t9X{o z;Ul;HsINn%kj%E5dSq|7lYAlKdA4(ocduAwiEl*8vKzpEoXk^s#O+X1(-V65|i%J0O( z`*J6Oai9g(l^!5Hn}{UP^5%^2c~m^Dirv@#i+CwhtVtc}tK2{U4?rstZvbp?U)YfH zd_Z(jHn=W)n_FZ*6C}U&vO?6`(InUKlolyU=hVHn(G&U`Ss~DLvEl9SANt3o996uV zhDM(+h%EQgu8o@8>!OEVjEYn%b>pqIhm?o*ilIZeJP$yP)oyQ6MIf^Dh7VDe^~KO< zWzib>1sZu0&2YMOq$@0ct6qxc?XQ!B$+w8d$$nd<2{wAsZu@rPiO)Xxg^#|^Y$f^m zr5BH8+KkRp0_q`Xl}^Cv!tq5gm5OSnar~F+w(74Pp~hi|4Z6r$NtIZ9VdF(w>b*h7 z7IuX}(z(z0wG&0FkvK&BseHK}hr?M(q-Rc2W|5pZpIxiC1w+w|#+TQy8C&rRMlbt| z@G>{H0h~E-{P*LqEh)B;P!HF;YnQBlelijN_b&5;u|)c~PFY^1Mhp4S8*~Y0R}w=e z$%qZqVP{F{Ws#4g+ED_@JVq~Db*4354a)SWR~C>XR7MP|D$i*K^)UG=ZLvoR2d0xs+S*82FgA$AObUT-eN>P|?S0 zpOh>{zgmPhEwsN> zyV4=wQ6ha&qw57KKjqXtk0)p}Qd=o`Ak$EaSisMK9xTSdNkNP zrkNie*yfZ69M>!_$(QehqTWa**vowX+ei7B()E-3A0@?y>Ll-9hANQ&_ru12H}c`{ zU7(1tA#y^`FgyZBB1QtkFua|@H)t%tWVC5AbVNw4 zXQ8`rSvPY-Vxie#(;d&(%rNk|H$w7i0r=Az|EnLP@7jjF_gCt8z|0)88_wI^Z2yqd zF877e-2H)#Z)MkiLoaYW z32GZH7mZ?OV(3RKPVrQ8TlitKpfi2-6G^VQ=PtzJ-)Uo3QXgxkq? zaFyWb-`cdb>^}00KCfG9&~kmqoeEN=&@JHw`bRp97z-nOR7*-d-z9g|n}q?bLa9n0 zLw=$mnf5|dOQ7XKj=D5_1kWU zGbYp8dpAUg zW0G~!we}&aYIBP=rxr9_GBT+Lb~tO%pi0-9SRSm#xZO}a{1Aj^xZUD+;k*j|t&c~*{L%Fht!kBc zzEnpk$8%b*Ws=}{Kox}vj>YR=esVf(#rv05dma9zb~3RNKy zHU7vGJiT9G!-ids8z+=v7VQy%#*jLABQqSkqqhVFLs11LTuPM;~gCvPip%A=D zE07kRct2jx2tl&u+4js6M2S2wORemE8`d$>6G}Z}aZV2Kfbs@9A}}_n8#5!Ed>rjhnAp=gizD|)q#HJ(uu9E!aJFi~QlriGrbl)g6u z&ujseyrkqsQ%DqyDACQv3O5(aleGl#j5XrSP;y+2);ybIWMkbH$~H>F8)~|B);%@a zDO^XWAt?JNrJ_U&GAC}1d9bFSGNm8y#___QCI%ys(!!suh)L#wmr(mWb?Ni;+5wWU z127XL2vfl-H94*JZ0l;Hfd2VD@NrKVTW$zPuq(QJcULw-t~>2KSDoH(mB5%uy16Yr zp0z!6p6HY#(nJ-8-gSUZi5fQ{#N<@~qCI!UmR@gmKSFZF;vWb!FQ`*aN0s69v-znc?G5VS!f2uqz`w8U~@p8*a48AD(^f=kcit5*) znak1c{L2e)iK^kqx&@|4_xQ~fbz~5EqjRI8!u^f?WuHx}aM)HL?oV{I$Zf9vW}-{q z^5Shnej5SDVguhh!0eKoAznSAU3~#*2KZ9#EwnJw=xLba8b zOb@u`?L?Z0U7#r@>Q_l#KC-|GmS9vvb(+nidfmh;IN&JpAVq@4ve+a zEQ9#KSek_X2X!ZVJXf5!yaNR(RAmLV;#$*7e0l^z&Qo^Bj3zRTDKIqxzn$QFIlFAF z=Q-|$HR?o2Ta@62mIQgyp@1iqIE~7=-k)(^)G4?rOVIr^B+C~mbv5+L-p(vtgVPz~ z`tlTeCQKm{j2yuO(nn5*YU1_L>W2W;B#8L(ZtyvSi_IPqKk8#t)`4l{0&YmpddTrb zPA>KmuC-QYFCFcV{PXFQzhez3dE20Apy(Z2yW3Kk1~C1;LmD6V*vWA8|KjVbpUa z*Us+D?Ck8!bLaY}oC&>JTj-Ysb>2FpIth?)L*5Gm*?3A{OzB`936lF@V8_>}xw>-o zhT{hg4Gnb$f`6Q7$5fD$wk~p^J!1)?nsYd?q6fx^KW^*9voqfQyd0YqjeJQ;!jm|Z zO~@G&;hZgB3~*PLxmQGG4U8{bzFDlFFQc~s#Ac*KJ7>OY6Stv^IUWd8R(pD0r`={w zCFqc#Q|f6$k7~(Nrv;U~&-djwtl3oZ^1cdgu%AC2%CJug3Vm4Z&E?#5XFY%53&E+K zNkLbyT#Q6oo?D-&F(r&qm}HtCAhIXl9LtcTzPY_lJvva(G5&};iFFVHzK6)GMjVb@ zdk>otymA9a=n1C@9eZ)kzor+8xWDLN{%-H5_o@6Yw(w1kMz^Y)7v2S*?6bS=Ird4i zJjD=*X|=c42}s-BN$jn@mtbG!jN3IkfoO7LYtIS4jw-Oa zyJ)f{)Q~6{r2qB>xfe(S?rgjv*IFrErH!=6EHO?7By^pZ_8m^!;K7r%S~H|6#STdUa?NoJ7V(qq8!8R{VNbkEI}I`9&J zulbE#v{k8|P2r{*){aZFM753H<%^7r3vyRX9_81vstMSSpsw$Ft0gMGFFOf|JZ{*S zi;^!hgaqk2f7vE?L0^|@ew>p(C_2)DX{yx@q>y3bb9F)qI3Y$m9>~F&X?BVIvXVL4 zzCW_=Ko~Bc=O*0np`N&0kJJ-z%=--cz$?;*$+ojQcER-{cWW5UCSzASQ09nmZKJ2< zxNCu?YRt5i%^uhdSH;MwEBJ0$ly3fp$w0f6pylGAC-Qvo7?^wip}p;G;XLFZB6V#< zRb@KBn*3GQv^{r22`cH(9iD-1>r*H??!`k@Fw$EpmF+V)vWbiDAwN6CCGf* z0_*4Tj`e=++F8k1pEGG6nuE3W=c_f2l`|jjx+!V13BMQBi8YQ@kgVjwHy)f}cd+3N z-CgoJr*fW;uY4rEW=a=50f47Q9|@~0(R}^9iO0;(la;AyC((VkqI8TV_c1+gs~_Rv zWvS^taoN(1_Zjuumn>yhx&z65qkU2L5LrFP>*vnH=*H6@xsTFMZ5?~;ye2F;KGY5WQGxK7`9^^(BNoJT1iEEpU-a)Xsw9< z{&4Yvk|~|-=`4p=iyI7ddtcXgbUIb|_FSk^0kz}Nh3?g-o6OnDJES($=9SK+#hFGc zs-?yYxD>aIAhb#z&YmHHQ<CPv5t}lemp*&cRF_PQl;HTPraRa@!aF&xfiddtOSM~S{pReM(~M`60pYM zO!ywD>8o``iwd)O;=DQXu%u4@T$siIYTNObSQ+j(57DzZ>w-oozYBp6(+HCXz8%BF zdbj^@<{KvBD)MKq!+2ZW-^B|VHeqM-4$k>+*Jju4C9czM8m-SPW!IrK6y|t4rHl?*cU!(}faI?^>FV}i+L(e~K-=LiIsezcZ?8JhrQUky9v+`B;xh$u4ozv{R z``hG%=RQlEubLWae04z&hF;k*klc^blvKN)(zxHTrbFgsduC3Vdi{9K-dw?uwP~|i z&2s}UIKbBK2YsBGeC(6;jJkd{3Z&A^&t9xD=oFiOh(FW{kRs6vP@ZgvO>3tDFivhh z+$LyWIdM8-z)IP~uCbhju6#w$9;zTeF!!YJuD9W0Any7!9$2+rr(WTCfI=}gd!yHq zAM;8FbA@@Q`QX+VN|0}}D;Y@?8ia-yFhO+L?$rGO%T`cB>f~QggfUlG{HS<8js95e z$CC5c2=Xi7*NK-c2jYhimNeM4GCZslvI~%ZkR0Nqn)q&rYv_%0W5hKB+#6;mj*E=@ zFM7r=$w&ZOvhGde-735zP~Qt+cuuN1+EmyB7}dzK?rU}DcWu-D#+cY# z5odj^KIAUi@sM_Tatamzx~lAu?^;_<$vfqs*d7@*{0c`f1409~1?e(*(2q?r+qKMV zE=66Re^~?^*YRbjY=lFHCT<&@dN{0kSZv6M3k{F4SE}yEwXgZk4`j#qAU&?CvVwPS zX9s75u1k~F;%@Ii^v3|z!|w0>#tT%{Z%bBdBDURHS$#vj6*iYoiH9yUTbgQReZmaA zjayTNxUhGgyFg5ze-4CfdzdQ^SL6)57aPfzwsnT7PPRiX6j2mMMt&791UW|5Og||8 zkf{?|T8}u_KeVqsk!zd+mXeG*PIAz|G4MHMUv{*^is3uob5ece!t)`K)O~4@nNCf8 zpXcdL@Tqx5sHXX7)PbXPNT=kEv5?U!Vq-P;_oL00as82)H}&sc#^CRJcvUK~(Rak} zFRnht(3gy=Pl&B$>@DPbLg0@s&cJGkRlYzn*V^!uqQyQ8D?CLIJHK+M=Y;sqbg3Cb z5OHGUd2k>pVEIf0@OUFCHF#psu#b=at-}R&&}^GxcZBA~S~~Y~SM%as{mj~)ZJ+V3 zcHxU&dq(dPf3l?>ZlZ-SXoa_ED$&JK&1Ef$gVlTrT_ufp`7JEWX93h6febu$`PuFyi*FR|&hqGI3OEj0H`sp1j)72G0q((b%s zuJt#ndU>1odsHq~4XeFr9Wk+OYy|pVc>j z(qKn^1-z<3U07vNxb8iydjCk>*SU-F&O4AOId-&-B#^gv7mipmEp$*?GFDscXxK7W zzf>f2vcmYdA%b-6Oz7^}z4zhZ@r(D%WjkN7SMa<9I9r#GhXGV~POI^$lbAz|mXDa) z&R(RkO)?Cb!IF|Q=9({#c%7`(Uu?&2BwBbycF+*Wyqz!Kg1jQZGw|?|;Td+GZvv2_ zKU06vAckv2XZVUE|6jA-D<gsCDY(^~O2xr~{O1*jC$Ni+M=RKGTgOX697cbSal9jj(q+Fn69W;TqlId;;?hfW#KA`v!b5M z0y40^^PHpNIbsNUsp;GoOMH%b4xc$?83pDvkMU^-s~wSNxbfpBTC_zBr6Q6c{LSbA z9b0OHE(RD_;ceTz;pIKU(haQd7n6)arKQqDebS}3w#L4{JSPtt0yx;JD`rZ%>>zXe=c7wQt0l|lhNP& zKtI+-as6L~8(<|&KAnll5i=pqhBC@h+YNRX$S*}&%l3h0J=%BVsYlr$Z_ebB`%`C_ zxJ`*tIi^!<^=%V-24=3rcd$XW3l2!L31rB%_z3QwWhzUF^SMD*O8V+SyD3(6c^WwT zd`ewN<)axw}(oD8Br8do*bK9 zb9xDzH+{Y5=hiSIaJg4AI@aQ57f#5n@Z{)ZtC#4!uJ2?o*4yjmxUV*`S0kK&6E&R= ziCG==$u&j3u=yEZ{b6oHz2mVn`kz_=6v%}QV$=NAeg;#-N^zPYwu@s-i%Q~CF9pTi&F#iis}V zb^L+*quWwZEA%JZ4K#9()ll{|bM3d#iHaVV3aF?!Ia*E8->qst76fydmP2NZkDq8H z0u5fYKqy30y*0;K1UjY`EN%!E4&Cn~K~G;KS9zS8!9o@yw_Jpx{oMu2RUWELRj~Le zku`GM+q>K-scByJqep2T_#-5f-?bioFFL4fii+4b5%WQEH@nFY089$J<8GEJ9bJ;? z#fY38ks|d*$T**@TB~ZAdAG+C?RAT_0#2&@T3yYyx70=`7J^>h5p4$gEMyG}wJD9h zzX86{(Mi#n3NZHJ87mWfBS^8yJ~4C<>LHRfjy&cAaEpyrcRnIS;~!366Sq_~)Fsk2 ze>b~9O+2rW<49rtmO`rH+Dkr;+p|FMrQLLLZK(Fr`2??2>uGQRgRvkf#9Qc&giNFu3Q!?>5i|k z?0>|1vkP+6;?;7+*1h+{?Cbq7lV@MFiO0=_u`zHt8<%@ajVZX6vHB$K@)Kc>)Yx+b z87{^k@_6Bvh=@I!JQd?3{y7(q2bm~T=n?wxiaw>VyrRT4&9D7uEa8X0#hA``tp00K zD@h_`qBWN8xa0m0k&f=5hlP)cUSakTyXnO(?PcqC6V_9b2!-Q4dnP_zX-Il~GRUmz zz6h`loR1+x=0Jo;N)QM!Y#f9$2oCFYwL`6Wo12Waa`*_p%-ZZzPwS7HY4(_;t!*jG zAJt>)oRFf#xtk(hS&i5_x#S7f#95t+_*7bnN$vhw*8UV>u&dKjxOSHEe|Rp93P%la z$N%hedtL0ZGhMD5(i4Uk;@%$|+`ivGNHr!`q-0=_;pr5YXur<&UQ1>-?t@Y~@?MY7 zJ=oXXabuFD~W@T^go0i zfNXM>^g+9Zx;_gDcvj^n%;3@OaTmb`9Uww`E=~Ho@D_qUC=$lc^4rIuzQ0G@#{e&f zz>3n%{?XCNX-Y0Xxb@ib;Wvy;{trX-9yQZ5NN&0szyM)y%x@(8*nF--WljF9WJdSsME;xbsVss?Nk0m|eDtmP`&>OpLDun& z(HFh@;U9m83=_`h(`H~O70Ci;UQFo2cq>{CjLqJP{^^_->ada8KPKx8bmk9q7|js) zsJFVob_ErY&Np6Jm&N-zHDuwex&;aXp(HgrCMFH`%OEY(S8r4(|M*z74}L`2A8Z5j zei);4$%jr_SKS=Np?Y;iDY+tt}j={t0&@m1Sk(%F59%;@$1???;!?A4uvi zU)}qfI%a-)PmciaD1nK|FD%kkQ=~R&Wo=Vh4r*@mnK!Omyq(`asCQ{7w`r);1=#4< zl}kICFqs! zrY!oVYx$tWd*Q8|5w3-~|YG!N8ZGsf9qpRz&q=LZ{`vlhH6Eb{u7sW+0fJaBS8T*E{ zuQ^Z_A0NLxx&|RW$FhbP4gpj6f&U#A+2={2gSe0XnpvkG)@Nq;6uZ#WFt<(7j3##r zNxE4)tbLA$1wb`~AFpL;BJ3?gT{jP00J9kvy?{VsJvJw(=`N7abk@cs@^@GI*s!iS znN@x;;rHBFULr2w?G05oSy%+fK}-zAYp0Wce*IVh?gHv>nSBcta<**{BStcX+No9=Df6OnY&DMMX8pPN| z^lOgmSjb+8tR8c6vRJ|oes>0&`+t2}#U%Uu42dA*hsb{q_`g5(zZ5p2#RsHw{WY!s zZsmZCsrB(;gxLQg^XHkr$uqLgap7$WssGoo{9hpeS6>DH)srX!OwM&yQ*=LSrhN^; zm`*m&C{9aD`=nO(;=e}{%GmiKzxzPQD(d&79*TD$LGbFpa@imIzsD%&7)4~p@p z{s%+;ljD@dod=68-Xc_Pr{LY)g;Iw9!Gl0i*jmZjmL%~1P4AX!Y-XmYVcCbT>=Jf9 z_-ym;e^7d=?`O_H<%yx<`$H>XlKJpDtGrx(bK~4|3J6>U%z{}>F=M{19lxZak~nOK zRz#8tk<@a-O3AUCk3631Mg4Dqu{=jWW_S{8a8{RXGgkXPm@>?d$2_+!+#g`bfjt7X zV0(9H12@vPgnO`av!A7+sv1i`K;Xs94*Z6Y1Y__T9TTi9ZC@nuM1_9Kmq?+taQ3+5 zWc>Q{C;zP)!Z~P|S~6!Od3S%-aIqf>Lvj`{nnKEXwHpNo7uV{`dz68Jf!(ti3luq@ zD8Xxs8Cxf`)+*z^U>oy?@V87W63A6*Vq7T#>-0cskXtEuUJ}(&B1N@Ck#&L99j{ zoqiL~)xdD1k1O{y>G*eQ_UbX?TcT$ltNe)XiQJ<|$00U{*3bhw&bk>(RrObnWz^~X z61gE}^MnA)rM$0G=Ngy5>%{~fak10wDuV!O-QN=aA?9m&vTK?~pVFs@|7el`y^*bl zxveg@^Y$1C%1<39c9CZB%s+N|qkI_n`(x{Ag#4Wo^gQSf0Z zda91D5EA#X6DGBZodpm;ZwUG*-?INi58gIxeAI2moCDC>cUGEkVIG$l| zKV|5+5!G+7f2$;*CGwXY@$bg_@Lg1Ll{*Iaw+#_?L`&)f9YXf*3icW54HvgkQRNG}zYAJ*ey*pupcl+ow%5^}Ixbxma~ znSTCSbw5PsY9ZItad?R(V^WRpy6;;e3lZRJsF>%0qVHo=y8OHikG}BCqEPIUrt$doyLx3r8{V1@KQ_Q*d8 zLGE)Ozb-9b3$(#cr^BbMq_i|}KweRC+G8u7rlykKpURCoc2qm(ie>{WZf)N=kl9Ny z?ega0%|oXq(+-k0^J1&AIS~UL3-Jm+>=>#20w@93}Rt`|5hFnoQkoOs(9W&85 zyRYX$%QXINQb95r^F-Q-vPd-e`l0Um@ zI-jP8hetb`s1#ceRb+Lx(KjVi6Z3u-0RfqT?wNN;s4CZ2mGXU4A8B!)Jyw4`OBv5} zpQ@oobRwc*H=n(xVN?ty@9W-9^j8`b&Rj3C7cVYQ^ijMJsLv5-be2=+jG)8ELFNj7 zDI^;keL&|4wYeUa~{ zdLq?291|8*(3t3k+4}^LfizN$y=GKz%GPBqQi9wHy=R31amkG^=^l?o1Z53fT1qw$ zMU~S>+yIHH{_uok+P~zMS4*{UO@6aj5_B5jcoHv^C*1Q@if+02z|eQye)N^Ij>Z{o z{WO;eD8e;l{h1|at)fa8jipSNj7>#dczN;FdtX~p!X2;Li)0!};);p}+hS13y6po~I5?VIKs zV>JGY8`CD{Pt$t074;-MVyYp{l8oA0s^@ROG&5fYKl>b>ADWe&+Pc=r_|C z`TA^yWiL9dTOeRc+xiz}uEnMXfqq$k%uGLg_rz7+N&aA(p0=*KsGfEl7JqWSB9l== zj}4q;Woa`ukplBfZw*ZY57TblO`D}wZBn1hH%j>vK%nzM)7Eu;(*n1QG_~~`iP=0&Qtz3TuT4~mwEI~ZSA&LW zZ%+sDEG8kEZMyRlX;tfw(l-gxS1D_8A#JBI8CD$@OR)_@GQ%ugNcWRwPs%@XB$Su? zWM*8=vzNR>UTW#Ly7+W#ZqYBL5XL*O^YtV5*^nc+{(~zy`RUCGn#YVD^d-!wn#nYNNbUbZ#-n|I_^p~8QL{!WSsWp^;1cgEAcY5H=84Jz()-lbO4hk zT*GE1iG$`k8kEW9`_mNVDwQb4<@JG1o!XI7bqd8PPR*eRPXk2K6~j^=yFl=kXQM(o zk(j;Jw)iknlZ^F6Dp}Pzcy0fJ^ZZNk-Q#j!!cwm7s>0>ta_H#P(W&{x+}4~g((4K4 ztJ=-@CcQ=PRle!lzErP!U`D0>43eEdCB{MfBa@8 z{|X;()-!j|?|rKC>Gn3en-sJY41j|v%O>pCUqx^%EG)**m|Ir}<4ur04z;$o8(4$N zP-Lt%%tkY877fZfQM7`nw!Z||s)0-ISrv+lAwd@$ZTGuQZ$zm0QZcyOia6)#&Kf>v z#iZv*GPgD|F?@dd&Cv67w(m=z%zj7%$acc`g88%=r^b=DoyJ1LtimkACFYcS8y9@V z8(qlTR&)0iQlt=CaJJ&41vxxkel!}V%i=0G6Xb>c0kGmE4+lkt>VZ0ynYa&{{uQ1TVd+xn%veYFi zX46*Vw%x4?TL30JsT2%(mb-h7=74fet8e@m{mCln(p7A^3#CkB)YfUr7KM%1l-ur_ z?F!l=XqMk^32QTP5HPo`{g0L{y!9Uri2d@I{Qc=LFDF@)tfkw2NmiN??i6K#AbV1< zMx!jh{@JOJst{_@-BFvUB%^#fuR0;uJLHmCSZwaBm(Xq-7E*StuheT&86Li~yO<{o zc|usAs=!0_vS>Zdm}d7&>-7rU)W)+SDtEtdm(2QiPZ*J5cl<|AlIZAe8tPNs=MYo) ztOFbc`p!T#iaY5tzK!PlvV-0sdAM;q0b!%c+7203Zk6K{qgRX-TScPQp!(^7!)PPmYHMaH&`78PoLlD-eIZOFt+fQ(wDfr@u-StQau$q_87LD z$(JfKN+{NrnR|6um)SBCyLcB)AH_K^==4IOsdE2lU#Nb900qP*Pa$?kXCwG|(Zg1* z-?E0YdtmU=)kUVx))4R2NNFHWrSqR;zq=tI zTEkT$Rv~geyVUe*m-IxjvuE!^$0GTxYxA6A&a9PhaOAWG_|~QL+^nY^VvOp1EHw%d zFlT7A^=BA{SU{~@Z7mg(N}KSQRjyuv6GG~sXRE5Cbx0`IwNCe}5!=9`eCoFLJ*q9Q zZzMeOiTb>w1j&;mT|5rb%=a$E^;eS8Q@cT?cDwA#ncB{Bsjzz9J=ls9Uz*s}EP4pt zD!t`LD;Ez+p&_aDMQ>bRYkg)XTQRU2CkH1uLDbaPI7%YYdouuRdn>iRVNKZS`&Og- zwb@{ZE5H`w7T3F!$g|7geV33t*M5W22K1pHD8};@-3lMHzHi&AvR#{XFmO$VIWt*N z2wp;+5Jd;l_}8qzPjH_w;mJwAW9N*hJ^dLc@b{-O60{3>6e-$poZRXQEn8eB2{O^# ztesF$m6wm8qo?1OZ@&T@w$Wg}O5w1Kskdu@CjwkN+E=WT#2ZfK9&H}Z#^I<9P#1~S zelq*4R%l=VsZyvA!vJGBIfknXx> zl!COi(dBDx>Cqv3NfLL*YJPlL5aQY-1nsz>>})(mBPF+iZn#Fns@BCVT{0u?aB`aA z9iXpWU8|rVUe`bUm7Kg_3muoGmTCq%X_-pT^+hX)y(o>9I9EY8Z$e79;mC1g(QC!K zk1F>}E?sC*-St{p-|M?&^Tq4??YfJGea)+#TzOW|WS$HC@;S54y{DrBu&=UBt6hWV z3J}L_(s&|QV$0L5oSifL!%%kxur0THm241n)+TsJ8DAYqp8T zTwOF>v?P{y(^^t3(N}gXun*nEv73aO$rBXI@FiIQLx`|7f~^A`X0>dP;$@wCVw?h? z9NtMI9S}O=+uK}_JSn3TI9Wm$eHawJ`XO4!a0Gj_T@O!=*+B+h2+-_U-Wel=nM$WP zbZ$LW#fyD;t{4=A$lAbI`dNH))1^SpPAvX>h)a8v#d`E*Ev(=Z#AIY>&#lmbIaR#E z1IGNGz5E!#V$Vt;Q&3+*LZUrOMaigNJvhCd zd-LFJf#I2hrc%G5jx}_ftR_K6sUm7tB>!bRN?WWt*}a_p(J_5MfQ&1yv6;dJQcT&C z@;ZRJ)0ZV|e(q5g)J*;qe(&lUkNMz_D_dA~d(+qHn=uVIfpmfrrXJbRx?5ukcScf_JS}ILo4x9eyygspXEMd@G|VP^SG^27mnerBH&z zokyrfzuLwok|cY5ZHj{wtAd8ZK_=j$nh(is(RlVi!8n0}n6$MV%>{ip%>}j#>H4pb zF10hJ0)KlGMx7`#%NvCDIJu&~WJB5PcXhMhK|}%z=x|Ya-pY6OShwwU##kzTJeSUL z!ejUxfH62ZGqcSxo_7m99pwWQ^#jfZGa&PUCj&|@gnAY3sZnS4x^u6WGTt*Nn9cU-uw(_%c# z`KiLIYbwP}B_WdNMu~9AM|B=Dt(|LzZh4LtWi{XJq2t(f)_C1|8CS#6%UM0b#L7v* zBHFuz3+AWdw7*M?i1HZ;XJCv6UE5V9Jw5lZY~pnq=|+|)q@`d~Qh1M`%*6>l`rdh1 z2K%YSII%hI22PTO-Wf#d3w)fJfv2!DLcghhf$ADSP1Ch&rs+=NLVAOYY~7E-`yrqr_c9rOH2ldriqWmX_BCS6MYUreTv68puV>$rW{xWx#Y3*RbRO> zNH?8P^X)D+mYHKY{G>HHJ;G)t^g9apGt@*GBrKX$An`A-a3(g+4JYtM>qLNur? zZf(_r#U!HYTXg4J1UCzHd(Jz%ma>#(4$#0=W`aI*YL*kF?dvVmcH_tR6mjY;s)y6p zPJ~=e1s~rIGsy4)YGo?U(~5&OT54Or_#S)TR-3CqW)({)w*x$zQBljy+qL{D*&|*G z>C;3FY1Gc>$@D5k3E)x-3|_2LE;}p*8}r&CVpbd9plWIoH>)O82E4iNUOxC-_I3u- zvjQ(}7_?f0Zn;B9dKtM?XPXyeV(htylOCCcSd+82lDjbQKA< z9q+~I$C3+gi^UX&aO^zr%TZ%c&Bk7TY%Cb%n)S0Ai_~9XIXHxzAK`fTuV%kPkJ5tv zDA?57+vB-&wU(+{Ys1nxs)_=f?*Kqs3!WUhtpGp)(D-pqW1C7yL9mu4W{zX+&1(|Tl$FLCT z_`6Qv(eZ?u?Q&*iEKoJ%*>y(SIw_KRuBY`k8Rhr$)e-{*rRa;a^eR`IW^B+ zh>q`AVk6IbLd>|+s{$9WD{qUGT=MoczCD*);~2=w7QX-e-&u`*I?O&QKa>2N#Xk{XhV>NhkdsafyWHkOPoIv!gVT8v*GFn^PH< z?EVCxvSWXNX=n-8<)GhLKg|xQ{Ur-UPhCS$xT%dq^$#c0_sy3(@0|b6Z zp9IbXI-jg>k4DNIzrTN6PcmDe$<^aC-}c$FkzWNT!&l3b>+fVwryurbp`gc&AC<}f z1gW!x5Qd!MMg%VO?*X@h)grCR9^}E5cQ@xmN@y4%-hT?UtNN z2QAH5_Ua_lsupHEB}sxDf+KuuIJXw?6?&!U4aQHw5MFRLS|8o=crNohdoBzC(`@RE z{8!-iAW)~`JF(&KS>D4^f@5E!TAu+rIkzqDWlFhO=8C^Ja&knV{B)Cl|MygZY#r>3 zqUlQ){zvJ$DUIMI5Bkd*>YCbl59g9oQc8H7HZKh-hTnumpFEa*wib-RRjGb3o(($n zf)|PG%q}0G<9&@SiI}m5Ju}@R%QwwmDCEOpaJrRV416ONH>X$X!Yowk1|hX$c5hVR zYkJlA6d#cwAz@Vj1l+W=p54%{GE2oBBC2%uh&Mw72ei+|3Fs7t%T3SS`iBhz?d1s* zNz=?RD&*75Z9^|UxK*kPX>%_D&W}x(#<>kPkK?!T3r;r`#|$+Oj^Z0_HkQ>?JxWG+ zU?%aj43~qu_`o6pa!@t~N)grfncY!X$zGpqB4{^@y5Xj_9v{fRD7At#rEr>-#TQ7p zNTFK*dOX_<*<~`@Aw*lR3`O*vw>7k*8Cu2*6EQp(WSY1+$@VN>{h)3YYv6OKXr<+xTo6H<(1-eoXr@WT*Vn@ax=)x- zzF|(^+d>1;qIVn|ndHHC+o{_xhy;#sj&5g{Sn?jGO>pLrP0X!EUtD6@Xg8?Xy(>A( zXT5iKq~59az)p7okUM>2S#Gji99Di3Z)Y(}NFqrDD9y z1^hRfDVx4~DmX#n!!46&v0a1N4r6Y=EDuj{ItRH6okm26K~C?p7Ewlm8{*PTI=5L@$p%w zY(M?P5b$xE`VOglE#NENKKf%vmFB6Di4fxI05wv{;f`G5D`OhnTzKxHUYSXdW9R9O zA?Xp-#d;i=J=5Shk^TNl3JCdMi4ItF4M7n3LKo-d^FK>?TOW=co|chO9`^5zKPfiy z$E}TuDxRfvn*kQn9kdOnCyPqk>~{3<=AqjqsdXHAw0e-}mFUbAWbys6t+Tr9l4 z=l)cRI)R|)w^&uHeP~$$PD`M;>w!xDURa$`Z)4{p^M2yDM|MNR>^)7lX($}SXAdYPFa02#PI^19bIZqdzpMW6HZ;~xU);HdH1xJnH7YIuZU!w0 zG0>R!(yGBs9^pb75{Y;T+n^f3)hSKF^+?Ci$PU- zSG6VEjp6sgUyzgL6+MP8TBpnwA^oMG1l&4L-Km9zvV=`sYo9M}(e>4im4crA678Ad zU|?m3_kN8(aAr7_3!2dulN>*_F^>8$|H))-DLi?DB6}&wV@HTn{?nKBt>u+vP`j;} z-0h38v9T;zij*Ganp5T8b|FBy+##){I5kq#v!^BA>aaxN#J6aQ_}JKqsl7*P*RY+f zc#BI-+ht%%N(gEhuQl3YSs|43^+`D>-+`VbF1m6xdzN)-7Oe|`x-c0K88RB%;G=!or z&T8?la>}ZXhnbhRf)8Dvk-o7YdV1ByZGGXlxfJ?t=N$!`;?=qtc2J?a7G!9{ z{CVv?ZZ!<_!tx1m&l)QtBBFg1X`(=$(0*_I~Z^wE;X@~TrBt%Cl{XB0_jp3F)>3Ub5_zuu2j_Z373EAj1+^5Qs;w(_zZ3} zidFaSSQ-k=o}OsiMpN#SMgw0e`^rX?Ld7UHx^9K#i&MGM{jX~_&<~Mw2ez^oL|!AT zi5pDZ*N(0Gkr``7GqDBaJrs}J#rOvZd4U&>n$8P(u>t_D%JD(^=?0;R5(#y_hD(Dx zXR7Aw(?q1jV73|~3+6kRxx}T9BxQ7~(USbj-}m={0eL1dwx5Om*>vcQ+Gi6}Q|V8K zy9HV;hY4F~ddX~Z+HzH>la?D{sd8%lAzXQ01;JDshJ~-XJ$pY@&>*mJ*5AmTo=j?L zmV9Z>w_E$H%4saVzLkG29=iSqgY(nJ50oXN6>7$)V9MkC6NXCm!`C;Fe40G}J--l| z89nhz~#zAtEF+=k`_o=H*{I>Te3LFNB|>z<@zHBL&6(XDc@t zt6Zd_jQ`e}|D@?p`4om06Hk{{{XbhBz)rfmktBWpL;?O6;n$Qf3|lB~YQg{6YVij& zkXRs6;y;J-4-bAai;OXJj<+avj;lylYVA=j3}m%`3Nnb~APu)El>cAUfAA#-mE|q1 zG9c3PAKcIXYU#}YLtsR8(W1j4JSy}PxVEydkJR|vclj5mAHe&-V3TPmFx(>xJc8ZR zg3_Xwf5%7ur4o--U=0InjV*EEkjDpDb{NlvL4!(pV!~L{iEPNh{G|i+!JzbGtXwl!|8j_h5Vj&8w`qAjOWl#@V7vI z5tDX@gO@>B4&wMl&p+dtG`N508`{s7{&~+noQd!`>u!6hh>pV&@xK9i{_n9Y&?YBu zXstE&J&Z79e~aW(I84)Hs-`V}0#AhxQEHJs!8=e|_uu;-#=jo{-rj~^KxG~We7gQA>c`0b!eq3qyu|xxio>}7kcL6Q4E;LZKszvs;C_kiq56*n zyN|yc^kcT4KEY>`cB+bUQ<{_(ar`4#VK&sGhIecbUYlR`Kg$Uw+jPQc`2Xg}?>YYX zq7$}~x-I|bg8fIKFk>J1=O-me|69=Huc`hLILs0`{ij6#oirIWY(%WA(a8V)_&;9q z>wLQP59$9oFkv~E5Z=Chf%VVa|7UxDs*(Sb&;uBx3#Q23;xGPU{U7=N^(Jg7J^ZiP z{@cJx4R_HP{M{$bOosh|G; z%)_s7=862L%pT&7sJ;b;6AFO+`ezcW!tqnBR%2ly=yQ$i!K@?7A*XbIyX!qBr5 zJrvTvfX>3pXyLFLbcbm9;=iYb3|rFABxAA&=bqLssquLr4)IuLHb5L}Jx=Jx9e*|Q z)F*=>SvOtouC@l(jxQ4cZAz%WRFq88zrLQ!qs^f0=47x{s>ec-?e{CXF#NL}S}ZK? z3oERRBAkEbRlol0TrJFomRDFv&&fIEHa>!o@@N9~!!{|Qu2hnhK*P{+MOVfhX5AO8 zo1rs?)J2nXb1Ba|Cx53kDPcxFj*?iO{jXi+1Eo=v*1)%KO0XM6%#9|JOiv2>_2M|N z_hrHj@;jd9X71?#4eQ0<4q;byq@~1J1##xH-Azm{!_8Z^k5@xMA5|*HX=i1 zk+CF$pt}5w3OpBwr!F!GifMTsz!S;li_@J_u&WgF|(PEC=LYE4mG)zr~40{kZ>Hh5q80EO@((T8YR462vh1 z_^;!x+|o5cGk@Ww9y7p9%fnKkq917ge^cwf|70;jbngZJxJLk^8v0`8+|#tfecL1F zjNqK;F?{@CYaW#3rUqmyRC06UwGs7l;*5QCy04N~F{t=<`pa#q;Y8`YRT=8K#rM@P zj#g4I&=)l>O&UI2Lnd!2rvgR^25~*gh+nu}RxNK3`fKk)NLY1RdkK?TC)N+7;Kn-> zIDe6s_Itwd5N+u%`w^vhq_TQ``;OrY4pqv&b%#wimjdo*9yf&q7~mW~QT} zsA4wY$|P0fl{6jERw{%$#@@a&VfK+RlMh#==Q^r4|)(#q6Y3KpmP#%{yOq5Cr6YA_=pqZpy- zzvLwxgX-+#@bdK=3$EYNL_jl%R1Dic4E~76fA0;&<2YQex*klq?MgoDoC6GIIy+v0 zj4^gWip-#(M7?rmU+C6c!(j(!aqf4%k?7l&vAM~t;9yWAee~g(#8wx5%QCRn+~ZPG zd0{>9TDTofu&5=m_lLC%l=QnO6`6?V_<6U(2ot&6)!zb>BaZs_AcaR!79f2%bC4x! zn}x=4&$e7{1Av4qX|q(rvZJ;VxuGGO?!}qCJuQV$Lt8jn-BFyf$i|b)_yU{j-tBP$ z0FW|%*}jtC`tuhXmram|+~3;yOKpWOemKCRQMo^jP>g=3Ua8_2@VT*!Bn$MA2Y}k*toLiC?qySOwvxR9PO1Tv_}un@OBff$1& z_-2&X&FOn|C%%CcsXQ4)@ikH{jW^#Qr{_1h#o?^2m8%kz+@0}%SRz=PyVyit zvIO{Pa}#|KEpU71iF`<%!#=Ogta3i~fRc|-25Pyo`r4oZa0Y8U^V_6Oi)N{2xrT&# zd8MS-KmmBcX=L(9xpi%YgprviyeI%69KzU+Y%-?J#`yk)WV83$Ypyl* zTGte5+Mv8SFF7*9O24d!?D9Z5bPuZf67wOGCXJwNBkl4rJ?F$)-vzg%-C~xE9e~|( zZmVsFw1{rQ_j$55#R`DXX>dgf7o)k8Pj4LmUe2QT;-?d*{Dq@Ao^;RK)#Q;Diy6h) z74tBxmcs?D6*AQUF6~=kCjL9&EkE-OJ~U55!^1tCy_-_d59HQQp|lT?m+eWQeTPeb zAh2{saube>{Gc^8dlhZ#Bwj>f1g^K)UaF_N(K}I+$?+2L z&Q(;V)xR$-7lNZI+cMg!-@7gI&h8G48<;j9`2KLv<74U(8SUV~Ln~R!=ufy=8ml`h zIC9l@>&Ly>i7+cFH!bhryUX>Qvj}XrFHf{-Q{f2hdYC@g^*9`wFfp1j7CGF%aTeSX z)9V-B{~i6ke2LfwzzX-x!vC{*Un0!*Vu}7WZCQ(m)S(~cpd1ge^+q$ecP0xa3e|NR zXHh=V8y5)td28yo1Hz+LdeI=mn?QL*I+vA%mW@QKw6n_FpJbeSkj&!<@tP>Kov$m7C<&V^Ei$tJV8q@wy3a<XPRCwFenXu+-8-t4M~Tc>Y7mn_;kq zm90nftZ-lYioWmKLkHmt)t1d0mhC~0i-8L8&Ax}mZbC_7RYRVDt(5avqa8Lnee%iv z?V|FO2}TmJ`#X`~m#XYis@p>ZcT$>UeT$a`x1uDcXM=|zGPa_RGQLL_RG!=C8s`rZ znDognaIC&ZWuWr|3!CG5}1Nn0Ye@7Us<0$SR!fhe(yWf)< zE1lJiLHr##X4?k3i-J7qc9(-;dS{lnEs{AcB8@W4f_2IH(l^ApT8IvXGF>$0EQkJr z*y=%IGE3xPDq#ly;Y{JOt!O!FsT>GvY(1Nt!MjoRiq1K9y5ir{I?VmAe%mBm!yDYxjW!B-JZICwo6FE ziWbRIzl3z_PIFM2P~*Kr0{F@0u9VxIGSFwoWGu4$a2M=VdHka3v^tT9A#vBZk>#8u ziT`jE;U@LLT5^doZ=A@US!wIqUDQ z1M_dBbJzE}t-vDfEM|OZ%=Rw4)kQg@?Qj@dPfVZvk0xMX3I-KC4WjE&8K}zfMScHZl_1gqp}vMaR$9uOfgwL0o`oo6#G*;QSZzM_->Yo zG+PGMmQ8=i*M2ZD`D%7>RhY(TrDIyaUanChWZt(wD5wPit`}-^TID$EHbPWJ-Stkd zQx~ER+)a&$V+za{p>;}^I_E>fBQbigy5o0(&FcAb%Rc9g9NW1b--_4^^Vrt#%)5^1K_=hKA{9`x+~oL9uRtO|USeclSA(q3UFl}qD}_sm zMup~gGl}tD;9X~!t;>*VGCt(EZA6M#9=}>E<18LzO3sdg_X;uqZY%TL2-ih|fF5D@ zJG;#@r%h#}vLqF~vj76sg<&1va;D3rf~mpKat;+juD#qyf9Y+JwY#7mpOw^ZC+giT z7En%-PvxvLSd{^FHX!c$G4J1VOd;f*Ug{KQ&s~0pA@3i<{o{bVq>;d<`Y$nOoD8CG zzfOj~d4Z~%hs{X!`kiJRMCUlK7FxPB=9&l%EDNcv&-2-+w6jrv@7*Pjf9ZW&H}zAv zfd6#z@j#XZ1P)1#o66ul5ozDSOy+=VRFT{ zG`vniWW4*qHPDftmSwrV(re2na({8ZNuk~$OK~C&~>8j5i zO*R{+JCiUmHm`-HC_T-f5Hf$MedX&Vd+P%dKQ+aytqtJ??dLRyD%J;EyyLm(^&r!x z-urJa@hl#0{WD_Uko}DVQSr_BOCs>@vtr9=Fd|4yKVjBu!_HLR?ks%^z91P5-ksT{ zreVc%R>WjTu*#SLK5U11+N)V%7RRwj%S;dp-Jd+{mYmvMJV|2wBsX+05iujXk$Eb7 zy#+i?Q-6-i0zT9|6eJijudldiRd?x}dGT@yH+InTNRh=&`VuDmg+Id{WkF2)WygZs zmXG^gCzGhb_wsM-e|`J2ubnYWrMmvXy7|`` z{_(}JJB9B{XJCWP7pF;tfI{8Tn$GrwhUDmSlpL0RF90kTZ7Ee&XVJaqpIe zvPDd!t*>sF?UjEmOEtkh4R`Ns=xY_`DOnxJ%oOlC&eszL6hNR>TiR>B4WB*lOxdcd z5^9Q1-tyg?tiKrv(4eEy?$^50QcolSpd2g)GVp8#Z0q8YN}%v1Kw-PRRrsKlN&jY`y2A`0WVjK-Zx_m}Tb0$l zg&{#-GTV6W3h7_=6Xrc!t4Q_EO=wb_#S+E-?Z9l~B1kfxqj3cOiD{n3`8ky)e^rkA zH!T_C&cng;Z=StIpg^IoabVOWH{ zrV@Ea;+sp$CB=cilx0#0DLlDI(=N628EZNzFEA+{U+LI|dEVUJ<5UH5H}&5LbFPtU z9zst$o|L@*>v{c8;P_t&FFzgfZgh6>48ppLkW7mMEI0nvv4;aVZ(FeF`?b8V%Bgy& zmrkOO4#>x$Fs^|HUl~!t;&SEPYpsUebe;EsFWN&7lXB* zBwuoIO-p)DE8Pqj-XnQGJQj@S*XOyvF*SqCg055!N3RH1*C(bhmUmzo6|&~O%lwC_ zC1*!=z}$z{%ZIa6$Vx8Oll?3kbGqa5Q>>$_CEni&oh-XwTS~`H=Fb6=EK0a~C)ugO z`DfbLczP;XxOet%Idd)r@)V8eogRD+B-OkV2MaDmK zR5(kD@x5|(d2N;_&yY0hrrDdGktx)o9Yj>d&BG~&ad_ki)Sp~si*{4V((7~RI*Hw@c2lK z?N_}szd&dgIfU0}J)td5D~+V!DF`g1!wCkxxxehlZM*6pz(G1AltEtb0T;iW;fW@RRB+h z0O?(J!dSI%nP;N#^Z6Qow!*A3$CnSn0o%HLK4vny6&`w(d^*U)y{!2za&Wq`i|ppd z!eP(TpHaen{Xcv3uePZbO=6zzNn=3!W2;3CqS5l`f#Qn6uf<@4E~8+cy~0b8+=y1P zC_>c}vacmmmDe5IZMVU;DFjrIljao`h<6GNhnV!e+<`3gK%DPpxKd+Jq*7$IeL|ag zmgnF$tf8ZBtoG)9@zVv0?Nws2ET~pnq}k-{xNq%A^WnWT5%7vmju|~3-j6rslNf^k zJ~d0T9uDL>0S?0{wrb=d;)lvWwJ&q-H+FaAu?;acG~6E!uU&3dVv7x1B@;3W!v=@$ zatp;S^j(L578{8Wb4g8B8TBKZFTU!{((pOKwhSb;E*}M)naGi)lXP@9QmqnDy)|%> z+#1V9kF0hsJVfe!9OQtws4}JN5~bXDD+n9g(+w2KFQpmvqN~g`3qUC$I(^=VADSHc z`L~6+qwR#LiTqUgTkLs_m=4s&;Ugck%<~p&?5#PF$8E8$Y~3PZ3OaDAOjWq8E=%P+ zNb*T*AAy4(4xks@9B?>dt9>|i_;6cYF4sg z+U@0*wzlfBPGMXkKU%3~ItJTYZYRU;pfb`9zV=8McaU{BI>u_fNC{5j5Z}KRbKTh; zFOFyfwW)7ehMdlL?CKoZ9ocbMAj(ST;X0{AfmJOYveyPj6*R)wxjqg&#akE0q3cbl z{@&QqA-A(*LC9|O*-@9R%=k%(>Y^ozlX8%GPw=PJ7(R6bQ=m&O_#0EiASsu8_wti| zZGY^^dTwI%jcoo>+Z~yaVKoOOcM^VHLGxL*J$z@KhQsNJ$5S(=dv4|}GV=Ud8@Q66 z>lwC1t@7)O)xli--i<#6eA~1Fb7juqITC}z!)NU+DNlC(I+{!fPNg4D;XYn+Ujz}H#$a-V zKGZu-w6g<$0?zXRhXh%{LDfhV;DX4DI`3;ocz>Rm%S$au$uICrKW-Km7k8Mz2tNxo zMj1zTisI8UGjlgK&Kb22e?I{6zVw-2flLTGXQo$rwYFPd%)^#X$DtQ3@T=k3C4S+B z7Px>#CR@BR+pWjsJiXBMTq{#K_4J~g!}ZjMoooXMIPm`2WLb^Kj$tyK*+pAUJlC6& z-+A0V*H;Em2rNRrWwSwLM(9+vv9JGwvYJP3`C{HYor5B;|< z{J%$`go4T_k#G3qKdJ!VUw4)V#^z>PP{F^99zblH%)`0?EvLU5Km8d(JG^NdQub0Dn2=9hh#yPlie&elHqSi<#agpud#vOYXL>y`&feUpJ?ZwSbJL)KJG&C zH-G-~_cINS(7)ONGo2@;0~-D7F#oyo&lOox@Oz)r(j@;!-7s1cF;_C-je215@3$8v zL#w+UJic4JSI{x&EkFxgpUlM-n=bq^Vr2p6AV6{iN!i4kreo1-lC;AhP z2a!qZ$SFW2XB9;eB#qjieN;{X{!fhVp9zueyuY>G{F9tNMmr+n6y}Nizpwg_vBmzP zW14i~!}?F?)&HJc`1Jq$RSV4|lKPM7{l809(r`!*-A+r|gfNsSPFN4(P)cKjRf@n!11i&uG(qJBmWgtFg3i238y;x z6NQpv`;X(S(q$9<9EkfxCU_4XLC}n zMV|8-jzLsE<*AH~b2Pm)Ha51QtxeFkmr4)+WcnRFVqp^cD>DuWTKw z&l`L9;%u{?{t*;EoC<9EwE`j(bLoWFpI%NaPP;R$_QGQ?1D@RWP^O%4|8t!upi@xg z`_jEFoK-c2!z@yuXc`u%g7`;Clc3H4oHg4$>kkv%wY0Q4%vfCPQCt5GI12~a{l<`t zTm=~pANb@)622Q)_Wdsi;Nx>v|NMX_I5)OHGeDERu4i~}befpznqCdabqH=O`m$bAjxD937e(cWvBbT$3&Ukn~ zokO)vp|F2YR&caWr}D!k0@okq_xsLS5M=o@-t3kZ{s>Z`ltafe9TvskI1EuKL^w@e zn+BUvF(uVs?E1JHT=qAkDY5?{kC*m{OiWB27%rQJJ4h9ds(*uf+0HhpKU)uMY4K@Q z^=OmWnK=bx^eIdql|@Pu;T%kkF09EYFw8VLbc11JirUWhv&`VW>-@|89OVe+{X8WS z9*@q$yQ6xty}rtJYw)ReyF)Xc<{;UTTEQo{TK7XyFW25EU51}ZYEc`?@UGldm*D*e z%YU=#L^SX}CPEL_T&QS60aTI8pWRmDkr5mM(Ovlw6e)+ZRK(F?i^67luM0lB%|*{$UouW5f`IGS#-hL4F1P%x zkK}c9O4`&(13XUnK`D#gHqePp?J=ohcE2c3b$(t0`fB*mt6uG6J&O2cq-b@ds)VD zA&=dRo)tgT6 z1TN1`g1H8p)C}(v>5YwR;7q3PjRli--TOFdxn0K%G-j9N@V|NJZ8f;>(>^G>`F9OI zmCN!@MU|pHW@~3-siMd=-J3lW&6t^EOt)GRc@jQ4;a3ok;@o#>NkJ$vFzW0eGWgVq&5Nv|GPgm|0lZZDm?nc7rfQ_2a5|$%$H2J&Z=6efo=f!(@fO98%f4 zBJ4jaR{C|cM~yFRg_^4Y8Sq(tNM@?_5-2$+0xz~ zCTX+Op#l?uZ+4q<_MnK_aF0{2Rz|_GP9;4Z^l1r8Yk_BLy~Fr6fXfo~iur!&Je!aj$CS z7RKIweg7H|@FgNMS0ZUx$*@Pk>3pHx2b2QNIs2rXfYtcPgz0>t$unWbc7>`G)dXK* z^7eEL+%xd1X<>PV<{5wfv3){=&2o0S*JTkLCSlpi={Z=;@Ai!t3x_0q#!<8N5?o}Y zkw5hskBHks!?!vGEATwke5oh4N@uN}c%?!EpkFKp8@A^zHn_Fc^Pccd_`G?z2>0FB z-j;j$)N@;x)-0qH-`)!1MUdo%;8I%|g)C0{JcY+t<5P&TNz7n47dIz7V9(FL25Kd5 zF{r7l?;iJ)&GrjlR5Rm!56)+Hi20*j{q+fguaxp;W%D2XRbcNu{nI{m1;34;*rUi2 zig?8>!#9KaNf^g>4)5jX(>17#%=g1g(Gh{m2U^;qvs1H~J>1$a64CN%wn`xdnKt@i z6#Hf>3K(DQlHfc4E|dkxfCK9svYR5I%m71ybK8q23TDgMvb(-zXscw+d%RIG`Lfe*nov1@jn^OSR;#CPTWg?9M8`&*hCri<5`D z5{8|ZD2~q|Jr>q{{Z4i&*P*&or&xK3mposTk4CNV2C%AKV8=y7tHP^;U5dX+8Nk%~ z9%z4f#st(Ka(mEq`V!dlAg+Hj#rLZ!Yn{+rSw=ui@y=pCAAY(btE`#T_b=2aw zm&iiK#U?@LOJ!Cru(%l5yOatD6Hsz?3=Mf^7jhRzJ=V%ql-4TjRdL|hpm{EImA1+2 zGneCn15`K_CO9x!B6Z(;t;Z##s=jbH_^`Vx`;bX7V|}BbdOoAkb<iN7E@s$TUJ%cAM`xsy5@|a zCt-4uYAQg|sW+xWIo`ibk|WJS7H-C?I8m>w-F>r8(Cm9{?}%`xZl6@Uy(1k{`(oxaNN zaGrfGbQy6ik6yb)Rk5f4KcdMn8WQq~kJ3He-HW z;pJ>fp7>*wYSW~Uxr6fdZ9~zMpc$KQH0R*tNrs2hXqKw#+fjw$^()GfyW^i(F}xPZ zR8TGa?TuF3DQM$^LJtLLn@jeloK8vTP(|=lRra9Uw-^s=h~WE^lC0Z=6z0~?yIi0N zxyJj~17mt~(4>r6p2U)kM7%ilq8^XoRnt$b@w}H2={Jc zAY`&E#Vc*gvOYiX{!PotDHA^JvfAiit4MyB9oFYA;p^*48J!2I8FFK3oD1t2A*HYan6!tExdys{T1!bMt}xD9Jq&Px|dYzM`lC zTAk$`E@+$za4Y>8b8ELl;{e>Nau2*1MPe;6vgx)XM6)=1{@#!LDV9V@OjdBb>@zyC zJW1wYzZ`>iZOY=IDP&5aR7JtMPnE>;&^3w?KZR0IJ>^G6CBb~1XLB-^Cge1DFh6o& z3a16}ev=dOdv9(WlyaPzCM#)_GSsD4%|D>{A~A7Zxp)Ec~82#6nMMkk7@ z6gM6cwCHC&`F5eK0-AwX^xMF_A#?i&URmUp<|VL1AH4l6G9C`B~`pWzD}u&3@w&rD)bRoX_{$ zEboyk3nzG0mF1DW{XC-dx+SMIzp!_Q$U&(V!aNW5YQQt-Fw|JRzy*dJU<(Rlt(77TVARHALLHU#xDHC>K_<6Bo33hM1BMA@#5^-c$MH5LC~zPJMPGn zW4H6SJ>E?S4?V>>%l=%uuzj!{&T4u8u48wstb$x$@{lOs@*S1(&IjaRzgDylDV)+; z_oIo>{e9~lAuEPu_LX{&bfP*f{O3o{$PvZ;P@BU13R^K_NGL@A{c6buv6Vo$5;x(d zPdGq-;%8E|7i*p#i?wV+#`(HRLCVs!sP&z7N_J5XhqqAnlaA|if;K~1`eR~9mei8= z*CvfMRaj?N;}^nE89}d$zT)8BleeRIa#~Vtv-10DwG!eRXFD94Q+BJJKQ-9aT9LVM zPEo+e4X|bw#`kKnP0<&sx!9pa>v+o;l#*u>pRFDC(qhc{P1@B!E_j52DN zG+JHP5nS0oL*OT5nW%U0M*D6s3F%scetD&bw8#hT`PkIPFc>Tj!RWoZJKKM?dS zoBbZUyUzQD&*YP0 zJG+~~wM_Y_B5jl*d1W-l_u+ziC86+RXuG6yb=CUD8un8yS&HJz=tCw6!bjW!`8)AJ*x*tEuX899 zL(&<~W~6!Pk$16zh=l_A;V6qC^Z@C7i#-CcBC|Ztj8Wg;*g|H!tM*A4!9&+i3fA*5 zvZKqGHC~rp)S14pi|V|d9}Xt)Wz!x6yw`srx@fVixNN^FLR_7BrgGu~ z`cY*$%L*h7=;mI?u_3s$TD*|yFHm>6;ST;}4z7V#G}J*WWa{L@IOVP>Zzo{Lv_j$x8ts^l^nhg z%tge4xI<6K0YW1L$(vglU&nHG<+Ujz-)W>0spHA-75H1@1D=G0!E61(Z z19IZ7^jtjEmxHBTy1x=xZt;^}OO)vq)^EZyUg)F0uvv)3rGUwIVg`ITUpO}nnCHl+ zf(d@|X1dTb4xxy z=L<&&_;(TUAB~3Uj`{UmWOTmz@0VewHq^w+Bi4HIh>FbybvEoPFQ1dly%v*VStFaF zK1P!)r+jQf_*e@Z6H`1|vwvgG5pQC0E;Pw%TH}GQFe{%wH1O%e3k1Bo^8GMVaGOYq z2b{!d3d*S`Tp#iHA`ro~!{gv3Ht|waoEZywAQ$`Eq@7I3GZAnFR>v!gT^t1LQPF@3 z;HMZh>&GYvBKJknz4=xT0#*X>XCw(LU0 z^HF~3#8unpt1$ZGfH7MNsejGx3ns*~*=BP+980V}rWw9!S5f`zYBia9J_T3vT?T35 zpY$V=9Up@$CVQsg9ZIsAuNP0QuZ|) zH$mL9yB}6fk}=HewI-id&$lNXZ@;>a_et_3Jg3ccbWTR3Ms68nH}GPljQ+f}@RjF4 zHG{80)yt!X!HSS0vHXP?8D5UX3gW_br-AMR|3E?|X&uSM%!|0z9SJHb>mTxNRI^AB;kyzYCK*ElP_ z?`?L*UuXWH#~>6DDZbjO@PTO6sDH@HX}$Ei9jg64T@%jalikFTFMr8H??Rm1ia4o^m?5m#Z=E z8xf61GdgxZmfeL2bT({y3p185(gR6EcAG3EsB8l)%u7mdS=H?_$9ky1RJSjqvX^xz zSQ-?BWQlh2?3V@m$7A{}7KD`QbyTXscmIC-f(V5D#?x=1=dA4Uio#-h8?n z-)gwiQoxr;Fpxx-CzkL0wnh`aOulPkD{4LN(FRq zo^o+a*g@`jBJmU-d$jja^rW+t;5jV+v@A0*@7A7>%Zk>(q zOHBukXjg6Qa)%g6Z@&6SYb@1UWzzZWYIShKdK1%b=1aZ}TcMfdfkP@)sE(KkCd?i! zk(0zaLoN0Qe?@BwB^U7yi~natXUXFU4{?bV6+C~B_3ywMvJx(%lV0pv&ljhg-aVX{ zq6H;Vd!?vFCRY~|W-YMS4ay0!2h%Ab=3Jcmbc-(2sV}GRo{4`}?WJ7Gb!D|3*G3zt?ucEsh!OQwO)7wgg}+?@byu3dL8iV4A%z4-VTS8NFIf-NHoHd%Ch{WL+j%57OYU9Mb| zhKBY+Zk9dmX*Hta!;gke=34ujwaU|%FD!u4jb~xNpY_GK`IZ91!8LS@^Bs~FbFfqX zd=c#!>5zD#g~iqWWwiIkUh=QLlO%4WVVjjuq?^p6Uw?gTWKml5rTtwixvx6rLPw3R z<`rqE%Dwg`bGwoqyl#q0jgyEyG zm~AwI6F0{0>vclVF&&Sr40rWEsEg+ZRUOT;9J~9R^T{g|=gc|xu8}Ac4XOcY5z`kN z-SlZOF?-i2sec|DvKT#Fj5~ze`Bnp3KS)T8XZvPxPJ8N6IRMuNI>H;5Z>yk|tLkb1!2B=AIP8}HTd#WEZ7j~{@ksp@%| zHbEWq${PMltL}T_0fV0r?I)xwyUvueU!d(zRl#B4awXF6)|@aK%}VWW!7?q{Wk?mH z#%(X~EE>@Wq3l;jljMor^aPyNYYNhl0dQbo7_L}5MGEJLw zI@PhtN9FTYtj@=ewosn-iXnJ<+xRTY_WxKeF`sQPVG1IQ@jS_@QPrE(vfC4<`tBFy zIpN)I1GcFcG$P=2%5&4A{pi-_kB5fD_GYrakZi@@e9{+LN1YuRs)NN9Ci}g3Qs0Er z?0fc*Tyn7A5ON0a-lOg6XIM-7VqKrNkI%Q$XiCID2~lrgA=wxF8N4jdkVnsG(UA9n z3oK|tdBSiB{MBJpk$wvGtQMJ>;4(A)39RvKn?q~qt@i9)gtRo+vsTzATRQ6k}B}yscR~PxUuZw*X^1T_?VNC3_t$yS# ze)>HLX-+PJAamgr8?H&)B#Kt-Z||)8Cb1J4ek^Ov2{v&pXv{)b=C`;Fx~xx!Uso-? zYq4~jtF{sbg#0M8dH2-L7a!=2P|G729HQ5CYEny%{?N4QwSV|3gnBoRqB!Nuc#lZNt;HYgD0T(1kn;;yK58p_lv44vy{oG&+PCJo`43xSkmT1$MnCZCLu-NIvXUF- z-eUPgZ_gw5#i!wuW0}YVeNCqaOT>m31qWYitASHTTNf^lMM%`3BD{q753&7}IR4+& zTYyw19ghlzul>Q>!W!)^Eav&2U)urK)M1iL=i~NzH*s359D|K+BVtqw4Mn(F>qOw+#MyN4}Q4CNGz#TdtPpw>gi-FMVi*o(m1aUxCR+8?qDUNO6+zx>9$C4bJ z41n@{Q!PzqE{rRzfYS9R;Rv?9Oib&V^w)@s^M#-7c%ap#5!H`og=HMe84M-WWM7m zY4pJlvY&x^8LlX(zQ=QjjnP|5>?^)C*%$GBSLcrf2+Fs5&Er~(rhD*IaWj* z5Mjqd81m}X94jz#@_y^Fh^3n}FIDbnTxk5_&7Efr3t3m@31iWIgmjZ>GX*II1{yQ$ zOoUHzpi2NtRHQj$KVppyIAx(%evR>Yb*I<(1#U7!U-soyev{F>JYP_fDV<<`bX>*& z5KAmxceAnyr|PukTvXllgqu1C8s{WoI1Z|-)vt;1khPcZ$yfccHP3M*du!g)XA?8D z>7#vq9hyc-H*-CyVB0l^m+aW}UQkhk(#Yh^TI!WMqi)mF<72?8-&?XWCVc(yZ3%rQ zbGDx(YNAy!&Ak|z#w$-9gj@|iZmFY|>yv=r?Pa+fYUIs-Xft1r_PDwYd}57-Q_TK8v)~OhT7w`i;pw}#;P9{&dgseY8ET2a3dT> z?ne}y?`CF9h}qSd!t&~%!Y_`!Et8v6hf|-5 zyl|n{=*zh)xl(DiAmE;obwxYgUfI>}E5+W$yqCetZtG?{9+2cB)A2qGT(MEAlrM_E zT#+mvZ@yF z3?(zrn?5hepnju`N~!4B#BVca3f<>J(sP%4k{`(U3HKDx`8EzHVfLy7w|jwFb53W7 zlk6V`-b?qnseD;&?tQY}hxskbH5;2d9Qx`7t#AkQZRWG7YRVsPMl(KiwggTom0GxY z=V~s5QkpT|Kmk}Ilm;vLybc9hFbMP;Rv!Zs6IN(Lw|J`t=g+a>IrH#foiE1U=_d8j zEa-UbFSdQlV7o$?nKgquucWd`GP;L_ciHXWJawV4Zlh{z7(y{q+cmYyV`b%v)k6^+ z`gVtT+$BuA54J1>kbtiRY?`fynCu^@zs~tM-p<-Roicj#e1jND1Nvgxl5q6N0n%-= zF)fbiYx|u0P~gq74lZow9jMr7B{_iUx=O)Qy5K(80_{2xQ0fSTGMgf6V*% zg;?F@hX(_uMN}VnKfAB|E)>3?EbM8kT0ATePdwB3iLM0O3l`hVLheOYpb6&J`d5od zZQt=*I2>_)K&ck1J!T%Ma?6ZL>FRqSS2uq#XEVT$w0^+P4JYdVoEXHqyF<;Y|9!;h z6>oF-ig1eiNVtHF24VuE|Iq}s=9TfLOc8A#kF; z&w+u}AfLfPY^sP~R_Kp`7d@uP(xPg0=StI-{Wmy?cSO`T{OWB_Y0JIK7)F=M+A>D{ zj&`bllr?-zAhB2h$Ss?KcafkaACqB+-XI3F`ef6Q z`CleQ^k>|6zffY)iL>07>sib-I%;@p6!$FCxNSpUX#akE81SjGWayRV03bdn=*iWO z7KX5nLx6FRG5#k)?4Einq|<@@fG>Le2H^TZhD$j= zTtHq5t3c-uPxH4@czCiE8~bgb=AmYlL=|DW$EcJZDiaCo{qDG=e(bGk;fecNVt?fCf6Jc<>;zWsB-nKW3K>7BDfiysQ5 zUdoFiKYxe4YL8=12HVXxrC^=5S9@!Z>Al=6Y}|vKdouS#YM6;8M9g*~$tFP1b{W^o zry{MgHdtw`2q2<)BYgej*2jAV&T$f=y?F^VtWjHCC88lANAJ#$Zi>iAL+u-+qO6SnQO(~G*5c#>@gYk}{ zOla{`r@*3HSJCOs@TobDl6+4{6|dEr1hEK)hysDHO&j+pdla|z5D?IHoQF2d%}1eV zjT-FII3G=;gZ?^*WPXy5fdO}3YkqYrJRDQE$(}UI4f@g7U>>*ASE~F%X-$ptu!H4? zB4UYJM5eqDb8;Rv*(BnXTN{xg(SX}x#KvyRNqdg)&8=-(xmlybK$NK&g8LYg; z&A=m`fdCUg)bjo<1>YICbeq$bt~3XUn+y={bvJJ-I2-41PYtUVvPzYjA4J8NC~w^K zcFMcg4-AUJY4Z+Hs?U+cjGMHT0nM=h$_YPVk$;`EUAmnJe2KS0>OIkx!7;NI zmo1k(wiJokC$cBcOg~%JTM<_=t%s2&>_fQNXx9(#9!7o_D@a50wdXjc6B9m z@}aLN1zMe^1-%$GWh8X~c|qg2et8ytama)5Yzp-w!_yCQR4g2~r<@{JD<5>TQUu(X z7aDBB7V53G)Z!;Y{Nxag7%7B=NRpWK#PT9cRBZ^GFwhpp4B*YT;}WCK&d*VRiC49q zWAMfnv6&)dKlz?P-X4nK7Nb){vmhqWtNoM>B{qFRCig?O{YWf`CH_a$8Is`(r1eX}l z1f{%KJ!mK`pdxDoiU=G;o=T{>W~#d6vwIDvH<;N5P4%K@JtB)EN2I|!04KX>;wP-rC%Q!@;u^+diskh-n6 z3TE+S%EkYkkR+xsxbA*Tx(RRY4x#V(%<}KsiDw<5MOUd_&H8EoeP5~&zcPwqqvxj^ zHU3)4i87OFt|ctD`oCs`9Q8##>{}|14jxL@t@R9i#8FF#|Y79@`vi3zG&JS5bpBI_O=t2hQRyh#UlcD zK_SwmW)zB&{S){6`b_c-SQ9!yN||z{Dcjw}ywyrVA&2>lJWBLc3qhb1`4v=Z@h^6M zMFuO%?MQI=IYJCvtjC%xP!+pA+05bv3zE0Xqkbk#k{%2-MshzZCj{*m?E->m@|5&> zO+Lkuz+dkqlDBXOA;H57tEpj2Q=mB>&iY1D%1N@snoi_~_m9oIO>uK)^D?urghxictB8T!hgIl&qQSdfO5jo-+~iv29=F&W zk8f+hrmn&ABL!B-jI>6mm)8pub_>wfMLtUs1M<}?DbIoh?G(ItX^Q7Tqa?w}=%V}j zWs{!e0yKvwm7)RTlUJ=WS9f-Ck=T}urXdFHDnK9=V`I*4)I1u9a+@N2PZSGCP^4m6 zDJw|OQsJBf07Fz_OEwGs)z#HxB-gjMzJzy&Xn?9o{EJgduuYIw{S(%{CKhOmAdR9z zdeXG#P#1K()e7110iUpD9paN4QRuMZ*pM=bZXV?Fi;3Tc(BJDSfyjtF4=rjY6yBMy zqAfE@{*+eX`o!ARZ3~tE3W?w z83xrx9BNa zxqAxmPG2wMx(1@ORVyVBP=xXNFur zs7RY9N*uIEC?o<>s~BlPf--+I_|FpXdo%$XQX;5!6Y9w|$IaYE5kD_ye_>a;c9P_w zr*Xa0g}gpzrQ4F{;y+L0KYtG5^BCmWEkl{bwS5RwyTe;5c}SQeSLN3YE+WUt^j|G# zd}1Twg+WsxMoY~)g1rWpKmT8!qykCi-peBZD4dfCCI`m_7g1;#t&-TAW=&}LH5n4Y zC(9eyFA)4cseY!0_(O7Shi3n)W)ql(HQUA9B#}5T6>-!D5LD6n?qmU#QZ_s&h>C6> zA4dau!xiI)yTA;p%h0)}!i8QE0hSoasq@UGf33t{DgEz3Q(K@%zGZ>Glk)%T^hgB$ zZM5W3VU7l)2P$GdRw+s}G)?5R5w)a{Gbu@29o8T6f%bi^)6=SPl^w>6$Fq`dP?6uu z$cFqzE%PHmoF9__5gR?UC)@a63i^kAUS^Or#gL~bn#DM&ich`*T|_~7o}#Gv$VB0{ zarp$!sxL9@EA;0lf1LC4JpCaDSfUNIdud)FeAXmR3m_5qTFzP1!PsuI%>JI&G2c3$ ziGbxepZm+ofwl$lWd_22YyT|+e>wA-Bo#l`DffjT3AnI;Sj!0x4M+fr!_j|z<0I%~ zEz?_2=Xvn|`?Lgfk%{NYQo`v9|e^5fC;l!!Y$!Ce>x~~LOF7bB`*J! zH>4_pw6(P*LX?vm+mqUJ7XT^vGi9$Styfw+x>=NDSuGbj_R($a>{>&ginuBYdkrGm z?g|}1LO7;qd^f}SYuItMJ0p~j=3d~7QS;9d5-iV}nhL{y%)m&#$@8$%gz#|h zi3w#;Z9ad5xN@-;CuA&~sDOYME2)Gg1Xcp5|13DlQ!(?d0e+Ye8ygw`0MvPCsBQc! z7brjtavzG+wIdTUzsII}0WL(mnO(b_@nV-K@|o$NK!I;hgsxI$tb?3k&3aq1xhB`3 zmQ35j3WAvC7)O%BY6%i6)^w^c&~&n3mTl0O)`mEcP#4%Ng~dqB$*CT{s@&w}VgiNs zIN3~l|3j0B{5d=#dRka?bNbXjksXTR=o|JUXP~fA2%Il=mD2{fW<0}6yl%hT@&`kktuvfnOswcDR2MS3 z*-p{GXM#X7K&9~H%@krIx!yra@`1&pE1r}vogW>btlUz6OSGRJj!U)Wl&z zm#^bb*Yq#|4ZY4E%49jpowv3m^w(m0XQ~kJ*{}sJ}vWPd( z)`C7kl7{^;^zKR3RU zr6kcAl)-^bSOD5d$I`c)imuJOos=;N!}-c^;h}%rX(`c)2}(8*NRNb5uaJ?2lyy^r zkeE!VQRJcTYD{vFqoZm-6(Ji`V1HDIN&s9>Aa+=h#)Kt$!CR(Zq_i(oyXj0DbYU^s z+WP_{PdReq-PNj^H$4`oTs>F)#rB(=oL-)@MSt{2VGN0)td;1N>IS?{Exd>Z!2 zd9FP<&o$eu+$T%+%MvXJuXF`_zS(JXrZsEi;ulJR1HsTk{`tOKivhDYqqk<7-pems zcDobQppD~PTEhZG_23?n801%2u+u^^7srUK9?~xk7L@~}R=fG;# zeT4lr%#*-$L4Kre&~rP^-T6JZd^yaKp>_F8i6_e#iw*Za;w_ss7c+B3n0}vb|0gv@ zpl&D>V4!`xAFavI?akh4R*my!9fRvR4F;3PnNr=`zfTqiKlmP~6t+(bTea9J4lR`? znC9Xb#28oYdTB`w2*zd0Y>WhAz{0||Wd+5GtChbB96MkJJKZ*r&|33BDbQBm4Jone zCb_D}>QJu?ffL-~;puhcEAWy0Y>0DAr`bjO5}qd=UankKHet90UgWnFgD66N(mQAs zX32kyJ&`A5O>Wc>`*f2B@5}8W?T(#_-WuB-Tt&;Qvcc+#@W{P|e1~L$s4ER_Et>_UGH z2Xu2q&{UD;Jbk-`?L4b~F9U@n9T~WWf&^+%W{Pp|F6!+nhARfOYyijFVn=)1FiW6) z){9FuU}xqQQ;^bDLptC4LPhhQwpi4u9}<;W*|wcQmx0`)?9?eD+yk6H0neKCQVb+6 zKKfEIzr%^tC^Y%zoP0j9@S`|MEoCn2BWwok#z0p*ww`^i)GuP2`O%rdpZ!Fd9Puw* zdyOqqJZCq8Mvp4OQfm0m9dYLzoFlH!4$2TMj!GPnc1fv)Az>4}V7fi;abQ$gUZnIn z*C?^l9O2C>7}xn&?0I(b_Xv;hBCU^#U+&|qeME!hUe5ZAf3*pj;{G#Ktj<9g!}tor zaXs%T5;y>D5{?Euf2{3q`e`{Vik-9)N{%dzasRr_qN4GFqpnc8LXP%QS3fbrvk;4zoHpX6b9NOfB4w@=C>L} z(SYAcRpH?S9u9!D24sNRz>7t$G@*|cNL9=TLx4U%$^t2_@A)0Wcd;>dD;@{7Ggw9s zS#g95!`-1**Ny7OZ(T2ZI3w>$np3O}JVlYhrFJ9WA*vZE*A+iu7V-(aAs)yuC!%>@ z1nY^rz-}NG9s|jIbb8y)WPuecm{GbqBdL5;J)lpSXoFxU8r((@lXbuGK1)%p?rPrc zTT-dSR`+LeKR}3qsd@T(f51vz^O8+&K+cIig=L2` zJOxFe`h2i$7d^UMdMuK>?T%XM&Q>D)%O-kk_Z4+zaiHFB<~`-Sy(VkqJrERKp2bku z3#If<#TaJ@Vr-w=$@*eIWTLi2&@%2MjbOTXIXtHMRBtyN>k+kgC>c0_bkS_DvTFd~ zvb&1ay&ky#f=JM&3ZSpdXUjHwg#-Xx6c~J&i}g3W*W8eng-oF`97jmHqwYf7520yd zuaE~v34?}&3dCbX=3Aik2|3bD(d&GjMFe1fu`8`E2E_8^;WLB;!@9!oeNaG?Vh7{v zF|`w@HgHzq-C|9Us5TNrsc=IXGHv5BTH)2>^u?dWYAL-;U{;sEI zKvZi%x**GnAS6VnaRhh8A#Z;ZluBLZT1plls7mtAqD$oR!GBk}H^H6zZY@GvB`Ozn z;4#!k5}Lvi){gkNRl;DwjJ98w=+ zKXI+^6zOF-n(sJCVoZ!b=zbk3mgt5VTbDK)eyrGshg++OVr{&Khnu|cuWx(I$6dwc zX*rE|*0Zlu^p>eTJoDvVfND@@oy%wL={DJD<#;M~S<@po?J|w}`g2m;GiOk$vTg?X z36$v7V^@a>JqxcRJhqwwDm1>jJ^Mk}uU?CQ*I3F~2C>gp*o5T6I&FbAky#v>`R>n@PMKVp_2#D9?@60GFzP|wQ|T3nuXpmWJGP8%?r!!<6cw7_lSwek zun)Fv7LIvHny37u#2=%?!HeDe>C1^`8qIfpTvpi2RSb`Cb-%}h%c<1+Fh){MkxNZA z@bxBIYm9|jsJw>!l?YCF-|*IydbL8rm%G1wc`>L)LskCF7D;ljK_}6?M_KpP3FLmJ zO`=GP{HWduVg_W1Tgu}U-#7e^H$BFT5`vgvP+n@C>6SZtgyGKZf2Cw8RO`%D)?gO$B#4?sACL?MqX`M(d<=>SW z{7H6eQCP1JU+3PeP-Wc(*w7yI`Y%W88lto^Uf}e5d5y6 z0kFg{Z;}Q+Z(dJ) zF&eZHo<7KQi9N)RI@Nkh?-LZQnUAq$lNx>S^70fPT43KR_`zsb?k@P!JnW+KY3NT6 z5s0kqkZIMr`3^$Wzg(8o{W!A=wt%IldDB;u{OvR^F@+<4x)98gYyE`DeEETU$ao|D zo7GEJ_f!NDv*>Zg`hFX#z5e9P!aj zQ?|Btq{{MItQduPY3kmAE{4Rqm?85h!A7IefUkvlMO`f^-e{h{wu25h#ds@uwuQ%) z_FTZ^ivYo$J7H}(S)qK^Bt|^JNwW-}*2YzAEVN=uK$y8HGXtjX{l?9F_Oj;b?NTw9{0io3OGe zJic~Vj4L;ln!q?np@TqSWn~uSH^7g$42g|>OD|@RU<&=izJe7>Q6w4+7)TGgzvEpdOz)l4ccik- zQ5hd1Af*U=_M36}vT0-WRwZRlXpyDwKqBPkruTm4ep_LoCfb)GX)gV>YjaxyASWKk zg`*?g`vKNf#j@Pk?=lT)52CsIv%8gJ67L-iX<`1pQ`THQ_)*qlAQQc^0=37b;kR%3 zB=1>|mLZPh&EJ31X!DWs*OQ)pRpz|X_;Ms5!bI`*62QG;SyEjbRc0JI763X^UP%eH zLzrONNj6TY&Ke%X3|_gcU1cHWGdDYtx?t0NSF*}D_|0?*xNo4|m5S8BVA`{%jN$BwH?=Lp2MC^`GAf@M3}NXpzBGie#Q$?aZchDPxR!?413$C;o$q(r1veq-{>2 zNO;6emNUc!ExDbW7IAldQ+|DhTJ2~H`ZF%P7opBMZk^0bhpnit-I%1ag)?C&yz6k^ zkQYt?li5e9scQaX+l+&&E*dd@bDpDlZArSs9I;EMuk-(`Hq@2BJgCwy!`Z6xX6>+eqk_5&Y&8oPNmv>k-b z6Y?gYF*0!+IC(6Q`y(ilB-L^#mgb6}4>)N+s^HK1sO*}_m-X<9O-p~c>_Sppa0L?J z<}SP&n#hTt;LYg9B0hdh?x;vPP-T|R=Xp6UDjVLWGddo2wKyJem1%%XFmBQ?MKX66 z=@pR2*EOOthk#WZjZ5XnccX?ul0ACO|vJl z=77$ z{_daJ?x$^QI%Lg7yK4S=|LXDjSeAjdl$BPqzX_U7?1e<15rD2UJkbpW;BiyNz=*`d zae|{B!uL4y2t3;F0Z`C*(4ZRQ>k)K^YOM}YY{GGI#AMG zKSi+QBh$7alK+oAKa1WNpBJeX^9P29IA0|f9=tpCnJmtk4kkH=JU(U&$%|xBb#!&5 z>q7!YP_8}>RD8D}V%YswgI#mA2OgX|0cKX4Ye2lq+1*K~O%bBN$HAy|{Uta?yR|Pg zM)Dp)G`$fmJ;J_ZDrhQ55=DX2{l;D-YG6P#i|&TqvBo+$%m%O7Oql$Er?cx~QaLhU zbdh4s*`MMos2HCp`CC|jJ<}qH2pqIyt?uf={)#AIKR3#_va6?XDq}tWClRp|pYNRq zNENvq@4SyzDTD3qwbPmO+V>V36~G#soJFgm0@$SAFgvOqHPX=#>zT_^iYVK5vwT7W zd?PGIi+0Al+x^jsT+5WLEp-&z${j)pxZf9ZNv3{tP&5>g+p#|B^djL*xqEngQ6pI2 zrx)Sw@Knyl?)zTg_AM*BYvtn&Tlc9=XdhEWndKvbg=yI(cUSMRr3S1x2@t40LDd)d zCMi%Lob*H1ZYgwdY0+0s#2*Vc8R_TWC@n{bGj9Cz+G4Y77G&85)vVX(W8;lR_+EVy zQGee5)Cdb)`v4V9XrA|zpaVWCZ*z7{3DoEf^5bM6p8osg@OQ7?crLx_(R1lIUUfYr zxgWyUUb;P~$AW-D6dseQ@`@%?-aMQ)#0yRywIM;_WB{GAlUZbZ1W^^4KNvnTxkT86qg4y zchyiEuS!LfiXogv^-WT=ftTeB`5@$)SQ8*lmoUN#RX*YX+eC))p8O4#W zGTa~M6d2BCkw|+f`WCGx!+%3-ntG=sd^I!5Tt6})CL_@ z5`!b6g|XqCN-(Zi!ul%&NDJUTl*dM>S-#Y5wJEg46inZIO-^!`b z!Gr3mm@xYRpkBwX$0v&F9;AHT{n`ggC+*DyU5yr)jLsYJNtBbU6yo=9tP)W#z7m8s z!gZ%6TaJ@3D#OEwIS177;FMS`z&6dpIsIyNG_U1mQu-otJ>8n?#~lqgGcLvsk}a>iB6ffhPGwD zSN(pD?qEZiBstu6W48WNn`oBBPD*hX^?ZK3!TKa)mF~j~C34rr`0>e!SkMwLMp`Fn zk7{*_3VT8)vsn8>e~ou;x*(uZ5U-)xuw+|}BS@-Ru2?M6lCjU7JxCHs8DlL?V3h>x zQ5+t7RG9q)!Gq8GJ+|_YYs_%$y@GRj+{sS`-pd%4BJ^n?fVxv)ssGWnxFO_kS#104ntpY z@llHvca2I_iLf<&ndsN<_)w$OQGklZIcSQqEGM;x>Zy?d^qsUb0^qSY^`(j8TUEPZ zB0!&rU7RQVd>FB=#lbIiI}}n2lBAn8WY7sXU{l*MS~$Vqv*%TpRj;>_i zY8dC;2lXkfH!WNDY3@}?pJHds!xL9d8drlHne<{_m)bXW5~!QNTxl%b_Ha19jfdQ> z=GzPTrg;Id&o4+4F&$dRKY2kBIBN`*KD|0f8*S`hZ*|Xxl#A;Rg@7wA<}5Cz!tDl>Ma zpFsB#fKm|a&7Jw8`pHFPFaq&0aW9Ew)KvsJs102_ICZG=dviKw&wALS?Hgw@^R#=3 zdFGsah8UTDwFNvKje<&-K3t;>)ytE=|C?=oE4jj)plk0NeCb-c>cr@nXzWV5sM<*w zY1E+$>{+dGQM%W5bX387I1G+0l%6g|3!#KU>?G`^$ShZ<)=KR&6np7ZV%A}5$^M{z zW@SeINuAx)=n->f_(HTU3x!O2+Hn&IMwUi=+refsvc#iOl(an#MvoU&&1#H&L6sru zC{wA&aIG z>ZQwv^{ynzD^VJ(n8H`tty|>0ETvfya_3hhVY6>+32?*H+$-ip)faFtFYDxv!RP0x z6zV){a?d#DKF{2I-{Xos2__6Ts-f2_+LpqjkpAgsR4yLYU>sa7H@J~AFX-En*W~C~ zSP6F-emdP#u0Y+JV@jz;nZ^M!EQ)uwuAc?SI)fT) zlpqQsM2cmn_`aLm^%hk3gsrQ@}=Xks$LhFK)@rKQz6} zW2(x>3`I*}C6tm^KyFv!kPr~ly>3$?`{G1IJj1`G_+ByjA(CIHq~}Aago^)AdvkV9 z7?c}C0ga1vJ;OR7`$N&Zj)cVIrv_x@XsM4w2pSxPs)GW`V{`O;9`qcgwdkj@=l;#~ zD?qM^{P$BbN&PLAXhSwmN}UmLgk3-0*(Wu>sWD`GS8=^L7Immj3M19honqDXlR=L3 z=gHxf&=O1T_J9sFOW~|zrepHLrkR^c97|i2MZHT_;@lD996Zag!KzDr@OLl4#rZUy z!LL`8y5tWS+`Nov44Jp-W4u7x06K%{Ajgo-KTP|x$q{Z^E>mtUI2dW)&&(a5Tq+FSx*{JsvpDg5FhYCus%vIWZCuY6+ zROu+#qCjIk*#1iS6jymrw(+3hIC)SZ2QpAH#M+hsHJS)K%h&4~Umw$dfOqQ<-+g(| zC)lAOUMhtGl0frf!WJ<=fuw>bqc2%z|5ovbAYOOBhQFT+*K_uV3i>HM4f(!Y;-AE1 ziwvaO3}Ba;&pZYNRMcTk>Ug9scBg5hXo^_p=m{@jEUSAQ3(%OvR?L7B<+-KP*)Kp`~x3$=-mNsD6^koUg!mKyQecm6*xjv`kb;B z(rQLQXjuMk8rB>OMQ;>%JGNlUxK{~-k#%+~pJQ%5g+fEn_N4})JL=8lm1=(G=NwQAFg?Lm>M5eY zOY%JexAW!<$)04f`r+ZRlmVX@g@;BnOqx+J!T8{~s2RQ8;|rylI7gZGx(w;?dMO6A zip#Ok`SVNfG01U4vYraJsJB?W)mED;O$?8%@p0x|0l=D?9~+@kB)Q3_gXGxSGs$d5 zu>lygO`X-W*F#*=kO!x)HB=0dVk3*^coCvdHP>R+-=?T3wlJKZp%?~&{B{ng^*ztj z>RjF0LnZvaD;7pEhsC4xh_c;@^dU9DHqgHK; zq4H4b*POqK#|?R@`U9JNz{%akL0ksw*7x|kJMg~VZI+|&oDfI<$Cr4Gs#G^OBG!`D zkwUuns0x{zDgxp8jhDiy@Chaxs$FhZwh94+<_)na zE_e7Bw_TbPNF9xrhMW4L+Xlx&#=Us+p5~tH-+jp2-k9$xPeYpL*k_s|XpIVg%Cq`0@SG6?U0)fu1Sw@H8Ik*F*|*Gp%0QmHZ4G25fV><({0i04aOQg=M2D#Z$99Q zdmKM`5dGrnevm{Ypu2ccv+Ovh^5ZT-FbLyKEtIat-IeH0ePL)8{R}1&OPmn$93oOui2rD{O(#?Y_DKjowuZhy^H43HIFYXX!KSwfm3Xcr>(yy9rbi=6Mzx**CnfuB0y_Jv2&Y@;JZ z02S*%G0{U2DGZHzoS1#YEL2t`;YpkqAC2sA9{zcxR(N*~tvJSveahO!5C{W}$K?L= zW1*8kAzJncm#XFL`=Z#vpr4&HjPqx-4;1?^ zw};^4d?Ux%DNa%wPiJh?3F!7ldae(BYk)$@3X2xy*iffH(~gwCLB#Xxl6n(O|dy#q{=Cdn=Kk0GD!h}pleL{34uesnnTmE z!?a``?p7QCKNV~qwV|>{?mOLFI>Yr#heIkOD5t`bD=D9DVp+?d9}859(FwbV;SGtV@ZRAd6bTFp(SD(PII=&TVFupL*4T|sy78`+d3=eOl zlBHiqTxgt}e5RD*u&V4(oO$G^n0=6vegpf#bGA0$j@LI(h7JO7!$29^D`t*=`C18a zUNbOB-Cs*3V1CQtEh*g&loNt0mQNWR-(}+Ih_#*R+Uw!iwRyeX+$qJkzk6>rCZZL1{M8a_zadj4V{5fh>Hc_k z4T7$n;M-3l%P%5KtRe15ryJ}V*_#}NhS}%a)5TOJm3ik}W3gYodnt4T!i0a*yjW2l$Lq|g!k@eN_5#7a;m-5wgMO8LQqkOjEri>s zF3|XDqYKShW$9g)>2Q{t-LXhLSR}}`phc@Vejk0M3&gRXoYWoex@0L{34{SiQApSG z2}*N2xJc+$OI5jwUr+9Tt{GawW@Hq*8vRa5Jgm#4+WC@S{cc@ImDh3L`kG3Q1VTjV z#Gxr=kl~iV&;dNgH06%qj}P-?v^ zxb<}72nl85`P2zyg#;iadA)^heB^g)(Ox`DmLtqn8QUH>cpnMNIqsc1TmPy=|H|>^ z{!HsV@F;R!aki-`cINwO^nlizBngSwlfLWD@=w3YKvx_%w?KjWdwfo$jr?fu(}H;f zep4e-^W?c#{7EvgcAwH-CIs48@7coZLnQh$kkA;P9c?AYoC-D+u#4U0H9C8mJGJY5 z*c9cP>d~vsgT=+FuxiX$^%%J}bK)b) zKqc?C0PDrXq$8;>rr&{o!Ary5^$H77w->&QF)SN=c0T*m?xS)>p@R>){sOy&5z=6? zBncm=;rI1o^;{B1K>&!Ts#m zH|fkUZI9Y0s|6kPxo~Pi?4_){H~VX|a7c(re#@$!nRIBzCb=@(y19VXpIo)J!FMQl z&9AJw`OFn$Aa#T*q#>0yOP5C*3SX-Senmg zKY9M-B7aGf+OPC3`eQQ+1oBP^4yp*wrMki`K@*}{_}`2m*+bNfeNGB(#ERzNdV zwQQlNIa;Nh9bfR^y7s|VS2U5G)|-6IY6hCJdt`cJ`uD|JIIF9xWHiyKdotSp>eCVM zfWZ#+dTTY=6JnT1s%t?Y)eLPmd~p|JGWUjX)#m@v(Yu_cFM;;m!uF}5vB$82(smY0 z?SfI-4bzWWlgrr9kc68XPdzRURCp$Ea((LDph)YR(p>{*K~*FhXB?J--u z{;|HB%+}XHmrNgoFr%DyWp-pXp?nQ!g(-*VTx=y!jY)G4l;Qo1=j;(8-SEsyDJfb^ zEqT_LDiYVGlgIDdG_(BCIr`mXek;%f6n*c%(A#q` zf}<|a&&XLFagu9al8i2Hk~#qf!(ECdv+o;Hjoc`fI)5ZJjG0R;>P8-K(I~H&=5fkS zGL&LW=Cp&-uCw52k(T752=5_Y{Z8QmK(_H8^1Rm|`+QF(+ z$BBNsKSHi{Jv*p_HoAmiv8FX9!EoR@!bwYbEv2&-&G=wDMc-<%&JWZCLUVj~DxJV? zfsBrxi5BxC#m>2Q+4E7`RNoJ_3R881EsVApvcp}^1@j)|(ii&aFy0XSj&JL*_3X@E ztIi%KJp97*g(9{)$}nz;E2y^^Sg-N@%&8n+)1qyD9`6p=8B?(0!30GN>S59W^)S7a z^12W6V~n-=j(-OML%6?UtmzSMd1xL-VQ#YSw_MJkc}$Y>Hps0oudZqiHprG_k*ZJz z&BJEv+OOiwteq#cLN|jso#D&y+p!A%J9c7T zi^zzlrz!-Z%Ao5%c7H7s))x%M==5&{OGgJ2{B({OvUls5GMh9z+t^s&*tl3vzdUNV zJI}}Riu-ioHpG6PMWBwoxn@HmJe-pEo8X=-&hg=rIo7F{N4_U?H!UL<-B&?!UTz%4 zg~n>(qYRYMyvdaIJ1E%xL(>b9C^NLcf%>7sV{W{+z>MyLDj&(Z+wW+i?6}Hf`Xu-D z!sF~*Y`1eCS*x?1x=I@?0K>LElFSB*i> znnrJfz>J!A#{t?jo^SP3AN|QROkDiXVHd%zzJY! zt3B>-)aO}~cx%V^*cXkrtq9v+|3Ykf`a@LvgswMujesakA=Ca*d<^y{+x(0ep5>vO z1|+V(fG>Eh(YN|!UZ?QEgsR@|l4fEEDaT77S2|fyjTGgccNkRonf{vOQf*@@XFMT3 z0+oq%?{2EW7QtyUx%P6oO_1B;q|oq~-*VPD6+>y?Ncnfrm~P${08kT^+#t2>-O^&4 z+(39tOVzcUWUm5Y4?h8yl<0nK0#GrLk#nos(#c$hVtAQFCNZ%`eXn zTywKG;bFsfAt>VcE`SZ2u0xN=rA~FJFuyik=1o6SPO}HBlf_;9h!kyd?tv0m_+=-n z9fj{i79ZP9cde@SkexO+H>c_&7Qo1zDp_lufIrl$Et4u;j#gU1c%v7(=fEfil}@La zL6iQC-vb7z_zr|!WtwQL5%>gD6!rnUww80O)=q3zKh!(oaotqC)>?3G+Kw-*9G^QY ze-2(MOCfzrngTZ3!oQY=^-y_tqVnBbs?K62U^!U@M*|ZCUjLc4RDl3=!@%6*@b11% z&qQPvA-~Y-8fSOW)$Y3r9;sp;tC$MN}l6*Zwm20gs=7s=f4{ zO==eh1d-lX;BZnmm9{SD2YX2>h|NERaF%A^3KB{6>r=r3KSE0DY4%qQ^J>V>B~URk z%7MDDDR@7fm4b`MS3^YrYZo={b>=4)E;r$Yl*OA2?yzg4q4F}_o^M*#&E)JPb3|xRok>j-eQk&Z;PU4+INs1Yd zlLnIAmb_U~D2pu`-+%^TlxPGx)M$wgn2HJlkAqgz#YyI~u$JmfO|1!58)4U$a*%go=1CPZ7{ zH!Y(4H%s8|J^HVrfi8BmANaA$Pb;Sr5|Fx|z!pbQdwOXjinrRM;=%8@C(c|#W5Ty0 zBO~=c(N%M_9yK>_JmF0YNiLHrYuA z{o-SUv;g76Q7J{QEY09=kkM3(muIfRj#W5_)ukiw1)9|Tv5c_~_qUpj-+$oZD#LEq z`@4UGie^Q+-^2o`Th(QyUIo=J(C=SLml_QD^K@492tDW-8tgX$>I#N6QezAq#RWId zS{g6z*(hj$I;RZ%(x8g~%riTB2JijB$3;%PeFJon8rH%ShqBXA0@3U1 zYn5aWVqm%LrsN*41U{F2=_i66K6k8)dTER95Pa^;!b0gMah%hX2xX+9i2#8Q7EDLn zUd2pBo;~AiyZ}FD1fgF(45P3KKUICI(2Ef8@mY|0fFP zF?Fgpw0k#_(jM##7!d-rNsBl?E?s_caTU1aoDxkK z1Opgx+A#JDKKGAL13ds2qZC5;qG8l`_LrIdjmqgIm%0Ox@cAoQe@FWFD^h_Ef&Kq} z;}6w;Mj)aCL4WBo*&zReRrgyUe~4 zl*~@^n~4GgAXnU(_#GVNA!lC(;E~+Hd;P7UOmQekz$#W&bxqE{I@Z zO|P`0bb3jTU-QhPZqar$O?J}wBOIANFP0sYR_Vq?fAg{pgo208jse1wd*aqejlj`; zmFHsfgfk-W7bNI!Z%d>D*|4k&(bNl7*dfK6_Y86Tqw0ls))ZzA&;MMPzpF+h_!QUt z49uAO%ew#hO27;bS^uTY;*g?*CW=KrDRFEjqW`u{wwkuLCLc7~KS zls}QmFFW%4&qoOF0d}fLlK=WpQSHOSoeTBC%@&9IOzG;N+=MVJ2_5WaIA&bj^R3Xo0$%O4cbYUbL9CT!7I(~wd zb+pvzDpr~AD3DiIr;(qZZ?FyWgbE6}^z(ug2&_Aq-elb0qmq*7K@hJXpb_rT&B8)D zaA^fz7K1+qnJfgf3@lO&@#m@F*&>P@d5Ac?OnaAEmQl0bF3%~l7_E|ALIXJSwK?Uk>GXlsqBk} zRMkoZl#Tt@Ozn#i`%xZ%qr8MGmBoCO3~S9qg|Xah);vQnX2!c^6Cw%z#zD`$>7v+5 zvuO?9L@xWEAI?93s-weyRE+xk%Wff8gRI=z#e_W5e+WDg=Sx=TG(vnu83?S4Ti1xZ z%7fL7_<08WY*|;>S=m7u!d+(sI+HgNzLN2mUfQq36%-V5-{CE0d*?d3>~C~q@N2l3 z$V+_bAuXMt!sC7x4e!jS*iShpvg@~KBR6?9$?1+wc=p_;c)YJZOeWu{mWd^-(n3T>`KLhK==Ord-X%{vDHJ8oxF|w4rzbdR|1o&T@4&cUq%}rG6y+$g z&MYugy_Y(fOgrrB?=K?KQ94vMmF0|&g@R(UqWAr4+KJdeXx>>}F4@u0M4$)U2P@v9 zwd?iZdgsEJFWyv0*X}ocy2kgs5_DtC&1r-BO)@GVwW>%j0o<86ZDF~7Xq6CQ+brUr@LG%*6iy+GC zeXSY^5u&W#i59(g7HO>Bdy81Cw)*OxOUf^~|G)ozf1WqbyXT$HI@h_bGiT1soSFH~ zFgB~WN7P1~YcqSC)tURqYMVPZN#E0_@d*qqRQs^9=9x+#C~Z$Plc?%wu)9>c%so8g zG3P9niQNftMj*OjO=l~(I@J#HVq3NbZ_T#M%r9A+T>7D}{Iu~TGnkavR>+7T(j9Gt zY`e=-`G^;&a0rdhajA=b7`1SL8xv2=hmsE}!^K9*&vGBq1D$!r^l|NpXtZ+t+X18S zCD83&u9sN4@&{wV^nm>&SwN2KRYkQcixx(bu#U8U-A&A@D41;UtbejB)OEC0w^QMa zXm5||nvgderbG{YI$D|U$Sg@qn|9^>#fOZy>Ob$4_s>wxAnjsxB7rh7qpA{QrT0YrjiqQWwgO{eTLDyzbM6R3h}pXR(gn43=j zd@jKetEpsjuSOLdl5L)g+w zLYX~{0f`RM`<=3~ex{8(-Y0HC;?ZAQqWoevdd z$t0S^8P0bw-I8HK6#854g5>d|5hTj})UxZ%up+BxvZB!%Je*#Kg>!vH@Z5Sd_n%7tO@dh0FwOkyc;&XlnbY|$uHsm#y~F`zrqMb@B`1uZ z&h0{5V}T6^2oww1UeFPacD4|N_L~uKcx`v_^;g>&Av*An-`%L^)3En;_4wVw7vNh2 zGhnat_plcJP`fhres9~Y#tbz%#x6;zYCbg~5RH6l{!)%HB`O_@j+m}Lkbii??M33A zuH1kHEZ#XAi^1Rn7cRBW@yzhiP3Kf$B(gFx@zk+UXuDbBy_poJ!O19;(_uzQ_33xk zN3@X&mNfgT%+ElqKLm9yd+%h*BTCU)qq@_%IS&h>$%h&NMmr@9E@%AxS<};>XL|K> z>~*cL_^sAvA1q~r6=VurOS!|=Pf%AdVFd;knh^5OUtf6yO-F7vIZ+FnKwtOXQO&m;xiLn zSHEj#U((AkzH`mblN$zea~!N{`m?}Vh$^dXy#*k+kpXph!+Eis&@lM(aH@1+0qiHdmC91Fu;N4;SLV_B}?c zApg3Bj!=SpQ?J*pQQ@q@lr`Dh9is+X-wY@#k$Psk0#3>CxxM;l1o5cTuf^{++6O!v z)YL@lp>0@DR~U;E`|#~ADPA6fNBmVz{i%=@^Dox-SBKREmT^f0eb7(uC`?eCLO&yd zUP}^x*jFtYZJkj=!Nd64K0lp?%jTpyB~U#|&({ZP=nQ^eY$uUEef%N?uJ^vOq-%NQ z6w{QO1~Wj&^p9G`pL>FS8bS17fNGiNkFCHtHv?#ca8|GI4KXIDn~9KTLsbLFLl^7@ ziefcHi%N74KfxF{58NW>ivp=5L%$?rL)qf#UI=57*y1pXzH&;op~uKWuvsB4%g~^% zSK{N-1xK;>_Y2vQPtvHIhode#Qr_beJt#@y$u>GUL5j8^k7zhj-4wH&HUS?{Y0pNaJ*!s~|vLWBG;X#`A##s2~U%@z&+# z`;hr$>G_hDHHlSlOLjYn&tYGG)@(jz%ZNR}U=& z-1|=)(KMma_h$CiM30sCL{~Axx?h(lkw@m;L{o_cuCEoS`E_5QA|z}-=xyy?LSfy4 zA3yHCSGJ3cn(AgNi1tb0le2{gKf2E^x$eCU;fH5RJS(ltpHC%AF%LcCwXZMdm0b5g zlJgrEcXyLQzt!vbgl81T+h|H7R-=35PoZZpqa@y;>9x*4#kjj?wPp?9msTI(^H45y zxa3e9V&0&sYB2`<-wm0Y7H`fR;JYZI`bz7I5}a(J*u4$+L=ScI521?QnufK{E9#j~ zk?mQI2W=1ETeXa+IJG-*T5p+Sh+KSNO^7a$8Nq3td*81lHaonr+>{?MUCm@F5cYvO zl_ot^eKsd|+C=Hx`mUHQYI_f_F5vO}m+bxPy<$%uwS=Hk>y5Z=GY8^{dYoR$O|u)A z&Yc}S7IF8aS&3`ysWB=NJ#Zc430imjMZ9(_>)rlO3TEm7eUwVzJ0f`1ZwP$ zxgTDGE%25QaDD#}iJxj7- zM3cn!1x5M-n~#~NvvRCCib;(0bEhAcj&2;##o}C!4mi%U{U}9-*vwe-mI$6#&UqJ; zPkqqfy-BW97Hqe2SWO+{G$o#umLaSMk1D_Xj_?`_0l9|TT#$78hr0sd&z4Z%r8$VM zvLthVd#p7j65;ff8iXz)APjib&Du~1Ms{=gFuSUtYAkzRUuE%PHYXAs#APuH5i#Vb zTcRhQV|~^g62v(NI^#;mN2@s# z7mtH($!IoGNj`TmK-F4wSN0i?-tDg3+}$xZeeKnUGXz;<0_lh|OdaR2hPh%#cCq&$ zst~DD*8DpOtVu@^(uP+zx9!ZTo*LFH;?DG-CHW=&J0;(Wx9vySFF z-SsV&{XV}%95`fWxIXQ8uu}?Ob8BPWt{N6)^s9cgc+2~u|3#TS52r=fAXfosGXFpB z0x_$rkN6yO`}BW?RD8vr;||76%K>eUg{}@CAei12kNBdSl0lfWZP#4h*3r~@+j=P$ z*Y#_UTrpE_kpoJi2AVcp{_XJ%+~^pEXpL`KMcRAsL+Tf#W?CfXW6T%Zm#b;yn~-%Y z$aQl~M4sFGCaLjIu0!*63&YD^) zT~xoW1c4%;jzJ(=t0mp&+>CNr+(kxE!SB>tc z$~~U)4gNIaiE?HOG|J^gJX0{pzWRYFLU5rj&bBDH`sK1s4sKHGdL5n+8KB@!=3nIo z?z8MyG@J}&H@EA8kz3<*)kjsS_oUZHx~i$fA$J|^mdxESCt)!XUadaD-(QD|e|&4^ zWEN1YHDJm0Ro+eTY}`u64wML~@nNckm5c^pf5TC*@{VJVoZi%MT)oR#^T7G_6&mM; z^6xELaL1TPEDaI_G^9m}qQVP!a z`X|(KBA0HWET;{Kk5SNR1!8zfjw9qCRCe#J{>H2Xr}3G0cOAzLrBjUO#;jekO%rrh z5qG_2Zj~GV6R1w>#S|n0(yACSk93K8?zISucV+WdW2_I*uKzX$LLN)F;k)~&1n_$| z&td_^fCwrYJY$=@iKY&&kS}@2cBIj9#GnG9t?GI1&tll@3Z84SQ=Dduk85!BoNlVu z4r}$4s-?!%cWt=2Hn9u3d@18s(sKkI#_B^pukUe0H2690a@(az^1*k$ahlKceo}Uh zNo`n+t}EYrn1MAIg(=a5?TEUOF!78m`>Sk z+-;zoW)L4XTyWB9xjmYjBQH85MQ#aEGA?=@E?N&^a2%KVzvvasJcI0&= zjX(s}_>j6r3r@$=p|w+q=3h;bU+(#md@EScXL_~5WO6ejGozfernl5IDrDOx0n?3* zds+|Luo&jPZ>sF-`=Qp!%>x?$my}w*3S1A8ofPGN+)!_-hy~`C`-=(CPcOXXj^7(e zG@Whs+tuAZTd$FV@9&sEc2Xu*)&!4M%QLmk#LK(`A=R)UJz0N^UBck@fCLgVm+mwN zB&%5rC_J5Lsprmws44kLYiR6uPbiD|sTS!Gotj@OQM@{)*X8@?J0>MW+MF03XkP=( zi?<;&GwTlDtc#jvi&7ELp7oZ%c?7&kV6569hRx9EhNoEE%7JQ}8Z-K24Lg1wiWwM1 zC?hh6eRMz{GReKqrsb93v0-<Ns>#|I18o0xSHrU~Qny^Dc686`)YuZ2)ZlGaf5tbR;5|c|ji_sN%$y$Adr0j7;=|kN zuy*TUTzAYiWz@>I-9+S0@{)2Ry|K+B+vO?8(+yiy+jbY_F)6QsMz1%MdM=Mj8?(R? zMBYvwZCKgny=?hR%5c+5Zr?V|TqZBIW{w1(;E$yH&U zqQ@7Qoi2%5@%0oQNq)w&8ayr;^SF-AVuxk)G^yJr9VxRWG8rX5iY8?b$PoD@~yTO{LWISI}J$97cXleLv;fID4QBeq-!8pB$X z!o~)I1p+@a#A?cfuNC zyzWTuAn9W#3|!=VlD^T}MfFWd%-rKH783R2;MpsmFdh{j7EGh&X|?PHe@hLEy#WVH z%^Y!e#12Jm6B3fE@2$Ov@x@lWq@d}uX|}DWq04;8S4nJPUs&|t@UUdr8AqK{pwFVq16e5C+3;)x3d%$9&WuK@`;_gJV>OR#WOnW zc(B~4l_Y?!*Ag|aEq%Sly1>6X@ZD+=e%Faows+F4X5W$w$OoFzT6$D_SSCRU5i?{l zf^RvBu}`+J&k*M1D6B2W5i{;wj(0XfKWvRtX%{VYZS?x&RJQ!mE329xB}m#6A?OtZ zYMdW^aM3P-mQ&B@X?LgHH)}kw@$O=A+u8sqhRF+^iN_kje?LuV`?Pc;=h@kU^fMDT zgG(b_*ZfgV3vz2{kX~YV%J4VCx8PwhzJhjVj$yxcgeF6g=B@v^iU7%TsIvh;%p0rT1=&JU-pX0V9ij zYKvMXm8g8muCbAG;PVZ|8H!oHzwt(Qg-=-#{=$H1MY&!KEbs24K4hhp_ce9WtZMs8 zV1I?1j5aa^*1eF-*In9T`EtZ-$b|@2;Sh{+i5lLKSW5a>RP;6F9!AvV<@}}HW=FyY zoAuLP69+5ERg3kHZ2UVP8|SwJK`|V6BNt>a>CiWw$>wXqLp#?5;h8cNc`@_53Ox>q z^RaEY#EzzW3U^dipF-?5P5Co2{XKW){o(zgk>4?VMBpjQ$HSkR9^TYrb+IRJS@8&m zCUVpdYc;r*Qvrt_6HV-AHProY?_1|(?+XM-q zoH7TB7Ff$b;XumLsN)DCmDU2G@np3qpVW|YO@4ldxEx8$C1kcXNr@bAA!{$L8)?@I zo0w6FGL$tZjcGkRCCH~`y^eDlWK0SN0)VAwOQgjU}7yFof^?wC9X`i0E!CoLV&lVvR6%F!!X9l>vHH&gdh#O+6o_RwpJwS2 zr{(3#mj`?rXjnrS8A0U-oD>Jt>s*De=%KOu(+hTldB+{-of9ZVW{ofP*V2~zeW#F1 zW%~4$%BIe)!9v6H^kp>6)ncFtmC`70m*Y*Iait^O z4ild3vMZL&L99c%EHzE5(&etYtWQlikLiF?L2Aiq{r4d|{(vt8Yc1KDwf)$**4MfF z#_8+qy_JYl6Gzitd*b=)=n}vD5u1pLmeUKlqFNDaMc;5wP+dLNokjUEhLrrAd#kzk z&KifUzB(1N!#*kH!l0gLaZ14hHu75!^v&cuoWQl+HnT6l>>U{I5=up}V%PQWTQ;bJ zepFYiCmM(Ho;h_@;Mw@qh!n*jre1XwS-nB0wv^L=OZthYUDFI&`}N%JMsvk_Em@?z zpHAG=@yqezC%cUn6%cf@eZHd>R8F#;4wS}*8?9frx+QPcDQ>cigsi!Y$ho{oA?Yj~u<&37b*Z&}27k$Q zUGLaBAss1(*R}6i$Ah@Mgo!1$6zy0>x*w3ajk%OK%?l2sMr4f}=j1YTX$c&L_EA$6 zvrYE_y>&5mu!^}UnRvJb~I zeHLk5mJXyRE*v2f95NiZcGIT%XH`;hIA40rW6gb?! zwQM#z8*q<*?xnmJlnmi>c0_Z~v#qSRGR9=cLRX*AR1pW0YeoeP$mHkcpFDk!6tx9! zv?Z{2c%|=OCXyY!^X(CX_4g0%llT?$g4UCKp?E*TyS`$YZP1xt3{u&%SoEhK5 zP$~9=GDYQ#NozEdwEyG7hdl!>MH6lbGv7e@ijk=5DYoy*BCbrY;)+o_ zQRc#3oXpYzOWiKP1+{K5exK#L@aG~C>F(#n%4U4;TgSsV7`#d(-iNKgr3bY>qn#aIEW6srsA%ni>z2i-dHEL zR|K6{7CrhHCTfExP^Sq$U2-y?Aj+>2=;+hFy_3ILTY{L|58Ee0fr*x)C#kkvs z2P(tdy-7ob$&6IY4AHKgd;8NYeSf_}172ja z#e<(77Up|Ev_?vayX!{~RE7-;UBWkgceSkR;-2+@f9pYHaqx0FTm2R_>Df-C86tMHSVPwq>l_99qc>T2WrlyFb?0Vu(>z##Lc|MgWgN{J8+d-y;5e4 zl+)Qcpmbc5J(=f&`@VU>xp)FfAiT$`tJ~Y%VC=YCm?KEJ*co>px`$>5(oJKgI_(2S z0xG%p0@{l)=`1ulri;|s&9^OJ+}}MOYQz3z5dp4z!b|#1 z_!NPa8FD|5aOMYJ5t;V(Zr;Xs{ay8e3LCADG81RRcZ;$@oMrir8jE#-MqXzVR-H$& z3eERtjysAZ=52DhTNs^u3B9z;zkV&=cF!!T>Tb|Obar7;N6G+6(h0=cc;4>R!zgBo zyF^VcVNu8Jf}KN2mmaLqeeQu#FxaTGru3*mEoKf_*RFmZ+wETpNMuyRuWhWQ{sB4(YZh7;*iO#GUQ4 zVQgG1ZA$67zDv}3$39L$R7j2SC_tv+=xyYe5p+9ra0+e5rWSu6ga)P zJiVVE9^Ps4`GlqiTSC06vtu0RX9u$5F#eDktSo67fi+2#&8aOuKWYY2bZ0yt-u!3oj=Z)5`U=kHIdJ=N` zE>C^EXBGM3pU-U5!>=UVJ*G(IoF`j6H4sU3spg8( z+1R{7<(+bEd6eUslkVn&TCc9^t$psJJ0Pt3!sv^HP3i%AR~59*J_JZ5Nl3x z4MK}XoS$PQ{pB-?&Qe+ZuZ^|t)aX7~BnPKYs)mM#Y?E6)isK)TVO;s z2HIz-I_KjOUM_t6y3IQII1#|=FeN*caLglK9f?FV4cEU2Xp62sm5zazGoB2@HxbD^ zB`JAPJXl?g8QrehsmzXNoo9&Zj#NIh=eQIL@1U-Z z=^i+hIxh-{=CL>O*0tGryZJfMJaFAYmFZ=SJdy9P`Lg<;^NjF5acLxe=x7Hg z;bPdraq=xCZz^IMYy)pdQRnTI!j1-@L}D$b2}Ai4qvvktVg+r&*!IHALN`aDO_iI#z~fKnCOa5orN@)8W$Ak zR%%W|FkH;bqN7~%zI~QFhxi|}FXXqvP(h}<+MG^zz9_}Ite<@9++FM#RE9F^IIU%w zk}h}Z10hBlLGYUfDVpxxC=MWGwwLCW<%V829%K;+RFAQZ8cJ;M3>VZXD=*N+s|SWi zrAyGUvzBUB6&TP>lld9q!|&gX+E;3DF1>hj@XGzi@2=Si^a za9bZO(;T)NXI{fAS15E;NFJAeYG`7c#koD1t`wF^?iACu-;(~3CSs8N@r2A1_>(W8k_0&rLT=gxW;&T;vXBB{A?5@SnaM%Gji@nve;!|M3=(lhsG zM4;YF>GP|r&)p4p&c;hvNyda?kTyp9A=gfa=<}b)2P(&+X;Pj&4pBhdFX_K#bMQS( zwEc!O70~sDe>kVbHO7mXIC$?yy$P(%o?K*d$2ftnN7k{gX%TUfL*z6}>?Iy3Jk$d& zZe;X2+KU$PI;{90t5=G}m~78_xf-so?K#@(5ZF|Ql`rl&WanYI*jP*{nWKp+*Qd=v z6Hda@DKBHERy-7(MkKOIJMf_E)Kavol2pHQY)VPmKy8t5uR6prniObZJ|Ztbv_yA0 z3lll+^M$o`Hi|P4u<5igsIhx#n)-0ZWtP%Ap-lmB)&QmYc!hP=vFR2yZ%wR)P9ZPx_TWSxGyYc$SRaP6ZpvlM z+c%d;H~8(_0)PJ{2p}6fYH~4l_=ks!{)1Q% z`S&989s|?uY@4mk6}z@(*pzU6=zUq%^?rm0Z6?4xaWybETaX2`Pz*K&Mi6qM{OPvW zv)<{=9~F~&#BdyQ6iPezX#~W4iL(BM)Z$(anK@ycB5QZ5D($WL-{4-4|Au?PuLZQl zOD7Z&E3lJ}?(LQrxxGxj*NUDh`~rcA-^9H|7|9G$@6g$93P)?A!;e>4#_k%J?Zct+ zVIS$O%tI31H;olZOh(7X>Y?QvuS88sS=n2*h2Jf+oe}_V&$jqq^kAtCtGuX?kh4(u ze`eSLt-vy!7DLNgsV_2|wGNdzetTI_yy!`5Cg>`sQAxfhpCQ>5uW*ZH;u@W%#dPjq zE;z74ys=KU2`*g7S;3Y)e{*!_V7utbPR9I>{}l$Ui+britnkC$D9&?imu5zm!Ab8$ zN3qhN4bDoHXBk4r_25dQtfBJt@LVQ&(Nim{bW2aBYX6&E`DWQWcX-=96JlBV!a_S) zN`}TWWC9fcmFZ;2}?t2tw5<@H{GQf#_Jpl-dhj=v&-qAp+80Ci|?`uEYl0`U6h z$cYutev0$tQ$P9}y;t}z9YA2ih2@Z9@su6Zlwx~TY$AqTJsuN@nm{CwX>(pAlubYl zMVWXoktC#}$E!iyO{GcZUcmZHZ{Cm9Lc^ymdpCkPqP|IWv)~)!In(fJdh^VGsjDW1 zT)fkQ2uN{{p4?gtHbbvJB!2^{sR0mhrS74V%i2UhsC_MQ$3|)QvX$693am&|w~&~~ zJw_nOHWJ93mOW25y#QM%^rMH`>RHj|=0j4GmDcZWI8TX~uh#;AqyZDz*Z)BD{06TB z>`bv3uleKlN}uK{lE%!&7Vf&{m{n8bziXe9KJ$RE8gfW0vpw_-cIsMs^6dWP4pr<` zYzXJKZ_%80Z{$(5x=fnQBeq5bnR2vZV%vK}(cy2C1+$)<r zj1^(Y>Ipv*W_`t2@s==eR;{_HY>m^&HLF!)Kt>!uSCVRvhn76tA8vKK5ggqnV6mh= z>;M7B$_5Pv>apGW6Y8hL-B5ka`!YxSpI838qZIo>mnuyk_VIp^ujgLM_%v$;%9@*d z&U&@N8KpW_V(kB=@MwzWh^prQC6Y@Fz_DKUn4TEVw7Ey{54Z!S+f4X)v?X?Yd^{6u zCqHglfB&t`kScALH1sxdaZwKv6BE-8^tvr{;{aOHwk$(3k9G_~);TNh2)eF@mz8mj zRoNt3*f9vhKYWnc+S)1*nrf}CNXeA`2QKo)2S7t?`hwXJO70p;^ydWgaVcB zpV@WdtcrzqSCYXl2LWQT5F-u|N|(m(HCe;lN0kYN#c4!^00C3K+qgC8Zzk$EW9Nrb z_8jwuQhrDvNlT8ibD7V3CNGn3Y>$b&!t&yuPjJK^^}B16#Q_#$PBIEF8yMT3*L?2+ zWNjA!s7>f2A2dTg*4lXrsxAuvTFQF)*EamZ4`Bf-j}TUFW>oo$#d)tk>&)gA%aQrL z7yoSDU&tBS8|VJyIh~B|KewrW{{>)U0V-W|e)~^;`Ty90U)S%OPl15My%e71kl*I| zKNqyWrmXM-auojm&%*itj#>_^vq2LHPyZ*1=J)37a)ggN-O^AmhROVOWdjEN5@u8Z+#UH5y zx>C)Av|~34Z+_sV`-t-xGj$G97Jcu%`=f8m(`{M&6jkYTr^{7MTSJO&R2ue`LA zP+6=89TOfo99=0i;A@wl#l!YE$ksWCV^B^w?fLn_AABY@cXf$OcQKpYAx}~9S5`gk z9-#K0+bQ7w`10KQvteuyJ-ey6oO?Jn{{Wn>%Q#~l8DsmMi9nfBmW4`nLSaPeNH_1C0FQrNg72Cz${jXU6Vmui zDK`{(pE1C#zs}{~|NCdWj5sie*}dQLk7E8Wr}lafutu3dnV(AW zzYI8cxMZdQgKi0-xXJ&o7rr@%lhIpc{)9^Z^BsT5BH%Yw6<`ovigUvMDMBRAJ-s)1 z{z`oM!;$~|#e5$abV*r2@y~w$&v*SG%e@-_Kr@KK^1ssP*Lc5M00ubfB~vovpA6!E zUh{`fBCeV~fxY4W@q@P?cX?b)wvPuBrmRtMkvgokvHjnK{w$W3d$bj>*P6y+dJeLq z&$=KS1KXgwn%a25ZP9<&FScBl=}$p2C&fR>3#Ixjyz*@g69l%n~lWl@)ldB1RqmKN!<*kn}@t zZs~MH0cHb*5+YSx%l8`w2qllhsRxUz*rb~cO3hOt#`$;?uuKP~iLclZv3{x&YE!Q< zFibHueIcWx6R!@*>nuCnU5?=1ruiML`^gpI?${pY3yq@Xw*8$n)Zj=r=v-wWMGnlj z6gR`+=2G;7|Ho&C?DlDUKBLyI^nm~JY%eAt|V z>*r3~yVCDvv)te+Ee96q>4;zbp#C5+YGn@(+1*ktMoB2^3+r`CY zSjAmDQRfG`8IX|vLA=BvpKgfJir`@TNOOoROS1oqfqpW%pD7t|%2v(e0D#^9B52OZ z`xHQJ-eQm``?KQz_{cJHV3W-=g`? zcV1@zMm>E={|nXm-%^kY`2ZJY{d1D5q%!!^%>sYD9G9`# zZ5&6?Se@(#SNmxK*T6x%wp)JZvxUoHTdJNd)St$v-%Kz3^PZsl0GeJ>2t4>xM*9t) zKSa?U_46SQ?8(5KY5trqzaJ1Q!yBEkS%Z{SMY{gl4l!-)c;h=?#D5Lx&GbDInP{YX zkFOR9ark>7HXO5?!(vSn%kPElwmqKyK6(~v0EukcmB0O%00FvgWzjHi$HV@|q?GZ* zB1+HvEE-htiz9AdeQ?Y0nhN3v01zlvLYuY%E04bPmvEdjqL$IHg^FN znSGF%`24lBW;iuu%JFK762HuXzr?9u)cNiCW={N*AGhan84 z&uec3Aaiiyz`mwFAn_vF^Q@Rb#Zk#5(Eu>rtf+@#(|x%!hlCZ@EQQL7kBQ*`1REeD z*w-AL=z)@lj%DTaT#>EmxSm$I01JK&y5JM}6%mw1@vpD%t;43E1#tAyzzwnuCx9Ju8bRSW|?(P?{b!<>CgKfK*EPGV7XIi5&L%s)~#IIj@dB z6>wRm2kMK2A0K-n+S*F?CT!jz^^2tlSZt=M42BD5*zz@PqK5MM;=pB{cn>r*h7v4r zBeF`m{g}FNfa2c1s;!}~`^(L>P*e56&J$UY&Z{cVF2(Lla{l09Nk+gT;N(;NmwXX> ziNEB34B#5KH@qtg4C;sR7(;G9d<=AHTzDuRFuxQUIlK6wGSBX1P>RdSa2C5kojNJV zkZr2oEtXo?;~a0EziZ!@*8jCDtIVP=tjzu!i{%KsS&h??2Gy4%t!sSb*@xc`zrSV% zoz_*_)D8_8pQI_wXf)j0Ce$f+d}qG-QL60umugD}hDNitaCm=~S_BDqNb8;o(>WL4 zIM;3;b>0IC|BuA^@z-??tUC)zP?ja>em!w2`|1c3V1nK?*#2ei1Q$z?(qat5^Hxjn{b zd03vx@2rKIWX>3R8G!KSumFT+W(sgF1_c)@ZvV%*@QWhrbz?zoxKU{L8_E@>skTpK z3ix`l11&;hHC34T_(mvLfLyUdrL4*opw%*33tvC*^uw%i8AltAP--+*ofS8Zs*X9&Gz*)~7Pf(|CQpW)aF>~2fdOATOdOZ7Z z*s{@M{oVm&%@a5N2j_B218U2uV(w7;$f&obh(21PnIUb&`Vo!RP164%=lt&Ds%vWM ziu*^+!&zw@u0bzQX_DSzNX>zbwGPgc>eP6!B3SiuinU|JqmhvWHC^m|n3s zT3Z>3Bmw-2J!N_hITh^*y1868GIyK@^kgs6W!rlhsU)NFGFK=Z%L1CWHCTo~hP$PV zw555;_Z{*ddyR!q_<5fHJ$!tT>Yg4fL)e(=9iE_k^A98Z_54L zQ+*M?p6Ay2MI!-*bRLDDJ@Ou65fM0>R(C|cbyQ2KWl_9BiEhyBw0EDT7+fB*@|e|* z3`)pczV2>#;Vku(T8}iGM4=2@?yC}%-SU~z$jUVvL&Fra!iAr)>Ik5I)Z5N?>iEh8e6~-m&<=@|Q{R~@xO%sfBEg|Z|=>61Ah}yIlnk&A^ zDiWpGH|9Am>wqEbuN=8RJ_z+)tpod@#xgQ8=OmI`XpR-TlXpUmsaR=fz}WJy72iJD zy#Rhxsd<$RQv8J*9qtAv&5ZxHk*CPb+#xBoydx~`p=Lci<(FkK%`_5I1Vf9YvTrvX zJZX2{X-X1e?nKc}xlQO@CYX@+a7Fdj*eJ$Z>sKSLNie|-1`XZ@J4(VI3z)tZ5eX@T$3>7xmBqY^$4tpl=kihteeD-{0tMwh*FQcE?BgXow;$)8 z(vmbqe*O+gQ~I%d#Jw~==Dvn{c~Y|RABNGnko}x1HX*Ff5lKW{EA=(W%}JZn1ii2S z!l=|uyOnW3Jbp~rvx^y~Ks;;t`nIw#T(kCxC&56PbRq6r?T7S6WLZ{fbOa4cd6yG~ z>Yho7t^~SmgL?cfe7A~NjXXtxqmmgFsU5RoyXnVa{1R~fbhi@*~Yut>414FP@ya>);48iORRY>>Cua{N;^5? zs}Xs>@&PYk+pwg~jI1i>t7k4iYx6p;)(&Wll3*I{j-&``Vhg?;Y}UCTxD_{}x4 z)(LMG@=b>sjykqQM}vTzV?CNE3GauaqTEybYV%Pv<{fJ0DQq-4f$UK}DGu4krw3

`qi3DR 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 literal 0 HcmV?d00001 From 2f269031e9f1dd706ba4b58e403c1b5a81ca0779 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 11 Dec 2014 00:45:42 +0100 Subject: [PATCH 257/778] Moved help up. Fixed inflationary use of back ticks --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1997400a..1da3fc2d 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,17 @@ There have been some changes in the submodule urls. Please consider re-syncing a * KDBX DeletedObjects are stripped on save. This will break synchronisation features! * Binary releases (0.4.x): * Default Autotype Sequences will get stored although they shouldn't be stored - * Default Autotype sequence is wrong ````{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}```` instead of ````{USERNAME}{TAB}{PASSWORD}{ENTER}```` + * Default Autotype sequence is wrong `{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}` instead of `{USERNAME}{TAB}{PASSWORD}{ENTER}` * Forced and Recomended database key change intervals are wrongfully initalized with 0. This has the nasty side effect, that 0.5 or Keepass under Windows complains to you about it all the time. (Issue [#269](https://github.com/mstarke/MacPass/issues/269) and [#276](https://github.com/mstarke/MacPass/issues/276)) * Binary releases (0.5.x): * KDBX History is only preseverd. Editing doesn't create new history entries - + +## Help + +Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) + +Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) + ##System Requirement The minimum OS X version required for MacPass is currently 10.8 Mountain Lion. @@ -66,12 +72,6 @@ Should be able to read and write database version 1 and 2. It is closed source a [S3crets](http://s3crets.com/en/help/) native Cocoa Port with a different approach to displaying the database fully inside a tree. It is able to read and write database version 1 and 2. Not all database features are fully supported. -## Help - -Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) - -Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) - ##License MacPass, a KeePass compatible Password Manager for OS X From 13e3fafcf8c159b37f163a1d4d353d0aebc3fb1f Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 12:47:55 +0100 Subject: [PATCH 258/778] Replaced screenshots with non-retina versions --- Assets/Screenshots/PasswordExpiredAlert.png | Bin 319286 -> 110521 bytes .../SettingsForExpiredPasswords.png | Bin 373932 -> 136097 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Assets/Screenshots/PasswordExpiredAlert.png b/Assets/Screenshots/PasswordExpiredAlert.png index 1dd55294cb4065c65366c5db9f86ab42e6536682..50a3cae047abe74b8f8fc40749786c6ac58a6b91 100644 GIT binary patch literal 110521 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

2@FePKS;$652-^&0@^ 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 literal 319286 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�?3WX|ucr-_6V7xxN87A`7@8 z`eo+dzef_DhhDX`Na+n64+S7SKYemn6eQ-dIT4-56CJg1g0}D|dS_{ES$PCg7tWyl zD(1b@u^%5wR+BpkSg@d=auj~8U$wH=b^*R zBk|x5AM8tO-Q-+OvIFtFlB(XzlHu=%KLxU z%SJbLyA+Ld3JmIlvHpZwXYIwN6>;lJ1DxSSUH(hlYNw!zY!A}Qk=T%uA6)CB6!q5T zxK4%|dw+bwF#&YB20Mr8>R5+~-owmk3sIe1Nt-@yMdG>>J4l?2R~X(M=I;T*81aI= z>3T@}<2s4$Pg>JCIt>5TdrvK*wom%0V(;UtWbJoL@>-S7{)|2>;Hz!|hLyirLU$N` z$f+R6GQM&j>5-xGavN&=lbVa)>&8K2s`^fDq$$_!)lMQx7TG&0yYc95i8s&D z@#s*mp~Xyjg1QV(nY4+ww_O3BjS;s#jO}vRdIwB5^>&)Y-|5@vm0}^pNvIUU-;FPWrTd}SFfLk`Mxb~-8%K_FQxb8 z;dJ`nOaE+^GKA_M8}d?uSB=e=wq`1p&rYc!5&HtBsCQ|kYvWBJS+ml##N@T24^jux z%}L>1-PyH*D}5n#196uW>G}aZ3gzgIgZ#!nGXlq`!20idbn`zi|*0wDl$^Vd0nlGtV>e(BhqEbuR!8tU2LPdt^`l zoSgbcM%1zXEVRC8{UWI1GiGJ5H^&SgtW>TFz%@1s!&JLQKtF9ue|HP(H2Z)i%Bk$m zez%2&a0Jn|kXech8VvV{0az|^JIFy~LuS9h*5xnaCGQ)N?^=nP5b9 zhJu~BaA(x>>D}GrUo=S%Qw_20iJHENebWVDq2~H~(G-Oz$?~?hcSwGB42>AErH+?0fzk zdak@l8NrZ_TM^_PLRc_ZksB{?X9t7uHgTplipK^`Cf#IuttUn_U_g`Dfz%6_GCkiS zZflk2v9p+kxmP=l=_UwPK~dkm*q6&2dZ0XRB$S_DuV#r1>w-rx&&jo2Px<4v(@C{k z1WTa!8?)Q+^2t@OHVa8j}`pK~~b^{3dy=eTnsE=q{OzMZE0 zfevzS`J4Byvgn;AFyNiBqgPAY*XLc9yXX<_HL1_{me}|2No3HPt!?z+;~CGo@h!;^ zxPx;|yC?ZZyR|zszIx~iZ?sodYLA{Om0sDniOn?E4q&@2W2s+sy>J2um(9q>^p<%T zLw}MIoe>v(M7w6?kC!XF8)}bAb3&jwZi>J0P7q9Dvyh9?d}#Pyv6?OZ&YB>LpuHc; zCvP2E+=U06x-<#vUUbO^d@n1!ByP&{N^wC$VomtM zzXSIwGm!uQ;1Itw)6^6g2<_?LywcU1$#DED#m5N>pmfrLF!D}Vk#&W2jIqK) zV9(M%x#O-5Neh&c2{Q`}_nPOByICd0=#%9zH=BHy5a5ccM1Bo&ef2UJx5COCEb4V} zNegpG+1yso$D2>(cq=7g=LtGGbi-1NX6R+Wn0ZhMa$U0u=b>`rt25$=6XdeE@z*oM zZx^y7u;sly-_St0F0XGAXiCJPJ@0#V5 z4Tk!R=`GKs)Tb$&*LwvJ0#HvnKc&dFp!GdiNws@t1gN@$usU4lQ zz2_u4_#K_}2QW+-Oi+C>*>41%!8b+J%x)^DHhsBfc{JW10n!2=r@{U8VKz?hc6N?P zFED5d`~_IuDtcs&p7hT;G-8=p9l3Is0=_#L2*>qe<->@Q70jov$gKvAt2T$LBF__i zyb9yApW92i^SmHJ#UEIC3hvYLxIV&b+S!q^zU8X;!+bonKcn9X=>@Nxsrs%=zy5rI zmrdCj$d3b}`Z~+^jOqDU7jIm>#JS3!Hkf2y^=;F&Y|~QdVL7IHc1DAa;EJ_+&vXjk zoXh^$YHc0#DICZ>B(d$|5EHDAt6ZMwC*4m5{0C~iTb9jA4Egaus^ekjI1}FWyZWe_ z5F)_Q@d)t8do!*LGZsMOU^MdVW1uPVs8<|nZra{q>kF{SUccdSgrA%{^7T)|V2|5n zfxNOZODH6Au~YC?C|CS_6X+%H{L!RFh?(yAkR`|}0S}dtT%(-s&!AKJye~`eVSe^U z&!0@l+=?nzXFm~YGukoB$r)z;7AV-kv5t@@SH12xDC+wjv)w@tx}CdmqP>q2%;+4g zWKpa{TXi`ukGS8Nog@}It681jTL%@{7&Qe$3u*C(w<>~E^68N0`3UgHNo{b4V;+Sc z5#_0}*!GnDv9Mc9zj#DUM1UdR)wB(@^9~Cuf$sbazNI(t##=XK3bgtzC@|p`^?(dn zTrFQ+*iaq+3$fj}MtfW+c$`B{xATBBb2V+XS?ggNK|~;QPQz}r_qy_EVJ&|6vVL8x z6X?IBrILZL-*!Jv0&^R5K%7qWC;uN zlP-Z)huoDnCs)w)YDvtv>)&{$o1`32=C`2CJURT9Yh*p3g4rSJpUjt;RSq^fAB~$> zRT!3^Y>5}H2$xQUzAwO+AhJqChl>i!!;<57$r0OKkMFXUuDSLE!c@wv%wBT7arr5y zXUuZ(P9J?r*Heb{yJ%&UAmX^Ibk!zaT-S+_9X{zg;LLv*rnJ1GxUeMTe%N5n*wjV) z*}mbzIV~nL!kV_oiTD&+wJA)=3b(Tey_SnlwMgP5;DfBO8OG_WSs$bagE*ID$}H5| zhv?<^c>~zUf@#sgUB2f*I*7eHm+qygk^(Er*F8T)=x+3BH5`exY-u2IpHlSD^1hAN zWqf@%=c>-!dL!{UP<>8iBmYm!q-5q^Ty=_{;p{)dvB8eagr%BD<=iUTUIprqwmkM8 zD`WsIVpAl~8_@LH;v`d!PHOih-oI(p@m60KTP*#pWPS$Sjoy{pV{pS#z=`%7{#GahX%9HP8nK|l20-DEF0sQ05jf^*kkaNd~S(F zJo?=pK!4^zM~|D5cHR%x!C+~uwc`l4Q=9GEvk;Gt`OLaAL+rR|Mu1kyu`$2o>DG(C z7^_r+Lb5!A?C1KQHlN-I6Ljs|b3ONVvxqYG&*L{j7SK&yxViIiXQd{9XLVy{ua^Vl zrK17^eMoa-J`9Owlo}Z_Ie{UcANc5>e?DOdQ#k9zn*tm>^|H6l6?|C&;lD%- z2D(1Z(06pL8H#NRS5?~`U8q}Aw!db(xxcHesbxmaaoZ$!DrJTi;2y!;Os|eX&Q!pp zoPwJfmPHj;FarUBq8CD8sE}{S@&whH>C;7LYvd1JvfURl zH5Q9*ykql>uBi5yYyOyQK@IlLWZ1vHtaEI6KCrJGrP$L~1V`jd>D%s^3zBle{%|P1*ZpbhMUP>*qfEj6r{rU2OfdUYK)? zp0d|rKpf{`#EAnWqU`>UJy75o9OT*%t`dE_y>> zS2ces1_oi2Ll3}Q?zZwos&?fClQn-ATIQZQG;Mk{Gz0Xch6G0m9s(gd;w+cakara} zK~=c!p{*|fs20@S|F0!zFmHbh$YNrU{(MDagY{hn_%yTo^As*f z56pTG5v2yy4=1ZN*UTH?%)!#Y**LGpA)4}v)WsYW7HXZw(OQMfR$q4KoK{>SP)WKY zJRv)R`wSfqnHmD_j5C^+Va`gOd{4o#r9PV zKez2hWe;9<13a_Yh^<^cgxA8wZa${#e1k4pK(EGQdSrJezec9^cjM_`dCZGTxEVP$ zcZGGU*8=KzPjYKLy$$cGoRRr8^G%oikhd$p=0t(NQFjVsTkYeHMU2GCdI2epW>Y7` z^>|Zcpa8an4$uc`KrwB56P;`B6Cd!eMOz8wO)snO4O3Z>9zB`f!$w(|FbuY4i0H@v zQpXi7Yl~?=C%-SU<)yPmd&f-j3^%yF^~ku^-MG>2hm7&EN;F#VF^~d{k3v6xbJm^; z7tCn^H2>!uI@a=@x47J`QNB9*;YIDt^7sGv32vHEYC1tdMWa0i{KD~&Z_@bj+~dJ1 z4snQhWf2*fw)t@wiDK?v>%vxUy6V{ubtoc>7~tZai-KgcgH%qlzt;al*_(zXnZ6DebR?g^@CYdRyC^c42lgms_YKkjUmOCo0EbU|}R8H>7l$n(anz<{a2xu;3 zF1RHsA}TH{qM$4f^Lwu6#qYZQZ~kw2bD#Tg?(g}Y^Vtj?aXRU0aMoK9S4U>MV@Dcg zEKu?>VB{vuxGJO9o^{iL1NEEs#TWg>XqfLVbO2W(=cy+EqF@~_W0)i72MXTdgrVMv z-I0JERkAc5>ZtJ74sV=#OsbvwP&C{T*;Cn;mv;CP=D<2e9NIec5%D^zcWrcSsMGQ^ zZq;*48AIUx62eRy{#tESN*>xEgRPV78Fm^KFZxLT@+RcjElPV@=ox(MR#vO12-hPj z(WOx$%Sl7uz$;7jUlrK|af*K|p(;S$rNdZQIo6kC$3^i5fpu^E{@>M-iW_w0<&JNx zo2x49Cy)~LN+NuiGWVZ1b~k3TN6l?I;PDojIa35d9_tGjyf46$r=RGpUc1MbRdEbUkk_g%htlME7)uB$kl zZ#|1N4YUF}mQVoeOee%ZW@z`N`Jv+}5?uceK4?(F)Y+@yFhl_|IETWADZi;Qgz)YbNO5ATZQ&a-6FrTf4?4=)!55v@LT!|iTCnnqu5riYSx$Zsj z6UcQhy{L%T$c=Dr=+nOD>$LIsEF+gq{s19jOiz{9=}M|VkIhLUjFb{OrgZ=N`k?U+ zn`ph3z3tBjPWqh=U-~J)h7h@xsfT_s()%UKN%DG}n&^K4`Wv*pn+1|X_oAc>>xWSpGdc;d+Yv~KCOf$NNv}rTu$N0y@KBT`=h~?{xTGW#c94MG z&MFt2d%dn$>#}D_`|h*6XSDjf{W%wi&)xyE)4V+Zt8)#HrK9r zftP-;c5{DTwzB~KV=N2=>_LA1b5bT24%8n}WSB<5>P`oDG@f)ve_@EaM<{b4kgZYi z-2v=DMgJ>}z(FYPw6MeU(!`J-sY2({WU@xa1=ljOfC^D@0o;06)v6eR`(#7Jf|(<$ zUrVl(6&Zo=ih9dchTP=FmH?H>SbZh;De%?QlU6%(NKb9w_T&Z-)f~M!7aJk0K!bYN z<|fEjlLiTP6H;xilQYt)o5X*atF;fu0?66{`US(<_y`) z3Uynnw~xSnca>l9=ffuIFz?pd+MBV6A=b&Q0F`q|S4JnfC1n4|oaJd#*_)^>2b2is zTl*dj;y<}EvIp5xzbPjpee+vqn_hG*dG1S!|AH+83Y8}jl<;KtQf3l5pC0gTp7mo@_uddjw3R6%Z*4`oq8z?7 zl{yi)7PkP;0xH*#Pbm1#AfB0lowhE>sPO)04H=A?F5uR6(d{s3K*3z{nIv3ZaV0#bte4U5B5S14y>4;u`5%ru z!thKel6HjCdqXg_f?*qO{A|+P=^73YLGx`ji)z|L=JB|RLg;0PWvr~u9WBfx*YGRy z2OpN`{nK04_@(w)^DpA#AJe*);M4s`y{`~(9DAyG`l!XB)5!{WIZa@kQr*kd{%7^Y zcm4{$&Uz3@QYVmhF{oD<{v;}Wm-7c5LP@uOd2~z~o?tR;V%N1;hCROe$vc3eF~^@ieL)zXMgI>kw1~f~s}XKxp(3N?cfU-W^Z1Hotygit zqSsNChO}tv8QKeN>}4<2nPv5S8}W5nn9{yyv%qNBttTjRW-7$YXuW|`JpJk7=gS1f zk{%^eF4T(p-TKF3{e|e;!J|Y&zU(HJeKN|y{w_A`6m4NKttcWDLU&|lxzi+hr| z+x&P%;%R4sdK7%^L8SmBcf_02qd=H@&HCy+S-p zRvlF+mYqa&B^C#ONQ+*;HiylO8gQ#UFqX2Ekz`<6dzGD+$FK__78zu&Z`%UjEYw&u ztb{iLBn^Oy zjR*Jo0#PZ?`?TH6VeMG;5Z)``h8-(x*J`n(_b9h%3ua64t_j;&Xc>8R0`Wn1=jYHi z&&s%&59}||Q^(ha@EQX18AK7;ZCZYImG}T#_*^-tQyL{-SfiR5Gq85Z&!hNH2@EoB@zWMa`;iW#)6&mI*Fx!?nPyFIQ;c z9CrE*(QU5c#8yXCwd_M#1emtwQ~No~9o;+q94UI4t>r?eYI(}7kB50+W*TxSCRA)2 z(6*4c#Q7?>4nRrUwCN$`hQWu8-bmFP`FFKu?*D9B+v`dEkyabt%OhMN{{fwwby|~J z<5xrft8qpNu@1Q{&b@y!K|MorAwebzD0{%HvvJDnyFzNsP@&3eaU3oh4Txx|?QQ&) zSY+E1E-eZ3C!PzBzh#GF%ho(tASg;=3khpc(7v`OCEc%EXs%kL{ooP|OZanM1<)1m zy*pVt@t+6xChryc#@aO2$RE(+2X6W!uKzUGxhYV)6l?4kSLXno5OcitDdPMjPn_LN zu(l~pAn^s+Vy)^=9+fL-YUZDb{G*HQ>p_ez^G%F2Pb=KL4W;$-D8=1I;Eh-P#qW#Sie@XCTmr+aVab4C@QwwzC*_+JA?BH;NpIH1g zT3*<@*!M|}K@wlRg$7;v>NEo`YlYKH(Nu`0Scv2=Ru#?Z}3)* zo09p0lsF$~at>0wByfi&Js!&OGhVi?{*5%<-7QOAheS%dJX{cE1j~%5IXM~O$s9JX z%sXi7L);B8VunaH8`eD$GXz(L;begUV8Q9m;(2Dn=DY~t3ECV!MoN-ZI1vKYhaadZ zFODgN2t}i^+t#pJwE4QAZBNpk}iGzdQX?Vk|0BCf_1jqp* zYN#1dF*``YDPw;qe4cIY)s$+cF_A&ZNxRWUnAIb-^l%l}UekSr$i*6Vft{sqKALtm z9xQ4*7O$;R&*j&6r5&!4b!JaCG%Qt&=MXPB3n_piWI;m3{>s)}PLfQJ-Kr-?c;5g3 zU(wCh@`G(wx>C(NL6+<@7HUnyFBuwm=@B!WxIa69t<%iD%i0W#*2A*h`Tf|E*vYA* z$nF7s8zWKp+ECTRC}rk$AHDV*r2i%!$x;I66qq78aRp}zUxpXGgR~a) z*#-sJZrGRVlW`}E=oO;&2KHw!!yrk2wVqbKT$MPVl;pXHDBAFn{d}0g{RwUP7&LPP zPm&CMLeA~C=T=;V?5Y&iC)T)uK8I|+aEA*LmlqMa%v*WPkV&ftZKH(qM%E#ZnvrDoG8ig9GN5)Pjd!C+BD4)Fsz~%zn)Qmh(Zk3wT_(kJTu?v(v!vG@ zsdfn%a4};)`8eOasA2^yN*%@JGZdlhiikeHpZlz^xu?i+y}VM#LXu?)doxZmJ7OHL zk}Vev1SkUc9L?3bANf>O!#*u6Oz?F@z&WRp)@S3rd3{vs#ge_+g^7EV7RfZff~GzB zrK|0<4RZqr7ya=Z>JT=qZ1358#Dg2Aem|8GRio*;LSbsZQIT&dvj);@hQLC z_P;O%_cOG8Cl7y=eLA4wl0lveIv=se*Y-h}>$q)8@&~W+P!AUw)q>SkT(rLJM0^t{ zy3W0QK5aiXpa1O#3@~~BFjyZFi|p#L@{f0<_OkR%CixBggW3^&zWLT)@+l91gnK}J z2Z)`c<1NI#5JPGj3mR*<@$1C^L(r%_p(9WHFh92XERxf&D+!f+eh2P279QH^?_&3> z^Sr~qY1`9`04F@FOVPW+(VxQLJn2~mLC=pq*5Xa`m@RXS1TUC63rxJ&;hANippnj= zM$~|SNE3Y06Q!1l-5lA`VribpA7a;u%|Svh!2`gBuy>4l!F!O@GHGVGbam|e6&dx! zZVQy4{20Umb#Qm-u^ zds({kZ@z(2>S9i2X@^|qJ!zKB51Bx$>DMDw8_Az;aF>00ZT$i^P}GCjg)@>oIqZ(A zezQ8bKMw(dAL6`1(}tc^FgpqeK_T5qCh8%_TBpLXW+q)>3Bv@m)*LY zysAucvz{#SErb;MCjY7oUczu=8spK-=E<IKcr3U$IXskq&|E=NP8M(lxT(aKjfD#5gCW`{g5+3 zSJb+(Q$Y0)L$YPKZ7zjll>$wi`N|CeSA*uEw+qT%YiW2{4m8>hJPXdHUn`t(!IPt8KE|Zey$jLpUl9{CACCyW{c^V5WvN(2gj)fKICHHVpkE_FSV0J|LklW(0kiqI^rtBrb7s`NpC2g&W^Djf|kzeGHsUJL#0kwDj;P*ft)jRx0 z;aWvkPT|}8jn)Ti-=XIOAacmJjIvV%Tmn7U$j=gvaKE<)P-ls(kTWiQ;8B+*?qE-7 z!J2ZlFp2FZHuf)9M`#}A+D&=3z6xqP3|YJmAuU=luR9LintMg#R50Ho^n>!c8?F0O z_Y7>Nk9PlDPGTEh+QQ6f9;sv>Ad9O9vdfZ=1H5gk^Am`7r-2)h(9x;1E{MHBP$@w_ z&L>IR7c$MX4epCCTgBLx5u!>wVXaM{$%uKbqJD1J|C?Q8@4D|e@V324E;PT zwH8d@Y_%ts7q?^tS;LZg3?YTPi@Ele(!aH8V7XB_vKh{O{I?_`UTrsHU4g&=kD&`5&A9uz{kD%5Lt9pr zz9C9`3sDYY(moQWl|rw9U50ExlsMH@%(8MtN5!LmoW%Uu^70n4&>S*PX@oR~Oci5? zx_5PYsvt1o(%TR4a1^@Idd-hg`b{yP?CI7pQICG17i zer}IJmMZK}+P}~ZEKEv-H(Pv7?JXjOrGS%(30@< z;pKL|Szq~fdyJ!Wy3^fdQ^pC_pPXnIt5w&wo0zHfWCyovGt;_P65}VUIC^!~GzvC{ z0qxCP97QhRcR8L+cTcl9mwyb3=C(ymY%FBF{iJC7n(=lfjoxpPd|j`3?}NtuENV&G zo@Q6bvcX3p$V|9@e}SfMU*hv3HddCIJ*i*mQ~M@3B%6TDuNiO+u>I&(H}eL+ z)5Ja>-fHRg3V@p|Xf+A3orXn4(0qWeUxZ5!R3Oup2z>=o;$1*u-f%-067+DEsdYd>2|eP zL(X@sYWHV*ktC*<^b=1ZqmnTx}*@6JSyTcbTg*XA}FscDy+b^ z>wIMB_v7%XsEF{NFerte+1LQ}9@nc-TtRO7)YEk6KP&4ZF!f%prR4hF(HKDpR>K)6 zpnmmoXZr{wVHY4t?TeS;L*_4Gc&AF=$hsuxtP}r}s5I8?KLjsCu{2jhr*g~XM$CBS zfM%l!C^K8AsCRSSKj^hze=q&*SRJ6(z?gfY1)hU*bx4Pu3;a!_x*qu6jFgkyw3hse zz!klRqC2mtBPkz=93Z1c=RO9+mWe?eGv)B_^Z?_bAKaj^+KzjClfhCt1hddkOC~#tZATL zp&Q|C%}*r266so|t@=~!(GBH-JizZgK3TUcpS_Y;MW|H{HF9@@&;~#o1!F^jH%={M zW25GFgj9BUt(?Z$8wF1$?PeC;)J)5mCDwbQJMvSOyRN~7_XD_wlXF4rp)}*tzGYea zUqEd*6?=moaZ1|$-gY8=+?z2B|0fbk1C@pF0Q8yZqnp<~)^$}b?y8wh!{StcU}(&P zFu$tA&)0CwSY@{JR)CA`ykL>T@ot;fYzW<(|8aM$VrWFS<6dD{8%qQsG}c{rg6jHN zrVC!Aky@zK2z6(bvihna=YrOy$}uR+R^^^z8lVkb3VseM8zm|6+|14Q-$=@+R{3fH z!p$C^(G{<(&z?Fc`A*eiY>^$THh|5j0Ywy~U$0&Zu4>fB=EEF2f27Mow^-8bPhrBN z)Cc{2%}PIyju$&qYvh2CCLz#5!?H47NmuK3-e*0S&7M6O;#kq;jf^D)%}yk90{2mEr>ZYU{GA`)eAnyK9@+@C zq<3Y-rs}Oh-&;wxg7^8{W5^4d30IJCep!RtB27d`r>`RqV2h)D=?nH+&5`&DJN6TzET0Eo6y@ijltzqQ;y*)Pd6m(I zaOh#ELD_A`Al2UB1F^n5=u%vEGxWF8K9BhY)lV&RZ+l5fcOq-q0mXejX?U%)&yxEG z*R$2Q}ygs&B73eZq+vwx)|m*7=uwjRtDBXta;$S%(&N5y!UU&G3DopM7!)km%^|0 zUgFnzx>1bt+NXL*%4-XWkNo8yL*1MQi{1us&lEK7CRfN8qlNbiAGDp9#7`!G zgXY(n$}OIFz&xQdb9|5?jg zOKuV4@Xr^$jj4W0*YIT8kBPlNt2IN5KvSTB-olRerDmR5gNFV>fQEjY!%$`{w^k(NUKee z9kA|5*UQ!RQSt)faFH$7C! zjhHW*j-e2Iw`#t5{;g#Z;`i|bq*bL{!Ey{Gjux+2{Y_Rvw(4D%N=^)wr|{8Ah+`>2 z@s}3&pRsouehm9>z_PMr6Ix+fX2_&jI#OGBI_``HncU_P3+5jY9-t_p4@y z%u>3qIt`WEEe>68wKExt8Pmtg6&PfM&+=eLLu^V>_VWICaZl;kVo>KWiKSFAEg3&^ z-I!2rH(JSBRrc+P@UL$USS*D2g-vy;eqt$O{o_{7PEIN}G_r=5W2P|$q^)Gs6oQwoDQB^ zo14zd*3x@v8qN91S%mcUXzb4v`kJ!U`l@Krx&|-JF4@j3QNIgss1k!hIp2@xjRvwa z(h4h+8bC80huh&>P({Y4ga7~Eg-KFwY>{JwSjsKM>ezHs zzx*}taqMf}Wfb!mdb%kd(d)W8c32IfZ(ZGlzCpQ+520N)A|y%U&H}rLbuo>in|BqL*^B*V$$=dm0@}=-C1w`JSXZP+3-6_J(Em{1&GPG+F zZpj*EL5&Nqzz1%0t32;k!D(biLwd`^T+&@l#;m%jx+;xIjv*^mz$i;eFKZVh&;GCR zl2qee-cYiw11bhDRY1vQ*O+1Jr&Y|gerSM$h!G|HglKugP}zeSsoS`^Z7DF*>&jL6 zj7kHMk`ry{{|hgTKNah!_41os<;%!hU7hx3W%ONq-Vm(| zOz8i~q9HOSIme=|_1_0=*#x*Oxt*Q^xy+(A>FxG~iD&&W+0NIK_b zZr6*XohX&@y;JmCy$P4?VUbVFK6X}$v49e}rLwk^_8u~YlA zu_IN2s(jPvROlPmBH4miP+t^tvdGcAC|ED#3PB^C#;7hPvNk)6xxy@CuwJTHKrtY@ zp&nX=vurb9y!S?b(sDXA3ZG#!E$?7!isCBZwDi42sLC#I8%v)CWf)-)W|zWjqFian z-`I1U19-znXd2r-?5chk&;*$-&0L$SF$|{;)o@MUG$OLDSWl{|T25K+u((uIp3EyN z_Gxbq$2YQ{_IbAkWva@Xzg}76*xMW2Fz!wI9fSCyRor>{OPCd}XATr+-lHk&RS7s` z)I+BG^c67!;{*Xa99k}X?5yDgVGB-e&;-0aMli)stQC#CS~G5os@9@6PpgywL%Nq>v4#UodbT@Qc6J8TR`V=TY`qzin$o>1jQHb(p!^9( z4QW|$WeFq@gb^u}>+Vg%AQ){I!;$&7>Z$55)lrG&eui>KqH(7<&CvdfT znvOKthD$*R7usMW@&V$+!Z zk){J_4~@~@Ig1}S9Xs9eSff;cf%-ukeMm;fGrWJ94Q=SStS4>%8=0@KzJ$6A&a3U# zs>{OIeiaoW2W;fSyG}vu9?eOnc%}r)ps3c0A!v;SC?{CQSJUkbd=3XpB^bmTVs$jL z_T%P#Ym%x(cfb8$w5}34&I$KLx%s&3bLiNqfAi_5%yGkqA^C!G19gy!gdb;}4FA}r zlhta+V|&;H01*QEdw9>bo;Ryt(f=fYjx@0w6iT$0Vga~&6Ka|FSW#@ z?cD8@1waw_1q--aQM)7GSQmE089ANV2ML`19?`1%r_NWhg|Xx@J}YVmK^(!QL=<$`bgm z5Et5uz*9_1Ag;OI^P73|LUZc#HH*hpy`yuk|2P`e(UL(s z26m>|j<=l1hlocK)bZf;j_GGtSoST#!vM&U1VL=j%K2jK-q?G}g;GO%BzM{wkA}oC zrx!TeAMwrH^i?J(ZSKhBN|ga!3n`{Ds+YrHdAmkyXGR*%Axk^2$-mbp4_m>J?7xB8 z1d>cFZ~+%4wM?tdr78z)H|e5?$&~yUW`k=k@MNd@Db{8j1Ra{$wlnu`0MuXw4Vf6U zY?_i_*cg{Mvvs9#6*R16sD_4B)GnkJ84_-$LsHm@k~s7E8FMCoO+LCe@t~)MDox#I zstk}H_58Dw6#$Z`cuDn);HnbN)Q6t9Tb5bc<7Dr( zCf3KBq6Kb7Ewb6->-!gPz z{Qp-g7qcOfE65P#hW@(*zoXnFg_5*!#IQB4VQtU~>t(Te zY633I3)*Cl5|ntx;IcJhrLjC@t#-Z}zcQ4}_-9itRZ2+jViz7CcILPc4`-H+Dx<2RiX zCJCQmHCU}{Bh&9pv-1bKSH07o8(`rA-ohRXOkNM!ct)WsxN**blcg(^h_nFP z9$8>-im}vw0~IIU`Z}}mroLq^dR%zvcdaN(p|!~{W_*L-?bwp2I>Ye0C~Q20gl@jL zO8Kz`?;z})-l}h%;R|nQ%>pWAz5~yeC7PG~&Q^!CPAyypvEHbZYLiVJorKAPFNXs( z+_9xuL|gmIYCKnsgV`i4-B$SDlXj8K%ej;i4)t@1X%Uncv+%VKqZ1z&8K7x1drRLD^hIR~e)!_&OFmZ=Rd9%Oo`Q8IB+B^mRh4|G zj{^k>4g?tLl5u*f`+_srB#8oV;Mg=MxDwFJ=FioWSNI<^^$o9rVd!4`7GH!_BgKqQ z_eP~GPvd?*(s!YJW)|kQ2JrR&;<)*Rsew^Sw=^~&d@2P<5@b*y;I%K)<1ExHzr*87 zMFC(D4MMSKjQGMKcRkvOOaPFexE@%_q!XjE8ehSjBl;5LpE1h%rJeAu8Q zL@DhrbyUZrL2k*f+?kEeDr9V6t1h-#>ClS)9!s0S8H5`LN{Z5e@(s3Z&2{L3gK zL$oZFvOyp%N7Da4adh71yD)Us1=o?m7a5;!OY2!dwR3RM zyS|udCOnOsTdG*#_bWHp*e#NTO6m6BnxpU(VoM_u($2=<{&2g0j}Sn_S) zb5YPZDv_uzEAz6P>B!!%CQolv6@e|Xh|>7d7Em}|7zHTdDoY88OZ?tdD#c%f5CC6C)g%2GWNSW z5MoZE9UK~Sx0L)=Q*{kU`~rX0!`;YV@VR+75e;&N+GoaO5iNb0KC!Mvc`{!QMY6W_ z0KX@>ZNPn^H&G5y#i-h*<+{0PNfk=0%IloqomGRWn*G;5(DqxBR^ow_MS5C&+V5IG zt-Q!je*63$&+Y2h#x;Du{zboNa+f4G#L!kIR&GpFm~N4ds|pRJnE%L#Bp2pyCU(ha z^?T!vtM8js`O9OobGq|i5ruE&g>y48JCFKxiXB|C^(wPjVq*3Oi#~gjL{b z19>}$UV7e**YRqvhVSSBihSx~eh)C5J1too%5KG;Vhf8i380}*iM2{my#{98lmG(9 zw;MxjP!kP`W!_|5BE5OVwq^4L9s3_AJ0$G>vUc)-cldf9%dl}7hp7!z0UIJpf zc3#u)h#I8V8yQ0{TvX0Z^P~Ke8enaXDhH0?LuhJYfmPhl%oa<&I1Ny4DeaIb>C;?) z^A_o~aie6>mWFbASs7p3f16rm0kcyK0p!(grACtJN2f52g5pds!9s=JM!6pygvqIr z32LUp3{;xJyQZlFV8Spf`2#{0HK@qu!U7b7(-bAUj2`E&Tvbl z*soJgtYE_8T##KalNW~m@Yw2$fFVvZ%Y3(tvfjRAzs4TpSDlW_vrNCV7Cjrfp^SNI z?1naA3Tgd~l*y*~Uh1$NAUeK)6WCXTo*N$PHZpx#s=1d`+kHT#@k6Ln4&)@Oj-CDY{wp}%@CDLd(9{9gbbLC#>VB@HCbs`4WJEm$yJ~Nc>7g{{X zX)Ve^wR(sEkHsqm7<*(GbYNlJBTA+M9r!peBZ7U!c+%I#Ao+hJor+ehN>=35ivLhHszW^FX_5xR zqQOFFF=5f^mp(e$6d1z$b*bHTW+7N1k3w_!84r2NkW~j6+pZGK8u-?E;rJ())7-b_ z-9Oab7&UZAx*5Mwvo)!dnj|}XFt<$o{U@sawu48vKm9KC!tBWEM#ZAhmzn(0>X6y$ z+w7-W*AR=dKh$qNYJ%Q*^d=-49A6%$?CUB{7GfD^!e1j!UD;(bUw7p>)nnB$^{LI- zv*plRRr^$?Q8WUFlh;9pHvYRKWBDUtc<4)&o822~y`xQJMEcn0u08n&GlKtOjuy)Ef8=>4FkSda2D z-zN)QsoE)ahwz4L^nu(G@6MU$F5Mr(!%a0tZZ65{X^=IX(b|{enmVs(#~6u;kDWX` z27cdHjtAvzB#l44vDFCy46u*1h(LuDM9N1k&nVC0 z0mV6Xj*hc~T0G2Ho@X~#tMQUBzD6cKyg1pqUWOnO4YYH8^pcNdKTt|&{-8+bO7^>F%dE) zvqeGcYb#A-_P>0*C1yU&nQi; zZ|@rzhSokhneD~29Z3zJAMR61>o*C^P1Vp-TAGL{ivKbNCDe?9rluqZuphDhWUTKN z^4#Z;Rdtm=bQD-sTTYxrKd3c>&;hDKzsC&;8Xv3-;8Pkt0k~bZ6SFg>~2MO=&`DgE+E|Q_WfkH=}(^8M!$g431nP5%z%x2zi-5hG-M6Bu1 z`R)z}xahpgQdAn^#Y0=LqwTq!|8{HUhz5s3?X9m`xKJov-KIMSe6!r&|ARU@E`H5F z%5V%BeRwEs^i@&Q)IHeNWTH||f$n;Q;{5cOF(eSGXm5!=p4NEL{BDV3?{WYkwW#Fk z(q@oXI5Zm*_Xi#s{M!@M>~^6l)cKll{@A0DV7+v#;dOqn=7(RLxQG1f^Tk&g+lvmJ zE0soQ+^B0W9;#x0(OadztZM=NyU!fpLY?X*vL`a=mnSoH&->c2OVw-EY zy&oR$TFbia|M#d#cY^t}lf@10H~Le``P^i6_EL@D9|QL4Sk;gB>!W_ggflxT6gh(# zC38>w*{AlRQ zhJV2PGySqJ!s&-kJBhr`*aq@cTGUSs71IwN9cmo*%24{z$y*0w0pQM^Pg5P&GJ}nh z?ttT!j%>(+&cM2b)x=a6DZ9HEzAA8OX{xnYxJVMuq{)qUeMwamC%+n`CSY^&<&JC8=r?VLos#=VfHmTVay_?q2|Eo?V1 zDu-}J{CblF&l8XjxkAa}Wf{I>fGMdK(;RZ-S&&u|)^bG`MH znCoo9IzCmQ{r01>8=@ps6RjCnRIqJzENdEMDL21)_D$&TN#SPzXB6{*bSp;Y>wmTj z9qA2Gf3A<5?SnBTkPeA+{CQsd-1bO|Q`0r*#vsa=6hbVUFbrcW0b#O~3U7ya9l#LR zUznb-`G}!~ImtHi9dL!s8Gh@mHd>!1Z_3=ue@9E|&y)u5{iJs13w<$GdGtRdyVea>RkaKHE*irn0rIdjC#7S%sS+r zTezH?O5L_U(M0Rcp2Dv0^O{Ob;k;*VCQZ-3-~WgCB)+X52LIQ=-P7d{e$3Hs)5p}t zE^R#m?w-lVO+-ciWV!u;!#dFKoz>iLZsP}sB&RvCgxZF=>g6Yft!Xszm?LpUYj4VaVUpVeUCA81P^rXG{L$Eg)`JFz&Jkv-a`Si-1a8&E2DJ*99Sl+Ghp*mQ% z^jE#L9%fov?4PVxX};`DOEbsyRsXMH*OA$8U+dX4y5@8?woxvgj$C{JTk9I|J~`yP z*Ei>OB==GpIp~33q{iAmA357&rihL@=k5c(Olcr+cioS7XzRLtyfgk7MA>OT%IZj? z$HpQvPb#Z?I2CCX&a4aq5Upbru#``9;!N>ZP@D#sYc+~vQr%nMn=0_fH-i`FMK1<)ML%hQ@5W4k713YE54T*0qJ_0}G zw7rXo^mmu>d;?hvUQ?xOr%sG|dTs^gN8108zqS3N{s_lAxGdsL-^Zy;qhAxvpUps8 z>iXeuy+I3H$MUg@KHO;8cUjq6Gi?LK@VCaZPHmCtT8P1Hh5_M6ba|q+U3<)?ObfCybz_V((x~qJbWk52At?EP0xgE<&O+} z*o^o-yf^NJUfNhFv9Y7~>yV!BN9N3N!5fVq%Q%TPXAG0;ud>fYssFy4WH)(ZnE*1APjo2Ng} zwtYAog1FW9Yo$h9KW!u@*f-bNz-<20&Y|Q_dTJ0v=W**vbaVLiFHZLHah;_X+ zf9(`2T6d@gFBiM^Pdp{7-POSDl2anE`xYlw!_(mDPLdBwRpNH?F@4>sq~>z2hNa@! zLi~9mVg$X^p>{QR;e)C)?{68@snUstzGnv}t!EAjEFov7PSH`LC)T$Q!gk(SuFC`? z^gHkEHe7rbR>*fCQtIwuC)upH;UJxn6}#E(UqCjIUi2M~OFQ3M74jm=q)#LA%QFvw zv551O=@F18L*%QGxb1q~_Ur#-IQt_;KZF~jpJEx{*=Z+;m_P2m*qNE^|IuaR#K7^L zRpIkJX;2!udnC}PCq(|`soLt!-1WWsA5PqNwy|tC>HdB7k(M2Okd!R@L*tx= z`Y8X{PRIGO+y9~_EqHMAUZ>v;?(F+KhcG(&v&H%zJ35urB%i8PAJ^CqejUb!(8sEe z`hP6j`Ze_NXQNvaM(@<#Z+#En{omM6*ekv?$h&+^Pb8}IUKN5S)<4!n?2JP5;H>jm z5$BHF7-;wMt2&dbSR6p%|UjsN}3a$hACXfMG>`(L%!dht2bT9#=lvaIp9Idwieyej|QrW*z4yDJQZE^NuJD0%XzT zYBp z1R8bv8mgvd>8_fdt-jut2uv2=sdpKll4#?>agE{E|L?@;3i&Sy$>ZU6vU_t3l#Fc( z-_|)`v63xOmZBAZAgaa6feb53d?LMDkp&C5n} zm~Xr7tD6EfYE?MD&V(rqrIXk=*xjQ?Um|cf3@5%H@ZshG#W``W%EjzT@>aOFsfnu( zH}XOO%9v3hk(DV(fZm*;fdmZYYKB+pZw~ACY)~u@v-Km?KC>LyJQ;gIpVTBvcRr)Q;k)yWf8e=ik#d5A0^Vio1%IOoXMRBa2wFX>_$A;7U&K zC(R9OhZ8arl@(uT)|lwYO36H)ScF&JOHzL@))p`aUxCw0P) z_N>Zd&)1m5Jnbs}dyBf!8|R0%esx@%)1Z8LSv^2)iKl7t)Ubr1#JYOt+8Z9>S$~NG zuO;ExRCOmbG<(}1E7JAWP7dAE!%%3Tn5FTudyVuuUlZ9jOWkR+lJcX@2)|b`*j;!P z|HX$kkWD0~DM#%r4V@Zq4Ql~A?{_^j(u}Ccjjo;ZW^>k%7>3ABehXyHfuvEiwoZc~^1!0FS)b*TnH z1oVlGiTtteg~4+1goQcU9unWl0C1He;lR__tkC)M|h9^BX({$8g>#g-?G+!@y@oWV?7U{PJ zBW2gOz(;2Mxbm2}4IZYNPBz}PyF;qec|@#Bjuew}g=>U zJYcu5qy~SeTJ=EqsmTc#A-gqpy}HAK#^e*6P<4oX9w>6a@0jyt+T&ymCLlllS3GIGe>WDq;pv=2y zBxX=j!||i$*+}a@{71xyO4lX3tj0faqtm;Uzu)gK_#D^L@>6xZ+BCofbc-r7fXNdR zjDP0$DT4dP{xGzs2?*J@sB={LFv5#>EpZO-Mw;#-t{v6g639(&=@L)nZrM} z!)y_d;N2QN*rLjggmZ|=uPJ=r6yf_04+b+SbZ6$K2dhEI7&mzcMinowZy5I@)q19A zenArZfk4sDVDT+3CrX#k5{`pA#I%;+eVq z)gTvs6cS7u^@|l|otNYEW7_gkK6uAY)pX4CdHvBaMMsxmcSDx&N#f5FC(!jPqJ03lOx^_$~UBlB@-jnn=YjdFKETFlo79JF~hxUS*)^T*xV40KTGLmqF5Aila?=*16GQ`hoz&JQTz0nWLx7yYCF zN9S4zcXa8aJd(v!K`712;rhrf&K{X)`lx9xniJ{#Cd0WHblBPD>}2~jZGy5>f^9yG z2)c%rC7kukNgM0&d-r?}%)1^BgPF%DEE54X8-8~KNzVff;>WnuD=RFA+1PJTP25Hp(rIg`REtrm#t-R%YL}DT+BCedth`8h#9*p{@2v zw+sX7(q?5D?gzm zU!0mznfu1VHiep4KHO_yDJZy(t%uI~9JzSdDam*Qn}3#+zM(u(zE(G7S@0CO*&i3N zSeU!1+I5}-3{Y(7JtHa>i>^Zm8tq%<|5BJe?cy6QpPO8xRRHNGi&}yG;){LpVk#o) z_@p3tuB57C!f_B^)9P-g^%voi2d9@}y0;}te5+bU!U(Z>r#zeT}8{Ylz9$I z3@0dSv-^Fp#ic=1$`KcT@K5W|I(%Q3lB9viC~*F>@BEB;_rhW}<=EZ(pYBh=+l@n~ z?$ZVWGA1!6^8{*2;9qje4|Bw|85sGuPCIo49uX%a9eqxB>boZ1%TLCgJAPV-$5Ot9|anT>k{NPmae6Xbl@ zHrkm7X306%DSS>3FYo$UF1__lR{ZQ{VN}WXn)uAixl6}#D_q74#O>>5e}zSt-1cs> zsyk&5KP8-qCFu2|LcW$vbDOKkUo5ik|0Eo}op*f1AP@QwnNt%|*7M^hBUx zucgU12Lrqy;Y;@UFDm5MM8d@U;Z1!QGUWQ(sC@X_d$1>SGrgAR96_am%EvLF`0RZw z)6EzkMb=d;W}MBXv#&AM+eCA?oq6uhW61-4T((8gvhLrt?Igrwy=ETId`gnUBJoUs zQ@|F~?T(jSkh?>D(2<9UpM3R*nWlNyxP^#$=g0V@%X{I@IZ^v^z~Td2T;R=kVB*|& zi2*WtwY4Q{5n0BXqk<4W6%!MSLX}BEYtv40g07UDE@wIUxH6*zIe<{0>E@<>EVUvh zt{>^kCrFPZMh#200Vh7+=FCE~TiHY@!#qPP;xlda>G!ms?#A``D58YFY$)RASNhTs zBLYZkL)acAf`17)1L4ax?0#BW_8=apTts{o-4Ic?xIrUYa(e9aqlAef@mN!v*(#}= z6*gx(e%-vs33ZpNq3`D9-g)o28o(Cs!DiY!O#RsH#1~5OE)IXS`rbE;m57avN!VMn z;r}{Ak@=r~@HkhS*$%~we+ergPSPP<-VyGZ9y^Mc&_qM{uOh=^zlxlgIWym6ggT_r z-c#+nSydv(?;D&CQ8QjvvpxC&zo|wj!8%(twSb>o0`TR*uA!QL_`+A_h0apGJ6U{< z*IE^Vku?%Th}DZ z+xU6}Vnd$EX9m*Q<)|i5)62QsuJ3F{pj=3}4KndmQq|fz{Y`XM^!fbW__GcWEQ9Kj z#R6^gj(a$4VgUe0GDSm(oEqjpspR4>b)}CVfp{^u_!y1LSEe=;uHV2}-SElM00iqU zy;zn1SfcY6_S;b!YPG5pp^alj(!7=Bsfsd8RvY)+ZzhHMD15+#R6DFWDtRW;)A4hs z7J{c|7+=Ogn%~r{2swVB)$^1-aq=jh;>uKnRS_tKuYeVYRU5tl%ofjam~jMWKBq8) zh@N~eVYpy9kVkx|)temKHk`U12NUBiR%O>`(rcs5-{dWaEK^ZW-O&6`&bN##xb8uv z%kd>x8!bc;eHrX{Mob>v^aTXzm&(QsZrhtpgfikukT1R!RV#=^@YV;d*SS*N%>Qnb zfr1r!-Ob4qiS;_>R%75mwZXb}tFf0OM*PYK@~|RHv-M&gpzT^}NrCmdSGh7`>c*=F z*r2r+TeIKg)}QL9?;!Wh4~qr3)+R`!Mr9gDCPTSxLGRF(<8)QhPrDL0Ku4 z|H>Yb^hfZA`|&Kc>Bj?E&zhx{pPq^|J|hkX-?4p9gxk&s(Pv(j`FFoOGXJA=NN_U& zrt2UuXRv3WaCXLf=?rTQA;N>>rJDKeSLt;6mn6z%zFc#DsKrJ@tl}PjC;iZr-Xy@t z@sX>#tNF}pd?c2V`CrH?bg=6`N8=g5^z3|IC5-XVl|=wDgT{bmJ0R(8s#U155`DE& zT|3n?t&uVEPfh6v@yHasYk}zXAC*6rh99w;yqvFWvnEh4-KA7hK+sy;Q zgeWAgIyWn3M_9jf;Q2*?O8>bQY>Smz&23}n=MYYh2X&Jlo$h-E1u9Zk*Wj7>Z1dB5 ziW>$)>zIYm^h9k1D>jAZcANHFZrc01UmRFc45hySsoq}jAU9x}KBv-B#=$gHidD@#o zdC$eLU9n!5J1Mes15W;ew{A_P3|{Ok{1!3QPt~P*2X^#xls|RToj1CZKpiH%Lr{kp z3&TfteQVnHrf%`v2I2Jm4HDc0r{DXh{@}AB}9Ab@-!Q!6| z?`aCiV!(V*5wqj{KN>eH(#?G2#`$la(Pm;|nMum!iPL^|!4GyOhp<5W)OMCBN6I6n z;}EU_{_+?fJS(4(lM`327J(m0!X-Z9Q|1(|Wg6t+TTlyB8C3Ns>R3W_U^@N}6`omQ^_YV)jFcT{9=+&yPdu@W0`iHIWlZz7oH0;Qj97{~Xy% z-k-V#*^n8|fa-kt^HOM+^(sk{Chxan*Zy_8&Oqg0e3QkSZ(_OkAx^L1dL0)z5_Y2i1sm^i3C!pgm64r^pO}fL-UsHR`{l z`!R$Ru4sq*S3kgYVXXWmi~Hk$orRrB-csF+t&mXucBqgpE{yLD7*Bb&ugdK z&^58|dRxAm9r7)=(1Q?hu>o{wzd5?*91w6QRb;zC=fpt3i4Ajl{d-Lcxp76)&~1a>ui%Zxs*D@*ztxeee%cje;> zGNX1vh}d7!5>gn|%w%g|=cLk5qOv1^)IIP(so-za@zMiHB1ISBd+?mmocbRz_v)Y> zza98iq2rt}QUCW*J5HO}w<$>@Ib}_pi7qiGTx@+_P#CAsreMlzSWsKRT3bddfT_T# zmhNBYuz(FF)Y%YO3)vOlq~!t5MQnU(&FdR(36uWoF&``p&=6XD|WiDdEZ zz9Ykgz`X4Ku(9qxKVV!~*S|Bfm3Bc))O#z2?6>Lu{e#+;{hRnEqxm5+xqCVaWT!QN zc+Wk1HtBG2YnvEdKInrFt%EaqYiO8PIjZ6WpMR)iC^pt?rm2+O#V@F2FzG>)%hIzA?fxcZ-S`c*5vPZ(@c`;e5~clxsKfU2in+o$lu~NV zBl$%wlNs6h$kO$Dt1W3kf71ua@sGfryT?HKxSGi{kAsr@rm!<#51f5J!FC}mHMwy^ zipb0_*hdoaz;n6@Ja7rdjVZR{AbOi&@s!(Wsc#w(nU&B%GFBr)kz?&13*ih#&l>E@ z1Y+L0J%or6A9U{t8$!JlGLK^v9qFEMixI3`RuT29IDrHY6x}mgC2;;|ob7wlCexJV^E2!I+`;Q{w-HCJFib1xvWFi6& z=Is#E{=ytBd*1_<))&6^oh&hqn$`ZTwEHyKdo==M&Y@iE-Z2K^k{-)7UKu{$=fq~H zGj6wU+}}5T3yOhyZT-Xgxj4%hq9P=&)^MT8qr}O${Chg!=%~F@nZX>vknxAgFhXZx ziIJRV=L2Y<7AIn3#X!50L5JR~ugHy5qrnQAjh&5cx97dQjin7gvaInXm+qTv`soc- zV9K)Th7%AcW2B&k#)Wm`qWDKvXzc3G+I{-eQEtn8-G!DYvzamiNJ&IgKzq|Kg-0rLo39Kj^gVC zj1O9Pp^6P+b~3pS$B)G19(@%<*2by;q_6vk!jEaoU)OzHh#u3KE5%<|rjUVGw%d&* zeza;L$~6&H*-}+o5>~-}!9=xe;u3TB#d%4xa~b_}lI3d)gH+wczRc|T41Zyuo%mSC zV8tmZTRzWMidzH!BZ#U)vaM^52teZhl`Gpiney{Rf0pqw#%H(E?#Wh{n6MU;g|6-) zcJ5sx`+vXP`li8)P&k3?_M7=MBKEc3b;Z!t>e>EQ54m0rCCyPoRPvOhRv?nRI7+w2 zcAkQ=Frk;CcPa%dH%Cfb4O)``<+CwdP3BQXG;vMWj1AKUpus(dNV&iR-K{Y->fc+P zx@C!j7s-!=7h7p_=z?RpAfCDS6nsxpkN{fA(=pHOqEtmh>f&b-Y#yGkV0JWLQd#Gw zoVT)^)Y!5YfgJ2P6RWlAphrj~Dz)~v47Rje^g_7I6)Ij9njnVM=IDFQDNRO)%53;jrwmy@oBFMWHQwn*q#0P1iv)@AYwF*PaH8YIEYS#YrwNf6UhJz`R%2YI*Xel zJ#fiTSOaV$Q*x%RO4*N0$#Vh{7d%fg#Ou&Mj`xurArWxf3d2Pe0sqf}p!s%Iymz#eh@6*gn6;yK5;v>h=NJNX|r?`1$2c2zEUdm33tn^;di11X6 zw+r`0fxtgVQJhW&Sl;FyOFTD4pn~=oCx|L4qyOS-eAo25#5ccw{i`<|$*qiiN*fzP zZ28d!utJIs&Bc6T&z{0Ie*8&dZ~~~qT^BFtA-)bm5&;^f`z@f(2Iq^GOZ?{ zh&eywx;i&-?#4OL+Wal?;A1w$(hglq;XtyEOY+-i?>U=0KL%PT4P>6(;PmL}a<9cXAbH7ZNcRFy1@fJi|(gnMi#^{sj)PCapc=jC@zIfWwZ)|bQHSAit z-F7zj7$F4EBeD6IO{V5|fOblwYMMof7`JB9wmT>Oz@^)p|5$Y^nZqZlokV)<;J;qG z_PwUROo_9$&D=C=AI{2q^6Y3KViz6H{rg`ZaHP6+xK_)2miy|8OoS%S!Q~-EHIrfSx zAuc@!?`a3je!)_emecZ1SXJJ)sWJSUk`?Q5bsQTCZ8(iRtaDHqADAiUdV2W{jaeE~ zc8}0$&nX1mN_$)$;GS6@n_Y8Ggy;%9Zo9>DYG)pY=3G+QtiP^tUVvgpKspfOOZC@2 zYyAE7)reDuKb|k}-Gds`HQ?fZ@rr~V!D2$9hJ?qMsc~S* zb>tV3U;7L{7UODIn&_raQA#+={YqBPv*zcy0`uLfQ( zi1)qJ%7|j&5yihULY++$xMQ}79rVpm?C_V?<@QEfv{L}`4f(5Y8N7>uDF&|m`djUF zY8`upeX53<^^7kB&y+`0=ytT>CqpC3g;u1w9vw_u3KYn)z?anCD@CZbNmsoti|iM%G>w~L2slmiKU2PRN2hb{5;)V~;b8pXQYMPX&$jPi9=99+P;?jfyiWiA>tBd0g z4{E!OL5%!WYvitrf8)Tykk^U=x+S;+03s}ceA;NA_I4XjH4MV1(TUEFgNKOke`8DK zegp!WrZ$o)w8F-*4JBfgDISw>&44RP6mGC=@=+@JKVmwJ^tY?$k2uG1%!jqi!PvN(Jbp;pQvKr2@!RjthVMHSqB%w`0ky7by%rM_ zKqS01JKVEPh)|S!$A|t5YUMK~tw;6tBC;jRke*KWwAk$9UyUEJ&83kr_clF{cPaMV z5sSs;6$!iGQ+r{&Sf=f%li&_L2)KIz?AM2#50 z^`>mRk}n~7ro4zhey&ya)ZMt87BDQBUT_6>Wg$45 z7;mX|H-0ID|4~}S8eB>Px~KWMwf;>*{iMeWXB(Nath1OH=h}fxxbwijwc#YtArKtL zBG6c=KJz!h?Ck*b_Q7V8)PAFgMeA_fiDku!wq#-eAp}pbUlCV>o43DQNvMrtfLv`= z0_KDz9^u@tVn2GE$Mu6XXScMcZk!ohI97Ir8RB`Cpq^j5h);%QYoy&r^v$CxZAz^* zL(D8pFz9OxE`_lNdfJCHv-|JjX9we#I9^@IvcKVCE=K>+h68I?j{N8dwqro?_hIs0 zk2cS3a)|1$9)7;HH~_iv=Ihc2LmT+0Yq{2|*D@Qykc8#*%W7)TukWsq}skC8jtG0c1J?qpX&XZQ8y?L ztp;+k#vWW8LF?|F56D`cki|&W9<8H22W@aK$hZR6Aor!FCq2y(``(zR3qX5*l5$8v z1CF2Pgk6*Tlq2_po75d`w4rqRC#HfRHmHkEUL3{Lm{r8AqRLQ})8AYfjRU(4?VwZf zr?-_wUoSg4Oz1r2)(W{9GN*p8XN7A?#g>)_hA3B*DV%YBs+i>hawtZ z!@NL3g0X^`Rd}sg$3&cyXMEKh(!WVMs6QWDS`wK`{&clwvyr2FtgNs5@V$ zX#`zZ`Lx(}>($DisesCAHHb*gTGhakqecL2gEMN`%E5?6j02O(s0nlB&#kYE2fi@> z7L)B)C}l3%yRAYm3fjfZ0g<~por#dx0iD|`AMLP2DyN5JSf;TrPKmN%w`cHSZF#-1 z$|aubfY8ALW$I&U!LSu!9;+b~5^SOO^jD9vz0P7-FE$tP&!H)3Ae9yM7Ufuwn?HA; z8e_&{)#kI&lZp1R`PKng{3y=UkP|Z{pTMz&#o0T%bVC&cJNr?A zy=JTN8@QDFw(qu!3;`3rRa3^GKuRiQug+k02gQGjwA3eTMm4O0@A!j1;#Wq>LCt)8 zc6(2sji!*;{K_T1);0UOM7v*Uo3{RzGxxvPd^ERee8^rx`Z|_7h75)-6OoP*2S;;- z?vJ{JgOiVL4xQ7IRL%%uNk(lypI}Ybe=~tGDAF-5V)YW3 z$qrPi{>`^}b46#|qjN~A9>^xTo~cqNfw&=;^UKL;;xJ*3L3yZWc0QheA6THhQG3?P zQr~==B`}@G&p{UI+1gKq@|Hj`5@O4MN`<5dmnI2o? zRXw}3RPu1~NitCUx8DY6F(l9&H2cFe&WJB5;9pB#=9}9;?9tkc%mKG zr`jK7bLS}k8!z>{*C;Q|*B{OLaBtpey23=b(8N3^mbbSf)i$81@eNFr?6PWdP-s#u zfvP27uy#s?48SG9{#x$3M9pin{+AJD{dU%metAWT*dC9scm#y`ywKnq7#v3fX$C<> za~n?wegC)yum+;thBhPA()>riU{1Ms>P)4+S#Xif>~ZQFpO?pckhoWs2diPowyC(U zJT2#{SuPl`NpZ3I!ltrBW34awUpaiz-e#>wWWC%sro6eUBX>6aOsY`s1`Dy#x9x1< zF6%#=#p;%poLi3DDCN|z!U3U$1~Kn-!ga)SG>f-YovT8h`h5AecQ#34YvWk>;zqO) zUABC*`dv!z1-~tek+)-bF5fGC!bW?LTaT@CM~lpeZ*SeJ;T>=nbRL`;_TmyC&Z;=Sz&z57aNVe9K^{!SnU9cr9fvTsFMLy#{A)~p;dyV1;Oq4GtV_w&K zBAh5Y|9ozPJv9%b#V5bxcpc*2Lp49AI3$5B95U8c(2uM*MuWYzKf?r6Xj}MpnVh1V zE9z|UcTb$x^IFw;W{U3zMjn_Q7GjS##ydN7J{!$!-50Zgdc_GZz2_3apW#azV=J1L zQRQUkcM!AX=U(w(&f#OL>PI+nR=&Ck{VY|%hi&#;un~k#&Yy$&&^dF$a#SN z=)k-&CRbncWlhMBWI45iH8B#PPZNu?*{S1~;bC3U?*zt^$W5HKpT&=P$TS&?_yGQR z(<^xp4SzA$!sqk^eQ`OB-`zJ1U*xeyvIK<6_DkvoCFV|J%SJDLU^1Hh>p|C+Oq=U< z`kEpF?(M7jVeH$ud&z#ua44u};TLl0B4)&Vo5z!IJ6AEd`53r7UEvmV*Q|Aj5&=5u z@!D!gzwT{hTc z2$lAj(gXmOd_ViEOohr&*D`-FXZ&+>V0V+BFNI z^E?Gku<*GBLFZtv{~KBkpB@TQ$EGMlt7k3n^*#s#WEZrH2*XL1Yx0m27RN)Ok>$#T zuEed?;R@%*{X5hY>4}1E9^px+$GGDqg=^*!yJif$aI0|j&s6{o@_jf|yfYLYxTi^) zU5{!hIa2z%qftaf7Rda2xJtl9>lIwi;d>cOerPReU#y@tcmHi7?aNO+W%(5g3&$K8 zq~^JkY3!E?7FQ7oei9fHA#VH3efF`{V3*Sxc-7i?VvyeXmzG8O8As>wK56Y)rCT1m zPju&i=&=DD;d1V5wAy@Iaz3EDW&#=0DBdMlssESj`98&*X8O}y$<|3yd0)uhdWdW7 zKrZ(=RcLSfv{@HN?l>G7*z%qE*|%?;lRNKyQrY2alhE7Dl2DRUMH390MX3NT`s^o4 z$^Mq@^7bhITh@3QQcjKLuN3NmD^?u#bmR_lKF?nTd>F}}uJRi6+1yqmW=b?B1#pGV z5TDW=10Jg?bu_y@bfks9a8OJ2lvrz@2@3R83L)MKuF0jWl9;~ZBSfroC^$G9mK1YhmEV_V-IgRJ863*-t;{s?boS-K z{vCJvhFp~R>kTCAd~%uwu(QX)&|{;h^G7i}hK6o2$a>wX;bMY0hhcNQaTsGQU4hJZvJFoXi$;Yl#`V zlLS?i0|hF`UiENG(isa0_40kmqd|_Ygnt^KJf?!@g?+Z}K8k~%17@VcjP4ISott^T z-oM92y0aY6#qhu4Z`(_ny>2>H-oxsApL*n)=}`ZN;nvqKUu^oqQ5|`yp^+ zR8H~R5Rt?gP|Pewy?Vt#6)LhvhBAAFYQgx3>hIL;r(LD*IA^?8z5Cnk(SVp!lPK~( zYk^dx7)9kve3AaE#+MrGuZJE{9$%;&0%IdZ-&geU{(mn3#sOI+A_&9V_ByTIFip&w zTDfA_i|-v>Tneqe8wf^%)Ee-5s<~+Ob~z z^KLw-nS#cCO0A3kB~e>Odc!7HbUx+i;X2pFQ!e}b>16m zQ8OQ>WXLcw@8X$Uc<$8=PFdc0mPAM|^SlP*Gxf8?a4ra*j$IaRJ4l2DzFreCWI>Fn z!TOlr3HpgffU7i3IVBqPagjhHCf6ID1{tESt+bhW7)dn#96C^l zH`5QUgQkXZW~DJ``z#8SU6g7BS=GEO0&4^!0fqlH&X;WMx58sYSrBVXd9}{iepO|8 z2M?f9TYg$7iU|O%a)8yEkEupz`{Z{3adCkz|Ew6-W-zBh@()*xVgEsTH!%3B+18l^ zN8aLE$P!$d+;b-k)Vy2|%-VK6&$(?r0~mJnjgNpMwLLnld6V;5Ry!KM2_m&OE*!*F z5sTJXF>v!XL52*CVaORY6%u-I+bLeG(!-%tnDgQ~gLfF9pNeH{sn9{nVe?}?jI+Ic zZP>w3Ah2u|Ix4ICvlWPL!#?Jp%$w7q4zy)4IY3VIsKx4yW8Zv38(8jbGG{iffaxEN zbGBlt&B?E*2G=f2 zKS5cgk5dzNPd|X>0nQ5L0BirOKa3h2eW;8+I;HNIWl`=c($zF#zNWQfUIPda9{#F% zw<6{3;l~JMBe*UyRrcqJ6PN1u!k}cb>DE)z!@TXh652d-!e{bQpenE82t$+5y#mUP z?bSeqe$IJ06~^(|IX=U!L7SOOcPCn+|B<=L7Po8bbMiX zeId-sq~ZA9QM1e}&nndSMg?std(D#XlB#BF-S0TaUP8>t9pfq+=|z^SB&K_u+JexO zu(`k!&ur%>=ELk_fQjBOHQC^rM}9cZ%f?}8-VYpu9d3?V{*JYM|0FYLNa$@9U@ll@ z{DI^jgN?9?Eg|7gREK!PCpgqdvjF> zi`t_iqvAuQRI)>&+QCKQCFg7{Z&JzKs+!Kio&s3VK%*~{MACmXwt8Rqqj8+!DY=m? zA=Z^GF>=YIS73bMqRzZ z+^;{nORiE2PwZUyEaZ;D!^2-8FV07@vop2T%-hwl3dk-B^Bkv*9TaO;rirg@+6xsn z8RCW)?C~MkDbZYy!FDyD5Y$CuxW0ai%@T?QrVLBh(hidyRpP*4Q2l;|B3)Gt%3cn* z{5t8qOxCe0518I!S&HfnT)G8E*(($G!cl`_R0FJ?LT#L-Yh{%DGo#y2QOk)V5R3}a zL2q9#JlrkyvxE=4KUx4DDw#f21wrlNcyzk{aXmW!xmBJhze92tbiE%}a*^tGTk4K{ zZ*ESOL4!ywqis}Z{u^I-JScOm5VO|{4>>=4 zwr`j;fG>|yRp;`nxum4y*@yQf8AacFJU)x+egwIIC;GHZv;N1UaDKDB>V0e?{@LWV z@fg<=5#5^Cjc>D7RS^Yq`?8BwPB-00tKRPye@koOC6x{aTo$NNmU8@Y43PZ9?RyY% zRgr^90mBl{>g!`i8ec4&)mZ#@GBI^c1GNeNTTln44vdUAfE&Ce)OpTJ`tCYu@A!%s zS;_GTY`m86e3^sE`P-=>#aQK}&7U!>HmEq^G6KN=J36SbA*|xYZm;vn$RGY((yedl z<8k{O+#OY){g$dOS@{QVwXSdz5(herd!2`wFb1LUdeNgO@%5g4gYmS|>y;qO7r84&!;b+RfhV6p=FA(S34za|H2EG^9b=DtDX*71fB_~4N6s0uEYnkuthRg#z`OwDl9K?Ue9ew$VUwgHC&LXlzFS^R1~`>jfFILRSsa}ou&9cNWRO-M zPiLyeXZ<;L;xktp^{0K(FDe3cS>_#W=dK##+~|ech#w(y;@~IVbevOd+4wmzz@jx& z;ioh2vg68mtvF3+bB(VmuB|EVbC^sZXm8$l#B?3D{-@aIjlZoc-+n<^2kJS!6iA=P zil=9*SqVLpT8(Sa?QB2>3^J% z*5k0_+W~jtE`R;&OCs92fEen`Lxn@*jf;a#a|P^qa}7aytC02mvmW#FXf~Ul=!4r4 zem)RK+4K|(wOL@8TXu95CO@zk6~C3d zkU7?oKb#Cw51$|g^W1QG(AqN&LgoS`(9ST^f4UIlV$4t_utWA^owh^KOkYX_cUQtxb;#U7qQoB$WtibZ1Jd0< z*1MB$8-6_l{fg`NoVv0@$#k7x(gQai=^$MFpILmskGDN({%vhKvT7Qb0CVm{+0m~- zl=(Ao-)u+2YpVM`PIU(S48WtX-#0BE1U`#DRPL~3qqA#6h`6NKfm;4WR;%LW*==M+md?-h`6hTShs?-D% zl(+r)t4A_)xl_(r+vY)Q^jG^nbu8(Z$jJdO#NP!{mYk@FlYAG)o`|q*hM~E> z6=aewDrabW>8}d*>M8UO$X)(c7%RF|7*SS&+MdjzMB}{|V$;r5{^jgOWuL$p%2P8$8!GHdOo|obF=af@@d^INTb-aSMNg_^DgBJ&kgj| z)_ZCl=cXNF0$tHBc4>FMPgg>i{9`E152_ z?A=_A7*)_cyAX^yFRb}#MD|*zcx(8@Icc#c3oMBPT3nKpwaMu0c}xr^AxVR~GXDaE zlwBq0zkhK~Z(Y-*k@yNnSq_X8!z4cLe_1v}taj*TSCn^^D#IT6zVW z3>*xKU!})}v`>568{rDn{qiJDQ`2($9t+EAL+UU8-aiUw7VJc+{8%eyDrt7QIgDbm zLcAFnXn{E9KW-?KoDdv^H14(~ty#t38MJao2G{JekL7z#0EuvBP(l|RJDYKGb*cr9 z)(@I2;Y$K=@IO1+#??ItlFf4R10SegHt6R1*mofD{Aq;O8k5^paGjcG?Wn2*=h zZ8D&ipL#6Ds$u`nPf9QAT1W~`ktMq!m%Vzshn3By}!_w=RMT;-5!U%(}P z@cc7{3p>)uL32cBg&x*l4O32tk8HG9`@L>e=O!JvB05CsU{bvQL(3BmPbLorm=b@L zpS`Znt12kCx?R@x&06sZhE+zj zk#J2X;31I4w!~DN&!M=KIK_=-@#8pVt8i4U+tmDQ1ReCFO{l67)B&u z%uN=`|I)H{j;a3y#-E;__2Lq=X~(B+e`L#~<*^@aym_I{CeJaE1o$5Cb#SlL9r0I9 zfJwrWzu4R1*JrTolrH*;k!6T5l3#D5{qq-Y$P@!`aj&szUzThM{Dqmc~OCltdh($_}_>)Tk_tf-F zIXT`s`LBWF8KVy5uvuX3(O*RYG=M;xX*2^Rq5Gb2J(x=NJdFixdSAW6qd1jj%4bvkC8k-UCjHl>ZPHc7nAW=9_tGIp9D zDpk{S2FCjfI`618&PauXA)S_tNoCXN(yR2um3W!KngC_mIf4&49quqbCes}r=V@{zwY3xn+`b2dC+WBE@Tf!NL_H}^I{NyE#aI;yZ$s7qFF7@!1*fIJ88wQGF?gO zQqVIfR)2Yl*ybDQG=1bi7T`lo%5MR&VrhL`K}xi2Z^OkgLj?Q3a!@j>5n{jLN^ zXH@9muHCLHw$i7DbCK(uIfeLFh0NzZf|NAfx6UidIcP(Y`#B5zA3D=?972L28eGav?yHa;Gb`-~5_&QlOh|QnYfwC4^2H(w?2#YJmHsi)l8}1VlYiaw z^>)ScSe~nV#d{k`cF`4qJuhI#c@wBxeEfSMjd4mA0R_g4VEnSqkcXjTV3r}kTW{fB zD7dbF3Wazu_dMnCGx2K9bLaORy)dT-9nO5&EYPKKCQ9ho2gyn9Ud=@SS@e(oycify zg9lkdeBrQ$V!`+g{3p#_LM>&lTjj5a+1T9->VFG=DbKXm&v9&Zu^s>Y$iyGRv4-X6pS44ng*3J3NC|`L`tXj!;cxa5zfvLubzQTcI^m9~M7M-7zE|#Ekh)mDWGx z_a+T%<=M{}Oy;65NhPpfghvx=>Z;=2+O|jlV~Lh}I$LA)OxI!NfiqmvZp}Y4pK-x< zx*E)Lb?_pSw=*@XmAkMlLC5Fk!eV|)cIoKHHDpvW6SFlDmk6Cj`BT;|o$c(bix}5= zOPL2BFk;|l{t~Mp?AC_PkmdiO>&?U2PNVnXcCMl?X^?XP(;;MwG+E?xYTWy4jTmI*PfpBrJ=fH&pZSX|&wS=P#D;i911a8Q}H>2-xz zMf+DzR%BXvfk^E2?h8$4^Jf30fv$xAzVr3xik&{rJ3|<0HShw@ zvr{)i%VkTvTiSGfDhPje_VSAOh;4eV_ME0xCvei}wl@99CYe*P{Dc)K%o;^fvb;x< z!OfvYJI$@h*T-ppc##r-0)!eEC{dmjHTmZ)HHJL$vq{I^oN(ajcSN(jQGY_mhr^{Y z|IHGSoIafzRXTzhd4x=O7_JrUY8Pt9H+{QQI$q09&c`ZB^^x%2+i5P@g%?X&skcwK zqeC;Dq`5@=1vhv~`L@z_+aLpnaD5EBY5d7ypw?y zDQ3F)pPE(}d8@wkcnJ^n_fi2|4sf7W;9J6;Q}iL{J{1hckFg(4Smd78tm(MPB=b3` z;X8RVIvxOXCr*XTn(K@6s;_;rUx@k$V*WCl)UO^WU#{BbIZM4OvAbZxO;fo-%(W3T z2aH5C-S9Hw)cYP88uZjbhi0r7H8Nn}`e@e=-|J7gpOMF^-db#$kVHy?0zvH5#($)E zF7q8}jRm|Db<*Z*AOxZ6?e<^(GtK$y@)=`>N6jtQmr$N)&}4V9*|rbu&+uZ|;f&n} zLC3R?9%UxRCCe&9QjVSv++x98^Nv^>lVgvy20so{qkRvpEa!hzrbHaw8obqWRd%rQ z@OXi7cG?#~CS6Lrlv_Exaek%n-#_g`HoPCVSrV92&aPL6v`Rz7L!M8>e6|^RV*95Y zDh}udST8zXeV81jU60%5LXDc7VcAoxv*^*2Z|F5kw__JDmpuj|C$={p+ zi=xhkUh>I(7U4b7^l_W8m|1VUnP`aS89=J4g)1pe_kT7pSbjnudegIOh1bTeKhAKy zlyQ!FY}4RkKc?;BLU|}$Gyh}u**6>KxE5EO|DeafjZffL;4gJjKSsNrh5K!UY7H}Y zdh9t~MT2`b5_hFzn}7>5;(JlB2U8j2cV4MXg}Eu_go{j}EuBkicf}&UYlR7>q&fJn zK7KnaW>9C^TzK7qI7`vp99~I_u(8fb)SPh~3u0%+sC88-93me|3}^>lZF8t+Zt3N; zK?*(^w&o=d2sMvFlvRFDY0jhVdQwZpR|FoebC1d&-siD|a5skv)dyx;=-&q~*PgF3 zRQwy^koneZ?8&T4F7CL5BH$Yw*4nD#x0y|ocw5Po8|`J;cXr1s7eO$4?S?ZLUnI7*J38@>nhjobdhT~R-2~TRnZ*|~cD>_t>66-1%kiho zF2t7ioG6!}%)c*@>m7w2y75E$V*pJwkBNG@qN9I?Ce&_8ggy2uis)}858oC+e|+mt z*d#Q~_{)AVd)8txeuK-mQlF=%G_%;g@%DR|%S>}rW50L_Bg}V?s_8itTPh!x-K8U! z{kK`TiKE8&Qv3rm|AQDD`7QdJPUxTfXx~+Mvk=(7^t!{)<#Vz#VX6={+I;lEj~-(O z1s)w}^4Q{3a5)GvaWB-?vxby9m$t zf1aNMv2V2!Huecx$ji-8d~&w?;S0$YqOaY3@9D`)+*y08&&*vftxx_2UkKfKr4fm; zQ>h|9VH;(emG3KllD(5)>lrWJ1wDwDT(2H)Q3@OZ8nsQ2-t+=RuqP(sfD^yfRyf|~ z|A!Zvc3f23{Dm>bj*^uy{j^4%%5S*>&#Ri0&s@csE*~*V9~k>r4hKR$S}SYcDeM+h z+p9Ymg1f3;mVf=jM+;os#Yu~J-_2N(swON&?Jx|~E{7@RVA-QskC9fw$56vCU5Nf? zc6&D7?&!iGE$-^V*hoVc7VA6-8uq@nuY_rCe?2**@n!tBRQ9|0Y*}ypV{`mfiS6pr zr;rVYLzRu6w|fWziQJ*E^64woYkx{MJ8JwZo9O?baN9_V@jT=AyD|*Pv&*4`bN=#z z+G%=p_=vu{b9R1 z`JRsD6BnxUCq><>wC?!>eH;^_CPH7B&s@*`caljC)w876t6JQ~A^%C3j@TV^52Ah> zXM2oh=VjwsDt%Kk__WgEVN0s(%XiRyV*Z`J!^QE8N2pB)4dIjTNW2B(ZQ*wV{qv)n zVNwv!4gqlcJlPMRdJ6rr{(4MajArewtaw*X3swmQQrqqliFg)gquzgJS=mh7jcNt9 z$~o=dPW_!L18yu%Kl8k2^gp`@bOPQcK0C7B>j}%VSGRB!CXX8(FX2`xDwSq1=c>HU=n}*}8ItinIZS(Aq5_={_hIx?O zMQ2Z2JtO*^Hz{1aC1FQ&$=@yDxz!e63t^_89@ssIPT&x^BUH);N)WPH=Vl@5y1t;3Foa4HRdFW zVgnD8$V=1*UIj)x+d4&59)LWS^`A{L{mrQYEgi#^DvtUH+p3pRUIX5qCB| zXa9Gt9PV1Vs&WhMn;QL}5{Y(V94{{8thtVF+p~PXtW+3LcPd_;Eh>yyIaz;T8U8^( z{_CTe(aQoQhrvu&twfViR5rF%P;B_}-H?F|t%J~YaqW_sbA~67#>-`!Yjh@d_rasg z*Ef;E-B+?^6nZ{E{z#>`?AKF7hOMXE=zsVwQSDyeToWXOV+$2O5`GR^tOX6>)$2-Z zsgWAm>#^w9&tBtuZc@{gAColb-!lTc%Y-*eSZpu2aof7ji1Bcl91w}nW?0mXt*L#E z$ll({`Sp%Fe!x+j({%Djn|Vq6hXgVp3;JsT@<*b=H`O}TfUVPHYQ$^^KD1SG6J~9` z$^KhA=y3Avz`^R_t7FPx{Mm|kpzfkTv*T_c!mi=YvS-{eb9vD zRx77wOi+21HbG=w-xi+E>?d*%U|J=SGpK|n+oa>wKQvykmR5f zBE8#%tdFHO`rpL2p3UVCZcjas0jFXJbg2w0DDp`0E%O2*M259F71z-!_F#ep`VeZp zGX6^9Vfu5uLdYJHn@|{J2P`&e^=D(fPd2_-|1R;4WNd@ny5EB^3N|1-y|Y|WKM3E!Sl$Cpbw*m(Uz0r`AsR)c*Wi5E*A z5crfxxo$8qx)SBe^ocC7UY1`Ha1i?u^2dgkY+j)kqqpo!oOeIo#yRZf;7vPhiy%%S zLKL@qGithj*`=n$Va$eE@F}9gFZZ_)F=E1ouUGV}7x z?)_rY{QRY~xuEQGW$8jmUokx%KBwcZHww1EwGi;zU0bin0bBPOzv}9$DhV5wg6GVq z(akTdVcL7sYwLa%Iy?Rvnc$Xzfhx1$k+0f;7s z!+&tdj=T^0Z0mh3(o*iwKF{A%3i3(-Os=ORy4s@$%C6LZ+1~JpNCm##y&!=#wfY*ZFRWyuNTglOB(^u_=pXh;dtcTvpdH=b;*(>HZ zvGz5s?Vh^$w`}X-!{Hb9nd^U{emHtEBR%HtingTcVrJT) zH4PDqlS|p&W_CN~1=}A$wRI;1OQjja7f?+-Ft5vo?;RY|6YKKgHe#2pxJ^ zeT4aKcTp5VRMRj*cj%3~8_Yf}+{H~-w#ABYaJEnAK~luE$hR3?hh7uv8OwX0HzG}& zsj;j(>3+7G7krwB@{XzF)xmVTAusRuJE6O09)`#-*Qf72g$g#Nvb&mkfl>F4iIp=@ zZw_YQ@EPLuoq)m9DzhsgJl4*!MuKfaqu=y_k1GbD!x(y6eJTT|7{Q3ss>csguBDGQ zsO^$Wx^OM%=$vTvS7SW33tPRX#b=P&qz(x_3AbC_5>OUV1dK|B$_rJnlYe5G4R3LD zjn;3ZkYZxxcNznc{JWQ>Xv`-b(&6RQkn7%DNkV{$UFuv)fha#}1bUCOD=-*%v6_6f zOaP&$BTStU>D4wqkbwav_|0u6o*X4h1x`fC|IgtfA?cym*$0Gt6_)32`)M=)K}~7= z8DnJst(TaT+F*ulSr*cvy;2GYCSUc;uVoZgqiF}9^2tF3$t1}q!V;mR$LM1hYv{p{ z^Dz)C5~oAXY`0zS0wD^cLJ~Nk0+J9XJ<)`B$vp?vV>U_<_DYcTp;t(*)b`(=p^`I^ zTG`<9Dy_0(@GQr}X6==#aB)4IUG5zyzkklBks7=GQ^#uu%xOchRGE4c>N? zrgFBT0y=1!9#odG@kl3=OMOy(f4c63z$`u5z7xRyb3T-9v4}|-OlxQze?}pFho&69 z#RNW6&$us>UY@IDx*5Eadl=;Pxtjkw@W|q6Br~cvT;YrMO#WXJKPB8?7h<@|di77Y zF=fOtv&A)HB|p$sFoI?&z3j2|mA46>)Bq_@c|BDX`5GLU^moIrOFHBPMqA5TWQ`Pe zopA0*9_Po*`kF!n(~@;l#d%`SCzz(|wYx&yd*VN5swuk`8R2Ls-$e}eN9YxQ<4&uN zEN!>^#u2MNX{}ohXegzxHO}Ok8v`WFFxwMpM4!)!KBuNQvBy7ycA;nS#hn;spD+93 zD*;MjCZ2K-cU82aPfkI@9S(Lg^^t$};`HYDp1{~-@?yt9{eV=bQ4Z=FDEkNFHbWI81MAbO9*oJ~y-%kR9|c zcgj-#n>pBWP$%+sTgThM-t?)J0dTMvC3hdOE)~9&TrFK;d1Y6E{%BJ&*GiePYraGc zow*AlFW*oZSKLWQ#uAzy_w7b%TQh<_NpTs!23jvs*O{KCd0GfQK6; zBgvk?-FLQXJ}W~+h0cb_A-l)$(ho|1wVnVuTfoSyxEH-K3(|eFPiIrYtOw4tx62v> zTA^<1S2w#(S=u5ro38czqU${GG^dvzcLuI1yR-lIvZbG!9;HSZF0$M$;6NAR2|%qE z*f4iuN8^q)Ze;XlLwwBS#fc)a!0at!dyuqqx1xzAc}dftTyrHkn^YKa+p=<@o)^AF zWLQgleJa-VDknU6+ta5ht5@fB&|5X}?XTTD5Ae@%@**o4>Iq5a?SF?j(TtrL<6*)TY?4hwlOP!{5V z^`TP|P(cw}iQ4{Kxlfb7`z}eQSN|9)-zbzuN*bYB0UI9d4%0Tdpc7V$WG3|!@D)Gf z0?#sKPghFj*f}0@|D15o>D#Ly)^(U*EvQ~-f+C0fu9CyU^bi)lL>3b25%R%T&Lrv3 z^LOWjz-&?n?DjK5poEU}w`|9jxtDp=xIIxFD4&Di-fQprVr?2p{f~6jl}FQe)pOK< zcymglub;QRME{|bZk`Wf7zXe+$?*$Mnsvcx`1&a(=W3_5b>?k`4AfcM`VW^1oPpGs z+Jgv9k`0OGmX5J@+@tw^5vjQDo7DAd&g+56ot5Ol$UBR|xkKhY;qJ|M;Aip%d{V_V z^Nw8DAC#Bm6`M_R#QGaQ`<>U*vqk2|^;VO98G_3E;zbj^_;JW72|uXQK| z@I{8@wTA#ivHr|UH8pf?_#Xma%EPf%>{i!s)GW_ra{hPWV%5W_UPS9FSJ0=ON4`m% ztGGP02&?qCx8aUo)67z}?~QET5Q%qfj8k2$arTU4YFT2J;l!&n`ztE-yc+b<+%Bv< zRQXkO?R*?~UZ2-)mHd!k)ZYVZO^&fBGCQh?0t-gWO2wPg6UDgI#U21}fd5uZB;Go9 zGMG_f>Hnkn%U1WPkcqSAQ2)ZUwnR~h+JjL*I6Wza)tZ`ST!mde^|rB{di5Nlyc!Gj zr$kAhK&d9AI04c5OZu*6WJyW>{Fj!1(LX#%KgZM{+CV~_4{bCN1A3fY6Aho2x>&JX znO0n>-AD86KPaC#w;so@>^BQOq7rlt5Om;)wGCwK%}gX2!Q|MI~+kJmpb zrdj}R;0O&kYAoK +ixi03-t^Q6n+^G4?;MtYO+n-_t6dA($26yP?~`MBqxVX&U6 zP2jA8I0^1c&p#dNN{w~*?A+;O2-$yL3>*AzH@wsWy`9km^Lnv!-tV-=K!DijhwnR9 zZ1nY|w`R-JPF0_coTsmca51~h2bN3x--i!Ve6=RJEVA~o%fL^*he^x-f=sf!NKXJ? z!Mw_|De5E_K=DlBU_h6B>qhRt7~IYAn=&I^aHqt#*mRzK>g|rC|FP3>2uK@Ejs9!? zTj&DqTD1U5koB#zFSB3DriV+?1}g|trsV{hpK^Ff4_L*3ZGApm_Y{-wBJ?Uo7g zSr-dFW>RxC3b_2+w}L29XaKf;MqTE$^M23Hb1d3OEC+m4f?5ro-Z~9DdBnj`!RI>w z2ocU+4=*E=mHU!GXAA#tI|a|7gV-oOsWBkM!` zFyoz_KM<8qB>LOByFle=XT8fhq#E6?5?YAlt<$*7qy`->I|EE(NFl{fL<|KY@O~jc zB95c^c~uBz=MSV|hz^$x!sXUkUlG~xh}X~0o+q{U1vIodm=!;=yBiZ6-p zx$bw}skkY=&JGK4i2%WXg{<2Pz3yLWYd52PWPFcx?NVk=IZHjCv3}bdO6gL>wAS$A z_$tYLLI_A&Takk0qwzfcXvTfx)&t^;uGlJNXJJ?XKu}|~=|a(<^uOl=Ts@>%&SR7q z*_lSuZwGz8#VJx(x{T~U!29xmE;6v1Yz_1+?d>$#Av1!@_S=bVJ9V+XGw1USju@Vw zZx-|Bf;8e(V5!3VAzMhWN@`&gzZ-x;o_~@(7iBEQqs1)w$Y+2?dTT~wFy9U?^3Id6 zY-9!`^+}4;wT768GgY!XhkCpm!gHm*;Six;%w%`wzim2s3Q4fY|yS43le)KxGfV`HMEn1`=6AHX54Fui(!2M@3%a5>BZvER|%H>U0)^ zCyWSfje=Bz!@h)dRcenMJ&)Ui(y6P-Ft?W=y`HH`-16k-J5rtfq8RCBJe@>NQhEgy zS?hA2B!30)@@X_5ygMQHD2C6=Jcw;84XaS#{R^QYTmY>0Y1<2u_;uv_Z>?Xgp$My` zt8@8{qvqe=l}Vg99&hFd!9UhcHEd-{uX1jD`kjd!~?>@4WkI?PGmn$AebQ^>YvmOYI{U{`I01lLO@%ncaH=&5Oiz(2lW;p2 zjr+NC8kmn<;T2t+E94cQO!}b|uyBw3R|ZHl7=)Z87*5M9Xmdy%=Vr)vd;(Z| z92QFRD9T#|fhq(jGZ}i`x6!v-%(5_m}KFdUoC^4c=kV4^__{y$s*Q&y+#{ zCtg6?qd4?04xW^2MsGq1r#>WtHIP>MEop{%>WP=awv2)jGJuycO3?)0R)YWnznZ{ulF?|$Fxdj-azrQXnV&;H`3TJKDG zomWsuU{ctl!@Ixie@BocO*wk`FW~@>>*uxx-SYJD(=|6=$@4bPCnyFuQ*A9Se}|yp zy^KG726-0m98NsxgU&g&#e+3v!Vkh@0(=}Is=BV2*i)`qtlO2H2g`R2?IouqmDql{qDI zOV)KEdG79v$qUdGK5;;}ZqH?{@VhqPBf7!6YTu@mG-xwfIbvmm;rWe}n3$9KNS?@W z(OQ^y{=9b03O&m&Di}C&y@%HXQ6Q_uj>GyPx`90@K_4v^=IZ*9@I>j4m zGZ9`C4QR`K11#hs52TVB-OR1!oOZb^i}F{$H!@-PcT0jethI(m;D}qVP((Z7vVWmb zO5`063KiiRwOs=t?Uy0M?qBl>>rG!ThZ3S%0@elP_(Eu;1Odl2F}wN<^1TBiVA}x( z02x8c>7JkaL=FSgM4#81SCyfs=-a^IT}DOTN54sOqA&p7aMXnH_>OUv&H)!{Aa)pr zcmFO?D~%8m=A~ccK?O^%-zQ)L=2a!at(My@vXg#5{MX1MO8$u1&R}Moxw9^gM9WglR0@}ci8^RFH}5Y`;+wsLT-Ih}td_a!J3HIO){HlOq)A&Er2V9k6boKH(Z zWaIUQmFh)owz`1%G6!UgrRe9r1}YfdRiNZgc{KX~V>uowrnwi_!2nun*7KrWB#mf< z_vVz?X%s<6`AQ1C8%O_|AMR`z>k1l4mjD3gb3 z)pWpG3zF+}MI|uXgqMmaX^)ZQ6s#7eZVz-pm=^wKn2{YA915@j#{ly&w}_ z9IY^6Dju@_?7lHp1;r%@tkR-8>9>*Zrk|M-`NVgb)_s6uSn3o-lGN@o`BxQk*@uLiPUrojz zZ}`GnT$5NNH3)*f(dr`>SD^a_j>zup7^Ba-AK?D}dTSyMt3WxgTip4CHJX zxghOwL2i|Bs_hdm?q#l@GCMJDZ?=T@!xZwrB>pFyN8 zb!s+z^lIM%M0k{0+Wq+@Z6)JF!=dvc%m*6a|F9FkRu-{Zwx|B%R-=j8sq>?O*Pa#q z@yitW985TymXdQJ^Aw@P7j^LLnjWv{x?Yck*ndHGIc`*G+ajH24H?71c8v#KzEZ3u zmwoFh;f8x?Xw*OY*-PZR85+FhNZf6gzXzIY54wa?s$ic?<=2+>$~Xs!UmUWlEgM?r z`?fzDTlCTHLjngY=+CPxJ-T!qpw!zi?wMa`f1fCzAuNGB+BF|I4b-f=m_PI*hBq-Y zk^f3u{rk112aaIkIH2#K;hkLv z6h{l*K6xLl^rq=iQuOI&)=rLH&tF<1w06G7#+5lNpGoh6rk+2KZRgM?&o6AbV>W-Q}yI z88H0y#7UGUdxdBACHO#^@OuEYj=psxTA)7eqWDSYzSa|A^y1tTYlp$aZQ{y|df^JD zn&*NL`m2{qOtp4jJ-7`tRN(SClGY#Cu-ygBjh4o#1l}WU=}+Jd|CunzJ@|G+1*6}v z@rI&d(#Nmz1MpYJAgy#+Vn-*|S5NB6K7tTA0YOrY5iIYl zH&U4V4^w~W=Bv<)E5(r=`mH`ZpD9MbkX2R(pqXZ3OgQtsxpri5_h78dcO@k_VOZs` zkpUDyQ^v427m%t@Uh>_t#8o1XO-NUvmPm(n5T1c+jreql8$Gq56Jfep2Apf%2jDh# z^rg5-suhUCj1FuqL+BLxJi7&ti`q$piu@=eMaSC90cQ@)9NU1`aA0&XPvSfI9dKMr z8@r+`(she(%0QeWy-?$&$mKJ81a(bt&|DxV?nbI(o(uB^$9)lbp}cHWSrT2r_cp+- z+)r^}akmW?HzA_MA((9V-o!@UI^{PYrhdQlOKOG+8(K{)#wheV6QHq*qZABQk?(Qj zF*V=SB3ydgmkQ2f)1$GG$9JV<1Ovj~)c7E_v^iX!H>41o&c9Vx@!h%cu(%cZ0NbqP z{2Z&Wve0Gj-K1>ify^PksfpGOASR}$n6%AW*oybf#wvJH^niz>u?#)0#qKj4%oE0)UOBb;y>@$h4_FSOW%DUJ&`n~EXssy0x+U9nj}#4tsy|$uDlVRPRDFr87Y}e~C_l zh)F3oRBL)gx6b?f$w1cCX}RZfq;u{+4x<=YqUSw?4Y`QE@mRA^66BTsW4U31{&_M= z&%ow0>#DJZ1l}owM`I5m#&F^npNMH;FKS9&kqURKF&wH2E~sX z@Z~F8*P{5bb>yKk z+vTLphg?Q8WpbgNlRgc!>02})4~=c@{;{Wj1P*1kaZwq+GwN|R37omzt7v|En%x3Z zl2HhLfSKO=8*d;x%6Y_bIl=AD1jMZ=z47DoI}^A2s&==L1J1SXxG~BxJvy9OpQO|s z#jXt}s!iqOi!Ut04=eT^yhL@RQ2@floj<5CpE8OavPI#b)hElSFC1KA$xy(Gh?K0Dog=xNj{tuoeS%#y>j+yp-*Vozo z-mF7YO|Mg6?-|ow_%*kBpYr=Ax zj$NFD*jVeThs&M+hYNtM{Iq6A>-T5dU=L@+%xTjjp72|U!L!?>WF9YoN1i@nf-6G1 zR5>+bco{6cTVwK7*w;BlI#(lbZg=IN1JGoG<}UAUr$j4VjrNM)Etp^=j_ygo6Ar4W zVwEn(V-m(QSAW3oF>kU&&^@iDGsWM2?EURe_uBJCx#5jP(F||oRnz=C=laOQrOn)_ z;cP;*eFCRB{l!IIlVfiAZp`ZF4>ZO#a(!R>U{811=BN;zq!9`tUInjlN&-#>o3OiW z5vVM-Io#cW+g*AKpneaVmA=#>kjOC76GkN4j6y*Y%tm%wcr}M^%)H3r-NB!{_b)i+ zTIr7?>s#@=ZPV^ihS{0c_StjYEch}?8Kt;SdHTtbLXWt|adRl&2zc6A`>AcYD|u6Z77UCY-44wNqbOxn@h zjL1!?GKE#*MX?CHzFurC{z}_zoxgczM1B-k!TYx7l9ReG`y=Ayl;xBHiEomItLah^ z^Se=U&19q-cT7~!2J!Di9`2!KJ#+Hk>(YYb@~= zbwE%G2O#!+XsOr7u)Zi?83--vG-TIha^%O{)r($j31(rzb7can(#IFwz4W!`KYst9 z<80NSz3)7pcXTb2Lle$EsB<89s|6Nh&)WI;M&S}6=Mcq8;$f+tywKi2@LRqj=y+!U1>E21RrFoOs${mH7H1iDTZlq16V_BR%KBygMC?;DS*_u3kLC16kBz0L9epA+71-KRg9zlJ9%KgyzkYDUoQ z(FwI%H+QbK#|YXAh0B=8nj@qJ=Mrz#(ykg0)yKOCtSkkrzw`xOU`e zXrY8O$j^a;pM60KYU$3NJaA3*NAcvJfp7hR{2tr$=;oscm|l7AE67LbK+*IN}cb%nSMhi z2oqjYUmd>I;A=_pMMw_I_>21xxj?ZSQ=RmqGytg)q|u;ZQ-pIs4G1^+-Ecc3imBax z!{9ph-F)`lwgTKU?#H#rrSnU_E(lTuJ}9ynkJt78!T5Sgj70#rDZcMb)*s`4c0hhvCBQV$U#^u)6jz+!|bK)^yl zRyzgS-bvQPlorkBTKyS|De|4{Yrs~5k*g-B>(s#=s+Eh@w(V9{f# z>i=1NQ{q|iRf3Nep`+{j@5 ze!g(1y3SU+RSR@*_P6w*AOB-VFuk@y_^qHM>jrqTluIP{yEUC1fs>ACnBGj`Owzjb zNLE;qRF=Lw%qkxi(~1T(uZj3w4hW`ov$(%R_eL1Dc^qNZxUIBf>hyp!+sx}n;(M9< zH9sB8bk&{!?R-z*)j!)wJd^FbW+uw)wL5Z;o?k>)(`{zE=HBuLIuUd30U{PaG*f+x zY+9#&dUR`C4tJe!4pA;zs}&@Ml;`@u>c4r5AyHlloJLNA<*iW>HKq`%%2dQF0X%la zRXkFeO=ah|-i6Oy9S{2RIw#7qtq7Q$LV?A!s4Vq)j;(V<*tr=z_bsfQ^OlFQ&uL-SBKV5@eSZKMCSm5tL8119NMG!e8#I_2Jw}Cb zt(q$#Aq$%!XS~+WL^0syqVDfI&+{I=kZsJ?w*hF> zE+O;ZRa!12$L;D=ak!Blz8$n;zx>FrQl%8+gVpY-^=DF9Z3Bk%oP|j@0If?%vvZFk=j@LD9-PwwjYo#kE2+4;@y%ubA7{Z7K|g-lbD?zs>_ zw`CEJZ1agcq!UTp@VznhhwHF$B}1TE|4e?xBYU5Bea0Ek9DT0#O{-@D*cY6&sm;7PNC zzfX~^;rXolc_2G!io0UsWG}!0;GuZ;1NtOO*yRxCt0(&eXYvMQM@p8ApP;5R;`=X8gL&Y5{K`gjHzQj9*yj<=3)F4Y`Cru}UY`Tx=c1 zvLVTm5fm;3JYEXmVr(N(n_9?CEToi1NocQE)xw=Jn9x*)aSqXW_+eTacPr$-Y$*n*PM9{#Q&zSxV8LL;vTHA|xw?y>ek z{{#7Q3O336bTOvr(eLPLLA@T3xKi=RTve`#k>YmrV8O-lOcQqyhJvOX)z?~=;i9n_Jen`>R7Lom~lCcQo` ziw90+<_IPJ@53Z4>dEtRYIC8whfpCX;6wj$$S5 z$nPk-Bpi;m8cq)k4~(t$?l}G(!g@Q_l$zF4rrdSHjq)b)|12X$I-f)`);K{N(&xzQ z`n$W~w=x?qNWtIBN8(!shaZ|YOzwZW-~jboM7@{7EB<9;$!-ko|A@f0l*7H(h&i6< z9BgZP&Y0Zpe^q#O*2|*TyZ=`Q*#GN|1JScQU~=bIf?nTCBWKBXW`Nw7H!6J1@kRXC z0{ZEO*^o~aumEIHnWDdh6(i2pqwh)nneXZg!bWT!2PpF~%nfiroXa-IL5jgwfYviTpX?h-s|I10#%PZDu*Fdd?IP&tgst};bVuuHPfC92H)^Y>N0}eURa=FG%(AZ^>r%5 zjs|fq)LHK{yr(Z~B)H9W@p`fKE1eom8r+U`^{p{N1<3!63JG5U4(_W9i9D8bKTmWn zPVuObu8r%o|6dB3?Yr0)akg;-DCA zo!CzVx}C@0N2y!4H=cs3{Rh)buooIjaQDj0IJLO(eVP~3`Y0#hfRc<;H2J*sVM2J< z7;DeXWxTErp3aODa(i}GXD~5*0ggC!!9a;2ryZDeQ4wA?FqPH&1iKM|TCuJPLS z(fGl8mV;4R+Yfs(yE_k(ta;&N z|3^#f2A~xe)^b~~rqp0{7LvWt74B7et#N!}(r$?Odc3JETirI?*~`9msvf9`X9JJU zlA{vW-X6UE9N?Oi$VGT=5ZDHQhx2ZnPx%fTYi%cG;@M6{uNm-a-<%l=%&kpOZmY=h z0gj8ypLhADEE^S1PD<$-LP;*^^gZwy6QJMoJ9&Tuz1?}Y*UOEaSe9)ygCq>=Bsz4$ zX5DfiYR}Zqt=D|}zplG7I4Ov@67)@1dfA{4Im6Hp(J+xf_cfpJ=LHtrbm1uec8CjL zX>R|2-t)x1o#;dna^1=s`RL&&)b0rB{h1Lb!A<^w%fB!GF?MG#rqPa9$5ptQ?W2s_ zUNyW5Nq@N6Bo;T>i`8A5eR|(dT@-u6|5C67@eSyB;iO9%fpUI0Ao6}q*mm*8en{7Z z3^Fk#2BUyz2<0Z>M(E3Dg!AgrPVWThg{DW3j}N3@)^2D0eo}WeqE6oyOiD6tD3RpJ z%_M%v{(Rt>0@2lElY-Gu7S1kWa#lDF=r8#q)RX&k6}3WdB;zCTvY zyq3gahH#&)z93iK*ZJKS(pD65{(ibf;H<6`7ejIv7b8ATZtaDRAQ^tg6`0&bY$PIU z9W&Y+7gc{DGJ7kog3cd^a<)UKA)310dXKPX&Nzk6UH*X(WbbL{z%FrMo)^rMnrrYv>qa28Q|J^QiCp{=VQc^nqEFhMY{uOo&QP^~UDe`~>uBMW~e8V+y)W6O(+HnxrF<>+8{x zrfy2%@Q${|cORw){upZgLJj<3< zd~}IPcSH!d5+!|oy1U9Gx0aGGJ@XNb#(OU^%a2l!i@`a@a@gL}Ao5HnkjwEoawm_V z32-^ecs@GXx&geVh!*NoJzNuC$fnt-F1aO3PWw^O18k;EE%A|xia+s$R>y~nCJ2&i z!&ngpRgdW~ohu~MNMRCGpg$rP_#<*E;dSIhx0bu3skjn&tXIaH+GlnGvDdHKjajQJ z>axs~#ZmG6;I|$J>jkGnP^))A4G;728u+Psih#5n%R zNeu+?nNe)|rPTWu?V8^jWr`=BLCSo7WiPp=$9$~oCIe4)B#f?YoHqCWPv+0<$DR`= z@0rhdyEmp>yp$bT>qgw-7=p{zJL6=3$=h*>!(uKH%~$*>LH!59qg7vQ>_;Rt+0g59 z@H)4RK(;fpy$7X`*9+UF%8U`ER3Yt?XvU)XJ)4E)l`(hc&R* zjf{P}%PCIcEXjf1mYp$da);@n04ZOvnOFd^Fnv)6?>op-lOE~ zxmsHmL*XuO3`2la)Ubqu>e5i~LNrm%<>Oz^wz*3hZ4IR!Q^>g+mieVLvq{)lPTj6= zTJ_Jpn-5AlU@=AM8Tzf`uCb_$hd*xT^6Q~ksWu9AM?NttgNK8;vJ3i5{E|dljR?v3 z^inu9OiU~6L2ac}J9S+OGpC{fHC$^!C6nK7vjp*htfiBxwLVlOIC#=T!jjYZGs*Aq z|9dGXMbnG-*dOBk*y_Qt3eQsJ0LnBa%q*LsH*bO}D9bS}A# zU!x@PwWaCS4X90M`RbeMrUH=#Z2tLV}+cuuf#HS0f1CBAGTc?;3(T~&`b z@BezIL*morK_+;43V6-^2-$D*dBQgQ)uOFmJ=tpQTjanx9K)^^@+w7t-d3`u7!baa5mK`K zIujK<^mq5rkk$j+{T8lMh)eCmEwA!0iR;wlfnoNb5xjqu2Mc`&$9Gywh`af<(Craj)}GHfg{j(QEygT7zinw-v$2PpK&(&#&M=y!sNr3gV*2-={1OR4DvECBPMMHk%937h5a7u#2pBQ{9%# z!ifH;PKq45i78YslcM(CFJrrXspO~R>=g@l_qS>^6ERAwg9DZJTyNo11=oJ!mU;#O zTW3m(8hsh{bv!t(TI3{(cIL0`+~2lcylk6I%0a9SoylI10q`tYvJLZgD- z#!|@k>pkDX01^Vr|EPxVxo?=_WFYuedG$I6_w({hIyw~DiUO7bcXKet4U^W zIQPS2&y%WM)XQ$$USc%S?m9d3Red46`}cY*((ZGn_tr6qL~)m#TxDqAOECiTaj#Kf5&};Dzp$%qF_3A0YuZC%x74Gv|UuK)K%;{+5i-cG|3;h09%Zu*&j@Gya zs%(ArEcHwXmU8V?omyN$=n57em*8LaC2)*d2c&YMeH?V`ieSqeIXCU>8qG8e9!lIY z*+PajT!^k4h0WJzc?UxWTKuK{HAV5KK$bG!VBF}i1i z^v+34gjSWelB>JVs;^P5j&$nt#hxgbmeQ&^+C3KrwkA`$D{J(oRvTj{MB8MlS9aD(D4BuL($+p3Qw(#%V--Ndr zwd~UFL$=DC&VKAe1*aSq1rB!LuXFTjE|VE+^~Btzi})`EwG@_ptkdS3N zqZgdUu^Y*OfA=FSG=~q<>2f5y&ZUpqBaiy8VGC$tb##q2yyn}(_}5rigYNK4=k>Rf z*{N22xM^=EU(`uTOeEVr**3Y(iu3JxqoK7Yh{x}GPi%k7oMUVLPm1M0JB$ zOz2G*pg|pl|Ke*<%Z`uUEwycJ*5CST}$McIx+O%h&Tc$fCEbn+{FPZOeQd z9{8g95B#Drb#|%3KL7Tvr{6yDzY&1_xQowQPo@*Sq^{F05g4ZFW6GpiFY|dPS$1}N zYpaBiE^JdY@)=^jmYD}ZkmcU?QzFi*Jd!USfV9yKdiPGsKJ$ty`!x%`897pxRY~_7 zp>knZu;JeOhqb4uB(A$wfo0cBXjqe&{OYGF#oyDz1EWrpKP%zP_Bcl6KuLg9${0;tt=!gsq#$tDAMQ#$~ha>DHd>-?@)k2pdo-hidHO!qN^&a(H zKF%qS-`5*VH|ObY-u~A;r8wT7guTJ>QdhF!WRvuCPs4&YHWu@DPkU<4rXu-tbYgx3 z{w*W<!c7xXwjs()T5 zxO69}PfF(khrx-9ED^zBk@Wz0p?qJZkazN-ix_7}=t*4k*e=_qz%%TFs3W zBA>L|-{E?P$LzH=MBmApxvB*%u z)+~kSEu*r_!WZ8;WS!)XTZRDF<4zptQ7dY7eqRhm2WQU!`%^*3Oxve_UHJ1NzQvlS4-_(52>m%YZ#Iu8(O! zY5JS!GcJ;;82(~m-R2o}qFqD@p{)j!m5XSJwVl1~;I5N5OJNgmTRu8=H@H#}U(;n9 z$?M&!ze>j8-)gCjPt#7SLo;0%&!R`?;7r_Tja?m)7?06WJOYg==2o7Kj~xhZ@6x`7*t@vD zycg{M>TEcFS={CBJ=v_`JP>EBDV;mDY$re@(O3Wd?%MO}7lh9X{rshOB&q+bk)8?G zL~N84u3SwZQizs4Y_Ln3j*oRy6=}HNxM`jV!6_ZwoV2*8>w(lz%ECh#PxjKYMo!Wz zG||h26KQ+WIk6joRw4?X;3z7OuE55pwmFDJAo5qvodiC z`A)*pfbSEl^i@|>dK5KiZTnvOPStWiC?1Q8)XMJa!Kyfs;M%~~&+dVKN=93Cv3>Sp zv2}6P`bZZ$TI@eS`R)mtA8$kOEW(J5(o$hz;srRk$4`IJzyx=Y%dC^~x=WSeJuT&; zT_M*xU6+<~aH+a?5{c;hAd|^>O%WgjyA;yNRH`eza3&d8rbnbMypi;o)cVM8_r57- zHw{Y1m#=iEki0i@fft=zf38t02pug~-rt-#CC;#3!)L_YS)`J7<8E1SvIQ$)pN;U!dsv-+7xBTbMSLXwF!J}E*f-xnYO+Y@ ziw7dq{6`~MV$Ut9C5vsawx)G1s&h}d%3AbyttbpxV{D4N(X#4C)|ccex5v|s^^H%v zl)LoWk(WU}H{2&F(vSU8PS^di?{Yr;i$ZTg#X*B~({WOX{*`nE+G1Oygd0M+FNIq4 zm>}HBr>NJH&$BbRtJSa9s)`5SV{P1Hd9T2nF$rin13y`x{eA^;HK_hTCsifiD~vfa z)ArEJ?cVE9>ws7slVYh$h35sSop#q@>ZQmP9B(?P)!W87} z;_bf^#{B|k_=4=k*KI+GPj#^ZjGM?)3Gc;gm!ZrD?Y~DFFN{`E;oNZX=>zB=bRxmI zOKm>E?{xXa@`h>lQ6RtEh}-HiU4TyllA=Hibv@xe!0EL)Ch|}lmK!#`dlw_FD#PZE zd`Au`rmwGjEE{Z!%-C7!-9%YqyT7=IGMSVt=iI7ct|seoGW2rGkfi&%E>=iz;LXE7 zy2O4L9RVS7k+CJ7wHr+7**&J*HC=pLupG;wx zsvKBw`E{hErBj-%N)f`_#5|2LqLi{2*YeY~Pza1L^7VG`nAVKG$?6ZI3_gj)}f>q5g5rZjxLF(rL zFHGDU#Uy9hyjJC$z|1wIfhfLjR3eIJ6q`q%tk;4NrU%WhI8Ar8xVy!kUw2er%01ll%{)e)xfy=9RA(`*%K* zm5#bd=TEUzm2Pw@@?l$Cmg!K`*k)@Nev6BBOq`a|F@D~DPFmD(BPSN1Av*9#MzK?+ zZY7Rt5~#7|M>-usaTKI_qxQLwFW<7Px;*I(nDVVgv^i-Y5mvDk`ZrUySpHZW9N75> zXx5s(;`(0&@1rH4kYfq9&}!--6lg?2VFN4B4vxBk(zztN)`LFP)}HpTBQ#$*a$k?N zcE3=>vhNacrd}%}*i(E&H0p&wHNPeabppaD_j;c?*Lj#*mV!9Q-tBP$=#>>Ncv6{W zjYxlX(OCJ6+n$!jZ^kad7N4P_eK5RLrXN zd{{+iVu<>#gDocw>`cCF=|Fi44Qg@7$@<3}(B!0VDO6n8q}dC1u6=KF(2XN=t?_2w z%*=px-80)cAG6tJpcu*|TjZ+7e~iX!O%m63zkl4{=U~wCw3GBh2N9MY!>uOD@+3BP zTls$ivO*b}M2MI|Ih17jB*@bHhzOX!D)Gnr^K4i?#Ic&e1oca&XM`%vyop_BQeoE| z95P^VS^xP(6a9sAWd!X%xsqSn8PA4hw!+Ht-hg5kF%*9mr4?trSbCMHMGPriI}_)O z{<_;3@-DX;f^G1)Eh+xw><&gy?@8WNWWPqMM_DU|`U5@D7?1{$2_t?6cH@~v;t1zg zd8ATK%(1Z8K7lP*>3?=i`ML6;Hn*wK(yJ z>%79!;!hsjxznCF?gY1H>+_49mD+y8K_VN>O)RpU*yFgdYnX(|oT!S@{85VRY+GIl z;v{+->9-&gBs}>8*K&)brqebim-880cWS2f_o&2k_{%` zv9Ul(p+^vh1(k#aUMbB@q0A!}6iUw-cIn*jPy zA?6C#ib)_*R_AL=M%#TVE$cZ5S=b)s)8z&LW^Vg?zdPPw5YOI=-;@g-ZR^Rej7XV7 z8J9)$;|<%i92-{Aiw^#=!;Q6Xki~eP>ofk8vu}f=7SwWvppzNr?W0K8UPdqMoMtAv zRNGgy2v=DSAe8^c43- zQM|a{A?FDYzUFtH#7{x#QbGL?n4K8ropZ&o*(>_G#IeHzZ7^JO_n>SLxq8x@w`5LiLJPz4F&*P$pP==kU5ae<%k zRl5pL?_`UR`U)c)zWURhkp;pK;@z_%aN0pHKCka;UO-@%+lxH}W>GsP4;?4|YCgU> zmZ0ii+nAwkdo552bZwFy6k_J{J993NW3LVfD_tltIMaYwilK8g;_323oT6P@TS`go zRC&3O)|gt`8^EZ(rBVaFNv?rqka+##kT-v;{CZ(?}JQQ{waisHGlaIBtuW{yX# zf(>vz1?q*Vd{EJ1g+YHbcm@+V&s{{>{Uq9?w+@$ zMD+N=CKi!U_*$Oo4QG+_WNFd(f&SbO!nPcq_W9B6{7BI5QhN=6lw;_6aj3&^#*d5# zBlvU*Yo#nt_hFa%lm6(NvT&pPO?^p$puag&y>mqqtg1uT(Dn8695>U>2=?!{&h$kF{1LsQ9H zYai}6s>h!nuMkpKLC`V{ZB~COdo_oPH}~#zNNufYJnVNS{I@<(z zSnq}H`OElmK<94EpdS44yf-{spQ4jmyi zxQ&AkC7W%9zYGVt!hf`ngdVNfd!OO{t1w-BTm$$!DIFHmMBA9J=K?wu8m)}MCKu-; zUfMh!ClYz>s;;6&6y0+_CK6nzb!O&&&X2^`>dcN9v$3t`&7DJo(?5ErAfMUF>kdsz zy!h+B|A7S7Z*7;F^u*&>i)O)X(1sZve*Sp#Q%+It2m(**8Cc|s*B;|G9XkuD5bR-fMP~QMb*)=7+uV8}$K@MPJR^KiZ^aYPnA>c^!5J$g7G)#uPvEMC%8o!{zqH09)k%g=hQO{?kY zt_S*a%)*j(jhL~YRSA#CMLA*A*Ds4 z`%)I_cJ&|Cwo_-l5`lyEw&UL%eP1@-o~NK_TE#2lF5g@mjZeW&lx{AoeriKhg}u!_ zP_)8&P}P-n(epPu^be8^JwdyzVl})zkE#}KUa?AcJvth#UYku#giU{Hwp%#5J;Oxb z#SGCJzm$3aKFxKWjJx&*3Q}F4Z;gWysbCpK;ZS?8wL}<#|CHBrcia=S;s?zET{c0Z zmrkyZ_;N0;2Rz63;cThUz)(xOT&vW?g`v@Uo2&jY&x4j{-WS2?3Wm3bL>yg!j^7G- z?WQ@ukrr|SF^)TVCf9}4f|-$HAY_=c#y9ixi9pzOYxfw)$BV0kqETMS>o@~;F*v7F zc9j82@Hr{99&=jqdWkfo@yuT3MSk$OJm$}>TNJpKZR?UGx}Eeg?W<2przZ}ko#O!t z)TJq@{*k1Z>9Sp$Gjn21J+FoTkbVIWR!FhGoTIQFqrd%8b&!OQ9910LszHZhH+e82 z!@=FD0M6B1Wq{Hhr`u>C^z zyC0PN7hsF9uhMwHA*b4_w8{eXl|tP^168xaGxnjacV@a7!_Ewo4?h-Bs z4m&h9eez`;Kg-0Aj*P!G_{JW@i@-5G;5B|zL~@^+Wj6D_ z-H>lv;p<10r1D_mYeURiC4)zd=FZ=U9Id93x-#&(8t2SJpRSALfB5cetNAvY3oev zSOL$xfrP!G$F>~2q;$;*zI#t87i@i=f+u>`()`i2{m$Bu#QXo{9{=}WZGvx%E_qNX zjStr1h0vl~l(vQ*@tAa zagSS~A`#{jr~U?SxyJ|XG>NSM-fo*WQ@NfuKfIy+sNuY5U5(3BpBpF)uHZ~6l;lqc&{Dq9}r56H3=0~6a@I-GttqTt$ZLktHG>ab# z%%fHWr}4+mI-kkez2%q@i%mleWm$p^g&_}FGn#3Ec^2c5%?0bp8ug;Fv-|xz382LXtqKI2Mwo>=vVH%?~1dJ7%jrFNSy~ zMY9a}Cp-B>qZMrzI620Ab%<`YZyAmD<-B_1r&nKg|92|?zhBEK&u(MpEu7i@?xVe% zvK)Xr56Eo(sea@^tG9)$6XTfa(sk2a-kjYrf1l$PXdGLF`FI{`5UhyLYH4a|Ynnx@ z*>Ny?ju}z7V9HUw-?Q|&t^#3D3YKtR+u2ElWMBEfXmYO>U3icS5Nbuxbpcpr$yx`t zFO44)n&YBd7q{d=UJhJ{y_v&rwcNuP)APyNow?_anfXt^j2&|4O2)4)?psB*y(nJ6 zKeGDo3B1Ec(;Kg~XY1rW*b#IkwEQcVQi253d!(NG!=@sdyGsdV)$iH&Z~H^X!B^Aq zYFGCibq|~Q7q~h}YN+Hq)2;ZdfJ>@;v5IL)GScCfRF3p4u>5aAd*R&apXwmwB^$+n{n|%o)bj7X^fl1{R(3 zZ+j|^cMalv&ixJ36vaRrKIhyu>v{o32q0BH(<1pZOAJ)Ob zpF>e=aV4nlw7|=RWCRo035i}73}-9Y`?x2`CXWyD+v(RXn0Os+i6i`$u2Y>ME%tpB z2HoQzucKfn{4PgMs%s0Mek$18&dx4zKf#CA`w}9SI#$D>;M#hUTYXiyZ`qyeVtLTO zNWsBm+W<$*7hYGkL)oDEhdvsJ-EjD%?>Lkje67AKz-n-?vm#*Mc zYVVazSOy5zmC0|y%KQs;e-M1&k3GS!#$63aKKehG?JL%0?ITD{+?;vGnO(5df677q z_in?+MvSnnub``#D$hZ5J`0=WpHI5Ej$Wd~0w8)w z#<$BjU5b%QZ)vVN{CZ2`abm4hQ$m2ElvYm}L<_$nz{sElQ zg-y*?HspXPM>alcLrvk5Vyp#lVrn^Dnm3MuTjS^acsDsQv3&7GQ9&=>=h$K~P7F~o zoNGTR8ea&gsqJBf*gckPJTI-w_RMXK7Q4yetBtAM#H~z6LhEvE8I^!@qVDY$g8S3u zqAlmSEMp|p!YN(In2D){y4-ZH;kj`a3X5@UeTsB|GtYt#>S~;0;lu%f1i*J;C4T#^ zXD*{<3ke3mU4<-g_XHnn-!BC)Cfr_pw`0$IwoAg-bM&`V@|*RthKXMRqmtz|gRL?C zrZR82hYR|(^4UzSQ%dUp?tN4{WG~0||LoafNh@s#I;_;yS#|w{M{Vcodx9+muZu37 zZ>7&slOA`%49}Y>aIx%;)x_a{W3H6Fbq^@cnMM~FFY!<{duZIX1r z?6wUiP97`E*!{IlmTQP=m(y>f7^!`n?~|L2s(p6Ds=ZBbZkkdqZJ&=j&Z*2rfPWrb z271-E@Feot&ZO{_6#1O*14K?-&}>7h1Z(LyD3usbv1NCit{}F0$!8}J=wPbiFtvb< z+imf?2;;7u;@0M-Y&v6lVxr7#+K5_7L22v6IZ2E+RWVH@GR@eME zh`Vr~wSva2^xB__Ei^VDw7n%k8I2w%-IKa$W=`u0NJm}iP5Iq5XIRa;$fA}Gm-;gS zyt{k?Vd)~VVOt8(GuILI>A4o><12LC<4<(?^NLD0@rl!g@mCh$YU9vEB z+ii2MpEzKK#V8b%%mK4Y7H;CWEKDJ!1_HoJk$Lm1Uee{zxu?3N0Gkp+{#ZWS0SX!T zhsVtl(qW-C%s&9Y>-Rq8VyU%T3e^QJ6l3Qs()>T&SoWqL@E7O=-}Y6Z`34jE){nN5 z4$I!AK7T9ZzZOb_ULR-6&mWihnClO>xK(8+-K`IfzY!EGBCfUHXN4%wxb-C~iRsyL z$W{Qt!Z`Q}-B>VNNvcW?9QP_MZ#%knuscWk*t!j`Fyh6^XKJ&~j1y}Q0b1baNAj?V zaFKtw_G##yQypQ$nj4a}8pnS|_1~WJFG2m~elCB7-N7hIeJ(=w>cmQdg>UVK^5)ML zUpw#D!ex6}6GBPW>W-^7Hg;G{FR=jP)?-PZrozEe1h-9qe zhf;P?shgGETvy_WpH_FcQmW7S$U$HO6(F+I9h!_up9;^75vQm%i}Bk=W1qzGT-5$BxP_TNF72iWlzIaNyS15TLy-MSIhgMj zy2f&x#4s3XANsZ>(mI?pz={BtCbIkBY?Ly;?T$S(q#s< z>9iz+nk=d_thT-VTHNcy(i*g3Elly zi&b9Hp*c4=Fp$mIdJ^dj83d(F={IB?upjC5o0jrfE`;G)8(fS56v9QXDc)e}FFEV* zh8k@6+BKW)Ya5=r2WbitZE;-BL_?2O?m-K>TT`iT#tgGju<4A`En$({Vndsme;c%Y zA=C3gjhC+dzD^0v`}!}6GCcJE32D)M@BYdl+zI-xq)S`yv*kJ2=7Q>rW9hLHVSta2 z?Mywx;KsspzL>6-<|zKmvA8p6SP{S-p}XXLmSk<;T68`2h(iAQMm5_hyiJ22rR>p< zKb&16s_EoUBL}*MmxU@b9(ucaXu7jlz7_MjbnrM0o%{CXMav5`(3Lef;`}-|9Dlt} zb01m7kGJzLlQh~ONRX{-*@_?IXf|dj8I}sCN|1xthw36@+xc1l)>8hl4H#iS(V!Tu z3jTjEs{*Uq{p7dEf1^K$q~iDRbR{G<$JD+D|%%T-9`i!JMH zH}|4n)T-Bvs247=H|9d&>-;1W`ad`NiQ4|PKa#Y>Y9Q;_af^%J1+tGe%ZxG`3RLcf0 z;GIoH0TG4V{TA#K3v-W~GKYbbV~JT0L3fiS$XGY%;$nR3=KOd*E)=>6S&CmojRTVG zrmNk?&jIH(Fp_l7+r3~1?ep$+D{d)tTaVk8d3qy!MK7{-fp%JY@Xq=w|8Y%fggjz= z7$hj_z5JmDnOm1la}&v*qo8YWZQBsteV!u?K1Wr#Qhib(T0q6?y?&d6jwTt2m%;q- zg$9x2oAPDGIFx^;(cR+wPx<-zSoub9apYb=kX8h{g4G=W5js=G1@YTY5x|D|4V1a7 zg}v(`dxIYPvo?yBIVStXWcdExdcsm`qV1)y88&bq5ac}e?6vb`V|}5%wDY#}{YS-^ zy~5)a#@-M4uAN3E8dG~&%7vIP@4L@nl}r%q>*%4mqkD@3) z8;+(fnQ8_`sofj_pC|JayG}r-HUCILu(+3rsq@a%lT;nZ*=)DbJk2PW*BU}=wk2l9 z`p~B6U8!$U4ab{ygu-a9?IW)YwUkDSo}q6od4%kUy*pMl%}Hr=rvP|mm`!IRRi1NV z2TR#2(f<0kb1j6);byc0{&>D0-tABqqn6Sy*A783Vt1dYl=$dZ+bvLQ)>#G?8a%KP zinl*SmG6egiDLGCM``tu47zw zeL`Bcg`=EK+Ss8Nc`#%|i-_R9MT$^`eLKyx(r}4m9d3PJEwQ=9WV2vGog=p>ehudy z(n5L3@es{NOilpP^X6+*%L)r!8`ev-kURfg+8U(VuFFE47RYOd|8sle(cLv-H*Ib0 z{3rls09SlDOHOk5y%{P<>NlMQB60X$&%{<=G4QbELcB%oE9~)Yqb))i; zJ+dMrt9-20?-H+x(6k4xPT;we$XG>fQ;!c8$HH{K#8obo zBLm{BzzWrXv`#90>r&w|61EG@)pDLDWA)y8H7{r$$Yl6DEpNEvzV5O3T++8nRxjis z!p)qzM3UsuPtVpcTtoa^-S;5p*4zBv?A+AXPcN%|B@ zL(|#L!(Qx)THut7zMu+Mpuv~?Y(R%~(d~{N?LV)%Er1!?W#+$`85{cr_xnLbO?u|= zcP0;fJ5n$@0LP{z@6G$kbqa^WbxP4g-(iT!DwWhD#(PWWO+#l^4~fptS|%|AQn=if z1=To_CB|+xKUwwt>v~w!;#La`;&p=@k5B39wj1B9tUo~+q2iU2yY_HxsdKi}F@%Yc z76b>>XGH@eWrrc;vU6U*E?LpM_mM5VhASwqkPX+jH6`OtmuuaT46B`y#{d|Vd;YyZ z^OodZBH~jr>%b*8zH_|_jjM_TsOuSRoFrD4zT8-m zroylUK2F+q&1X?;NA8W;PUTNwR+F}`LT8LV5J;2VmHI?zgiiYJr4Jje4?x@}XIfA7 zN5}5aDT@(CEXuAXHF`dXBDbigVD5b$Nry#G7~*afhEUK`t71qLXf*X*g+CYh{zVaQ zivvwey0K&Z@{x+H!H+``T*NG>on8s`NP@<5Z^U{HA+GjuAS31m&Dm4mi zZ7Z_Srd3=4E=!Y+UU3#HV0+iIso!_qAo2U$3@USc&05o(@%jRk9m+cGe8(Qmc5fzWIc~l>eeo_n#$sQwY zo)PTTAS!rX-2z0pY+t3DF^IhJ$w92-g8Xjxx?qow#o|rFyzs|YmDzq|ywSWoBHOeT z(xvex#B8h3b;PGFk3qhu#)lMu-(p}Ja(+8}90m@N?>T#yKGSU91TF5oYj#N06~kIn ze^IqcPFRW*jf-oZZdm9){SL-Z{=CIa>hyBdEgw>uW7Fcu=725+Nh13A`9Bi772Nj@ ztOTElcr6N+zj7q?#m2jvRi_FB@)ZhgHMYbSXGh4(eU`~Ih8fY8<$Q^_Pmrb*rDftM zgXVIhuPL8*{Qaw9s!(sfkIO)Exc7{QYG5(KK|qY(?5xd|rFLaIgUHKR`@6T*p8RQM zT|rvim&e$Qco#?Njm@YR1Ns$c0B@c?UHai>FPF!;#%tiNF&C84Qig8 zr|5?Ux2Yu20|a6GYUq8ZqamaApPaF^J69N+tXiLDsw|8SK!-S!b)wi4VRM<`TAnym zLSMX$McVHjvhuK=3x6~ZZ`a5;RJ#P8KeAbDAi)f$?);GoTHU`fw~szE%{2}W^u5E! z0UtG478}qnS*>xkc=(PZ(GOo5ug$E&JW5)fdEujxWgNY`Eh_K$gW>RFOGk#KaC+&J zg)#aDz)Tb8ZJ?x-I^(?k%Uw^I zadr##h4Xohj`PJXYhO4D(03l$tHu(~r58QIf){|-%<+|So`)oIJ?@VmI4Wnn(x10} zHLC+_LW!!?*wKN-`!ceoYgetuoz@fhDT7tH6e@2|ImWn1bo^9zK=w`H%P!O<-K59) zBG+y$E}}d7u9_UL+SuVotHKS?&uz1OS`e`#4D-ed!xAsoj%b}MF#G(2V`8Ku44lr| z`yc0VYxV?Q=s18?zp@nGI4ZPNMt%_KJ?eWR7(?-#PtB!GbxSN&x-zbxK7C6gbLWA5 z4nt_QhU_a^88jIKvnu)@?-i`!3goGs6{*2QWjWW^UgtVd0;zeBqco1SG6`q`uQhS) zF!k;zHWJs3xmQU)&^XR^mZ9tthrcG@Hy|H<{$>pQB+>!1yBRti!4NOB02ebQ1FiY> zZk9wd!@TjG7(_zP*>si>P3clreYEo{YQ8!ICX#-i1lTKNiobVpr8 zI-0N>ctBkSM63J0N)n+N)kAY zi53x;n#I@GoTeF%P#*(58(JhU7-=y!Rqp7GX0&|%sIE?FHDUQ#Q53P-QedBvNGA1k zx$!}LtrCAb__#;d{z|4Lyy+ds*xEsls}@-E5xt^K(&3_`UB_Sv%qj1oD#Qeq-+5p~ zWG(9UaM81w(W>)JhN=m7$fZYUx0@$$T|GP5%3bC;t^?bAdHfKkZs=p_iZb=A`{ zsG8^(fPM=>_}NZKTuE7HK!Nm2i)-+0k8S))M`gGHkL?EOq7!AS#{p1Cf(?yV2iCRD zq?D}g!()-k6dKSa`68Tqi?GGJ{gd=Dh`+IS@9odsjH!ctDC-lP-qlbwiB1#g^qUXV z=c#YIcVLgF>kd76@+!14x47Rrm2U^Mm!?_g0hx(EMs|T2IuDpN{{w5kyc8BK+Bc9h zx(Z7XvlDuU6y~)tjvLMqseobEr-bLBwl%qL5;!+Z&p7N zJ*pWoE>g(itj=+%aIE9lp!cw%!$9ullO~>7)VKO6ZzRr+CHC6noHKJwwVy&)~ijb$nKJWTJKt?M%DNr ztsL0%+?qh2t*7_AZLG1_+Tb$h>$1Bu-Z;41M4`{vPcueCSb27>Z9FsSbapTOqlNVa zncCo?8@UAQ&nn_#-_{iUs4G)Is2}ly-<(14M?i7MD2@xOcF;oaqY2xOw)l0_LCD5y z8n#qlGk}i;b95m6F0epl%XpSq=~0#FNQN03)8}#jI?oXQJeq^j$4WupOT;jIoWTat zk|{;+RuUB7Ck0KQ4?Y92dka@9P`OafqHn60+_5lP_&JmN@Cickb=mVZFJlRROd1a7 zAx@^FBmqA*)ZBY!G6xI(@s!BvF)zi*t|z+kb1Q*;v2$WynEVDE!`uPnFL!<6be@UF zT-q*-L86Ka8o^H}IL)XcTOm&s6FF=Gf`ip&HKVq;KRCTS%RbOZ4W6VSHvhv{{-G@| zgwcype5}I#Hca_gN14{jEAP#2VN6*TE1*GkNR#V;jqOynfULNd6pOSaHY~bM)nCdY z;7Rry)YJLwYzB)8$1M{{Lm!GS5LGuf0YPzX%T5!XxHrQO(AF4maa-i0NPVh}mJC5! z*{$u-;T!EO6Zn+#F^sh*V}_rC0(k7p%v6kIsdM-12Qo0DtTcEmRQhNfu_QTcbZSYl zi8*C3{Vz@ zd%63UM-wIU*H&0omKnLuNRA@?f?<7^Fq@IUWt(5+osn`yj0@)YoDIxQ{$D<{ zM`&bHu*Yc;{F}pez7j7!{i!&sojmd5qqOh@djX4v&=#mz{}BnRsN> zLi&e!VV`HjN{2hKAGB^J1p>mSWgYiH3kIM<eW;|m6y4afKmm;fa{2Vut~~SZW)}fF&>iY8r0!U) zT>E4L^%j{q2LvJ`Yg}?^7w@00O*G~Hbdp%}Le(?RoRXyoPS1Mi=IwqgcvGYCZTvs6 z#jj}A%>T|~IWvD=U6X&!`UM`EcoHT4H?|?Q_PR)dI90 zzWbg$TYaqk{P2cqw8VpDOW=WOU|^2XUA=c6L0fDQ_`{+Vc2MiZ!lCJt&ja$+rG~u; z8pZV`I`8xAXqulrd6=kB>1q^^sIF=QJa7lh>VIUqA>;0<#L_QjX!t7E85VzKoX0&l z|4yNT4S;j;nz^Ri&#x(pWQMqz*F8>VQ8&{Td{I$yR^n#A_rZ%x$*##f&g(4ATG_pm zdVVRhQdN0sO`P-$CaF5-hWN4)!pbYR(8WP|!C3l443PA>sWmZVv|a2-_CRp6B@B2W zX?jsCZR9|JhE_`9kJoZ|e^aI`gXlW75?fGi%eqDGb$1bYhIaK4t4{F-TSu;KQ)K+L zU)=3C@wroB8kt7J9g0Ptvnlkw%L<5g z%o0RWO5O{(Ww|H3>}L;y4tk(7|wUog0-#PNuB30xcbIxhEV4-+zW#T(^{YN z@elXT-KTQge^U;>G7mA#X!O@l3<_;cH-1Z!L=^3Q^%^-L?q?0v))3+H29mD}6~WZy z-|sF@>dK^)JReq#l20#xVfTr1-<3tZET<5D8j-qy%gM=EK4TNK^(b1-$Ior?!Ml=` za~&0mrF$Go2-46&mVmn#{T`d)0!tgp=WF>^9^(sP`yd;brD^x)vH@xaXN-Zq8IEs! z;hLiCwGgo{U;WlITaPTjXY3gXrhgDHwr!|pv5+&l^JTlq|rujuAb(& zorm>n3{x{JJu|WVR;=DrBNc4tW^Kja9Mg!&LUR4qKz2>!ZHzHW`*RbZRc)rPxVqc7 zF4yB?3Uh**PV=1}s#?_&;{Vwq1 z-6`9VT;W&C)L8&;7@o0vMDubfpK3v9&|ZHHZM?dxGPqW^`No(;tk13e-Z%IIRlb z%S(2+xv?$?Zg-A^U)8*ng+Bo_?%l%~8P4a@B%9w*a27b`3z`+Gu3ww5p%*BK5=sA& z;Ah4`OX2bZBpohg)v5fYqZT%gq4Mw~_J7fIfbc~un`mD%iA}`6e^~x3A+9XTtew%J zE+!E{f{+eZj$?58k>PM4^d9z3sKSCQiHFC=_W5^`SEbSY)k#I0{alF_E#y7U4g?DpoZv9H2X}XOcXxLW?(Xhx!5xBIaQEPD zgZnq+3&8>|P?~Yq2~!f~*yj-hZOk!)o>i zv9UD?qkOSLPG9o-A_A|hlDWMve?XLgy9n*zwI_z)8=Up5(L+3S&P`u z^fG})Qx>U>^y6@fY&%@z9J~+OZpHPGTGN-YwAcu1uKm;m^!=+AwPR#QOG;y|4xY2P zl%^XIE|~^D1p4`IdgO!4zq2v2`|x zN*KlYi7BdUtoSvm83|Dd%4O(?U=g$m2Q7+-ix}OHHY?@{$J=JlG)Z-rg@qp8Xq37O zdgsvPB`(_mO^O%C|Nf!JjOHGNt&MH_1+qs-vC^W^Wfw>8&AK8np1O-WYURMDKP4(X zq#B>A2C_e9hV1*v5cE|8Sgp}%_Ye;%Yg!Nh`a$HgXAw`o+oMsSC=16NgWb+r3hl=v zV7Pv6bJK*+&=kmOyiChRUxB~sc5KOLAXQbC>!1vR)yC>%ikq-qr^UzO$wB@%Fl1lf zQe{iZ3?*9c+MzU~Q8o!)1f*Zi%+ADl3T>;&*94YC)tZz#gW)y85SilWNz18|R!{z{ z_Etxq+_~4*Of>?U9EYZst$F)R9W`^?v$&)g&bxE;AKQ9nBI z+1#7KPtxFSbs_h7GvSn%5ak9__S-UW)ARha-lCIkL{g0uyBo^d$l0r%fdGMOnWn%5 ziqXH)u)1@94Ek17|F~VJKid(Ll*Z^BaVH84@PK&-&TQCxH^)m@?TsU} z1U88px`K;I^O%=`MPiK^EKPKnzo3S6k2We8~w%3^4i zrFFZ+O9yo*>dX07Q;wp&=Mp$K`hFGVI?Qj$?k}xjpwoK=i#!9>(xTe#;dahPcZWC++5&YI41P?CX1zK}4(xIi1#08y}ReRx$?3W<$N9RI~MNy6u=|DowIarj&PIKkJ z1^*hE3XKOK{YU7>i|&z@P7Z65PiT$HgWWlBbWdHGO7ZE_bGv6NQJi)NPfJgZRu`YU%z z|97wD+D$xgmn+TqibC3xqV=K6_?v^x-`Qt6TZqo?d{+mdzAm$WLqRwQTw#1%J`Y$e z*Yp0|k0SkvXIk|-TVfwp1H5ANEn)#WN(j{JZ;ZBGibj-Dl$gl9N@0zX-r@n}G@i}| z%W>>*h7#^bD)m#M;w0JCdnklftr<0dEp;;3;w(}cx9(O`e0*UCbn_!Na@VQU1!v;Jv7czY)UquaCdtNC)mxcY$}H@I6TJ5Hna z1s8}%k@@D4I|U?b`5MxqXjhb=%xDEm}t?&5KuRT`x z7BSSi6D51<9~_LDo6hW8{XP+ekB@NiH0pii4Z)o{O57br)iFgBnJ_Z7h>sZRN?hEH z?!JAPM9Hf3?RU;dT`x+|$Ro6&h1%H7nF2ifg^+hFss{C;)C`v{nniWiY`z}YHK5c| zehigYY2s>|WcSth^W~D}2AXsT?zp!J8uqIF{bh{dfWJyrcWxlt#>zne&&`nH-vWW7 zQ+M5Y+YOAEAVG}3P2i8UDeI!$MtHFmtG?109WIA2O6im-(Xg%B#_Nt#v zBD_iEh1;M3`DT_58dK^eqjSZS9-?@}APl3`DA1KEm?E@7B#(d|xm-^L7;@JGn=(_=H zJ(*QojFuLtKkUqxkmFLl(V2oVtmUyP-9B@793b;;VO;uxxy=jrp!*{!)SDW(sou_n zZb5kiOL|0z6Bpt_7-$eR($qZFD~!KD4`*H@VJ;y zV0bgr;u6bLEGcm*Cv2j<)}uzWi*qE%PQPyd>1$(kNt0qnQc+C_fTWw_qQRPr<94x` z)1f46kVQ~#+|_34{@6T)p#?tLi#t3p6Vm|gZo*5vZ?~|Agu67~slb15Hb}-O1;~Af z)Ueq6nXh+tO7A*=m?u^^sr&iQ-2tpHN_wuXR9!7e_94^bZol~ZKI$#Cv2+WG-LFGY zzOW3Co+Rr%!;iMsf@ zVk5unnbXge2=%viedO&J2Jk}y@V0wyYtqZ2!g34PYr>JwspI8|FtTR6S;A!OxQIo$ z(t}sz1dHUBK4TaSc|>W6jpx}Z$b!hE6?!7Yv#S_#3DlPTK{kUK`xPlEmv#bsVJ``( zsi9R>H0+8wVsqn7H}JQ%C&(vJou3(}(o!6%rvQ`#dn(4%4zxv+ln3M}$QBW2Z_^POAZFMU zhgo&-{$L18H0UEXLXtaYW61?(-#YS}9$-E1{gTkqz?jy?$5M(mE`)2cvTk5kB2C*R zWHP~~JN>TCW^l@k5o*dKSQL(TEEYqYcp>6n_({cbQ8=qf$deYC^7zf6FDE;gsgx;R z=)UjEuD7zXJ#*~mLpKwY! z!x^{S7@lk3tVODgW@dl(!j;C{F@#lwg_)^_2GnylP_Xk)dT~lg?WDG`!M%8;SfMdD z0d%xn5PRdii?uW!_I-U#^MC{FnfPr&^$oetIsG32q!z3-fva<94=rvLz*AKSRq zm1b|ozu-Cy9r*2KIGe;S>vI?+SgPwCdg^|#PPK_*DudpTNIDIhZuJu*ZEZcT3fsa% za>|`?TT5e|^w7S_$hdwq&YWOLtA(9Q5p7Q`Sl93U7FP^oh=8CUyT757Ydevr5ut1F zU)Wr8G-5|8{4ZDVi%ROSL1Fmnvw!0p)?;R8(wPS$Ul9xPwV47j&TUV83SY8iLQv92 z@L@uk&=+I|?c)(rNjUnFSwLzdYwjWD^;flHN@wdOMQ3wy5`A$IbU8a8)CVyz9khyv zUfPl$w&Io+4hrBRutDI+jqF{fGmY04`&Gq9)SfpQQdI1iqizsXq$CB3l((#$ykIle z{#4EAt2Gft9Wey$#79-hA-C6f0Y<}RddpQxWio}#`jKHE1Io_tbWbX9mXrAzrA+{< z=3WI_JbzJoi=y9+q#f=EMi}iZ;Hak}Jk{eaFTwG^O5!pW0a?Mp89$cZdt&i-dBQx4 z6;(1?JnffoQIvY+sxnC%6Z1%#2(N>ebc#XWgp*%G7RSvJ+#LSD=SVXHr8?xQa{pFe zfr%2zL!_z0qO}24<@Cy^?GUIvynax;*}BmIky!w-}I7;gOcLb6A07Ow5eV(U=$_1gN75> zwaO!W=mZN#8vpNc9?EDtI>|Mkk(wR-j!MTS2t1?+%pzLHmFAnf#C41k?y!JCce% zYfY{X0c2v$(_D82B;O_*1?yMfw|wpxNgN&0l>##wN5}G?75(GBTK+?vbcK#OJr7AF zU||{tR)X*t7@!QG|CTI|QXJCiudUc=WlY*l^)FWbQa9#4`q-M(lS{+wSead=(fQ9{ zSKc|?)M`BD>W@jQR%8PPHNs9o1d+*PH(ZZ&zy9R9Pw3hm$oL}9g2$zyBx%k(BsBxa zkrzrgWTkb6!6B8p zx72vxGiPK{Adigv?%P^(9W5eITeU2+RGBYBiC%9|3D+Z36rV?-iN_CfM}mOZ{{j$B z66X~JjZsJ5huIXI$7BRhK%fu81<8(~aQ(z;q7uZsPQ8Uq09D@SPH0m^*`I(R2p*K^ z?2hq?I>c-j*k?)LP=u}NXm8yJu__>h7qhFD*(xuE=&DTzk*{0=VFA}db zBc^hvbfuuw*~dUkt3P3$ryP`G;_1Ig*VwuG{tQ}%f22JKIM68s1e2UnqC*U-_6K6B0Dlrf_nOigS^sgK#dT&TPrent@INC+t#aaWG2 z3X@Ex%GWdmoGjXeak|h6MPnx)FB>3=0QBVs$>q31SV)$A_q@qcA|R?>VPFaj$0vQp znl0a(Dgc~Y^Z2Q&z_`rJ$hQ|fs%zpf!hC)s|Ef)K?CPQnc@C0nW|S-xm8Di>mi%%e zP^BYY&Q)E}s@^mBh9cbEioewbevT8~kUYTZj$MZGEgkLG!HUIr=UAEihmdkuIXP*k zF61_v%Bkw!V6*Uj4mlE@3lt3Iro3W)e#Qu3w!$M($$4>>QCQCbF1N|}M`$64;QYe} z&LH6i;CYk%p#DihY>$Za$H5bk-z@Q;G&ZT|kELcQ`0b}+{YAUTx`#j8C@k%|=Ti2k zG8nZ_XQXQSQRNy{MLi8m@H_AT8FVkCEK?vzYSTq)=iNxH^UR| z;`b6LRM(@KIjA0nq+l?~7KkNmBgxZXWw2D@bfp-j=3HlVi&_%WoCa4UlO0VfHzha4 zNj>DWpGHRisuc|5ixQC4gMUbwA^s7G*Uh(NAigjG57TK!!8@ z^M~_q7U^Ff>})XVY}FiW)%uktA^e9{s{mo#dVGB(m*ALsn3y>nWP%2SpL1HbL@XBZ z3Z%(F=hI~elK74{qlFe+K=J#mV5YUJ`;9x=B1Nb5yX6M=ljGjUrHSl#V+-vl(g}$z z81Z{9=J{dp#>)zAM?~ahm%K-a=Kk$pqk$bi-8C2wXkO-|vBNDQc_U)uQQW4CF4FS* z1GE(r`j{k;a<#vr5P!`| zN(Pv!b~jR)9yzkkT1)Tjo(mXD)i{d{p>q~zBD%bfA9eYrq!TiR$a*Qe)@ZU20hfMZ zb)qnmL%f((tYC@b5Uw#-EyYVi3eaum4r6Htu1RI=AursCp=ztC%-XXZ81Dh3aJ74b zgDZ&{jG<7<&u10G^1mSfb7)p{m9=HyN{CE`OYN1|^CwL6hUx`)#3At(FMuZ(+QT8o z7o5eHmIEcF+lr-dnbN51YV@h&f-*<7C__3wixi6dG$aR(Xi?JBV<0y@M=0|X0qW?1 ztbVcLvycMVT6O`3Ig^?N%>!Hq@#HFM0|Ns`5c!U#s{AQ!DE~+x{0>NQd~lIUp(g)* zG=KWUeyFw3zj|4p7>Jr8w!5@rY#aPwlONig5SQ&|mUbEdlF4W`Bca#I zY<@c-5s6mTvt}YRPk$d!u8bb<2%9<|spHb0qBg$fE~^H~#QZA&`!iwB73^CRnM_{6 zsI#ykp!=?rcR8hPcd6|*rHP4bL}iono=#BcnwCYfXEVw`b7BD|8h3^aRtz_qaHF8Q za1|BmFE{mI^=0CW84ejgaP&g)z*db-&>+^V7?lpyJb}v0q=uBfzW!qvve*#FY1o>+ zfB0?WnZZ{t`wAd6{$}f<1As6@dzfwWQN`S`qImQsoAcn(oEduMLxC(EGC)ww0%}le zlm*%V-C|oFNy_<)L;QmfFRiLrSy6NtwTB^-n5C?`F-%3=l48mYu>MA~-md?!_V-f$ z(Z{i8u=3dGMBs*i-L}^kR?c2t$t-l`5i7kXv-@qoQLDP$WepJ_>GPDM^?mI5>8z$I z%X5oR`=hF#m?0Udx)J7{6*p730KCed^x51UNdE1qZi1mHshX9Vvro$(Q`l8&tEX-@?e2=8|&pM?cd}*Sx8OvB9=i+MjU?=e3$qKP`wza6&v@Y8GeA3qYZ3 z_Ql;-BD}*|c*>lJ6l6gTYK2cKjFmPd*B@CIFIS~E?o(u&k*`v%QU6GAnDLeD2xI;l zUPh}(3QL4;nRs(d@cn$$s!1R_X~9ie^UgdaP_sgnRafdI z)jL%0u9+_=)Qe3NDw}Jk9^buo9I5Wmaof7NmbMRA_q612^fvGkg3Y*!oQUZYo|#BB z4*%BfbbxyFCdpXLWq7}dRaSq-cQkL;s7psI@$tY=5`7*h$=L5Mvli3>?KZr(FeJ?a z8pAquJ#)30b64NI`!vaBgb?23XT`zWZi;!)X8TF8D5At}2TFow|FWMv_HK9?axeIR zg}HyN!MCqR^94}Xsk-yqF@nD)`&<7kj3cM~0mQyk-A)X;p)yP`g&qcxod-rde`0YN z=QJ7C>9HC0OjdF`IoA0o6AY2CH_qYr8E7k{{Y_xCqeyWuqD7^=&rVe_a}}Dd6z!-L zB?-ayUemzZHag_@)W0i{NWu_%mn*OcS9|5M;I&h<_`<5Vep5t1Bi_ z*uxl({^1abOe~N!IivxWp=@#$ugT`~k?Y{v*M>|IUkYS{cR2p?&TC%sxsD50ZohdK zXl*ELjEm}JTaOtG9lZBA=nhsXEB-RLGi71t2}*eUV=b}U3wmzu^J1%-+>XKi$|vra z_`bJv%nOY*Pg9??uUGAachk=SH1I6U=}P0g!-T};MSD_e&=qEUfj#g=ilLboeLXK5 z#S0jz)$Z?$3gUHI))cJ8X)TPC4Kbm>xJh(;I{}1?bg^5xw$odcuw6a*YRnqx#-ZFl zwOM@al5|GgT9oAE&<+|svmT;*)g<9Lg3>U8rN0z_=ZJ8?k(>G09)TUv$Yzz%{D#|+ zhA|O{E^9xci9NtS@|`~lv3$30e@ZJ?)!+QX0U;o5NgxpTsz@^V5FQyWl6r3wVci;s zTyNq)CXerdJ1AyH3<#JcPv|k&XSs~)sAi-aGv-)8HlzK5S4`mOpkKN6QX5q7*R#&B{mvc(O$N#7=N{i4cr)oHrt7&Ytvc~>oaZ|Nc9sXJD1rx4Rf6ZwLR?mm zxf`)2q17oCE!@@YCcS8bPURk3E%BY_NQn5Wk$4UG&R!hxMjC;#Uw2LiPaUq*$qr;+ zPzZbmUW1yrWHU8~!y~_eX~BCGQE=5_@e?Xacx>(q)#{kc5^5|e%s|*p zT&1Wj+T57RJ*WcsV?ib)r$H@=NzzTr)*C_V+c~1kATHwRv|WQl2UB80U^0;&Ac2~CDpcvzSM_x5s+}bVWRAKEsWRYiOv@t@i9^$7DMPIKuyC(KKu}_PVb?&Pj>6gY& zxswq>@05O7ncjd(c2SPOMXwz*nB$~p5dq0*B5H;)Sj^ zg>HAP9H4Pq=c-PbC?{~1Ey>ZTU%t9V{ZUm&R$?+~bT!bU$2=mVCx|r_?a%EBjq(28 zY`V;fGlEbiNS^`cGk8(ZGh+tx8Kxt3EMquB3@s2k8l9|-qMN0rm=mW4<5K%Qe+w>D zYgfJYd$Ni8j+(g>+lM7wkIgzXd2W_ksiTL$iL1{d3np{NX-H5sqM=mSPk2RxGg9(a zZs4@hyt48OGTb8Wq!$F0D17tsijZJ;4GhT2opwPJmM^Lz)K*U5Sl#rDoF|F zP;jN^7>v_FW~D&V7dl0)XmpsYkK4m!`HPdWng_5R9Rx&){DNH zipGogP@MvoC8gF{r{wUG6H<@)jy7&S<=>?c*qJqnLbOi};%+yScO~ZT2D9xrP-J&v0nYPqqoV^f@}e}bhb{Z`79v{N zam1D97O0SU_FHOhG^S6g(Xv@ko7Dl}kVCtUkZ=C=0(oKR+4U9> zS{!aLVNLB(zj1Fn^Wj`CvSCYI?K`5yapK9x_S$tVnr8(L0V*n!swj(97$O-M2s-JF zapl>)LJq;|z&KI`K*^4gqJ2hZiuFPyuMpKw-@!avF~`rEO^W5+rn?Hab_(V4D)+>G ze+C)oDH+f8PODI*G`tp#y6X;3o@^P1(`pBAU|061a+0CNAmzZ$n-idRcTO#=HO%X+ z0YAB=bAjAO5~)P7wA=g2>g=yQdf%Tm1RiZ&3>39pi3sHzJXOwk-HXz6%B9zA7scFt z@uP^<6LOu~6C`r?IQABlDNvQmV%+bvMi*gVgkqAqDQZORNFADISrA5En1YTBA4u{8 zOtT_L)q#=&iss_H+O8EiI@E;g!W+{_&?~^54YIQ|yB15Ky_u~N)xD;qPA_!q#VGmW|BN(fpFsg80&Fpu%5usnPqJ9uxvc~trAD<&ti91Lklitv z!zBbJOA)b8tK9M3dT?&!tlF3rS20fPg4US~8j@5u@8u~Cl9IGDg(^2&DMDAuK)h_5 zECIuIQ)X>|)Z^}81_$%v{w`c)5?w(GU>FV8@O3+pz>9cDz-J*qUH)q_FbPj@xFwVy z-^L%B{~f7N;=PVeeIpkd6#iAs#(mW)1HdufR}#Wn4DQ z@KwrD!XP|M`|1xKHzSSehL9%h_aX!ZsbV;Ki(Az((%PSC4SUt|X=L!H-2tkK!)dCY z3b{~rNT%v{!2H#l4Rhiul84_r^@5s%I4$BK@hO5a7Bj?jKgiUHO2lW6mrhLM0q z_NJFgj@Esp`ACKmM-j0rF>|FOR^^(|%7d5ZJmYVKQqEk6T2ZMZu*B z$6rwTwYTvaujxX&zS%NfjDwGs6)LX1$H2h%8jNu3Ezs?GC$`L97;A6DamPU5UD)s< z^J_3*ca0ivx{lLvPSu8AiixgGRh>mHK7S~tF0Ylk&166qKeH7IV`1G8ixQr#mm@CaO)iBbPo<3!Jtp6Kn zMDg1r+1DOHi4jLw*m7($_iqEh zQt4IuY6pZDfGe2lBqf3B)C&AAJdb0)1oX zj@3tRB5XRzq!G$9EG+JFo=p!$kt@OUvofK7I$rw57X%X(}z`p^PV^W9I7 z(kG{jS-^9p){@Q7kG3mhMaT-|g1)|VlUW=gGN%i)hwHN!>bqPyu3mgLUIZIBygzai zTDIYjf37jbyLuD6%jN{OKqL14*6HPX7&Ea7%ZGBb1`4U|#yiZ#IX*J4Oo%L|Cobm# zF%RVM0>yL-nJU+1?zvR+12W~;7`HK^-VI1yFV{koJ|=ok-Sh%FM5Sk3NXcuzj)c_w zAl`@dZ%s3Av|T0q!}_I<|83f+WnLR}ejP)GD2c>?Xp~e^Dq~cr7cz~= z0c{|`u~~5lem@HU-t^d|(o3EyFF;caRU&v~Uo;C*J+WPn9?UYVDQbfWk^@YqjB825 z3H1JNct=4D;l5SQ2>$HNU^E5C3$|N%IjM9iPa84mTpy{Tr^&)hhij=}sROjGTM#u* zrfa7{cEghr4m@Mu2-1e{G)Oy^;eZ2(C^eyiMcyWh)}r7)+PI&V}ADe>a` zz{mx&n_P>2(M++%VUgj|n`8k0a;-ALRf5lYxvq7V5=JSI4(kjqTqOKm7DH7Gv+XV0 z-ZI|du43NRue^dTz)pY$)PgYIWi?&H8_zkmB011~YAeXO8p2J@t{4J5&T2(Ev}g@u zZwXdwgvH3fa1jKKa?OZ3wR9$rsYr>-QFX=5YuvydiK5Ui6!c0|5!DuZ(%Q*Cmu)(6 z$imt{VgA$4@K2Zl5%$AfC+#z_`~eI*@GQ*jx1c#BcEEE%T|Sm$oq{RHWF8^CP{};| zejBF99l$Bb84l;#IYtS81>O~DZGa=&q19uV`AnPVvyh#ILQ(i+3wKb*>iqXnjsXt& zg;m3y{2Lji(az23dFK zUn*B^AXQ0{QAG)rq4n~{CT)642EO8H;_7!02YV|gYG$|Jr1Df>N4ZJx>UWhxVGf}@ z*Xk4VC8{rjyh4#VdN<01iU+t&l>y>Nd-0+qlxi&12h>~7&JGMSh`L?LJLZ0pCY$Ku zNI9^Cn%c!cW_1MhQ%1{p#{(S!jETY0M)(i<0@<+0SAy^?M(Dw?ZM%RJ48f8f)Fk?d zGLPnE`vKFsr35T7+5a26$+yFNQ?-#a9?8VF%HgvpjAEgi8?rKRuu5m3Rc&~cfWz7q zTTJu-Y4bzg>Etya-os=)&F*)@*tfav9hnDwZr!v%_;gx5qQe1B=H}>97mg*@`kQRZX;#ev`jZp5dgS>`BYhU(__%E2Wk{7?dpwO+HuPh2kAmh=g2?1FcR+Pp$ z++j)CUiLfA7_>#9#N3?N$y6#r3sfrdU7jw=MP!GoH*u$fTvd+NjjK_w(zx925FBAe zAGk2F)e&RK)YL9a_4UUilx*h6+Xi7(W%YEWQ=VH@bgY~SuGz3EC*jYFgcz@d%y^!z~!qU zfv1ao-AP)m|6WB^unRz{$UfeyMX<_c*Lg=m+VwrHd1Lnk$PmG5JICtKk^5*jnvn49 z?r@Y=_HXk)k1E6a8RjvvuJeG_-9VljhEqZI)rpK^?j>N))M$3s)n};m+1+U*$rV}Z z61N7?-uX?0Xle=u4pz|Bp+DkFYs54!@CMMv+!LT9+)FNw+z{Bz*6p=?CtQ zD|EQp2n!462?oQC+37hn&B%TNvi)qu+-do~g&L0iS0K&f1|Sg-&^H^ciV`r4hMy}B zEU0OxV7fM?NazfCW3{XTlj-;ORK^sPWNhyK|NI`lRbwyJk&swmJ;)>DoI%srjR=Y{ zpfUC^`3A7@%0HdDfMv^lS;AD|Ef;TPQjGZutjmn%YdlGabxDa*!topaX=M>%<*GO~ zN4wNv4e0|I&YJ;*Apoi%VnzT|(<#e660%ElQ9>v`GM4JcSIV5jyg_eEC2QrP+4rFZ z<8V)OK2u1_KTO|z&pZ=3GLr+3#L+Xq1zu!nbDbG;Mft)E&sQKEJ0%MM@resza5m2z zb)N+D422;ZZ5NU5m@Ews-}~8p8M~&T+CLab!m;gk4j47Wo=U4_>B{ezD@HRD;27n& zTXqU_tDQq8RVzv-GN0FvgR2y#k-%>i_QXX!-r?b(ZWZ~(%it!nK&$O0)18vSY%@Mb z!yy4`S|rMnz68p|SC1>SQ4~aiWb?H<>g=X@uo>aKNI&&R-|;%a3I~0N2th(Nm#@uu zyn%5e5RKC9!du2mYQEdgXUkn4IE=WEWh;5;mV@Z^CU)Bqbj!29?29p-yw^+NFeon6 z%ZcSVjUoG?j>{>b5mFKWl$LE)=}0FYrYLiz&&t`HL< zGXQ$-(&3eS0`Bi&u?`bWKPv*#kaPP2tknz{3w&lXC7N|cFc)q0@D(@DK#UXBie-*NTT(GG`+gDA%Mv=ZOTOs&{#@oV1+P z+-gLj>+OnEv@h2TyIn$MTZ@2dCsun@@=bg8Za+5JeRd?3E;_o%hqf;jEfxFRQ!)J= zU$<$Hc~$5uLm@nmg+pu_bon2)BYzaB>3AjP!Y6YLKaZu}b?P>>?3P>A4r5c{cDS>F zI%@_imj|=3kZK^*^X}+OtJ*HX{df3YNc*A>f1vcbZK_Ug`fN_Vae2QY+U01|2Hm^R)-MVH&>r@*2dr+KmCQ0&Z21$ye zlM`~{HMIwIIPFy@pVu=k%`a2{kcyBQ3R0UzC{75{)$lwL%h^z3@n(@E5Kn1M7>}~H zrS1oaN+7gl^P-gy@6t)!It~jht;{Jk!n`D`@BhPVSr(TLWXf>yRv%T^qa!g4$M7Ps zSz4gpM#Wc9I(Bk@8>08q7ciovteAbXBw3wy?p$ zxIw2I^Y7E;jlJ}8I9#Ni(-mIYX1cnR7)@JVa!QT9xyN_x|1Y}CQwJTbGEJ*GyE=^U zjH`%*nzmTv2ww8wl>YHuiCAY7e$6@GS#{P8s94R*0uXk}3eQFDB_yPryU;J6Fz`6m zDN0hYCMct*ZD>&jbtaS4k&F_5DIQqR>ZV~DQ{*PeO4<5Mm?E4V2fI4k)kt28fg`E7 zuB1R0*f~7J$t+s5q}YYAv1}z_XwrI*#fGUT-6KGxBI@i%&{EVDBP`U0Ei(xH86U$= zG^iQ>l?NXv!0VyRrN?MKQ(N|D>^mZBOJl8f3&b$E0HM70=juZ}oNV@PE=Vo6OQAmW zjcM*}LE!4mSN|K?h)!}=>y?l~4VCF?E9&h`D@0QF`-zA~Wrcf?@Fp#q_e%U{Yds?d zy}?YuEMdCT>J7L>X-o9qN0@{Sa zJ+JilPJ+3-qt8g1mG(3xXncq)Vzyn%b!2Hv!Y}EX+{jjBp>%rr1V>R6vAsxsGpt?* zL5>I7q-NYZatgBn4q5Q{0ChmIVo#ZM<2Ehb&43CN&(wKSQsSHd$IrAW%>+V=rPj*t z_g%iN_s4b=Mkt#(Ghb0JzxSAQ?uRnCvq3g4S$~yw-xht#B8n`zVZ)k%*t%H$!i9H@ zt`pu;%H?Ng3=(ND=PobLJd<;R9mXF(x4&u+E#P;Mvo-xzQrc8aqZRClBqiW`AK8c* z#9Id|n%4=Ck86h9s&?#KJeJKM@Zc!#+$6Wf{Lj(IW58U|``7cQ+x$Cgqv3!B0~8-& zqiKMnI^WZcA(oD+ovqavSC_bCArNUBu%;Rs5|~6Ghg#)0sPYi{1+&cL|FBEF_>7`j zL?!d=3aZX4h*K8YQd<7L!C*VkI7Mn(D0u%;wc3V)K;IMJl|sTBVioz4Gx!OR!du!& z`B`imL$)24Po*;!VWk)?wwife}vz1sW!3^SP^& zXU@3XaS_tsbX57QC*;ah>%60voc0iH^Ve6)C+6yG3PQXm})Jr778 zQ4BF{j~C_8GmMbMPTLO*sfzw(5%wBfi(x9aVE4GE!3}Z=t_UwnR9|2gh4ryz&g3-- z`2G$%936MV0PWs5n(ptzb*z!cDyC8$JWex(h&LCm&B-PMq17}!tvwcogo+0Fu>5ti z;WC$Ju=A-Bv~Mg}U`j}0sIFq-vs8QS%WGC>#0$+hhwOUk)rh)sxgvtfF85(h-yZj> z6@&S?TOA<5PjgMPoO z&mktD->2qefvsz86p~q9o4w}AKwfo{kVRn}b=ql0jT08eq%DCJKG2Wi|LV(IY zv+b#mX;TBtR_|Q7$?ecyvBt!7b@)6trhBxe?0=ija)<=xNuB(^5|z9!@^mX{wSRzc z{kxj)n(iWPgD3T1cJ>!7Z6Y)3Go1VCq!vxL0_(7YWBuJtDC?urkSPI z-x?rdNimExJT!Nr<7&`4bvs?7*5XY&EFU%1@|x!LYW94L)uUOq@LD) zAt*#Olz^Xqx{u{Wli(`t)frQAN;}P%PHAkrc&5!aTFgAtjs78v)LyZ>Hc={5Uz{9< zI6jzywHq(rK~$q?e;Uv%bGofZFDF7p8|DQ?&YIxOJ*u}+2e-WriC1GCq1h7M8w03g zG#}rLc*nM#V>QEu6=sH0de$rX$k4CtA$*G-_bgWkxb4J_ck?b9DhxD#V?x$uw&yM)6X1J+ZCTWY|q; zu4Pjh*|}`EOik5g!o0^Gcg-h7rO^SI-wI_$-(Q@X(Nt9Er`BI-QBV@Td*=v^;y5TV z4Nx1EU{tB2Kcr7byN4TJ=!KJWsk)VabLJ0qwVA26Af9jF<(pJ~eZ06i5}z`BD*>5b zbiAC47-pMIgs_Qg^^Gzl%aCaO!R|-1{fa2_ zIQY2>H8XvSShF`@nLJ77RdVncE*neC4r|yBu@91Hyk|-|Go1ZIZQd#r%roS5GEtxP z6TM9X?$2H<q7;4d2zM_9 zSci+=SsFxGDQK!Rg@E5^bZVwN-6XJhjKFDp&3SRuPUTIav^zGl68xsy(RF5QCwq4y5 zU!AXdQ*r_)qS&?Ipwr_S!n99^Iw`C;&YRuoP4Cs^0GC`c9K*WYwj5%WuTG^fk-gn2 z+0i#QQI{4o&EB3^zH;~Tw+#sw|K;!7vNYnfzg7^o3`TCbMUFDRLiL^aHD5INoBLfh zz+MLxacR>>FWJR)?EJ-@)JK%1cWhu}j=4RC(B}h!jYw|(3uwt7m#Dh-p`;n^_4*Bce-Tn&B z-DR%pGbs_%+t1n8_w|8f9=YM)IX};%M`o`f5V@vWoo7_p~;xO29HFmp;A(wg+JlktCHoj17_xOE@iYmL3 zcR+^zt&E3QW#(n{B{|%6v@F;DSCOzy?*;l?quDd0+7c9c^6$K8zFCYTT*BdV@C+^6 zwtIu>=yM%l_bYEc0T~T4=Rj~TOYLAXkX;m`z{fQaSu_Fh!nUBZGvT{ zib=m1k2!~}iEQm$>MkVWOGeTXZSo&m-z+3?kE1kM;(v(t!dDl zayYqmTBW{YUG0g!Utf8*zi=}MWTo$k<@Iz(`J%bGep;PZIYcm`WeB;f+ybNb=@J~h z;4z0Fi}Av9qnI*>&FN_2fs)p=sVW%QSAW}U0?_>C#gm({D0g|A{$4rYe_t)QlYC#406w_@@t9U0big%?yAyx z@ObfAD@rb|%&wG9aJ*13)b4qyXP#HT)|MB0(hZwi?{)RzPWdE1VQGbqFXRC?LI_dC8B3uyq2u$_;9*64Sia^@7uO7(E+8nx;@89i%HtJm8U<9>iH zY{Cbx;k4JMh9Me-*%oKiaiv2t_HgUA&W}v>hI7K%1hvo-yp^bHpM~K1&SN>FW`A~v zGrc^cx5cXH$Ni0McjFOrnk`m2VhghE!@WX*sOluI(jK&F?E>BC(d_?Y$yiNVecC*Uu=&|0L%R#C0(Uh zrtSt(xI{bZs0B1bU8yJ3(SRIA2uMPR1kPSBZcLz$>T{z)C626gfNfD?o!8l4YInY$ zp}OA>E?wgp`0hQ3xhN_lhnIz5lKI8@A?Ez5-RcZA3+0XhZ9Vee8hX>BoXq4^@)N~& z>k%U!}li|H5 z2R{Q-G|H5~0!|D1eg|48Z*J9VCTr&*`|r{h7N-NrqT)B`3FVw$vkwU*k#RBFT?o*B!i|+-q^c$j6Ls7AteY-+AgK4qd0-7fZw^o`ORuO)Vy&0!c?@=|q z*Z|M1S6|u*i%JWcQ5&Od^~d|~=a;fyU!SKGI%TF#ooeMm($@I!JuA^Ydu9jw*YoPX z-8lQ6Tt085u8DpG1Tt-@T`c&S<@_2N)U)s#M`-sEmOB?8f~V@(NzZgh9}YY(YI{^g z$i08OkKK3#-W^Wc{UY@A(DyrP#8mb+?RKO-cywR+lj}i^ym@0%wdRCdDVsA;`nl$6 z24(WUy0Sm;2gvibzfEV4^B)tqKMDY(3rcQuU=*KJ7d5dAV1TQ|*0y%GsT~zZEkg1X8N6EcW*6*8XwJn& zE#wq?1YP_M9f{bNbNa5>c793`+rr=-`rPwyi1V~0sHLqUdS26mw61>3<}R!aEj>%l zU1$fHX%S*`Z?-yUU+oXBXE&RQ+%5-;H7^Fa(^{iV?=v=QfqfY{UrWZ#C&@b#oR1wL z@%jIct#1skEKIuXPRF*Wl}q2E_@~V@ zYj!=?5|owBm4&_Ud};tUwyKA*^v?WC;ZGoYOo%2R`p@FmfgY27EeBL=O+%}-pnd%mg!>2JMHbRo|Poagz?9ER#uSY%K$HTn~*e11e z64urOc)(~0`JFj8-Zk!(PT8Ne*OqeP1cU{GDE7v`j>!)hz!^llN5DIF?xE zo*wMYY{y?VSo^7ohQeQh@*@+jwgtnyDEmN*wAeP}kTX@nVR;3_4?e$a@G-() z%9|jUXl}_j<-DmBZh-%@8Jow*UUK7^HQBuoB$XImIZ{5ly6Nz#;q&b_u^!7aN2uN+ zIJiXN5mQz$yXu~I^b5ar?Q}_x%kH9{psr(CFPa{n4RvSq6v4w|@IgS2Q^k zc@z{s{S_-wDFq51fBm_$s%v|mO7%RvSf8+2g8QC7-o0*aIywG+(NUj%yUsj&2C4E< zi!8IELy^>9FONk)bp+Y(+`l^ok0P~OgLIxYxgRA=LzygXIhT{t3+>Kmn@A+-r?V$_$8qOr;>D?8rdw!{N~A;2YcBf1T^<$q^Yo%DSwV~*|blX z!q_^b-|U+!CU3@omctav>#c2d#4~^>34gh{k7i;S3p}n){q#H{Gh@lGxa*IeDNA+T zb1thhC2A$j`h3|`a{_i4)YKQPf$^>AykqM4KG?84x;u7lb$hfw??j~V>`G0IfQc8n zV2k6U0%m7^M_fIJ^O}tfIt-b#^WSR%cY<&{u<@~O+ROUhhXNu1^q*^>91|AWxOeUu zgRdM3?vTRTAvZKlo$gFoulrIw!>{YW87o&U#^fq7@T|0ZGWWLzmMR%Lhu_SLW1cN_ zQzfi)y>4`oC|iNr7B+tUYO`Rs$Ys)GEaS!qJyWx6!u{9EXM*|Qly&aI_SX+^y(k=K zWw~ZVkmdwv;3R(6VPTJFXNQ0UxF#G)uY~dn!C!q z)L*!}x=E3k$tOcaQGy_20zBdrbFC15DRMvK4Pi}NgUCohMD#~-IqU#DJ2bSp9A!8j zsZB!M_R>CGK)TE&D*XEg{>|FR7e}O!l@(21em)WkO2F{2_>$R~sb`GsCj?8L`}e!U z4wMKusp?^zLmT>?D-Qbc`GVlID(A z80rKK`c6?l10z`{6*vB*GETk&9p5W2{BNY1)D2HU#GjNe3fv@Ww}j~US}$=UN#7{d zLLxK$V}(2jc?ZH$U3Eh-RK!nc+@efI>_B}l*M(jY?yHOiO4Yv?j~rxf8p z<8FF&OtNoZU9MjPBR~7rl{S#)aZEm8)=fYEh-hwz4WU+6qog`c7aUf4+8(twV}TU{So|W1WNU2Nxf&I{NwA_zgs3&uy0j0R}5Fru9Z%Mex->aK7s5Zd5WFrB+xi`mG~GkJA2UcyLTY zinwk6P`+psHY5xTcX>xD6_c!a8|gRhN8B9OOwD9sfzcaB0Uxtmu;MvvFJ?~-%ShsD z^M<2k1WTV^cX{p!r_s0E1<<5;FHzr3+5-uEpV0VG-zY|3HhH==o?YvM!e{Tc1$C+h zzf_%8C3JNr!9sMP~g;*HpFkxV=V8J2!(OsOoSfK>K%9iY zt)PW`H(OTo%=$5!dQrTP`I4s_Kl~@}w*uki29-CNnchSHLGyO!p?x1ee&6Gzbk9CQ zhd^P()mr=J70_%0rScmAzf%ZDP>sNp!L4T#k-*-cJjEMfXhbe;0pYp1TD!^=zsUzqhB$Sw>YbgnZ)s6J^{r+3=R zuaNOjzNWag6;xXekz4p5b1@iw`a{gjzxKJbs;CZLX73|CE~0t%(1CzBv+U<`Wco>E ze8(v>e+jGv&?dhb zu(sl=_XiHV`r#6ex`|H%L9~V?;xJ-=5AB ze*>en^X2JXnxL!n~bd^L0XID&7gy7ywjs;GsxlLl9GVuBj6an zb=>w@W&_Uv$Np=kaR=h;)>jJ5%-&+)_wwd(J0Ku4M0Q_2Nu11B>yPS&hs0;zW`Otd z2fesni&EyP+$OVyP>N4l`8Duyb&nF~dU79z)%I8Z-dpk5W+^X6t2H2-;8@&T!w`OJRjcz>^ALD`-t4X!1dR;R=J1iz+Q zmG`$od`?rZv2~k@XRB~Ucks8-B5;&tQ-EDE=TfMpCMw&|eb6D~P}~z8E_w|BmeS=w1zThk1hqEa)@w++-9t% z+s9xmXBpIk#ek%;JM4LR=TYSbNA}Ca>r<0)N?NuVerx`JD}p}}kfn)ZCScgOro-t#(6tok_h7Bx5t z8W074CO17r<+RbSs^jm#haRGTb@OElk>E_28qm2x(?pjS;le#2(; z=9uC6{h`z#1{9*#COlb??EpdOy61I}d88x^>04#juXfG#)y|vS?Wn(fw8kzqjH^0h z)>qt4q}k}ey`0hxFod7Yfq67+k|iQ7TAWYLbl7SBIFt6+h1pdf-{`=e;&V!_Vn%S^ zSBaDCn@$!DeUYJ73FR=@!!s+6uXAAd?eQ5qGs_4uT$>ajlZEX0_}sNP+Q^ycKMT}N z+#Je6fpx)$epjdKj(gnbn`*1?I4H!^bUDss|CO1BlmM?HYw1$v=>3~N|7GMSRX+R0 zY?tW<9xrnJT}$TS0T@e@OY4q3CAJeT*MUGe8`R*|4ma7!b1LThmM2H|ZPb|GJ5JZ& zQG??(y>}HG>y6~ayK(B%2DZok^LGhrDFf3rZ(DBQ#jNjIwA>;d+c8Hl03Tb38`5IC zhw(65v|3B4iK_H}7iC|r-EA)N3rVUNO{Y-nKebvh#P{RMejPRu5s}b|^waZ7k~ZUL zVQc_rl6h6KdGv%|4CNmkKP!o^y~!YCikv<{E6bKTeIcvA5fins#f4F8bhvJc%n6sPE3XXMaXU zx_lr5;TZ2u>=bUF3oNJqT**m~bvMTI{i$3O;Zi@U);}_y@X)b3YOD8^YF*$hsV>^% zJRq#;%wz)XyYNJVkX{QrGvAowo-XnM`O3c+EjrPpXceFm zT-<-(AiWr6c=5CMhPm35RILLfBHl~c*!SSJWaV|q3%O@PDA7HMy~_pQsTX1*e$2Tv zF|~$w2P<{c`u>E(A@;}ts}e2d{jadWCsDFnm6|%)WKM04KXggcbhp75aHQrnDoV!T zsiczp4SpMb2UaF^;SPsC-|_RgtsQQHJ&dx{Z1vIOx?>!_%kRfKemb|dvhG|5kpvE1 zyDOI{)QI%jLKj+aR0qOi6kdc>e461}b{yu(juCRm8x2hD zncv|c35JB5^CQKX_EOM6i<6j!?O~%A^v?>sHqI3Z6;RU8cw`wP8`9)OWvbNc=N&T~ z8)TjVopOf#TPHLK3xz)GoL{5$98Jh>Zf+*S_pfFDPEBwoOZOJpnru1fvuH-S7Re2@ z!6ZeDdA$cNUa$In<`n`Sg{{1qW||c%Oy5ZX50o3LT+zIut#^NmmX$hcB2# zE1AAwx#uep8d&CXz0oARC>I^S2zq;2PmAf%{YH7Y-ir%j&!TKQ`+NtHC1P8qxvWoE zyqCMbyB(%aG*_BhvdG-AVVnWx@#H2n0xCKz zhv}tYHYeOrEnOsRktakb4fdS8#H`!mhm)Cg@?THb3B5j^7Hh6&Ut{u`5*4Vs`@sF0MzovSx_?S z&r>ylqIXutkO6lN_8t7FhJWu{(X!uLA>U_s&UW1qx|6{CUMZx|{GwOt2*G!(bOc}p<3YFqD;<4Ri}o1JsP<0_5%f(u zH*+1*H{Q4ic zF z*;OlQ(J7kPKVZ_ua^#b59fPV4Bg8V11^cK0G28r3$76r=9x69Y%%S*k4;vAWXBa z(){4lU@bRhlBkgFUw}m5k+}1p*bYt2Yvw30dK{w1=aVc{bTfd1<$` zK<+#=xi?yJ%tc-t6PMWt+1K1qzkNZyLIoJ3um&Di13{s0g;2U<8W3kBtY*1=JY|3K z@{Gccko=TE8$+=c9P%y74g!YFB2lE4UvX& zZ!X|IwPOoqCqo#7?3eFi%!`j<1>OXx4;RTCog*=_AoRcXbRka(|Iu&81>=ZS`t=AW zBm374LB(h9*=N+A-3~wv5EC zUgw{==AR+c7aN>U2f*8s44>EVP5VIrC!yuF`pMGol!!j^n*mGQw+{LAPK?R8>~G*M zzZ17M-EJthWsLi zL_ho(ps%D1oHP!o5!m=p0+5Umws)v_?nNMu7|+gV+@Gt0Nx1?v9z#V=4Q_ zS2F3hG$_J$5s8tz~i3n4N-Wc(LKJ&6u3J<~q3ebsYhEAM{ECo7Lk4seS z9J0Wf9a}=2 z9?&vMNFmF-(x0J5!dlQLFK+%|z;UsD(cnIoz@RZjL?B)?tIv-ohH<;NV}Y_dPX-9G%texTc;m|y6(@T(u#Ku<|e^8V6O9% z>Bli>EDy^>Trx_>yL5pf2a@CnI(eFiCK3)l_)cVZv_$W|Dgivg2wLJKEYGq7H8j@8U6lqVh#422ahO~vyhPewS#Bv`s|H(ax9^23x z&0MN~pwR!xF;A<+TPp#aN?nDsxPP)L_YCTMU+Y!KOa7-Z`W5qKE=uv7gcQMUQE&xr zEc|uj6`V(_={=^V*?RvrL5VLbal9hxF$vkxb{0>f6%#@#h9&v#iabT1X@ynEL?gBd z8ifqHTLvI`TlPmWaxsd}=IrGd(+pZz?EaoioLivC2d!tRh)!Okpbl=Mh*-#k{zapZ zSs1B?Q?8Y+ds;kK8Y>wA&<(!pM1YDjLpgUBrj{ej@X75*&P5d|R*C0H&=^!hA`p=B zMvNyBC%s5}c_d15<3YU>FBpg^?f#iul90RO!fNJT;UY}64{UYAaWo&P5!Vn6OgIF} z*B{%(s4CTCtFWAT5URX4!}8L20&4_>_FG6|eiQs}OUY*?PUZ#J|abF6oSi%gC7xKnZL>tkQauHR~vD7E$>ceU9XJL|( zC4iO|4Dq0nC3B#MWU)EZ#_?F~>S2xAaqmP0sw!&*;$@N%!nuar18zdLxGNKwO&GfLafTNNoY72=3;K z`~`nHfto${x@qjj__ir*t%fQw9WbH&mxpqABFXp9EPI~Mr@jhofm-u$Uyj*Mx0#x< z*erE3q)RH0#VtvN31MN0c>nku-l+9NNUDB=5~4c>q}dam3vZXp?tcZpUl$~ZiDwjN zCETW>@dGYdQi}2phvh4@ll2$#9lC+u6T-(0-q^*D{9$VrO}`<$+?DZq4Xcg&(4MT=SZ}Yh`=N--B(E27GgfA0l3{ntBFfPQ2_D$m<4cad|Q zRQ$(@>>h}6c#7<_@n?5oibNv^E?ZONHyt0+>x4(ppG6>xQTn_&<6$Ae zAfXT1)>tkmNAst=W91p-O;-we3dh`Emk(^l0^{1##34=%GW)7=4n*WrTYpRZ^TQyr zfbbkLl!9;cOZ=M)puhG?Wv3&NrU43RN&{I(aOm{B6XZbIk54aZyt4#e92T zDB=+;DW3~wA_5ne)W&Kj6SB!ev@2?yPClsMSWF~&&c|%v+#7}<` zC=v<6FKEiX#4o)DUx#;^!!{n7E;_gH+N0pxCZ0pLG2k0_$wB-fGN4i4t6=|7<2?4k zlWfv@790u52~PQ6SCRjR;r_>1=!7|;h4n`U1`LJdA13vk<%Dy9xXtoPc=oDb*i&T&NjXU0f^3X zIR4eU?xm$56>?M@d_Ia*Q1Z(|`G0!ewO2cq>xdYwch9Xt(Ur+;saCtI=I>^EdJ~*EgQ9+8? z%{jQUB*}o+gmR~vuSKfuD?pxTE0Bzn=&W_6&-(C}xn@ugQAfyzpVh?`oBiW~+;TVZ z9U|i|B*!tTdxbj5bhD2(janm^xpQ=m&3fzi$5mq1|1)3yUzU4X{fDu-)=7VpD`SB! z>8OU8pFbr?qw7D^qN~m-K_3zrWyF0C zQkTqm9be^b!2&C_VKfVv4ewA}3WP%9Qz zh?68Lx>38)I?37_-072DAs&UtCaQz>D{Ao8Q5Lm*OK4F$0)%nS))!o+mbCv@ef@uX zqaSm~AEKm5+=a4Yi^y+X#=43p!kJu@{)jJ6_0@WWmiZHc2O>;+8Z<^RM(HH#1j{wl zKjLLbL{wynl1k+5J`uCo8neQ%K z0UP({YOStJ*e_V2h8QFF3w!ukO=wMx)nV4zn^A;-YLermCl*J_l}z(=^OVCt?5h{G zFPE4!0Ck&;?ML>c9ypu|Xhh=0_|4O(jBS7qF_El-+N14-%0^%iHdbM*9AbA?T)5x) zcP(I}F)yqgJY#R7AJ81()DTG{a=s)kaK}(fEKU+$SR6P0N}Pz9Oso0#Cl?ns91feX zRfVX{{{H^&DOOnCM7GBx5KG5ZbX3 z|0@)p;IX32)HxY<%^c+#yMx>PDky@=kAAgm+hHxDB_-(JPill(x=^|Yfw&7#Ghj`b zBB^TxI>z;mIEFz|k)4%lAxfa$u8s1m2#*u+`8{T?w7WBZCFUU08QZS+;4j(c-CY3x z;9wMvLYI#>2`MQQR?N9d}mv$(zs>r;FWs~e9Ev;G@#AcY=XdEkU|lidWS$TJa#R&-(sMb z*oU$qN>ZtQMvKDEpi>--ro(^**;u3D(!M{{(OPZ@GW|yMJJOoJ-I8iG63!P_WOKz? z+Bjo;s8uA}%s3!qCj;9^gcO99uY-Ot(pqr;xa8V&9NDVl_doC{M9{w^Nh$3m>OVUY zkFd6f0+(a-@GB+u5{RB7BX2nYZ{Fc^6z6KQ6% zMNw{)e>xJIt-AkwA08R`K2}s*oUY*+w?>|gJ@xMYYlkHfI6bh$MY>v}*A=gFS07JK zMH?n|I9*W$w`o$8_Zmywt0_sBdIHp#P;AJ^enSt1%#SYzC-mLbicEQ_#2m4nn&=%E=?B!`4=FMNO*6cyX0s5TGD_&gn*8njKC zxfxZs6MqWt<<8)Dn?5BB%Q0Z)u+k-;r@S&{PFy#lgH_t+6eZS}q1$$%b4^w`JZAn`m2WpQqw;`VT9Q8OnaWZ7*~F^W;S;h%K+KcN*!p-L)Y@PE z8x?nXwZ`k&;w*put@l`0^41a9CIutBBtxzg3sN?=(fGBfd)@=A*!?QUh1>*x7&%>p zFE}?Ezw=CF4sUeH(dY-&sIgR}@0G?;4k?@+6oQ?5+1wwm4O^U{;Bvm!T!x}Nl&ERA zP=_JT{AgT%x}_gpb5CJ_#PDqIFD@kN&_`jZIOj%R79W82>xR6-?GH&m$ms1AoTGXJ zNlIbh9C5>D`q2w0k2H?5%^C}!gkceRPI^766P{j*t~4kX3m`$(y1)M2;2Hw9nQ;^p zJYis05!0Sn(kts&(zh)-#)U2%*A(~D?vBu-@SX|3v#a}+VqjnZDb*KOyVVH^U+T@_ z8wB?R@G!#>-skOFY_3Eh-~jSdDnzowOHv2II0bdL4zdl+I<8`=V<;??q3ubQL&Z$M zW5RB1W|QV9CY?HIExuJ57Z*eyX$2#QHCo{T3Rrn{@mE?yWg*z@xN?s;ukQaYe*Q5w z_OAhq40ll2^rO^Ejr$VBCr6|$Z{`$Srt~_RJLnFz(NMV7m#d{3P4-53NlESAZfY@Y z(O{tB4T;_qDULf4r}hiJs1cHJeo5jNnH?fjp=UUS)dybd&LV7rktKU}cj+pI~bmR-|b4ctk3l}alo7`B=5}O~1mpcoV1iy+d ze{yW@NK|M$m1E={%1I|uf_foswS;serl^gsJkYkX^NE5YyZ6htAi4R(sz-a@2IpkO z)OGH6y4T}7X7Xi+@fFf7+X|EPIzHrFC5s^f&)|WhwdbtD9FKaYop5b=;CXTlVCq3D zZyJ)8+d;q$$;MqGP^5t}_YXA2Vv($|1|f>OTLle`@R}M10itUrHy-HHI!Wqiq1ZUGPjE!1Uv(?_&sG*Iw9!_%`Q=1jOMHDm`0f5U0g11IBuG1MS5rp z$jXl~*~fOy{)K`?!i<7hEli`>Nm8->|_Uf}c*zgxb2A*Z}Rx{XFczgi`$_a9Pg%SbB zUp(u~J~q05GQ<~zeeA3i_tuyWPYn12G(ws(aK%}i@YCP2#fLNv$}x-Gv*SU1ZJ*t- zJVcM@vEsY0{*Z3}jSl^%ANy4T=~h9X`&aqq3+~_mvFbL;C&t0u*WZWZr?}F5$m)}^ zEovJ{DtD(!m0Okhq8i@kO@(!rmDh`tJlRiqEo*&eKQo)(B{HPgd~aVAuYa6=(8Y-G zD!;zm-8H2Ho}%mh@Z81RM)XnZ-b0$U@RB1*k961HE^Sr*!4&ii>X}k2CiYHDebuh3 z7`AFP7!Z)vs}dsTIa=lEnSfC`x09F7@CLoY9^O}$Y(Mps+~|}ubw*(4d3xI}Ug)Q~ z7N}`E=PchgjzE^DJIGP7o7g8@65s=Pn47)aDb}_^X9@9oyDOBXvcK+~U)tw(Ih3XG zP_mqT4;uq5-COHI?D)c&rUabmRCC25R801%DiI-}zU$f+2KKtw2&c9ux~0WJSSFcg z6&ax@1vJfCdwOq4!oFouplV^1ckcDI~B$BJsPJeVqxORUQa zwsYCv8FcRb7C9YgMa0XUV8TZZ;YK@YQ1b%+*y2q2F;&g8n0BbX$uxLxB=CyPa4!eu zV5P9l#uDzBpE7unXOro4#i?$=)+?}LJ0;RTtjl_){Qw=Oq!cSTB$VwwyEl0zIkO@G2dxIHT+O2at`G6-)Q*Ayb!Cd7;z2EykST#2a_=4RJ(x z9M0`Hs& zdwZ1pu+Oz;DIce+yHd!5xKW2|rQwps==JW%zbJ5d53qpJae#N@NaA z$>eSl6Rj65!T8oR>kelReRw>sAvdLp$CB?Uq9<_}o8?8j@#(-8e6-|Ua~=46Mv2$U zI<3i7-{_;!a7mZ7jla{GwrA}A5yf(c(ML*}lj2zPu#8GIqDc|-u82*Sv@nhwy)mZonR46a=6Z2sx(rI3 ztqpY?JF5>Xu4LD%{SyK^y-l`?=PirI5;oh;v^7S*a_s&x98ajF&dElr<5(ic-DJSB!r2rVgmY-8U*&oNOGnk9f;$jS)z z2DiPP07*)C7!|E;`sW5XH_}T#lsj1JeN;yvRV*h~?cQqk_*j+I-o6I?Bs_$B&K2iX z&!I9g6Y?oSa$ZS^c=$)*PCoxT!Xdn;R;2rrBh2*-E51QH&8sP_?E+49g&vpDH+;_v z&NaT0s2J~^!3{T`)CU70t9qSg9sbkD&Z}M4)0Kc!t}qt+@o)XJaRpdA*&CsGk&zb{ z7fyC-WvcW}Q^P+4Ip-)o;{sF^E|{0DlPulh{M|2k!Ueo-1}u_x8BcCDW%2wXj{CpVQ!HzlJoFOqiD6dAYQmSPxLtl%hW-XY&TQAcYzPm=YYix}- zKeHe$&$__fPf|H%O;)gCrUB)AJO7*x%H_No<7N&Kt$FX_t-K!`8VPoQ55EUx8OrhJ zAMtq_oi!GypPI&I^C`#vzm4H)gD5n87v=;8Jv{C&Vg&&TU7kz0$1lyw* zQAko_rTq(+k(R-=wY|DIg?oG+10~JL54o+KN@WN41J$2mMR}hopL*})C~#Ptfx7^a zY3q1pXMR2(b5!hs86Wbwjgc|fLAIfD0;_J!<*QjnwGvNqks{aL-yYAVV?H41C&t4Y z&Ere9l1Y^}H=sWj=$|F4TM4wWEoM!%GJ_Ry@6%aw94S!@w{ggs*w7|$3bF60auFfH zzgzPG+X-Qyp<~Wcw;nGSQFyFCYLLUamEpt1vrtux12gmo5fn&s;suOj5 z9-r?iO!utg{4Sucoh|EB68Mg*^8YBs(q6ZmuHHGWt_#MTZYTmSD)Ca-u6Qe+vDh462>Ax_PDKXk{>+MjKSwzK(!xLbAkON3EDeAz)WjF4#Z8dGjyBBJ_4`^7t28%O>~qAS1u9EDUDt7AOfbzkz0 zi6T`NtS%+sal$0EgB{5HZY6;HBl{kT~_Eo3e2^ZYVTCai;!u3f{n(~i>RK>W9C z#ruI&>@lkY(FI;bBJ;DdUg%lx3kTCpB13G31#}0n?Bx5XH&QhTysSYOk(}~*LkU)1| z&TR?>(WxdB&Ihtk7;?q1Vep5WZR4vv>%vf2?)UyUcXOUwJL>cU#-WgwhW)D}ucwTs zwVR5@nB<|wlWL^i{NXzvJxcKV=HIYSbtAf4_dwou@XK+HFboq8;pJNtTY)tD7ONxn z2iYj`VJ~3o#UHZScTj8`4{4$V5(+uWK(38xE}TCi zt0voD^Kcr>L^Hu_Oww=BE_lPYL`f%3otW>di?G};&sKKN zx5r-ngYdz(;u|*&_S|VB-&0SVJK=R@F6fmL>7Jn5?yC!@uN{ESUb08}L{~*w_fgx+ zO0D{F8$-;x@5oyk;DFrRCGu^a8tD9cPbRDBdbj<_+btQQl6&VUr0)6>Wb5U)N+6(ePSAwp;FS#W5-<&O=`O>5BKk>|H5uKcuNN%{>t)CyZU? zW8|Oh!^2ya@c&B{S0R5sovYp?%IZ#{{;<6KzEn^t2SV*u0x*#2Jr~O@O~=<>TMqZV zm~LiVBsc{3X2cvj1LsZ9vc!xVu6e3AjSP1J;~HS%Ir#rpKAbFsv4y$L;G7p*kdYQcH-i^Z+j!tyM>zmDJGgmlVNzf*?cJ`NCP|Z@BG0OS2co>du zY(gtTuXbi(Uzo<+>os<@5$=Ae5=QpDDqwYQHr+;ADvH#czfpP zeE3chXnwk4w)&de+~7nS$WGViihY5Ck5Pr+l3y(ifj9~7S?q-5t5~%gDFYd#cEI*S zs`^sb>Xae&cukK>(d2^@WFluk)-cj7 zb-d_3Hd~&1PUz0pHbN5dfhn-%qesYchUW*EFi-KE#6avW=bfToK+;w{af=ErtL+liN8xF-dBNrDi9sgqkZ82nbXib$!uxLGy@6X6+EX_DNl92+ z->@QPSK^JCkw3sbt`qE0vF}esH~!xx1@UaZvHC=0KkcA7NwV-Fkf5P$=dyrAbuc_) zMiWfsuOk3<0eFSu%`@veP_d;^17idckjI*@EQ2#p)p}?5$vMUv?P3&x%1b#Bz)|j_AY5u5fUfp~48TN|{x)pzx<4AX6!-IZ{-pcEY z62=Sb@MitURd{Q&=??%^>dh*kLb>+;8(x4vLuor*I*C-ElT@HuM(wl(yi9JK%u`te z=-cfiH%9#S^}iDgV9pzRK3NPY(9Hg#AtfeVec*WXm=*;ZzxIn@kfdytp2@71y+IDqKK&5_QSIyz_(j1x=u(b^vqF^PZVJDL zQVr$OrVs}m4fv3EoY;EUsw^P71lDfG046p^_K!+t9cG?S7hxvaEo3eN=v6wSq@WB1=oHGwMXC*P@yzVG`8+&9xE5(`_lOz4(2;#a22W~Z z;EZAi&f)A@-sbL(`$MX#n*p+j)zv{@7KS?Suk^T#ciiOe^HWljDdXvk2^vc3jXKFTt##MtYVjRi0RS%ic^JazAMTP||(njp~09 z_RZmuZp+t`Ofs=LwylY6+cqb*IhokT#I`!NZA`3*C${xv&bjCM{=Pror=O?0ckQaR zSJhj!cJO$riL2-_(`!|-PxL)IQ9#deH2`Q^z+n6e6zW@AT4Ht`hUHsOglQjPQD z!QpZ}Lvn;gR_>gcaZc7=oGgQIcggkj<~G!BL3!^34V%nCk;VGxX!i}jai9ekJ{aBn zXF*e{2^n$;iQoX=TGhIH<{UkP;bY?cfIr)2 z0|T-kgfvPfU0}zcLbD?roDh9tW`y~eghGyYW6-=WUIp&Y;(0_`V$Bo1%o2G8 zHsZtr^jHC5eBbX_=x~4F%gka+&YqYH)R0tiJT?*;hGIslU<0jvrJfrkk4i099!0Z; zD>xM%tz$Qu?5PZ(^^OH_D{4~$w@?h5X6JxqvSG- zdshn7R?pTaYt&?xU|qLxnYW<5EnF5(F_G1Z>P5Kei8Wbf8O)ZNA{Ya)^ryoR4jWbj z3-=+AtG?~OHyv5XEz^yL6~Wpht!nn?X0~W(!y3JF8EivX?_omd)Nk92rmfmeJsrIm zIINn|iLuPTGm;GF63Kwr zW1o+^u<8}B72T!c+^v!0j1*WuyW4#=I@vE1vNrRn~ zh$DcdDwFUkYyQi=?pKNA*<=auP5i0}!81*?UZY_|QXjr{zhEcx`7e;Pv3FQV5{?XS zgXGhfZIEN`uPm926$nwCKep>FDA;*I^#`%N&ip!U+njf{dN20%%lC3ja2Z{oZSa<1 z4k%^4>=pvu48Yfzd2@94(_-o?-r->X&2Ax~QTQZi=}oY4iBI2t@99^HVm;qNuY#`L zkef+_PC)#9sAXV5w>#7cCDirI6{ z{O27@dHq9q(tqlt{d@7XtAr5oGRydVP}`ycu{aa5n$r2bnw8S{6WbubxR)f2i?;5Q zE@r#oWRT2w8zq2f(z+=kG6n}$W2CiYyzL>J!D%YcZ06T>tQ4IqsE76%gxj+xR`=xn zaXh3IQeHD!#Su_LjLAm*sIFTjfw&Xo(&`axm}MPR5yKH_W@H4rxo)KNEkef9(oLOk z0Wj5Pgm7Q!OtRe2`pNB#*xPPd<(x|qc|TE?dK!_^nJf?A;I^*Iih=P?FIZ=kdB$vq zg$GdtZ7Xib36{vz9E3s2GO42XH5~b~&cbIaeJ%TF3~0(&sVB<*{`tX}mA6pBywkzQ zv-RE#HQsE`&(;IhleAq)$-&^<)U|Ypyq>@P*Tgm>S~qeLa;Og=$9SomZ2p~XTf{`W zd{QEl)fBV6UAb3fY%zrO*`N|JkVamY{!U100~M{0pnTUUV2~{j^sT%9SV|*79W*)v z$^AhJy_tTgoY_|qc{>}ds*U_|ua1tm9)FxO;zX+v5;XMAt~L%LR;Le7QQ}I|(3T=I zk7ozqDa3i8AFa4fP2ZvVO_|!zh{huewq3zgvbMS`fjcRr96GOql4!D^xDy3yCAp4|r`qcU}F#A#v8@*J3}`_V_kYPtH0BcgGiv zed-On(a8j!%ro?A@VAluU$+7Xvsi-&UqlQ(XtGAlfe8+bf{W2P2Gl(ptt8F+@H{1H z@hT{JVe!crt$T*tUW`ml7C^U_AG5%^Lk={LiR^Wl*Ky}eUhNLe`p$l5$r@o960$*( zF`nkV3o+-Aca(dti2vPP|B;kZ34VR+dGA25nOfrskSv>Nk4n5XUIhIGCt9wUS!J2e9VgeW)`=A_fV6r#tnDmG?Un3Qe6x8*slTOzzw> z>MaW4gupfTgFq$pz#Km91MOFoYM*W{Q5~mXFX<<8=NRV{A#tD&9_5PQ6l6r<(?0h+x9Xp&xRa{TlzCYcV4pPo`p_S>(q)o zNzf2Oa6rCs9cLqtX5-OUM=mGfrzoAN4o5Yo<7M28)*Jo>y!NS#+pMGM*60w9$zAP9 z2b#%~CT~NBn!*I$@t2_vcj@%KE_3VWWsc7rs-h79+c|P$@u;e8JyH|`@ZLh3p3YCx z-lCfY*sVsF$y)6}_$y8Ei*La&MdO+$D(LLUey_xMsB@&XdVL|(ZrL%j-8>R zR-9`V+5j&fc5|W2@0T3Mx#4SV5UH+^FIbBar2cB#d1sC8WqGUbGyKDyQ@(c1IN7AU z2j|a)*YqWl{|U5ywQ%pX#|&#V?TjitFgMDAv`X9{%?p+xMseFtrPrXcpj=%|+#j-% zxs6r9ThmWA=$_`{mgHw;44dmK!mXUn7I{AH%+ofqA$8OGdy4NQ5~696ha@nY~+2PWfr=Hd1Dhr^)zo>$(A+MT6MwIwlI z&yMKocph4->d&tx60KQ06KH0RwepE|Lv7=PnNOmU{jLca$jMBvC>h`Ux=49b9e1iN^UzU#lT5s!G=H=1AJEC5fJ# zar&SeRc~R~F$nm4`cm(vOwKS8D^>S4*-NiS*rLUC1I_)scQWhmt1Tm6*Z9HqwyWgLj~&n#!dTH zSyofSUj?qM$+mYsLVdBGh}dkW2tSiaxp)Ip2A-!Jdzrz%(`$0AGT?H_-09ih;+1PR z5Rx!XxH9MH3T@nW@6m>4*u4e73$_{G@=aOY6Q{iFYLB^Xg5)zFMVhZaIbvD}wSQ8; zY`517O3}RNR3K)sJmJj=ubTVzwjLPOi^t~VNs80C-LRvaUs#yCu2SWJq^IjZmG_^x zoSyhTa&l1Kc6^xcjikSABrVM>8r_67ECKaRyi|`3PGrYVafd=gAl6^H>=>9&|30sv zN)*{tS=@xu-%t9JRay}EmxGfsjDKDvu&m4Ua5k5(9DT&~3eeOE8L(d`k!TiG(Txcx zJ8RyUYB3!_ZMq0`1s)FKS6f^Zxm~8VU^v{3inebEYqLpv|K_eH8d4b>he%YI^NF2VPXt z?GGSqGCr3FSlU8W|A2F+;Y$^t(Fr}@rdq0y&#M88k9IpWU%9s59Ceb>T-ce&m^^A}G{abDG9JVL$P%`M! zGYI@P-y|whsKWzGH-J+5jw$BIrlL>j6Ax<&)KbNz;oez7d>P|H-dOay)f%D1HOE^O#qinFULUPS7XrTm)brm;lJe)w-&}&L5fX&SigBEMS(J8j;g$JJ=U$G@Yl* z)%IK8hO@fsVxWro$+M zEx89VpOb-|Q-yKo-Q*)~n_t){n8nM~ZU=+f8=vvzX<7+Zt~G86d72>uh#l3<16Va5 zU*4QCkZKPpkbl>~!Wy{i9(2 z^s@Wqrt^W3;q+UBlO9=!C5zV#L|uAz%DNY4PWh<0wwR@M-*>&+>gN#U(Eluy$VVc| zd(x=nh35oa?h|%BStm@HULwWDVmMwo_k{c+I743F$@sX$-_MIDO=GS#ZYesTNJNy* ziAfj{^`p>6vvjK4wzgJw-kZ~Z1vlEpe;C{RA=!g1Ioo&jw7*LCbZI50>kU2)U@Q4`coJ`@QrjFp+ispHH0b-p)5N zlD8%>u}i#2Um5Dk6l`VdupY41J6a)dc0`QfZCu$~;K_tmj?G0craB@iD|Bq>XauM{ zqRk`K^mcjKSHJ0wL#Y*=O5~!>kh?cqKY$^Nc^f9UkyrNjKs?T>9uzJNwu395(unaN zKMD0woQXKmTq)I=Ns_>>F^KB31`ZQ3<@6ye5nIEU#A!?eMIC#`%=Gxv z!7;|8DdHB*A(*W|1s|>xqSmPi$r8Q44m^Iy5f?!XzFF0fXy%ZOz*fHOoX%t`j7Nk6EqKvZqCvk$mbeB(k2k%r zsk(ZKAkwXL&;M!rJAXdq-UWuc~u@)w$=MLLGJ3`-i$RbRf=RGJKksj5*khn>B_%@1Jg;~EJ z?F%=H-<*oZe+`$jo%rLG6KBXOG?{$O|H~KKE?Z`stDZVGX`3&XHPE<18%Rl$MKMKd z@OAE2?#tnae7PPRwqfG4pL}66rj8RH-vbNYvZu3|$~}{nH<^dscZqvU1Be=X&GkdI z7U>f#W|%6a=jSlFAvwqsteAbReJ!B70jMZk8|t12?Ng*TTov!)(xaD$*ts0TnR~aR ztWQvO*x%=4{u1(o_N&G5D`ot8KfA4kCcRFxotEV8sI9QvIFY{3$L&8{8}SfxV*Gt< zbWxjbl>HCI7{})3F|~nogajL)(d4F>L?iV3P;p{J5!y0j=0@=yX+Tf!vD+m$8PQM} z#W!%|Gko$P;&y)FwpeakoXH?1vfK&bYMVF2gO}6kmctju`NI1Q7+)l4OG+NW@9^-tuu^i2M_p5FB(BXFKzB=ShDKR z2ZQmp9U}9y??ZOftiCtUr=711+YoNo7mYyuc#`aZrh5$L zJrijUyWg*>wK{i}3PG_C9+rq;DNUanb_Zn&;NZlxwAFt24GTMints|WJS3=z#N$nb zxlwqo)F0)Nox{8sO!r*_0f$EyOiCT)4-o{h$vp|KQbCZOD}EQ=V;8P*2!>*b6jhBk zLfu{}Zt9#;x2I(BBQN5DR-=o`hhM)QD0k;n#25I}l~~tIT!iPPg$11u?*i3q{~(Cz z6_Dq)s_-4aKB3psM0Zp*Tu^}H{Qa8iMvl+RV@URf!Sf}W@0&f1Ze1?(8~mOn;dUu@ z;LM-HxTR=*eSLjJ;@fDP_b@@P%V_r5b>&qQw-xa%W4nyw&Nb^ePf4R~5hk7%r*pjW zx()F+ua|qA-;)?dM}MZV?rV_!XzOIHsmeC0X;GFqFB)v5Noms)bc&apQxqX&+ zy<@CTF)St-^FlY05SxaC{N_bJfW&aUr4-L{MiR#)PAbVI5p?xUe#U4W*n5j9x7e9wFP?dkx1!qJE=u9u!nh%0FG8N8RS?vXsiyKu|2P)94n+CmuseXqYDiLm z(9&qqy>bmCDV6A|ncs8t&m8aBj0B>9u{oljkz*>%xC!GV1H=ZW1{u{2LWx|`!`@4M zY>mJmUby*`OhUHc&tu`Q?bH_Y5$LwVOrWWa{aJEU7wVEB{GmVeI4g#v!j2X(sF$bW z9Ez|O)wRBN8AlTs8!An=anRS32)%D)IE9iaqSPM#jAEG4eD|nczo=NQY~Eh6QRU8K zk0Ed;Q4Sb;Lk6}qWTlJ=MYc`?>>I^;gelm$;fFEo#?wG{K3up4P?GlWyHmLfq zBr++1TF?iVyvMKywu&%Q#T}D7vm|A4Q$4M|jt)64E=IF4bMJe;Ck5~>Zm&YPCDeGP zki({cXT^pnei0@SxYwL!#2Yqb6#Aq;#KDTc$0&QH&^7vV7bU09K)|U^22t}^L`Bly z2E!Z2-X3$AVDfSjf89qSMiRES>4-CH*Q|I}4H8T=+icR%>F^4n4%3Oa5_1u*1jr(v z)Cp(1#R-(d-6vPu*`%BIkSMbA=*a5i@dh(N2oEl4^hxBFlSbR^it4iaBgMi@d{2j^ z$L{BNTIATlWOP-8H9%3W8i2g8y}A*UFiP=R$Qi%WPTHObps5?KeIxxZcYy)u2_qB?v= z1${-L*mY*5d~W!uWA7&A{N{T*@sU65@O68mV!?Cs7o<2>0ucd0a2RT}enh*d%nuA? zDZ^-mJYZkaBH+!ing|OUnj&ecfGv7`1w^e$_twVt?CoiMEG=Vgh3oX^&*ig&RnM!( zr?KPer;aO6gevbRTWyxrM^IUPcn)MxL4HU`5JCd5fUk&%zaN;>JLC{t!|syD~JhOt-rC`Ifxxu|1VvVwY5op*1|E-GUUW7yhq60qcxwZ7O_9KlI(aU6fcjwtW!8GGMRY~%Tt!%)jm`L z1T>D0?BI!tl0gDW8gJR^fZqqR;h2t8fKpa#HgiyLnV=NGTBL}uWZC1cbo};kWh>aw z$dv311?&s+$>xl%z)({l|3^p?*k+I?*QmkFavB_NeyM<&j+kq{IFIX|;TKOrNj>jo z5Ecovf3nY?#_GBtCFq&C*rlz2`kV2lz(^aExAMG3$;EN_M?##jhk_UlRYXER&okz1 z3H57?7FUlHd7)174o(9SY{W>pwTik}b_gvkhCb6PEaV75j!l^7P!D>$$75)GGBSL7AbYOM<3 z-gV?ODl5+>WunaPBW_S8dKu#0uO|B(>l;#@*kFvBQ=b1RRKg&rTG-j`>;1@$xXeir z?cktuqvd{xphZ#ki{Ua0B4!(6aTdS26_v*oA+`BDf}~>L-(2G_KQU7P6IQoSNEYHG z{?l!&Grj`Y7Qa{)Aa5r>{3LP2Evt`HK?Mf+Zw3Gozg-ny$-7q^!tQT#Q)OLNoH*iS zaBUG8j6TwHXOI)nIDbwqUm%_B5XaOhyHII{z%>(MZw&9FbOl?LWmB~tV`W|C{7Va9 zFjQw75qnoOAx(GkOFXHARePW8mH48)yf9q7&T!RLEzD^vl8KQB)zI7&o|FZ{>1z*MN4cpDYU3N0!+s^YI-I`1hol!T9h z1eDZ>V(4VqFF9EQ@cEN5F^@qJ}1+N1}0e_I(8s8vBXb4wWLRikWZQ9BbmW{lbJbEf~AumHv%yA0f{;pj_t2RiZanj^Rn3<_#9RDHmr* zKLQzK0bf=jqr?2lia(4lypNcKN-7}Hk%+cBD@b7CVS>g-AMS0dHNHgk72{ZAa%u9* zZ^Vasy-Q-(eLehmliX^BH_%K?gA+PT2_m%tj4=+ALNWC#sa_3_e1fiab7rO8L=Qb5 z!Uza%9$JQ`pt>~>zyIWP==4d0aoCgsy7~U!G4IbE=3gNr=uuqh=wRgh(?(_jVCw3n zm6h{RtE<}S%fJK_1Re3|mf^#Yx!7t0PFbbH5KMD0_VvT^8?YjKUX|pLqC=I7`4;wZ ztg4=TqNOb(#7zpJxfU^nhHaijEBl3&HoMtTdBM3cdwSW%q*;vIU%%Z!Jo-iFf z09((qC0*I#yz9z90n_MvI}*_UO_OfKXvXP_`r ztGL#-q__2-U!YvH)j5RvYB|!U4s)5&;@{u2)Wc?y(JAB=B+f0mWJB`3cp(;m^OCrP z%+kd7^x~$XrF7a-R&tk=(fAiFhSC2S$p3DbIv7wQn)>ij8h;ef-=Fy<@pnADi5z28L9#Rx(WpM7-bjuci4_-A}g!j&S&AZ9ga!wS@s9@e|XcLW+ve8=Z zQ?2_QTGMBHz|bOnaWpSDVNtPL^0pJ6UWl}@XJ=@@%G+!I#?p@*BQ3QdBGMv{m-h8? z25`LSfEbS4gCtwX&%-r96nCqYTM^4lO=>N{ZIMNr>*b^v&}eMx;1oTP-)a?6K?qFx>Yu>c?Gecy;6M_0uS-X$LzJX zP^!kS$SS?~*#&3E=Y7IGN|};kn5uLu!H}h+ve1gr@WyZ=qhObKQmf2bv`duoLZ}Zz zhEP#h)(B)3*roJ4Wdv+h>GRHWz7_DL(TByktNES>JpdC^0f|t_)>;YW<&?;NsoN)3kyYmF8(`8X}??UV~&rv*;bidh3*r5`Ce>fF@5+HO;J{BcOka@P5bKS{~}p1p+o ztf~)9s+?>thC;bl3v0T0o_mn`3mmq+7aV(*3x)w&(xTz8=speEg`(SWvU_QF?o7@2 zQcA5pgw^`zJ{M^rK|!3G#7DuC(`DeNFMVescc=SZ2MJY*(Cz<#0{#`^u8q9DfARo= zl&@n!V92qKe<5ZhNmplMVx|Gy(OirPT!903xTK`EL-SB-@Eoj55W0M5W^R%FE>$#3 z=C)vg23PNc3NP!Ef^7dqb17F-`UrNq*sj_|DZ)IbN^1Z9?jgW1ot=dTdIfDQQU*$I zD$dP5B-}A)Bn_;p5!zjYi@|oC)vdHtV&@`PZIHchD$bowF)^W9*?K{Rlr_n)`yC4E ze(p7!yOg#@r1hpw8RwBcspk`s;hYulk?!hR74amh#uQ)A%5fPKZm(=I{m) za<2xp?25|LkW&P!InrQOqheFb zUcEP=UUfZa0JjpiG8ngU&^=M{qA&H3YuGjPCe2`rzjywZLkyT9Re6)fWOuCP2fT`anZY`l37LC zd}V22v(&PHuk?luxt|1j5|x>CYg;a~)sos*6%win-3FM6R7eu1;2_Xs`0bqLqLpZ4Qkwje)ANOwdw?3SkgD zSg7BAu6tL7BTs{thh4US1&EJlDz^N-vG%uBTiGZJ@uNQ z-mXtw<0xgX&ku3^elXAtPltp%%!YZo9MZu^KUOblO29=27U~xz*=;^sW%TiC#k#k# zP*9b1b+iGjmSu8hg8Ub23Bzv{B>4sR@x%!gC`m(wNe{K$S>z?Xc}g509^pH1HVroS z>S1lbr&Xg9rQz{UCU<%7Jr#nbWS;QFW5S zNeTO|BZp;beVgQV8_MJpR=+R@Lz5n}O>uhYuvBg==OLktcFhX$5TKYiosJFOB#_wh zg?GmoRsZg5)UR0{B%T?=7%Y4NRaqN=Yr37hw*?2c4P$<_@Wm=KJ`IhEvTA(xj)02+ zhYKFXz~0)!VjUe!rcgnM#Bl&gjk2V)44DEY?6h%-vTUy2#AWB^b=U##UDwL-u*C2( z%Z}x6F#BK2eUFbi8PMkwiN6uTKYYdFH%nwi4n_I{FhK~XNWkuk*u!y0mc(!L33~*j ziksJLoQ{9sQnSel_V>`+FWWJO66W-wBsRs=SKn~6uUqkh)0p^Qeag}b`>~YC5)I9k zpZSyfFx_i@8eo`#k%=cHHRBy|hmM+U@nbe5+9k#eIq0)1RZkBwA{wfHkH6>nRgd*z z2Prm>M^P?zs8oiMQ49b-Y7vr+s7HI5(cOl;mQ;&uYfJ`MpvZD!sUjh@cHqgXlGBt6 z-3-3Fn5^_|jfBd2B{g!!zuzucgs4P{kHqCyK*ElC4TU4ow_9bZ^BG;aaJ;UPz*?_F z9ba>~Go}wnNJ#J2IU2GK{in2&UyF?3QcW%qqn2EO5_W@ zTQPv3Ym(}wO>wj38L?l>If2XtqX(cx1FS|tMGds!fiPUF#3)aD;E|Oa7QCw~P5o7@ z%JW0id0mD~_(e&lVHBowAbH~p@s}~a7#w7X#_+%l_L^g8F=Z=Ic#|(V%=9qdVHymW zP8t&yDbdW$f#QXBg3=gWtC;<_83S!-&69Zhq?DjFY;?uahLVCDsK65&KfM7cwe2rYPi_1n4?NJ0f zX@9ryCs%gb=s{1_*fO%|5g|0m-2y!21m)bezK^!%q*fgk0U`raajxx%X$fIX0d9R) zmmWZPK7Octi&XrHjat(05_|V?f9&)%ZG=1-vflYl2iZn^gKQ6`owZ!n( zNnz{^C38;ZX>V1XIg2K|Eh9SDPSsngX`;~!tRROccWo2X&`4`R%js~nGd%nS__ec9!R$;NlSpFxf zM74mtIvP9^lMH#?J;JhlXhSt9TNBjM&@8}l-AnmU>Cl18G@hi*xFih`V}vjfdM=Uk z5s9QA98W1sJIi9LDV?ILuRn~Z6Mr;b5iup@FiM=;f#7>Z3WT^FqZVo8-!79OXVUxe|tJf z#u)We(=hpJYKpSNY(kf2T|?VqH{pK>ltB7<7wCQWN`G-9XX~LN~s=gaj0)vvu5qI_`Cw8vW&( zOAadm@_R+u+kRJ>#=!tFGa>~HTB9Obcd^}j4jU$y?X7)!zTk(FQBC9nS$zh|s&X7~ z&xMC$i1}qXC*#dJS@U14_sZ4v%1%yolsF}pdFAnSzSPAaNQsd7|6@_vYwx74WKGut zvnj)ra8z>imy8P+qi9Ahh(?pKO8hrWCWjE!jpwW+OKbbIXV&&VzUD)?6peDVTRx2* z`&cgE=|n@hW*wJ-fg!c)N0}NuET=@R}DM(02%%12~rZOc9 z3JNGFDEQw8q{71QW*<~N`~9GmRaItqrRow0Uc>}r$4_Q%MQcO~MEpcb0|F{jSx^>= zZlw*oDHg%`s{AMYuST2y`=2EMTZVZrvo4P&CfNs(bd7GrzJ5fozMrT}otK1W=qxT^ zxs8rKRJ?J(UQPPL=KMNf-vYybUbT$W7rCK*T`Uz3l{PmwubYfp;9gvo((qzHHytuj z=AbK!k~dWJG^8~8GgySTBZ@)s~uAZ2clliE^G8GE|=>Lj;cAWQ>z>A5`tT2Pr|M;&Dv>iau&aCQ&7gbU%YqBUh>jf@cV~EsWc_yf^pHHYb2ED=Zo14nkFuXaxQ*W(;C zp{YPJxX6X@KKQWS1Ue*lggxPDiEGIA7VU>rE8|m3{1Z?4H&pvw?6XFWao=t5_BL?} zChQ^toON%0W>p=*U@0HI6*M$3KkX?nMM#ybW~3H|D%9hHjkfx1Sm_RtmdRVC3p6`Q z_U#g(iMjR#P-n z-YE$k5Ruv8Uf)qK{}Bd{cW$%VXg${?RbFH+Z=mQn4_>b!hhtTTvIvmG+XP~(7Zp(War#rxGR%QqpM%bZ&34~5BKT8keFxc=+! z|2@e4J^>(8lWg=UhsnT}A^ou8e8xx*#pN}tojAPaWQd6uaaq}M;VlHv9h)i&UFt2p z5boNzL6}bYn2eQ7ePm={zVC(*jVhO5pd#x1cSiD$I9Vq89iLk&i3}_$AHpTQ(%(6H zjdE#s`h%3dRpXDJoQET3c_QbGq6oqMG)a3j+I#5Lhg4I-7ub5O&}Y)C0ob4L4&Wtq zk4Lm4b}bw7`jnsoM2xyhz8JZkElV9I;&FdnO}AbwedP5dZ#Z5F2dhFa2JPW0?AEaR zKylwe7+ut92kY z2gd^iEu9}1kopl0KlFOSndy8-A;V)ZX1+b#)FiRdnKY?lIpW!HImlv*1ol+EmEN?d z9K;d!D?0PUY5kMgIGw?tr};lD@OQKSfg${sq=?*nE1H9ZFKD1*qF-g)#N|1i?-47W zSHY#s-&H%aCSq00X<0n_!pT=n>eF^3f-?al>||j%oP#ySHZXf8k-1e-8p) z4~Wbcul6vg^Cz7v5?$XNG$#Zg>&86&+t=`SAb61Ly@s88!Usaf;8-VbBxz z1tznT;-f7F&Lht?sp%@3AV18n@9F=-1pf0ulN`jTH*tQ+{h%I^T@$p88&`|UovN%( zNRKKiupp1GiB5&S(Vix$=PKIwL*?5MA47M98!|$BeIK`_Jb^8g4YnatqHHT{=j*u1 zFIyDd=Ve-q$NNU(*lky1edVentXc3c+)k;n`#dxo8b}G9V56O^!lbg_UyxlqzSX$7 z>Nk*4fe_REh9>Cq-IQu|j^SOa-KW_NVxeGYYlrYhZhl~yW2)2Pn zOtjdqq&B5rZ(FCQ%DB2uPH}%KaW+YE`~NsX8Tot8Qq~#3_%)9(n>KL&DyK!0&w`>n z4b8kzS`2lsrTiwK_=rkN8CL9Gp8I72*EFi%w-qDHCZBW`eB~ltl$mx$eg34{Dotg;h|6f z!{@Z$6akHH$snknf7A5&^9t4t9-}MRZL`z1wlqtPw&$xIvG9v`&&I|z_M0E7r#OMf zkqY6dicvP9-;`~Cx(h4M5+o14h&bb z2==KwYt6sa<8MAP#94pH=_9e!(b+!LO8fmzL7JUl9kMRqs*GwURXa)n+`-3HHyE}+SA88}JXRNH3S0^`f zj(%v)e=a8fdzSbcRF@h3IM;`5M}?ArP#}CD-W$Z&$E@p0Q0z=b`FubqLB0v5d5OH1 z>xR_q8IMwZ%Z$Sx_9@T4Yz8}38}kl6cZ*mVlrK}|8p9J zM@A0X5&R3oL{*nak+TR0lsOH}{Mq~_pWIqdNxU=Avd2GbyW+`7L4qdnkes~a{|ucv zxZn9zne*KWBV^=#8XmkuUe8vi_?wd;hFB%rEXWq><( zG5*H7HGyO#-*Q9lRXpboB6=+=Vhdrr(}yO_1T=Ld{DctN8^lqn=c;dvpcr53{=FGc zo>lhVx&eAeUT3C!tnefNvO&8MF=P4olzft>*g`F$VGnN6gFsGYe<}?~WQ=rB`GGWGf=hV4Qgerdq`{wi3x%66@l{iOI9B)68Xq&lwaoeQm+4?}XUs3!0%@K;B=hiM zb{^x4c%nWyE{o$Sfqtj2!9E0fU!vCpv_TzYTc=e=r7qqtd*QVC!aD3f7w@NhMq1Ox zTWp1cs0w0>k6My)*$g5qx!<&H`O3W49X>U!2A-wb6Z#9Ko#O4r;|Q&#wDbm$UgcZ$ z12Gp+6r-ym^Tf!qEYq8E6s$kpX)7Eonw8jqS zw21>I5j{=7Jf{<}ib&Tw-nnsShqcw9l5l2)4Fokf`cSr?YQFvc#+3Q3f%nJQI^2p3 zBd&wwr384Mn@TtoW&HLTV$I(hRS6nYBQU4$u3;k1Ilb-=E$`isvf%sf4Rq?i#EoryClT_-XdQ3`lAi|;?76oj)MA+h(5k)S~ zA*0HhOVKe+*J$viju-#*9)JMsUzy?W#K}74E2Nb5{np47yd1w4bTo5V#B}d34B0f= zhdXUfO`XuAEzV{eR;`(3POs!t8i+=B1m3+`ghWTo)K^@fK}!-Dtc&Dm#j-1vc%q`OH&Av1@Cqf9gXR zw8ZY1Pdc5Y0@xpfxJwHBpS(x&cUzR^!cE*dD+36co?9r3oJpdKnW~5t>?|0>Lc!rK zYgA)(Uvbk*H8S1c@t1^pd9$y)p7g6Po4BT1*lf{#){{QMQuC-i+a>(w26Qgg+M%|* z_t-X`&z7AreWbaZ1_3o;ns*eskH%1!k|omSP~{HMgVS*P+BU2?;AGm2Xh7Y!SJ4J| ze|t}TwD<0Ff_pEY3kj(x+)y!me9Il}5Iwj~&{?&UfZ(JL*B+A9)|;(O20!2y&2})Z z?t3v5qFGer<8QKN>c@%-K4h2|8I3GY%J{($(alZD{6~w=zoY?X$Y93N1+4a%CWvB^ zUvG$Y^JFzP&9)FUuvh|(3@EeL3yYbHqeil?qiWuc3ny;fd-wv5LKs5 zh@ELY?&w>m;bNb56vz+QI{X@a`LHrYPhkp17Itf!5~gmfyxJ~#(wVL~y@RP_w7(rU zE2A@q{t>iwpF!Iya+7K7+ppzflVwXw54b@3?c3N1?aCpiSkvvMHgox8Iqhf4d}M<& zZuhuVX(ikL1JwNr-}}N8XD<_$HL*dgw~9Yqq0`QKP9%xQuzV^V(yVHj&{dkNnA;Y1 z3R5uPnP;c5OZ4RYc^YW@vtSn1GaKyvTL%bPz2n=no1~)^Ev`Xf z&=e|f68h`k;u!m~K10=_$qwAl+T4aqMZ5Mlbf&BMs>Jo&87X0RuJp2O3p3ISG_^u=5$OoXg;5?GRX3%ejP|Qvp>M4kE*J z;~W&ffB>*Qv0%#{ErFPu=#>LuWnqjq(&oi@C9tAda5Z6AT!U(@B%mV)Zb;Pms3N$r zOn*=EoIQ_rmV*_ha`JXdlkC)lEQHIkDALWWib@ofMXT0ARO*L;d3Dm=dRHH4$658> zYvBCCr$!w;-430tycer7^EQ!!|Hsu=hQ*aF(FPA5Jh;0%H11C0?ydn6+?s^omf-GA zaMvbiaA-6T+})jq$IQIB_rCXi`)^B~v-hgnt5#KcjOcm96m|AFjsP!2BnYzgeeCZg zbE=87X`Z!x_9+~BfFVeaH^)EkJ`G~wXFS);i6+aoApAs0&c7}}y4JkbjpOhoafN)5 zr8LHZJ&t;Vs_2xbr68%HZ;h^~pv6>_LNY9`eevy=mJ~3{0Xz9_Rnbi{w+wkiPabCx^NE$^Q}xJ5UDJ~X)V3` zOw-o2n(NF38|}VTiLMk{U+tg>z=c&^6kfa=U!7Q22_yt*X5Qk_EAofYy>5 zSpOugft@_$?|W96;$a^{Xll+hbp`Q#5;xl<*GnlrOCT#{_lCQ&ycgV8a#ywzfT-?C zq3$EJZPcL{Z2VfaF>{#CJb(YgNq^7M?MH*K>wQwB zBR-LqjDf2)e;SMEqiutx_kN5py*u;XyA)ro9p3ZPl98d+zwuF*A}70-<~bjum_`0P zC*J+Eb_fH#%^=iwglE+@+i-cU+b(UB4@WK`V5Hu=HK6G%e2>2aflo7l`~LPnj&ZH# zHPr)Pp&FXhL9Suo_TPI)GR)iu9MN^`wW2INsUC`<{%LBWZA=}8*;A7j+(3R1Q&IH% zCy&MLfa#};3Hdlz*oZ-8+FhjqZ)jT|!)$gKJf)~!h9z@C+XZvks~QbzW9`x1AZ59t^+F%*l5@2+p4hk1#mM=s{>0UiVM^J2U1Y z#U>V7r6PX=Sia`IsLXtntrVU7mM_UFwB|!f`@Fm=k1(QtzzSoqQbf)ipNq2@8h< zfT18C9yixV+w_1%|DX7YC-XIGLbs(ATzU^09RZDr)tp8 zP?#W@JBBs+Bgq>`i=BirT+XY`$P6a&k+Ehd0u_*Ymay|uF5;6Ce)u#EsoD72T}!2= zuqviB%;bO)HR6DQm-71_0e|HbwV{w5INavcP>2-)6n!Z2?D&yfuAntM#M)gv)?OP3 zRh6din?nOQ!?(GgT13Uheeq~ZBG}&q&E0)NczpZiFMKe-g=tj964R~(cipE1Do8Ni zoGcpFpYNhCG@jWSzC15aH3RtzY5FC;7U6pk7IFXMQ72K}zETA!Z1L{r3-4YP6G|>@ zDbvKm7-2XKUAvt2;j9HM=qtbh_CS(^;zEtrpGl7h(&n!Vy*_E^=*&w;PT*mNPfvPd z*rx;85;-mF8(FO_!j4khZm2f2Fmh4}+wvAV^}vy34>{wi|HuC0PrWzbBJ_*$n8|m6seNPNf!uBTn=O-D(Urwoex{?0ZAAe*I}d3YNpH+!r*<9h0hf zNQNl0IOib?F)AslQCTvBbFH2VbRSo{EMr}vdoE>TS2xTlQ zfn8CIf(?+-ISQ<-8UK7r@9#YKXRK% z4%mxon_dBhDn3>5W*P|Cx12rK+5Z=p@L%8h*X`u^)m*wOkt>~#`qsRW!<`H?ZbSR- z_ZsmV$1F@9;U1KNiy`vOU3)2Sm5vW?1U>{?n@5nYhB@W+RWUKH=;#@&7x+QOZ*3&C zc!kaReDC+~O8Km}@fPYI-}G2mI09}+%$S+jrs=F&y)dx#8twHCJkf^~JVo>1RWI#9 zR~%W9f9IKagkUb4J8nkvPrjWN1mO74TL=1|pFTVIVkGp%G5OA&bGr-{v+`b{HF%sP zekm;tw;>O9|Ccuscl=9e<=CnL0sd>&Uq|ILHC?ygg7^NJx1*ZGjuKvy$yv4{r@7~t zMw!$PV$#i?cjNd<7M1ROnMG^s$Y+H%2>LAN0Ry*1VK;ZtF_AUayD4_JbgKpa)d!Dk zq+MMFW3K}jVnzJw-Fk90eNO4q-M5?X@7IR(+WD|5ROU2DfTN2(J;^e(tdOhNCSnbf zzbL=S2KYU~q6h^oW>m$+yx#^F*w-{X>Lg;9ZP#Q$#}x#dRwz;b&9o7zzTWpk>*F*3 zIqI&$$Y)>ifJXmlhIn9L(o4cpY-!y2s z>A|uvoOce~W(J-LHu!NeSO03^zxGQy{k^$9Y{zx27D%b8sM_SS2dAM~z#d@xtX3F! zw?}TZoE*3MaQm`(gh?8gtw{X$1MJ1&AkV@zTcUXer_Z|LCzJ}HDi*FfDsB4M4^7zl z-kfuP%L(~Quke5AiclO55Iavt_|`v)=>Htg%BUc|@6sTDo?0yx?i*g7A>19$gxR6k#QTW8dK)8V|rumyHAwYCby&_8v zQeWLMDwUkSs5#ESko}+ZqN~6wt4138tq}D;fA!Vw20_>kwAhv=1q#P){?yL%cj#pm+T)?*_sqo0T&u8MC#^z_GyhEIeM2sq>o1;qADgX z+ga2XQYQR#v}sErhWbC6YjpZaM6e`}|5?1||1!zBP^_~lF7L`k?JcvR%u^1p6|Sca zdV=rYhuozpYAuB|+OPT|jQ#R;t8peGa5jT zy+Va|pV!{!SbKN({n)}8cuQol6M=8-7uFqDfBaFb*G?_zsn`^wlEvhtx(%a`pn`2O z8I5GsDI1yL3I|_X7F-=8zh)$f3nqhoM4nv;y}pPdp#tT!h@VIpIRD@dFn+0&Qa{m~rE!}bq+Nv<)xZ5Uilm;0;~`CoVN*Gr^@T`U9ue-O)! zkQs8~EBhc?y7;z9EDK+5Z{MxoN)abEvs!;_6C&)52+?e>V*TWPknMOfq^!b1CC$Qe zP7FN|PEF6Evz{&2_-Q|Q+VTFd1RNCha$ymiPI6b`b9Xo!Jl4UN(#CILR#1D9+D}UQ z`C{yJGr8il8XRxVzcEhi(w{mFS+5c+DI`OJT`&GNqbiE@x-mUdoW2j`w|GwOnj$Mj zcUIYwm;7_Q|4y9!|LVxUQQFQH-uok1@P`ahwBU=a@W0($8* zkJcqlEDC}rR_V6I6!K5o);vQY*9GXT`g_n#fi9Y&Ypp$zAx`FffKmP#T|8+*rUxVu2o1e>s7;a5=5WBeyzk8a7w620h ziQ}FQlxg7oGj8)~=ur>3Qa0Neffjh%E(#kVMUR65c3D(2DFDC#I+^;lzq0|Pb1-2{ zn+F@IOwJRIGD?L{2kE!I7vuavL~JJ9Ufcfox3zr0OIgveT~Y8DUd;F?p^X!!qjYAAqaJswc^Y{4)@*?h!Hp9+JQsz^A|5Mc z4hc#S-EU|qyDnD%@en&5C>;+Vn*O@wYyqo7S;YD}vhfAi4t_RU@k)C727YrF=EV=o z6_cOSvFzWB*Iy#np8r?m`qxAF?2F7GF?29*xaLi-W3{pESDaC~axqTyN0?=wA-ScZ z`}x?gHsFx$NaS1C#;`@u4Gq9&^nLW+kcGCh?)Q4)_Q>CCKO@GM+wAeFR-TsiIBYSR zcCulJEX3T=c*Le4o%c&+ zl?Zw%)?25X?{_mjhyZiuSKS%)hgI8bA+`mL+XjmwgD#i4)5;ZD^R3ihMVqwpdw-h8 zFb*k%=DQn(&`tnGy??q?xWCS&avKP;@^0;oai2}*O2XX%lt+15PS^PesFkjc*uxE2 zh=V^|&l%}AkRy4WijV*7WME~H5KQy!_Yy*ehGNJ${YqMo{NBzVMpxhID(xZtQ4($T zROVzLWT7T7!-jDu@-XC?8YoxS`l4cNT>2^*x?kwyL>V zj3s{psg0%G?GTVZ{!r{WQo&HqjJO<@9oHq|o>x_+a~O%)f>8vRe#1m_-q;G#(PF5&E1DKZEi8AJ_^K%=p*}QmqEO5Tf zlo3FDucWoY(_(wKtJ%h6KB#`@n+cBxxSedzsVw&)lK zN(gm2(4ZJ030hPTUz)r|>+nJ8^1DXqL(+B1 zbV-L2RdwFQ{rW*2u%`K`_9z=GS&Lmq#SgZ?<*A)k6#+OHHX_gaAq@00Z8pe9KedP8g-%)>)60>vr*y7~uy7H#W7%e{?1raQZLIIH zA*%9!>)f+`IzN%qF5LG@yTT{)U;8)%@$OjS-2CZyHuU6Sv(haN_z-x=Z1sLl%f?_| zw!>#%e?cD0_~aQGXo3|?2qKcdP8E!Pla#}SLkPwGg41w$kZGOjd8?n=+30!EC$|DC z+J?a0(17-IA4a%`Cmi%Nd$+Y-n_64vc^^0rjuHY1mEEK|+M%ts@-Dzc@q zAJmR3Bi?&mi?-n48T zlMon(en1mKwJ|9Lld;d`DGM|!sv;~WxY|n_A#rN>u)5?hKvYs^E|8?62AfM8`pi5f zOquO!eTZ<=ICgxWNoOTE9?dTe!8q7Xc74$jCXCI zxKAm<5wCWVd3Er>CH>qca{Zu{=hIlN!pS$0Wn;5HUmrZwXxF@*Hp2`@J+XP7s=p6- z!Y2>x93QQoKkmQKg_SA#X~ag|OM>e0TcddW-V!M@Dp2-PY|J<|GPgG6NY5-%G1J+2 z=Yx`vZ-$?)zvB!COfQlL_jI#zJC~Z)0WXYY^vtuKc2eZ!$hSC-K7Izv5CxSmD|U z)q7T3SGTx^g%$Y5m(;VnyZtg&NYfNP-av#r}I!OW^-OQ*8Y%>h4y zzi0k^aiAF}=}k$0(=RdB{p`&+7$8RlKc-Ks&}Km%>*tdG>8~t8m&udBxOG#5amRue z?r)2X`px-(9(-sIL|HjN)imAtjMZhmPGR%Av@CCXR{#v~MWtC!Ul@vHXS?$+N$Z26|MXBL+)-;{3WD zY@StV<KO7wC8x~u-Q8)Y(Rd~1RVReuEHIz3{TiUcz5I8T>PKEtojKi@UsLp~sV zDb0o{-jjBNxpg%pZi)W4Sf!hjX7bD>dawpZqw$?x1iYf6VvT>lfzwJ?Lg2e^pM@(! zCd6unrZaC4X72DEycS-C>ycQ!p}A5HXRutXZtf6z%1Hq7S)9Wr^#T=QZs1mPLtx`u z0SGeXq~cq>N*MzP4LG(MrT_P{!nFh(AgyQQ`x>e1G51}G`XpdZbk`&%<4kyEr$LYZ zxUAPObe*{LlI7M;~7T-@t7=-9LWYo(8jdlQp{qR|kg1#Hon4fo%BA;?=-iHrlLg zxwjLF?e}e^o&7-L^_4RX??oFL4AH5_LX}aXm$%I43P8bRP=(s}Q`3_lj@7Y^$@-4U zhd&D^KpzF!1gAmlw*seJXjJC*=(O`#L*)r>N!--U8cZ@gWz>=%lEHE zjEjQJIBKdB+b>IpWWvv&I7*cWeEVL`iyzGLf2LUdzKrNPWqiI>aodph56p|g=VJl8n`>M+8+!$D`{7l+CDCdqj}T%%c<8s5Y{*Gz0+zdR01i2e=8f0I1oo5&>KRrr|GjKp`aW0JY~ z`LNTr;{%V=UERgbLZz6zt^y>kfFoA{Qe4jiq_8ZKV$(lYheC&De4;N0hW>Y}6Y6Se zlPm!#vj0iYejdP4OL%0R@S@0j6#pciJ^XH@tM;vXLs$VbVhnFO<3>bNE?`Vwa4m8- zu+NlDl#?Tl8qe~O$+QE(6l8?~Ga=$h4f%42DO$pnQ^o~HJ`m0(0WFK@Ir}toVM$K; z$<)UT!~(74O($ zEgY)lWd>F69MT$awE;!Dk?G|PH5nWXfm+IR^hH2C8~U}pB&K586J4}9WpEQ}`9 zJK*2g7jbj!ZGG_d-{)iD?$0LXjJ;7qnH?-tpHG{AGcDG00_o;VyT#PEUw(d6xPlco z1I(v2uAvqLtZj*zgnoVJX?VzG|W>a==%5=Jys90}*b67YQ^T z=8RPwk#Px9*6a7{U3~}SuSD13spFE>|EG4GHT=z~o2Cl4ib*wkQbVo0brBGU!9bM& zwbo0e_&2Fb8WLIDps?76xC~6wk4HjBeiu0%Hb#XrGy5v_jERay^8n2*NQDAgqPg&g z&WEjc0X39gR#NAUTz!CP&!H{J0%X0uvR@fo61B4%m3K7vxC3biCJkSP`zKM<>up%o zN(54M-vVuW6GJVa&?4IW@RUKo`+BWQM5n9Hx;lu`tqJdP@T?VS^?QC(@JIU_k?QD0 z+r$QmIAftZW)2YMPM|u8-{5SL`MfN+Uqiwi{RV%3wL7km_;-hW><*pTT3WB<%(iT6 zooJp1%&ofN0Z&WkMR10j>!1S(AQb^fDoMQ-5N@mEc%BcX8 zu`{ZKqOyU$-8gAfNxhD>co-|=71+{l4GNy|YIpm<`f^PEXfgN;ZE|q*G;+r>1+bJB zmZilfnMFQuo5)biRPf@v&xzwYUT|x<_vJ zY7?623APmJfg6l(HYZxZiZ^KnO-M*;yoh#kx{AAu zrh##bwy&6%p6bfj!%E)Sfot!-272Ef{Z1Ob$^-COOeY`TorEF$65W3%3o-n>i1|@l z-v57SC!TO|9^Y6(IF?D7#QQY;yD`RdbS6SB%^?i`hiYB7L+;bB${*AU)AyXzY;vt0 zQARa<2CZ_5j|D#p5U7Q6v!^0tiSNae)#<$Rx`Nl^xd1g6btdmg8^WghYpQW^lLYvo zS5P8G1ak#7J^((nds>-GzkChFLr)r61o4^HWRtUjzni4qbK-a1I{q*qE)T*Qyf!$* zz%ZQ9=A9G3$k@GKc$rpCirUzhvMatXa10p*d>Pgp7>n}AZX9-%<}9;9FEho%_?7Yb z921IXt_paS5ES1z4ZOQU+iq#PxD7@V=s*J8<8p>Oo9}nFm|xo zrk>nm)3P`c$JV&MfLG665Fc^U>Th%r`XbAH0-A5fPw$aXP9>}FERHg&Z)+c0%)=v& zqfY2?Si-`PI>h>+|KcPn^jbM;#)S(QcHKGp=o?)_5S_bezCz?1hz zzbmELBGkD!JaydBUNGj)Ec9L2RUwriL{+=?due`)^i z+P}JK)owF4Hp9ZQJiO{Z;Sc#gNTe>sd>XJeGkd{l`N%%{d@H;&2ScY^%*{v`~D z04JoY)6YWuMKrv~mA8|2uG7)h>SizUG|(uV_mFQgo>W_a+ENSE4-Vi>^YLFU{q=V8 zs-mJvBVJ5M8s9)KZ7~nBF1VAuYOz2i+vh}i;fjhLG&N~OEWtd8>RYhzziM~$E*8BW zV3}_b_g0nzeMb2Gt3=Q(fZ7M-?#hsh_MsarmK|QIn0|z@Z5P`}eEgfL3i<8Af<_L@ z>ty#?)pBf*+#H?JZ`-7ZOgbK32~G6so{&9w%a2(o&L&_oUIGlXcj!bW1X0!x0xi+O zH}czfm2jjn+SYj;24qU1QkP`i6+j{#M%>lgczO=+Q9^kIm9MssT2HH{*^rOi>}-wz zlnU-0qHi`>gt3J;tc(exIG}3pLIe9=p4Nn4c~AsC4V!nuKKsJWx~By>-kX zj}mk&J$^S2Bj1<1Ixc?84epMN%kJ;VdD79SFd>W!5Y%)VQJD+mp#!64$*I8V>Gc4P z7P7-cgFPvx-^CziFUBnllP#V_Gt+zhW?B@$PJz5}5QJ2ZFOJW_A;Ia}}=aAKfu^zbU_t_kH&2r#& z#seg=a`AF`*MCW@#_8v+mFYYfD7mq45z;1-mw&OuB`9)kveY|zaz*7^am7+SnYo*I z;}thpKr%sVI5Flu@?LP6MWYFAH7#EQkGD_W1oFP4t*?jP~hr ztc%T_<>>Pslanw%F})XR2aqUTtQd&st0p9L|H~*We?i;e{T-|Cb@SW_$D{)yJWM_!+9s@taso47J&w}8Wt>$OS2{}(y`63dIRrK4SZ z_xUJTP_NDcp%dL^un>8dikFrU4=<_o0+N19^WMiUc&+XufL^I^JPX26V=4x)+YcVk zT6b?#)6mI_P{V6LR7z@+?E+qUoveg~DCyd*&X8WUEuIAEFSPj7zsUIzTQK}*(@?<2 zl74Q8W_C*{dN3ppAaD?(QMxk!LaWDX$|}!K27H=gVnV=kZo9YXw6H~sAEm=z%hER- ztp~u3zXhcsV6IPJ7s^Hm?Z7W|4=6Bw4#pr*X=~eitWB`F%DReD7h{N>j=lWuK0GV1 z%=Iww%!`mDw}A8tV=mJJL=G&)MHt(S#gBD?1Fu7!pr_A5h_~`+@?NdbcFvGiqtEs; zrn5YT@p^~XVbEYJw+V6=DLt#gw3fBQ({)t!!Oy?r)`*+Vri|9^s5YK*dQMAJG4)p# zO*VVVRW5>4XN`f#7*%r!@64#^{w(uL~#P zc_a%tJ-5KT=h3U)TZ;#ouWK349J*fr-dp2ZJmSM&G+>azHgyb zemFuH1&t(nFX+Y3Exo4WXm|x2r9W=F9awbRrhkb1DszlrsgIR~&!k^NTzr&n1)g*e znmQvN1Sx8DUG@cW-LBklHEESfpU2_B(2s4kEBLrUB--BIyQ^hJZOVIW^!6tl3_|x} zr+};Ls<`EyND zDu|G{Qp(G}r)a)QRYe%YQ= zQi_YXL?9)!IA6X>dPEJb{f4?pc4_zPoaj)b4Hj&C>c;ihCsHyo-Yk;0;-oL2}+L$ZGedO2(vq_I@n0 zB=6SV)n}Xf@_2USL(O^mD9FGzD(B(DS+4j|t;3eLDewhQ45cIjE_);BoG_#8)yuTQ zgh|Ep&SZaq^s?eBAgzGkm`;kb(#N{$t^_c4K9B>u4nx$CA1BUvSPkLH+iw^)J22E}<`Ss)h%>dx%pM%dI+ zsrAwp>e)`lwES9i(6SsmBmRe;a$UBbt=m~%lBjb6%xY~U52a7n%VNkS?md>$#GE+RSXKo&ToU4;9`q`5n4>dT>lVt|j zARhN`QUA0){NliqGoWvgcO&SNU%77DOjZgC@it+b-5VBlV7SW7W`xb8jMjq%01 zomlv4iWw~w`A}H;ufFR>NnGWO8EpMszI*m%F{IC=c{AO1=0g4O{H`)(?c5iT4rCwO z+l=VG2ZKWR0BxERoom)cq9@xy@%!$@;Dl;avD7mZ&rYw#re>@$JmOf%C(=Q3^9WrZ zfv6kSU*zit5rgw%;wBH$mesUt+d}MeW|$0*skNm#)@7qP{A03#tDn%P9Pv*&q|>zT zD|RL=y~He|HREo*s;iz6lU=InlRc~LUCwp6xwGvWr*93Q1{V-R+!>?GYeB3Mk-#^c z%O3_ZUif?WROq?_GvUcLSrT<+D^OdMi^5s(Sa5!&BjBqrAps1?MxrT{(3q4K(|3$S z=+_scm(HI3q5dnYY~8}tDwleK3*~Z0FL!{~;TNvkiE!_y&^1v`L%~Nd`(sP_{(Zav$bo{JrD2$bf+QCTxOeumWHqPQ2K zI#07MLwF9CUcjrJr(IsF$z4b6L$?j=w=16}L`HU3yjBHw{Q`HN)-m8;IEcMOC`_jD z^FAsIpAwZm#GkH5z05?A2Ml%uUM}Z!@3a@BEb&hVGC1e%D zdu@2d$+E-Q`v2T7uii zA4t5LbqCN9vo*8Ok7Pz>6!ghBL{ zo7aZeYQ88=lVaH~?G9O(Eykw6^?tDrs_))Y2!fY?U1rkQH3!Yqb*?P9$c5CovschZ z%#E!wd_u;QI7Usn;RY{COUem7Z{$L4U;!m7o;_Ylv|wsc|FH&)0@2d3MXmdbRNVT{ zF!GcdbNkYrh*DhWdyB*w&4L$qAo2Hg`S(JrD+Ef#)k4`3=kJBjmjjnk9~LJ?7sv9f z4Ej9N_`_w*p$~SPT-X#a*c6}1uo&>8LfUILTm8->9JLV-26&C4s-K=r{#=?nBD~AJ z%gi``I9RIX*{=(Abm@gwll0ZooBVXX`BVbEDcB1f?V}iLEuBxjDly`Xa^3woe}1`C zr9z%-&L~>@k?!KymYHB}klu4`1=I*oIHn(i7RA4`dLZlmhPD1~YPdJm#aypPI4xba z9mHvz=+1YjBX>nSy)pDndU-z1QyTNR1RnMI#N=u3_V!hayz2>SFRtvnUTq=IF`?B= z`F%;`2#w^8T3&4;Ka?V12KRB$>fKboo+&RDpyH#^kGlhhr>ooJyOp@ER97~OsCh*L zG~@V<7;-}bKj-=W%e9^#UN0nK0cV7NE<#*3AL3pT{JUZdL04#jS5MS>0@{VC2~+PK zl+@#~!%(MP?plXjJ|}5FJQqJ2bvdx1XjaASa%PiHv#%0!hv8nAzu&*i_6-<{#@z4& zKM>l`Sm%AXCvaPW(w|MRgCp>6K9L3{7@8yObXd|J9PL^>GM_)^bVUNeOP;HKL@P|~ zUQ|0!=O>fu78`Yxlqcj%w@#GEP{Y`Jf?qt|bJq$>ul@Nq2pqEqg*3CtFAoS$?_jlP*wjWVNkd$m@HPFtYI@_9aa}d-MNW$R?akjyd;^h!vSOJ$BFI{=0*t=y*WD`&uSzb}`bGV{fUUWHXlTY|!$o@{*eeHsuED)94;n!rw zbkxH7QYZ-UsPQCGZTtk+@f?O}&f__8)N)E*a}ni53=i(|CHNr7KZkvYKC2FjiG9x_ zha}sl!4dr}+>??JneZF$2rSpJ6~()tiQV2jxR{om@{uic5>nbq7x13r(!v;4{6l9` zW)iz2kJrT<${;K9x9-Vz0uUnU1pnAf472$>O##PSUKZk@0mo8OG7-T-p>P;kjvdrW-uCWQd7-9>#Gts z_~M+GVT6Fz{Ebn~u>cV!f3L9`g?+178yKP-tUkK4XT7%zly-_dzpoa4o6A%=&DfY4Uh-U7a)9Y7pgadqjOl> z;WOM{o^sZA!EKF8ZSBeHGv})MaKBikwoufx3}UGW-TC*}79uypwzIa}f9g|=TA{S3 za*y*WJyT>l=26N08S1XyvD|Z-=GUR`8LurZtvm?z0`?AS9-MY|@AnD>N*3E+wPD#| zQh+E4psP$v=u>r3cyN0@PjGLl-hPKz66cd~=$n>(!CzYr5BST60EsiLR9EAfnW zT!e1tdu%;Nve9O%jttIq)py8_&8=cFmxsBGzDGUz>u7h&Q*syynM5*A^uR)|u4G#x zIoDY-Qmw#U?VoO31O9m7>2CbkPZEjh|7B=lTxpB7^$3C@fwQelCZG6HaalQ3g=6^CC!5|{rcg0C~BIQ8mOC-u0`h4LQ z`34{%3U_E!nwjZGHPoFfNalBRo`P6EC7mM1#58m``hLFx?hgr(eB0aW<&slzz~8>@ zFZY&>^~;F+SYH@T1-3Udh%Y)IFh`5bqptmJ8vt;Ar#WG{6l?6gdp)0S5w9h1X^s1h z@y~nhDZTsh!I=JS0@JUbY%*iSM9*r>jq@6{+qWfITrXm0tOB~KtX5$JZ?Xh};G6+I z8PT4V89`L{O-P0qzhJ8-EM4kVT{eGiwJO!#{Xu5jZ{{cc8DZI8X}|HA*RS?+4JLXP zvGQr6IxWbJ$ovbc#mf%5_x-hq-KEk~wgnGM8|*G{Y-Z81H!on27C=~GBuv(b2Z6sO z9V|vCu6Ya!ciFylU2go8%guRJ#Dc7!7;H9TVqOE|!rMq#5=lQgP`6EBk?A~)v?*PK z5SE_qwkEI164|`E7$L zRG&@)lq>n_h(LZaDaF1oSn+W4GZvbuF^W{ZbaL;K^)uV%S*F0YTY6yjzX~8epCSjn zt$&p?ILSo(VJ83pKMaPh`eVKL+}2P1$&9L~&W?lM%$69XPoVm2M3E~sj84zavq?%1 zayRhRXZx+kEy(UvRa${NQoZLqmy$w}%N^4-(DQW` zLrj)^Z;mJr=IRRB<+m);wPgY*)eh%n1?FZRa5Ro|vyZq1s;Rr4a=2+Sw~`Np(x2Qx zJeuwbY!_F1Qj$%h&_A~9`2ja$W!lf5M?@p_>bSwd%=tYUry~~IlFbrM_am6Dy)XA^ z%iL{X_?PDeml_M3Ov%Ta#~S}_G1{-tG25!2E*7FnXC;-OfsQEwF|%kGufKyxZ|s`l z$l8z9q)M$bQ!d+4OW#!}?pvoV1Ne}Z1g)pAN=oIqgs3t#kohhslXNuoG`=f*q#0!5 zAY^MJeae)bCNIiJ$e33gBJTkOK4UIpdk+Fn2ktl9(0dYSI5v>`(*LM8$|KMQfb9+c zyqnk-!B0*}$Drd}3ApH)_M-f6cyI&Hz+ycSNhyc&+0JsIPL^xwRFx+jA%4n%ZxIS42oYRT()K{B83WCns>D4!T2u+FKJnVq{im2RN%t&TQUs3;EADK)b~2Y! zk#CYL2GuI(z$JDHmD;sxkXH%m9(==i_a(|gqy5KNeIH7>fSqle!e6c6WWG0JzNBi?s|P` zZx@#S40MGnnEQn7?@fK{=$@I#!&kf@o1-h~dTcnZK9&40E*>GP=?!OV$A&fN=6n>c zkjfNsMmzjPQ>k38`FV)7Ab}28CB;F5r&{JvZpuK?6TPn)Gi>8m0t94_4wtZ9lsz8w zJafQuv8M~xO_LlOX=r@$TCIV-eLn47nD?H1Yx|O5zf9+sx^nE8J?g)IZIYtR8K@;q ztEtv{Qvn_T`)?V{q`*|KK2jT9mo3E`XIo?*>V!`4Yp5W~o+_f}RzPwAzlV(CDX)Iq8Pwr$6bCw!hnE0=J8?kjK2E!^H^Wtm{*k6v7LvDiFy9fP8y6i2#3cb^}l z1WJ@mL1KL=WKVSX%lRZt8=K%j4fvW0G?*V-nTC@yPv#vL^_Z61Vq#X(S4m;3Jz_>` zv22!1!fC#JtJZYgU=a#4krLa*8wy24+P{1c%UiqM7NwHM_#C-o;g3T>@9qQQ?i7V% z$AjFD!Y;N7z$&;Yb=^Z00Tj9U@uH4_wehEDU)NDXqixl*6~gYF(kIF(_pT_joY+}e z&hjmskX1^Weu->buGsl~&}SRD)4Lwi#jr4hfBw-mCs zg?9{Y@rL0%oFsVVcA@V71vP)KI(l()Mn4@vG7U#L_uua(Pn<}R9ZaRn5A<=0rjBsI z6spaQ=7)1x7AP)FsYNIDJlP(GEYq7RS%BYqAcbizc!qskH3{3(E+_*lDRmO$BUZUl z%ZL7=yIB_yJGB}*o@6kw>NHvEc~-=^L)FnqQ#)VeUV)B&vEf;^c8kteS}6f0R$NZn zXS9%_i!4*4@C6o^gn?YW;Y4Z96$f(B9QW_;J83^q$QWpy@cMYwW|yVvUOr=RZCE0UfC0T0YolRJD*L;{@rI|3L+(jI}S zj1Ta=C`Abg%V@>~$%Wx-)Z+0aKWSz+$wk-GRT83Y7yD^#hMRl%pDRL=SlqWy>BFGi zrXjT1f~x{;vR*ZGmTuP(1!AVxy-L5Z)O_H=thJl{Zn=ZpAl0L#?dK2Xlvu6ap)vVd|vnZLUj8{sj zKo|aJ1NsT;l$?;JXgQG@#VME84yP4J4T|T7(L<){vz`YvS&_>Ux?WyUxwX3~o$-f}rU z$t=#>YgIKyx114xopAHdE`;m$FLwtf3pW2oS>IW~c^XsI>6762f&b$VT&7g&mROnvLpyRw!+`Q3Qc6QPZcwM{BUjKEF99sR@V%*ny_-Qlf zPjCnt{4!c@O(H*CF#acqvSHQjGcV{uQJ$|fMim7nQN#rLx-@S*Jgl`>R(ICW!eA)b zdi~M59tuh-p+h1eQ8gUR z_-f?xpySA?^)=)DkT^Icn6WGcj?64d=+}V3waWk34J?#elqdhkIUkc~}{<1%j zjUf_^4BjR%v*u`KG_@gKAUcyozVjVLrUZ{^7zKUI$#s60*8cS8XdtR3zsjK@N0Y;W z3LxT2(O&E@V^LlM5m8#lm~PBeMFm^eh-5Dw_6PfU0V$V-*3IWBnNU||M9(t;h_w~| z*rO-P#0GXTxWRbEs+_h7|}fjii`QC*-Eauc9iz! zi_iuF!R=IT(~hfiIwm@QiH-lHD7khAC}%z~>ryV~Z3v|vvw4ny4T5~+hPT28Wb~OoC}|ZQy=6V z2XC$$_BwoovwBk%(DW*KZYlo_=Dfp|BK$NB9jexujU2R(8e^%?F$JQIDp#LsR~LCb zjKC88s}RU7Fc(71wFxg)Dgt7!NmE|lB97>Y8sWH?4@4~0iK~xI==`@aVN3J=F)@Mr zt>cb+9@qH$gOJ$Tr-Lms;E{N{AG2lqwWP9DcWLkgH)HrvB04ra=Ty`svqor~=ao)3 zeFkdxTMui`^EjNG$KFvC$l>J>y5){A>w&P-8kIpu^4`Pjxl^nuV>@5kqB5{+mVIA( z7(K7JxbNfhOBxG;IeQr`ATB3|=|b@B{_vXLWaAI4;t=yLsA#R7YGV2wT4*SRA~SYh zW-!ju&!^91jalsvJK^KW*w0@q*enlJ`0CHajwvQpK7lsnp2aHdi&moK%elyLG-EFS zJ~H8u+^xYgjT=H>G4M?xXH+=$dt}7Wuzm)h$QYJx=UdwEKMvwV6lS>swN_cPiAvD2 zS4L}{vums7dA_$us8}7W)g%$n6Cs+(w-TiF(1p< zR)qnI(M*Xi{cRgcmOvtcF65UPzp8FcT)Ac^^6&Z(4ZEt(49?|KMtSNB&$P_IZaTX7 z(#yRxe6l{E1o-h|uhUANmWD#;k21crAFc14omI`PEhWrCLZy{#7oJ$V5dz#LQZZro zkimAxiG1FhJXuee+Dn!1A-Yc;Kea&y>4A_-(fHEc|ASumsxsE{ZUT*LoK`nOmIF^V`Hi=_vf6N zAB&u(=+;hfeR+0q9iA#0u!0X1FX!{FyYE?90RUS1&kor?zsRQff6swnLH>T2L#qtM zbxY~@iHvxhR&=p)RHT$1c<9igaFooRa?Nl4;4zJX3^0CdE1S1>?S>9WHl$?RfhqCb zO@vm=8T53&4;NjgpLES%B73fDiieZ_A_hE!p0((@OF(C7472?#n{_o zH#eGzm^xZUOFHzrca+k;%JWvRz+>@CTjjnVKXv-}obLskrZ|=wMO_Ol7YNk81gsTx z#dt&gdK-EC*_V`n*7xD=(*QSu&+{)6xQ>|Dp^>pgfje8SU%k~vWt{Dqke=4HzEpB_ zL48XfT_v|>LNAA_3(vXbqn5Iv>UINhCDs?TEX5~EP{i+X@7hpkZMV}(LomJbQ@0){gGv;`VBKqTtgr6kil0Z7cBS> zGFj2In=S^<*Pm;=4)rE%xFXwDaMRAo{KKzV*a*4k!4>b5OtNsQ+rDPT9lj4i-1VEc zRH^SvO3@9pPf|TXg)b@W)qStjJomz_M<`@LIi4qGEti4<0n6-yvtvp=G2JzU;4a|Du(t` z=m%f84|9zwWNs*>6-5^m#uiG=+472^Y&%*JV)z~_Ze@aM?cVU|d4BOZxja65X%Xl* z;hd%Clbj0iVLUHagTeU`{O3~0Mg&E~0iGpOrMnTs+e5E}!j>~2^=HTRmwl(9m=E^e zUN@K(dN&_P>!N38#Nh3|sisKcdTUna{Q~yT)iPkHoK6;^4OiN-Y}|jaq?Ywqe6ar& zBbanh*CIN%fYRfi;S)}9az0FzTm)ODSD(CdVWUgDAcv!qJUde)H$1mMit`{TS zy+j(RzM&51aDHAOAnnJTyIz|1;ZTyg(L&_$(5)-2fu`e}8J4n3-Vizl?&I8d25SOX zOhr9Sw^rs&6{~dl;YHZGVJqG01?{h1bvL0Js^k$|(5uk}S4$S#d%@+o5H^~7d{dN( z%d=m2H$wX*coh|Pgx^6@GcieM+IK0wDOc92W<(Z_4X2K2n59f@C1!RxTg7xYn@+b> z+!hLPeRqS22Rvf=mYdLzjg6UTb*MyNo%nNYv=CL=jSFg?cIJae=WdRXHfy4OzwoP- z3$RkPLVygYLm(lZ1#uqNun=1}k9J2rU?`?ctQ$Q;PKmYEhVqoa2^Qr}#Ny4LqGq3! zugy#0Y@7+YjJv_QoOLD*g<7RI(`FMyCPDcZDPVe_!UZ`SLf-tpKae7 zY_l$GGCU{4$IorgsDMeMn{Z~}pz?wybGfCIn!=(??Xf80@;XQq8QB*}+UQRl~dTf-&kG)=}OJ3EdfKfK$6Y!?!gk z9p`1#0)Jq#bZ@N1UE*VzH;?hcr3Z#)F<^dXc>6N1rUlh(bl4#{)RbUk0hsR_$Us9Y zWN*q}JRE?VmuL;F8QH6&%A^Ty@hPq|hruYi7PF%pVHygopN!T=Uxy#-&MR8$g;H(KlM-a4Srv9S7?)Uar2gH%<1+>do-@vUcnF*O-1 zF^chSb6nT8)ioP5)-<3lcamGyRFii{U4l!Z=@^O|eWK>}rb8NiyWh1M%inGf4D+72 zPW@;?twjHoAs`%Zuc*JCMCU^C56=BBHsxRA{e5E)h>}~w)@MThoN6HdL zymxi5yF&qQ|2Pf64njAGrqPq7??ZBu z(nZATE}iVvV0=Vd_gbcK%`>xz7wBjsrM4GE8EJ_i?>`LQfBY;61A*RYr)JHC3YZeN zT++C388FRXVuv(p@c6c$z^>upBiR$#NR6E_rZr#uVl{e7mI`M}!fb8PBPtw*g#P3I z{P&m44Ir8yfx)LZyB|V@7%u3xz_Ol%10lUX*{pFhFV^IJpYDG%QpA2Jvc7#Yp$Uo~D*yAD|MMH6e?b$nzgynli2DDB5x2^L__L}_ zl7pE4rVxL;j6)!3cJW(LCZPToiGfDH#{*KKR_~Bh!T)1?|6{nI^aTnyda}cwI5XaV z6YU?e|NklA76)>o32}W`(I;H6YAVo^{XP-rUX)o01jJ%c{ul9lcLZv;0>v_n4Cj8CnFc*)!I%*>Tn#AARI&KNn-m`SKBh+$?)ma^eDMYx$08 z_nWn?;bT0!B7fDFEtcL?DT6@dnq>8v9gXLOh3k4-XCE#e2DJTyZMVZzv;WHr__2a) zixZ_VpWqkRpYOdZe6Ccjd@MPyukr0#b?UxFXi}A8D0ATtl_t-+ZRN42y5FnNci9Q> z*-Vv~4*4ha7$7T52mgyP`ahMyz#OCrxVYys>>;ovNxj)#QAR}#U;;Tra_WS0(xWsx z@ghM*<{M;nRC>YR(cwab4HA$4*$bcslv+Jq-=tmuL@=8wbs9#+^$(gX{4d%EqPnQ* z@33*0uty=Mma$OW0`@&4NsMRI`FwfHK5nfolN0v&n3^zq}Jf;|n>6ovBUep+9g z1|^Pvyo^`MDSZxK2#ma3qk#i4wo@o`BN8+s(a?2KghglKhp1t4<}a`swvmePzL39H z@PE3n!9ed5<(n}=dK=}dA6R&}&>fl8Zo)tTWNk{0mvaP$D-GoN)Jcl;mDKE^(gE!> zDpFp+`0jtsf{0MsWQMMHgj!6dU~!**hhn$mCHj+jF6*7>6?|H&d6RUre|xN77pQWu zdx3*6r%Lejy9M9Tzho_r0Mhw_1GW0xV;FocPY8Mb8$KQ$9x)YEItrjgkx6irTBP#H zx8wZqr%@i6d|@2r!!UV;XqWSifB>UTr)3JjM?+6p&c$mLN^l8I!Kg!*ocLKWjizhb z$lVM&w6eI9oZRW#BLMfMjMZ}3h$UH`R95VT-xQqk--P1lO@&-}u~OFgnhinrM}ide zJGLIg5rhh64=MIb@qP*&EQoL_ znIVl66Hfa_EyS%J8rDwV#H!CT5OH6h`Wtt@cNvooKyK3##;k-7XvB1SLU&zPI>&!U zU2}yDDtaRppx+%~kE7HbUl}WC#P~i`POfQ(o6PB(_Gk3;kBP^Yg^2u7)j5f`-u!YV zF5RH@;}=!`29@FF#jiwc(3wO3a3HstAd8gEx{J}D>8s}baKRs%|Ke#J&g1IDK*6Bq zU-U^ZakeZVq~8$2-!Rbs)2S_A=qTFBGs(RRpW8U(&!Ky(eAG{$$8(sczFR6)Yu`>; z+C7Ar<&fkvRy-cUUp_)t7}S$b0`u*)ygS#LE_za!^uiDv9wV!(hD3;Ra**Swd^~U6 zWH3p!`il6lDIp?DS@*_qR<$0Jnc_YY6p=iH1MiCJCXpW1OigArFJeMd8Ms9inwo|* zuj=~{+>_J(zQ#w=eKjN4hjqnIx~4y+E@;SD;_`(PX^Nbw3higU9IJ|Ug#PKgp8P;B z?(I859gGJSQsKddW1|T##gJ4XeJPY8Ot+jD3nxReJ4tJ?tQO)q37&|-oG!Je5VXrh)CSek?P zbH+MXl2!94TN`KyN5P;@xK@@p;_F2z7)0i@q{eeC8>jz<(tGU43{;E@?$#kbjo!{a z@j@15ug_UM6UVovTNfP}@M*^{51F+Gw*Tn^zng)K$5Ui1$_HL>+RIQ#MK0t|+K$jo zosIRI3`y~6=1Cq4%d?6)I!o0_=cKEgKbt%_b{r#ygg*}fc6DGpb~f%$WHyP$aK(v+ z+lwjXK4EnWS9Iw8tT$9df2gM*d^latE{90*xmH%lD6OM0R^F)*?<>m89S$WiU=J=# zGkIZE!J*NWk((KeP%0{F&aXLt1&@JU}SvyQz$(`s7J%u+kO+2yOe%!WVuOol1o1= zVfZojP2Fz8%#agHe?axMnv`{7sOuON7GVNjk5B!_1FssX8R?=m-^hWE*G}3Ktvlm$(Vh)mSmyn?NWQjwRFNbf%P~tq7 z63OTn>|+k5DUHjCWao13B82jvU0#crZpg0I?jM!rjja*W5riC>z9!<&!3+xi4VEzT z!Du+US(djhc$E_h@=3?7wl<`Hz%=I7E{H<^*7dY1s8)Kq%^+w4o$A{S37sKFwy?TO z7|@okbUQV+@;=j5T>dwZ^dc5AEJeBm_3x#~wIsACl7UQ4n+4{#wV^)z+E>ivSzoCR zqQz78cU`Li-#3=thEFXPRa<#Yj}>)kE61Rce-Kze5PV~G`SluTd&xFkf-tKb7f?8f)j@Kb7p&`9;Kg|(ilO>l`y!qnB zN7$mnc(m~3)~RTMeiJhy9(m5vTNH(;XqJ&!xwJ)qrRKciDVJ0v#)cmG@Z(1n zpU92#+{YZ@o`}l|@@&>+C-BN`*jb%q>eyeNr`LHvakh5X?O++pZnnMZLV4|&u}Pe* zh&N@l+HiicrtFC6=YfxPGO_D!DQ90wea#OBLfj%;_Z{Ptlv&sCc38zn{LS9~oG zXvVI6UW=*H!^n(Z2)|xCGh$hmb)OME5BidZR6JO_+HjG)JiUjw+>8Q|zeB}-bDA{Q z;BJUBi0&va!=>8911P{@?hC=X@s(jZ^$_&ae=N^B1$gLLb)N|CW zvHNZ-%I*CjrB@@FCcA83l$3^r51I@&yw%id`6;Nv3eXIK$h^wN?-?VqdP*9b!i zBuL$<%d5mR{b*Q9TTB`<$SZ6rxhm?0V){We1rpGNG?p*UsE^csPPP;;SXcsi_~Cru zKFhVurYW9W9Y zp|bgU=L+qV2)M7_=`FZw!mHce%U-KXfT9P5*}2o7c5 zBW?yg>oa${uHA5ZUUYE(oG#P6vTHkZDB$^_eDRU@814O~c_C^Iu4ox6jvSt((jyzL zhWkMYKSs3EoSrCsJgH6dvTry?A-=m&C3^Bfyo_yW{)_?)z{cHs-hyzxl_KWfDeK=h zgINi-W@Gh%*D_3K<-B&FXrUk4u4Oq>R}80oYi@6Rxad$eT$9a0<7CB6d+dvh<|ADG zRn#~0NQ;kz=rScDS=Q^ObS70c0Sr+~HE-;hY{TcKlb=Uok`rWy%%(tR4jBxFe_{fP zKuJ=z#I6>BW5o0rPzEZ^UJcW%c#RT7J zZ%@}=Ig;tS-qo9BMb-S&^}Z4-sjBE9lNX>eG%*oF%2cDS>U7}7C9jf8Yoo)4+5R0z ztUskh(R5aX>m%h)@Eo1lOBemkSo5NI)~YfekFoNQkGj-(Uo4?8qUVTVI zh6KU5t&%Fo9Z_4?LxFdCI^A1Hi-f}-#LyPaWU}*os-oN3uD0s!gJwX!%#PI@ZGGE*0 zSUPmxCa6_{^(V}gFHAzFnEvr;tdDfVaY_b#aqYQ~BhnqRx*e)_vp(~jDd^`g@;;_$818?N?;BeMd)3zC0F z<{l@Sc3IX-aa15Ck7tBUi}u~R<3&K~Ec5$urZ(gx4CAZqhfchQ*E1@8J8ygW5>IW(_8f7Cf6DGAo&IhQ(tG;dB-6(wT|vP?4K?Kx>0lZr+Y7{C)j zw0E#SkaH8i)PlXnSyA_2)s%mP2c-}dUzwm)?#>W1&N5nR_7cQn-~d0WmA3~g6SQjF zpY3%7eEbc+nLKJQS~5EMkhcuUR_9Zc5>Jk$wHO^+MM|;my5-)mMdL4p=-QqQTp_lP zB%;G2dB_mEc|vEq8A9)L@@7{6aVN$dGccut_v6>FVkV?#cJVL4LF9_g?*hHW3*;M4 zVu(UKEuNZP@EExmps=#2XbxwS)vz`w@x2ql*yHYqdztsJ78*k2fop3cZyV0 zNEX3_J5LVDX4KvXrA*Jyn?@#1E8^ld8;a%;Y)<>US1egQUk;sOz|CO6&>K)C7u>?3 z)u{X|2ZzUq89|zgDQ0=zk4I(Gw*$9zM2EC(Pd4JP<~i!LY{|(qa=A#=m$2>0u+(`c zYqfsI5uG^~r0cb`mbp#(HHH@a9!lOHBR;xo_9DbnGm{iwEVC{i3SuGEi>1*J5M#@I9-RJ&yWGZCtl zn2{}E>t9kN``r$9J-WJiHCaJT@?S?47X$a_!TWN#_v>XM^2UwA7mRx}l8CS+RgJn`;RlC?rmTLEVQJoSTD*K2t0v z6#LQ{4Oc1ntMilUPpYbrgq}a8tX4W?+k3wu+LbP))@m3j?I8USa`wzQ{}N<~Uzm21 zH{1B-VEs~{2RYeS@MW8Ot?8D2t$rx-sOf&K=&w)5^Y7EgU(UjdmPIrvKP%uwuh14$moHOgbb>}FW3iD$u{r)ah^0?8eiv>)DvBQubifB8~i66$P!t03x6rSYsL6| zT;5}2{($Pj0@+XPH*Q&JViX9}XWg-g0&^|}_q*gS-Ae^yHALcOmUJs#hK6v)E+3kk zVTzO{d!65B#N>9*YSal`6s$?@wqCb&+PM!1Gm3m#ha(>iQ`B`~#1EWu4HhV*H^O~6 zWDdPwaQV64%lSloty5Q}g0cuZwWIfO@uK) z7iI;eeqgm^{^nxf;x8AytEcrPWqB$T(uDU#N(-Ck1jm4q~wiziI=Ix>PAg@ z=RCQEr9v{W2;cd4EL}EF&T$tJiuSYbXc>>Il}BO|O`_^zD_RScx1{#vXq#!7k8fK2JDPd3S|vN#ANDobYs# z{>@#^ag5iR=@GFbcwPC+$NIIz_Z60v*7}YM-cCpywjS`Z3{uK7gQWMlW!|`x7OBBX zj^dX~X#y7`U)!ai088y&M7WqaNvd=FmT*w^Cc_zSjuK>r5>)f<(jSdCJSR%xf=Z$1 z5Of5zVmOVa&b_!iU&voZ4UA14grUWwGrHb6Ql*63B75lRgmmi8;M)T9&dT0130$Fv z^Kn%$p|~{^@WPGHg^(U0gIU}a z$miL3M%f>1ZIcDt6w*=SkS1Ve)i|9%9QehU z_Q_frIVJy2^-lSO93%C^r%~i&C$@AFnzYsIM$#vYdUm4($8QgGYU1L5$uPwhfINA% zD$?Y%6=H;yrhlx>`ZRkoeRrLOqk^+TdqpKW3)HqnyX4f_R|{53J$@vymFW1Gbqb=@ zDd%<~tKQGY5KE3M3ArY^XT!Bal^Uxp@9z%vLT`#yw5XoCFi^fxYGPjnMR$f_xh8G* zS?qhoY=-CEz${dI!49|4m32e%>V3t9wmdX=d`v(SMWag>u!W{2dfRn7d&HVvN>-Gu zGvy}_C|b2^X=SCQ51Rhk25D_E&oLcJZUwmJPU}-pm#uMS4)HoemB2G9%j)JAV{0%a z?c(*FGHm0+fpsMud;)T8X^881ssqh2L1uF{ zmE!WJ&qvJNQZDwR+u`8~Mx7?GGAk@-BiL7#M z5&fO?Foe*!ID1BDToG22`FfgsA2_HMBSJmwK7Oz}LRQ_!H2lM?AqgD%@;W-K#VMKQ zM@hH$*OR`pD7S;rMPe2qBpsNj4E>%f zIUy8|Cujo^0}=JSaLwm~3G&@2v%Hf|s;haNmje-oIuxdn&hDAV`Sg=WDgs||tCLhy z&K^g39Uo$x(^?UVj(1V%+99Z3Kb!pk$Gtpc=9b^^3=~`Q_;Hm|=W(xnzxB8{ygk;s ziyA)k9u@l=#N=%!;WsOddlZ>m;7+uQ5#CNbORXB+oSdDAEh+%+G35Zr#?YHxoW&8( zmTgJo@opDMJuE0T8biv(8(mH#a*&lSUY;EPxeRklKLuRhYvcM2JXtoy*_daSG|rjQ z{zTM$Lik0qpIGnV8&_xF%z=D=ww$YqmAZ7MttsyYP4+}Sdqjn_Idy; zY5O1)M~1m>X)oS|%3e}u1L$ZmjDB=*r*d?m+TbiBYlrG}$!aUOZJKoLgWJ|Dd|Wf+(Jy?*T7S zLTSr)d_I?W-AWjDfyb5_AUa{RmP z(OhJ4Vl0a6Zy5-}y&P2~d z89iSBQz|$Piw~z?dD6X+s&~=&1;LU?w8))-7IYNS$Wce zC`MN)11?lh4GI1Q?#-Gj_{yjCMUAg`pKPlEqt%gxM}Cm!1E}S7Chd$Con&W))t#ri zKd<%|m}u;-ohSo-ib|E3FFb>~bi5O2ysmfKNM6*W69~ERda%^+ULf%_JJop^;8{#J z6y6%9m|Fa&~ zec{UBFyQ#_*%Sk0gU;rQ#KtpY*Wg(4{CFGV9KKqEcnbpmZBP0Z6GlY7x6fAJf%aa9 z0v%5aqV!pcHaf;JOyyp`K3VZ6&M`j74YAW56ljpbg!o@sTv6!D0pTIp54X|*!fsn> zXHDe7OSR5|#SGb2Hz(^h%-F*7+$lROhdg|DLwOBxPK2vrhlJ~4Wi*b=7n!5fp|1Lc z2)1t0n$1*6jSiEjA}Zm5BHx`FDUOj37}aqw8PmdsfL5kft0C{t>X}=sby43Z#Y~D@ zSxC2~C}qbV18R))Do@2kIpIc~u0MM$dk$U8z;ica>D5Nx;5>zWIGrm(-n+U5(uX1Y zZxV@fX?~9gd|v2Iem}K6C$?zd-6?P$U-F#2;m9-_PDCyr|-W+cEL1k|$P;D*SwA2!^MUT55WO@Y& z_#?ZmtvE1U@RfBDB$&0Xt|o`FsI={Y11sA%c>wYDCEa4SGs6}^K3MZ0weA@4{t-0@ z0AV=)I5Vik`t~F@MslSWV)(yxEJ!vKJ~ID8C5WvVW;0ps_@d75Jrt4iNOye*&-I zNK@3ZsE6$L4!qX6RAD!eTXyNNr=28mvf{mOl1JaBSn!X?IUUW0!S_=jr2S0a%T8gt zQ|i2mR#9-ONU(YXMYvgyc1W)kZn4|eOw8Top{}F}|Iye1$KR;Zcu}5|w74{Pr-}>y zZt~1L5~uv9{gxdor954;S>Et7XyOk#J>rX<5-P$ZTR6NYK7CK^(d|8TmB*Kw<7C`KY6j6SH@tq zZg9?RXu(FCtQ#P&El%dkwz*&y_lzV!6Eq9gDkb|evtJ5yH~hIR)`OZf11poyh0~Xi zELq;}P$Ck#1Ifm>6CzRzL=bRRBdZbY-W5?KESCBUeiZ^=M*&f+3r+1cd@1~Xe8)9S ztnc8sOWRhnPz32E8p*KZHvail?)`}+Lo1= zL`aIk>GuSMv7THF1&goZ2&QWXkkV6R)Gzs)wBjX$m4LM<>hR(%>gxxn=jg_)1Fddm zCJ9hdu~aerNeh zeXBvO$v&^UBi%vti} zeruL_03vZDQd{HaGD$1}?QXD9i53j1cy{61dhYTn4JZWQMf)g6cK`}w(5L}_$mCc0 zY~7?!D&fgGpJhgEs2>bsjd00hJ$_fvZSWgLL#6so(s;~9(QUV@$z%_Hv8eGTZ)nR; z{-76wRe6^6US}*XYJ-hhN}r$+FXMwXW7^j$Q0}H|d9Rwvus*Ds)38D@NKLO|cVl4C z@~;G)B=I6BEyK&~I>O=2nC?qMtJ&e4&LLs?K3OK2=IWkO&ces)2EfI&Ej?#y$&7B* zJ3T)@WiK>0BVEp7oDUHYTxW$Fp@qs;U>yu^@c+NmGuv zm3-r>#4cPi)iWW!AK~swK_EmANrxnDg=tV}6p^C+BH$J7JfX*&6lBcV)~%E0iE}ZC zb!|szX4PBQ10FEG*D`+5&9j&V`AHM`o-dN7K7(7q4c93h1Zz6X?0=6`@IkBq;s>++ zFSYaN@i9dby&81Ddw+@&Yft*wC1g#Cp5yPb$ z@@y#%KWVenyrUk5=-9J!SIqVPo6r0&bS+%Z#Y)A((L+QmLG8u<<9(i76N2~ zR#p%`l|RpCenmE93Mk$aDOO;kGHVv2CPcwe$$GYd$q_+G^skFfZ0&P9PcTB1BF2I> zdGJVx;5N&a%uRt%S%V$JuOFI9QM|zM9g|<_7>#Lr6g<=X8vh>)CWXYoSrBxYb%KM& zi+BCZ;)@?_m;Ium(CiGoyvxiJQ4MiFlG14xxrx#kiIeu~@GmFaXZM^F<6P!o&pX` zUKm_NIyYzUnuOs!+TW_X{#tqCrzj*;90DK6Y_W|RCm*j1ujlR#-Nt98fXQcCLL<|$ zu$Ww@ByaTYSy2!7W52hz(1R%^ZW`1*QM{}cCVl>r}Ur%nLKlTF*_XiEQW#e&$?KQF&H zAtB&^2qdEx3wsgUTQUEVEA6s46-_FcJS7RhDGyEJd-_q*)yQThu8WSW=FsJPds6gU zvZKm@7V>H8B7^9UB{cGIPM(5@&CgpmcYCwYmK2c8C6DHVZ~bTQ{W^Vi@xi7He}NlX zku!Jv=F#;YB3gg9Qut37_CAD@G@tyLCw+-r)AA^|%s|wby%Z%NkBsYkW>(sGp6+u3 z>Xng>`=|KL9-`njt+}c`U?Q(|WlLvlNx%@$3;~{v?Xv$)pWZE0T zK>k;OiwLg8&CU_BJ?>LhEpZ|6{zM_4Zq#5JsLvUH3ugan+k)Z2(omVOhY|-P;%MnI zTR)(E&djRgn964GnBo)DdDgQMOg2GLb-*0L8X*<-axjFbpKUZMbs}8JFf!f0C5N{* zM3?8`4N@GRRR7LZBF_IlC8n0u448=YCf?ETXdbC5?|QxVD3#K%vv*9mkz0s8LvXO+ zn97)P3o1;OlmHbI^U(gj{g2Wj_QR({hJ{3SQZ+ozALXAgh1lLHH7}9LBxQ7RpvzwM zBzM%wlDK?fwe874H~NuTABPo9{&;`--RD-8@8vQ;zVn(gDTg1C`uv+rkg^~S%8v8!|AdwP|r5e z0*$rZ;6(A1e<_ocx@{nt?My_HUTxuRydv zU1)?z$omz1VtGE4Gnz^h)mgbtf!QAiYob3|f}_t2ezES5qC(&!Ea+5=AbSeJ8<`d~ zi3gkE@eI7Ucwx==pJQA}_AcbQYAEc2*NvZ>gas%4mFDD1hJTj9B}UT-`wgG=sl**# zuCCTt4Cl>ts7&_rrQtFoOHP=I%H+|SF^Rvf#^g@xX*3w#IK~*+-l1o*-q5QgqlXG% zigV!$nVIp*WpM?Aj-o6$Ho?nmgs-`NX=B~%dY%Pg(3)i14Y88-8*D@hOakj?z5f1? z2ZNyr&5}x5e{{r8`n>7#_``Vt&~|mQf$V1dWhY~XITOtBhtjp?C+2IRcSa*@woh*8 zBWEyAkj21vUdK9<^B_i+ceEZPBk5eGO)u2H=70akdcbA@=b^|(V`bC|Y$no4VPV%9 zvJ&%$!I14u0?6&=IrF0V2Wj0K_Rl_}zRVE1o!Bq$ANJr}12sAd5jLZM{c$Gz^UMB2 zSx>c$4t+GAg!9Pv2Y8~Sb?ThjASBKF$c>~+U?QqoA@U@$d-EXdVa+X90#f#7vu@0H zyj_b$+LnS%l><7p*IMnbDiac}(PwL+ z!^RH~)Ts@~>XVgHFtY^#_#TKJiLOu}z$fRcyd8B7?K}8?v!d8tAPdnE3&aFq%@s3< zQqoXj!{q0>5ZZJ&eENaQ59$Twfw=%mWh^oY2ayE|QM+Hay0uh1^rbmi3?h$F({ckS zcjHf(#F7Bl@rKe}cFevt?QnpqZbZi~@RgGF8&71f3gS}Mxz~mR+6oZ>+YVG^fRbsx z4g8M;nqwt!Q3VP$y@Z663TecYuZ9kxtb~Vij;V>Oto%t*z3!6W1>x@)lEo*^&U1)b zPyzxV|C&4a_ni3|3ilk#p}*&|agA}P%DNF##>_X|)UTy5l;%TPOAAht5Wa*axJ(S& zpDDXqsy|k>T1opH&aEw%88n~TX(v#ujuBC<0l1q*cdPo?n5whx-#;whn__L-)r^X8 zm=)sq!}+xk2E6OMcz5;&tfdn&wbq1!l5jOZoztc-Z-JHkfL_$}&P^sw&#=H?Q`Y}P zhNlUd{T@U}qgJoM#{fUvsIP@S@!M_{$?{H5TVG{TmsW_c7t%=1$H<(N!Hb5{dAPsl zIFqdnV39_f1gLM2ce8%PNj$6xaSz{UHW6ubYSN`?P9-E~mWJVaD$P9Jk-8s0SR$l! z-{fhsZC{laFcVy8mf{%39eS&+s(-04wzPa`esQuqJ8`$%Jhy!SAQ}r!HV9fCZiwh7 zwES6X0+l9YAIFV$H-xo_LsPBO>JaPLv-ekPEopEGQ=!+nB58HCGZ>I^L@h}(RS6#J z@+_*$1*1Qs^=YA0MmuB{AqLQ%ikejwG+U{tn2ko*Jbp?I|7`c;ND<%CLX5Z?hJsK~ zYgH_khE_yX400^I05wnp`%!G-N44SPeaAD;s$E+VPGx+^?Ae+5#fLBhQssq4=RO+C zr%0M=A>A_wl_W8B$nek}4CIKy3YJ}8fQGh~MD7iGGyy-2>1jMm@<@X>SWi|=U!M_Z zi&Jh79>!0WH6)2_W_gA4zRL(-=Yxt{TY(){J|vqMyn_OC@zt;bF8ex2-B=d)xweU@ zzIb7DO!LPMajGJ?z~h@!WRgkaVAzK3kvKH-GdL2#O`2pwcWN4jltU7t?ZRVNk8dXL za{4#+N7de_x9q-e3Sxe}!sDQQprxhlqJ!K7?NTc%SG}nejc?j zy>9N))TYZcVJE3hi>^GWxH*nKJFM`sEZ=5G>97@CVCLtSbB#(;ThP{`H;oDh`&%sa z*Ifw)?_kKC;l;mxyi5N`kv$6!l+BrW8)6kNB8_AE033%*(a~2^X3CK8h^Ta> zN{tR8(m|v{f=Ur-N(&vON(})*2x;%2!#ECP=6*i!{qKAC-QUNL;x0{yb z4=1-f?EO5a>S8c)GdH>->5!1SIDh*GLp4ze(^OU0INPUHug;F&wUhr{qw#{=gVku0 zhyD{DqRCIDK5d6-Kfitb-a#d{Q&GDuLB7HBEQIrmN1{l}3c`mEi-aw6vD%8WRzA(R z7s|%+?$U#E*^nziu?hoal#fbxj=w+6=zs5>CMLb$&E7DZ@;6Ss3)POGGs?}l26o^QK_S>&?D;P8Beh=r$g*Vxvd&BLU=zVg?#_?P2P`?vFRWZHFv zf{9Z{v{w&3u|L1av0bZO)rEXBgzcJ`BH?^a?%KG`NB7guc8$h89eY5Lnf=OYb^FK( zPdY7LQ&!JC`sOqun7@iJz-iAX3qBT=1DCg7Qk*1IFQM^|8uMioF1Ne}xy`hQ?!GPg z^8J?^8opgU0o=_kVE%wpo%2qLo-X;_ z+ZdgFM37rOFx6i#+H@?V2*h6p2k2~0m+qmnZq<+PI2Ji8BX&IBqx_4gZf;B_tWHar zeD~%pKJ8O0t7YH&kpE%E_u;>x^_g8DVFXsq?HTHbdUnb($I86x{S#d2(!iS?9MWH~ z4{CT#r=cBAF*E)7Hoh%WvfuWGajmCC9|k*hV5?IsfgQQIt25ILpSy5Ll>8uoiX!d3#R;QbFdiQ*7@6?R2WwS8nd(jN*+`etW1}4%uBGedj~1H~;aen-Jh3qYkKvWoBCOQ4J9O zp3gb#iLY0T@02fvNlUnxxCgsD+C!JLFfh$@dmrqWS`}SkFD7V{pxsvcWEt-zpJ6so-^t~umi{Ww zDp`~?__F5(#W(zcw#XFlSoQA?#_9S(J9F&Tp#4K0zp0sAEE_YsI!JfSlNdh#?m1NH zP^WR(N0Gw3H^WQO(TCR}M)VNmW2Q09CaYZ!AH)~LB;(okg6Hm_A{)tZlWE>^4gw)} z7FW(|{}a|i6{{xwy~mTvxdUL_hmH$yqd<4vMzaoFyxtN6^xLMtIDY-i@o||e=c6n= zyDxw%^3Q0cUVi^U=^gW}u|Af(>UWR8qn%~D>x)P8OV8DYgbKf7WD>5G?>DN@cnK9i zI^B<5D5dPR-7^R^em|A-$ayr4z&eUMkdYkvThGHP;FUT0HZ)o;~Re8)*fsM=eEN9~ow%@>y+ zCM`4<&A7dq^1jr0>u{Xp^;6N)yj-gcwHKeyvE+0trZm>gdS0;bv#qeYk|M=j^VQ%5 z+a#G<1mV5yrQ?bGMpe$b^x({)BL@PT_eI$SigR47p>XhXy*rwJ_nzR{NaWp--Tjl5 zeI+6L4z{7iO%G$+&xp$zYVJySzSHQ?y%UFp==KEO=R0zJPv#3PW%@?oJMalv(>K$v zr)YaRATZq{v$t}KfzOm(#x<Om3k8&v9{cYQJx;=+} z9%w?gTf^h>Dv?v4k`8-!z&&AN;kKo-59kM{qFxOA*1+u;Vc4(R@EWZ<#^zXBIO#Fp z*PPH_8_X_y!QipDP+uQ*XxH-POkQfjhhB-oH@)2S1$wcg-^o@;v7^IlKR2R=epAaZ!c6 zF+!v%#`GsV52nhOO_Zl}DLs{!C+FEs8q*doL@A9k4kdJoAZ2+ZrRs4z)R#l7@ z^HE-xqnHZ|kDnHSeOR(bo(vDNMv}&H#^4T!FXYq;gjlB=NU@m?VPf;+IIgg0oHKQu z#U;3RH|t>{MkFmq%DNKTkiZ5ht{VY?PK2iV^0k*)k4RS5QFgN*lV$K7^~6puwbktp zZZgx3kC0HVo3p^|U7p#b)iWfVv%Qinv9FmLUA;USQ;9rM!vwB^h zeQY{isWa_|5Y0zbaow3UG5P#@Ft1Q;AELi+L|6m$ctFr6Wb}pesGyNrD*{7!C2nSt zZ5jd^f}6=vee-M!n-nnN<(PrakCmR-cL=81cMVH%f<+ds7ct@0HfrG|)?f>RsP~d} zV?DRx4SJy@i(#K>?zv6KRJ^NLLbned(A@os*-c#HBmZkvndkPG!dMV_+WgL=_2C$w z46P%SW7j+G+7k_meospisE~>oN_ZpU1J`P(&%3TCq;^8;^xo8V&{tlgBkJj)&+2)d z>&jmEQ+C<=+1nLA7c&#mD+{4sch&snk#0jYo$*WVHoyT(N9*LsZYjANnL#}>wXO}3 z)Tz#%@=JRbo5O7z3WuvenULGY)a87O#oXa=&Nk8wlvf0yz6DE7eQj170;)yhL6We~ z`L(>G@%vFniOsJTX6)?cER&sajh|QAQ?Tim z)q{tZUC$twse|kptW}OE0WchLgEYuDxgu*OU5E~*GRGqzmzMp$8268?vSWz1NvHYB z&{FduN$S0#LWGAqMt4&UUKy+o$RZ&fp4iWjl_{vfusb*L6lx&}Q-3&vF^nOiiHUM% zf+uwBj?o=V(NHuBAMYBGMDepQEy1PaPf>Mz!u(QJN6QwgEQyso&YpsPXDJA6g;VkJ z2Hm$|_+@sI^oT7YJk%Y1Fv3h>CA%l%9sVV}Ma27MTUFTG!{0>z=3oF54LH5uX)XQS zWfzr;+bzKyCMhw<__OqW`#__-z#BiNE~T}%Js3*?vqX(*y}EhAzQUJ}Jf(gl#e(3$ z+uQy)>yyh`!jM3PmU!CAj-|0e{csR<0r%EEVMQ*BqjZZeDz?EFm)qHOb zv{UBHj`OpU3Z-#xMlCS@0U%=!!&3`$vP86igKw33qg z{BV@ekC)OpM?n-1&t^e}(T|wwtL~_YkCQVRXn#n}7bmO^BHWd_mH@+5#*rlzpqf6f z#APGMV;LiyyW3i0t5?B6ntbxfaf4kdWUJ(#p8QYW{@8ijTdk5w^f$@VpOQ&f=*aP- zU{KuxH~m9jm?Y1|&!NIXtOe;Pil>2xmls!LD>yLYQuU(=tE)GC`lqTL%E?%b{g&A1 z$ok(K_{m(6CB&s@EP9*lr{m}pKPNZFwpneVMauQAS*sUA?$M$1z}TsfQ;pYr7q3^>VLQYQ3W^^x15LdsJ13ur?GNX1(~J*?nQb~=yO<;#j)7Bc-7x$2kIY_Pv=)}< zp7-(j!gx!=*w4o$tVn~PJAkbj(O-O*jcw+H#7^_JkQQEm(=bjNi6!7<|5nDrFWB@# z60(0Js&+go$;k4pj@db{#rm1~NS(U0_SRa`ysOZfp>eWNrZ@=Z+w{J0tP5?aobP9L z67F50wLiUNpI<)6|LUnbTDNv~k;*98?2#RnID@&EV?qOdmx3^+1pgFbSE`PN5_H@a z+mI1gFOV-3E-Q47rN0X`BUYk=&CXAWF$#{I>8Qf+4#)2viK6=4BK5a0jMd|MUw;ua z$kzK-q4Dd|{6nGjWi>o;=fkj{rxXG%(zVB4Gb0VyM*Vh{nt$>2(^pVuzhwAlYh}64 zqUp1_smLQ!5IpEa1JnxU(sjcpdTK3=T7h{>B0jChWkDt~d9O9a3CbI2Yvqag>~8H_ zLAt5>IKJ2zzP!WP>+%tkGgo_41mDNVP1sWvT9Qo`#Rna?!Asld9QG8fh(cv9O|52AWqccPeU zbZw#~)UxR^J_IAkFKPeq@A25WyF9SxSlkIK^Ro{WzqIW2;C-&lyqx3Wh#?qsu#HA3 zb34CR)Ic99?NxX_QX z?zc;n7SZK(KHjH+i5)6pE47`k&g{v(+?v277Il|{p5G9i(}DvHV&;b=)TX(9k)VF!&A5zZ`)CMrp?^3!*k5(uL}Ly6E$!{N^fGkSfc zC9S!mpGJCo^Gl2tYgp^1m7w^JLcgU4#?{M}sTE_YQg3P_DvyQsp8nID{ygB|+@7=s zw!8Mg{si6Hey8j2?$ImPJk9~}nX2lERO4&NqfEj>PZ>g^z{=%gp2~&(gc)o$i%U56 zXgzO6)a^{!y-`s*0#p0K-`sv(!i!d~2$`zhJ;yX7TM?x+Mo-c&8BxoAvoy|fysme* z3(HJY>MYr%rT5P5vyHOX_kqi4N*llCZ`T#5c5`TQE)5Z%RoM~qF0R#@`N3?(@U6y7Qb<-r zJLHU@-Z>OZhcq5Mb|bJ&jwwG!KgBe-LH8whd#-qQ>gW(vZn_c?PL9gxN`J0)3yc{| zkrQ=0+aC=vK4nIk8ZVUAlctY_u|33yud1X!f5RdIYLzD3HP(;M%Mx&!kxjH{vJXld zvJ{9!9hCp(T#mW++-j}Yvcl`=nQ@8Pt+JT&x^#44OY4`*?pNp}xf<*HR#pZqyQ7-V zqPQc=z?8gHS#<@e7ugZ*qu9|XPYLDc#^qyI7Kc5+pbJr&eDs;u?j)6TE!!oEXRg|n z!|*PNqBX@O-XlZ(p>?upoW1#^?B||PKJV3*%Nk1k!I($wJ4W}Zk168Re^&?vZ1?P9|#|1FwpkJx8zg34# zWeW!|@ZE&psjKQDH!qCsM?DfiN#;9^qbs}}v2JcVyfXQjA}SYBrL)JG+Bz8t~_oj%%7pNY7ju+rlk&t=1m@Y}7)Z2ST=H4?u( zkSB|hP;hUDhoY#fO1?v=7=;7E$|>z7?UEfOGthp`m56l5d0&s3c?!k|ZdxU2J^car zblp(J^3w{}RJe0hdv~fIL+5k|!Z8#&TPjv~>;w*3B9vEp#<5gQ41%K z1Z=J_?!L;DUt&Atdaf!gq@&Wh&{xf?o9lGTtR<2Ol8m^2fiO2PI?PI?G*}0{KTJFY z^1OpJ1(h$(+X=A6da)6@q(%{NvkN6kn}KjwQIhW3yzu+p1<{bOed20%AsQ*Sot&z5 zq7FKpVp40A^-?GGh!nnGDYEE4DK>HxD2Gs{*fm1A+^3aeqr^`SQWtwO>V^>uPrRFQ zN^2uzo#L~jyVd%y_p9`)_UGZ}oRvt>Q&E_)=t-*MKxK}Ty%xnE-2|!kVUm9Wx*)Dj z`ZUBTnN!L`mMy>H znHJ_eHrWb0^>^=@+aFMk66!YPfO-tZ@M({9YOpc&w+`^AUzmT&b+%8z2cxd^CV%Ep zNind(@lA!Kk3m(eK|owHk*l1?_%YqHy~3Ww-pD@5z8{Bl9+-Z%+9&gHqSD7K+4ob! z=*x%kwQFP5iY7DtBf@yI!w7}37;jOtk;m>x=H04b?UEF24mXsf1l_m0EBvZ`YvGvpp! z-w|8N=HoKpcFWKIn>(m&a7Bsz75cj(ZYKB6&w1+5%zyEc~<$0vozIAyTQN zIwv40ym(wPSD%$_i9{5&#{aMi8*uxsRM4XPeNMen^~xYU`wTENiF z?JnU$s+A^z^%~lSR~7x&c&Gev_raXF*7OK2Z(`Dz-)(o*UuVC(Ww*23xu|KI1KytQIU^hTT#K-$ z9na0Edrrp}qQ!hA-Lpfoy@1EL$gBUpU2jRJFIXF!;G7=4W6s%NMJwGuVFlMQa&&T- z1#gVY9kImv>Vd?O?p^oFh@@x>2T^1|>Btd;>D9!`X5yzyxJVbU z4}p3@erN~7RF}t;Ip*@n8*O~3a=O@)m#Xj5Ry1|0s|9wlN|>`pUSZQ2;Ya>H@UANsBLj6$bHK87O2{^M;K%V%X3Xw z91U2(!=}sA&D8ozx-`u#+_m47 zeegXOl+)VFRoR{Ok&MK_Vjfdp5oMLc#5DWG`PPUXOwVw9i2g!dZ_uLX7ucKW9~AD^&%h5>5DK?=td^eDI?X~$MlnY_H) zhn?64fr!Z5eN1922^7C*7r5^Na$u5pkZL~P0s2|#x4Q8K0vS$V=^iMLrI@X}mbS1w zvz}`@>}!51GFtVbnl}nDChS%I@KQQr$6N+{_8dxgsti+pi2!JejKnj4^M4MMax{ge z)bl9^Jd9uIm6=YJkqmF4782rwouK%p$PQ80l`^fAchwI_25X^XkF(ESe zvxFc|n8s4|^-Ia&jk2y4N{pN)@;dq%H|=+JDWs4rq>vk}c+2 z+6eoAV^_ewIbB1Uo6q&JH`8?#>p}@B;>WHxg@biZ#JVOiJFd+mmTjL2=Atr*rFjOj znz#{y_&2_s5*0n-F&nD_3a;997)!4!Rqa-BB&SM!crmF$ch)~B#X}BC)H8J|aI`N+ z3gkR6glI3tmJ~TWCg|gO#@%WP85&B3E}T9{N~*T(Zq6*MyZ_S82Uuocs`OED?3<4a*u+aM zV;#EBOn2H;FD*zrwANH7K?n3kCzRsqLF`47&jfmRxx8iEDg>FnQ4^Bxo6HCW;H{Xl zzY1542o{)^m+#K?;T+O0ztGp;&*@XCwFpa}=&^a20(``gcl_F8paymAPo4cdQ1k-w z%H9MpCr}Tld9*jj2q8BlLkS{` z;=hmREK+P5oA8}aMIPRqD4vMB%LslyqMbl|`}7NMB9?yF`(?}Vue=6S96fZdYcK|Qh#oaqQ5!@H0rGtx7OIv|7K8#d9rj$gOG+KZabp0l1HlRTs5QBy0fV1Q_s{ zh2lnQDzt}O1Q3?dwyjnpm3tQ9UX1<4<7~;zNaYZr&s&C$EZgF3ZHFz zewg-L(22tVFAtZ8CUu&cTh6(DJ-AM@=0$+F zeP`7-TfLPIun6R|=D2PCX@kzJa~%3vqOT^la@{{}Z@_ryoVBM-cpobTrCpA5eHa!W)0eXCW=_6>i;o`HOac zK@R;{4t<9jWhtw_F#GH1nu$Go;v|*SSZR(>+_7&@9P{mVdfI_nfee7CmK)kz?J@qq z@u$1Mh+WAZmjR|}K-(z-@bB)Oom*{){kTT_8DJj&CX!EYWMVhw;NSm7)g{mWt-%(| zojg=v!M7vYZqMH(|EJ*vJUIlcN%vp-ZD~c{NfPA%d`k@%^Y%Y4`ul-77hsN@&u7_a z-{t_I0nzip4`@o}(22c3408Q!<(5g(_lY@n0P;Pc`ul0xv|hUeERIJ$&R?XZfI}aE zn(BW<@(Wh}`$Up>ZG>lDWczj&r7vtQ-*rUZNutcTjvV+qr0y!(0P)nv*-qx~ao3g_ ze^vqDVcORroQAO-;&^NTENM0w-8H}ZgTIdN0>TmvXExs8S4IhS?AZrXHli0ymZS#Ge8wA-&|+2Vj~Q?J)*SVd7&Z?M2k? zJiu6>TG?0HiGie^V!@m8JJYm-24+>of==_JE@iZNZvmv^oR{oNd&DjvB#`L2&my!* zgBwydcLxHTB!LVznj@aQ1^mZI<f z9|+uF0`wobbP4`|&HsNvWEm{0ud@Ra6|$ASP=B@-QXv@tKSUL^?AeZK|cKQ0Pz0;1N} z5{PS;|IYKDY`sbV)+w7e%(T}!D=-koGWP-P5Tf@85a~NAgwqzQrWhcz7CVV8Dvo~$;6og+Y#1%si_?}_A|Nw| zYuU7605sqN<*!7IG}^0wCt#8{#SG~;=R6w%c+CwUv)iAUo~F$H1Cc*L`p3b4Ao4d8 z{I5VH;H49N!w)A?^KBmxW3mk%ER)@gx&Y?&vgBoBwST}YQ1%*^VNTxdG-LX zbLJ6;MA~kR8!*v0n-2YdaBDz4t?Q6p2W=BQw^!WS{ye>WTsXbF@8+d>!^W;D0`-N% zieCHwCbpl>Q1Lim$_7ubTK*ksKdB2_-@K=LJa~^bOFIFUj@x`b@$;e$3O3Gg0z98N+5aw=brqji0Wfpp9>j>ImTL5Yg)Y4KWQQ5;A!h-v{cl2fW}oA!58r*H zNBYyw$#v;Hd$}D(?T*nK-3&EPZgXIbS9{pH70ExcpJ^a6yNPm7v)z34A7=t8fF-M| z%j4VTxOf9i&tU6yd|4^qe+Wwj0DS$2lnsgfVZE>Z`=pXMUF!IUe(F)n-w}qOc^`nCx9x|XAERB+6t4h+$Iqy3^_w?NHVOnMeh1v=Bh8S1 zNMB5V^yS;|Z=;)1tUpcf!20IMm9upl?sT)kg$n`2qh;5-SlX-C1E9Xdd?v!DA~ryxq6&KYq^JoiXMQt&4I3-ofT&yCQ9hiWz~LSP9Z_6IWL1=JNyP2`tgu z{*cM#qXicBcIqnsAR<#hLIy}fe7d5`2&D40XxDdctc;EaFRFqZ}_>g%^m+S$Gx2e9n{e4E*?QAyXPT^iV&aRgSEh%J|`fLlNv?Lk1s=KCpD z@ACjY%$R@04^lhk?DZ%?oAnE}F3SonbB7zebm3mL^&qqlf_q;YMff2*Lm4B&wZk+1}%bz&Eu!50$ zH;btE=+pD3d6<-N{sVXLQ6o2oQv?@xChaop>@0m}-Y}zEU!)<=yr13Vh_bHr4^NQ* ztk%{pD)f&wWcO#h^(uzGt&^NBC*CNN9bTZL&d3`r z=Dmy;?VXQ@XHExas47%cl=$}-lM!q;3i!W zX9ud}5(NLF>PS1=xMpUqGAo@8JjvS4{JC7(1?h^B##YPHmm7iEk+Lq8kQ)>ewRDG; zqKR4(;bDV%ot|iJC{d`Ai*3p$Q@ghBs@wS0&_%|VwN)MJ;qr?HHz6}oW#jQubxT37 z30lA>bgnn|qg;o(>qa5NCm@1`x)nY!*VfO7;P((guV=%ayx+Z!q9C2zzWn1^eOw#% z`=>>}IvUXERzu>njP!TamGc10RaF(_*ewVt_~FOhoKN3$NImS=oN&}{PLxwG)4lii zvajt;qnX`WMn+BvIUM{(S32c@jgF2@A;phYiFsVt%pV;Bm3$H1?((+B$vrtm>-;6=}pXh*kJAmt%w&6Gh*V-PL6W^ zDD<#ixnY(i=;1JH$?Vs%wM4%(2|^pIlyKOfy1zyguUZKH6x??fKO*nu=8Lc=*7EVP z>*ho|o-N0}>&IMo;O>7TgALYTV-s@^?jVj}jq<}PQ=P*nF@EQDk&dRSZ94i)ZSuWE zTJ|4J*+aBJWwsh(Q=m%O=x!1w^2j6kbx5AzTaUg~`k9Tq z!xx`c7*Ps59wR*(M)AVUW(Y>57U3Y3sYd0Zm2iSPWVReR^48nR;7%Y(*BBLZj+cL) zDKFRf*#0GrH%acR&k34*)zYVJ*cGJiRL}TJrka@Axn2?H-0&ky-BMH8AY8;%RsSIUvnK7b)DtRwc-WF?if5{F{oNM6Pk~(Rp#q zVr$RyPl~Z8OARNpx?hZ^Iukk~YttA&rx=)Elx0<{yn3$V zzB!48gZ((Ul|1*}K)0zny*g;5P;dz{SZ6BkNAr(j%T55J6SXdzAj+Z1w7o^PmgM6; z(hlf%(0~PE0ymrWTntFZv&VYAKD1A5=mP3v=B%L$WTf_KvST_X=wihFaGtAif`*3( zbzm~TN9;}|*=kqV?9xYgEvG<~MT)@4b7}=2!9Jq;UKEk0rIX{dbU=~vQ&xv(M|@1V@=&J<1biZtEFnq%n(ex>`0}|obR~d zIKLfOK(y}Zt}O+G2-H{X&==zReiL>5=BuWjmNJ&EG{@RfbI zj~a}9XH#d?wbDqEj-@i#Jk~{FP5$Il3+|U@m-FxwFhetcz#okd=|7pU2!*kO4-RsA zu{wzDD8c+#Bu-S^g`A@wR8ijSUeE1O?UPU-QQqpVsfMtYwxRmJ5tK&j-i1E-SdU!( z{BQ|##UaAkkSErp5t9eyGo8_PZTG5F(#Sp>Ddb-PPdS~OP||^P8z9LLqUH+ybr4Ah zp3`6bZYIDAOb34dS$lI5Xs)_XHHjSXRMzoJ9>%vu;d9X;yQ>4KRiXCQy^CqxwwO>B zb``WNcYjXch>2JeTfCleY$tP*nGst1yemrg9n0^2KkhA>En>P_@PTO(R;Z8R}x0>*8F@sHHWLSA{a3d*T}J*s*Njsqmi}0E3pOJr5+J0QJx>BION#Poitby zBG$Gt9tV%}ul?9&d-VkHv=aBa&TWccfSS*8&iF~It8Ja~7L?&wwqSIpz?qPqThz#U z-bvOIVt3SX!mWi-#s^|;X5GyFN0vt|(W#^i@lTn4^=?Y+Pw#`}jb=g^3oYykA!+t* zJ;50bRXgw>@*hoyF*ZecEj`zAUkdBVw6;L5-0yM0lU`@F7MI@%(zI`Y4zXvPDsn}J zx6jRek8J}C_lIS-)AJX1;0H7#nwpjeg-^x950(t$4GC_{ujt361+^*Kuk?Ti;e`C- z5W>k|(0<|+?j4LkSagRr#jrEHLE(STFe5p%mwewWx~6a5eq5f)i3_GypNC8mmL?-_ zGYtIf1gZJ3ci>KwV0ltYiY#Qz#gGXy4ZI#&Agx-~XUqg>pdN7WRZY6NvRWAeRR!MT z;jgo}r*f}IxwWBc?oFgDU(p>M4=x<9dh&^AUX5_&me{_z2v29{&qGh-q=X5Wu`x>Y zuEr*QuZDGN>I|p}J1N!*uE1VdED|B~KBk_sL*0fJv?0;^oMREfvl-}p=q3;`RrnN> z!hT%zboDgDzcma`-SEErQtR>NI7(zEPi^OvSQ=*J#aqEd%eCf&K&FKA_eIN(^VGh` z?1)0VO>&R@ep%Rk#R{!@+Ib*QYKjINliCr!Uya}wNBJ1oI`e1PyyE?N=D~VH*pcW< zzg+d}g!j0IH-YmfV*#hv^OxEev>P6QGF&6%&q#9ff%*0Ilvjk0c9##wr~4cN+gXZ4 z4~+tgLd}Vz3q(km+SB>Xdv6CW1BJs|UovTT+Szdd=`&|bN#W*;H?r0TrvaJlO3k7v zlYndMSx37Q%RltuodB5n4po#GlQM4AG{ z)}Ju!EL0pGMmhG$&Xko_Y+;|~-atb!eVc~!rj>fbj1=DkNhGsP7JbZ5JKFf|k2B}x zfD+CEsdI~B)gRQ0hXEy=TQB<*e}?260N$|f_dq`PA42{rOhA?Zb$HE!A<%MFx&&|yzJL;rtM2af!fu_FE5yBH_AOb4tNT~R}RsCrSlip z^Y|j*vUc%yJ>JmkFTZ|=Lov`q)OATGY4b0CoC!Fv-b5jt`GB^UeH8=%YRjy2!-}mm zfeq!i$`V|gB(Z^BAho3f7i)I$Y@FD{6h|Py?g90z)3l3b4uJp73d)kC4eXP^Mw9hz zEqdC$l$!einF-!3-r}L?KUSa*K%W<1V6?+^+A=c)%+%p|mKtq#cLAljlgT$P)9$70 z1RA3LS3%?%U!bMv4}_d|04fJbN^?UlTkPvU>jvE9)|uS~X2aHd)*W^;pzY1iaGJOVJwc@%hI2Mu0+10r<*vw}HL+U#DV zOB5B2c)(s?|A6T?zWa)<_g^g-#3*2yJl6&{j0b(*!i(SiwXm-pLC3cgC?$? zT>x-3E$tBW3zYt<+Q&WsBqlO?exr@6E&x|L4L1a6v)jDh5)P`{b^TZR{&JsJfQB+J zL>SWUi?ISWGGYjPl8Ur(BmkXU*02!z&AHVEcbcq#%>Ji9@fcvI^1{rs z`7N*oH19M1r}6%;ApFm>8Go~U#s78BW+aNrSL|XQsNcn${hWqx37{gXAyZF;Dx2if zrlB(<@5aHmD*bn`u$;c-Hp5Uu*zUiV&Z2&g$jr&#ZLc3Vf5hABG$BYr zw|ORS8#)M;9G3KSEB~0skH&d69F;|c@lr8{ewZ>Vo7qRh{MHnVV=lShG5=ARPJ%Gq z{KMZ+g&v@RlZ@LB-TjS@l6o1?5@La@iyTPHA)~YAA`t>i@3@~gv7&re=Hto`u z^ZYq7pziP&b9=Yau)UZ6Wgzi%&D(bJZQGkPNZXjQKzjSBbAt16BDel!;B63{w0;Hq zeAqr(-2O4;aizO~>2-smJO}<|ARxxwVEp@(8>eXs@cWcCBYSQayeTuPzyEIo$%np} zPr=H>`2RsC>r?8V0>phB()9HFzYHv62c$E|0J#?QPih9H4CP$7?IvdP?gt(Mj`A#g zj+FC!S7hlx10m93>liu#%KA5+>ehL(aFJm8H@P3=1T=n&^ymwch4Qe9mP) z<&UTP7n5`e1XTW?88-m?Hy>Mb@`$(h1GGm%{BlQAl~dljVboL~HK$hNjcRBZ(|p9b zokMa??%h&{KkslZ5g7R9TYqT^iAsi(5k@=czh5z*T%(6vjBR-eU$KRIOu1WlmGeToD++~|d@J0IUh73ubW@-S=#G^BsOrS!(&^cz zs?_;`xY@23C>>j~37p4diB&!iIrjolG(SVOl-o~Y%C)OE-ba40T(CD=8J^vWY@V5F zb#63OTQl-pu{PC!xPVt2+K01>{tw*(i^Na(#g-2M^d!0cpS=}LZrqoWBjud8lj_^; zhY`I+OM!fuFB!&ij6MnvmROO$w2DlBoh&wQT>DD+Y`Eb2*otZgUvQPQse^rlO#|nF zf3k|d;5Zs#zV09imKBW^jr^V9^?!1A=I>TsX(RT7$Z`{=DZq#0mz>;(^-JYS@%Vv7 z5|)(maVZ16t8Z~H5JQms%F4I99)NL9GKI#dc$k`&xSxu5HdARR(yeemmB9uxJ<3H{pxc4UycQRQ+jWmJ0RA#POSN&C$EnR?(yv-Y*GP|R(`8lvt{scE}=e)W75 zUOta1jW;`G-^5#kcxObBA21G(#F;id^#r4D_QM*(3`#vri{}8!$|ZA*d{cmP-3&9l z=m(zQ{Ah=MxY^8P=Y;#P+zB|CWBsJ9&c9#Owswm=)>q&%<*DUNGyr9k!~Ef8uKou{ zi#4tD=x5?ub4$okCyQLBsvP z@0(h?LT|T86*l()wdoo%OdCZmx@WNi)UBbwj&{5^sdQFSkYGGQxpgouzBO=W7+GRE zvQ$H!r1%M2k(Xdvj&J?8V={a|bH$JSYL8YSBqL^QuSRgsB2vAF(A>>_MNEbB{>0;@ z^JVZE^pS4i8GJ}hJAQbECHVFA^~iOx1jjok<(BXS*_l#Axx8C9f4It2wp*q9#r&!1 zuaN5F%qW?7M;_b^b2s9~fOq$-s!gU@!&lp5_*RVX89kLHSe;mVm^&z6M3PYBn#?d` zOY?7Aa6Y?QD&D!jjm}>zT6r4n)?Iz005)<`D#ln0nA8At?d_Vu>RLJS$=OgYAQ(I2 z+V93Y==-G4nr@mMesnL2K&KDNK@hUXvCZlE2;Zw<6x&4Gk}-N&ND{zGQIl_Gc@BHG zhRM;&9^l_Lp_%jv)3vosxrx5`*6tA>4w?<%f)`;6_XyV68-`-Qf)aXC;0+5w5@%eAeVmeY{aDCeoN z;adNn^?T;+%|F@A&=!flloy#*1TTP(B`zf1qMB0|3_svb%O|;O8S0s8*bd(sZp3}{ zJYz3Es$)wofZb8^ZYhAp;Yi=u+T+x|e0`nKHY>2r_2nWlNY{7Gy0US&$&mnG2xQM0 z@*WLuL04jsmA+ImUXR^>A)vBSo3QZpeV4X|e6jCJudNm0i7s{AS)vwkdpp8FhT$V@W0}NT>sTxQ*{lIS_Fh&R5R>FH5>w z!mB&OUV}4RC67cYpkH7rhspEP>G7t9^1jP zAC>ir@J&-0C4y^}#W)?T64!%%%OXrao2p|n8)(Koo?$vVjW+`=SdxwVmPVnSqWF%> zh==9G!UiO`5$3-n(LEdKLuD`lbr!Lk^}(8#AXSLnJ)reJt3Iz_sbBCH_#}1LntoPH= zJPP**&PG~N;rbuj9+DfHXrx=N=Cg_g@^7rv~G@q)_N z-Z3EyWX#)Lg{oKj9JAqsc(_3|VInCTK`ck~HybTwqx%+RCJ(_LE@n^)aQi{4gXpCh z=qJB1k(Fo@yk*;0A#Ng8u^&%-ibnuT#Vm3~EZ?@?3^Y7rUDiglPc;Mnu%{y22SJNa z9*p0E9o(i;4AfI0Xf;zQpTVkRbc;XhMKdA5z~lTdiDD?2SlYKW342bD51n?cgH_&U zb>kh+!zgXuWZh4;AYyNeEBV{)Yd#^wL&_D%`67GuRMglyT)XngefhZ*@-P*;)PK_z zMP8W(6o`;QKc-TmCUVMcp=*-pH@u)WTQf>03u!{gczF12A8e9R2-BD&4Cb|7Tw)&7 zH|?Hnm~HTUp5vS!J3|KfKg>bQP*#lLoh$>lJMw%EOyD5%?DKddadhOQ9w;10xwYs)GoUg&|IhGpw-jf+Ha7|8BB-DM?+3y}vXdt;#7&7fM{Ji-6 zTDfmv!O$a;YIARC@_tmu*Z6$yZ%ymj?c%%vq&|th9aNoLWR*?Odn~oKw)0!x@Fz3k zTgPly_+)?5FkSn_W;Al8xW$z&^V)8esJvkh*rj38NEWCmBd|aNzSfZqU(0|SR#Vny zvVqVQ4k!|k!el-vD>Sy>(`l|Fe<7>bp&eNIB==jB!*NAKO40IU1Kv~%PyIA=3uFVr zCR%{XtH@)Y$br5q3@ecVzY%$f8M^mYuE0`dDQ!jNZ3`9eXVmj{r^>Fdu9%oYUYbIx zZ8_rAzPM0tC0iF=nCf*^sO`KMOsTv;Dpv?FLp2o6%bBUJ;U?pdOM@6=c7AfbE2)0n zSM;7b3tf1-J89T_k-;_(#GP3_RhlEN$9m6xzG4^aV|oA8+e=3JfQ}>c4eaK9$n6YY zmE=kKAR-1dxj^y;Ei3qa@HGdBma!ryzhA1wnXSM+0?Y4AaVHQCqR|PUwgM`4t&!qZ zN_>dWE*lnv%y~L2u*3XL>HFUu*u*^rGUJ(6Fqkc;B8a1^&pE8~A5<)Uk8I?~q zy~*<8V1kG9T1&drkhf(zC^Un?(b{$i*A(wN5jJHIy{4~L|C$Hae6pj62UnOFX00}z zAokK$ZQ4@eWK&|Nn5}ACVrPScXq-f*ZR^uiiOk3@t8g@Y5X+Y! zk*U!o15hKYzzxuyd7+_*$Fm{B3Lryg(i@0NR%4p~dnR{nv_xWbsO}9di|+r1 zZcHTLi@fkfGqg;;={P+~SN4S9AX3D@a#{_!Y{Y)8;$)G=>j@cMvUbT#tL`ET*w)L@ z^Vw@{qm1lpRG!aG!l)|W`SM9!6sZYS#3AZsGy^V&{jfP1>pNR*9ydl_2)BJO`Eb&<+kNx} z7!J#mUKm&ySbg%8TbNw_b-byK;%vax~O2!rjO^y3xQ^?(6I|sQyH&eatuw~{zk|uuNBLV z%JPQ9Bx}*^3O~E?693L&D|%FbqGRqG|L;NE{`KXgf)@w}Rz^%^tEF*~)G#B1gj=CH zO-kgi#L@)4xC!UpP;C_VCyTB{ow)huvHgoT;HwoHc?;}&xQ@=mdA6jp!xom96@}v0 z>k$Kf=;ZQ)v2Sin+BhTjNj_B9ql$$yJVWBEG0qgH0bUTHvFrQF^E`@JCYZT{4L;R| z8SIvx*Lw)AkTgkyg({;eFf)1)Nd}FRWl(uo=le*U*rA1@JDEVN88EIO*Av;RanJx% z#a0L;PdfsjE9*<*_dkctsZXgs_Yfz`3jZ(a-Zd)CYwa5DIlE7r*mD}A(zH!%qQ)9a z3?86ux|15BcE`jMDsAx4h=(ekK!IkbZMu`FO^kS!W=AwAhp0h<3M92k6of_vR8*1} zp@3i%fxr#;-gfWzeV+Y&UpmJ3^BwCCLx_v!=e*{%%q`8;AVN;khJh{fCE0KN z;!x2L2+g<2yFi`eRK3mEm8d;`>F+Vw?o-z~*S9YmsYT=GZ|uh#wsIiOdz(5lsl;OQ z_6QDSu?acB(QzrMWk!y?lP&0TjMoYZiKWNcWm`!P4!W#Sr%P|;0U3Aw2cq@nOkryy z_6CdL*W1P3QkBk~zntp~3tu12borFHe155R)mcjKIPT*!Kpq3$qMNAp^~p^QW`LiD{XDZ`jBwzL&77(oFg@y9;Jl;bNChH+mh*E_{$8NP7B+A5 z(h{o_FXY%au$VjIf?q=3+@Lw4{EH>qfmNnOk->VF!ks5zEl#tH4PU)j^>WeOg%tYy z&v|9xDGR}}@E*r~5AsdemxTM@Z{3f0*<)c@y1Xk^51RNNp@jDb+_x`Tde$sB-1>}* z)D7tY$Kx~lIVvPIrZnQd9UQI!(qqhevI7{|IYtKNYm2z8fJTW#S~r8lt7K|y|MGho z<&~o{Z;_pc0X+ZSo3=s0?52qQC9W3-m=k$#`~c~Gfh;GlU4<}P%1k`D7O`%R`gE8Z zF()XlUC<{L&E*ZO3?JEqRCSeTefLe4-MyWs)K*z=sWRDEbAe5J+EwSOQ@)-W^8+!> z<~pOSHWMQ5yMDF4StOMOGsp@An`$#Vc*JA)xs&R7)(cjnkvbGyWAx$7vAOV#jl;ft zpL>h5zt@22&$yf}T%75#2JlE>B{$MvyQfY_(hwV=2IHZL7_xaRBt9m>GO787PAy7( z)w@;KP-Mj9Y(eOO=k9G~n}|o}{^F#JvFE2?wrbbSW2zYttMovW*U(n;udW4mg!{P6 zb{*Wc=6LZ!{RUxM=sYRV9#hI_soeM%lrq76&h@G^aC2A_Ls*Fp$4b#VwFkci=OE=b zG|~6Jvaa5-JLUJA*@k7lZC;~}AOA$0b3+aA)hPbD8@QU{=T-?_sokZ7-sP-k#rB!&!SVd^LBalq`6*x?$Tj>O%;X$-P=DruB}_# zYmv@z5!Qu(Pt5G`ZB}2bXj~hP)V4MgD#9`n7hn{O4%bY>jYso`y?YodUgEAbo^%{` zsy%g~GEq@lxtQQc&eS#Ch-K%C{ITJp0)HZ_r!abkuDl68qy+<`z?F%izQ#%HY>?Pf z*5!qy8vL89i}g@bU3!H!p^_#mqDUkEJyV=N`1sKOTONNi2dO=gxX|6akl^t8zxhM| zr2PckccE3lP2M>|-TSI2kCIM4VCwJOv9urDnbN~b=~cm< z*Umx=neW^(_sr$}H4WkeqJQ6w0hk~IkPT^IV@xf(wgTF(0AE985mzRQ2roGsQS#`F znm4d)2DdwMW4oL9{XsbX_1~XQS*I_)RIyY+_U={(x*?>;_uEV(zJb~ce^YiCY#iU} z6np)`4=X-Sx()GB#K4ZT>$$Q(gZ74^%K9|ax^Q~1X?aN$g1B(c^7Z2#e=FP0-ZbD- ziWuXk_3ZUr&csKAGnEJbAXRFkY;Jx~nzO!IWCR4Y#71JHjX$s~hyMbQ_@T)r-~}ON zV{#zZ-w?8tLfj3~*8a_>s^e4xUxQ@n`hJ+|a?Zfx%CGd?GtM7&0KmO79^j5>lx^C^ zjrnyPes)^wmGh71W~loDR*uw}E1vbrd7scDFCXM&>=bUPUn8GKD)W|qmkoON6I}*$ zUa`Gj2=psS#3_)l+G~}?dy3rKRPjnqhuVQkf+>-u9XwtRC0plF5wmc{4I_HXcP6J}kid~GfLwVO>sa<2sF z0T^s}?a0^_<;YbkJShTL>S;WH+7Q1V`jW2lVvN zYG+8H2vmHMpEBKHA2)~J&g*&qt$yk^>o>{RXBg_vP4~MtlMKJff~%k{)XlGfTB)`x z^Xh>uL{e^{2q(gEcij>U3UCe%LX-u0s)~I__yUfD5e#zB+ zo85c}VVlMIxe`NNS65c&-UMZcdM5Q}HbrE9u{wZhfQ+ElmJ%wNNwg^Q@ z`C#O>}+@tJd0H zPw)9{@NdbaTz@?2g=dx^OOUfm5K<*;r)&=TU%Th?{JkIY7I2*1C~gPy z-bz3Wo}QsaAd;TV60E0g?`K@$DGHgJflu5@sNAWnUGrKc5Sq4w(v(;?;Mc)KJ5E_k4+d zeu5ISalF)n+vC4be_M*7tTj$gBEVKp#yr8mlp_QAHwbIjR{Uy02x!3->?AnZ4HlcX z_l_hjAtr9sw`UUMP5L}{jxLQt*oX8cJ(>u;TbsnHpTv!|lF)|3xI1n5Yh%r_oy(%W z;+~lg;%Apo4+v8hH;}}0pMJ_&tU@FpRJLzMPMX|}P>U<`C3%&^z-A(R;7@&tNJE6zx<0fGOriiP zyWS#m*plu*t3wTEZ4*470@>#gxMP_vFS6@aGZ@v%0MxF4x0b?0>Jmx4E7J~CnRet% zZ{SC(t3RkrcuKl;Z{E!q#`@G_$E?foXwdC}c>Im!!TCUzz}&pdNF~`9$An?6q}={L zC`!fKEUy);(Z+;5X?s1hAf!nT!+()LFiUL&H2=cwYoTLcWu{N& zz74zz3LzfWm{dfm>!w&)HMX77nO6d1AwupIRsHMxTqw%3v&-yBe-|8m#<_bSeV(gf zxOO3LPlj0KXHRe*4IYND;O2T6qlIXlmK)eY0l^}V$Bs@_CxW) zy{VRpx%-D*k22c!HTJvjZ9*`;IiLogck-n&x0UZ>#k6b!e^UO!G4-!+S;IeEH}+}V zOyzzwS&4|P3zz-Cgm&;gN z2a`rzG_4F;-M2~?@>(Px^4{;6ywAO0StvV~{BLD0R}vob+hpGR%*`VIH_4Cg-Ts%- z%TcDPoWMaxZ2mdwL@g_Fz4sF9Z%W6*>X2H}>gU8Qh((Z>aF?P3?2QhFxmG6b?}Ug21hZ;s{WUeqfxG)lk`fY-o`v07QbMX{e^@f*b^XvLrn>+wba)*t2TzA(;Ok z4>2BY*>t**%A$&(DZih{UVpio^k&NX!LQ*r6d_&E9Z0*HyzY{36+RvsQ>yZWe21w- z80OqBtM}Tg3#kT~@_w{-6QullqOYcVR{=k_croOSV|m|hR0A-sA8*;i5ohOPKw_Wd zv2=FnZ2tfxtZ@D37S}>kYRoiZV`$gI$q-=u!(G5$z+`uNi40rVVFRXFi$Q9wc@8|= z;7Kv@{eqQ|(lhIuG`pi{4?QQa}B#Z-69E=F-Rb%$#IX-F4W$B z3#0d3TRyC7So3{USkV{9X;hZHEqvPTcGAzT@7O>rAAva)6P^uU5}jRHz<&z?b}t`Z z^T{*A^F+46jS&B@VYbQc^8%=eGNU27AaXy*`m_E+-bK?rNZ1W;sF9j&V9dF8BIMou}y`m53@ zXOoI7ld&;OxbxAV;UF#TRpCcn!NSd#o_!oE-1U^u;498M%7+Kk{5EmFq+)rVsvbMK zB|)|%O8UJWhrs)sg}lMHCFr+U3QZ7$^0`t{DXG|wPwUB@T6aC31%PcJ+){UGZG)CQHa@As%Qnz>h)Rv&6HE6{%=OtIy9CrNE+mzJ2yr>gvTw_C*Qlrhp4gmq%RCrGqW z36>=K^1VQu)Xv?nd7Ow4CnILL>GL6o>RE(|s{93h$uj7uPY8MDA^RW4e`!AgrgVTG zJfHr)sH)&BUa`s4H!RFGh*#KCTjsWqUkk*z%}~m@Nag(tTfSUF!G)`S!fwZ}zVI$s zvO~7+l>HIcSIC-R>a^E~I@zf1r$}@MU)*MxNVd?<1QMSDR>gsNZrA&|hIRJ3gUuE^ z9-^Xv`RU~90=Z-l&57R(ti~d;Cd*D?QzU5e_R@`llItJerr6lANeIzYjCHPR?2o#O zHAZ$02r>zmA#C4)mY1=om9g_Nk4PORW;Y%oGgK*`W(!LI_j~I0$;@gcb1W;Fj8U_& zgR;)WAC8w(eg#tJZQbN#g*#|=d8~vypR?@>OP`E5F!$Lr+>I(BNDF)Fn%{#Jc~Q25O3P?2SpP>*0Nh(Aol;L&BI+;i7Km{*N?Q&P39h8<=Z|%%V^mh z7ntZ6RB?F(Y}l{~_}36UGB0O@{KiF2*P}L(z21*XG9QLy!NG9Vh}doWBOvKJ*|~1lyWV?shPe`T3aEaRHHQ3T((Y~5 zbl}0rzn1r@&hY)#)G052-OrKe(67f&SF2b`c3;}3u429<@sBFvs<~Qeiui!oZ}RP5 z68S7|)Y^*4j56x-;0~M6$}>2ww15homa9-f`drBm&1uxM{f}?U3_FzP6@Q%>9pOA^ zSWAan9)YLihGoIRzkxT;uFM92(w3{6B+GGWup{5GLatgm<1gWH1-*HNWz&!Q!HhBU z&%2+Fe2RSl}WFO+ZVQ+T2nQ-gaKs^7uT62~ts5DDgo{ar*2zS{32( zBH>Hdng@Pt7kMxBtBun(5|I=3ga`^cUU@_JK_hF8%l!qx@%$l@tl?P3rRu49e_;7u(HZ6D)R5A--}#4T&j{E5&S}0- z;N)0(IXt{kAG`v`?^1Tj(j|#s=u2LGX{Y)(`{v|N?`E{XwsqR&aeFObbhyF2;21dG zsMU5`J?56n;}SduJtiMK7&g4f_O)LqP5E4*rOk|f1(K@-!~o=O>KCZFzz$~lA9%KE zVHq-VSzBr2^L(aC@N@TzYL#<+zK>lf+4AFm+)0r>I}>=_w_pbsR)KU@>@bZzOQarDq|| z&u$s6aN?5SS_szl(Cb)U#oVfQ8QjE%#)-8~%*r=pW*7L&VE4zj!jl-_t3eOayZ0== zCHVzV&HrZNRkkyV)VtvOx)utoRRs11DI4&(Vf~RJvlj($3Q%yp-Ajf&yFnCU=Ebj1 z5-UF}Dt$Qc`oMRp#_@3vO5sGVsf`%d|Ik{-TmO7-ngNlrK4@Bo_vALTq<(35iQV2D zWN*^mOw+WcV!G+JfLAK6?ChC*leyn{uY{A$`YY?=B$z`=Nrlu^p0unk)P~z;3tmpt zgUJM);$fe~60fC4>!G_E3G*Ibd#8y(SY6OD_J<*fj%{VtW^FjAL`eu+jCpJW8vcYgco^lyE?)ly#_k@QHxnU)4*za^H3e&u@PybjuA zvSJ>E-XZ=H%7$>)L4Q}`Yo_uoSBq}pN&uNRF#pJ*jR3!H9>9hVrmBU9`_5KqWWrd* zjjn_-exM516f7v%I_=|iO2Jfnb_ig_n&S~UQK({9H~QEZv_4ZvjO{g7?u51^u@NHw zGQ5uL4k4RE5bG}qAH9S=ez&RD{cI_2ybm@x$nHOo@rS)=o4B>Hpu?bDtVPdD?4bK% zNy>lofZT9ujI)Swhs&5nK}yj^=1=ishHqqk&R&gU!zaVT(rQX{AkpMAPXrnJ*NO%$ zJL?;4S8-&o?Gk46_ScX<}Yb9;HO=*BNM$O`QoA0z#{FP_6%4; zl`3L=ZxK{UOo|?AE;&{ZDeU@a>!aBLRo|=3l|`(*3VN2iZd!Jm(DNYvw@qGI5B#A^ z3URGzZhxa_oj05Tqu2~cdI_4=jc@!R;a{&wqlUv~3HI{{kTb^$d^8Bx_?QcW5Nlx| za|`w@+Hl5ED$2Y5_gw(WgP>OM@1Os_U$@gTbM?$*djgpDlDG3Rz_Ky8cNx@VkN^F; zy^FLq&DmJEMy}cImADL2HrKQ6i@wMD8pGVP1LLl_MkFku;n~7yY0j&PsiJbAV|@zu z#rlR`uXe7x-OKB4VJB`q>FZnuom-GRac<cTy)3t^YMt30ZIROW=LBuUv1&p>2U#py=ndFA&xL(H&U zXg$+QdE?|pO%0a>RJBAxTTt^QFZ+Gf|JG_^RD|-pYeS&}HQaldw`D&J(8VlRFDl3$ z%^?x5t*I^Btb}uUSq%+_fc=(bwpZJt_;HQ_$0`FqjttkmPV@4QO1VS4Z3_5RRaYhI zIF?;F3JkKzF2lMJ;=T`YpAGTI*{9h2MKAHv{Ey?ApyLc5a2?dJ9(=XyQaEC8`~9?& zuGef;<3A|I2k!Z{GWoUyglON|FNh75JBl%MpO?(VpzWq(Ke?c~QTb^hDFm+Hp=Rb5hfpg!UOZ;{8u{(}8pYjsmmsU@y_!}UFe zr1bSrliPB86J(%W*v)Z&|6`u6#{ex_R~_L698U?MlVBo}>gK`>trYyK^?92-H?0?O!2RyAn0QO>NI18`7&e#U-G|;$s zs%$PH<0z(09n*Ifhy(c^YIeAd5oSyJZ>oR&?#0dw$3 zGW{h(rMNvql@E;Pp=((AtOr^0Tze9%@d3`YUvNZ=F6yM}RYS!rTE@HlbX9G>0h)m# zKl2+*uOh$p8$1&5H}(`Z=OBTIA6knRAN#o~V1iqaOVGHMz$kSBIbO}>dE=n2~%&=XT9LJDUAkS{> zkqC^{H`Fc_<+x#*nc!&cOh=r_G^mtP(ws&k=t+i0(S;B*r_Bzo?e!$oBqhd^U0rp_Ua?; z5XNl%>U&&w8%-6mD>$x51uws73>>@NXCBYhO;@q6>_l;x12Dmo*uH91C2<1O0#{(K z>GBpz;X%{t^;<99dmGco9(V!JtSu)i+nGbqc8|bMZC|0rU9><;ibK|yvPOrkIXbpq zGZQvNSHAb;j+Ul(PtRwzz?2Sr)=WSIaaxx1yC-(3vyx|+%~IV9wzHE<6NTd0aKWp*{VppklO=&4Ul_|( zKifPo%)`Co@hANnn%5s``vU3(9e^2aH)Gv*R1yYzAuSsf#Nv5m8Yj+TccxGUL`x`_ z2qYe#qj~%5c0m@t#i&WinLP2yzg0BQ)`;w#z!wN+Z=RYd7!S!@k}T`ye<$QS|7ZWi zfA*n7U%b^M`y3lR6XDv=l4ByR0;@Myu4WMzoyE)(0)ve{)_}286I&Q0>L%n1MAW9Y zUvwp4j4Ih|sP>d;JO?Sg|FB%{hX8((UH4;+M&ppd|0d#hXC~ot=+D-mr_x_(| z3&(TLZ6sObOw9ij%7rA(OUf#v03)?Iy!pS^G+i-p^6G>)!XcICZu~2@gB~uOEpRpX< z-q3?B!Cz1NRuua4Z)4Ypqw}0~BK9NqRDvn~7&?pZ^ei!cQDpANEpp}!A%4w`a6_zx znbe%tX>=?HL{&i7MoXSNlUM4Hx2X3kM=sdSDRw8Vt0{Ot%Zw^uNV`(>1#lJ)aU#^@ zDQ?JA*?YC4bP~#yHYQl;b#MX!?y}-xijTiH@a}VaJa%_PKwCb^gov(<;9FCHxNMVG zQ#*WE(}?$x2~rHn2xx}p6eF}!BnvNm@?>g{d@0Rr0~Kx14xgT`GAqNUN5|Ou>N#v; zyd|~5Ssz9T35j>{Xu0SkRn3CkM0LYbNmgoo*)hi@56YIO>D%KxK2CDkhocvlFKK5L zk1J11i;G&c^P{+<-I}odamvp89CsN~->#{$7~#hhjtf_w+=iPFdKyMOEgjjmaF2jo zOtJ|()2Pl$kjHew+DGGZ9a(~E5(GHC!ee8kdkAPt$d~q>k zBm^G~@e%I>B8mQ{6@S#ip8apx5~N*Amc??UR-7xpLxpwsShAX~CauprWRc&J5nG!) z195ks96*zwIqiIzyAjA;Fcxn3=57&svM{%v3>GkZ2wV%d$t70f0RV5`bx<>$Tn zhmg*{CFgYX4r|w7Ymz_NLE6LMqP2pH*3#0t&)22!u3f7=sqii#jY{Z!z@2gfGa0m< zR4&CC>@|iuAWI%54+ z-l(7oV=Es>^DEMa8SRCsM{G5CMQ}`?ivrD6<&Vq^pOh9=8uy@F3a@FAv=bvS3Kera ze(M<;@!s!;j(Vp_M($1t=uG$UNeqXD9s5LZp_3ZgyKs&!zgZ4F4CkhpPlTLUK(~hv zQ-=%{TKk{Gou>CrJ9xP>pj~p03(s^`a!O&Efy>Nt`@VKPvw_~^S(}2=teuqSsW@OG z-_X7o0yY(RIN2~X#RVh4P3D;&dEai)9pqpzG93zr!SjQbN{G#(I&^k&AbbP!b3s>Ek7hOtLivSW$HM#E;wrlUUXArKL6 zfHL2ixA@?X?#Ta>KL2M@y`J`r9sjjnunTbF8OFB zh8qe7)=(w0y)-9=8Lw@i6Bc2janAY6?S$*^-|YAL(5oSAe+!0UImC6Ya-1DC=m2dt zni;wNg`BnhJg>@2X0M!%uD4_G9re|Q&10L6!W3{qB`+od`ecA%I&*7M%WQ}pi|nTX z=6F$u#BkhyLC)fJH&=sNNoF#kHwE0qO!!3R+`@D(gBVW^WDTS;v?c1@d43_Hnji(C5&g= zyq@)b@=DTQf0RkXm>FQsH_1>FN_~93cCAne%iT@Z^TV~D_t64f=cI%u}m4yIm9}YX))gqL0u~`!L5>`?hWT5D;Drd)k zr^aT%NoGZNAJ}|%)0;cX2ao6av9<9ltgbjgxsIDl&!0@|T=ZJ(Bq=Q?8>3lz0&%w} z$hO=^X=>~ofVuE5+pws8A)jukzw~nGlfe8pxzB0JTas|A!IN)!XsaSc$MaIg(bljG z)j0md9+tvfHPk(fzmx^tU&!Z0_ ziYtfbr##tEDHGp-(;SIWtx#fuEVV(pEL{)(#bhEb#nEch#GCgiF_nuS?58L@Y67*f zA)jw)AWS}bV&X);4}zOX2kca8rUFI1#DSY>s$$R*pehchVRpY6gCg`^m|pf0E!8$H z;E0L}xpj5eL5FTV6=(#H?MEIv2q8KC>^HIYNn0H{Uq-9(r6y_a)bgN*?b3@aoNjrN z`GCbKZyQfBLpRCKa1yg#Esn`pQk^%1Nf_rJ7J~7~Z8TlN6imyyLNZP9!H+GH_ zN2y&DR_MeWA|-DZ(;-nB`fyl(bFj#Lng2M*IeoTJ z)}yZv@fF!kzF03abf!0Zu@9ncEfk~=zeT71a{JO()-A7SzC8iKSYlV`K?EGbr5Ny3 z9;mPG)4qdNOvi<@yB2E$8&^AHR$7FL(OkKBnYZ>}lsBeX$-}+uc=9C_-(-UTJ{AP< z+_kk+g5KCR6ZVn}&BC>SUQ622P!h>LndQ2d12h|&7;M5=*PLN6UmVwh!O04Aq9*o1Fo>wS>8V@H`a3kjOd z)2Ktzi)v+^AV>&wXICuL0d!*KEFsV5&zL3%lwj0$MbnM4zA2dEl2smV_eLhVdYczW zZO+kHak%a7s(hA`Lv3vUwlVIPSvX4)$OM)N>g+(fLq8@YN23H{jf!0K^EHo4OC3zE-m5Xz;ArqejS=MoJ3`A#qzUd> z$I{i1LzZ^_8xeS~a4k49@9>ML-#`Aj{Kqb=jX6UJ1ehz}J4J!|0$vcIf>ojvq1wpM zc5M&B{IHV=Jv4Uv$;HKG6sY4xopy#CTaChF3zGX>IOOV}J|-qTUw zz(l-xI9udDM_rmk^2v5!ZdR$#+%%rLS9o)O*2rgxS6Bh%EZ z2j?~U?EU92ZF*gLf}xEE?K!!fYI;*rwS8M>pC+irVBZ5a#NBKKN?MF@mE~D2gI{h| zqXZX_)aqF5^(O=IkH389C#u?7H`$ccFLm#xJ0+3)H)Chf=Q^i*m+T$F^cZ{6ikEU_ zPYs4zq&k>Z<{iDg7n|PTw>5Q@cIMVLG@x=URKa9K z@y04jp&9Exag1SxR%NJ4YJR&nKrUR%@)IsrqsNNQK+A2(DYacN#}x~1_?=BpPQb@r zl-QRzn&T>EE;%M6Rny99x;ENU&_*%=MQ(zZO}6vGKF~KfeuF+?WmdtsW|VH%JOIXFfTTCqhNf&68iE$l{#T&>rc6g zsjm(jxix5F|4h+^8(4HDO{nkPDK95l#lHNRRX-&tT6E-%`gAyXnfX~`lT-bg z7)uFuWv93Q*!S-|hW|X$pojFJf-H-qH{+3E9{IzCa^89z!W4p0yeXzE+(83l$p+3L zH(2Eh(B&rul|MNtyz`syZ@@r^Usg1y8T;RB*={U#fDYiOp&prp=}K=YglbXh1KZuH zXlA)>u|aZ5CoN&5hs6Om$Xx}xO~}3-p>O1O_PWmAnaP|HO+pVt9^G)%#Eiklo3(Yc zlezVI>SX-q#>ux~@f8Q3428dW@wwHWyYm(>#KxBJi6=6`!6fQy!c4{K*nRoF#fWxB=u^0pqZAL9elBq z*DBPHnxFpZWL7Ut;2ziNp)ti4 z-f|qHHY{%9JWbu#n&e&fXnrkB)^#}%LD71mYmF^Ujao;FIi;i!56+8uKKPpAlbEsi z+_A=0&I3KSGR!v+j5pH3YpS5D`7XD{iMj}tK|$8xe?*6xw@(aLjIb$*Qi2ix+YTna(f(86+i z86vf74^}h%EsUu3gbK`w476gWJc(z`dyQ4F6f3Y?rib|w$9pUV<5c^&=p@vZy|jt@ z%})4p^ptoq2Mhtd0oY1c!1O9FHArMc?oJ6X6YN&mND-C7Od6Wi3^$``Z*hQYT|}ee z%)4kYJ7}LmJiX+-lRCETHG>(Vv5&{=lZSIHSWcwT;A87VX1f)}!O)KrI)_-UR zBr&d5L5y(n{~?0>50-Nv{Tci8*Lf`)ZqbxHYPy&jWVoa_fl&!4;93jcl+EtuZ%I93WH8ORj!3)pvF1pU?B^vQ<2)Rj4+^3GEP*n3Zj#to`#<^FsV^wFOu*q zoGsg*oI8oH{Z7=t_O~;1x{ea???-!O@?{2WPJ4Tt@nY)E7ssbQ`E)qe_I3dEq!ksa z9w&)YD<0&wv}66fxhb>}|3Ab|iQ zH`_i@+lM_CJrr!4U)$i^H@XJDYk04}7L5V9`}TLJ4G!GwF_M9Tfe+0#1?m)@?=6ht zq8&!@O#npYQ><~K@fbIz!ogOCWJ(zI)iGP14C-jFT%(fXRLZY}=`w1*4!4vVtw3=n zA1eYtdEyuhtPOD>pmYdID61fKPHcl~I$hbJy0wXO)0xwr;x3BB8RwJ|+l#LsfBNmZ zEwRNp9bWvnb0Y0VOuA}{UPggh`;ffL)S|p zvcHzMf+1Y{o+=76(+iJRzzf{^iG@D$Vtb2)Uxy=%V@k7adHwOV?zkv%dqa!b1spVMB6KzI}4v{?cA^i9aqS zcxTVB>*jh~jw1=LYaEZT9-ki(L1uq>xop$Z{g1J%C5mjKL~_i{=o0P>mKE)el@XMn z(@nL?EjJ;9I9c)N;aK$>5FILI3Afa6m3~LL3OUtK`0NvB_vNdgiV+=3son@e&)){G zCd>R{TS8A0$=NN26?FH7+#^hv!ma|x61W_ekglltc8(sL(r;D7>^nq ztOlL!+mE^Aak=7JVp=6`XV0lrU8kAB>+M00Ap6O=H+K0>hHW0M(b z#y0VLPrif<{IA4%Emdx{Oy$8eC6%-Snr-OQHkRfcc) zE>@JV2<(NFI6696z532x^8~f;fxLKZWMl*Uo%VeMulpS=uj2gQ>`A2=I@HC(i?QZU zV!(cB<1*{i;Z1DONYelbz*XW3 z6D6jTi*z4<-J!+XpKv^$hPMZ5Ti5EC`1F2AA(pPU$khsnZa63DpnxlV_TA}VWqu-3t^g26~!d_ zGqL%#zpTN{UX5ko?G6q4o*a6(fnv2}+qJ(oRof%f3DFhP(K;9^L(&H#(w*`SuK^Tz z)txpz%tcp*t0?u2eG9lWHcLyL&`Mz*#jLu$b&gxYt!#J8oEe)@nK+XfMk_*JG+rLh zsamuQ)1lIyCVl^jJSuRV`F$*aT|6M%X?TD{IqI11eI~bd5~d{HY?Grk|9moCO7H~L zjWP{bdjZ|2^`D627$-1PY)5m^wjKmg@n&pKz$w?=UELgGiL|bnm|E2HDrXpP3dVUG zB5gHLFxSEq&DE~>Io^qkoQmcq;&x$I+EdJfmB2GU!{qkkXtA}tM}gnn>`PA`n(dAg zB-Pr%zG28EXkd<(qhGteCmx*zJ=}|F{BD>FN~ikiDrc7UMA?s9)ZSv}1@0Q-)X>VG zRA}~WWPJ`X#fpj}&q%wDOB{QQb#F*|w9~V7%Qo^3P#V-*Bu&LOSWZsV5`9 z=hUUF;M|QL*N^UIzFJ%-?qLFrWh$s8D=O;Wy?V*`?T;uZXyQqXH}_x zgO&tWZvYB^E`5Ne1c8Me^pY$M_ATgTg2{w2{ZZJjE-?(M}d50xQ1!9^+5Ju$g78Zt7sL#>Vc38X|)MuQm8djX~ zw#q&4`5rOmP`wuHV%V;HU#Pv8EK`!IuFQJkh!q^CPF$|bf=Tb)4|_7+GVi)4OGd>{ zgOAdIIH`|F>1Z7Hu00xowa9v>STLQe4nU#;nm5(=!pmw(;{ca%BtA*pT-=3t3OlaGcv@_M>*}Y;g?XHhzn=N0=#I z_CjjgW@+lB!-N@A&muR^AC&L#ra#FY_b!9rB@|WMOxC1HNI+Vr#aWqi$rG=Gh{y7q zY6V_ucWSDmCwCOR&u%&zks$vW8`3iqWEaBVAsC`V(u=VsYCf2LLL_|R(4^vj^qV6Af#&3<$*ZQ=}?wh*wJ z>gtFUt505PhCwO$TAuLowoa05hmK;mM$Vv#xSXnp5QKTlUDSflxSBBo97t$@c3ph` z%<7IqKBYHCFH>RixG2js<#?w>hm-CKDnPmQI7EOD=!6k&6~OCjgBEY1Bf-+~aB{49 zf*mwhs=d?^j3)Fp)CT>D1*84QI|z^FFi~ohMb%rlE@!zfAh|j8 zasx=AOLk&(!ercY1!DNJoy17Q8By5E%0V{-Oy^*vci`=5vPDjP}0m-AADAx z$;?5jUsh4%fngvW0g-%bgXSmR>NJHhhRYplLg8kqE-6UyQ5r8}4};jcq0dwrU68WFRMg?3IZ7DAh6&jppDgnc=`J*AQSV zL7WN$J#(e{`iY4$JI*;e%~=dDX7X#CAj#3EwBE9R{0q#QID?4qWBJOfPG-SB?D85= z!FV2aYy~a=3$Y?W9HktkFZlU3=E$PD7$eDs%J$=ug-j}#Q__wKnhuV2HIG|#)$^b( z`X@?D`)5B}ww-ELCrA?{E>QSKIau(;{^5P1UN(4qIzVdM7^LkzS+5*V@uO2<@?wSq z)mz^Gku9g56M!C$`4l~RdwlQp=inaR*{F^{1H~kqi4dCKmw(h^saP2GopU$EI%t_# zOHIDcBql0vW)JO?5v)|$YNmuRx}?N}u@dCX%XOf|d~UYZc$uG|$b|nH<=M3nn5i(O zV0h_5l&%t$l{=n;B1ply4?K=NAZhLlli{vmj;rjHN~PllGc!s7%53Rug?ngpQ^|*B z`m^7r4lF{<@&s8lIc6&*)!!vWQb7%y-7C=z6+GR$wsiGP>MBQnVxqH0ea!3ws$%Kw z?1G<~aoK-{9}a{(gP}I=(FCGxU@u~4i)CECgoJ(e!*ad0TpTBX+wPN4(0W5Sklios zUX*n)G6h8b%$hQEXqEvY4i2{E0glK|t_t#P;e{ErkGCVk4*vee@4FmdTy5{13<<+w zYtO*~F%d#s+k<*vKJ*9Na9W;8kc+IkX!e|F4onnXZ-&+TrZ7vQ5)o;ue^UL{z5a)Q zU5yGzL6+*SmibX}vS=cNru3Z7Vr`!Y`A7NozcfvNb~BRC{W%w}FPUQc8n7>5 z0lrq9@$$^eBxe_OTWe&(kHU0E67MK-1QL^$SDe_S{8 z2iGOjLBf7CZkQ%U1IJVR&?Km`B65-EVGE=-Vsp3!#@O6miWz#;$KWc=k!2f_J{@_@mN1 z#*L44VTvmjOTi0yK~{01_asKZ;Ihi0s!Q$;cb3vqWQ++Tu68aSIHS$qxOhhk9wOyz zR#@IqQ*5w8efMO^%6;c-P!c|X8Ymdf25&O$cBFC3rDF+5Zr;(*IN-9ni*iF&bSXx! zIw2A2_h;sx(LH%`jqjcLa*r%>#1i#)Gv z4{JceB+OK?LXp%$RX{!5pg+`Sh|ho zGUk->{Ocche~}Ok;&s)fTvJT34=F9z(!U=&+m7pjo0*v{<%FM>aFwm)rZCrd#34&R zL3r} zq`FS{W^9fkzF%>GTU$%gW!x*A0tlWjoweG|S+u{;kK?cJhwEd% z@80{_mv?{fL(dp5)UCL4@w0iY8iYv%)~^-DGuAJ#KF)y5@iZqa+Hkj#hG-I%k z+o)i-A}4D2li=;rLrCy@oVX}oYNBPdP%5Xr$TPL{Ruj36D^2;;ma>y-T_N}U!?8Pw z;6R90hdV>W!k+(`ZYO+usBdzN+a)dviz^4wypF86rz{;9VjGIhu4nDXfiYlCeWBF( z8z!GWt4nENOtQgD7_@_dT3*H=8|Itu7y>OdJ_g4*dr-*eo z17mHfF&bQl15W_8ss9>}1E=&}{u%J^+7^m<<;g(}2tq@{&}RmC{fsxCF)TW-8=wrm zPFlQnU(o415^nK?v)|)U#h2!{6?(!thB#wc7kt0Y>Z)QrEbhOsq+f|a-RH(>GL+!8 z5Lt)*0k$X>vL{X-K^jSt>MXpNH$)w~ejX?Z^U+>+yo!=KNAmB9n&# z(;C;AD*EU7SI$g!8xI}sZIm@b=mpW;j6Vz`BVPOzUx5AM%bz9;$@uL>(SLj@xl4E4 ziy=Gfic<@R|J#J_(cGWGgJ%^a!OE~*yI0lUe%dty5-qs8Sm;(@pQFRuE*uE!kyqsz zjF((J73x8&XY)UHJqw~9X}0e-ZCofWwkCkaU2zw2xc0H|!v59MIpQoAyL;wrv;I!I zP}9gvm%>Z}`rlvv$&Ti<;1`qfOY2~#EU?-bv-NCqeZ{C@6#O{l{P-x(n$TZ?P>oW- zPrbx***GGnwR%Z2cv>Pa?Zx6wF%+l7@}Z|`tIsDdoWVx*gl(!Yx^hWt;4ygj4qr5# zEaok$#}X!Pd^dX;GHOrh>L^NrlqIXCt=K1 zVHRsjamhuJhYjkY!0TFH{HXnLI%s#CJ7_m84RMtM2b2Wb;a?{W~wtcQ)2_ubc-9U3K8}Y&SaE zcYP<<4Ds>0+SiA|9}|cC@4*QYOk9Tz9gh6zGg08g`{wB{Lu{UF;5;R*N^j>i5i}{47n7T|6JMzSXR1>4JcoKxEg3h|1|=&r z9JyPXcDI)D#{D8bgo7Ao(8CMC$Hp0>ug98VAjfXUyjb0>~k<1t;K*Nqh}8f`mEgrrsio6f;{MZ~}uSu+d6(<LEv9o-SmM~PWf z&_}qmF)Aoy=FVW$i___w(6KL-Qu!rd`a3|SGUiO=dM#2EGTSPyX5&Xtx#UGFKx#Oo zNFtMCHP9qk=z$1)EMt-7LYpZ?``u!D9ctXhNgT9Vg>oV`=lPNc_*OeUoCbB}!s~&q zrOT1b{k!p1e#p1$>%w-!6=UsnK!R>v(vrtkEKwwzOs+83Qo<%;E9? z3?+0(*pYVpkO#^VEhXm=QHp%5e$X+AQs5)-%6-l%X&Pg0PQRU~eu#}_l2I#3ggMRx zz(dU#7|ZLhNjR+rF>bROOX>m2c~Fmd2+EaP!O2j(aYf5H5T6S*WvpI-7Uj0u)6PRW zLU?`}b-N*)=BM}`1?42|>)0|B6Nxr7Xq)90?>x9Nl7mqXjPGT6!&uactJi#U)Zub+ zMOvigs623+pda+WBBaT11g#xRZY+8a%%*WRugBM{3@T$nlYCNXn98B+y1MUs!9wi` za%=@PR%K!20F%|88{RhDWE_Dn`D@sZX%N5Xid@@uQDL4o7Z@+alwaQu2`x~qsGXmM~t=%i>AoR8AsWP>2N$Z@K)FQIDR`S~BJ^q8A`O}p1IwewjyE!qaJPE(~$Q3_Q zBB(Z?4@Bj!bQUon&GMC_DsbFB0o;0jx4;ex=3+r}p_*rl&&~oy8cZEC5O`V$UUFXUXz>(f(t3aH$`Zd>(NWwSqsVet@k2 zp|3&usDHK~kVb1d#D&*#t@O2nm)9%369#`wLnEmQ%ewJOGQMUV;r6;Vg zpbDA;%}`eQLC|usF5G9kN$*r9v(i$gc!?MvZkO+q^2QBW(l0XlZyHx!qy*LM9+qgA zP^9bDMk!mI{1Roqbln3-oFeOdd=Qe0*Ud#Am+`%!phm+Dm;&(&+sJ^XQc%XYe^-89~83TrlYU_N&69MgGY?g#SmEBAhxvSGuvU%dU+@8A0o zHcs!`oFwBe^{N)#8XdzT(Kz_>TZU*^JB~<$ZwJ>l=$JxYW#*l$+ec5LA>dbi&{^f* zzJf%Qx~b?D0=&U5VFS9{-CS#=6x_Q>luhe-RcLaR0ufRUTC!_Un&;p-+XBG}qn9lk zA?%O?e?`+F#jEoVN$Z?zK${mF(BkXCTZsr=e190i)P<{Ot(dXa$K$x+{`Ll-pUP69 z7PuKlvBmCtAHbM3@#88QwI0Q(E`c=f+6Nz7>&8->rZ^lfpkSA*9*;=OTEYhf-RCx{ zwyZL~4)^y?@LE!z4DdwV%0x3ZC%NDmtY<{xL94>1#Oir`!kqUyEB^q%QxwWFjxMLi zzLrF7kZSfw*D}k*2Jh>9&FTt9CEH0%d^{x@X*1Ak7{SA0-o?7|a%@2?vgoY3Req~* zSZG0Ghg&R|xCz!;D3OtqtRLva^wf3~nFdKnYwqC<#j$(Q4g!_uYmn%%phZd?P)!LI zpbBoN)su0S5gozX5}eQYB55Ony#vu@|E;tZR7E)ws^N53N$^87D%OoA?iaeQltd8V z>F(LqOzxxd3-Ks(#6FbspVLDmzGi48$ww9n9M7vK2JH!vYK^2@-!j}q)mysufmag@ z(SW*z#!rLfB+qS>y|O%Jd{byE0B7XA-AWI+P+T?6VFMy&g|viN7!}VQF`sth6OSG! zGM6+pxjM=Imh}gt_Ro7lUP5@1B*y@Sx|R= z77H5RDwKuTy3}jk0y3E?RyyJFDv}avv#LvSgs#sdne@53J={gQi5fWVI2m$M@gg6a z*E%;`WCr8S%Z(lBv*bG3eZA16b+#g11oBn)75lY%<1U*eIHmf~CMEW@A#c4xc?Q_InzmKZ-zEAVP zu-f)?A`>Pag%n{D@v5I-t`=^8gLe3Wc&UV!X8lv_TNpS`G(S>Wg$8?lOKEOe;;lR} z&UZYgFnb}Ls2UrKV6`&s;LnYBZOiPhGmiPYm67^C37v~Q9)5&0gCRH?S%(uS}L znb;|zW$k#VHJnP82}r^Oa3VdIA6LZHOSF&`g6}FJILG)!EtpuugS*(gsJ=hLe{w>V zIrS&mlA4^z6i0e^)Z{?Q(v3ixW7K{#<~e18C1p5&=>!&ZOwA?41S%f`=RZkV$I@f< z<{UhMsM4q%{GiJMp@t9x*?O&w+%S$+VI_>;@g?YUjWNJn1ht;DQg#q{gd3h1t|aId zB4M$SC_nCR?B5Hrk&9!3x%z(iscQz5iI3!G%xN!tffz4GLf}^sdu`^pqhCh^B?4z; zP7BH}S0fuZBUoplQJf1Qw{e=i8j_>bIK%-jCoJ?`SRZgKjR{PGIW?!dfPNNTRMm~f zLNrGYDDq%!{`vOW5KmH2d*4=4*=PQnBDzp)D7}e(2O`E~Ir4?w0*|8fAR($S-u+0$ zM02CGk~4wIkmu6tsU5{I=0TxpjBI-mEMCSsz|f`7lvFKw0}mpGl2c8@A=jIjyRg%f7k(vrJi9cBmZ78d z@hl!SEp8yvdfY$IIYEeL8u!e7pS=C}VLJB3MQr|}$$c&v3^9BL&jV_vwO;i3PFSij zXD9{cetzfXgvwVR4#-YPcG zH8io|Xkl|x^~4o530-t6FDgD?P$5Lx2HFD6t_kL%%)8d(M0j{zQVDhq6^XsEXaZKM z$E!J$k2yh6Zd32c_l>vk2bx}O7ZY7v0`Ad(c z7PjMV$HCHWD(aAkF3(Fpk(HF7-v?$sjH0ZL5xlGUrFM-c)hN$I_!|zf(k&z*Tg5c) zpElDtd;@=?-)3~pKydYtc4>gJDrrczc^(9}{F56g*(WAP8fvi%I-d2RMW-l@a{qzB z>7u2KJuGQQdL`%A8Y5S2CG57uVsmlPY&rDK9#C!PBn^tiiYH8C=7pxKLH9rwy*w~@ z1)<#Q47ECuU)R;vO_u3(-95B9M&XV1an>3|s?s5Q$UPnf`$Kfxgu#DnYO2s(<_Q`c zUs=XnM8u@6>{NM&T_oXkn`Y6(O^h;|OI&N?fYpMN{s~vKv5IQhG(+P0CxlL4-D=R6_U+tA$tlUEiq(XS;eCmNx(I@$iqQ4$O@mQ@>;fhL z=C{xL5eEA?VH?@LxeLQ=ROJv9aiKwVb8Nb8voiZKr{(P7Y%56|I5)M^_Kn#C70HUu ze&nWM7buOcr!(1n8{H#VmA*Sci?|RR5IS+w1Dgk`$472vTWO7f6Xz{;OH10LvwV@P z_*WmfeON1{9od^eael_&+xz3{7pF=?pg~_%#_PKl5|ZlLYU@#Ujsy90NoobfUEUiR zA5eov!muH{QzH$Guj=PBRr7oUwb*v!C+v>BNl(?;ALzcb&cN2GsaSX5kp~yBuYX37 z@qiq9DXzQO=T`0tT5)c;XxLHW%{2-F6lXtIzcZ1v&f@gE|8!_QFU@~XvO+2~W;zpt zgZ;5-$0jWGViAx@aSd<>PSG8EA`z6&mJKY^+vUxrD79O5#G#8y_? zC%B*V#lBGXwXq+QHTxtn1oB{~kz zpZFfO|LsAzL^18u0IT$(A zvoj}564?2aXkuFFxb@1S{XqkE;PA3GCOt6j3pgG#>;tSo?0?$A0MdNlmf&jIaPimE zI}U#!!JFTl4L4f|-ZBmU!yP|t&X3C9KHHYgW8QC6qYocmV!T$)GCHz8`8?_07Ww@$ zA`ec_%r_vboR=;@MFmd&4diU0e=Z?DsLZ{m`WiTTmVHFxGS|eR(j6 zmld0{xBBg|$864=u+wF@ diff --git a/Assets/Screenshots/SettingsForExpiredPasswords.png b/Assets/Screenshots/SettingsForExpiredPasswords.png index e70eb6a64e3b14adc6520806f73b64da4c7c986d..42f908fb694875b023958cd1e3147820b81362db 100644 GIT binary patch literal 136097 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
8%hB-u{P~mrb%z5a0)p#Hx(MsMaa)5Lg{#hc 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 literal 373932 zcmeFZcTm%5`!9^T%B~{V5TwPjiqerq5=ziTMOOhe^cISU5+OhgErnGSq+6C=Vp(ZP z2#AzG2p~-a5*0}3C6Gi35LyyQC~th8-}#;A%$Zr|oq7K_@5~{?O!CcLuIqD^`*Yp* z4e{4(t#|KK*(oCvJTtskB%YO#(zSlxf4XC+DYg}mw4_N}V-%g$;XP*U2q8ChTdi?SbubE#EqR~>C~ zJF#W^?=m{_Sw`o#zc+uVu;q!`OZV$PpM_ndw7&Zt^vG-v!{PA#pQB#|r|;}}8uh9B zYkRsDu4QG9Os&$NDpw9)ySXL!_q}xeeYai$)%L!(J^j=^c3$h@`lEeYSU~1pji(tV zirzLqHJzD+hrHd0-TolyW#-m%j6HMoM=Co5UVhmcS?U!#P2a5O>~we)Rjg;!Tk&hc zhlqR33&^1-M#kCibsma3Pq(!mCB)2MKb00@8T9nzvFCdV)`lK#KT?$5Xtk1jX^%>B z*pQ`a`X;BcXU<+rq+KmpNbn_62Z7CmtBECnIs!`+a*- ze;Xgj`Z9m=;pe*d;RmnmgY3Czx*$G!XA$@i^s|Z5)UVf6ihxdu$B!H!EnYu4d8#}8 zG5>@8LkQ?7;6a+xpHH;F-g*a$^53LJRR4b2=U3Ke=c5;YmEUcpY>|<9IQ{tUuSb4e zeD9?t&xY#I9lGIvKR>C&y?BiRdOx%?Vc(AS{8RS7-Y_pw4KZ>vh|MNlGFrImschZ% z@XL~h&*7hbzpwB|?`bcsn=$X+;7fO{^Qs@l$Q*dG-6vShYlrpUMLMT@HP0HZ{c?H= zV(^=uv!9~XUY4ao`MR(A5s07ejpPsaHNXB6`S+1;cH(D-MGEJ;A1xoPmu+7#mPLMP z{`zwHQWS6`=*gBNH}Vp*xBk8P{=%^wWxv9+^>+>8NDH^^ZWG^Gzf*m8W>Ec7tfl?+ z9jEh-dc07!H#iWf^X}#Cb%(vL6FOcXKE=JeSTfS#^+n;E_26ZVJ3puVt@`oT$8u-M zu#mX+x$>BFy_F?tqkdlz;d*a_#;3u87 z_?+C{Yj$?2;hK5wO79`V~ZM!N%;S@6h zlENpnGsb=%_efyK1c2BOPnoT|{yb(UQv+`ZJxKbbS*bSOulVxD^|77R$>wU+c#M#@$xEKKbcp;bG9N?^w~o7 zdi-SWL!;omrH#955;+&m%;SP0cGWA#8XBBwYn3yAbnQemx*OwAwjD(RU4WGPz?U`e?<2vq2CT+xp>orOm53MKT zSAI3$MQ=}BxUg~qt?T)S-v(QFzH(u0$7rl&JL>1dzx}M?eG$0N^Zd_yul&6?>*0e; ztH1Uso>wf-xP6u{R{4DK-d?~Z(~je-e;>=nJ-xZ_)UQh&ps9VK7UbuI<2fC$DXX_R zYrp&UB;A((4d8kpaI0?OnPkV`@h<`k)eG`2j@g>c>gL&UKL>uz|2lN_jen2-myAy) zUqqi(zY&+)mo;|8csB-ntr+?o+IsQG>xbnjeEO*1&~#^Sb+Jhi)DiB)_X{uz%*1w`zjX!yM(85+ zmwsE)SgMSTjU~rcw?*tOZZl7=RFN3d?wI$kG=A|OsQBG^zsnzt8w`2JV?24DaZY#D zE!np{{f}ne%mfHe3AYJR@)<_Y_P6d0;e={|Ds%Cg~_J{Ni#|ht~7S6L|&hkZ4HpH?5xi1@x7uwZmAwXx)aavA|n558f&GZODh=!+-_( z=HH|?qH(L3T?LOaE)=wCC7wtOx&rAePp{B{=|orDs9t>g%$Znj3KP%<+e}-(?vTt7dPr-C7k1A~zfP?#Im~G$1Qm{o$GlnhlO1kqJ~v(V`6cqF zz=xur2OgK~tyXhMIhS%F#W+R5dhudglDom%psB>`>94

9uIy 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

+x z%P|Ll1u&pzen{@1^KiviDq*5%_!s~F#tc*u>l9&NwXWT{9OSeJGwIjPWr!~ypMlX1 zn)SQg(6-ODBkl?wv^Tzc=eB^uZ?3>5qhI$?CEOCA`Svd|CjCf9mB<|61t8QAOg-;Y4=d4-BZpjO~h+Tbp zV(WV!ak4x#paf6x@Y+z|&L4F4q>t!L9vJ}7%s|ifXc`fegmnkg)?w6S~dPAk3soBO@QZ zIS0_?scoCXabJ$k>zDf>tCN>+lf6rhtv+6evg%PgXweW0+-*~%#hCZEov}?Fsy!tJ zLEClBCejcxwW#Blf7h%I+LA?9OB8+O`-7+FkKdqNB^oOS{mGliZQ47rd8*a4W@&qM zT30o4&Nm{=>r=FXw#Slge4fjfPCup#Xf5TaEk9!yyQAXkF%49D(^Q_PkJMi*gGMeE zjVHg)DRs>T1k9J)5$75UuVWgjL`P=28x2Q|hyreeVsP@Oq?l zcYWBeQp7hNJ{K>+a28!WDXS^ydw5fZv(yFB3CAf??s4<_27d=%<&b+MRv+p8)>VdwiYI#@pwxWZ0a^7 z5-;m#;dWGJ8`HS=c3%Cvtuo-K$>%r*Z!oXVD_~oAblZ9@RUEz<>CY&>r-ZR$OXL5B z@M5A`b2AmQQbJ3DD1>Se390^vDPL?Ltu=LhaY~M?)b<_`#q7VKN5dkL6q*ytXY2jq zMf?b3pY^^6zlZZ@JD!8e=Lt=w~G2&`)W?D-&=1#HPDez6BQPwP#r`0u7$%((kuxCdtrw>D+xXd921 z0_2G4epk4nWPSp}t)_&m;+*GC)6CnaM~~Z6eVxOAyB7jEx&@8}sSi-|fM52xqK)Ik zT6q4URpGRb@1lzXg9jg88|Xs%TRPwVYd)*WZY$EOeU5r)hwgruND9=N4=KKz*73!y ztMxo&UL{TPB0B);@uiHh@DSwg=*njKQ59WKm90DV$g*LY{{81T_Yo+Oly-yW-k>Du zy@Q$1lQvKKB-^}jBIj*WpH(O@O`F{$`Ze04DC-w%m15`~V+Dcq=1KCP=R5fcP9 zp1c5$fb0m}LA?D$py_`a)@uxrTwptwbNI*?j`~AaO3(H-2{W0e=KeR*&rV87LH^g2{O@05BPtB7 zAFNbuMhQByN71etR|Zw;3M0fxnkVfqaPPfj$#}CNmcn{D?w`fZPF- zo<|_7C=l#chF=F0&v7UmFj*Bvo>fwG&oXow7jOwlA@~*?Be@^KNw#@#+6|iDl-#Z(>F-%Wq(Z|YHi6tt93cxV0~psw>9%r_{DT~RdI!vOI=-YvPd)29(&iY zPl=~e!Ls51$P0z`(5hnml`?_Pdt!R{Z{?O7?xPcj0h`CV=43*a#6ZBMjeqB*R(IC} zkl}Q6pXb$4Ep0{faNsn77p3#&?cCGvayxuFXG>XLKa#>Ea5$*4pQZY6f$r$&4N|iq z*ANO%j1oJVj)104KpuS4ADZ;xo@f~ zhwjf7e;t{*jTpO)7}w!3+W#u0qSQpo>_zSXNG#+ede!Jzher85NfAw9*To(k^4|td z-~+C;x66hBbRF<8oF_b+GNOFK(C(T{w@l+H@0X`#s>Gw%+n(O6E2i|$_+K+2=$D)u z^5y*32jTrCjIQ)wta;IEMcTkR-lDbqbS|P{BYe8)iO1#cWq@~t!pBOf3 zC}M`aY!9-4I%^OAd2&D-AfOM2 z{OG027WoDm%b)4r;wdwy+oS<%N@KV)zRPuQsxgX_w-)xih9!ASRg?0RE=(@#2bZGA zLj=Pb$n)KuyQb!ck89gW;|**Bzc*V5#n0!Y9b2O0a>6;KUktg*`0w4N@{o*q1yKe1UdpY^JgXdo*%cObCXmCDl9Ys=Gv9E^NFAG^a z6qq*(n<-9|Np-$l2jONC9PVDjws+&PIfgp&1r~;u_%!6|bHBj?{eiCYpOpHMgO4Cy zOzrs^PA_IcYyAaF%*Qy%V<@*2?DF_>|D5aHp`al6w5Llx_uY3#jW8eL=bBo|D#k=yGol(gVw*!# zlIT|7CT!mGIYnC?l@)vW!z!;}9fvM9{O2kvig=2B8w^apl=`7h!NB>(o5rAe3IB)d z@uEKSc%(03Bo$3`k%Ns%2+xFpuy~G(ne6R#M?;A>qFAfTaDI13Bf<@%9kofF2$(}Z z@~6Y*XWm(+iFdTqsV~5(7}Vx)l!tT}jNgp9?v1yf$h&fgvit|s%uM(;VI)PKLOZ@& z(8$%Tu-l#$y{T~g5o&}@k@9irf6f9HBP*I8eZs0cXqcS6mGx-$^3&aY5{Fj-%-*%&tUO39TU+wA>uNmJ#{W(#^so`OjBW2kY#9y zt?VRsEbI56c-1yy_*{UeYj5;*E3&{M28x3!n(P^f_&x0#Ra83%bZ>sy z^fWJ1>IdwH!WDjHDr`&1Rq>Z+cpeQzN2ubgTY^zt*iTaR{d4(vWhwY*W+j|-$C9mF zt|O(L-o#JDP>HN7OkJ&UuB7U>tkzaW;%-Iw`aIcbg&)fRXK1Ho<4L6x8Gy8SQ~Mt5 zbHMCzD}^R-bOb)zXRF!oah#X(8WhTD#rte9V=mDO(GMWXG0epz3-Dc!*}`V!@@B<6 zolJFzWJ}_ErG6JVCt6T(|AYaO5k%LT1frAvXhItLU$CZnj_Y{1@y)=Vv)myfXy2<$ zhfT1qIkOq+QJYm-3vuS4Gka1xq8fI3wvJb}ylPAE6-A(QfuVM3Zyd&k|EeD(^pVEW zO+#OpKHW>QsTbD;u6S#v83G&KL{DIEPMV#Ad(=5rm!j7a=|j%UeUjbASDa=V{v(1G zeY)IV9gS++nLWxE3YHnO06O#E-#(YyenM&1)p?SQOX!;XEdHW(cBk@;aEwOupp4=kU zH*uIQ`ApPyXwChW<9S9wqkWmXD${lN2(D5ey3L^V9K4vHqdck)VOQyztM=JYVdF4n zG~-=6RCcyZ95ZfZB7ge~r|=uV35T!7G(z0Vs{b>Y_S|{)&SfezNo^>K)-0mvc0!2c z{?^?n(5)ZrYC2{&8$K#P>7|I(?w2JkeY=Ye3v?E8O+7c&pEH9QG|84V`?i-HhM!4` zCbkg9ZaSlB*(-N6zBX;H!Z6Cj43AVah(n|;&Fp&;w~~F@EEEE zX1a*(v*A>zixa4!t*7QQGr%V#DFxH09&2hhQzl_=jj7A z)LySEx>2HUtoGn4>kLv8c-N{%_nt{_+eSLAIm{ZZ2=EwR3=JTQ!^#R z_uE@+e5ShdA41k910BH(u*u0`Bwtuac-OPN0x?>XDaunMuV=IjLYWV$W)}@9CC-)_ zfx}E{agT7MR-gyz&i2(n_G5#Y!!^*V@inUKHsV?1NbKUSdYDa15N$vaGZcJf+qw{Ldz6eU3Hz2T!6^%qaCMW<}%ax0*7n$_-bQp_Zr+ zLs9DEmi=DafeRfx+Py0laS!`Y*5$GDFNKPWO`|CIp>lPuQUz}zoSpU;fLHECO_<=> zFYVcj;a`}c$(Nb*TvT>)v8qHnPqku~wDTJF6;qrD#dj#~2Loda1i*7{D&8$D5~-;W z$DSY;XX7^f8kZH_2|no%esVf*u{i&3h`%9opu+8{iUe*1<{XNCFqUPa>pvMlmf>*f zk9@H9?(<&P`_n6~Dl-YmW7=1aBAph5{T6M)VmE?;V2ru6H_y$Zf1{)@McR7{&CH3L zv=73Ka)+XhMo;|1)6Qw_yt5e`z3jqq;E6|@Mw-W*4JX{db1L}__5Rh+MGLlP<)#T< z@C|i+2sQjZr0zJtke&_@$Ff1U#<5vg>F=nngOXO|%>4JmwK~$r<6T(o`ImN!$FR2&GYVPS1yp z2C^^{4^EDNRrgjAs-`DmKIB4&=HZTm7Q7Q`QcA3p_*T)8^wp8@)`Y8#_2k)c!T}A> zdh{&q({;&@X|jbk_S(aY*A!3xgqM=VdUfz$=7;(#%u2(TvBlW3$sex$<4Ns?@0BN_ zPH!oR{| zagPKt#g0I=rUq&Rr>rukekD|tlspL^2r=o~8y@PAZp(P^US#)*7e6yGgpKti5=$|; z-v2xr5l9e7DJN-8JH`>6Jfq5IqWx;60=nl2x%nZ9)Q{IH))jzliG{irPiv3rAnkKK zbwl{#3(v_1bVf*n@~X~fqYg>sQitl3BC7UA7|j6 zbJgvsS>s;C5ra-O&ZYx0lpr(dA%bY`l$6JRFO2-!r9xLM{*|rT!FrQNMiz?y_ID3? zTF-%nH|8*`{(vt`3_{-1%uko?rsici#=jnw$jV{NLHzuhOyEfS!rYMe5W61pB#l5Y z-x=|0u?hG^If9&Zw966$l}0gB3rzT&+EZ`&GsPR^x$whO1>A@)w<7jpz2#>0n`qY# z%(UB&-=e#E>Kn7Hm{KgJ+_gU$noL-ix_g|+EGDzEtRmzVW1lkG9^j-nuZ9W{rnrl) znm0|*7*Q^QHxRdzuW-8BxJR1UKcNiFY=q!UX4-R0=HR6(Dct60Um+b_cU#Ry%W*YC z%F;j9Jo^~-V@UOVm$bKxEzuok@`roYJ3KK*gTs2wX!+V6A914yGCVgweS7=NPzA-t zc9>wDw6=Ls&#tQ&hag{cp;q|8jB~JBXRll})H-az2`U>z}2y zR(amqO5c2w**}TP*8!&N+1O22=E+y?mk?WI{qjY_t)Df`@~hL1LrFLA)?35!|8}hg z^HV%FM$0?4PZFsEdBBgq`bOS=)R17H3-&BOFJGbbe`nTg@4u4x7bOz9?GX!ayDM;}rbWVuzSZvH zM=wgop+pm;twUw%0Bej}M`c*w9@oUZ(#0Pwqt=zbZ@yA&{ZfIpcV~nu_>b(!cQ)&m zrT&G=gU-}j%ka5s+_^@}nggmpW_N>~w(VJHI8mJEWm%|iX{Dn8wZrXwJ>K!>tE1gN z>TfpN2iaymjx(`{Feit8s26tBxzR2iq7>?v^=4MOfcD`Z>$NoMK@RAg7L#VYE;R@_ z1%LBl;NZi18H$m)^Fa*Oi+H7bFdonTFVQ&;` z^}c`615WP~S&+YoUV`SINR@9TbJ=i-jtX7iFF}i4ULVLiu^K3`P6o0oJL)I>ITsX& zuPs;(O=@c!LFQKf2to10S`EM4v$Gkm_VKiB(_OIUEq{WT2buf{8cP4NQ!Bm?pnW?Y z_PXAIaiUFEB5%PxH4ehW$A1!e93tN;Ys4lv#KSEdl2?}S53D(c0=>0jb$L}zHb~7f zX*qmLYAlv-9y_mQG^%k;<=yiS+4mpICLF9`TU)eaji)y5iP1F@8MqnvVW+_%ZBvw~ zmabZlX#3LA-zYJ%z+PSsC#SIPtqa1&`6Jn42cy|djxaZpPa}an&>g~ zLs^%Kl4rB9CUXnp=UM>&R}xaPF{KsCc24<|XBjQtOiS|X zOs7+B!d-Z0S4E+TPwn<)`vt?kfR4Fe(F^STgXWuDp5$BU3W4=Ukj2STw*W!2#y%Pb zdf4H$(ah8#*o$!HCsq)axgUk64qJkd#5I_d67t9%nt_Q%@-g4!*cpMnLR9oxf_$vp zGVm%jzQ;uIsteTFNsf~I2=GGOBXeGm!*AvOKbX{heGGaM$->Gj=OG`3?b{n=PG2-w zXDF3+0AG1otw2TH<)%W#*y|~UOvxi|4s336v&B(N_1KGM>jjC-P*`@iWd5|&0Os}X zEugUrIFH#`!KGgnBg(NR4(Wb zW138~#>L}F!nZMI*SiwnJ$OGx-0rFS^dsxuHm4Q%vW>}D?^)~LlkYS}F_p{vxUpmT z%<9N}tUV2S7J=sYEbGp4QkiK-&17w_7>f?C6>k$L)Bnr)Y?o$!Vp?RbXy+uUv@2w9 z)5p28FPr|1F0_++TCYPqX*n3|+3=Yv>e@9)OP}>VE^G0zjp?jsj>%6eKN0veja6Y~ z0JCvYum)J0w@1m};@Z=o5_%Z8OsK1%GVuZ@PyHZuj<(_h!oDulJ~U;R{{e0zeC^GHC@5J&U+EGcWeU4RIH&Qnl{A&L|nu{)d)q z8*dsn7kUZK$pv#Ia4pA+QgSsarTCj$a^BxepB=n?#~9h=YiX+^b4#msvr6CUvLc_h zhvs4H9Q~vI1Fqjexq?FTfAzD&3sz=@0Q={15H;1`?|FRCz;?^-#j3;Xx?xIhvp|~h zZIqP&1ukA<*T9TYoRzb3y} zlyxxuYtPz;**C6Smm>LwmG#$gj+RgKeDm0B$Ss2yIT# z0h!IbAV$1KQ91xcHCvv4QU|kRyPUC(?19GU~w6- zCXZNmC;Jy2{gXs>heY79=)))|jCMUBv8lk^0QHlRT6dms zZ@Zayz34<92Xmcqr}XcPUfIvZCP2DpKflbBf(oItngc8@q1m0w!?+mLN0ai{#v*4` zNhMWgr81M}DS4*_2-VlK?i=xsPMU?7Q7VJN3_(VRmcq;EOLTrzYr4Yxd4kzaXX(F6 zi|+%YeOEN(0S=F&7h}|61?zK9yx)TcRN44iaN`g?hL9q-5AkSQA%AB15IO}WgzKz7 z`AQu};0NsgCGX?i$U(bOC%yiBtY=fOm0yUJLh5Cc_26kzjxpEq7xbyOL#%ZmkQY#~ z&+aGxgB26mYso6N=hlB?c2+%cvtU15VI}6Gga^U0ZU9(Pd#R+>ftSpWaeKf)XRySE z2+T2m!c76?Vl5S;7?eXEBsqs1Tm>Er{;i}lmw8fn#8)fUM{(JR4RxZ421|L&qF!-% zF2ri2HsfBv(ylcCd^gyT|AV3e0#0-lUHZ*hd&&e8qr|8Snf#`pvqI;tt0@e!2%hIG z&Cr&a?&w&I?LQsw`yT^yqCJ#4M&jl+3CRXg{WKbRk~jm!)XkpF3_tyP^MUhyZ-BMZ z8~w5G%jPcK@eQt9g@e_~>Rt1FS@c!9>7{mgtbAOpm8u>VcFJqs z=U8zObHpL(o>s$NJB$c}mYr8;5IB*xb3whH{rsG--vcWj{Qr9`Gn()JP9P%R5~%WT zX)Vdj&{Nn5Kje)_>2{Vqjo_g*@m*c`4eyl?(c=sxxaDY^K+N8uCRrQIZkzB$~ zw*J7ass1MQM!IF{S$M)aNb1)39K-lw;O-G%`kh5utFpz%hSu}5zFep7y!=#4bk$J+ zYM95HS`blq01-_8+U`gCBdklROt0tUbzr`AXY~MEHJ}c0i%qxEyy2*Z3j6>8EC$&v z5bb?QrYBUeOxGZ$wSjN-BJ7_6Feow!9IdB-W2J%-)tThUiZu?XAU?eW{1`?H{! zc3(j?!n2cIlJd}h4lkL^a>__o1D#Q|=lqcctY7E%m5R^ev;JSIW9bIhbmRk8_@Q)1 zvW(mn$pP2rEI*|0OD1847iIV(FFkIYmb=3^r}YN2W*Nx>XRWUW!L*;ntGX^X|Jvak zP$Y|vdhdLWOAE8|I zXRDw-yB27##P6oPa8{TebTfIQTi)RBzA*~>rz(AjeMS(^m6|u5&F`pP+NbE1zz@-{4i`;d#T_^l>{#2Z(PkefVD z-%|Y$f4tghmyn|8m({1t9hM-wL@NtL(B+^*e`WhBBBx|bR#!b`nW!QKX=WOHymy@v zeExVXKdVY`aF_z~woP-#Z^f>Alg7Q!{jXf5lwkbnDZ!J0)=*n~uj2y~pY`Wo3Zi^1 zmTJPrN}3b8IVFpsdms<5NAKEQ`F#;W)OXhx&*@G+1)k;qJtYEBqo}=d(-{<~Y zeTbMxcqTqp-=;D?pl;-}F=}}CY5lh|V@1*m2Rg!NFHybG$oN~N@WD2IwLYcAAV?UD_4Ok@BRBeUG%n*Ldu3On@)RO|Q4bL#m= z6J4~@Rw&PKevLsze^4+~c@A$FsL(BV(iaiXUExo(o%)i=|AdQ`-h**kvlU+Z?t2{E zvj6^Y7M^Fz)&+38v=0T>iz`OuWjpx0VA*_;g^sMO#g0K-ilV`C%>8p*6$DmxPqLA+ z4}iBns48;yZc5tl=Cf4m=5W-SqqisguQOyXqouru#Qh@L!GoXGg%^drUIPY5#n?cf zW|9C7P#>#0(?UnSZDu8a8!mcR`Q##Kv(OTQ@CZ`p@~Z7&P$8QPkANJ;$Eqy#!$vH3 zF^dXmWS$@DLNXoYj>9Gf55#;tGKa8N)Vs)f7sH#{fI z764njqrl#JY^)S2k3aWskU#N*(;9p$wKiSFd^3IVx$cHs2Gb8|LVyclz8o#ZYrPx% z+qAz$b6lbMp}qN>r)ZNRqQ6GsEmUT>+2&+{shhX5prk`Y+UK@bGsV^31X2O%#*E!Jq& zx-Y7VDi5Yr{pLpxORmX6-UUZth5$&D30XWAJ9&18bLRbQ6&rAXiYDe_M-(y_-yClU ztM7?r*Y~`BTOhfL`3jS;1tF^>%VXNNRUs%%hMeTCDd8H>UP8>t(yYRhV6dt@LV|*c z7k;~kTzV}DOdZaQt_0m>q&g>4`%ShWt#v8*h{u;g%Q;CVC66x}nM~@n7U9VM)y8Pv zjV|Un(K(V?U*w|^X6#$4{Y@mqvcG0Sv(JHv2h*P7f$rL*Fgh)e1AI&XL{bT63(tXl zQ2KGY$A2ZtqTR5Kf%F`ZGHP0QQRt$X1@XK8jD%g)KS!)$^$gcXB=U>f6Nd@Gk5Z_3 zUpbj?J1re#1qk^Ov(qBiIGvL+#JNb@T(zI*Tz-L~7|ELj9K4eG4_9fQ9F^jz;q`;} zDX-1($Ec(a*=Qw0;ne@=nUxM!1T}JEXk>*+%}#$7x1Jx2Of=hhl2o$1`fqy}uC+Ad zwxS5vja6o>YmJV{pH!qYN1AaMrV1A-v2{t~ufrrHDWvM4M3Y|M4cu9cBp7Tq{>jG( zxPu-zPA7R87(Gv^j;?f`fDk=W9om4MuI9o$&f%*)knI=8*P?doqchU_*=;04p3WOIX>V@JH5ws&PV4d|C!v2>(A3ZvI^1Xh zDy8)A}a#{#aUw2aT?5p{pXyy|_kGISniT#7N>LpQ9vzSB#J~(LL zI${lV^}|B;aW(*Qauv zS30fAQxu>YiCsocxKI^dYb$=Jl7mtudONDs5ZnkdM-8O@Eu5-Uo~Vc*|2a1kB0ZZg z-NX-65%RK5F%0;a#mvV69(H%x(Kt?Ui^RVB4bLZ-~@?$SnH0zi2HxWx#O`tND2qh{TW8_siwcp77k% znRPPR3s?N?OON~E)*Xb@AcdAy*z~2zBz8#SqHw+O`ULKftK-`5qJGr6F%!qK7@sywI_MQing zMG!7`FuoeKTY#l>pIkP{5d4&wZJbWB8IR!da3PotPApLe?tl(Q4Q4WModR_R4hDHI zlOlqeC%x^BiCJpC8Iq=nU(>rD3B$Ay)jUeOho6}QTCpmHD|vwYdMCaCEWjG|YOn`q z=9u}YrdV=JU)VoRWm~0>(>0 z@vK0I)*-K=*PQ@S9p33AtAu9)l;`on^nd9~1MR7xxXs+b=aal0vJ2!`<|#1bY~`Bk znn||h@9RE=X#T^5q9Jg0|9Gi|Y9Rz3=p+e&e}C$J)vBX??3MqG;AnTo@yL0Mfwa8J zO#{Vr*BQrbPDn5{Q{nj zfz#PLn6y+G6bHddu_)F(@IJd4Besmi-|F^PS>_H>7vGW3@GR=o$DnoqKFExREM#=r z*+4LF#TA93@N4y(LTddV@Djue?69MUTstFW84;IUz$L=Kmq*W17xkBENf-ry*_xcz zHsOtck3&Ujlwd{2IbDc+&Tz2612JFG^m=@XzLfQO8SOLBnN;_Xd_0yISIsl2mglNvC%rN!tZQ=Fd`13_KJfYHyjq65eR99w z2h8~DV{rc;wwU~0M_?2j-d`PE8hLiMOA|JzxVwJLqqMR@yDqXmXR+IE%gOF>K=n|l zcpYN7;qrXxRVex)wcBT^VtFO)&Qo!Z3JFFxsCN$@_=xjIPY$zwQI}QX0Aq-$o)b$` zW{s;UwZKY{%BQ}~sEFIFJbOW1@NZT>BSbfDf8v_@R%t-za?7|dneV_{aH7g;Z5w+b zP3lcR6EU&KhC$0ig>*6orFeE`(|ab^!)y25?#P$UIZIiS#1o1N>>?slCI$(wN26|J z*Ls~#J%U<#)g{N0f1D6?uTjm;FU*ol|rYJ|BmHt z{u^sDR4$Kh38gD~vv5Ya$Co-cN2lhw0=lB!OHuuYBrr+vG}LvN>C zzJU3<2ifaAHwXCY*c76v96CZZrzb#DA3IS9qN~>46a8ssjcif3On`ud3!xvz;%^4oiyrm4mVzQN}~@+keWTr$Zn_PTQ`YH zota-cd+ZWZgh#T>4o5yuhRz*Cova>1D_0W_QQCQnwo&Uusn6vnA$XbE! z35%z?FiN$6nw3Y<-BDZ~Q3B52=1kUveWk;yvT0BG2CSgll*}~RaeSZUn|tQmKgajo zz$+cX&Kq~f96~JVa&HF}QA)Ua`OEHMT%H!! zs*Z2CZy`erRXRWL*evO`()|CS>&?TV48Q+zTP9&9sqBVi%a)Sepvk@rQ7WMqH@ci!*M@AJp^y1u`EXP)P}p8I~zbDwiw z=XGAkF|Q~wASyUFF(x}V;*9K}c6}$NrVq__v%@d3&_;hCt+GsEd)GG#d$SXl(D?9? zG0Z;&lEkHSp|or(QK(VY7%frT^5)AM_2F9`M;AhhLoX@w3^_$n&JcffS?#T=zThET z@5^)5-Kz0%yPf|p72u}(#-6`TO_^nIEZ61PP>QI^h77(x`!L{maupwD-hzIF_kpQ~ zicU55KHI(tvkVxsck_GXV-V@d59ZKS^?tu6BpN`v9;4}_8FnfE+*RUvap$C~O`blX zyYD=k;?mEJ0HdoMGg$v@@fJVc*BjCv9v2@P(%#@dqI4wVuI8(xjTKjBoremj3^oMw z&p{Jf`?FjVf3d-y-UsOjQTlvcN?Wj{*t6y?ZjKh_ak@1DXBzx zW!Al%Q&$5H@zSdX=XJAc zk$?YSAtM8$Q$O?PKDsH-^GeWoeWCh((=94LZxQr~@Vw67FFQjDo>hv35EAN&Cfe)# z-Obcd7-6*~Xq@Utkcm_>T%z^NH!EF>S-+bNQPh`CEb>>fJFbZZcsX_+T>BlQ#aTrL zZCdJx9L>Q+%Fls8V!w<3+>X^ql^?$F;}@pDexB#&%Z_)gf7Yq_kYS4^ve8pgnlvR% ztEqeGssYdUWct4#x|GP992mydS729p7PiS|@+Jb@%=$oxY9QXNzb{FguU)Ah>@k_% zyU0po@A7bb7Zv?Sw_?gY!i#6hup{P5^L)cl$d7b{7fI-iX!KDF54Ev=27Y+5!y_A? z#uSM`HZ8ve2m{wm#r!cV?CC}C8ug|g9P5u$hfFpqL> z!9r7RhjL7B_jyM@imlWI>-qb~uhwJxLH)gl{Cn;1R}qUTpnP{%>q+-beobJV!}d?E z)zucKwoCr^)4ZQkitmhT%>Pmk>f2w!AGKTD2o}XDD}~=zIXAmR{2O9+JHY$0a%70? zV94({btZvRZjap5=8|Jq8Cx7nI^1`nrz|O3P1xRJ^~R4uK{dwp~G`B|HPpnuF{+edO_{vP4xz|WV} z!@}jn1RO@b0#B zoQfQyY_My*wuf6ZhR(ftBJ{y`iYP0mroe+Y6hS)jjZK)-8PNyAGTcu)Pj+)W%!~L1 z4!Sfs?vu2&aqZ!)mIt5iGl{TiEn96;s5~r93$huap|l<-#4q6!%z~qY%%Hx%%jD-wSRbv?4TSa+Cp5x1{RR(W+Gd=u z!zL8J_fzxWa!H|M+pUXvd+H{C*)$H%5IPeOQ(CRRMC;qzb*wiYncBi^e$i=`zq}ut z)o+bjTKA7Dc7_f<2aB53uLbT@T3z90M`@}@Xh3v+3n)eKM(p5n&oX{_DLr>di-P?a z?AVU=Y2y}rWY_xBK{5cw~*VzD%rX^q9Y{i%T8&o9y|vD+H?c*k$Q%$J-8xf-)xr>HAc9 zRH7&4#%c1Cbw}6Lc-LRTV}2K+9IiV(F!J**`s0(IX@wv7&fh9|{O-nM1#G}u5d5Kk;y^UeRERzL2W zG6~yy^~nKz5tY!YJkTws*YoaQmeno42p^s5s?b>>+591O4P#grZS~XhfW7+&wGFEu zN+vEpH8CR`#TX;-j?mstK4du+weaNtR~e@Gbzh|<{dlG2PF2`6`Q7I0~g(#hXk~ktw^ps`d|7L3O!`*Ddl{ba7eB6usXP@W_MIP^Yo5>K{le=5RwI7m zA+gA7613tguz`Z2KbFH;$3W4*_ik4@L3AO)i%bI&v^2O!LkFS>IU_$9%BT+^QcMAo+_g<&-XPME% zkN!`R zWJ|JZ>bHM6{P#r8nQt|EKKD&otNz;*`dagF+jjsN!sP}TvdO)>G~?+>(OC-<{WHUq zS}hU}?SmL;4ooc}14aauyo&Z#EZUaFEcWf97`yf5E_)j5rU*vzf<5{1^_yvDG_YOaB+t?@JnFCQ~Ge_zgFn|wS<7Ro#XeDtv}r0+ADZ=l+Myt?M8O0 z&tY-!2I}18T9|IN-`GOfzwsux9niR%uBPntMX0_bN>`XEUg>81?f0`DA(&;mxFjPg z1>x7tZ%3E$d7_9rtQ$#{0V5Lzx1@4!YWW^2=TlDmgv-$W&87DIDX^Wziq=Nh ztxYG2-_D7?UZ%eH58Fz)Q4q5HRd=KyP5J0=hvQ@X=eT!y!ot>*mx#j8oe^63OqE8{ zsIri`Cjn2X&2`z!JKxtjMQ}eG4ci!&RU7WanZWhmnqR+4IypRfJafjs1Em6K`xPgW zIm-Jvbw>Ke?9a6rcgnx8O6aQM3a^t0F8mU$ng0iNmr58bzR|i%RcI_nt|DtqT#`&c zT`5B}q`{BZ+^SRfx($U0?7gmuuhuWytxV>UoYv2Linz}1vN2x#y7&zyGAK!KEIsM# ztgtglONP<7iwF$-uSDm+(N`+%I*4iDWv-_emL9NCdShaM68R;DwtWBGj{^@r8y87h%hnv+ES>`%32C--EW$>LjV>;+t5UTM=wB<7I zUrCw4-!X2zS8;qTQtza6^;%>_abj1;iWArVl7KDGFAG|_Io>(RJsW+wsXI?hvbprq zM5p^LWtE`LIjw!h-*63=M;?znZZFr+tS7z)jXvw#qW_!ztM~8E227UVVuFmjiqaIc zd=&p|s`i+0Ds=)&*f1@RCZP!E;2O%qmuPxWazQ!dF=^MJXLcjFcK7F05sq+*+eZKGvt>wNiXzrg#&{Fs!S%7Pn zZ>}(Z&xO0`@^t6~@Y0Om>XJt1AHT)kA4jCCiyGg+w2eeWBQ2%P<@>K|4HjnR&kWKDTr@70X(>WxtgO9BXWB7(eJ;LE=TYwDZ6 z!};Wnvp~-45RH~Gzv^O+a{X;{^zbli+w$?@)+5FQH*I65X~M5_)v)dGXHoT^AUNME zYr2uZ(b}~?C4QZXZfW-+{|dHR4#gY6Uwj1~`F3j<^83{}?%F!Z%hpD&2TAE{{Q*Z} zou4`73|0N?=bP<9bcsPiulQan^LKYoc3K4M$vhAcV-gRIT}u!;ClRH5-8Y6T=N`=- zCZ>ZO2qs5WFwt#w0*q~uK?-eK8wG6cI{2FAOs@ePF;ov(gU@-+{#9KIf zfI62U44a_cV$UJdRe`(H35*$?zb%f>{P*^PW`JN#AEkN+1mk?$L7m2I?Q!$X4{gl0 z`33p|tKZ%L;ssL;T_pb)BWa;b)RB7^ftfF}uFVE)ec8~M^_tW?Pt4}UdlWmI-)vvO zxOspb1dW_K?rA>A2FKA5HJ|{m>^mO_w2SeQiGs5<2n6uA1LSf>Q zpQIbeotq(6yCD#^FBNJno04#hZmCUE{*0HLDobA|ACw6eDWzlaWqb|N zLPZYr^PEUYXofN#$zM7wKt%_gE*(+#_#kk6N`zX$UWA=|%NQ|nEt2wC0w=6Go`+BqBGbrEMvvZF9y~YAe8R z)TONbA^pG5HZdP#Qk(X-aouWjZLSR>{@wM+&$z0`dRMRH0XyOY=ts5{F}BP);)6! zrK97+<%xH7m7aq8#LE2rVRbc7IHeYSJbC0X8G|q#*~O4W?ztGy9xkP zM=5!S(Y{@qurghS5~KLEN7S*DyQg&s_|KQ`q4p*5c|{P91W*Y@_RdkE&x~*DQ8#UK=JLWA#z8Y<6k(sZZ3cF^SI8ThWq62t$jn6 zs9Pw3Yn!Wny{px3vPZi+a4U#FSH?dVAQ|d7nLC4? z`jYA}NgDT`{SF7aO~%`o#7uKB{x*UkdherJ>BWOZ`jpZR+T*!zATlS}*a7?kWS)yt`EMxu zx0n=)!UyGUotO89dGD?b0m%JCL*?Pa_@CYgQRFf?KGkh-oHdv2k$#KvsDUKB9$1#B5vT}XSEEX0ueBMQ@|_7CvdJ~Y&7 ze{ivlD#=)oidui^xw-aldvEsp9_sL4i_+S&3qnEb>AH~8~15 zbP0SXMo5=n#y_86T%0N#OE&^|V}=F?vwoG%orU}bzx8;Nsk-}5^J@(i2v!R|v!t?` zZJ>3>4u(nW;5(?_i@dovrn`B}%d3T%IOtKQW%RUso)6LQNInq${_aCT*7yl-pVNnCBjx4?=XqazmKaNzWSK3lu!2U%35%EUyt zCID@#a{e5VUuGSqJ8()m}v|)rRTN4LG z`tGDu6t*nDUD4C0SL1Zr!HOh`%gs%s1NbNRNY+q$j`$8Piaw*cIwfI~1|d_we|^z< zZTVlrs@@Olg211=BE|t9YX!PA39IiXQ>|d)@gl-|yw~Pdu7d%Ff-!bkZ}fbAM6Qgi zfV8J4_H|t~4lX<$Es-nGT;9TUT^r0Bcw5l@HLLgrNq=ha87})rU7KTf@w!6Ef|OOM zs8b<7{;>`rlU)V>;FaFGMBCyJgw=(4^78m*H%+e%Q)<)*oJXQ>x>SS;M5kDuQ5`!4 zi?&5%lw5A$(=h>xLL_~XRFyhUR2+j`>;H4Mwrfz*m-9f=^!XBJ;*3n>aQq=mY&#jX zpwQ?=dJn-?YwY$v3rpHI)J${;a|JLm40GM>9cadP)8IaR+(icYv@&)bj!he&igsna zBf}&ukn%Lcgwt_KAaqeOr)w(9%008Z6Uog^y`|!{2tAM5%!Sx-s4NH>+mde6YO&03Ol$m=`EvIIe~d6*X5RA8CP3qlR^ z_m#IK=yPDs5(<1I*m=Ja892toqmg6rqb`j@{i8Rk577QiBn6)~oQLqJgp7Zz3rp-Qt+pjVW9ec4=2nbAh*sMdiYx0eTdNwoZ;(b53B+NW%`zBn< zVxGp5KL{mG8CDGj5ZpyXUJ$BA_@ubIf=}~jc#57+cYV!gVeEEU&BtJ}tnofM%a%vX zGNVr>fj)i^lMrzewAOe2fA+S!k8cN2EZY;y0x49u9LM>npP+>aEr(=s)aYx2(C@#S z0#;47ZboKJg!gfJpoi!#`-saNIt^uvnxmk)lkF~UHNa1*&gI1*=YWzEN7|lIwepOZ z&m}7R9^Jg(Z+&?R#Bzc69ju@0X(cOl-JT;tf|!UHzdkNuj?5~2r&^rY>p-NwvSzzN zI7bo_r^-up*f0=>vrH+G`+sZTmm7lk4BBn(Ehi6rzp{2|&0ND*>4rdw>-N_gu})=V zZXu>^dE`pvxxRX=Wo~#_PQgDJDMyR69m{t2y%Rz^uR}ZovRjam!()~TE`!OH1s)2+ zQe)gh%w%q-XrEnQEH@^RHG?(U`n#bsdmATDNGKVZDVvc{VhHuPV$#t$kWG%m9- zKKtriPnI>N!35hD626||LiswjwPW^m6x4*4sM&ctW*K)`OlI(#iU zXY+PQMIq`mR-gS(-!TR_mm#=&LKP4t#vo{*uziNnX^QIA`ZSz{7M$PI?vI1s#0pTl zDCGp&?&o;Ptd0f;`O%4b(pj*!S5zZUBye`yn!&epdDA-tf~ zTPT&OGwL5K)-=2+e7UUoqc1n#CaafyLCQCtan^PqY&+iRQ79=bPY~>=kT35fC5?vZ z&bwWze^GW+YUj&KpHKL?nrurDL#H2;Q9Oa+)43%NBrVIz z3M53P48ginF#sJ7JV)3`(rXV4|58HmnHohd8knGol`a@Rp;+n$)*@GMVak&w?hb3X z6(Oj&9!YVEIcWDneM^kknru8QutMHJ+$97e*Y{|xjh;}#ewS+hZ0!QbDS?=kEjB#d z8T>FI!Ulkwe=R<23-%(FL3OFAg&2#jvf<+Ocp$Yb7d3xwlxPgnU995KBF=NBZ)PQ= zM_Uh{>4OTHthLfFD6`YG8Q31qS>mnx7`5H(-1;nm+sI*miurj6p2{sI9*hQhh+^j@ zSGr}_3_0P`7nH&Wde4YIO!OV*EAQf|1UIQfkxn_R8QfM|>otibyyu3THfNOC$qwfp z%RFMli2_iX8A-?Bqmq{EiN`MKzt{a=jT|>S)AZqC8rG9V?J{WvFTy)E^;bwCHG^yu zF`e~|8BLT|F6mzl2Wv7Pz1z7aPl(-^RNk>P{G!W z%9J}14HiPGk=X2e`@^{t;)3as;ybBI!=+GGVK+Iob;)qd@DfN3KZTo0R&sB!cth?d zlx;+VP(Vzjo!T}A=yv(Ym{w*1@+O>Q%FL@2=P`691spqE0hNw3ex6K-js#+zMQ1AR5--F}q%Uu4SfYljq9 zOI<-{t-#Oiom_JqvCek(nz~RA?c}Sm)J|$-|Mzv1LFO-MsHM%9kYW<9d}hU;LX{X6 zYezpHX$&@U2F+o&pLje)DlhzdcHL)gfA8?nie6-{^Q`JQ;7>0ebmoiSqd1`Ri~yNq zGtj^S65Unx6*Lgp_fDc+6n)CmeRxTPDbha?66P3yFjD!!z6L?)SZd4O-*7lCH(?b) zb@jGuZ0^6#liIdGk@$}=+3!RZUsSG}SVrdtH+94wGkQR9l9@x0gnUrQEz5Bwr5V?N zPnIZi6#hz8`=X3f_<-l)lN^h`v8g&H$FCi(rdt=0t!8eLrD0cVBZX9Q{Bmk9rdz6r z>dfsF@BaePdDex|#CdO)Ae77_PQdw59v+e^%jIZqgLtqwkZ{fPG*n8WFGh(-e9I$( zl}}YvfcIK)*FPPPP^=APb=)r3PhXxLr5VVAqAW5vyhwXS>hqa!^cj1VuO= zvh#|w1#%pi-0QR`*_13Fc35QzCyuWYpB>|zb>GM$pZI+pRtJr98&Ti$LrS6HJ{h_C zw2A1*^Va?7r>D`m*&j$*|B!CndRQz>9JMYjLR@;wf}&)dcb<~055z4DJR4<4VGR{i z8stkt>aZ^h>CrCXltl$rI1x(_@u>6-uI{87cdG|Z4M2h$BclFKrk#-I|Sda_Z)69O&*e6HiGyu?NIy zkpYP=5J_$@t8h5=MnVa+nJhXl5MIPisN@bm$V483F{OR7ch~E6)zKCSGcgp28g?Nd zo7&Tx`9WM(fm0WFty&U?-LfT|@o0Y1%VX#Dn@94wkl^{Nfz8n1Oqtt9iRT(pc~JH) zWKwxToNi>rLf?7Sh+8sx#0;n4Zi{GTa3#NDM)H3S&d?i&rM{=V1PB(|TS-v0&xn~E z+EWT+VvDiri;y|FOdy|ScvFp6^Z_8)tAR6XHDz$*i<$NR=fYgSw1nPrFWFpaJ0&v&J#DlKlf*wRS_A3K-8UI57Q+InDUbZrp4lseaTJ>rp{!tW8?aZ zIdgs{u32M^2Z@EVsZD3{w48kP@`S3Ogu-*}Rc0j9OeES0dAr{da9tZzZz8jH*_#k< znAFqsm*4iyDRo0_oL=dy$YDmE@%}0e!ydIb1fvXtsV~myp29MBBAn(pJyao}rw!{(%L|It zHQeGlB-OZN%NVRmpjD=CjrmOC+a&@4S zORfZ)-(EGQlZHF#FJyGufd+YK8IQ_(Br^k^0Jn+0H8gp)lc6-xMi@d6MLAw)8iQDc zL*MJ5PI?rfmr52NF-(dj4v801A#9;9O31yjcTh}WJ2tQfF|!1FlBid3?DEqJ)hOkY z-93xH6R?%dmzPAL0za7sb(gLA5n~8qsCvwo$Xp@D-No1D2&{u8B^ihp za8O1xFd@eyR}QMRAG-L)Tv>ZPTJeP{6+U4UNw^gc!s4X0RpI;!PVcRn@vty1qG5@9 z;->4Vi5+1b~oYWQ(NLb67qkK>vRAbcxY@8@m2~gPcCn;qDO& zQwPNI^glmX%st=51ztA2tm$P_85GnFwUn?Ll6luRhC6q)q0FSnIWC5ii&w4^vUbCo zOtrOsg)EB`yt{mj#S8#XyiGyeL7LFNu<`HeIsLs1S<~}f*jnB8 z4{ecrkgPahNo0@7FvWizv6Y}z8{Y90Xih+do$bn)qQ5Fq& z{W`2PuH9?udU5m*OB%aAfVNtZ08w;YkH(Zk?@ne>p63{igBEP!M^rxPJ+Eup z5-~ZlrTnVvv7&N25N?!5UOVg>6@c)OZmp&UWyM>Brbz9Z$s)BIz#rCUmY-dI~kMtVokrF*EQGFbq@X$qaLXsb~{(@ z(LgbIaq#{x=7@)Xm*rL;(F76**q}yd#?au+$J%-f+5PBG^~RmO>*N1#zf}caulnox zz%|-cLh8H0Aj`X#EL91t7VHAyoLb8Fq%GbM`w1g2U*d^3IFC47mDI8F1r_IzIlP30 zvD89*4&`+dF(HBdt}E3XOiDMrAMAdTv~GMZ98Y$Lcp(;kVnV=~j^rUvmEPZ#hJ7Vg z;G~a83mUBX!7)8(VxE=59U^BdDND5Fq}8U;kaC1ac?C0)?mtE1&nRO`LE7mTLET?y zcw;nA5;6fI)MW(`dk#W>oFBel6rYshH*RY!?u1VeAI^xc8fWK4kk}!?d|38c!h}`@ zkG6*Xbfn}DLmMaTiFl%ce)w9}pNlq60H2HgR}0|Cu(`AI3`K!g^@S^ zXF}%E>6|832${C2D?yHFUqxv_izLn_nMR&Rd3H3Kx< zYMkDaa}XJ)eh7W9ZYr(?44Y49TGTy8P@UWHkFNXgqQ-u{5zrj>BmzV^cHd;Z3lI@L zN{v>W>Q!-0T|gS9?=lA3jvaK~reYz2=@V%;*~$8b@ZxiB?njxWJ6_xT7$cx#`Fe6FkXGAe>6#Z6iu{Gvgu* z0!OJ4#w<$(5{2@Sv6*7J6hy+H2^qpfi@V29`%bs)yHgC}d zR~9zph|(9Ad(B#~T=mqK;P7<=9u*W<1+KCglUZ&VPAy9U%}!Movj6_ht-XE5BAxCY zAmfw4&K`_Oqsyf809aiLyu&b1Zv8b0ShqMlNBd#|;zN)(sN|w!@$-jwiw~IvOm~4I zCXk0s_N5p&l-@r$BY?r#(xUwcMkZkIbwf)VJ$nZ)Chmv^9T>myA{vT!aA43uXp_x8 zm{26Tw2i`gmrOb(MaZ-@NQjJuq2vN%s5!+Eq!-vmkqPv5V2;ULjR!S?PI6x;?6Ei<056A_opz3jAs6s#F>Pd zk25?TkNc2@4h-Apaq;4xRf27ei`n6^G=7gP!)I&kk%Wa?3GL`a1tiCryYNT||qe35Gv?0o$_L0x3?k zGS9-}A9pGtRiW%wzA1Y~+A9oN!t418shNSI(U-ttueo5LS5|<7Sg;@ zX1Scw$l?C^(G5;Lw3ly9qYyJXF)Z6>UL{o+1jN5+;>7~JWIaUYe+}&-oV%iPX?#&e zN9%E5`h2$Y+4^4gQgPsc-}tnHL_Jk!SIygEI9K<3Gufm44(e`87PBq>>1O1r&Rn=Y zyFg4*+9<}L3TWZ15jM}KvRv_%uQch5^9hX5#cN(~Mc_cElYPlNksND3FD9obhb9(i zXU4<>fj$c$Rc+HJO~x9*)CxcmRvP+-inF@cd7-Z?qT8YysLQeT=%z%fpZnR1<*3r+ zz&{KXp81#YAF1{-y7r*3o?=}OW(Be|E)YWy2_|z;Ex^kq!4fq=$uRTxT&`RC`&j|1Jv)r2OawA5!<$a&Nl*+9^XLjso99!Wl2rMf z1+EGBU%qR2(bKUZg%8%fam8IVtrp9^}z+tB!^? z3Coa#Nq|%$D_y3LdfPXx^LG+}Y)z+-QgO;`sD;&1$XltgaVzlxbayg*@trm0Iy8ZP z+r=2*O|gl0^2y2(5B>nW#IKJs8*y;gvbyGld+HhJ-B zrs?uaYa2)Qw*OR&yak&1fd9#V$F1;R`lpN$W%cjDs?M3R(E_^bjwB@O-Cd2a45N6p zKvA@56&YXMXy;ZlXimUcd^@=CQ_%e0GHJx$i{pU*NPh(}!@d=(-phBS|C5m-l)@(r z6O{Fm!g_=6J-;^TMe@3D-xk}2gyyholbZ}@-M&fHH-e%_r;|Y)6}alSKwz)|)Ho)> zAeSfjXGP<2{p{BUX2L$nScl>mOSFNd+c+=1STZ{oa63m{cCMsUJ zCs+z?!9nv+TvLriKW4So(k`Tjb3YUb<90 z>U~8g}yNbok{g->~Qv?!fq3KZcOAfc7vXXbC^>n@Xq1#sqt z{pEsiwg?PODh?jm@A6byNjq>HEOcPS)1g={>PVDu`UyhO4RQiw*NvR-7$)Shh#@Z4 z@06kpOu(!q9_(79`m~pPG_8|ZT#ZXN=R>et)KoGyo+&UR?K5O1=j^q*iZMWY$OY}cFtZpD|X8x=PKAhE8*6qBqf zE6I9wfYXkk+xc)zMlv&EL(F8&oZEWq1I}lt<#?ys)k)1)DOLY2OAi1!Eo<|l*l5^u z8;thb>`<|JPRIju=Ce$Ge86hl+|lF|!=JEnzkwY(c*B(>wPN6`My=ov$ILI6`u55) z*Q#%_ac*h!*({*(DzjQ`qR^NE>L z07G9{4?1YMSz+e1YMGB6DcPivTH&w(4(^6Iy8qI4m}G4C-_-VH28QZ6+8Sw^WgQKf z;}q2>x1^X-Q8_iz>7dI7av7ctSXX=YWKJbsQ;bvsPq5b|6X&?I%c!Ta-+N-sQQN$5 zI+oYj-6-2xsn=eB>cK7?SIh}xR{bx<bp%o}u?Ug~qWat2dR_Ag4_F1`|0#szA)2%Eofd+$sSLt-SRFj876oQkdy z{Z;{MBH0L#o2r6N*2`37fujiLkN~NPTcL7NN`)4BSUFh(lj4?(AIqc^oZec<1{3Uo zVxsmSLM7O7F;1BwtpXwU#tABNnUBcONlm7NU#IP5!o$ovNaY}g=|*G*Kx55-(<#dc z96nIdb3H~^TQegD2GDKdwqg|`V(pc?-1V6`1Je`Y7(xn~f{xefE*oEV_WJfyQ!0P( zoclcPj&c5Wye?p=Y^5gfo5OAJI zP&@8b5t%|d`J7I?CYzPuqT7#27RV>DSdd>Z!y-<$FLCl;g8R~gY!~0{L>D%2z@9qr zI7MO?ZryJ&!#8p1>#8z_Xv~ND%bk)byfHpG?yzRJ?!W$gedMhac!QyP{Z-U-JeWquFe zZ3{dl%%PUi4b5oh^l&##E-{SjiO;)2sDyeK??or*(oFjlx*DKD0{ju@SZEhj3YsM0 zuEBioOI&e@*QO*#SgrVNs$KTZ%6c4|z^}`erWa@r0#THcdmXCpS#Oy;t5?1IeV3`jF;&wMbWz6(@^JKWPSfsmQxt=_T9CD;NCdK zc$`{$FHoPL^B;>>Qvt7lMTe3w2`?fWU7I%Rzvr*gIIBD zWt^^VZ(4gS0VkbenhX|hv5$8K#^QTl>eA+iTIgr$FTVsuWhJyWtNds6<8_HfQpUh= z%CJLNMZulr%HI{^3^dH0i#VorLq9m|WbX}#sm8J>`c)3cC82Hpa`q#<0u*ypIvyfY~?XMIh!Y}7tG5j`?=BPM>DCA&nKdoWRNW;|EU7<=cHE!^fM z(yTYb>zmX(!`)6;n7m`bObS#PPukz=o%WLA_^j}smm!WHRlD6&-eUYQ)Kpk}%~-{w z8AjxwR9n3TqayKna^Q-BK%l#k1%?i~vM4J9-eIQbGuN3Mv3u8}sy3gjm#=Tk8`-#A z5IfSZV|W9E5lP+}!k$9uYi=p6j~)A$HEXx;1zsBa{DJEIgu_wk)yC6O&T_TnfyGB}f?o$$7POpyn+$8D{+a-~2w*I% zmw%Hz-r!#?IC#Aq(bXOK{wzDQR(dGBvhzQj0iAy~?kzID@&{Q}Z*F&{2v}&0+|Dw2 zCy-Y3FJiLoucxcq1rGzM%Y0cf@uN4)@>!g+-^$z|o98C0uOXd>vvaKp7rBcH?CGxO z^Ql-^w2Z!e@hLhecw5pTCwrw-6yn2={`9~`7{T?b4Tp1Dk2ZlnF*N+TUKi-KC?%69 z)d5L9WX;t?_X7@xCl_J++n>?HYwa41gxO%?!x>4CQQ_m+)U2gSk<5 zmNr+DES%iyxR+Qq2EKcLL}U9cAb<0;9kZ~qX%1?PCCClQ7U`2whU`|W7OG^D94y7^ zq4W`xhL?b`5ci@QWB?B=-$V}Pkl%7ax67d+a=wW!U(oN?&5PBR$>)TCCzvr#hlh|Z z*{YFZD^p@FTbc5^;89JW~^clY@E!+ zsd5f_rc&(wc2(;jF~ms{Kf0W|n8*+UE!6H@=ds2ycETidy{>XB+_>kPddJs_-t6Kf zS}}2Zn0x0xpT@`@^LMl08E!S)HD&y<;K)hR8MK|U-X)WqXk|>lON)_L)=MU-Y0!L? zh36%|_tQ$1jbHCY;SCpWYts;Z<D?sYQ(>vlDf}0AoNU-tSGS|*iS}WTO)ztk7Qe?t}P`(`Drfvjxb$m_C(x*w8#%9yEn+jhgx1bisW`6+1lK@vr$;xo`RDs%;X=%OA0d!6v1$_T=Jsid2oB7C*6C-?ocAf z`ZHj=#_Ik3c2ef;3_YLSdkg^dp_!#k)VRQlgmufW?iuOF;GM1+Uezrl-zpywq`cap z)Rz1TBf=6l^)8(ESNF;LJr3cti|qs$<6FFR_mtG^9%u-7F$z9_~V!`Ec211b>!+}@DP+p7j8zrZb^@;Ob zqUXao+|B0t=C-wcN{tE*<=_Ph6faPqXeiK9+^tBE0!0GFJt=J|MT$#thvM## z;O-uRy9Fm`l0Wp^bMH6*%sUgA$lhx|>shkbyLM{*lG=}&sC;2Bt^3I|6S?A62W@Pa z(cHs1QuXjr%DBeA1gF6N(h@=-Dm!T@aSk*-h4iFbWuqC49*TD13WRV4dFhWub%zg= z#eE(s<8p}Us%{ERqjE5g9iwerJHy6Jjg*%GUrI?CkSdpfiN5zl?7rOf`l0Qx^@h#G zZaZAU;~@BNbUvleW(3%UI1OjZ?f#^0!pfV%b9{%5$8)R=DrKrzs{T}7TC-K&|H)}1 z(3|^(2lCM>q$gphk1ynSw`^ z#kcpf*fr_F9vN6UtgeBYcRC$6`A5J8&V$eqDJ`ik(pwmAhtO5J7QOi$cFDLl_vM7F z0F%{+(e7Oe_~O#48csC&|KaCczgPY{|KYn7NB`Tn?)foj;AOafNxSL}Wa;&V!W8z1 zO6>hgk7~zeF8wkK0Ri}K?*WzQ>+AMj^V^dDh0J-HjAW}!g41ERF0l@dFJ-cS^JryQ=mCCYq;@+%pJUq2Y$FtPVK_6KERSMskKTnJl4HrWC<1-*{$1QCxMgw z?olNBkt-f%);(%>&2j%&$bwg|#<+gZBUCe^wk~DAJoheX51eBG*x@XaQm{#faiftI z`};|E+L2N@d^i5$$%_$IMb*U8*7o>o?g_VwKp*{md+|~AnfE_RRwHJeR{UMu$24bl zSaoBC*BTDv#EmS(0^c`t@^pxeb#vPv^oxoL^27!cWOob)mjB-=py0E zYRdgT25%X>dwZhd{gW-dk%1f9#KKL2`>}sUMoEvC?EJw9w%*u44CF35(b7B{W%(*V z{OSxp8U#~H^;T^)d-}7J0{m6eSvT5F^``ms7t+V!f9N{lj(${48PWP^x2@_k^cn1M)#r22HK0xT)595dZj@ z9lT*Er+nMbHQ=vDtWRXn?R&{j)Yyrd769)zEpFfT{7p@p|GjXVUW_4+wSRCujD}Dv zQSJSw?ACL#8x+yGhiEt}PmafK#H$F$9}%!uX?7$xp1xJhD^O|>tnbQT+_9hktIsL9 z{)sl3|NqcF{5DObWc|x}qbLLnIBuL1A_Ca|onAMtYWvEMQ_^h9QYO~;zlSz4-_7PWp5~OaOd+4An!QixSbTUxW+tvA zIAl$92vpw1^K0fOF-gz*+ULyE3V&)-b#xYEX_*t3$2Wc3&sgengED-m9<2+`Rc3*C z9B^^5uYbwlKotaq(rCvUvODvfRQZpnpYjDx`IoE3x#T1WTR36I@2asmtp2O6evcUZ z#1T5Sy2`7kkBvaIYZv?jUHvV0xv~()p0C;JrmquRTn~gdHbYx^cD}vG`WPjbuRcMs zOciOGnF3?Y3N&?NR#0%q21$%+^ZfY^oxhFxexjBaC^45+0;=nbb0cmAiR|6NuJ3f|hF~pY z(eiF2zxOQV9fEA%uuq_5gk3a}944c^`dnn*e7OCuCb@=5c|!}tLF*es&KLLQXStj` zFrU3rfXDaVr9yqv6Lf{I`BhmhlLrXGz2+99z*7U{7df@-i6xH|LC_AjvPi|_DdKR- zqp0%tHGP)ry&D(M{uO`7gV)o-=3BO%AaS#S@;ffNolN}^I`7L~Zu_t^IO3F#i|*Db zgG8BD=ZRo%dZ6*TJnp=rBa%NW@{00?o$I7T>~Iol&cH9#OHicTGAw*mfL+Q+&W*LS zw45n7Y;}XJ+E>Uj5x?5U=W=5Rcmr-oavRE6FptG--BWJxm+7IrQ#YV1{3+aeYFP6E zk|-@r$v|K>IA{u+d`dq@`{|VZ-<;Q=d;&u1dfN9@R+=aR` z58tt4f`G(&js!ka6s(=iws$$uvodfP>c9Tz_Hfl8U)d~9N1XhU0s&ClR}3a zP8`tn(1JcWu>Q#ei2=@fMGKJ-gOzbzByh@rBvHezr2K$ZWKFG@CNs>~R9GXM9z6Q9 zg#B_j2(6owM&mU9)qVVr5#QL2q?{c4mVXbWYHhEWRdXmV=p8){X8rA@AupP6DDnxQ zbO(-?2aCC9J+iCo}PKhYf+ScgVM!RTHcW?SrCV61&F`BD6@z3OrL z@LqSVNTZWicjqvG`)pFm_St~I^m@K%{h9aSXPJNwpD6Y|mbsYvAOBSO|uMzC+z(Zv#j|#<953uh*{=N{+=1;@Ik(Fz)Fn z+T`^kFG;!l^^(z^cO7G!ETCFEbS&JX z|F9>;4SVWzf1kf$&wF^M{`tVXoJVf<)iss|LSy-WX3}xXbBif?nTcy?3=iza}X`Q}{!}#CIT_$>PK5;y5Cl#m9Y8guf* z{dCS*JeLXehuDVlUEiRHQXU7Uq$s4YO;yYj`s(LBYEQ^+XStdFr=_ROV+vko@-%YP ziWI(eHFEnd3Ib#5aW2bq3HKv^=NQz7gwNUOKsj zBDq6T!GO7oti)PPLK+@jzG$K0m^jWtl2p$ZiGWOPxscFxRt7FL&gX#pn8UzY2s7MEqt1!(#J;xdU zj{jFci>+=SPPDt#JqgH=eZhP8Q-BVq|;;%grq?ok5H!u)XQNHbvka=uK$l|*a zIE{3EmVn)=XG*JGmJhk!;!jspHEtt6mEZZy#h#K=uNB0bviUx?L$l6DYnRlxSCrX2 zVx=&^rCfijczpc4BO#lh=lwHMlx_MemwUKLQjsiD6pH>GCrJMmCeG~Aa)W5w5GgyZ zBEIHyN!+U^Z>5B15tKy}cbQ=?`zd2Cjv|S)NUw!O!FlnN8i8u)z`NRkZ?lHD@lFY7 zcPEA41_6=MCH6Cw2%Cw?F;<(?qI+yCcMqJRRk^lwN9%ty>(IHhu_2Vu_vt9Ueu%_W ztF5`O-T!dD$|f8?3b zcCg9XXL9-)mK*m=CYfy@4(Y%p(h?Yb;G((CxTn^cmH6RJjB)AP~CJx*O0k;bO5;?u^l94<$HNg+J4B&g$ z;}OdZnsU;oglIP3$JB9&KYw>-P?|a#Q|zhAsqGV!@PF;w)1j}f+(*&x`?n{O;QPmi zT*p}sS*sTl7WtlH0}CJua8$|iVP3U_+*HRYZIUjDe^C(oMf9%p@AY{U?N9wU`3tTz zQ7ug`4pm8QaX4@tEq=yURG0DFlrMbp?s;(E9nWkZ5VK|^_jzf=Y=kVS16CfYb6GlS z%1lLRn_0+Yu8gq)BzlCOF;8;gISrUq`Q_Y7USX9u!lAv?I<;yU6xmm3@57BpVnEygT`r#Xbz27N4gPl77d1P9A$L{Mvr65 zt5xQX#_P&SDUV)4UB{(U#!n+kf-0P2qCh~FfcN5u;g7Xx?CqaV73BN*mi50%I2H*U7tID?3Qk}BF6|R;~(`gmPw;G=a$HOhE0!?li#P^&?dccK5+yUa6?dZ z)#;veOrMSx6;VfJ)+@mhMN0#20~82NFS>d!_4;T^X~V_!M`}<$8ByPr?0U6A9%VAg zHM5QCW3On(W58Axoj7+XBt2y7^diW`kfExO$2U${}7fJ zrJw&~RDzu5z^Hiq#tH@whS&twH2~&jH3!7bE7Yolx&_?y=Tp4<>S_~U*vG_*|Ug!Dt9i6uUFl0{A z$8}s|iI>h2PWpKL1g_J?L8}1$?f8OJ5G#5*OfdMfVMVRveln}*khzuq>W!iE#2-%W zg-+71B&95@M{fKz5|=Ac`^SIQlfWf{txroE{}NQ5fyNPCD)vl&k7sz#%}YgJRkVTt ztqfluoxby2<5ZpLg1U(|2)TT1+HZ2G{JAqS58q08oflr-E|szD zPyP=GaG0@DUFqWPvf_}>}y`HZSjKE z{cW1UwGrG~q;vHZ4X?e^vR7op5Zvuww?z&x&oH8q6j2DsWbMhcjPkN09?p!hFzE9^iaDF*&N=-|9 zI-^CSm?`tfE}lERwWZt=w@J*(V_4U`I$H7gLW5jk<1VO&Yzvn$WL$KA*_%imT%|sj z6rXrHMf1t|8H|i|&PU#9_D4GP{QcUNv3;MdQ{D~&iriIfd|7^_)w3P)i|~3!nf_SBu>jmGw0Ogusujke+>dQ1;&$+|FcL|wngU1U zHio&%aTHGet)1X1%MlkSJC#}}hhYP7K!v!MK1W{HH>{ehIdB}k6sk0h>&pfpzPIQ{ zGUR17Gf%|$IHoc06ral4fQW}ZjcJhSg2c78BqqBcdP-p?^()-k>+#-%lU^cZJ0oF! zn3I=78bYyz;#k3}9}M1m9^K&GK?$oSQ|F_#jokv?Ml)PCwnjIUaQZ9235I;{FHtbk zvaImY%|jxCUh*av@#eFXYcSi?xWEPL!|~|D=W~&Hy%GaP3SN~zF8?RS#rc2?w;+A_1C^GbPDta6mH4g6qzedS zz+it0R3~V{^Nh>ut2oFmTKGIjnef|~tdg{!NY!k&qu1z2I9WrN^(FVw5oc6B*@}|2 zn>|0J({lx9Foj~+vQWV}2TX&mvD6-KoYKAn)Wei6>J>6k`KhO)Rp27BlHANcCNg0R zejCz|OmNOOy)UOQ1pf@owLwNd?S>dW<`i8w7g>0#_OHkE4-e@C-GGz4E?BnM?kThG z0tj$CtSuw}FOLsgLA5$BR1Qg^ljwL$Jutyx2)Vc5@p(rC>P!9gYPy5Zq-3VO z%7?;;W&6>yATej7yI*b~@7Mg0WcX)v@$&3nhYc^cB;VEJP6ij@nws4#QCnvC$3ptlF?+u#s}7gN^^0ddvTqU`hI$Haad`H*kba=w$N58m zJ`w1zG!~(l(z?O;rXR7v{)QTiyGx?Od|o|_!xlQzcb{-3A~V;nGj)TSil$;9 zQ3!!LbVR(`)_r5tdU7a(T84ggJ0Fk6DmhH^z&-Pj^L3|%srPowINseb0zL6!=Y7>j zB<^?ETq5faT<}*DpMx2G3-phT=@%y1lRoF!$~q=U@6Gfa3=&)Zk06YtKl?I+IFgfI zib)FEvR!wXlR?YI6OhMjaXwvJOpoeKQ#P79IDq!$(OY}`b0Fbbh}CeTBJXti{=w%NXbB zfFlD5SfvZ~W53uO{A*rsKwc_(Ll4`F9_kMi8Wg43zacHhUgAITnTwx|{&$Y5x!i|W27QU(?3jUpe9 znMo|=6-Pa|>aTb-4l_z^)!GS1pF+I*Q!c@$+`lurJKYdrO)I7imNN1oE;vu-gcZ-T z?FY@+IC6y+lAlUn1=K_o+g03S_81*kv8~tERfNp8W!$ZQE6E?&`Bs z0)_~$PNgt|H_TiMp$s7YVu7kN=ODO(<^S zV(mM}(z=4eh;lgmdgl$e{guQDWg1y7$fvIsz1XIU&}Hy0CTM~BcJ+^Tjuz61soCd0 zo;er}QKq1gTewC5DtLD>)(y^bXKd~>3YyY!wFPNsF}b^ElCyb6bsMRkvyze+b5vU% zp_;Dc{!SRAUpR)EMppc>_Bc?;*{53)BgRnSz@r7;X1VHSz{H^Yz4vRllfT^T6!_7< zNrOHp|8!T>`r$<;kYs0lqE%EwzDqf^zfU=X5N)J|+t&|%7p`;b*81$$mUUu6 zLb*KF@jl0{(Dl_Y;g z_jz>zGEx~MDMlm*MN?f7LC)VCGsx#0RFyQ@xkDqSc7INbVJ5tHX8>sCtIe7d$wmSc z${p5bf0*l%bJb<%#;VAz>R|EP;3c@J2@RD%%?(MI0==>=&({~k&AaULg+IkQIE)hR zatg(C0zm*Qps|C;@#A~VT;u^}W0wIYY=RLAaPz=8tGd~7G+_e3tze&h9Jd_S{hA|NFlP5DC7F-ibj!6*hJL+@8qVvnW1;w z_ixRp6s!T}UwMv((u$bfM{Ab{5Yj1lf_PkEfjx<#+lbJ#}r8>32!AwRaFot{3nHs z8$T{{gPD<>)t^VDrgHbAbaybC!ngYIWnof;SU(Dz&#f7qR5F$F9!n=B`%^Rd2< zOqp|>+|0`FuSA8eP`ZjZW3L`#pTjo@sBc3P=Cq`ykEg-Tek@11X|{C`FXm6uVnTK? zWN^MNSlijHW8XPb&W7fZZ3XIpIM|Jq0n)lpONsGj z+J9Am6Gbi1QEYGRmfJh)@-z{b_uPQ7?dO=$VX0IC)W!GTfV!8v?!rNRgZ^6gCH@3_ z|LTPa#f|K>|Kihng?D?+S$JLb1@c5Wo7Tf(eyhhEHS2C%8VAJ&(Ixyk2p*4Z(rer+ zf|S|^*;OiC@(%WXI%#%907m5visvhoyxrS64#H(6&MeV0>R}jt%a7J>t}PteLNMf7v4~x_H~;=l;^t_lYX9G z&0I`seEV0F{|u>0E)ALpLshr7-VOPTRV!pxA{tlTfm=y}u%~4um8pPj6FVzWiprw~ zf|=~ukG9Y`D;6)rL-~;Xa%F)rw*wC_|MtNMnb68Y`Ewc1TTMRRGH&}sfDgd)p|Hg2 z{9y^-bC#?A71~TU#BGPNnpqcleorr~BmzhcxBy)_g!wjPjax(Rg9`@VaNuM#D2#{n zbs#SsL@Tmj{~diA_Sb^e@~Jy-6)M_+Yv5A6 z0RaYikzgFa6>DCDhmb4PU zfJ!sFLi-8AK)W4?A*^HNKj8kK>H1yLf0ADk)*d zg>>V#8w%f9vUK0s*wY1IXXl-emNYZ9JwjpuusP^MnQHGdLP(X&AR&wQw9;4NMquG)q zzlCE4b16+5+({N`6s}N6#S$22iq`hrL;nrj2TJ!yHm7Q?d^D{GQ?;l!Q!CRa*5h>;Tla+uGLl3hh|F^)ssV){X^wMkdIe0 zYtH-X9`|U=M)Cg!l7DdCT=)7Wy-6@gSs63gQZk(iFo4WX*#*zJ_7P&?E7sn7I}6XZ z!TwGA=>5_iq1QI>71$vIvWx}9b)h;$ZK{3Zc2T?29#~F~Q6mF*AD3!)%lWQskJ2^l zrZb=)cyHcUoe_o}Rifc+(2one+s8;NqU@j9O9P2w5Yrmx67;V3{IKioz^T`bPMdn^ zERi>I!5xbPU|+bs^@%w}XZtfVzoL|h(9vUlxlXq_6Zikm)?7YoL@=v1bW<-ZfxV;$4{W>6c z;Iv)Iz-bcYyAzCJ3xjmTow-i?Abj2CO!`=JS?v~rJKhfL?TqG(u8xPm#(ZJOK8Liv zF9dUg>YSD4>kAaswliT*iVPjn$9KD(QOoT}H($)RNPzKalEh(==G{IDTz6%mSe3#? zdT>O=ezQ8F(s5iU6jVubHg6?7-#CUr!m!TAHB-4S4wogxtaTANEk$kvZ!5mC6@1Z6 zsfJxoa-*8HRqVdSVlyOe*18aI=OoiXJowSxsXN%Kg*in})N%Qn5%^+lwkc3<(Q7HI zh?$`;5xmn~^eMZG*aV}nfOC*(ln#@#>BamgKR2xDb#jh~e7}ZgQ#mAJSjAImeWR?s z@*%zMQ90=Q?&2da1-j0DnavpXjV;U?zE?Cz7yF+fm;~Hx>|usR>JJYNbTPe>F2nAo zme-UaP)C=|HD9;NS@qVjr5z;jI*P{b=sLp&Acz#0<5wirP=k0w@w5f%%!_@t()W@qwVc4Au?5&!Hd0(?a~yQKY(_^2?*i`= zf%bhJ4hTv#Q5UL^LBc8jYI9s7ClBUp@8;%z`U^Y{-VkOGZn%Emfb1*)ow2M`gW5_5 z=snU)&8oK&IGc1Dw@staiwI*7RhgrX+gx(LKTX%ppvD*?OS3+QSI z?`3N51=WS9Rnh1-tT*&XgSVCwxzACB{y~r{4shbJH)(5b1ICA)iDME3Zdvo}&EL5mo!_N%Y2m-CLy|Rl#RS{#Uo~(4tC_ru z3b!}UQmcl}M|n>^Ekaj*RxmTj2ss01>ZVP_Tc#U{ ziQvs%r6!(T=^^pk-=IVQj1msvG{SZ~Z)&B8e|h#`cEeIiWiS+7%2NO{2bk5_U5&Ee zo&GP>ek#yTU7zv|j^osKqkdgLcACGl=kn4S{rDf;vscaACaUI|&vpPUS^q!?># zX1lScdULC+d_Bv<$0_%J!HSQ|$>WTB3BF&%PlMh19sANIZ-*L0@$7Oij`7)crWQbr zhXbfRZ`JAjYhAJa*CjoN#jt6yF0q*Mbgj$suJbnFY1dRu=}SL`^{*B^T; z9Z%f9LDe87-o($)b>&b?j87e<+mtZgMpH5^q(|~Bk8O7>)wdVdspl4=bcqzuX?KNk zY;YNhLFMl_RPU6)CX1(=22z|RI%ZBJZL7zkR2#`(g8T{Va4k{8#lVMTw#9JKS#Qe-^aa|8sMP zQ{4O|xZM^PALJ69yZ@-34qUm=&!vJO5#Ko-Y9JTRHHgE^0OYi6-#xkSpt0DWZp+;d z4D#j+7(8;(y#Q-SVNdd`t-Hjh8DD1xap7{$#Ghen$RgjaZG!R`IKnPW{F2_gT~IYi z6d6z*ch9aZ=V!I)D+C;JphsiA?K>;H&Qk|2LHDK3*%sxExm~xjW1kjXt)DW`(>RGh zl2c$COEEH4hW|upi;c``Sa7u)i@npho~(`I9hc+6#)yjAcAFUbnl8wWF0u%4%&Dkx zz6d%0f?m7Y*CXA3Gw|}2mDgMAzHXB%-7{PNz?q-RRpsUZu#d3o755ozZzvpZ2?f0R zf<|MVA}S+RfMsX%pB!eS8qrgj$sOMzyx)Zk{2*DmE$x(&qo3xZ1DUHvMK4$8&ut;& z;AMikn#L12pfXItd9_f;Z&*Zd!Uj_1YHykEE8|mj4gGbRWa|T;Znvx|icSlwny9n( zTWnl+?ybvH(0lN&%l5y*tYBq28rode+}&u0goBhF%U>zh@UoR$yT0|GZavvP^3MZg zFdtO<0M+%*SC+XOKj~f8K-vAyi^GlxNobFd!`!-DPT+>!i4M(>yZJ`PO5|;e zIiYSH8zLj-wy)Ku{lbyg&u?4Eg{k%%{8mj$IN7&VLex5B5D98{lbFNOJiG_K@mo zR4%oYm$D;qw~u}ZFpxt8&$kGmbl8MbDt@Ba&I03O|7s+ewM(b zf?;zi#Z=HAGu^wNx2Up_n6~ud^D9oCu&V?QJH)!{VI_m)sBy1M?n@A><0DvK=cvt) z^>k`7U6uD<-3W|3PNMcO#oO*=OLe*uvS6K!8b%!1J^~8mN?~Pm8wpGBR=F~r{dwJ9 zIka!Zgj8Hy0k?Wsa^+qL<8RU?(b$^)W19YGlGj}vD{jXKxTajsx~HLIGAX>ng;IQu zF5CuT*^v6Z1nr+IC?SS zIG?a5P;kOm6@V96kGe*v@*he{GPomZPnBdaW{NbEF-Z@e^51L?IO_0t z!eQ`(r^%v`y3uOXG3RJBmA^@&PD3v1KS>O)N4Gk`Ke0hm8TVAN0N8X{-U$QXIHPHQ zFWLU#Rd&ZMghvm(_gta~MxR4Z5vI^5k<9a&YjErRg#3o=;Wk19ggqa(;;gEHGhioq z5j#BW!u|K`u8($hBiym&u!pr-B~Z2{h<;@q{maW@miH=ZJ4O#>01OPx*Nr`zqTrsdxAf;v$Ld6Ua#M)*@o3Da;X+vyV<+5*P^y-61HnQpfV z9OeAnAn?9DcwWF8Iji~!d4B!vYrk=h=$%&o#L`9N8@*FFNmN6dJgzBelE4VFn}zO> z1{{ikBj&?3-~q}pNT>qEFdOSTN}36iPeT`$UXtKm_p8{(E!tarmnpZTJL zoBk4y-E1k9!6Td{^2^j98g}k}t`skN%jlX4KWv#OuR{?nQ0es=_8iEnmYGpI(_;W_s7yZ^GUG`cAM*Vr0o<_(K^% z*gJ6N18O^f-pjnBuGDY{>(d=Tvf+?aVZTrib0Q)|ZS>G$swWz%v5%n%trP7XMM_8dMlpN{97S?vh&g3CqDKRsGw4p!nK_w3-pJrt$y+{O-4nR zfaJ5!DV=ra;3-Q)>Qs>3WRj7B8lXlaYo0u>Miv!2;UfrF`Y<%p(@%cSNi(`PGVst9 zE?VS({JlTUn=)Qh^H%v3!QW!?-I`Z{P|-;JaCk;#bt=Fi<4Bnz*Y{XbEwT4GGW@Rx z|Gi%Rk~($JBM|EN@=OZvznAjsW}r#hG}zlg5>-1VUIUd9lO2` znU3<3mY#|xKOGLY&9)4hT#DE?3N^s0jR}U^);Z9#))w?r6nW6LvCY{~zc|{vIA2_U zFhO0hdzDX$1^sX*PXzCvSjavJlNhlAKnt0wnSmu zzpFLl>%b+xFIJAU@ugW2x%3OA603|HF%<$)tj5OW9X}MmXWD8Zvk6{30s_3B;zeZY z9ki3_X-0k_u>yX{%SFk2Z&(Iiv=n))Y(dOr9L-)2SWo?xbao-Y_ghXb>oWFXNOWB0 z$9*=Bqtr)gdx=}w78+L}EpJj&f6UWmBDrT8s7ugS6uZw$vWvYAs?Gva%{9Ll`9`$$ z!*VK>4gQNX+>=wba6>E;*X#em@7eI|o$HK90^w|+k4fs3e;y#gpTv4FB;osH*+E2~ znQXTH)a(y^O%TPgBm8{J!!dF2Q(zI>ugSK7@ms;zYb$$5f`8s|n#b8$sM*x#vP}_9fykqDkG6e*o4wzGnLs zq*%Cci%wONNO-3E0@k+N45=xTAWbIC4|#QVjLP^|D? zvle4J)!YM{K3a3vnD&`|u(HZ@hK;>oVv8OI%Wl)X+e?t^V8ndH%|p=WLS+uY=;=0f6;yRKJQy4ET+Ydof#!+nOXjf!fF8X zWRQ-GA|@nokZtMOwxlJEJXaD%QUwR?`qz4*-uyk^P{GXMukdNLo8+4`$sG;NkurDP ztnPj`WUeUp*v<*>(j~8|V1`Ck7V#BI1UaxLN(+1f&J=rljJTxkor=v>{l7@TJowb9 zaRuw#W&D@anjPOZ1O6&jo;uEPwU|C|bXo68yXE;aKhtgk$cLV!Ok!1OqEk$*C17?s zYz6taP~6XyxQPUh;f(ef-EQ?%=2%g=gQ?Q|7pYgtQJ7OECC~-C_VZG7KhU zuKBTHPwwr(Tz)v9)JZU2Z7#KfE0Zwpj$|OU>Cv*B@JeVr*+HNC+R0MMwV1D%Xm3oLMs#an@k=-k*1# zH|LuzWGwsCf7KQ@1=OAVQQ%m6&d-HDwNrwj-;Bi~fD1qNRX4x!&#Aog3QwVzo$#ex zHYEX^N*uLw+ByzW$SBWmDw51!_NmT|>HiX`Q_Y+&nJh+@oPvB5&p8aWT&Tj9MBW?R z>7(R%t)ug#HyF?^ca>vqLmA&11;ER7^P%JXfKq7|7LY>}WQ>bU`B3@tS6;tvyzDM{ z;b2}ScKrJhD+I~!b8*6$pf`ZTF8Y!uiIF$m&Unp-SkdRzQd~T*)sQ}7%`8_ z?h?cW$?F>78iC_YH*LF$qxq7<*kVZ1XoM;~eUof=HfOYL7hGfn<0+v3aD!7g1kR8$3VEa2?a-`YNW4SV!u9LUK#;^Am}>Vy8;fK zjP2V6<Mq9F&8O?;ont_?*~WlYtX{}k3I#mhd$;3#^kZeiW z`0-er&>~`kD6EbM&#CGA<2YNgF2R}Rgn7jg+R;rLBr1Cn40#9t9b85BTS4YN{C;nJ zC>8wo!z@N_WugsV{^i!q-5NFq@B{A^M7cZPp1XfzL=Eug62|+5q{Hn&5Tei_?$dEB zeN+=DL9|f1FV6~B9ZVim*b>Rz!&IKlEHnAdpwT1~5v>#=VqRLugSkAFh~)o3{kD#J z?+A8HyARg!A50cw=H(@-tD`vIyy!XrK=d*U>_i5UU-uy7kN28es|M*mdA7-=N8!J) z8JkSMJE|f=&=ex7`MHCEE|&jw6g@uq(gf_9Zod%jFO{ouBoeVdssGJter{3ciIhTQ z#pBefJm@SH?hap)7#(pmr}%kIO<69}1AR|@J%N3o9#Unhw|~pz8zXlbC|Fi>$vL$` zS|9%r*qJRwA38K%1R7@M{QGrFtVB67l9_mm-*2Pd;$a;2wrUehZX3B;efAV{c{TO) zxWPq+GbCy&G4{1N?ua!6ttqH@=Jaa)8}I+M#oQ{*XB7iaN)jm|aZaLC!&4L3qK#Fr zh3^$EQ)G&T`X1Sy@jIxc8M#C!ACQ!Om4QA74$qTKp0V(~!>b~lZZe29d{5IboA_kd z51Qk8%Vj&a^)oY%e{XVjKed+J$USk8RY}M-BkReepDQezD;!`wB}NgEH%w5M%?5dbz7wFlYBwqsVth zxcgo5!!`5urbjP)w%dN4S8a}ZcmdFxqhp6*G?>r2drjlQ6^}n|R?WOv;0PEk&4V?^ zXf{j*n&XZFn3mgrb_PA79OaMgDBB}~%-?an;F3oaz^3q;a+fHb!XUc)hcSRwgT(bk zjRo%y6XKo=wV;c^em>W27|2T*oZ;PmJ#a)Yv*VeO$(rc;Q@Fyt)tAq{G`{%Tm+W9Q zrVNc7d?t=-a&Y6{Vm$Ogl1#g+DdM+`jNw7jByKO25k~q{%~Vmd`bO!3dbN^o+MmH4 z-o<_yL*=8@o_}leKKpwq>#Mb1BzuWK>dS>7cZ+*#Kjh1OW~D;56TkUqbbZvXVu*-; z8`Vk3pB-9g_$`?U&r%WnUg!9u*m#~p-{vvUDTu7ZnxZ^6A!jRn@N!+&xEhM0x%R$b zblKgkG}xJt*H0(am*!QRnJy~9H&&!uk~_+M9RH(b5A`mcdw;RYh(pDdn4rhh5}EIS zh!*`ode2If-9X1q8dob3;*q;WQEo^d>Jv1;BJhG=;PWl!OVbg=-Ji<^ZYx(?4!Y)T zDZcwZ*$ql4C`@%X!*{tUT2oeu%OiV-ad#k2=j%c5;h~({E(6O2HzdM;OLj&`89msv z@_769UcJlK7pU)50_<+J9q6obKqmDMr>2SCdZ;)N|Kj`2D{9%r3Zqn0WI~nYBBP+- zU6DQBXmnrA%kCGCs^syYjs#Q@(X74G5p%S&;Jj*Z;_hEG6RZ!SV`Adh(p(-e)18mq z(mW*5L=M6cG4AHw zAr`+vGE>;$LU&6V%ZJ4loEKk6H|;jOxpPrkL5ct3_Cn+C_#Nas>9?^4jr?|_nzLg; zrMd!pun+h;L*WUT+IJw7iYYgX+F3OGC_Kmr8U;7)LNcXxNU;10nZ3U_z6!rk57-66QctMu*e*Y~^cyKf9e zv8(DwowN7aOXi+y9w<+uw*MyfBskNri$;9*C>^ z_CP|5m1m!0TD4CuLmljRt=k=M60RBHzA{->)X?f&8t7yZG*jN+(`z^tTU%#B#>II6 zA?sHjAY$kq(oNGV6>1*{TDHd9f5jChZbv$G(|ypcDVcZP_~!onLt>N`T&YeBehwe# z7olm}3GmvUzw<=0!#0>5$*4p)Y_**%YZvS+U2Hh6{&aC*me9j(-9*=W1tW^e7*lnT669v6EhebEJDo7KplH z;kj-xnLqToZ}zLWl42iXXV?6!^$^(fLD`YkOQ0{K zo$ZrYQa0{$e=X`B31k8qMAtOx=_S@uZL z>Cf-eC@tfN+JP0Fd`jy}Ps;qX;cJ&&r)XYr^eF=4#v_do>kT#-0YjOWlX22pb_vT_ zUXq-&ny%-;4aa4>2X3<_&mFTraXhXi-OpPV2T(3ShVtqJ3IT%P^^RcI4S5-yAJ-G9 zYM%DYKI8Nrmsm6EolmvDb)HU1Xt1dYHtjh*It@R|b9YWAq8xN+3BH=ZI??E>MUpkV z&XLt6!`fr|%c_P}2|*%TN-N^6LQ6?y5fX?jI;!zs>|m2ldt`dB5i=~cV|gIUapo)zQEF^RVRt{EAeRc@RmR6y{{|b;7DF3R@{Kd z9nM&C!+R1SYpZr?jqdUCvF`L?439ct=3R+r`cYOFz|+%Wp|bOYeV%T7%`*DqvcT^$ zIh=q;x5)N+N#gK8Un|8F5t9#;rcJobt<^K79<21unw7>OIek5e^4a)mU|^K2Epg;q z#8sFK2ELAZuVh7BVr>Ra%Ur-Y*$H1HqIEI>*KWbgczZ2n^K!!Gj8Q|Y`B5u#P=(j{Rz&j9 z43QSpZGa@&CN%%%7kC`9TLEw{mr+!SVZK00Igy$M)BI|Ps_$R zX)JDg_e>dMW3=clZYCrE#3-DpT_v=_vDvoS6Xs^ z=P^EcKfy`^C;F7enVOnfRRLVd4{!GAgpk;JM9t_A;mIe#G0g?4rrk=v-5yN2s-cAM zn1?YSoV9~Y79Qc|!)FK41Z!${MtuPH&RHnMC;xfR#Sk$#%SL7k^%ocwSyAyL9)Nyl z^BGh2Yk=w&Bw?nnn`1`Q-kIkeS+C9Xx z+l^r&XUm!r#>{HinAT{+l@F@TtTyJvtNx5etxI0q`uFWuH$4F&d4}Gk#>`EIhm(RU zBxo0K9{vi&d0zhBOae-(SdUbtbryu~WA;NyBf6eun@;t6pENb(jD@g$Q#$rs;skax zw!IA~I&IONDX8>bBoDe4xAVt}@S>sxTcipIS7hW?TH8eWecSo1w{DvBMFT(dC+2BK zp#<`e{*T*FpI5!p5tEpIP_ngMfx{oWl{$aoq5xwXaCJyZbHh`q>qNP7$L3L3%_UwU z7b=Xp+yqFnJc;vvIbZ_!6Eg?l_J-bRZbsPE~c68dZ&fNM8D4$V(&aa#TfZCvtrl7&iM)~LYR zv7^D1M0ffU;OC`%5}7r_%*TuL%TmJYSYB!QgwhuZAs!%z7sL5Lcj8bONwmj_0%m6| zlJC48FK$n>#PCQsp$7SUR}yeDu_*S)%+s4!T1tr(eST^GuX+%UKxVqevAeWNp#?usGuM(@pGUp!_!dGQEudYdL1=MnBdtEDJj9*^?Z5{$asf*m_BxJ_3 ztxr*N;{G{blqfZb#~spI7RA)^`O=S1LhMDs5Ym3gjY!~@DMOKq3&7fG#9vb&AK$UU zGLBW+%eUIqOIGbO#mLWb2`gEuhSU+|aumf4%9Q48Zhbw}22yxdnQs;{jsJ=Dz0L>Uxd>=4LX$IcA&RbbRd0F+KyTvrJ(3~T~+@z z`4iP<9(jIy9W&YHffk{zjbJO$;j;!8j`GS4q!KC?z;#&0-h>-i`U*`m()vkxxm559;f3cE~ik{uaow>ufxOw#$gQCYI&dgojm59Z*r73b7@xn z>y@lKUtgYND-9XfTsLVozJd3y%uZ6Iu3i~PIQo=(Udyd;IpJ_U2%P!%TM3^}COFgk zsQq*qmnU(aU3uz;sx%n(ylNvQFXpN-obgX^b+OdBwM4~VPsb`~yP~)t48!#T9P$=! zc$5|oq1X~bEiNwZDQ`ax+q#*g=2NLRU@4WOv)vldlNQn|ptSB%`jF9m8f)4*MvIcQ zI^#!n{^6Sbv%=%bENr*}F_^S!+L+mRZi=a;e(a&nwL-oRPn$8gEAHMVqh>u#+ph># z&`V^>x@+-(RJBfgp2dJ}U3ZG6UIm`+oFthoDekYc!uZE`4P!4M2a&bS~T+H9J0=NuprHk@Edr;le zXk>T~dem?Pt0)Lo%`}8Q*w6NCb6Hw8TI~Wtl0PmT8(__NQs@j4A8xC{|Wp%pYj#8}A>jnX{)mQfwYt$A0KHoh(o# z49SWcNA^X|4M~J9&$oqi>Fy74d~&GR$QLhdRpEDXe=@E@2~WaU^CBIh;TKf7N!>3n4Ys;R z!F2rWpCA&BeuPQHr(M@Vx9j*}{bly2Zya3Lni^J?Y>Uaej9%9+bTwyE`>j=vvKlOF zmNPp~RX2-^v{wl~U&cE)vx8oAvMh&SH5?ti+@?<2JU?I`n}`r7JQp6YU=-}I<;~MP z4~*PajY|hx9NEe5y+-~zj4nbei-~_s4fr-VT=k7CsN*)_*HDvBBCP@<-IHG5?0Pi1 zR33D$5f5+~K{;su^%r%%hFw)nMvQ7P6PvGy-NNp#cq+BP(7=d0BTzeG(-++&|8(MZ zv-*s|BdDQx-Pe42T74a2@CSXH)A~T&^R*n2;Zgqnuy=gT^Sa`Dc-QB6ZcKx6IWa%x z^j?bVSSWu+b}N`Wq(#>Bsq8T=K4Mgi$2LirnXKB~Z+F2rfW-CysiC3?W1WfJZnhgH zL{oJ16SB9yVsHYL2500aV(`gyyT|GM=W8O}%;V@GJZsP+EmmmoC>Gso**|pSd{uOYYA1iA>MT#ugMU@vt)@RnBMbVM%=Ri6@bn z_9z068B?2T=f%h;_ygxRLGw8x$bhTqmiz7aY`PF9d|*8A$}DYm{QTwnBT9DWqH-ek zlEOhItpwi4az59tciJqyxlEru>_4kuP)*5wS9hUVLb4y(`|>ouRpgdUAGAd;nSNmz zb{2<&dzwD4TSQ}Q9^Y`u8}{<}lK*0N@-?mj3ylliuACK_arPvFqd(zt>E`B5J>to@ z9}_pidi@O+*w&0YjC;3doY5Ff!_&y6vLA_^x;7TQ+wAT%XvS=h0M))+huXJn8-ur5#T8Jo;yU&(XY866qA&1$iV?=TvIM3ai!f`aL6DR z#R&IkN`tjY683OzX~#Ybqu+P;oiCJH`+9BNGngda;>L)<(10adZpQ>n>v^ z!A@LAW3!W!F@3IV-0Cocsu!cVSI7Vrg^JZ+Y40sMYEQ9qx3w{H^EBK)B8lfi)9nFy zwjA{F`V;Dz^M>^O)o=!zX%Z)`;}pZSC=5wr;|_G@g~z;|Fb)C|og~HJOEjSG*e-u; zYw2Q7NwaBDon;|Mlc0YayS&XFI@K)04mL0Uy6zZx$qGv8&AAq%A9`5^?!)v9=MG z{nJOAv+J6jaMJqrHi({wHb-`ZvganV8*=;eHS9yvL!(Lp&&Rv0gpZ7FNBjLx z*0iXUlu)*~vQaDSsoIz3Td`5>pK^8ql%jE=D;Dh=GEfAJ2C~af5qu4h(G(d^i(Dvz z&7W*UUOm4ph`tidhGu74jK_$Zc*SU&+#pu`Q?{^|{hfA0a>_g` znbdM5zTj)H4BqhFu9BNPR@Zt3T2P9XV{yAzCzHk^?33du7e>4)1;R=EF-StA$FIKP z1&wqu@_B^NfG94jhO#Ih!kX5D&Qp3dGbcrLJ6XwL%ow7PyQp^L@h@@sXw-LNt3QIC*0 zp1nP^bCLgbQ)6Ya@CrB6h83KfT}U^IMN|!|*N+1+Q6kUQWI&WhTf z1=I2cIEM-hghWIb7#?m`-VCBwm0!OSFtpHgxYf@nJ=O?A|DAXIPCZ^BQ`_y&)|*u- z&ib}qHQ2QEiR8egufCXu*;)Q|FTN?J{1|m< zn!cweXMnj0AzbU-pN9j;D6R~9T}JW9 z>-tXfeKng>Q{cT1-_^ngsdnb(-`Z1k?Rx7Swa51A3@P{o z7urnI7=sCu9A>L>^vAU@C1;+2t>K%;iZgy-Z#w2k$$5XIVt+CjeOwVUD;1=5Mx_4W zd&qc!k5vX<6(2=nBJz)kUblDx9UAh6!WvnM0Z6fn*nP0?^B*S-&VYO!+))ckOFfPt z$h;QP=f(MmWc`jj`9WKo&*{9>5d87Mt~BQxmF#2}P5c5|gyHZ<0`mC6=^tjoX^(UH z=_MOF)3ft-$U3DpyC;p0$G7M&6U$}`Y*$apwtQR3 zYrQ8E_d_73HU1R?|33&VGSc8*&O&aBf>Y|q;v?h}F`r`H(jJOi( zrXAg1+|7eZ$}}u9k{pn67_>F7%$_jSj4fX(HI4wn%f))K9;v7LnkP@EOtlrBnBj2C z=K3CW#ywRkqh(dIl^lO@Yrb;~ zgIRY02yp^3mt7cneWWz#LhhzlkoI4sy|AgDEEERm1n462nQOLBDn?FOJ^nz#GodRu zFZC<<3HCH1Z7ok^mANCIGeouY(eZphF!x=`T|JGcvCMlJ1E z5d^X1XHuw$*)wGRZR3FN^5_|LeM|&#UDV#=E*C|8HpbntRe(JT&osR-7d!@*%>?-} z+b-FHx&jS?aH0>ourSxn;$*3g!gQm?m(flDJO@G)N@ zpOAzIiinGJOD^Q2#GX1Ib~qj8KbI^AT1Lg}D;J6t88~tvw@|_gatA^|A2sW6)#fic z1AClxIY}MPGLa4u@XKL=t8D>gLYo<1C5x{m<;}~6M=(bqfC|Yx*qCsF1Cm@&K@6~a+I1PGj9A1M zT z53|Z~6GRhBa5i}!V@ikPIXLkIYC#sPz90mG5lS$-w_%S{cVeKUxT=>rp^PdS_c3aJ z=Nr)3VM!_FCtWK6qYPOMhrv3=iyIj=Ya+Q9Gd%*lQFb=D_Y`4LT`XajoE*=k4SEaE z;r+6cc?+mZ)>>#sl^QD|voIS`kWP~fkot2ZtTcB8esMtbGad;QdQy?-K$I_i{L-CA z=UVh%?B`l4kf&XmyU{VsJ_hgM}rJD;rZ2uzHqkcFkTwZ!4$ZtpM_ zBc)MjdRUF6ZEL|>uP-CJc$Qmc@Hd0(v}Wg{n7?m?NC+L!J|MQ=L-D8CQs*EhjYJ6T zz!tMtP1Y7N7Ad}o>mtV}XwX?s*iGXXgbm4KWE1!Rg?NnL|0ZEdXK+ol`<%DGae-p3 zg%S15$zqMz)Q)9WbA6d6GblfaU{LQa$3+zOjHhp(lH`l1rd=85k20EH5?5 z>XM6J=`R9J7+y{MpY_DQstUD$cm8?tnx1gM}m1-eZ0N*D5L4UZGckHH}c5}g2>{lG* z5o{yYG|Y?XlYUVwvLs?3Y6XUtOx{$ncqR47?Yg) zI(ijhu6ByxX&Mn5eoLJ~Kqg~_&fDchNsHh8B`1pyaWBfIUnJ&7{2);ssC3lcZ_zLr zp5=p-&XYY(dG$;hXkOOO2@4C$jbK%cD2z=HlftJoEC|L*1`m=Vr$3f* zj)nXO&7MlgTYs4*t?~1QL@Xd#Z&?cJx10;|>VjsE`BI-750%DLs$8F2dDc>!~%n(Vg0S+O<8*(k{~{ zlE8V4!8SY=8TfoAKddAmB}-wRwS+MJSiKIC_e}j7b25tiV+^r9`2x%-s>8XM*i5t$ z6>Isdv7%vabH@RkI0HT`i9@Tn0@9ao0tkJeQwE!!wAgU8zq^~2n+usGGe8->-&%pl z&0;t{8ZtzYGc|lCxQQ1bBxg&S8c-Z7;fFt_J#176AQsK! zg#_%N@{(1f=ogQaPIJcDKd`42NDAd#<9I zEIo3-((-*OPYGD3yd??m7-8MdGIk|%EPwh+p{@EZ$!WLIf~KdV3OWc#NcWTCLqm-; zDI8X)+HgUN^j8;I?K;A@%={dx#+rCDljQhNYQ=)2)I<|Ur_5mq<{vS=^lCWz-8(gNMGC zzkI2@gFpAZwUbOKAwh0xNi6-Y`4t>KZdmriK!g}69KwDkJ zlXzkR)I-FHyz}dcBr$Sw)6}!Fo<*@Tmpm2bzrub;u!wip6pZ66)b(+2%@|r>J*vk< zX1a753%ps*FB@Cmq4~O~RdupNGHnwF>%1X3)}0hHq6hmOlbii|6 z5+#gQEu3q2gZNew7Le7DMh;4vrir63tW0p=6vNJds< zYY`+cQNi311!0+~-E(_wBILO1Omi;qM@n(w|C^CtK(aJpOXsF#;F6K|?vrFhAeYQ< z>TE{4-T>_i;1jua?XfJ3WJNIzjVKH&P-I2Z^&HfA4H1gFgrmM5=q;7%hWmO3f7vAC zHl|`aD$Q$|KAJ7)GtzoUXa@B$Xt!3qR}QyZQlU;6IjRH+%tmRue~3<7hsw!6x*&=T zApb&MVPbJZqVRBF^g%_GEz*FWOc79- zYS*wQoOpx;J;b1>GM0Q8EmsVWiV?jUBYja`G@*T(p=pnxL;B~QzWDH;>4i-TQf8%n zi*~0gkQ=dxA-hj-dc13;AiYA_lnNx37PMp{Wo!ge77Eg73K6;_rO=YgD<8L&@hsj8 zV!~jueI&3lmHJKqlV&g{XKSD^JgWAwtP}UlxtHH|_l=4^Th3IKl@GZ(LIk`(Jj5Ws z;AngdDVI%lvs=B&eiE^C-D5_;;EwgZe7=+bvs1N_d*_4?_*bmi$Dapl&CJz1n%G<# zcuXjI$Gi_POrNR$&!*Vui|-xmM$#R)%d$6%9c2e>UGyIazc#FB>4Te5o*Oiv3aLSL|RyLhAWmfN1p2&Lvu}{s@>o_7|fml z*Dt@;FED_C`dt~x3x#_ux3dnXXf$TiW-6130uCm{H8$CjbvLYJOu%4w^O?uF()8&+ z^F$s@{LJ=AIa{*ch^hK4U=5B^<9d5yG&QAyk78fR$u6 z@vD8kzqA1KN)>~}0qas2x`V8OivAzP+mht*_e_#j2CnFG#Ej1wv@y$0r+lGS=HAJB ze*g4R%x7fhkfNpi=F6>xO+fCk%U#~DJXWhn*;SwK1!H|OvwNlYgd%aeX*ARsD7}^@ zqc8<){>B8w?dj-Icga!-IUjx-EM`2`EePRn8u#^VXw;utlHP*p? ztsn|gLWNlw(fID;#Ym8(U7#~fvRq`yQS@v{%wOFNe*-?8j!39~1umW^5>P?@qP^|M zIrHMdX0WewguacK|3ttTxn~*7=`&>5C#yAwp(-bNOH%FIF-Joa#55ehIGQhxzG^ON z$k0SJS2ldN8Ua*qH0#rJOWjs|)2rLn$ANO_yv z>n(q5I>ff9I=F0mZ*%ONy(Vq!trNG(V%zFuxgE2DTW=U*oa+J}zCV__tNnF9)Oj_$ z+2!ns)csKUzIXi1ulN1=_8ys4*ZCX7`AJxXs?xAs%zWD;D!rX)Pu`vGWHR^(>B7&O zac$(ZT|%Vc4^nL(?bcNSu$x1FO~rV1`F?&yc&hgZdP}mvyr$$@KwD-@;d>Lni`oem za}`#X9h^-Zd0J_iT_qEHt@l*V*XK^p##OLvth4xMk^c_n9)?A_X3|(qG?evX-!Sn{ z_ad?(fX}0QDA2TI>oJQil99mymd5T7Bp#e@mb^FFGJ0xnohOB`s4jXdekm>V<0!7- zSGft2gi2tBht!=Kz$58LZ@`k77OK!-TVW-Gdr$bqnMqY$s zd?VG?Ke|w;ZDPFMIGB!rqMoRCI$l>RhWE=(G=gu>7K>r5nA>ekNc+pr*mMRY`Gub> z-Qnt6kJ7!4$(|3k5c0=-N3?o+O4n;P!pVaNY+cUxLyEXCx)2qvsiOib?L zpT-)qRuNB(lwy#X{A;R4 zEb=Up$_Sr`lC*h?bo4$iRwE<389H#FtIT!o{NfUgWl6Dmks-S56?*85OlfT7-N|6+ zD#>9`IP*WoCS40l$Z!-7Z@}JmRotAI)ccwcKbS5_v;{?bma1wM;HA4-o_uQpPThKE zi4Yiory#3qQJ4m>q0V1Q5*GASg<1G@W~XIm{knoyF$SoPBFkVqu-7=+bH3en2%4{L z>6$ttIeP$DJZl`zy0J)w&9oNOaxdlQRHMe-N_Tq*N8F7N5?v7t`r2Z>e|8NIINh}G z%uwSmAPgnT@f@LZCI+f~Q+pn#0_p7~M9sVKJg=fiCuAToP(%&z#~&&6$r z>*Um=l~Pnd zMGKX?wyN19=;d%hCONjra~ohQt{tUO9?@(mt#P%$dyE^6002d(jN-Q~02>UZZjqXn zD3UHYjT;sGU}+vtg8un8!;{%3B21DrvT1J=>hDDB>Q$eVBTiIG;wFsGw*&81tS(b+ z_rFT3kgv7CR@{qIdlHfF-EXhjxG2yU$77IF3k#avz@8b#J-==~@~hma{lNie-1e{L z(2|rgvN)tHSXvp&lip^&(~fMXDW^i6j&K9ND2{Z)!Np#emQ)_?pY_PDHyi2aZK2&? z2@hvRZ(U~eUGL3!nnol3$KC%K0RH-fyOf_<3Qzv77{+VR@m0g_-xRpz;YDMinA&_hn$2?BLl#_Z`nzxce!?azR zhu7p7`cbr^Y=v;R2Tq(NrQcjb%)VS&O3r?;zBUy{3uVLX`78tVTQh!BZTcB`jK!6> zy;i$~_UnR9Bc)H^%tAx*_|&9jF6DmxK$45YVVYNua-eZ`Ha^>t72lbNm!iXOy&V*|5lCRmC4h>CMUZbLDfXXxJ=0p3Nv5Y)Qrr6|dCERTIwaG^?#?vS!jr zl03rFr)tSah9#;F2Y~2E_f5H}XUa3q2@yX0!XfCwDj2qV4~bmmd&v&gCHEdN*_J`K zR2cgKA>3W7AjU7UUBWB2HWtAAcBr^C)}w8xNs*!}Xgkt-h*=T;weVFx6&hf~&A=*a zSzSD|Q}~K9|J=4L?2k{NE1 ze^1sgXn_JrXIa?PAV_=!^o`Go8`+1(NjVH(1Ns>2L;boBR4%Z<*^-2nZKgZ*-*hoE zZ3n>!PhYj|@bJJRyfRta!WKS;j7IE^^B$@T>f=0{3NR&7ypZtn#vqscChF><9rFa)AObFf;@jKkQ0~$dY&C~Mc1*F&y|-4 zsHJ+yftz@7UEIGIU~{cc%1Bi8-B|GF0h{TKDcBW|1x$IA7C%DKaV7LXbGSjMDAQn_ zpf3UX_}FdLrTO@zK%cz=ei>d_hK|V6Ey6N@^>1(dp991%K@kVUA_g^WyJC*y$%uVNEoLve?W#)Fr#8`*mM#k`6#BCkq3 zbQm{z*X*72GRvoWet7v4K$;W?@zW%~~|JJ|wqpgM$1RoSb zmENW+_M1e0jZ5xk)>^h$g&%I?Nb91(&vXMPN-oO{{|*FJcj->rzy z>Otf?ih3Rjk0>I}XS~=hdTeG^&?SeH@N zL9Nth)po^ug*Efzsr`Gk*7}MeSh9l%;R-Btf%=`IcC&;Y&Ft2m%#&9=juM)#X8waF zt&>s8QU9^+@O+TGyN2k|j zKtgH*_u3^g3uB{;6pB|kk{0)!kVMia_w$Q8n@t`?EbM}6Zv=1-pN{-mIPJTUYT;!Q z+2cCCir7{2BC(2ukGxx${sUJxr{%U)r!(?)X?YSFauPx@N>sjNro~euj`;u*@P9E|Fv;|PGt57%H5Co=#mA27)aDV-$yqjT9@6xmdX5r$w z3};axVVLc@^F;02BiZb<=*#z&Oo1`mx`~pCOYzmG>PtuQ*EwD zs!#Bn-R!|zKKgMs zj)V)`_iP8+xF^49ysv9YHOG0=9bRN{v-0q23720FU|bD&xp-~3=XkwJ?jo^XtSSJ) z(8*aY|Hymd>WJ!~F^CVeAH*ap&kK+Kj!(87weplgEN|F({-rRg)dk!k(Vj$6A*7== z>zQ5ToT(^Y3?n@@Iz6QJt1*36_6vKZW4F->yF!>ku=wB*Uw_2I!AcR*?@m>F(;upZ zScWi0fxCMKtl`k8y8RL3G9j=J%098FV*{h3jE0e469%fyWlc=UcnxydhsLsUf>BF` z2ZwlgjAl((sc_HbdWG`M`Ip}owTf6tNaoN3`|%t1Exe1bgx(J^om<1B&LBpR-_I2?=9J(1LvDV4^2OI12p?~l z<5CKb&uZ(&0lbJNHISE=m-ej0n(ZQQnF>vwlDa8cDYzL%mJi#OD$^EC>yeT5`*ZcX zdCn3K$zztRDd`6*8Ajc6^Urg=fiL^X1#SDmLkmquC-b@rZDYX1Xviap%$A0CgR2HG z&2k>nbDcy`;ZX{8x=Ai2kUy)*}JLC@!(Pd=YUlt4>6b==Sj@zspbhIoP-9ki&6wsLt%se@3jY24jO)}gi<@hmU z(QF7u9Q@Ao_0Xi1Ue7w_pk5Z7JS%bc46viP=4+(N;nA(csuxo5YM*)X`t9bNEtw5@2idPGWW z%F=11qekkoI0s2q?@da_dKd4ySU)&)>aRw(# zL4N#?hq5U(r^Qr}!0|DoYRmcOy1M3kbh+RoGHNRN$q4FL1J7>;%%JwI_n)!hvc&x8 zk>f2|P$quJ$_~bT6QHu$^%YR0Ef4?lJv%~!tY#ko6cr#6R-U^18FR!i`>>m%4f$g$ z^2O|&Wb}{*7w$@nl}T{#@3ioL4t$zG)xLt0(#WD8B%34q`}49!#Dyx^(jh#%RfdGe z`VMT(axvT>pYHydc6SKzgOTjMrlp?Tz9lZD2he~0I8LRe>53lImV9(Yp#y-qX%C^D zWTfJ!>19N)R;#_GBSwaVwT}`@VjgcPq05=XDa+p;5#vfEumtly@EU&m2NC6;`veTJ z(EoQSwDG;@0oq`wjlWwcBRu4i-aHLq`YV-;EPk(MAdu{2Qs@|I!y<34{lkr=Ppc7| zn`qjkM{%&kg;H9}q>3_Ch)`k_>hXJ0(%x@dWPjmn|B(tYpo5lKG5`>8#NQFbNk%3T z?Hd7k#Mki=$zgDq!!p6UH6kK^2Pvs`@PbXw{#AAh{=tus#J4V;gm>i1SNr#s`_saFZux$9>ox*Tp#ImH|2yb2(1WgF6gF}1|9`=mtzR-LXSB)* zpZ+PF^`9`-AD@g$fUbcaBH!hIwX?tXg9#1f&(k~t5?AhGDf@RPZ??ib=c;b&OE!|P zw)3n^f1`>2xkBEMOJu)=YYI@~SO1GQ`DM-@lz4%~OePIn4l5O94J8D(bvb)t+5kJatV$MuyI;;q;!oq1U#M@&KSk!Q`n`aY`A>>9C3tu#K$V zfjxlB6SX{SH+-nnkB%qNu~s-wdmKHuO)y*d{FwHX*Xu z?|grKjWn(@T)y@5?I0&Sq$J`*3>JG_DKnf6SjslX0dK<{W0ZbhD+Vqp;himq1d+%3 z&)+a2=`da}5+3>Z=j3lR5P`t#hE{tEXL%%+A3LP!Zm)`1RMdSf%O|+A!TDB8n|XMPE+|d2c420|S5@s|c47S6rpru+ zyr)$En|;ayP67=^?eFwc!^E-15u99w<8JDh6fTZ{2#rV45LwIh#d0K(3vM^-Bc&z~ zOHhzVL{yZv3!o++eP}Js85&j!E5Tt2J2fT$Yv}k2VM0|>kKeLrbh!O>7tN>mHvT&! z0vPXUIdMLCjEJ+Sl|c4L*na_iKyz=x1lkhGa8z)((x6nNcGU$RzxDgMBtjgyY#gPX zK^H>H<VK#`@lre*;$~ZHjF`1Pn zev#AcX*F{9@ThrjEe#SPLM+Kn55Ni@PbG8~HET@LYYVvlNu})dbB#Xae~&HRkjcJ0 z_B$=CrPIVPSR|0-hKJ3UA>W&v&dngdDN+Ieh9I&A4`LN5t0*J^tFrN(>QrTj$e?Jl zF#MqTrO2WRx8ubH;&M^+X(;(_TLd!&cl| zd=tAqAp*`C9-JJOQtR>?{#JiU`GZT^uSV0Di3%s_*|EAH^*T6+IwK#N|@@J&8-%k1>hzg;FV) z@aa-U))ZpL)J%$}o@Kh(MGmD2#2nfOtjU2OF>)@m?D&{&D(VMpOhwTpi10iR-;Wm$ zf7p{+s|C&N_JlWqTJyW-v$KJb5iq>33i)pz{XYhl0G{Xn!`4>-#kFN!CqU2y5AGT~ zxJz(%cXtUcjk`*i5 zNKZ<^@3z*4@Tap|CBWQF?!AD!`t3`~LbZvzLZ(Jx@p^UTZdq8M_@~XuEBH1V&iiLpU_mLwP>$oAMeFh4de4 ziybK{ewW@VkjAnxrazQ-RU$$wo_URv_x+K^eEXT}Eoxsft=*J9J@IOv{O$0haz_E# zy8Tj}SkNUI8zXopJ)BN-NlE=}?$aXj6PEB3MAk)y;{%8VPkQbi+Ov=u2^y8ubDY>Y z7yom-cMZ73)L^&{Z%Hxt6A>5SAe2xUK5n<%SIhTa*;2SE zE#C>xo3TJjxN^~#UipT^;U_T~tqTHYq#}_lrr?|RCWiCThdfC4^ceSLWRplBfQWv4 zH{=Pp#WwS4sJzzC!8kUV)DWed4qf9)$OMtyX=je;VmJ(mVrP^gv>-J)wGlQ(6eH#* z#wH(PSJtSQctsqtG^WD*mnX@kz)5l+W#TH2XD5(%4ffBQ1G#sKp8s!akxZUJC*glQ zM(|m^Om|xN;S~HQMyh**P!XEIYII+T$PPyHy-&bV(QLceC@RT-eP}>Ie>*B!fVzp%uS>?n?iku6hilQ7 zCl#u`Bi_rQ1OUBV5-eBbO6_t-2N1i-1<46jCoGbu+T`_xb+uQ6z913W93+dK=kfq= zcNriO!;UOmXpfj`XW$q)Y@paT2+4zQxyEgEcZA1laiTt}hmE(88+qH>HMy8mNb^W- zHAR6ocm&zPs93*hS=MDlbinhrbt0YTgxGP9+S$2jrBQ8i3{1MvQbeMpUX^F zA*H6l8Jr}4Ru96nHWr%)bkRw(o3(Q-V~tg!Ytq%dus+)>9o4hGYZ=TJ>@j}Q-*y!S zqmj%iEBlP^q4;W_V^d4Bxzvqo==lFHvn;p|DEltv22zLr^VEwC5`^;yKJ@O~N$?4Q zUlZsFer(L-IHQwhBAyuXHD}NeOJog0=OoFbbtcn~JsaAIw~dGSS`7AaA*-5#(e%a9 zm6?eIu{T(3|D&)f*q+xf@Wd~*&(s0cW=qHY2f?ZM15qtJA<63ixpAF-a?Vh9uvzQY z_nJ_V&fwGuL3E@c%SHuxK$1&V<)~VyeHZFtddky@M(}e*8*WEA8KqhB+{4+U^LAXs zy`Jd_1PS%~HuJ+U?lo6WPy0`HVUv@d*olyA1iYRoo(o`_w^>p!o3%q(XKuCJxLmf_ zR{1Z(;YUH-*qu?+ny+j*K#ich<9gthFynNx@Rd&5vpH9)ihI+8o0lr~I5qj$dELl5 z$Di=nj9hge=Q-~0sGQa=b9>!SZnrR(us1Wo)z+v|rs^|2J)M+;iHXT}JF8%@<--3j z*3I8)o=b?52+RSK4R)A16A*102;tja-cJ-?6g_rQ?w#eKGNt=`H!)dS7_Xoo;(oV; zr>Gd0+NIv{GYN;oMXg!&u}GeYL_Py7egY3yNyvW40l@MDo997x3G0 zBmEse;sJI|*lgT&bQcC5ZX3t@E7460IyTyFd3$Bo%kn4Z3ongi6tR4ubY5AFBhT~` zVxJ%Bczdwz&wH4iUsub!E;V69XagH0gm5C9^{phht%gp6#=UP;@EHp@dw>OzAOi3#=y07?p zVs`dEvF7@rUoP$Red=(wW!HLSHGy;S*EU!|KcoQvm+Vi-@}m4$L%f9XK>rW8u`d zYU=8t+<-fOB|KJZ9C>+u#f|S&#{VPr|05ANIDo}uVmUid;&=rS5P&8dy)N(1@`%l6 zh%+42)Y!c|#gJPKb$1hh^#LT5Hv%mxXC>AGx?PCxG81Y9{21mrcYH$~dcWsVuupXFKsk$1skdW$8SAedX=& z{Jt}F>2oWgmn=1qr{_vpD39v|{kdmHFiON7j%w|ZA~0{6?9;YwPocG9_jE1N(X4LY z?{~+mj<<=XUze?CMa31$2*XOb#jEtMwY&qI9xYor6Yt~IGcZcj0HP)F$PiSg{I!Gk zhR|H1riP=rl5;_)CR^ip4i+MXWT;2!nAv#qvy%SG;Ra0!?&8hRUBv(his)n+pmI=1 zez*_B5i!AiZm@WvOs24s(pOOL^Sf^6hrEIm{Dvnk|HQD4{Y)>OGQNaPs&C(*M|i0i zUiubWtvM-YPiAIcd@$z8r?1i+!|R%EkAIF4{YS0!FC6)&%82>{B?n6Tc?SIXB2v;7 zEBrHtOT5jacW!f>E3FqB-=k*&q2WcM(mOjcQiI?MWu~8LhNugAM56SjfbpQJ4}+^l zCw34r2d8K<7ob8?Z1a{Fr=*H`G*^j-{H&N-4O=rY-CJ5fWn>m(_lTo>?v6-2H=2dQ zIp3weaR&eSRNJqlxBZu*TJW2{S6TNaR0W@o&8PW}YxJRy1zLV@hjS%<^Jd%HHod8p z>N)bZX6)|fuC&SZbFRIryZy)s$g|TL(nY`hP2Nn$3c##;pN-b7A@26P6 z{bTqJF*r{RCP6h%9sW1}6IvAnX%ntuvJ)C&VqOMbBngIS7CczZ@AOecWO`BmOpvb= zM;W#<$unhqTpR=@IXSt(XcGMoSI2ZkwDf+=`h874V3hHxkhG`tgI&ths0L+60mONw zdVc=(@9y9Ia1vwX>*2QbobzKC778Vh4=&Ng{tKuJnW;a$nAse+!fy*{>2V*M%zlu~ zkrsk#aARt~tVgN)r}!)X|5fsIN_lq!Q-uN2sZcwouAj?)J0p>s$3<_#6JbcDv*Asg z0MvM27L10atrGnW#5Gf%yQ$O#rx`U210&>7k%idg#Oiw@S@D+_S2dJelCQfvw$`EzHhP*SIx2stb@n*0aW{3gZKOfSkjj39jN8QpX zAJjnp6|+lx*a6)#aZ6;F+E$!|48?)ezB>sb2N|(iDWQC1Y%C(A$N^+X4suWmK)@v6W6$e8wkk1^aWG`>PGc|hp zVZ$<829*f}P3G)(xeJfIeI~mHnzhLB&*_ZSvKN3AjSL}zVZ!qfg(2HRga#~7OkEWZ}Cby~H#ZK5ZZB5eL->JGlD)LA1 zg)s~t!#SGzb{ye!uOO>>q}2N~;V~Zs-DB~GUetOzdB*O;E$<@3--;qgC6ov@{c!z7 z7;^U^mkTU*PjR`+7(PQx$icWM>G@r3iHpdkWn47y?EUkO%=!r-eF3B-VgU1olv1D) zv#g9YVKMpIm|nhv$OAu^987SPVudHZ@mKpeVp9Y8RC2(Mm<()72nx!W zbGbg7N-^&D@XujQ|3C5qVFOv#kJl8<)>H{VJ}3eL-_C|~&dc?Ma!g)zh3V}ElT@}D zxzSP77#Ky_z#k03!=9dN*uU)N`!HrJZ6?bwO8HN;OKXBQ^y??4k=6FCmmn=UzvJN3 z)V|2zXl*df8uhZpd-7-6ELMHhfcMl*T=kh^Nbkh=2#nq);qTVTO_&TrwPeZ`V(udc zQ&W=*2Sbw*7rH8`NTT^bnYh<&-Xm)vfyPi99bU}rID{M<7rGNHZj1#?E;odcELahj zM80o8K}xK1Zi-TDA2qB|XS@p+BS`WN{!!B?ubu+X7OIjGn3%8Bi9#XQmb8W0w zTOjPU-8HPi4du3vP;dE;3KuKYnv{tY_&^l`YXm=Pa7Ei2l)@VIkF~0-cPrJ>c6Gkd zkkdZCq<`OiI_!)>FUBkDmzXHjtrZ`76CwtTG**-snq-{i{!HfpNaNbHJ#sZ0zG~$w zK1}Z(s2$f%mtUkT+1F+0)eA0DidO;9*QypCwOw73=Z(M;`L(bebCj?+XXO0KnuQgo zs|}aTBa=Py#+0->#~FYx5cOyowCD@X8K*)VgkZ6!bl(ADyJE?(PBx1CXT-_31@29OsUaxjM2w6Ije4GV-Qh<=gX2R&cIuQx_;cWt zkbUJt&GV#8EJnAT7@r&Gv>a&C{Fef%EgFa!!g0CX{@xT1b_R9vwq9YYy~_FddPD9L zD!gU5d*ff@1SQ24WoE3~HWe;PUVYcJ>cCcv#dJ`XTCOe`^^h3TBSW|ERP@t7N6I5OHCik>D&t$M*fNd?oZ)lcFpM{Gx zq0l>IHflIIcj-UtWTnLl5Jciory$8Qg1A#vzXEx~H{)&BbYt^2n^^oTko$S#z0-SE zJL5=0XEvRB< zJVz|TaMm{OFi9(gwn4F%bWj{Qmv_7{Ia#jzpyV?=(<5oYLh9*O4jNSdp4}J?*=DnS zAsH_+VxzL4jM*3yoOlD5i_SD_ob?{m2@wF?>AuIrx<*`5?LwlUe>9&ALZOzWwzSedLtuyicSIs{T?N0F?Lb(e1aIxi|9q&*)`^{ z^4DmPl+LU6Z%}mF`rvfR9lkYeUazA9D?dFGvr^2+;XD>(f6N5To)MO!xI5FpK#?X+EZ zG0Qkn8e~rD=664#>HO90{-gr`V9otisYrRGo%^O#M96xQ&#-;?zQYwA7#lk$fSrj3 zpEu6?{#sLWOGrnq@Qk|N{tW=%=WA)6S?#07*U+OjGa-en~3q4&H$k>|R7q)9_N?Ze+a}QFJzz{LCy*(ZOdO9j4rcG`%n<2yDac3)nsayy% zo0&z(fwg}BAx!hrPIpzq#Xk3j^OK6_84HPxRwz2!Fh@p3)tdnIu@ihnn>i6b`Uftg zp|y%;>oM^>N9+(8E#^;{w9eT>d2xn{8Ec{Y?`??rgaP=}Ug*Rop2!N2jxZF(?{y73 z1loW@W}I(u8F~$J5#)vIY@uWmT*$DiDP5>%aQD+!Y}w04NCxJ|>^j*Kx9O^Dp$4~)FOA%w;m`8rp< z&vVk=1dGn45PnCi#M;Ik$8f}dDXiY6@isCdXBui_p|cWH(P z*@#+J65f?$#ZBy#lEm@DSnN}fZ#AJXF>ROk2{g78gi6?@nu(^@L?dn{m6s>3wbur| zYWtB#ndSw9r{l9MDJAz_94CyNaa?q6A1-GCgT{&+#qEaH+wuPSynqV@V-9fkx@gHr z*#iaYS>mF|o*kzp+O9=QLKk`65kjkoQ+H{}@wljq2)QWM`;nW-7W5NsrKX0t=J{;J zO(ixwCMPfNJ6Ea#wKP1GL~jtCo{k&4E~S0TS(QylKgBh9r@#Mf6BH)ikb6aZd@&w0 z4{qIfzO^lqHUnW(!pqx1bu|rcV=x?L+37p?jGHPNq5xQn`bLSl@&!)2ck8rp%*=0V z8OZIjm#hLJ>cwUh-W?sDjDBXX1u*ZmKj~e74q>ivEN3apP>!G5V^qd+Vf;IpZ}oOT z41MJIUP_7%-f+o%x)mP}()sg!Zzw9II{R9*_#Mm1$J|sBO4qs1)f|56TMZS67!u-> z7;~*0?hj8?KXT+Fe*=~d$C=@;Rzw3i6W+*073CQ(URK?1?N(QqRXZ+7M>U#>i!eR5 z#2oyazqcpRkZmuYz|DhmO02h|!1mE(Rerv81OU_u-L zd?!CIl!=3#26?aRgq0j&<>eJ@No2m(AxF(}Wt5nk6vSBCZ^`BOfshkfD3?!6vY6W; zXMDo7x>BLa1m1Gc#2rPu2E)TEdlHkzn6SE~F|n4UkDejC%f(<59rH;_16zOGXWr#^a82^_7@&kHBU5Gi`4rzT51O0|Y5Kd3058US|{W zqd&C7mVks*jSWyI#Q)AfJDmnuG5Udc-v{bux$vRZs*cVU-N}rGw_jV4v@o)cHbU)7 zGv_E1%&b@^w2(f@p7RnMO&s?4Hio-<8%c&8wfo*+E@oq=XCyKo1jlb zDJDQ3i7O=L#$tXVGA+HG!L(y6l4>s>8gU1H_Tpn;+tn*~M95KPGKSn*-|yz)>9TDc z7j=llG%}Eylh8_q;~ioUm@Uyjoo5ozle(sau-AAPORT{o{K!`CkVNr0gi0D`j@@h( za?^KcKU>2Z(%mSidLy0{N6+-yw-1B)Kzt`~Ho{#!B)_utbkq|IH?EG4 z^k4Wq67GKC?!X0vvB z#b%8^o&D`F=of3)>`MWnH!QvzZ;ccmcu|6#Tq7uwPQqAkDZVfXC1$tzP_EW5DE_mxl&{_kylY!#=AH`K`Lgf`uw6?*Uj4LIS|Gem33Pz7%oEMcq;ob-`^#a7!25*g(6krR`Nr4Gxt z9W+>aJ!xJ!v|9^z1XF;+F!_7GwQc_{?Od!ju)W$5!(sbLQ1p~Qqe0L;mG#4~${@&1 zw$;l^wuyR#-6&MuO@1}Z2f#a+H$~o((BY#s(o;(MS2avZCxqZfrc*44p%ys<`#KOQ z7>Jx;7}5+;KahUyuu6N*eI|d?FmqP)JSlgO=bs-dchqD>x@vP`^vgkWozKb6X0+Xt zCBx&Wy`CCNP&K4QFsFsr89r79P@O+D?q%QF&c zUQ3;rnfVi|W|IbnAYm;!u^A>ak+8%I$&h^K`p1hQ(;TVvXb#E6q z+V3$P4w^DifTr$cpvR(1H!>e%{3HgYn?ExO>GtGPK$3~scRA{mr1E~N9X=aRmBb>F zx7I<$+C+YV9t>suu`Pu35)U#R!W^JIZAe8x>`zA}dTsS~iG8nM?%=}O%+mE(?0NSb z2(05g6BH^`w*0d+H{lSO>*$x8Wu&5*^f`{-$*6wp?G$sS_e-OX zN9KzPaJPq`a@Zj-v* zmuU8sGiyRV1e?J$tcmoOg6gcqQ63ze|3Qqgde>95?T&skH?2 z4ELg1r=7DZw&_b{=_`G+2@`kXErSo%fkZaN`A7^o^vY_`|GBLZxMVTpqTXPcyk>Fu zdcV%9Ce3BHBkFK8JM`FQbY?J+^%Z4RL=%;S^00tA`5-%?VWr}ZqQq*HGCf1nLGD(X zB}@CP)2u58h-q(!5RRJ^cJHJ*vT?fPAqgY#sesAcU3Z10uh5(EUqq6D(fU8J7iX zNn929T38Zg*|%9@+x5)5L~Fz{_qBFH0a@4dLU*vJOI%gG5U!zoJyh&fYfEtqschY< z%|vt<--jppQ*)zZ??*bqv?d|u`bi$xDms4R)8*H4+@|N=j)j{k%dhAt#VoJX z1YstC=Y8Ch;9Z6Wo&#jg^AbV?83}EKhgG>jLbU*<5xJ|^=N)4pcG7y8J(m)V443pJd^D^f9;X8@50+=sO*v9 zT-^3x7dV^C4MeE8(FqSuQOVca=Cv-8VvqBj0NS<|@P;bI6@MfCMjCf`5gthuFLW@P zhtlEKlAvZC9@2-fxb<09ZL4mM?{RMOOBh&=FfB~sJcV=(E49`vHj6=WjH9=7{ZGt6 zbv80j1fT6-q;Hupl({VTnAtjXBGqf?E`$QTW0o~4w?4eRp17MVb@QolQ&f_2&^DY$ zyqX)&&KxJ^Oaxc6ou?rk05OwRm7)rZ`a+ggW4@mDU+m>LJLPaQ(#o|#g`5;zU&x8; zN8m8HAt(d1%KfMl$hT&@u51qsWXQSd4Pv?9;h{O!2xX9IHZ9sQjp zF5Q3-m=qZSV@ye@$5EH=M(Thuz z-b$GfqY0D>jKCfGnqY?-^zikJPh_Q@Lz0E!x1E}I)gTWRi2*t06aQeIyE5W*6X!*w z;JW0xEMHu+?7=)KOSNyY(Vv~Utx)v!Qd5I&U|@tbfnW;XDB|Y}32#rGFk|=>pbd?T z%xn)&8`t4ezG56noK1+ul2L3j4x=1S!bY%7{G;1Y=>4;(n^8>uoL z=n_r%f~9E{{9(^2E?Hq>I@8)9opvBYtLB3a0qWO)*GR{w{JRZ{=!dTtXldq3^IcM` z8t`a9 z=VAhY>7=JQ$$}&JPE+yUDqLVJ5Kvdhm={|vJv?skJP2vinSM?AO7>OzMGh*JzKt_e zqizlk!QKQ{O~|L~7Zsuim$p@uy{3s*J3h$K9E?s_9I_fUVt%HEF~wo(kJ(6VaLiN^x&t|pZnvW5 z8|l(uXAzH>@0T26n66gYfMzHiUTlD@XuWT4E8)6Oo1lm-t_gIIt>VN6VjFg&Ae+Ma zRA{xBPl+aUhM~d2!A<2$B%1b(4c|BU-x;%)RN9T%wm!^y-Gsx9FoE~PA<|blBjgn- z>-SMr>Q$=4R-c#EAzq)q^0WI(7ukvpi}2@R8*OYFH@X77?h_e<$+Za8c1vb> zR3#3N)s8onI2YMU>OurozQRXPaW$`R*mDR^eF00S$P`n zp^q8d>eQp7eEwExfJTD}XLaElVedu$W0@zrA&5#C#V4z8bG)NTUZH_W4g+a8yM^%V z;wv0PaasyFlY2DSNO33pD90QzZo25-iF`1SFuv=47*AvOi@;_LbR8WX?PcFjLrGX) zV{od}1a)@VU&*%2ZxPqEUlqROLnePwND$V2>H12s(NeH zx$0K5>CEErEPm15flb)a>eoT+Y;ozbm&Dk(QqTznnikq^3kf3~184{y9yZ)i+d_PY zWso|&4WvA)hvm7=ZeP)68}>2q?tg5wB=1^52`J;vY!FMQ4je3!An%#dgz$YdJUi>9 z84B%$@Ha~xm!cvNOWzno zF1^OWME6Ouu?Y2~u00taCS(e4cmXu|dpok$mnS{lK`SKgGqb@Ed}^Xc78)Aov+wd8 zIhkM0-D9<8{Mnkn(s`w0f-ko1nRim%l)AKh4M4wNDYO4U+lRYlxU@8fMF(HNYsngi zl72lB+DSpf?gQtEnvm>5&LNe0fnMJ7@h~j&;xFT`^VYmMGO<@8S((cNA^&qFDywC8}cS@OEvfBl-x^fZfrvtBpvHJDsG!y6!6#TkOI za6UDM((3W*hdtOLciK0qx@xZ!V@*j{BcIz5QIVM4h~1CAx7=3Ndlauhbh8*0AzsDA ziMNLqDbg4ySrE1%R?`em>0tbXyY`TsVrdd#ak01=q25my3NZdVA|3TPuOSz<#WlbjUM(u&xrrG0K5cCym+3ukOH*U1*ehI@=&F6M=F zm?#?&0v|?>Ng+YF$d3@Gb~$8zpv8%j7MojaJSA@Ju&o>!pvU3S_K}wJ4_!_X$av>@ zg@7H9>0=joCgkk%n|Ws4?64{O>3);Ug|uhe5sOK)c^D2?2;T`O;bb0WC86CN^183P z>_0U)A?e%EjNE4;t^a;j{_r4(w>Qc&;aY`1W>ohwuV+=Cv0e*RHI>p;Z!`tw^<%9s zV~yRM>y3m|Qy5(#=XQ1H9-AF?vAH+x=$GybhK#VRbXvM1ZhuFn+ZT3lk*(j^0+aa) zEb>5eTlaer)#lvZvodt{iX{u+5@H}Yxnwu6+~y$Jy3m=rUsDH$Hkk#o>8QPomeYqB zZe4lg6WWSZp6;~2k5hAqoVrZ7EGUIf0kkmjwZ6C7B(UpA{w-nifqelvcohFgGX2MB zC(!zrOYlJuL|Lp-5mP4rqG+Sf0fzJi)ot=rPE=~}b5tAPqMZe66PJGHhU^BS@2Byi z9q*OTet8^$-&j>afMBMyF)mZXWmdhKUa#f?uvxd;nxi5WLTaeA6-E-EKasR8xM;GK zSh)PaWq<53*#g#>x7HhHHgGfnaJ7|1Ohqr?FG?Q?Bjkv4ailr?q zBHh;9H!-y~#OQiySSNzJnH_pJ_d^~%=)ZYjHmoojd4CS4w#2b%RAI$;_OzS{abua7 z!o|KQ;2;X1&86elv%ZkG`=XyT54A9!;qBG_)b0c@z7KNI#@*}+gQ?{W*t6N(?W>{> zP`wt`#c?GT&Q-`g8@^ckU!BHnqz#dwNarzj{eKinK29L@9D!?_wxY6fAPg@N1oQ4s z1dXFG8#94rb5+^eplPhPc|vB=>3fwU8!Cs&yxFt;jb(}cKo~5FrM91!%#GWTEfq>| zi=X(dA|&i&%_EndizarcY+rY`dtOAxd<^Kiq-qBQsTng+kcrCyhd;m9egWq!(ntojuP<=1b z*ijQuTZN_HFIf3$T{*a0&^LHrK=Gv)vn_~igtbIk|0dYehri(8XL|bSyP3hZq$QT#uLkqmgTHxmeFx){B3;pXJXDBNmAy zprV4~c2lhhQG=Z5jkv{JE))oY&j#6|gUnV1+}zv@R_oi_I*<#c;|YF*K;zwZ@^Uhg zPC{uZL(1__+uKF&#q*XUzZ6kc&cYp%=I1Yg{rEDT#ukFLJ5bnwID8aWc|vo%*RGt9 zCM+k$44i%A(2-t&@Z0`vTUZt>`6}lJs;1vV9<1*8#6;g zLjsWyQnJAy=lh^9u{tUzZ=H09j3(oz>qMH&?)~ywG&7#VMnz%7-Gn2DMv2LQ3%N}SP6OTS~+H~77t{g?z$_nqV7WwsMsS5&b zMh)DE)1N((ifrv8uK<$xRzl?v9Dwa_`y3&pO2T?E^#A^yb z-emtvtJ0g~?T%+t)Zr& zlp~JMhlqj_GY|2zWL7Ayt3xH1&ggvuhuXM)+)xow@D&;J1ulu1nM2AHsLx9Zl7cP| z7GF$3T^AQQSTf6H!7Z^U##c@NaFG!fUJ_szR=sl?QRCp3L7Je!hV^))@WJa$1DbX9 z&t2_Y;^%wM-p~oF-LJ|nh({6!R|)z*vRDY^haLjQycF6SZlRaYw3am|JVJB<|F>2 z@*?@3@)ttkvq1U@_oGIw)RJLEQEuo)&3(AP!cH{W9@HOF1EXMj59GA<9AV)``14k_>*Q0v}__1{!u1meT5m^w~=Uo$-|my4d$^6 zPTE29!`dcJDZj)mPka1ph5oU-aMQi>$v&Bh{~*UrM;MU#D~01Gf{L`-o#pGcRW&<8 z&dKjP8O-4iDA}J+WQ9P46U_A< zl?ne3fbf6UGAZ~+AOsyb_kYp-e@XWKyqlGav?1?;dm3ur`UAqywKzaRMSrHCyvDCh zJ(Z^4Ue7YKCkS1?{}JVuhvEnBhL|7BV0`smiP_Ju|B3?tj0J!D+nWUX-WcHdEq4NZ zOqo$E)?IsJD;r{xip{`b#9bogW#DP4a){EjaN%#9a4b0t`_qzFL|y>k=>Ay`J}L<1 z$HW@dSj@i-oBz!dt#bz3yKd?I{LgPI^=HJT*>BZjYJv^13thjI;;sI|5(Ic zZV*4*)+=POD}jhWVm+ikw+=6j)i}=DcqkM>pVdlCN`=7_y;8M&WqRbae%AYdwEzM~ zj>4fCSeH{s9rCF!KZ(DP@t=5yg|Nzgf1JfEF#^cPg*Z4C(N;w%p*JF@ppcs=kuV3h zqp9yaSxQzkL4rKexYwp#shyFUiTOJ&=|2scf<^uiRW3`aWXgs4Za&^(BE&1rHA`i7 zD0>uzNnLyHjy%M(@F&WINm1QQBSZKKkv>a8kUbNT&2qrd(AEp$AH@E(#OkqpW@cs< zECUUq1hmkgRMA_9FDzS9QSpbv3L0c0CnpDDLKreUyCxYWfoL$&(!%EElpyZ60|x~~ z2$+Io<>&PO+!4JgpgpFFlHcJZ(pfoQaJ_UqGglIUZ85hdQ4PKI=dv)Cp?to}iNT0> zxr!@_|C~^ohCDU+c|!WviVG6x8jFCsi$Msr#20$=OG2H&yny?&xqCpFFuA7?Q%PBw zpqLm8sH)Eu%1KMZG2Ay45Tr(m`Te7p49PKU9Mud^One7&^aUyYrfQQ$Ckk8eX8!Lv z1cimkc?jS2r3OcvMIM+shL4XQzUlRq)N{=5D<|;SjE6nIUajDml$Amc2GC!(3m(Df z1deNR7|dZFyMJi%bHk=_*(Y(!?lg?9i*hxJ=icmAr z5VW+%jXy9a&Z@weYBqFCx)qhoJUeR5F_+)5rC|ImoyS8xOrp*0mcQ|A6(>~`1}Q~Q z6qw8R%4zoi4Ufx_XTr9-w|9go$xwS}*pVg%mBkHcdJ3O7$VS+ARDl1tPUiSCld*18+dPTdN_i zo1;0*(>-+W&d(@6(_968J}y((Yn3aM>YF-_kS)rutf;9gPTR*T26Dt)Z)9-|zgNBJ zQf2(hj1vIjfmiGjHfm^^BfMIh;*UMI)SiCi9+;ctB+w;)#u-8y0sN@&12J#q#Ec2Q zV6c4vO|~g0&qH?Y8O-ll3wXAEkHU282{IOk|puX^3qhqsU=HNiSr(gySgmUn zt(MfQ`Sh)r;$6^|VU^Jl<6mj06$MdlC|JT|#n1AZCwx2fzGd=AM?$+&bscoLQ+VdDv_?5iGT1Iy0LQ+6B9#C;3vFH`;QQw zB?Z&_2J3}ps)JuIj`UJKZZTg#%}ycpbEQfXCNG9N;TtJwtXIgby^WCYFQsccR6d%u zZ?>ZTM9-3s4j~-PpUR(9t(t)9it@MN4S5!3LD{!btV->a&iK;_Me6E{Krl{G@i5tD zI%V$F$P|kFo$rMpO#Lrn)>edfG7Mq0*nkH95qD9_`U=Ok&@=4Dt1J}_J zzog6<$mA@S^3iC?!AXq9H0a}YbMr*lyji1Zzn%pkrP`g0B@wGL^VE)l=B$J)_K!2e z+F78?`N2wSm`A#?6%5xQ<{gDBZinmWIJ2XJ+hYCV_;@)q-1u3s$!h<>7Fk|vxLlxc zw<~Q?K@&OnuhjhK@%lNB9Q~R?Nl6)9%x1+dYHbUichFsgnN7 zf1wl*-~ypLp+!r|H)ss{4d3g5(q!>^7n@7*#T6RnmRbfCqvg0uQAMI2fP{+KX7-Xa z_J-~Vac2Lzu}z;9acZ-l{FggRRiC-z+2*r&B|dSoK$%vIZKwdcY8AJg?~(W`KBomb zHfQ|};LkCI?M)%(1oa}$E;9JSAshj$C?0@-XTCX@lT`(X%tA02Gww;!nG7W(_mV}V z1VO0j&`hBok z)3qiOZYG3AMka@964Q|2|8=u_Q9uCU(t&v~ah{xj(nlVgED}F=Mf=yzYZC28Mx$=k z(|hh+6$^A4=5Dq1Zkgus0hx^DERA1Y^Od$;jd1IO+FZ#eQ!TjsW zp8fM?_@0wtD!fOW{x=66!>bsW8ZP*DwlJBanvsO z&$A@OSsR?;>K!@cL1;f;DDNz)i|6UgV(H8yODJNfCMqra*3wPVS3Ge#>;f$Dmt$Jc zw-#Zod5K)q_De=9C=)(fv>+4z$HBf&Ezr9a{igIjFT@GV~5QGP3J0hHq4*4tohmW0KjPZ9cWr zkI}lkuuya9=H*NNew@(9`OU&hU>f1_AvH3+yGvl;=JEk|U-u4Z6rS- zYqcoxyK}{zpSu`UfgN9DUD{>*Ux9urldmiRBJ4e;Cg{&2gm&+_!ELnhnm@!?9V|GK zK;yS?ECeb%c}UtE4&`a6FNh z&dd8T3t4{J_3$SdOWi#m`vO{zdz4Brv;&BlYz?VN_#5Xv~nXya9$8kD>>^YV1S)m)XL?jvEDH-q*XVBxP?M-ynIlvjpBRRPJWREp_{S#jLxOq=E`+jf zH;7JWt6^<+C%?lK_R!V2am%P-XIGl;bvN!6xo_1Qetm|zRdw2$9NJjQpjok|a=mZr zcfO&<(V@~aWCUe48ktU-4^6yqqRpUo%<)3y0zZ&C(Zn}TNK?JhI=um=+~nkUyA+}z@MV$rM6?KXa1PArU7)-%07r|KB-2pRXhiuApaA-8nnrc?;g*3pTip#DAM>4$k z4$kj~*D?nzYfnSet+rFvnrp1gZmIJZj*m8#xW1rM&nSITGdpWa@BYuvwtHR264p>TjRw^Uug9Al?2@_I0i>$JgprM+`poFSi3 zK9dBJd{hD~=(VqS<<-sGj!F{Ki%v4ef)&g&&u__=GdM-erD4#EQOK*uO|z&=lsJ;t z>u?KRX0M93An(j^l-Z{bp@Y`-7qM)hi4E7pdv5v9c2&mf?1hV))BX9G8S$5Us94(x zIAfGw{H@ieTH)fAh3XRMiKm?^WIB*bayFw;+Wk~I80*tC4JGfuaytDN(tC9)w71R< z*RDkFrSfIJ$Qji#6Ke+?I~+3rIpQ&3J(!OSjb|iL<2=Xckkc6eOyJ6#D6}#jPdnU* zW4PRGaE49(KbM+6og_AbKPJnxU@enQ5P~F#QeyB^Fa^>)GUs8aVR)ouZdJOMb{a0S zZ}qZBa1)Nt(Q1MM6|aPzZ};REZG8!+tIph!_xtM+gS;0eRfl7&zG>~Zd(&ChS+NRp zKMKFFAJSW=qzK(YvrulcuC4l3N+*R*pN?G8X}PlWBb@ktOv)LLtMYHGHZ!3QL@m(Y z7YBTxTo7fOkDvaE+n_!Q)2h0_i1qWC=|-$IxaTBU8%^wsM828&yrgnQ;kL0 zrc9-JTFcgi0W|9YkrhJz$(4K2{4Nw6?e{%oB!ynFgcdjTvcCzAoY-f8fZ4h&A~4$Q zo`{Z=#|>5D8_b&FKzgH23HjFg_glV(vN~jnr9 zjEDEJ=M!56Zi3HIr@acz5k_@y<{Fgas0XZbrJebeFrU?me?&airhpmds71GC*Zl?-vjbSQ@X~D*1>h2dJ}Hl5kU& zRrG716dmonX*uiuIpiVT1Am*bCt`G-QcIus z5AH>b_kQ;9^2h<&PRDT+(Efj6zzURg)Kl43!WhAb9u~FaLxe_@vsr|@<$eFKAGx=+ z!w|}uo=Q@%@^0TC-mX%yzu%_XJC?pbZM_TZ?iLc?5PSs>id1||sAAF|rq*Pjed=My zj5^7kO_J4``Gl^`i_80dNu+dYWyyVEcH%aXLh88U7#mZNq>_Krl`pR5ra&QqPrVY{ zGsAEhZYC&*FXtoJizFxZivwMHP`uJ1Td7CMSVE{j_N#@0Yqj4)VxF0RNz2QjyHRc` zz15PV63LiY#aS#*44zo#DVy#vDyTnzgZyw$b^LQ~!EoL%?#arjlyZ&X&}#obzzS|qZkOrCj7czJ(tVZV@DVZTPAGb zJJHCoxvd|u`|k+)4Fr9^kP5YcAd%?@A{b33Exd2@Tc`I4YFqr&!lmvLY4mEY;+>pf zaXPEY)Htl8LDV6vFSQ68fT)SSiF)HY)OQ%|%W>Pdw3Q*T_Z^UkGadL4&)yOMu`Sg1fr}cXw$B?hxGF z-Q5Z9?(Xi;IA1g8%$&)&_rHG?RCP54y#2_wwf5T3P}A>R;=_(|H^uIr4>0T&XhG|T zrNWK>dRMFstB{}=>H|LbvEg#JXv z7apCqdoi`|#%0f&A;G4zF_7hpe6eh0Ib=Y1T4&iaM5^ghoq11Y30=V~7jeX#at%Ip zd};UWFTo})sZJ4zWDYz{B1^1--bJx3-fAagrP38&Vp3Dl_H7CM-JMLMue{gT^W?tC z8fRM%u0wy=y7|R%vL(EAroVsp0LZx609CSDq%HKdhaZRXX07z?zWk=h=S7AH63HVm zFR`yf_z7=Lgdvg4CBQ&D#9f53Dwgq&;&un9*T)9vDv9Sl!th9bjJc9GcD@U#%=f&fTwG$cf=}*RtAm zC-Xf~DkT_&S1x()=IAZ?(}r|M^q8!d^e)xqyDU_iuJ-oP$!udb65aaNwcH}|wcBb% zY3~hz)#eawjQ5PK5^D+gt)a?o-=9Y+pJF%CS*5Od8&L7S6RpnQ5()X0`K#4^(oW%; zQrj&*hj;KvbW(2{$GOI^DJfcC&i;z??qe549fM^akv1%+*JHI~icU zn=PP585y^Jzk0W?j4?yWV#O(5_kzAf*T`BBDcol7w>U87JAUy{;jwyl5k&6?)a<>T zZkFDNBDAy_zMR_J0^)Y9oi^jH%>gqG+z33@XCym;IY+J`iYhJ{rrGijR_5pUwL*{I zKOh-ffvX+1S%IXC0hNRk zLcgWF_!%EbJ-V(Yee%_{wW7Gm!ET<0ZP%sIa2}f* zd;Pfv!*}+$VPhYY*Rw?5*EHzyJT>bvd~)Aa>cAbfMa-3XQQ!PoNRC><)vSTD&t*ZU zX#aEm(qc|o9Gi^9dHn($Zfk0KVlnDQw|#LG15`Qf#`TJrfI!zoz018GA2N+-9oKre z-QWebme}pNpJI*e;{|1+jot^P;BO?v2VjVBp`R!o=X=^AIvR46gFBf9V z>X2@(yKA4X`sfSqlRI_hu-lyka$!8L`S}!(s=G<-t4CnuqP(e#s!Key9sycpUE;Ys zDG#e2g=sPiR_R?c?(nC+x4w1?1RM_EvE;*mgjjj=%?h<+*bobqry5h6OCo{ z2|3dNgh}|jAU9rv0S0^oh_dc{PPKbvbospyN}vT&dk>DM?)0dE0xKmfga`1XYvVus zN+0G3>S_PnUWuQ@J&`ZfXCx-Za0=7j&3af-q_ip3NsiZ@9I?Ei(t6WB$6#hl=nsDy zFp({!yPI2W4FtaYsE<<}qGR{p4;^a9D*%>TY5GC^Qb^VDIUoB(8vYiK2UWk{j71qv zoLHlb7hrDEoiqw)ye#VsTrCtEXVCpgdr9FXe97f#F3MkKs)ol{r$qCp$OZ>g-9er*+A=IV$z^(Qjd?<4B}jI?yb)z=PTq zrEh9o&MvH$Xsvp1BU)7h&S&0jDOdNr+|0WcKX@t}Iap}kpZrHWcl2A{Cf;!dEY3~cVe*4#Hf@&=O14dC>eU{)OD^a+LrB=>0O(GhUky{4RdtRjVwjj6y?YMRy4JE z(1)9lw><{T7*11X7Z;Q07r7>cQo{%5g$+lem8SLK>!0ry11=`5yakDei0&R=xqC;t z733Yd0c`a~>q}2jn(9YA{fY6|Fe$(V@$sIsYCl{=r;=Ytjxh~6J*j+cl&qC#Y29R5 zsYt;wyyDhXUkFJ*9rzaM^dKFu&=QJw=YliqiT0@(LkCJON>Ph1hA@33dvhAmd=@sS zpbpfHq-LQdTz81_a-QwO68MmGw?z*6mO0+cV)Pvcu6}%v6M*wRjB+myZmUc5msh~zUeXzw=^{@D3+9tNA68676_cbk9)a)t`$*;7{J<8_RUF=Ftf-ozKxxk zDNqu3(l^K^=Fqk{e`D0c z=ER^=tQqH$T9BG=BSiNVS1b{HQuKF6&9Y( z6_q!k+~dpwFni_mctXUie)y6+3WX?;Vk(vO6<}9_9S3=r;zODJu6>DkCJk^Q(EV_P z9Jy$-_u*l0)FEHfE~oBg)o#@xnE{bB{A(N%`rerKVM@B(5OEhXIqQ1+hu(BXl=RnA zKj*y-Cx=JrWjF3L8Ei|yeWuk`9y@xrXMP5ygcQCyRpzT!U5woWsTUg=LbV(3ISlb_ zwuR_g_=DanqcIZK>ZHGKM5Mg~mGL))Whfn{qmVO=^kUn|C zul26$XS38#Sv=$S~J%{n}6J#)9JLbotXeu@sQT@ z3p};c;Sy9K{vq*nF96RJ+ZFUJr&VRtN(-mv-)3N?o7gNRqV^gDccGJ5Gkll7az*iC zeMskiQYq*tUAHL>1Zd%Qq_#i6pFR$g)UInEeb}>7K4Kn-69GZ4Y(V$!^hY84(#9L? z$(Wi6tdlP}^fd=6;KKo5AJJ-fo@KNTRan7<|Dr8Kf%X>mp<28ST z&?kh-8wF3Br*?!UsSt=V8+ zJ79xc91+<`>SwqWtHnv;w%Z9ao#nvDF1! z;EzJtYP~_~qR51OK@Sg)D;%LhTBhurPw9(h1yCH4DCM|pOYTK1l|njDTwfLV2Xlw@ zRjcCF*{Z}O8V$@+{g$w#m4bGrNhu0VW1@W#eUg7XuG;P~;o^hKK}dAWDJZ{Wz^zqz zu9r0W)MN+3!v$!se7!#E!7Rv<9yrTu6JVO zZm+yOJe}(~@^pD|ZOzN6Y-wTl(X0oa^41r8k=#o#1Wo7l<=MfpEhFO(P|rs3l)oRz zI2!miZs>DiK5ddw^4|uSK$?&8>!XyvlRXY!3VsnU#{@P@RMeQ5UGQo$<$09~5pTH5OG@TaymM*Iz>)79O? zTZG@u)R@>qMfp~!CoJi@f{5R7Tkn)xRy|gu4#ina9@w2V!ucF(hLpgXO|Ob5H9+z{ zG^s08Ri980CUq!WBepRdan{Y?(9BnT@NDY&@&sqNazP>Wq1kj>RS4V-fA#+A{a5iG z!Oy0wssn-Nnv_;lm&b^Aaoj(YdBd$RX|s<$FW;PVJ>8T|zyak^KWSgi7IuS!%6A%w z7`z@_Ag0yNm>86cpH((ny*-NQAoY4{>H5NRNd*S7!C zs*){~_hJOW>|LkyVOR$;jyi{YiF)`xeFG<=WCCbFF2Wi(w2>C(Z0DGVt(=P13MMH9 z)u)$SZ99A7+4-Tvnc=knWF6`6 zcRfIU8UDKcN8vZD%M5x%)x_PCX)z7EIUkiO6Y|^BWnblVcLcy_>pQzty!HTEw|BaM z`sI&%&v#z5Tq92tFb#SdMnfD12p(8o`r0t9c{nF^Wq)ZzT>q zVYD>b1cNwY7jL&G07(Nr>8;r1C$McSd1@iu2KZZbUq9USo~8FfB;Rf-$R?hS-R{_3 zR0r_ZB-03-wG8uJwJ|yGygb^h0e~AXkDfmiA;jMqNW9e6f%zdSTltc z)SbRU8v<^C4SRm{2NG*l!Zy!65lx?D3Pww~lj}C?3Vk+Ok9EvlF468-xdWt^A43h) zoy%YAwNuPds8ZuOzN4YN+*2o9^za^DL6qGi36%rj_M9x{m+GPBJkctQNblpgy^@W% zb!v09VJ?!5+CySlS2rNFE0bT5jC)6xQsGp-aG@@?k7gSls%ok=EIq{R1&d0X7zN4W zby+*NAu%tt*x0GvsabNf|o)aQfNx+L%VOX?g%XSvFg!QPQ3x zs{AwY?<%Q$*vOEsKPGwsI#+K7Yn%?Mzg}Wwf)1iXDw;2VFvAetq1KR8aPh3*`$MVo z-A4LmK0I$|Gd;cr1S)U~a8u#guc*R&=9GXTr`K(u-5WyfxVhp({l3~TM$*D2)|J~= z__VF>CHO(m+2mB2Ta*8A=wO|FP0sB!AyJt6;^6EB#sKm7C(e_MyhIB(U2oDH9@G&! zwAD3l^|r$@8=zo|vQpSIM>F{Na{VGnEJ#b)!}qp_?sGErH&Mzk7|Yin?y6sp@ssfF zck86fT7ewxhw0-cC?0Os#4i`)@!5{+?hd6ww-O<8r&#$zT`TP(Pd#4_@8oT*Cuq~h zv$BVBQ(HuWJVMU*jYgs9ZFlrtvBjqq*-0qjtG?kI1|*!vfRA##t86;s#)IEJzxR%> zw||uwc9X45O1K@^(2uM>drwd}I9J&-dVV?O!$p13@BV^xs+M7KgSeGbq|I7^` zh!I{;vP}LUx`!Gu>u+2l`(iP=VxxI5&IoLTH2uVmjt$f~Oysh&)OBhbh@Q{MUCvp# zKW&l02D;Q-SKzwAt>wEj{p4#V%m7wL8SqZmvjeEg3JYa7L*Zu>X9~(>g&k_u&Sy{cw8_ ztYqHm2SI)cU~}0g5R1LuRwN$UkHJqZH?&b15fxW_HC-PW7L<}=QMY;I4AtF8W$6@ztc1v)SQ!C44^MX5(^)ii_YChy10l?@buKrGyctU|MLKHA+B>y zzY%y~{)*rJ=GlWz6~P*Yw6t{J!BqZHYAp@F++3OF4I&j)A}0Q+3Wyf<|H%gW-~Sj> zFv$I1M~U@?l9Kn)1to-wA^~sm3Ii*oAU0> z7LtJ8zXPy84O<+j23Jc8r~~2MzZdIC#x0=&_lc7Wj0_A2DJh|v9Z#T<;`P5gcyIdo&)~2<^R2GJ?O4tOPkG&_C%#Cr}zuU+WBwWqly@ ziX$fgmNZ(eR1UD(3;}&<|9!ss`p7_JZUcJsH$qMx^5=IyA^C|g1_*U!9UN-WV)W}$ z0>w`Wm=g30IV+iOmc64c4$6Lg`Tg17ztJGAQRf31NMzoG*6>UE`Z%464dkZ-`0jf% z4hw_r$El0vhl-q$kjGoilqE1&Kdv-61`S=LSfnCt1Qm~@TPVkF{cD7nG0eM5f@BbV zF5@0N6oI62m_I7Lbb4B$6+ByYmA(eGlKGKBbn%3EI_`HR6$E3^!q5@HimHJWBf^a{8;i~3SZAE6;Wb)4&b`&l~4qfPsOcHQOg@xj@wQ?6vG0aMZR*D6e&)gvI&p6FRc6 z{)?v~j6Dj_#%Uhfd1s#9>3Y3)P`(dH>I8C z0aiR)@=eizneJ&>6(wHn8MZFlX(~0n2}G@qfP_p90}!hbBfT&z}(HTg~9( zXf#dZnwzh^?HG)|W15=%GIWe;V-;OX)L*Or;y#ZMI*esHcy#F~tIAkj)igW5f9c{l z!1?KHz7a+|9zcW@)0Pi4Uj=|rD%Yg;o&vw($>Sr&IIsub%#!0mG0$lUT#(G@Kq2{s z@!L)RZF~5DZv_mubnV+Ruy<6DEjOn`E>?1IQb_<Hz8}@POZ=e)vS+P>rj?genD0dRWH{v!$P){%)W_FW9sp&dE*L&~5ud7ry-1gVf1W}ylvE#D;& zGBP#VPld#Ab;o{Dl-#*GnbF)*t-45asiK<2n`>LQ;~bIV0O~cXG%%ZdAenVr7$seD zTiT(k&e~Rrpocly#kf;9Pm2B5Y#3BRH=m8rf4tZ~Z{xpSXEY=IoUpPa8NY(mA3}1# z2efD?6%BO_^x;zvEeupSU2YtFAVTmnxRncU(W7J~M{jIoCxY9-*eK94SMKLbOmlu< zH;-QsRj;!|?=&tP7(-27Zo%1?$Te3?na;F143sQZE|15QC?yq8*t{be8-e8Nl8v~MAzWl?#UyV>gV8GP9CXO!_?NW0G+wAuF3ZYq1<0Uo#k>q0oeuW`;EK z51Amv(doJ&6s)wJN%Bof!l%6z{grpR+bl+hspf|tibpi`64ocH?Fp+mfOZnMna+^2 zSES|0y~v$*Ry7w_xW08t1zQ-F7W$BY93Fp>-?$T&p+NuQ5dR<`6580@-g2=gH(u26 z?}o1b_2ck4k%O*xbGptgebA3!KDXObR`HpW#a4KD-Usv&wQ9P7G6HEs^2T>QuLZh2 zmBNysx@B9SIB1f#DF!7tjJ6AH{$|YVidu4m)l_M(>zToOTssBA0Z0xi=m9*t2$qpR zo3XpsB->DaxvA)en^FIZTW~wo2|n!S={CHc^XT-8sE2&Zszn5X&FXT8u0DCA8>3gel zzX`1HSke*@Bj4CY?n`2%+HN2x?hL?=P5j;@q1j3&NiN#tmW(!Ir}u%_F3H_Ud~>(? zdwlIwS6XSX3K3l)Q*HHV^~z<_ahh^s24vRPtGTygu^r06cD%$V>BCuz7>Mf7mFZ*9>Mp zn$??2d!BD~!iU2t`OKs-$;`(LIYGH-@OXTWZ8LxilUo*jzWk6sZuRn>?WU+X>M+fH z$Liek_5Q>4g)P;^T(RLM9dJcb>e9;kKB)bIhV1oG+<7Cpx`pi);O$n%iw;j0PQEY> zHTQ}K|8ykC^J*zIqvrm44O1zQ)wgz!b;|9CTh_SlT2lL=4}dP++!Zy7Rh1lT#llj|t;@N}lH&JU>6byJhx#o$YZ#3hE=H zOQMN_VaMQpEhEE56jaoWc~#*=C)$I@xN88{<1Ky%_7%F`R-VNnTZJkm@y~go$mJ)( zvOTT4^Pu$2veyP)1Ic3iN0w7A9gfpReeZZ}4l!>qoq-`nFT~d1O{mAX^<AY28$!Zf9Or>j{g(6%V&p`lm5g(M~F#9J2$^o)GJoUsN;{CheKH`xz?U zrQ3~u855PhFT{%RjFfKY)9+Fn^duuW9_2!6>`zfXnwveMlFf@@A|F&c|36oRJLHGw zU9Hhg%hHV!#9*UQ7auc}@Mr7p52)0awsxNlhpmZW3*kp1db1L~=-`OC#%2_e`TnZX z*Q&)iIy@Y{G)^jiCogFsa%m<@dCy#{1L{wOiPyH}5sJWxyG-dmvOKsKdqRSEM%`ZY zTrGFbn*8wkg21DpOvh9*c(M4t-W4v*?a2b?vW=JY?%`GG`(u-`jaO}gBf8Qt`;U_y zx8av@W~Svf#mz#`kPtCe-b=jO*7MIEFINEAapc9D101UXUl71h};wzxAu!&9^zHIx*9x-WG>;}6Q$7=92xgu+0em) z6HOu)D>sIc^ybjbMsWvtSOJMP!86=}B`-EgQz$O)|LM@(5FjN8_VF|i3tO%I8{JIL zk|(WVKV5T+Q&G%YEF)&?drO4p2+GK+2E|g(5%!@P>LW!Zf@Sx~sp45JH!$ozi>oPV z3K$%4p%SrJta|eRT=n=~J%|)`HnXnAI?i6s*}5Dq<%rhu9NfHp>05U?GuE8XaK>19 zt5A3wRE!MRml(8DLSV|;A?QtNq$`KXf;|ItFX1w~CUs*P>M&NYb0_op7aWSwz$70L z)LyaLUXw)MwcYsMrITf;x6+Vf#46KB{&Mnk#P@KR4C`Ib6->6CUA`-!sE=_UAia?AcJIG*WEl$-o}?qjY8)5mpnQGS>d6SI< zNK7=?K@4XBHXykx?X*wqEO;h^K4=~K4H(73EfJb;`Of3$k;W|-L zoLJ}30{t9Z(TTt!jzx3!!$w;c*6-7Vl%$xB%6fAe-j*)vG#dq{M?JlT{9=VaQRZ`h znE0r%Ibv=8|1aICyW>KA4fscRtiZ73deJuMPdB^VVjNRK^_f0H+wy+zP?02}t~UIS zvK)xG0KUxW7JTJVy5=jgr~S~nEpBTb$4hR1JU;>j*^oMOg7g@4o-mFn*8Kd=0D&V* zj=EKWDksgFzE+w54ZiD%hi@AiF}J3w;!n;V4)+4?uBV~}T*p@~)`Y9o6OsWk)El7b zUiaF~2=5IH=Qd0cYve4{BALP{2u>lLN36jKQZ=_t#iB@d9|&KQHF-i)7l(FPxK=%c zF&Gb`_Pc9B^^SHq4w9^(ISR49$m$KlBZ-h@taWy*Md>5w{T9RV<&&(h=s66|R?7Zu z`Edn792Mb6qgGrYzO`z*>B#6xohhX$e^=El%cJmA36p_NZ~3jW+~K!`LI1n=7tZV-+L?( zBNatCecNGY3VOO}oDAYEgxdI~a{mCD0L`kUju8k!1c9{2*<*L~O~=JEc2MeoReIP) zH5pUf)KURgS>ckJE6?sBvMAoQEv3sV`(gH#M0!_Pb&g7u9ktP*MvlI~vLTX>7<}1E zhFEF%pRy7JUZdX#W>OXQOmNlzu0V`OzGX@zfY}v7aC^haZYaG-VsB{@ECwdE*|Md; zNMip);Cn$*&qH4u6@sp)SN_G+&s#OBF#+bWXc`WkI3&Um&A=0;Giy2C3FF~AjYik^ zR0b}MpmyJ|M{F!DsXK=X4--jGENUc~DI_Mc@-ipfyjYHm zl5V6ar0;UZlGTOG|NO|;ZhGx5u3y$P@993i_$SzVylpt&9)XO8!ZbTpm(ou@2n0~G z7wzjZ*iE$<(*88~@F&^zvI2S5_^`hRKpXSEl^`OR%??Sx5A_%Xwz>I0Lq)qLBjS^l zO4Zw;jM81Ap!!HW2e)mU-8PUgaUK2rqLa(`eMh4hpanF3{4_g#hJa)D_EQ%zqHL|+ ze;+in)x8zLqAOq3UX~yiSQ(us{tH*fWHAVRJw;D^%28m=&R%9UeL6)_+UJ*=3-*Dq z0pZqQ3Iy`hRi>yZa(Pdna8#M9X>sB%uS3x*wr5n9fySCz(<+Jc2j&5XP4Lj4xeIMg zp`UnNNx=4!cN|xQjwg^N*jV54<9%On$K&}4DD@t)NWMpe{iS;CVrBicGt9_<{OeUB ztgu0cA|87*jjw$8_EToE+=fO*#H_4yjV#P_nWd{V93)<7h!ycwxAR0sG=EFvjqiZC zB!`#zKXHwzz*-Szlbh^D*)WIV%8?=|iH0f^b>_;rDX6i(8)Dp?u3-D!yA(_$@=&sJ zCJVOQmzR)gXeu5AqR2^Ep`g>>BS666_I`J9nnH1Dm!nvoKTe53bu`yKo1WPNo}3vh z+l*;505hq7N~ukfLaJA(KKJ5<(T9OAFKQ?|Mimq)fs;n-`F1!{YXl8IN<8R@HS(k` zNF&+I@z_5Z1Hv;3fRAdmW_ad8Ezth|cFGyz2n9u^tH1Cyv+T@CpmGR7rOYU@e3tp|<-DoG(b4A}u`BHtpA&kG}eKl$u|0^WZ zQ`OUat*uzp;b=r(v~W2i_%Or!SMP{=h4BER-IVjiy;1+9Th*7e=_OK@iS`!4yb;uK zRszyh*9bNsl|~rEMWEw;EcW@U77to|8k3M-X$zF(hoWRE4nwD?O(1L6a%$vuf(aP) zGn*f``jPmjlU?a*K}jvH&Hf-)OGOQ&%0cQam%3GF60mO_9`Co-1ijzNvR{Roezzu0ae%nstnF=ukD6k;ZGQJlpI>k~S_>9B*$=Ss3 zi&M|Z-Apu-_0Pf5N1kEHuNUs2l+=7V zb|>$`{8E2Mv3-AyM6h65qS~>QkySjk?p~ozn(+MjIJjkZM>iB?{_hx7BR= znPcs_33ZS0NH*sWI+BF8eG_Sr8Sv9e)5IkwzWS=r1Q+1k49Ndg1{_C)n%`+?%5KP+ z^JsFY|LS^MeDFG%a#S}97#|82Z+XrSNCYBM6~0_~55W z5$^_>dNN&arOo6cT29-%1g!f?G5n@x=jBN7-4o`zKkQGCB*O({=9wd~#U0+ia|J^z z3R$PNqwjp>x&*H~nfD`42Ot`ydN3M}Bm{#!8zi#I1|N>lBn)$u=%Eq&!*-IVmvs$U z(aH3H^^GNYA%}Bgfns-JKK)%vreYaG!;u=SA6HgQADy1Ae&s!-x4TikJZbjLz-vFj zD&wo_b~hrXKSF7_WqjPzI-763=#X^&HIe9jBh>~oq6sczl@}J6tsBu?oRysw-sUD6 z^)5NmciDYp{ORGrd|?NieM=1NaXZk}+K;MqjCnkZ#eB#(NpsLQD=N3^U+0HUnK+}p zoTL8)J-$f|AIp^fLxTUleOpT%mv$3L-DxT1tg)LzUKD6CVN8x2Dh=c0J^zx$+kPsO=NtCDR{6RWUJF9PWIp+MBah;_kFWB0nG$gwJB`=r0>?g<%&BI z#sWHaaa;7Vn(YNAngMxF4o0lJG24t}N!$ zPo>3cF8ZeY^4;qipI9zNN-@E&$!O_WA^bkLs89}VazAe#K@J^*B%sV)@S}pEg1M_D zKfs{kL0{V09Qf^hAIyO=yyrx%I1ckPOk=D*)RZ${ESwFXDt^zD1$}uXqp?rH0zpM3 z&r!4Ea2ppVy?iNHLPbd>kYh_E-@Y$h{JjqX6f z-|q1|USBhQ{kpzERSvx~kzX^PqpUc`2P~i=S0*3&Fe|7Zk8R(|zE)|0J<9#~1xN#_ zNlbH~TDjK~8>F$($Eh84GG9QEGsCg@lN;W{PH%5f{WUMs%T{Zur*aCec4oIkqY>$w zex90+4x(*?Mi9J$G$e<&-Z{PBRqN+9!K>CP9Fnd-?=1(R7f5e23E1+caqQyaVu;X; z%n~h064nnWC;Y9LjcKdcdSIUh&euIPUJt_B+!{( zVRMk}s%pR3V@s7#Yc|zZ3!9NkeyU;CT#l>0FWh|L!mbmptykBb$5&3y>y?kKbTDw2 zVC^B)gZM(?RVKyfS#bjpcTM?X!)1xfgjC*sL&u|0H~DOocxS}~h^VfrVmK-=VFM0F z55u>PDg+DY^*TMsmBwsQl1c*O%Zydxpoa&cGaG7Ph5Id8iFFqOalTP~46-PXB8rI% z>-KFZtdy%`?jl;5#n2&MPw3(hv(hJEGCaGBZs3sd>uYzBom<^L_|b01w4IRbEk)^2 zsvCP#Ug&|ZHd<+aVqS;E-fVQbc<~oBuIcpy7vW2LeNcP8X6AcyVyG`(KVID|+aDz< z()5eO*A$hNlfBw{R|{hl8oa=7YR&fOwwB$LhFlxMn*mA^0sR`KY;neQFtlLf;0|dFWk7beTZ&m*B zZ;<jC~g!WwRzayiYZM?N15TFKP23qstQ`3 z<7!~OW{xJ;QQ&Z2REf^CLDvYX)88T~iW<0DH4t#WCJ+^i!;Wt$Wt)aJ=RVg#4sR0P zd_QOwTp3$KqF0WVufad<(EFFXk3HqPQU<$hafgJklM9dyVy4Pyz(yufDE*898(M5)j2+Zak_~L=5eSl^3N5{V6uG> z6r`Y`Lu&1mMH+s>K*R-=WMXtxddP%hOpX1e^7p^ToBMudeQl-+cZ0MiRZLpzh%e9j zJ{dRqY5ZeTi;h!3h89tEuPBN_^{g@^ku+~f_)^OLW{nM6# zqy8xjbcZi74divh1ImgUHnSe~FAWL4rM=OQ4(3C5yf*70O_4 zd%VT_if!;KNEkH*jaE%RZVVKY`+l&}7BOS)Ty|f1+!>u8 zb!XmVoDw~9@|)17Z#G*!i}P7noOQ>70xv_w@v9Z#sm zGV=0)Sy}wBnB36WeNx>y1JR#NWvsTrO;0g3-f0?wxC|K!;7?gmpbe=`A40HewyDbX=`*DiQH5ermSjttHyw z#RVQ^TY19KYdC3OgC@b!DYst!G5Yeb^686iT}p_N_g)r+^~L+j_wz4b{6#a!5sXjH z+EBfYWijcrTIMsRbI+b`OjM?_CJHLquZEepx0CXDo^G|s-v9Fyl8i&WLFC}%UXp)b zk$nzu=-zEZy)X$y+j^J!R&Q=1nol)Qh2f~w7YXE4g`JSwxm9Ms8m^cohg<4>99mOJ z@TJwK*g&yYR44X>(^q5}8tC)SMVcvh*|_^83i^2}(9jm~Xm z_`#tGZZ~Fq+N``s!DRkC62Pf>r8b?hPqyr)sG-nwlc{X8bw5>o!mj}IqpAQrliwYs z$7N7dW}Oa`R+fjpwcK)mwSS&YDA1?2lEPGv6aL+uSiQNEWVWNfOB(x*AW@61zJ_gW zDT%4__s%z&0aM!!*0!A@?pwl6_SVFUc@O=kV->>=n&&fX>v3245LAPd`(d*3(!I32 zoa{d>iB=NCZH*@O&4U#T5`^BZc=6?BNy|SRq6gNb^de7TUFF|eOw{!r8u0vPAobsd zIppOS3;zdYF@bD(z9O$YctB?8l?u36n6bD=aH0)p!D|6BOcrlR>)R5!Du$Pj*5d}heH7#n?_tjX1r0#tZaKLZT*0w*qU{>wC=B@Bi)?D?TFplO?V$@D$ z)Q-|H#Tv~p>?D0qWwJ){!ZmDd8#yYECK`107L)k0eoQMc4AhN5i;d7)J^vRFV<8G! zO7+QHtH1Wz%Tj#3f5@_@r>A@)Kf;3w;QsE4=NYjqF|j3Ox$i2?5kulZ?Rb^Cs>-VI z3Z632T=U#5<$PyJe%EC4y8Hzx;`LbU`bzcb*(rbHaBZfEQdw`q|Ft`T1Th;c0&r&R zJ_hKUqSw+6@=Q6bt9IpXW7^}YmROsp=M6wF;~d><#d-ziE>xzMd}aBJU0&k$aVi9` zfCWm|tw!0WRClc=;dP650h~+pw56^u+BO>&R>2$QEsZ;v+by>AQm+s6$SHqlH$A#6 zU)Ac#w!fY=I6MgQGubr11GOw`C#>>biO(%heoc!W&u;G%pGygaA$#~hL(j=R{zv>E z^VoWWU0b{cndG1*eVN3A*7TXSUvoJpI(!}ij&%D)z4N*DE0{-kZ*93Gmh=v*Br=xd ztd}`w!b$;1{4gUK!MOMgApU_+J?)jOc>q0ZZ*s4Fdiu30Z zG=OTACs*<6^LpvNZ1ya;&XX3(B098#`I! z=xW;;2hQ_WeALo`S#%QGHfz3P9HIZTeqqb!8 zaG)|nnK++v<{Qc|z6IG$WyWASYtk@(;&O6^*VlAN;6KO=a~_y%zpx;jNs#h=ooS37 z*Qxg2Ox=C~^A?e0>Mc)rflaijt0d6;HmK-KG2yBM|%b!Ti>omG*kS-UfJe z#1-T^YlK?r5!SF z#SN8zF0mbJ#`IKwDx_Jde=n~6R2z@)dR<7;re!$T!RLNOn=h3N7@HgWg=pvb!_N%3 zltYFO)2HSA37aKvK3AFuZgn3DaQI-F!al(pB5CLa0Lty-(5+Yk_9a105Uh6-5vP4E z4lw7m$|5DtE3D_1jdU{mOIZ%{Ae+?H2I&KG1GrKIXdz#L#$SR(NOZ%oEDtS*)I4!l z8Cd=S&4ZF?IfRUgn0I3F5|foUr~2dnkFIx&j=am>hCAtW)E%?qj%_>X*tV^T%}zSD zZQHidv2EMdTbY@AX72wy?^?B1RsFtHopbityso{mJ3eb(;Syp3k+>5`kTbZj1O+;r z)Gdzw%d0GxR{^{2<-(U^F%j&SqU#~pJfvt$Fo7WQG#!%h!Yz=(-=N#~O>IHyd^-{e%j=6#1O5PW>)K0blEv+Z@E0* zvAh%9U09uWYMybpQ@>Rt*mN!M({vDkI&s|_OmT!~M>S5xyRAuI^hQv7O9zOW8U5LP zh%WVk@+i;>oaau9@ai}jf~opA&v7yPymlA-zE{S>-zV^1 z@7lHAdf+t1y7YCKce634?Yp(KS0lZyYL8xMGAjboD7R8Cn|koyjr~6rmx(rLSIg>M zSxVi1kUqQ#L^^`$?bFiC48iG<=>l3F7{m8oUk2{S`5yylTEx>w`&VKHjMv6xzRXpq z1?>W>dXL;`a!B1<9( zndYzbQd!$dySmX*xiH%>YfU_jEZ?CX#$GEnujgBXTdW=n7VOqavzhi*#XCGbi1wra zZ{IT8aJfV6EZqmqH=N#YxT%vC20{v;U#^A+Hm0wox^>qPeI`9Z^u$-Lu~a+8A;nL# zaBcR4iWz!q(|LcbzouKqFaGxyc-Mcp^;CsZ#tj6SG~=3WM%eK$ulh6o{P|vf)!)WW zRE2e~a-lXPO&d6NPvAe?69Xwc<8RdOZ{MA__N_#dh@3Z9C0XCLbe(r2I_SBtXj%}3 zgC=GUl-gjV-``joH}}0H43oWSXW+D-cen8=M{naY!a80a{ZG8xW5c18hA`~IX0R-e z_?^NY#G|;}_go%ETf-KW-)|Ehy2Id{QCZULaHZC+2)@nU-X}NCTDo9sx9&h_6@{F8 z;;>{eb%zXmMtOJ+q3O**biJMR^KKMqy~bKaGgFX|pj?S&tuR#Mk1%Y(2l3o**;3U{ z`L~}A)EeynayV-%u{DB={61llwwvGMP^vV7LBQhBgUU(OGaMnugH(PA;pr?WncJF) zG19-t49BfE&%{il9&U#f!!+u-Gnsx7h9R-MbIa(m2I$H5fBZtGBGgFpLC7zJ_+LES zz!9lwoY)b~=Tl9W!v&d>Kz~W{Ap(kI3!y^McvJXZ(=WzYg1*t#s(3~@pmC7I{tZ$8oN7kc+<ZKnxp_lK-{WqT)}3>eHb<`NnwrRz6p8^0 zE63g zxv+gnGnMje7(xA{t>L5@PQk1Z8e#-vTAMM9^WH>4p60pT^N``iwSHfo1@HgoITd61 zj`~?!!*SV8)CedFpNT76k*AkU(%6zhW{4Vo*irXrlDt899zZ!(`|8Noo3MG>9J*BP zuc`{Mk$B>s4{>Bqh46hrXX0DG-hmVs9^=L=7(1Db#V`d@yC=RtQL0paTCN9}SMCDG z_4JYzq)uhR{C&7ZCIiAn{PKZBn4Y>wCIQsJ#451Pbomf7t~=U%J2*7ToGoW5#cXSj z7BzH&ILC;RIwJ(A3ylZ3KU5I7E!-Y4GsNuVtci&bXC2@ErUF)!55~a!x3b@xr%pF8 zfSt;we2v#w(YB{4V9Gt1xTBp2*p^ivHp4t+ha?^0R1d+3li2Kr{oaq%G(%aG%lfU_ z%_uyP&^%xHuppbw^hyc+Jdmy4?x^p%aQPual=6SGjG%yEyq06k;~Ya;5EX`wdl*N(5Z%qF4-Vw)Woe2G!eXUE?L$Glv&y z`s0C?1htfQ+$h^tDvjGd;nmUo@t#fOT=pQP-CwZ9X$QoR7}2XF{?^L7i?)EG?l>cHcG?BE zSgb^(dAlS*_qY*s?miw}R%v5vd{`NXSPjB$?4JJKz~g5gPGwj6wST+d{AG>eaV{-k zv#XDz&3W5|lHh7~SVT4b~+!p=pPFXD;&_jaf-$@NEuV71obw*RAPj>kopl*cyJo z^5+n>JLogL#R~3~MHB;g!;2`IqWjeCc!w}Ax?jq+E1BR9QNTZx?o+LP=N({Zz*ZsgfScrM@sN-=#h;2MWvbIh5+J*aX*mZ2SmC@o=uT}YoMsQy>JoNnL?EHGS@8!1jpVaM0?M^2era!c4-q5b?oG#@Ux3-=) zGuEqoxai;?QK%oU=8~H0b~ol(f4J=fJ@+eHM+=3P2Rh4Ox}Ke?W++gHD6Vsq$*DX=-vLyPLqKNlH3Q_&z7l@H z7hZqE(rP?or2+J+uJ>HuD{gLK;?kSatT=tOmtG=%#dC~!ej|<{NzT*G-!T+Kq$7^x z4L}e{y)3Y~)`_hUWH1`(1ZET4?CX-aJ(|b6q4KZd40`|0IXKV(_3jFQwftHF9A!aL zS>{gi_HuKr(%|_!P^`&lPBxsR6bZJC3K=1Q_~Cy)4u z|8DsTLdr|9{Pju=u&3vzj|##FHO9_}nAmN5PE>)GU&ianK;yPC&%o`zv`J@$Ha>ip z&K8mLdy}@lBY%+Tz6Yi>&Dt-Q<%A7(ZLL>bP5&~ij>oYuIug}*{pV|##iF%KhRrSY z%V%?G2XUINxc56}YvRz`l=GLT#X=mrfb_6D8t%v$YKbSgllL{3@7nAR)yC-zweW|# z#X4SqtW*tc*WjmFYVMR0Fqe8A@PU;nZ`Klo7GMYmLAiXfp19Tm(&Ov6dw*5e$+b#9rU??dRmIRI}}G4kmHB==A#&8AoeUIzsb{q>tB^{!eBk z&71cMlK)yQ?vJ#d8nI1>q~1dR>wtfEkjq;mv{_Q`Y=6hHE%Rvq>12lG^o>bRvQ^KU zy_Z^c7*9Gir{QY;)p9RO!#AkjBYl;ZxAn`*f|3!+oYYiGgx|J5D3+2WjeBbiYOc+5 zF$DAxn#f86s8gI~ZpaetUMOqqwZvbRs})=7b&UapzrE}Ezu|C!IsPJ-k;0*&!KMR$ z1>`%VZ=ti-!YsqG-_8zQY(`EJfJ#djkVZ3$e!;gRpc*hap{)n31X(kNKKX!<9>)b( zYhrg-Q%>BSE?b`^6$Ik$ry2|?R8z9aI?{IL_VY~5&BuSIP%iBR&Oen=Q8BT6LxT9S zRBicmW&(Pr-SX;h=61tz#KW%p0h$B?y_NI_?%D>U6I%C?Z~8OexMjO{uzkm%k2suZ zUC|zZY~>ld;cu;uhFSULpK^p@_&Mg*vg-qiDJrebwN4h>a2>MU6_pioaxK7!Loq47 zsqZu^LMxxr43xJqkw&k#2foPNA5KHGg)BGdZdyae#l;ylm2*Cx9gc;8HB)%AH}%hW z^!USkl&U;Ehu_)`JJJBl^_ziJ!kIH3%F$_M1`&VcD&Uy7fz!r+-_=e_T~AS(yTO=7 z#3?E+H0lxn8AiHGW~a`C-giVBoI@nq+KVSW9$f{`Cr1OnUu(!UKJ$s^1jNI#wdW69-$T zf>jx^JaJ(})%`Nh-&kq4g5Rc+YhH=kb;hm%S zx94rM=^5u@`ug(Fh(lb;(SZrL_WP(;aolOw zL6bT}p=U=y)?2KG)8z=&^HV80za4E`KOaeGr1_F4zo0OTJ{Z_GA$i_l;Jg;>clp3Ak;^bM@vu)f*v#{MEW&lZ!8EcGU7*p+H$ z(=GFu165@B2f*)C9IpVqM<`58vtWoqDs6tQ2&S&2?AS8v-Dhj9Tj9Qn>Sl(yPy7k4 zZ{ZEFouc(&0n&fL?i|W3#Rb3(e;bywDr)IXzI9asL~ve-#N_F|TjUA2VPh#|I3}I- zy7!A_u0kccRXJ9~q5PY&VK4Vlc{&WztyzlZjc>g-2?dgNu6%``xhAt%VkQfrC1h(F zgy60nPUr}9$yC(!n(jSc*d0SE8A(l0L$ROGy)FfaMlsU5B#JUaZmKw~_T<-FcX-6_ z4q1(flQ@YAjxsIW2jpC{M@+RrL0qPRa5rWmI?HL7f1Aq#R#2)JkFhAX;H_vqEKX;5 zpae2>M+ft}o?1oJ+mRE(VC-nv6sWV0a|6nSZ;RUN!j-&0$C!b!wMpPF4>>uDn~Y$g z)2b}J5d!aYLEe5+_jje*^E)e-@vY7^;6iU0L5Bz$xxzj@FJD6zb`r2SR5iOQ;1u>3 z*Bvjta7$Lu&}A#Bb#zJ^fVb7q8mI-)rqz*?Amh>woui zn$r##?thHe5WA>0oRoK_iQFsUj9d#9v7||T3p1xv9Fsge@Fc@xRW{wzleDa^VcZB7 zPoD0+{Dpi=7X+pzh4;KB7cUP2TPO`dno^juRUf z_oe*)^>+w4^P@4@msE=$!YFqYd(q@UbK(w%Y-RZ?be`m!6^Zz5GV+!tE?O@Lx#}7 z_lXJ`EthS8fI(4n{erDwQQP%6_v%a@L%f=uyhooUfj=y;Wx8DKlCSUfTd){SpY|9r z_w$ym29SnS5!TT3d@+}SQx`SIgBse;AO30H_6 z&09fxT){N0WYz)(SlE*$&iqY>&5So4(^YehEtXl=et#sq?v`~fyj-OZA-2OME{M_fmU@}TJ=?H8cb=g8F)u(!+3Z;CU|kr`WiP~t`QGZ+>oNgs^9oh% zydw`b2kl1Q;cW;~)!nG!Zj*%^9<}S@Q`(kP3uBqb@^o(h^gkvHsYw9Cju326;jC}11RoSyE^{KkRIho{@K-!f?oaf5TK#VA2F!Am_0 z+LP`T=c~`ib6#%D{do^1@QbbJJgTWh=fHG+tL&P79T2Mm2c#ECTnFg*8G#i0r6X7{5K3wTr!#F2WCO~ThY`);2=+UVS_lF+Q5ib(VZGrb{&@ekG; zXx>FK&ZEgjR2DIon57rJ z%Axlx1^X^ff+NM;+fFSt+ zPgTV8nsM$Jhw$45X`i|9udLN zLJ{M6w64^`a=-z|cXM2^+pn8nC;_qvID;1T)r42+36yHkQtEMidE?)LoD=5J^o8QR zBQ_m}r$?o3b$~kD^sQ--X`68j<&7Yt^sz0bEg0AD%#f7bL>nob>noplf zvxQ*D1r~!H#u%pqY&X3)8FKMY2T3YaD%Id!3gw1DtDk}H-Y~fR*ZHZwo0u{=J;sBA;#I4w{- zT(01rY%F}Ne@1^_W9aKRYh~Uw^85ws1zN7yU$DUotFR{xrhcafE3glh+NY3hUli+h zAFJ0dQ5k893SnoCz7c4GOZNcl`U};DAuiH#+AhB&jTua}q@<*DWLSWJXv7IcR`&;5 zSR78sw6fegU`Gfc8=I=j#U=>v7#Z4+eg)sbu!6c#6r+8Sl@+SDM1Pk!HR=V_cD-TG z?j=@|Rp{o(Gv&kqw0mbwR_X@?iREjCiFVfoMr&S?w(~h3_V;IUaheN9yO>w(GK>|2sN9`F% z!t|OoP_-9tM>lG$Rrdt*(nZB^|B^K5ddk-kz}r|kZld8akn=EyHs0_1;|?JG4!7>L z3!7@a%hi9^RDiY>fKPb~8ygFuvf}K>09FmA9Qto3f$?`|zGOv)5WF9CBZ~MN$kRkok6sZSo2KEnB?|&ejIBy;tb$&zF`H?^O5cs?G!=U z(^XdVU_^!IP#}sDu$#C9L!sMAw5=(h5n?_bcnQ1uW2%*Wm9H@1zEICDOhLY=-zsUU zo)H-ZAI4$wJ8~{BW!e$@nyx@%ERL`qzHV2K{6Gx%Y8iEbFg+4+@E_0$^AE%l(>SL3 zDk$h4xa1$>eS;x48@%Bezl*))a~;1x3FE**M)yG-i8Oi;L&Mk0`F-tp%KJlD&Q;cQgInA>NaO<1{NWVb+h}Zq# zv>(Bv(HfCTdhk6B!v#V~&yxmHFKSz?E!NQ;XO@PE z=X;$J?{-^kDq3|^SlS4~g^ou@_MwcmgGy}Ra3({!`?|i%Cinjn3jC4W?SVX~iyABZ zfOAc_gBoop1()FE`b3?Pqt4FG@_ivnqbgvC1!B3yo;p*OmTW!whMsN`bb;0_GX=rg zs^V712Sj!-t!!sdEL`YE$09j%?$a}TqrB5ADV2G}Bh?JsjOH>xYdsGd3gU@CwCKqK zQ@^hM?nqm2xwdT#IDQ!}dGBj8GYl?!S|VYG_NELBf0RY+O*D}jre*ukY(V+vl-^|% zQc4*Z0^mWPesqp~zA^%&1^+5lPN(V)(5mb`3j1`kpq)MtY8qpG6jUS2oXPWcIGnIO z)X^52#&OTMaP{LSxZW9$JM0&~FTeyZ;#btR2x+C#sIRz}G(4HA_@r!Te6C5;L7q~E z--?(qdgwAbpn+v$N!<76_r2|u0!w1@m(3^5RbK z@d+I83{vs2PKFgbcI2MSe;HO@VWbIfiw|%&6^Two%xz&!il;&4(We_nQ=jfG;r+TqDX=g63dAl|HT+-5)xD6iz)mWCUihkB`L z$oAJR`eMSzfz7xW8K6>ZICo?hLF5Y)sw%!c7n_Vd3~05Y=XW(Vxu}7;(0< zop?PyaPiWQZD735#t=I)LgZ42&y&Isk1-(h74g9KgZI-U-w)mZ4svaGn!=ttygh_P z{D=?{gjb7UK5x}+N`e!RV=U35sNIT8)AoeQ4P+!6&Q6m^cYfJV^9~#tQ*E|j+oO5< zR99DrPkQK=-U=^A^HiJLBr=iwngC6v$xLziFRzz`%1=3i;<$<6!9G{HOP54}^OP}3 z7R*>^(p-8g#zR?W?30W4MF7o)gT5_!Ij4t@Z*eN9Dfdr&&Lk>($YW*C;J6Gx@7OC! zG;;UVXH#gpq`zU9nxQ~C@OHkv9esQAC25eqnT@X*Kqi&|;=d03!M1WfV+0SpXfiQ` zGjmo8)_)wgzld#SvDyFXlSZO*-@?<%0ZOBAmwP9Ppj zgf7nkBf-a@fyT&$#2kHgQQw#_wbD3?DhQW@I2JNb|_Ps;W#7?~=byLo4a{i;JF2IQh4>r#(;t`ZTAxqKAO5 zWBr+YpD*`b`u46Qm$MSAjWay)!+DIrnXM>T?shqxfVqJcPIfeBR~S9&h@GA$iRc`d zS|wu*o`1R03oMwb_pVJYnc2F0g~aUO+AsI=mxEr^k$PV*r&>~I_oII}U%#I@t&Fs( zt+gP7YOD@ENwF&dy4P`@U@V*NCvz!@{|?ra{-Fawa9UMxlky6TtxU*3oH}{IVN)YR zsUG@K>Ie};+9)sh>O9tyiTx;7-r7uC$Sq^s%{K7I=mpM)qHE}DM5 zc{(;Pph*PI`O$`I8TW%y;{i-d7cd_$&#kJgEY&T`;>5yQ;)^ZO@X`{H8FjR2`CsgP zXs6c?u$Sk4EZ3i3zaG1!9)BNbkQO!O^0@7`IBrJ`q<4>em$%+CB?)R&FamaqP}K0e z+^4nP_{8}>m7-Gb9%t8;kEXV#H*9nEVh`@ci$sG;Z(=D#j8Ye%OAKLXfXx{EC%K7% z=8;~}XRl0y)i)k0YS|UY=jr zpGRUT%n57cK47@xpEj92a%88OVz(c6v4ltVRvFaKml(-hj8ZSs*xy>syUtKva%-?} zl!I6Csp+xFbUi87IKJwuQhLH6sV$|COkosVZsu`pl}fJAnwwTgV68gIyV-M%-PhgK z%%rwsvbYef^bw05KLS`QK zNG`m1T02?Xicx#q3Mhu`|EuWp7ycCwMA$o$?lV;GR3#j!R0-+-x~?7nY(?Aw_TEg8`aO_A(`Cd@B zr@t_hl*r^MqJ}`dz}zpAxer8>%-D@Fxg8N~yjZeWi{h!?CHFP87YWxviqN#v!}SEf z(xulYoZHjvyvPr4qd}NfuwoR>&G$OO&G~|Fce_<|j$69$A87^MqjE?lI$kHxVqE!( z{H7}ICJE8Dp`z|iTelO)D_(*>GRT*2i@k4N)$<+_@r0@OPx{CT{GZoE9VBZGoK%YZ z2 zlEICO@A+`-`n)!qBFpFNG2&(!sh8Lk*^90*08DWkp`R9*xhP9vnKF5&qSpH319P*( zk#U+nF%jQWbfSnc)qaUcqsn(Kf=-Ee{ieKoq{1U<2dAk^{9 z9EEGL=NX-RJ4gvZa{{PRH2{R07EdEuU%ENaSdYlVXuPnsnv{q$Xr{f@t4&*o({KF< z(dIQALGfi7wAsnVGa~n2nTk5sK08!XY7_BqviJ5{t&SN!ToBDa<&`bWSBmXAnRmOE zooLde92;Fn84UcrZt>58(t#`3)_vopOtMzvXE>vWF5hj(9;(Jc{j+#pjaukE(*fYQ8U?PX$7sT8L1Ijd7S+_E;ikXkBSu!ota+VEz@lhrv(bhzy;QWWV zUFXjN;bEaEkA4LLXc!TSfWFp*J!3rbM{(gQhe!O@c7vY;a6iS9dYMs>@s(MUonLH95oXPdID z)XzxKaBfwm5n(Pme+R_=EA`?E>Kc=xSE{vKmhB5GnV5qiDlmXPVu7LFkArzw$iSS{ z?SFZKlg58&w7<}dy(w7IaBCjCQn3uqEa!x`d|J`eFyDT-+CEL1kyJnZ-G%NEJhC^e zsHZFTK8}{}cmV6wqi(Yo6v~E7`P^{{t2P3PSTYD>??@h+$-$z~@?5Qy64yJ4KwMt= z`(l{W+EZ@|Au{cs!w{%x68#U=wj`MnD4 zHf-HZnV&pbQt7sY_if9h8JDVuEAi7i+091GdQ8iihA~^lce_e7!ac-Js@;6HgfB@h zW_o2X?6<>Q73+2cT2`H|Qym?FXd1dh+GE;;8p^?6EnmJUMXXa!yO~ei-%!wHGOrxS z)A9ZoYujY$j9GVFp=!s~?l|!5Fqep4z=){^Wl3eiVZB#=c>Zk{71U}#^XbOK@iqsI zd#x|R2H0BQugdIyJ{)X;VRhwhN*$2;t{@F3`mPbMP|F>N_@a1k-Hk>1KU~2mEIeD) z-LKnnI22YQ;(|;v7I<#2uH=-^cs2PyXEl+tH~QV^bd%K*mCYxA35SIcr3c7HI8HO( zmI)U`ytT78EvW#!SEE&$<1pUqLCj828+I|c*kP=fql+thIEp+owoi{6^qvOE+GCxq zkEc2aF3Uucm(54$ShpLiB8B}umU+Kno>G@7qw$jtyPzQ&XiXj@k!(O#g`Sf2%3D=j z#~u15k!1Y(0TmO~i?}JH2`^lH_Q**D-asQhd8f5)z1CDSv8zbH~*N@e(9k+VQ$qShr!IGu{J>UD~P%?=G-v3!Qa)J(~Jqv9A7` z?`I=k`p1zb{CeG=vV*GJ=Zg9Dl6f5AP~-U6#Q4rs)9S`F4ZX4}8qAl}@_m+Koaru3 z+<86f3f*zfq49n#WAn`Iyyu=e-6XzRTvJ>WugTyK&(=2D`ELnlXbbtV4ybX;)!%~8 zJpH3@sXeB1Bey)STT7U9qBM6eE$e6>8HE4)nuviMd~LBj>pFG`zO0lZ@CalM#^}`rT__<7<{W1r`Bze_hfw1YY z-NGCdK8}%Yfn$I&F2Y$dy#ySTJ=kD5q1hnSdm0oIjdE>9xb$Me+)PvEU}gY3znm$mJ6dqcrvo+VdXFei9A?u^bZx3X_DYT+67xG z!!SbJ(Q#V4C{?28h<)G=>VljH4=8wOBrhC(=XY_g1B03p8_=;YLJ+T5xy{i*EM-tx z{O+6SKNFuR&Y?5As+qDXOHB%R<}PjN9=kZ5S)CQ-h=$it_Bikr%32A?Y*JokA*#+Z zaG8gmaEMwImF9JNQ_U|{&S>T!kUuknkq^5B~a8IZQ=Ie22X&g_OOyG}t z=sVOJdop(ZByzYFT+kI2?_eUN>Rt52q!PG=cYGy#n>H8=twJD>EQ zz=gL2*wwgWt|XL*5O(8u!5oiTAbYkLWL$BayHfCa04C_ve9_b&d-9bl)Ga9<`xveU+ z4t_Wq=C{-hQZ*dtxX@B^r1%`jlJVnj5x@6IDwYd-&s$)<|Gu|R-60Y_+hWqI zPQSY{eSIp;khz?ufTx6^)lvQ%oT5^Wv?-YomTn)RYJ&2TimW1l`swLDd|z-^*v+f^ zCz+aYG4rDzQQMKNXaA%A+Kiom+kceeztp7nm^kmbZJYOvKp)?^->(1Suv1Ic{e&6D zpeUo*NwwQHHly8n?QNt=Lp)2I$`6VOU=t=`IJt=O!Cb@SYL{2}s=mu@

{u1J(d8 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

`qi3DR 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 From a995d20d3bb4657a7a6c5ef7d6d7130e5ff8e17e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 13:54:44 +0100 Subject: [PATCH 259/778] Custom refernce now can include spaces and numbers and will be expanded correctly --- KeePassKit | 2 +- MacPassTests/KPKTestAutotype.m | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/KeePassKit b/KeePassKit index 8ab4d26a..e6c98f19 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8ab4d26a4db7b3cbc5ebfbd70d08e7ee2c34aa49 +Subproject commit e6c98f1912f71d0d7681b6938e22fdb9918aa433 diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index 4f4633af..579a1313 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -120,8 +120,8 @@ NSArray *commands = [MPAutotypeCommand commandsForContext:context]; XCTAssertEqual(commands.count, 1); MPAutotypePaste *paste = commands[0]; - NSString *result = [[NSString alloc] initWithFormat:@"%@%@", numberAttribute.value, self.entry.username]; - XCTAssertEqual(paste.pasteData, result); + NSString *result = [[NSString alloc] initWithFormat:@"%@%@%@%@", numberAttribute.value, self.entry.username, self.entry.username, self.entry.username]; + XCTAssertEqualObjects(paste.pasteData, result); } From ddac6de4437ea52e153f04ed11b5d0dd55dd04f9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 17:29:48 +0100 Subject: [PATCH 260/778] Using plattform independant type --- MacPass/NSString+MPPasswordCreation.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 72d7fe6b..bb051772 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -78,7 +78,7 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { if([self length] == 0) { return nil; } - NSData *data = [NSData dataWithRandomBytes:sizeof(unsigned long)]; + NSData *data = [NSData dataWithRandomBytes:sizeof(NSUInteger)]; NSUInteger randomIndex; [data getBytes:&randomIndex length:[data length]]; return [self substringWithRange:NSMakeRange(randomIndex % [self length], 1)]; From ea0cd1afd763bd5a599f2b577283934b656f0e28 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 18:55:33 +0100 Subject: [PATCH 261/778] fixed function key regular expression --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index e6c98f19..138b6b0e 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit e6c98f1912f71d0d7681b6938e22fdb9918aa433 +Subproject commit 138b6b0e145cd0c98fe8a8cc1b7ce1c326deae97 From a040c21fcedd2c8b8befcac74c33557a3b56d83a Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 18:55:59 +0100 Subject: [PATCH 262/778] Function keys commands are now processed correctly --- MacPass/MPAutotypeCommand.m | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index b11004a2..8a449a2f 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -26,6 +26,8 @@ #import +static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F5, kVK_F6, kVK_F7, kVK_F8, kVK_F9, kVK_F10, kVK_F11, kVK_F12, kVK_F13, kVK_F14, kVK_F15, kVK_F16, kVK_F17, kVK_F18, kVK_F19 }; + @interface NSNumber (AutotypeCommand) - (CGEventFlags)eventFlagsValue; @@ -177,7 +179,7 @@ + (void)appendObfuscatedPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { if(pasteContent) { - /* + /* * obfuscate entered data using Two-Channel Auto-Type Obfuscation * refer to KeePass documentation for more information * http://keepass.info/help/v2/autotype_obfuscation.html @@ -187,7 +189,7 @@ NSMutableArray *typeKeys = [NSMutableArray array]; NSMutableArray *modifiers = [NSMutableArray array]; - /* + /* * seed the random number generator using the first 4 bytes of the string's SHA1 * this ensures that you get the same string split every time for a given string */ @@ -212,7 +214,7 @@ } else { [typeKeys addObject:@(keyCode)]; - + if ([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:key]) [modifiers addObject:@(kCGEventFlagMaskShift)]; else @@ -255,6 +257,21 @@ [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; return; // Done } + /* F1-16 */ + NSRegularExpression *functionKeyRegExp = [[NSRegularExpression alloc] initWithPattern:kKPKAutotypeFunctionMaskRegularExpression options:NSRegularExpressionCaseInsensitive error:0]; + NSTextCheckingResult *functionResult = [functionKeyRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, commandString.length)]; + if(functionResult && functionResult.numberOfRanges == 2) { + NSString *numberString = [commandString substringWithRange:[functionResult rangeAtIndex:1]]; + NSScanner *numberScanner = [[NSScanner alloc] initWithString:numberString]; + NSInteger functionNumber = 0; + if([numberScanner scanInteger:&functionNumber] && functionNumber >= 1 && functionNumber <= 19) { + [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:kMPFunctionKeyCodes[functionNumber-1]]]; + return; // Done + } + } + /* Numpad 0-9 */ + /* TODO: Numpad is not invariant, mapping is needed */ + /* Clearfield */ if([kKPKAutotypeClearField isEqualToString:uppercaseCommand]) { [commands addObject:[[MPAutotypeClear alloc] init]]; @@ -262,14 +279,14 @@ } // TODO: add {APPLICATION } /* Delay */ - NSString *delayPattern = [[NSString alloc] initWithFormat:@"\\{(%@|%@|)[:|=]+([0-9])+\\}", + NSString *delayPattern = [[NSString alloc] initWithFormat:@"\\{(%@|%@|)[ |=]+([0-9])+\\}", kKPKAutotypeDelay, kKPKAutotypeVirtualKey/*, - kKPKAutotypeVirtualExtendedKey, - kKPKAutotypeVirtualNonExtendedKey*/]; + kKPKAutotypeVirtualExtendedKey, + kKPKAutotypeVirtualNonExtendedKey*/]; NSRegularExpression *delayRegExp = [[NSRegularExpression alloc] initWithPattern:delayPattern options:NSRegularExpressionCaseInsensitive error:0]; NSAssert(delayRegExp, @"Regex for delay should work!"); - NSTextCheckingResult *result = [delayRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, [commandString length])]; + NSTextCheckingResult *result = [delayRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, commandString.length)]; if(result && (result.numberOfRanges == 3)) { NSString *uppercaseCommand = [[commandString substringWithRange:[result rangeAtIndex:1]] uppercaseString]; NSString *valueString = [commandString substringWithRange:[result rangeAtIndex:2]]; From 1551e31d8572ec5ee8ea6b81c3a368034a2eadfd Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 11 Dec 2014 18:56:08 +0100 Subject: [PATCH 263/778] Added test for function key processiong --- MacPassTests/KPKTestAutotype.m | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index 579a1313..a59f1815 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -124,6 +124,57 @@ XCTAssertEqualObjects(paste.pasteData, result); } +- (void)testFunctionKeyCommand { + MPAutotypeContext *context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"{F0}{F1}{F2}{F3}{F4}{F5}^%{F6}{F7}{F19}{F20}"]; + NSArray *commands = [MPAutotypeCommand commandsForContext:context]; + XCTAssertEqual(commands.count, 10); + /* {F0} -> invalid, paste */ + MPAutotypePaste *paste = commands[0]; + XCTAssertEqualObjects(paste.pasteData, @"{F0}"); + + /* {F1} */ + MPAutotypeKeyPress *key = commands[1]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F1); + + /* {F2} */ + key = commands[2]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F2); + + /* {F3} */ + key = commands[3]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F3); + + /* {F4} */ + key = commands[4]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F4); + + /* {F5} */ + key = commands[5]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F5); + + /* ^%{F6} */ + key = commands[6]; + XCTAssertEqual(key.modifierMask, (kCGEventFlagMaskCommand | kCGEventFlagMaskAlternate)); + XCTAssertEqual(key.keyCode, kVK_F6); + + /* {F7} */ + key = commands[7]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F7); + + /* {F19} */ + key = commands[8]; + XCTAssertEqual(key.modifierMask, 0); + XCTAssertEqual(key.keyCode, kVK_F19); + + paste = commands[9]; + XCTAssertEqualObjects(paste.pasteData, @"{F20}"); +} - (void)testCommandCreation { /* Command 1 */ From 1c231a1cd6945b8bed31061d21d99255f556fe8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 12 Dec 2014 01:10:42 +0100 Subject: [PATCH 264/778] Fixed various bugs in handling protected attributes. --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 138b6b0e..05847caf 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 138b6b0e145cd0c98fe8a8cc1b7ce1c326deae97 +Subproject commit 05847caf5fa0e3910670c50dcf86bdf207435236 From 8d6ed4d6b7890763545794c45353c368abd1048c Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 12 Dec 2014 15:11:11 +0100 Subject: [PATCH 265/778] Fixed issue with non xml-compliant character encodings. Added tests. --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 4 ++++ MacPassTests/KPKTextXMLUtilities.m | 33 ++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 MacPassTests/KPKTextXMLUtilities.m diff --git a/KeePassKit b/KeePassKit index 05847caf..5a948bcf 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 05847caf5fa0e3910670c50dcf86bdf207435236 +Subproject commit 5a948bcfcfe4c400366a50b8232c2969bce8786f diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index f234d328..242fff1e 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -102,6 +102,7 @@ 4C3C4EA718D6FEA100153127 /* TTTStringTransformers.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3C4EA118D6FEA100153127 /* TTTStringTransformers.m */; }; 4C3C4EAF18D7039300153127 /* MPValueTransformerHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */; }; 4C3D4C0817594CA40038DAAC /* HNHSeparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D4C0717594CA40038DAAC /* HNHSeparator.m */; }; + 4C3F25211A3B0C95007DD98B /* KPKTextXMLUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */; }; 4C3F28541791EDFD00703281 /* KPKErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3F28531791EDFD00703281 /* KPKErrors.m */; }; 4C3FFD9E16DAF60600DF9186 /* ContextBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */; }; 4C431BCD16E2A82800700A81 /* MPPasteBoardController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C431BCC16E2A82700700A81 /* MPPasteBoardController.m */; }; @@ -559,6 +560,7 @@ 4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPValueTransformerHelper.m; sourceTree = ""; }; 4C3D4C0617594CA40038DAAC /* HNHSeparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHSeparator.h; sourceTree = ""; }; 4C3D4C0717594CA40038DAAC /* HNHSeparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHSeparator.m; sourceTree = ""; }; + 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTextXMLUtilities.m; sourceTree = ""; }; 4C3F28521791EDE800703281 /* KPKErrors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKErrors.h; sourceTree = ""; }; 4C3F28531791EDFD00703281 /* KPKErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKErrors.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ContextBar.xib; sourceTree = ""; }; @@ -1468,6 +1470,7 @@ 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */, 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */, 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */, + 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */, ); path = MacPassTests; sourceTree = ""; @@ -2333,6 +2336,7 @@ 4C6366AF17AF207600AAF17D /* KPKTestHexColor.m in Sources */, 4CE76DAD17B3AD010043B82B /* KPKHashedDataTest.m in Sources */, 4CEAF85B17BA9B44001307A6 /* KPKTestKeyfileParsing.m in Sources */, + 4C3F25211A3B0C95007DD98B /* KPKTextXMLUtilities.m in Sources */, 4C59745118B3CE7200C8EBD1 /* KPKTestAutotype.m in Sources */, 4C6FDD2117BC4F4C004AEEC8 /* KPKTestPlaceholder.m in Sources */, 4CBA561617C2EA4900CE13D3 /* KPKTestXmlWriting.m in Sources */, diff --git a/MacPassTests/KPKTextXMLUtilities.m b/MacPassTests/KPKTextXMLUtilities.m new file mode 100644 index 00000000..d81c95c2 --- /dev/null +++ b/MacPassTests/KPKTextXMLUtilities.m @@ -0,0 +1,33 @@ +// +// KPKTextXMLUtilities.m +// MacPass +// +// Created by Michael Starke on 12/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +#import "KPKXmlUtilities.h" + +@interface KPKTextXMLUtilities : XCTestCase + +@end + +@implementation KPKTextXMLUtilities + +- (void)setUp { + [super setUp]; +} + +- (void)tearDown { + [super tearDown]; +} + +- (void)testExample { + NSString *safe = stripUnsafeCharacterForXMLFromString(@"*EORDIE\x10\x16\x12\x10"); + XCTAssertEqualObjects(@"*EORDIE", safe); +} + +@end From 0b4a35c6d484bb43f51a82efa09ba38afb3b8ad2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 12 Dec 2014 22:13:16 +0100 Subject: [PATCH 266/778] Fixed mayor issues in reading and writing protected xml entities --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/KeePassKit b/KeePassKit index 5a948bcf..8169caeb 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 5a948bcfcfe4c400366a50b8232c2969bce8786f +Subproject commit 8169caebb1df3de8d149fda61f3a77215e3a746e diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 242fff1e..ec76fdf5 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -423,7 +423,7 @@ 4C1842A9179B027700E2F5BC /* KPKDeletedNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKDeletedNode.h; sourceTree = ""; }; 4C1842AA179B027800E2F5BC /* KPKDeletedNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKDeletedNode.m; sourceTree = ""; }; 4C1842AD179B211C00E2F5BC /* KPKXmlTreeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKXmlTreeReader.h; sourceTree = ""; }; - 4C1842AE179B211C00E2F5BC /* KPKXmlTreeReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlTreeReader.m; sourceTree = ""; }; + 4C1842AE179B211C00E2F5BC /* KPKXmlTreeReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKXmlTreeReader.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C1842B0179B28C400E2F5BC /* KPKLegacyTreeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKLegacyTreeReader.h; sourceTree = ""; }; 4C1842B1179B28C400E2F5BC /* KPKLegacyTreeReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKLegacyTreeReader.m; sourceTree = ""; }; 4C1842B3179B28D400E2F5BC /* KPKLegacyTreeWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKLegacyTreeWriter.h; sourceTree = ""; }; @@ -625,7 +625,7 @@ 4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordCreatorViewController.h; sourceTree = ""; }; 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordCreatorViewController.m; sourceTree = ""; }; 4C5AA58F179549A1008ECAD7 /* KPKXmlTreeWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKXmlTreeWriter.h; sourceTree = ""; }; - 4C5AA590179549A1008ECAD7 /* KPKXmlTreeWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlTreeWriter.m; sourceTree = ""; }; + 4C5AA590179549A1008ECAD7 /* KPKXmlTreeWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKXmlTreeWriter.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C5ADC2E17830AFB004E1E8D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InspectorView.strings; sourceTree = ""; }; 4C5ADC3017830B09004E1E8D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InspectorView.strings; sourceTree = ""; }; 4C5CD34017D158DE000B7F38 /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; lineEnding = 0; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.simpleColoring; }; @@ -742,8 +742,8 @@ 4C79DF29176685870083708F /* HNHRoundedTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedTextField.m; sourceTree = ""; }; 4C79E80117A9187400AC6CD2 /* KPKXmlHeaderWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKXmlHeaderWriter.h; sourceTree = ""; }; 4C79E80217A9187400AC6CD2 /* KPKXmlHeaderWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKXmlHeaderWriter.m; sourceTree = ""; }; - 4C79E80517A9400500AC6CD2 /* KPKTestNSCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestNSCoding.m; sourceTree = ""; }; - 4C79E80817A9485600AC6CD2 /* KPKTestNSCopying.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestNSCopying.m; sourceTree = ""; }; + 4C79E80517A9400500AC6CD2 /* KPKTestNSCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKTestNSCoding.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; + 4C79E80817A9485600AC6CD2 /* KPKTestNSCopying.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKTestNSCopying.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 15_ScannerTemplate.pdf; sourceTree = ""; }; 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 16_BrowserTemplate.pdf; sourceTree = ""; }; 4C7ABA4517BAEC6700FF5799 /* 17_CDRomTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 17_CDRomTemplate.pdf; sourceTree = ""; }; @@ -872,7 +872,7 @@ 4CD3ABC0178F72720073F5C5 /* KPKGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKGroup.h; sourceTree = ""; }; 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKGroup.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CD4900E18513C180017397F /* KPKXmlElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KPKXmlElements.h; path = Format/KPKXmlElements.h; sourceTree = ""; }; - 4CD4900F18513C180017397F /* KPKXmlElements.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = KPKXmlElements.m; path = Format/KPKXmlElements.m; sourceTree = ""; }; + 4CD4900F18513C180017397F /* KPKXmlElements.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; name = KPKXmlElements.m; path = Format/KPKXmlElements.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSettingsWindowController.m; sourceTree = ""; }; 4CD6C5AC1789FDE6000891F6 /* HNHRoundedSecureTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextField.h; sourceTree = ""; }; From 3bff2a4f7369f7c2b0cd369273a473a47f41d7bc Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 12 Dec 2014 22:13:35 +0100 Subject: [PATCH 267/778] Overlay windows now can be display floating on the screen. --- MacPass/MPAutotypeDaemon.m | 13 ++++++++ MacPass/MPOverlayWindowController.h | 12 +++++-- MacPass/MPOverlayWindowController.m | 52 +++++++++++++++++++---------- 3 files changed, 57 insertions(+), 20 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index f2b19ff8..806da747 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -57,11 +57,17 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey] options:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_applicationWillBecomeActive:) + name:NSApplicationWillBecomeActiveNotification + object:[NSApplication sharedApplication]]; } return self; } - (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; [self unbind:NSStringFromSelector(@selector(enabled))]; [self unbind:NSStringFromSelector(@selector(hotKeyData))]; } @@ -259,6 +265,13 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; [self _performAutotypeUsingCurrentWindowAndApplication:NO]; } +#pragma mark - +#pragma mark NSApplication Notifications +- (void)_applicationWillBecomeActive:(NSNotification *)notification { + //[self _updateTargetApplicationAndWindow]; + //NSLog(@"_applicaiontWillBecomActive"); +} + #pragma mark - #pragma mark Application information diff --git a/MacPass/MPOverlayWindowController.h b/MacPass/MPOverlayWindowController.h index d823855b..f1cb1645 100644 --- a/MacPass/MPOverlayWindowController.h +++ b/MacPass/MPOverlayWindowController.h @@ -12,9 +12,15 @@ + (MPOverlayWindowController *)sharedController; -/* - Displays an overlay centered at the given view. The Windows is added as a childwindow to the view window +/** + * Displays an overlay HUD style image with the given text, image centerd at the given view. + * There are two use cases. Either displaying information over a view by providing on, + * or displaying information on the main screen by using nil for the view. + * + * @param imageOrNil Image to be displayed. If nil, no image will be shown. + * @param labelOrNil Text to be displayed. If nil, no text will be rendered + * @param viewOrNil View to center the Overlay in. If nil, the window will be center and displayed on the main screen */ -- (void)displayOverlayImage:(NSImage *)imageOrNil label:(NSString *)labelOrNil atView:(NSView *)view; +- (void)displayOverlayImage:(NSImage *)imageOrNil label:(NSString *)labelOrNil atView:(NSView *)viewOrNil; @end diff --git a/MacPass/MPOverlayWindowController.m b/MacPass/MPOverlayWindowController.m index fa9b7140..0428f736 100644 --- a/MacPass/MPOverlayWindowController.m +++ b/MacPass/MPOverlayWindowController.m @@ -33,11 +33,11 @@ } - (id)initWithWindow:(NSWindow *)window { - self = [super initWithWindow:window]; - if (self) { - // Initialization code here. - } - return self; + self = [super initWithWindow:window]; + if (self) { + // Initialization code here. + } + return self; } - (void)windowDidLoad { @@ -45,15 +45,19 @@ [self.window setStyleMask:NSBorderlessWindowMask]; [self.window setAlphaValue:0]; [self.window setOpaque:NO]; - [self.window setHasShadow:NO]; + [self.window setHasShadow:YES]; [[self.textField cell] setBackgroundStyle:NSBackgroundStyleLowered]; [[self.imageView cell] setBackgroundStyle:NSBackgroundStyleDark]; [[self.imageView cell] setImageAlignment:NSImageAlignCenter]; } - (void)displayOverlayImage:(NSImage *)imageOrNil label:(NSString *)labelOrNil atView:(NSView *)view { + if(self.isAnimating) { + return; + } + self.isAnimating = YES; /* make window transparent */ - + [self.window setAlphaValue:0]; [self.window setIsVisible:YES]; @@ -70,22 +74,36 @@ Center in view */ if(view) { - NSWindow *parentWindow = [view window]; - NSRect parentFrame = [parentWindow frame]; - NSRect myFrame = [self.window frame]; + self.window.level = NSNormalWindowLevel; + NSWindow *parentWindow = view.window; + NSRect parentFrame = parentWindow.frame; + NSRect myFrame = self.window.frame; NSPoint newOrigin = parentFrame.origin; newOrigin.x += 0.5 * (parentFrame.size.width - myFrame.size.width); newOrigin.y += 0.5 * (parentFrame.size.height - myFrame.size.height); [self.window setFrameOrigin:newOrigin]; [parentWindow addChildWindow:self.window ordered:NSWindowAbove]; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { - context.duration = 0.2; - [[self.window animator]setAlphaValue:1]; - } completionHandler:^{ - [self.window performSelector:@selector(close) withObject:nil afterDelay:0.5]; - }]; - } + else { + self.window.level = NSStatusWindowLevel; + NSRect parentFrame = [NSScreen mainScreen].frame; + NSRect myFrame = self.window.frame; + NSPoint newOrigin = parentFrame.origin; + newOrigin.x += 0.5 * (parentFrame.size.width - myFrame.size.width); + newOrigin.y += 0.5 * (parentFrame.size.height - myFrame.size.height); + [self.window setFrameOrigin:newOrigin]; + } + [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { + context.duration = 0.2; + [[self.window animator]setAlphaValue:1]; + } completionHandler:^{ + [self performSelector:@selector(_didEndAnimation) withObject:nil afterDelay:0.5]; + }]; +} + +- (void)_didEndAnimation { + self.isAnimating = NO; + [self.window close]; } @end From e109901fa8e03584691160e7d199d50e55b367f3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 12 Dec 2014 22:36:22 +0100 Subject: [PATCH 268/778] Autotype now displays overlay windows to show match or miss --- MacPass/MPAutotypeDaemon.m | 8 ++++++++ MacPass/MPOverlayWindowController.m | 10 ++++++++++ MacPass/en.lproj/Localizable.strings | Bin 11752 -> 11956 bytes 3 files changed, 18 insertions(+) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 806da747..be8ee8ee 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -14,6 +14,7 @@ #import "MPAutotypeContext.h" #import "MPAutotypePaste.h" +#import "MPOverlayWindowController.h" #import "MPPasteBoardController.h" #import "MPSettingsHelper.h" @@ -121,6 +122,10 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; if(useCurrentWindowAndApplication) { [self _updateTargetApplicationAndWindow]; } + NSInteger pid = [[NSProcessInfo processInfo] processIdentifier]; + if(self.targetPID == pid) { + return; // We do not perform Autotype on ourselves + } MPDocument *document = [self _findAutotypeDocument]; if(!document) { @@ -157,9 +162,11 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *autotypeCandidates = [document autotypContextsForWindowTitle:windowTitle]; NSUInteger candidates = [autotypeCandidates count]; if(candidates == 0) { + [[MPOverlayWindowController sharedController] displayOverlayImage:[NSImage imageNamed:NSImageNameCaution] label:NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", "") atView:nil]; return nil; } if(candidates == 1 ) { + [[MPOverlayWindowController sharedController] displayOverlayImage:[NSImage imageNamed:NSImageNameActionTemplate] label:NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") atView:nil]; return [autotypeCandidates lastObject]; } [self _presentSelectionWindow:autotypeCandidates]; @@ -170,6 +177,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; if(nil == context) { return; // No context to work with } + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSArray *commands = [MPAutotypeCommand commandsForContext:context]; if([MPAutotypeDaemon _orderApplicationToFront:self.targetPID]) { diff --git a/MacPass/MPOverlayWindowController.m b/MacPass/MPOverlayWindowController.m index 0428f736..25efda82 100644 --- a/MacPass/MPOverlayWindowController.m +++ b/MacPass/MPOverlayWindowController.m @@ -52,6 +52,16 @@ } - (void)displayOverlayImage:(NSImage *)imageOrNil label:(NSString *)labelOrNil atView:(NSView *)view { + if(![NSThread currentThread].isMainThread) { NSAssert(NO, @"Must be called on main thread"); } + /* + if(![NSThread currentThread].isMainThread) { + __weak MPOverlayWindowController *welf = self; + dispatch_async(dispatch_get_main_queue(), ^{ + [welf displayOverlayImage:imageOrNil label:labelOrNil atView:view]; + }); + return; + } + */ if(self.isAnimating) { return; } diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 785e3f1ee3be1a3220c993f0bc7d0e895076a573..e3c97eaf8c945f40870e0eaccf62552ed6a22eda 100644 GIT binary patch delta 176 zcmaD6y(M--m6E&`gFXWn5Nk0gFgP Date: Sat, 13 Dec 2014 16:13:30 +0100 Subject: [PATCH 269/778] =?UTF-8?q?Fixed=20#289.=20Pressing=20ALT=20now=20?= =?UTF-8?q?toggles=20between=20Save=20as=E2=80=A6=20and=20Save=20a=20Copy?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MacPass/Base.lproj/MainMenu.xib | 10 ++++++++-- MacPass/MPDocument.m | 6 ++++++ MacPass/de.lproj/MainMenu.strings | 4 ++-- MacPass/en.lproj/MainMenu.strings | 2 +- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/MacPass/Base.lproj/MainMenu.xib b/MacPass/Base.lproj/MainMenu.xib index 7d032e7b..4aa05e8f 100644 --- a/MacPass/Base.lproj/MainMenu.xib +++ b/MacPass/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -144,6 +144,12 @@ + + + + + + diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 24934f05..8b23da17 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -143,6 +143,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)saveDocumentAs:(id)sender { + /* take a look at NSEditor Protocoll commitEding, as NSDocument supports that */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocumentAs:sender]; } @@ -152,6 +153,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [super saveDocument:sender]; } +- (void)saveDocumentTo:(id)sender { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; + [super saveDocumentTo:sender]; +} + - (void)windowControllerDidLoadNib:(NSWindowController *)aController { [super windowControllerDidLoadNib:aController]; diff --git a/MacPass/de.lproj/MainMenu.strings b/MacPass/de.lproj/MainMenu.strings index 86f63d82..d75f24ef 100644 --- a/MacPass/de.lproj/MainMenu.strings +++ b/MacPass/de.lproj/MainMenu.strings @@ -132,10 +132,10 @@ "1181.title" = "Inspector ein/ausblenden"; /* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */ -"1200.title" = "Passwortwerkzeug anzeigen"; +"1200.title" = "Passwortgenerator anzeigen"; /* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */ -"1203.title" = "Hauptpassword ändern …"; +"1203.title" = "Datenbankpassword ändern …"; /* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */ "1231.title" = "Datenbankeinstellungen …"; diff --git a/MacPass/en.lproj/MainMenu.strings b/MacPass/en.lproj/MainMenu.strings index 850adee4..c61e7cb4 100644 --- a/MacPass/en.lproj/MainMenu.strings +++ b/MacPass/en.lproj/MainMenu.strings @@ -132,7 +132,7 @@ "1181.title" = "Toggle Inspector"; /* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */ -"1200.title" = "Show Password Creator"; +"1200.title" = "Show Password Generator"; /* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */ "1203.title" = "Change Master Password…"; From f65fc314087484e680212cb0abafafdadbabd194 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 14 Dec 2014 01:48:08 +0100 Subject: [PATCH 270/778] Changing database settings now sets the document to dirty. --- MacPass/MPDatabaseSettingsWindowController.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index aa08809e..c9d42afc 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -129,6 +129,8 @@ */ metaData.rounds = MAX(0,[self.encryptionRoundsTextField integerValue]); + /* Register an action to enable promts when user cloeses without saving */ + [_document updateChangeCount:NSChangeDone]; [self close:nil]; } From af8743b5cc3cb5f19b50bb3554a4bbfcd9555514 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 14 Dec 2014 16:12:07 +0100 Subject: [PATCH 271/778] Respecting settings for command and control swap --- MacPass/MPAutotypeCommand.m | 2 +- MacPass/MPAutotypeKeyPress.m | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 8a449a2f..968e9639 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -93,7 +93,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F dispatch_once(&onceToken, ^{ modifierCommands = @{ kKPKAutotypeAlt : @(kCGEventFlagMaskAlternate), - kKPKAutotypeControl : @(kCGEventFlagMaskCommand), + kKPKAutotypeControl : @(kCGEventFlagMaskControl), kKPKAutotypeShift : @(kCGEventFlagMaskShift) }; }); diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index cf8f5c1e..b2d22df7 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -7,14 +7,25 @@ // #import "MPAutotypeKeyPress.h" +#import "MPFlagsHelper.h" #import "MPKeyMapper.h" +#import "MPSettingsHelper.h" + @implementation MPAutotypeKeyPress +static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers) { + BOOL sendCommand = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeySendCommandForControlKey]; + if(sendCommand && MPIsFlagSetInOptions(kCGEventFlagMaskControl, modifiers)) { + return (modifiers ^ kCGEventFlagMaskControl) | kCGEventFlagMaskCommand; + } + return modifiers; +} + - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask keyCode:(CGKeyCode)code { self = [super init]; if(self) { - _modifierMask = modiferMask; + _modifierMask = _updateModifierMaskForCurrentDefaults(modiferMask); _keyCode = code; } return self; From 59aa5c0ced81da89515504d27b8d9ec99720b741 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Dec 2014 14:09:54 +0100 Subject: [PATCH 272/778] Cleanep up Database Settings layout --- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 434 +++++++++--------- 1 file changed, 223 insertions(+), 211 deletions(-) diff --git a/MacPass/Base.lproj/DatabaseSettingsWindow.xib b/MacPass/Base.lproj/DatabaseSettingsWindow.xib index 4d68383f..9d76c5b5 100644 --- a/MacPass/Base.lproj/DatabaseSettingsWindow.xib +++ b/MacPass/Base.lproj/DatabaseSettingsWindow.xib @@ -1,8 +1,8 @@ - + - + @@ -36,14 +36,14 @@ - - + + - + - + - + - + - + - + @@ -75,27 +88,24 @@ DQ - - - + + + - - + + - - - - + @@ -108,31 +118,31 @@ DQ - - + + - - - + + + - + - - + + - + @@ -141,15 +151,19 @@ DQ - + - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + - - + + - + @@ -256,8 +273,8 @@ DQ - + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + - - + + - + @@ -344,14 +361,14 @@ DQ - - + + - - + + - + @@ -359,49 +376,49 @@ DQ

- - + + - - + + + + + - - + + - - + + - - - - - + + - - + + - + @@ -409,8 +426,11 @@ DQ - - + + + + + @@ -423,115 +443,106 @@ DQ - - + + + + - + + + + - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -544,6 +555,7 @@ Gw + From aa340305ba7da5e3c015e6a183b8f9ae7d023315 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Dec 2014 14:47:44 +0100 Subject: [PATCH 273/778] Fixed issue resutling in singel hotkey combination not being properly processed --- MacPass.xcodeproj/project.pbxproj | 6 ++ MacPass/Base.lproj/IntegrationSettings.xib | 72 ++++++++++++++-------- MacPass/MPAutotypeCommand.m | 18 ++++-- MacPass/MPAutotypeDaemon.m | 9 ++- MacPass/MPIntegrationSettingsController.h | 17 ++++- MacPass/MPIntegrationSettingsController.m | 16 +++-- MacPassTests/KPKTestAutotype.m | 16 +++++ MacPassTests/KPKTextXMLUtilities.m | 6 +- 8 files changed, 118 insertions(+), 42 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index ec76fdf5..0f939a75 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -225,6 +225,7 @@ 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; + 4C9B38CF1A3EFCA100CD21C3 /* NSString+XMLUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9B38CE1A3EFCA100CD21C3 /* NSString+XMLUtilities.m */; }; 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -788,6 +789,8 @@ 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_CreatedTemplate.pdf; path = Icons/99_CreatedTemplate.pdf; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; + 4C9B38CD1A3EFCA100CD21C3 /* NSString+XMLUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+XMLUtilities.h"; sourceTree = ""; }; + 4C9B38CE1A3EFCA100CD21C3 /* NSString+XMLUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+XMLUtilities.m"; sourceTree = ""; }; 4C9D6AA717615199001C660C /* HNHRoundedSecureTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedSecureTextFieldCell.h; sourceTree = ""; }; 4C9D6AA817615199001C660C /* HNHRoundedSecureTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedSecureTextFieldCell.m; sourceTree = ""; }; 4CA08D9E17A831B200A6544B /* MPAddEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAddEntryContextMenuDelegate.h; sourceTree = ""; }; @@ -1879,6 +1882,8 @@ 4C5CD35417D15DBD000B7F38 /* NSString+Hexdata.m */, 4C89F51F182F9FDD0069C73C /* NSString+Commands.h */, 4C89F520182F9FDD0069C73C /* NSString+Commands.m */, + 4C9B38CD1A3EFCA100CD21C3 /* NSString+XMLUtilities.h */, + 4C9B38CE1A3EFCA100CD21C3 /* NSString+XMLUtilities.m */, 4C1842BE179B5BFD00E2F5BC /* NSData+CommonCrypto.h */, 4C1842BF179B5BFD00E2F5BC /* NSData+CommonCrypto.m */, 4C2724D51778FF1A00FD8456 /* NSUUID+KeePassKit.h */, @@ -2448,6 +2453,7 @@ 4C245BF0176E1E3D0086100E /* ContextFilterLogFormatter.m in Sources */, 4C245BF1176E1E3D0086100E /* DispatchQueueLogFormatter.m in Sources */, 4CF78057176E5CFD0032EE71 /* MPConnection.m in Sources */, + 4C9B38CF1A3EFCA100CD21C3 /* NSString+XMLUtilities.m in Sources */, 4CF7805A176E6D5F0032EE71 /* HNHTableRowView.m in Sources */, 4CF7805D176E71170032EE71 /* MPServerDaemon.m in Sources */, 4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */, diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index f426521c..e37de59e 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -7,21 +7,25 @@ - - - + + + + + + + - + - + @@ -44,13 +48,13 @@ - + - + - + @@ -61,14 +65,14 @@ - + @@ -76,7 +80,7 @@ - + @@ -84,26 +88,41 @@ + + + + + + + + + @@ -112,37 +131,42 @@ + - + + + - - + + + + - + - + - + @@ -152,8 +176,8 @@ - - + + @@ -176,7 +200,7 @@ - + diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 968e9639..71027e1b 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -147,12 +147,20 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } /* Collect any part that isn't a command or if onyl paste is used */ if(lastLocation < [context.evaluatedCommand length]) { - NSRange pasteRange = NSMakeRange(lastLocation, [context.evaluatedCommand length] - lastLocation); - if(pasteRange.length > 0) { - NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; + /* We might have some dangling modifiers */ + NSRange lastRange = NSMakeRange(lastLocation, [context.evaluatedCommand length] - lastLocation); + if(lastRange.length > 0) { + NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:collectedModifers character:modifiedKey]; + if(press) { + [commands addObject:press]; + } + if(lastRange.length > 1) { + NSRange pasteRange = NSMakeRange(lastRange.location + 1, lastRange.length - 1); + NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; + } } - } return commands; } diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index be8ee8ee..0c3c2b20 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -133,6 +133,11 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle]; + if(useCurrentWindowAndApplication) { + NSImage *appIcon = [[NSApplication sharedApplication] applicationIconImage]; + NSString *label = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); + [[MPOverlayWindowController sharedController] displayOverlayImage:appIcon label:label atView:nil]; + } [self _performAutotypeForContext:context]; } @@ -162,11 +167,9 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *autotypeCandidates = [document autotypContextsForWindowTitle:windowTitle]; NSUInteger candidates = [autotypeCandidates count]; if(candidates == 0) { - [[MPOverlayWindowController sharedController] displayOverlayImage:[NSImage imageNamed:NSImageNameCaution] label:NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", "") atView:nil]; return nil; } if(candidates == 1 ) { - [[MPOverlayWindowController sharedController] displayOverlayImage:[NSImage imageNamed:NSImageNameActionTemplate] label:NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") atView:nil]; return [autotypeCandidates lastObject]; } [self _presentSelectionWindow:autotypeCandidates]; @@ -251,7 +254,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *attributes = (context.entry.username.length > 0 ) ? @[ context.entry.username, context.command ] : @[ context.command ]; - + for(NSString *value in attributes) { NSMenuItem *valueItem = [[NSMenuItem alloc] initWithTitle:value action:NULL keyEquivalent:@""]; [valueItem setIndentationLevel:1]; diff --git a/MacPass/MPIntegrationSettingsController.h b/MacPass/MPIntegrationSettingsController.h index 75476e82..9430a137 100644 --- a/MacPass/MPIntegrationSettingsController.h +++ b/MacPass/MPIntegrationSettingsController.h @@ -13,10 +13,21 @@ @interface MPIntegrationSettingsController : MPViewController -@property (weak) IBOutlet NSButton *enableServerCheckbutton; -@property (weak) IBOutlet NSButton *enableGlobalAutotypeCheckbutton; -@property (weak) IBOutlet NSButton *enableQuicklookCheckbutton; +/* Keepass HTTP */ +@property (weak) IBOutlet NSButton *enableServerCheckBox; + +/* Autotype */ +@property (weak) IBOutlet NSButton *enableGlobalAutotypeCheckBox; @property (weak) IBOutlet DDHotKeyTextField *hotKeyTextField; @property (weak) IBOutlet NSTextField *hotkeyWarningTextField; +@property (weak) IBOutlet NSButton *matchURLCheckBox; +@property (weak) IBOutlet NSButton *matchHostCheckBox; +@property (weak) IBOutlet NSButton *matchTagsCheckBox; + +@property (weak) IBOutlet NSButton *sendCommandForControlCheckBox; + +/* Preview */ +@property (weak) IBOutlet NSButton *enableQuicklookCheckBox; + @end diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index bc01b5e3..94b4759f 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -43,13 +43,21 @@ NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; NSString *enableGlobalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; NSString *quicklookKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableQuicklookPreview]; - [self.enableServerCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:serverKeyPath options:nil]; - [self.enableServerCheckbutton setEnabled:NO]; - [self.enableGlobalAutotypeCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; - [self.enableQuicklookCheckbutton bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; + [self.enableServerCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:serverKeyPath options:nil]; + [self.enableServerCheckBox setEnabled:NO]; + [self.enableGlobalAutotypeCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; + [self.enableQuicklookCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; [self.hotKeyTextField bind:NSEnabledBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; self.hotKeyTextField.delegate = self; + /* + [self.matchHostCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchHost] options:nil]; + [self.matchTagsCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchTags] options:nil]; + [self.matchURLCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchURL] options:nil]; + */ + + [self.sendCommandForControlCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeySendCommandForControlKey] options:nil]; + [self _showWarning:NO]; } diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index a59f1815..e1a7c614 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -238,5 +238,21 @@ keyPress = commands[4]; XCTAssertEqual(keyPress.keyCode, kVK_Return); XCTAssertEqual(keyPress.modifierMask, 0); + + + /* Command 3 */ + context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"^T"]; + commands = [MPAutotypeCommand commandsForContext:context]; + XCTAssertTrue(commands.count == 1); + XCTAssertTrue([commands[0] isKindOfClass:[MPAutotypeKeyPress class]]); + + /*^T*/ + keyPress = commands[0]; + XCTAssertEqualObjects(@"t", [MPKeyMapper stringForKey:keyPress.keyCode]); + /* TODO - Respect user settings? */ + XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskCommand); + /*XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskControl);*/ + + } @end diff --git a/MacPassTests/KPKTextXMLUtilities.m b/MacPassTests/KPKTextXMLUtilities.m index d81c95c2..943c416f 100644 --- a/MacPassTests/KPKTextXMLUtilities.m +++ b/MacPassTests/KPKTextXMLUtilities.m @@ -9,7 +9,7 @@ #import #import -#import "KPKXmlUtilities.h" +#import "NSString+XMLUtilities.h" @interface KPKTextXMLUtilities : XCTestCase @@ -26,8 +26,8 @@ } - (void)testExample { - NSString *safe = stripUnsafeCharacterForXMLFromString(@"*EORDIE\x10\x16\x12\x10"); - XCTAssertEqualObjects(@"*EORDIE", safe); + NSString *unsave = @"*EORDIE\x10\x16\x12\x10"; + XCTAssertEqualObjects(@"*EORDIE", unsave.XMLCompatibleString); } @end From 1f92e5aeef27b718a617f9c43ef75894ef2e3ccd Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Dec 2014 14:48:53 +0100 Subject: [PATCH 274/778] Fixed issues with non-valid XML characters in group and binary fields --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 8169caeb..4b8497ee 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8169caebb1df3de8d149fda61f3a77215e3a746e +Subproject commit 4b8497ee0d7788d73bbff98e352a45a2fc1380a0 From 3eb98a516cd19a24928679bd618b4fcdd4bbe879 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 16 Dec 2014 20:37:55 +0100 Subject: [PATCH 275/778] Autotype for a selected entry. WIP --- MacPass/AutotypeCandidateSelectionWindow.xib | 15 ++-- MacPass/MPAppDelegate.h | 6 +- MacPass/MPAppDelegate.m | 3 +- MacPass/MPAutotypeDaemon.h | 4 +- MacPass/MPAutotypeDaemon.m | 90 +++++++++++--------- MacPass/MPDocument+Autotype.h | 22 ++--- MacPass/MPDocument+Autotype.m | 4 +- MacPass/MPDocumentWindowController.h | 2 + MacPass/MPDocumentWindowController.m | 38 +++++---- 9 files changed, 101 insertions(+), 83 deletions(-) diff --git a/MacPass/AutotypeCandidateSelectionWindow.xib b/MacPass/AutotypeCandidateSelectionWindow.xib index bc6b74a8..b7dad74d 100644 --- a/MacPass/AutotypeCandidateSelectionWindow.xib +++ b/MacPass/AutotypeCandidateSelectionWindow.xib @@ -1,8 +1,8 @@ - + - - + + @@ -12,7 +12,7 @@ - + @@ -23,7 +23,6 @@ - @@ -64,7 +61,6 @@ DQ - @@ -73,7 +69,6 @@ DQ - diff --git a/MacPass/MPAppDelegate.h b/MacPass/MPAppDelegate.h index 4a90b065..064dc769 100644 --- a/MacPass/MPAppDelegate.h +++ b/MacPass/MPAppDelegate.h @@ -22,12 +22,15 @@ #import -FOUNDATION_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; +APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; + +@class MPAutotypeDaemon; @interface MPAppDelegate : NSObject @property (strong) IBOutlet NSWindow *passwordCreatorWindow; @property (strong) IBOutlet NSWindow *welcomeWindow; +@property (strong) MPAutotypeDaemon *autotypeDaemon; @property (weak) IBOutlet NSMenuItem *saveMenuItem; @property (nonatomic, assign) BOOL isAllowedToStoreKeyFile; @@ -41,7 +44,6 @@ FOUNDATION_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; */ - (IBAction)clearRememberdKeyFiles:(id)sender; - - (NSString *)applicationName; - (void)lockAllDocuments; diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index f9ad564b..02838738 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -44,7 +44,6 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi @private MPServerDaemon *serverDaemon; MPLockDaemon *lockDaemon; - MPAutotypeDaemon *autotypeDaemon; MPDockTileHelper *dockTileHelper; BOOL _shouldOpenFile; // YES if app was started to open a } @@ -158,7 +157,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi - (void)applicationDidFinishLaunching:(NSNotification *)notification { serverDaemon = [[MPServerDaemon alloc] init]; lockDaemon = [[MPLockDaemon alloc] init]; - autotypeDaemon = [[MPAutotypeDaemon alloc] init]; + self.autotypeDaemon = [[MPAutotypeDaemon alloc] init]; //dockTileHelper = [[MPDockTileHelper alloc] init]; } diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index afa33d79..10a7c974 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -9,6 +9,7 @@ #import @class DDHotKey; +@class KPKEntry; /** * The autotype daemon is repsonsible for registering the globa hotkey and to perform any autotype actions @@ -19,7 +20,8 @@ @property (weak) IBOutlet NSPopUpButton *matchSelectionButton; @property (readonly, strong) DDHotKey *registredHotKey; -- (IBAction)executeAutotypeWithSelectedMatch:(id)sender; +- (void)performAutotypeForEntry:(KPKEntry *)entryOrNil; +- (IBAction)performAutotypeWithSelectedMatch:(id)sender; - (IBAction)cancelAutotypeSelection:(id)sender; @end diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 0c3c2b20..b9accd23 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -44,7 +44,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Lifecylce -- (id)init { +- (instancetype)init { self = [super init]; if (self) { _enabled = NO; @@ -59,16 +59,17 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey] options:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_applicationWillBecomeActive:) - name:NSApplicationWillBecomeActiveNotification - object:[NSApplication sharedApplication]]; + [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self + selector:@selector(_didDeactivateApplication:) + name:NSWorkspaceDidDeactivateApplicationNotification + object:nil]; } return self; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; + [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self]; [self unbind:NSStringFromSelector(@selector(enabled))]; [self unbind:NSStringFromSelector(@selector(hotKeyData))]; } @@ -93,11 +94,12 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } } +- (void)executeAutotypeForEntry:(KPKEntry *)entry { +} #pragma mark - #pragma mark Actions - -- (void)executeAutotypeWithSelectedMatch:(id)sender { +- (void)performAutotypeWithSelectedMatch:(id)sender { NSMenuItem *item = [self.matchSelectionButton selectedItem]; MPAutotypeContext *context = [item representedObject]; [self.matchSelectionWindow orderOut:self]; @@ -107,7 +109,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; - (void)cancelAutotypeSelection:(id)sender { [self.matchSelectionWindow orderOut:sender]; if(self.targetPID) { - [MPAutotypeDaemon _orderApplicationToFront:self.targetPID]; + [self _orderApplicationToFront:self.targetPID]; } } @@ -115,13 +117,11 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark Hotkey evaluation - (void)_didPressHotKey { - [self _performAutotypeUsingCurrentWindowAndApplication:YES]; + [self _updateTargetInfoForFrontMostApplication]; + [self performAutotypeForEntry:nil]; } -- (void)_performAutotypeUsingCurrentWindowAndApplication:(BOOL)useCurrentWindowAndApplication { - if(useCurrentWindowAndApplication) { - [self _updateTargetApplicationAndWindow]; - } +- (void)performAutotypeForEntry:(KPKEntry *)entryOrNil { NSInteger pid = [[NSProcessInfo processInfo] processIdentifier]; if(self.targetPID == pid) { return; // We do not perform Autotype on ourselves @@ -129,11 +129,16 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; MPDocument *document = [self _findAutotypeDocument]; if(!document) { - return; // nothing to do + /* We do not have a document. This can be + a) there is none - nothing happens + b) there is at least one, but locked - we get called again after the document has been unlocked + */ + return; } - MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle]; - if(useCurrentWindowAndApplication) { + MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; + /* TODO: that's popping up if the mulit seleciton dialog goes up! */ + if(!entryOrNil) { NSImage *appIcon = [[NSApplication sharedApplication] applicationIconImage]; NSString *label = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); [[MPOverlayWindowController sharedController] displayOverlayImage:appIcon label:label atView:nil]; @@ -159,12 +164,12 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; return currentDocument; } -- (MPAutotypeContext *)_autotypeContextInDocument:(MPDocument *)document forWindowTitle:(NSString *)windowTitle { +- (MPAutotypeContext *)_autotypeContextInDocument:(MPDocument *)document forWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entry { /* Query the document to generate a autotype command list for the window title We do not care where this came form, just get the autotype commands */ - NSArray *autotypeCandidates = [document autotypContextsForWindowTitle:windowTitle]; + NSArray *autotypeCandidates = [document autotypContextsForWindowTitle:windowTitle preferredEntry:entry]; NSUInteger candidates = [autotypeCandidates count]; if(candidates == 0) { return nil; @@ -180,13 +185,13 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; if(nil == context) { return; // No context to work with } - + if([self _orderApplicationToFront:self.targetPID]) { + /* Sleep a bit after the app was activated */ + /* TODO - we can use a saver way and use a notification to chekc if the app actally was activated */ + usleep(1 * NSEC_PER_MSEC); + } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSArray *commands = [MPAutotypeCommand commandsForContext:context]; - if([MPAutotypeDaemon _orderApplicationToFront:self.targetPID]) { - /* Sleep a bit after the app was activated */ - usleep(0.5 * NSEC_PER_MSEC); - } for(MPAutotypeCommand *command in commands) { [command execute]; } @@ -218,9 +223,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } } -- (NSDictionary *)_frontMostApplicationInfoDict { - NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; - +- (NSDictionary *)_infoDictionaryForApplication:(NSRunningApplication *)application { NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); for(NSDictionary *windowDict in currentWindows) { NSString *windowTitle = windowDict[(NSString *)kCGWindowName]; @@ -228,7 +231,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; continue; } NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID]; - if(processId && [processId isEqualToNumber:@(frontApplication.processIdentifier)]) { + if(processId && [processId isEqualToNumber:@(application.processIdentifier)]) { return @{ kMPWindowTitleKey: windowDict[(NSString *)kCGWindowName], kMPProcessIdentifierKey : processId @@ -265,28 +268,28 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; [self.matchSelectionButton setMenu:associationMenu]; [self.matchSelectionWindow makeKeyAndOrderFront:self]; [NSApp activateIgnoringOtherApps:YES]; - /* Setup Items in Popup */ } #pragma mark - #pragma mark MPDocument Notifications - (void)_didUnlockDatabase:(NSNotification *)notification { + /* Remove ourselves and call again to search matches */ [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self _performAutotypeUsingCurrentWindowAndApplication:NO]; + [self performAutotypeForEntry:nil]; } #pragma mark - #pragma mark NSApplication Notifications -- (void)_applicationWillBecomeActive:(NSNotification *)notification { - //[self _updateTargetApplicationAndWindow]; - //NSLog(@"_applicaiontWillBecomActive"); +- (void)_didDeactivateApplication:(NSNotification *)notification { + NSDictionary *userInfo = notification.userInfo; + [self _updateTargeInformationForApplication:userInfo[NSWorkspaceApplicationKey]]; } #pragma mark - #pragma mark Application information -+ (BOOL)_orderApplicationToFront:(pid_t)processIdentifier { +- (BOOL)_orderApplicationToFront:(pid_t)processIdentifier { NSRunningApplication *runingApplication = [NSRunningApplication runningApplicationWithProcessIdentifier:processIdentifier]; NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; if(frontApplication.processIdentifier == processIdentifier) { @@ -295,15 +298,20 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; [runingApplication activateWithOptions:0]; return YES; } +- (void)_updateTargetInfoForFrontMostApplication { + [self _updateTargeInformationForApplication:[[NSWorkspace sharedWorkspace] frontmostApplication]]; +} -- (void)_updateTargetApplicationAndWindow { - /* - Determine the window title of the current front most application - Start searching the db for the best fit (based on title, then on window associations - */ - NSDictionary *frontApplicationInfoDict = [self _frontMostApplicationInfoDict]; - self.targetPID = [frontApplicationInfoDict[kMPProcessIdentifierKey] intValue]; - self.targetWindowTitle = frontApplicationInfoDict[kMPWindowTitleKey]; +- (void)_updateTargeInformationForApplication:(NSRunningApplication *)application { + if(!application) { + self.targetPID = -1; + self.targetWindowTitle = @""; + } + else { + NSDictionary *frontApplicationInfoDict = [self _infoDictionaryForApplication:application]; + self.targetPID = [frontApplicationInfoDict[kMPProcessIdentifierKey] intValue]; + self.targetWindowTitle = frontApplicationInfoDict[kMPWindowTitleKey]; + } } @end diff --git a/MacPass/MPDocument+Autotype.h b/MacPass/MPDocument+Autotype.h index e66d6b58..1d82e084 100644 --- a/MacPass/MPDocument+Autotype.h +++ b/MacPass/MPDocument+Autotype.h @@ -25,23 +25,25 @@ @interface MPDocument (Autotype) /** - * Tests the given item for a possible wrong autotype format - * MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files - * - * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype - * - * @return YES if the given item is considered a possible candidate. NO in all other cases - */ +* Tests the given item for a possible wrong autotype format +* MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files +* +* @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype +* +* @return YES if the given item is considered a possible candidate. NO in all other cases +*/ + (BOOL)isCandidateForMalformedAutotype:(id)item; /** - * Returns an NSArray containing all Autotype Contexts that match the given window title + * Returns an NSArray containing all Autotype Contexts that match the given window title. + * If no entry is set, all entries in the document will be searched * * @param windowTitle Window title to search matches for + * @param entry Entry to use for lookup. If nil lookup will be performed in complete document * - * @return NSArray of MPAutotypeContexts for the given window title + * @return NSArray of MPAutotypeContext objects matching the window title. */ -- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle; +- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entryOrNil; /** * Checks if the document has malformed autotype items * diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 0f58fb58..84c1f9e0 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -46,11 +46,11 @@ return (NSOrderedSame == [@"{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}" compare:keystrokeSequence options:NSCaseInsensitiveSearch]); } -- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle { +- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entry { if(!windowTitle) { return nil; } - NSArray *autotypeEntries = [self.root autotypeableChildEntries]; + NSArray *autotypeEntries = entry ? [[NSArray alloc] initWithObjects:entry, nil] : [self.root autotypeableChildEntries]; NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; for(KPKEntry *entry in autotypeEntries) { /* TODO: diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index fb4de2b9..d57f702e 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -50,6 +50,8 @@ - (IBAction)pickExpiryDate:(id)sender; +- (IBAction)performAutotypeForEntry:(id)sender; + #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 1ddd57a6..46a17095 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -7,25 +7,26 @@ // #import "MPDocumentWindowController.h" -#import "MPDocument.h" -#import "MPPasswordInputController.h" -#import "MPEntryViewController.h" -#import "MPToolbarDelegate.h" -#import "MPOutlineViewController.h" -#import "MPInspectorViewController.h" -#import "MPAppDelegate.h" #import "MPActionHelper.h" -#import "MPDatabaseSettingsWindowController.h" -#import "MPPasswordEditWindowController.h" +#import "MPAppDelegate.h" +#import "MPAutotypeDaemon.h" #import "MPConstants.h" -#import "MPSettingsHelper.h" -#import "MPDocumentWindowDelegate.h" -#import "MPFixAutotypeWindowController.h" - #import "MPContextToolbarButton.h" -#import "KPKTree.h" -#import "KPKEntry.h" +#import "MPDatabaseSettingsWindowController.h" +#import "MPDocument.h" +#import "MPDocumentWindowDelegate.h" +#import "MPEntryViewController.h" +#import "MPFixAutotypeWindowController.h" +#import "MPInspectorViewController.h" +#import "MPOutlineViewController.h" +#import "MPPasswordEditWindowController.h" +#import "MPPasswordInputController.h" +#import "MPSettingsHelper.h" +#import "MPToolbarDelegate.h" + #import "KPKCompositeKey.h" +#import "KPKEntry.h" +#import "KPKTree.h" typedef NS_ENUM(NSUInteger, MPAlertContext) { MPAlertLossySaveWarning, @@ -369,6 +370,13 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [[NSUserDefaults standardUserDefaults] setBool:!inspectorWasVisible forKey:kMPSettingsKeyShowInspector]; } +- (void)performAutotypeForEntry:(id)sender { + id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; + KPKEntry *targetEntry = [entryResolver currentTargetEntry]; + MPAutotypeDaemon *autotyped = ((MPAppDelegate *)[NSApplication sharedApplication]).autotypeDaemon; + [autotyped performAutotypeForEntry:targetEntry]; +} + - (void)showInspector:(id)sender { if(![self _isInspectorVisible]) { [self toggleInspector:sender]; From 692ade211079c76c12d0417988bd00aea08c58a2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 17 Dec 2014 11:20:30 +0100 Subject: [PATCH 276/778] Autotype for selected entry is working rudimentarily --- MacPass/MPActionHelper.h | 3 +- MacPass/MPActionHelper.m | 41 ++++++++++++++------------- MacPass/MPAutotypeContext.h | 10 +++---- MacPass/MPAutotypeDaemon.h | 2 +- MacPass/MPAutotypeDaemon.m | 36 ++++++++++++----------- MacPass/MPContextMenuHelper.h | 17 +++++------ MacPass/MPContextMenuHelper.m | 9 ++++++ MacPass/MPDocument+Autotype.m | 14 +++++++-- MacPass/MPDocument.m | 3 ++ MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPEntryViewController.m | 1 - MacPass/en.lproj/Localizable.strings | Bin 11956 -> 12058 bytes 12 files changed, 80 insertions(+), 58 deletions(-) diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index b2347152..cb29f8fa 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -29,7 +29,8 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionImportXML, // Import form XML MPActionToggleQuicklook, MPActionShowHistory, // History anzeigen - MPActionExitHistory // History ausblenden + MPActionExitHistory, // History ausblenden + MPActionPerformAutotypeForSelectedEntry // Perform Autotype for selected Entry }; /** * Helper to retrieve commonly used actions diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 557dbff8..e629b779 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -19,26 +19,27 @@ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ actionDict = @{ - @(MPActionAddEntry): NSStringFromSelector(@selector(createEntry:)), - @(MPActionAddGroup): NSStringFromSelector(@selector(createGroup:)), - @(MPActionDuplicateEntry): NSStringFromSelector(@selector(duplicateEntry:)), - @(MPActionDuplicateEntryWithOptions): NSStringFromSelector(@selector(duplicateEntryWithOptions:)), - @(MPActionCopyPassword): NSStringFromSelector(@selector(copyPassword:)), - @(MPActionCopyURL): NSStringFromSelector(@selector(copyURL:)), - @(MPActionCopyUsername): NSStringFromSelector(@selector(copyUsername:)), - @(MPActionDelete): NSStringFromSelector(@selector(delete:)), - @(MPActionEditPassword): NSStringFromSelector(@selector(editPassword:)), - @(MPActionOpenURL): NSStringFromSelector(@selector(openURL:)), - @(MPActionToggleInspector): NSStringFromSelector(@selector(toggleInspector:)), - @(MPActionLock): NSStringFromSelector(@selector(lock:)), - @(MPActionEmptyTrash): NSStringFromSelector(@selector(emptyTrash:)), - @(MPActionDatabaseSettings): NSStringFromSelector(@selector(showDatabaseSettings:)), - @(MPActionEditTemplateGroup): NSStringFromSelector(@selector(editTemplateGroup:)), - @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), - @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), - @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), - @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), - @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)) + @(MPActionAddEntry): NSStringFromSelector(@selector(createEntry:)), + @(MPActionAddGroup): NSStringFromSelector(@selector(createGroup:)), + @(MPActionDuplicateEntry): NSStringFromSelector(@selector(duplicateEntry:)), + @(MPActionDuplicateEntryWithOptions): NSStringFromSelector(@selector(duplicateEntryWithOptions:)), + @(MPActionCopyPassword): NSStringFromSelector(@selector(copyPassword:)), + @(MPActionCopyURL): NSStringFromSelector(@selector(copyURL:)), + @(MPActionCopyUsername): NSStringFromSelector(@selector(copyUsername:)), + @(MPActionDelete): NSStringFromSelector(@selector(delete:)), + @(MPActionEditPassword): NSStringFromSelector(@selector(editPassword:)), + @(MPActionOpenURL): NSStringFromSelector(@selector(openURL:)), + @(MPActionToggleInspector): NSStringFromSelector(@selector(toggleInspector:)), + @(MPActionLock): NSStringFromSelector(@selector(lock:)), + @(MPActionEmptyTrash): NSStringFromSelector(@selector(emptyTrash:)), + @(MPActionDatabaseSettings): NSStringFromSelector(@selector(showDatabaseSettings:)), + @(MPActionEditTemplateGroup): NSStringFromSelector(@selector(editTemplateGroup:)), + @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), + @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), + @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), + @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), + @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)), + @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)) }; }); return actionDict; diff --git a/MacPass/MPAutotypeContext.h b/MacPass/MPAutotypeContext.h index d83cfd73..282ecb36 100644 --- a/MacPass/MPAutotypeContext.h +++ b/MacPass/MPAutotypeContext.h @@ -30,6 +30,10 @@ * Command with placeholders and references resolved */ @property (nonatomic, readonly, copy) NSString *evaluatedCommand; +/** + * @return YES if valid, NO otherwise + */ +@property (nonatomic, readonly, assign) BOOL isValid; /** * Designated initializer @@ -42,11 +46,5 @@ - (instancetype)initWithEntry:(KPKEntry *)entry andSequence:(NSString *)sequence; - (instancetype)initWithDefaultSequenceForEntry:(KPKEntry *)entry; - (instancetype)initWithWindowAssociation:(KPKWindowAssociation *)association; -/** - * Returns YES if the given sequence is valid (currentyl only bracke missmatch is regarded as invalid - * - * @return YES if valid, NO otherwise - */ -- (BOOL)isValid; @end diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index 10a7c974..d67351c4 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -20,7 +20,7 @@ @property (weak) IBOutlet NSPopUpButton *matchSelectionButton; @property (readonly, strong) DDHotKey *registredHotKey; -- (void)performAutotypeForEntry:(KPKEntry *)entryOrNil; +- (void)performAutotypeForEntry:(KPKEntry *)entry; - (IBAction)performAutotypeWithSelectedMatch:(id)sender; - (IBAction)cancelAutotypeSelection:(id)sender; diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index b9accd23..6a448128 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -34,8 +34,9 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; @property (nonatomic, assign) BOOL enabled; @property (nonatomic, copy) NSData *hotKeyData; @property (strong) DDHotKey *registredHotKey; -@property (assign) pid_t targetPID; -@property (copy) NSString *targetWindowTitle; +@property (assign) pid_t targetPID; // The pid of the process we want to sent commands to +@property (copy) NSString *targetWindowTitle; // The title of the window that we are targeting +@property (strong) NSRunningApplication *previousApplication; // The application that was active before we got invoked @end @@ -43,7 +44,6 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Lifecylce - - (instancetype)init { self = [super init]; if (self) { @@ -76,7 +76,6 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Properties - - (void)setEnabled:(BOOL)enabled { if(_enabled != enabled) { _enabled = enabled; @@ -94,7 +93,18 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } } -- (void)executeAutotypeForEntry:(KPKEntry *)entry { +#pragma mark - +#pragma mark Autotype Invocation +- (void)performAutotypeForEntry:(KPKEntry *)entry { + if(entry) { + [self _updateTargeInformationForApplication:self.previousApplication]; + [self _performAutotypeForEntry:entry]; + } +} + +- (void)_didPressHotKey { + [self _updateTargetInfoForFrontMostApplication]; + [self _performAutotypeForEntry:nil]; } #pragma mark - @@ -114,14 +124,9 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } #pragma mark - -#pragma mark Hotkey evaluation +#pragma mark Autotype Execution -- (void)_didPressHotKey { - [self _updateTargetInfoForFrontMostApplication]; - [self performAutotypeForEntry:nil]; -} - -- (void)performAutotypeForEntry:(KPKEntry *)entryOrNil { +- (void)_performAutotypeForEntry:(KPKEntry *)entryOrNil { NSInteger pid = [[NSProcessInfo processInfo] processIdentifier]; if(self.targetPID == pid) { return; // We do not perform Autotype on ourselves @@ -200,7 +205,6 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Hotkey Registration - - (void)_registerHotKey { __weak MPAutotypeDaemon *welf = self; DDHotKeyTask aTask = ^(NSEvent *event) { @@ -272,23 +276,21 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark MPDocument Notifications - - (void)_didUnlockDatabase:(NSNotification *)notification { /* Remove ourselves and call again to search matches */ [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self performAutotypeForEntry:nil]; + [self _performAutotypeForEntry:nil]; } #pragma mark - #pragma mark NSApplication Notifications - (void)_didDeactivateApplication:(NSNotification *)notification { NSDictionary *userInfo = notification.userInfo; - [self _updateTargeInformationForApplication:userInfo[NSWorkspaceApplicationKey]]; + self.previousApplication = userInfo[NSWorkspaceApplicationKey]; } #pragma mark - #pragma mark Application information - - (BOOL)_orderApplicationToFront:(pid_t)processIdentifier { NSRunningApplication *runingApplication = [NSRunningApplication runningApplicationWithProcessIdentifier:processIdentifier]; NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; diff --git a/MacPass/MPContextMenuHelper.h b/MacPass/MPContextMenuHelper.h index 8e1682c1..92c4d458 100644 --- a/MacPass/MPContextMenuHelper.h +++ b/MacPass/MPContextMenuHelper.h @@ -9,14 +9,15 @@ #import typedef NS_OPTIONS(NSUInteger, MPContextMenuItemsFlags) { - MPContextMenuCreate = 1 << 0, - MPContextMenuDelete = 1 << 1, - MPContextMenuCopy = 1 << 2, - MPContextMenuTrash = 1 << 3, - MPContextMenuDuplicate = 1 << 4, - MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, - MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate, - MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash + MPContextMenuCreate = 1 << 0, + MPContextMenuDelete = 1 << 1, + MPContextMenuCopy = 1 << 2, + MPContextMenuTrash = 1 << 3, + MPContextMenuDuplicate = 1 << 4, + MPContextMenuAutotype = 1 << 5, + MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, + MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate | MPContextMenuAutotype, + MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash }; @interface MPContextMenuHelper : NSTableCellView diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index f2269992..4274e388 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -26,6 +26,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { BOOL const insertCopy = MPIsFlagSetInOptions(MPContextMenuCopy, flags); BOOL const insertTrash = MPIsFlagSetInOptions(MPContextMenuTrash, flags); BOOL const insertDuplicate = MPIsFlagSetInOptions(MPContextMenuDuplicate, flags); + BOOL const insertAutotype = MPIsFlagSetInOptions(MPContextMenuAutotype, flags); NSMutableArray *items = [NSMutableArray arrayWithCapacity:10]; if(insertCreate) { @@ -97,6 +98,14 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { [items addObjectsFromArray:@[ copyUsername, copyPassword, urlItem]]; } + if(insertAutotype) { + MPContextmenuHelperBeginSection(items); + NSMenuItem *performAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"PERFORM_AUTOTYPE_FOR_ENTRY", @"") + action:[MPActionHelper actionOfType:MPActionPerformAutotypeForSelectedEntry] + keyEquivalent:@"a"]; + [performAutotype setKeyEquivalentModifierMask:[performAutotype keyEquivalentModifierMask] | NSControlKeyMask]; + [items addObject:performAutotype]; + } return items; } diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 84c1f9e0..719841bb 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -50,8 +50,10 @@ if(!windowTitle) { return nil; } - NSArray *autotypeEntries = entry ? [[NSArray alloc] initWithObjects:entry, nil] : [self.root autotypeableChildEntries]; + BOOL usePreferredEntry = (nil != entry); + NSArray *autotypeEntries = usePreferredEntry ? [[NSArray alloc] initWithObjects:entry, nil] : [self.root autotypeableChildEntries]; NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; + MPAutotypeContext *context; for(KPKEntry *entry in autotypeEntries) { /* TODO: @@ -68,7 +70,6 @@ if (titleRange.location == NSNotFound || titleRange.length == 0) { titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; } - MPAutotypeContext *context; if(titleRange.location != NSNotFound && titleRange.length != 0) { context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; } @@ -77,7 +78,14 @@ KPKWindowAssociation *association = [entry.autotype windowAssociationMatchingWindowTitle:windowTitle]; context = [[MPAutotypeContext alloc] initWithWindowAssociation:association]; } - if([context isValid]) { + if(context.isValid) { + [contexts addObject:context]; + } + } + /* Fall back to preferred Entry if no match was found */ + if(contexts.count == 0 && usePreferredEntry) { + context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; + if(context.isValid) { [contexts addObject:context]; } } diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 8b23da17..e02aa781 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -713,6 +713,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey case MPActionOpenURL: valid &= (nil != targetEntry ) && ([targetEntry.url length] > 0); break; + case MPActionPerformAutotypeForSelectedEntry: + valid &= (nil != targetEntry); + break; default: break; } diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 46a17095..158f8f15 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -373,7 +373,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)performAutotypeForEntry:(id)sender { id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; KPKEntry *targetEntry = [entryResolver currentTargetEntry]; - MPAutotypeDaemon *autotyped = ((MPAppDelegate *)[NSApplication sharedApplication]).autotypeDaemon; + MPAutotypeDaemon *autotyped = ((MPAppDelegate *)[NSApplication sharedApplication].delegate).autotypeDaemon; [autotyped performAutotypeForEntry:targetEntry]; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 50d1cb44..5f37511e 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -143,7 +143,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; selector:@selector(_didBecomFirstResponder:) name:MPDidActivateViewNotification object:_entryTable]; - /* Filter bar notifications */ [self _setupEntryMenu]; NSTableColumn *parentColumn = [self.entryTable tableColumns][0]; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index e3c97eaf8c945f40870e0eaccf62552ed6a22eda..b5d3ffbcc20ac82326f0de5532d08bf80fd05774 100644 GIT binary patch delta 72 zcmdlIJ1cI37N@E!LlA=-gFle;Wr$~RWC&#l0rEl^A{hc0T!A8BxygoH;=BP2sSHI7 TX$<*5GI#Prap}z(oIR=lJx>q? delta 12 TcmbOgws* From 23b3325514a9c98cb78855e66efb267198a0f74c Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 17 Dec 2014 16:05:55 +0100 Subject: [PATCH 277/778] Updated comments --- MacPass/MPDocument.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index e02aa781..167dd811 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -143,17 +143,19 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)saveDocumentAs:(id)sender { - /* take a look at NSEditor Protocoll commitEding, as NSDocument supports that */ + /* FIXME: Use controllers for bindings to enable NSEditorRegistration. NSDocument supports this! */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocumentAs:sender]; } - (void)saveDocument:(id)sender { + /* FIXME: Use controllers for bindings to enable NSEditorRegistration. NSDocument supports this! */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocument:sender]; } - (void)saveDocumentTo:(id)sender { + /* FIXME: Use controllers for bindings to enable NSEditorRegistration. NSDocument supports this! */ [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentWillSaveNotification object:self]; [super saveDocumentTo:sender]; } From ad07ca5036136ab6508798186b6a757bb4ba6bd6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 17 Dec 2014 19:49:51 +0100 Subject: [PATCH 278/778] Fixed more issue with invalid XML Characters corrupting database --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 4b8497ee..214915aa 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 4b8497ee0d7788d73bbff98e352a45a2fc1380a0 +Subproject commit 214915aa65af50de69b5af378c4e8d9cccbc2597 From 30326d633e1c098e43e40ea6a0f494e1f890e208 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 Dec 2014 11:34:48 +0100 Subject: [PATCH 279/778] Added FileWatcher based on DTFileMontior from Cocoanetics --- MacPass.xcodeproj/project.pbxproj | 6 +++ MacPass/MPDocument.m | 1 + MacPass/MPFileWatcher.h | 25 +++++++++ MacPass/MPFileWatcher.m | 86 +++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100644 MacPass/MPFileWatcher.h create mode 100644 MacPass/MPFileWatcher.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 0f939a75..e77bb333 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -214,6 +214,7 @@ 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9216EB6F5E003D34A1 /* MPToolbarItem.m */; }; 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9616EB754B003D34A1 /* MPActionHelper.m */; }; 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */; }; + 4C8913661A422C8C0071A4CB /* MPFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8913651A422C8C0071A4CB /* MPFileWatcher.m */; }; 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */; }; 4C89F521182F9FDD0069C73C /* NSString+Commands.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F520182F9FDD0069C73C /* NSString+Commands.m */; }; 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */; }; @@ -771,6 +772,8 @@ 4C888C9616EB754B003D34A1 /* MPActionHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPActionHelper.m; sourceTree = ""; }; 4C88C66718D9F8D600F43852 /* MPTemporaryFileStorageCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTemporaryFileStorageCenter.h; sourceTree = ""; }; 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorageCenter.m; sourceTree = ""; }; + 4C8913641A422C8C0071A4CB /* MPFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFileWatcher.h; sourceTree = ""; }; + 4C8913651A422C8C0071A4CB /* MPFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFileWatcher.m; sourceTree = ""; }; 4C89B70E19B4B4A300DC0A6A /* MPTreeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTreeDelegate.h; sourceTree = ""; }; 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTreeDelegate.m; sourceTree = ""; }; 4C89F51F182F9FDD0069C73C /* NSString+Commands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Commands.h"; sourceTree = ""; }; @@ -1353,6 +1356,8 @@ 4C4B728418E4B9B400A1A5D5 /* MPDockTileHelper.m */, 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */, 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */, + 4C8913641A422C8C0071A4CB /* MPFileWatcher.h */, + 4C8913651A422C8C0071A4CB /* MPFileWatcher.m */, ); name = Helper; sourceTree = ""; @@ -2398,6 +2403,7 @@ 4CC3AABD175F4983003EF01B /* HNHRoundedTextFieldCell.m in Sources */, 4C9D6AA917615199001C660C /* HNHRoundedSecureTextFieldCell.m in Sources */, 4C4A100F176286FD00BBF2CA /* MPTableView.m in Sources */, + 4C8913661A422C8C0071A4CB /* MPFileWatcher.m in Sources */, 4CAF62FC1763604000CD7084 /* HNHBadgedTextFieldCell.m in Sources */, 4CA334CA18AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m in Sources */, 4C58BD4F176370B100B8178C /* HNHBadgedTextField.m in Sources */, diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 167dd811..aaff2334 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -784,6 +784,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey # pragma mark File Watching - (void) _watchForFileChanges:(BOOL)watch { + } @end diff --git a/MacPass/MPFileWatcher.h b/MacPass/MPFileWatcher.h new file mode 100644 index 00000000..199e63e5 --- /dev/null +++ b/MacPass/MPFileWatcher.h @@ -0,0 +1,25 @@ +// +// MPFileWatcher.h +// MacPass +// +// Created by Michael Starke on 17/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import + +@class MPFileWatcher; +typedef void (^MPFileWatcherBlock)(void); +/* TODO: Cocoanetics DTFileMonitor */ +@interface MPFileWatcher : NSObject + +@property (copy, readonly) NSURL *URL; + ++ (instancetype)fileWatcherWithURL:(NSURL *)url changeBlock:(MPFileWatcherBlock)block; + +- (instancetype)initWithURL:(NSURL *)url changeBlock:(MPFileWatcherBlock)block; + +- (void)startMonitoring; +- (void)stopMonitoring; + +@end diff --git a/MacPass/MPFileWatcher.m b/MacPass/MPFileWatcher.m new file mode 100644 index 00000000..80288fd6 --- /dev/null +++ b/MacPass/MPFileWatcher.m @@ -0,0 +1,86 @@ +// +// MPFileWatcher.m +// MacPass +// +// Created by Michael Starke on 17/12/14. +// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. +// + +#import "MPFileWatcher.h" + +@interface MPFileWatcher () + +@property (copy) NSURL *URL; +@property (copy) MPFileWatcherBlock block; +@property (assign) int fileDescriptor; +@property (strong) dispatch_queue_t queue; +@property (strong) dispatch_source_t source; + +@end + +@implementation MPFileWatcher + ++ (instancetype)fileWatcherWithURL:(NSURL *)url changeBlock:(MPFileWatcherBlock)block { + return [[MPFileWatcher alloc] initWithURL:url changeBlock:block]; +} + +- (instancetype)initWithURL:(NSURL *)url changeBlock:(MPFileWatcherBlock)block { + NSAssert([url isFileURL], @"URL needs to be a valid file URL"); + self = [super init]; + if(self) { + _block = [block copy]; + _URL = [url copy]; + _queue = dispatch_queue_create("MPFileMonitor Queue", 0); + } + return self; +} + +- (void)startMonitoring +{ + @synchronized(self) { + if(self.source) { + return; + } + + self.fileDescriptor = open([self.URL.path fileSystemRepresentation], O_EVTONLY); + + if(!self.fileDescriptor) { + return; + } + + // watch the file descriptor for writes + self.source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE, self.fileDescriptor, DISPATCH_VNODE_WRITE, self.queue); + + // call the passed block if the source is modified + + /* dispatch_source_set_event_handler(source, ^{ + unsigned long flags = dispatch_source_get_data(source); + if(flags & DISPATCH_VNODE_DELETE) { + dispatch_source_cancel(source); + [blockSelf watchFileAtURL:url]; + } + }); */ + + dispatch_source_set_event_handler(self.source, self.block); + + // close the file descriptor when the dispatch source is cancelled + dispatch_source_set_cancel_handler(self.source, ^{ + + close(self.fileDescriptor); + }); + + // at this point the dispatch source is paused, so start watching + dispatch_resume(self.source); + } +} + +- (void)stopMonitoring { + @synchronized(self) { + if(!self.source) { + return; + } + dispatch_source_cancel(self.source); + self.source = nil; + } +} +@end From 802a2c17141f4ccecac1726cd3725acd5aa178c9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 19 Dec 2014 23:11:40 +0100 Subject: [PATCH 280/778] Updated to Xcode 6.1 format --- MacPass/DuplicateEntryOptionsWindow.xib | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/DuplicateEntryOptionsWindow.xib b/MacPass/DuplicateEntryOptionsWindow.xib index 62a28200..37fd47ca 100644 --- a/MacPass/DuplicateEntryOptionsWindow.xib +++ b/MacPass/DuplicateEntryOptionsWindow.xib @@ -1,8 +1,8 @@ - + - + @@ -63,7 +63,7 @@ Gw - + From 151e13bdaed89c61f5ca245480605a512247be1c Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 20 Dec 2014 15:26:46 +0100 Subject: [PATCH 281/778] MPAutotype hasDefaultKeyStrokeSequence now is be binding compatible --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 214915aa..115772ca 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 214915aa65af50de69b5af378c4e8d9cccbc2597 +Subproject commit 115772ca66f2da536277c9be39395c8815459782 From 06a3b9acd71234131bc54ca471d0594c4877e14c Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 22 Dec 2014 16:56:23 +0100 Subject: [PATCH 282/778] Started reworking autotype inputs to better differentiate between default and non default sequences --- MacPass/Base.lproj/EntryInspectorView.xib | 40 +++++++++++++++++++---- MacPass/MPEntryInspectorViewController.h | 2 ++ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 3e19806a..e1679911 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,7 +1,6 @@ - @@ -15,6 +14,8 @@ + + @@ -444,6 +445,7 @@ + @@ -677,7 +679,7 @@ - + @@ -711,7 +713,7 @@ - + @@ -853,7 +855,7 @@ - + @@ -863,11 +865,32 @@ + + + @@ -882,19 +905,21 @@ - - + + + - + + @@ -902,6 +927,7 @@ + diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index c5747bcb..b5bab8e1 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -42,11 +42,13 @@ @property (weak) IBOutlet NSButton *enableAutotypeCheckButton; @property (weak) IBOutlet NSButton *obfuscateAutotypeCheckButton; @property (weak) IBOutlet NSTableView *windowAssociationsTableView; +@property (weak) IBOutlet NSButton *enableCustomEntrySequenceButton; @property (weak) IBOutlet NSTextField *customEntrySequenceTextField; @property (weak) IBOutlet NSComboBox *windowTitleComboBox; @property (weak) IBOutlet NSButton *removeAssociationButton; @property (weak) IBOutlet NSButton *addAssociationButton; +@property (weak) IBOutlet NSButton *enableCustomAssociationSequenceButton; @property (weak) IBOutlet NSTextField *associationSequenceTextField; From 1235b2a3b31a4da7711f341063aa85b25e7d5c5e Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 22 Dec 2014 17:24:31 +0100 Subject: [PATCH 283/778] Fixed typo --- MacPass/Base.lproj/ReferenceBuilderView.xib | 2 +- MacPass/DuplicateEntryOptionsWindow.xib | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/Base.lproj/ReferenceBuilderView.xib b/MacPass/Base.lproj/ReferenceBuilderView.xib index aea657ed..b22199d4 100644 --- a/MacPass/Base.lproj/ReferenceBuilderView.xib +++ b/MacPass/Base.lproj/ReferenceBuilderView.xib @@ -137,7 +137,7 @@ - + diff --git a/MacPass/DuplicateEntryOptionsWindow.xib b/MacPass/DuplicateEntryOptionsWindow.xib index 37fd47ca..8b464c57 100644 --- a/MacPass/DuplicateEntryOptionsWindow.xib +++ b/MacPass/DuplicateEntryOptionsWindow.xib @@ -18,8 +18,8 @@
- - - - - + - + From 9d09f249f136e73205e37d7677dd92cd21d708de Mon Sep 17 00:00:00 2001 From: binarious Date: Fri, 20 Mar 2015 09:31:10 +0100 Subject: [PATCH 299/778] Corrected the German translation The word `fokussieren` had a missing s. --- MacPass/de.lproj/MainMenu.strings | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/de.lproj/MainMenu.strings b/MacPass/de.lproj/MainMenu.strings index d75f24ef..07397728 100644 --- a/MacPass/de.lproj/MainMenu.strings +++ b/MacPass/de.lproj/MainMenu.strings @@ -150,13 +150,13 @@ "1261.title" = "Verschließen"; /* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ -"2VP-vB-IeX.title" = "Einträge fokusieren"; +"2VP-vB-IeX.title" = "Einträge fokussieren"; /* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ -"HxM-dV-LIH.title" = "Gruppen fokusieren"; +"HxM-dV-LIH.title" = "Gruppen fokussieren"; /* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ -"Zje-Me-5c8.title" = "Inspektor fokusieren"; +"Zje-Me-5c8.title" = "Inspektor fokussieren"; /* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ "aVO-9F-Lwc.title" = "Quicklook"; From f2637354b39ea8572688c789a214bdbaad6ccc78 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Fri, 3 Apr 2015 07:16:41 +0200 Subject: [PATCH 300/778] updated German translation --- MacPass/de.lproj/KPKLocalizable.strings | 6 +++--- MacPass/de.lproj/Localizable.strings | Bin 12650 -> 12650 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/de.lproj/KPKLocalizable.strings b/MacPass/de.lproj/KPKLocalizable.strings index 84b93060..81031291 100644 --- a/MacPass/de.lproj/KPKLocalizable.strings +++ b/MacPass/de.lproj/KPKLocalizable.strings @@ -27,10 +27,10 @@ "ERROR_UNSUPPORTED_KDBX_RANDOM_STREAM" = "Format des Zufallsdatemstrom wird nicht unterstützt"; "ERROR_INTEGRITY_CHECK_FAILED" = "Die Integrität der Datei konnte nicht sichergestellt werden"; "ERROR_PASSWORD_OR_KEYFILE_WRONG" = "Falsche Password und/oder die Schlüsseldatei"; -"ERROR_KEEPASSFILE_ELEMENT_MISSING" = "Datenbank-XML enthält keine KeePassFile-Elementen"; +"ERROR_KEEPASSFILE_ELEMENT_MISSING" = "Datenbank-XML enthält keine KeePassFile-Elemente"; "ERROR_ROOT_ELEMENT_MISSING" = "Datenbank-XML enthält kein Root-Elementen"; -"ERROR_GROUP_ELEMENT_MISSING" = "Datenbank-XML enthält keine Group-Elementen"; -"ERROR_HEADER_HASH_MISSMATCH" = "Fehlerhafte Datei: Header Hash stimmt nicht mit Daten überein."; +"ERROR_GROUP_ELEMENT_MISSING" = "Datenbank-XML enthält keine Group-Elemente"; +"ERROR_HEADER_HASH_MISSMATCH" = "Fehlerhafte Datei: Header-Hash stimmt nicht mit Daten überein."; "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "Schlüssel-XML-Datei enhält kein Key-Element"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "Schlüssel-XML-Datei enhält kein Data-Element"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Daten des Schlüssels nicht lesbar"; \ No newline at end of file diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 09ceb16fb6b76b40ded1eb4caeb6f789238e36bf..4dfd036df8d5133d8a27b982a64588633cba64fc 100644 GIT binary patch delta 34 qcmaEr^eSnCfik1+ Date: Sat, 4 Apr 2015 14:03:02 +0200 Subject: [PATCH 301/778] Changed to Sparkle main repository Sparkle now uses SKIP_INSTALL for Framework installs --- .gitmodules | 2 +- Sparkle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8176d026..02dc1694 100644 --- a/.gitmodules +++ b/.gitmodules @@ -15,7 +15,7 @@ url = https://github.com/mstarke/DDHotKey.git [submodule "Sparkle"] path = Sparkle - url = https://github.com/mstarke/Sparkle.git + url = https://github.com/sparkle-project/Sparkle.git [submodule "TransformerKit"] path = TransformerKit url = https://github.com/mattt/TransformerKit.git diff --git a/Sparkle b/Sparkle index 99928f72..729087f6 160000 --- a/Sparkle +++ b/Sparkle @@ -1 +1 @@ -Subproject commit 99928f72f224a2038aaf2bbb4aa91dc8f45ba9b0 +Subproject commit 729087f696a9a1aee6d660b5df39f4faa888ffd1 From c14c867a6ffadedccdce8b5b4e6df9ba586360f8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 4 Apr 2015 19:12:37 +0200 Subject: [PATCH 302/778] Enabled full Icon set by Joanna Olsen. Still needs minor cleanup --- ...mpound 100.pdf => 00_PasswordTemplate.pdf} | Bin ...nd 1.pdf => 01_PackageNetworkTemplate.pdf} | Bin ...2.pdf => 02_MessageBoxWarningTemplate.pdf} | Bin ...6 Compound 3.pdf => 03_ServerTemplate.pdf} | Bin ... Compound 4.pdf => 04_KlipperTemplate.pdf} | Bin ...ompound 5.pdf => 05_LanguagesTemplate.pdf} | Bin ...pound 6.pdf => 06_BlockDeviceTemplate.pdf} | Bin ... Compound 7.pdf => 07_NotepadTemplate.pdf} | Bin ...6 Compound 8.pdf => 08_SocketTemplate.pdf} | Bin ...Compound 9.pdf => 09_IdentityTemplate.pdf} | Bin Assets/Icons as PDF files/100.pdf | Bin 0 -> 4253 bytes ...Compound 10.pdf => 10_ContactTemplate.pdf} | Bin ... Compound 11.pdf => 11_CameraTemplate.pdf} | Bin ... Compound 12.pdf => 12_RemoteTemplate.pdf} | Bin ...V6 Compound 13.pdf => 13_KeysTemplate.pdf} | Bin ...Compound 14.pdf => 14_BatteryTemplate.pdf} | Bin ...Compound 15.pdf => 15_ScannerTemplate.pdf} | Bin ...Compound 16.pdf => 16_BrowserTemplate.pdf} | Bin ...6 Compound 17.pdf => 17_CDRomTemplate.pdf} | Bin ...Compound 18.pdf => 18_DisplayTemplate.pdf} | Bin ...6 Compound 19.pdf => 19_EmailTemplate.pdf} | Bin ...V6 Compound 20.pdf => 20_MiscTemplate.pdf} | Bin ...ns Grayscale V6 Compound 21.pdf => 21.pdf} | Bin ...ns Grayscale V6 Compound 22.pdf => 22.pdf} | Bin ...ns Grayscale V6 Compound 23.pdf => 23.pdf} | Bin ...ns Grayscale V6 Compound 24.pdf => 24.pdf} | Bin ...ns Grayscale V6 Compound 25.pdf => 25.pdf} | Bin ...ompound 26.pdf => 26_FileSaveTemplate.pdf} | Bin ...ns Grayscale V6 Compound 27.pdf => 27.pdf} | Bin ...ns Grayscale V6 Compound 28.pdf => 28.pdf} | Bin ...ns Grayscale V6 Compound 29.pdf => 29.pdf} | Bin ...ompound 30.pdf => 30_TerminalTemplate.pdf} | Bin ...6 Compound 31.pdf => 31_PrintTemplate.pdf} | Bin ...ns Grayscale V6 Compound 32.pdf => 32.pdf} | Bin ...ns Grayscale V6 Compound 33.pdf => 33.pdf} | Bin ...ns Grayscale V6 Compound 34.pdf => 34.pdf} | Bin ...ns Grayscale V6 Compound 35.pdf => 35.pdf} | Bin ...ns Grayscale V6 Compound 36.pdf => 36.pdf} | Bin ...ns Grayscale V6 Compound 37.pdf => 37.pdf} | Bin ...ns Grayscale V6 Compound 38.pdf => 38.pdf} | Bin ...ns Grayscale V6 Compound 39.pdf => 39.pdf} | Bin ...ns Grayscale V6 Compound 40.pdf => 40.pdf} | Bin ...ns Grayscale V6 Compound 41.pdf => 41.pdf} | Bin ...ns Grayscale V6 Compound 42.pdf => 42.pdf} | Bin ...6 Compound 43.pdf => 43_TrashTemplate.pdf} | Bin ...ns Grayscale V6 Compound 44.pdf => 44.pdf} | Bin ...ns Grayscale V6 Compound 45.pdf => 45.pdf} | Bin ...ns Grayscale V6 Compound 46.pdf => 46.pdf} | Bin ...ns Grayscale V6 Compound 47.pdf => 47.pdf} | Bin ... Compound 48.pdf => 48_FolderTemplate.pdf} | Bin ...ns Grayscale V6 Compound 49.pdf => 49.pdf} | Bin ...ns Grayscale V6 Compound 50.pdf => 50.pdf} | Bin ...ns Grayscale V6 Compound 51.pdf => 51.pdf} | Bin ...ns Grayscale V6 Compound 52.pdf => 52.pdf} | Bin ...ns Grayscale V6 Compound 53.pdf => 53.pdf} | Bin ...ns Grayscale V6 Compound 54.pdf => 54.pdf} | Bin ...ns Grayscale V6 Compound 55.pdf => 55.pdf} | Bin ...ns Grayscale V6 Compound 56.pdf => 56.pdf} | Bin ...ns Grayscale V6 Compound 57.pdf => 57.pdf} | Bin ...ns Grayscale V6 Compound 58.pdf => 58.pdf} | Bin ...ns Grayscale V6 Compound 59.pdf => 59.pdf} | Bin ...ns Grayscale V6 Compound 60.pdf => 60.pdf} | Bin ...ns Grayscale V6 Compound 61.pdf => 61.pdf} | Bin ...ns Grayscale V6 Compound 62.pdf => 62.pdf} | Bin ...ns Grayscale V6 Compound 63.pdf => 63.pdf} | Bin ...ns Grayscale V6 Compound 64.pdf => 64.pdf} | Bin ...ns Grayscale V6 Compound 65.pdf => 65.pdf} | Bin ...ns Grayscale V6 Compound 66.pdf => 66.pdf} | Bin ...ns Grayscale V6 Compound 67.pdf => 67.pdf} | Bin ...6 Compound 68.pdf => 68_PhoneTemplate.pdf} | Bin ...ns Grayscale V6 Compound 89.pdf => 89.pdf} | Bin ...ns Grayscale V6 Compound 94.pdf => 94.pdf} | Bin ...ns Grayscale V6 Compound 95.pdf => 95.pdf} | Bin ...ns Grayscale V6 Compound 96.pdf => 96.pdf} | Bin ...ns Grayscale V6 Compound 99.pdf => 99.pdf} | Bin ...mpound 98.pdf => 99_AddFolderTemplate.pdf} | Bin ...V6 Compound 97.pdf => 99_InfoTemplate.pdf} | Bin ...6 Compound 69.pdf => addEntryTemplate.pdf} | Bin Assets/Keepass Icons.ai | 714 ++++++++++-------- MacPass.xcodeproj/project.pbxproj | 204 ++++- MacPass/Icons/00_PasswordTemplate.pdf | Bin 1900 -> 4253 bytes MacPass/Icons/01_PackageNetworkTemplate.pdf | Bin 5096 -> 5162 bytes .../Icons/02_MessageBoxWarningTemplate.pdf | Bin 5887 -> 4274 bytes MacPass/Icons/03_ServerTemplate.pdf | Bin 5822 -> 4183 bytes MacPass/Icons/04_KlipperTemplate.pdf | Bin 5823 -> 4271 bytes MacPass/Icons/05_LanguagesTemplate.pdf | Bin 5824 -> 4155 bytes MacPass/Icons/06_BlockDeviceTemplate.pdf | Bin 1735 -> 4097 bytes MacPass/Icons/07_NotepadTemplate.pdf | Bin 8283 -> 4277 bytes MacPass/Icons/08_SocketTemplate.pdf | Bin 8254 -> 4354 bytes MacPass/Icons/09_IdentityTemplate.pdf | Bin 8158 -> 4207 bytes MacPass/Icons/100.pdf | Bin 0 -> 4253 bytes MacPass/Icons/10_ContactTemplate.pdf | Bin 8170 -> 4309 bytes MacPass/Icons/11_CameraTemplate.pdf | Bin 8297 -> 4353 bytes MacPass/Icons/12_RemoteTemplate.pdf | Bin 2078 -> 4400 bytes MacPass/Icons/13_KeysTemplate.pdf | Bin 1872 -> 4425 bytes MacPass/Icons/14_BatteryTemplate.pdf | Bin 1967 -> 4120 bytes MacPass/Icons/15_ScannerTemplate.pdf | Bin 1833 -> 4173 bytes MacPass/Icons/16_BrowserTemplate.pdf | Bin 2097 -> 4422 bytes MacPass/Icons/17_CDRomTemplate.pdf | Bin 1849 -> 4340 bytes MacPass/Icons/18_DisplayTemplate.pdf | Bin 1823 -> 4158 bytes MacPass/Icons/19_EmailTemplate.pdf | Bin 1783 -> 4137 bytes MacPass/Icons/20_MiscTemplate.pdf | Bin 1928 -> 4287 bytes MacPass/Icons/21_OrganizerTemplate.pdf | Bin 0 -> 4188 bytes MacPass/Icons/22_ASCIITemplate.pdf | Bin 0 -> 4118 bytes MacPass/Icons/23_IconsTemplate.pdf | Bin 0 -> 4293 bytes .../24_EstablishedConnectionTemplate.pdf | Bin 0 -> 4438 bytes MacPass/Icons/25_MailFolderTemplate.pdf | Bin 0 -> 4144 bytes MacPass/Icons/26_FileSaveTemplate.pdf | Bin 1876 -> 4159 bytes MacPass/Icons/27_NFSUnmountTemplate.pdf | Bin 0 -> 4319 bytes MacPass/Icons/28_QuickTimeTemplate.pdf | Bin 0 -> 4206 bytes MacPass/Icons/29_SecureTerminalTemplate.pdf | Bin 0 -> 4486 bytes MacPass/Icons/30_TerminalTemplate.pdf | Bin 1838 -> 4201 bytes MacPass/Icons/31_PrintTemplate.pdf | Bin 1824 -> 4171 bytes MacPass/Icons/32_FileSystemViewTemplate.pdf | Bin 0 -> 4100 bytes MacPass/Icons/33_RunTemplate.pdf | Bin 0 -> 4046 bytes MacPass/Icons/34_ConfigureTemplate.pdf | Bin 0 -> 4229 bytes MacPass/Icons/35_BrowserWindowTemplate.pdf | Bin 0 -> 4703 bytes MacPass/Icons/36_ArchiveTemplate.pdf | Bin 0 -> 4164 bytes MacPass/Icons/37_PercentageTemplate.pdf | Bin 0 -> 4797 bytes MacPass/Icons/38_SambaUnmountTemplate.pdf | Bin 0 -> 4865 bytes MacPass/Icons/39_HistoryTemplate.pdf | Bin 0 -> 4154 bytes MacPass/Icons/40_FindMailTemplate.pdf | Bin 0 -> 4418 bytes MacPass/Icons/41_VectorTemplate.pdf | Bin 0 -> 4310 bytes MacPass/Icons/42_MemoryTemplate.pdf | Bin 0 -> 4257 bytes MacPass/Icons/43_TrashTemplate.pdf | Bin 1845 -> 4175 bytes MacPass/Icons/44_NotesTemplate.pdf | Bin 0 -> 4120 bytes MacPass/Icons/45_CancelTemplate.pdf | Bin 0 -> 4323 bytes MacPass/Icons/46_HelpTemplate.pdf | Bin 0 -> 4187 bytes MacPass/Icons/47_PackageTemplate.pdf | Bin 0 -> 4879 bytes MacPass/Icons/48_FolderTemplate.pdf | Bin 1781 -> 4135 bytes MacPass/Icons/49_FolderOpenTemplate.pdf | Bin 0 -> 4176 bytes MacPass/Icons/50_FolderTarTemplate.pdf | Bin 0 -> 4157 bytes MacPass/Icons/51_DecryptedTemplate.pdf | Bin 0 -> 4257 bytes MacPass/Icons/52_EncryptedTemplate.pdf | Bin 0 -> 4219 bytes MacPass/Icons/53_ApplyTemplate.pdf | Bin 0 -> 4170 bytes MacPass/Icons/54_SignatureTemplate.pdf | Bin 0 -> 4307 bytes MacPass/Icons/55_ThumbnailTemplate.pdf | Bin 0 -> 4165 bytes MacPass/Icons/56_AddressBookTemplate.pdf | Bin 0 -> 4262 bytes MacPass/Icons/57_TextViewTemplate.pdf | Bin 0 -> 4057 bytes MacPass/Icons/58_SecureAccountTemplate.pdf | Bin 0 -> 4400 bytes MacPass/Icons/59_DevelopmentTemplate.pdf | Bin 0 -> 4201 bytes MacPass/Icons/60_HomeTemplate.pdf | Bin 0 -> 4156 bytes MacPass/Icons/61_ServicesTemplate.pdf | Bin 0 -> 4336 bytes MacPass/Icons/62_TuxTemplate.pdf | Bin 0 -> 5005 bytes MacPass/Icons/63_FeatherTemplate.pdf | Bin 0 -> 4440 bytes MacPass/Icons/64_AppleTemplate.pdf | Bin 0 -> 4339 bytes MacPass/Icons/65_WikiTemplate.pdf | Bin 0 -> 4496 bytes MacPass/Icons/66_MoneyTemplate.pdf | Bin 0 -> 4902 bytes MacPass/Icons/67_CertificatTemplate.pdf | Bin 0 -> 4313 bytes MacPass/Icons/68_PhoneTemplate.pdf | Bin 1771 -> 4131 bytes MacPass/Icons/94.pdf | Bin 0 -> 4554 bytes MacPass/Icons/95.pdf | Bin 0 -> 4734 bytes MacPass/Icons/96.pdf | Bin 0 -> 4060 bytes MacPass/Icons/99_AddFolderTemplate.pdf | Bin 1812 -> 0 bytes MacPass/Icons/99_InfoTemplate.pdf | Bin 1833 -> 0 bytes MacPass/Icons/addEntryTemplate.pdf | Bin 1936 -> 4295 bytes MacPass/Icons/addFolderTemplate.pdf | Bin 0 -> 4168 bytes ...reatedTemplate.pdf => createdTemplate.pdf} | Bin MacPass/Icons/downloadTemplate.pdf | Bin 0 -> 4203 bytes MacPass/Icons/downloadToDiskTemplate.pdf | Bin 0 -> 4242 bytes ...ddiskTemplate.pdf => harddiskTemplate.pdf} | Bin MacPass/Icons/infoTemplate.pdf | Bin 0 -> 4183 bytes MacPass/MPIconHelper.h | 54 +- MacPass/MPIconHelper.m | 107 ++- MacPass/MacPass-Info.plist | 2 +- 165 files changed, 696 insertions(+), 385 deletions(-) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 100.pdf => 00_PasswordTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 1.pdf => 01_PackageNetworkTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 2.pdf => 02_MessageBoxWarningTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 3.pdf => 03_ServerTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 4.pdf => 04_KlipperTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 5.pdf => 05_LanguagesTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 6.pdf => 06_BlockDeviceTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 7.pdf => 07_NotepadTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 8.pdf => 08_SocketTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 9.pdf => 09_IdentityTemplate.pdf} (100%) create mode 100644 Assets/Icons as PDF files/100.pdf rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 10.pdf => 10_ContactTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 11.pdf => 11_CameraTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 12.pdf => 12_RemoteTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 13.pdf => 13_KeysTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 14.pdf => 14_BatteryTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 15.pdf => 15_ScannerTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 16.pdf => 16_BrowserTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 17.pdf => 17_CDRomTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 18.pdf => 18_DisplayTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 19.pdf => 19_EmailTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 20.pdf => 20_MiscTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 21.pdf => 21.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 22.pdf => 22.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 23.pdf => 23.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 24.pdf => 24.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 25.pdf => 25.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 26.pdf => 26_FileSaveTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 27.pdf => 27.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 28.pdf => 28.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 29.pdf => 29.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 30.pdf => 30_TerminalTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 31.pdf => 31_PrintTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 32.pdf => 32.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 33.pdf => 33.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 34.pdf => 34.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 35.pdf => 35.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 36.pdf => 36.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 37.pdf => 37.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 38.pdf => 38.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 39.pdf => 39.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 40.pdf => 40.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 41.pdf => 41.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 42.pdf => 42.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 43.pdf => 43_TrashTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 44.pdf => 44.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 45.pdf => 45.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 46.pdf => 46.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 47.pdf => 47.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 48.pdf => 48_FolderTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 49.pdf => 49.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 50.pdf => 50.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 51.pdf => 51.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 52.pdf => 52.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 53.pdf => 53.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 54.pdf => 54.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 55.pdf => 55.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 56.pdf => 56.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 57.pdf => 57.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 58.pdf => 58.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 59.pdf => 59.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 60.pdf => 60.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 61.pdf => 61.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 62.pdf => 62.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 63.pdf => 63.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 64.pdf => 64.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 65.pdf => 65.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 66.pdf => 66.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 67.pdf => 67.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 68.pdf => 68_PhoneTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 89.pdf => 89.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 94.pdf => 94.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 95.pdf => 95.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 96.pdf => 96.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 99.pdf => 99.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 98.pdf => 99_AddFolderTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 97.pdf => 99_InfoTemplate.pdf} (100%) rename Assets/Icons as PDF files/{MacPass Icons Grayscale V6 Compound 69.pdf => addEntryTemplate.pdf} (100%) create mode 100644 MacPass/Icons/100.pdf create mode 100644 MacPass/Icons/21_OrganizerTemplate.pdf create mode 100644 MacPass/Icons/22_ASCIITemplate.pdf create mode 100644 MacPass/Icons/23_IconsTemplate.pdf create mode 100644 MacPass/Icons/24_EstablishedConnectionTemplate.pdf create mode 100644 MacPass/Icons/25_MailFolderTemplate.pdf create mode 100644 MacPass/Icons/27_NFSUnmountTemplate.pdf create mode 100644 MacPass/Icons/28_QuickTimeTemplate.pdf create mode 100644 MacPass/Icons/29_SecureTerminalTemplate.pdf create mode 100644 MacPass/Icons/32_FileSystemViewTemplate.pdf create mode 100644 MacPass/Icons/33_RunTemplate.pdf create mode 100644 MacPass/Icons/34_ConfigureTemplate.pdf create mode 100644 MacPass/Icons/35_BrowserWindowTemplate.pdf create mode 100644 MacPass/Icons/36_ArchiveTemplate.pdf create mode 100644 MacPass/Icons/37_PercentageTemplate.pdf create mode 100644 MacPass/Icons/38_SambaUnmountTemplate.pdf create mode 100644 MacPass/Icons/39_HistoryTemplate.pdf create mode 100644 MacPass/Icons/40_FindMailTemplate.pdf create mode 100644 MacPass/Icons/41_VectorTemplate.pdf create mode 100644 MacPass/Icons/42_MemoryTemplate.pdf create mode 100644 MacPass/Icons/44_NotesTemplate.pdf create mode 100644 MacPass/Icons/45_CancelTemplate.pdf create mode 100644 MacPass/Icons/46_HelpTemplate.pdf create mode 100644 MacPass/Icons/47_PackageTemplate.pdf create mode 100644 MacPass/Icons/49_FolderOpenTemplate.pdf create mode 100644 MacPass/Icons/50_FolderTarTemplate.pdf create mode 100644 MacPass/Icons/51_DecryptedTemplate.pdf create mode 100644 MacPass/Icons/52_EncryptedTemplate.pdf create mode 100644 MacPass/Icons/53_ApplyTemplate.pdf create mode 100644 MacPass/Icons/54_SignatureTemplate.pdf create mode 100644 MacPass/Icons/55_ThumbnailTemplate.pdf create mode 100644 MacPass/Icons/56_AddressBookTemplate.pdf create mode 100644 MacPass/Icons/57_TextViewTemplate.pdf create mode 100644 MacPass/Icons/58_SecureAccountTemplate.pdf create mode 100644 MacPass/Icons/59_DevelopmentTemplate.pdf create mode 100644 MacPass/Icons/60_HomeTemplate.pdf create mode 100644 MacPass/Icons/61_ServicesTemplate.pdf create mode 100644 MacPass/Icons/62_TuxTemplate.pdf create mode 100644 MacPass/Icons/63_FeatherTemplate.pdf create mode 100644 MacPass/Icons/64_AppleTemplate.pdf create mode 100644 MacPass/Icons/65_WikiTemplate.pdf create mode 100644 MacPass/Icons/66_MoneyTemplate.pdf create mode 100644 MacPass/Icons/67_CertificatTemplate.pdf create mode 100644 MacPass/Icons/94.pdf create mode 100644 MacPass/Icons/95.pdf create mode 100644 MacPass/Icons/96.pdf delete mode 100644 MacPass/Icons/99_AddFolderTemplate.pdf delete mode 100644 MacPass/Icons/99_InfoTemplate.pdf create mode 100644 MacPass/Icons/addFolderTemplate.pdf rename MacPass/Icons/{99_CreatedTemplate.pdf => createdTemplate.pdf} (100%) create mode 100644 MacPass/Icons/downloadTemplate.pdf create mode 100644 MacPass/Icons/downloadToDiskTemplate.pdf rename MacPass/Icons/{99_HarddiskTemplate.pdf => harddiskTemplate.pdf} (100%) create mode 100644 MacPass/Icons/infoTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 100.pdf b/Assets/Icons as PDF files/00_PasswordTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 100.pdf rename to Assets/Icons as PDF files/00_PasswordTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 1.pdf b/Assets/Icons as PDF files/01_PackageNetworkTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 1.pdf rename to Assets/Icons as PDF files/01_PackageNetworkTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 2.pdf b/Assets/Icons as PDF files/02_MessageBoxWarningTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 2.pdf rename to Assets/Icons as PDF files/02_MessageBoxWarningTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 3.pdf b/Assets/Icons as PDF files/03_ServerTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 3.pdf rename to Assets/Icons as PDF files/03_ServerTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 4.pdf b/Assets/Icons as PDF files/04_KlipperTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 4.pdf rename to Assets/Icons as PDF files/04_KlipperTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 5.pdf b/Assets/Icons as PDF files/05_LanguagesTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 5.pdf rename to Assets/Icons as PDF files/05_LanguagesTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 6.pdf b/Assets/Icons as PDF files/06_BlockDeviceTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 6.pdf rename to Assets/Icons as PDF files/06_BlockDeviceTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 7.pdf b/Assets/Icons as PDF files/07_NotepadTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 7.pdf rename to Assets/Icons as PDF files/07_NotepadTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 8.pdf b/Assets/Icons as PDF files/08_SocketTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 8.pdf rename to Assets/Icons as PDF files/08_SocketTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 9.pdf b/Assets/Icons as PDF files/09_IdentityTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 9.pdf rename to Assets/Icons as PDF files/09_IdentityTemplate.pdf diff --git a/Assets/Icons as PDF files/100.pdf b/Assets/Icons as PDF files/100.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a6baec985bd457f309c7218dddb53e87750c7ef3 GIT binary patch literal 4253 zcmeHKe@qis97l}IAtiBU`^RmbC4dIocX#czy<1x-J*rF!wFPA|jMuv>RNCI{dR+^f zI*GzuoWH^hiHV6>wyA6ZmN*w(h7*XHVjQwDHy4+%EwHF#ZtjP3guN?2%7iSE%>Q_4 zns@Jgzn|~>e%|*b-%qBCc4#oIL6tf1-Q_-2stG|6!MjCeHUo!0AoCJ%1Q?m8c~;c6E?8~P z=x!CHyU#T)q_-|vw)e>wTt~ifwh7->mJ0ow*+9q0scr<>p>J5#d9EkJzBAkMq4xIc zr_bwD8-MWq*yYIkdBxVor>~u-%a7-fD@XqPL`sS-6Ynkfb!l&#+TDD>&pqNVe{~np zmwNX`)3eWkk+@n|6$cgI^YP zwJeJi0MTev8`WtAsS02uNdgoHIIe*fns9AMW@4I9IAaWC0*B_qtmGGEzYszcT*fOz zWQ$s@1ezSDm^ZROP_+G4#N4*BaH8@_1qZCe37@C7(6pEU`eU^z_ z;}~}MdfL^+Mu=*2Yzt0y#Goe$MutRCZxK1@#-xCz`TzT>!NpcLDb;v1{%_$n-I z_^QC#zx4iqQjO<*>PX0HUWSNub@ZyC*Gp!I@1IVw_tGC2 z(sS;GYBCoNg%6fBS8)A{0ef($HnjHR@Mn!Db{`+=A$>ocbrIdzJ67`Q&|b2?!KMDA ztTRjG%UYUMJ$p(n45fAF99m%Nd;HjfKGm5ecV4_0#NI1zSvxSV@!0%EV|!=I=H4?W zPrmW#*9`|Q@9#ZviCF#Aoo%ZJJGLFwjijPU-+NxWGX2_&32tqL9>m84!aT@#f?}oh z4FJ0hQKUtQYka4~LNMHFok@ik(iLW-5kn2M4t3ZGT3=u%ZTUn2 zX&?+ViaAgRiCfM2G@&<`Fe7O%Fz8JfL1H9fBkeky-G)1CdemA83PU~tQ7YFxq38)6 za0`NrC=%EWJpMW!!O*en%H6yVY^cDX6viqOwN`!I>rG0|ayS;JWTm7mMQ)6yr@TG- zQF>ng;QT##{WnL8()M6^UzOD7)#o0Whn!8ibm-Bh=@$Xpdr6K-yicVg2~3rlSy19o F{R8Uw;cEZ@ literal 0 HcmV?d00001 diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 10.pdf b/Assets/Icons as PDF files/10_ContactTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 10.pdf rename to Assets/Icons as PDF files/10_ContactTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 11.pdf b/Assets/Icons as PDF files/11_CameraTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 11.pdf rename to Assets/Icons as PDF files/11_CameraTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 12.pdf b/Assets/Icons as PDF files/12_RemoteTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 12.pdf rename to Assets/Icons as PDF files/12_RemoteTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 13.pdf b/Assets/Icons as PDF files/13_KeysTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 13.pdf rename to Assets/Icons as PDF files/13_KeysTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 14.pdf b/Assets/Icons as PDF files/14_BatteryTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 14.pdf rename to Assets/Icons as PDF files/14_BatteryTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 15.pdf b/Assets/Icons as PDF files/15_ScannerTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 15.pdf rename to Assets/Icons as PDF files/15_ScannerTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 16.pdf b/Assets/Icons as PDF files/16_BrowserTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 16.pdf rename to Assets/Icons as PDF files/16_BrowserTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 17.pdf b/Assets/Icons as PDF files/17_CDRomTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 17.pdf rename to Assets/Icons as PDF files/17_CDRomTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 18.pdf b/Assets/Icons as PDF files/18_DisplayTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 18.pdf rename to Assets/Icons as PDF files/18_DisplayTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 19.pdf b/Assets/Icons as PDF files/19_EmailTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 19.pdf rename to Assets/Icons as PDF files/19_EmailTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 20.pdf b/Assets/Icons as PDF files/20_MiscTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 20.pdf rename to Assets/Icons as PDF files/20_MiscTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 21.pdf b/Assets/Icons as PDF files/21.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 21.pdf rename to Assets/Icons as PDF files/21.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 22.pdf b/Assets/Icons as PDF files/22.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 22.pdf rename to Assets/Icons as PDF files/22.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 23.pdf b/Assets/Icons as PDF files/23.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 23.pdf rename to Assets/Icons as PDF files/23.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 24.pdf b/Assets/Icons as PDF files/24.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 24.pdf rename to Assets/Icons as PDF files/24.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 25.pdf b/Assets/Icons as PDF files/25.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 25.pdf rename to Assets/Icons as PDF files/25.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 26.pdf b/Assets/Icons as PDF files/26_FileSaveTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 26.pdf rename to Assets/Icons as PDF files/26_FileSaveTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 27.pdf b/Assets/Icons as PDF files/27.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 27.pdf rename to Assets/Icons as PDF files/27.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 28.pdf b/Assets/Icons as PDF files/28.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 28.pdf rename to Assets/Icons as PDF files/28.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 29.pdf b/Assets/Icons as PDF files/29.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 29.pdf rename to Assets/Icons as PDF files/29.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 30.pdf b/Assets/Icons as PDF files/30_TerminalTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 30.pdf rename to Assets/Icons as PDF files/30_TerminalTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 31.pdf b/Assets/Icons as PDF files/31_PrintTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 31.pdf rename to Assets/Icons as PDF files/31_PrintTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 32.pdf b/Assets/Icons as PDF files/32.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 32.pdf rename to Assets/Icons as PDF files/32.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 33.pdf b/Assets/Icons as PDF files/33.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 33.pdf rename to Assets/Icons as PDF files/33.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 34.pdf b/Assets/Icons as PDF files/34.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 34.pdf rename to Assets/Icons as PDF files/34.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 35.pdf b/Assets/Icons as PDF files/35.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 35.pdf rename to Assets/Icons as PDF files/35.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 36.pdf b/Assets/Icons as PDF files/36.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 36.pdf rename to Assets/Icons as PDF files/36.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 37.pdf b/Assets/Icons as PDF files/37.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 37.pdf rename to Assets/Icons as PDF files/37.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 38.pdf b/Assets/Icons as PDF files/38.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 38.pdf rename to Assets/Icons as PDF files/38.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 39.pdf b/Assets/Icons as PDF files/39.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 39.pdf rename to Assets/Icons as PDF files/39.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 40.pdf b/Assets/Icons as PDF files/40.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 40.pdf rename to Assets/Icons as PDF files/40.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 41.pdf b/Assets/Icons as PDF files/41.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 41.pdf rename to Assets/Icons as PDF files/41.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 42.pdf b/Assets/Icons as PDF files/42.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 42.pdf rename to Assets/Icons as PDF files/42.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 43.pdf b/Assets/Icons as PDF files/43_TrashTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 43.pdf rename to Assets/Icons as PDF files/43_TrashTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 44.pdf b/Assets/Icons as PDF files/44.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 44.pdf rename to Assets/Icons as PDF files/44.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 45.pdf b/Assets/Icons as PDF files/45.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 45.pdf rename to Assets/Icons as PDF files/45.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 46.pdf b/Assets/Icons as PDF files/46.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 46.pdf rename to Assets/Icons as PDF files/46.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 47.pdf b/Assets/Icons as PDF files/47.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 47.pdf rename to Assets/Icons as PDF files/47.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 48.pdf b/Assets/Icons as PDF files/48_FolderTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 48.pdf rename to Assets/Icons as PDF files/48_FolderTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 49.pdf b/Assets/Icons as PDF files/49.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 49.pdf rename to Assets/Icons as PDF files/49.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 50.pdf b/Assets/Icons as PDF files/50.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 50.pdf rename to Assets/Icons as PDF files/50.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 51.pdf b/Assets/Icons as PDF files/51.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 51.pdf rename to Assets/Icons as PDF files/51.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 52.pdf b/Assets/Icons as PDF files/52.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 52.pdf rename to Assets/Icons as PDF files/52.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 53.pdf b/Assets/Icons as PDF files/53.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 53.pdf rename to Assets/Icons as PDF files/53.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 54.pdf b/Assets/Icons as PDF files/54.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 54.pdf rename to Assets/Icons as PDF files/54.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 55.pdf b/Assets/Icons as PDF files/55.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 55.pdf rename to Assets/Icons as PDF files/55.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 56.pdf b/Assets/Icons as PDF files/56.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 56.pdf rename to Assets/Icons as PDF files/56.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 57.pdf b/Assets/Icons as PDF files/57.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 57.pdf rename to Assets/Icons as PDF files/57.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 58.pdf b/Assets/Icons as PDF files/58.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 58.pdf rename to Assets/Icons as PDF files/58.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 59.pdf b/Assets/Icons as PDF files/59.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 59.pdf rename to Assets/Icons as PDF files/59.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 60.pdf b/Assets/Icons as PDF files/60.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 60.pdf rename to Assets/Icons as PDF files/60.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 61.pdf b/Assets/Icons as PDF files/61.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 61.pdf rename to Assets/Icons as PDF files/61.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 62.pdf b/Assets/Icons as PDF files/62.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 62.pdf rename to Assets/Icons as PDF files/62.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 63.pdf b/Assets/Icons as PDF files/63.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 63.pdf rename to Assets/Icons as PDF files/63.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 64.pdf b/Assets/Icons as PDF files/64.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 64.pdf rename to Assets/Icons as PDF files/64.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 65.pdf b/Assets/Icons as PDF files/65.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 65.pdf rename to Assets/Icons as PDF files/65.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 66.pdf b/Assets/Icons as PDF files/66.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 66.pdf rename to Assets/Icons as PDF files/66.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 67.pdf b/Assets/Icons as PDF files/67.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 67.pdf rename to Assets/Icons as PDF files/67.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 68.pdf b/Assets/Icons as PDF files/68_PhoneTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 68.pdf rename to Assets/Icons as PDF files/68_PhoneTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 89.pdf b/Assets/Icons as PDF files/89.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 89.pdf rename to Assets/Icons as PDF files/89.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 94.pdf b/Assets/Icons as PDF files/94.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 94.pdf rename to Assets/Icons as PDF files/94.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 95.pdf b/Assets/Icons as PDF files/95.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 95.pdf rename to Assets/Icons as PDF files/95.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 96.pdf b/Assets/Icons as PDF files/96.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 96.pdf rename to Assets/Icons as PDF files/96.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 99.pdf b/Assets/Icons as PDF files/99.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 99.pdf rename to Assets/Icons as PDF files/99.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 98.pdf b/Assets/Icons as PDF files/99_AddFolderTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 98.pdf rename to Assets/Icons as PDF files/99_AddFolderTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 97.pdf b/Assets/Icons as PDF files/99_InfoTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 97.pdf rename to Assets/Icons as PDF files/99_InfoTemplate.pdf diff --git a/Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 69.pdf b/Assets/Icons as PDF files/addEntryTemplate.pdf similarity index 100% rename from Assets/Icons as PDF files/MacPass Icons Grayscale V6 Compound 69.pdf rename to Assets/Icons as PDF files/addEntryTemplate.pdf diff --git a/Assets/Keepass Icons.ai b/Assets/Keepass Icons.ai index 4b6ca842..e75b38c8 100644 --- a/Assets/Keepass Icons.ai +++ b/Assets/Keepass Icons.ai @@ -1,5 +1,5 @@ %PDF-1.5 % -1 0 obj <>/OCGs[5 0 R 90 0 R 162 0 R 220 0 R 278 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream +1 0 obj <>/OCGs[5 0 R 90 0 R 162 0 R 220 0 R 278 0 R 336 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream @@ -7,16 +7,16 @@ xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> 2013-12-03T20:29:54+01:00 - 2013-12-03T20:38:24+01:00 + 2015-04-04T18:32:11+02:00 Adobe Illustrator CS5.1 - 2013-12-03T20:38:24+01:00 + 2015-04-04T18:32:11+02:00 - 228 + 204 256 JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADkAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A6x+cPnT84NAvrCHyH5cs 9VtJYme9vr6QBRIWIWJE9e1IIVeRNTWvamKvFNR8zf8AOXd55gXWEhWzRHRl0q2nshZUSlUMbzu7 B/2qvXfqNsVeqflh+YX596x5tt7Dzh5U06z0GVJfXv7GQB4HVC8bMv1q65KzLwoFG7Vrtir2jFXY q7FXwp/zkdrrWf8AzkHrc97ZwazbWUdpFBp+oNO1uqPYQvQCCWBwA8jPRXA5GuKpJ+VnmMXv51+U LzTtNtdABvre2kt9LNykbo8hWQt9YmuH+NH4sOXEjt1xV+g2KuxV2KuxV8o6n/zlJf2/58iOO9B/ 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 uxV//9k= @@ -72,7 +72,7 @@ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> xmp.did:06801174072068118083813AAE0ECD54 - uuid:75fc2a31-6753-444f-8d4c-58c1816c4731 + uuid:bf71fe3f-e606-dc47-a03e-4c5f8db1bd6e xmp.did:F77F117407206811822AC7802EBBAF1A proof:pdf @@ -144,171 +144,160 @@ - endstream endobj 3 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 96 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 97 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 98 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 99 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 100 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 101 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 102 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 103 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 104 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 105 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 290 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 278 0 obj <> endobj 291 0 obj [/View/Design] endobj 292 0 obj <>>> endobj 281 0 obj <> endobj 293 0 obj <> endobj 294 0 obj <>stream -%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 15.0 %%AI8_CreatorVersion: 15.1.0 %%For: (Michael Starke) () %%Title: (Keepass Icons.ai) %%CreationDate: 03/12/13 20:38 %%Canvassize: 16383 %%BoundingBox: -81 -44 66 120 %%HiResBoundingBox: -80.125 -44 66 120 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 11.0 %AI12_BuildNumber: 39 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: -24 -44 -8 -28 %AI3_TemplateBox: 7.5 7.5 7.5 7.5 %AI3_TileBox: -295.5 -416 263.5 367 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -81 6.75 16 2484 1322 26 0 0 6 112 1 1 0 1 1 0 1 1 0 0 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -413 %AI7_GridSettings: 10 10 10 10 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 295 0 obj <>stream -%%BoundingBox: -81 -44 66 120 %%HiResBoundingBox: -80.125 -44 66 120 %AI7_Thumbnail: 116 128 8 %%BeginData: 11316 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD05FFA8A8A8FD11FF7DF8275227F852FD13FFA8FD0EFFA87DA8A8 %A87DFD04A8FD2AFF525252F8F827527D7DFD0EFF52F8525252F827A8FD11 %FFF827FD0DFF52FD0AF8A8FD28FF7DFD04F827FD04F8A8FD0DFF52FD05F8 %27FD11FF7DF8F8A8FD0CFFFD0BF87DFD07FFA827525252275227522752A8 %FD16FFFD097DFD0EFF52FD05F827A8FD10FF27F8F827FD0CFF27FD04F852 %27FD04F852FD07FF2752FD047D52A8A87DF8FD17FF7DF827F827F827F8A8 %FD0EFF7DFD05F827FD10FF7DF827F8F87DFD0BFF27FD04F85227FD04F87D %FD07FF525227F827F8F852FF7D52FD17FF52FD07F87DFD0FFF7D27F8F852 %FD11FFF8F87D7DF827FD0BFF27FD0AF87DFD07FF277DFD05F87DFF7D27A8 %52FD15FF52FD07F87DFD10FF277D52FD11FF52F8F8FF7DF8F8A8FD0AFF27 %FD04F8FF52FD04F87DFD07FF527DFD05F87DFF7D5252F8FD15FF52FD07F8 %7DFD0FFFA85252277DFD0FFFA8F8F8F8A87DF8F827FD0AFF27FD04F8A87D %FD04F852FD07FF277DFD05F852FF7D27FFA8FD15FF52FD07F87DFD10FF27 %7D27A8FD0FFF7DF8F8F827FD04F87DFD09FF27FD04F8FF7DFD04F87DFD07 %FF52527DFD04527DFFA852FD17FF52FD07F87DFD0FFFA8525227A8FD0FFF %FD04F85252F8F8F827FD09FF27FD04F87D52FD04F852FD07FF5227275227 %52FD0427F8A8FD16FF52FD07F87DFD10FF2752F8FD0FFF52FD04F8A87DFD %04F87DFD08FF27FD0AF87DFD08FF7DA87DA87DA87DA87DA8A8FD16FF52FD %07F87DFD10FFA85227A8FD0DFFA8FD0BF827FD08FFA8FD092752FD2BFF7D %7D527D527D7DFD12FFA8A8FD0FFF7D7D527D527D527D527D52A8FDFCFFFD %FCFFFDFCFFFDEAFFA87DA87DA87DA8FD0EFFA8A87DA87DA87DA87DFD10FF %A87D7DA8FD40FFA827FD07F852A8FD0BFF52FD0AF8FD0DFF7D27FD04F827 %A8FD0AFFFD077DA8FD2BFFA87D5252527D5252527D527DFD0AFFA82727FD %07F827277DFD0BFF52272727F8F82752F87DFD08FF52FD08F8A8FD2BFF27 %52275227522752275227FD0BFF277DFD07F852527DFD0AFF7D27FFFF7D7D %A8FFFF52F8A8FD07FF7DF827F8272727F827A8FFA8FD0BFFA8FFA8FFA8FF %A8FD16FFA8FD0BF8A8FD09FFA8F8F852272727522752F8F87DFD09FFA827 %A8FF52F8F87D52FD04F8FD07FFA8FD047DA8FD047DF8F8F8A8FD08FF27FD %07F827FD15FFA8FD0BF8FD0BFFF8F8527D527D527D7D27F8A8FD09FF7DF8 %FFFF52FD08F87DFD06FF52FD0CF8A8FD07FFA8FD09F87DFD14FFA8FD0BF8 %A8FD09FFA82727FD07F827527DFD09FF27F8F8FF52F852A82727F8F8F87D %FD06FF27FD0CF8A8FD07FF52FD09F827FD15FFFD0BF8FD0BFF277DFD07F8 %52527DFD09FF52F852FFA87DFFFFFFA87DF8F87DFD06FF52F827F8F8F827 %F8F8F827F8F8A8FD07FFFD0A27F8A8FD13FFA8FD08F8272727A8FD09FFA8 %27F85227522752275227F87DFD09FF52F87DA8F8F8F8522727FF7DF8A8FD %06FF52FD0CF8A8FD06FFA87D527D7D7D527D7D7D527D7DFD14FFFD08F852 %FF27A8FD0AFFF827FD075227F8A8FD0AFFF87DFF27FD05F8FFA827FD07FF %52FD0CF8A8FD06FF52FD0BF827FD13FFA8FD08F82727F8A8FD09FFA82727 %FD07F827527DFD0AFF52F8FF27FD04F827A82752FD07FF27FD0CF8A8FD06 %FF27FD08F8277D27F8FD14FFFD06F8A8A827FF27FD0BFF2752FD07F85252 %7DFD0BFF522727FD04F8272752FD08FF52FD0CF8A8FD06FF52FD0BF827FD %13FFA8FD06F852272752F8A8FD0AFF27FD0AF8A8FD0CFF7DFD05F8277DFD %09FFA8FD0C52FD07FFA8FD0B527DFD14FFFD0B7DFD0CFFFD097DA8FD0FFF %7D7D7DA8FDFCFFFDFCFFFDFCFFFDFCFFFD48FF7D7D7DA8FD0FFF7D7D527D %52A8FFFFFF7D52A8A827A8A85227527DFD11FFA8A8FD0EFFA87DFD0952FD %09FFFD07527DFD10FFF8F8F8A8FD0EFF52F8277D5252A8FFFFA82752A827 %52A827527D5227A8FD10FF27F87DFD0CFFA8FD0CF8FD07FF27FD08F8A8FD %0EFF27FD04F8A8FD0DFF27F82752527D527DFFA827A8A8277DFFF8A8A8A8 %27FD10FF27F87D277DFD0BFF7DF827275227F8F8522727F8F87DFD06FF7D %2752275227522752A8A87DA8FD0AFF7D7DF8F8F852A8A8FD0CFF27F8F852 %7D7DF852A8A8F8F87DF8F85227FD04F8A8FD0DFFA827F8F8F8A82752FD0A %FF52F827525252F8F8527D27F8F87DFD06FF7D52527D527D527D5252F8F8 %F8A8FD08FF27F8527DF85252F8F8FD0CFF27F8F85227FD04F8FFF8F87D52 %F87D52F8F8F827FD0EFF27FD04F8277DF8A8FD09FF7DF85227F8277D5227 %F85227F87DFD06FF52FD0CF8A8FD07FFA8F8F8F852A852F8F8F852FD0BFF %7DF8F87D7D52F8527DFFFF2727A852F8FF52F852FD0DFFA827FD07F8A8FD %0AFF52F82752F8275252FD0427F87DFD06FF27FD08F827F8F8F8A8FD07FF %27FD04F827FD05F8A8FD0BFF7D27277DA8F87DFFFFFF7D27FF7D27FFA8F8 %A8FD0CFFA827FD07F8A8FD0BFF7DF8527D7DF8527D7D7D52F8F87DFD06FF %52FD05F827F8F8A8A8F8F8A8FD07FFFD0B52A8FD0BFFA8525227FD06FF27 %52FF7DF8FF7D27A8FD0BFFA827FD07F8A8FD0CFF7DFD0CF8A8FD06FF27FD %06F82752FFA852F8A8FD06FF7D7D527D527D527D527D527D7DFD0BFF7D52 %2727A8FD05FF52F8FF7DF8A8A8F87DFD0CFF27A8FD05F8A8FD0EFF52FD0A %F87DFD07FF52F827FD04F852FD04FF527DFD06FF52FD09F827F827A8FD0A %FFA8525227FD06FF2752FF7DF8FF7D27A8FD0BFFA8F87DFFF8F8F8A8FD10 %FFFD05A827F8F87DFD09FF27FD08F8FFA8F8F8A8FD06FF27FD08F8277D27 %F8FD0BFFA8522752FD06FF52F8FF7DF8A8A8F87DFD0CFFF8F85252F8A8FD %17FF52F8A8FD09FF52FD08F85252F8F8A8FD06FF52FD0BF827FD0BFFA852 %52F8FD06FFA8A8FFFF7DFFFFA8A8FD0BFFA87D525252A8FD19FF527DFD09 %FFA87D527D527D527DFD04527DFD07FFA87D527D527D527D527D52527DFD %0DFF277DFDFCFFFDFCFFFDFCFFFD3FFFA87DA8A8A87DFD27FF7D27F82727 %A8FD0EFF52522752277DFD0EFFA8FD1DFF7DF8522752275227A8FD0CFF52 %7DFD17FFA827272752A8FD0CFFA8F852527D527D2752FD0EFFA8527DFD1A %FF277D7D5252527D5252FD0CFF27F8FD087DFD0FFF7D52527D27A8FD0BFF %A8F87D27525252277D5227FD0DFF7DF827FD1AFF527D27F8F8F827527DFD %0CFFA827FD08F87DFD0DFFA827FD04F827FD0BFF277D277D5252527D277D %277DFD0CFF52F827FD1AFF527DFD04F8275252FD0BFFA8FFFFA8FD067DF8 %27FD0CFF52FD08F87DFD08FF7DFD06527D277D277D27FD08FFA8F852A87D %F827A87DF87DFD16FF527D27F8F8F852527DFD0CFFA827FD05F827F8F852 %FD0CFF27FD08F827FD08FF7DFD04527D27277D277D5252A8FD07FF52FD09 %F827FD16FF527D27F8F8F8275252FD0BFF7DF8F85252A87D7D527D7DFD0D %FFA852FD06F827FD09FF527D52525227F8F85252527D52A8FD07FFA85227 %FD05F82752A8FD16FF527D27F8F8F852527DFD0BFF52F8FFFFFFA8522727 %7DFD11FFA8A87DA8FD0BFF7DFD0552F8277D27525252A8FD0AFF52F8F8F8 %52FD19FF527DFD04F8275252FD0BFF27F8A8FFA8FD04F8A87D7D7DFD0FFF %2752FD0CFFFD04527D7DF8277D7D277D27FD0AFFA8F8F827F8F87DFD18FF %527D27F8F8F852527DFD0BFFA8F8277D27F8F8F8277D7D5252A8FD0EFF27 %27FD0DFF275252FF52F8F8FFA87D277DFD0AFFF8F827FF52F8F8A8FD17FF %52FD077D52FD0CFFA8FD07F8A8FD12FFF827FD0DFFA827FFFF27F8F87DFF %A852FD0AFFA827F8A8FFFFF8F87DFD17FF52F82727522727F87DFD0FFF52 %F8F8F8277D522727A8FD0EFF2752FD11FFF8F8F87DFD0FFFA8FD04FFA8FD %18FF52F8F8F852F8F8F87DFD0FFFA827F8F8F87DA8FFA8FD0FFF7DA8FD10 %FFA827F8277DFD2EFF527D527D527D7DFD12FF7D527D7DFDFCFFFDFCFFFD %2CFF2727275227522752275227277DFD20FFA827F8F827F8F8F8272727A8 %FD1DFF272727522752275227A8FD14FFF87D7D527D527D527D527D5252FD %20FF27FD08F8FF5252FD1CFFA87D527D527D527D527DA8FD14FFF87DFD09 %F85227FD09FFA87D5252527D527D527D52527DFD0AFF52FD08F8275227FD %07FF7D52527D5252527D5252277DFD0AFFFD09F8A8FD14FF277DFD08F827 %5252FD09FF52FD0BF827FD0AFF27F8F8F87DA827F8F87D5252FD06FF7DFD %09F8277DF8A8FD09FF52FD07F827FD15FFF87DFD09F85252FD09FF27F8F8 %7DFF52F82727525227F8FD0AFF52F8F852FFFFA8F8F87D7D52FD06FF7DFD %04F8527D5252F852A8F852FD09FF7DFD072752FD15FF277DFD09F85252FD %09FF52F852FFFFA8F852A87DA852F8A8FD09FF27F8F87DFFFFA8F8F827F8 %52FD06FF7DF8F8F852522727527DF8F8F87DFD09FFA8527D527D527D52A8 %FD15FFF87DFD09F85227FD09FF27F827FFFFFFF8527D7D7D52F8A8FD09FF %52F8F8F8FFFF52F8F8A87D27FD06FF7DF8F8277D27FFFF275227F8F852FD %09FFF8FD0752F8A8FD14FF27FD0A7D5252FD09FF52F8F8A8FF52F8527D7D %A827F8A8FD09FF52F8F87DFFFF7D27F827F852FD06FF7DF8F852527DFFFF %527D27F8F87DFD08FF5252FD07FF7D27FD14FFFD0CF827FD09FF27F87DFF %FFFF2752A8A8A852F8A8FD09FF52F827A8FFA8FF27F8A87D52FD06FF7DF8 %F8F87D277D52277DF8F8F852FD07FFA827A8FD08FF277DFD13FF7D275252 %5227F827FD0452A8FD09FF27F8A87D7D7D52FD06F8A8FD09FF27FD08F852 %2752FD06FF7DF8F8F8277D52527D27F8F8F87DFD07FF7DF87D527D527D52 %7D527DF852FD18FF52F852FD0EFF7DFD0BF827FD0AFF27FD08F8525227FD %06FFA8FD05F85227FD04F827A8FD07FF7D7DFD09527D7DFD16FFA8A87DA8 %7DA8A8FD0DFFA8A8A8FFA8FFA8FFA8FFA8FD0BFF52FD08F8A8277DFD08FF %A8FFFD05A8FFA8FD0AFF52F827F827F827F827F827F827A8FD14FF522727 %52275227277DFD22FFA8FD0427F8FD042752A8FD1BFF7DFD0B2752FDFCFF %FDEAFFA87D2752527DA8FD10FF7D5252277DA8FD11FFA85252FD0BFFA827 %27522752A8FD13FFA8277DFD1AFF52FD07F87DFD0DFF7D27277D527D2727 %52FD0FFF52FD04F87DFD0AFF27F8F8F852FD11FF7DFFFF7DF852FFFF7DFD %16FF52FD09F87DFD0BFF7D277D7DF827F8527D2752FD0CFFA827FD06F852 %A8FD09FFF8F827FD11FF7DF85252F8F8F85252F852FD14FFA8FD04F85252 %52FD04F8A8FD09FFA8277D275252FD04F87D277DFD0AFF7DFD0AF87DFD08 %FFA8F8FD13FF27FD08F8A8FD14FF52F8F8F87D5252527DF8F8F87DFD09FF %7D277DF852A827F8F8F8277D52FD0AFF7D7D7DA87DA87DA87DA87DA8FD1D %FF52FD07F827FD15FFF8F8F8522752A8275252F8F827FD09FF277DF8F8F8 %A8A87DF8F8F87D27A8FD0AFF27F8F827F827F827F852FD1CFFA87DF8F8F8 %52A87DF8F8F8527DFD13FFF8F8F87D52FFFFA85252F8F827FD09FF527D27 %F8F87D277D27F8F85252A8FD08FF7D52FF52FD06F87DA8527DFD1AFF27FD %04F8A8FFFF27FD04F8A8FD12FFF8F8F87D277DFF525252F8F827FD09FF27 %7DF8F8F8527DFFF8F8F87D27A8FD08FF52F8F87D52FD04F87D7DF8F87DFD %1AFF7D7DF8F8F87DFF7DF8F8F8527DFD13FF52F8F8277D2727527DF8F8F8 %52FD09FF7D5252F8F8F827A87DF8277D52FD09FF7DF8F8F8525227277D27 %F8F8F87DFD1CFF52F8F8F827F8F8F827FD15FF7DFD04F8525252FD04F8A8 %FD09FFA8277D27F8F8F8277DF8522752FD09FF52FD05F82727FD05F87DFD %1CFF27FD08F8FD16FF52FD09F87DFD0BFF7D277D52F8F8F852A85227FD0A %FF7DFD0CF87DFD1BFF7DF82727F8F8F82727F87DFD16FF52FD07F852FD0D %FF7D27527D527D522727FD0BFF52FD0CF87DFD1CFF7DFFFF7DF852FFFF7D %FD18FF7D522727277DA8FD0FFFA852275227527DFD0DFFFD0A27F852A8FD %1FFFA8277DFD34FFA8FD13FFA8FFFFFFA8FDFCFFFDA3FF7D7D527D7DFD26 %FFA8FD0652A8FD3FFFA827FD05F827FD0DFF27FD0952277DFD0CFF7D27FD %047DF8A8FD3EFF7DFD04F827FD04F8A8FD0AFF2727527D527D527D527D52 %52F8FD0CFF7D52FD04FF527DFD3EFFF8F8F87DA87DA87DF8F8F8FD0AFF52 %7D27FD08F85252A8FD0BFF7D52FD04FF27A8FD3DFF52F8F87DFF7DF8A8FF %7DF8F852FD09FF277DF85227FD06F85227A8FD0AFF522752FD04FF522752 %A8FD3BFF27F852FFFF7DF87DFFA827F852FD09FF527D27F8A827FD05F852 %52A8FD09FF27F8F8272727F827F8F8F87DFD3BFFF8F852FFFF7DF8F8F852 %52F827FD09FF277DF8277D27FD05F85227A8FD08FF7DFD0C27FD3BFF27F8 %52FFFFA85252527D52F827FD09FF527DF82727FD06F85252A8FD08FFA852 %7D527D527D527D527D5252A8FD3AFF27F8F8FD06FFA8F8F852FD09FF277D %FD09F85227A8FD08FF52FD0CF87DFD3AFFA8F8F827FD05FF27F8F8A8FD09 %FF527D27F8FD07277D52A8FD08FF7DF8F852FFA8FFA8FFA852F8F87DFD3B %FF52F8F8F87D7D52F8F8F827A8FD09FF27527D7D527D527D527D527DF8A8 %FD08FF52F8F8FD07FF7DF8F8A8FD3CFF52FD09F852FD09FF52FD0CF8A8FD %09FF5227FD08FFF87DFD3EFF7D27F8F8F827A87DF8F8FD09FFA8A87DA87D %A87DA87DA87DA87DFD0AFF7DF827F827F827F827F8F87DFD3AFFFF %%EndData endstream endobj 296 0 obj <>stream -%AI12_CompressedDataxg8z;w:L P'_RHys,GeIdc=9 IǁUz}" -ѯry)iV|4Jc.Iu>r9:rn jA&3xԞ$xX&-۩z b)CAt.ڍ=AX^zVۃ.Uj0o;^r2aEuj3"wfvauobSPOujI*0z 7_`+bva'. u/χՐ$௞P*  +KA>ؕf>czo9@O,ٮmv6.)c 0,~6 q?afMHR=^/'Ò:t -4n?[hn&)sYł' oΓFPے9p<ޠW`dvq!d#dB9tDըtRPz|L gtYNcqwU3j `ή -N;5`fJ?;FO-= -}N= x6mq=٨L)bkorz:$խYEe_3:kvlY`Ͽ뱺GP[y%&(5 2Zw{r% Rc2_#"vBAݚ[re 7cvi{ ! \h/ɝY^o\/0z|&Vڦr&.9=u,(j}zn@jFKĦrn>\"17Z\!E#d͂T&  AltS mM^N&h-s"4r#<ul :iAPÀ`n6ԘÇt#AA/*XAuumdЀ//%'4O\=?4Ut#jBk)bqaqc#.\MX~_aSQf="dR%@^RO6á dfD!q>PD#1F>hN0`ʙ!=@ -i7M&?m?M\i9mr+rM(WذDN\ڄ-oOHS$"HowoHadi|]5 Ӿ&iK$hOc1FzďeubI${} j4T:w xc(Q[.~D%@0gc_ObO;` K#j_<{= &)V|952E@Sg EXby8Dڭ͎=q/0hHYnF r2_;q)`FNJ$)hs,J_vVfo&-C`SaxG@ y@Ĕ.-/6] ɟj`bh;$挜OgJj`׏ x?S2c_;(xWf@+߿| c2K6Ճ9bĆ1쁕S!'{LQ],H׵6jDSQ{xL~ؿ~ Šc`ۏНЎ%Bj O%$q.K]tr^nU{%1mx^CD-ir0 #ir?1^t|7D`#f͖K&"xA#݁9#r+_-rY-wH#W]Hԙ0JGS;ȹfCA|9 u<>N5OBc nBR-EHR0~yԯ m>(_D>^#2.b,2|A*(e``\xx;O"YP]{A3sqs/kRC]9E -2ݞX>yt!0h2_e8A;iCĒq)FSieeF'TPa(1rz19=8P/ x$5$grp!O*,ֲ-$.Ш!G"-޶l .BLw~K%&:ٔei嘕 -F}uuϙl>%bg-Ҩ䗦qy4NC0(&\u%vY몠R{ fuG̬W| n熂!#`383f/`hoBNw|M5_½_sqd&OwIj?D*A-N\b@Ok-.?{@$^5%QPrqxf=Z"r8WnP>[2p{8k@yB7ˉa+&^!1EuI C"o w3ܺϐ̡-A$ emx14I <oDH DA{ %GPYr+@ #T1Bؙ DBAϭr4p?4E}}>.{)7;0O{q&%/ V+;XAA]Vc/ox嵧,Gr\>{kD^kD{0͟;y'~nM7~錽Y)(@!P~*C"tEorisG0OB슘/L)[04`&7nw#m}=u =aBcC^$na>Z+و}K璘B4昐Džq*-4Dzm薝Fq @ca{f9 ]7_D_{{gt$]<4ڃ=_vx+4 ay~ '[:XD_~zO=P`w ^+ ]+Iɳ>G}~}ƣe{ "'b&|MH;0HtDDwX ԣV.{D;-)t\Ctw(| F WN_O)ZH)=IE$_v黁TC@Zdo7 -~ZVVAYZn:frUB2x B2@ZpY~n$\2r\|$uh[]O*h[zRѶbREP %p'.|*P>V7[X8sҞK]?eɿjxf`ʡg't}@&}j%)z=#XYbHM&w.{ZH%$W%x,بvo{u%FP3e쎃qީ8Fv"$1.MlXoF ܔ.Bޫx~X~^2LɕhjVj'rʤN*_Oy!Śx;wF,;g=Պ?Mg(835?lŠ/CB΃O5û5ڋ#ċ1_5Va61=';SD'z•c5AF\] ]^wԆÒڶĮvHNJԴШ$^⣌a^_@&gf%W.Ylgָ_{e^{i ^ -B@l]qvDtLw5crx#bCf KxӳC/Cf$O tyO)X%[v 1>ou;Dzz}Yic'&xEF#b?ͭIeFcvN"@u_y4N-OF;e8$+-9)<*?L$#FGl8wO]Eu8ʔv]@ <8PSx.zet-Esu_pk<3ON/h&j) h*;te5a#ҋ~a:C7(|[3g'KF]?4 lFd]7&ndU e_g\a\:i^7I+;F` 5Ue/\fo{B3)?<͚ڄ|RrΦNBP*};r+|a'i8qpd?\7,&om~$Nf̙ [szoexԒ!)ʆXgbTAɅ-jAI-;2A>=ϪS\zR -pKWHy -A>z l{K*=YzjDpos[~d線a(dxywIzfm*B + M3d5Vz+N?%WW)L9X'4m\6xQVHZvq !3I5 5 D7==>|4-`o(~Y1=Mluz>o0ؤ) \43p,S˚nޮ&e wzg3|[MװIz .6iW>]IOqNO.)t-sߡ[Ti"oU 4>#HR4dԞ 왦{&QasC*=3ph,Dj{SG]B}cptW0NAo@I,}=R BlqމhO )ưs4HLK5fSx"xӠ&~%G @1>ܹ ]FΣ2_id lWΣbXϳXDG$D3fظ&DTgx<$My=!= #w,jZR") *sgA3)=#Ԭ>H "9}H3츐DC;ul&X5&y1 -s\Bu9YYd[^.B@ϲM }47ط-^GO UKgcc%ؖ"OuZ6K¹R2\1 },Ё[X ]9X+1\My3.hij$g8Sa::dVk*n.G7RkJ Ғm-YOy{ɳ]8axx *=p>hhy+C+`Bu -JoxZ|sˣ \sP '`7xrJ80/wxrJ8PgS#SNAC)oDlf3 oc9=ewGsx -ȲQ?yG8 -p/T:Z/,<={O_e$񽹭ckA5lsq|1aX+(.[T"S+\w$.g -6UHy)e찓|:H~~pfW ж`^:֧.sUU9+ *d+?v{r':Xu4j9caB?x;^Q۷[7SJ/ј*v}bI -prO6]*FRQOu|h<%V>=I3 {tjv_ -'}ߜ_É/Oh磷Z~wK8&dO8 BUYkae^VGyc+кP&UGÅwFИ[䶛x`ko"zޫh.k'eRDW+2Μp6ؤ prBvU24:85N2Ds _.c[î 37v>{%mG˿OlPƦo /AӄbǖaqOe g[j4YQ&1{&ڙҮaS#pL-2U5%({e6gmEN`Tj+MLv){ܞ?mI Vn54&}HK9' ʯɭH7-?H0ZIz}3]aW4`Vt:&={ˡ=ZzCѵh#/%$Z:1'8Rf}`YM e0\w 9hv| -0&FD$eYŕNo. d|R'~=zg#8y~٧KȔ>ѪC?CGr."=鮋:/[4@'{^3I-@OO"jǶpݯ-PÆ͟WA:Ath|Q -onVd&{OΪf^ 6 "/iWg;GiRl;5(,RU,w8Ԫ)B+A狂%^`Ot/s& -wgl)yC28NYg`^xX䏕=z>49r7bTfm\, -/pl{#:GSQܕZ~ &[˄3Y M,KlP4mHB^0\ޘmOANԇ&\ScCsvo(b'_dS% +FhoqUzp$5#`N;i.ddYe_)0hMor뎀$ b.gn2W)" dK.%O.H*d'.*0=uJ4Sl{rMnJtGS_U X`]4}P{g/:J,3dI6,.P3-4\ՙ9'7^ce3rf$C zK- d2r,%lR:`kvl I7C.[,sh}Mc"]T<30%[ǝO4me3G -9\zޓq^?lcZT:a,Ѱ- cۘ ڊi..XL㡂S_ V^]Qsmjx✑/Ӂxou}; ǣvMXꩥο3>ń'&!yF Aj -5¡tꘒ1P8U.=y]l^lmy|N.H|WW= i%E2F@X)(majF|(ّ&ij 4}^!ܨK(/ݩ&;z%#Doqf Cy2wߩKBfMv7RUyX5@uoYkp4ҳt/INLP6sh? QfθE^=[Xr -ʾՀp#aAے'lO7L ab_:C02|+Y/JKf?TtXUkHd ,(,HǰՅ:w]hڣ@ -^h3ot*V6Cum OTYwllS=,<ݙe6aruxܓq -HSTkRV' =!Vs'µwja+k0T@acnmX: -8!>l, gF՗Kk}My'&o0::6%1 |$ܺm hm $~>ßZ%DZL; )6hBcat֚(bȖqƞ̨)(f',LTm7t8vk6z\n󬯍o܀8;|0/$ -q] -6ǞՑw^cKwo,Pi>ph,`QsĂ" 7VGK=cxOX_ە0k.cee]WV51)‚XJ;R`S,@?9;f/"`Tv$E) چI]9KڴxZz5xԶ0LӤru 36!OGM04̎a40 -mbh ދx3=-1s,64)w1Gs f90|Uo`]`7k 9t-a~\ - &B9o w>X `x=ucS,vYTؒ5P:,WI`+ֶZl?$ -`OV3V7XccbՋu=|k- b3ٰa/[6+lC책/`9Ϩm+vj )Act4k;U]i|&l4i"&n$IϚ-M_jťQijW\6֚ξּGr Z@3\̓H ;JlfoO3y>i-4?kr̬o f/?ܯ|heƄ`\aU ހ&b]ݰ3v=N:_iD>k,Zcc#dM[c0Rh_U80'1LIæwpo"/57-ƥmŴL~>U֘)rdvusR;9ٙ0/tydY}}jq޵gT.,4 !,fn5Vwp3F -5O϶ګP 4;tXffhS@gmQݖh~=ї'k[ =f^ۓO^^N6cU Gsf?L߀8o.6(wM=G9rXK:k}w{S;#?7Q.'KN3=x k٥/*.׳銵3W&v ]k]wy&tWőwVS=Lk{_R%%<ߕiЫpszcр[zj/KvޝGY/ h|tZ8kf>}?6KoAWK9[v5J ?2s|݋XZ/-r: #y9,C)Cwjdg–k#i0h|mv,ѕ7E2.|V"^x/h"=gb~?5[31]]9-xdOg󩶭ԟ-DmPY;ɀǘhXbZlXsdv:MIH̀CNJ*oq*O嵩-5O:ӭ ݌0jϻLpd>{dfUme< -Z-לEP\try,l}`?_4?[Q5c5S*9H-ݵwV.u֋O`߫ srhsM249xhvΧSj9ICw6~ͼmck;~aS=O˨[+PȢǀ߭ĐS-o/9tzoAGMf5E^ f>;w706-<>'0|FNUܴk5mҟ,&W`0zY+v-+?DG%-P7fn}HYQyvѦ\$~{x}7#뱷LGOg4^$zܞ2 yȬ\uge0GN}~Qa]}o"dXL2}oe4._.ryYWhks2Fzc[ߔ -f6GUikbW+ -8H*RK 3'2cԣ0zIІ>S9[ȏ@k XC{˶_D[ފv ->i_2'gjz J4vw;R0z{rsqBnDM j%hÏ+ω,=1Iz<ǞF^v LSSrz&wLt|o"2xL/esKɥ@e2TvB:5YTU .1iJV&U$,P✖)]1GmVI -ջk2U+]#@Cΐ|}t1S& Uy;s#`ҋb70y4SN=Ԙ=WR C^\CXYqNCSu]^Tv[@G+G!L*10dR0: nhup;]-+8m&ǐ)hN1{j:k*l -\S y=RY#UA~o@+bP2eRr,mY~DvԂ2$a%:n1߂ӓTZ5fP6Cd$ikNQFj@[({`зsE5}"0y*4Ȯǧ<t)5 -TٿX㾯;tNkf}=m=' yjSI(״ ??u[cM 3{ -146Uz5o!6G_f=[xՍ;c&އ νeާWܓ -z7 ]xa@UzdžI(v`!s6onx3ov.\d`}]74@1zp9E1т -߲m0ab9=4 ?@G>hPA HGCaƌdx]0~k~ 0*;2XƝMTNM'0(QcL[O%x󘁙ԻibH`!=%}~,[\iVCZ.7aQ}6bx8^BjQ~!XZKkH5nԅɨ fT -:yUx;9n.Ը -֍Fa9Ϊ:g)`a;g[H͗0m2HxD+tDaY2HUzNMĐkכ0RYvjrOejA}Aߓ۴ RT06*#4vEGjcf?9h*Θ ZX IR[>Jn4s8c}KU# 9+ ڒ,"UˎMxw+ު=J. "mE).VCx?$b׶KD)0~l':֮lŐV)%4k%T!W.rfkE~kڕ?I|YbHWAH!eҼE!l=fXCFJhy).X:x8Dk@Z~ٗ@+Mxj;"],<ɻfԫUMyoɔ1HNv|3zJ]8]B >CK~&Z(%sj3K{.hOJ6hy _4{"3^m}S -0Cu.Yh-K?Xbx%q - 4bOxe\*4^zAxmTl=b{06b"o;vj{;؏CiÁ*r >-ݩIiB.?=6-v>Ş~/oSb{by#;>B"OR<'LЗ*tu ӖДD)6ڸcl~ۑMb]3KȦ2OT.9 -8%z*!iyFoM5=+YYL%9CZ\soLOW\f޲Q ϥSQ:rڗ~ {0k=FdV.FC$zYylhg'\(kJ6Sr}7FE&7vUϵS 0ͫ/ y{ -څ3Ri}U"'%SEM)&!$6ZWnQwE -=1G|n#(yUzh ڸUmvD><,jcˈ"ޏv:j dWGtsG')dDYF.[e;y?Ѧ8Fly!&+6{Жo%؊ /zNg@1𕞎|?K1y1:=~t8`VY񏭺C'ǔp`C@6SN,;un"%[F9 - 2+M?!\p|uZ+/Fxd@l K:vxOΓ|X=ˆJb3CuH0_Ҝ✅O\W;\TDp!EX\\Wۖ0U=wG9s2Db\sm/nQ0f!?9*J`^vIr1sRhCGE&9vb_Wr@R&%Yzf>I;EYkYaNbJAJzV=U e'0 ڌ\X3;l8]k* +>F ]TǷr5,>z7g'SfﲤsnflKeNx<QfP#  AKb])bqq\8"*qE\I.ytaFID2*Iy!YKFsс@|Ha0ɪy궫CS) pxt-%{@5qtjtq .")5✬4pMp}3=O=#錢1}9U12S%[b`-ǵR*ޖmԉs2Sfyq=րTziNFzwd-tKǓ"K- ]d!d -,uFYkdmłOii%?fԉF^Z7OGX{IJ;xvJʋx+&-|t2׽x8kf<UGpˆ ]AoT -V>q"垶2/]ʗ; x~ gG()}(huy V`iΈ%ҹ[yfUF4}"$*&l)nهQDHCA#Jԇ|oN=7؉."[f:n?NF.$*uߔL3Wi(2{2JV޼ +YR5UzAH͜e?hָD5,Q^ -w<ù PKQzH%fBV޼FƫFK5x5${P$ h߳ԥ=b#4Շbʀ}F

'%Jƥ_JaE$&]kYtgt> -B{ -dٛc[Jhpwǫ> Mv(ݮ_(P%%)? -"-a@NVV|L*|T\Dq)h'B0T O*A%"0H8&Cd;HM_XYi{9s<᪌<>%gaSH$)-s>/u"#JwGdм&FdSBihFd`zCD "R'Qsa uJϑ<%˧+;e=:ǔcqÑ·S~B|8ʈ{t>썠ɇ8 u25Ǯd$ ʇ3'|8i_Ll['< .p2g\lKg"0dл`J `<œ@P.N_ËpgasJ&U'E:30f?)׻.=-'F[SM6%G^M6(N'BGfcnFpQ"8W*}vEB۴DYw/ *y[#ũ"HF*i^`Gf{LF2R]C2RdB8gB(Hk@o4U!#n .p@ע5 +=BpULɉ wA?"c2ܿ -w_yU*DLODȤGޝ -PK% -NT1! %>qH&0oP؏dد}w ʿdX~sA4&)‘r'Z^哛y])h3B7{cE75u6n`rą2, ނۘOu2|YQl`wq▋sX~%'٭T팺 x*745bv^T[.Aע( TG -jz.EO"jDW.Ͱ,e+*6yH> v;CJH az|ӒV)wkʰެBq#)0VԮ%gzZjj1LD0X/cf s|$mJŎ^XuÊPQ)c < GMX%j=s%#[rK(w_%9n$'4u -pulH&89'Qʌ_BN> -wE9}+6d|BwݜΈRTbP./PD'vS{X6{qeFA6 +N(N~kb*r頼<6NsTϦZ?4N 57(˦;l:}{sJ҉ܚM'l:Gf)l:s.]tB$|D6PXʦʥsg6|X6rrF̦bePAtBtWRLA6P.HtB'?l:!íl:W>4 ޘM'4Ϣ;#7gӱg贵"ܘM'Wl:1Φx&׭tBbA$fN"yǔ51N}."s[㭉Oڂk]<^uzuqjuBօ2:Ve1)(ׅMWaJeS7_lOKU+A+إSJYQNB #A'r #yt#~LZݍ9kLXҝ'5ڹr2 E5|8OX)朕&P]%&/ܿsKUĐEST]9bH|`![Gˇ3εXE,ԯ5WRU"Pyőm_]QF1+~C -i(uRK|ۜY%C'q"JIafk~O?RL$dNDVQ܁_ c'.yH r+#C86P3RzrQjfx\,#I"(IHi:]sJ&+"^]&vBwO"~8>3J-)/ʳdN7WKD*=ݛ˳\Z2LTDV:Z1WbُQهڵDz{QE=M::*(sa@br^KV򔖢ЈrogR C#=% TY͕]bI\ -Йʢ*_V`G[hdۀ&%1;㼴vE"Y[?ɱsːn@5ζ.צ揷(8SY)D@)h깾5x \CG9\B1taYJCnkR)(pY>#_4E] 1U" PD]JH_ZD*\(Bϋ@+Qr\]QOGV4PGuGuSQ+]YO4#Ed -*ʧR4(cRQ>::zk~h~uwoV23_yW]?i3YW]?BY> W߽,^U)•8s%PdcNu8bxQay@]S2pU?Z_O`POm?Ra9OU-ٯ=`ZIWSL:ۍ + ucb%"wL ٵ2u_h7.\8v6 >鄝.MBK-l?my1,094#UM&pN"4рLST9O8RƸ&|]'(La5`0}'O4_bgNhzňUM NjP׺SAд3 $han>j$|b F)}/f Fr>ˑ jLrJ M J=Sd:r ~ouq^P~nI+=e< xB7^@)nez1Rx.UNɨkϫU/Ƃ376Nɾ/ӊƬ>uδ5`;]qt [ 640>xIU_ -G FJfA,W6|4gc6 X>} jlb4,֌Mș -Ţk8ݽk[( ? -rNҝ (rSY ~חߺ%n pJRTURN{?A$R{ YH{ -4W8axJ`1Sy#iԣgc z)eL\.}޼PXݼÜ]l?'xx^g %˃ ~V?/G8.5> -c 59\[x"('%xV)O b~B@k|n#R6لZG@IX>[3`|tkf*Z w)bbmt^tj.!Q7៍O|J,æBo[hƳv{ZJKQVK.^BBrUF>kgٯedn9i૟gߍК}l.#\} -a'U_g`| K+g4d JwLJh;l_=` 473^,4+ztrsm>h |nۻ(;5zz0j -3?v>|tqPc cн@Y8,a;8839u4[۰|ln}_\>T3g֫Ëv֡S.#vQS1b~ُkΧ#?ӳŕpꓟA/o[CMTIycW'ݪןjo_nG+ndgWEø@@H^cqRdG3>FFޗ2}OO|gay`kkaǖ9䴋Lt6ԫOcxr/ Z /`YؐP=}eϬ ͜.o'.x"ă/Vh-^ luԦ.Lk=ゅn-M߸+3- ?hcw̞|a}.F+C }v{gC 79ևy8g{[[S;'/k_ʗhq'NJ:߬Ӌc̯fshk_`>_v5~ 2t~ B" ~Z3.{b=%62Wcfٿk1LuҢ&tgG@u>ќ^141Pj[ݗ_uD H '乮'hܾOlt:[ZlǩFZ0#OfO{VA9^{{f=f޼xsq`]YJzջp8fnW78-`}J֞@ܮ8 z)wM|#a<j3ӷ.#we[c[_4)XIM]E_>+>9zuޫjDkE{Zq{`b{5f#~cOpjK߾gk[Xciyp0W-FssJoG3'got'vb fmg dwc[ߟz -.ao*HῡTmG/=끋 u?&Mc&.˱{-.'_^\\h?B{3kgWrdK͚sHx<+{ݚO^NN>/7gw3??]VkYؼiN7ʺ[?mK{~Ps҇+Ƿ[F.EWFycyXΆBA{q=c=8dϷlJu}d>k7񏩇Fam`tOK-q ?+kv',镱W*%(<۬UQϊeqN;>ꎵg;k(Pkc6<<2z`r1LƞTs;Тė.54Y&nyS74iyOkgվq)?C|O[(6뫟D6!`dZ=׿gz+%+*{Ҝ}Oz 6g}ƛI #)F@eO^pX88O~EWFGl|Rm@|[᩻Ͽ.dO7/,n֟J+^V'|nAy3LO! ~Y"}~' x@/faRDгHǥ}$pal0 t,\M(t*&7Uzf;5ґAV%Q0icIp>]0;> 8|ut#gnkv%Vmat"Z?p*C?v@Z>pэL"RʂDR{fb 8pDa&%f̼;K16Q0.⯘M2emLh>-œ7>5Ɗ'fjMc[ "!՘x a<~)x,60HE3:RJRె~o2;bmsALL(C;pdHЍAK:Zf{6}fGO#1[%gD֏jz{qm1aK:uAE/Fe!q;$E4KN2S8&Ds":?p deH>5vͪ/Q/8 GqI;t<6|W ?9C0B /mǠQ3a6=m"`f- "^ay zHZpmcipRxI\/A\k5v?q2~>gx1HID''}}.֞>zb@&ʇm0^T{c' Åw+')0j˜۳ΫQH}QIcwK_iR1=Z!5z i{%r-|GtWo mZ ۳!yl͟4͞f}&9 -?Ïעz'r53R'8 >Z{lTV{Pg51M^lpt8p[C~II$7a13R'߆a!g`c@%sxi]d&9Q'u.8 W385ڻ7}bE|1^DqnY87 9ҵ淣@NߨP̝YK(kFypd?/+jX=8_:?qxRLUZ=?m|<.[{N.WY:;?` Aɐ z/->]ym쿾7> -g[Cx# }}YzcD{܎$mƞ~Ϗ|F' qEe>g?SpSskԴs>47_u[__}4\f;Һ\1|i}`G.Oa@/ǑIr&#_Q AϮ3xEumbuzYẓ˝#z⡈af}*h)6|HWXT#;\%++f^L<µ'69 -/LR {^y!{][ 9^R{l \-NۻW5osAT;u__@v%jW?]g^N`}T^xE39NTOJl)6bCXi\2pQpƷb9l[gٓO0}N&[?tZGSng" x]J05ʩ'k&1!f.A) |sZGOer5l(} я?{i\>i\ŝ/4Hg858/*s}Nj9-wvVt%v}Nƀb +듛K# ߾/4.|T  72WND-:^? 9ɸuO>Y~柼p8Dg I-$c!'"(o!aӔO/Fg#dTjoO/A'޽|_[5~5#C[809f^;`l0jl;fSC&Q~D-II]+B7e6.5iJk kg{ٛ3ǁˑ b -xl.x`x~6_sh ;{Ϯk-|.Dʁ-yoTx_Ҋpekglqt2^~/k,E[Oh#,r\wE* yܼ<0?AD -@Gr9$` 2`H4V<"čQpNoTNɣG! m*cWuA-{;=|)}s]w4}Eÿ-ȍ`ˀ8} `:Aχݎ;uģH z~ OF'2t zQAL%fG79Rvp|NF˂@~98 8|;A8\j}){e8; ̗B[iyA*ut j_({8@اxhr[;zTA1t(~<nH uzx,a -ӽPB6]+ n5L˵kQXu]+_'X/Yn Tc|F܎|◺S GڋVg:dd'jE1`ە#j(F`oO]O_.wC܁Gsg<ųc|V. 圞4t O`;hً>~/ݛ6l&<hZ?^<| -ϟH O$Awu2vPZ#aɭ9rk?yF!rCySdf=sG|l#xRnd\IU!Etq-,E # |/yY I~x -Xad{Ig翃yU鬪2 vv+#TFvcuwyxzs_uvV_U u#M (=nە: _Ti*FuLXY籆Dre$w* kHEe30W*k'Rx e -D}׹` c„&,auŲ3RQ)qc)D$ID?m$U$B"I]? ]tF"f"n Kqp(4CuE]/4 Ee k $q! -͟OJ^ީ/;-6FJon߰fU+(')= obJc^J&i$ -]"àҼ簬T׳(=*EK0! e$}ĻT& RH R9#TGR'_s4c) oq"K_8iq}H,3Yh[U,kzDh2q^\BiH !!"`R knpkNHCՓHCky\AA -虃:>9Y=q'=V1c|v *T4<%aB tX D=rP"M$?` SJVK7ג$Q.ؓfa 'q3d|"q4L->{p^BKh> Q/-l"(Hr^X|?WnDH9\?)CjXZ` oHH뇴f56IDX= ĤE@Z M. -{")h<^F-С hccղU01%K$D $Ȁ&Sz&V-H4ŹmWJ4X7ͨ0x`ƊU݀p2ݐ>t:cgeY0])>f{1m*CCKtKB6UXnMXȪ1F4؂~ "1RXo);t(1-w`Q+%1)V4 :%u4?,Eo$PtQt8JMD %uTJQƸP$1$r5QAkMt![_7i\_6d%$ UD*$zE^e@c`4=\Ӄ ,'#R4n2iˎ$#ln.t*m^ïCfe4oQ`Mh`btPڏ3~ѢgQkKHXRjJ4,frѲuL#i˳+e+l7M3>dh;1 yt].pgԬ wwdȟԏ̞BxY˖is"eq$#"N|dǮO$3Vc4 dՂd- -ps'7lT2萝&8#^ -u -䤀УJ$mC:+Ѥa&چ)kCt蠜$D⡅)!݊tD,+.L0asiT RZCԊ7~`CE3zzb[N*z}Bmwӈ㕆(:lCan CLFS͝-2d&uSg;UfVJM fc:!s$Ք̃[ ADJ+):!VQ,yP9 ffFV@e $0"DvNoTԄ4%XRU"78%*W!GH0g[/L#ѯ -KD)!*rJT.*bs^\nu -(]Jk}f 0Ws R/N(/a -I#UY+ϋ_*_9O*S_/z+O,"WxIҰ'sC0J߃KeXQ'4y-ʹ6R"#B ,'l%W{"ħ&%}J>B&\ νcCt5]g"΁8BocsdbU6ox ne+7FwnŋW9M"4ƅ" -؝Qc&iK$2#WكɳIiyCWN1oCu < = 釆_Њ t!' -'Eȧ +X1ɫD|dR<^L?hCYM)hl1& -hF-VǾV4=LWU{z͝r{hC+aJ)RF0#99çbEb>BO&aPFK!Ullj" -)3fpoQEAΥ(wZisSYO\kR#!/ \j *:FDfS$Dy?2]LtlNijceuJ k̜AV?ZTRӃqbŸLb:a΍ۃʫE/xb āz>;?ْ5^+uň↞D_D+ ->Gȉ!4QKDoJ锵3e ,|+Xc!JcNȌ(JY2{t?J{vҠ(9AC"+7ߣ=Dr^IE!I܇B qrICګ_TY…立0_E3 fyO`+)}$RT><>U5|BD,OwTZ|/s9r]:I1I,ۧpKҁ?C0w5N"&l]$ &._%ҩkps+n4 F|8q]5+}X 6C@I1vbd%׍] $ӵt8cݼ2qQQ+< 4tsO^P9I/A֨gY~rj -R -ib -506c}à+l;-:c_`QigE\[=hRyFUҸ%L%8}p3u?n+ؖe^syr@.)W 9#O>J\3,U:}9JoXRk_*?ntiâ0Wp3$&{]I[BUhɸCC7(}=үH!ʔ-v9-Cww;J/ufC7pdeh\N(ij?nmx={g^ЊMogt~(a \=0̧ꁑC7ڐ@&r\Қ pd%Y2CU-|"TX#Ԓb: -PzCW9JhLrj][$I~7Ppo˂;"v KA0}; - No[Jh}FU|B3Sünggd$yox;1g18rN,vtR\WiVRYINLkR\6-Fu)ZPwB(:'&챾.$27Ek'L dtr8&7KHSqNnX,Vޣk(Mb藻u R'|6PoJ,wim( <ŃAQ,&ԅ13A/ :bqK\~%7$ Gg5Rb.pIaO]μ˕n9&<3HN3I;@7 cLn;7xwAFf@׭k1&'0Q<|W 41s`4w gY1 kJHEοԌj|K"6-&+gHOrNIT%&~IuIuZ6H9ңZEӽroB # A¸O`srr?VR$JhQ8h$̈́Oh'b'','[jah+<ԎB&ܧ}D@$P(8 -%Bq2QHv|"v|"q|) -BQ--k%*أ`*rcWn*{=\nE2[/PHh'b''RYwpjDdi$;l0Ů/TPHO\ qU2ka ρDx0bjR - }޷VRr~ZTu8*# G8i0pb AH~ i3H]TDj]Y͟'mhEh&̾҉\Ms!Q']k;NiHޒx̌(iT0L<"iw3#*dUsw -*$AVAm,VGiw GwTi/u/O7jە^k/|7<=UloukBL0[+'Pႏobl"2d 1w)Ӻ"\f`1%M^O]L7C#R~OۄHksz@bl噊9"?'I"k!(1t<_s Hx5q{ULa(HNoJrWHf3~kE*]$e9P 5s|LY -1" -z;3Q9s",mD+ Vql)^R«X !0jYi"X[0aR|c=`t&UB+@+DH@I ChEQI 9w)jrrp2#>C(U{nҴ?D#7P#@ -_ $h`dxFOwQjg隚^~iIwٽCˮW3pHijsPUEvzkv"ũ3tf" -kŜh9:gAI鿜*v[$M=\~1I=QxӚ8F}V&U\5M(~_H޾8钴.Hq5OFĕ)ૢۣÃaR:2UsSpz&[&]"=z y:)!UBpFKį6R -J2~g/%KPy,):ʷY 8 *7L_| F8?C`F ~J+:ء1++xm!rWO.8z̓{,9vf}.MH V@D`d'xV dZ|6ьLRcS:K$z4>WO<ˡ#F2‚y&aO}%[4&t I>[ -$5'ágk܀ɾE$?1  -^VHKwIsS lh*ssW9cGIB_wDS2%4DaNL$wr<r@`M>` -&|ِ(Tp(8T&.w&ha'xoiu1BTvJX_V38V eHȅR*L'C"J$;\Hq0 ~P] vl -,WU*U\GȪY  u#?x݊G[uR[[IfY)w -!nȟ7dKJއK7 gT*߀29bz!:Wdͳ)$ 0 hMI4_|Г)ۼ"vIP远hLcMVk)NK)W,P6o`CDH4 nýǥpu'kZ&ل%} - +a(򍍕Txp~|xS+L bb{-Vqh~^c؅ҩ O+.AdAG#[,\XUeVPNp,\,ڱ|ض4#yPfM"LJiBYH>qnQNx"ep7:?<,u0?٧?4TUw~|<9W~\{P999ܹ<_?..O?O%U_jWxD endstream endobj 289 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 288 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 287 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 286 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 285 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 284 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 283 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 282 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 280 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 43 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 44 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 45 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 94 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 95 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 303 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 302 0 obj <>stream -HwVu6PprqVr)[ endstream endobj 301 0 obj <>stream -HLQA0 @SIZ] !}@@c*Mfbǵg̴u?w/Ẳ"GAeM‘,rN$5HB&!ɸFu *.fͩotDtK FFt B14ʹ&WBy,<@H6*0h|I0[8[b`w<͉ R2 endstream endobj 299 0 obj <> endobj 298 0 obj [/ICCBased 304 0 R] endobj 304 0 obj <>stream + endstream endobj 3 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 96 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 97 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 98 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 99 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 100 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 101 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 102 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 103 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 104 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 105 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 350 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 336 0 obj <> endobj 351 0 obj [/View/Design] endobj 352 0 obj <>>> endobj 339 0 obj <> endobj 353 0 obj <> endobj 354 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 15.0 %%AI8_CreatorVersion: 15.1.0 %%For: (Michael Starke) () %%Title: (Keepass Icons.ai) %%CreationDate: 04/04/15 18:32 %%Canvassize: 16383 %%BoundingBox: -81 -65 66 120 %%HiResBoundingBox: -80.125 -65 66 120 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 11.0 %AI12_BuildNumber: 39 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: -80 -66 -64 -50 %AI3_TemplateBox: 7.5 7.5 7.5 7.5 %AI3_TileBox: -351.5 -438 207.5 345 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -117 -38.0625 16 1539 905 18 0 0 43 135 1 1 0 1 1 0 1 1 0 0 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -413 %AI7_GridSettings: 10 10 10 10 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 355 0 obj <>stream +%%BoundingBox: -81 -65 66 120 %%HiResBoundingBox: -80.125 -65 66 120 %AI7_Thumbnail: 104 128 8 %%BeginData: 10248 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD05FF7DA8FD0FFFA8F8275227F8A8FD10FFA8FD0DFFFD057DA87D %7DA8FD25FFA82752F8F8F852277DFD0CFF52F8277D27F852FD0FFF52F8A8 %FD0BFFFD09F852FD08FFA8FFA8FFA8FFA8FFA8FD14FF52FD0827FD0CFF7D %FD05F87DFD0EFFA8F8F852FD0AFFA8FD04F827FD04F827FD07FF27272752 %27522727F87DFD15FF52522752275227A8FD0CFF52FD05F87DFD0EFF52F8 %F8F8A8FD09FFA8FD04F82752F8F8F827A8FD05FFA8275252275227A8FF52 %7DFD15FF27FD06F87DFD0DFF27F8F8F852FD0FFFF82752F852FD09FFA827 %FD08F827FD06FFA85252FD04F87DFF27A8A8FD14FF27FD06F8A8FD0EFF27 %5252FD0FFF27F852FFF8F8A8FD08FFA8FD04F85252F8F8F827A8FD05FF7D %5227FD04F87DFF5252F8A8FD13FF27FD06F87DFD0DFFA8525252FD0EFFA8 %F8F87DA8F8F852FD08FFA8FD04F8FF7DFD04F8FD06FFA82752FD04F87DFF %27A8A8FD14FF27FD06F8A8FD0DFFA8275227FD0EFF52F8F8F827F8F8F8A8 %FD07FFA8FD04F8A87DF8F8F827A8FD05FFA8277D52525227A8FF527DFD15 %FF27FD06F8A8FD0DFFA8525252FD0DFFA8F8F8F8527DF8F8F852FD07FFA8 %FD04F87D27FD04F8FD07FF27FD0752F87DFD15FFFD07F8A8FD0DFFA82752 %27FD0DFF27F8F8F8277DFD04F8A8FD07FFFD09F827FD08FFA8FFA8FFA8FF %A8FFA8FD15FF52FD05F827A8FD0FFF527DFD0DFF27FD09F87DFD07FFA852 %7D527D527D527DA8FD27FFFD06A8FD1FFFFD0BA8FDFCFFFDFCFFFDFCFFFD %1BFF52FD0627A8FD0AFFA8522752272727522752A8FD0BFFA87D2727277D %FD0AFFA8FFA8FFA8FD2AFF52FD0827A8FD09FF7DFD09F87DFD0AFF7D27FD %05F852FD08FF52F8F827F827F852FD27FFA8522752525227FD0452FD09FF %527DFD07F85252FD09FF7D27A8A8527DA8FF2727FD07FF27FD07F8FD27FF %A8FD09F852FD09FF7DF827275227522752F87DFD08FFA827A8FF27277DA8 %F8F8F87DFD06FF7D52527D527D527D5227F87DFD07FFA8FD0627F8A8FD13 %FF7DFD09F827FD09FF52F8527D527D527D52F852FD08FF7DF8FFA8FD08F8 %FD06FF52FD0AF852FD07FF27FD07F827FD13FFA8FD09F852FD09FF7D52FD %06F827527DFD08FF52F852FF527DA87D27F8F827FD06FF27F8F827F8F8F8 %27F8F8F87DFD06FF7DFD09F87DFD12FF7DFD09F827FD09FF5227FD07F827 %52FD08FF52F8A87D527DFFA8A852F8F8FD06FF27FD0AF852FD06FF7D27FD %0752277DFD12FFA8FD07F8527D52FD09FF7DF852527D527D5252F87DFD08 %FF7DF8A87DFD05F8FF5227FD06FF27FD0AF87DFD06FFFD0852275252FD12 %FF7DFD07F8277D27FD09FF5227F827F827F827F82752FD09FFF87DA8FD04 %F827A8277DFD06FF27FD0AF852FD05FF7DFD08F827F8F8A8FD11FFA8FD05 %F85252275252FD09FF7D5227FD05F827527DFD09FFA8F87DFD04F8275252 %FD07FF27FD0AF852FD05FFA8FD08F82727F8FD12FF7DFD05F8277D277D27 %FD09FF7DFD09F87DFD0AFFA827FD05F852FD08FF7DF8FD0727F8277DFD05 %FFA852F8FD0727F852A8FD12FF527D527D527D527D52A8FD0AFF7D7D527D %527D527D7DFD0DFF7D7D527DA8FDFCFFFDFCFFFDFCFFFD6BFF7D7D7DFD0D %FFA87D7D7D52A8FFFFFFA85252A8277DA8522752A8FD0FFF7DA8FD0CFF7D %52525227525252277DA8FD06FFA827FD05527DFD0DFFA8F8F827A8FD0CFF %27F852522752FFFFFFA827FF5252FF5252FF7D52FD0EFF7D2727A8FD0AFF %A8FD0AF852FD06FF27FD06F827FD0DFF52F827F852FD0CFF27F827527D52 %52FFFF7D27A87D27A852527D5227FD0DFF7DF8277DF8A8FD09FF52F85252 %52F8F8275227F8F8FD06FF7D27FD0652A852527DFD07FFA87D7D27F8277D %7DA8FD0AFF27F8F8527DF82752FFA8F8277DF8277DF8F8F852FD0CFF7DF8 %F8F8277DF8A8FD08FF52F82752275227522752F827FD06FF52FD04275227 %52F8F8F852FD07FF52F8277D527D27F852FD0AFF27F8F87DFD04F8A8FF52 %F8A827277D52F827A8FD0BFF52FD06F827A8FD08FF7DF852F8F8525227F8 %2727F8FD06FF27FD0AF852FD06FFA8F8F8F82752FD04F8A8FD0AFF27F827 %A8F827A8FFFFFF2752FFF8A8A8F8A8FD0BFF7DFD06F827A8FD09FF52F827 %7D272752525227F827FD06FF27FD04F827F8F87D27F87DFD06FF7DFD0927 %7DFD0AFFA85252A8A87DFD04FF277DA827A8A8F8FD0BFF7DFD06F827A8FD %0AFF7DFD05F827F827F8F8F8FD06FF27FD05F82752FF522752FD06FF7D52 %7D527D7D7D527D527DFD0AFF7D52277DFD06FF2752FFF87DA8F8A8FD0AFF %7D5227F8F8F827A8FD0CFF52FD09F8A8FD06FF27FD05F852FFFFFF7D52FD %05FFA8FD09F827F8FD0AFFA8522752FD06FFF87DA8277DA8F8A8FD0AFF52 %27A827F827A8FD0EFFFD04A87DF8F87DFD08FF27FD07F8FF27F852FD05FF %7DFD08F85227F8A8FD09FF7D5227A8FD06FF2752FF27A8A827A8FD0AFF7D %F8272727FD15FF7DF8FD09FF52F8F827F827F8275227F87DFD06FFF827F8 %27F827F827F8F8F8FD0AFFA852277DFD06FFA8FD05FFA8FD0BFFA8A87D7D %A8FD16FF7DA8FD09FFFD0AA8FD08FFFD09A8FD0DFF7DFDFCFFFDFCFFFD41 %FFA8FD11FFA8FD2CFF527D7D7D52A8FD0CFFA8FD15FF52F8F827A8FD0BFF %A87D275227527DFD28FF27FD055227A8FD0AFF52F8A8FD14FF7D525252A8 %FD0AFFA82727FD055227FD0CFF7DF87DFD17FFA8527D272727527D7DFD0A %FFA8F8F8F827F827F8277DFD0DFF272727F87DFD09FFA827FD0952FD0BFF %52F852FD18FF5252F8F8F827527DFD0CFFFD05527DF8F8A8FD0AFF7DFD06 %F827FD08FF7D27FD075227277DFD07FF527DFF7DF852FF7D52FD15FF7D52 %F8F8F8277D7DFD0BFF7D522752275252F8F8FD0BFFFD08F852FD07FFFD0B %527DFD06FFA8F8F82727F82727F8F8A8FD14FF527DF8F8F827527DFD0AFF %27F827525252275252A8FD0BFF7DFD06F827A8FD07FF7DFD0452F8F8FD04 %527DFD07FF5227FD05F82752FD15FF5252F8F8F8277D7DFD09FFA8F87DFF %FFA8525252FD0FFFA87D52A8A8FD09FFFD0552F8277D5252277DFD09FF7D %F8F8F87DFD17FF5252F8F8F827527DFD09FFA8F87DFFA8F8F8F8527D7D52 %FD0DFF5227FD0BFF7D2727527DF8277D5227277DFD08FFA8F8F827F8F8A8 %FD16FF7D7D27F827527D7DFD0AFF52F827FD04F852A87D7DA8FD0CFF52F8 %FD0BFFA82752FF7DF8F8FFA85227FD09FF27F852FF52F827FD16FF27FD04 %527D27A8FD0BFF7D27FD04F8527D7D7DFD0DFF52F8FD0CFF7DA8FF52F8F8 %7DFF7DA8FD09FF7D27FFFFFF277DFD16FF27F8F85227F8F87DFD0DFF7DF8 %F8F852A8527DA8FD0CFFA852FD0FFF27F8F87DFD29FF5227F852272727FD %0FFF7D27F827A8FD20FFA87DA8A8FDFCFFFD63FFFD04A87DA8A8A87DA8A8 %FD1EFFA87DA87DA87DA87DFD1BFFFD04A87DFD04A8FD13FF522752275252 %5227522727A8FD1CFF7DFD07F82727FD1AFF7D275227525252277DFD13FF %F87D2727275227272752527DFD0AFFA8FFA8FFA8FFA8FD0BFF27FD07F87D %527DFD07FFA8FFA8FFA8FFA8FFA8FD09FF52FD042752272752FD13FF2727 %FD08F8527DFD08FF27FD05F827F8F8F852FD09FF52F8F8F852F8F8F85227 %A8FD05FFA8F827FD06F8272752FD08FF7DFD07F87DFD13FF2752FD07F827 %277DFD07FFA8F8F8277DF8F8F827F8F8F8A8FD08FF27F8F8A8FFA8F8F8A8 %527DFD05FF52FD04F8525227F87D7DF8A8FD07FFA8F8F827FD04F8A8FD13 %FF2752FD08F8527DFD07FFA8F8F8FFFFA8F87DA8A87DF8A8FD08FF52F827 %FFFFFF27F827F8A8FD05FF7DF8F8277D27525252F8F827FD09FF527D527D %527D52FD14FF2752FD07F827527DFD07FFA8F827FFFFA8F852A87D52F8A8 %FD08FF27F8F87DFF7DF8F8A8527DFD05FF52F8F87D27A8A85252F8F827A8 %FD07FF5227527D527D522752FD13FF27FD097D527DFD07FF7DF8F8A8FF52 %F87D7D7D52F8A8FD08FF52F827A8FFA827F827F87DFD05FF7DF8F85252FF %FF527DF8F8F8FD07FFA827FD06FFA827A8FD12FFFD05F827FD05F8A8FD07 %FFA8F87DFFFFA852527D5252F8A8FD08FF27F852A87DA852F87D527DFD05 %FF52F8F827FD0552F8F827A8FD06FF5252FD07FF5252FD12FFA8FD047DF8 %277DA87DA8FD08FFA8F82752277D27FD05F8A8FD08FF52FD07F85227A8FD %05FF7DF8F8F8FD0452F8F8F827FD07FF27FD04527DFD045227FD16FF7D27 %52FD0DFF52FD09277DFD09FF27FD07F87D527DFD05FFA852272727522727 %275227A8FD06FFA87D527D5252527D5252527DA8FD13FF52275227522752 %A8FD1EFF7DFD07F82727FD19FFFD0BF8FD14FF7DA8A8A87DA87DFD20FFA8 %7DA87DA87DA87DFD1BFFFD09A8FDFCFFFD51FFA87D272727527DFD0DFFA8 %5227522752A8FD0EFFA827277DFD09FF7D27F827F8A8FD11FFA8F8A8FD17 %FFA827FD06F87DFD0BFF7D27527D527D52277DFD0CFF7DFD04F827FD09FF %27F8F852FD0FFF7D7DFF52F852FF7D7DFD13FFA827F8F8F827FD04F87DFD %09FF7D275252F8F8F8275227A8FD09FF7D27FD07F87DFD08FFF827FD10FF %27FD07F827FD13FF52F8F8F87D527D52F8F827FD09FF5252F8527DF8F8F8 %275252FD08FFA8522752275227522752277DFD07FFA8A8FD10FFA8FD07F8 %A8FD13FFF8F8F87D2752277D27F8F8A8FD07FFA82752F8F8A8A8F8F8F852 %27A8FD08FFA827275227522752277DFD18FFA8FF52F8F8277D27F8F852FD %13FFF8F827527DFFFF2752F8F87DFD07FF7D5227F8F87D527DF8F82752A8 %FD07FF7D7D7D27FD05F852A87DFD17FFA8FD04F8A8FFA8FD04F8FD12FFF8 %F8F87D27FF525252F8F87DFD07FFA82752F8F852A87DF8F85227A8FD07FF %7DF8527D27F8F8F87D52F8F8FD17FFA87DF8F8F87DFF7DF8F8F87DA8FD11 %FF52F8F8277D27525227F8F8A8FD07FFA85252F8F8F827A827F85252FD08 %FF52F8F8F85252F85227F8F827FD19FFA8F8F8F827F8F8F8A8FD13FF7DF8 %F8F8275227F8F8F827FD09FF525252F8F8F82752275252FD08FF7DFD05F8 %27FD05F8FD19FF52FD07F852FD14FF52FD07F827FD0BFF2752525227277D %5227FD09FF52FD0AF827FD19FF52277D27F8277D2752FD15FF7D27FD04F8 %52FD0DFF5227277D522752FD0AFF7DFD0AF827FD1CFFA8F8A8FFFFA8FD17 %FFA87DA8A8FD0FFFA8A87DA8FD0DFFA87DA8A8A87DA8A8A87DFD1EFFA8A8 %FDFCFFFD55FF7D7D52527DFD0DFFA8FFA8FFA8FFA8FFA8FD0CFF7D27FD04 %52FD3AFF27FD06F8A8FD0AFFFD052752FD0527FD0BFF2752A8A87D277DFD %38FF27F8F8525252F8F8F8A8FD08FF7D27525227FD0652277DFD0AFF527D %FFFFFF27A8FD37FF52F8F87DA8527DFF27F827FD08FF7D2727FD07F82727 %A8FD08FFA8A827A8FFFFFF5252FD37FF27F852FFFFF87DFFA8F8F87DFD07 %FF7D5227275227FD04F827527DFD08FF52F8F8527D527D27F8F8FD36FFF8 %F87DFFA8F8F8F85227F87DFD07FFA82727F87D27FD04F82727A8FD07FFA8 %F827FD05F827F8F852FD35FFF8F8A8FFFF2752277D27F87DFD07FF7D5227 %5227FD05F82752A8FD07FFA8FD0B7DFD35FF27F827FD05FF7DF8F8A8FD07 %FFA82727FD07F82727A8FD07FF7DFD0BF8FD35FF7DF8F852FFFFFFA827F8 %52FD08FF7D527D522752525227527D527DFD07FF52F8F8A8A8FFA8A8A852 %F8F8FD36FF52F8F8F85227F8F8F827FD08FFA8F8522752275227522752F8 %A8FD07FF7DF852FD06FF7DF827FD37FF7DFD05F852F8F852FD07FFA827F8 %27F827F827F827F827A8FD08FF5227A87DA8FD047DF8FD39FFA8527D52A8 %FFA852A8FD1CFF7D7D5252527D5252527DA8FDFCFFFDDBFFA82752525227 %7DFD5FFF7D5227522752525227527DFD5DFFA8FD09F87DFD5DFFA8FD0927 %52FD5EFF7DFD0852FD5FFF52FD08F8A8FD5EFF52FD08F8FD5FFF52FD08F8 %A8FD5EFF52FD08F8FD5FFF52FD08F8A8FD5CFFFF %%EndData endstream endobj 356 0 obj <>stream +%AI12_CompressedDataxg¸(|;w:L P')Qγܻgq,[dI,=Voٓ͐{Zק)o..ݞ?fAd1886nY#zoь ֞Ym2G~Ie8ڬwbn>=e=h{. {12x{[jsXijWXmvO]n8¼IxMp6lFש͈қڅ鿉JLBJ.?թ%1Z}|Iڅ,܃a?VCztzρAq~i=̧أ?LMr:Gi>vKm+U}8MKK4́Ƌ^OPa؆ǜ3~ެIIjߢq/yXTg=߃O! ͘\sKb 5%`7XBM…rj[rt.WL*`]`}:CjB@!hagX:X5a;uyS1.إ#7t5@~OHwT[rv=NoVpv-,7S3z^?lY`uj}ѓ࠾:~ +uºt ؀ H_r9Rv6 x~D?^ 7n:A%{'WRAlL1 D$ݘnV[=[3bK>j:w ̖vN,7u`cs>+RmS9H:O +d5>=RMM75=ylbS|7.Q=n׏6 R]Lv$j\.4QI/%Ď7q:zv2A{鞠Y֨cc0| [cJ +У7uqIN|鯰~$`M^L}> z/T {T^f oӟP?qTf/c0rU!#p 5:!6z @ɲJ{}H?#xp +A0U s/"葘#c4I'0`ʙ!==@ +7+O'w׿^'ɭx]#p 6Wɓbk4.#U=u 5 +莽 +D n»p}?ǟAGE:?t!J?pXdT+ϛ1c[k\vg H~ by86Exԙ(Bh+rOAPsAcBi3͗c\ȖՐԆ.PHB^XS#?LaֵYED].=lzwurp6%x#,792߇> m8Gu7?,Tp,̢Iܹ&c;n9_6jDp_9'g|:W~\A$!/Wx?׏B׬c߲пk2 $9w%4fT +9TwY]NcW %/6\m-=x/q,\Kӫ+zz  mG#?HukΎ{b8_GQUN-0RMń:YG`Z'r`T\ ZhX&lo4B179=u_.ܫ5'g,X)~!nj食JP Aqx IFhML8r{!( +A~\tၛjU$q,s%jPwIy-ؔ@Q~IA:R`$ܞ9O{NE~ à(nFߞ 0%o2_e@e;T* 4/ "$ (* AnT_Eu3B"0*H#Q3 E*[1zOiAri"Ѓ߀o >MrK_ W7hAA]Zc/K+@`oa o^.=%E9uK2\>{kDV >=HBS?wFK7~;錽Y 0\R NePXnЁ^?m.|X.dϮRNWx5q{uɈ/`oA-I`z`Wv7Ѣ=_ɺmz(ZDlN!  +2D7`)+$Hzm薳@F@C\QA{nKWd~)ID7 m^/;KIvn0@<NrQAP;M4><2]#ϿQޛu DyxzLA1E1哵GyTѶQn@w0 nǕ7`1w݀#p8, +f&. \dy\AB@\pY~WH?W.zL~Ú.I-Tף +T;4B<膳`q|Mwnw 48d$qAQ@PoztFz8àgX2x@Pj]Uiɿ!-X}F`&^9+;-q0G֔ڞ9\$1@n^$6?6@٬ JpzCAx0nnaKjMtGMsryR S!xwI.K fn!N"ݵ7"1嶶q.Fo` MKPҤ79 + +u`ţ5vy)%|-"BVĿf1÷`?ڎYlى^g)d 7ԶvjTs5in4jTkRQu rX յ-hB@5D?on/ًխ35?-o. ð6ٺk<8kP$GX5jYZb;Sa+k0TҨ0cdstq$Cn|2}5A5.4 lͧd|W_kT,5 Fh8cl`@Xȗ\3)O*}^!LE?O~f9O~-&~ߊ; )6hBs򓁍at֚0bЖqƞ̨)(fϙhflb313_SIäڭ,rͳ6޾Y_sf 5Sl$WB`~(u7k2س2k,PpUڅ+ f/ngk1j'bJ5l岮+X{zaX͎w0c@1k|ɥ'Yv5hv1B5+|8gI/՟#BVXfỲ>- 2齧\ÌMzQ0;4̎a40eftn@K^i f)GIan?ߘch7clS3}3[GBٿŏ~=_uv2Z15aXmUz7u׻!1O yl,ֆ35CϽ){73=`7]n0FcX?{s?'WqU)Ed0cz1C)ܛȋjMu` Fqi[1-SߴO5fcikTadvc1V/tydY}}jq޵gT.,4 !,fn5Vwp3F +5O϶ګP*jakiMU|Ew[vjYF_m5\u{aV{ lOړ?={y9ػW/͙0}Ⱖޫat$fۀ5JT ʝcYZ/'7Cgp9ӇBY =ηNsCdJFqOG|D/Z;Tz|5MtZ晫HUWgpƵ.ԻndvnY挽].✅r䢓`<6>{/O* :(̲ʲmr4QS%\Zk՞}f]2^6w[[TH/t}^+;Uiʬ]5n5>O]NEgk`:{N=y\ڻ`dƺ{FhŧC}}N`niB&}cb&go>yn\=wJ-'iկmLamOv=lɰcu{9yk%Yt}Yڝ=s%N-Isxi*2~mM3pt:A + F/3[<|׮W}?"tDE0ҬUawܭ)˰9 +>ﻣ>ڔo~#f[}d="Hs)&a$*~>[ I-fE4/*mV}w6BuXxlc 8R̆Ju5|m7V~zEBCaI%]j` wf$ZF?@}ztܚ@+ &x +!c 1m?'V#PP;7}j+@;.P}5Qh偵OKy?O|+eؽpH > +]_C (I ydž7-Ъ ?? +YTc瘀 r?.iwId.tncqؑ`_V9f?#)hﬖ Kpޓgh9=rNo`ƒf  $ڌk;ٯu/x 6ANF| +tK7ج =}F! ؒ3 SJ`^%oyvr-A!"9IP%h#v~1&)Rk$QVdiH59%pA~9v?ȥ8z;&喚lGBá1D71+1ъSɇ͑%*15bR,GtԞX7{ DNWRJ7Tγۙ(} +Ԏ % kF-%| +b('(ç7-[aR: `JV5ȆV "kt\-% 5?tå[t{B<$b<80?ʉTJȟfpC.~Ga L̍TfxF{1cx<=YxJ9f2cw +Y6USa&(˺A.p]"wXQvؕN{RS>5-4*l(p*W/Á>mզK[5r^{*}fIxHӎ8Pvg"}&;ʚ9S~.F-ہu)@zӷF{Dz0ߢKkxjaۏWpקqQCQ>^Px)zgk<=~eyږ;st_pk<3Oر^,?J |G(Qt'3)քH/͇2 {ߣd;mL,Au)ӈ2x=uݨl=߲/_O3hit\:i^7I+;Ffk\+{Vr uj P7`,6kjQɝ8'< R#,]) ?y|N7H{IK%*y+i_( r1OthȜɰ5g[vG-l8YEqFF%\ڢԲ#S4 lZ?Uͥ'%\zzES` ?c+TƠ҃QL~'FJ> 6O}~BֈHq绹JK{m ̬"dذ4CZc 1xXxl}2y̔; d&"/*}Ԋg?fmgw5?ŏ1ȒX1fL6[ ](g3#Y~mUz?=$C-]i8[Ő$}fld,W>_pv7Y[{Xlc߃&[:=7pjlΔ{.S8eM7oWԲ;Z3>-Dw զk$=Luu+$8 qW ''͔~:W-ok + +4z}*|Coo)dԞ 왦{&Q asC *=3P G[\dw")J148yeͅY*^2߁bF@x#f|E]!1ܵ CFγ2_i$ dWγbHO\Dg8焎3gظ&Tgx<$;4.zz\XY8C1DRU"ƒ&Rz.9GԭRT I/`!}Dž ڙ5#C 4ƢghMeO43 ߞJɴ a$:p0>?8,Gs}ےu1DۙDPt~V6VnY*"]((en3U[Y&+5 ͵9S7 U%Jٕ@єZ7ザ𞦖K"3iȨL>lW +V`rx3efp!-٦F:5)o9Yqش 52 VvQ+jJSOj3mFmjʐ +z]C_@W,\<.3X,9vX;,9vJVԲ)FG0DdFD`9k6֚Yvw7w7Ђ,R#w#SbFk² \Mӳ40կn275i wM53qcx5O7<8 x<ewU|n^0ۦ +)!lvbOX~2) +,˲[G%~NsU~ag +CJ-ʏ܉Bt&agf1B ~4daHҟ|8Eˮ_n}hdFRQOu|h<d%v>=I3@ {tjv_ +'yߜ_Å/OH磵Z~wK(&dO\? 3ܫҳ@I(3%%Ͻ@:?V uL2ṏ#tLFc|onu^{ᓶ^@J4wY?a(v'&X/WkM1'eW%CSDoNM>W265 +b9k}ޱzc'K^ٶ~d=ش #(zPҚ51U ;0 ~K-F3 \aW%)=9Ӧb7%Wz*/.4.>[mȉg4%2$g™*I.̜fvAL›KLc/Ȁ1ݙP93wa zKh- d2r4%lR:`kvlI78B.[4sH}YNc"]T<3${Z͇O4m;gF'n(sj'm}##-~4Zu&7BwY#a[0ƶ1pw]S+ǠXS_ V^h]*Qsmjx✑/?R7Xcɚ3k6!MQ1R*uCn379"e]#KJh!Bi|h +g@\˗6\; Lx)Ldʡ mmPOCɱ|OZ`I͙Kbg~р PjfB(G s2 oఆ*1,Y: :G9;`-TX"ɠ0t5D[]θvzjiw/o/̤O1Isx}}f0È|!Hl\fZ\@T84@z{OSr=2 + +Ǿ{KO< Z;&[ɱW=[ZCh3 -0Uc2CbwIb?-Q45J>n4$`dG{m37dh3_f`_93;ozKhWrc}d;TlņMz#x[=m +)OHQ.~,016@wY,ZC>wig1^r8P6sh?tQfΘEY=[ؑrrʾՀw0mVާ2GMp}b_:C02l+I(/JKfΚ?Tn ٪5j<RvwcB.4Q`d/Tt #'Vdr9H?5+8^24\Hp{J pL\CgrҷYP&]=<&ȋ̥ +6/@Ķ>(h8ĹFI$z֭g_,T\- FxxndXaJk bIާ|Jd5/ + 6uNY;/bM0J]UЭ!Q{=;kbH=oIœh<-ט(]j Ad&km53)0TmQl9x5q`C٪/̎Wݸ3jB}Xܻ*\f}}='P0O€L s)QBm޼,gr\,,ţnjc( ~-b=YGUl3K̼OymM)Dӈ +ofB*=4fƸ&kpy_K|lx͜QQTdץ>2h2xo_< .ngڒpx*5 B Mڧ>i.|c@Ђv9t b;mε3Pkd䍊kݷg(z_\_}ukO.MFQ5R`1S3twsUn4"qU=T9C@IU}>3:j$%w؅n %#Z1#t}Z?C3`wm*'^ބzͯȲ,T#|*=,{UˍPV Dܦf\3ؼ.f |#9kX8L1;c¶`-s- V'N l@+#W7Ӏxcc-WV0Т@kK +T/;~6z߭xsZ+&]`]`[UK h0Њ],!@t\&rZ{ЬRiF[sfkE~kڕ?I|Yb@WA@!yҼE!l=fXCJhy(.X:x8kZ~ٗ;Mxj;],<ɻfԫM<@헢~i{>zo ɔ1@Lv|3zJ]8]B >CK~&Z(%sj3K{.hOJ6h{ _4{#3^m}S +Cu.ih-K?ؖbx%q 4bOxe\*4^zAxmTl=b{06b"o;vj{;؏Ci*r >-ݩIiB.?=6-v>Ş~/oSc{by#;>B"OR<'LЗ*tu ӖДD16ڸcl~ۑM c]3KH2KT.9 +8/%z0=m=F#&ini-> [ӸmMmvϴǶzi SGi3ΐ'>ӹSl~scNe+x=_xhx,ZimtwFn:ؐ/d:mVsj 9šҸdԪ}=,(}}ɍ<`;sTC(Pk*!KhcAva ,x_f h~AmTz,ur9D"j +I`9|#+ [(DBas%Ł/@>"^j$6.VUOG:K2GGEY;sn+~úӍ#hr, 㲝S=D[6?}Yװ&6pxPo%؂ /z.gk@1Φ|?KQy>:=~8a֐Y񏭺C'qP`@6SJ$un"2$[F9r 2+?!\p~u+/fxd@t J:xO΋|A_=ÈJdC!"wabϿn)+) 4 +0/wˑbΉBx?<DZ=-y{iY]=fJ1|Esw*GǕl-̕#0'W`j*=orٵSu!5G8W*v@JY-zR vqGeOWgX}y3%`gÝhg]vd.߹|7t(qt~0tA%rp0]j;$c9Иȹ?)t=" +O;/ȉ+9]R&4$dYFf>I;E&Ykia.bIAJz=] e'1 \Y2{%{v37[*uJ$Y\YOD֕,A]E4YGhxH$} we(^v9]pGwIV%S]Jã 7h/(,LW+u>MdJ?{*y1O1lWKTO me J)Mx[nS'f%oO7MXR)K; !#E:]bCI:7J~,*n<`*__Βw**/ +3iS$!ӸU3xcj4gCfaǮ`4*;q&F~͗&KF€xv G(*s(Ghty ViɈ&ҹ[ujUD] H4:"$UMXS~iݼ-QG 'G8Ezho]x*u$t<:]܉Ucuߔ,4xT={Vt!{+o> YR1U $fμJ[ +Tijܠ&Q #ۏj/ wdܿ Dh4:v,|?.Pz/0.Pb/ `57 "D` /<ńa +IET 00nt/[t\% +R1JUZvhB,Eu-N'6$Ep%dS/v޶ċPO5^%v3sƟewD_\?$퐱L|r L{HܩWȢWgSڙwB 6MF!u\3x]Ln H5@r,v|BD?׎׳(NLU21tW;2}K=9ttL}9t,tr3قIgId ^C'A'N:-x{tݟC'A)9tt\ˡ$K79N<Gxzi圎"=7þgگOoxU,{bO2~eJ“:L.Kd~s\݁t(=$Er+!mzIsWȚ~f?=CAhBA0H9&w +LC˛`ԍl۵ >Lvc|9C$<DTZd@JV$+>tox*rd>*YCAC8ɔ 4 !b*'x ^DquBMu!Z;Rw6VV<^N"*D"y YN+4R4 JbkͳgYfy|r1#9Wˌ!ٕIH {]yZ2`{'Fwf:f w FZÉ\ +4Ɉ&k'Ȯ\ޗEbo\.Kb{\ ]Ďr+P~Sg~{!rz%*$H(~wQVW)x'*w:D߮THq!oU!ГG|gA]YI\ol{<2 Jw{dCd Y:%2%nJDXsr)Yyz@F7qb`Ev>ܜǵNq·1epr4|8&=~FH)P''2'{#C$NؕApt 7$M\`EAKǠ2 +{ +!]0WTzX@|Yf4{x ocv?a4f/|e8nF͂=lj[.bٕdgcw36d7P\eyRn}(PTT[_Ң3RnO(,}깬'w>%5MP^8XjZ47$zX +ثT,gP (!4%MKZQ؇CM*N+x +ՎOLXQb`ΙQD낷m&ކ*;`?PQ)cu< {MX%jO푭ry%뻯wH^* -B/\ݨ'g+p$JK{("':?orFO.SPQtJ Ty;[|˦2/(Ȧpwe sm6OPt6P.f Qt^f \sCl:d ޓM]S:Ndl:GgӉ<2N=WwfӱϹtwe mF*tBCbV?(N(NbΝtBwatB]OxM'K'3rg6ݭ.Ncʦʥc +rDrȦSXAtԙ݂ +*kIEb7){H{ِWN~~!*ܩ;'TN-.̍k]A}Z*颙 Sv=\~ycP?%֢^^ybmO^+oQT.Ә.k`VGzk }`+^I.&$6wSjf +f0W +RA cW(ioWIaC"QV1y$ӘU y+ +w1t~ks\8;Fj =pJV+aҎ]Sa*bgI"=!Iݡ8Ǖ޸w\ʎ{JL+^av_I`֑(ᩄt30vIMv.=̭æqCpQA4:|9ē{ʯ9ge T;gIe} /ojp#1c4~|NXs妦3R,.XV̬$s4cnQx.?ku͕/TsH8v^qyWW4f犟Z1v8&Ts6gU FxF:4ih̅rY-Y(-E1nЈlgR Cg#=% TY"ˮ$?9hze^Ep/+w0#-4m@sɘq^Zs",xX e9`eHZgs@gkJkSY;NW)[bb{AJ6QG11P +j)L4_\_ήx \G9:=c iœjZifrR<PV+cG2 PiQ@b]\WQO\,@Qw(Y#U6 P~kU* P9R9V踺4 Pi\ꦢ|7Vd(hFCxTO\hQ'KEh;yE Aw]_|^8(R&ҝ ŮǮb]%Rn': 'NIy]?鬻 7~+`Gȕ!@7KVSg.ֺ~|VGZOzj+'] + Ǻ~R=\cIR鯈9'ͽ'm~tm]?鍎\׏tQ8uCT'~U'^z|¯'rSuh('}B˱IGeWZO'p-ze]?,0iy3R@JS;`U]yh=XU舚޼#bEѶ +Ilx[]?<<;\ &F3]c']142z}@]S/¶u7\-'.an'lCە$sU{Ҕ9ʻI91½Y"fWOiD̕@][9wEU?uNlUh9v]?@'>~r)[r1Ưw]yU]?1HW{P`ZIWSL:ۍ ; ucb%ΎݣO:a'ߵ ~ҁܴE-χf؞sj]Q)Pf>tō i7 >ZJdPOU? :0c05 Y櫵=_llۉga6ZwUz0vƀ=4B$oSbпu2%lhBgv9!CmZN>%Ag*=̵z\G 9 /`:i^:YUcF q}3E=ۭ\/f5Xcϥ)<7|yCXwÝ5S)eZ1VԘә}bv 3n3.tb6s"+aֆ>O=cKhLn+:%튨9ty  +Fe ںli| w.4GZqpP(I x`M?V/ڏ_+c@ +쳣Owxr^H}8x<@38=(G.;=Jۙ[dk<=`KܙYo + ;1ِE+Gkv޵ EA9]IVCKAxM9wy~;dT@ϵ&Yd2Lf&>*jif1ތO&G~G?W;?&D7D";M e[{JڝyFI7 ,F>y=O`1mz A/[=63;LwCoKk#ٻ]{cK'+ 7y{2)1~edӷǥ&>-l||sVfc}x~Fod?2W֛&l)1FQ"n?Ҫ=Ɣ A,L:~[mO SR*ބx|>S`X?֏c1 Y,6g.uy@lrZnNͣe$Cq7THޫ)}T7֛|^x! X+% zed)!a(#`3Âr2O 73ȟYUq4]|M%c(%ҽ4.O=hV4,-kءYGn-ۘݸu7 k(9 FG6EU >j3%.OOܮ"8wUmOϳhrh͂>yP.N/0v%㧫'4%k&Zr6ЯW2y^*5 z̏ljcU1,d~뇯);5z7|*#߶Y^xpiPK&&Ǡ9LR'>*WXnxxvj˔i`yfOsgVW }G +"bNóO?}x:W ,vA>I=rDuQWԭz~qz&~4t;\š<ޚ Ep4é*{o`t͠=WFg,A{~9Z\|z0eN.#9bW]u};\OZ OaY?]P}d~xv2{tޚ\z8I9[x6|9jzsL_Fmz?XLA~ǁe x桛ӡV7/heOΟ~o/v@퀡}snh[9ËwplnNժ~=m~z3)X{ sG2e;Ҟ+ S؟D/u ߾+# +~t+_>UrӮZ_꽪FOV5|&l|24/ymyh|h4__*->q\ŃEׅ٣W~uUNz<u;[9 aug d+7ncoZz +aw*HῡTFnm{/zFo-L܋n%M.]\wcZ\O|yqq%~ |8#[j֜'zk_̄}17y<}1侾~К_0w3[薁}xoR?Vy-տd#EWFFyc8 6\[.ѧoq=_)_T.?\GO2uUU7f{x8?y7^Xxgͬ{́dZ`7*Y,ni[\wJ z[n{<__8f% + aK= +/L=s^AsA8i7xX?_0YOZ-M9*{̢O9nGdmX[[[,OFGb?gḶ +֤Zܬsx }s^%r毀nw#h^`Qo?޳Q+pTُ_ +226:yMhG~^~ҳϏ[}cFZ< +{92F?iesb-)fI:{H%&DODDx"Lz6= z촏c"GDiīEN\E +^lp&[>"j@>h6tX`ίF" ~F#*<z+] ~ ٠kڿ+06y8*#ׂwHZqɕL"R/qɈ*#wZݓcu}%do5+pկL 3ftT@l,h\DqqlR BkƤrq=X|Xc9|dWߔ;ԽarTD>w$L % ʦA~]"Fr)bR䱆oAv8}fM}/C;pd~OЍNK"uߑ +mJ ̰3 GYb6H|ޑҷIEkĄQKض.QK *>4l:&)h|,q;vٍIJ'Or>edr5|ʈ|jOq[P?x=|H}I8RKQuBƫ(MIlNBOVcɣG߷,{>^,h2)H ?1"S䰋gk=tH&k*m8^P{}; ߎÅw+'01gg-Q;cΦ~V<0W;ƧB` 9Ȯ5ħ6U4;LsDw٢:񑝇.:ag˜C +k?-i1{*盉ZTV>MdY^8Ǟh=>j}5RYkL\97J<_RdSFɷg1Ր 0] 1'8|.2ivhCDO(+znrj^xqkxf}F'{t|) p,/Ard_wRgtXFY37{'/6't_tNkptR[6E!yVUVsUdeҘ{oӽw{yxyuژ{|Hгn~ae`~mcݿa6r$5rg쀞x(c)f +u +yկyh%Aʊg;pMayEAQScTg'zy^l&5CWf=!{Mr.ގV@']DZ ^*+:Av5jG?0`a9αfr"~b} H, e}q!O3OsMm^{7wĿck^K{gLFz|;uV 8 eLeYKŴsPJvepQS0kcvZ6!Gsa,;>xVWWy'$ RqN-|y1B6R}]edZ:r-)cN~ |8)_z37[[c@յQί^̏uOWfni~!op72Wc^D:^;xɸyO?Xy98DgKI- $c)'!(o!aӔO/%ᙔG#dTjoO/A'={^[5~5C[809f񽞐;`l0jl;fSC&Q~D-FII] B7e6.5i^ش%3eYrD:H<0<=}R{y/9stFÝG@7^ ^[T{"@_JcoTxъeN|ichIY9^֗Y'ӇXמFY0T+p]yaV빃XPSL&&Ad&hy$DH%Dި3SG#t " gH]8 vГݙsa۞ۿan{.mF?VXY|8SALNދtat8TFA/Jމlr8 AA\8AMaRC b.xj}){e<O^ c L5q z>kTPxӫ ?W|ҼIToqdLQ%Ñuk\`FnTG#c0݊ %fi?nJ VàXm~RkKAW̪gt'v6Gnfp11q%~G + Kݎp^vڽVnizR|u;I2Q ذv娚8a WG*'V!@rȣw;[` }3ٲ8K>#A`?ғYl-{Oy8{^v^+GK=wYA$p"N= ʑ!_+^y{?k7_̋|3/ʼ\yrÛޗ/g^|ӄ+|[n00E^Phoϒ%|҇:'&s 7>W8zcS'DYc5'XrNy_P`c|y𥟼EX]VCq>ˣ!2Yƞ>\IytwQ>J7rrUE"I:r`Zud#HbgM3r@3 + ! 0umRaȱy!ilfK"ؕ$XiѢSsz6.sr=if(U/e2,EئkCas8]B۸mLS-(ڃ&r/n`A:&H1f-h*GTARm2?_F\3(9Ig­PQn~Ip%QDz8\0< IQ#tK254seĽЗcq27ͫ&cIP"[CҲun +u,Xٌ,?,Q /1J +S^&u,>k]XOd<2%D"u9'˜0E4\vV%*Y?ԁl4VH&cS+Qkd JF)_@!V .:'~Bt`pȐaj`b7#RNk8Ⱥ .wAƢGµGFϑ؎QMU>Vߨ0;5 +FVn=清êU eDd.K+@2L؜JHr+ GJ 3G3_RIZϓvI* T1`J,e$CĽT QH Ry#TGR9'_sC)O oi!O.18x*ΤAs4Ge|(c6V#RRY#[iDƱûS eNz&&NdWWVHh_]su3V`e>u}n es=34$r=/z恆Dtq7hHXRubرHIBP;`UUH\C%~(p&Va05TPIDH7jVqs-i M +v95h4p]>ϐ ih=,w:@#  &}X"U/-,/OKCK>ǫ +7ZfJdG{q댡S5, @1PAw8TCZ"Ijm$VOA5)sIO4P*] tih#f{)m*CC:M!o",Zj +tr 0u-Bm V([B?J ]8pJ6~W 0Ŋ$Za3e>t }A Lo T]3A!NwP*HJ)Q9&D&?hN;ykf!kz̻$0@jںPu^r]pMiWu|$+j:G;5=Hayb="hN#&uh!ak lB8zҩy2#_QѼE5щC0Z̄bFEQ<"ts ce5Y4XeQ0FW`W2˾UxdX-7;Df>{)zGցL!vnےkx CNd,PD‰zkս!zU]\Ia±ĠZ]h}ËU=>X\09U0$ToHkE?T1Ld|X>UrмD?=Lz2BwpEJ+LiCqՈ(Km0"sSW\bCE'>TZ!6C|]iČzC=\⣡0G%r&E +qޘ_`2+UPIMa뤦h \NR:gRȄ$\Y)b&E'%*I*D̎|Ȋ(n}&TMʚFR{f~m|]"?F9r&ʊtZꭐVMi L'BSㄵt/AfEaPРu)cʼnm]"D4NR.7GϽUᦗy9g%hNx s0aנAEES004R5 3븊dR1 RgR/B6Ϛ ;{r/A +$+ 5P4}vwvvƭl=PtՄ/C>ٰЯ` '.H2rBx1t=gU7e(a: $@Z1rxZi8 0}U# hnnvڇҬfB-Jks:c3|)6cx)) %bb} +Re3CV?eNϜ1CDd&…U, 2v.E @K{jP+DcQyebV@phP1!6+*T&!̛TSJis ۥ)Z֛9M5&0Zْ5^+u+ňnF[/HՐ#TD @G(E%!=4t ϙr%ꬩ[T!'dFIe,A +|3ڟA)=t;iPt(s @Q"u9JDn$HKP$Hr88_`Y{ iWKcp1x[hGдV٬tT3r_UV^o_(ߗݑTdN"@_YPG1br>&Ic,qm.m~lNB*uH?<$@S.ZM:iS^WC*%rb ?zoK1&Z&"GJuI"8Yui:uKgj04Hœ)AK/"( dUpm Y@%JJ,y3ܷ85 +J +eJ = % CUc`Y@ƣmnQҡ2tjAQX-QjF]w㏠!| k>F#$V@~28b<(OC=G~TO{7t3^%8-tD@RH/4Y~:aq,X(;q9gBKӾ$ j!*4h|}`!+B]ҳH1ʔ鑭Іz ݌z4+9RޡB]k`˓#QCI:Ӣ޲]/<̛ս/->Vl&x8x$*ݗor$jF&F#}dsC㛰uY+pYkJlđ}Pp{mH8:KL3q`"~Px3G +"+@}$I0b)Vt)J2rxn$1q5wU(xUP [bإxS֯L DVQM$Љ;tjMhsfƫ>^'Gt`CCN- 8:3J*j @*9)s6*> kM +1Kʏ1\#}{GHLj%0K8)HڠcEg`I/0 i$Kw -`qS>-- |\9yRTGYC#Lh_n_7@Ք@ٌ + uf*ם 9$PM&3Im҅JM$G4OR1ֆjh/3+riCN Dӟgƚ @I;<(_c :4J5{n}@&*@xɧ&hR؀=14(@ n~cה`A3sV˜De>f\qn9X9/Gs:[&r>)8!2Y)$2&].]k(QV?'Zj[`twY<8+X&4SF ?I9L`hi:*8DNZa(KFFt)CYƋ +xRb SHSHX)$'Wjc+<ԞB&ܧDD!Qz +YO!Q((z +O!=/Q0:Jh)$R)$L!QHGҞB~i9'TYǞDcWؕcWؓh쉌2v'" y~OeBO!O!adIBB%Mk`pV8|&N(AaKVC6.Mv-[7(B#[ҩ iO%!iɞ֒^$BF0rD%s*>NIe\5>R^> i%|ԟ'])F@[ot3V`ogۃܤQ9՛I*7ú `U:SD$452]5u6}z|Mm@ t]VBPUF:6xM˦=~Y#6k7L]=,&U&DQ'OHh7W2.Ip4  boS3&Px3qÝ\Xf`x%`jpU| g|>Z`]u/=-}cvgr+ؼt=(u 0+d?@EfX슨e"ǧN˰md"?YJP_&`2MpRP*eN"b3%|ABΙc2%S' +\-xCʜo@#1 +2P,NU0L]P}s~zEF"ࡾ +*MSL^$ r>PIKt\dnY4qJ)SEkN~a'Q +؟K0'̝x]~q|/Nn}h>u ̒z!i⅋ζx ;d:|.7ђlR22ӳ:$z\މ>dm[B]F-9aAe-kؓ_KA薍 oIx(1 ?`2p' P.Is@Rr{.9i./}JM%t2|MCV2g+}{O4%n}bBI(ΐG87 {%ch)S2@J̆GɦCŖOlߙT;9>Ԣ}<{2D 4҂ +]TkE`CeW5R*ǡE%'>(UaRb(1Er%b0 C@*+qݖMJٻU%*B6嘆YU""duT],C+nVyeݛq}g׌C8}?Tte{()y];"߅_/}N9B8J}"rRxXiʆ2YSlr˜,>II]Qg {9)2O?Mc$'s{K](K{\@~@S + 8(Xi.q1 8imo~?>+?]t| jIė/0R~)|*46NbMGOL`)y?:e$v bG#!ס>0+Pحa〴8|N,Sƿ)@4]7d%6C ]F5 ':1$]hNJf؜i02^#S|Cl]kaGh!7C'(<dšV>NN&CL{ƎqzGj]bAڡ^V\OeS秧G\mRNůe_G9=:O*##+?ޝ9wZq^u|||8;;?>ݫ<@_}dda]f endstream endobj 349 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 348 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 347 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 346 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 343 0 obj <>stream +HlM sw hCq?DP6/{cdd㍑2xM3@wzG"P#TxL^UD/E ݠG ldn=Yl!Fj?T ΧQ'.9 endstream endobj 345 0 obj <> endobj 344 0 obj [/ICCBased 357 0 R] endobj 357 0 obj <>stream HPi !! ޑBBo6B@!$ti"JQ)*'muOomZϵܮx.b;>dw3ss7o}}ߙʠDUæk̄XN~A!@G P"S뻨[^^Aɫ@(˪( ]-RNjYGC Dyvb[fx?i3(@Ht Ȩ'TK6ʾJrT)gyy,kQv-7x=%z8UV-?\m]ЙJ%¬yVE)fγJ/6j 9l(sYEQ)N\ΛgzF oh^? }i!Wy .4XI%z.5r` X7 \NAB e@ @@ -316,122 +305,129 @@ H !eBP4jVBP4 m@C {hz LY-0Nᥰvx<#i2|@q@PDB!MH2!2m6@;LF{nJ4u1JLLGL33~t1CKH3\B8xD\)eddgNp,K*eu`]eM1rjFN [V׳ߙۚoXX[X-,ZܱxgɱZYnP?"""F+/X - s wN/.޴xrIВ%w.jz凋EyE{>HĒ1txKT ,}&˞#}%%}%OhJVRX:Z:S&.7u`9)Ӝvh++7UNuU,gհ0QU=R&p-VS{νq}|g iÙFƉۛ3ɖݭֲֿ2ovGV0u[zt fj΀ΡΏ]Kݾz=\ۺuW֋awԍG9]nZ@ffcCNCCwFbGnҹeflm1ڎvKd.}Ej-f[\ْ%ǗZ,]LjY?XJ+Wɬ_ʹt51k.uYcwo`PƄ6yo:b-[lڵq[3?NvYں[o={fۿk_˾=Pp}8#G>z۱?a{bI;OY~3g5=ٹm`yaE._:x+WN_zZc?r͜o}띮wݓ}̣G'?~ɟ-xM{.| {^*i{+v;w[;?!ӏE,y/|-]?$i_a3]AbQ") Lii 30F m\0`,\lH; ;00600(XҠZ1CAq,`Kew10-.:&ÁBHX'@ endstream endobj 300 0 obj <>stream -H\Rn {eu*8$RYS3ò,^g:gKO3䒼χz:oB=TH/u#DGŔ2QzQ"\D@> =c@q1y]w074́D@~}K:&$vw'9'B#G.ZK9[iu&VLLc$5C+ D` Q07m F8nMpw4{KI sME4K̫s%A([c~0]dAL.k- w6穥N?qOW3&k endstream endobj 297 0 obj <>stream + s wN/.޴xrIВ%w.jz凋EyE{>HĒ1txKT ,}&˞#}%%}%OhJVRX:Z:S&.7u`9)Ӝvh++7UNuU,gհ0QU=R&p-VS{νq}|g iÙFƉۛ3ɖݭֲֿ2ovGV0u[zt fj΀ΡΏ]Kݾz=\ۺuW֋awԍG9]nZ@ffcCNCCwFbGnҹeflm1ڎvKd.}Ej-f[\ْ%ǗZ,]LjY?XJ+Wɬ_ʹt51k.uYcwo`PƄ6yo:b-[lڵq[3?NvYں[o={fۿk_˾=Pp}8#G>z۱?a{bI;OY~3g5=ٹm`yaE._:x+WN_zZc?r͜o}띮wݓ}̣G'?~ɟ-xM{.| {^*i{+v;w[;?!ӏE,y/|-]?$i_a3]AbQ") Lii 30F m\0`,\lH; ;00600(XҠZ1CAq,`Kew10-.:&ÁBHX'@ endstream endobj 342 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 341 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 340 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 338 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 43 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 44 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 45 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 94 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 95 0 obj <>/Resources<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 362 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 361 0 obj <>stream +HwVu6PprqVr)[ endstream endobj 360 0 obj <>stream +HLQA0 @SIZ] !}@@c*Mfbǵg̴u?w/Ẳ"GAeM‘,rN$5HB&!ɸFu *.fͩotDtK FFt B14ʹ&WBy,<@H6*0h|I0[8[b`w<͉ R2 endstream endobj 359 0 obj <>stream +H\Rn {eu*8$RYS3ò,^g:gKO3䒼χz:oB=TH/u#DGŔ2QzQ"\D@> =c@q1y]w074́D@~}K:&$vw'9'B#G.ZK9[iu&VLLc$5C+ D` Q07m F8nMpw4{KI sME4K̫s%A([c~0]dAL.k- w6穥N?qOW3&k endstream endobj 358 0 obj <>stream HL -0DdtMFTDzM(dv&Hܹc( WEd}7>!z/XTm9gV4rhs#k [9CY; >/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 39 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 40 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 41 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 42 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 309 0 obj <>stream +0DdtMFTDzM(dv&Hܹc( WEd}7>!z/XTm9gV4rhs#k [9CY; >/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 39 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 40 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 41 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 42 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 367 0 obj <>stream HLPn0 D&eIתE:$K,Kw<ڝkU U.~ZoeȬ{A:N‹I<3,KBg Dh}-*khu.m'gtS0g-0#r [o-k+7ϜNiJD 5 -QEO ovK endstream endobj 308 0 obj <>stream +QEO ovK endstream endobj 366 0 obj <>stream HLn@ D9GZaIrzBʡjC) -a`vy|%xSh9$>{,Ayl@Dz?=%p?X+^=ޤYe]fg1ԑBPSÞowNJnYl,Y- Tˤe⯟OK endstream endobj 307 0 obj <>stream -Hf3 trkW1ZPk%92c \V=7aƮ!߁f%++>/x 0Sf endstream endobj 306 0 obj <>stream -H4OA0 @`\)ӄP1.  #DZюY?d[6_eև:z,b";BdbMOItMJo>EކR*S$Fqebfc^j~R?".QkC/`i-0 endstream endobj 305 0 obj <>stream +a`vy|%xSh9$>{,Ayl@Dz?=%p?X+^=ޤYe]fg1ԑBPSÞowNJnYl,Y- Tˤe⯟OK endstream endobj 365 0 obj <>stream +Hf3 trkW1ZPk%92c \V=7aƮ!߁f%++>/x 0Sf endstream endobj 364 0 obj <>stream +H4OA0 @`\)ӄP1.  #DZюY?d[6_eև:z,b";BdbMOItMJo>EކR*S$Fqebfc^j~R?".QkC/`i-0 endstream endobj 363 0 obj <>stream HLP -0  N$Q-B !-.!X֝Ig |<G8ۿKu R$Njͬ,pBvRuƮi2d.,PT %Û;(L |4܀YIMJyo/ZG; endstream endobj 33 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 34 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 35 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 36 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 37 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 314 0 obj <>stream -HdQAj0+kA 9rD҂Cgv,kV5o#7QudHX]"\f\:1ZơϬ1kN\>ڶ"<8kU(~Pya62܂UwzoӴ[PW}oIk\d96 .nK@;Cw9N~IJWA-W_rXMu8# Y9 endstream endobj 313 0 obj <>stream +0  N$Q-B !-.!X֝Ig |<G8ۿKu R$Njͬ,pBvRuƮi2d.,PT %Û;(L |4܀YIMJyo/ZG; endstream endobj 33 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 34 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 35 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 36 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 37 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 372 0 obj <>stream +HdQAj0+kA 9rD҂Cgv,kV5o#7QudHX]"\f\:1ZơϬ1kN\>ڶ"<8kU(~Pya62܂UwzoӴ[PW}oIk\d96 .nK@;Cw9N~IJWA-W_rXMu8# Y9 endstream endobj 371 0 obj <>stream HTMn sw `loF]EUE`gDJ} Vƚ3k K6ߟyM-b;QP}r4$Ui,:/LS[AechZSv%&!ꔌÆƖZevju$#s "B -(ckf][zi]OgE~ II endstream endobj 312 0 obj <>stream +(ckf][zi]OgE~ II endstream endobj 370 0 obj <>stream HLQIn0 hQ\=EC t9$RPp EKi2M綱[Fw^Tv%K g a]htS->gXp#ܷ bLLG>`GCF{W`#ڰrܠ_RggTNj)t -g$~.Nnj01$Urv3|儗:ӟI-T endstream endobj 311 0 obj <>stream -HLQn0  H&%JֺE:>@z԰-<>stream +g$~.Nnj01$Urv3|儗:ӟI-T endstream endobj 369 0 obj <>stream +HLQn0  H&%JֺE:>@z԰-<>stream H\Rn0W \K*`qH)/uvmH؇g34o37t'>I|f~w6vzE{;{mz9rZIuHMΎSDA B0{g>ɓhm+ށK2Qs;4AC`!v&LtG-P+Ãx]" -e2GHLM-6gaVc*x]ޅ( Y7qa1Ni PS@I,y=ٚtR=PӚ$!%tI O?U*]傿Ǐ endstream endobj 28 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 29 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 30 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 31 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 32 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 319 0 obj <>stream +e2GHLM-6gaVc*x]ޅ( Y7qa1Ni PS@I,y=ٚtR=PӚ$!%tI O?U*]傿Ǐ endstream endobj 28 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 29 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 30 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 31 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 32 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 377 0 obj <>stream H\PK 0) ۦ+)EYh -޾/VJfL2/5pC[^W\DΆq(Qv2Z#2Mڗ_P\*TN;&%JW)RQ kr*?S!]ˆ:zuF,|K[9 endstream endobj 318 0 obj <>stream -HLPAn0+N+qBJ{$]@'v;F,W#,.?򍓴WDTYڰ;EG1v]1/>stream +޾/VJfL2/5pC[^W\DΆq(Qv2Z#2Mڗ_P\*TN;&%JW)RQ kr*?S!]ˆ:zuF,|K[9 endstream endobj 376 0 obj <>stream +HLPAn0+N+qBJ{$]@'v;F,W#,.?򍓴WDTYڰ;EG1v]1/>stream HTQ1n0 ~@dɲ 2!N)@mɻ %qazPXqx_t_kq臷{1rNɍ~ e~>dB魝Q[fme4(3ϱ vkǮ --QTb/>7v,o;FC7$@4 -̰6َ( 4Uʉw#C*0nw෯'^` endstream endobj 316 0 obj <>stream +-QTb/>7v,o;FC7$@4 -̰6َ( 4Uʉw#C*0nw෯'^` endstream endobj 374 0 obj <>stream H\T͎! 860צUOjC`yd20~ |˕לgx6~?ryeO՗~{Xl()O7[f%fQJlYxH; N X@:t |!k3-+#k;궳=-|Wz}MҹN,&n1p k`uG%T%vM\aBǜdq\d%N9) @Kx݂Y#s=+c~QjE  {衆iJ^JJR79\Ѿ8:6g'wx  b ԉh [.- g@qBc%y?&i(3gW T N V:Buƥ&.jx`xSӽ:bHi-xֵśY%bXʉ -Y.K@EƒxML endstream endobj 315 0 obj <>stream +Y.K@EƒxML endstream endobj 373 0 obj <>stream H\Q 0WYH۴\ID<ǡ -Z{wh5kfHmkrUh:p5w6tAAcsD47ȍ\В, [+d'Z}X9\Mδʶ< +[)$)yyf'>rRثҢWCNZؗe(=FuC bVf[>ҭ-{0 Qb endstream endobj 23 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 24 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 25 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 26 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 27 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 324 0 obj <>stream -HSN0 +|F7vRZq*]/a;>V8Vwǧ y χ{o<+x{`%"՝,H@(|r=A6]1%Ń0Fc fg`q uvV7הM"{1}3CXbK> ."k\ l̊6SV.7E2/zjI*lBtgrqGwi܉KtU$sc2W|l0bzFHd98FBIH@RX֎qICH2r=rLJ;ה^6nL^ =lꣃKrzmQڰhFeD{up endstream endobj 323 0 obj <>stream +Z{wh5kfHmkrUh:p5w6tAAcsD47ȍ\В, [+d'Z}X9\Mδʶ< +[)$)yyf'>rRثҢWCNZؗe(=FuC bVf[>ҭ-{0 Qb endstream endobj 23 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 24 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 25 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 26 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 27 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 382 0 obj <>stream +HSN0 +|F7vRZq*]/a;>V8Vwǧ y χ{o<+x{`%"՝,H@(|r=A6]1%Ń0Fc fg`q uvV7הM"{1}3CXbK> ."k\ l̊6SV.7E2/zjI*lBtgrqGwi܉KtU$sc2W|l0bzFHd98FBIH@RX֎qICH2r=rLJ;ה^6nL^ =lꣃKrzmQڰhFeD{up endstream endobj 381 0 obj <>stream HKN0 >L&[ b5B#6e+;?Q:.k -SO& 7׌@&ҳH&2*l_ڂ9Ԛ6S3bbGk]ζi &@q10ФQ3i5];vȊQFMi.j+Ց-w1 vU1Z\<*v>stream +SO& 7׌@&ҳH&2*l_ڂ9Ԛ6S3bbGk]ζi &@q10ФQ3i5];vȊQFMi.j+Ց-w1 vU1Z\<*v>stream HT=o0 +8Է\NAq`4H!iQgg(:6LR|O-~pF?{sT ³ _t^K?xս"1j@V2uv}BQKQUZ`8+YmV'LVLE&e)#46DW0DQ"[I.(?h~18.sJaivH!Q Sc].]D8_ZT[dҌ'cWJoO -1&=TP8qcOsLyL1D\)^fLf5PW)!f{ncˇl|MdP Db" P5jDyclg*b.vFaxǑPMi7fpZ~2h0L#b#q#m0`8x?ڶHƁ9\|'&G9}_}0p endstream endobj 321 0 obj <>stream +1&=TP8qcOsLyL1D\)^fLf5PW)!f{ncˇl|MdP Db" P5jDyclg*b.vFaxǑPMi7fpZ~2h0L#b#q#m0`8x?ڶHƁ9\|'&G9}_}0p endstream endobj 379 0 obj <>stream HTRN0 +|Fr6IӤRB -lq[?2ݞ^W>WϏO+ӕNƾmH }+ ptVvNE_%xrqk}1-*PGXv*'<#|ͦ l.yQi3iQOpm^_s]ˈR-tC;Ipi0aSJ&q@~W1k#RF?Vs^g u[obia"n,myBO:!|6@vs zu] [jՉ#om bXbLbhz37`̒* endstream endobj 320 0 obj <>stream +lq[?2ݞ^W>WϏO+ӕNƾmH }+ ptVvNE_%xrqk}1-*PGXv*'<#|ͦ l.yQi3iQOpm^_s]ˈR-tC;Ipi0aSJ&q@~W1k#RF?Vs^g u[obia"n,myBO:!|6@vs zu] [jՉ#om bXbLbhz37`̒* endstream endobj 378 0 obj <>stream HlSN0 +|FJM\)@>v&}ln: UZsgk&lSǧ G < -$)(| ;EsZ 񝨗vR$hqTeӮX* ٭W$I h94syp^!/B\y,9!m7e9 ]\Ә5qks ^U&K \~_)YZnmc4aͬn 6X2M|x"ȟYFS"9|?dRQv4e~GvGYx9E:Ν%8Sp&'a眶k|' endstream endobj 18 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 19 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 20 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 21 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 22 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 329 0 obj <>stream +$)(| ;EsZ 񝨗vR$hqTeӮX* ٭W$I h94syp^!/B\y,9!m7e9 ]\Ә5qks ^U&K \~_)YZnmc4aͬn 6X2M|x"ȟYFS"9|?dRQv4e~GvGYx9E:Ν%8Sp&'a眶k|' endstream endobj 18 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 19 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 20 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 21 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 22 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 387 0 obj <>stream HTRn0  H!eIֺE:>'@z#mǝH:4 -?>L7lA|&<-,eBn-3t! ]ȩW p]K_7L:^a4SXhh`&BрFo+)z_)ܹ1,}ImuʕT?})FAU۠*Һwu)ݹx/wqӣe>+N|?q_.2h4 endstream endobj 328 0 obj <>stream +?>L7lA|&<-,eBn-3t! ]ȩW p]K_7L:^a4SXhh`&BрFo+)z_)ܹ1,}ImuʕT?})FAU۠*Һwu)ݹx/wqӣe>+N|?q_.2h4 endstream endobj 386 0 obj <>stream HLQj0 +t.ؑ;kR(l˒C?q9; ]kF#GrwJ:鍿pX| =Aꢲ(gv!.RAm=*<лĤ4 1|$T8+暈G_qGgڽ! M7b/gX˿L(ynQJ6Hp%8O^ ->stream -HLOAj1 sX+ٲf[rZB@Cd"4f$MӺ hZm=i:9 :H(fn9)b[3BfI[koѵ ~9>stream +>stream +HLOAj1 sX+ٲf[rZB@Cd"4f$MӺ hZm=i:9 :H(fn9)b[3BfI[koѵ ~9>stream H< -1 DkVZ"'W[Ia2/3p S&,҇Ά oj-udpW1$ T3WxC-͘Vhȸ|E?twg&#"$ endstream endobj 325 0 obj <>stream +1 DkVZ"'W[Ia2/3p S&,҇Ά oj-udpW1$ T3WxC-͘Vhȸ|E?twg&#"$ endstream endobj 383 0 obj <>stream HLN0 ~9#q7- !<@\ 't*&㉝ytY" G"|}7|˴F;b(} u+9KrA+QShM7̊`tRZ -V!Ϭ4jȅ!4K!Z%nF ~r6RI}>߸rs> =v}擕1Y%̇p0S!]HhH׈T ?>mM endstream endobj 13 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 14 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 15 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 16 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 17 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 334 0 obj <>stream +V!Ϭ4jȅ!4K!Z%nF ~r6RI}>߸rs> =v}擕1Y%̇p0S!]HhH׈T ?>mM endstream endobj 13 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 14 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 15 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 16 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 17 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 392 0 obj <>stream HTj0 E V,mZE? )L}8X}y4ynY ^/3JO(},tcEƚxeWr*%W.3$9eѾ?U5Z쀛5QlF䚭PGRQiq^ -_%-ٲ4 ޜv-7Yen܎?:@ Pڬ)q;M}%QLp(l0o߯v}>x£O$[ endstream endobj 333 0 obj <>stream -HLA0 =6]E@ (?A kp6‡c!a>o*p7c 5R3 ??"d'MJUr#N&ot0/liDO&׹|2>stream +_%-ٲ4 ޜv-7Yen܎?:@ Pڬ)q;M}%QLp(l0o߯v}>x£O$[ endstream endobj 391 0 obj <>stream +HLA0 =6]E@ (?A kp6‡c!a>o*p7c 5R3 ??"d'MJUr#N&ot0/liDO&׹|2>stream HLPn0 XZ'A|p@yR²H篅"q\6 gFWyn;Kxo -}*icAՈHE@pObbL!u|Fn2[qtO 0qX;+:1gu표ZQŔua[j|JJ]0.ĚyC V?@QDXuԊ4 y5B 0_I endstream endobj 331 0 obj <>stream +}*icAՈHE@pObbL!u|Fn2[qtO 0qX;+:1gu표ZQŔua[j|JJ]0.ĚyC V?@QDXuԊ4 y5B 0_I endstream endobj 389 0 obj <>stream HTˊ1+tL[5Ni K!fa>U-)wե9}?_\ij~u7zm;,Ia[ؕfW3EtGU`5{4j3GG+F(T i,YRF'ojG_]Oc 7?gM;簏Cfvi3ֵ5+Lu.J3ŏV ,R,# DZv4%tX!weTjR4̧g X%p el^pƇ֑kaB{2UtœSKVu:b8%I%DGJ܀s@Pje6JU7yjÃ:uWZKO1 z/FR O ?5zt E"x}T+K")R;]oB #'z ̴O90*vx)$d[Ƃ!qw*1r3`Cպ# slHz:/NE\2RwDc\r:}!E=!2JOA@;)hx8q=3x|̕œa}) .vp Wt"Ŧ2h; -" endstream endobj 330 0 obj <>stream +" endstream endobj 388 0 obj <>stream HTMn0 >וv @UWjE0#MU6Ӄ}2 ?L!_ /;pZYzCg =eFM8?@@`q;NTpDJT)/z)AyRv2$D+X"8 -];2`R&l{6uF7*h -'ha&.tQ7D->Ě]E,B}|=PN'5x#ƏNLdM$țfMZ_޾C'ו#u endstream endobj 5 0 obj <> endobj 90 0 obj <> endobj 162 0 obj <> endobj 220 0 obj <> endobj 233 0 obj [/View/Design] endobj 234 0 obj <>>> endobj 175 0 obj [/View/Design] endobj 176 0 obj <>>> endobj 117 0 obj [/View/Design] endobj 118 0 obj <>>> endobj 57 0 obj [/View/Design] endobj 58 0 obj <>>> endobj 279 0 obj [278 0 R] endobj 335 0 obj <> endobj xref 0 336 0000000004 65535 f +'ha&.tQ7D->Ě]E,B}|=PN'5x#ƏNLdM$țfMZ_޾C'ו#u endstream endobj 5 0 obj <> endobj 90 0 obj <> endobj 162 0 obj <> endobj 220 0 obj <> endobj 278 0 obj <> endobj 291 0 obj [/View/Design] endobj 292 0 obj <>>> endobj 233 0 obj [/View/Design] endobj 234 0 obj <>>> endobj 175 0 obj [/View/Design] endobj 176 0 obj <>>> endobj 117 0 obj [/View/Design] endobj 118 0 obj <>>> endobj 57 0 obj [/View/Design] endobj 58 0 obj <>>> endobj 337 0 obj [336 0 R] endobj 393 0 obj <> endobj xref 0 394 0000000004 65535 f 0000000016 00000 n -0000000208 00000 n -0000031526 00000 n +0000000224 00000 n +0000029720 00000 n 0000000006 00000 f -0000112331 00000 n +0000109772 00000 n 0000000046 00000 f -0000031625 00000 n -0000031718 00000 n -0000031811 00000 n -0000031904 00000 n -0000031998 00000 n -0000032092 00000 n -0000108633 00000 n -0000108975 00000 n -0000109311 00000 n -0000109658 00000 n -0000109994 00000 n -0000105554 00000 n -0000105890 00000 n -0000106226 00000 n -0000106573 00000 n -0000106909 00000 n -0000101683 00000 n -0000102019 00000 n -0000102359 00000 n -0000102695 00000 n -0000103031 00000 n -0000098305 00000 n -0000098642 00000 n -0000098979 00000 n -0000099316 00000 n -0000099653 00000 n -0000094989 00000 n -0000095326 00000 n -0000095663 00000 n -0000096000 00000 n -0000096337 00000 n -0000091957 00000 n -0000092294 00000 n -0000092631 00000 n -0000092972 00000 n -0000093309 00000 n -0000086303 00000 n -0000086654 00000 n -0000086997 00000 n +0000029819 00000 n +0000029912 00000 n +0000030005 00000 n +0000030098 00000 n +0000030192 00000 n +0000030286 00000 n +0000106074 00000 n +0000106416 00000 n +0000106752 00000 n +0000107099 00000 n +0000107435 00000 n +0000102995 00000 n +0000103331 00000 n +0000103667 00000 n +0000104014 00000 n +0000104350 00000 n +0000099124 00000 n +0000099460 00000 n +0000099800 00000 n +0000100136 00000 n +0000100472 00000 n +0000095746 00000 n +0000096083 00000 n +0000096420 00000 n +0000096757 00000 n +0000097094 00000 n +0000092430 00000 n +0000092767 00000 n +0000093104 00000 n +0000093441 00000 n +0000093778 00000 n +0000089398 00000 n +0000089735 00000 n +0000090072 00000 n +0000090413 00000 n +0000090750 00000 n +0000086686 00000 n +0000087037 00000 n +0000087380 00000 n 0000000047 00000 f 0000000048 00000 f 0000000049 00000 f @@ -443,8 +439,8 @@ H 0000000055 00000 f 0000000056 00000 f 0000000059 00000 f -0000112976 00000 n -0000113007 00000 n +0000110609 00000 n +0000110640 00000 n 0000000060 00000 f 0000000061 00000 f 0000000062 00000 f @@ -476,22 +472,22 @@ H 0000000088 00000 f 0000000089 00000 f 0000000091 00000 f -0000112401 00000 n +0000109842 00000 n 0000000106 00000 f -0000032186 00000 n -0000032280 00000 n -0000087334 00000 n -0000087616 00000 n -0000032416 00000 n -0000032698 00000 n -0000032980 00000 n -0000033262 00000 n -0000033544 00000 n -0000033827 00000 n -0000034110 00000 n -0000034393 00000 n -0000034676 00000 n -0000034959 00000 n +0000030380 00000 n +0000030474 00000 n +0000087717 00000 n +0000087999 00000 n +0000030610 00000 n +0000030892 00000 n +0000031174 00000 n +0000031456 00000 n +0000031738 00000 n +0000032076 00000 n +0000032359 00000 n +0000032642 00000 n +0000032925 00000 n +0000033208 00000 n 0000000107 00000 f 0000000108 00000 f 0000000109 00000 f @@ -503,8 +499,8 @@ H 0000000115 00000 f 0000000116 00000 f 0000000119 00000 f -0000112858 00000 n -0000112890 00000 n +0000110491 00000 n +0000110523 00000 n 0000000120 00000 f 0000000121 00000 f 0000000122 00000 f @@ -548,7 +544,7 @@ H 0000000160 00000 f 0000000161 00000 f 0000000163 00000 f -0000112474 00000 n +0000109915 00000 n 0000000164 00000 f 0000000165 00000 f 0000000166 00000 f @@ -561,8 +557,8 @@ H 0000000173 00000 f 0000000174 00000 f 0000000177 00000 f -0000112740 00000 n -0000112772 00000 n +0000110373 00000 n +0000110405 00000 n 0000000178 00000 f 0000000179 00000 f 0000000180 00000 f @@ -605,8 +601,66 @@ H 0000000217 00000 f 0000000218 00000 f 0000000219 00000 f +0000000221 00000 f +0000109989 00000 n +0000000222 00000 f +0000000223 00000 f +0000000224 00000 f +0000000225 00000 f +0000000226 00000 f +0000000227 00000 f +0000000228 00000 f +0000000229 00000 f +0000000230 00000 f +0000000231 00000 f +0000000232 00000 f +0000000235 00000 f +0000110255 00000 n +0000110287 00000 n +0000000236 00000 f +0000000237 00000 f +0000000238 00000 f +0000000239 00000 f +0000000240 00000 f +0000000241 00000 f +0000000242 00000 f +0000000243 00000 f +0000000244 00000 f +0000000245 00000 f +0000000246 00000 f +0000000247 00000 f +0000000248 00000 f +0000000249 00000 f +0000000250 00000 f +0000000251 00000 f +0000000252 00000 f +0000000253 00000 f +0000000254 00000 f +0000000255 00000 f +0000000256 00000 f +0000000257 00000 f +0000000258 00000 f +0000000259 00000 f +0000000260 00000 f +0000000261 00000 f +0000000262 00000 f +0000000263 00000 f +0000000264 00000 f +0000000265 00000 f +0000000266 00000 f +0000000267 00000 f +0000000268 00000 f +0000000269 00000 f +0000000270 00000 f +0000000271 00000 f +0000000272 00000 f +0000000273 00000 f +0000000274 00000 f +0000000275 00000 f +0000000276 00000 f +0000000277 00000 f 0000000000 00000 f -0000112548 00000 n +0000110063 00000 n 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f @@ -619,8 +673,8 @@ H 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f -0000112622 00000 n -0000112654 00000 n +0000110137 00000 n +0000110169 00000 n 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f @@ -664,62 +718,62 @@ H 0000000000 00000 f 0000000000 00000 f 0000000000 00000 f -0000035339 00000 n -0000113092 00000 n -0000086206 00000 n -0000035531 00000 n -0000086109 00000 n -0000086012 00000 n -0000085915 00000 n -0000085818 00000 n -0000085721 00000 n -0000085624 00000 n -0000085527 00000 n -0000085430 00000 n -0000035242 00000 n -0000035413 00000 n -0000035445 00000 n -0000035607 00000 n -0000035785 00000 n -0000036775 00000 n -0000048278 00000 n -0000091724 00000 n -0000088505 00000 n -0000088391 00000 n -0000091333 00000 n -0000088092 00000 n -0000087995 00000 n -0000087898 00000 n -0000088542 00000 n -0000094745 00000 n -0000094513 00000 n -0000094218 00000 n -0000093943 00000 n -0000093646 00000 n -0000097917 00000 n -0000097581 00000 n -0000097269 00000 n -0000096982 00000 n -0000096680 00000 n -0000101389 00000 n -0000100833 00000 n -0000100523 00000 n -0000100236 00000 n -0000099990 00000 n -0000105084 00000 n -0000104665 00000 n -0000104128 00000 n -0000103795 00000 n -0000103367 00000 n -0000108338 00000 n -0000108142 00000 n -0000107894 00000 n -0000107586 00000 n -0000107245 00000 n -0000111979 00000 n -0000111242 00000 n -0000110945 00000 n -0000110667 00000 n -0000110330 00000 n -0000113119 00000 n -trailer <]>> startxref 113299 %%EOF \ No newline at end of file +0000033588 00000 n +0000110725 00000 n +0000086589 00000 n +0000033780 00000 n +0000086492 00000 n +0000086395 00000 n +0000086298 00000 n +0000083132 00000 n +0000083470 00000 n +0000083356 00000 n +0000083035 00000 n +0000082938 00000 n +0000082841 00000 n +0000082744 00000 n +0000033491 00000 n +0000033662 00000 n +0000033694 00000 n +0000033856 00000 n +0000034034 00000 n +0000035030 00000 n +0000045465 00000 n +0000083507 00000 n +0000089165 00000 n +0000088774 00000 n +0000088475 00000 n +0000088378 00000 n +0000088281 00000 n +0000092186 00000 n +0000091954 00000 n +0000091659 00000 n +0000091384 00000 n +0000091087 00000 n +0000095358 00000 n +0000095022 00000 n +0000094710 00000 n +0000094423 00000 n +0000094121 00000 n +0000098830 00000 n +0000098274 00000 n +0000097964 00000 n +0000097677 00000 n +0000097431 00000 n +0000102525 00000 n +0000102106 00000 n +0000101569 00000 n +0000101236 00000 n +0000100808 00000 n +0000105779 00000 n +0000105583 00000 n +0000105335 00000 n +0000105027 00000 n +0000104686 00000 n +0000109420 00000 n +0000108683 00000 n +0000108386 00000 n +0000108108 00000 n +0000107771 00000 n +0000110752 00000 n +trailer <<2913DBF597BE495A973BEFD8A9730694>]>> startxref 110932 %%EOF \ No newline at end of file diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e77bb333..e3900495 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -89,9 +89,55 @@ 4C305F3E179A1A760082334F /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C305F3D179A1A760082334F /* image.png */; }; 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */; }; 4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; }; - 4C366643178748F500B249F1 /* 99_HarddiskTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */; }; 4C37A6731769393300AD0A40 /* HNHTableHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A6721769393300AD0A40 /* HNHTableHeaderCell.m */; }; 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; }; + 4C3826721AD04B51007D7D67 /* addFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826711AD04B51007D7D67 /* addFolderTemplate.pdf */; }; + 4C3826741AD04BA5007D7D67 /* infoTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826731AD04BA5007D7D67 /* infoTemplate.pdf */; }; + 4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826751AD04C24007D7D67 /* harddiskTemplate.pdf */; }; + 4C3826781AD04C8A007D7D67 /* createdTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826771AD04C8A007D7D67 /* createdTemplate.pdf */; }; + 4C38267A1AD04CC6007D7D67 /* downloadTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826791AD04CC6007D7D67 /* downloadTemplate.pdf */; }; + 4C3826A51AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38267B1AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf */; }; + 4C3826A61AD04D8E007D7D67 /* 22_ASCIITemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38267C1AD04D8E007D7D67 /* 22_ASCIITemplate.pdf */; }; + 4C3826A71AD04D8E007D7D67 /* 23_IconsTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38267D1AD04D8E007D7D67 /* 23_IconsTemplate.pdf */; }; + 4C3826A81AD04D8E007D7D67 /* 24_EstablishedConnectionTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38267E1AD04D8E007D7D67 /* 24_EstablishedConnectionTemplate.pdf */; }; + 4C3826A91AD04D8E007D7D67 /* 25_MailFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38267F1AD04D8E007D7D67 /* 25_MailFolderTemplate.pdf */; }; + 4C3826AA1AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826801AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf */; }; + 4C3826AB1AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826811AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf */; }; + 4C3826AC1AD04D8E007D7D67 /* 29_SecureTerminalTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826821AD04D8E007D7D67 /* 29_SecureTerminalTemplate.pdf */; }; + 4C3826AD1AD04D8E007D7D67 /* 32_FileSystemViewTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826831AD04D8E007D7D67 /* 32_FileSystemViewTemplate.pdf */; }; + 4C3826AE1AD04D8E007D7D67 /* 33_RunTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826841AD04D8E007D7D67 /* 33_RunTemplate.pdf */; }; + 4C3826AF1AD04D8E007D7D67 /* 34_ConfigureTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826851AD04D8E007D7D67 /* 34_ConfigureTemplate.pdf */; }; + 4C3826B01AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826861AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf */; }; + 4C3826B11AD04D8E007D7D67 /* 36_ArchiveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826871AD04D8E007D7D67 /* 36_ArchiveTemplate.pdf */; }; + 4C3826B21AD04D8E007D7D67 /* 37_PercentageTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826881AD04D8E007D7D67 /* 37_PercentageTemplate.pdf */; }; + 4C3826B31AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826891AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf */; }; + 4C3826B41AD04D8E007D7D67 /* 39_HistoryTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268A1AD04D8E007D7D67 /* 39_HistoryTemplate.pdf */; }; + 4C3826B51AD04D8E007D7D67 /* 40_FindMailTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268B1AD04D8E007D7D67 /* 40_FindMailTemplate.pdf */; }; + 4C3826B61AD04D8E007D7D67 /* 41_VectorTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268C1AD04D8E007D7D67 /* 41_VectorTemplate.pdf */; }; + 4C3826B71AD04D8E007D7D67 /* 42_MemoryTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268D1AD04D8E007D7D67 /* 42_MemoryTemplate.pdf */; }; + 4C3826B81AD04D8E007D7D67 /* 44_NotesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268E1AD04D8E007D7D67 /* 44_NotesTemplate.pdf */; }; + 4C3826B91AD04D8E007D7D67 /* 45_CancelTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38268F1AD04D8E007D7D67 /* 45_CancelTemplate.pdf */; }; + 4C3826BA1AD04D8E007D7D67 /* 46_HelpTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826901AD04D8E007D7D67 /* 46_HelpTemplate.pdf */; }; + 4C3826BB1AD04D8E007D7D67 /* 47_PackageTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826911AD04D8E007D7D67 /* 47_PackageTemplate.pdf */; }; + 4C3826BC1AD04D8E007D7D67 /* 49_FolderOpenTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826921AD04D8E007D7D67 /* 49_FolderOpenTemplate.pdf */; }; + 4C3826BD1AD04D8E007D7D67 /* 50_FolderTarTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826931AD04D8E007D7D67 /* 50_FolderTarTemplate.pdf */; }; + 4C3826BE1AD04D8E007D7D67 /* 51_DecryptedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826941AD04D8E007D7D67 /* 51_DecryptedTemplate.pdf */; }; + 4C3826BF1AD04D8E007D7D67 /* 52_EncryptedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826951AD04D8E007D7D67 /* 52_EncryptedTemplate.pdf */; }; + 4C3826C01AD04D8E007D7D67 /* 53_ApplyTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826961AD04D8E007D7D67 /* 53_ApplyTemplate.pdf */; }; + 4C3826C11AD04D8E007D7D67 /* 54_SignatureTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826971AD04D8E007D7D67 /* 54_SignatureTemplate.pdf */; }; + 4C3826C21AD04D8E007D7D67 /* 55_ThumbnailTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826981AD04D8E007D7D67 /* 55_ThumbnailTemplate.pdf */; }; + 4C3826C31AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826991AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf */; }; + 4C3826C41AD04D8E007D7D67 /* 57_TextViewTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269A1AD04D8E007D7D67 /* 57_TextViewTemplate.pdf */; }; + 4C3826C51AD04D8E007D7D67 /* 58_SecureAccountTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269B1AD04D8E007D7D67 /* 58_SecureAccountTemplate.pdf */; }; + 4C3826C61AD04D8E007D7D67 /* 59_DevelopmentTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269C1AD04D8E007D7D67 /* 59_DevelopmentTemplate.pdf */; }; + 4C3826C71AD04D8E007D7D67 /* 60_HomeTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269D1AD04D8E007D7D67 /* 60_HomeTemplate.pdf */; }; + 4C3826C81AD04D8E007D7D67 /* 61_ServicesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269E1AD04D8E007D7D67 /* 61_ServicesTemplate.pdf */; }; + 4C3826C91AD04D8E007D7D67 /* 62_TuxTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C38269F1AD04D8E007D7D67 /* 62_TuxTemplate.pdf */; }; + 4C3826CA1AD04D8E007D7D67 /* 63_FeatherTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826A01AD04D8E007D7D67 /* 63_FeatherTemplate.pdf */; }; + 4C3826CB1AD04D8E007D7D67 /* 64_AppleTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826A11AD04D8E007D7D67 /* 64_AppleTemplate.pdf */; }; + 4C3826CC1AD04D8E007D7D67 /* 65_WikiTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826A21AD04D8E007D7D67 /* 65_WikiTemplate.pdf */; }; + 4C3826CD1AD04D8E007D7D67 /* 66_MoneyTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826A31AD04D8E007D7D67 /* 66_MoneyTemplate.pdf */; }; + 4C3826CE1AD04D8E007D7D67 /* 67_CertificatTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C3826A41AD04D8E007D7D67 /* 67_CertificatTemplate.pdf */; }; 4C39B3F5178FEFAE0027DC7C /* KPKNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C39B3F4178FEFAE0027DC7C /* KPKNode.m */; }; 4C3BD51516D276F800389F1F /* MPToolbarDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BD51416D276F800389F1F /* MPToolbarDelegate.m */; }; 4C3C4EA218D6FEA100153127 /* NSValueTransformer+TransformerKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3C4E9618D6FEA100153127 /* NSValueTransformer+TransformerKit.m */; }; @@ -175,7 +221,6 @@ 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */; }; 4C6C72C417C01E4200768849 /* NSMutableData+KeePassKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6C72C317C01E4200768849 /* NSMutableData+KeePassKit.m */; }; 4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */; }; - 4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */; }; 4C6F228919A4A7F90012310C /* MPAutotypeClear.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */; }; 4C6F228C19A4AA700012310C /* MPAutotypeDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6F228B19A4AA700012310C /* MPAutotypeDelay.m */; }; 4C6FDD2117BC4F4C004AEEC8 /* KPKTestPlaceholder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6FDD2017BC4F4C004AEEC8 /* KPKTestPlaceholder.m */; }; @@ -187,7 +232,6 @@ 4C7615681764C0C40015A1A6 /* PasswordInputView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */; }; 4C76156D1764C0E20015A1A6 /* InspectorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C76156F1764C0E20015A1A6 /* InspectorView.xib */; }; 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */; }; - 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */; }; 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77547416E55FE800970E02 /* MPInspectorViewController.m */; }; 4C77C84118E240E000D1C42B /* DDHotKey+MacPassAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77C84018E240E000D1C42B /* DDHotKey+MacPassAdditions.m */; }; 4C77E36715B84A240093A587 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; }; @@ -223,7 +267,6 @@ 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EB8C018D399FD00438B08 /* KPKTag.m */; }; 4C94A06F1938DC8C0040ABAB /* MPEditSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */; }; 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; - 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; 4C9B38CF1A3EFCA100CD21C3 /* NSString+XMLUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9B38CE1A3EFCA100CD21C3 /* NSString+XMLUtilities.m */; }; @@ -536,11 +579,57 @@ 4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = ""; }; 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = ""; }; 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = ""; }; - 4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_HarddiskTemplate.pdf; path = Icons/99_HarddiskTemplate.pdf; sourceTree = ""; }; 4C37A6711769393300AD0A40 /* HNHTableHeaderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHTableHeaderCell.h; sourceTree = ""; }; 4C37A6721769393300AD0A40 /* HNHTableHeaderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHTableHeaderCell.m; sourceTree = ""; }; 4C37A83E15B8B474005EF8EE /* MPOutlineDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineDataSource.h; sourceTree = ""; }; 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineDataSource.m; sourceTree = ""; }; + 4C3826711AD04B51007D7D67 /* addFolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = addFolderTemplate.pdf; path = Icons/addFolderTemplate.pdf; sourceTree = ""; }; + 4C3826731AD04BA5007D7D67 /* infoTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = infoTemplate.pdf; path = Icons/infoTemplate.pdf; sourceTree = ""; }; + 4C3826751AD04C24007D7D67 /* harddiskTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = harddiskTemplate.pdf; path = Icons/harddiskTemplate.pdf; sourceTree = ""; }; + 4C3826771AD04C8A007D7D67 /* createdTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = createdTemplate.pdf; path = Icons/createdTemplate.pdf; sourceTree = ""; }; + 4C3826791AD04CC6007D7D67 /* downloadTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = downloadTemplate.pdf; path = Icons/downloadTemplate.pdf; sourceTree = ""; }; + 4C38267B1AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 21_OrganizerTemplate.pdf; sourceTree = ""; }; + 4C38267C1AD04D8E007D7D67 /* 22_ASCIITemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 22_ASCIITemplate.pdf; sourceTree = ""; }; + 4C38267D1AD04D8E007D7D67 /* 23_IconsTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 23_IconsTemplate.pdf; sourceTree = ""; }; + 4C38267E1AD04D8E007D7D67 /* 24_EstablishedConnectionTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 24_EstablishedConnectionTemplate.pdf; sourceTree = ""; }; + 4C38267F1AD04D8E007D7D67 /* 25_MailFolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 25_MailFolderTemplate.pdf; sourceTree = ""; }; + 4C3826801AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 27_NFSUnmountTemplate.pdf; sourceTree = ""; }; + 4C3826811AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 28_QuickTimeTemplate.pdf; sourceTree = ""; }; + 4C3826821AD04D8E007D7D67 /* 29_SecureTerminalTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 29_SecureTerminalTemplate.pdf; sourceTree = ""; }; + 4C3826831AD04D8E007D7D67 /* 32_FileSystemViewTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 32_FileSystemViewTemplate.pdf; sourceTree = ""; }; + 4C3826841AD04D8E007D7D67 /* 33_RunTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 33_RunTemplate.pdf; sourceTree = ""; }; + 4C3826851AD04D8E007D7D67 /* 34_ConfigureTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 34_ConfigureTemplate.pdf; sourceTree = ""; }; + 4C3826861AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 35_BrowserWindowTemplate.pdf; sourceTree = ""; }; + 4C3826871AD04D8E007D7D67 /* 36_ArchiveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 36_ArchiveTemplate.pdf; sourceTree = ""; }; + 4C3826881AD04D8E007D7D67 /* 37_PercentageTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 37_PercentageTemplate.pdf; sourceTree = ""; }; + 4C3826891AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 38_SambaUnmountTemplate.pdf; sourceTree = ""; }; + 4C38268A1AD04D8E007D7D67 /* 39_HistoryTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 39_HistoryTemplate.pdf; sourceTree = ""; }; + 4C38268B1AD04D8E007D7D67 /* 40_FindMailTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 40_FindMailTemplate.pdf; sourceTree = ""; }; + 4C38268C1AD04D8E007D7D67 /* 41_VectorTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 41_VectorTemplate.pdf; sourceTree = ""; }; + 4C38268D1AD04D8E007D7D67 /* 42_MemoryTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 42_MemoryTemplate.pdf; sourceTree = ""; }; + 4C38268E1AD04D8E007D7D67 /* 44_NotesTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 44_NotesTemplate.pdf; sourceTree = ""; }; + 4C38268F1AD04D8E007D7D67 /* 45_CancelTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 45_CancelTemplate.pdf; sourceTree = ""; }; + 4C3826901AD04D8E007D7D67 /* 46_HelpTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 46_HelpTemplate.pdf; sourceTree = ""; }; + 4C3826911AD04D8E007D7D67 /* 47_PackageTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 47_PackageTemplate.pdf; sourceTree = ""; }; + 4C3826921AD04D8E007D7D67 /* 49_FolderOpenTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 49_FolderOpenTemplate.pdf; sourceTree = ""; }; + 4C3826931AD04D8E007D7D67 /* 50_FolderTarTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 50_FolderTarTemplate.pdf; sourceTree = ""; }; + 4C3826941AD04D8E007D7D67 /* 51_DecryptedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 51_DecryptedTemplate.pdf; sourceTree = ""; }; + 4C3826951AD04D8E007D7D67 /* 52_EncryptedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 52_EncryptedTemplate.pdf; sourceTree = ""; }; + 4C3826961AD04D8E007D7D67 /* 53_ApplyTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 53_ApplyTemplate.pdf; sourceTree = ""; }; + 4C3826971AD04D8E007D7D67 /* 54_SignatureTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 54_SignatureTemplate.pdf; sourceTree = ""; }; + 4C3826981AD04D8E007D7D67 /* 55_ThumbnailTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 55_ThumbnailTemplate.pdf; sourceTree = ""; }; + 4C3826991AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 56_AddressBookTemplate.pdf; sourceTree = ""; }; + 4C38269A1AD04D8E007D7D67 /* 57_TextViewTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 57_TextViewTemplate.pdf; sourceTree = ""; }; + 4C38269B1AD04D8E007D7D67 /* 58_SecureAccountTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 58_SecureAccountTemplate.pdf; sourceTree = ""; }; + 4C38269C1AD04D8E007D7D67 /* 59_DevelopmentTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 59_DevelopmentTemplate.pdf; sourceTree = ""; }; + 4C38269D1AD04D8E007D7D67 /* 60_HomeTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 60_HomeTemplate.pdf; sourceTree = ""; }; + 4C38269E1AD04D8E007D7D67 /* 61_ServicesTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 61_ServicesTemplate.pdf; sourceTree = ""; }; + 4C38269F1AD04D8E007D7D67 /* 62_TuxTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 62_TuxTemplate.pdf; sourceTree = ""; }; + 4C3826A01AD04D8E007D7D67 /* 63_FeatherTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 63_FeatherTemplate.pdf; sourceTree = ""; }; + 4C3826A11AD04D8E007D7D67 /* 64_AppleTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 64_AppleTemplate.pdf; sourceTree = ""; }; + 4C3826A21AD04D8E007D7D67 /* 65_WikiTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 65_WikiTemplate.pdf; sourceTree = ""; }; + 4C3826A31AD04D8E007D7D67 /* 66_MoneyTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 66_MoneyTemplate.pdf; sourceTree = ""; }; + 4C3826A41AD04D8E007D7D67 /* 67_CertificatTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 67_CertificatTemplate.pdf; sourceTree = ""; }; 4C39B3F3178FEFAE0027DC7C /* KPKNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKNode.h; sourceTree = ""; }; 4C39B3F4178FEFAE0027DC7C /* KPKNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKNode.m; sourceTree = ""; }; 4C3BD51316D276F800389F1F /* MPToolbarDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPToolbarDelegate.h; sourceTree = ""; }; @@ -696,7 +785,6 @@ 4C6C72C217C01E4200768849 /* NSMutableData+KeePassKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableData+KeePassKit.h"; sourceTree = ""; }; 4C6C72C317C01E4200768849 /* NSMutableData+KeePassKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableData+KeePassKit.m"; sourceTree = ""; }; 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 48_FolderTemplate.pdf; sourceTree = ""; }; - 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_AddFolderTemplate.pdf; path = Icons/99_AddFolderTemplate.pdf; sourceTree = ""; }; 4C6F228719A4A7F90012310C /* MPAutotypeClear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeClear.h; sourceTree = ""; }; 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeClear.m; sourceTree = ""; }; 4C6F228A19A4AA700012310C /* MPAutotypeDelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeDelay.h; sourceTree = ""; }; @@ -724,7 +812,6 @@ 4C7615781764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = de; path = de.lproj/Credits.rtf; sourceTree = ""; }; 4C7615791764C4A50015A1A6 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 43_TrashTemplate.pdf; sourceTree = ""; }; - 4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_InfoTemplate.pdf; path = Icons/99_InfoTemplate.pdf; sourceTree = ""; }; 4C77547316E55FE800970E02 /* MPInspectorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInspectorViewController.h; sourceTree = ""; }; 4C77547416E55FE800970E02 /* MPInspectorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPInspectorViewController.m; sourceTree = ""; }; 4C77C83F18E240E000D1C42B /* DDHotKey+MacPassAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DDHotKey+MacPassAdditions.h"; sourceTree = ""; }; @@ -789,7 +876,6 @@ 4C94A06D1938DC8C0040ABAB /* MPEditSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEditSession.h; sourceTree = ""; }; 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditSession.m; sourceTree = ""; }; 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; - 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = 99_CreatedTemplate.pdf; path = Icons/99_CreatedTemplate.pdf; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; 4C9B38CD1A3EFCA100CD21C3 /* NSString+XMLUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+XMLUtilities.h"; sourceTree = ""; }; @@ -1542,11 +1628,53 @@ 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */, 4C7ABA4617BAEC6700FF5799 /* 19_EmailTemplate.pdf */, 4C7ABA4717BAEC6700FF5799 /* 20_MiscTemplate.pdf */, + 4C38267B1AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf */, + 4C38267C1AD04D8E007D7D67 /* 22_ASCIITemplate.pdf */, + 4C38267D1AD04D8E007D7D67 /* 23_IconsTemplate.pdf */, + 4C38267E1AD04D8E007D7D67 /* 24_EstablishedConnectionTemplate.pdf */, + 4C38267F1AD04D8E007D7D67 /* 25_MailFolderTemplate.pdf */, 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */, + 4C3826801AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf */, + 4C3826811AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf */, + 4C3826821AD04D8E007D7D67 /* 29_SecureTerminalTemplate.pdf */, 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */, 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */, + 4C3826831AD04D8E007D7D67 /* 32_FileSystemViewTemplate.pdf */, + 4C3826841AD04D8E007D7D67 /* 33_RunTemplate.pdf */, + 4C3826851AD04D8E007D7D67 /* 34_ConfigureTemplate.pdf */, + 4C3826861AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf */, + 4C3826871AD04D8E007D7D67 /* 36_ArchiveTemplate.pdf */, + 4C3826881AD04D8E007D7D67 /* 37_PercentageTemplate.pdf */, + 4C3826891AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf */, + 4C38268A1AD04D8E007D7D67 /* 39_HistoryTemplate.pdf */, + 4C38268B1AD04D8E007D7D67 /* 40_FindMailTemplate.pdf */, + 4C38268C1AD04D8E007D7D67 /* 41_VectorTemplate.pdf */, + 4C38268D1AD04D8E007D7D67 /* 42_MemoryTemplate.pdf */, 4C7714A9176C998F00549F2A /* 43_TrashTemplate.pdf */, + 4C38268E1AD04D8E007D7D67 /* 44_NotesTemplate.pdf */, + 4C38268F1AD04D8E007D7D67 /* 45_CancelTemplate.pdf */, + 4C3826901AD04D8E007D7D67 /* 46_HelpTemplate.pdf */, + 4C3826911AD04D8E007D7D67 /* 47_PackageTemplate.pdf */, 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */, + 4C3826921AD04D8E007D7D67 /* 49_FolderOpenTemplate.pdf */, + 4C3826931AD04D8E007D7D67 /* 50_FolderTarTemplate.pdf */, + 4C3826941AD04D8E007D7D67 /* 51_DecryptedTemplate.pdf */, + 4C3826951AD04D8E007D7D67 /* 52_EncryptedTemplate.pdf */, + 4C3826961AD04D8E007D7D67 /* 53_ApplyTemplate.pdf */, + 4C3826971AD04D8E007D7D67 /* 54_SignatureTemplate.pdf */, + 4C3826981AD04D8E007D7D67 /* 55_ThumbnailTemplate.pdf */, + 4C3826991AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf */, + 4C38269A1AD04D8E007D7D67 /* 57_TextViewTemplate.pdf */, + 4C38269B1AD04D8E007D7D67 /* 58_SecureAccountTemplate.pdf */, + 4C38269C1AD04D8E007D7D67 /* 59_DevelopmentTemplate.pdf */, + 4C38269D1AD04D8E007D7D67 /* 60_HomeTemplate.pdf */, + 4C38269E1AD04D8E007D7D67 /* 61_ServicesTemplate.pdf */, + 4C38269F1AD04D8E007D7D67 /* 62_TuxTemplate.pdf */, + 4C3826A01AD04D8E007D7D67 /* 63_FeatherTemplate.pdf */, + 4C3826A11AD04D8E007D7D67 /* 64_AppleTemplate.pdf */, + 4C3826A21AD04D8E007D7D67 /* 65_WikiTemplate.pdf */, + 4C3826A31AD04D8E007D7D67 /* 66_MoneyTemplate.pdf */, + 4C3826A41AD04D8E007D7D67 /* 67_CertificatTemplate.pdf */, 4C52A891178863B000868229 /* 68_PhoneTemplate.pdf */, ); name = "Database Icons"; @@ -2054,11 +2182,12 @@ isa = PBXGroup; children = ( 4C7ABA4D17BAEC7000FF5799 /* addEntryTemplate.pdf */, + 4C3826711AD04B51007D7D67 /* addFolderTemplate.pdf */, 4CE88B9617BA651C0042E078 /* contextTriangleTemplate.pdf */, - 4C6D1D26178586CA0014C5A5 /* 99_AddFolderTemplate.pdf */, - 4C96D15317A12E4F00D931FA /* 99_CreatedTemplate.pdf */, - 4C366642178748F500B249F1 /* 99_HarddiskTemplate.pdf */, - 4C7714AB176C9D4600549F2A /* 99_InfoTemplate.pdf */, + 4C3826771AD04C8A007D7D67 /* createdTemplate.pdf */, + 4C3826791AD04CC6007D7D67 /* downloadTemplate.pdf */, + 4C3826751AD04C24007D7D67 /* harddiskTemplate.pdf */, + 4C3826731AD04BA5007D7D67 /* infoTemplate.pdf */, ); name = Icons; sourceTree = ""; @@ -2235,61 +2364,101 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 4C3826AE1AD04D8E007D7D67 /* 33_RunTemplate.pdf in Resources */, + 4C3826A51AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf in Resources */, 4C17F108184E6B6C00E85625 /* 31_PrintTemplate.pdf in Resources */, 4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */, + 4C3826781AD04C8A007D7D67 /* createdTemplate.pdf in Resources */, + 4C3826BE1AD04D8E007D7D67 /* 51_DecryptedTemplate.pdf in Resources */, + 4C3826BC1AD04D8E007D7D67 /* 49_FolderOpenTemplate.pdf in Resources */, + 4C3826CE1AD04D8E007D7D67 /* 67_CertificatTemplate.pdf in Resources */, + 4C3826B71AD04D8E007D7D67 /* 42_MemoryTemplate.pdf in Resources */, + 4C3826B41AD04D8E007D7D67 /* 39_HistoryTemplate.pdf in Resources */, 4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */, + 4C3826CD1AD04D8E007D7D67 /* 66_MoneyTemplate.pdf in Resources */, 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */, 4C76155C1764C04C0015A1A6 /* GeneralSettings.xib in Resources */, 4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */, 4C17F109184E6B6C00E85625 /* 30_TerminalTemplate.pdf in Resources */, 4C7615681764C0C40015A1A6 /* PasswordInputView.xib in Resources */, + 4C3826BA1AD04D8E007D7D67 /* 46_HelpTemplate.pdf in Resources */, 4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */, + 4C3826CA1AD04D8E007D7D67 /* 63_FeatherTemplate.pdf in Resources */, 4C586F9E16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf in Resources */, 4C26C34C18D8D5A300CF1A1C /* PreviewView.xib in Resources */, 4C586FA016D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf in Resources */, + 4C3826CB1AD04D8E007D7D67 /* 64_AppleTemplate.pdf in Resources */, + 4C3826AA1AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf in Resources */, + 4C3826C31AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf in Resources */, + 4C3826A91AD04D8E007D7D67 /* 25_MailFolderTemplate.pdf in Resources */, + 4C3826CC1AD04D8E007D7D67 /* 65_WikiTemplate.pdf in Resources */, 4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */, + 4C3826B91AD04D8E007D7D67 /* 45_CancelTemplate.pdf in Resources */, 4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */, 6021FE6C18E15E6D00C3BC51 /* UpdateSettings.xib in Resources */, + 4C3826B21AD04D8E007D7D67 /* 37_PercentageTemplate.pdf in Resources */, + 4C3826C51AD04D8E007D7D67 /* 58_SecureAccountTemplate.pdf in Resources */, + 4C3826A71AD04D8E007D7D67 /* 23_IconsTemplate.pdf in Resources */, 4C2E381E16D11FF900037A9D /* 04_KlipperTemplate.pdf in Resources */, + 4C3826C01AD04D8E007D7D67 /* 53_ApplyTemplate.pdf in Resources */, + 4C3826C71AD04D8E007D7D67 /* 60_HomeTemplate.pdf in Resources */, + 4C3826C91AD04D8E007D7D67 /* 62_TuxTemplate.pdf in Resources */, + 4C3826B51AD04D8E007D7D67 /* 40_FindMailTemplate.pdf in Resources */, 4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */, + 4C3826721AD04B51007D7D67 /* addFolderTemplate.pdf in Resources */, + 4C3826C21AD04D8E007D7D67 /* 55_ThumbnailTemplate.pdf in Resources */, + 4C3826A61AD04D8E007D7D67 /* 22_ASCIITemplate.pdf in Resources */, 4CD78ABC16D155FF00768A1D /* 07_NotepadTemplate.pdf in Resources */, + 4C3826C11AD04D8E007D7D67 /* 54_SignatureTemplate.pdf in Resources */, 4CD78ABD16D155FF00768A1D /* 08_SocketTemplate.pdf in Resources */, 4CD78ABE16D155FF00768A1D /* 09_IdentityTemplate.pdf in Resources */, 4CD78ABF16D155FF00768A1D /* 10_ContactTemplate.pdf in Resources */, 4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */, 4C61EA0516D2FFE200AC519E /* OutlineView.xib in Resources */, + 4C3826AB1AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf in Resources */, + 4C3826B31AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf in Resources */, 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */, 4C6AEF031A04400E00CA2420 /* OpenPanelAccessoryView.xib in Resources */, 4C3FFD9E16DAF60600DF9186 /* ContextBar.xib in Resources */, 4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */, + 4C3826B61AD04D8E007D7D67 /* 41_VectorTemplate.pdf in Resources */, 4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */, 4C76156D1764C0E20015A1A6 /* InspectorView.xib in Resources */, 4C888C9016EB6C91003D34A1 /* Localizable.strings in Resources */, + 4C3826B01AD04D8E007D7D67 /* 35_BrowserWindowTemplate.pdf in Resources */, 4C7155D81A10DB6D00979307 /* IconSelection.xib in Resources */, + 4C3826AF1AD04D8E007D7D67 /* 34_ConfigureTemplate.pdf in Resources */, + 4C3826BB1AD04D8E007D7D67 /* 47_PackageTemplate.pdf in Resources */, 6021FE8D18E1617300C3BC51 /* PasswordCreatorView.xib in Resources */, + 4C3826AC1AD04D8E007D7D67 /* 29_SecureTerminalTemplate.pdf in Resources */, 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */, + 4C3826741AD04BA5007D7D67 /* infoTemplate.pdf in Resources */, + 4C3826B11AD04D8E007D7D67 /* 36_ArchiveTemplate.pdf in Resources */, 4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */, 4CD820211A32173100399DBB /* ReferenceBuilderView.xib in Resources */, - 4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */, 6021FE5618E1429500C3BC51 /* IntegrationSettings.xib in Resources */, + 4C3826B81AD04D8E007D7D67 /* 44_NotesTemplate.pdf in Resources */, + 4C3826C41AD04D8E007D7D67 /* 57_TextViewTemplate.pdf in Resources */, 4CA3531218A5577300839B0F /* dsa_sparkle_pub.pem in Resources */, 6021FE9818E1650F00C3BC51 /* DatabaseSettingsWindow.xib in Resources */, 4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */, - 4C6D1D27178586CA0014C5A5 /* 99_AddFolderTemplate.pdf in Resources */, 4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */, - 4C366643178748F500B249F1 /* 99_HarddiskTemplate.pdf in Resources */, 4C2C8B341787500E009649F3 /* UnprotectedWarningView.xib in Resources */, 4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */, 4C7BD07619FE94C900C7AA5C /* MacPassImages.xcassets in Resources */, 4CB915941A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib in Resources */, 4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */, 4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */, + 4C3826C61AD04D8E007D7D67 /* 59_DevelopmentTemplate.pdf in Resources */, 4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */, 4C52A892178863B000868229 /* 68_PhoneTemplate.pdf in Resources */, - 4C96D15417A12E4F00D931FA /* 99_CreatedTemplate.pdf in Resources */, 6021FE7718E15FF300C3BC51 /* DatePickingView.xib in Resources */, + 4C3826A81AD04D8E007D7D67 /* 24_EstablishedConnectionTemplate.pdf in Resources */, 6021FE4B18E13F1D00C3BC51 /* GroupInspectorView.xib in Resources */, + 4C3826BF1AD04D8E007D7D67 /* 52_EncryptedTemplate.pdf in Resources */, + 4C3826BD1AD04D8E007D7D67 /* 50_FolderTarTemplate.pdf in Resources */, 6021FE3B18E1341900C3BC51 /* EntryInspectorView.xib in Resources */, + 4C3826AD1AD04D8E007D7D67 /* 32_FileSystemViewTemplate.pdf in Resources */, 6021FE6118E15D9100C3BC51 /* WorkflowSettings.xib in Resources */, 6021FE8218E160BC00C3BC51 /* PasswordEditWindow.xib in Resources */, 4C0728BF17B68ED0005A7DD9 /* SavePanelAccessoryView.xib in Resources */, @@ -2298,11 +2467,14 @@ 4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */, 4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */, 4C7ABA4B17BAEC6700FF5799 /* 19_EmailTemplate.pdf in Resources */, + 4C3826C81AD04D8E007D7D67 /* 61_ServicesTemplate.pdf in Resources */, 4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */, 4C0DD6C618B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib in Resources */, + 4C38267A1AD04CC6007D7D67 /* downloadTemplate.pdf in Resources */, 4C7ABA4C17BAEC6700FF5799 /* 20_MiscTemplate.pdf in Resources */, 4C7ABA4E17BAEC7000FF5799 /* addEntryTemplate.pdf in Resources */, 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */, + 4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */, 4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/MacPass/Icons/00_PasswordTemplate.pdf b/MacPass/Icons/00_PasswordTemplate.pdf index 29a8c6edc6646bba8f68a30f0ae0fda3b136a7a6..a6baec985bd457f309c7218dddb53e87750c7ef3 100644 GIT binary patch literal 4253 zcmeHKe@qis97l}IAtiBU`^RmbC4dIocX#czy<1x-J*rF!wFPA|jMuv>RNCI{dR+^f zI*GzuoWH^hiHV6>wyA6ZmN*w(h7*XHVjQwDHy4+%EwHF#ZtjP3guN?2%7iSE%>Q_4 zns@Jgzn|~>e%|*b-%qBCc4#oIL6tf1-Q_-2stG|6!MjCeHUo!0AoCJ%1Q?m8c~;c6E?8~P z=x!CHyU#T)q_-|vw)e>wTt~ifwh7->mJ0ow*+9q0scr<>p>J5#d9EkJzBAkMq4xIc zr_bwD8-MWq*yYIkdBxVor>~u-%a7-fD@XqPL`sS-6Ynkfb!l&#+TDD>&pqNVe{~np zmwNX`)3eWkk+@n|6$cgI^YP zwJeJi0MTev8`WtAsS02uNdgoHIIe*fns9AMW@4I9IAaWC0*B_qtmGGEzYszcT*fOz zWQ$s@1ezSDm^ZROP_+G4#N4*BaH8@_1qZCe37@C7(6pEU`eU^z_ z;}~}MdfL^+Mu=*2Yzt0y#Goe$MutRCZxK1@#-xCz`TzT>!NpcLDb;v1{%_$n-I z_^QC#zx4iqQjO<*>PX0HUWSNub@ZyC*Gp!I@1IVw_tGC2 z(sS;GYBCoNg%6fBS8)A{0ef($HnjHR@Mn!Db{`+=A$>ocbrIdzJ67`Q&|b2?!KMDA ztTRjG%UYUMJ$p(n45fAF99m%Nd;HjfKGm5ecV4_0#NI1zSvxSV@!0%EV|!=I=H4?W zPrmW#*9`|Q@9#ZviCF#Aoo%ZJJGLFwjijPU-+NxWGX2_&32tqL9>m84!aT@#f?}oh z4FJ0hQKUtQYka4~LNMHFok@ik(iLW-5kn2M4t3ZGT3=u%ZTUn2 zX&?+ViaAgRiCfM2G@&<`Fe7O%Fz8JfL1H9fBkeky-G)1CdemA83PU~tQ7YFxq38)6 za0`NrC=%EWJpMW!!O*en%H6yVY^cDX6viqOwN`!I>rG0|ayS;JWTm7mMQ)6yr@TG- zQF>ng;QT##{WnL8()M6^UzOD7)#o0Whn!8ibm-Bh=@$Xpdr6K-yicVg2~3rlSy19o F{R8Uw;cEZ@ literal 1900 zcmd5-ZERCj81Ay^;#esziX)kLRK_-xo%_|>+ptyE-gcXot+sW1ES27_XWN}^@3_6) z2Ou8?n9KwS4hM#W=wL*YI5D6CGt-P@Zeu`z$uP_aL1Cy6Gd>0?o_4K`nZv)HU-z8z zp7TEM^FHUfnKs@sm&|3=nHMjeIIT`$00AUVjXEz6TEzeoWN|t20uovQsV4|n3Rq|c zB%|kG30`#qlBHQ#1j+$JQGg`1E`vdh0^aZyV3MKM$8+$gLh>S;Ap3(jqe=3G{DB~# zp-o0!u|kn#KvD(+w1_?h$P==Hcy zB9Hr{qyv|>r>|o zPT9Y35yMSE2cX%1fN{Ism2UUZepOPxBb`W?l9-&fc}DY$^jlQz&x?DyRMXt5CE1B> z6VZfAjtaphR3Y4y2nUhcO@bo$q^fwU*?4e)tQaNCXD$JVT!JA9Qp;k}@RVe82^Tc_ z5b}m2@NPIFvK-wrNdW}~lpxSWa+zeQc9O^iSRTS8dst2Qk|Qv^jZfTnaT2Ux9^*18}s`u+GtR0_Tz zf@ZI%2p%5-iX1`_(TJ!%HW6_#-tmc3RD3AgDl{T2=p0xk2F2JZLu6o?g@FMAI%Uy6 zNnsK0!_9~jA0{f=rO9 zbgrLw^~#ym-|J>4?NhDty}G)mw&DKW&i<9$lk0aa-DK6I4H}lJe;qUKT3MLAYwX3Q z&on<=)8sFjyF0_>{)M|>RodFu?{M#YYB>NM-1Q@mCuYsz=G$9Rx}Lp!tEV-sW#8NH zK7a82mf2&o?A@==e2?y$_EmB9T9x&xaS^$BOG5r$<97IyR@m|B2Ni71!J|U?qs0~H z8ow-DrlFUpL(AUW(|p)av$5{!vd~RA^Yo67_rKNA_=qdx+dn;jgiJ#@br~Oe+Lo>8 zeCE8S9r8-00i-`+q)ES{~chK9YQI_VlX6Z9ncAX>v~AJ#wV1 z<@4m$S?}x~$;x`;=H(~mj}8qbB&Dm)cg!4~2>!vAF%F)IfoGzAJ_-1;aqI)|_;W84 zXKoKzb2hPw%?}+L$CW&*eed+|B2doWn6hFb6l{?(mHrP5KkAm$L~m#Q)7r6}dc2*- hy1ULD@4oZe)cI=?RO;5m)QKg>&736h&oyG_e*r#ii$4GW diff --git a/MacPass/Icons/01_PackageNetworkTemplate.pdf b/MacPass/Icons/01_PackageNetworkTemplate.pdf index 41eee29f113766104130648fdd9faf3fb54947f3..6cfb0a823290d26dff7db69712d2bfdba5f782a1 100644 GIT binary patch literal 5162 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 KlEW_*>3;y-RJQ{F diff --git a/MacPass/Icons/02_MessageBoxWarningTemplate.pdf b/MacPass/Icons/02_MessageBoxWarningTemplate.pdf index c4e9199e4c8f6b7b74cd3c4c687a333d94b46a66..165e6db9ab92ae5dd5ac8ac2bedf07c078c9187b 100644 GIT binary patch literal 4274 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 b#)gMq0uB7K5|g1%XJQ$%E-R~`#HITi0CD9M literal 5823 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 Pk@WvaqfjW~w>bJgo1ifZ diff --git a/MacPass/Icons/05_LanguagesTemplate.pdf b/MacPass/Icons/05_LanguagesTemplate.pdf index f6a87c5d4166f1ded3c0bb0cdfbf388e4eb0d02f..df2d2a3785246113a81324191881e218ff0d293c 100644 GIT binary patch literal 4155 zcmeHKYitx%6t048DP15+6ez{%+7=o*d*``3Gud6(?sREsm#*Ckm;!ZnX0~0rJG0Ep z+NGL^;SnDo5Th89%EN*rDpew=DF&n@B0gi2LgXQWMiT{+Cj7!s?`*f-N*hBH`PZBI zarfSHzH`ra&)s~dB*6Pn+-A3wT)p;vuO*K`FhmWlwK$!?7l|6O27FP$ka<~DB^fSh zx`D8uR#uvg76iA`U>QPyhV^k7)P>dtjhNf58=5S{EO{-LH*NnSZzGn!rKzOu!-iLG zST~pT^vtTdRXXo%zW1%=Kjq%Ie(tqPTN;s~;-)*r4^QsgQGG@)zs`}x$=NwSAK16= zx#K@#yH6<{Ozul>OM8A0Z?DR2)#rCL%v!|W$?na4bozc_N$1C8?>F;~d^)41c~@co zxw50{Jd=NI^uGSdd)+&yFX?a`o@1{q>YDSwmsN+JITS13c(QL>?}_Pev`@jZzCK*{ zw?$T@^nu~bOdQV;;Fk?S5)1($;95Nh2+gvNkg0hpV=vr`s?BbavNE9bI%>0n_u)6c$%&AFXuAcX$!@*xJYl~sT zIRM()+H7s4P1TwK&ay1P2tW`hv_SRsiXkLXMSo%tWC(|sby17NjfkosCaw@t6Nbxb zH3JQgbY8Lea3DpurE;{1Y78WWIKXWf7|Tf#hkfD+Et)!-Bmy}q$7IFOp&ve`AEeap zA9fuxTr38LbAd;7LKn`jN|Eq-9zGT~d%zfBc^Ae|aor2bzida~NFoZhHyvtrg5FXEVdEFH(1%JRan~aRe|AW zmD(Dv#rrkMBz(UjK-`HS<05y0t_ixv#lX0XC#q|Lu5mFiF5`*n`rqiv%LsF*@ml zN>sgkdWUP;DJ*|;SAV#8Rd;o5cYRUmrWuoR4(+Y+?7!G_>e&n13V*v<)88L`muow} zhr4nmc&qDDLH?6B8w+|19moGVbAj5+t(o1EGsU`K#$&~y7iT()=%XK8%l)czcgLmj zoo~)9K6vJjj<(b9+n$=a^s{Y_1HLuSS1f;|6`#98>M5OORW1gWu08$BJIB83`+OIX zGq=z+bzMSnenhLUUgf&V&f>QpDrl|Qx&7O&rtT{XPiA#adivUES{<3(J=H-ZEJSq~ zRQSO%Q<_GB*MpeSzb=s8sSEfK90Waxp(SJx^b2|`G*#rmo~trxED0L$R)8p^{M7iM zUxsTo6K}BJ4G3CHhn=ujjV5A>j!+<=$x=i#R1Luiw|lG>xtecuVw8jT5KJXei8(0R z%QF>~IDwN4Mpn=yPgb~{IAyo}3F MSV~GN>wK1f0B~fdoB#j- literal 5824 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 diff --git a/MacPass/Icons/06_BlockDeviceTemplate.pdf b/MacPass/Icons/06_BlockDeviceTemplate.pdf index 6ce4d429df0ad5a9d146604e2fa558fd7a743310..08cf2adb2dfc19c657823d9e80e42d8a2df1a6ad 100644 GIT binary patch literal 4097 zcmeHKZERCj7#^Y%n-xKSKp@6LaRVZ^=YI8mG;LYeyTZu2F6{^;WP#gz&)vGU_m+Ea zT{kfSgeeL-V)l_sSbA_0Hf)QjZ7HL$TpIYVyFl& znU)Pi*ogEtyB$!R0Gj{}Te@=y##0?hI~xjFwu$7d+tq$~`|BUOUL>n}H&n;pZ#i+x zvt!xd;QW_+o_rkjF3P<3!Q4w14?lHL*SBu(+x*9y2LYJbU$;+5&l~K!l3wt_{vA=~ zO8?1*dC%Saw5j$N>Db_wua%m2@4PjTkndg*ww-$P^s$Yb7BAqX)tzrwJ>R!!(VjDB z7G6J`?6|pY)lS0j4-FCLO_h8KW%}a!?#!$F9U*i6mMS z1enaHY=@+EvBnX$MuE$G1y&StveJockV0)~J?Odp(Qyw*t3l6NUyO|9BB(vRs>ejh zo~9P1r&AGC&x(*MQ1BPBxhy^=C}cCbGk4u1tb?Y5os zL)g{T%wQ4}FbLz*VA1z~mTwp<`|Yw-xkD2{|I#Z2eyw4nnBS56suJLvH^ zfyPEDuWW8CkZyU4IeHZ%3kz}%QeF~H=A#bY1Jf(Y`pIT+y>pUWnDp|xSU99 zDCOe`RwYw}NU}1KqBN1<_!O^+8qbgAgZJKOcd+zfS*4e+m9F$vs z-0<1vJ#Q2S=3jetiTO+-x%$*nUK=v^?mfF*YVYrR=fKU&Yuc`Uv#;Y&Waqch8ug1; z_(dQ7w6S`BFYIai{m#$px6G&jdu!KBWQH#vKirT6nw+r^tc$@WM_p!MBn%w&9&aw~ z#G7M)g2^zj%{+q1m~3@oQyq=8P4xwPWzxpPLPak68MzU^GF@Uh-bmNlESp&i_p=cr zlh5iFU}3X~)U;w7CZOn0XtGAPL0TUW$tWL@!u3o<5?DIS)=^QuJ}PiDLkeP4qC)|m z;izz(R4<7f%d!ktN8!u%iHsnGr7$msL#?nu*9_nkM`E;T_OUQw7&dUa%mhrPdk~<= zk?htbkOtSTr*OAPwU)25{cvT`B#VR&}sq2YnqwL{;{+*LbtW4N(u s*PmOD>>rx(*s(}e1@3FVTIKq6;!R))ZQ2DBX>NuWS$B1HeLU*^2RLq-n*aa+ literal 1735 zcmd5-ZD<>198c|PWJ~IpTWt~K0at75*5{t*E|-L6p~)p#i)kB^&EQk^~3_0kX3;I0AU+ z2Z&`kI7~;Q0C9E<2S5yPm;ngc;%>K<`0&=+&DyaNZg0MB`N4;QfWULWuDIlX=_77z+> zez%MD`WcSFKE{bz4%<1WjYFJA@FIa{1=hy8<8UySBr`D%IN~r!a%p`(;E)l2%E*m{ zVO7;g%l>S<9n87C|{Cdk-gQd!*3SW6$()1aPq^yj!v(rBks4!?ns7BboFi}N~ zVFa-JKcI-Bm=eWv=S`b}@3b>bTbj+=UhA0cXup9cG6^D@?qf{jq2_({Sd4@#G6+d& zLa(I6Kq+%U(xr@=u3a==TkO$vuR0S$y$oRJgKWl&?`7i9n;|4=%o*dQIXYaK6V#ke za(W)vOHl+(ooKLfh{{50Fh^BH52+vxle{{qC5Ry_|BSvjqEqS6@4XQklmY-@Dyt9; zL^NF~tr`-TvIJEvh8c`Gz+yY^0KCn{+TzfsWV5sqQc@;Qpg*bTlAIwx*Ct6xEDD*f zb`+XSvfPO(dWJj}lnxLo(6cL^X&L=`|?YzFT?)#cMI&X;oEzrW{(~DW6yVktzUnc z-enQGTyOVz*CMGG@ASSkcJ6~6-Nog(g?*2749O3C)IWLUg{2l4od5Kp@!vkjZ=y?! z=jWd8TD{eC@YUd5{rgJsD|lh(;?nd~lv!pMi}xSCaMOIVr@dhA z>p8yt#HoUL{n55`^NF9{EgXrqoh*DjdVJpe#?HBug|4pW|NQa6{_9t-Hf?G*eRKNZ zYxUqaF32)?t_q&p82o4%`(=3P@h6$(;^koXQNDS$<%=>d^UhQ6wS8NHvhwSeXX~L* z`>877e_*B+FT#ACZ*u=>o7Al2q%9$fYbp8mFQ%=c$(+B(QlD|nClR9mt&&sz4by8h Awg3PC diff --git a/MacPass/Icons/07_NotepadTemplate.pdf b/MacPass/Icons/07_NotepadTemplate.pdf index dcd9ab8b3fd7c5aeefcbd313d7a43b722cf25133..78243996cb86b443be6baee4257ea2f25f361616 100644 GIT binary patch literal 4277 zcmeHKZERCj7~Ys{QddIwP?0b%B^xYod+xox{kUCMwtlh6x{Y-SBQWvy-qWtE?XA7H ztV}_W%^<<>AqXNEK_SdJ1R*F987vb5f@s)?3m*at87hRJ1TX>Sx!p%6EQTfWZ#VsM zdd~Yk?>WzTPx3tJ#Wn{{s&&frEA6MxC=~{bzy$YvrO5;wKEDLRz~N^lXoH-19t1#Hp}u2KBD|ea%9!4 zmoh%AZ{QM>ZcgZ|NjukJDLcMq<%r;e&u+Xx47+!0#NV48Q-3ELM=7&PYd7Ji&L-UT z?)hncTkgY=rTI7Vu*G5v-}1S@Z{GKp=ZB-O%-E$Kms~gfS#Q~tUz6Wy_&BZe;pi*r zhZFd{Gp8wGkni3(8p#ZhaVDHlVtH0#F$&FEJUizR^`eI zSedgJvkGB|Y1K5&5rh`g8`LDN*HF5t7)6j2APj)g;H1V#$Um(6Q<)WLWD4^hV~Net zT@L-rR#iw+$Ou4HRh7C*qZYzmKr##i2ntXXjv{bzVNhbDcu<_!1=53KgCZC9g(RO4 z#AIC7EkvYjl}awu`*oiy5b7-y6xFdasyQJ5qHG9|Y6A3^#B;qlp-9*t+ZxXS=!XFq zlth$A_M3+&bvk=f`z;p;fZns9t(s7Z(JAmg&q5n|HD<&kjgu5kQKb}Nq!=T?Od&`k zL72cJk@2&}Fs$eep;z|=7=0oi!RTqOCqemFY#$t+GkSz@fR)T_DCGBXtb9oz#CuF2 zzSJi^Mw!tja1oi>e49BE@$p83o6_>Uhr*%9t;GpFt;1Q5fyeb61sT@uaZ|iL#)#9| zH}^5z{GceYK@RrdLW*{4G_(QNFYcH^3W+-!ZC zudB0Tv#7Pvs{*~xDz?wlw55f|o2<7ca?knDckGthC}AJb(>EXnF?vdt(fL6SlrK`}8AIEf%8WdfuX|1%(N zDRgn@evDbK%h1QIMBcm2C3^~+iPQ&UPUl6qth)B~quiEj&4*J;L#b7hUccX1vxVN4 zbaH3I`**MZvbeCLBkBCK@d;^7Cp&A+6B6-Tg%2-WyfkK4;rC+Jk^A@7Ub=mCX3OLu zCpNm^CpG+9_B;C6&>c0K{w({EfcpxtvKk|wIby+Y1Qa*Uer;rF{cuI)lBWGjwHUbF zKBHy$!U;!D98914ss7~X+EFW*ytFg>FWhTCo|@l)XZ*akes^uk<-nR6)5hmpzIdal zb=^C|PE~IxSytS#eYUbQrDpL^hkJ$M(AL#~16RFM&0F49op0T_Y|C|uKlWzy-rPl* z?WLz%8&d8(=OY(=wd|UHbb%eeoig)W^R}yXpyNgUy|(o2fuhN;`oHwo-pw*RyyG2z zdCro=gmsp+6Cb}veVpvvd>7_n{UQVwCn%J)upd}+G1+Sr6?d-`6+1B!xNGfMa8MLZ~Y*ez{D%UYFA@X2Ssyd2p-Xj|74uMuXxolp01)E7Q~MMGoaZK!)w2 literal 8283 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 BSl$2t diff --git a/MacPass/Icons/09_IdentityTemplate.pdf b/MacPass/Icons/09_IdentityTemplate.pdf index 5683cd39463a96a8f6c30c53648bc08ff955a71b..c0d241292aa79c12fa606e9a8b9b01ab211dff3f 100644 GIT binary patch literal 4207 zcmeHKdu&rx7@rL1Ha8v`HDL){DjOhl=e~N|+q7kU-7!PgrX3G65pM52-MY2C&Fvj4 zi#&p`iM%$12x1J3u=q&OxBw#P6!-%XLI`9GBcLKtK^{>CQGt1G*R_)^h9&afPVOJ) zp7VXb?|i@Wo#gu!dK{dVC}#2tf4p?^bbhV@!!gNUlW#HsE*Mgv47d=lKnD~g5uznI zreG|X1tV2THAXN7P>zwHVsR7#x4*`xge{hsB11l$pId!l<%X|vU&Hen7Zkcbt}vc= z=K30&h%wzoDKObOLktl zX}h9dvXGSwMcOuP!3o5+GD?CP`H81e+RWOE8iFqPvJK76LRThhiqWY?KN&b=~k*vW0 ze06?BC25{(Rxew9z-hirGvZNRsD%pVhgHFdS##q+hXxCZX3bok3wK5BusS%iL59AD z@(Q7$R$xWV3`?#lZj6VcVRTF^9u7rf#<*F-qmw`*nybq|gC$IqTC>KgZea6V9?UMu z5YrXYS^>v(nBGuK(0Ynwreh>dkN`ITlF|~C5m!GfIW(4BG&9L!!02^w$#Ce;tf^L% zs1bnr`ugH}s#ub%0Ku{>z)3)oT4bS(EsiLBTpNi!-wV=*!9JnVUWrN9o2+fj4nwG1{OQed$AxMX)Qr&NwR{(jU;Qt*=aao#BmdNz%rd{ z0>h484|;D8fzi+M0gS%ldKi>{+4jQ`1!F*x!@OeQqtQ@M;MGe4Q88cw>8*bD3CfHP zNvKn)Epu4v>Vl$?fVfW2vy@g~aJ^Ot(1ey}2vN(h48c&0px3kh1S2k2f8PPPWs#V| zM+BI{W&DC(4EVJH1~OXQPeZL==f@G_1SDyw6Lk#HhuhCLiE9FCvGpsy-pWp_qS8jM z3Z$M@Vk=dPk7|-m_)$ebxWhq)MD8$M!*mUafgu?WSJyCILt3V1ztNSOZp=}S zZ`RbKwtJvvpwoSSqAx?ulG=SuaTwK3kRZ{(NjA|0PR8-cQvvD~|I;8XDVQ|$Ad;+4 zWl(flO3Yk+q~)8M!zFpnWtVq9*;3kR+LyEIL$B?*dl{$O)=X-?)w5&nrLtdI|6W)L z)?YvR_OIclYgb3b7g6RH4qzqi9R*9zx?lbN_{JG$Guz&}v;6RA+Lp=WT*+?#OaJv9 zkvp`SS<{&P^qR4&_N-X-Qh002jyGy{N*fQB2j8Fl#P;3R_Pnu;m$^-+yp2a*{BG3I zjc-oylzx8boK!w#qB!B!$jzOtO{Jbswl=-IeD!DBa^~C~>5$v)OFr0t_*Ch&dtBhX zaT8splgri?(824S_ji4?Xtw!wm+@SI_u`c$dmmrm?m2&Ed*x!1200KX3JXU z!vcIL27%25%GG8z1ngE!6$@@pa>wm)VFd75F-5L}z~|y)wa7FAdsUh`<;G_+--A3Y^jd|c&duxq literal 8158 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 R|4p|253v>k5&KiF{eSypCy)RD diff --git a/MacPass/Icons/100.pdf b/MacPass/Icons/100.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a6baec985bd457f309c7218dddb53e87750c7ef3 GIT binary patch literal 4253 zcmeHKe@qis97l}IAtiBU`^RmbC4dIocX#czy<1x-J*rF!wFPA|jMuv>RNCI{dR+^f zI*GzuoWH^hiHV6>wyA6ZmN*w(h7*XHVjQwDHy4+%EwHF#ZtjP3guN?2%7iSE%>Q_4 zns@Jgzn|~>e%|*b-%qBCc4#oIL6tf1-Q_-2stG|6!MjCeHUo!0AoCJ%1Q?m8c~;c6E?8~P z=x!CHyU#T)q_-|vw)e>wTt~ifwh7->mJ0ow*+9q0scr<>p>J5#d9EkJzBAkMq4xIc zr_bwD8-MWq*yYIkdBxVor>~u-%a7-fD@XqPL`sS-6Ynkfb!l&#+TDD>&pqNVe{~np zmwNX`)3eWkk+@n|6$cgI^YP zwJeJi0MTev8`WtAsS02uNdgoHIIe*fns9AMW@4I9IAaWC0*B_qtmGGEzYszcT*fOz zWQ$s@1ezSDm^ZROP_+G4#N4*BaH8@_1qZCe37@C7(6pEU`eU^z_ z;}~}MdfL^+Mu=*2Yzt0y#Goe$MutRCZxK1@#-xCz`TzT>!NpcLDb;v1{%_$n-I z_^QC#zx4iqQjO<*>PX0HUWSNub@ZyC*Gp!I@1IVw_tGC2 z(sS;GYBCoNg%6fBS8)A{0ef($HnjHR@Mn!Db{`+=A$>ocbrIdzJ67`Q&|b2?!KMDA ztTRjG%UYUMJ$p(n45fAF99m%Nd;HjfKGm5ecV4_0#NI1zSvxSV@!0%EV|!=I=H4?W zPrmW#*9`|Q@9#ZviCF#Aoo%ZJJGLFwjijPU-+NxWGX2_&32tqL9>m84!aT@#f?}oh z4FJ0hQKUtQYka4~LNMHFok@ik(iLW-5kn2M4t3ZGT3=u%ZTUn2 zX&?+ViaAgRiCfM2G@&<`Fe7O%Fz8JfL1H9fBkeky-G)1CdemA83PU~tQ7YFxq38)6 za0`NrC=%EWJpMW!!O*en%H6yVY^cDX6viqOwN`!I>rG0|ayS;JWTm7mMQ)6yr@TG- zQF>ng;QT##{WnL8()M6^UzOD7)#o0Whn!8ibm-Bh=@$Xpdr6K-yicVg2~3rlSy19o F{R8Uw;cEZ@ literal 0 HcmV?d00001 diff --git a/MacPass/Icons/10_ContactTemplate.pdf b/MacPass/Icons/10_ContactTemplate.pdf index 938a908072ae5a8c8ed61ac7770ce31943e6d078..564450c9cc00480df8f8bba297c8ddd34e19f125 100644 GIT binary patch literal 4309 zcmeHLYitx%6mAhp*tSqLkP-9%XPNC|;-c6PR1x;wMZ zOxtahS5%?|K`1CMg9VC+LZDFm0od>`F@=bLJR_hY@=_735l~uZw%cxn#?VCm^=5zE zz4x5&-1FUYlk-i6+u=kpgE=+hhs(!Krs}K+L`3iGRGSSr13`tCfHTM{yo2XNAFnP+ zvVxExj~7anG6XZ@ARoa&QFWLH1>V^nB}CJ*BJpe}RabWLje-NZ*I~+om9HHreELF; zZdb}64!Pm7tr)s+N8<@+cwSTG&*#y1)9%cgHA_l!Ph8DRt!r4ze)(I&(YfRMeC>+V zS08V@FzJ=FG-GBHfAIUpXZGCBpVho$uCxw0J!k{DU|jjClvl@IwikW1eZWs3b6cgo z@13R2Nf(7*o%AZ|*0(L6uFk&H(r3xC5ll(x<@CM-h3eM7+|8dQJe6>?s^CE?FZg1o zRcBh(SUh_dudqH=VG&$iD+F$~l$Q}>bRJEYQTKvkDNSoAny+RTV=hJyPFk(NQ{h!K zdWv0n?L2h=$C5+ghOFzxzg03*bmjx!*NW7;ezlf_T z=SZJ^0p`8dD_`4BHCvg(I*>!(uca&@|P z8!i+Aow=w-wW%(YOY{Z&)eiNg&?=7vis2}Z7vYe?NeYsg5ThWpfrl*PxkfP<_1&m1 z?J+RASU!Z&QCyFM@-N#iI6jW@i&BVHXf_-U1~^u`BoOxbZ6LnY#Xd?IZPkk4D`sjx4L@i>JbAyGVZOe|BWtPyfIgM{49Ny z+IByx8Hjk_AMMN3W=ZS5#yTji6U1%C51T--HjNFsSG25 z#ihjLxA%GM`G;Z3-;0h-4qQH+donZg@PN9({fD~`NM*~4TLHVYcDzN{viJ6=;m3%4 zie7)M^}3^_B{nbRD2g%GM0K_{*kRC zZ!Qjev1Qwu#NE^7WBso88~Dx`=Y7vUs~V1dT!tJgjG{^+aJAiOZ;N& zxgNyN24x;(yFk9yHwOV@M>Jhh;EwGSxLpVaJa$BpDtO>=v2wX;D)8-sFejo+@+fM_ z0FI6NiQ#s?cp;GSc1q+ zas|JLXk}m6@gcxOfI?AJ5KTW90#BfZM=;o)U2!4r2h(O?s*c8H#tXIVqSu?yXSCBv zCyh=@dJehSMkj4<+xPOs(^t906HkBBmY0%eT+r~mm^h#{kdly?lyGX3?#QDzp^5`Z TiAcOZm4HzFijk31;7t7o5Rm$j literal 8170 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 diff --git a/MacPass/Icons/11_CameraTemplate.pdf b/MacPass/Icons/11_CameraTemplate.pdf index ef4b07c79444669ba68fc041d4ef1af81d8dc9fd..978d780ce28dfe879aa8de52a444da7f1480951b 100644 GIT binary patch literal 4353 zcmeHLYj6`)6fOlKga%Q@VN}E=OesjW_wLQ+u}iv;M+1eX4N2u;LD}qX+R!Asv)N42 zj>tn921hF|A06>EzJ5?%;wXw(#Q}VbBB&sPAox~LP_d4R*1KuiROvW&M*sCre%!}7 z-?``8b7#(%;(*sjQe`$%@h6`ie9vTb5Rj0=OH58D@I_;qqyk@z*Cekb$fAU|)TBl* zph`;AYYhZtw}5H_f!ZcT0yW_!AuY~vNllgbxXIXX@{W7vj959n=s^3M+={6dlWSyf z@9JURr5nbzj2*wRBt81<@${IE29s@n$MI!#Lkhz)&99@<3r=)LW?b{}eOu?;^1b`_ zN7X%=dDN-$sw2w24(kbxGl&8IMogT%Vk9X5>_Ip{?zKg*V#@M?Spvo$W_nE-I|EI6Ie4{=9Da zpn}s^2acJfgqXWHp6LWoc_RFh#*4hh6A14GL4dE9l7uBY&t~qyXEC{+<8&0=SGUWN zm}3et4hIOO!kW(1e1BCJW!=De(wx&W3NJKD8WEQ2qlt3!x!vt%A}W@f=UM&GuXv<} z=*(tS3N=^P3eAlIBbujiMrVf2#FaR{CXtE95=k~wZsze#Bo@#0ZD1y{CR$^;*`*&4 z^ZfzBBdZc&Eu%>RLMvf+lu@+Zf^4M(f)oPK0g#2HEG*Q2L~fWlBc3@`F~SDDzFauG zDmOQ1n!*B*PN&P#mNHqb2Nc6F03v`8i7m)vQ$pi2WFk4C3#1#zDX0slsXXNsVD?Nb{$+B#YWr7?B8D0TY83cVfi9(N$l2T*YtBC@TVp3d6Xi4lx z_34Kx_4|8V`wSP4gPvUQRh`&{^~+*3(&WXDhQmD4B!x(XY7t}+!$M{Xq*w@@;BS`s zT(cM+{DknM`xh9!EdPelU0nYLUj56XcJ2*=H$Z zy|R$fsjc*KsZ>;Ct&%-VA-j!aaDkDQFpWqDk|1eCHkyGE5lRx1WyJ6A?RyDsWg@BZ z2|?<{wb^W8UPO>YG|!NTq6Ly+AWb5R07XWO@DaKPx0i1Y*9r7u>s5SRm7U$irHx+| z=y_Jzqn=v)zb5&F|E~xbcOXc=$Q__-fUbTq&@bbG>KdS{Ukvoic%ZueGrElV#vJ$f z<>oYQyD!xYbiVJ;_GP$P(z~xoURLh}DTD_^OtuLufv{vUz`f!>8ssH~Ef3v?F3YJ5 zi=EC(iJ5C&3cXc5bbQh8_ipu{I=o`<_Mi6eLSO7(b^Y{POMRoabw2XpeJjs?)Y`g& ztG@iQH#dztsQjiFc5OI)VcE$sLtZJ}_UXA_3lE-uV|>$AS$T1p@qEYIlinXyc;({r zL%#J4MlYUv-p$6@EuO*8n|>R$d*iy6oe0g|Fns81q07^-`J1sHe!a5w!2CIz7F*3b zUY)vY@3yCxx4nB~`zrR<)fd-+NQLRS@8FDmE9TujG&cH;G1aCMhP!4j9ou#tGxtHZ zwrR_7aZ0K2_M2AUbf_)9!)N<-)DIWd9|*jkJZyX<6Zd z?G|ed-N88;r~R_0Ws<*?ETWrCvv*!a!zVwU@WIB($M62E8h-z9(7x=PZ*A}ibh;_{ z#S3lsL?3LWryO=~oY?-@x9g8>`=NR8{q3D6MqC^Q3*4>m+86geV6cG5VpR9EG z!vPw{h5vWW=WI}%z!R|i| ztTYJ9vPS3vI|xG2W{IF+S9bG*QUuJaqp;AX7Ue6s;bb^mP&m=&t29hB7_KGGbVdwM zb-uK9`jIbB+%^5k%Fe2ys@=<KR4HPj@#Rd# J#T7L^)1QzB2k!s? literal 8297 zcmb_>cRZY1yY^@y7&W3Zx`;Bvj2R_F?_G#qM>iOwg+vJvH4+j;lqeBBL@&{T=q-p6 zz1Qe1_}FK^XXm`x`+LtHXZ`^oFaj!|ereSOAs|p80Y#7z2qq#7 zf(XG(BqV@Hl=W2?pnoVpZ#2>dCTnP8wdp?{L=&%g8XiS|6Wf7`kM^` z2E+cnEd(qi@|z7N2>y4QAQqvPR+v2uxZ843mM#A_QUb z(sFV#veHm#X^5;mTm~#C2bB=Nd6lZFcHv1 zBRwxs6@py?>5j2LWBx!34CLUD(~$p1On-$Mc!lP_NF;CXgh8SOsO~28qJB8^N#YgAjlGUV?b}4!OkW>hVWUAjs8X zx%~GB0wBm$7uqHQGH4f9X%}y!tE!igfC!ris3EQGE&k1>X@R~Rr>Q{a>D5)%bH-GA>RoXdPDzE9509WZWU3tH5hZNL+&GVx@z` z7ztdi?q62qzi=@UP?C|6ws5~%*?$aZ@~<^}HRV4$|7YZ&5TU&H8dk2{beB8iKxD1ipxK8YK}-5Kn#97MqOk*My^OJdHmonL;qa#eQ+8 z$o19@opj{@`#`ge2tB+_!=W$EEHxQaL?Jj&Z)8ElbYPkYFR(49Z@fTR3sLqm8DZs( z_5Iqr<1RxE5wz(8lH0Krw(8Z@lZ+?A#Wd`Hd4m?)vBHv_D_>O`D`jp*fca)1klt#X9 zDPDi>uv^o@;$LhcWXf-+MpM;sqL1ninX0_9Ua2*U(UC9*vBv;|kNp+fH#ZZ(oeaD~%UV30XXkF&=$d$8 z|3jlu`>&dBDRjR_R{6b3o+-}-8^Yew3~o5Z^({ChGL_|3oZpa&)+MDWk0g$z%;;dc zK`Z%1m$G9~G>_vO1Ar|*qNmF)CGx>S538Bxr*^Mik zrt%E@PVw_$gLyF@CGqfG3|LFFluOP-Yd(s%WD7+!c9AQS<@)dZcowD{``e@it6aG&*S%{sVl~sxI`Kq(8q*nkeH;H8PA6}=?oBBgN57fFUP4~ z$R=>zgHc~FJG`|Lywljd@042xU-?G1bze>W6Mmec7gMPqB|T+kEJ|mMWC+1$KuIQq zS_z5~EmSH(aI?M{L)?411!akcK=TrfmUUk(<_otM6q40My{cg4dal2G0I0}DqolOy}7c=n?!j!v;q)Cs-M)!egirB@ib$dJNJeJ898I^wf}_C^XK2in7P zUaG0|+`QyVt%X3zSBKsq3#kAcz!S4+``-z3wekID!a%{l?g*K>D&dR};)&B6hNPvI z?JxKWmT(Og06>;NRZ#7z410~_?)1hJ)B8M~CvoAE@0*u@V9}H3_D@r6+JOD4?2{TK zG-Oz;Y92STfwVu9lN&!fl{M&K>_xL*pX>2!v27pvLQ=23i}R?q(d_-V8L#7mbI>spcuT62tkybc z==^P!Hp!6ry70{i45LTCU{CFwEJGHh#?NUq+JE3=7x<~U-imr5R$_YXgj z8Rj3-%#bAlX<1Bea08UOhvBE{&0Wy>{`corNu2gp*Bp`?xfDH zZ4lnqg4d(Mj1n2yN2-FdZBpK}9P8xa?;aX2*z+so=CT|jG}*nwSBR6IA2Ow>-WwSV zchktT;L0m7hTHM)+|rU*=b}-rYIJ>^Ic#5DZCGg;R9QxqE8))}G&Q}FtvpAZ8P(}_ z7{~kba z@I`n_^H+RYvYhf^QR5#{{7Q+ZirQ_USWR}LDVOvcnDHgT+p^1?gPTU2&ZghLzdKF0 zdhbMiJrrTMxqa4D&nI*=syI!^WlC^Uxu#-gi}}bEXD(9t?k&c1>{{t3aw0ei+bM=S z+^;eeQqN-b+?`{uVYP*;iSZ3+ueo27x;L1kRCV(u0b}I&XF8d3A1;EOhXY)7C0~DR zNvwnxtHu_-o>z}?liJ!FNjIQVuemP*ad%r<)}xna4|or$9Wy`1qhE^NCEzT>z^<;P$RE2EWy?6%O!bFbhx4~9>O zFsWHS9PBL=dxK({KW+D9Tn#waJusXk1G%C=P;N5oS?-%$g53wzrcZCT_|6}{%1@7c z8Y#o@PPnF-X^Ub&AaC}2^2$^7rCaydZt@p#2aS6j`jptv<=2JPb~+U07Qg%s{7DD~ zw4cn2{tXAN&N}~@18~T%9Kh&`l}vz%*B%lMB^Jy7G!&Qb`5=_2?-V{!e_gTtbfUH+ zK(>jD`!uuP8k0V4$K`goa#v2Ax#$4T8tmgDB0D_X;0i!Z7aNB~9Rto2TXU7oD~9opia7ycK8_|xFY$&6Lw9|S z_i6+92`UjNzUneN@rHu3yq#Axk#?TkY~uRPJqfr`7_acdyLvGVv8=rwxmNOb7(S{J z2I7ZQM=_}L^t>zfj9y(+=ADXA$sdFgjDG`BXP8Ne07j?lth2`BR7MOqM604Bt#E2} zY!m|RL|QrW8;ANo^KBIs7bXR_bTV2>+_aO-wNd9eGF;Og_Q4gzzXPkU=$0ap-8alz z@l*BxYE_%lRr*#uudXBp2urufMi_pw|zVeE%l@z!BW_x|u z4%Ra(%{aKa3wbPP{G1337@wSP{~K=nk}dx8aS;Z-%q9MH$X5(=(vgZD2NTz>QHcwf z$H#Gpi7w$qFq{Bzac+ty;VwntLScJ@7&k<}6ihQqcEe$=<%aB7-p@OIkJMOo= zpB*p7v)22F>y5uYz4yx2ffVRy!pWWX8W;GbAr4{?hadg^wO5#+_KZ$4pgjH~))vOs z>?l2zc`sD(jKh@v>>YD_Xy1bJn}mcy>Jv^DQtG&j#?epQy_AAg*b4gth#iE((z~Y| z%C<`McXvCSy*E@J3QSbtMaX-G({=P{WgML(-x#e*c#*ZLd&`G=NC%DM&Gh6aUG*}y zqid4cjOKhys%_Rv`}o7cy|As*p_mQGmOLp-x4RDb$%j5TImuetyV)eXq)=6bAmO*9i?dc%d_Yud+3)* za!hRNK|feX?aZgKY_1XbeL2+0G<2Yqh$+3_GCQC#W|^iuwdW=TZ@!nb98s>B-R)rI z>X0flcy|FetFGLd^heG*YxjtQ)OSk8#j-j*{@EfwE=zXsYi+NY1l|ctquudL``f1g zyHV_ip)0rJKPmR_$tm0B4wFC>S3w=N3vbY67ZlHovmbpHd;e(AY)pKsKrW1Zxa{yt z>?`PmA4tnMNSbK2=gsRTa#1bzarW&mc2m@j-HPHn-ZQpxVcas^PXn63hIlnHrb0mp zxSdkqN>U>E?*b9J+EQ}O)a*IKjq9K9IvSPF97+hzkm=IfxOpb6AoSE$Z+g^qTPa_&%ZCp-E2fJ4K=MvcDDWYHHW! z2fIRPt~+pxqfbwj@_p}%_RmE2*;|oLgqXGpCeC@NFJ|3#0`WXzh}0{l46ssR-0EQ! z(2TJv*ZHxfP{MDJf$XF+jn8Ia!L{`@?HJGAE>x%|Yi#;fisx`{`>FTn3sS!Y5iYaiK9u$s1-yB<5Qgdy7xX{tJ@O_gIB$bxF~hnI5w z=k5e9K4?0%ykOrO>Y$7|5K7{VIER+uAvbcVqLSGuV2;g-x;u?cw!3K^+vbZ{K9f!b z*7$r1m3x~h3Y5a?5;V^)hDfz>tB%Cmg^fWg@(!yBnu9jum2~$+7!scEktDecP0rjv zWWnb zmQ*%Hv3{(zRM8=6;c+pyhw?1vPxT8t8o-^bkz0SmhhHu^q^>TIP?y&s02)?|U{3U<&#wvK_WvtVFvu$Z|PhRC|KwO{LK;9l*HRc2Pi@Va-S;$_$ zf680f5YEbqEsVjFZ7c(n-25EmOs=_J4T=aqG3E^j@2Ck>@SIxOJ*fBEsS=ucb6R6- z)6?ZAfe%0fRk&3{766Kr)?rP4cW5BRZp0Im02WCf^XvHr>#A>k?d(8D3Q5%wcH}kA zJYoCKN-oZ%Q<}T2aR4E#MU;rdb!e~#s|Je^cLz2A8Fl1=E(xZHmP+81=6w3Wn!#{D zoLU)Sk&?FvCAUa<`tCYFJh6p>1M9A6*b(jMIy*bb3Q5xx(7 z$icgfRz5Y{TEWt;1F;~i z8+&{9WYLn$LaEf`bqx%K@rT$E1I?KyUF)tnlBr9ywP{K=$0`TDC=@Tb^o0c~w+Lfw zq4yq>67kS5c#%bb8Kw$uV8Z&XAf;mlO;D|Z4Y9K8^kSiHpx^zd(wM-&fnO8A)=COTb z0ySxF5VgoC#Q-Q|@cQK66Xymyygkzt+9SfyRRc^OUrWR9BY=|Bg??(_P9PpMhutSN z#U5|obOkVA6$Qsm6C;@UpHwu!TygwxQK142@M#urnnys5bU=7;dInVM9k*{B7Y{B~ zsIqLB=9*^Kdk0;dT&kgvRk`o-z>LW>iHu@9p4WlGa$;}K`kvbfi{jLgm_!%K!QYPe z$M;qAvn^lW^CHH}2#2&HEE5uFR4F*|b%JtQ8JgZS8MhK!w1Rc+^S+86Y8$gS`%wJN zdY#Tm#1mc)9FJmbh_>W%L%b2}p;?L~YAkj&sHB+SpCF&`nE;`P53g%9IZpF!OB^9; z0cOEPt<0^d&7`wt)3yX?T$3O+mf!}Kd2${C{OcycM!}FKVy%?-8W>J_ve+>Cr?Ag@ zv&dPiS$vAHOgS`&k8N8iB$I9cGH`EzU`5Cv&`I`yy$BT1ZuBK;9<_tBgHITeuHcsO zS*wKGh`T#3A}%{lLr|Aii1r<^f=!)jvT99NT9=VQP<~;4%{tGh->AbVWl4qg)EDyk zy?OD4`{=d#)p_;K@3Bd7*&Rk-Lce6U$9FQns^`4W#>!61o-Sz6;?_f?xoTO&g{M2{ z+{tlTm0y)wMXu5SRR*&m_U)yDV_JsH&eB>^{e}=_h<>s9cK$4wQEntdXeDQl@Wk!J zx&e2X9h#81gN` zX-j5H6iN-b_D?(N+P@j`Zqc-^6w;=JMXE$zSG%VssaCxBs9U0&mhWMKVgYM`Z~@nt zth4Wi>;}&U)5dj1U@|BfJNagEXf>{huSv?L`ghas_IDoE+105%V0<93|8g(!#Klhzp4@s;13Zl~XQO9J(Ms;;v-?P^pEPuz#FjxqY)sTfgvsmYVEflwEh`@eJF`wys#Hk%89j#4HX>VIOr92% zpKI3LX+4K9$SUDV3HL$Ixk^T~?+j`=W&P3Tvx3m7&@XdwZKc^6ONPBDfw=f0{T%(& ziXg8{uYyAzX1-MR)SIc-&FH6KpT0k$sRz_MKRQfsP!;}|C^F-+R6l&74G;l|rwLCR zq-mvbf4EIRvO_w?w1>D4zfU$njxC+QGA@%6yc%i~d|pjl!;3NaUb19y(*n<;ZszNc zp_$O;Y*ukr9#$qfI@xeG-*oE?Jz1E7nu4#KzC39gZ+!X4A5jkWEC^B< zCR)Y^yqvtJVH!x0+*ny(qgRcYjE+bpxS2MZR!opn7AsvQQFF1QtB03PJAdK^{ZoIk zXVx{=BS`;_unv*uw^MI_sY|qts}R|e`=oK+>)7Y`&G7*tlt}nSWWI-4jXz^4zlBNf zgN^-`wKl?sL`lMA@Jy$pf-kl2OP1$am!nKt99lwJG9-`A`?OhgSb3@{+U*A?nfoPo z{MW~w%6vu^x3b<0tRWYXLrAmE(S;HJlB1l(>`}fjqZ1yd+Xqf9C@QDAnr;sxoh(1( zqlM*zw2h5>k+}o8&&2e$D)pRA>b$tzvb~pF)y&nF_>)bHydD-T43P}^d@UQw8+Iv7 zo$MaHQ`zRMv1VFUhxDyqpWCXbpYrneeQYYTkF_4Sj?+sj&$xazdcL$M!xP#;^3d@H zlms3EGjS+)L`md7s7%L0kyk`A8@Od&ydUZB(Hk5-bKWa2v6@ae`j%%l>tE$7K7E-* zo>CTYd1wr$rl;^YhmP%zafx~}HYXP+<7A&{9AZQ~l23-#M_Pqm+phNTq!b_&#P$79 z2Y%T zy$PIJn(#jc?Kjqhj*{9kQAxCl^FL%g%sk0i9egqc^mm~zXOs||g`sy1jy@`6toM)j zTc2-xe{T%w{IJ1@r=eT%rp?_xdxPt2fbGo}I+x7XI zSbxpv;R17i31qHYk>E!uXk;Z zj=JDKH~fhO_)fc9Rwf(u633j`Kzd}41G(-$UXS%A=tueAoPPhhag%ZJxDp8kRP3$Y zjs6rE{}3?$P&EG%1^-K=1quGQqJF6@3&UVSFp$l^6!k07{-4!k!T&P_`G4rf5Qy-f H%JKgLR!w1e diff --git a/MacPass/Icons/12_RemoteTemplate.pdf b/MacPass/Icons/12_RemoteTemplate.pdf index 61503b3a4a830b85b26911de2dc6e2a6b40cd974..0c37aac5d93af5f9d917605fd0302a987e81b4d2 100644 GIT binary patch literal 4400 zcmeHLeQ*=U6*q>MiDCg^GJJ)kS0x5#;I#LpkGsmkvZRwuEL)L)m@wF!PA5xPx>HXl zEITfNh9)Ix0W&p$;@~C@wB*y_!*L2TF3fb|(iBQ-oF*72!3-4QmIg>>NCw-x`u z_t!7Z{;NB=x9;@ebFLrHm_aV;6pnv-cxL-oWtAt|*2~RE&-9n+jgQpq%zZMy-?r@J zn|EIXi{4mgn{sU{>*^E#&02RdS9@=~zN_ft8`)bLe`sG*-9Kl_G_mgX*PavaWKGU` zzqb6ARuBW})54kRHJnpimI#1rI}09 zL(pb3@Fo0;N>7Embcm;6;0#liCCM1a*9Z#Y7plWzf$r*&P8|{s6zCo|xG{IkE`-9x z^|IirFI&df*YI>ex5TQkB$;G17KO(|lF^75XOaav4xU6{;9Ok>IwU2c)D-A!>IPEb z_8@ji77&A;LU{}`ASSaOr%WVaT#OJHP5{gd2ol9f22+1Xdg!bgIJ3xsAmeqgX>;(a zKo?S!7z03UZLPkR)Jt+Tz-gKW7y$?Zg%W7IPE@!gD#jlg0vX0}2ytEx$CR)nA}TKD zml8^WPNy0g8ELaWB0^LUl{nPH z$JB$Ay4@qHW15Rb!H6&Ls1~TgxTQciSm%J5Vud_XC{CaRv5deNf@Uy!5r#7uW&z)j z%=ntZu*1B8nf4tpMoE4HV>r0J3(EhOi+@eoMPo-u}GNb)Jp=fK+pm*TchMt zlrav8PpH(EIIM|8IKbc>9pq?EKylj7qcl#zKQkquew@S2CZmxsb99Okw|lhi9k?Z8 zT;W7s7{(=oxS8j83MC25fCdc|jnX6?Kyg2b3jvOxIG!BF9i^MbwE#8PMg`wcWT#eP zXv3@mBWab|8i~d4Ym#yJ`?3IWCyb1X+zGlS=o%LT;}V{Tt_ixv#lX0PC!*{BMwcd2 zn8O;sKvxUP?mK%1DpU8T>M~d?snu7$gHbC%oPYx(=u{E75W^Ne0${E9tpb^r!kB>` zqZvzg85BumT8ZM#M}3cqtMJ^T8n9;NE5$!)*Z%bN=XC#kc`Eji(m1QQ{;A)P-3QOT z`TIqYPM5d!(@=iPl7g;hw@%k>ZD<~>`f|bYL)V`?e)ZOC4UH}NpI^VNyY$;r%PZGU z+Pl(w`iX`&3L9=V=2;#!G_6>>p|!%W*?+M#Yhdq5{p{eYTMo^wKQohPBi5PkUeoqm zPw$62T3=|+bsl}Ycj;Sb&HAZdB@Rl*ADnV>P1Qq3nhdj@H{LCI#@C|n-*d*-F=?l3 z`&HL_TjDR)uVmgabnja+|7O{Cv^AgK-#qIA-9_wjwm#o<@s}Ns^}3ku3r(+0E;BcO z(tap3kiT;7?`C!6+=cE4&3`rf&u#n2YxiHdvaxDEqMP)|vw;@ZrF;73^>6z^Q}|w2 z`}vLs9-h|T(K09A-DI8L=W#{{2F_j2p>`{YZL@1^TQAM~`TooE{?hxWjpu)T0d4zP zDXx$zJFT)xPq;k?8f)I_jl8Js(s}TYX`-W$^3rn~OW|nv=EkSXbMf z;bh9(xvj*91i46D07Y(4rk3OpV7DP^%Tw-2@05Go2o8KUM3EB$@VU8o4HOlHpM-~EMUXf%3hoLssyFiI! zmBnaa@gmmbU=4PPvXf*HO|v9svKdS^lBLY7)k2$1EQJ~D4x^o*oK7cA&?X$C>`oJ9 zqKa_Vx*C*-K?zYa$~*kVV4#3kk`zR3&Aq@Et``s-8}hEgD+Iygt8mz&$ zv$7YktTksrPR{+vXM@(9eS=3=6!u)=e^J=eJy@DsTD9T84?f$t=?|`)4e&AG9}nNN a@XnineTS?hWg)1gFxsTe%X5~q+W!JSJShPH literal 2078 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 literal 1967 zcmd5-eNYr-90n!MkSjm&C}Vc)NI_yhZ|_cTE|2?A^pK0Y!4IOjUG_a#=RR<6^-#-E z#&9Ic4^U~sDHLI>EH$UWaI)026cHwlkcvi4tMg+tF`QAG-o4}IYzX_eo!Omt_kG{} zJ-_Goyw5M)X0p79XVdcZOP9}oCr_df4Dqqcf~zqKore@56hR<3t}52+<-p5Hzd%N~_)ute<7MaZc8G ziDR9efOTdi9$JLq4^mt#SATrqz2#|h*2TwV1hGN@E;%MoPdDdV zq7=$;JVx2Sa1q08M@ae~V4O~;%jrDY9+%LrR$%dCN6RK`POVN={7IC%*PQz@Zk#i& zY<0rS;b5echlF5bN&zfNn1gWcMn+`ZzS3B!>DXd}Am;cgim+@9A>obF(gTi)(Hu7b zTy##FkIcaZ#jx^T5qL#Eq7Fwf3cm6YR^~xrFeA)C9l@UrAuRxY-wL4wNWwB#h;!{C z6b~HFwZq7m6b1^*1_J>>XIV z%^WW>tQ#PrumXhT!h=Bcg@?&-krxLqy1@)9vkE{dXP||=pO5a+hc75F2^fN*4uSWK zkXV>?sSGj7C8CDvGqNH`)gx+{x9Oz4&3gh%{_*bQhOzbI_qBZAY~JY_GfT{_R6f@* zYI)0FujkJ1*z=ODx2mK2cEz;D;I-4|*H#5xH!j}h?5EUkauO!3A9a1a#wZRy6&SySyt>rM6b`f>D645cU4Q7( zx8=DX9agk1$=-(3y|3*%+HL=ESKc%mGk*8%+S=KzH}V!-vA!~)>D`Z4E8nR)J@wPH z9Y-pgem$FS`zrDIs&S2_%H)h{(~gHVC7hx5{mi-zjwCMYjr2{+ZfF#Xwo)6ECwkLn z%F3SUyPO}WX!Ykk844cskr!Q9U%Rq%^G$PqU+0OQM*XbTUou)+x`Z!!L#cb^_dj{- z!Df0!67Qg|1-JIzvE1zLd6<3Pj)X;5t7Z$tedpG zIV8LPLQ3iA?N|4PHab$8LT!b0t+JiU9ZjL>(<|>@nKEbK!iD$*MO@#3wEp4XA8$Jm z@Kh8$^?2}w5$ql4xtT9x-Gd$0jJN60)lYmK!6j2Rx1{_Kh7!CrcFk}o&}O50{~t7s uA;%@?Vf}&n&-MTqmqYb9BT(S4*PSsA^Z))IIW-n diff --git a/MacPass/Icons/15_ScannerTemplate.pdf b/MacPass/Icons/15_ScannerTemplate.pdf index 56ad7554b12b59cb934ccb9cd95d04120de56d93..6f62d171eb872db92a11a0f3be24903d290b055f 100644 GIT binary patch literal 4173 zcmeHKe{2&~93R9i(5w+KIFl(kDg%+V@7?vf_DWmU^;((kw$d(RhznfrUe~g=SFTsq z?GMlm5Zn~vqCo@9h(a(3(_s7ogdZ6iASy&02(lPZFhPW%sEg=)*LCY;i(!fUx0n0l z-Fx5f=li~&_kGFtQ|M(qdeTs=ExdT?%dfN=3jql!uuN;S0Z%xhAQ^Zfyny1CN{ArMB&Z-LP}LYmpfa$`uS6Y=gd!t8s?~&gR&V%R(*pB8TT)ordAj## ziN?S7d2-UNnbVHvxz6s|JNeu5dmfql)5QnpPdEnpW=x;3Zu-ROCpu4_=$iCh=flZ5IV&>R*rlwD3Y2c8;i@d@U6khWIFJFfegfTr&=k3CK5vk7MP*GH0 z)hizJodg>jel+gxO*sX|s_kE+QyMQUF>2Wz>^KD^x!sGjt9Op4ntEX!Wt4 zOgQ{!*M$@%ZUvyBp~28#G)QtCAQ^@MkOCB?#}@iTV@%;w`dH%8evkni79|8Z99P0p zj8Jj;fRt41I-MG5aAfj|#s>q%5{7h+20@B~6dwnq0fLd7L}Ab;o|Gf$qlp4Q5fnu+ zC4v3O5&bZw95?7XVz_7&4CaE5YQrv8P7=exMixIA2j-F1la!vKswils7%ODvK++1K z4cuXw%{7hT!Vd^Pxx2s^VtEI~Kylp-%D-%f;D~}XD9KS?aq#hYBrNdiC4smYw1Mo_ z5c@P`R#p;{Dz#;-Bbf|~Rudm6HU)$L=7Bcq5u%Ir7RqSSTNo4wAX71fygAJX#|`xz zhFca(D11yn1Gt#opn#}=K4>utdd5s!^bDkfdKiRA6rsStfN=nKh;Ihh2Gn93QhfcD zonFPIjb9ZQd{*hL!CJgmlWfBGDgwqG3oG;jGyJ_lo~%kd+k0 zS?Cc|*?<~j%vmWhfBpWAoaRVL-kLo(yGwWca{i^otshO9oImZ2P;J#=P4kE5M*oFR z+RNI{eE$?xe&A~7xfO?=uKnxa!MR1xY^y$I-V*QPd`;WO-MYM#w5^uQnfE{SbevrB zns3RXcHhZK!km`i)uV+|x4qD8`MH-~x3^1t$NTEv&BqJw&lgur?G*nszrO30(!*}l z)%v1)#*ryo&lN47u_<`F5J{!Kg_s`N(0V#}+<65(t!XphE3aBf#Y(R2@+1&FoZqIf4X!C!xqm1pFMI zsK=%;)Gxr?Ddh>jg0Bb&eA-Wn_xojuXR`77C9s#5qX{gIT~Z_&jU@;gcx5Dp1x1nx zl5#jkQq5)TVjJs$E|PRpMwg4C%@oUc7&mKzZW=~vZjHVaKN&_uCr#>vt~OQ{n= zkBc@s87E~nQ?%Pr3(8_aiBQYTH=w{xM&Oeqg;4dX5BS4Ph#+Bqb~Qc}1Pd3FShte3 z*}@3*1OhqZXL>x#b7$t}77$nas&lvZ?f;^r`^tf~lJ5O|<#}zJOTMXGU((#sF^)Kt ebK=d3?C^`gy|}ETWE9jIEoM?%Sm>_wX#WAp9Kt&Q literal 1833 zcmd5-e@q)y950lu3AD0_A~VZ)ngIfH@9uiNwn{3ay#vOt0u3xyOt17&jG&9A@FB-4NZqO(O)PyovXAL1q90CE8mmIKnD)xs*k zKo*d+mV}k~tqqVm#t2J*9ncg3NK)5eGHH;{6*vOK85(0Wh6Oc>E@b5;uOCM=i=H;G z&kwZFDj}E9D2oyxDU%6uf=5OY3xkExt8bXtm#a3}) z1~nuZCG20Ah@hrmEzmOmfZ}jCnjDVtFBM5M7t|-ZdtOl<{z5&WR(EYPoEanuMN)>M zY(tqDizSe7SO!+!jc`eV3_(LhV-83SN+I<2k&S_H2bcR~~I@gvB(1etew5Rj!d z6cmeq+9MMIC*ulDY=Z1TPnGkX2n#tE)(L(gvda`4SY82OfPgkh@Wx3j$aRHsDAI6uE~3)sU>S=M>aBUZr?g=FCIIZ(z@yKW7pqC z=dZM!&ib%opjSTonbMiajrP33W-c>>FLG>V!e&JdW!1+@*ziD#I6?B`zK*oK(Gc>pKxbDu zTWV!*l)2_5inbEgkq_qE@2cxc%4Tva7utVcSeu4Z6*Keg`)$N!?WMKU?x}UvdS1qg z>e;;hM+SygRDWityOjgC23HQ*(oe07)%Aa(dTZzLQ!6<+2k$LER(N-DF#-4AcOyHN zV!=PS<3r%-2zdIz;Oj!z=iqF9HF0@ut~~cmM%lY*B7{q|b7(mI`yiBs-%`3_pg>h!pG}3`35t}LmFn1(qfShc_|F*h;=cj4 C3TJKr diff --git a/MacPass/Icons/16_BrowserTemplate.pdf b/MacPass/Icons/16_BrowserTemplate.pdf index ecf966e5ea5a115318157cd496c86bd2cac5d1d6..a0720976f82ef0ca5dacbdd80c99f0c6e92dcf93 100644 GIT binary patch literal 4422 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 TRuAUXlwA!8hUtF@_LlTF;*{yg diff --git a/MacPass/Icons/17_CDRomTemplate.pdf b/MacPass/Icons/17_CDRomTemplate.pdf index ad8d14444962e2b2658b15aa4331d5c1228f67b3..81d7a7841501054164e9b031dd2e2db7d0c34200 100644 GIT binary patch literal 4340 zcmeHLd2ka|7%vn%5L!h*K+s_cmU3<1UTv}=4b8PsBu!`vWn`#sHrq5b*$tablNK#H zfTCRDF~cPz=O~n`P>=y+5EzkLK<-27$Sp7kj>A>orfE~5Y*!;*cb2*!!-m-cX1>@vv|Qqy<+=G>c?n0m)q@Qx zeMA@W2mJ7uNW||Gg1ShSnuRCfb#SgM12qygkxR1FMr8vTZF3-IQR0z|bPDA#ECbPK z({V~e5}5-L0>cS_X#qi^IH|*w9}*jCg9^^{lDkNkXJKOD;8&KqSe64i0K(yLdYDWX zB@e)9ng$pF2m*x`Xs}F>*$65Gd)I-~<5>70CwT+1R}>HhmvxCDIZLfp0yT_SUj9Hs zAR(9@%`u%5{UE{y0G^J4rkvbdgHIqN`JzX2bAb2peqNA+&<}6Y4^nEgHMlkz&hG~e zxxl09p^MHYy1hkZ7Wh&OkVgu|36vo62~0=OI*cBG;W`Y{gC{KGxkfR}@ZG?d_6!(} zET6!r7uU0({L8ixj+@gJiISg{4QwFb^Kz_mNg&`Z(u4R`Bl{?2I*Z7K6l!xUhET}s z*5MS1VKh_$rKNC`)lw|VvTh1xal(z0nJoMuqm0;WjeVcO%@Kk!D{y>0E{U_Oi{mtC z2FAHi7e={JElokXSuK}A(p)BiH{dq%jp6EnBDO~2t5bG#6-pbvD$ww(qFW7Gd|s1y z!p|!L#BB-EEOJ}uYN4xH3^dEQMO`g)HH(2}8MmnGf1^tkFU(<$pQR4Nvis?tfr{7t z(Yg#4OG@?C*P>G@L7adCBj{)mn1*3#{Q#^L|I;AeQe?)Vn`p*jT?VNk;;qEckGDGa z;=!?YmBHIkh}ZC_b~NW~RsInGm6m?EG`~ zl@YUc)-DoNomW=8_Wg-)`4X`7?&gJ8Z{O{HeVO?_7n|tklkN>fgcg0t4d^E!_?bHr^L^!Q!y^=lHd*E_`P4sY8qpC`) z)6VXaoa^RO=MD^=HKl6J3(J1d+_+&%p8D^-tkiQh&!*(NV{OEaS*N?+vVw% zM+<;)!foq@%KP)IBj?Qh*fHPN<2UyvhfX-Pn)*pxIIgfjtQ=IDxO$1bRW`O@m3QANecH;Y+qO}^mtHI! zbWBKEdD+xczW-oNXz|;vk`gBJTQ@x|2~GUoj5$uEi1h_|V6uT+rL6V=vk_6+7P}+1 zV|UmP95{`LEQNUBw6VbwXe#h^{h~D@4{^#+QGjEkeqx}`FRl|h9YEE1vx^Ih$ycjul|363<~6lqKqi*bslhf z%XtLH>arW1#}|QuF*t0q@v(6o7oT^z5?c3R7(-H@q@*6m^;$#H^4hJVvX5Wpre_~N wRy#a-_@MWzdWI9*JzkZZ0B_>>d#Y$FUw*uJw@g-@~qiAw?^eDG#~))+AA+8fM(8zSb=*Hxd92yfK<~OSOyqq z1SCzX;4XaE21un^2}^(-&=dhkQt8lY<;dp_zXGgs$TjgA22{(tk%bk!eq2${dm6ny zKTtr6fZSZI$P0j^v|4E5JR%aH$-{~$ItA`D*b7KXMeFox!l2VLv{6lHGzt|-8I*bz zp{GbSr7cjYjRZ|;6eLq*qKk|QU6I-PM6bF z?{W?!mvj3%S8aCt4u|;_nf3IaieSQngd}IT^rNs!u}Lw#{30ue%>t^E6Y{JqW0@(Y zpqwP*g8hpU%hVLK0tNFA6sOZ!=X8F2Qz9Mgmz{1s(w5ZGC%Z0_9ZXkW4v>UIx=B)2 zowQ>mOSs{f4J>Ru!b=iSAkw*>64UK0~UD@a^6@~*9 z*j5%?2niw=8C9w$q88)@J4H|w4HT4$Q3FP)R45(LzfaJ9+`gERDO0|@J{T`NKF0k z#Fy_>wY@tBJD(k#nVW1MTqqmuJ3i;_yIb3E!@1OxA$@t>=Cem$NdNq`^pkt+li7@F zYX9&fXhPB>JyzJtWaq_#eEhoF@ zb8=q#ZSK*+g~`bTydS^1_{8)|__Y%t3QsS?(`&<5M%jaKXj?fk77Cj4jx$M}4_uFO zC2u+Re%e$7W&D@*2Unutyj!;3{~*0%;YX=f1U3DiIgQiN<#q(GeL698ZSjYK!qx=I U`oEH7D_f2yGfCnvWh9&b1{r5}AOHXW diff --git a/MacPass/Icons/18_DisplayTemplate.pdf b/MacPass/Icons/18_DisplayTemplate.pdf index b3d4bbaceae8cc9463c8bdead96262948d7450d4..22657edc2079845e0d75582daa4b17e58ca0a97c 100644 GIT binary patch literal 4158 zcmeHKZERCj7#^^U*sNnJC}@J$!WbXBJ@>o4m+o#|OSi>!E$bLdCez#7+pSxBZ@InQ zx?!gBVTAA@1{9)yFn}=v8JNirAOix4Arlb{284kU`4Yt-iBW^|+_qaMTMSF&-%gt5 z+;iUddC&Wt_ayIA;B~rC+{_pYez^A4IitafV2I*xG1_dv6$)#T3S419lbn*M1SGhm z#x#TlRg&DKH6u7ffNF#QwH;9jc>FCsEyD9LO_hX*(a_w#+H=gX3d?=4^|fO)PhMVR z_$+sdh}?GDw#;~|yXUMc`g(8Mor~x@`S%(d8`XSo>2}AG9S1%TzWDV(Usut@Gw#H$ zj<0(zmoLxHCl~Ze$G`7+>hnLV8&7q2sUITer+mb|Ij?nF?uxnB?6s%&J#if@*xP2$ zzPHI$-Y@^+;z3j^Ui5oY+=yw70jL z+ex#cHUXSvS%49MAW&$5#yVt8NT70TRtjVg$0@}`H5AoCij3&Ef?tVi#U_&;XlSJK zibRJ3$uV;>N3*CzKthND+>C+IoC4yIPc*KElSd1PKnhC{N!DV}4p;equFw6!XvdrX~#BjiO17F%B zU<|W-2xG9g9tGuJw!?4&A{SKDh@kO8G#U-j%k7{N`tsof}t4< zx1baq#8C#LMAS;dLZfJgpcz_ZENqHth&#+TjcWsXu?;J}RAnbuVQIrx1%{qga%-p- zAJ-(4@Z*XAamRyr#>BvwjK{0%f1}HgY0P1dUu*VxK5GUZk2sYUS7GhZ8JOF#e|1`)*3MKRQ}O%?0*Wp94J@D_8s z`QnzAgI9~T?v$xNmh4^o$-vc1^Ix_eIjq#T+&ud2l~-1rSo+3l$9jyR?Kc?;UDaQ8G^xi8-|gT!-8WLyWK@u%A71iTUgd&q3ya0Q? zM}8XMb9N6Lt}8u%LtI~a{+ofS-1SwZ7d&f9R}Pd+Dup-E*JYqa-URHzRV|@PK_h9U MX=6dbB9F`X4@_{sOd&S~|w8=-tsrxuxwb*W=e_ zBD%O`ZnCJ`Q07cjhB5mGO>{qSXyOQFgN-Q!hsqzy{G*wRlOY(l%-3IOOfCNFOYU;- z?!EW@d_UjM_j3hKtG$#gV|4{T{e1OX-C7zDKoWN8Dk`8u3?g0@_aHAIp#zWxN)PJ+ z3vGa;DGF}GZ{2`oSOV4n51=UmkR;P=GU-sz8#w}`89HM!h849)UgYHEKnO>)NdERf zFa-3_DI>4gqDV3zDU%7>MZbb%X!r99ifw_lR!@bQW(bC{SsAk2N?U9eGgC#;7CS{7 zEhJ0Y?WPK&-expc85y>UB4{&97>q`SX00}wVhO@nt~WKq+MpM8d1zp0h7J_;DQ$oz zBk?;TxslK%NeW;vVi#<{TwpxV-Mt&ZCKqajJ3J(y0D+SZDKg>%y0vX{g5b^K1Wxb? z+$0jX$JYqOh5Mg4^mg8cLE@h89d#C`D!iR>Cc;vDQ=G4m!plmRj9PVsuAsnHZ;vym zBgrIT|H4E9H3b`hp8W?Dj^kQ6?(?rz8RO4s-|BhgCH28E?Wk6}cZ1=xQHoGyX!D8+FZdBqrljZNI5;zy4<_-=%STnrnIp}Z>2fre;Km3`qr2fRVQ||w?cJkE5!|P6FZt6HNQ27Yxxj#~UKA5?+ ztLWX{_ro(sZd815Yu);*W9s?B^|Q0uXBT$P-5%YPzp#1nvge}Gmp^qR`P<7r#q3NWSnBj)A9LGzwG~!+> zeec9~s)g|A;@H;U>U*X84u5lq9nv(_-`sO|M)-)%8Tg`1tn44E*}r{azI0~akLR}k zk-ufO;8w6RynOD$3z>wfy}Nor%!Je>ef zuMEC1hW!ehc@c!B&a5r0pyNeHiFIAc4YHe!9N&h8D{6CC3@ZW?bV!!|Z diff --git a/MacPass/Icons/19_EmailTemplate.pdf b/MacPass/Icons/19_EmailTemplate.pdf index 289b255ec7999fd73a5b8abe8cb78da66b5ce1b8..a10cbf1c007cfb2fb2e140dd1c188531b7066110 100644 GIT binary patch literal 4137 zcmeHKe{2&~9A98ASXO=|7=J`^R0b^L`rh5O-QA@<=-M4D(yg`=mLLn)yVtF(y(`x% z>!v|aG#XGw!f%NRiN6pKhM@I8B<(^MIw^~>N5?W-r)$ImiEN&njh;hk4ek5xO!c%(6 zAULoPsZB;RLAhv9OVFUcEr~!~WO>*~2tvxxk(97nnlG-cJ7#$jmiBIb>{w{>g=)*8 z(up#0CE(t4&(jAEe27n7px#wn*lH7s}B7&M?s>gQqy)GLOQ#`iC&HxM~eW*FMpj}7d_S$;6y+!5} z+g!oo&hVK;GJ%gtWD;>T#b-P=37-Vr2lTkWlk zUDKNY#c>>fG@xk`N06yD)sQlzntGrgWB|vHQnDUP8Zk{JOk63Vr45hGW^R=Ka&;w= z`Hj?+JzJw)))F8iB>`oJV7Mej&gUf4dOUkHMFuF25=b>tIFA}O4^tWlrN-Wyu$1g>|JUU2i{ZoX2EVjhz!(&H z6UIPu-3rRTVh7OBwIin&z%0o3afGNijGZfTSMb5b}?~q@|BWKV#oWuaJaO_+#E@e~480Z?md(KzsV2~+FW1#>HP!2m&lu$M6O zGy>s(lxo4DD(W{`)fr=c*ud8SWGS1cCHwOVhbDvQ1YTwaC^UnPsub+4BY~RAt_1c=wm(H&) k?ye|Vja~2;KaQU^^d_+2){TsgqE?1w9M-b3>N?T-59JZ4(EtDd literal 1783 zcmd5-TWl0n7+xuLvF>UyrGkm(B(`9SaOSqVvuW8ld!v+XyX|hOu++><=X5*lWty4k zO-uxlnDXEQa#0@)YFmvjVlavpZ;g!tr4*$PZLtzmBKrbLNs0L2nZ0CV)~&CeWF~WF z&N=`0fB*M?QyujBH<6p|*6OQ2U--dV#sC5+;%;kwJq*Z6B&hOpNCG4b0MfzIum#wm z50ErV!Djq63`iSAzy=Tj3`GEvv~{>#R+N;CBS4X1b>?GuQKurIpr9r+9MPl1dlN|w z&@iYXN$%7Y6_Aw61^sedM=JEk1s!F!z-``0J>#`|7$@s=`kf?0I%y|G5gg4>9AWdi zInL{Gt|Lx1D3WK9AeuWeJ+*930EgZnw?V0k zjNC}rrYJhFVZ?1Pgt@?YV0f?x!Dre~7koNG0tyf~X-!v=kg%3@FNmU4&WpSl75Ql- z@=xA-wIyJAp_wMBfbi!9)(pNf(XFMQ7%XKsW%<%{LDdIT)MX{C)z!Whf0jWjN#+Ur z7bbG3DHsB@{U1L{se zz>$vPQI(z|E1R$^gd*Rtitr&>q-{u3deu&3$jUdMZw={KI{0~O2&2N_KpU1-5C=l4 zE~i&Dd5DYz6*WQ;6vY6Va@bj5x7lc02lUE`1nz_`A+90llVn{G;|S<#FG`C=M*X>o zjFXWvld!DE(Gvk-5Md$Lz;;=abGuyWf#qcY0|X4Ka-v9LY1WN0OKX_<96|I;>+2`fBN*)A=l3Omv-#f83UKy&gkk$ zBQrg!ymMy$`_E#7zlU!{nZ-4{Y0WtMexV}SWi$56s)pM%*TGIUV^2n-wurk!dLmCm z_X5QPiQtJ3FZM55+8ee{)-=!b|1q<44xVkAyx89tCN9y_OAqcnd&hjIc5TXBS9`eP z$Y{!ZcYS5FgRY!+Y8#cUn``3q`TAZD|2e;GQiN_WS!7tyy z8SqRFJhMFb_6+tZcz$CmacOBPQ1gntN^xew&G?bZ}_wOl$g6%4&od1FO uX1$BD7x*mmpEirlO_Z8CMgF%g@vlv$a^AG+)(T5u#(7^QN&KHnJL})K`A#+f diff --git a/MacPass/Icons/20_MiscTemplate.pdf b/MacPass/Icons/20_MiscTemplate.pdf index a6e5c442dd6f5a5f49ae6628447a1d9d81baaa1d..fda8a3c9441cb7264b5de0bfe9bc0aac87ce9fbd 100644 GIT binary patch literal 4287 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 diff --git a/MacPass/Icons/21_OrganizerTemplate.pdf b/MacPass/Icons/21_OrganizerTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..708241b6a8fd7229f63703e88d09a6914bc152b4 GIT binary patch literal 4188 zcmeHLe{2&~9G?sj$`;KCWNIXDg)tFt@9uhS?@C+N_NXkbTWwJ$WZ?Dg-B#A#mG;WI zYQhg;h$4uCXpn?N#VE=IgFm87eyIc}LS%xH2*F_pAQ%+{lz{KLADwJ5ERp~A(m!6` z`+h&)_x-%@OTM2g_VZqXDz)Sn|I~5taK3>BBv3>1^6hr$4M#K-hu(;wAs&gUgz!>4 zp#ct7Af;BT1C*75m4Jpb8e<4nh2{mdsMDFy;z)?*8|scPUA^1z44Kz7x47!bvm4TD z_N+ZA=gP?;o3v%ryy{E=ZfSj*`9O>`(6&fqRV-xeo4Kpcx#LFH-c|lx<}C zc+tX|;G_;7{8iU3T?#4Ek2R;)wKa`tZfo)3dvr%z>R@F7i*1Wf=mUJF3KP>T}4l$mGp_TasUTI+P`D7vq1*F|9$Pc+A} zFqjN!I#1QUicZ41fwPp^r>0_pSdTOiLbYMVVf^*eokkFr9LAYuAL)yEP+fR>I*x+r z${Aw1UgRX>RHwn7vZbQ2C_W}gMI%bWmU0*cd=g~CbA1^aLB>R@cNksz2B`M=fk%xa zU@m0{ktEH)%9c`$)kIq!0yIg{kYpikA}EuM)PJCB7@Y<@v&SXb7T~>I;qX6)u};%s zHV7LU8cG{XrE0tuQXI!Yl7=)*U<)GAsAxipP!i)iLAr5xln~?Lm=;zQpyLW5HK{p_ zMmj|VJN;5f@ifR<5gczhsN!Xv0B=-2klJQ99Xp#s~1VxdeC9ogWuOFt= z=j(CpH(WFddvd`?wPP2XPnE)QBafeq6Z6Or6iv|d44SmjoQ>orla!4l?eHecY_1s$ z4}L)S$=w1*FUy-Sx{K>pQ2u4x3r7-dvKo&Hnp23yB4JU`FA2sZ*$%T?z3elT*?3h< z>eQC=&SWwy*;pjX92epUSw@JE8OBNoA(AGnNU%yQYZYiw%rN5f_4e(9TdpKDK@m|m zE+aE66Jj|+uUaA$VnPIqB$8kxi$$~`Run0=8@HEl7p@)Z#n!9%Ix9P~ic1^6D%kU^ zGFv^hc)KRqgl|^_j5`=)K;#b6HAvTh7#NW8V08`BH6R8CWIR}1{~KL~Y-5gle21|C zx7~d;1C#ChGkqCumh|rH0p6x}f)tGhNpqPdu!JN_CPCaQ{-;4!QdqLk{iw2Tl|j*2 zDKUM;_D9<)bE&**>#i=Aqwh6OocUmTaM|W@R~C&~>v6qyZRgUG#mnmN`p#(=efDN4 zeeC4Pt-0f_zItK5v*^&ChS4W34Lf+{*|8hX-E;W*1a_gzbLx9`Wx>9&+{IjL`V`QPHxVc^L3Z|Qf|%i;wldUS%@SMbo*eX-nK@d#|3m*Q04F1sq*^( z1%oc2#ghmIeL|uhn<}VNk4;Ny4+k}TV^9<_erl}KFMAJMHeRP9_6zZ70&8WD8c9Z# z1Yn>)j-;@tsd1oRM}H!^oS$ts)0~Czn0c$&Lo+OC;XDlGrb#PlA!(P%!#V9V&$y?t zZr00rTnxurI5$s`9^PyA@?H;KcGkdhMOJ}cb%Aa{ZZ^Sys%k)&uK^egrxBpY&g`lK zNQN_KQ&`4QHQ73;J01$<44LTl&L2K;`0)F{xf_oUfAhwUZ_19GZe3Y+WXFw)yp;uI pKUBHOmdsss2iTSK^{A1-z88U8^SG9ZBRSv1viM^{@w6&${y!&y#PR?D literal 0 HcmV?d00001 diff --git a/MacPass/Icons/22_ASCIITemplate.pdf b/MacPass/Icons/22_ASCIITemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6f59748d7f73a511cb7ea2bc0517c9fb6bc29686 GIT binary patch literal 4118 zcmeHKeQXnD7#~w-D62#?!9*d)>G%j--}~CyD{WcZ+sVvs?N-94AlJM1+OqbpUazj} zAHV|gAsb)&VItuT_OsE{&%d~@McOBgE_r32vE9;s0{o(a%E_ct^*Zt=eKRY$PGyeuV zcLILu>z{tTw)Xy!rb8W*+wXq(+IDp4UqQ&J>T!f3SD48l?jW-z8;7itfpv!ovL`79JG z*77UTSmcW4TrLpFMoo*W#bQH0X#>C|+C1}eX-RH@CKiRUgyzL>ANvZ&5{egJR4tNX zItb&5`FR6I@{J4Re2dH}_&lG@lXK@%=@hyqmP;kIj63JWC3F+$Mz*yLaID~Bws>*B zb$~4v!&p!^AXe>Q37I6TF{jHxu}+4rnS;?JMFY|WXojE|H);K_;=+A4WO)olbvN@u zF&+Bn#p9-#b_3Ab+UjU!9J&z$6vuIZqybG6$b-nVX{MATw9JeBAOko&%*aL}Z6

    nV_v(tvW1V5A^L9*jw6jb!0!iVR>9rl4kK zP#iU49HLYd2SZ0pmr8-bTF_NJD8w!5NMvpc-h`*X0j??f{E{>^x-gI@fzGdO;15@rCzjl7(obt-Dk1vRGhx6nt z72~guV5*eNKoAf?qcv+LLC}v`vwSFAJPCzGi~IO#9KHo^{x1L|-3Hs~& zJQrXDe}H0XPT=?e!`1|Np5ZyZ&M){p0kr%y%g{W@vO=BUr|SgL9}sAk^K(v?^eqSV znyO<~t27TN>1q}<>$-_qnzI>15_yPGWPf#wo1qF8Eu)b3q?VUHZv0X-T2?+?5E2#B zD=MDHZuAKiAN75HtM=UWT^+UOKIm(x?1;4=-mR98|MEs<8B)33u?Z7~e+e{D8)nXc Qs-1CB)%L2Yx{zT12l1Gsi~s-t literal 0 HcmV?d00001 diff --git a/MacPass/Icons/23_IconsTemplate.pdf b/MacPass/Icons/23_IconsTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4387b790e6e4e4876cb31fb81f7b46a1eca85551 GIT binary patch literal 4293 zcmeHKeQXnD7$3|G87mU`7>dNBWQ+;zdw0Edccm?DcPk85R$2mVb0*ij>sHqG%H5T9 z1EhS25)nc96mS9=36VJnBoa|TMZ)+D0VW>;@+BA&5Qqs9=6tW~)(MMYiTt-W_s4th z`#itreSYurCeJU+MLRT@)}YF|cKzgORXT~Fh~S-}GMRwGACP$wI0B5!(>yD1JX{hb z8KFQSA1aqC5X?YgBFVG8$oI|77j}MqbnJZ$;XFkqJoptiP9Zk97gzCqq9^|?l#j6{8d^qORo-Llw*7<$C{Ck$v z>5uk(ux5QpDd^c)x@B1T)Y)0L=5926Rnkr4tCoeM`BQppN*WAFxl=Bjzi_ha(=fS;zP;Rj(D2lIQmmn~~ z5>AmM@I<__!qRkSVJls2z)8YPW20e)t>k6I%a{8@X7#XBShixIgx+%Ou!Q49wt32>bT(-~3aLlQ%6Nry9&$oY(J+K~tc z|IF$NSq>WksH&>cR_U~YSPn3Xq5z5m9M?b#jZ__ynW!ct4Q~Z$!=ZVJ75!n^FN6>U zm+=Y_*{oJ8f!aqRuVA=6P)O3obJVgz5JZ_Uz_cjn%!y;$eZmnj5I-8n0zSY8`H(C@ zKde(fNU77=?%HX%U=XzD0*`8fE=H%o`F+(id@vTsBcZ`?4USL2Q6o+nQEC*58Bx>( zp0Z5l8pp_k&j&uZ=fLP-`4mQ5aXk;pzid0;aIDcMh(SiSFyU~(&oas-fiUMYf#g;P z`#5DrT3{mzwFR^#67h3JR8Mg_f;4C_y$==}K~Nemqtj_v15PkrA4gFr9%sbq?CARp zZb3+rnGnmj;p$0JN8k*vF%Vu{!{`ZvhGbcv24lUHk0%(CV+?J$9efkGCZH5shvI9k z?D#4yZTPA{`?HE~wb$Z{nj{l`Q4t_+caScT+f7$DU0q_JOUB*R)lFBI80eC5cXj=5 zbfqU7bJ*jX)m5AptNMx_(Pa5zw$iZ_ATD4LxEV6XU}21!X_ zNJ4j_$r36>K*o-*^-oxbnvZXCAb?sw)_@ zN3>onyLkQnxtTR{$j0N%1vggLUZ3a4?Cm{qrN_NL^FP0t+OPIb@v^ES+lg9l@gQnI z4!737V&pxq?b4TYFlSh;+&it5;ES*BIh0{#rEOfV9i!ag(sw>sS5mn>X8(EU-6LNV zU(ijiAN<$k%!6ga{Xb1#wd*5C*jE{42met#cEkp$!L463T9tjcq<{9Y`on1@TGgY) zGfE#HTy}t1Ic(s>lV_X89qD)en?-~B=YQAytMg%ly72bCKKnLR1p3Vl%+K6!_Dwyv z`P|Wz%3jsK^%dVc{n`y<_0XlB^?k0@Z|#i*SbZ6vZ&ci#q9=_EuuX&o~$eNVYlnHgK?>u|Cxyc)_6?hOI6OeddcY;Yu zgB$>PHbfC1MXtn7k;{o-z+*#XF~S3nlaVT+X^3xCe)&;(oJWSW0azyPCxl!5k~dBz zrLr7!r_>lHX>N;S@}f{ F)jz=Q@Ff5M literal 0 HcmV?d00001 diff --git a/MacPass/Icons/24_EstablishedConnectionTemplate.pdf b/MacPass/Icons/24_EstablishedConnectionTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..199f75f39fd64c27efa8228c5f7ecaa4285bc392 GIT binary patch literal 4438 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 n>w7rYSh1~k#Vq;v8JXW6fph+>!_(v literal 0 HcmV?d00001 diff --git a/MacPass/Icons/26_FileSaveTemplate.pdf b/MacPass/Icons/26_FileSaveTemplate.pdf index 99c2c0a97a21c93dcdc804114f006f6b099896dc..ff7b94841598044b3038d167d698db39fc7e2da3 100644 GIT binary patch literal 4159 zcmeHLeQXnD7#~6=G%JjRL=u#oW#e=0dw0ES?=Ee(eylQG*V0ZIOoG?Dw`*B@*Ichz z8HkHpHb{niNmxt>K@&nUA|hx6rik(fPC>$O;KycwM2Vsp4JIVYe6Q=)$ri&B`EPHU z%iH&Tp5OC6zkA-~_grbf<24c{i@x;6%`f}(ItIfrIlMt{vjJ}`u0jQP@B4 zmXwr=v7j1C4Qdo4EHtRWNKm^m34uSnA*3c8j+ClEKB3n|2ita>)wSY9?dwbZ@0^%7 zP^k;GcM!#Q7ccBBa(BJ(&CFkax%%2bdp-7a$@=>xx)~)qm!BugZgb|9J)Nz0c3(QY zspm5O#&^9DFXROhQ6rfLK@PnNAbljMa)sA6H*5R>eNJEzYWu$X8!tfqaqFX@KS*ve)FhMH?? zh2} zsj11-WH!l410YzI1vm*v(ugdKsg07#XN*#6(J;sejt8a$C6-iUvV>{4d{|Dac7s6+ zG&*v5C6c3oq?9R}qe+kxAj2mCVZy;gPNFdClT0h|?9oI4z&K1mNlhU?VnRPesn0j+ zI$^j(0*vN@j%q_LoKF^Gk&Pa7SsaK*%1Dq#lB^|hj$}EUU4auEj@!Tkmib(>7;bcR z&}DlFj4_rEV2l*k!=U`jb_|Xva1mKa@T!APCgU-I*Ip7xiV+*gZ;i3fQpR~?A+1qc z<#D9bF_EJpJOQbQ)d+b@*vOES)yOiu)yP=rFlDib5jw(W8S(kX`i{e`l2R%!32+3L zWW%(8Q>>AqExa)zq8V!?p^=JEmas*H6coe}+%dj6TpQ4eZA|eES9W$4l{UInVDwsL zw?=F6QBCp*KdJ}_cPhxF$ep5Vimpj9Fe&4y>YAc!QVdMWc&fVoH@b9rVU9Gu-Oz+& z_xPTH%Ip5DE<<8TQ(sFxoTdZ`5)GVWvm$T_jxSjTkXHOpgM3S2$wN=jkB#(U43lpq zR&G17>$%ylRup@V2A_DTYsZC#6~x<}gvnO0${IBcmLKcx*mg?g=igd>>IdSfpZ;#S zD-~EaUl~&8WZK%hFK=?(Y&-qY4SM}5dB?)5OI)tv+WqZa2YugLdJ-4gFV}v+oZa5r z-SzI)Ro9~R*JpM8Hho`stP7Xfa z8{1|7qdRznfBns(zOv)<7XA6*?77chIhgMM{OFnME&B?l7xZiv%g0k|&FAl|3SkjG zo`S&T12vjFjRUt6)8xNDklXPGd>8>jPE1wO5QKbusu7t=aJcWP%&5flF*-=$;=;lO*v~^! z;h~|P_bd8;{Is*8zjLU%sI#K9=zy+eM)~yV6)n>Wde6?H$G-`r!4);5z=+<=(CB+X JX{Fz*{|8RJv5Noz literal 1876 zcmd6oeM}o=9LLMbD2_H7b&Q!vo-MoxD$m{ZdM%1|rL-_D&{1T>%GN7=fSY|8*JJJ6 zhPcHnOfwgSK^Dz)15DIRTmYRj+jKApW3WxYF($r{F~eVmV1T{F=lYV)Ao#DBwCVME zp8I`%-{<>$FWH=9e3r~$6v@9&4*jTDMFRqO?AsJsS{c zw-+d(nMV$;T=4LKq_kRSK~JkSlum6VvneJ! zQ?JwMGS##;i_l>}6+s(Gil#}8D$|g|(0Wo_LhDp&wYCgybUTpWN&`(9G$D7TPz7jG ztiMC-O$m!U9s#H@aS^m&Eiex(-nkvY(jrs=H(N~_Z^HoMJU zX}4WQcH1*CC+{^U)ZS8(l!?7Pq>+JhlGL8)uSJzYi$Z#N1(p~5JgQI-isWQNp)sVO zf+Qn?{fiP|Y6@C_lKBUU&1S2x*}m(OL=V)+o9o_wOIqJ6?~%)Qt<`kpJ8Y6zLh_1S zTC|3gM$-TyAuI{ zuR#H`aL5P?$YyU!Ey8w;yHj4Mq^eyM)6&Cpa4`<#&RF8$<@71eEb_q=!V zP(oMFasTd*dgs0zub!$t`&e!57+IEA`p#MDnT5QgcXJ<2nwe}aq|fY$J$gc5(f7x{ zs8`JhDZU}Ps;^UW|LUQANt5eVN~QOi=9|eaS6%YM>-T+Dblbphmd6~NQrw6!4F8rh zD4R=st<`_3qhY*mLH|o3K4BM7cSos7xkjG;$!PzCg(!)7qNTHM-7UY*+;YC_hZU>W zTDQ!6tpB{lcC2G>>z4JWm{v>FvEH~lzq()jpdk8U<&oXj_P6)F-+1D}=U<@ z{l$CN!MDtC)0;m}&L#e_wJu81?%Qfy>~_tvY8pA-ivh#wkf{kqpBMs#_H7oy_27}C zXft7M|LTfwR$h|#@<3X_h;L?O?jr2ZAGqS%QA`XgFV8((*FP_tPfwVZJ)hq2cw^hN z>`qF2rL=LXb$Wkse9QFdl7??&O-YAarc+b*{&jQBhS{;PsOSXA_4dSx#qi6ALlB-0 z!_&*dmju}d;iacH5yNwXrnG~M^uWrVAeStu?bG=20LsXpal00y;3y2c@_!KQp?qD3aB&U=!n+x8Xi&?xSqOpe#`oOzQp})cc1)%SWo&I9$bHe*Sx9+*GByVpZ{c_VM z>km!6tEk8_sSUmR&H7;*ey^zgpyfXGd2n#ZOYDOa8kQB@GybTj`lB}n9)pwC-0c}~ zX0dN-yL`&WEpwj!>g?;wOAnvTTl9FbcTU~WYX%IKoBp^E{9vP@zhO_R@?s&9rR-_( zOwXFiWgkGAAPJfPXuMVhgF+oj0!wC|N!N?_VoDvy=_tCdZkJ^)OApOD95B=v)^vJm z0_7b%bpq#@a!pPr1hD~WAdKpwvfFfeOPdKqCAVp&H9!UuUQ{2Q)~upXb49h-+#s@& zX)<%-<*e$fJ1kfZ!L(&0h3qe_&r2YfhVd9K<=2E4Ivx@g+!{L8!Q@y4ooDil`DRatV zR@6F3u`CNo8qzd@Er?{3tO;pCPLA#X>BQktQdFY}Evm>s#}&d#qvkf5^gvxBn^!#1 z6-Z8+GdY??B@WX<0#arY_T(gqT|S9MHI_M=BtjHJaU^R=>__$JhbavNx?Fn<7mvfP zT<}p{*u@!8q-dmx$1jD$JTe4D6Es~-lTMm-lI$dsa+0JA{>?I%YX-xM-wl3g{{o|% z<=-$mi|gN@{Kd8#jwCuGiW(O*PDmtTQBlw@2_~e73+A@E*=Hzo@`~7~Q|srs#>S}R zw2731MGPX4U?&NNWdwq?S|fzj5y2~Vn@vC+j06JReJ{iH%Sla;MbwEagc(M(N>+lk z*&IYfVkkl&9S(w(SjizEMB0ULhG~r3%{Pndf_kxaE544(&aC3n#;*!?J*&)CS1tZu zlU&08R|JgP7o=C@_R-ZxSFaf8m2qEn_0iQU26|=OS6%-ZUB+Bvj(dE!DTUka%QXX& z>-#f(8E%&J?rS{n)H^|n#)G8UOcOYcB*#sFxL5o~gPf$W<)C{IV_B79u~IoHF>S%R zCvU0fPZi96^T?q6AMUt|o;7i&v3Tda{?&WUtEUm?m$s~MlrJp_e)($K;YGuDt-QFq z->8*C42ysN{L;AD#Z#nHcp&xbF#qI@!%wbi&wGAb@v!+t#rY*;c9{Jw@A*!t z%x_1&D)?+c(ZcZq4ru+R-*mlj?ZJsxk6t=<#*UG%1&_Tn0R3>)r%$|6TX*jY_Q=@t z#(oRFc!B(Am~E>O_pEJ6bZEQNF{8;ZZFZu4abNli( z><7YH{?LR;q2uqrJa75Q`}g0ld*2?H_w-ztcgroCIy8dIueYUJuX}N@Xy+QyB~Z3WhvDQyUQs z1%zY+HkDC_G%QPNQ$rdq9w-VKKPA!Omn#W27q3H;2L&~r#A@BE#2Vvr5->2RA}K0r ziV7&2<9d?uetwqAX1Dn)tk*_a92Dd5lBJ$9tJUUZsZuY``$~DvRmM^jU+Uw_>~@Or z;tJ+H6iJfyQjd*t&~~1i4gGRN0r~@|>ii^NWnh(}Xh2ueRWKB7Mt~wava6{=5jb-e zg%ve5J6E#x?cuN?Z>-P9<&VwJzYd(Z#O1HPv~|XmgWrpfPC2;$Qh7o7!UtP#goc5C kTv1@?mv1<5+<4&fo4_(b)zT`86fz`*zh{gotMnEA38^am-v9sr literal 0 HcmV?d00001 diff --git a/MacPass/Icons/28_QuickTimeTemplate.pdf b/MacPass/Icons/28_QuickTimeTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6a78bc475e4026d6be41492bae735b74f2c9d700 GIT binary patch literal 4206 zcmeHKdu&rx9G(MFmX!?=0g3TY9gjeF?!CQj?=9VBUAw{zcPs0F31N79@9Ea9y|>=p zvW}d#0#sT6Zu;2ro@d2na@={Pl;scoHcHKJJVpt;o?WTX6 zp7Z;C=ls6&JIVLuc-Az zYJi0^kzA=&0n$prVnD&Nx(I?L{%W5V=D4V)A|Y(Zs5)I=aya8@BJ;+^rH4z0pDN7Q zmzgDk3%p~)nALllKJ`Rav@H7RE7J?vS1Kwh)NF757T4_Uja!8ee`#!8J|+EQKE9*w zlcrPCpUloSPi{d+zH7Q~|6j!w$M!5&w}G~-26pA7n$4L@Cbm1vPV64~Bb@xkBIn>M z>pas>%a=UdX8YxDuI}1WaOP_I^XtdCo~UdeJ$RU0ck^%WvF5ZvX|1&-Hw;LYlBdNZ zy=pR5J&!a&5;Or&c&-$Bg-R3!=EOKrt_!b)luC}%QS@9rF3DVy9*Sic=!^L^ot|=j zW+zWwz$vC2)8Y|9tU(&^qspM1XS{r{#R!5@o^h^)C-{g9RRw1(R*`RUahbTdMr0-9 zG%mvtx5vYgFg_-TheLAI9?vrh_$0`V$NDrhf<%Z`lV^153!t3$0+*s9V9BLTB0*Sy zjmafxo0+ms0Te+}kYFHXHj!pKq5nYgGjbVtts!co8;&togiH}ZWI;OU_=WlGSG1azY^2(j7EKn+#b0}TnE&ftw-~9c6MSGw>ExNu=`mhmb!cK zP7P88->Dri?!YGfB6onU0lNCdK)-?qx@&;0elgIm;DPS?-{{In33IIR^Nh7vcK7xS zbV~OpbQu;)y84>vw(Cler0_>jY(fN1AczT*Al8ci8IZCR))aIfW~|F)nAwz-nDN}3 zvyKWc$qR`>9_O8Es;mfgqMeJT8Q?#GKl=d3 zs$myfr#{0s#toC{^6k6!hR#;CytsPJYv)#Pd2B=zfA2=W{72*d8ez?%yK7vpZaX@9 zM_}ugmsG_7AJ)>9su>1n3 zp4(bH??&@G554~ImFhy*s9j5bU-sLa%j*`7^!yu& zArwWhfQQApq76Zp6X=ei#G70x@$!I#J}1!B7=k`th}Pgx8FgB4ZSLof}*CVfTTFCFI!#Yp6{@_%pRJxQ8a6% zX@+nY5LUO1uv%CfNx2v&!#N0-v%q2{+^omV(2U2!FgDUsSYRa!SZ4u=#p?oCBnK3r zH)Ls-MYot?siJ5=cebU_7hH@0Npx0MUWx*6?tBtETyjCGg{n^b{b}jrJsxhz_#s2a zf{Pv8kewZG&&h8)E3VCN`>bPT=Gyo3zbqM+zv|3WcY#A`$3Gv6dS3)q?Wz`6QNUnk N3EGg8Q&{3L`~z41$*BMU literal 0 HcmV?d00001 diff --git a/MacPass/Icons/29_SecureTerminalTemplate.pdf b/MacPass/Icons/29_SecureTerminalTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..da08c27fddf2398533e990aaed0e1346a3397cf3 GIT binary patch literal 4486 zcmeHLdvH@_7Du#C8cLBt>|(iuz8IT+-@P}FdqWzU=Fyfmw4@cfTeRNXdy|GdZcJ`$ znyy`3RFn5< z^}l|TKfZk5Ilptx@18Sr&X-YcFv-wdr6l9h&bmgT(EyXf#j`$Oa#1{M zU}=tFg(IJzM@Uf0dhC2Hf+`hYIf8-8dM^vgtZOQGw^r-teJtgcB-Wn)-Nqw{>tNFQ znvAl2l^d>0pIY40Gq32|%(P=k`qq_S#9tpg)qHM!HL@_hW+;93J=>ozKI+dIRO9Kv z`{VxpT6=rLq0ivUA9&h`_-9^Www zR*8M{1OGa;_?^de_gtygw{-6AdLg;6P4#A~vUK6z)Vq3%c09VnowKgH|GB=y$uEWy z;Ixn5EW0gXJxs)5VJ8NTMhP&pJjGBvgWXp^ z@*)gjBtd|RfRz^+sxp_3P&Eo1B}=n3=%r{U%Oh6S?(pPEZ*(1&A`T``x=LY&X0M*D zbrgksY(;2!B^`3oBqLp_P1FR{LATc}xQPVaE{|Uw%#%`rC#+i7i^o8UghhB~o>V7Z zAXVmaM9=wHM3F0((GV&S6_Ja|RXC>1K`@A701^PhWhkzO;tz=|sWwsAX?%=LZ84Z4 z=7fKF(psMPssX60tIMs!b2*E{2qg;k!G7PK4pc*69kbDrL zY6vypN0QN4!x(y@bcAC22^ixfe}plbTt5Zn2eRXE7+P)Pd~S-@QeLmiK~v&K0$#?Z z0nw{*@?px<296Gh)D|1Gfq;Wi6IK<@61YO9P-2t}CFLp^slt^q8*R0zNI8iqBaE2M z<8|-AE%x|%%0siGxGYXGN@!zbHj1>$XqDV5BcKY(6f^-z#tP*GB*IJ!xZ`vqxEdfP z+qmQ#$?Wi{klI33fw8g*UybGB&$WpL{Bv0laHot+irgu>rs$d!1CtV-%C0H8CdI&{ zgr~CW|3+70v@sWY{5)x$(01QBGsvTTf4DCbnkBLO$~LIQP7uX}1u-(*1ZF{)wHOG! z;{Ozgjugr$^aS%*WXe#W%IGLj)O6tYCz?NpNo#990`Mi`vBqDsPZ0|bT^gsus5jMt@@^~A2GHzd^=*a+=h%&Ro7^uSOr2}t7pyJRY4@jpkWdx!#2ISdI=tdh-wY+W53@p?P>}g)o^4*q_O;~B~6QNBvKiw{Q@ObaL%rRBxYdcpDoK7BCmHcr@ zPJhbAD+9Yvx<6dxY-pL;eEp5K4u*d6@$8$e9j=Em|B~``f6V+vbp>ttskNt{t2ZpT zesA+Hw;f&bt8Z@XJGH-T=ZR1LO3&C@b1_ace9eCA{-Jm{ZNYT;&O1|770n}EaRp+d zTz(c5n89+f&36I44iU$wvhv7HS-BZOL4^+CeE}9!m?^(g5cRMl^Q$q)7gq2>h69=k z>v7%@y=dN&QF|kA2j!H{?H67Z^qec;_V^JwDEG09gXTFOf?`_jM9&SyhH8!8Xf)!a z3CeM-K#mp&^E9r63Zuz{lS-&kL9K?=6`;5Q#r1ju$}t5g2%w}A$8-?lM$ABH9|px9 z8;6KhY8idHP~gDAaXcc9`xa2)2(btXN205;ur{!&8WqNV^xWSJ RtW6?E3ArRA!&qjL{1^I+PR#%S literal 0 HcmV?d00001 diff --git a/MacPass/Icons/30_TerminalTemplate.pdf b/MacPass/Icons/30_TerminalTemplate.pdf index 8ff81c20052abfcd80c7235c7b06218bd9b03711..665266e72c2a7833ca8e2f5bfd3f9fb34cf8ab02 100644 GIT binary patch literal 4201 zcmeHKdu&rx7#}QDtQ!PLWNaZ`N;W`j&wccDOIz0Vu57TbOS{Mtoa6T1)2&;3Z+Cmk zx&cO>A`Af$BP@bMB>aKSR}73f#K|HAh7lo}O)?)u!$Tv%00y1sc8^ZB7?#L?yXhZa z&-uRJcfQ~GPV)V7OBuJ8&>1sxfB5nIg-o>>!!a>XlWDaAcPK1F3An?o3>nCYJVZ-U zOvY$X423GW8Y7HmP=b-5tRV`4H&El3BX)aCmLMC+R99c#u>GWZJ)W_tGS~ZF+2_A% zHqP(p$lBaEeJb2EJN(W^(|WpFW_1g~+6_Ba-`#Z(!_xOS_i>>a9XonM*=zQ1bW^>1 zI*Vqkym6`|{}$8U@xpgp-jP3cxB1w6y?4^{D)Fr=>gHsdm?gEZXRO*$H~Y1&uAHA* z{53b$O+E;=ZECCN*|^$#^{905gP^+MqWYV~&Pg4eo#f=}J#yde13vErRodCL-oG-T zzz>`mSxW6hiUSXnS)P?yj6`cbP|8-p7)B-SWYI3P7Z$7Rb_GR=Rs06{8z70K&1T?_ z2V{k$a!+wTTZ6zUzO0K9QI@NPG8TYUA;G5k?f3}|7UFH1Wd;xKiMn8QsIXCj{>G9r zuCbP*dCelb+M2K=BGCvsCYFeVg_tE_)3E3y(1L7b8ECMii(G5dIFt>n+*69VL7y$`33J4tzMhoJ(p_ph~3MY@oa{z{61PXEt#Sx>%Axb@- zq0mv&MIvCR7IaiA3bA-ZJ``+V(0j2X9`#y+)RJTwiCak8g3}9d!h+*gaGz(Y)+B}t zy&m-59spyQ=Y1H1&GjHC|MDG%!*iCPC`DM=&PJo*5XUN)1fqP<3Q}9c{F9Vf7?F!B z)D|)Jcs#^gD2k=|0FG+|1{lSP-T$j zl$0oZ>BuWZLI<8v&~g)C%bN`4-Kv6R1=Hl6=~*+MSh@Dl?MKcy!s~^cFCM=;@8+(F z*7h5}-)eni-<7NgfA>OM3gHth56!KCc^j1*Q~Fjv_x6WWzBCoE}i3 zjIm+ha$t%~@RknjcuPGP0sIb3mf{fjJ#4HNxeBmfpA{tJ#eNyxAmG?!oEYtoOWg~d z%GWQCOIaxrL&Di5hT{<-hUr161o;prixNhVcKc|Gx`SxZ!;`lkAFAdogO&+VS3%2TOwuxou&REPT7 zrsQAxIlU?W()GULjHc}TZ@us4ud8gHfPI>F_Nhl#jJyams!MW0g27D6Ow*aUxdmQ# F=0EM3$wL4D literal 1838 zcmd5-eQXnD9PaF-INCVTj1iR_$v!M|d+)Ay*DISH>({o>ZrxfZNv-y}zUvO#9$s&3 zxG~2R1T{M15ac6)IJQ5~1cfLDGy^szFmMZ-f+O>TV5G!o1l)*O;(Pr_W9H_+zRA70 zyZ3$X_xzsU^LsAeX|WX(C5$Hjr|Vx|)?`r_jtTztnzAxr=Od64`Ile-BY+(vSRD&$ zF$P#Mg3>Xd2EBD-1g)n)73RSx62}OF_8N^E7zxOqz~&hmLpp{9HVOgg3~y&0lrZZM2sMfMquMZ5)^?g#7Qu51XNo*Wh}{9tu_R~WHV4S%NX<&!`RHU z6{l#E-d15OGm)kWk|J2vL=qHkrC6Q8z|f42z)6eQVzL;$pgIzOZ5|3^y}%A5L8%#| z2s!>nIX4>A3xb5v2ys1dAubRe;NG+Wf_3$<2|VK=FcQO2(oso-Tv(IUJmvQXvVDG^ zKj`<3Lcj0HMSe}ewsO~dxy$?U+2DR_Z@ z8PpI&ny`OiB88d+E=g2vJGm48$`xa}pO4g6Tpt>CF|QWD?pucnK1Nd@=Gwm*8Gt3PBi1 zt;N^lYiRPKx<@1!k)oJB9>pvQ8|K;RK(gTGSwkv9A4wvuhf$$LY=p9`tZh=IOG45? z_mwUL2$#bkSvgT4C`x>Mm&1%FBq)d;5+_Lt(~)|H#Tc5_(OzKT!(r43OfGshXt$9b>pTp8v1ZuVquFTFAS zW8I4{to!D`x$AYuCuhICT^4P>viRkW$etB>A3W92_*+N+!`~Ob8vMd}vNY@Y&YP!W zE1~01@0pzg`z}Pro5@qFW91JRDsR8J?eQbs_Z6&FIto@E&UiM*uwC2PV_x>_wes#0 zg0q^X_I@~8TQj^_ryu3B$LPDB&-vn|lgA#NrT6}_@5_mU+M&mE(}!v|Kj$dodbZr^ z%rAO-Yw6|w)l1JD^e=k4{+&05nvRSQ?jQT?hhy*G`_oq*=-aJODo%IQspjgKU63am zFGf*wr~2N&CQMCk?^^$QmlRIZ*E~g1PTYC)qp{XI>V~SdBifpY);}huFM#uok+If| zZhTxfI{jeR`5D#Bs@#~WbXD&oyZU3QzY21K%3VJnj=kp2>5H9g=sls@o%e2Etgx{A z?u}(@?p(c^ftv8UqbsK7f?v4p6X2;7cxqwr4GHX*z{R3Ee0=(nUHcZJeEt661TIxx z|3J=U9LmJ+OWNl`K_-{d+yB6_la5E~=eRTVpXQ7#(H}T)c4+X*#i5y7IcvHy6iWt_ R>bWVW?U*3Y?=f!3e*^d5XMF$w diff --git a/MacPass/Icons/31_PrintTemplate.pdf b/MacPass/Icons/31_PrintTemplate.pdf index efa6f916327aa6f031badc7b891d51577de1e31a..493fc1d67759f55e5ce92c53b62fae0e700bfd60 100644 GIT binary patch literal 4171 zcmeHKdu&rx7#}8VVXg$!1OjLd#qrSHo^x++AGhhsx;|t|S!t(C36I-*PuFg3Z@Im7 z-2@Hey&(+QqUaD~l!Sy=h7e`)a&ZY+j0q4Bi9i6w?8Jg3VzMMB z6u`lSI98#A0Bz*pBEZ11nmC4~fl9v;wb>GijQOZ0H`KL$`hQAPrX{zV zrn#GM9C&8UH1ip%%qygcu_yO(cGnVJ)R_h!g8S(C$Tcz;*$SmWL1@~J0g zG@jbFuW6Nb(i*n1wboGGdUJng2X3!F`xBn^{f`s6^QwOD1cwdRZ(rT+J2`%8){0Hu zY7LHw{f8zqHF-Kif(I+S$SXWx$eIs&`3jr>`t&@VwS(+Mqzao&MNxfKJN2Is*v}Hf zna$9j3@9o~<(`FobPWJ!2(!*l#d)C$D>I48Ua8(X2_&7z+S{Xa*uPWb_oRw;=Tg`iIt*OJ-JC3|f3ncYiqYRj3Uq zO56frb#=9_TCbDj3P^Jt2N44qh9VYJq9&&BDJqtj)dw+d%9Mwu(EFMV=2Wy<C|<-26(H5dAp@u9czv1?k7uawFx-+@Lg8Zq z9>C>!126ErnKEHLrf7~eQM_K@DAvT%EW$xUAZQ-I9pc-MYlUjD4Jp39%1*D6(k8D8 z4nC{&)?h6@tVt%}hZTX~js+PNxnp#V(KRXtMrAx!U1M~Oih)rXk5$+IMpte|m=ld( zsI4Zldw9>lW^{jAml3g~s;{|Di>d@^h73d$k17J^AT(zlBwF!54Kgi-F#|n9Pd3nt zai&Zwv0%&o9WP9*E1KjyiH}g-+y*qClOXZ@h z@vm208P2gOLxjD=4}yFofnl)+E>d-B1Ul?M?E^}^{X3;z51^sn4iq_wq2I$Ns)%U} z_cdUyl=7TkAy)(iKJ6#P`}{J*bD4O34X~G&qY2X4IiyH38cP5cdSxtz1x1np&Dd-s z^~@#CrB)ZmA|uDL21L7AB7}<(Z7Q}S7j2?ByUXmdSrKbO4wK1kbg@JuBie2zLr=S1 zCKqxWSf_0nEQtjrpq80$ptCgSp-++&p!Tai=nvOoK%>6w%6&Kpmn@}8-%2mb6h^2k z5XgFDw%ffpdvpYJMlYyJT!D!TIk literal 1824 zcmd5-YfKzf7+qW*wd`7ql|oy~ZOTK?a%W~|W`{}^_gUVou%d<%cZR*Y4DN%>4h8I= zYC;=oO8Wy!O-)P`F|9R^u%w+D| z$9KMS&vz!rYO?Gn3t4r}&0F8xP;aFH0enJ>y0{otieAJ^;;YC3NLUF-j-p`=V4)e1 zG^K&n_^S<&3`@dN&;V$P03^vY>U3)4bp*Enahkd)7Q=*^d=6ygC66CRH2U0a9gEPM!l{PmU$hhqk#roBdkPTm)s0!G8q4G zFgFU;`g}5AFydNRhq=IbpslkN!53?h6TZ+u0tyf~X}>HX-lN{yydVgUG`nCIT!MWX z3HGOx1u^$n$s1=gG6#tVuD6tFc13O=@lueb$f5{eewml#4hcEcggPh3Tw{qas3yr6 zVgJHJ6g36wfQJ1C6uaH-wA(L#rAVAuP@O&6^_sGKTs5Xr9m(WI#z;bun4u^yS8m&g zC75tT23FpM@R5WV2xV^MW!~*`#SWT{P1Z}Y!Pn716cQkKlWgSC2n}w89C5~sKCg_t zvL9$eQH+wWHO|Z`EDJu)7*-M9B!aXS`F(9t6AH@8+#w&Vld*L0`@uSl3WEc+SXNdX z2uZRSnpI^a!V>gJ4HQ99G|*65mIExqXqZN55`@;#u4t=MA?m=tmHcp7IHqU7yV*%l`hn5E?FUe&SolCGB(S?uoip|T5w*V53hhs@%ELj{Wm7VoUzqOu?Q`PAE4 zyNYj@WcBwQA7xjZm(XW*j{TnGp@1RlzViIZK>6r;{z{<#x1qxPa|4~!)xVZTcAX#S zBp4KK^8BJQ~N&e#9@~OvKDyklTDdEGFHx0elwr~0U%Fdl1l+Da$ zekc8uH&1q-d2~zbWX0;qz5el=AFaQ$Z)Mo>NZ0tc36rXXtWVN+oSHm0&~rC+|1(o`M528VEOa<-cM8dv(F4H=jFW~SlsdK>im2HuDkDt_bhA#zj>vH!P8Oj z^yc8}!`P?b}yep{SRC^VsaF_ p!I0_y^keLTg5wVMSzkd0*G9lP!iN^51Uy z$L+o6{LVSQcW&}KRnbs{qMa^#)tR&3erLA{00Aw&-tP6nNHS$&9Y#{Ji9=Y?R7{R^ z!vr3<3};%+HbA=>xEwHWWoH({#`yY}nfCh)Q^#`JZfhIpX*^`>MwQohJbh@!IrE`6 z5zap_WrcR;jjvJ9(T0{o*RP-0*M0xTHMMmE8#<>w3pNQo+!t$)?s={Z2DKAMsCTFL zpSp{QEnT{}e0Sg)HOtk%dEfR9SFP}O{mFa#&iBo`Iy>$#7pkQLQ`y2u50yIle z5Y%)Gcqd0G2=TxzIBCw!GOk5{K{NxA02!8|SrJ)3P+ShbjqJR-nh={pkzzRV&*x|} z&8!GvM@NUVgLP_pE2KRh4@3-P7>Za>MrX#9^Hj!|I|MR}6T*g~C$nZ!%K!^kj%zv7 z=WtkoMpm(|bao_A#&8yDbShdJ=H)D;od}NSq$(pm*_@s#q^2qmr*Il)OoRB*Lo6sq^Ze7XNbHRKjD$1Xog~#l?)OYkBB@A5iKI*g*RE2YAs*{ z$qOQH?iMgcS>A*(++4SU@-N#_II1EhG(9bwemR>>B^BBFNHD7=ys&gN%DzCE7}AuS zMQwe^pUWjxF~PBM+Re%oE5u!tAaFb-3%p9P?gV084974uUtmO%M*EJztwlxmRubk!n2jHe(1s}ZVx7!s}cp9ZCo!c~GEXDk~Y#~7wG zO4M!M+ZV8H1b2t~FTy9p_1jK5)`Va9Ci>g2H~QH4hp^|^pQgXNYZkp|E_(9V;7i+f zI4&J{@bJs~=;v!@y`8R|TDN$uzkBc61@U0~k?qr~Kil$E+v$exetH+aI%5;R>Z3&) zo{E03|CxbPFMj^}u5*9=G5eLWDP~ zw0P4Pl>iN60buGm3}cdPv=h?|9-5lMdGpbjNqB{dT=3JfLw+T;Jf(O;gKJdQ(*_x7 zgIX$=&KQ7$Q5~yE#nf~_6Vk?;b?ZYdUgQdeJZu1=kjup(RuBX?6OOpt3?B~EhQos2 z8$v-o5Ojy!0XNOD!LWzpIoidu;Xr^EIF9kJgY}t&2CUv_8lIbZ4mN3;39KQr3C5CL z7|>{_y5=UFfU8?*GHlZ8N?)^WARaF(pC5@#tC(L=F%$eUcwfa^g9n^7$Itn;)*Qb! xxU6#P)s6diubMLL(>;}CcT|*p|Gw?Y*e^j8v~K2goUpTQkK0~V6>f~!{{bm9l9~Vj literal 0 HcmV?d00001 diff --git a/MacPass/Icons/33_RunTemplate.pdf b/MacPass/Icons/33_RunTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f1d0c9a39329eae7b5d6fd414d87035055800d39 GIT binary patch literal 4046 zcmeHKYm5_B6oy4sZMGT>5tSInn&lCl-g{@JozBpf-Og;?#VuR5gx7}1bmq1lw(X2F zQ?|QkvLI@R#HjIsqCb>J0`Y;rBx*1|VnT!v9&Vxu7&QcpKaBh#AtK&syPcKY7&eiA zJL!+xd(ZjKIo~}uIbVBPPSPkC_P77?>xt8TUxb2`k=^8vMnO_9I@kiqqT*l~tA>Wj zmSsDX0D5sb?-VE$7QhOM0jq{h4EnO0GEONTw;c;BCBLt5ZhPNJ-!ri7uh*X1dZ7D( zZS(fGJ@{?M8UD|AkHPK7moND8>eU}V{^aL-x^Fvr_WUcOvu@X0hF{#bF8|!UCr)1+ z`ECC3(fRi;+OX?``7e*Y^yHN#b2guN_Rtt_Eg!ye@)Dm;u6zCH>=%}vJiI6K)|-0n zR{ijfeWCB}xb(*E^#h>g=)j(b@~gMBUwHbR@Q3TidXIdxe)jXD>G&a}w6!c<8v8qT z;LPKrvuC}RNWbsLWv!7kS-Hg{kAxI<6ismyiXnUbAg$!FO|i9gt!jy!6^(p6?xMK9 zu3dw`21|?(iGWNc>$ohfP4(948VB|Wi!Q60iaLlLDvR@aITrZivo8XauEhdtLMfOs zC0x+EM=YEfS+PnT8B_%=uq^J2R>f+`ERi&+YN=SZ#cC{|kW8>h*6ub4P&E^0Fc#=^ z52&@NG$k1prb0oERv`>gd?biCo@K(1QVc{4fDyp3G-5^Q{;0+mi2KMYYH2yKUrsi{ zk$i~L(_A^GI=m@!Xrl`hGv*m3=|nbgu){bi4aD?b(UVO zH4KS7AM)UC0AqsXbr|E#bt5SMvYmjVsbbEsN{SO#OtYw~ihD`G)N)ba9Zj&WQ6|cU zT5+lEk>iz$u89%It682wH0C%+3z&=0Sq!suglB~ugR}uk1>dX)1a~ILw8)*IYlg0AF)%ITneLjQYg!CU%Xp@{{x`aO-e68<{8(U! zjNOwp1Lw{CwYiK8OYZcwSQgz$5HaL~j8Gc_7eTma2_UoLe;Rm_BJ4p=p~)I5gJ(P? z(Y@o;<)PK)rON8GIrpwBXU^X@s;vBU+mS7YwkAfQnWEhq`(SyQY-?glX55VzI5ZH zFP)+g$aGSURly*WQtUxuTE=w=)KzsJ%Q%E2pei*#!>s#xr3+rXx&%!tR>>yfR5FT{ zQrV_BkhZXHE8q|Z`VGUOT*cTAGWrOn5Uf|X zwjbxfngK+VBii8IP2pTNJF8`3GP$yKVQcFG>i27#TlZi4{Kby33s-k`jJge?Splx%?bcHdX~`f6L&wHuqP+h{j8gByE&y>IK*_LcT^ z>n5LrM8HXqk0_cgs6YfJf-w>z$}mKtf+h-6MlvT1h)jZl0y^Eiulwj^i(!fUx0n8L zd(Sz)bI0H~K^{hd!a6?$`OYeb>@}H!ascvPReWW~#{5(98;FFzcdc6QE^aT~ zOTcha>@w-HSxov=-1ly0@0y#}F5ue|x8Ex(n?!8eGimR_YvOK$|3u@4YFJV@r_7zy zbG8LvnsmCWYSA3+d%KVPe5>n&slV;`eZ`)}*2FFJ+-a>)y)$w4!WR-%Pd6OjZLoE$ z-*SdLCU%&6-!HnW-L&q0WntG@r_|MO>duXq+V3@ItT>;rb^4o@a(Fo@Nn5k3x98dJ zV==KY-Gz2u1%0l8!=sf#0vRR424&vG%REM*Jv%7iD_{_#BkM@@7G(2C6(*B{qQokG z14It6MR7VEaD<$)!d8hbx1Y8_;3#p1#bG}$R6`ka!V0&~sJ`{lNj2tn8P&xa8)5TX zV5K{|J^&r{d4)oKwZOU5i%s!{us-bdd(knmu-D@Y>cd7gk4^&hXsv7mH5PG^tBq>2 zV!%pl1(-z&KunXy-~vHtFjkjFGAvDLpTa1DqyV7<6pfR#o=|?+z^69Fqm?1x67_a# z)<8P+ HWxpPP+S=N*S~^V%Q~;9WI6zQ12T;OqXoHyp%{NC;E5c~B>?Dw zUg(p9D2^O84pC~e4TX-H&g%t3wV9|px!hu%6+Iji;*r5g3a6+-iqKP>p5PV{ zq@ExQ-~rEQtq}|hdPeBsJp{%u&j&CDo9kgv{^dIi$0g`RDd6R06YuwX+ybv$67ai3 z1BjZ2`9~yuc2R4iR|STiRm3#Zi;rp%E%;GoK)B;c#zgKoUE_3(iGeXWk9XHNU1MTkOwQxo z^}o>-A05omjBixeqOp6VW?-Uoe`GF0!;&(6EwJj9Nsy$_M^Id32%Jw4^A`d%EB>cL zR8nZ8(4%OxL6yOBCLsmIUM{IyA3)85&;GS<^g^?{E!%sueQjy10qpXhAa|L5~}UwfiCxo6tT zGw3N3PxHp)rk#_Q6q&!vdFTGV9Oy|cg6v=0mOs|il-cvs0?$`h%5864)m{KqM-P>? zUYb+0wr5ez{Tbyk#wn}YM&1e=rOuq=z(n2?gdoEP@|4Ne11x4tQ4aY91D5;(8%6?$ z8IuDc2pl#(SdCnLuwSxehUFy=8C@z6_(+`O?~jXK6&KCdFP#hcfH#OlwMFuTyuKjD zfPw&YxdmAYU?gQSji$D9tji6gmLRld8c9bkgJCtSjx$p<%VlaTq=nFMw8_9&C{{yj zGBYg%!7v(~j$y0>OPb9br`56<7E>w6@re?qG^Tw}xoc=(mn0ce6s{dO-1QJ6iT>(J z>`(;7%Sohk$vYv}ejfP0XZCiqKf7yR+W;HnV+Tl2W-IEsQ>@~ literal 0 HcmV?d00001 diff --git a/MacPass/Icons/35_BrowserWindowTemplate.pdf b/MacPass/Icons/35_BrowserWindowTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..015e4157e622c0545da4d4464824521d5674e768 GIT binary patch literal 4703 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 Pw6HeXSYBQg@EQLB8T_$s literal 0 HcmV?d00001 diff --git a/MacPass/Icons/37_PercentageTemplate.pdf b/MacPass/Icons/37_PercentageTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..38bac20bef2a10514b735e3fbb6d3d335a423bff GIT binary patch literal 4797 zcmeHLc~nzp78kM6L2x_Nr7k>!fD6f6v%HW*VnPHZF@jbWE4;kCK!7ZhyqLgf1))+p z2zA2+kG6_s#8O5bTE~@Yr&W=o=#dU$nO0z|OWn}o)KumrETPpir=BzYkMHD^46 zv4$$FrEVMxj(<2S_{WRy{B^Ow8pryn@h5X?S^L_X!DWs;hWVAqwM{>cQXDVZ!mA(k zXluE$85ruSZrq3-II(f$Np*QmM2+~JllLZ0Vb5Dv*YpJp-TlG!w5wt>=))SaD_&C> zK$&#Chh}DO=V31iDvBm_1Wf=4vla(xh&0Lupq{zMYdN!*Wloby-6(Edw_GoQy(}TP zPzc7`wX~b11XXMgU46h_!o+i(7J|&AXh2J)8B7xP{bQ%tfI%l=FXO2ol|@da8=`Zp zRD6zl37L~g;yU(Rsh`*>avCj0=9qxfm}RnwoDw#{oP-iFbN4dH20S8kri3kXZvY7@ z4InpLDS*etI3xt|0D+JTV*(W6hXV)%BOoLM5tIX?BFOy%dIwwT$IQf5on92DQ1+T* z{z=&BG;I-qpu^$dI#90Jng+r+j)M>aA_#|(;MlTFG~wi!Y{5MseK-orMp_LP+F&*T zZd^iZw$l$5q}d2M2@42wA@F5NI+%TLa`hl!+8(((a}Ix{N87+|}1ig~(kA!U!`U1osqyVGtBH z3uJ1=|0&>YDfnLKm-J-4U4{@rysboZ(Z@^cO9El0_j1)e4pmQSSvKZI!I&F$!~f=- zGI7SY-62&wWA9s8Kis9Oe&)7puk5O+Kj5fYn0=yCJ(^j6Kl#$%4&Jg?<*gFC%f6xGoX6Z492+U>tT{bCOfKG3VsoCu=e6il5K^ z`JESH*6%~toO4A`rI)M3zIm00msg|@iwup9+j8&Oo;TlIx8iWp{?7xiI!Z4N9VOYm zIWlNM##a-C{D$$@Qd18!3vUJcE{tvB&}k$7aWv6lBzJF;B|p^jx2jZ#C&#oEUp- z3{rf2Hg`Gh3n>n_92MNSbUx<2jzj9pvdd$$my1udKTurY+jhJbv3gD9p%%!1*VRrLimb^itX6u$n33hYa7D-mv&1N9^!>K@F^AQ~D)5tt8VJ6Z8Rg zv0_WA|GnC#Vd$#-CB@T6Z{NGE-VfDwHt!AdiP+IrjgEfq6z*8x`QX#X>?7~D9(wY6 z!Gaay3D85yA99cLzV^>i3-1)lI|{!3`;?@%=#pIr1C__h&uY%q)+{{N8FxCVsmyLy z+dFQ560jn5L;gZzy`CGf(^8eP@_u;A`NB2NnxAW)kAQ~!(XaT+7n54x%{*C5JfJ7C zY!o<81*+YRQ5Gnd0q(|gk*0TNkwyi;V7v^Vt#%5GR}r>MM$|<0bo^0HdVW03+zB8_ zc=XJc9zAcS<6e6`FD@FwYP2zLF>-U3-Dt7_7^tyQIs-|YtpLm<{L3C`Vid_@nH*B0 zaukE-2^APB$LFC!7?CUZG8{vNN*I-jnN_6_ii%RAJR!yx2xO2@hVyV#hRR@>FbbEx z1;&{4X25-~#q~Y-@GvmWY^DMC14$ehZ^)ql80zsZA&%06%aUQ{p#*-*dlRL%YPCa# zhANedS)nY}WZ+KsO4di+$4ercZvI>x*|f7e)<1k{WOLW<+=A4pzLB{;L#}S~t9|iH YFx{V(c3LTY0EXdMKuAc`B4xmT0sUR+6951J literal 0 HcmV?d00001 diff --git a/MacPass/Icons/38_SambaUnmountTemplate.pdf b/MacPass/Icons/38_SambaUnmountTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..340cdea061c5d70c4e987bb938fd0cf3e7d8fa27 GIT binary patch literal 4865 zcmeHLYg7~07Dhx`A}IK}VtdOFmncG*nY<^4NJt2x1k!+@SZOE85F&XonLt26tyZlM zLKUyiT1(YZl~!p1D^j#R+N)GW6t!MdWKlr5hzLHgz@3CgxYc!6UF-HAXXVGqIeUNm z>~HotYwtZxCYI3PAhyS}d-a#9Jt$lN0t|{J9(+D1(P#+_2PImRz{Hr+pu)%{+(ZBf z7>ViCL^1%g>0lH<2V*mg7#OWs5<}<&0uzB_sLq3ue0z2DDatCyy?g7jQ*y7`Fv_>? zW0k;tDL>D9&5`0O665lUw3c6Kxt{HbiHW$UEM$jh{^v!z(4X6iDzgKfFH0@^GpdSf z!&5yy837g8k9Ec4O1h#F&mYOgcLOzJ^O2SQDcjwb&Zrm0Ui{kaH!z?uP3Y2Ym4x5c zw@L)tc@O{9ad=1Qoet-mPkcomsOu-YjL~QGypWwQbsFhZnI7Hkf$3HKrzK}LuVIJx zQj9=VD1icWa!n4(P&H-(81}i{T@ksbHK+vw8;VWWCfCngKRtAW%LQZ13c^Ou0%>F) zPXoXXruefhMpT)C5r6_yYxKd?hh-I1K%)w##(?|)LDML@77Mk8PwGU(fM~s=2xW-6m40^zZiz*CeBA80G z85$h@e(8*ZhV-T&yN^LigATNyMi35yz*i}$l!H1(Gp@BCO{D}eEvCctgo)IHU#Uk@ zDwPhZzS5jd2M+o|9+gk3@T3NnCMiQq-V_1JBa;TxX>@ul9pcdu9)tuyFb{(G;2$I% zzS=QFzp+MmD}BKZf5f#CWxDE}op1V^RhB^huXN(fM+QL9m+wvPlFRY`o%u{A{A zP8m;ZP?~MjMu-Jwvqr_^B5W=LW~pc@1;V1iFcYOA2*jbWFigQ>vJ?;#W!f2$N{8yc zgd3qZ5vX2?4d8Ov3 z!Pghr_Ej>p$y)^uUMu_7U@ZPs6Nkfpl?4)a*vM;ff-s#N5FN26fzu&qx<5$f zivLrHnbB?I(UeF76KDp4?QGNZAe|L+uwD)h_Tk*}U6`!>|t$*6FsB3(9 z&*S=~nJ?N?qVDv%Zfl!!g}XjdD$hYS9JsZr(c0nflW?$N-;N5`V{J3DXROWpzUr4p z(5$Z-3U0~;c=MRZ2`iR0%rN`$zuZ6T?2=KHkh^T3-`ks7cP3Pi(i2p}l;1ahXxP~qPcauw43iW&~=vM(`V7t zqXjI#GQ&Y3PxOVqJ^++Em^iokKS@4!WX$~uFDk^z)AO@=m)3gu|y*il(uOF{_F{xl& zjnk^Vo-V#OmSyHXpTFp{yN{+k*KsEP=52a^=L0W_}j0C~0#!^bLE1=+Wt)B=?(o#J8<$dg82O_IbHv z-K^p{QZj^)?iC<{LKoo>ag6_=;0hx3;UfCLiC1NcQ>`zs?H{&S$#h#-|UIg?y#I&-8y(j!ZkT z=}~5G)`fc^U2_9R>o?Q|KfeY?=Y)r7&o- zHYV3D$hZi^`}Ceo<&|?kNND^BJuzm(BgyxMv263GXDjD6G(-prE54k4rL^~nPgQA$ zmFy`rzIiqO<@bT(xWvMU7$6DNnlLa_3P#y#EG;M!0=619TGqc4Et3K;7$XD-+>C)S zQq+_}it4ex=0TW+2#+Di=LJ-vc0Gf!PtWmaAP#$dT^kvS>r7-nM`X~Nb$S!P1Z6m; z(kKZ74#0GQ;8l&D2=O95B9^c?ps!EsUV-a@-V<>lHI2%RAvITfBi#eT sR~9|IKEmyk$lYm#t5Z!A<@w8Bf-EF)!h&N-9!wUS?lEmzShU3BKb$=syZ`_I literal 0 HcmV?d00001 diff --git a/MacPass/Icons/39_HistoryTemplate.pdf b/MacPass/Icons/39_HistoryTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a1bf9f181571136564338b8973c47bbd1e016a8f GIT binary patch literal 4154 zcmeHKdu&rx93HO`$_j({A|~cqvH=;l=ibxjZMqA6tWdMN)waqaVc|YbyR!D)a(laV z8^Tbdksu<`2ufmvC=g-b5R9+DNC<}D@Cir+12Y)Y;07^LyNch9(ld{RsQ4Ox=*cLIPp_1_eR@i zhb}BxU0!afI)aW}IyC$6pLLBV53E(U6K7`bVAd~a-dff%zt0ox?V9#IsM^=!nSAZ} zz>*_bx_ipokdwt@j7asJjjQ8C)d4}9}^RLj!cS|OfoNBGVVMMZ2xGkRP zRnx`lIi&Ftuki%LYhe)L<0wN|^7DMTKD?Jy;w-D9=(&1afw=-bka0ReBr9k-Jq=v# z08fL!MW)<~a%o;{Mj9cYctWl=UH#yQiAYG*re!vc;?h3UlvvuXqDXsPRBUe+8OgMW zHMn!GTq>Qy*CcYOq?~c(s!cq;33B1Nz6?x6K16G-HhJ_7qJaw$K1D@@&1@w_in0+7 zrD(( zgXD}kU!z%6QXt2t0d1zhXi1Vdl#|Y?$^6wM5uhYWAz91dJbKhTOex0=rH*=BDg}mW z!B=(T6c?vRiCCK-zZ4epXeDV#LKuaV3osiJ5XMY+K(k;Pi`7(V=N@JqW5jA4Q}B3qjng$I2F4UT-d+D2U527C#~Q!d)QV;INY7v`>i)bg z!(vHSU-SJgT?x_<4+=7Q5jc;c<}CnNEBcl?$ftJO0*lze}}!JyXl~O>Gu#th;QE<~mEy&1s3pgH3glT24$j*W7foqod~u z$NRxv_4t(f;FZTJtipe8ct)ZLd^r zT6lW%o@oylmQT1erK6@dcf#1G^ux<@kCvR>Db5~AtfN@HCm11Od@_T8mjiXWI86ed zhtS1;eW*_50itRSQ!DIsc#O3;vHM{~$Q|8lpNqP$M%wLm9>WiO-|N5E!v1Zr%w z&+3O%fORt-i<7d~*lAC|VRc&U9*f0c_fQU41m&1Q=)DylblWy72rG(4 z=q5D`B8hfH(9}S64Pg`m%a+sFtkNrr-OzMV5K1Oi1_EqpWohaC#83Tf>6`r@KDzkK z58}qfXTI#OE!)`N+5Or>>nHasrJdLopA)82BfkVz;Hs8WQOsy@+Gt}%MNNIc_z!iN BuJ!-` literal 0 HcmV?d00001 diff --git a/MacPass/Icons/40_FindMailTemplate.pdf b/MacPass/Icons/40_FindMailTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..15b87cb8709417619f46b14b25176a9036240e89 GIT binary patch literal 4418 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 ZcoVQYP}Ha*`cg>@v!te{=N7tB{{m3000aO4 literal 0 HcmV?d00001 diff --git a/MacPass/Icons/42_MemoryTemplate.pdf b/MacPass/Icons/42_MemoryTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4d56f11fd4285e1370bb3b4ef8370c2e25b2a7d9 GIT binary patch literal 4257 zcmeHKe{2&~93R9CD61J52#CN@+z?0m?ni&zoo%pU zgis(~2$V||2xh=R0fK{~>YxA$-Sb_N-)s&`A%XQP6&07Yuq*Jr;DFXync0T&hVpaGIO6A>dsMpgU|RA$7-YFhh04U$?U(P zo7tk>b6*-Y{N|+eIaiw&9j~q5v%3D|iuY5N96(d+w2Xng8+?E~yRcSa!WiF_Kk}N; zn${^xHn^s@+mL$|r};bX0DpRaVT6dyV~Jbgo=+?{n`IQ)SGJ3D7$*v+ zND{arZb>Gpgvsw>tQ$DNnK3gOWVuQ~Lfk^RH(*lT_+q~b@$x2Bv5rBRpjD{w=G24) zS4}|?S5wJRyeiYIFh=R9Kj??YM52CQAWTP1Di)qZpy6Cz1}Y?GB2}7H7I_0HVH}86 z3<-!%qg8V#szVH<2Gbe{Tt5TBQ49wt32;J<5i~0QkoZuU6>w$@@gCY~v&X~1FO#Z5 zl7chxHmVMUr*?sK7#O`QAHnD@uE#<7mu)W`o})ct$j?e7IIaagqCrxu^oB$4owiU4s3gA9n=LAnO%8V~~mG9Ik1LAnOSz<`VgtLuNGOOa^I zVUKT8Rl&BquV&CD`uT4wP%cJt4(cd9%eg{XW7)b|B(4oL$PD@D;{EP z>B=3($(JAeI{YTma;x~Ra{TtAi+<_2^|W~NaN2Iow310>#QMca#U-vSL+TXIZ(DqD z0kbdr#|s_&hNQ|DtF!V>*Gbs+5x;LUhqq?zIJ?|AVO&|7g0QMump6X&&h=}n=#O{a zc<;Gmi*E4iCw#TgI%{g>s)^g1&R3USY%p&8Og#1W2X~A|7OZ$VMc-!L$lS7BcyssE z^g}pzXjA*=#998WE6rCL)|LA1sZ`QFO@Jpy+ni;^A4A_4NU(1(Bsip(DOi=wJ{GxGabiiU`2Pu;EH*8W6fP-OQ*o%O$~E2OJyo6N6oT ziMyl{@w#NSgAMt^P;gsCU&J2>BU<1H3A~q+#1MkvW^;c^Jl8hIXt0o|MQ1e_vPn{# z4gU!{LE$>gjuTo;N7~Ist6onS>;!Jbva_`Y)IwSG6mGXrn9i=XklA{3DaZ|YL`1G! zXSb@?5x^;m5+X}rCvbUd1O!97vMX^49#A|7gHjkPP1IUNtJ|G4G~I3=k({2KJOTOb z;n?IY5BF-a&UBcTXPxPMn4gl5Wu0HSH|zDxwL_5Rr0<4}c(?CG!1g{QMMHu|Nl-eS LGA(Upp04oTYJ}BudJIy z%}^5w-~y6p2%-WK6TuKbBck9E7Y!gPf*^+A_+S)_fH6uU%)72zCtD0l=i|BllJfBbg@spj0|7et;2@#ojCUu{&7gL)(9uvj%HSMx2 zW~ss%rxS!zf^Je(7pNNGY!EodnyVz8;KepshXlDfs<`3bJ~{?NQOOOjq5^0j;gegU z6`h(K?yO!ZcD9L(1ebX7Txm8PPsEL5Lg{!+NwR4-%o`_>Sz~T40~pGf=xuJ;Yi>Yw zfgt2lH5sDpBqE|H1v#8{jC2qJ|6 z8*b6{1PefWd%L}zu&Y`#z!-)BC=PHOF)WZ|hobXoL`lvc02##L_Dqg;QH_H%p8%L01*17h;*d`wrNuHwlSClLM~r|fGR~J9h~uMJO+;>g5d~`uf$OnXIPY3f?_O+y1-qQ zxm+_CKI07;ukIc&hFRW)F<4ypg7PohVK|b=MpP}%>mELlh($%-yd;p2A})~I8fKrN zjOA1@Wl~$oc~YsU#4-%U5Tb-45-v~(gON^z$Akz%<2WrkA~HeX&I}`gz;NFYxRpv$ z=M_;N#HDe`Dc}@|kOa*mf`cRwfuadSq)>sTBZ44c!XWN2-z=^Rn8h}%_y#IFvuc#K z@v6Ykv&w7@)#Ck{BvwjK`~MoUSo3Fec;i>iXa4%F8w8 zMvw1?+l{t+q-G#9 zeUU6#d%lou+8e%e^_MBr-#NT&^Q{e23tu^OYSPWy7sT|}wxTJ!Pwrj{FL+~T)%MGe z_q24s5Zod?dG@Poi>uvpe?PpsVVibvcI6?v=b?%%?t;ckp^fz$wsgHeYk?QHKmD=X zYI$$Y)T-VkH|zHuIJ?(!D%hluJy$MPt*a=%_5J*|+9ONmv3--;f1sVWeoPaa9JBgcccG7LrdSW*UM0Z?tWsWIU5LZ%F;31)X{f&mBvVK1a>DH((Ve6r0j zRpbHvRi4(DhjrtIfXHY3)Wm>aj&~*(Z$JbGc`cqa}N*LkF^}3&|0%ssS@(E7q8+ zi;A3+*3mh%HJqS~OY>YMNSF3lyj=YD)u&eI&)G#h{QjQSa;{8-w6q=f`C3 z+;iuA=R4o|Cf{MP6;magCjZB4qZc*HSb#v--=rxmg?2H7c}aX03xI-lK*OCvy0TCdTl!68BU1X$$K7*aVbxGpSU2QLL9B%?VTXby%V zfPoGP3u2udmHF%tA_=8FSO%OgWL#MO3B}% z)JDUaa99Rfg181c2^RzpbnV!VVQmerhub_9paCL9M`Q`}LCvzpNxxsX-{<%F8~na8 z?DxH&>91V>%456iud1Dg|71qe?nSBsZ{`VwrNp5GUlEy?pSYmg>C-&$=;FsPxZ z6k-3uL=rU(oq*x~0mbL@)%$#3e51-7o>3oedwF+8`&spXTD>z@|HpNNRGDj3Rr@k@ z3$Z8#CuHE@8!%}}jDc9?W?tq4;f7SBxm0kOB%8vm9;(Ek)guDCgouJs7KF?ajY8kB;TEt+G%tJjN zh+t?HM49&oFp#BY9FvTQqsfIxiV@-qmnaAD20On46FC<`w-^zVr;M?Sh)e+n5Ohgm zaFN1d+$+sU5w8%H=+ff4plL%&6Xor~>zh`bLh3!yzm|=bS6t()w+77{5xA$`HM2(5 zPS5;mI9r_6-P5;n*XR8k2JYN`wB@P5&D{+L3>RNYA9C&edTOmW8V%g~{>|RnpVN;V znf0CXoT|CgQ?=1pvH$8M{ocnbA2tcApKEg2(^_tfeRBQVv1iU{pI-G#VeV@OrqgU$ zZ#;goF4}!@&!J zeIgGuW?boX@7wmJp?|*nZSMmE-(@Go8Ju=-{f(p6Tqn>vI}1I&U7E-s{RaI^FL+_*wR$yso3u z1qCnueq;6K*~^#H$ShttzHV|M_@$>m4xUYdXO{-=j$61U4KRy2wy}2z- UwR|c=y|CnzD^nEtOU8WpZ*-Y!G5`Po diff --git a/MacPass/Icons/44_NotesTemplate.pdf b/MacPass/Icons/44_NotesTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fefabfe26a5a180b3584696e9e944d11b76debfb GIT binary patch literal 4120 zcmeHKTWl0n7_NXtmM#>05anfDQ!atoGc!B8J2Tmxw!5=as-1S}7N`&!XJ^i~OLu36 z*;%?R3ZllKAzla=u3jUF5tX3z5{yV6)L;X6E0J)CG*JNsCBz35@yvGHt+X*Tk++`A z!)fdsndX;76a)*oE+%L)9s^2;qPEoOPNYI}IeEBklKU;MVeciqAX$E4ir zonLjIs##rL?pbgU_WaO2^Zl#!Er<85Gk0Nq(_dvb%x~XTwsu~Bb<>fzr~C*OytSr! z(&cBxn$y}vk>AE$I(cR9_RyIt6P|hg-ta@M{j(-b(>nkDGkW-gl8Gg~9Szr#A>3y4n?1 zbyf0?K#t3$jWjwYmP@C!43`VKWONe9p}D;bTv*=3Y7e@q?G3D1ieh2igqYV&;|f7| zF+bxbX}^c^EyO5-qyWJH%7c?0j<7$hFkHL?%>t&H;2H(75DxtXU2T?SZ~%04bhtY_ zZryAJB+IgZpa4bT$O6xFYL=YCwak43AcHsp%qV8ku#&ol*|>6C&sss3%MLU&3VEfC zp+H*3ozKy&=xLCX4M4gHFq)I94EY#YGnGG@ssNaRX{cEl6+*}f!TsEGh5ZVj`~Q^pCplC`O=75Hp6sd6Mq zvI(D;!daip;B1 zt0ExW@gQR&cbu+qy2ix7n2g7(Yn-kzF)$|M@#^~D=yDW=Inww+R|k^aBYOtAsQdG} z42dOMea#a%TM3dB8U)4WMc`b5m^&XJt@xh?#g@WXgdU|C8*IY7RI!y<^wi$ymyRBy z{I9L-RNsN*%%8t=z4-LT$(1j+fhGH{tvBZS_#^jk-o1VIl-Xzhz7RW3uH&C}F3a`Y@y0zf z*VgRaQhsc9Zu$4UpTF09rjC3~h<)_yxr!5tc=hP!7dnIPH!B}mzI1Y6(yWqQ{Nk#S zwE2sEj?2pT#eb%z9CxJX^2V~31ZclWo99WNphwgnQCyLr;6mP znwW)H2a25c(~SYYBA0A2-as=OmCbYpwYgzEl}&3Ij0RB?s!7GtO^ig8j@JLy3M&Gv zKP32BfhI%M0v(Bj7$!`Gy>!IqVSEuH!ten35Udp$O;4{ z@+(2Dme4V~avBGFX)g^Lb=|`37PJw>l3frZiGl2z8({)0TS1~$lw4W7>$cPJc*%r0 zqR5xdDJ`9iUAWGd?z#T)(yG3nlucEA-(IgP+tl&s{+ISlobt)evXa|MOOCIe>Ku6! WNMD;)&V&i4havsWii${s===vyrkv{l literal 0 HcmV?d00001 diff --git a/MacPass/Icons/45_CancelTemplate.pdf b/MacPass/Icons/45_CancelTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..45809b5f42704e0b3ba6188c5b98067822e0277e GIT binary patch literal 4323 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 literal 0 HcmV?d00001 diff --git a/MacPass/Icons/47_PackageTemplate.pdf b/MacPass/Icons/47_PackageTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4b6b9c83f82fc1f39b928b6c512cb38be57269df GIT binary patch literal 4879 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 literal 1781 zcmd5-Yitx%6khvUsJphQrUFrOV_Isf^v<2v&O)=H-3Q&UrE9yX#AS76I=9=wecs$+&jwV_TdS|lPJCxAWdQ}^@=j|*1N5meENSXjFoIG6;H*;B}Doj z({W5s09z`HQ;Y9fW@QVJg|tkJsEB+dgR~7N;yqd?He}^a>RZ}%A{}zSrJVqxj5I`6 zev$}lx|&+m;-u0NjB7!fqG=W|w2c=4&v6VFf-W^0C6mx4MG_dg6;+qy2nM>=gHvKr zabNa9CB-P|hk&X_@FPBHHzq=^g&k@_&F*rf4k9lD7@%N4Q=`iimSWv#LymHTs7!yB zR|K+=*~tpCdB4w(?)i$cT)9&^(X7t1weks2xiMfFJ5`6fUthQWg+o`_cMi;+9SJ{O z(ZA>U+pnH^clDv+by7*w`|NA;-=BZ*$IZp|rD0*{zHL_%VM%poncl=iK zcH1$fr=r~Zxmvr&>%BENug88#Jh`}RH1 zw(HRx4c#*|>!T?!%h*(3Z-BbUOfHlSj4qlN>(JO;ld-oo|xMgs2rL*+j00)^IKJK4$alny!6-g`#0abbm=ZKOqWkT zG?Nd0$r5Xml@>`BZ*<8^8;Z(B)2i75OMb;US4D{Yh($ diff --git a/MacPass/Icons/49_FolderOpenTemplate.pdf b/MacPass/Icons/49_FolderOpenTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e27457f74ece821b2e37f8195dd8bf87e15097bc GIT binary patch literal 4176 zcmeHKZERCj7#!JtM#$tDsZU}RvT7&SrWxm~wTwiuSkzn$D4 z=brPv&wJkIyeD~|ilEy|P)3Ws;>W9Be6829fCO@+MQ^u5Z!E4N1$yJWirh$$MTD1> zlnOYw97#=TGoUOitOGQxZ%-l^h_r;&gu{_i6~rg>y5`H9cbwL}K$dM;T@iS<{>*Jd z$HK0zSzEJ@PDNYh#ou|qyr=u<+-^zQxVdxPUpw~$P`t;vSBTB*>bw%0y?$SZm$|a% ztZ(MCw?3(>zT^I|>-q16%EQ0!IvL{cUiq`Qay9wlGi&D0wz`+K?k-!~xn|xg=g-f% zb~M~_Yg6fd_|le>t9m-tu|FSIE*y*M+Arw7t94H7I(wEb?d?(f{&+nU7*|sC`NqKC zdL)VYGvk?-J5}Jok5pddRUXiIEd+yn6G{OlH_s*Q!h3PK$>GpYG+)gw&tIM-nqyfQ zPDfOYq(=YpezpdH3w+s^WRkqlic}CmO);s;@XLu)1`rdg3=L*K=})>)b8Kl=LE&s& zy^w7cIMJ}gp|fXfnM5*yj|nn~xRkPGsti0n39{k2whRp*XQH-N8EUi*(C7~Wm#iRQ zHkt^5B+bCe8Yz>Np)HF6O;R)@Sx7Sk#n?#g1NmWa=`vd_+#GRR)6= zXmI57N+bsZNhxD4N24GoV1`dZ%1FYIoJ3*JCz)2_xub~!L~)crlA6MP)QEnVQon!D zb;NLq1RTr-AJvXsY<^jcMcdu@y*MzBCW4{~ny#lw8_n5BZV^e@NYW1Pvn=GA!*Jo( zgWuZ&U<|Rm4`ZOX9t7oIwnK14!4{R31g|>yWHKHTc2cIlHREIxa~)(IOX&iG+>sI$E8#`NRgIxJ_RH)p4I746lF7CaB%?-cx&L9+{&)mz~AWb&M}7 zIs(MG!F@&P9VI_stE48Xn9?h2{ zk)rXHUT=9xWl6~#aIriCDBfOuvA1t|+4j5DmjY|5H?7_}4t!K}ZtWwr Z!!H7N!V~c7{{i(;HkE7z;* zCPct7P-k2MA`o=J5JNHyf@n~{DML&MqNw~xHgJf>1VJ#-2vIWMb=^AIVpt;o?WKRb zzW4op-ur&;`;yP6IN*_AHy!M&yMOfInytwMU>SMne z*3aqger#j&l!sC4jM%#eCinL2eWFK_*0!{-y0vK+LF8|9y(L7acDMIMr>*W-?=|&p zJMNqM+_ldu%YOHK(!J(_P_pNb*AEBzzx!_Hmn?^`tXMg7n$@$oVQb;@?JH+&Idy9K zk9$M)*Vawi1zv4ET+_RL6?^5Na%O)-*K|gAzT7pj`}lEs($!wI|IeMlstE;oC)ZZp z)+0&G-Wkud+Nm4|ex&juukr+q*McCx*PKuBWbC>Vt}nd;2dA}1?dDYG$54-quQucYPf!=%RofMQo|CnANmt+R2N;;te{YH zWwp@UAaJ5#fkS6c+tTqw9AA@2$752`mM%5$_$J7P=h`wb5Sb9Qq152iHi)JE0O6Ju zM3{{XDL`l@tgMk@tR~trpP(T{1IPl}L{cUj)P6*E7#uo0vnyi67W8P#j5W66aB)=3z?x z{-M-SkBi5_P%ZeXcAR4K%VIRr@fM znm8zmVL>F#f)F9YVTK}kmKI3FvKG!P-f)tGhq`8a;oCV>mIRI)<0T%h9QliHl!o={%OEThlitY&^Pi>&ELH?4hsUKYieWT>I2j%jP$V zHY6W-ym)h0=hV69XZPHg-`IOY^qr;Ow%5#SlRw_GW&WP>W3Y2OUvGGD2N9{;_sk_U zt77-9pHA)$23q=7n74m=u`s`5=Um^>&SzWpIeN}juYQt$^T>=Vk6u>WPH!kdn?6b< zPCQ-y!8a$S95{INuOr{pd`Mrq-SS1z?eDv8c3$~y@`}8&b2Yk=tXgxWJAEM{!pD*b zxcs0}Q>HQCb`qNMuL@*$sset30wE`%Dk%g)em>cNLnSm|xfZ6?@{o!@3J~~Ao}3uS z%Tdkc&Kq#N0bYqGu@`pBu~b}25)23^NQ?@qtPm9KaExY>eV%1@lgI0(q18eybXgg* z%j)8A4|q8z=W@B6ZqDhjyIqiR(y$o z!)<0jP?l9fbErWOiZ&yHf&4lkw1Ogf6KiJl L#l;J&y!w9tXv(=j literal 0 HcmV?d00001 diff --git a/MacPass/Icons/51_DecryptedTemplate.pdf b/MacPass/Icons/51_DecryptedTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..73c533218ee676f0eac14c06e7446d20d5dd4b87 GIT binary patch literal 4257 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 Xo4}GlQIiS^>RF0n_4)bkQjh*0wNLY) literal 0 HcmV?d00001 diff --git a/MacPass/Icons/55_ThumbnailTemplate.pdf b/MacPass/Icons/55_ThumbnailTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2b8ddb6e0d0fc0f94f4daa3f95565fb7178efda5 GIT binary patch literal 4165 zcmeHKZERCj7#dSYd>&OS=e>47j~L-OAc~yW3mZ zjT!dA1|}GX3m`_p4=^TZKqWzO@--wu5#k2~1Cj|EQ9*x*F+^pa+jZ+?i(!fU+sXZL z?m6%Kyytz+dy@Als&sqwl)u1j_aWAQRVe-1p`oe8z&dmC5 zUtrCR)=9hJvmM>lm)e`mKfN!XdpE3UIH$R=$T^|s6RJ2$QyUz+Q{NY83!6G zs)WWmfeYyt+BMd+B^`^$$T2}W78Mhgv`xp8lVA&(tIJRaGA2r$P3KTIz;bUTa7i)- zMgyxC5Hf-ivw>nu7}~S|(1@ZTGDDitQ;Y?vAIJ`!T|;J8ITW_|-JWbX@@Lc4DoWe} zVJej}q!@!F*FcKnIEZLS(|Tf|Pc(=MpVo_s+5I2`IBuK}i`Jj|kY&xA9 zXmDinip2*5i3vj{M}r{6V49CZ%7EZVP9b5?C!Um}nWKdSh@&`$MI}M}s1f}LrC#r# z>xkiEF*ukDIjWVoSiDjw5^ivl_hKhJvU-Zv({vS$EHr09+0O`#w)fIGxDi))2yu?;D{{>sj*lF}xx3JyN2 z%+_En-m6J2;d>Q<;En|u6}e+{jnOqK21aE(R$XIsjf#O$8IM)h|3;T4*O-$Y-=<5E zwtKi{U~_$crY|GSlG=UEb6eC-kfO;zG?!@t=OQ$>7?NJ`KMit{!jyv^L6QwfF^aXrUbY%UHb?3j;AI;n1kEDjvTax3z zQ62zcKAOPL>4g<)iyDP42T&z|uQI#itMmd21{^?t+inw2Um8F$M0fpQS z6!?sv6z})Tan9x9^-JGMUXCS*D0WHFWK2u|7FNnQ6cH3j1{9%wB(+@bUSVaB%jlt4 zmUAE{>nh_oX!XmWBCi^|*%yVZ%xSf`Pt9i%+iGPBu1Gh7*iSd)iiXo{ii)v#O) zOF*qK|A6u~GSDwc3Q(o09|j_g7*MD`yXAfyhRaq^M6y!VxtgfG91P~&H^<|dnm;E$ ze-`+;Z%Y0fece+^&;KxfbLsi(eM={AUQqhAZ%1kCu9wGwqj{ei3arB~g0$hXl9q8; P%a~1!wy3Dg=h6NHwkNca literal 0 HcmV?d00001 diff --git a/MacPass/Icons/56_AddressBookTemplate.pdf b/MacPass/Icons/56_AddressBookTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f1c2ffd73ea17cc554679ac60d992a301f3662df GIT binary patch literal 4262 zcmeHKdu&rx7#~h%ZB~#VLSW2GaYK~$+(+BpHeK1)y9;ME=`J)0}(G z_x--}{myri@0V4|uqMK6Gh|))@$?ykp2l!Y4pbVPPQV63DpUX);#9~$UKSu)Qlctm z2gOh-S1T~WMuQTJ1ZDFh5O@QXel_fJMO6iIVS~QnQthg*^h@#dWwW!qpOhWFZLAyH z&@gOy&ESD>*{IO2&j&SM+%xi`BrUG3U-;MCTQDqjeZl*DaA-sQ<>2twHrBD!<@Jq4 zL+9N(R+9HSbEsia3!lC7?z;zk-2Kb+k`qrg9hx(D^za;JQq{Wj1@&`Btvz*W#MM3i z%3DixTfke(4$Nwa?5TzbZ zr)!Vl!eP*v3p%P3xi~zs5ESP#=)JfQj}{X_nn<#Y#2uvFf!klk2?vfl!9$kGToV{> z^m@>HdjyOwmJeZc6xXAm{L8irj=(!aSqXEhi;F};L7vkt2}A_Z36fh~>=TqZ7@3c0 z)D|(WSS%DDaj5j@xO@(t+E>w;k6Bv|{U0d~KDTSVg6cUKQwk zR*9|7T6|oSWWtXt0>bSJ(kpWN=<1`ZR}A#ZxUahU=;{>%y)y2ruK$fLeX=n}J$|mS z8nxZsHG?JD_b2)?)GTS;*Ncop>jViB4V<(mn!qtQK4vUHz2biwBqfC{3EhJv>rffA zJt-w7zOlh~vg9b9et*cu)oU6(8^XJHJ~O6vO2(gybn^z@nl!Ez{4n<$N!ER9%RJoZ z-`8+sb>{4qjF(<^c){#vms8TV)3=shy0&A~tNSR!X?gLf?`Ir)E^vj(*lzyGe3i9Q zO}YkGZS$NvMeFKCu%^j4{o04;kDc3`diKPEZ8t|sp2^3t>rE?<$1>*>4n5MGQdTDc zvE|8wDHptj`?EJ@UA&We>P_A2!k{6m?_2h6`lbJL-EU3sWB!J4b;~Q2%oi_Ra6tY> zZ2$Tzd?j^e>$v=owdIc`d&l1U=!IkFKU=BW9N6}JDm`LGPWpk}((TM016sCbR;@U4 z_t4~Y9V@?curPgB>bfb)RyJdW?b48`e=q#t%;DCPvkwk_pu}Y!i2dadm=UMb{5_ zF5xFf+WeB2YEQ;%)7GV&5{@F(?UqBauoT5Cpj3fEkXK~|BS@F4Cplik%yd##8_Uub zmbFlY7B_+03m7-+M*oDx%Ccmk%UM9s`4mgg1QK`_lC>64G?PQPbMhIt6`9bkS)fP~ zWlSq!Ux&1}Qotw6DyC^+AMgijAV%PA*-i675lo#)AWclnN)}zkr9dF%iENe~l$M>A zHUhiRIv{Op>wy7z=YCFIk$3K9YjJw<_Ph(LGV+#;U)m2llJfO;PrujwB2b^NsBr~~ P2Fh;34Ov-*Ue@pr*D>i4 literal 0 HcmV?d00001 diff --git a/MacPass/Icons/57_TextViewTemplate.pdf b/MacPass/Icons/57_TextViewTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..47643e6f6b2833fa8c50770a44f802f27aabc4b4 GIT binary patch literal 4057 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 G%>Mw3k+V$z literal 0 HcmV?d00001 diff --git a/MacPass/Icons/61_ServicesTemplate.pdf b/MacPass/Icons/61_ServicesTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b699a22a5ad4811804ec5dcd6ad8f92dbe100f43 GIT binary patch literal 4336 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 literal 0 HcmV?d00001 diff --git a/MacPass/Icons/63_FeatherTemplate.pdf b/MacPass/Icons/63_FeatherTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..74f649d6ba741e358f5defb46e0b78367532e6d7 GIT binary patch literal 4440 zcmeHLd2kcw6*o=df?{EEQK)gc5jE6-)wjFam9#>V4;{8s%T^?aZH$9gdsvDktyryM zVTVZ^Q%~J+B{U9Jx6hAfW^(6W0SYNyq(GKI8^ZC!T5k z^Nwcp>HFUMz3=_>-pu=LmfP+`ajjmRb>{5hV``NV!4T2+klJhp&OlJ+CEyG)GH>Tu zk>lZ(6qOMg6!YO4*^l4`Jt#p4Fn?);2c^D;ymH8Djmi?wgw!hkspYG8tD3O1=EYg1 z)%QNPuJO(dY3VHTh0EMJy?IMTV9u+rES_h+bY^Pd#Jz1flYW>wY5k0CX}7*!JlWT^ zqUrMOr(bO7I*M&vv^n#MX*aJvhW35fExd8x$-Vbo*i-t>vPR9PTaCf^?U}zQY&h@} z`?OSsfyRzGb$cExirR~ZJqgioBF2PCSFk2 zX71ayg*yAs(|`1I-!d)5pt=8?nh$e>cZVy513bxvii;QVc1$;MtpotAZ*cG z*|AfD1UQSPjB;VFh>iCL3hO1_TVFDtt*>QiPLpF*nd7E-C=!C#MB<@fIBJSpGz`26 zZ-Q%O8)%S(iCk;Z(CE^z%*4@f zbmjoa5RRRXvQi)-2gER<;4(fjCR;QbCD8CQm{%w=94H*sCUVrWVhF^U2*9-%7|n@e zhkYV3DVVq##{xdchxo7@g?{*`evnd^YuI(vaG?+w&IMl83|&kvkqZb*?XYjGkVg{5 z36vn_6PSshO&C1~!%Y}w2H&zw=9<8;!7hS*_Z=`sSbhs*sJOlh%7598z~NYvAW9)d zwla}OFu*d(p9CVDUltDbyC(t+7~uGZ}Fm#tS%y5;~edS%DN#S}!mt zrPE;sp8$`Ibb=9=YozZDxJBWp%!FBf2$%EWMk7bjD8cDHgino!atQf7Zqmok!o8v|QMrdw9{)620u}KIDqk`pd5KXRjKLq+jTG;`B{B z+cx()x@W$9c>mfH)<^!)+jqx;h1qvKx9OVIQSeEX>(Kd+; zGbGC)ugHrCOfbrWd>1HDru87ON@l)7CA4!n7YEX8=>burOeXd31RWT+!9 z7kFh@sDNb>eqv<6FIj$cGTy-305>CrqEO%3#9%BGjv^#*OFS1~Wl=(K!fGAu1wxU% z(hN1BL2tw{8)45U9h8nXIB0#IJ>Tx6^Nj>fSFHdV|5PGvIoR za*~9@XsrT8VL?QcX7dc`Yf1+^q9`MZYWDzdpq@u?Y#_UG4=;eSN*t0* z$`58aozqiirKV;e7yDCFH}rSio%{az%oVxspXo17EB+?;qt#4qe(tX(AiGiyR8Df= Y_(woRBFS-y7t|z_G3u-=N2yc&9~?qJzW@LL literal 0 HcmV?d00001 diff --git a/MacPass/Icons/64_AppleTemplate.pdf b/MacPass/Icons/64_AppleTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d8681f64f3d24a093e331e499d79c7a2f3cc807e GIT binary patch literal 4339 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 YhmhtPL5vBkSBWD8uFTBLFL5aU3*{_fbpQYW literal 0 HcmV?d00001 diff --git a/MacPass/Icons/66_MoneyTemplate.pdf b/MacPass/Icons/66_MoneyTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2367d4cf46fb933f613aaff95b2b22cabf1dd53 GIT binary patch literal 4902 zcmeHLYgAKL7DkLnc@%sswBq9u1+)&>QtrP+*}}%m&pwTR762) zMQu^a0HThxYQ>5cgpOi;;SzaFrD{=8p=uE;gCc{kVNvELAYrO&R$XiQkF)aQ%!2sUi)piUZNEV_omX`)u#U1C#(O~ZmeBnN=&~ip;Zo@mYP|- zhHc(U2@+FcBnBYVS}Z8T5(p!}w9c*Wil{xcEnKgP1bxgplQEQDnb1)sFPD1dgxn&uo16C0-DVQ#_YyeB7GC-s=5CAIx zW#ACR0@$1Y7-ch&Kz{&%U<8CXAi`w8Ode$U0Yif>aH3{>gEF2ME0zqIqy7cc6G>9f z1HqJ(lzhP1{2tB(P=P6L`TJqQOt;G2|`_^^)NWKdg=ro=%)O=t)$X{7Yv zH|kN8N~Oc9Z#1XTfWy8}N99v0JgH8picb|&H$_14h%#V=fglSJh=*`_5Z4cac@V@0 zejOT;4 ztr7B8%6MWOZn97tAr_cSDkTrXU?v+2WHDGu7MlSRsDi;k2sQ&#pm;otaF_&_ureZ* zj?{e(H$rP9F)dEK!X;QNE-N1AFd$rsF%(La$xv`uFhhwdU|1QC5@_Hc(-iIq-632) zXbH9v!8aJ$)>SIBsapjOUn}d@a4h~&6Pv?-lm!ZR)W}o!Vov4w!Soa=?S8#xKy7)yH7}!*B}?`-SIo0yf-pi22;o|jKwk** zod;66;{Oz|l@x(C=r5tG9_a@M53Y?t@l>4-Vpf3ddVv~XSJ4|86uu4%j0 zc2n0C}<&W%gk zlYP;h(i3I3cHXx$-alvxJj44q+upb3nA;v&wp-Vqo?ot+lF`+mU)7+g^lW5*>$A@fP2^Ke^p2G=I5SaO{;pEHv{WUJVGmZAqa13OCEc4_AkpkGCu5fFIhEa z`YGmSAUKJUU3;XgLb1yy11DxqJCyoqZal8e@N;a+viojF$Kprz1)6rvJECXd=3?Qa z2wMJyF}L2^2VPjWD7!N6z=eaG+(Q4dytxj&*W|VR?~ZoYpL|~{jE>zxGo*$-b~rHW zr<4on$9u4>sNyEsoQ#50*ZP#4fQwVU@sFFwAbbmPRi54~tRko-Gt@9sUwZP@l13sga2 z5ryk<&W|lyPbks?FSRb76I6Nr{mdHaE=|=!vZEzr|K~TS-N;oG-nyYq@H^3abY1we zahxmHZ(n>=nJiab?M>pfbOse`HV1Oz%*9)}y9HM#aL;|n-?S_`IX^87%o}?h_xM}V zu9Y>uzD3w+YFdsQyY|f z6d4m)r5`o>7i{+2U6Jm)uRvMc_Y1!`^9nxY+VrQB&(-#Jwpa9YWzT7IoKY>?_+_cd z7$cpPp{prc7SlLSSXVr`=^OskqSDxk^4nfdd%CwLR6TK8eas{1EBkYi?=MYU@ZHIW zrmUH3r}S@nD!A5u*15ebBfWgw663*XYZ{-l{+hUFpk}~hzjObv>JfThrlkqzy{$fN)a%7p-FFcF|!iW!qAQ7tjpVF)vm z;c}9CgFqa!>gn`@dbXE^YqK}l+L2)fjge~lh;(X`Mr#C6P-Y;MDxB0A02mPn-qa0> z5HICZua7X4%@%WE78hkA5J!x1*g~NQ4h<89g)xN!J}g0Dwg?ungkltBu|*s<6AlzY z2n2~ykw^jwmV*)6cpYGQM`K@gmRKkltJ9Hyr6Cgw%2jCu07HY`Er})K!Np5qsxbpE zx4nFctqO&my^lm9aPV<(@B}&s1P=QLPA&>*?!dQ%G+!Nva`8WsQT{k+eb!G#hYYF( fbgk2Q=IdXAsx}Rz*+9g*qAV`g)!REPM&kM(&wU|s literal 0 HcmV?d00001 diff --git a/MacPass/Icons/67_CertificatTemplate.pdf b/MacPass/Icons/67_CertificatTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0de1a88cd1d693bbd8e9bc7dd0a13d5b2d7e04f2 GIT binary patch literal 4313 zcmeHLd2ka|7%y5wsjWp624Tb{v>?Lf?Ughelh8B=tu!PyMJ^FHyDx2Ml8w6?8tR}N zRRIxiVL0R}$e|pSf(l~=1jLJ45XB1*9I*~%aMW=|q`pnlrb5S|GxA^Gu}+u&XAq={SU{EXJ;BQ0u%i+vdw1T3WgLY0au7qpab%v0MU{pD;Nt( zV5D5Bz(|80jK?TYHY*B&$3MfTgsoOtksue&&aC*R=IQ;J^NFm-r{{Tglr3t}J~r~; z!GT4;4A_9m(evLq`PA`-oENM65NRK5^IXh^ z5g~bCG*c5NQv|r7!U>$hVH8>`1zxTk${3xPCo;C9y^vULwW=tpuWFYhFUb(a8jZjg z^D8PtliVe3RJ8-A$TE+KM>)O{DwrRZ2O}2k`MnKVEGSsC6ZLMw9ks)XU{SRMebwX3 z`07fY6|`flndZ1D9*&05F|l|!6p>AFi-cmP8%3?qt+{Kzi-5T$N+ zhijMN!eP*n3p%P9xtQFd5Dd(6pvPiGJTf>*;S^Oy5hjW?5$q^}G!cXuTxOZdHGyGA zPX|4=tH9`Fc^O8#xUL4}U$&ia1l|-7r7)*hxo9*L?{KvW2rL29d$eS$KRL*!#B zwZ#r=EEW_@tRK>>-@xHUK~Ld4WFXFRNE8Ce1@dXmZwSy#f)Tg7v+otS#SvNIB0Oxz zB}ks-gn$93jU0#5l!{BR1kMqLfPtp`M!f*raXa}Yam_##TPN|gDLb)>q>Ww`=y+C% ztqv_-t4S*1YZU?E_5|q`xjl6C(A6ylx@Fv>t{%F&#Xz@=d(`#6(UqAh%u$VR(N>|d z`^uhyN!9&{x(pRdYV~!e!=zS%B!vb+p%MiZfg=cF#7KZ@#s4%&wG@UFbQk?tvdf?u zD%DC9Ev)r@F#dWn>tg@bf+piB;rUVhzpwEgnwzs=%~HJIkF9x!XEtqVzM*FKit39i zOX~J6wOGvO7Y>1^{?^RC7t{SJ$B&)=&9ypuRJJy?{H$-hFnIE-y5WJ-QvzE~c$!T& zKYY`Z={E<@%-fE8`p(WMnSG#k^L^jeYQ`NAjCG$6d-RN(Sy2+Y#r5Jt=V~S`I{V$5 zdCv^m(d63S+cn|BhFc3x)R*GSxkE>weqRRN(7a40k)4jc0-d@v3clw1ne=hpkcvG`sN!^9?FHdn^vR?Dt%#Fe@;yW0Kj3GE;2-^yKi_|umftZTyY!A0*bIJ@S3_YHT?Zu~B1`k{u#xsRj|OxyO+ z&R4Fy^!(J#*ou8vfD6eG6uQB9wQvpryA4wt6OT8!d53@8;v1ydX7Qs4_#LyRQavYS*217PA*5;fA~w3JdS zzVZ9ht{d)h*)+p7n!(sFtr5+})_uDRPX2Uoaly&OttD9{ug|HwV|%YYmnLVW_0pt$ ddNK3Zl{bO914)TXFp$j(;*4yuP~9 zXfhB8Q^0{C5hFnY8ca|=0!jjkWC;ldB@sjnpMr{sW|A36Ou%_x*RGQ-h9&afZr&gF z-FwdO-1EEVCcje~^!NzMWHHoUzj5ZQp^^h6P$F#xn+^Kn2@R>xmk>4NL6Q6TIMSMm#H69J^~#zzPgK4}R;^o68`$6UdarTq z{GOhf>vPkmqIETij}A?{baCI~7iD?Xn(kNrdaJ&=+f`R{=D?vh#QIz8#?J%pU60;s zys>-o(c6)^Ah+eSp3cis-QGX99t(+gu5qjT#(xQ$FRedm*!<0`x}G@)k5n&exoPP8 zZvNqyofCdsw5vv$(NXinCgJ0k4)5LOT7J0v_U7P;{Ra+Il|O5}-2dvHbK%Z$Wv90U z?i!FBEu0z8^xUZu2Y#f9QBe~Cjn_gjD7K(9VDj^P(r&z$P+A-g9Yy!m?F#%ANTPX; zgW*g>(@ARfHx95>1TOJqTaZnOQajQ>1hvFvyYcs<$BiH!wHue1{iHwTMy>JsoQlG^ z#Z6MKUE-t01&&HvR>&q(NqkI@O(x{DkhL2{d=ez!xxNgIAaA0z+l@|r12p@Cz^$kV zm`yApk)#<|ITOWN8QSs;ph=2`BnN4RpcsMFKTsG(M^oY73-zo`)n2X_~+mM0%yHiCIEUKREzW#POiCq{dTPT#KWj~dYrQ|k8* zx{eqwnS_J6;G^2Gi{MwH@z_caelHHpBTG;;LDNk%DbTz?@=ueLK$13ik7X&>Jcb*; z9{k?!17nEgJs8E}x*wE(*$%;pNjE;67@@hsc6gwOIt(i^OOl5Mat;Z zHh3JFOgt)3W=a%Ujw2!xDG`*!nh8#1NP^;ME@oy}Tqaze5x;+^?=aj3IjxDZgo?Nk z#=={yF$~0Dk{O023C=7cLPT^V%5w}AlcXZ<5Z?l>4eG@HfSf!(vHSU-LYIt^_F>50d8dB5*EA&YcgjR{T$cQcGbeL66Xq6np#~yYa&p%^lx%2F}iCJ9F!g*(YbilzLm0%wL>fVtA1>DQX9BvNK-c$yU|}Z^^aBcpoj_AF2!{P) zx*eO!XrQt3X0_+S8m1mfV%|?l4fvG^O;#}uHKPpH^dn^_oA6b~rfZ~cu`8>X&0xFgp&;p+5? h&a&}k7c7%!4!;R3vQ;gsqL_if0^Lws>kaq}{{TFNpi2M% literal 1771 zcmd5-eQXnD9PSvSX12;7%fR^cVm4tYd+)v8U9Z_vSg%(`=vZCrK3fGLgt1J<;(fcbiy#A(M=@mJ>yfk7sIl+T){~qR4ZsAR?iL_PU$khC~E+gc-m$K|fAJjaI-Qv;KCI zn+rB*ngLjXxB&)<76cCr?bwFlmImAcH-{0R0YykB4IRsIdvWWGqC}QTiljsp={#1X z`4s-gTTT41BxU`Es}I%%(8ewvGsNCeyXthjP10|w(~arxJpx&#mg;g?^raLkHsXM zu|YtNVsa!Y1yalf*^pyeG0z28h5`=S$?e3=F*u zr_7?__UwyF$VAdFA=QZCRepH~CPuD+jcQWO?sBItVlNXIpkPQ>oxeK6C8&#+q0B*ZY&jJ-<~= z|GYog|NBdF&GfrHHwJc}@XELE9erfU2j72o=p^2E*?7>e4L@BxQ1JY|J8di8e(s%5 zKI$s#dg$0agP*EJukZP=_r;f&?bb>7E|x(pwR{)PHi~@jZY1ir(sD*S>al z|D*75-(=;`;U~UYb*A^bk+IF41(q#iP|0^8zaUGWswYWnX1mtKrz6R1&U$5Q(1_>A zx6aT^fC>x^PqtsNHP&vNsMs{setBx{b2wf%G1gBW6s?`Td z4j!GgUc0w6T6plM!P%}*>5pP1Uk}|ilMjC3 zrcHxqvf!D8!8fL{pM_uC_W*Ta?ySF}mn-ZkI-SO4Ej#*Z={G4TQ(8xRQ@{LT5uFtL zP5una`(J)R#R;;S`^u|4Z^}u@gWbgM@5}?r;!x(YTg<&y(9-?Jwz;~_#9ic?#=6Zr z&y}vd=}XC5ao3S!V#rPF#Q6#v zV)Gk8sXL=80320Wc~n(7MbP3jy-*v{guH$)|4b<4_4rs#NGB%wmjDgF4%@le1yo?OLq;Y5AcYK=F9D1lLeAYcT8F-*!!NZCpsM~0+6_LV`9VH^`+ zses$hxfvf6#wDFhkkg69VM8Np$S<#d#E_4bMSPS|j28}(ei)S@@K{PTHKOAW20W3c z(G(0kzzcjF%j=hYA?Y$K{;n)7<$5nuSHYIzlnjiKGHN)w+qdY(sIiegd>%fk>2 zMrcqZ1wl0kqJ@7T8TB=SVdS%j&$}OiF-r0W7{kH!V^ID}b`%axXXIs)I3{(%$e}pY*4Zkoz^}4h#dXMzf&N#MV;MhRv-)_Jw zrmg5|yx-qZ$TY6lvHEd*lCZ80H~oUmIMNJ`=N~`QRCeH0zM-ssO7rG-uJ6D3^=fi2 zUTdCpYRY-}CI9KH?baeg@F=#VPPOT3!x^)xqn%4CFJS#!s4CN3;Huo zPum-JuIUnUuslFJ)%3x@o=Vu(dLSTmgMKyDn*K zjXHL+>WS;K$9tKakiF&7^KCy1mF@JL?48V>d}Adld+kv2`&;fyG8V@z_G#L3YL?Xg zym8HM_r!@L&-GOHC5Yztw{Ob3b#V54Ytho>`+6JJ3-)3CAIBe9om03hb{&}h(5spB zNr(T?BK=`|;VS3B$G(Is$k_+T!95js<=;)(@Oro9);;X=-4Of2cJo&cf7h#5{Q1Sy zRlRr58sanX#DcrCn!oFNICD-%)~wFXyMI4YPrdl|yX70@7m9DUzPESt6Z`DeWcKQU zj2&y@yY}^1|B%9L>t5#2w^v{2j9aeX+SXLH>6)?fP9?q*y0h_}0^p@`DK@;|Y3wEQG`M0HECz#{?jh5Bsqu z7FJWCb|GOjV@9*wpi-G}mDxndaig5DAZDXQWi;T3UQ6JFT!E=@LV+N-iZH3oIBqd1 zECz*=AQs}dz6iGZTnrS>?%d(&hXRLl8HR(xV}e}R;jRJ@iVS*JkPBRJej&<_3(%ry zK9;sQoiVX3Fk%W*Auf>)ugK?rLTN0 e=30gD#Is+5?|}kbC;(g{98;hoiNu_35&Z`ve0~A| literal 0 HcmV?d00001 diff --git a/MacPass/Icons/95.pdf b/MacPass/Icons/95.pdf new file mode 100644 index 0000000000000000000000000000000000000000..64c977612ab421738ca29e3cb1a361a0602056e8 GIT binary patch literal 4734 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 MVv@vv#+VoX4IKGqKmY&$ diff --git a/MacPass/Icons/addEntryTemplate.pdf b/MacPass/Icons/addEntryTemplate.pdf index e2793e355c7bb57574150e096a7a6ec4a0db74c3..6b879706c01dff3577a1169de400f84ea19d6541 100644 GIT binary patch literal 4295 zcmeHKYitx%6s~{;YZnTL@=}Mz779%7%6 zM1f4sUmz7isE!0#5C(F}0vyP8&2~yYqcJFn9OF~P6<(OXWMAC7NPOk2#O$pO8Ftu?0+Ap=WZr$T`ci za@g`BmU62n8sqdKI^+xZ2nH|=mM!35nO|Z;us=Au4Wu2%%mrD|6OcTDA5w4`mryJj z)M_PA$B5+R3v>kX2UEg1rm%t!gqQ$8QxMRVlbh}E2^5Ro@X_2X;JloV^GiY55AD)V zrqpKZaP2aj&j&hkk&mjEU1*!&_V8t9`Mnrr9&s4OU<}K_5E`Rsgc^^aG=k{CBbL!z z!x$#{^~mq-2{1ZYK7!F+Tu*}XFWXKyZkFZ+(Z@(eCJ^v?SVp-d5ODK)5Z&rzAEt~p z3v97MZHC!cToC{Ms7#kpXD!8I_+yEQQHrZ5)67zQD!Fe5fwXWz$gGyFk` z@v~e9F3%w>>DIzHiMe1cifdsPPv~G=r{j54%di-sYsc;68^P5BrPw+ZUt48|SLM={ zUlr(hR^hFVT6|iQXu?k`f{fb}q+8_n(A7g%w;1S_aZh#i(A6ylx@Fu`UH=u+yst6kTJ5VvTXW;S>Kja)lN!i z+^@NPYS@^U*9^E5qGR-@i&|9o=f%8MGT`31iR-xTzlAYA7yPEbn?5_kDt4-xpEipY--FJIyGN&knXec zVzp}1;J~X>kmFaY?$teCH*xRZ1M2VBpBgr&&(N6u7dE}{`27;mOGwLbLOkOQav`Ja@m}lsTbP6@$1WAxo8g3!2 z>7*7TtO$-{CKT0aEk->>SV@zGOw-_~4%b@J(+Gk@O(>?La2=9Hq#I{~3_mYGN{Kt# zrN0&j4ndG0MJqdi(^JktDAJbQbO*evYvRVhmCdI~%fSMlm zkKORFu77I7jo$C2Hr#xe8K1d1_4E=@(PwVo-l-MO#Qd@|ZujFiAqxRf3W*%A(ohtp LN=&q5TUGx6td#kn literal 1936 zcmd5-du&rx94^^h6(}GxV+1uPxEJ7d?t3k4jq7bM13Ff=W@5@>Z|T{%r0pfQcXT{N zl*x2UAi!`SBqTUM#V9fte8#Es0S*|Ck#)dOKu8J;;22wmqNk79m^u8{^VdD+{LcA( zzwh_m@1)zzLN=Mh>C!J>IeA7mmH`BiUCVWOdC)5Pkf=zjksFZE3P=OZ!D7Hc3m{pV zg$wbj9gtiu4GVz-Fcbwyk}WqHb;#!qUjarLIzv2%87-CF$R;XYKhDU@o+_`;4`^sp zkXu@+$_gMUqY(;{M@0%0Jfe!CN8miOBabu{P$Xl~vlO4pux3Wjngq&13V6m_%sg+* z6KGa2nP>}PrVE$?L2oki0?*L79BbeW1j`%C;XI!kRXZ4_9H( z`-z8l?Mz)ajU*|nICN4!5wvQuZX|vhW+`?k#+P3e6}4JH6*@wfo^B}?{$@}|l5xuZ zg^OX_6f6Za_YW{mr?bN8{Gwfx*gj_}F=kwXcJk(_byHLCQ7dj5zHik`a%#kT3B4oH zgiDSI!6sHB+>{6hk=l7t6+LogywzMhxIj@&GUhXf07MSKkOawcSTJ}>aydjfGQAI3ltf+v8=QihQaceP zScLmwn&>jD7sq5CW`NrPDiw)_GSI<>ndwcZ(SabEQ;^oz= zn$@AQT!p>*&W;jcK2v`1#(N*L=Q0i_{ZgNG^wO-Py85FFIy!$&>U(kBzEf>FT5BRJ z9(`r~qGyWc-`_Ol>)jigUdry)W>4n=$%f3(1Jjqn;~RPxI~s#yv$KEP(bDqnk&Lnj z#Ti0IZ6K{S|6qY8RNJjdO*W_QCJOg@yQa5YB)Dd9E_vu$f6HLi3$tI}GVO=$!Nfpj zbM2Tt4NVhH8;;EOTv(j8@zUhJ%S&qPJME39Z4K$?jq?37-SQ5{XD?sKXcmKY%|mN# z+Tf!7{jXiQ9!d(;B-d5hSk z>yHg;2WO^+v~y-QJh6R$NP9mcr7~grwSA#ldrDL2^Rk9dw2f(RHia@XU+w>O%5!&v z!7+)cn(jkS_lyMpa9@dnXNJKu4+mcs#eM=FpS6fMJ8;4}V-uH9_sDlqT-vn#2U5;Q zpmg3Iw`L?1?4!d{{vW&wF-xVm5f1?KpZWLs<3@wUN(Ph!KL@KwV2krl@c MpCs`E9I^br0HckhsQ>@~ diff --git a/MacPass/Icons/addFolderTemplate.pdf b/MacPass/Icons/addFolderTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3b83b9c38e8e20d3520e95f441c034f2ebd1c2d7 GIT binary patch literal 4168 zcmeHLZ){Ul6rT(RjMX6~WFnAfal;9(_x)>MUuny_c4dRTwX}=O5RljRZnx6*z4H2+ zbrT5;CK^UUVrI|~NKi;5D28A{98vxWf+T<>5X3;(CMZsg@___3^S-WICtD0lj-UhGv>bw>W?iQks|F?-+YvdObS&zi2&#rNhO zVmc07ik>wVoM`#HeeR8GwGAIFdi90B9-cc2b}Z>TemIst|BG(N%;LSm)}{B(UG81@ z;q8S>Ke#)m7q~j9-4nZum+-HEJKn3y79IK|woC23e^^KqO}TA|&iU^6r{nt)MgEdcyNBTQm+W}ZpijrL+nqtmIQ=)SsL zmc=Yp6lb-9U@D~PR5kFm1Dp*4=UB5ZPA3F03NVPMl2#Zj4RAM!6)3X zDN^04!eDD%z1SKRImx)#S!hq&((yzb9TQ8(V{+1#b{GY85@bJl=;DCPMf*HOd8<6tNkbW}TXvGIx&3AcFAt8pS88JwhWimImw8^zg3VgW(g2*M5? zvCQR~!EmEDgkIfaU<|W-1Y@wc9tY)Lw!?5F(H2(JxS%~{4C5iQg~2T}6T(9r#o_38$;`lzfc7kdxWjz2xOSiy+pyvrsO-!t zDsA+tz|gbGYz@`olbYlbeo_$-?s$+fkvmS;I9+36U`)p2)iqAnm>3w7@pyIpZ*&#r zggMgq4r4Qt-6MMjCa3!|x(taWU46aevFS>Xq|hKJE+Ycx6U6*-fVAR&8su6EOAdOJ z#%!=5vvRpsqWbL%JC;4&Rx#akC=h*iP3tb#wHZCJ^Q{NIgYugfpD8+Z zZ12N&_HSF+e&w?X&cu#@?@aUh?oBNI#+jL4{qXCh4eynPr*1iW*EHq*69+f7&+6O0 zAw0Kd_xb1e-{tDIa#Qi`ik|{y=bE-|?ECuN)t47|7Ik&5ZQKC4>r;i7m-^}2ANwX3 z+}yQh*1CD$AFw3P6}qGBZFbdJ_A*LYUi zJ#NZf$yB*HYZc45S+C2=dd&o9At|@Hl6IS&c9x|HkCh|5RjikBk={y@B;2&cO);$5 zO;aA{Do`Vb6-+O$z+m%jra?eaG)(VP10Wb_g&0W;WY-XYVX$H)iTYJ?RjweKZiYg6 z6Uw~a@`AF0g6FZH`^yUU_aBohuHIeMQE~NTe{E4mN5yqtq@r!lwx_V;dEazRT|Dw4 XkOo(^vx=zdw1Nsqb2^!S4L=mX+FR9VO92e76B!=@0jptvg+GBVT=H6ZR{GRHpdUhs+C8nl|LNP405n9@#eX3YfNanS0o+ z*ZEoJBR6<%1AFuAoh=(nFWkv~?Tx2AiyOMe4jUC|x%Zdv;1^j#vko;^-OWQ0Iel6@ z(yOL2)eA@yWl<9e8qZY&pV)w6ggH4*mg~W5A*F%ibQC>Tk4rO`riW%64p0;KYdSr3 zLPd(FZr}`4&Y6j*C^aFC@S}!c#AUqsRi}{%$}ZzPs{ny~x2mY7wX#-fZIT$- zIFmCt6Ko!ca8bAl2%_L=Jq5dP%pOG`*kyDieY_*q9Z-@W6jE$NWWdUezZZGKNm9ZfAw~gZf}p=7S?bA&#??^rXtD%Q2!&BZi{U(~-#kpIAoQg6yInX8 zdTPN(b>b9OP~>2s#fx7Ghk3M+6iw1}Ee%Ks1ngwM z=D?k5w?I;~S|}3QM4N@N29Ru{lT2gWUb$&pC(xU%SM#MhJ2{J68^0>h^Q@9fJ-zs- z2AP5%)eabUaFYR%J4n|cT?1lZK*59EHAvTh7#L9SV0Zm*bQv<;zP4Ouw%gzhht7rncLrTc+&G!OhQ>ZoD@ChsF^%CzKp^1B=dHb=pvrF&&-1`2ng^RNuU$NnxzE@$-@Z~PAAp&A3hCrzR zDs?#<0vea>U@Iahn5wR>8U?_-dJ5ZHYC)!d8qfRvS=keLp39k-lT$?ebf3%l z`2N>(OHN&t)|8w&dA}leO-{*=RYyuzE_!dF9J(;RZFNSkY{Efl~-I` IR>kN21J4)39smFU literal 0 HcmV?d00001 diff --git a/MacPass/Icons/downloadToDiskTemplate.pdf b/MacPass/Icons/downloadToDiskTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..48263d05082d847c5f6f7431f9302d82a26ab3e7 GIT binary patch literal 4242 zcmeHKeQXnD7$3?$SXPFpb3j;bbsJ39y?58UwpY83wOv_p-Ii{^WX^fLyKZIeU3YhN z-4H?s<6A+ANKlv-sJhEm)PtYEL*2azjF0-yDHv*porj}r!tv<-RqM%5!ijS%-J|bU^%!Y zN-{!$LXNMNYY$;CVIP`krj7|F86Lp2DdnS%LR<|@Kb-hx;}|sRm{$3A)GQ8 zKxxn|D-4x83wx;Q1CEeo$_)i*rk0ZtH&^ZDbJRZ{I;=*#Y>s*k=|r6YD_7$!XcW29 z#-cK&v6i7&b*?$y6f%bV0YAJZ67u_a$r#E})9@yo5w4YOphm(ba&3+}PdPx!oh67> z5IKa*CNvC+l8D}rjS+e+uFFDj6vF{(0Jv6zX^p7zLwY~8IUcS|BI_}_Z1&!8@L!I) zMwSCc0P5@Ov+K3lf>;eOilP9D102^t3ysvk%XCP?OHcQJ^x@bzi4na4*(>mff=j!F zpq!&tD}nmI-n{&Q{y@Bx9nLYE5&R%T2LP6hf}xyPrr#$J6n){Vu?*mRoS)-m3Ho6} z`aw#a&VJV+!}fWtCIk0APK*-QrlJ}*NnMFIiVV*-(*0rp|a zj5dJ@D%3h`=3vmv8VL_eae5Nh(4?Ev&^p4cp|upN(Gv#7L+CM-Cg?CDPUk@1LAVZH zl4+jd`f%O2-c9Ogy++64l*U67oQB3pN<-4DLC?B%Is-=Z;STWa#Wew?*#c=1|l-|hvzalEGg61RGU$m1Th?bC{Bfkz$qv?B@@6|@m~!hl0p}O z9zu`xsSG_HkrD+fj=CIt8=BA+e>ysC)mh7pi^%bvQ=3x$TJ)|n(XnWIckE2p8q{hkfO_^#+5E4*T8+^*KMmd-61+hT3I_Pbl8C)PVw zE>E0TSC=;J{aofL=3@`D``N0yiQmeL$#p8%f|;$ec2@lP%*HyNto3X!T2p!Ox4Q8g zn$q?jJJOMKW9+@P`yWr6kbAnR>wN4Q-QL;h@yyZ8SsQ0|Hm~|=Zp$v`<^}GQa?guf zn>*K?Iul)0)7iW*>%#RvUTM18QgyBB{9_BFlcV-Mzv73%<j);vU!6vZXIC&eXB1Ougch%5#61Jz6e5B+n?7VYLB6hy8>=k6)yQ zR3u)HjxM1^zXTPwRqzG1bOA)9lJw3nJ GuKF9KLDC)o literal 0 HcmV?d00001 diff --git a/MacPass/Icons/99_HarddiskTemplate.pdf b/MacPass/Icons/harddiskTemplate.pdf similarity index 100% rename from MacPass/Icons/99_HarddiskTemplate.pdf rename to MacPass/Icons/harddiskTemplate.pdf diff --git a/MacPass/Icons/infoTemplate.pdf b/MacPass/Icons/infoTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aa8709284bce9c7c64ad414aa7a1c61fdfff5b88 GIT binary patch literal 4183 zcmeHKeQXnD7#{*t>S`tef&_S}8K1kpch~l=ceLHQUdx7bE9(dZT=06mZe_i@dcCr4 z0ZD)$A0r|}1r5Ry6k|X}#6-hzL%=K<1_JV7RG6rfC`KJ7{-HSE>pnW!Vpt;o?b1Kq zzVGw=p6B_!&zn5Iya4CJ2s35OyZP<;OGbko;6MqjHaZ;87maD63VktN6FE^(!XnyI z6B=OPVo|QrssTacuoRH6qAo7Nve4?FCb?V*O%-{`XsEuv>7`SKjd;%HRe5Di$L%M! zPoSnu|FrP)H&SyfIsE$`Cvq#_RcUe}s6bk{e>?|kC@Z1ddjyjVx>xM?}_r?!Kp=TG0cv42I&*vVPT zjw~@7MLFD?HCpM_6B!o#qQ-}LjRz#!D~AETN=yJtdYvxYgU(_~mCL20=)SsLFN3`_ zk&N9AgUOJl)3n^bxQDMk;0$Aqf>fLrYD5i$#Hy(5H2rd-#RQ^Zr)inZkNe{uu{v5@ zuZqF?(h8xzMqt9G0++#&VpCFFLTQ4O6q6Hd%4yg{1NUi4!Em?U1x!goVZRAL#u|E(2OQ)Nq6?=X|~4&_AcC zTGQezgtfJ`=30wcQL7-qFbu>=NRk+`z!G(`#-}hj@pKPJ9}Xub1T`AhqKXW3Tt1{E zHK)m>2kQTN>yqOAf#ifaU87l0B$(pkkTBzLD5tQ{?-Ng|v2j_ z5T$;9zw40UBnkG{f>L!L7uK(Yqmeoey%-nb(TWiyMv@gI&XNpE;PY{U#c>C`$1+oE z8pDI$4|;L;fib}H9*n-`x*wE(*$%)73v5JDC0=v!@pvpM@cJdecsSyKnWF*rY06km z5t2H!C7dgnjD}eoPSZSPvtcwtQ&^a=k{EBNcnr6P7%NX%1)If^X2kCw=sO6vL{4bD zEQo!$7Mc=C8%|*%3Ky^lW#zFDA0jX+!bf<4v4q5k(1$y~w-?s|^=2E;d_A3=-bJmA zUKQ+rR_UYuUVKoCOu-K-0>T{$GAwdO=o+DGSPTryc%-{V=o%IS!!jP}uK$fLLuN2X zGrrSQi^lH3n!%cx`_pq78kY3wYYxZilORE&4=0)Q5I7shXU~ObR{T$cjHIA4&_jr_ zK9xb>87Wb`_1w#Dc_W_dJ=%5km7M9fPc=yu;>4v(CONYfwV61>$(D-lV_#di$$zIh z?@k$g_m5Hg4~_nH!;1~ins59$u^`ns;pjT=`sUQ(mc8Sj8OPY1(!Jq)ewlH<;myMpTe*dynUh~lZCiBa z=9VL#nVsau$BH`+H?*I*_WhIlq|Urn1D*Ns3=F-9|Kdfsgyz*7|;+*Hc nC~GX-u MPCustomIconTypeBegin) { continue; // Skip all non-db Keys @@ -48,25 +48,25 @@ + (NSArray *)databaseIconTypes { - static NSArray *iconTypes; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSDictionary *imageNames = [MPIconHelper availableIconNames]; - NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]]; - - NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { - return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]]; - }]; - - for(NSNumber *iconNumber in sortedImageNames) { - if([iconNumber integerValue] > MPCustomIconTypeBegin) { - continue; // Skip all non-db Keys - } - [mutableIcons addObject:iconNumber]; - } - iconTypes = [mutableIcons copy]; - }); - return iconTypes; + static NSArray *iconTypes; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSDictionary *imageNames = [MPIconHelper availableIconNames]; + NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]]; + + NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { + return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]]; + }]; + + for(NSNumber *iconNumber in sortedImageNames) { + if([iconNumber integerValue] > MPCustomIconTypeBegin) { + continue; // Skip all non-db Keys + } + [mutableIcons addObject:iconNumber]; + } + iconTypes = [mutableIcons copy]; + }); + return iconTypes; } @@ -96,28 +96,71 @@ @(MPIconDisplay): @"18_DisplayTemplate", @(MPIconEmail): @"19_EmailTemplate", @(MPIconMisc): @"20_MiscTemplate", - + @(MPIconOrganizer): @"21_OrganizerTemplate", + @(MPIconASCII): @"22_ASCIITemplate", + @(MPIconIcons): @"23_IconsTemplate", + @(MPIconEstablishedConnection): @"24_EstablishedConnectionTemplate", + @(MPIconMailFolder): @"25_MailFolderTemplate", @(MPIconFileSave): @"26_FileSaveTemplate", - + @(MPIconNFSUnmount) :@"27_NFSUnmountTemplate", + @(MPIconQuickTime) : @"28_QuickTimeTemplate", + @(MPIconSecureTerminal) : @"29_SecureTerminalTemplate", @(MPIconTerminal) : @"30_TerminalTemplate", @(MPIconPrint) : @"31_PrintTemplate", - + @(MPIconFileSystemView) : @"32_FileSystemViewTemplate", + @(MPIconRun) : @"33_RunTemplate", + @(MPIconConfigure) : @"34_ConfigureTemplate", + @(MPIconBrowserWindow) : @"35_BrowserWindowTemplate", + @(MPIconArchive) : @"36_ArchiveTemplate", + @(MPIconPercentage) : @"37_PercentageTemplate", + @(MPIconSambaUnmount) : @"38_SambaUnmountTemplate", + @(MPIconHistory) : @"39_HistoryTemplate", + @(MPIconFindMail) : @"40_FindMailTemplate", + @(MPIconVector) : @"41_VectorTemplate", + @(MPIconMemory) : @"42_MemoryTemplate", @(MPIconTrash): @"43_TrashTemplate", - + @(MPIconNotes) : @"44_NotesTemplate", + @(MPIconCancel) : @"45_CancelTemplate", + @(MPIconHelp) : @"46_HelpTemplate", + @(MPIconPackage) : @"47_PackageTemplate", @(MPIconFolder): @"48_FolderTemplate", - + @(MPIconFolderOpen) : @"49_FolderOpenTemplate", + @(MPIconFolderTar) : @"50_FolderTarTemplate", + @(MPIconDecrypted) : @"51_DecryptedTemplate", + @(MPIconEncrypted) : @"52_EncryptedTemplate", + @(MPIconApply) : @"53_ApplyTemplate", + @(MPIconSignature) : @"54_SignatureTemplate", + @(MPIconThumbnail) : @"55_ThumbnailTemplate", + @(MPIconAddressBook) : @"56_AddressBookTemplate", + @(MPIconTextView) : @"57_TextViewTemplate", + @(MPIconSecureAccount) : @"58_SecureAccountTemplate", + @(MPIconDevelopment) : @"59_DevelopmentTemplate", + @(MPIconHome) : @"60_HomeTemplate", + @(MPIconServices) : @"61_ServicesTemplate", + @(MPIconTux) : @"62_TuxTemplate", + @(MPIconFeather) : @"63_FeatherTemplate", + @(MPIconApple) : @"64_AppleTemplate", + @(MPIconWiki) : @"65_WikiTemplate", + @(MPIconMoney) : @"66_MoneyTemplate", + @(MPIconCertificat) : @"67_CertificatTemplate", @(MPIconPhone): @"68_PhoneTemplate", - - @(MPIconInfo): @"99_InfoTemplate", - @(MPIconAddFolder): @"99_AddFolderTemplate", - @(MPIconHardDisk): @"99_HarddiskTemplate", - @(MPIconCreated): @"99_CreatedTemplate", + /* Custom */ + @(MPIconInfo): @"infoTemplate", + @(MPIconAddFolder): @"addFolderTemplate", + @(MPIconHardDisk): @"harddiskTemplate", + @(MPIconCreated): @"createdTemplate", @(MPIconAddEntry): @"addEntryTemplate", @(MPIconContextTriangle): @"contextTriangleTemplate", @(MPIconExpiredEntry): NSImageNameCaution, @(MPIconExpiredGroup): NSImageNameCaution }; + + + + + + }); return imageNames; } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index dbc4aaba..6269e83a 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2557 + 2558 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright From beb435362c757b8bc5a225dfbab69e50b90d83dc Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 4 Apr 2015 22:31:42 +0200 Subject: [PATCH 303/778] Help icon used strokes resulting in black ring. Fixed by converting to outlines --- MacPass/Icons/46_HelpTemplate.pdf | Bin 4187 -> 5277 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/Icons/46_HelpTemplate.pdf b/MacPass/Icons/46_HelpTemplate.pdf index dea94a0a498a07836ae93b9c823f54768a484721..229496bd4d40f10ddf8e03988647e2edb59e5998 100644 GIT binary patch delta 1994 zcmah~dr(wW7-!i98rtwICH;G}nXJ{<> zERBcQJ?A&5ix_BlhQ=b^O`AISh||HR%CaO_3q{EpW;%`#AVj3uY%*YQ_-RCPvBd@` z=TTWYG$bZ2o})Pf;tlbMG|eUOd>q9vD2_w1D3**TQFJz8l*Bi1E({C~-!2Q1>+*~0yx4+p# z6Shygv9juIb(POCt=3Ch6EoY#Z(L>9X{|Okr;>hUSdv=f=dtUK*Fk5(-4@)bXOuCj z@hYV7s<93n^*}{qBstbrYJ%Yql03PI&-{49QybJZDDZm@>+ih=frn z5C@ynfNS9xCg=)yeZtmmv+?%Dit6D7*8&chmd!sDduYJ~ z|Ar$G4c#HltJWHcMcZ^Mna#WP_xq;Rh^3DDuSYa>{?>P@YemSVcaw){7q^`{VF^3o zeaT@wVwx&#Q3CGVY>ilxyVrYrk5+SttnP02=e7qGYSu-i)=!+!wcxE`QI{I(Ry^D> zuf!T6RVrIIsl+oYV!gjA=!?1d$X2)Y;|qPu!&b>Z-Ti)M-?jtfx%ZWh+2?Proa=wu z%PVSMy?25trh8#~Z{wc&T78v0^_z&6+UB~~q8w+ka_TEWD_WMf`Jd|iGC8z$)5(sVMFZZ3PN+YCZmj$MVf>G77Ht6Q2{stfv2Q_Fajw+FSM zJ>c0nVg*M4VLXxBbMH=ujV;P2GvWa+WQ4!vr7NO8C5(#FjEaVl6K$c2y zH{yk16_*WMtaz}@Pc9i&xljyE5z0gfph-lg)ovZo8f;(Z?6}u-T%fJQIZedtRJW;IIs5b_yEI zl%5wkHjmBE6A{Pk@6i;!prVu+x&Q|QX-JbeVwdkB5Qa=5X4uT}cx8mfN8r$(BQTic zCp#R_PoWC~kE^o4G5}ppBpgH)7ra1Z;N3_wX%MGqp8Fei{TqI0C(iKyk2C*37lc?h GzWfDqk&h+- delta 1100 zcmbQMd0RnHHNeG9*HF)lSM|~3^Ot$KEGBm{%htPP78RE$SnB(v=B1ZpC>WX>>H8@d z>4#Jnr0V-8Wd)by+SwJC6s0ES@^WR|Yw4B9@4WH}`&mLy zRR}$h@0+zI?o98R>1A=TH!Yr?xSo3Wfq=jv>1$S78WXdRJ>PHNTET6=P~96C!<(9y z0(Cf$m7kQwYp7tL0HSSd^nFuH5>paO5)~%Z28NS2a2R40|H5I6RoseGcJf(HgUO{_QYtA)M#*U@hH1J6 zspgitX{ja#x|Zga7P=|P$!VsEi7BZm7Ri%0bD5|l8KoE{rzWN8ni?i1>YAIInCm8{ zS{UmlnWvapnx-YDm>QaG=H|}jU^JOrDJ)}eVrT>e21b@(H>w*LsB7x`=BKzMmZWO9 zSOL9?MS-0iC`ds8Xa-C zrTGPuP|1t0*~|AjT8H{6**@R=SUvUYu49)^OI7qGe~m6>caB=~H@+(5s)(QK3uRwD|awPCAxvN(`K%yQwvG+KV5VGZy_;(dK>mZ^nwrhQ1uy#d}!a z-$<1HT)o4(w7mUI7*B7PtfcxM>FM>KZI|78?((8$hi@_t6q$;OPT_2$m5X0FZ_ zE>5lnPA0BqMwW(_rUphv#?DR#uBNWW=613Ao_T5c3MN2{f?!$F)L1_#Kfgo)lzfBq zgEOmA6$}j^88jj&HBCP}+EBqr!7vsP85#GIk{FoO+}t?X)Y#ah6<+@rV_WurkDiOe zwdb}y4%hzt_u=VDa=7V#(4i@Q8l%DihBFeJL74t6E=epZsVGWK<2AOhFy&QMb@g}S F1pqTqiIM;S From 6c4daebb33a65b70bcdcba41e98af58ba27053f8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 5 Apr 2015 21:12:41 +0200 Subject: [PATCH 304/778] Using current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index db3588ea..3d2592c7 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit db3588ea658470fb94dba4d8e214f603dad950e4 +Subproject commit 3d2592c7b14f4ab2f851fb72c865261a4913251e From 580787353e3f51ab2d3b237426d4ecd5e30a2171 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 5 Apr 2015 21:15:48 +0200 Subject: [PATCH 305/778] More use of properties. Fixed wrongfull controller bindings --- MacPass/MPDatabaseSettingsWindowController.m | 19 ++++++++++--------- MacPass/MPDocument.h | 1 - MacPass/MPDocument.m | 17 ++++++++--------- MacPass/MPEntryViewController.m | 14 ++++++-------- MacPass/MPSavePanelAccessoryViewController.h | 4 ++-- 5 files changed, 26 insertions(+), 29 deletions(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index c9d42afc..7871ee64 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -29,9 +29,10 @@ @interface MPDatabaseSettingsWindowController () { - MPDocument *_document; NSString *_missingFeature; } + +@property (nonatomic, weak) MPDocument *document; @property (nonatomic,assign) BOOL trashEnabled; @end @@ -50,7 +51,7 @@ - (id)initWithDocument:(MPDocument *)document { self = [super initWithWindow:nil]; if(self) { - _document = document; + self.document = document; _missingFeature = NSLocalizedString(@"KDBX_ONLY_FEATURE", "Feature only available in kdbx databases"); } return self; @@ -59,7 +60,7 @@ - (void)windowDidLoad { [super windowDidLoad]; - NSAssert(_document != nil, @"Document needs to be present"); + NSAssert(self.document != nil, @"Document needs to be present"); [self.sectionTabView setDelegate:self]; [self.encryptionRoundsTextField setFormatter:[[MPNumericalInputFormatter alloc] init]]; @@ -69,7 +70,7 @@ - (IBAction)save:(id)sender { /* General */ - KPKMetaData *metaData = _document.tree.metaData; + KPKMetaData *metaData = self.document.tree.metaData; metaData.databaseDescription = [self.databaseDescriptionTextView string]; metaData.databaseName = [self.databaseNameTextField stringValue]; @@ -89,11 +90,11 @@ metaData.recycleBinEnabled = self.trashEnabled; NSMenuItem *trashMenuItem = [self.selectRecycleBinGroupPopUpButton selectedItem]; KPKGroup *trashGroup = [trashMenuItem representedObject]; - _document.trash = trashGroup; + self.document.trash = trashGroup; NSMenuItem *templateMenuItem = [self.templateGroupPopUpButton selectedItem]; KPKGroup *templateGroup = [templateMenuItem representedObject]; - _document.templates = templateGroup; + self.document.templates = templateGroup; BOOL enforceMasterKeyChange = HNHBoolForState([self.enforceKeyChangeCheckButton state]); @@ -130,7 +131,7 @@ metaData.rounds = MAX(0,[self.encryptionRoundsTextField integerValue]); /* Register an action to enable promts when user cloeses without saving */ - [_document updateChangeCount:NSChangeDone]; + [self.document updateChangeCount:NSChangeDone]; [self close:nil]; } @@ -151,10 +152,10 @@ return; } /* Update all stuff that might have changed */ - KPKMetaData *metaData = _document.tree.metaData; + KPKMetaData *metaData = self.document.tree.metaData; [self _setupDatabaseTab:metaData]; [self _setupProtectionTab:metaData]; - [self _setupAdvancedTab:_document.tree]; + [self _setupAdvancedTab:self.document.tree]; self.isDirty = NO; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 5203c30b..55dd4261 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -62,7 +62,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @interface MPDocument : NSDocument - @property (nonatomic, readonly, assign) BOOL encrypted; @property (nonatomic, readonly, assign) NSUInteger unlockCount; // Amount of times the Document was unlocked; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 3fbfaf3a..33cc8f2a 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -67,8 +67,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey @interface MPDocument () { @private BOOL _didLockFile; - NSData *_encryptedData; - MPTreeDelegate *_treeDelgate; } @property (nonatomic, assign) NSUInteger unlockCount; @@ -78,6 +76,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey @property (strong, nonatomic) KPKTree *tree; @property (weak, nonatomic) KPKGroup *root; @property (nonatomic, strong) KPKCompositeKey *compositeKey; +@property (nonatomic, strong) NSData *encryptedData; +@property (nonatomic, strong) MPTreeDelegate *treeDelgate; + @property (assign) BOOL readOnly; @property (strong) NSURL *lockFileURL; @@ -87,7 +88,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey @end - @implementation MPDocument + (NSSet *)keyPathsForValuesAffectingRoot { @@ -124,10 +124,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (id)init { self = [super init]; if(self) { - _encryptedData = nil; _didLockFile = NO; _readOnly = NO; - self.tree = [KPKTree templateTree]; + self.tree = [KPKTree allocTemplateTree]; self.tree.metaData.rounds = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordRounds]; } return self; @@ -209,7 +208,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey Delete our old Tree, and just grab the data */ self.tree = nil; - _encryptedData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:outError]; + self.encryptedData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:outError]; return YES; } @@ -271,7 +270,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey NSError *error; self.tree = [[KPKTree alloc] initWithXmlContentsOfURL:url error:&error]; self.compositeKey = nil; - _encryptedData = Nil; + self.encryptedData = nil; } #pragma mark Lock/Unlock/Decrypt @@ -284,14 +283,14 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [self exitSearch:self]; NSError *error; /* Locking needs to be lossless hence just use the XML format */ - _encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKXmlVersion error:&error]; + self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKXmlVersion error:&error]; self.tree = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; } - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{ self.compositeKey = [[KPKCompositeKey alloc] initWithPassword:password key:keyFileURL]; - self.tree = [[KPKTree alloc] initWithData:_encryptedData password:self.compositeKey error:error]; + self.tree = [[KPKTree alloc] initWithData:self.encryptedData password:self.compositeKey error:error]; BOOL isUnlocked = (nil != self.tree); if(isUnlocked) { diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 60f47519..da37f889 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -368,8 +368,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(!document.selectedGroup && !document.hasSearch) { /* no group selection out of search is wrong */ - [self.entryArrayController unbind:NSContentArrayBinding]; - [self.entryArrayController setContent:nil]; + //[self.entryArrayController unbind:NSContentArrayBinding]; + self.entryArrayController.content = nil; return; } /* @@ -387,7 +387,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; return; // we are showing the correct object right now. } } - [self.entryArrayController bind:NSContentArrayBinding toObject:document.selectedGroup withKeyPath:NSStringFromSelector(@selector(entries)) options:nil]; + self.entryArrayController.content = document.selectedGroup.entries; } [self _updateContextBar]; } @@ -422,8 +422,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSArray *result = [notification userInfo][kMPDocumentSearchResultsKey]; NSAssert(result != nil, @"Resutls should never be nil"); self.filteredEntries = result; - [self.entryArrayController unbind:NSContentArrayBinding]; - [self.entryArrayController setContent:self.filteredEntries]; + self.entryArrayController.content = self.filteredEntries; [[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:NO]; } @@ -433,8 +432,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; MPDocument *document = [[self windowController] document]; document.selectedItem = document.selectedGroup; if( nil == document.selectedItem && nil == document.selectedGroup ) { - [self.entryArrayController unbind:NSContentArrayBinding]; - [self.entryArrayController setContent:nil]; + self.entryArrayController.content = nil; } [self _updateContextBar]; } @@ -456,7 +454,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [self _showContextBar]; /* TODO: Show modification date column if not present? */ MPDocument *document = [[self windowController] document]; - [self.entryArrayController bind:NSContentArrayBinding toObject:document.selectedEntry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; + self.entryArrayController.content = document.selectedEntry.history; } - (void)_didExitHistory:(NSNotification *)notification { diff --git a/MacPass/MPSavePanelAccessoryViewController.h b/MacPass/MPSavePanelAccessoryViewController.h index a806c5da..40544758 100644 --- a/MacPass/MPSavePanelAccessoryViewController.h +++ b/MacPass/MPSavePanelAccessoryViewController.h @@ -13,8 +13,8 @@ @interface MPSavePanelAccessoryViewController : MPViewController -@property (nonatomic, assign) NSSavePanel *savePanel; -@property (nonatomic, assign) MPDocument *document; +@property (nonatomic, weak) NSSavePanel *savePanel; +@property (nonatomic, weak) MPDocument *document; @property (nonatomic, assign, readonly) KPKVersion selectedVersion; @property (nonatomic, weak) IBOutlet NSPopUpButton *fileTypePopupButton; From c9043e91ec52b32cfdab93a07e5efd409039478d Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 9 Apr 2015 11:03:34 +0200 Subject: [PATCH 306/778] Using more padding between icons ins icon selection --- MacPass/Base.lproj/IconSelection.xib | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/MacPass/Base.lproj/IconSelection.xib b/MacPass/Base.lproj/IconSelection.xib index cc6c0f07..f64ca5ad 100644 --- a/MacPass/Base.lproj/IconSelection.xib +++ b/MacPass/Base.lproj/IconSelection.xib @@ -1,8 +1,8 @@ - + - + @@ -54,7 +54,7 @@ - + @@ -378,7 +378,7 @@ Gw - + From bcf66b3072d8d724ea63cc8b16f04bd90324c057 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Jul 2015 09:54:21 +0200 Subject: [PATCH 319/778] Updated xib version --- MacPass/Base.lproj/InspectorView.xib | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 7109faea..8459e0f0 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -77,8 +77,8 @@ - - + + From eeda5a50b3e6b7def8798e7689f6e83a8420372a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Jul 2015 10:50:12 +0200 Subject: [PATCH 320/778] fixed error in localizations files --- MacPass/de.lproj/KPKLocalizable.strings | 2 +- MacPass/en.lproj/KPKLocalizable.strings | 2 +- MacPass/fr.lproj/KPKLocalizable.strings | 2 +- MacPass/nl.lproj/KPKLocalizable.strings | 2 +- MacPass/zh-Hans.lproj/KPKLocalizable.strings | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/de.lproj/KPKLocalizable.strings b/MacPass/de.lproj/KPKLocalizable.strings index 12296dbc..51fe079a 100644 --- a/MacPass/de.lproj/KPKLocalizable.strings +++ b/MacPass/de.lproj/KPKLocalizable.strings @@ -34,4 +34,4 @@ "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "Schlüssel-XML-Datei enhält kein Key-Element"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "Schlüssel-XML-Datei enhält kein Data-Element"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Daten des Schlüssels nicht lesbar"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!" +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; diff --git a/MacPass/en.lproj/KPKLocalizable.strings b/MacPass/en.lproj/KPKLocalizable.strings index d523a625..4d32bdbf 100644 --- a/MacPass/en.lproj/KPKLocalizable.strings +++ b/MacPass/en.lproj/KPKLocalizable.strings @@ -34,4 +34,4 @@ "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "The XML keyfile is missing the key element"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "The XML keyfiel is missing the data element"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Unable to read the data of the XML keyfile"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!" \ No newline at end of file +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; \ No newline at end of file diff --git a/MacPass/fr.lproj/KPKLocalizable.strings b/MacPass/fr.lproj/KPKLocalizable.strings index 5ba5f81e..c928e4fe 100644 --- a/MacPass/fr.lproj/KPKLocalizable.strings +++ b/MacPass/fr.lproj/KPKLocalizable.strings @@ -34,4 +34,4 @@ "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "Le fichier XML ne contient pas d'élément clef"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "Le champ XML de clef ne contient pas d'élément de données"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Impossible de lire les données du fichier XML de clef"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!" +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; diff --git a/MacPass/nl.lproj/KPKLocalizable.strings b/MacPass/nl.lproj/KPKLocalizable.strings index a0b77b6f..2398604c 100644 --- a/MacPass/nl.lproj/KPKLocalizable.strings +++ b/MacPass/nl.lproj/KPKLocalizable.strings @@ -34,4 +34,4 @@ "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "De XML-keyfile mist het key element"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "De XML-keyfile mist the data element"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Kan geen data van de XML-keyfile lezen"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!" +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; diff --git a/MacPass/zh-Hans.lproj/KPKLocalizable.strings b/MacPass/zh-Hans.lproj/KPKLocalizable.strings index 41fd94a1..3871ad47 100644 --- a/MacPass/zh-Hans.lproj/KPKLocalizable.strings +++ b/MacPass/zh-Hans.lproj/KPKLocalizable.strings @@ -34,4 +34,4 @@ "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "XML 密钥文件缺少键 (key) 元素"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "XML 密钥文件缺少数据 (data) 元素"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "无法读取 XML 密钥文件的数据"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!" +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; From c61ff91f79e80a462ae726ef2d6b37aee6520efa Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Jul 2015 10:50:18 +0200 Subject: [PATCH 321/778] removed unused property --- MacPass/MPOutlineViewController.m | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 86a2dcd0..d38713c9 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -45,7 +45,6 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; @property (strong) NSTreeController *treeController; @property (strong) MPOutlineDataSource *datasource; -@property (strong) NSMenu *menu; @property (copy, nonatomic) NSString *databaseNameWrapper; From 1b4313461188484fc1797073ee2d875010f32a19 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Jul 2015 10:50:26 +0200 Subject: [PATCH 322/778] updated to current TransformerKit --- TransformerKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransformerKit b/TransformerKit index db20fcea..337c309a 160000 --- a/TransformerKit +++ b/TransformerKit @@ -1 +1 @@ -Subproject commit db20fcea462f3269c0464f6c132ae4bd2ddb060d +Subproject commit 337c309a4cf49ddec8902fd6de6d08b2cf8bd95f From 5974c7599b31fc275563773f3a725d368b18d6d3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 9 Jul 2015 16:07:21 +0200 Subject: [PATCH 323/778] Fixed leaking isseu with timed expired update --- KeePassKit | 2 +- MacPass/MPEntryViewController.m | 13 ------------- MacPass/MPOutlineViewController.m | 12 ------------ MacPass/MPViewController.m | 3 ++- 4 files changed, 3 insertions(+), 27 deletions(-) diff --git a/KeePassKit b/KeePassKit index 0801b18e..30e720ee 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 0801b18e5fe9d0452bf73d9291beca9e694be24d +Subproject commit 30e720eec2324bb08ae4c5750970ce6282a339f1 diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 817b2d7f..3883dbb7 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -118,7 +118,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; _dataSource.viewController = self; _menuDelegate = [[MPEntryContextMenuDelegate alloc] init]; _contextBarViewController = [[MPContextBarViewController alloc] init]; - [self _updateExpirationDisplay]; } return self; } @@ -737,16 +736,4 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; break; } } - -#pragma mark periodic UI Update - -- (void)_updateExpirationDisplay { - return; - /* items are all entries */ - [[self.entryArrayController arrangedObjects] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - [[obj timeInfo] isExpired]; - }]; - [self performSelector:@selector(_updateExpirationDisplay) withObject:nil afterDelay:EXPIRED_ENTRY_REFRESH_SECONDS]; -} - @end diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index d38713c9..2e699be6 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -110,8 +110,6 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [self bind:NSStringFromSelector(@selector(databaseNameWrapper)) toObject:document.tree.metaData withKeyPath:NSStringFromSelector(@selector(databaseName)) options:nil]; [_outlineView setDataSource:self.datasource]; _bindingEstablished = YES; - [self _updateExpirationDisplay]; - } NSTreeNode *node = [_outlineView itemAtRow:0]; [self _expandItems:node]; @@ -299,14 +297,4 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; return [node isKindOfClass:[KPKTree class]]; } -- (void)_updateExpirationDisplay { - return; - MPDocument *document = [[self windowController] document]; - [document.root.timeInfo isExpired]; - [[document.tree allGroups] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - [[obj timeInfo] isExpired]; - }]; - [self performSelector:@selector(_updateExpirationDisplay) withObject:nil afterDelay:EXPIRED_GROUP_REFRESH_SECONDS]; -} - @end diff --git a/MacPass/MPViewController.m b/MacPass/MPViewController.m index ba907119..536517b0 100644 --- a/MacPass/MPViewController.m +++ b/MacPass/MPViewController.m @@ -7,6 +7,7 @@ // #import "MPViewController.h" +#import "MPDocument.h" @implementation MPViewController @@ -21,7 +22,7 @@ } - (NSWindowController *)windowController { - return [self.view.window windowController]; + return self.view.window.windowController; } #pragma mark Responder Chain From 845d8547c42d46722e65a25186e7a6dc3a64c98c Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 10 Jul 2015 18:34:24 +0200 Subject: [PATCH 324/778] undo is working again --- MacPass/MPDocument.m | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 23638ddc..4e127601 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -418,16 +418,16 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentCurrentItemChangedNotification object:self]; } } -//- (void)setTree:(KPKTree *)tree { -// if(_tree != tree) { -// _tree = tree; -// _tree.undoManager = [self undoManager]; -// if(nil == _treeDelgate) { -// _treeDelgate = [[MPTreeDelegate alloc] initWithDocument:self]; -// } -// _tree.delegate = _treeDelgate; -// } -//} +- (void)setTree:(KPKTree *)tree { + if(_tree != tree) { + _tree = tree; + _tree.undoManager = [self undoManager]; + if(nil == _treeDelgate) { + _treeDelgate = [[MPTreeDelegate alloc] initWithDocument:self]; + } + _tree.delegate = _treeDelgate; + } +} #pragma mark Data Accesors From 9313afa60052b491f6659273b32e5e174bbc9297 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 13 Jul 2015 11:14:12 +0200 Subject: [PATCH 325/778] Using current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 30e720ee..340c0b7b 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 30e720eec2324bb08ae4c5750970ce6282a339f1 +Subproject commit 340c0b7bf4b44a0981b213c3c1b03a9c47ae2cd9 From b53a4cdacc0e54efb7d5a1164518a1408be91387 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 13 Jul 2015 11:14:44 +0200 Subject: [PATCH 326/778] Removing direct model bindings in entryViewController --- MacPass/MPEntryViewController.m | 60 +++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 3883dbb7..8ad856c4 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -255,7 +255,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - KPKEntry *entry = [self.entryArrayController arrangedObjects][row]; + BOOL isTitleColumn = [[tableColumn identifier] isEqualToString:MPEntryTableTitleColumnIdentifier]; BOOL isGroupColumn = [[tableColumn identifier] isEqualToString:MPEntryTableParentColumnIdentifier]; BOOL isPasswordColum = [[tableColumn identifier] isEqualToString:MPEntryTablePasswordColumnIdentifier]; @@ -269,21 +269,38 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(isTitleColumn || isGroupColumn) { view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self]; if( isTitleColumn ) { - [[view textField] bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; - [[view imageView] bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; + NSString *titleKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(title))]; + NSString *iconImageKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(iconImage))]; + [[view textField] bind:NSValueBinding toObject:view withKeyPath:titleKeyPath options:nil]; + [[view imageView] bind:NSValueBinding toObject:view withKeyPath:iconImageKeyPath options:nil]; } else { + KPKEntry *entry = [self.entryArrayController arrangedObjects][row]; NSAssert(entry.parent != nil, @"Entry needs to have a parent"); - NSString *parentNameKeyPath = [NSString stringWithFormat:@"%@.%@",NSStringFromSelector(@selector(parent)),NSStringFromSelector(@selector(name))]; - NSString *parentIconImageKeyPath = [NSString stringWithFormat:@"%@.%@",NSStringFromSelector(@selector(parent)),NSStringFromSelector(@selector(iconImage))]; - [[view textField] bind:NSValueBinding toObject:entry withKeyPath:parentNameKeyPath options:nil]; - [[view imageView] bind:NSValueBinding toObject:entry withKeyPath:parentIconImageKeyPath options:nil]; + + NSString *parentNameKeyPath = [NSString stringWithFormat:@"%@.%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(parent)), + NSStringFromSelector(@selector(name))]; + NSString *parentIconImageKeyPath = [NSString stringWithFormat:@"%@.%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(parent)), + NSStringFromSelector(@selector(iconImage))]; + [[view textField] bind:NSValueBinding toObject:view withKeyPath:parentNameKeyPath options:nil]; + [[view imageView] bind:NSValueBinding toObject:view withKeyPath:parentIconImageKeyPath options:nil]; } } else if(isPasswordColum) { view = [tableView makeViewWithIdentifier:_MPTableSecurCellView owner:self]; + NSString *passwordKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(password))]; NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] }; - [[view textField] bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(password)) options:options]; + [[view textField] bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:options]; } else { view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self]; @@ -304,21 +321,36 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; }); [textField setFormatter:formatter]; } - [textField bind:NSValueBinding toObject:entry.timeInfo withKeyPath:NSStringFromSelector(@selector(lastModificationTime)) options:nil]; + NSString *modificatoinTimeKeyPath = [NSString stringWithFormat:@"%@.%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(timeInfo)), + NSStringFromSelector(@selector(lastModificationTime))]; + + [textField bind:NSValueBinding toObject:view withKeyPath:modificatoinTimeKeyPath options:nil]; return view; } else if(isURLColumn) { - [textField bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(url)) options:nil]; + NSString *urlKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(url))]; + [textField bind:NSValueBinding toObject:view withKeyPath:urlKeyPath options:nil]; } else if(isUsernameColumn) { - [textField bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(username)) options:nil]; + NSString *usernameKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(username))]; + + [textField bind:NSValueBinding toObject:view withKeyPath:usernameKeyPath options:nil]; } else if(isNotesColumn) { NSDictionary *options = @{ NSValueTransformerNameBindingOption : MPStripLineBreaksTransformerName }; - [textField bind:NSValueBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(notes)) options:options]; + NSString *notesKeyPath = [NSString stringWithFormat:@"%@.%@", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(notes))]; + [textField bind:NSValueBinding toObject:view withKeyPath:notesKeyPath options:options]; } else if(isAttachmentColumn) { - [textField bind:NSValueBinding toObject:entry withKeyPath:@"binaries.@count" options:nil]; + [textField bind:NSValueBinding toObject:view withKeyPath:@"objectValue.binaries.@count" options:nil]; } } return view; @@ -375,7 +407,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } /* If a group is the current item, see if we already show that group - also test if an element has been selected (issue #257) + also test if an element has been selected (issue #257) */ if(document.selectedItem == document.selectedGroup && document.selectedItem != nil) { if(document.hasSearch) { From d5809e687c9b7edb4d00af746f780376d1e28228 Mon Sep 17 00:00:00 2001 From: Michael Belz Date: Mon, 13 Jul 2015 20:03:34 +0200 Subject: [PATCH 327/778] Bug #352: MacPass not opening when DB is remembered but missing: Added an implementation for the completionHandler of openDocumentWithContentsOfURL. --- MacPass/MPAppDelegate.m | 17 ++++++++++++++++- MacPass/de.lproj/Localizable.strings | Bin 12650 -> 12756 bytes MacPass/en.lproj/Localizable.strings | Bin 12058 -> 12144 bytes MacPass/fr.lproj/Localizable.strings | Bin 6299 -> 12596 bytes MacPass/nl.lproj/Localizable.strings | Bin 12376 -> 12472 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 9890 -> 9952 bytes 6 files changed, 16 insertions(+), 1 deletion(-) diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 02838738..0ab3fc3e 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -273,7 +273,22 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi if(isFileURL) { [documentController openDocumentWithContentsOfURL:documentUrl display:YES - completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError *error) {}]; + completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError *error) { + + if(error != nil){ + + NSAlert *alert = [[NSAlert alloc] init]; + [alert setMessageText: NSLocalizedString(@"FILE_OPEN_ERROR", nil)]; + [alert setInformativeText: [error localizedDescription]]; + [alert setAlertStyle:NSCriticalAlertStyle ]; + [alert runModal]; + } + + if(document == nil){ + [self _showWelcomeWindow]; + } + + }]; } return isFileURL; } diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 4dfd036df8d5133d8a27b982a64588633cba64fc..2f61edbaf5a18c40bef0904ff0d60446fbcc4f31 100644 GIT binary patch delta 114 zcmaErbR~I1mSL6>gByba}LzVgLX=fE2?3 delta 7 OcmcbT{3>ZfmLUKUR0Gcd diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index b5d3ffbcc20ac82326f0de5532d08bf80fd05774..ff189fe28c19f662538e7b2d53ef04a1245ef78f 100644 GIT binary patch delta 94 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 diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index dd669248c800ffc2663ce7d073d4bd9c9e3c014b..9e9f2454869dc439b82ff359c8aa2509bf1ec20f 100644 GIT binary patch delta 104 zcmcbSup@Cpgh7H5gByb$JH From 20fe0757fdf93e589f06e2fbebd89c0cf1f20136 Mon Sep 17 00:00:00 2001 From: Mario Sangiorgio Date: Mon, 13 Jul 2015 23:03:09 +0100 Subject: [PATCH 328/778] Fixed typo in English localised string to make the password expire in one year, it was 'on year' --- MacPass/en.lproj/Localizable.strings | Bin 12058 -> 12060 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index b5d3ffbcc20ac82326f0de5532d08bf80fd05774..b3131a0825fcfa7d193815452ddbfbc1c5b929ca 100644 GIT binary patch delta 16 YcmbOgHz#g`1@q(yOe~wNm>*~Z05@_50ssI2 delta 12 TcmbOeH!E&~1@mSr=11B9A~6Kp From 31b54d3f131b3a52cf7ab4c57f4647c9102d4344 Mon Sep 17 00:00:00 2001 From: Michael Belz Date: Wed, 15 Jul 2015 00:55:01 +0200 Subject: [PATCH 329/778] several UI translations --- MacPass/de.lproj/GeneralSettings.strings | 11 +++++++++++ MacPass/de.lproj/IntegrationSettings.strings | 6 ++++++ MacPass/de.lproj/PasswordInputView.strings | 4 ++-- MacPass/en.lproj/GeneralSettings.strings | 9 +++++++++ MacPass/en.lproj/IntegrationSettings.strings | 6 ++++++ MacPass/en.lproj/PasswordInputView.strings | 4 ++-- MacPass/fr.lproj/PasswordInputView.strings | 4 ++-- 7 files changed, 38 insertions(+), 6 deletions(-) diff --git a/MacPass/de.lproj/GeneralSettings.strings b/MacPass/de.lproj/GeneralSettings.strings index f8bd587a..91e13cea 100644 --- a/MacPass/de.lproj/GeneralSettings.strings +++ b/MacPass/de.lproj/GeneralSettings.strings @@ -52,3 +52,14 @@ /* Class = "NSTextFieldCell"; title = "Lock while idle"; ObjectID = "806"; */ "806.title" = "Sperren nach Inaktivität"; + +/* Class = "NSTextFieldCell"; title = "Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved."; ObjectID = "ACh-7H-42N"; */ +"ACh-7H-42N.title" = "Das Einschalten dieser Option beeinträchtigt die Sicherheit. Wird diese Option aktiviert, werden Pfadangaben von Datenbank und Schlüsseldatei in den persönlichen Einstellungen gespeichert. Zu Datenbanken ohne Passwort wird kein Schlüsseldatei-Pfad gespeichert."; + +/* Class = "NSButtonCell"; title = "Remember Keyfile for Databases"; ObjectID = "r6q-He-nYU"; */ +"r6q-He-nYU.title" = "Schlüsseldatei merken"; + +/* Class = "NSButtonCell"; title = "Clear all stored locations"; ObjectID = "8Ri-2s-c39"; */ +"8Ri-2s-c39.title" = "Gespeicherte Pfadangaben löschen"; + + diff --git a/MacPass/de.lproj/IntegrationSettings.strings b/MacPass/de.lproj/IntegrationSettings.strings index f8f051a3..c03f4651 100644 --- a/MacPass/de.lproj/IntegrationSettings.strings +++ b/MacPass/de.lproj/IntegrationSettings.strings @@ -22,3 +22,9 @@ /* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a tempoary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ "WmI-IB-Aso.title" = "Die Daten werden zur Vorschau in einen temporären Ordern entschlüsselt und beim Beenden der Vorschau wieder gelöscht. Diese Feature ist eine potentielle Sicherheitslücke!"; + +/* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ +"QfO-yG-l3F.title" = "^ als ⌘ interpretieren"; + +/* Class = "NSTextFieldCell"; title = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; ObjectID = "QRy-CY-ENC"; */ +"QRy-CY-ENC.title" = "Wenn aktiviert, werden {CONTROL} Befehle als ⌘ gesendet. Deaktivieren Sie diese Option nur wenn Sie sich dessen sicher sind."; \ No newline at end of file diff --git a/MacPass/de.lproj/PasswordInputView.strings b/MacPass/de.lproj/PasswordInputView.strings index 75bd25e2..f46352f6 100644 --- a/MacPass/de.lproj/PasswordInputView.strings +++ b/MacPass/de.lproj/PasswordInputView.strings @@ -5,8 +5,8 @@ /* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "18"; */ "18.title" = "Schlüsseldatei"; -/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "32"; */ -"32.title" = "Passwort"; +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ +"IU9-5u-jn9.title" = "Passwort"; /* Class = "NSTextFieldCell"; title = "Wrong password!"; ObjectID = "269"; */ "269.title" = "Passwort falsch!"; diff --git a/MacPass/en.lproj/GeneralSettings.strings b/MacPass/en.lproj/GeneralSettings.strings index 129cefe2..52fc4267 100644 --- a/MacPass/en.lproj/GeneralSettings.strings +++ b/MacPass/en.lproj/GeneralSettings.strings @@ -52,3 +52,12 @@ /* Class = "NSTextFieldCell"; title = "Lock while idle"; ObjectID = "806"; */ "806.title" = "Lock while idle"; + +/* Class = "NSTextFieldCell"; title = "Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved."; ObjectID = "ACh-7H-42N"; */ +"ACh-7H-42N.title" = "Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved."; + +/* Class = "NSButtonCell"; title = "Remember Keyfile for Databases"; ObjectID = "r6q-He-nYU"; */ +"r6q-He-nYU.title" = "Remember Keyfile for Databases"; + +/* Class = "NSButtonCell"; title = "Clear all stored locations"; ObjectID = "8Ri-2s-c39"; */ +"8Ri-2s-c39.title" = "Clear all stored locations"; \ No newline at end of file diff --git a/MacPass/en.lproj/IntegrationSettings.strings b/MacPass/en.lproj/IntegrationSettings.strings index 8fbe38f2..e74809b9 100644 --- a/MacPass/en.lproj/IntegrationSettings.strings +++ b/MacPass/en.lproj/IntegrationSettings.strings @@ -22,3 +22,9 @@ /* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a tempoary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ "WmI-IB-Aso.title" = "If enabled attached files will be copied to a tempoary location for preview and deleted after the preview is closed. This is a potential security risk!"; + +/* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ +"QfO-yG-l3F.title" = "Interpret ⌃ as ⌘"; + +/* Class = "NSTextFieldCell"; title = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; ObjectID = "QRy-CY-ENC"; */ +"QRy-CY-ENC.title" = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; \ No newline at end of file diff --git a/MacPass/en.lproj/PasswordInputView.strings b/MacPass/en.lproj/PasswordInputView.strings index 903f4f09..3f94e643 100644 --- a/MacPass/en.lproj/PasswordInputView.strings +++ b/MacPass/en.lproj/PasswordInputView.strings @@ -5,8 +5,8 @@ /* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "18"; */ "18.title" = "Keyfile"; -/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "32"; */ -"32.title" = "Password"; +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ +"IU9-5u-jn9.title" = "Password"; /* Class = "NSTextFieldCell"; title = "Wrong password!"; ObjectID = "269"; */ "269.title" = "Wrong password!"; diff --git a/MacPass/fr.lproj/PasswordInputView.strings b/MacPass/fr.lproj/PasswordInputView.strings index 8867bc97..859ad233 100644 --- a/MacPass/fr.lproj/PasswordInputView.strings +++ b/MacPass/fr.lproj/PasswordInputView.strings @@ -5,8 +5,8 @@ /* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "18"; */ "18.title" = "Clef"; -/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "32"; */ -"32.title" = "Mot de passe"; +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ +"IU9-5u-jn9.title" = "Mot de passe"; /* Class = "NSTextFieldCell"; title = "Wrong password!"; ObjectID = "269"; */ "269.title" = "Mot de passe incorrect !"; From 135875bea44dfed7ba11b9633398ed4124349c23 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Jul 2015 10:22:07 +0200 Subject: [PATCH 330/778] using NSWindowController.document instead of custom properites --- MacPass/MPDatabaseSettingsWindowController.m | 5 +- MacPass/MPDocumentWindowController.m | 74 +++++++++++++------- MacPass/MPPasswordEditWindowController.h | 7 -- MacPass/MPPasswordEditWindowController.m | 15 ++-- 4 files changed, 62 insertions(+), 39 deletions(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index d00c6545..4b7b0c72 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -144,6 +144,9 @@ if(!self.isDirty) { return; } + if(!self.document) { + return; // no document, just leave + } /* Update all stuff that might have changed */ KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData; [self _setupDatabaseTab:metaData]; @@ -155,7 +158,7 @@ - (void)showSettingsTab:(MPDatabaseSettingsTab)tab { /* We need to make sure the window is loaded - so we just call the the getter and led the loading commence + so we just call the the getter and let the loading commence */ if(![self window]) { return; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index f90f7a12..5dedac86 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -100,17 +100,17 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self.toolbarDelegate registerNotificationsForDocument:document]; self.toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainWindowToolbar"]; - [self.toolbar setAutosavesConfiguration:YES]; - [self.toolbar setAllowsUserCustomization:YES]; - [self.toolbar setDelegate:self.toolbarDelegate]; - [self.window setToolbar:self.toolbar]; - self.toolbarDelegate.toolbar = _toolbar; + self.toolbar.autosavesConfiguration = YES; + self.toolbar.allowsUserCustomization = YES; + self.toolbar.delegate = self.toolbarDelegate; + self.window.toolbar = self.toolbar; + self.toolbarDelegate.toolbar = self.toolbar; [self.splitView setTranslatesAutoresizingMaskIntoConstraints:NO]; - NSView *outlineView = [self.outlineViewController view]; - NSView *inspectorView = [self.inspectorViewController view]; - NSView *entryView = [self.entryViewController view]; + NSView *outlineView = self.outlineViewController.view; + NSView *inspectorView = self.inspectorViewController.view; + NSView *entryView = self.entryViewController.view; [self.splitView addSubview:outlineView]; [self.splitView addSubview:entryView]; [self.splitView addSubview:inspectorView]; @@ -143,10 +143,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); if(viewController && viewController.view) { newContentView = viewController.view; } - NSView *contentView = [[self window] contentView]; + NSView *contentView = self.window.contentView; NSView *oldSubView = nil; - if([[contentView subviews] count] == 1) { - oldSubView = [contentView subviews][0]; + if(contentView.subviews.count == 1) { + oldSubView = contentView.subviews[0]; } if(oldSubView == newContentView) { return; // View is already present @@ -192,8 +192,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); #pragma mark Actions - (void)saveDocument:(id)sender { self.passwordChangedBlock = nil; - MPDocument *document = [self document]; - NSString *fileType = [document fileType]; + MPDocument *document = self.document; + NSString *fileType = document.fileType; /* we did open as legacy */ if([fileType isEqualToString:MPLegacyDocumentUTI]) { if(document.tree.minimumVersion != KPKLegacyVersion) { @@ -206,7 +206,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; //[[alert buttons][2] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; - [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_dataLossOnSaveAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + [alert beginSheetModalForWindow:self.window + modalDelegate:self + didEndSelector:@selector(_dataLossOnSaveAlertDidEnd:returnCode:contextInfo:) + contextInfo:NULL]; return; } } @@ -297,10 +300,15 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)editPassword:(id)sender { if(!self.passwordEditWindowController) { - self.passwordEditWindowController = [[MPPasswordEditWindowController alloc] initWithDocument:[self document]]; + self.passwordEditWindowController = [[MPPasswordEditWindowController alloc] init]; self.passwordEditWindowController.delegate = self; } - [NSApp beginSheet:[self.passwordEditWindowController window] modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL]; + [self.document addWindowController:self.passwordEditWindowController]; + [NSApp beginSheet:self.passwordEditWindowController.window + modalForWindow:self.window + modalDelegate:self + didEndSelector:@selector(_editPasswordSheetDidEnd:returnCode:contextInfo:) + contextInfo:NULL]; } - (void)showDatabaseSettings:(id)sender { @@ -481,7 +489,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", "")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "")]; [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; - [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_enforcePasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + [alert beginSheetModalForWindow:self.window + modalDelegate:self + didEndSelector:@selector(_enforcePasswordChangeAlertDidEnd:returnCode:contextInfo:) + contextInfo:NULL]; } else if(document.shouldRecommendPasswordChange) { NSAlert *alert = [[NSAlert alloc] init]; @@ -491,7 +502,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", "")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "")]; [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; - [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(_recommentPasswordChangeAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + [alert beginSheetModalForWindow:self.window + modalDelegate:self + didEndSelector:@selector(_recommentPasswordChangeAlertDidEnd:returnCode:contextInfo:) + contextInfo:NULL]; } } @@ -537,23 +551,35 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); }); } +#pragma mark Sheet handling +- (void)_editPasswordSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + [self.document removeWindowController:self.passwordEditWindowController]; + self.passwordEditWindowController = nil; +} + #pragma mark - #pragma mark UI Helper - (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab { if(!self.documentSettingsWindowController) { - _documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] init]; + self.documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] init]; } - [self.document addWindowController:_documentSettingsWindowController]; + [self.document addWindowController:self.documentSettingsWindowController]; [self.documentSettingsWindowController showSettingsTab:tab]; - [[NSApplication sharedApplication] beginSheet:[self.documentSettingsWindowController window] - modalForWindow:[self window] - modalDelegate:nil - didEndSelector:NULL + [[NSApplication sharedApplication] beginSheet:self.documentSettingsWindowController.window + modalForWindow:self.window + modalDelegate:self + didEndSelector:@selector(_settingsSheetDidEnd:returnCode:contextInfo:) contextInfo:NULL]; } +- (void)_settingsSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + /* cleanup the window controller */ + [self.document removeWindowController:self.documentSettingsWindowController]; + self.documentSettingsWindowController = nil; +} + - (BOOL)_isInspectorVisible { NSView *inspectorView = [self.inspectorViewController view]; return (nil != [inspectorView superview]); diff --git a/MacPass/MPPasswordEditWindowController.h b/MacPass/MPPasswordEditWindowController.h index 719448c0..6733ea60 100644 --- a/MacPass/MPPasswordEditWindowController.h +++ b/MacPass/MPPasswordEditWindowController.h @@ -35,13 +35,6 @@ //@property (nonatomic,assign) BOOL allowsEmptyPasswordOrKey; @property (weak) id delegate; -/** - * Dedicated initializer for the Windowcontroller - * @param document The Database document that is currently active - * @return initalized windowcontroller - */ -- (id)initWithDocument:(MPDocument *)document; - - (IBAction)clearKey:(id)sender; - (IBAction)generateKey:(id)sender; diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index c69c3f6f..47a6e742 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -18,7 +18,6 @@ @interface MPPasswordEditWindowController () -@property (nonatomic, weak) MPDocument *currentDocument; @property (nonatomic, assign) BOOL showPassword; @property (nonatomic, assign) BOOL enablePassword; @property (nonatomic, assign) BOOL hasValidPasswordOrKey; @@ -32,13 +31,12 @@ return @"PasswordEditWindow"; } -- (id)initWithDocument:(MPDocument *)document { - self = [super initWithWindow:nil]; +- (id)initWithWindow:(NSWindow *)window { + self = [super initWithWindow:window]; if(self){ //_allowsEmptyPasswordOrKey = YES; _showPassword = NO; _hasValidPasswordOrKey = NO; - _currentDocument = document; } return self; } @@ -47,7 +45,8 @@ [super windowDidLoad]; [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [[self window] setDefaultButtonCell:[self.changePasswordButton cell]]; - self.enablePassword = _currentDocument.compositeKey.hasPassword; + MPDocument *document = self.document; + self.enablePassword = document.compositeKey.hasPassword; } - (void)updateView { @@ -107,7 +106,8 @@ - (IBAction)save:(id)sender { const BOOL hasPassword = ([self.hasPasswordSwitchButton state] == NSOnState); NSString *password = hasPassword ? [self.passwordTextField stringValue] : nil; - [_currentDocument changePassword:password keyFileURL:[self.keyfilePathControl URL]]; + MPDocument *document = self.document; + [document changePassword:password keyFileURL:[self.keyfilePathControl URL]]; [self dismissSheet:NSRunStoppedResponse]; if(self.delegate && [self.delegate respondsToSelector:@selector(didFinishPasswordEditing:)]) { [self.delegate didFinishPasswordEditing:YES]; @@ -126,7 +126,8 @@ } - (IBAction)generateKey:(id)sender { - NSData *data = [NSData generateKeyfiledataForVersion:_currentDocument.tree.minimumVersion]; + MPDocument *document = self.document; + NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumVersion]; if(data) { NSSavePanel *savePanel = [NSSavePanel savePanel]; [savePanel setAllowedFileTypes:@[@"key", @"xml"]]; From 77a7b536fdde636650a4f16c03e614d4e1298281 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Jul 2015 12:57:25 +0200 Subject: [PATCH 331/778] Updating to current Sparkle --- Sparkle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sparkle b/Sparkle index 9646b0b7..e9fa7c3d 160000 --- a/Sparkle +++ b/Sparkle @@ -1 +1 @@ -Subproject commit 9646b0b7907235c4fdec44aaba652a7db25047af +Subproject commit e9fa7c3d4a43e34694be06050400c5609486caf1 From e4332530eb7dc446136d71203472a95c471d988f Mon Sep 17 00:00:00 2001 From: Mario Sangiorgio Date: Sat, 8 Aug 2015 00:40:19 +0100 Subject: [PATCH 332/778] Added support for both standard and custom characters sets --- MacPass/MPPasswordCreatorViewController.m | 19 ++++++++++++------- MacPass/NSString+MPPasswordCreation.h | 4 +++- MacPass/NSString+MPPasswordCreation.m | 8 ++++++-- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index ecdfad07..5d83dff1 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -148,14 +148,19 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { #pragma mark Actions - (IBAction)_generatePassword:(id)sender { - if(self.useCustomString) { - if([[self.customCharactersTextField stringValue] length] > 0) { - self.password = [self.customCharactersTextField.stringValue passwordWithLength:self.passwordLength]; + self.password = [NSString passwordWithCharactersets:self.characterFlags + withCustomCharacters:self._customCharacters + length:self.passwordLength]; +} + +- (NSString*)_customCharacters{ + if(self.useCustomString && [[self.customCharactersTextField stringValue] length] > 0) { + return self.customCharactersTextField.stringValue; } - } - else { - self.password = [NSString passwordWithCharactersets:self.characterFlags length:self.passwordLength]; - } + else{ + return @""; + } + } - (IBAction)_toggleCharacters:(id)sender { diff --git a/MacPass/NSString+MPPasswordCreation.h b/MacPass/NSString+MPPasswordCreation.h index 1e40094b..518c21b5 100644 --- a/MacPass/NSString+MPPasswordCreation.h +++ b/MacPass/NSString+MPPasswordCreation.h @@ -26,7 +26,9 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { * * @return new password with only the allowed characters. */ -+ (NSString *)passwordWithCharactersets:(MPPasswordCharacterFlags)allowedCharacters length:(NSUInteger)theLength; ++ (NSString *)passwordWithCharactersets:(MPPasswordCharacterFlags)allowedCharacters + withCustomCharacters:(NSString*)customCharacters + length:(NSUInteger)theLength; /** * Creats a password based on the supplied string * diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index bb051772..3b9fa1b4 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -42,7 +42,9 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { return password; } -+ (NSString *)passwordWithCharactersets:(MPPasswordCharacterFlags)allowedCharacters length:(NSUInteger)length { ++ (NSString *)passwordWithCharactersets:(MPPasswordCharacterFlags)allowedCharacters + withCustomCharacters:(NSString*)customCharacters + length:(NSUInteger)length { NSMutableString *password = [NSMutableString stringWithCapacity:length]; NSString *characters = allowedCharactersString(allowedCharacters); while([password length] < length) { @@ -67,7 +69,9 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { if(useCustomString && [customString length] > 0) { return [customString passwordWithLength:passwordLength]; } - return [NSString passwordWithCharactersets:characterFlags length:passwordLength]; + return [NSString passwordWithCharactersets:characterFlags + withCustomCharacters:@"" + length:passwordLength]; } - (NSString *)passwordWithLength:(NSUInteger)length { From a1297b1409d96c1a669aacb91395aa02d6c2e99e Mon Sep 17 00:00:00 2001 From: Mario Sangiorgio Date: Sat, 8 Aug 2015 01:01:21 +0100 Subject: [PATCH 333/778] Merging standard and custom characters sets --- MacPass/NSString+MPPasswordCreation.m | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 3b9fa1b4..49c6f13e 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -32,6 +32,20 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { return characterString; } +static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* customCharacters){ + NSInteger maxLength =[baseCharacters length] + [customCharacters length]; + NSMutableString* mergedCharacters = [NSMutableString stringWithCapacity: maxLength]; + [mergedCharacters appendString:baseCharacters]; + [customCharacters enumerateSubstringsInRange: NSMakeRange(0, [customCharacters length]) + options: NSStringEnumerationByComposedCharacterSequences + usingBlock: ^(NSString *inSubstring, NSRange inSubstringRange, NSRange inEnclosingRange, BOOL *outStop) { + if(![mergedCharacters containsString:inSubstring]){ + [mergedCharacters appendString:inSubstring]; + } + }]; + return [NSString stringWithString:mergedCharacters]; +} + @implementation NSString (MPPasswordCreation) + (NSString *)passwordFromString:(NSString *)source length:(NSUInteger)length { @@ -46,7 +60,9 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { withCustomCharacters:(NSString*)customCharacters length:(NSUInteger)length { NSMutableString *password = [NSMutableString stringWithCapacity:length]; - NSString *characters = allowedCharactersString(allowedCharacters); + NSString *characters = mergeWithoutDuplicates( + allowedCharactersString(allowedCharacters), + customCharacters); while([password length] < length) { NSString *randomCharacter = [characters randomCharacter]; if([randomCharacter length] > 0) { From 85010d66a32b6a15c4a1aeb1746a9a77de114f43 Mon Sep 17 00:00:00 2001 From: Mario Sangiorgio Date: Sat, 8 Aug 2015 01:14:48 +0100 Subject: [PATCH 334/778] UI buttons binding --- MacPass/MPPasswordCreatorViewController.m | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 5d83dff1..f9a47784 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -166,7 +166,6 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { - (IBAction)_toggleCharacters:(id)sender { self.setDefaultButton.enabled = YES; self.characterFlags ^= [sender tag]; - self.useCustomString = NO; [self reset]; } @@ -326,15 +325,10 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { if(self.useCustomString) { self.customButton.state = NSOnState; } - self.customCharactersTextField.stringValue = self.customString; self.customCharactersTextField.enabled = self.useCustomString; - self.upperCaseButton.enabled = !self.useCustomString; - self.lowerCaseButton.enabled = !self.useCustomString; - self.numbersButton.enabled = !self.useCustomString; - self.symbolsButton.enabled = !self.useCustomString; /* Set to defaults, if we got nothing */ - if(self.characterFlags == 0) { + if(self.characterFlags == 0 && !self.useCustomString) { self.characterFlags = MPPasswordCharactersAll; } From a664635a3052622e9ddfe8470233264c68d99488 Mon Sep 17 00:00:00 2001 From: ad Date: Sat, 29 Aug 2015 22:38:45 -0600 Subject: [PATCH 335/778] Correct spelling mistake. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15714fc3..d7a3cb72 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Default Autotype sequence is wrong `{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}` instead of `{USERNAME}{TAB}{PASSWORD}{ENTER}` * Forced and Recomended database key change intervals are wrongfully initalized with 0. This has the nasty side effect, that 0.5 or Keepass under Windows complains to you about it all the time. (Issue [#269](https://github.com/mstarke/MacPass/issues/269) and [#276](https://github.com/mstarke/MacPass/issues/276)) * Binary releases (0.5.x): - * KDBX History is only preseverd. Editing doesn't create new history entries + * KDBX History is only preserved. Editing doesn't create new history entries ## Help From c3cb8ad6a38c73c16aae849982a88f8cd9dbb226 Mon Sep 17 00:00:00 2001 From: Maarten Terpstra Date: Sun, 11 Oct 2015 11:25:36 +0200 Subject: [PATCH 336/778] Fixed spelling errors in comments and some strings, as well as fixed a compilation error (KPKEntry has no entry key, but does have a name field --- MacPass/MPActionHelper.h | 10 +++++----- MacPass/MPAppDelegate.m | 4 ++-- MacPass/MPAutotypeCommand.h | 12 ++++++------ MacPass/MPAutotypeCommand.m | 12 ++++++------ MacPass/MPAutotypeDaemon.h | 2 +- MacPass/MPAutotypeDaemon.m | 4 ++-- MacPass/MPAutotypeKeyPress.h | 2 +- MacPass/MPAutotypePaste.m | 2 +- MacPass/MPConnection.h | 2 +- MacPass/MPContextToolbarButton.m | 2 +- MacPass/MPDatabaseSettingsWindowController.m | 2 +- MacPass/MPDocument+Autotype.m | 2 +- MacPass/MPDocument+Search.h | 2 +- MacPass/MPDocument.h | 10 +++++----- MacPass/MPDocument.m | 10 +++++----- MacPass/MPDocumentQueryService.h | 2 +- MacPass/MPDocumentQueryService.m | 2 +- MacPass/MPDocumentWindowController.m | 6 +++--- MacPass/MPEntryContextMenuDelegate.m | 2 +- MacPass/MPEntryInspectorViewController.m | 6 +++--- MacPass/MPEntrySearchContext.h | 8 ++++---- MacPass/MPEntryViewController.h | 2 +- MacPass/MPEntryViewController.m | 14 +++++++------- MacPass/MPFileWatcher.m | 2 +- MacPass/MPFlagsHelper.h | 2 +- MacPass/MPIconHelper.h | 4 ++-- MacPass/MPInspectorViewController.h | 2 +- MacPass/MPInspectorViewController.m | 4 ++-- MacPass/MPKeyMapper.h | 2 +- MacPass/MPLockDaemon.m | 2 +- MacPass/MPOutlineDataSource.m | 2 +- MacPass/MPOverlayWindowController.h | 2 +- MacPass/MPPasswordCreatorViewController.m | 4 ++-- MacPass/MPPasswordEditWindowController.h | 2 +- MacPass/MPPasswordEditWindowController.m | 2 +- MacPass/MPPasswordInputController.m | 4 ++-- MacPass/MPPasteBoardController.h | 4 ++-- MacPass/MPRequestHandlerService.h | 2 +- MacPass/MPServerRequestHandling.h | 2 +- MacPass/MPSettingsHelper.h | 12 ++++++------ MacPass/MPSettingsTab.h | 4 ++-- MacPass/MPSettingsWindowController.m | 6 +++--- MacPass/MPSheetWindowController.h | 10 +++++----- MacPass/MPToolbarDelegate.m | 2 +- MacPass/NSString+MPPasswordCreation.h | 18 +++++++++--------- MacPass/en.lproj/IntegrationSettings.strings | 4 ++-- MacPass/en.lproj/KPKLocalizable.strings | 6 +++--- MacPass/en.lproj/Localizable.strings | Bin 12146 -> 12148 bytes MacPassTests/KPKTestHexColor.m | 2 +- MacPassTests/KPKTestKeyfileParsing.m | 2 +- MacPassTests/KPKTestLegacyWriting.m | 2 +- MacPassTests/KPKTestNSCoding.m | 4 ++-- MacPassTests/KPKTestNSCopying.m | 4 ++-- MacPassTests/KPKTestUUIDAdditions.m | 2 +- MacPassTests/KPKTestXmlParsing.m | 6 +++--- MacPassTests/MPDatabaseCreation.m | 2 +- 56 files changed, 124 insertions(+), 124 deletions(-) diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index cb29f8fa..a9d4ffbf 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -12,8 +12,8 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPUnkownAction, // Neutral element to be used for returns MPActionAddEntry, // Add an new entry MPActionAddGroup, // Add a new group - MPActionDuplicateEntry, // Simply duplicate an entry (inlcuding history) - MPActionDuplicateEntryWithOptions, // Request user inptu on what to duplicate + MPActionDuplicateEntry, // Simply duplicate an entry (including history) + MPActionDuplicateEntryWithOptions, // Request user input on what to duplicate MPActionDelete, // Delete entry or group MPActionCopyUsername, // copy username to pasteboard MPActionCopyPassword, // copy password to pasteboard @@ -25,11 +25,11 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionEditPassword, // change the database password MPActionDatabaseSettings, // Show the settings for the database MPActionEditTemplateGroup, // Edit the Template group - MPActionExportXML, // Exporte as XML + MPActionExportXML, // Export as XML MPActionImportXML, // Import form XML MPActionToggleQuicklook, - MPActionShowHistory, // History anzeigen - MPActionExitHistory, // History ausblenden + MPActionShowHistory, // show history + MPActionExitHistory, // exit history MPActionPerformAutotypeForSelectedEntry // Perform Autotype for selected Entry }; /** diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 068da248..c1096d1b 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -65,7 +65,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi - (instancetype)init { self = [super init]; if(self) { - /* We know that we do not use the varibale after instancation */ + /* We know that we do not use the variable after instantiation */ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-variable" MPDocumentController *documentController = [[MPDocumentController alloc] init]; @@ -97,7 +97,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi /* Update the … at the save menu */ [[self.saveMenuItem menu] setDelegate:self]; - /* We want to inform anyone about the changes to keyFile remmebering */ + /* We want to inform anyone about the changes to keyFile remembering */ [self bind:NSStringFromSelector(@selector(isAllowedToStoreKeyFile)) toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyRememberKeyFilesForDatabases] diff --git a/MacPass/MPAutotypeCommand.h b/MacPass/MPAutotypeCommand.h index bee0052f..abadbef5 100644 --- a/MacPass/MPAutotypeCommand.h +++ b/MacPass/MPAutotypeCommand.h @@ -11,9 +11,9 @@ @class MPAutotypeContext; /** - * The Autotype command reperesent a capsualted Action that was determined by interpreting - * Autotype field for a given entry. This is a class cluster and schould be considered the sole - * enty point for creating AutotypeCommands. You should never need to build a command on your own. + * The Autotype command represents a capsuled Action that was determined by interpreting + * Autotype field for a given entry. This is a class cluster and should be considered the sole + * entry point for creating AutotypeCommands. You should never need to build a command on your own. */ @interface MPAutotypeCommand : NSObject @@ -21,10 +21,10 @@ /** * Creates a command sequence for the given context. The context's keystroke sequence is - * is evaluated (Placholders filled, references resolved) and the commands are created in the + * is evaluated (Placeholders filled, references resolved) and the commands are created in the * order of their execution * - * @param context the context to create the comamnds from. + * @param context the context to create the commands from. * * @return NSArray of MPAutotypeCommand */ @@ -46,7 +46,7 @@ - (void)sendPasteKeyCode; /** - * Exectues the Autotype Command. + * Executes the Autotype Command. */ - (void)execute; diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 71027e1b..4318e865 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -136,16 +136,16 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; } } - /* Test for modifer Key */ + /* Test for modifier Key */ NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; - /* append commands for non-modifer keys */ + /* append commands for non-modifier keys */ if(![self updateModifierMask:&collectedModifers forCommand:commandString]) { [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:collectedModifers]; - collectedModifers = 0; // Reset the modifers; + collectedModifers = 0; // Reset the modifiers; } lastLocation = commandRange.location + commandRange.length; } - /* Collect any part that isn't a command or if onyl paste is used */ + /* Collect any part that isn't a command or if only paste is used */ if(lastLocation < [context.evaluatedCommand length]) { /* We might have some dangling modifiers */ NSRange lastRange = NSMakeRange(lastLocation, [context.evaluatedCommand length] - lastLocation); @@ -174,7 +174,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } + (void)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { - /* Update an already inserted paste command with the new conents */ + /* Update an already inserted paste command with the new contents */ if([[commands lastObject] isKindOfClass:[MPAutotypePaste class]]) { [[commands lastObject] appendString:pasteContent]; } @@ -303,7 +303,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F if([numberScanner scanInteger:&value]) { if([kKPKAutotypeDelay isEqualToString:uppercaseCommand]) { if(MAX(0, value) <= 0) { - return; // Value too low, just skipp + return; // Value too low, just skip } [commands addObject:[[MPAutotypeDelay alloc] initWithDelay:value]]; return; // Done diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index d67351c4..ea15f58c 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -12,7 +12,7 @@ @class KPKEntry; /** - * The autotype daemon is repsonsible for registering the globa hotkey and to perform any autotype actions + * The autotype daemon is responsible for registering the global hotkey and to perform any autotype actions */ @interface MPAutotypeDaemon : NSObject diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 6a448128..3485f065 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -142,7 +142,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; - /* TODO: that's popping up if the mulit seleciton dialog goes up! */ + /* TODO: that's popping up if the multi selection dialog goes up! */ if(!entryOrNil) { NSImage *appIcon = [[NSApplication sharedApplication] applicationIconImage]; NSString *label = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); @@ -192,7 +192,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } if([self _orderApplicationToFront:self.targetPID]) { /* Sleep a bit after the app was activated */ - /* TODO - we can use a saver way and use a notification to chekc if the app actally was activated */ + /* TODO - we can use a saver way and use a notification to check if the app actually was activated */ usleep(1 * NSEC_PER_MSEC); } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ diff --git a/MacPass/MPAutotypeKeyPress.h b/MacPass/MPAutotypeKeyPress.h index 478a0009..8a197a6e 100644 --- a/MacPass/MPAutotypeKeyPress.h +++ b/MacPass/MPAutotypeKeyPress.h @@ -9,7 +9,7 @@ #import "MPAutotypeCommand.h" /** - * Autotype command to press a single key. Can be used with modifer keys as well + * Autotype command to press a single key. Can be used with modifier keys as well */ @interface MPAutotypeKeyPress : MPAutotypeCommand diff --git a/MacPass/MPAutotypePaste.m b/MacPass/MPAutotypePaste.m index d90e6f0b..edcffb36 100644 --- a/MacPass/MPAutotypePaste.m +++ b/MacPass/MPAutotypePaste.m @@ -47,7 +47,7 @@ } - (BOOL)isValid { - /* Pasting shoudl always be valid */ + /* Pasting should always be valid */ return YES; } diff --git a/MacPass/MPConnection.h b/MacPass/MPConnection.h index f17ec8e4..97ac3082 100644 --- a/MacPass/MPConnection.h +++ b/MacPass/MPConnection.h @@ -10,7 +10,7 @@ /** * Default Connection to handle the KeepassHttp POST requests. The Connection doesn't do anything, - * besides using the MPRequestHandlerService to handle any request from KeePassHttp and send's back the replies + * besides using the MPRequestHandlerService to handle any request from KeePassHttp and sends back the replies */ @interface MPConnection : HTTPConnection diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index 2bc151f4..40ed7600 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -63,7 +63,7 @@ } /* - Block the segment setter to prevent accidential settings + Block the segment setter to prevent accidental settings */ - (void)setImage:(NSImage *)image forSegment:(NSInteger)segment { if(segment < 2) { diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 4b7b0c72..8b53b878 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -123,7 +123,7 @@ */ metaData.rounds = MAX(0,[self.encryptionRoundsTextField integerValue]); - /* Register an action to enable promts when user cloeses without saving */ + /* Register an action to enable prompts when user closes without saving */ [self.document updateChangeCount:NSChangeDone]; [self close:nil]; } diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 719841bb..46bb8840 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -57,7 +57,7 @@ for(KPKEntry *entry in autotypeEntries) { /* TODO: - KeePass for Windows hase the following options for matching: + KeePass for Windows has the following options for matching: Title is contained URL is contained Host component is contained diff --git a/MacPass/MPDocument+Search.h b/MacPass/MPDocument+Search.h index ca211af2..c3f01c5e 100644 --- a/MacPass/MPDocument+Search.h +++ b/MacPass/MPDocument+Search.h @@ -16,7 +16,7 @@ FOUNDATION_EXTERN NSString *const MPDocumentDidExitSearchNotification; /** * Posted by the document, when the search results have been updated. This is only called when searching. * If the search is exited, it will be notified by MPDocumentDidExitSearchNotification - * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries mathching the search. + * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries matching the search. */ FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchResults; diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 55dd4261..dd373135 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -101,9 +101,9 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; #pragma mark Lock/Decrypt - (IBAction)lockDatabase:(id)sender; /** - * Decrypts the databse with the given password and keyfile + * Decrypts the database with the given password and keyfile * - * @param password The password to unlock the db with, can be nil. This is not the same as an empty stirng @"" + * @param password The password to unlock the db with, can be nil. This is not the same as an empty string @"" * @param keyFileURL URL for the keyfile to use, can be nil * @param error Pointer to an NSError pointer of error reporting. * @@ -111,7 +111,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; */ - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error; /** - * Changes the password of the database. Some sanity checks are applied and the change is aborted if the new values arent valid + * Changes the password of the database. Some sanity checks are applied and the change is aborted if the new values aren't valid * * @param password new password, can be nil * @param keyFileURL new key URL can be nil @@ -132,7 +132,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; /** * Finds an entry with the given UUID. If none is found, nil is returned * @param uuid The UUID for the searched Entry - * @return enty, matching the UUID, nil if none was found + * @return entry, matching the UUID, nil if none was found */ - (KPKEntry *)findEntry:(NSUUID *)uuid; /** @@ -170,7 +170,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; #pragma mark Actions /** - * Empties the Trash group. Removing all Groups and Entries inside. This aciton is not undoable + * Empties the Trash group. Removing all Groups and Entries inside. This action is not undo-able * @param sender sender */ - (IBAction)emptyTrash:(id)sender; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 4e127601..18b220a3 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -235,8 +235,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (void)close { [self _cleanupLock]; /* - We store the last url. Restored windows are automatically handeld. - If closeAllDocuments is set, all docs get this messgae + We store the last url. Restored windows are automatically handled. + If closeAllDocuments is set, all docs get this message */ if([[self fileURL] isFileURL]) { [[NSUserDefaults standardUserDefaults] setObject:[self.fileURL absoluteString] forKey:kMPSettingsKeyLastDatabasePath]; @@ -331,8 +331,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey /* Key change is not undoable so just recored the change as done */ [self updateChangeCount:NSChangeDone]; /* - If the user opted to remeber key files for documents, we should update this information. - But it's impossible to know, if he actaully saves the changes! + If the user opted to remember key files for documents, we should update this information. + But it's impossible to know, if he actually saves the changes! */ return YES; } @@ -646,7 +646,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (void)createEntryFromTemplate:(id)sender { if(![sender respondsToSelector:@selector(representedObject)]) { - return; // sender cannot provide usefull data + return; // sender cannot provide useful data } id obj = [sender representedObject]; if(![obj isKindOfClass:[NSUUID class]]) { diff --git a/MacPass/MPDocumentQueryService.h b/MacPass/MPDocumentQueryService.h index f36a9d18..c2dc6086 100644 --- a/MacPass/MPDocumentQueryService.h +++ b/MacPass/MPDocumentQueryService.h @@ -12,7 +12,7 @@ @class MPDocument; /** - * Service for querying for resultis withing a request + * Service for querying for result is withing a request * This shared instance handles creating of config entries, * and abstracts all open documents for the KeePassHttp interface. */ diff --git a/MacPass/MPDocumentQueryService.m b/MacPass/MPDocumentQueryService.m index 3de4fd53..c190325a 100644 --- a/MacPass/MPDocumentQueryService.m +++ b/MacPass/MPDocumentQueryService.m @@ -46,7 +46,7 @@ static NSUUID *_rootUuid = nil; } - (KPKEntry *)configurationEntry { - /* TODO: lazy getter or do something differen like init at first call? */ + /* TODO: lazy getter or do something different like init at first call? */ if(nil != _configurationEntry) { return _configurationEntry; } diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 5dedac86..a441f0a9 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -200,7 +200,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSAlert *alert = [[NSAlert alloc] init]; [alert setAlertStyle:NSWarningAlertStyle]; [alert setMessageText:NSLocalizedString(@"WARNING_ON_LOSSY_SAVE", "")]; - [alert setInformativeText:NSLocalizedString(@"WARNING_ON_LOSSY_SAVE_DESCRIPTION", "Informative Text displayed when saving woudl yield data loss")]; + [alert setInformativeText:NSLocalizedString(@"WARNING_ON_LOSSY_SAVE_DESCRIPTION", "Informative Text displayed when saving would yield data loss")]; [alert addButtonWithTitle:NSLocalizedString(@"SAVE_LOSSY", "Save lossy")]; [alert addButtonWithTitle:NSLocalizedString(@"CHANGE_FORMAT", "")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; @@ -417,8 +417,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSView *entryView = [self.entryViewController view]; /* - The current easy way to prevent layout hickups is to add the inspect - Add all neded contraints an then remove it again, if it was hidden + The current easy way to prevent layout hiccups is to add the inspect + Add all needed constraints an then remove it again, if it was hidden */ BOOL removeInspector = NO; if(![inspectorView superview]) { diff --git a/MacPass/MPEntryContextMenuDelegate.m b/MacPass/MPEntryContextMenuDelegate.m index f4c58422..b2a79da9 100644 --- a/MacPass/MPEntryContextMenuDelegate.m +++ b/MacPass/MPEntryContextMenuDelegate.m @@ -45,7 +45,7 @@ static NSUInteger const kMPAttachmentsMenuItem = 2000; if([lastItem isSeparatorItem]) { [menu removeItem:lastItem]; } - /* since we can get opend on the non-selected entry, we have to resolve the target node */ + /* since we can get opened on the non-selected entry, we have to resolve the target node */ id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; KPKEntry *entry = [entryResolver currentTargetEntry]; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 40624136..45b061a4 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -301,18 +301,18 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } - (void)popoverDidClose:(NSNotification *)notification { - /* We do not enable the button all the time, but it's wokring find this way */ + /* We do not enable the button all the time, but it's working find this way */ [self.generatePasswordButton setEnabled:YES]; id controller = _activePopover.contentViewController; /* Check for password wizzard */ if([controller respondsToSelector:@selector(generatedPassword)]) { NSString *password = [controller generatedPassword]; - /* We should only use the password if there is actally one */ + /* We should only use the password if there is actually one */ if([password length] > 0) { self.entry.password = [controller generatedPassword]; } } - /* TODO: Check for Icon wizzard */ + /* TODO: Check for Icon wizard */ _activePopover = nil; } diff --git a/MacPass/MPEntrySearchContext.h b/MacPass/MPEntrySearchContext.h index 67278696..27c55404 100644 --- a/MacPass/MPEntrySearchContext.h +++ b/MacPass/MPEntrySearchContext.h @@ -17,10 +17,10 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { MPEntrySearchNotes = (1<<4), MPEntrySearchAllAttributes = (1<<5), /* The following two flags should be used like enums. - They are not intented to be used in conjunktion with any other flag */ + They are not intended to be used in conjunction with any other flag */ MPEntrySearchDoublePasswords = (1<<6), MPEntrySearchExpiredEntries = (1<<7), - /* All combinebale search flags combined */ + /* All combine-able search flags combined */ MPEntrySearchAllCombineableFlags = (MPEntrySearchDoublePasswords | MPEntrySearchExpiredEntries | MPEntrySearchNotes | @@ -33,11 +33,11 @@ typedef NS_OPTIONS(NSUInteger, MPEntrySearchFlags) { MPEntrySearchAllFlags = (MPEntrySearchAllCombineableFlags | MPEntrySearchSingleFlags ) }; -/* Wrap serach criteria to be able to store them */ +/* Wrap search criteria to be able to store them */ @interface MPEntrySearchContext : NSObject /** - * Returns a default search context initalized with sane values. + * Returns a default search context initialized with sane values. * * @return The default search context */ diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index 50b40576..46e28157 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -37,7 +37,7 @@ typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { @property (weak,readonly) NSTableView *entryTable; @property (readonly, strong) NSArrayController *entryArrayController; -/* Call this after alle viewcontroller are loaded */ +/* Call this after all view controllers are loaded */ - (void)regsiterNotificationsForDocument:(MPDocument *)document; /* Copy/Paste */ diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 8ad856c4..d9fb7882 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -250,7 +250,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)tableView:(NSTableView *)tableView didAddRowView:(NSTableRowView *)rowView forRow:(NSInteger)row { /* - bind bakground color to entry color + bind background color to entry color */ } @@ -357,7 +357,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)tableView:(NSTableView *)tableView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row { - /* Rows being removed for data change should be chekced here to clear selections */ + /* Rows being removed for data change should be checked here to clear selections */ if(row == -1) { [self tableViewSelectionDidChange:nil]; } @@ -376,7 +376,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark MPTargetItemResolving - (KPKEntry *)currentTargetEntry { NSInteger activeRow = [self.entryTable clickedRow]; - /* Fallback to selection e.g. for toolbar actions */ + /* Fall back to selection e.g. for toolbar actions */ if(activeRow < 0 ) { activeRow = [self.entryTable selectedRow]; } @@ -531,7 +531,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contextBar]|" options:0 metrics:nil views:views]]; /* Pin height and to top of entry table */ [[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[contextBar(==30)]-0-[scrollView]" options:0 metrics:nil views:views]]; - /* Create the top constraint for the filter bar where we can change the contanst instaed of removing/adding constraints all the time */ + /* Create the top constraint for the filter bar where we can change the constant instead of removing/adding constraints all the time */ self.contextBarTopConstraint = [NSLayoutConstraint constraintWithItem:contextBar attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual @@ -594,7 +594,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; case MPOverlayInfoCustom: infoImage = [[NSBundle mainBundle] imageForResource:@"00_PasswordTemplate"]; - infoText = [NSString stringWithFormat:NSLocalizedString(@"COPIED_FIELD_%@", "Field nam that was copied to the pasteboard"), name]; + infoText = [NSString stringWithFormat:NSLocalizedString(@"COPIED_FIELD_%@", "Field name that was copied to the pasteboard"), name]; break; } [[MPOverlayWindowController sharedController] displayOverlayImage:infoImage label:infoText atView:self.view]; @@ -602,7 +602,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { - /* Validation is soley handeld in the document */ + /* Validation is solely handled in the document */ MPDocument *document = [[self windowController] document]; return [document validateMenuItem:menuItem]; } @@ -722,7 +722,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } NSInteger columnIndex = [self.entryTable clickedColumn]; if(columnIndex < 0 || columnIndex >= [[self.entryTable tableColumns] count]) { - return; // No Colum to use + return; // No Column to use } NSTableColumn *column = [self.entryTable tableColumns][[self.entryTable clickedColumn]]; NSString *identifier = [column identifier]; diff --git a/MacPass/MPFileWatcher.m b/MacPass/MPFileWatcher.m index 80288fd6..cf751969 100644 --- a/MacPass/MPFileWatcher.m +++ b/MacPass/MPFileWatcher.m @@ -63,7 +63,7 @@ dispatch_source_set_event_handler(self.source, self.block); - // close the file descriptor when the dispatch source is cancelled + // close the file descriptor when the dispatch source is canceled dispatch_source_set_cancel_handler(self.source, ^{ close(self.fileDescriptor); diff --git a/MacPass/MPFlagsHelper.h b/MacPass/MPFlagsHelper.h index bee619c6..96c425dd 100644 --- a/MacPass/MPFlagsHelper.h +++ b/MacPass/MPFlagsHelper.h @@ -12,7 +12,7 @@ #include /** * Tests if the given flag is set in the mode options. - * The test operatats on bit flag leve. Hence it will return YES + * The test operates on bit flag left. Hence it will return YES * if only one single bit is common in both parameters! * * @param options single flag to test for diff --git a/MacPass/MPIconHelper.h b/MacPass/MPIconHelper.h index 9be4c8a8..079e7fba 100644 --- a/MacPass/MPIconHelper.h +++ b/MacPass/MPIconHelper.h @@ -95,7 +95,7 @@ typedef NS_ENUM(NSUInteger, MPIconType) { }; /** - * Helper class to retrieve Icons for Keys. KDB sortes Icons as an Integer + * Helper class to retrieve Icons for Keys. KDB sorts Icons as an Integer * The Helper maps those numbers to icons. * It can furthermore be used to retrieve other Icons, that are non-Database Icons */ @@ -110,7 +110,7 @@ typedef NS_ENUM(NSUInteger, MPIconType) { /** * Available Icon names (all) - * @return Dictioary with MPIconType keys and NSString values containing their names + * @return Dictionary with MPIconType keys and NSString values containing their names */ + (NSDictionary *)availableIconNames; diff --git a/MacPass/MPInspectorViewController.h b/MacPass/MPInspectorViewController.h index 53f5761f..90eda898 100644 --- a/MacPass/MPInspectorViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -26,7 +26,7 @@ - (IBAction)pickExpiryDate:(id)sender; - (IBAction)toggleEdit:(id)sender; -/* Seperate call to ensure alle registered objects are in place */ +/* Separate call to ensure all registered objects are in place */ - (void)regsiterNotificationsForDocument:(NSDocument *)document; @end diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 4ae54a91..22f4d3ff 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -177,7 +177,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self.entryViewController endEditing]; /* - We need to be carefull to only undo the things we actually changed + We need to be careful to only undo the things we actually changed otherwise we undo older actions */ if(didCancel) { @@ -312,7 +312,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { - (void)_didChangeCurrentItem:(NSNotification *)notification { MPDocument *document = [notification object]; if(!document.selectedItem) { - /* show emty tab and hide edit button */ + /* show empty tab and hide edit button */ self.activeTab = MPEmptyTab; } else { diff --git a/MacPass/MPKeyMapper.h b/MacPass/MPKeyMapper.h index 8428c581..de2b187f 100644 --- a/MacPass/MPKeyMapper.h +++ b/MacPass/MPKeyMapper.h @@ -21,7 +21,7 @@ FOUNDATION_EXTERN uint16_t const kMPUnknownKeyCode; + (NSString *)stringForKey:(CGKeyCode)keyCode; /** - * Determines the keyCode (if possible) for the charater + * Determines the keyCode (if possible) for the character * * @param character NSString with a single character to be transformed * @return virtual Keycode for the supplied string. If none is found, kMPUnkonwKeyCode is returned diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index 9358289e..b09dcc9e 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -86,7 +86,7 @@ NSTimeInterval currentInterval = ([NSDate timeIntervalSinceReferenceDate] - self.lastLocalEventTime); if(self.idleLockTime < currentInterval) { [(MPAppDelegate *)[NSApp delegate] lockAllDocuments]; - /* Reset the timer to full intervall */ + /* Reset the timer to full interval */ [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime]]; } else { diff --git a/MacPass/MPOutlineDataSource.m b/MacPass/MPOutlineDataSource.m index 2b154453..4fcd40be 100644 --- a/MacPass/MPOutlineDataSource.m +++ b/MacPass/MPOutlineDataSource.m @@ -62,7 +62,7 @@ NSDragOperation operationMask = NSDragOperationMove; /* If we can support copy on drag, this can be used - to optain the dragging modifier mask the user presses + to obtain the dragging modifier mask the user presses */ BOOL localCopy = NO; if([info draggingSourceOperationMask] == NSDragOperationCopy) { diff --git a/MacPass/MPOverlayWindowController.h b/MacPass/MPOverlayWindowController.h index f1cb1645..96579292 100644 --- a/MacPass/MPOverlayWindowController.h +++ b/MacPass/MPOverlayWindowController.h @@ -13,7 +13,7 @@ + (MPOverlayWindowController *)sharedController; /** - * Displays an overlay HUD style image with the given text, image centerd at the given view. + * Displays an overlay HUD style image with the given text, image centered at the given view. * There are two use cases. Either displaying information over a view by providing on, * or displaying information on the main screen by using nil for the view. * diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index f9a47784..cb34850b 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -23,7 +23,7 @@ 56 - 85 Excellent 85 - Fantastic - Skale 0-90 + Scale 0-90 */ typedef NS_ENUM(NSUInteger, MPPasswordRating) { MPPasswordTerrible = 10, @@ -205,7 +205,7 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { [[NSUserDefaults standardUserDefaults] setObject:[self.customCharactersTextField stringValue] forKey:kMPSettingsKeyPasswordCustomString]; } else { - NSLog(@"Cannot set password generator defaults. Inconsitent state. Aborting."); + NSLog(@"Cannot set password generator defaults. Inconsistent state. Aborting."); } self.setDefaultButton.enabled = NO; } diff --git a/MacPass/MPPasswordEditWindowController.h b/MacPass/MPPasswordEditWindowController.h index 6733ea60..6f19b8aa 100644 --- a/MacPass/MPPasswordEditWindowController.h +++ b/MacPass/MPPasswordEditWindowController.h @@ -16,7 +16,7 @@ @optional /** * Get's called on dismissing the password editor. - * @param changedPasswordOrKey YES if the password and/or key was saved (not necessairly changed!); + * @param changedPasswordOrKey YES if the password and/or key was saved (not necessarily changed!); */ - (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey; diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 47a6e742..b20adde6 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -175,7 +175,7 @@ if(!hasPasswordOrKey) { [self.errorTextField setTextColor:[NSColor controlTextColor]]; [self.errorTextField setStringValue:NSLocalizedString(@"WARNING_NO_PASSWORD_OR_KEYFILE", "No Key or Password")]; - return; // alldone + return; // all done } [self.errorTextField setTextColor:[NSColor redColor]]; if(!passwordOk && !keyOk ) { diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 6021fef0..36825892 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -67,7 +67,7 @@ } - (void)requestPassword { - // show Warnign if read-only mode! + // show warning if read-only mode! [self _reset]; } @@ -102,7 +102,7 @@ } - (IBAction)resetKeyFile:(id)sender { - /* If the reset was triggerd by ourselves we want to preselct the keyfile */ + /* If the reset was triggered by ourselves we want to preselect the keyfile */ if(sender == self) { [self _selectKeyURL]; } diff --git a/MacPass/MPPasteBoardController.h b/MacPass/MPPasteBoardController.h index dfadbcaf..5b237484 100644 --- a/MacPass/MPPasteBoardController.h +++ b/MacPass/MPPasteBoardController.h @@ -12,7 +12,7 @@ /** * The PasteBoardController did copy new items to the pasteboard - * The userInfo dictionary is empty. You can optain the timeout via the clearTimeout property + * The userInfo dictionary is empty. You can obtain the timeout via the clearTimeout property */ FOUNDATION_EXPORT NSString *const MPPasteBoardControllerDidCopyObjects; /** @@ -22,7 +22,7 @@ FOUNDATION_EXPORT NSString *const MPPasteBoardControllerDidCopyObjects; FOUNDATION_EXPORT NSString *const MPPasteBoardControllerDidClearClipboard; /* - This time sets the time interval after which a copied entry shoudl be purged from the pasteboard + This time sets the time interval after which a copied entry should be purged from the pasteboard */ @property (assign, nonatomic) NSTimeInterval clearTimeout; @property (assign, nonatomic) BOOL clearPasteboardOnShutdown; diff --git a/MacPass/MPRequestHandlerService.h b/MacPass/MPRequestHandlerService.h index 22850029..f2b99e18 100644 --- a/MacPass/MPRequestHandlerService.h +++ b/MacPass/MPRequestHandlerService.h @@ -17,7 +17,7 @@ FOUNDATION_EXPORT NSString *const MPRequestTypeSetLogin; FOUNDATION_EXPORT NSString *const MPRequestTypeGeneratePassword; /** - * Servive class to be called for getting specific request handler for indifidual reuqest + * Service class to be called for getting specific request handler for individual request * The service is identified by a string */ @interface MPRequestHandlerService : NSObject diff --git a/MacPass/MPServerRequestHandling.h b/MacPass/MPServerRequestHandling.h index 3b1e4025..31db1106 100644 --- a/MacPass/MPServerRequestHandling.h +++ b/MacPass/MPServerRequestHandling.h @@ -23,7 +23,7 @@ /** * Formulate a response to the request passed in as Dictionary * - * @param data An NSDictionary containing the parsed JSON reuest + * @param data An NSDictionary containing the parsed JSON request */ - (void)respondTo:(NSDictionary *)data; diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 2a9b010b..0e5a147b 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -41,14 +41,14 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideNotes; APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL; /* Document/Key Location store */ -APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; // Path to the last opened Database. Workaround if users have disabled the feautere in the OS +APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; // Path to the last opened Database. Workaround if users have disabled the feature in the OS APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; // NSDictionary of all db file urls and the corresponding key file url -APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // YES if key files should be rememberd +APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; // YES if key files should be remembers /* Autotype */ -APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is usefull in a cross plattform environment +APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // Should MacPass swap control for command. This is useful in a cross platform environment APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? -APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the useder defined global autotype key +APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the user defined global autotype key APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence; // Default sequence used for Autotype APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchURL; // Autotype lookup included entry URL APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchHost; // Autotype lookup included host part of entry URL @@ -92,12 +92,12 @@ typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { @interface MPSettingsHelper : NSObject /** - * Registers all the defaults for the applciaiton + * Registers all the defaults for the application */ + (void)setupDefaults; /** - * Brings the defaults to a current status. Removes obsoltes entries. + * Brings the defaults to a current status. Removes obsolete entries. */ + (void)migrateDefaults; /** diff --git a/MacPass/MPSettingsTab.h b/MacPass/MPSettingsTab.h index 247c513f..622a5e21 100644 --- a/MacPass/MPSettingsTab.h +++ b/MacPass/MPSettingsTab.h @@ -10,7 +10,7 @@ /* Protrocoll to be implemented by ViewControllers that can be added to - the settings windows. Tabs are orded as the controllers are included. + the settings windows. Tabs are ordered as the controllers are included. */ @protocol MPSettingsTab @@ -22,7 +22,7 @@ - (NSImage *)image; /* Called when the tab is about to be selected and displayed */ - (void)willShowTab; -/* Called whent the tab was selected and is being displayed */ +/* Called when the tab was selected and is being displayed */ - (void)didShowTab; @end diff --git a/MacPass/MPSettingsWindowController.m b/MacPass/MPSettingsWindowController.m index 9c91919f..77729ede 100644 --- a/MacPass/MPSettingsWindowController.m +++ b/MacPass/MPSettingsWindowController.m @@ -60,7 +60,7 @@ } id tab = self.settingsController[identifier]; if(tab == nil){ - NSLog(@"Warning. Unknow settingscontroller for identifier: %@. Did you miss to add the controller?", identifier); + NSLog(@"Warning. Unknown settingscontroller for identifier: %@. Did you miss to add the controller?", identifier); return; } [self.toolbar setSelectedItemIdentifier:identifier]; @@ -112,7 +112,7 @@ } NSString *identifier = [tabController identifier]; if(nil != self.settingsController[identifier]) { - NSLog(@"Warning: Settingscontroller with identifer %@ already present!", identifier); + NSLog(@"Warning: Settingscontroller with identifier %@ already present!", identifier); } else { self.settingsController[identifier] = tabController; @@ -165,7 +165,7 @@ item = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier]; /* Setup the item to use the controllers label if one is present - and supports the appropriate @optional protocoll messages + and supports the appropriate @optional protocol messages */ id tab = self.settingsController[itemIdentifier]; if([tab respondsToSelector:@selector(label)]) { diff --git a/MacPass/MPSheetWindowController.h b/MacPass/MPSheetWindowController.h index 8be2daa7..2f13e568 100644 --- a/MacPass/MPSheetWindowController.h +++ b/MacPass/MPSheetWindowController.h @@ -12,18 +12,18 @@ #import /** * Generic Windowcontroller to be used for sheets - * Subclasses are able to initalize their views within updateView - * and thus are able to reset themself befor being displayed as sheets + * Subclasses are able to initialize their views within updateView + * and thus are able to reset themselves before being displayed as sheets */ @interface MPSheetWindowController : NSWindowController /** * Flag to indicate that the view might need resetting. - * The default implementation of dismissi sheet and the - * designate initalizer both set the value to YES + * The default implementation of dismiss sheet and the + * designate initializer both set the value to YES */ @property (nonatomic, assign) BOOL isDirty; /** - * This method is a entry point to ensure updated ui befor being presented + * This method is a entry point to ensure updated ui before being presented * The method is called every time the window message is sent to the controller */ - (void)updateView; diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 8a3500fb..6cc1c0d9 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -296,7 +296,7 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; if(_displayModeBeforeSearch == NSToolbarDisplayModeLabelOnly) { [self.toolbar setDisplayMode:NSToolbarDisplayModeIconAndLabel]; } - /* only make the searchfield first responder if it's not aleady in an active search */ + /* only make the searchfield first responder if it's not already in an active search */ if(![self.searchField currentEditor]) { [[self.searchField window] makeFirstResponder:self.searchField]; [self.searchField selectText:self]; diff --git a/MacPass/NSString+MPPasswordCreation.h b/MacPass/NSString+MPPasswordCreation.h index 518c21b5..45f6f136 100644 --- a/MacPass/NSString+MPPasswordCreation.h +++ b/MacPass/NSString+MPPasswordCreation.h @@ -19,10 +19,10 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { @interface NSString (MPPasswordCreation) /** -* Creates a Password using the supplied password character set with the given lenght +* Creates a Password using the supplied password character set with the given length * * @param allowedCharacters Characters allowed for the password -* @param theLength lenght of the password to be created +* @param theLength length of the password to be created * * @return new password with only the allowed characters. */ @@ -33,9 +33,9 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { * Creats a password based on the supplied string * * @param source String containing the allowed characters - * @param length Lenght for the password to be chreated + * @param length Length for the password to be created * - * @return Password consisint only of allowed characters + * @return Password consistent only of allowed characters */ + (NSString *)passwordFromString:(NSString *)source length:(NSUInteger)length; @@ -46,7 +46,7 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { * * @param length Length of the password to be created * - * @return Password containing only the charactesr in receiver + * @return Password containing only the characters in receiver */ - (NSString *)passwordWithLength:(NSUInteger)length; /** @@ -54,12 +54,12 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { */ - (NSString *)randomCharacter; /** - * Calculates the entropy of the receiver based on the allowed characers. The caluclation consideres the characters chosen randomly. - * If the password supplied was not created randomly based on the full character set, the calulated entropy is NOT correct. - * Do NOT use this method to estrimate unknown passwords + * Calculates the entropy of the receiver based on the allowed characters. The calculation considers the characters chosen randomly. + * If the password supplied was not created randomly based on the full character set, the calculated entropy is NOT correct. + * Do NOT use this method to estimate unknown passwords * * @param allowedCharacters set of allowed Characters - * @param customCharacters alternative string of unique allowed charactes (String is not stripped of duplicates!) + * @param customCharacters alternative string of unique allowed characters (String is not stripped of duplicates!) * * @return entropy of the receiver as bits */ diff --git a/MacPass/en.lproj/IntegrationSettings.strings b/MacPass/en.lproj/IntegrationSettings.strings index e74809b9..1494a9be 100644 --- a/MacPass/en.lproj/IntegrationSettings.strings +++ b/MacPass/en.lproj/IntegrationSettings.strings @@ -20,8 +20,8 @@ /* Class = "NSBox"; title = "Preview"; ObjectID = "VVs-b5-cX9"; */ "VVs-b5-cX9.title" = "Preview"; -/* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a tempoary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ -"WmI-IB-Aso.title" = "If enabled attached files will be copied to a tempoary location for preview and deleted after the preview is closed. This is a potential security risk!"; +/* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a temporary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ +"WmI-IB-Aso.title" = "If enabled attached files will be copied to a temporary location for preview and deleted after the preview is closed. This is a potential security risk!"; /* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ "QfO-yG-l3F.title" = "Interpret ⌃ as ⌘"; diff --git a/MacPass/en.lproj/KPKLocalizable.strings b/MacPass/en.lproj/KPKLocalizable.strings index 4d32bdbf..55dbbd51 100644 --- a/MacPass/en.lproj/KPKLocalizable.strings +++ b/MacPass/en.lproj/KPKLocalizable.strings @@ -20,7 +20,7 @@ "ERROR_INVALID_FIELD_SIZE" = "Incorrect size at data field. Password wrong?"; "ERROR_INVALID_FIELD_TYPE" = "Unknown data field. Password wrong?"; "ERROR_UNSUPPORTED_DATABASER_VERSION" = "The Database version is not supported"; -"ERROR_UNSUPPORTED_CHIPHER" = "Unsupported chipher algorithm"; +"ERROR_UNSUPPORTED_CHIPHER" = "Unsupported cipher algorithm"; "ERROR_UNKNOWN_FILE_FORMAT" = "Unknown file format"; "ERROR_HEADER_CORRUPTED" = "Header is corrupted"; "ERROR_UNSUPPORTED_KDBX_COMPRESSION_ALGORITHM" = "Unsported compression algorithm"; @@ -32,6 +32,6 @@ "ERROR_GROUP_ELEMENT_MISSING" = "The XML file contains no Group node"; "ERROR_HEADER_HASH_MISSMATCH" = "The header hash doesn't match. File corrupted"; "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "The XML keyfile is missing the key element"; -"ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "The XML keyfiel is missing the data element"; +"ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "The XML keyfile is missing the data element"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "Unable to read the data of the XML keyfile"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; \ No newline at end of file +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integrity might be broken!"; \ No newline at end of file diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 9f196f4fb782c20b8e7a42fbc4321005e086f54b..c667b471a8da75732d38d7315f4f897242332bd8 100644 GIT binary patch delta 29 lcmewq_a$yaixgwd Date: Fri, 23 Oct 2015 19:29:13 +0200 Subject: [PATCH 337/778] Update MPAppDelegate.m Fixed #379 --- MacPass/MPAppDelegate.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index c1096d1b..25fe59e1 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -214,8 +214,8 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi - (void)lockAllDocuments { for(NSDocument *document in ((NSDocumentController *)[NSDocumentController sharedDocumentController]).documents) { for(id windowController in document.windowControllers) { - if([windowController respondsToSelector:@selector(lock)]) { - [windowController lock]; + if([windowController respondsToSelector:@selector(lock:)]) { + [windowController lock:self]; } } } From a75e5c7e2fb209b81fe9c046301c2187d5608a71 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Jul 2015 14:40:53 +0200 Subject: [PATCH 338/778] Using modern Objective-C syntac --- MacPass/EntryView.xib | 17 ++--- MacPass/MPEntryViewController.m | 120 ++++++++++++++++---------------- 2 files changed, 68 insertions(+), 69 deletions(-) diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 40a67e83..5bebec78 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,8 @@ - + - + @@ -26,10 +26,11 @@ - + + - + @@ -50,7 +51,7 @@ - + @@ -136,7 +137,7 @@ - + @@ -260,7 +261,7 @@ - - + diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index d9fb7882..dde186d7 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -134,10 +134,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [_bottomBar setBorderType:HNHBorderTop|HNHBorderHighlight]; [self.addEntryButton setAction:[MPActionHelper actionOfType:MPActionAddEntry]]; - [self.entryTable setDelegate:self]; - [self.entryTable setDoubleAction:@selector(_columnDoubleClick:)]; - [self.entryTable setTarget:self]; - [self.entryTable setFloatsGroupRows:NO]; + self.entryTable.delegate = self; + self.entryTable.doubleAction = @selector(_columnDoubleClick:); + self.entryTable.target = self; + self.entryTable.floatsGroupRows = NO; [self.entryTable registerForDraggedTypes:@[KPKEntryUTI]]; /* First responder notifications */ [[NSNotificationCenter defaultCenter] addObserver:self @@ -146,55 +146,51 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; object:_entryTable]; [self _setupEntryMenu]; - NSTableColumn *parentColumn = [self.entryTable tableColumns][0]; - NSTableColumn *titleColumn = [self.entryTable tableColumns][1]; - NSTableColumn *userNameColumn = [self.entryTable tableColumns][2]; - NSTableColumn *passwordColumn = [self.entryTable tableColumns][3]; - NSTableColumn *urlColumn = [self.entryTable tableColumns][4]; + NSTableColumn *parentColumn = self.entryTable.tableColumns[0]; + NSTableColumn *titleColumn = self.entryTable.tableColumns[1]; + NSTableColumn *userNameColumn = self.entryTable.tableColumns[2]; + NSTableColumn *passwordColumn = self.entryTable.tableColumns[3]; + NSTableColumn *urlColumn = self.entryTable.tableColumns[4]; NSTableColumn *attachmentsColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableAttachmentColumnIdentifier]; NSTableColumn *notesColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableNotesColumnIdentifier]; NSTableColumn *modifiedColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableModfiedColumnIdentifier]; - [notesColumn setMinWidth:40.0]; - [attachmentsColumn setMinWidth:40.0]; - [modifiedColumn setMinWidth:40.0]; + notesColumn.minWidth = 40.0; + attachmentsColumn.minWidth = 40.0; + modifiedColumn.minWidth = 40.0; [self.entryTable addTableColumn:notesColumn]; [self.entryTable addTableColumn:attachmentsColumn]; [self.entryTable addTableColumn:modifiedColumn]; - [parentColumn setIdentifier:MPEntryTableParentColumnIdentifier]; - [titleColumn setIdentifier:MPEntryTableTitleColumnIdentifier]; - [userNameColumn setIdentifier:MPEntryTableUserNameColumnIdentifier]; - [passwordColumn setIdentifier:MPEntryTablePasswordColumnIdentifier]; - [urlColumn setIdentifier:MPEntryTableURLColumnIdentifier]; + parentColumn.identifier = MPEntryTableParentColumnIdentifier; + titleColumn.identifier = MPEntryTableTitleColumnIdentifier; + userNameColumn.identifier = MPEntryTableUserNameColumnIdentifier; + passwordColumn.identifier = MPEntryTablePasswordColumnIdentifier; + urlColumn.identifier = MPEntryTableURLColumnIdentifier; + + self.entryTable.autosaveName = @"EntryTable"; + self.entryTable.autosaveTableColumns = YES; - [self.entryTable setAutosaveName:@"EntryTable"]; - [self.entryTable setAutosaveTableColumns:YES]; NSString *parentNameKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(parent)), NSStringFromSelector(@selector(name))]; - NSSortDescriptor *titleColumSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(title))ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; - NSSortDescriptor *userNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(username)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; - NSSortDescriptor *urlSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(url)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; - NSSortDescriptor *groupnameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:parentNameKeyPath ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; - NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:[MPEntryViewController timeInfoModificationTimeKeyPath] ascending:YES selector:@selector(compare:)]; - [titleColumn setSortDescriptorPrototype:titleColumSortDescriptor]; - [userNameColumn setSortDescriptorPrototype:userNameSortDescriptor]; - [urlColumn setSortDescriptorPrototype:urlSortDescriptor]; - [parentColumn setSortDescriptorPrototype:groupnameSortDescriptor]; - [modifiedColumn setSortDescriptorPrototype:dateSortDescriptor]; + titleColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(title))ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; + userNameColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(username)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; + urlColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(url)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; + parentColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:parentNameKeyPath ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; + modifiedColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:[MPEntryViewController timeInfoModificationTimeKeyPath] ascending:YES selector:@selector(compare:)]; - [[parentColumn headerCell] setStringValue:NSLocalizedString(@"GROUP", "")]; - [[titleColumn headerCell] setStringValue:NSLocalizedString(@"TITLE", "")]; - [[userNameColumn headerCell] setStringValue:NSLocalizedString(@"USERNAME", "")]; - [[passwordColumn headerCell] setStringValue:NSLocalizedString(@"PASSWORD", "")]; - [[urlColumn headerCell] setStringValue:NSLocalizedString(@"URL", "")]; - [[notesColumn headerCell] setStringValue:NSLocalizedString(@"NOTES", "")]; - [[attachmentsColumn headerCell] setStringValue:NSLocalizedString(@"ATTACHMENTS", "")]; - [[modifiedColumn headerCell] setStringValue:NSLocalizedString(@"MODIFIED", "")]; + [parentColumn.headerCell setStringValue:NSLocalizedString(@"GROUP", "")]; + [titleColumn.headerCell setStringValue:NSLocalizedString(@"TITLE", "")]; + [userNameColumn.headerCell setStringValue:NSLocalizedString(@"USERNAME", "")]; + [passwordColumn.headerCell setStringValue:NSLocalizedString(@"PASSWORD", "")]; + [urlColumn.headerCell setStringValue:NSLocalizedString(@"URL", "")]; + [notesColumn.headerCell setStringValue:NSLocalizedString(@"NOTES", "")]; + [attachmentsColumn.headerCell setStringValue:NSLocalizedString(@"ATTACHMENTS", "")]; + [modifiedColumn.headerCell setStringValue:NSLocalizedString(@"MODIFIED", "")]; [self.entryTable bind:NSContentBinding toObject:self.entryArrayController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; [self.entryTable bind:NSSortDescriptorsBinding toObject:self.entryArrayController withKeyPath:NSStringFromSelector(@selector(sortDescriptors)) options:nil]; - [self.entryTable setDataSource:_dataSource]; + self.entryTable.dataSource = self.dataSource; // bind NSArrayController sorting so that sort order gets auto-saved // see: http://simx.me/technonova/software_development/sort_descriptors_nstableview_bindings_a.html @@ -204,7 +200,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; options:@{ NSValueTransformerNameBindingOption: NSUnarchiveFromDataTransformerName }]; [self _setupHeaderMenu]; - [parentColumn setHidden:YES]; + parentColumn.hidden = YES; } - (NSResponder *)reconmendedFirstResponder { @@ -256,14 +252,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - BOOL isTitleColumn = [[tableColumn identifier] isEqualToString:MPEntryTableTitleColumnIdentifier]; - BOOL isGroupColumn = [[tableColumn identifier] isEqualToString:MPEntryTableParentColumnIdentifier]; - BOOL isPasswordColum = [[tableColumn identifier] isEqualToString:MPEntryTablePasswordColumnIdentifier]; - BOOL isUsernameColumn = [[tableColumn identifier] isEqualToString:MPEntryTableUserNameColumnIdentifier]; - BOOL isURLColumn = [[tableColumn identifier] isEqualToString:MPEntryTableURLColumnIdentifier]; - BOOL isAttachmentColumn = [[tableColumn identifier] isEqualToString:MPEntryTableAttachmentColumnIdentifier]; - BOOL isNotesColumn = [[tableColumn identifier] isEqualToString:MPEntryTableNotesColumnIdentifier]; - BOOL isModifedColumn = [[tableColumn identifier] isEqualToString:MPEntryTableModfiedColumnIdentifier]; + BOOL isTitleColumn = [tableColumn.identifier isEqualToString:MPEntryTableTitleColumnIdentifier]; + BOOL isGroupColumn = [tableColumn.identifier isEqualToString:MPEntryTableParentColumnIdentifier]; + BOOL isPasswordColum = [tableColumn.identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]; + BOOL isUsernameColumn = [tableColumn.identifier isEqualToString:MPEntryTableUserNameColumnIdentifier]; + BOOL isURLColumn = [tableColumn.identifier isEqualToString:MPEntryTableURLColumnIdentifier]; + BOOL isAttachmentColumn = [tableColumn.identifier isEqualToString:MPEntryTableAttachmentColumnIdentifier]; + BOOL isNotesColumn = [tableColumn.identifier isEqualToString:MPEntryTableNotesColumnIdentifier]; + BOOL isModifedColumn = [tableColumn.identifier isEqualToString:MPEntryTableModfiedColumnIdentifier]; NSTableCellView *view = nil; if(isTitleColumn || isGroupColumn) { @@ -275,8 +271,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSString *iconImageKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(iconImage))]; - [[view textField] bind:NSValueBinding toObject:view withKeyPath:titleKeyPath options:nil]; - [[view imageView] bind:NSValueBinding toObject:view withKeyPath:iconImageKeyPath options:nil]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:titleKeyPath options:nil]; + [view.imageView bind:NSValueBinding toObject:view withKeyPath:iconImageKeyPath options:nil]; } else { KPKEntry *entry = [self.entryArrayController arrangedObjects][row]; @@ -290,8 +286,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(parent)), NSStringFromSelector(@selector(iconImage))]; - [[view textField] bind:NSValueBinding toObject:view withKeyPath:parentNameKeyPath options:nil]; - [[view imageView] bind:NSValueBinding toObject:view withKeyPath:parentIconImageKeyPath options:nil]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:parentNameKeyPath options:nil]; + [view.imageView bind:NSValueBinding toObject:view withKeyPath:parentIconImageKeyPath options:nil]; } } else if(isPasswordColum) { @@ -300,17 +296,16 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(password))]; NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] }; - [[view textField] bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:options]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:options]; } else { view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self]; - NSTextField *textField = [view textField]; if(!isModifedColumn) { /* clean up old formatter that might be left */ - [textField setFormatter:nil]; + view.textField.formatter = nil; } if(isModifedColumn) { - if(![[view textField] formatter]) { + if(!view.textField.formatter) { /* Just use one formatter instance since it's expensive to create */ static NSDateFormatter *formatter = nil; static dispatch_once_t onceToken; @@ -319,38 +314,41 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter setTimeStyle:NSDateFormatterMediumStyle]; }); - [textField setFormatter:formatter]; + view.textField.formatter = formatter; } NSString *modificatoinTimeKeyPath = [NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(lastModificationTime))]; - [textField bind:NSValueBinding toObject:view withKeyPath:modificatoinTimeKeyPath options:nil]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:modificatoinTimeKeyPath options:nil]; return view; } else if(isURLColumn) { NSString *urlKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(url))]; - [textField bind:NSValueBinding toObject:view withKeyPath:urlKeyPath options:nil]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:urlKeyPath options:nil]; } else if(isUsernameColumn) { NSString *usernameKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(username))]; - [textField bind:NSValueBinding toObject:view withKeyPath:usernameKeyPath options:nil]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:usernameKeyPath options:nil]; } else if(isNotesColumn) { NSDictionary *options = @{ NSValueTransformerNameBindingOption : MPStripLineBreaksTransformerName }; NSString *notesKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(notes))]; - [textField bind:NSValueBinding toObject:view withKeyPath:notesKeyPath options:options]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:notesKeyPath options:options]; } else if(isAttachmentColumn) { - [textField bind:NSValueBinding toObject:view withKeyPath:@"objectValue.binaries.@count" options:nil]; + NSString *binariesCoundKeyPath = [NSString stringWithFormat:@"%@.%@.@count", + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(binaries))]; + [view.textField bind:NSValueBinding toObject:view withKeyPath:binariesCoundKeyPath options:nil]; } } return view; From a288a48e69ab562e9191a0b88f0ea68e63cfb079 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Jul 2015 14:41:01 +0200 Subject: [PATCH 339/778] Removed direct model binding --- MacPass/MPOutlineViewController.m | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 2e699be6..0eb8011c 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -213,13 +213,16 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [view.textField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(databaseNameWrapper)) options:nil]; } else { - KPKGroup *group = [item representedObject]; view = [outlineView makeViewWithIdentifier:_MPOutlineViewDataViewIdentifier owner:self]; - [[view imageView] bind:NSValueBinding toObject:group withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; - [[view textField] bind:NSValueBinding toObject:group withKeyPath:NSStringFromSelector(@selector(name)) options:nil]; - NSString *entriesCountKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(entries)), @"@count"]; - [[view textField] bind:NSStringFromSelector(@selector(count)) toObject:group withKeyPath:entriesCountKeyPath options:nil]; + NSString *iconImageKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(iconImage))]; + NSString *nameKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(name))]; + [[view imageView] bind:NSValueBinding toObject:item withKeyPath:iconImageKeyPath options:nil]; + [[view textField] bind:NSValueBinding toObject:item withKeyPath:nameKeyPath options:nil]; + + + NSString *entriesCountKeyPath = [[NSString alloc] initWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(entries)), @"@count"]; + [[view textField] bind:NSStringFromSelector(@selector(count)) toObject:item withKeyPath:entriesCountKeyPath options:nil]; } return view; From e4a7b81a5f7e58c22dc4897ab41ea0d853171d5f Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 15 Jul 2015 18:29:15 +0200 Subject: [PATCH 340/778] disabled multi selection again --- MacPass/EntryView.xib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 5bebec78..1e61d3db 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -26,7 +26,7 @@ - + From af27e7b26560c1d99beaab1fe1e0362baf32fe8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 16 Jul 2015 15:06:37 +0200 Subject: [PATCH 341/778] drafting simple plugin system --- MacPass.xcodeproj/project.pbxproj | 16 +++++++++ MacPass/MPGenericPlugin.h | 28 ++++++++++++++++ MacPass/MPPluginManager.h | 22 ++++++++++++ MacPass/MPPluginManager.m | 56 +++++++++++++++++++++++++++++++ 4 files changed, 122 insertions(+) create mode 100644 MacPass/MPGenericPlugin.h create mode 100644 MacPass/MPPluginManager.h create mode 100644 MacPass/MPPluginManager.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 89907cb8..4f83c038 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -87,6 +87,7 @@ 4C305F36179A0BD70082334F /* KPKIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C305F35179A0BD70082334F /* KPKIcon.m */; }; 4C305F3C179A19F90082334F /* KPKIconLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C305F3B179A19F90082334F /* KPKIconLoading.m */; }; 4C305F3E179A1A760082334F /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C305F3D179A1A760082334F /* image.png */; }; + 4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */; }; 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */; }; 4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; }; 4C37A6731769393300AD0A40 /* HNHTableHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A6721769393300AD0A40 /* HNHTableHeaderCell.m */; }; @@ -576,6 +577,9 @@ 4C305F35179A0BD70082334F /* KPKIcon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKIcon.m; sourceTree = ""; }; 4C305F3B179A19F90082334F /* KPKIconLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKIconLoading.m; sourceTree = ""; }; 4C305F3D179A1A760082334F /* image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = image.png; path = Images/image.png; sourceTree = ""; }; + 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginManager.h; sourceTree = ""; }; + 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginManager.m; sourceTree = ""; }; + 4C31FEBD1B57CE45008E7CE3 /* MPGenericPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGenericPlugin.h; sourceTree = ""; }; 4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = ""; }; 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = ""; }; 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = ""; }; @@ -1456,6 +1460,16 @@ name = Images; sourceTree = ""; }; + 4C31FEBC1B57CDE0008E7CE3 /* Plugins */ = { + isa = PBXGroup; + children = ( + 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */, + 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */, + 4C31FEBD1B57CE45008E7CE3 /* MPGenericPlugin.h */, + ); + name = Plugins; + sourceTree = ""; + }; 4C37A84115B8B47D005EF8EE /* Delegates */ = { isa = PBXGroup; children = ( @@ -1758,6 +1772,7 @@ 4C77E36C15B84A240093A587 /* MacPass */ = { isa = PBXGroup; children = ( + 4C31FEBC1B57CDE0008E7CE3 /* Plugins */, 4C217D8E17A32BCF00609FAA /* Common */, 4C104129178CDD26001B5239 /* Categories */, 4C245C11176E22150086100E /* KeepassHttp */, @@ -2732,6 +2747,7 @@ 4C5CD35A17D15DBD000B7F38 /* NSString+Hexdata.m in Sources */, 4C5CD36117D15DCA000B7F38 /* KPKArc4RandomStream.m in Sources */, 4C5CD36217D15DCA000B7F38 /* KPKRandomStream.m in Sources */, + 4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */, 4C5CD36317D15DCA000B7F38 /* KPKSalsa20RandomStream.m in Sources */, 4C3C4EA518D6FEA100153127 /* TTTImageTransformers.m in Sources */, 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */, diff --git a/MacPass/MPGenericPlugin.h b/MacPass/MPGenericPlugin.h new file mode 100644 index 00000000..901eae69 --- /dev/null +++ b/MacPass/MPGenericPlugin.h @@ -0,0 +1,28 @@ +// +// MPGenericPlugin.h +// MacPass +// +// Created by Michael Starke on 16/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. +// + +#import + +@class MPPluginManager + +@protocol MPGenericPlugin + +@required +@property (readonly) NSString *name; +@property (readonly) NSString *version; +@property (readonly) NSInteger *versionNumber; + +- (instancetype)initWithPluginManager:(MPPluginManager *)manager; + +@optional +- (void)manager:(MPPluginManager *)manager willAddNode:(KPKNode *)node; +- (void)manager:(MPPluginManager *)manager didAddNode(KPKNode *)node; +- (void)manager:(MPPluginManager *)manager willRemoveNode:(KPKNode *)node; +- (void)manager:(MPPluginManager *)manager didRemoveNode:(KPKNode *)node; + +@end diff --git a/MacPass/MPPluginManager.h b/MacPass/MPPluginManager.h new file mode 100644 index 00000000..ad395ced --- /dev/null +++ b/MacPass/MPPluginManager.h @@ -0,0 +1,22 @@ +// +// MPPluginManager.h +// MacPass +// +// Created by Michael Starke on 16/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. +// + +#import + +@class KPKNode; + +@interface MPPluginManager : NSObject + +typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); + ++ (instancetype)sharedManager; + +- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock) matchBlock; +- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock) matchBlock; + +@end diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m new file mode 100644 index 00000000..e78a24f8 --- /dev/null +++ b/MacPass/MPPluginManager.m @@ -0,0 +1,56 @@ +// +// MPPluginManager.m +// MacPass +// +// Created by Michael Starke on 16/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPPluginManager.h" + +#import "MPDocument.h" +#import "KPKTree.h" + +@implementation MPPluginManager + ++ (instancetype)sharedManager { + static MPPluginManager *instance; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + instance = [[MPPluginManager alloc] _init]; + }); + return instance; +} + +- (instancetype)init { + return nil; +} + +- (instancetype)_init { + self = [super init]; + return self; +} + +- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock { + NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents]; + NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200]; + for(MPDocument *document in currentDocuments) { + if(document.tree) { + [entries addObjectsFromArray:document.tree.allEntries]; + } + } + NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }]; + return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES]; +} + + +- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { + return nil; +} + + +- (void)_loadPlugins { + +} + +@end From 0cb398394a02affd7a952a7fdf400c8523a58ee6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Jul 2015 10:02:42 +0200 Subject: [PATCH 342/778] Updated to current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 340c0b7b..00cad2b1 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 340c0b7bf4b44a0981b213c3c1b03a9c47ae2cd9 +Subproject commit 00cad2b169280d153067ea57e8dc09b93f568744 From 6a3ef03707024a58f2d6dbdbbd23875386c9b043 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Jul 2015 11:41:58 +0200 Subject: [PATCH 343/778] Renaming, moving functionality to KeePassKit where suitable --- KeePassKit | 2 +- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 11 ++- MacPass/MPContextBarViewController.m | 5 +- MacPass/MPDatabaseSettingsWindowController.h | 6 +- MacPass/MPDatabaseSettingsWindowController.m | 16 ++--- MacPass/MPDocument.h | 11 --- MacPass/MPDocument.m | 69 ++++--------------- MacPass/MPEntryViewController.m | 3 +- MacPass/MPOutlineContextMenuDelegate.m | 4 +- MacPass/MPOutlineDataSource.m | 2 +- MacPass/MPOutlineViewController.m | 10 +-- 11 files changed, 42 insertions(+), 97 deletions(-) diff --git a/KeePassKit b/KeePassKit index 00cad2b1..ea2208e6 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 00cad2b169280d153067ea57e8dc09b93f568744 +Subproject commit ea2208e6f2b251e35efc3616d90ba94a22cd80e8 diff --git a/MacPass/Base.lproj/DatabaseSettingsWindow.xib b/MacPass/Base.lproj/DatabaseSettingsWindow.xib index 6898aedd..696a4d78 100644 --- a/MacPass/Base.lproj/DatabaseSettingsWindow.xib +++ b/MacPass/Base.lproj/DatabaseSettingsWindow.xib @@ -1,8 +1,7 @@ - + - - + @@ -13,8 +12,8 @@ - - + + @@ -26,7 +25,7 @@ - + diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index a66b0144..bdb0a0ad 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -8,6 +8,8 @@ #import "MPContextBarViewController.h" #import "KPKEntry.h" +#import "KPKTree.h" +#import "KPKMetaData.h" #import "MPDocument+HistoryBrowsing.h" #import "MPDocument+Search.h" @@ -117,7 +119,8 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)_didChangeCurrentItem:(NSNotification *)notification { MPDocument *document = [notification object]; - BOOL showTrash = document.useTrash && (document.selectedGroup == document.trash || [document isItemTrashed:document.selectedItem]); + + BOOL showTrash = document.tree.metaData.useTrash && (document.selectedItem.isTrashed || document.selectedItem.isTrash); if(showTrash && ! document.hasSearch) { self.activeTab = MPContextTabTrash; [self _updateBindings]; diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index 7281a51b..6ad5ad40 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -38,9 +38,9 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { @property (weak) IBOutlet NSButton *benchmarkButton; /* Advanced Tab*/ -@property (weak) IBOutlet NSButton *enableRecycleBinCheckButton; -@property (weak) IBOutlet NSButton *emptyRecycleBinOnQuitCheckButton; -@property (weak) IBOutlet NSPopUpButton *selectRecycleBinGroupPopUpButton; +@property (weak) IBOutlet NSButton *enableTrashCheckButton; +@property (weak) IBOutlet NSButton *emptyTrashOnQuitCheckButton; +@property (weak) IBOutlet NSPopUpButton *selectTrashGoupPopUpButton; @property (weak) IBOutlet NSTextField *defaultUsernameTextField; @property (weak) IBOutlet NSPopUpButton *templateGroupPopUpButton; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 8b53b878..27e7287d 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -80,10 +80,10 @@ } /* Advanced */ - metaData.recycleBinEnabled = self.trashEnabled; - NSMenuItem *trashMenuItem = [self.selectRecycleBinGroupPopUpButton selectedItem]; + metaData.useTrash = self.trashEnabled; + NSMenuItem *trashMenuItem = [self.selectTrashGoupPopUpButton selectedItem]; KPKGroup *trashGroup = [trashMenuItem representedObject]; - ((MPDocument *)self.document).trash = trashGroup; + ((MPDocument *)self.document).tree.trash = trashGroup; NSMenuItem *templateMenuItem = [self.templateGroupPopUpButton selectedItem]; KPKGroup *templateGroup = [templateMenuItem representedObject]; @@ -202,9 +202,9 @@ - (void)_setupAdvancedTab:(KPKTree *)tree { /* TODO Do not use bindings, as the user should be able to cancel */ - [self bind:@"trashEnabled" toObject:tree.metaData withKeyPath:@"recycleBinEnabled" options:nil]; - [self.enableRecycleBinCheckButton bind:NSValueBinding toObject:self withKeyPath:@"trashEnabled" options:nil]; - [self.selectRecycleBinGroupPopUpButton bind:NSEnabledBinding toObject:self withKeyPath:@"trashEnabled" options:nil]; + [self bind:NSStringFromSelector(@selector(trashEnabled)) toObject:tree.metaData withKeyPath:NSStringFromSelector(@selector(trashEnabled)) options:nil]; + [self.enableTrashCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(trashEnabled)) options:nil]; + [self.selectTrashGoupPopUpButton bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(trashEnabled)) options:nil]; [self _updateTrashFolders:tree]; [self.defaultUsernameTextField setStringValue:tree.metaData.defaultUserName]; @@ -253,7 +253,7 @@ - (void)_updateTrashFolders:(KPKTree *)tree { NSMenu *menu = [self _buildTrashTreeMenu:tree]; - [self.selectRecycleBinGroupPopUpButton setMenu:menu]; + [self.selectTrashGoupPopUpButton setMenu:menu]; } - (void)_updateTemplateGroup:(KPKTree *)tree { @@ -262,7 +262,7 @@ } - (NSMenu *)_buildTrashTreeMenu:(KPKTree *)tree { - NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.recycleBinUuid]; + NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.trashUuid]; NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOCREATE_TRASH_FOLDER", @"Menu item for automatic trash creation") action:NULL diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index dd373135..775bcfb6 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -67,8 +67,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @property (strong, readonly, nonatomic) KPKTree *tree; @property (nonatomic, weak, readonly) KPKGroup *root; -@property (nonatomic, weak) KPKGroup *trash; -@property (nonatomic, readonly) BOOL useTrash; @property (nonatomic, weak) KPKGroup *templates; @property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey; @@ -147,15 +145,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; - (BOOL)shouldRecommendPasswordChange; - (BOOL)shouldEnforcePasswordChange; -/** - * Determines, whether the given item is inside the trash. - * The trash group itself is not considered as trashed. - * Hence when sending this message with the trash group as item, NO is returned - * @param item Item to test if trashed or not - * @return YES, if the item is inside the trash, NO otherwise (and if item is trash group) - */ -- (BOOL)isItemTrashed:(id)item; - - (void)writeXMLToURL:(NSURL *)url; - (void)readXMLfromURL:(NSURL *)url; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 18b220a3..94fac1e6 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -364,15 +364,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (KPKGroup *)trash { - /* Caching is dangerous, as we might have deleted the trashcan */ - if(self.useTrash) { - return [self findGroup:self.tree.metaData.recycleBinUuid]; - } - return nil; -} - -- (BOOL)useTrash { - return self.tree.metaData.recycleBinEnabled; + return self.tree.trash; } - (KPKGroup *)templates { @@ -384,14 +376,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return self.searchContext != nil; } -- (void)setTrash:(KPKGroup *)trash { - if(self.useTrash) { - if(![self.tree.metaData.recycleBinUuid isEqual:trash.uuid]) { - self.tree.metaData.recycleBinUuid = trash.uuid; - } - } -} - - (void)setTemplates:(KPKGroup *)templates { if(![self.tree.metaData.entryTemplatesGroup isEqual:templates.uuid]) { self.tree.metaData.entryTemplatesGroup = templates.uuid; @@ -447,26 +431,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return self.tree.allGroups; } -- (BOOL)isItemTrashed:(id)item { - BOOL validItem = [item isKindOfClass:[KPKEntry class]] || [item isKindOfClass:[KPKGroup class]]; - if(!item) { - return NO; - } - if(item == self.trash) { - return NO; // No need to look further as this is the trashcan - } - if(validItem) { - BOOL isTrashed = NO; - id parent = [item parent]; - while( parent && !isTrashed ) { - isTrashed = (parent == self.trash); - parent = [parent parent]; - } - return isTrashed; - } - return NO; -} - - (BOOL)shouldEnforcePasswordChange { KPKMetaData *metaData = self.tree.metaData; if(!metaData.enforceMasterKeyChange) { return NO; } @@ -484,12 +448,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(!parent) { return nil; // No parent } - if(parent == self.trash) { + if(parent.isTrash || parent.isTrashed) { return nil; // no new Groups in trash } - if([self isItemTrashed:parent]) { - return nil; - } KPKEntry *newEntry = [self.tree createEntry:parent]; newEntry.title = NSLocalizedString(@"DEFAULT_ENTRY_TITLE", @"Title for a newly created entry"); if([self.tree.metaData.defaultUserName length] > 0) { @@ -510,12 +471,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(!parent) { return nil; // no parent! } - if(parent == self.trash) { + if(parent.isTrash || parent.isTrashed) { return nil; // no new Groups in trash } - if([self isItemTrashed:parent]) { - return nil; - } KPKGroup *newGroup = [self.tree createGroup:parent]; newGroup.name = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group"); newGroup.iconId = MPIconFolder; @@ -547,8 +505,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(!entry) { return; // Nothing to do; } - if(self.useTrash) { - if([self isItemTrashed:entry]) { + if(self.tree.metaData.useTrash) { + if(entry.isTrashed) { [self _presentTrashAlertForItem:entry]; return; } @@ -571,8 +529,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(!group) { return; // Nothing to do; } - if(self.useTrash) { - if([self isItemTrashed:group]) { + if(self.tree.metaData.useTrash) { + if(group.isTrashed) { [self _presentTrashAlertForItem:group]; return; } @@ -580,7 +538,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [self _createTrashGroup]; } if(group == self.trash) { - return; //Groups is trash! + return; //Group is trash! } [group moveToGroup:self.trash atIndex:[self.trash.groups count]]; [[self undoManager] setActionName:NSLocalizedString(@"TRASH_GROUP", "Move Group to Trash")]; @@ -717,17 +675,18 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey switch([MPActionHelper typeForAction:[anItem action]]) { case MPActionAddGroup: valid &= (nil != targetGroup); - valid &= (self.trash != targetGroup); - valid &= ![self isItemTrashed:targetGroup]; + valid &= !targetGroup.isTrash; + valid &= !targetGroup.isTrashed; break; case MPActionAddEntry: valid &= (nil != targetGroup); - valid &= (self.trash != targetGroup); - valid &= ![self isItemTrashed:targetGroup]; + valid &= !targetGroup.isTrash; + valid &= !targetGroup.isTrashed; break; case MPActionDelete: valid &= (nil != targetNode); valid &= (self.trash != targetNode); + valid &= (targetNode != self.tree.root); //valid &= ![self isItemTrashed:targetNode]; break; case MPActionDuplicateEntry: @@ -798,7 +757,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(wasEnabled) { [self.undoManager enableUndoRegistration]; } - self.tree.metaData.recycleBinUuid = trash.uuid; + self.tree.metaData.trashUuid = trash.uuid; return trash; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index dde186d7..35c366ce 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -37,6 +37,7 @@ #import "KPKNode+IconImage.h" #import "KPKAttribute.h" #import "KPKTimeInfo.h" +#import "KPKTree.h" #import "KPKMetaData.h" #import "HNHTableHeaderCell.h" @@ -503,7 +504,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_updateContextBar { MPDocument *document = [[self windowController] document]; if(!document.hasSearch) { - BOOL showTrash = document.useTrash && (document.selectedGroup == document.trash || [document isItemTrashed:document.selectedItem]); + BOOL showTrash = document.tree.metaData.useTrash && (document.selectedGroup.isTrash || document.selectedItem.isTrashed); if(showTrash) { [self _showContextBar]; } diff --git a/MacPass/MPOutlineContextMenuDelegate.m b/MacPass/MPOutlineContextMenuDelegate.m index fd780f5d..34c7f39d 100644 --- a/MacPass/MPOutlineContextMenuDelegate.m +++ b/MacPass/MPOutlineContextMenuDelegate.m @@ -62,13 +62,13 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; if(group && document.root == group ) { } - if(group && document.trash == group) { + if(group.isTrash) { [self _updateTrashMenu:menu]; } else if( group && document.templates == group) { [self _updateTemplateMenu:menu]; } - else if([document isItemTrashed:group]) { + else if(group.isTrashed) { [self _updateTrashItemMenu:menu]; } else { diff --git a/MacPass/MPOutlineDataSource.m b/MacPass/MPOutlineDataSource.m index 4fcd40be..770d74e2 100644 --- a/MacPass/MPOutlineDataSource.m +++ b/MacPass/MPOutlineDataSource.m @@ -99,7 +99,7 @@ validTarget &= index != NSOutlineViewDropOnItemIndex; validTarget &= index != [self.localDraggedGroup.parent.groups indexOfObject:self.localDraggedGroup]; } - BOOL isAnchesor = [self.localDraggedGroup isAnchestorOfGroup:targetGroup]; + BOOL isAnchesor = [self.localDraggedGroup isAnchestorOf:targetGroup]; validTarget &= !isAnchesor; } else { diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 0eb8011c..be4a2cc0 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -279,14 +279,8 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; if(![document validateUserInterfaceItem:menuItem]) { return NO; } - id selected = [[self currentTargetNode] asGroup]; - if(!selected) { - return NO; - } - if(selected == document.trash) { - return NO; - } - return ![document isItemTrashed:selected]; + KPKGroup *group = [[self currentTargetNode] asGroup]; + return group.isTrash && group.isTrashed; } - (NSMenu *)_contextMenu { From 7a5236d5582b6d04ff93b00dacf4571da70dd129 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Jul 2015 11:43:36 +0200 Subject: [PATCH 344/778] using current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index ea2208e6..52d4b76c 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit ea2208e6f2b251e35efc3616d90ba94a22cd80e8 +Subproject commit 52d4b76cb6b7de4777e4e171c371313247b83b78 From 93db9409b7ef3fe260b54c02a41a54f1c8fc787b Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Jul 2015 16:10:06 +0200 Subject: [PATCH 345/778] Using current KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 52d4b76c..3122304d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 52d4b76cb6b7de4777e4e171c371313247b83b78 +Subproject commit 3122304d9063a3c1f3cbb31307e3e76f5e31e5df From 98fd2f162fca0c592c8135e4cec0b50bef6981a8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 20 Jul 2015 18:04:01 +0200 Subject: [PATCH 346/778] Using current KeePassKit. Adopted API changes --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 8 ++++---- MacPass/MPDocument.m | 5 ++++- MacPass/MPEntryInspectorViewController.m | 2 +- MacPass/MPEntryViewController.m | 4 ++-- MacPass/MPGroupInspectorViewController.m | 2 +- MacPass/MPInspectorViewController.m | 6 +++--- MacPassTests/MPDatabaseSearch.m | 1 + .../{MPDatabaseCreation.m => MPTestDocument.m} | 15 ++++++++++++--- 9 files changed, 29 insertions(+), 16 deletions(-) rename MacPassTests/{MPDatabaseCreation.m => MPTestDocument.m} (57%) diff --git a/KeePassKit b/KeePassKit index 3122304d..870d252a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 3122304d9063a3c1f3cbb31307e3e76f5e31e5df +Subproject commit 870d252a2915a2f00326e85bfecebde26f003dca diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 4f83c038..8909d0bf 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -158,7 +158,7 @@ 4C45FB1D178E09ED0010007D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C77E36615B84A240093A587 /* Cocoa.framework */; }; 4C45FB23178E09ED0010007D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C45FB21178E09ED0010007D /* InfoPlist.strings */; }; 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */; }; - 4C45FB30178E0CE20010007D /* MPDatabaseCreation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */; }; + 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C45FB2F178E0CE20010007D /* MPTestDocument.m */; }; 4C46B88517063A070046109A /* NSString+MPPasswordCreation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */; }; 4C46E09E17673A0A00DA62E8 /* HNHShadowBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C46E09D17673A0A00DA62E8 /* HNHShadowBox.m */; }; 4C473A7F18AFD6340073FD2E /* KPKTestReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */; }; @@ -669,7 +669,7 @@ 4C45FB22178E09ED0010007D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 4C45FB27178E09ED0010007D /* MacPassTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacPassTests-Prefix.pch"; sourceTree = ""; }; 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseLoading.m; sourceTree = ""; }; - 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseCreation.m; sourceTree = ""; }; + 4C45FB2F178E0CE20010007D /* MPTestDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestDocument.m; sourceTree = ""; }; 4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPasswordCreation.h"; sourceTree = ""; }; 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPasswordCreation.m"; sourceTree = ""; }; 4C46E09C17673A0A00DA62E8 /* HNHShadowBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHShadowBox.h; sourceTree = ""; }; @@ -1559,7 +1559,7 @@ 4C305F3F179A1A790082334F /* Images */, 4C18F9AC178E123200890BCE /* Databases */, 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, - 4C45FB2F178E0CE20010007D /* MPDatabaseCreation.m */, + 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */, 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, @@ -2518,7 +2518,7 @@ buildActionMask = 2147483647; files = ( 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */, - 4C45FB30178E0CE20010007D /* MPDatabaseCreation.m in Sources */, + 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, 4C473A7F18AFD6340073FD2E /* KPKTestReference.m in Sources */, 4CD25F9318B17A17006098E9 /* KPKTestUUIDAdditions.m in Sources */, 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */, diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 94fac1e6..df190d01 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -299,6 +299,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{ self.compositeKey = [[KPKCompositeKey alloc] initWithPassword:password key:keyFileURL]; self.tree = [[KPKTree alloc] initWithData:self.encryptedData password:self.compositeKey error:error]; + /* clear out the encrypted data as we do not need it for now */ + self.encryptedData = nil; BOOL isUnlocked = (nil != self.tree); if(isUnlocked) { @@ -356,7 +358,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (BOOL)encrypted { - return (self.tree == nil); + /* we have an encrypted document if there's data loaded but no tree set */ + return (nil != self.encryptedData && self.tree == nil); } - (KPKGroup *)root { diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 45b061a4..0568703a 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -382,7 +382,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.URLTextField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(url)) options:nil]; [self.expiresCheckButton bind:NSTitleBinding toObject:self.entry.timeInfo - withKeyPath:NSStringFromSelector(@selector(expiryTime)) + withKeyPath:NSStringFromSelector(@selector(expirationDate)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; [self.expiresCheckButton bind:NSValueBinding toObject:self.entry.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; [self.tagsTokenField bind:NSValueBinding toObject:self.entry withKeyPath:NSStringFromSelector(@selector(tags)) options:nil]; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 35c366ce..895d1f30 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -101,7 +101,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; + (NSString *)timeInfoModificationTimeKeyPath { static NSString *timeInfoModificationTimeKeyPath; if(nil == timeInfoModificationTimeKeyPath) { - timeInfoModificationTimeKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(lastModificationTime))]; + timeInfoModificationTimeKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(modificationDate))]; } return timeInfoModificationTimeKeyPath; } @@ -320,7 +320,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSString *modificatoinTimeKeyPath = [NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(timeInfo)), - NSStringFromSelector(@selector(lastModificationTime))]; + NSStringFromSelector(@selector(modificationDate))]; [view.textField bind:NSValueBinding toObject:view withKeyPath:modificatoinTimeKeyPath options:nil]; return view; diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 4550fdef..f0509776 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -105,7 +105,7 @@ if(self.group) { [self.titleTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(name)) options:nil]; [self.expiresCheckButton bind:NSValueBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; - [self.expiresCheckButton bind:NSTitleBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expiryTime)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; + [self.expiresCheckButton bind:NSTitleBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expirationDate)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isAutoTypeEnabled)) options:nil]; [self.autotypeSequenceTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(defaultAutoTypeSequence)) options:nil]; [self.searchPopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isSearchEnabled)) options:nil]; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 22f4d3ff..29a53c60 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -224,8 +224,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { MPDatePickingViewController *controller = [[MPDatePickingViewController alloc] init]; controller.popover = self.popover; MPDocument *document = self.windowController.document; - if(document.selectedItem.timeInfo.expiryTime) { - controller.date = document.selectedItem.timeInfo.expiryTime; + if(document.selectedItem.timeInfo.expirationDate) { + controller.date = document.selectedItem.timeInfo.expirationDate; } self.popover.contentViewController = controller; [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; @@ -267,7 +267,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { - (void)_setExpiryDate:(NSDate *)date { MPDocument *document = [[self windowController] document]; - document.selectedItem.timeInfo.expiryTime = date; + document.selectedItem.timeInfo.expirationDate = date; } #pragma mark - diff --git a/MacPassTests/MPDatabaseSearch.m b/MacPassTests/MPDatabaseSearch.m index 89b37623..936bfe5d 100644 --- a/MacPassTests/MPDatabaseSearch.m +++ b/MacPassTests/MPDatabaseSearch.m @@ -54,6 +54,7 @@ } - (void)testSearch { + XCTFail(@"Missing Test"); } @end diff --git a/MacPassTests/MPDatabaseCreation.m b/MacPassTests/MPTestDocument.m similarity index 57% rename from MacPassTests/MPDatabaseCreation.m rename to MacPassTests/MPTestDocument.m index aa436531..e7c63a19 100644 --- a/MacPassTests/MPDatabaseCreation.m +++ b/MacPassTests/MPTestDocument.m @@ -12,18 +12,27 @@ #import "KPKTree.h" #import "KPKCompositeKey.h" -@interface MPDatabaseCreation : XCTestCase +@interface MPTestDocument : XCTestCase @end -@implementation MPDatabaseCreation +@implementation MPTestDocument -- (void)testCreateNewDatabase { +- (void)testCreateEmptyDocument { MPDocument *document = [[MPDocument alloc] init]; XCTAssertNotNil(document, @"Document should be created"); + XCTAssertNil(document.tree, @"Allocated document should not have a tree"); + XCTAssertFalse(document.encrypted, @"Document cannot be encrypted without a tree"); + XCTAssertNil(document.compositeKey, @"Document shoudl have not key at all"); +} + +- (void)testCreateUntitledDocument { + MPDocument *document = [[MPDocument alloc] initWithType:@"" error:nil]; + XCTAssertNotNil(document, @"Document should be created"); XCTAssertTrue(document.tree.minimumVersion == KPKLegacyVersion, @"Tree should be Legacy Version in default case"); XCTAssertFalse(document.encrypted, @"Document cannot be encrypted at creation"); XCTAssertFalse(document.compositeKey.hasPasswordOrKeyFile, @"Document has no Password/Keyfile and thus is not secured"); + } @end From db61fb73482bef9808cf2d5427518519167ee37c Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 21 Jul 2015 10:40:32 +0200 Subject: [PATCH 347/778] Using current KeePassKit API --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 56 ++++++++++++++++++++----------- MacPassTests/KPKTestNSCoding.m | 19 +++++++++-- 3 files changed, 53 insertions(+), 24 deletions(-) diff --git a/KeePassKit b/KeePassKit index 870d252a..11bce6ac 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 870d252a2915a2f00326e85bfecebde26f003dca +Subproject commit 11bce6ac75b56f1a362c2d96277df14694ce489e diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 8909d0bf..9483c446 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1558,27 +1558,9 @@ 4CEAF85817BA9B25001307A6 /* Keyfiles */, 4C305F3F179A1A790082334F /* Images */, 4C18F9AC178E123200890BCE /* Databases */, - 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, - 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, - 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */, - 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, + 4C4B6E3C1B5E24870082EEF2 /* MacPass */, 4C45FB1F178E09ED0010007D /* Supporting Files */, - 4C305F3B179A19F90082334F /* KPKIconLoading.m */, - 4C1842B7179B348600E2F5BC /* KPKTestLegacyLoading.m */, - 4CECB31617AC326D00EAFB0F /* KPKTestLegacyWriting.m */, - 4CFC8742179DFD3E000DFC03 /* KPKTestXmlLoading.m */, - 4C79E80517A9400500AC6CD2 /* KPKTestNSCoding.m */, - 4C79E80817A9485600AC6CD2 /* KPKTestNSCopying.m */, - 4CAC614217AD319200023F9E /* KPKTestXmlParsing.m */, - 4C6366AE17AF207600AAF17D /* KPKTestHexColor.m */, - 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */, - 4CEAF85A17BA9B44001307A6 /* KPKTestKeyfileParsing.m */, - 4C6FDD2017BC4F4C004AEEC8 /* KPKTestPlaceholder.m */, - 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */, - 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */, - 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */, - 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */, - 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */, + 4C4B6E331B5E247E0082EEF2 /* KeePassKit */, ); path = MacPassTests; sourceTree = ""; @@ -1608,6 +1590,40 @@ name = Settings; sourceTree = ""; }; + 4C4B6E331B5E247E0082EEF2 /* KeePassKit */ = { + isa = PBXGroup; + children = ( + 4C305F3B179A19F90082334F /* KPKIconLoading.m */, + 4C1842B7179B348600E2F5BC /* KPKTestLegacyLoading.m */, + 4CECB31617AC326D00EAFB0F /* KPKTestLegacyWriting.m */, + 4CFC8742179DFD3E000DFC03 /* KPKTestXmlLoading.m */, + 4C79E80517A9400500AC6CD2 /* KPKTestNSCoding.m */, + 4C79E80817A9485600AC6CD2 /* KPKTestNSCopying.m */, + 4CAC614217AD319200023F9E /* KPKTestXmlParsing.m */, + 4C6366AE17AF207600AAF17D /* KPKTestHexColor.m */, + 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */, + 4CEAF85A17BA9B44001307A6 /* KPKTestKeyfileParsing.m */, + 4C6FDD2017BC4F4C004AEEC8 /* KPKTestPlaceholder.m */, + 4CBA561517C2EA4900CE13D3 /* KPKTestXmlWriting.m */, + 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */, + 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */, + 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */, + 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */, + ); + name = KeePassKit; + sourceTree = ""; + }; + 4C4B6E3C1B5E24870082EEF2 /* MacPass */ = { + isa = PBXGroup; + children = ( + 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, + 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, + 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */, + 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, + ); + name = MacPass; + sourceTree = ""; + }; 4C4B7EF517A46815000234C7 /* Inspector */ = { isa = PBXGroup; children = ( diff --git a/MacPassTests/KPKTestNSCoding.m b/MacPassTests/KPKTestNSCoding.m index 99bf1185..8486b977 100644 --- a/MacPassTests/KPKTestNSCoding.m +++ b/MacPassTests/KPKTestNSCoding.m @@ -8,12 +8,13 @@ #import + +#import "KPKAttribute.h" +#import "KPKBinary.h" #import "KPKEntry.h" #import "KPKGroup.h" -#import "KPKBinary.h" -#import "KPKAttribute.h" -#import "KPKXmlElements.h" #import "KPKIcon.h" +#import "KPKXmlElements.h" #import "NSData+Random.h" @@ -127,12 +128,24 @@ - (NSData *)encode:(id)object { NSMutableData *data = [[NSMutableData alloc] initWithCapacity:500]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; + if(![object respondsToSelector:@selector(encodeWithCoder:)]) { + return nil; + } [object encodeWithCoder:archiver]; [archiver finishEncoding]; return data; } - (id)decode:(NSData *)data ofClass:(Class)class usingSecureCoding:(BOOL)secureCoding { + + id instance = [class alloc]; + if(secureCoding && ![instance respondsToSelector:@selector(supportsSecureCoding)]) { + return nil; + } + + if(![instance respondsToSelector:@selector(initWithCoder:)]) { + return nil; + } NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; id object = [[class alloc] initWithCoder:unarchiver]; [unarchiver finishDecoding]; From 0c315eef31b098d6f2cd76b765fd0ce4c59e6800 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 21 Jul 2015 14:27:11 +0200 Subject: [PATCH 348/778] Using current KeePassKit API, added test cast stub for search --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 6 +++- MacPassTests/KPKTestEntryLookup.m | 48 +++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 MacPassTests/KPKTestEntryLookup.m diff --git a/KeePassKit b/KeePassKit index 11bce6ac..fcbbe1bc 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 11bce6ac75b56f1a362c2d96277df14694ce489e +Subproject commit fcbbe1bc94e1fd048edc6d0ec5679fa06f382905 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 9483c446..e2142ed2 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -164,6 +164,7 @@ 4C473A7F18AFD6340073FD2E /* KPKTestReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C473A7E18AFD6340073FD2E /* KPKTestReference.m */; }; 4C473A8718AFD85B0073FD2E /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C473A8518AFD7250073FD2E /* XCTest.framework */; }; 4C4A100F176286FD00BBF2CA /* MPTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4A100E176286FD00BBF2CA /* MPTableView.m */; }; + 4C4B6E3E1B5E56600082EEF2 /* KPKTestEntryLookup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4B6E3D1B5E56600082EEF2 /* KPKTestEntryLookup.m */; }; 4C4B728518E4B9B400A1A5D5 /* MPDockTileHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4B728418E4B9B400A1A5D5 /* MPDockTileHelper.m */; }; 4C4B7EE917A45EC6000234C7 /* MPDatePickingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4B7EE717A45EC5000234C7 /* MPDatePickingViewController.m */; }; 4C4B7EEE17A467E1000234C7 /* MPGroupInspectorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4B7EEC17A467E1000234C7 /* MPGroupInspectorViewController.m */; }; @@ -679,6 +680,7 @@ 4C48A56018BE932100278A2D /* HNHCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHCommon.h; sourceTree = ""; }; 4C4A100D176286FD00BBF2CA /* MPTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTableView.h; sourceTree = ""; }; 4C4A100E176286FD00BBF2CA /* MPTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTableView.m; sourceTree = ""; }; + 4C4B6E3D1B5E56600082EEF2 /* KPKTestEntryLookup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestEntryLookup.m; sourceTree = ""; }; 4C4B728318E4B9B400A1A5D5 /* MPDockTileHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDockTileHelper.h; sourceTree = ""; }; 4C4B728418E4B9B400A1A5D5 /* MPDockTileHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDockTileHelper.m; sourceTree = ""; }; 4C4B7EE617A45EC5000234C7 /* MPDatePickingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatePickingViewController.h; sourceTree = ""; }; @@ -1558,9 +1560,9 @@ 4CEAF85817BA9B25001307A6 /* Keyfiles */, 4C305F3F179A1A790082334F /* Images */, 4C18F9AC178E123200890BCE /* Databases */, + 4C4B6E331B5E247E0082EEF2 /* KeePassKit */, 4C4B6E3C1B5E24870082EEF2 /* MacPass */, 4C45FB1F178E09ED0010007D /* Supporting Files */, - 4C4B6E331B5E247E0082EEF2 /* KeePassKit */, ); path = MacPassTests; sourceTree = ""; @@ -1609,6 +1611,7 @@ 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */, 4C59745018B3CE7200C8EBD1 /* KPKTestAutotype.m */, 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */, + 4C4B6E3D1B5E56600082EEF2 /* KPKTestEntryLookup.m */, ); name = KeePassKit; sourceTree = ""; @@ -2534,6 +2537,7 @@ buildActionMask = 2147483647; files = ( 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */, + 4C4B6E3E1B5E56600082EEF2 /* KPKTestEntryLookup.m in Sources */, 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, 4C473A7F18AFD6340073FD2E /* KPKTestReference.m in Sources */, 4CD25F9318B17A17006098E9 /* KPKTestUUIDAdditions.m in Sources */, diff --git a/MacPassTests/KPKTestEntryLookup.m b/MacPassTests/KPKTestEntryLookup.m new file mode 100644 index 00000000..71b0c8db --- /dev/null +++ b/MacPassTests/KPKTestEntryLookup.m @@ -0,0 +1,48 @@ +// +// KPKTestEntryLookup.m +// MacPass +// +// Created by Michael Starke on 21/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +#import "KPKTree.h" +#import "KPKGroup.h" +#import "KPKEntry.h" +#import "KPKAutotype.h" + +@interface KPKTestEntryLookup : XCTestCase +@property (strong) KPKTree *tree; +@property (weak) KPKEntry *includedInSearch; +@property (weak) KPKEntry *excludedFromSearch; +@end + +@implementation KPKTestEntryLookup + +- (void)setUp { + [super setUp]; + + KPKTree *tree = [[KPKTree alloc] init]; + KPKGroup *root = [tree createGroup:nil]; + tree.root = root; + KPKGroup *searchableGroup = [tree createGroup:tree.root]; + KPKGroup *unsearchableGroup = [tree createGroup:tree.root]; + [tree.root addGroup:searchableGroup]; + [tree.root addGroup:unsearchableGroup]; + searchableGroup.isSearchEnabled = KPKInheritYES; + unsearchableGroup.isSearchEnabled = KPKInheritNO; + KPKEntry *entryA = [tree createEntry:searchableGroup]; + KPKEntry *entryB = [tree createEntry:unsearchableGroup]; + [searchableGroup addEntry:entryA]; + [unsearchableGroup addEntry:entryB]; +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +@end From 3753ba4128c7d8e7f6ee0f9b1a67fe4b8a95e21f Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 23 Jul 2015 10:52:00 +0200 Subject: [PATCH 349/778] Using new KeePassKit API --- KeePassKit | 2 +- MacPassTests/KPKTestKeyfileParsing.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/KeePassKit b/KeePassKit index fcbbe1bc..8decbd49 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit fcbbe1bc94e1fd048edc6d0ec5679fa06f382905 +Subproject commit 8decbd49096d7f48618321fd3bbb1ca40d6a0f43 diff --git a/MacPassTests/KPKTestKeyfileParsing.m b/MacPassTests/KPKTestKeyfileParsing.m index 71fbc01f..04ea4ffe 100644 --- a/MacPassTests/KPKTestKeyfileParsing.m +++ b/MacPassTests/KPKTestKeyfileParsing.m @@ -19,7 +19,7 @@ NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; NSURL *url = [myBundle URLForResource:@"Keepass2Key" withExtension:@"xml"]; NSError *error; - NSData *data = [NSData dataWithContentsOfKeyFile:url version:KPKXmlVersion error:&error]; + NSData *data = [NSData dataWithContentsOfKeyFile:url error:&error]; XCTAssertNotNil(data, @"Data should be loaded"); XCTAssertNil(error, @"No error should occur on keyfile loading"); } From 3301259417ef7981519dc12d6ea20e300ae6d9ec Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 23 Jul 2015 12:55:53 +0200 Subject: [PATCH 350/778] Adopted new KPKIcon API --- KeePassKit | 2 +- MacPassTests/KPKIconLoading.m | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/KeePassKit b/KeePassKit index 8decbd49..da76d93b 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 8decbd49096d7f48618321fd3bbb1ca40d6a0f43 +Subproject commit da76d93bb36aafe0ad78f731e56ed3bafd6edbdb diff --git a/MacPassTests/KPKIconLoading.m b/MacPassTests/KPKIconLoading.m index 09ad5758..a73d14c4 100644 --- a/MacPassTests/KPKIconLoading.m +++ b/MacPassTests/KPKIconLoading.m @@ -21,7 +21,8 @@ - (void)setUp { NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; _image = [myBundle imageForResource:@"image.png"]; - _imageData = [[[_image representations] lastObject] representationUsingType:NSPNGFileType properties:nil]; + _imageData = [_image TIFFRepresentation]; + //_imageData = [_image.representations.lastObject representationUsingType:NSPNGFileType properties:nil]; } - (void)tearDown { @@ -34,16 +35,16 @@ NSURL *imageURL = [myBundle URLForImageResource:@"image.png"]; KPKIcon *icon = [[KPKIcon alloc] initWithImageAtURL:imageURL]; XCTAssertNotNil(icon, @"Icon should have been loaded"); - NSString *iconString = [icon encodedString]; + NSString *iconString = icon.encodedString; KPKIcon *iconFromString = [[KPKIcon alloc] initWithUUID:[NSUUID UUID] encodedString:iconString]; - XCTAssertTrue([iconString isEqualToString:[iconFromString encodedString]], @"Encoding and Decoding should result in the same string"); + XCTAssertEqualObjects(iconString, iconFromString.encodedString, @"Encoding and Decoding should result in the same string"); Class repClass = [NSBitmapImageRep class]; - NSImageRep *imageRep = [[icon.image representations] lastObject]; + NSImageRep *imageRep = icon.image.representations.lastObject; XCTAssertNotNil(imageRep, @"One image rep shoudl be there"); XCTAssertTrue([imageRep isKindOfClass:repClass], @"Representation should be bitmap"); NSBitmapImageRep *bitmapRep = (NSBitmapImageRep *)imageRep; NSData *pngData = [bitmapRep representationUsingType:NSPNGFileType properties:nil]; - XCTAssertTrue([pngData isEqualToData:_imageData], @"Image and PNG data shoudl be identical"); + XCTAssertEqualObjects(pngData, _imageData, @"Image and PNG data shoudl be identical"); } @end From de0c9c6e7357f82c4b4a636373c9bec3632f354b Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 23 Jul 2015 13:31:16 +0200 Subject: [PATCH 351/778] Using simplified KeePassKit --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index da76d93b..7e60c0e8 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit da76d93bb36aafe0ad78f731e56ed3bafd6edbdb +Subproject commit 7e60c0e89ea3d7b0e59ce1876babdbe99a38da5b From c7e98224e5e4c1fe672c897aa8253850d766f6d4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 24 Jul 2015 15:55:46 +0200 Subject: [PATCH 352/778] no need to instanciate just ask the class --- MacPassTests/KPKTestNSCoding.m | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/MacPassTests/KPKTestNSCoding.m b/MacPassTests/KPKTestNSCoding.m index 8486b977..30e4a8b5 100644 --- a/MacPassTests/KPKTestNSCoding.m +++ b/MacPassTests/KPKTestNSCoding.m @@ -138,12 +138,11 @@ - (id)decode:(NSData *)data ofClass:(Class)class usingSecureCoding:(BOOL)secureCoding { - id instance = [class alloc]; - if(secureCoding && ![instance respondsToSelector:@selector(supportsSecureCoding)]) { + if(secureCoding && ![class instancesRespondToSelector:@selector(supportsSecureCoding)]) { return nil; } - if(![instance respondsToSelector:@selector(initWithCoder:)]) { + if(![class instancesRespondToSelector:@selector(initWithCoder:)]) { return nil; } NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; From a6e1dac3cddd818186fa982fcc1bab718df2e14d Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 28 Jul 2015 09:15:08 +0200 Subject: [PATCH 353/778] using current HNHUi Signed-off-by: michael starke --- HNHUi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HNHUi b/HNHUi index 108f4519..3fecc574 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 108f4519a573c26610f7b7f69e72e4405ee420bd +Subproject commit 3fecc574c1cdd666461981b568a413e6d1930edd From cbec260c7926c16834f21b19efc697565d7f93ee Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 28 Jul 2015 09:29:41 +0200 Subject: [PATCH 354/778] Using reverted KeePassKit Signed-off-by: michael starke --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 7e60c0e8..c3638841 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 7e60c0e89ea3d7b0e59ce1876babdbe99a38da5b +Subproject commit c36388419fc8e615c8fc312446213dfc0d688900 From 96edfb808894ba11944e6d544c1622438c91e281 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 28 Jul 2015 09:33:37 +0200 Subject: [PATCH 355/778] Using old KeePassKit API again Signed-off-by: michael starke --- MacPassTests/KPKTestKeyfileParsing.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPassTests/KPKTestKeyfileParsing.m b/MacPassTests/KPKTestKeyfileParsing.m index 04ea4ffe..6b56105c 100644 --- a/MacPassTests/KPKTestKeyfileParsing.m +++ b/MacPassTests/KPKTestKeyfileParsing.m @@ -19,7 +19,7 @@ NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; NSURL *url = [myBundle URLForResource:@"Keepass2Key" withExtension:@"xml"]; NSError *error; - NSData *data = [NSData dataWithContentsOfKeyFile:url error:&error]; + NSData *data = [NSData dataWithContentsOfKeyFile:url version:KPKLegacyVersion error:&error]; XCTAssertNotNil(data, @"Data should be loaded"); XCTAssertNil(error, @"No error should occur on keyfile loading"); } From a1e05ca3071ed194bdb6127ede27b819b3dd40eb Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 29 Jul 2015 09:42:56 +0200 Subject: [PATCH 356/778] Moved files Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e2142ed2..7d8ea3d7 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -2013,6 +2013,11 @@ 4CD106201935E5A1006A3A58 /* Protocols */ = { isa = PBXGroup; children = ( + 4C13904C17ADD1A300A62934 /* KPKTreeCrypting.h */, + 4C1842D4179C6DE400E2F5BC /* KPKHeaderReading.h */, + 4C1842D5179C6F1800E2F5BC /* KPKHeaderWriting.h */, + 4CCEDE2F179F550D008402BE /* KPKTreeReading.h */, + 4C13904D17ADD3BE00A62934 /* KPKTreeWriting.h */, 4CD106211935E5A1006A3A58 /* KPKModificationRecording.h */, ); path = Protocols; @@ -2135,11 +2140,6 @@ 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */, 4C1842CE179C64DC00E2F5BC /* KPKLegacyTreeCryptor.h */, 4C1842CF179C64DD00E2F5BC /* KPKLegacyTreeCryptor.m */, - 4C13904C17ADD1A300A62934 /* KPKTreeCrypting.h */, - 4C1842D4179C6DE400E2F5BC /* KPKHeaderReading.h */, - 4C1842D5179C6F1800E2F5BC /* KPKHeaderWriting.h */, - 4CCEDE2F179F550D008402BE /* KPKTreeReading.h */, - 4C13904D17ADD3BE00A62934 /* KPKTreeWriting.h */, 4CCEDE30179F5B6C008402BE /* KPKDataStreamReader.h */, 4CCEDE31179F5B6C008402BE /* KPKDataStreamReader.m */, 4C5FA86B17A5F26800C781C9 /* KPKDataStreamWriter.h */, From 0de6f214e65b0b19c7df9160f82c69cb0fa0accd Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Aug 2015 12:52:21 +0200 Subject: [PATCH 357/778] reanming Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 12 ++++++------ MacPass/{MPEditSession.h => MPEditingSession.h} | 2 +- MacPass/{MPEditSession.m => MPEditingSession.m} | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) rename MacPass/{MPEditSession.h => MPEditingSession.h} (90%) rename MacPass/{MPEditSession.m => MPEditingSession.m} (85%) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 7d8ea3d7..d7d24142 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -267,7 +267,7 @@ 4C8A173D1790AA41008B5C17 /* NSData+Keyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EB8C018D399FD00438B08 /* KPKTag.m */; }; - 4C94A06F1938DC8C0040ABAB /* MPEditSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */; }; + 4C94A06F1938DC8C0040ABAB /* MPEditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */; }; 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; @@ -879,8 +879,8 @@ 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineContextMenuDelegate.m; sourceTree = ""; }; 4C8EB8BF18D399FD00438B08 /* KPKTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTag.h; sourceTree = ""; }; 4C8EB8C018D399FD00438B08 /* KPKTag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTag.m; sourceTree = ""; }; - 4C94A06D1938DC8C0040ABAB /* MPEditSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEditSession.h; sourceTree = ""; }; - 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditSession.m; sourceTree = ""; }; + 4C94A06D1938DC8C0040ABAB /* MPEditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEditingSession.h; sourceTree = ""; }; + 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditingSession.m; sourceTree = ""; }; 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; @@ -1525,8 +1525,8 @@ 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */, 4CE5299F194847150078C2FF /* MPDocument+EditingSession.h */, 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */, - 4C94A06D1938DC8C0040ABAB /* MPEditSession.h */, - 4C94A06E1938DC8C0040ABAB /* MPEditSession.m */, + 4C94A06D1938DC8C0040ABAB /* MPEditingSession.h */, + 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */, 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */, 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */, ); @@ -2595,7 +2595,7 @@ 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */, 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */, 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */, - 4C94A06F1938DC8C0040ABAB /* MPEditSession.m in Sources */, + 4C94A06F1938DC8C0040ABAB /* MPEditingSession.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, diff --git a/MacPass/MPEditSession.h b/MacPass/MPEditingSession.h similarity index 90% rename from MacPass/MPEditSession.h rename to MacPass/MPEditingSession.h index 4b0e8acf..9e144b94 100644 --- a/MacPass/MPEditSession.h +++ b/MacPass/MPEditingSession.h @@ -10,7 +10,7 @@ @class KPKNode; -@interface MPEditSession : NSObject +@interface MPEditingSession : NSObject @property (strong, readonly) KPKNode *node; @property (copy, readonly) KPKNode *rollbackNode; diff --git a/MacPass/MPEditSession.m b/MacPass/MPEditingSession.m similarity index 85% rename from MacPass/MPEditSession.m rename to MacPass/MPEditingSession.m index 1293ca9b..18c2536c 100644 --- a/MacPass/MPEditSession.m +++ b/MacPass/MPEditingSession.m @@ -6,17 +6,17 @@ // Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. // -#import "MPEditSession.h" +#import "MPEditingSession.h" #import "KPKNode.h" -@interface MPEditSession () +@interface MPEditingSession () @property (strong) KPKNode *node; @property (copy) KPKNode *rollbackNode; @end -@implementation MPEditSession +@implementation MPEditingSession - (instancetype)init { self = [self initWithNode:nil]; From 83a9bc1f742bbba76a8b8aa0411297aa4025b4cf Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Aug 2015 12:56:35 +0200 Subject: [PATCH 358/778] Adopting new KeePassKit API. Signed-off-by: michael starke --- KeePassKit | 2 +- MacPass/MPDocument+EditingSession.h | 2 +- MacPass/MPDocument+EditingSession.m | 8 ++++---- MacPass/MPDocument.h | 4 ++-- MacPass/MPDocument.m | 6 ++---- MacPass/MPEditingSession.h | 6 +++--- MacPass/MPEditingSession.m | 12 ++++++------ MacPass/MPOutlineDataSource.m | 4 ++-- MacPass/MPTreeDelegate.m | 4 ++++ 9 files changed, 25 insertions(+), 23 deletions(-) diff --git a/KeePassKit b/KeePassKit index c3638841..25b5fd84 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit c36388419fc8e615c8fc312446213dfc0d688900 +Subproject commit 25b5fd840b526846f442ffa1b1ca0caa5d933e02 diff --git a/MacPass/MPDocument+EditingSession.h b/MacPass/MPDocument+EditingSession.h index f4562739..ac9819dc 100644 --- a/MacPass/MPDocument+EditingSession.h +++ b/MacPass/MPDocument+EditingSession.h @@ -8,7 +8,7 @@ #import "MPDocument.h" -@class MPEditSession; +@class MPEditingSession; @interface MPDocument (EditingSession) diff --git a/MacPass/MPDocument+EditingSession.m b/MacPass/MPDocument+EditingSession.m index b35770b9..b63f952c 100644 --- a/MacPass/MPDocument+EditingSession.m +++ b/MacPass/MPDocument+EditingSession.m @@ -9,7 +9,7 @@ #import "MPDocument+EditingSession.h" #import "KPKNode.h" -#import "MPEditSession.h" +#import "MPEditingSession.h" @implementation MPDocument (EditingSession) @@ -26,7 +26,7 @@ } #pragma mark Private -- (void)_commitEditingSession:(MPEditSession *)session { +- (void)_commitEditingSession:(MPEditingSession *)session { if(nil == session) { return; // No session to commit } @@ -35,13 +35,13 @@ } } -- (void)_cancelEditingSession:(MPEditSession *)session { +- (void)_cancelEditingSession:(MPEditingSession *)session { if(nil == session) { return; // No session to cancel } [[self.undoManager prepareWithInvocationTarget:self] _commitEditingSession:session]; if(session.hasChanges) { - [session.node updateTo:session.rollbackNode]; + [session.node updateToNode:session.rollbackNode]; } } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 775bcfb6..1e4a341b 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -58,7 +58,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @class KPKAttribute; @class KPKCompositeKey; @class KPKNode; -@class MPEditSession; +@class MPEditingSession; @interface MPDocument : NSDocument @@ -91,7 +91,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; /* Editing Session */ -@property (nonatomic, strong) MPEditSession *editingSession; +@property (nonatomic, strong) MPEditingSession *editingSession; + (KPKVersion)versionForFileType:(NSString *)fileType; + (NSString *)fileTypeForVersion:(KPKVersion)version; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index df190d01..b5906005 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -408,7 +408,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (void)setTree:(KPKTree *)tree { if(_tree != tree) { _tree = tree; - _tree.undoManager = [self undoManager]; if(nil == _treeDelgate) { _treeDelgate = [[MPTreeDelegate alloc] initWithDocument:self]; } @@ -516,7 +515,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(!self.trash) { [self _createTrashGroup]; } - [entry moveToGroup:self.trash atIndex:[self.trash.entries count]]; + [entry moveToGroup:self.trash]; [[self undoManager] setActionName:NSLocalizedString(@"TRASH_ENTRY", "Move Entry to Trash")]; } else { @@ -626,8 +625,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (void)duplicateEntry:(id)sender { KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil]; - NSInteger index = [self.selectedEntry.parent.entries indexOfObject:self.selectedEntry]; - [self.selectedEntry.parent addEntry:duplicate atIndex:index+1]; + [self.selectedEntry.parent addEntry:duplicate]; [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; } diff --git a/MacPass/MPEditingSession.h b/MacPass/MPEditingSession.h index 9e144b94..741574c4 100644 --- a/MacPass/MPEditingSession.h +++ b/MacPass/MPEditingSession.h @@ -12,10 +12,10 @@ @interface MPEditingSession : NSObject -@property (strong, readonly) KPKNode *node; -@property (copy, readonly) KPKNode *rollbackNode; +@property (copy, readonly) KPKNode *node; +@property (weak, readonly) KPKNode *source; -- (instancetype)initWithNode:(KPKNode *)node; +- (instancetype)initWithSource:(KPKNode *)node; - (BOOL)hasChanges; diff --git a/MacPass/MPEditingSession.m b/MacPass/MPEditingSession.m index 18c2536c..fc925aea 100644 --- a/MacPass/MPEditingSession.m +++ b/MacPass/MPEditingSession.m @@ -11,29 +11,29 @@ @interface MPEditingSession () -@property (strong) KPKNode *node; -@property (copy) KPKNode *rollbackNode; +@property (copy) KPKNode *node; +@property (weak) KPKNode *source; @end @implementation MPEditingSession - (instancetype)init { - self = [self initWithNode:nil]; + self = [self initWithSource:nil]; return self; } -- (instancetype)initWithNode:(KPKNode *)node { +- (instancetype)initWithSource:(KPKNode *)node { self = [super init]; if(self) { self.node = node; - self.rollbackNode = node; + self.source = node; } return self; } - (BOOL)hasChanges { - return [self.node isEqual:self.rollbackNode]; + return ![self.node isEqual:self.source]; } @end diff --git a/MacPass/MPOutlineDataSource.m b/MacPass/MPOutlineDataSource.m index 770d74e2..bf346619 100644 --- a/MacPass/MPOutlineDataSource.m +++ b/MacPass/MPOutlineDataSource.m @@ -160,12 +160,12 @@ else if(draggedEntry) { if(copyItem || (nil == self.localDraggedEntry)) { draggedEntry = [draggedEntry copyWithTitle:nil]; - [targetGroup addEntry:draggedEntry atIndex:index]; + [targetGroup addEntry:draggedEntry]; [targetGroup.undoManager setActionName:NSLocalizedString(@"COPY_ENTRY", "")]; return YES; } else if(self.localDraggedEntry) { - [self.localDraggedEntry moveToGroup:targetGroup atIndex:index]; + [self.localDraggedEntry moveToGroup:targetGroup]; [self.localDraggedEntry.undoManager setActionName:NSLocalizedString(@"MOVE_ENTRY", "")]; return YES; } diff --git a/MacPass/MPTreeDelegate.m b/MacPass/MPTreeDelegate.m index 9fa0b171..3b638c4e 100644 --- a/MacPass/MPTreeDelegate.m +++ b/MacPass/MPTreeDelegate.m @@ -36,4 +36,8 @@ return (NO == self.document.isReadOnly); } +- (NSUndoManager *)undoManagerForTree:(KPKTree *)tree { + return self.document.undoManager; +} + @end From ae4af1810768f18c4003df2ad70e29ca05beffaf Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Aug 2015 15:56:28 +0200 Subject: [PATCH 359/778] More progress on Editing Signed-off-by: michael starke --- HNHUi | 2 +- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 10 --- MacPass/MPActionHelper.m | 2 +- MacPass/MPAttachmentTableDataSource.m | 2 +- MacPass/MPAutotypeDaemon.m | 1 - MacPass/MPContextBarViewController.h | 2 +- MacPass/MPContextBarViewController.m | 3 +- MacPass/MPDocument+Attachment.h | 15 ---- MacPass/MPDocument+Attachments.m | 2 +- MacPass/MPDocument+Autotype.h | 56 ------------- MacPass/MPDocument+Autotype.m | 2 +- MacPass/MPDocument+EditingSession.h | 19 ----- MacPass/MPDocument+EditingSession.m | 54 +++++++----- MacPass/MPDocument+HistoryBrowsing.h | 19 ----- MacPass/MPDocument+HistoryBrowsing.m | 2 +- MacPass/MPDocument+Search.h | 37 --------- MacPass/MPDocument+Search.m | 1 - MacPass/MPDocument.h | 106 ++++++++++++++++++++++++ MacPass/MPDocument.m | 1 - MacPass/MPEntryViewController.m | 3 - MacPass/MPFixAutotypeWindowController.m | 1 - MacPass/MPToolbarDelegate.m | 2 +- 23 files changed, 148 insertions(+), 196 deletions(-) delete mode 100644 MacPass/MPDocument+Attachment.h delete mode 100644 MacPass/MPDocument+Autotype.h delete mode 100644 MacPass/MPDocument+EditingSession.h delete mode 100644 MacPass/MPDocument+HistoryBrowsing.h delete mode 100644 MacPass/MPDocument+Search.h diff --git a/HNHUi b/HNHUi index 3fecc574..108f4519 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 3fecc574c1cdd666461981b568a413e6d1930edd +Subproject commit 108f4519a573c26610f7b7f69e72e4405ee420bd diff --git a/KeePassKit b/KeePassKit index 25b5fd84..870d252a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 25b5fd840b526846f442ffa1b1ca0caa5d933e02 +Subproject commit 870d252a2915a2f00326e85bfecebde26f003dca diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index d7d24142..de3f6c72 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -459,8 +459,6 @@ 4C10412B178CDD44001B5239 /* NSDate+Humanized.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+Humanized.m"; sourceTree = ""; }; 4C13904C17ADD1A300A62934 /* KPKTreeCrypting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKTreeCrypting.h; sourceTree = ""; }; 4C13904D17ADD3BE00A62934 /* KPKTreeWriting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKTreeWriting.h; sourceTree = ""; }; - 4C15B73C18BCA379003F8008 /* MPDocument+Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+Attachment.h"; sourceTree = ""; }; - 4C15B74418BCA3B1003F8008 /* MPDocument+Search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+Search.h"; sourceTree = ""; }; 4C15B74518BCA3B1003F8008 /* MPDocument+Search.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Search.m"; sourceTree = ""; }; 4C17D8E317A1C780006C8C1E /* MPDocumentWindowDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentWindowDelegate.h; sourceTree = ""; }; 4C17D8E417A1C780006C8C1E /* MPDocumentWindowDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentWindowDelegate.m; sourceTree = ""; }; @@ -497,7 +495,6 @@ 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = ""; }; 4C1E9883185F71A800943563 /* MPContextBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextBarViewController.h; sourceTree = ""; }; 4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = ""; }; - 4C1FA07918231900003A3F8C /* MPDocument+Autotype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+Autotype.h"; sourceTree = ""; }; 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Autotype.m"; sourceTree = ""; }; 4C21F29D195B39B9002D610D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = ""; }; 4C21F29F195B3A48002D610D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = ""; }; @@ -785,7 +782,6 @@ 4C6AEEF71A043E2B00CA2420 /* MPDocumentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentController.h; sourceTree = ""; }; 4C6AEEF81A043E2B00CA2420 /* MPDocumentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentController.m; sourceTree = ""; }; 4C6AEF021A04400E00CA2420 /* OpenPanelAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OpenPanelAccessoryView.xib; sourceTree = ""; }; - 4C6B7C7B18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+HistoryBrowsing.h"; sourceTree = ""; }; 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+HistoryBrowsing.m"; sourceTree = ""; }; 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSearch.m; sourceTree = ""; }; 4C6C72C217C01E4200768849 /* NSMutableData+KeePassKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableData+KeePassKit.h"; sourceTree = ""; }; @@ -1004,7 +1000,6 @@ 4CE39AC316ECE4F7000FE29D /* MPPopupImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPopupImageView.m; sourceTree = ""; }; 4CE3E62417AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableDataSource.h; sourceTree = ""; }; 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = ""; }; - 4CE5299F194847150078C2FF /* MPDocument+EditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPDocument+EditingSession.h"; sourceTree = ""; }; 4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = ""; }; 4CE5B549173AFBA700207B39 /* MPDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPDocument.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKHashedDataTest.m; sourceTree = ""; }; @@ -1515,15 +1510,10 @@ 6E719715172058BA00E4C5FC /* MPDatabaseVersion.h */, 4CE5B548173AFBA700207B39 /* MPDocument.h */, 4CE5B549173AFBA700207B39 /* MPDocument.m */, - 4C15B73C18BCA379003F8008 /* MPDocument+Attachment.h */, 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */, - 4C1FA07918231900003A3F8C /* MPDocument+Autotype.h */, 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */, - 4C15B74418BCA3B1003F8008 /* MPDocument+Search.h */, 4C15B74518BCA3B1003F8008 /* MPDocument+Search.m */, - 4C6B7C7B18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.h */, 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */, - 4CE5299F194847150078C2FF /* MPDocument+EditingSession.h */, 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */, 4C94A06D1938DC8C0040ABAB /* MPEditingSession.h */, 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */, diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index e629b779..4692ddfb 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -7,7 +7,7 @@ // #import "MPActionHelper.h" -#import "MPDocument+HistoryBrowsing.h" +#import "MPDocument.h" #import "MPEntryInspectorViewController.h" #import "MPEntryViewController.h" #import "MPDocumentWindowController.h" diff --git a/MacPass/MPAttachmentTableDataSource.m b/MacPass/MPAttachmentTableDataSource.m index 18ad9902..5673b390 100644 --- a/MacPass/MPAttachmentTableDataSource.m +++ b/MacPass/MPAttachmentTableDataSource.m @@ -21,7 +21,7 @@ // #import "MPAttachmentTableDataSource.h" -#import "MPDocument+Attachment.h" +#import "MPDocument.h" @implementation MPAttachmentTableDataSource diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 3485f065..1da809b0 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -9,7 +9,6 @@ #import "MPAutotypeDaemon.h" #import "MPDocument.h" -#import "MPDocument+Autotype.h" #import "MPAutotypeCommand.h" #import "MPAutotypeContext.h" #import "MPAutotypePaste.h" diff --git a/MacPass/MPContextBarViewController.h b/MacPass/MPContextBarViewController.h index 0ed45c0d..6fa02391 100644 --- a/MacPass/MPContextBarViewController.h +++ b/MacPass/MPContextBarViewController.h @@ -7,7 +7,7 @@ // #import "MPViewController.h" -#import "MPDocument+Search.h" +#import "MPDocument.h" @class HNHGradientView; @class MPDocument; diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index bdb0a0ad..8280dbc9 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -11,8 +11,7 @@ #import "KPKTree.h" #import "KPKMetaData.h" -#import "MPDocument+HistoryBrowsing.h" -#import "MPDocument+Search.h" +#import "MPDocument.h" #import "MPFlagsHelper.h" #import "MPEntrySearchContext.h" diff --git a/MacPass/MPDocument+Attachment.h b/MacPass/MPDocument+Attachment.h deleted file mode 100644 index 5d9f7836..00000000 --- a/MacPass/MPDocument+Attachment.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// MPDocument+Attachment.h -// MacPass -// -// Created by Michael Starke on 25.02.14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPDocument.h" - -@interface MPDocument (Attachments) - -- (void)addAttachment:(NSURL *)location toEntry:(KPKEntry *)anEntry; - -@end \ No newline at end of file diff --git a/MacPass/MPDocument+Attachments.m b/MacPass/MPDocument+Attachments.m index 3c6f8b23..8b77b966 100644 --- a/MacPass/MPDocument+Attachments.m +++ b/MacPass/MPDocument+Attachments.m @@ -20,7 +20,7 @@ // along with this program. If not, see . // -#import "MPDocument+Attachment.h" +#import "MPDocument.h" #import "KPKEntry.h" #import "KPKBinary.h" diff --git a/MacPass/MPDocument+Autotype.h b/MacPass/MPDocument+Autotype.h deleted file mode 100644 index 1d82e084..00000000 --- a/MacPass/MPDocument+Autotype.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// MPDocument+Autotype.h -// MacPass -// -// Created by Michael Starke on 01/11/13. -// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . -// - -#import "MPDocument.h" - -@interface MPDocument (Autotype) - -/** -* Tests the given item for a possible wrong autotype format -* MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files -* -* @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype -* -* @return YES if the given item is considered a possible candidate. NO in all other cases -*/ -+ (BOOL)isCandidateForMalformedAutotype:(id)item; - -/** - * Returns an NSArray containing all Autotype Contexts that match the given window title. - * If no entry is set, all entries in the document will be searched - * - * @param windowTitle Window title to search matches for - * @param entry Entry to use for lookup. If nil lookup will be performed in complete document - * - * @return NSArray of MPAutotypeContext objects matching the window title. - */ -- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entryOrNil; -/** - * Checks if the document has malformed autotype items - * - * @return YES if any malformed items are found - */ -- (BOOL)hasMalformedAutotypeItems; - -- (NSArray *)malformedAutotypeItems; - -@end diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 46bb8840..babb032d 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -20,7 +20,7 @@ // along with this program. If not, see . // -#import "MPDocument+Autotype.h" +#import "MPDocument.h" #import "MPAutotypeContext.h" #import "KPKGroup.h" diff --git a/MacPass/MPDocument+EditingSession.h b/MacPass/MPDocument+EditingSession.h deleted file mode 100644 index ac9819dc..00000000 --- a/MacPass/MPDocument+EditingSession.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// MPDocument+EditingSession.h -// MacPass -// -// Created by Michael Starke on 30/05/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPDocument.h" - -@class MPEditingSession; - -@interface MPDocument (EditingSession) - -- (BOOL)hasActiveSession; -- (void)cancelEditingSession; -- (void)commitEditingSession; - -@end diff --git a/MacPass/MPDocument+EditingSession.m b/MacPass/MPDocument+EditingSession.m index b63f952c..886eba19 100644 --- a/MacPass/MPDocument+EditingSession.m +++ b/MacPass/MPDocument+EditingSession.m @@ -6,43 +6,53 @@ // Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. // -#import "MPDocument+EditingSession.h" +#import "MPDocument.h" +#import "MPEditingSession.h" #import "KPKNode.h" -#import "MPEditingSession.h" + +NSString *const MPDocumentDidBeginEditingSelectedItem = @"com.hicknhack.macpass.MPDocumentDidBeginEditingSelectedItem"; +NSString *const MPDocumentDidCancelChangesToSelectedItem = @"com.hicknhack.macpass.MPDocumentDidCancelChangesToSelectedItem"; +NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.macpass.MPDocumentDidCommitChangesToSelectedItem"; @implementation MPDocument (EditingSession) -- (BOOL)hasActiveSession { +- (BOOL)isEditing { return (self.editingSession != nil); } -- (void)commitEditingSession { - [self _commitEditingSession:self.editingSession]; -} - -- (void)cancelEditingSession { - [self _cancelEditingSession:self.editingSession]; -} - -#pragma mark Private -- (void)_commitEditingSession:(MPEditingSession *)session { - if(nil == session) { +- (void)commitChangesToSelectedItem:(id)sender { + if(nil == self.editingSession) { return; // No session to commit } - [[self.undoManager prepareWithInvocationTarget:self] _cancelEditingSession:session]; - if(session.hasChanges) { - } + /* Force any lingering updates to be written */ + /* FIXME explore potential usage of: + * NSObject(NSEditorRegistration) + * NSObject(NSEditor) + */ + [((NSWindowController *)self.windowControllers.firstObject).window makeFirstResponder:nil]; + + /* update the data */ + [self.editingSession.source updateToNode:self.editingSession.node]; + [self.undoManager setActionName:NSLocalizedString(@"UPDATE_ENTRY", "")]; + self.editingSession = nil; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCommitChangesToSelectedItem object:self]; } -- (void)_cancelEditingSession:(MPEditingSession *)session { - if(nil == session) { +- (void)cancelChangesToSelectedItem:(id)sender { + if(nil == self.editingSession) { return; // No session to cancel } - [[self.undoManager prepareWithInvocationTarget:self] _commitEditingSession:session]; - if(session.hasChanges) { - [session.node updateToNode:session.rollbackNode]; + self.editingSession = nil; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCancelChangesToSelectedItem object:self]; +} + +- (void)beginEditingSelectedItem:(id)sender { + if(nil == self.selectedItem) { + return; } + self.editingSession = [[MPEditingSession alloc] initWithSource:self.selectedItem]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidBeginEditingSelectedItem object:self]; } @end diff --git a/MacPass/MPDocument+HistoryBrowsing.h b/MacPass/MPDocument+HistoryBrowsing.h deleted file mode 100644 index 7acd9a86..00000000 --- a/MacPass/MPDocument+HistoryBrowsing.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// MPDocument+HistoryBrowsing.h -// MacPass -// -// Created by Michael Starke on 26.02.14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPDocument.h" - -FOUNDATION_EXPORT NSString *const MPDocumentDidEnterHistoryNotification; -FOUNDATION_EXPORT NSString *const MPDocumentDidExitHistoryNotification; - -@interface MPDocument (HistoryBrowsing) - -- (IBAction)showHistory:(id)sender; -- (IBAction)exitHistory:(id)sender; - -@end diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+HistoryBrowsing.m index c4af067f..61c33c97 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+HistoryBrowsing.m @@ -6,7 +6,7 @@ // Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. // -#import "MPDocument+HistoryBrowsing.h" +#import "MPDocument.h" NSString *const MPDocumentDidEnterHistoryNotification = @"MPDocumentDidEnterHistoryNotification"; NSString *const MPDocumentDidExitHistoryNotification = @"MPDocumentDidExitHistoryNotification"; diff --git a/MacPass/MPDocument+Search.h b/MacPass/MPDocument+Search.h deleted file mode 100644 index c3f01c5e..00000000 --- a/MacPass/MPDocument+Search.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// MPDocument+Search.h -// MacPass -// -// Created by Michael Starke on 25.02.14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPDocument.h" - -@class MPEntrySearchContext; - -FOUNDATION_EXTERN NSString *const MPDocumentDidEnterSearchNotification; -FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchFlags; -FOUNDATION_EXTERN NSString *const MPDocumentDidExitSearchNotification; -/** - * Posted by the document, when the search results have been updated. This is only called when searching. - * If the search is exited, it will be notified by MPDocumentDidExitSearchNotification - * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries matching the search. - */ -FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchResults; - -/* keys used in userInfo dictionaries on notifications */ -FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; - -@interface MPDocument (Search) - -- (void)enterSearchWithContext:(MPEntrySearchContext *)context; - -/* Should be called by the NSSearchTextField to update the search string */ -- (IBAction)updateSearch:(id)sender; -/* exits searching mode */ -- (IBAction)exitSearch:(id)sender; -/* called by the filter toggle buttons */ -- (IBAction)toggleSearchFlags:(id)sender; - -@end diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index 15326746..aff97b36 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -6,7 +6,6 @@ // Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. // -#import "MPDocument+Search.h" #import "MPDocument.h" #import "MPDocumentWindowController.h" diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 1e4a341b..37fc832b 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -175,3 +175,109 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; - (IBAction)duplicateEntryWithOptions:(id)sender; @end + +@interface MPDocument (Attachments) + +- (void)addAttachment:(NSURL *)location toEntry:(KPKEntry *)anEntry; + +@end + +#pragma mark - +#pragma mark Autotype + +@interface MPDocument (Autotype) + +/** + * Tests the given item for a possible wrong autotype format + * MacPass 0.4 and 0.4.1 did store wrong Autotype sequences and thus mangled database files + * + * @param item Item to test for malformation. Allowed Items are KPKNode, KPKEntry, KPKGroup and KPKAutotype + * + * @return YES if the given item is considered a possible candiate. NO in all other cases + */ ++ (BOOL)isCandidateForMalformedAutotype:(id)item; + +/** + * Returns an NSArray containing all Autotype Contexts that match the given window title. + * If no entry is set, all entries in the document will be searched + * + * @param windowTitle Window title to search matches for + * @param entry Entry to use for lookup. If nil lookup will be performed in complete document + * + * @return NSArray of MPAutotypeContext objects matching the window title. + */ +- (NSArray *)autotypContextsForWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entryOrNil; +/** + * Checks if the document has malformed autotype items + * + * @return YES if any malformed items are found + */ +- (BOOL)hasMalformedAutotypeItems; + +- (NSArray *)malformedAutotypeItems; + +@end + +#pragma mark - +#pragma mark Edit Sessiong + +APPKIT_EXTERN NSString *const MPDocumentDidBeginEditingSelectedItem; +APPKIT_EXTERN NSString *const MPDocumentDidCancelChangesToSelectedItem; +APPKIT_EXTERN NSString *const MPDocumentDidCommitChangesToSelectedItem; + +@interface MPDocument (EditingSession) + +- (BOOL)isEditing; + +#pragma mark Edit Actions +- (IBAction)beginEditingSelectedItem:(id)sender; +- (IBAction)cancelChangesToSelectedItem:(id)sender; +- (IBAction)commitChangesToSelectedItem:(id)sender; + +@end + + +#pragma mark - +#pragma mark History Browsing + +FOUNDATION_EXPORT NSString *const MPDocumentDidEnterHistoryNotification; +FOUNDATION_EXPORT NSString *const MPDocumentDidExitHistoryNotification; + +@interface MPDocument (HistoryBrowsing) + +- (IBAction)showHistory:(id)sender; +- (IBAction)exitHistory:(id)sender; + +@end + +#pragma mark - +#pragma mark Search + +FOUNDATION_EXTERN NSString *const MPDocumentDidEnterSearchNotification; +FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchFlags; +FOUNDATION_EXTERN NSString *const MPDocumentDidExitSearchNotification; +/** + * Posted by the document, when the search results have been updated. This is only called when searching. + * If the search is exited, it will be notified by MPDocumentDidExitSearchNotification + * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries mathching the search. + */ +FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchResults; + +/* keys used in userInfo dictionaries on notifications */ +FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; + +@interface MPDocument (Search) + +- (void)enterSearchWithContext:(MPEntrySearchContext *)context; + +/* Should be called by the NSSearchTextField to update the search string */ +- (IBAction)updateSearch:(id)sender; +/* exits searching mode */ +- (IBAction)exitSearch:(id)sender; +/* called by the filter toggle buttons */ +- (IBAction)toggleSearchFlags:(id)sender; + +@end + + + diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index b5906005..f8e49275 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -21,7 +21,6 @@ // #import "MPDocument.h" -#import "MPDocument+Search.h" #import "MPAppDelegate.h" #import "MPDocumentWindowController.h" #import "MPDatabaseVersion.h" diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 895d1f30..70a3fc1d 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -11,9 +11,6 @@ #import "MPOutlineViewController.h" #import "MPDocument.h" -#import "MPDocument+Search.h" -#import "MPDocument+Autotype.h" -#import "MPDocument+HistoryBrowsing.h" #import "MPDocumentWindowController.h" #import "MPPasteBoardController.h" diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index c2346ea6..7f11de75 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -9,7 +9,6 @@ #import "MPFixAutotypeWindowController.h" #import "MPDocument.h" -#import "MPDocument+Autotype.h" #import "MPIconHelper.h" #import "KPKNode.h" diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 6cc1c0d9..2a4243b1 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -32,7 +32,7 @@ #import "MPIconHelper.h" #import "MPDocumentWindowController.h" -#import "MPDocument+Search.h" +#import "MPDocument.h" NSString *const MPToolbarItemLock = @"TOOLBAR_LOCK"; NSString *const MPToolbarItemAddGroup = @"TOOLBAR_ADD_GROUP"; From f042cc2bc43209cecb1b57c59ba9a59653c7aeb9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Aug 2015 16:49:51 +0200 Subject: [PATCH 360/778] Fixed wrong outlet Signed-off-by: michael starke --- MacPass/OpenPanelAccessoryView.xib | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/MacPass/OpenPanelAccessoryView.xib b/MacPass/OpenPanelAccessoryView.xib index b06c05a5..acdd0219 100644 --- a/MacPass/OpenPanelAccessoryView.xib +++ b/MacPass/OpenPanelAccessoryView.xib @@ -1,16 +1,15 @@ - + - + - - - + + @@ -19,24 +18,24 @@ - - From fa4094ee01e8bf1f68bb08cf4bfbf60bbc48c099 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 3 Aug 2015 17:15:04 +0200 Subject: [PATCH 361/778] KeePassKit API changes, undo/redo only for move/add/editing session Signed-off-by: michael starke --- MacPass/Base.lproj/InspectorView.xib | 30 ++++---- MacPass/MPEntryInspectorViewController.m | 1 - MacPass/MPInspectorViewController.h | 1 - MacPass/MPInspectorViewController.m | 92 +++++++++++++----------- MacPass/OpenPanelAccessoryView.xib | 8 +-- 5 files changed, 68 insertions(+), 64 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 8459e0f0..d7386e40 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,5 +1,5 @@ - + @@ -27,27 +27,27 @@ - - - - - + - - + + @@ -88,85 +90,95 @@ - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - + + @@ -176,12 +188,12 @@ - - - - - - + + + + + + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 1da809b0..1b23c796 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -109,8 +109,8 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Actions - (void)performAutotypeWithSelectedMatch:(id)sender { - NSMenuItem *item = [self.matchSelectionButton selectedItem]; - MPAutotypeContext *context = [item representedObject]; + NSMenuItem *item = self.matchSelectionButton.selectedItem; + MPAutotypeContext *context = item.representedObject; [self.matchSelectionWindow orderOut:self]; [self _performAutotypeForContext:context]; } @@ -131,17 +131,16 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; return; // We do not perform Autotype on ourselves } - MPDocument *document = [self _findAutotypeDocument]; - if(!document) { + NSArray *documents = [self _findAutotypeDocuments]; + if(documents.count == 0) { /* We do not have a document. This can be a) there is none - nothing happens b) there is at least one, but locked - we get called again after the document has been unlocked */ return; } - - MPAutotypeContext *context = [self _autotypeContextInDocument:document forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; - /* TODO: that's popping up if the multi selection dialog goes up! */ + MPAutotypeContext *context = [self _autotypeContextForDocuments:documents forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; + /* TODO: that's popping up if the mulit seleciton dialog goes up! */ if(!entryOrNil) { NSImage *appIcon = [[NSApplication sharedApplication] applicationIconImage]; NSString *label = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); @@ -150,36 +149,40 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; [self _performAutotypeForContext:context]; } -- (MPDocument *)_findAutotypeDocument { +- (NSArray *)_findAutotypeDocuments { + NSArray *documents = [NSApp orderedDocuments]; - MPDocument *currentDocument = nil; - for(MPDocument *openDocument in documents) { - if(NO == openDocument.encrypted) { - currentDocument = openDocument; - break; - } - } - BOOL hasOpenDocuments = [documents count] > 0; - if(!currentDocument && hasOpenDocuments) { + NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary * _Nullable bindings) { + MPDocument *document = evaluatedObject; + return document.encrypted;}]; + NSArray *unlockedDocuments = [documents filteredArrayUsingPredicate:filterPredicate]; + /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ + if(unlockedDocuments.count == 0 && documents.count > 0) { [NSApp activateIgnoringOtherApps:YES]; [[NSApp mainWindow] makeKeyAndOrderFront:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:nil]; } - return currentDocument; + return unlockedDocuments; } -- (MPAutotypeContext *)_autotypeContextInDocument:(MPDocument *)document forWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entry { +- (MPAutotypeContext *)_autotypeContextForDocuments:(NSArray *)documents forWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entry { /* Query the document to generate a autotype command list for the window title We do not care where this came form, just get the autotype commands */ - NSArray *autotypeCandidates = [document autotypContextsForWindowTitle:windowTitle preferredEntry:entry]; - NSUInteger candidates = [autotypeCandidates count]; + NSMutableArray *autotypeCandidates = [[NSMutableArray alloc] init]; + for(MPDocument *document in documents) { + NSArray *contexts = [document autotypContextsForWindowTitle:windowTitle preferredEntry:entry]; + if(contexts ) { + [autotypeCandidates addObjectsFromArray:contexts]; + } + } + NSUInteger candidates = autotypeCandidates.count; if(candidates == 0) { return nil; } if(candidates == 1 ) { - return [autotypeCandidates lastObject]; + return autotypeCandidates.lastObject; } [self _presentSelectionWindow:autotypeCandidates]; return nil; // Nothing to do, we get called back by the window @@ -191,11 +194,11 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; } if([self _orderApplicationToFront:self.targetPID]) { /* Sleep a bit after the app was activated */ - /* TODO - we can use a saver way and use a notification to check if the app actually was activated */ + /* TODO - we can use a saver way and use a notification to chekc if the app actally was activated */ usleep(1 * NSEC_PER_MSEC); } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - NSArray *commands = [MPAutotypeCommand commandsForContext:context]; + NSArray *commands = [MPAutotypeCommand commandsForContext:context]; for(MPAutotypeCommand *command in commands) { [command execute]; } @@ -230,7 +233,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); for(NSDictionary *windowDict in currentWindows) { NSString *windowTitle = windowDict[(NSString *)kCGWindowName]; - if([windowTitle length] <= 0) { + if(windowTitle.length <= 0) { continue; } NSNumber *processId = windowDict[(NSString *)kCGWindowOwnerPID]; @@ -247,12 +250,12 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; - (void)_presentSelectionWindow:(NSArray *)candidates { if(!self.matchSelectionWindow) { [[NSBundle mainBundle] loadNibNamed:@"AutotypeCandidateSelectionWindow" owner:self topLevelObjects:nil]; - [self.matchSelectionWindow setLevel:NSFloatingWindowLevel]; + self.matchSelectionWindow.level = NSFloatingWindowLevel; } NSMenu *associationMenu = [[NSMenu alloc] init]; [associationMenu addItemWithTitle:NSLocalizedString(@"SELECT_AUTOTYPE_CANDIDATE", "") action:NULL keyEquivalent:@""]; [associationMenu addItem:[NSMenuItem separatorItem]]; - [associationMenu setAutoenablesItems:NO]; + associationMenu.autoenablesItems = NO; for(MPAutotypeContext *context in candidates) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:context.entry.title action:0 keyEquivalent:@""]; [item setRepresentedObject:context]; @@ -263,12 +266,12 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; for(NSString *value in attributes) { NSMenuItem *valueItem = [[NSMenuItem alloc] initWithTitle:value action:NULL keyEquivalent:@""]; - [valueItem setIndentationLevel:1]; - [valueItem setEnabled:NO]; + valueItem.indentationLevel = 1; + valueItem.enabled = NO; [associationMenu addItem:valueItem]; } } - [self.matchSelectionButton setMenu:associationMenu]; + self.matchSelectionButton.menu = associationMenu; [self.matchSelectionWindow makeKeyAndOrderFront:self]; [NSApp activateIgnoringOtherApps:YES]; } diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 1ab9f386..0d5cd7ee 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -23,11 +23,14 @@ #import "MPDocument.h" #import "MPAutotypeContext.h" +#import "KPKNode.h" #import "KPKGroup.h" #import "KPKEntry.h" #import "KPKAutotype.h" #import "KPKWindowAssociation.h" +#import "MPSettingsHelper.h" + @implementation MPDocument (Autotype) + (BOOL)isCandidateForMalformedAutotype:(id)item { @@ -51,37 +54,58 @@ return nil; } BOOL usePreferredEntry = (nil != entry); + /* We might get a preferred entry from other documents, if so, stop searching and return */ + if(usePreferredEntry && entry.rootGroup != self.root) { + return nil; + } NSArray *autotypeEntries = usePreferredEntry ? [[NSArray alloc] initWithObjects:entry, nil] : [self.root autotypeableChildEntries]; - NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil([autotypeEntries count] / 4.0))]; + NSMutableArray *contexts = [[NSMutableArray alloc] initWithCapacity:MAX(1,ceil(autotypeEntries.count / 4.0))]; + + BOOL matchTitle = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyAutotypeMatchTitle]; + BOOL matchURL = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyAutotypeMatchURL]; + BOOL matchHost = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyAutotypeMatchHost]; + BOOL matchTags = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyAutotypeMatchTags]; + MPAutotypeContext *context; for(KPKEntry *entry in autotypeEntries) { - /* TODO: - - KeePass for Windows has the following options for matching: - Title is contained - URL is contained - Host component is contained - A tag is contained - - */ - /* Test for entry title in window title */ - NSRange titleRange = [windowTitle rangeOfString:entry.title options:NSCaseInsensitiveSearch]; - /* Test for window title in entry title */ - if (titleRange.location == NSNotFound || titleRange.length == 0) { - titleRange = [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch]; - } - if(titleRange.location != NSNotFound && titleRange.length != 0) { - context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; - } /* search in Autotype entries for match */ - else { - KPKWindowAssociation *association = [entry.autotype windowAssociationMatchingWindowTitle:windowTitle]; - context = [[MPAutotypeContext alloc] initWithWindowAssociation:association]; - } + KPKWindowAssociation *association = [entry.autotype windowAssociationMatchingWindowTitle:windowTitle]; + context = [[MPAutotypeContext alloc] initWithWindowAssociation:association]; if(context.valid) { [contexts addObject:context]; + continue; // association did match + } + BOOL foundMatch = NO; + /* Test for entry title in window title */ + if(matchTitle && !foundMatch) { + foundMatch = [windowTitle rangeOfString:entry.title options:NSCaseInsensitiveSearch].length != 0 || [entry.title rangeOfString:windowTitle options:NSCaseInsensitiveSearch].length != 0; + } + /* test for URL */ + if(matchURL && !foundMatch) { + foundMatch = [windowTitle rangeOfString:entry.url options:NSCaseInsensitiveSearch].length != 0; + } + /* test for host */ + if(matchHost && foundMatch) { + //TODO: + } + /* test for tags */ + if(matchTags && !context.valid) { + NSArray *tags = [entry.tags componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@".:;"]]; + for(NSString *tag in tags) { + foundMatch = ([windowTitle rangeOfString:tag options:NSCaseInsensitiveSearch].length != 0); + if(foundMatch) { + break; + } + } + } + if(foundMatch) { + context = [[MPAutotypeContext alloc] initWithDefaultSequenceForEntry:entry]; + if(context.valid) { + [contexts addObject:context]; + } } } + /* Fall back to preferred Entry if no match was found */ if(contexts.count == 0 && usePreferredEntry) { context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; @@ -116,5 +140,4 @@ [self _flattenGroup:childGroup toArray:array]; } } - @end diff --git a/MacPass/MPIntegrationSettingsController.h b/MacPass/MPIntegrationSettingsController.h index 9430a137..0167d4af 100644 --- a/MacPass/MPIntegrationSettingsController.h +++ b/MacPass/MPIntegrationSettingsController.h @@ -21,6 +21,7 @@ @property (weak) IBOutlet DDHotKeyTextField *hotKeyTextField; @property (weak) IBOutlet NSTextField *hotkeyWarningTextField; +@property (weak) IBOutlet NSButton *matchTitleCheckBox; @property (weak) IBOutlet NSButton *matchURLCheckBox; @property (weak) IBOutlet NSButton *matchHostCheckBox; @property (weak) IBOutlet NSButton *matchTagsCheckBox; diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 94b4759f..e2088508 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -50,11 +50,11 @@ [self.hotKeyTextField bind:NSEnabledBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; self.hotKeyTextField.delegate = self; - /* + + [self.matchTitleCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchTitle ] options:nil]; + [self.matchURLCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchURL] options:nil]; [self.matchHostCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchHost] options:nil]; [self.matchTagsCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchTags] options:nil]; - [self.matchURLCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchURL] options:nil]; - */ [self.sendCommandForControlCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeySendCommandForControlKey] options:nil]; diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 0e5a147b..4ece7f62 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -50,9 +50,10 @@ APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; // APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype; // Is Global Autotype enabled? APPKIT_EXTERN NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey; // The stored Data for the user defined global autotype key APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence; // Default sequence used for Autotype -APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchURL; // Autotype lookup included entry URL -APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchHost; // Autotype lookup included host part of entry URL -APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchTags; // Autotype lookup included tags for entries +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchTitle; // Autotype lookup includes entry title +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchURL; // Autotype lookup includes entry URL +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchHost; // Autotype lookup includes host part of entry URL +APPKIT_EXTERN NSString *const kMPSettingsKeyAutotypeMatchTags; // Autotype lookup includes tags for entries /* Search */ APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterContext; diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index e141b7ea..59422a6a 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -38,6 +38,7 @@ NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCo NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype"; NSString *const kMPSettingsKeyGlobalAutotypeKeyDataKey = @"GlobalAutotypeKeyDataKey"; NSString *const kMPSettingsKeyDefaultGlobalAutotypeSequence = @"DefaultGlobalAutotypeSequence"; +NSString *const kMPSettingsKeyAutotypeMatchTitle = @"AutotypeMatchTitle"; NSString *const kMPSettingsKeyAutotypeMatchURL = @"AutotypeMatchURL"; NSString *const kMPSettingsKeyAutotypeMatchHost = @"AutotypeMatchHost"; NSString *const kMPSettingsKeyAutotypeMatchTags = @"AutotypeMatchTags"; @@ -108,6 +109,7 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyEnableGlobalAutotype: @NO, kMPSettingsKeyGlobalAutotypeKeyDataKey: [[DDHotKey defaultHotKey] keyData], kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}", + kMPSettingsKeyAutotypeMatchTitle: @YES, kMPSettingsKeyAutotypeMatchURL: @NO, kMPSettingsKeyAutotypeMatchHost: @NO, kMPSettingsKeyAutotypeMatchTags: @NO, From ce5fa1061ed87b9b944017e23ed531a40288a487 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 29 Sep 2015 12:44:44 +0200 Subject: [PATCH 382/778] fixed bug in autotype document search Signed-off-by: michael starke --- MacPass/MPAutotypeDaemon.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 1b23c796..d8b88350 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -154,7 +154,7 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; NSArray *documents = [NSApp orderedDocuments]; NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary * _Nullable bindings) { MPDocument *document = evaluatedObject; - return document.encrypted;}]; + return !document.encrypted;}]; NSArray *unlockedDocuments = [documents filteredArrayUsingPredicate:filterPredicate]; /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ if(unlockedDocuments.count == 0 && documents.count > 0) { From faa0c11fa4762e3f4c2edf671f56bf18c068d227 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 29 Sep 2015 12:45:44 +0200 Subject: [PATCH 383/778] Fixed refactoring bug in tag matching Signed-off-by: michael starke --- MacPass/MPDocument+Autotype.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 0d5cd7ee..a250e526 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -85,8 +85,9 @@ foundMatch = [windowTitle rangeOfString:entry.url options:NSCaseInsensitiveSearch].length != 0; } /* test for host */ - if(matchHost && foundMatch) { - //TODO: + if(matchHost && !foundMatch) { + NSURL *url = [NSURL URLWithString:entry.url]; + foundMatch = [windowTitle rangeOfString:url.host options:NSCaseInsensitiveSearch].length != 0; } /* test for tags */ if(matchTags && !context.valid) { From 03dd8e6e4fad96eec3389693ea8471b7af371bb8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 29 Sep 2015 12:46:12 +0200 Subject: [PATCH 384/778] Fixed tag matching Signed-off-by: michael starke --- MacPass/MPDocument+Autotype.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index a250e526..b43804b7 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -90,7 +90,7 @@ foundMatch = [windowTitle rangeOfString:url.host options:NSCaseInsensitiveSearch].length != 0; } /* test for tags */ - if(matchTags && !context.valid) { + if(matchTags && !foundMatch) { NSArray *tags = [entry.tags componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@".:;"]]; for(NSString *tag in tags) { foundMatch = ([windowTitle rangeOfString:tag options:NSCaseInsensitiveSearch].length != 0); From 224b28d390c9d16558d3184a39aec8da60af5dcb Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 29 Sep 2015 12:46:45 +0200 Subject: [PATCH 385/778] removed emtpy line Signed-off-by: michael starke --- MacPass/MPEntryInspectorViewController.h | 1 - 1 file changed, 1 deletion(-) diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index b5bab8e1..58c374bc 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -70,5 +70,4 @@ - (void)beginEditing; - (void)endEditing; - @end From 6e3af144bc812ab80e1ffedf058e0dd152504565 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 30 Sep 2015 15:10:08 +0200 Subject: [PATCH 386/778] Adopting new KeePassKit API Signed-off-by: michael starke --- DDHotKey | 2 +- MacPass.xcodeproj/project.pbxproj | 4 ++++ MacPass/MPDocument+Autotype.m | 2 +- MacPass/MPEntryInspectorViewController.m | 11 ++--------- MacPass/MPFixAutotypeWindowController.m | 14 +++++++------- 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/DDHotKey b/DDHotKey index dfab50eb..e6846463 160000 --- a/DDHotKey +++ b/DDHotKey @@ -1 +1 @@ -Subproject commit dfab50eb22782850ec836a92d56d16bdb6b5912a +Subproject commit e6846463e2fedd6742a5f10633e7cc1069555924 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index ee98ec8b..8441bf65 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -917,6 +917,8 @@ 4CE39AC316ECE4F7000FE29D /* MPPopupImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPopupImageView.m; sourceTree = ""; }; 4CE3E62417AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableDataSource.h; sourceTree = ""; }; 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = ""; }; + 4CE5012C1BBC13C100FB819D /* KPKWindowAssociation+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKWindowAssociation+Private.h"; sourceTree = ""; }; + 4CE5012F1BBC15B600FB819D /* KPKAutotype+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKAutotype+Private.h"; sourceTree = ""; }; 4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = ""; }; 4CE5B549173AFBA700207B39 /* MPDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPDocument.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKHashedDataTest.m; sourceTree = ""; }; @@ -1861,8 +1863,10 @@ 4CFC873C179DF200000DFC03 /* KPKTimeInfo.h */, 4CFC873D179DF200000DFC03 /* KPKTimeInfo.m */, 4C68456817BC21DD00FCDBFC /* KPKAutotype.h */, + 4CE5012F1BBC15B600FB819D /* KPKAutotype+Private.h */, 4C68456917BC21DD00FCDBFC /* KPKAutotype.m */, 4C68456B17BC227B00FCDBFC /* KPKWindowAssociation.h */, + 4CE5012C1BBC13C100FB819D /* KPKWindowAssociation+Private.h */, 4C68456C17BC227B00FCDBFC /* KPKWindowAssociation.m */, 4C8EB8BF18D399FD00438B08 /* KPKTag.h */, 4C8EB8C018D399FD00438B08 /* KPKTag.m */, diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index b43804b7..4549008d 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -108,7 +108,7 @@ } /* Fall back to preferred Entry if no match was found */ - if(contexts.count == 0 && usePreferredEntry) { + if(usePreferredEntry && contexts.count == 0 ) { context = [[MPAutotypeContext alloc] initWithEntry:entry andSequence:entry.autotype.defaultKeystrokeSequence]; if(context.valid) { [contexts addObject:context]; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index b0dca59d..5d626b05 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -127,6 +127,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } } + - (void)regsiterNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) @@ -198,7 +199,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } - (void)addWindowAssociation:(id)sender { - KPKWindowAssociation *associtation = [[KPKWindowAssociation alloc] initWithWindow:NSLocalizedString(@"DEFAULT_WINDOW_TITLE", "") keystrokeSequence:nil]; + KPKWindowAssociation *associtation = [[KPKWindowAssociation alloc] initWithWindowTitle:NSLocalizedString(@"DEFAULT_WINDOW_TITLE", "") keystrokeSequence:nil]; [self.entry.autotype addAssociation:associtation]; } @@ -225,14 +226,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } } -- (void)beginEditing { - [self _toggleEditing:YES]; - -} -- (void)endEditing { - [self _toggleEditing:NO]; -} - - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { switch([MPActionHelper typeForAction:[menuItem action]]) { case MPActionToggleQuicklook: { diff --git a/MacPass/MPFixAutotypeWindowController.m b/MacPass/MPFixAutotypeWindowController.m index 7f11de75..d340c778 100644 --- a/MacPass/MPFixAutotypeWindowController.m +++ b/MacPass/MPFixAutotypeWindowController.m @@ -146,7 +146,7 @@ NSString *const kMPIconCell = @"IconCell"; } else { BOOL isMalformed = [MPDocument isCandidateForMalformedAutotype:item]; - BOOL isDefault = [entry.autotype hasDefaultKeystrokeSequence] || [group hasDefaultAutotypeSequence] || [association hasDefaultKeystrokeSequence]; + BOOL isDefault = entry.autotype.hasDefaultKeystrokeSequence || group.hasDefaultAutotypeSequence || association.hasDefaultKeystrokeSequence; if([[tableColumn identifier] isEqualToString:kMPIsDefaultCell]) { return isDefault ? @"Yes" : @"No"; } @@ -162,13 +162,13 @@ NSString *const kMPIconCell = @"IconCell"; id item = [self entriesAndGroups][row]; if([item isKindOfClass:[KPKEntry class]]) { - [[item autotype] setDefaultKeystrokeSequence:object]; + ((KPKEntry *)item).autotype.defaultKeystrokeSequence = object; } else if([item isKindOfClass:[KPKGroup class]]) { - [item setDefaultAutoTypeSequence:object]; + ((KPKGroup *)item).defaultAutoTypeSequence = object; } else if([item isKindOfClass:[KPKWindowAssociation class]]) { - [item setKeystrokeSequence:object]; + ((KPKWindowAssociation *)item).keystrokeSequence = object; } } @@ -176,7 +176,7 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark NSTableViewDelegate - (BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - return [[tableColumn identifier] isEqualToString:kMPAutotypeCell]; + return [tableColumn.identifier isEqualToString:kMPAutotypeCell]; } - (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row { @@ -188,10 +188,10 @@ NSString *const kMPIconCell = @"IconCell"; #pragma mark MenuItem Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { - if(!([menuItem action] == @selector(clearAutotype:))) { + if(!(menuItem.action == @selector(clearAutotype:))) { return NO; } - return ([[self.tableView selectedRowIndexes] count] > 0); + return (self.tableView.selectedRowIndexes.count > 0); } #pragma mark - From 6d3a021cb629d1b874754cffb2c3eacf5599e836 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 30 Sep 2015 18:55:01 +0200 Subject: [PATCH 387/778] Using new KeePassKit API for Tags Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/MPDocument+Autotype.m | 3 +-- MacPass/MPTagsTokenFieldDelegate.h | 13 +++++++++++++ MacPass/MPTagsTokenFieldDelegate.m | 30 ++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 MacPass/MPTagsTokenFieldDelegate.h create mode 100644 MacPass/MPTagsTokenFieldDelegate.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 8441bf65..9b177e29 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -311,6 +311,7 @@ 4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */; }; 4CE39AC416ECE4F7000FE29D /* MPPopupImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39AC316ECE4F7000FE29D /* MPPopupImageView.m */; }; 4CE3E62617AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */; }; + 4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */; settings = {ASSET_TAGS = (); }; }; 4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE5B549173AFBA700207B39 /* MPDocument.m */; }; 4CE76DAD17B3AD010043B82B /* KPKHashedDataTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */; }; 4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */; }; @@ -919,6 +920,8 @@ 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = ""; }; 4CE5012C1BBC13C100FB819D /* KPKWindowAssociation+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKWindowAssociation+Private.h"; sourceTree = ""; }; 4CE5012F1BBC15B600FB819D /* KPKAutotype+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKAutotype+Private.h"; sourceTree = ""; }; + 4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTagsTokenFieldDelegate.h; sourceTree = ""; }; + 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTagsTokenFieldDelegate.m; sourceTree = ""; }; 4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = ""; }; 4CE5B549173AFBA700207B39 /* MPDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPDocument.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CE76DAC17B3AD010043B82B /* KPKHashedDataTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKHashedDataTest.m; sourceTree = ""; }; @@ -1266,6 +1269,8 @@ 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */, 4CA0F3EB1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.h */, 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */, + 4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */, + 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */, ); name = Delegates; sourceTree = ""; @@ -2502,6 +2507,7 @@ 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */, 4C5CD35A17D15DBD000B7F38 /* NSString+Hexdata.m in Sources */, 4C5CD36117D15DCA000B7F38 /* KPKArc4RandomStream.m in Sources */, + 4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */, 4C5CD36217D15DCA000B7F38 /* KPKRandomStream.m in Sources */, 4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */, 4C5CD36317D15DCA000B7F38 /* KPKSalsa20RandomStream.m in Sources */, diff --git a/MacPass/MPDocument+Autotype.m b/MacPass/MPDocument+Autotype.m index 4549008d..059ad049 100644 --- a/MacPass/MPDocument+Autotype.m +++ b/MacPass/MPDocument+Autotype.m @@ -91,8 +91,7 @@ } /* test for tags */ if(matchTags && !foundMatch) { - NSArray *tags = [entry.tags componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@".:;"]]; - for(NSString *tag in tags) { + for(NSString *tag in entry.tags) { foundMatch = ([windowTitle rangeOfString:tag options:NSCaseInsensitiveSearch].length != 0); if(foundMatch) { break; diff --git a/MacPass/MPTagsTokenFieldDelegate.h b/MacPass/MPTagsTokenFieldDelegate.h new file mode 100644 index 00000000..b4d86396 --- /dev/null +++ b/MacPass/MPTagsTokenFieldDelegate.h @@ -0,0 +1,13 @@ +// +// MPTagsTokenFieldDelegate.h +// MacPass +// +// Created by Michael Starke on 30/09/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPTagsTokenFieldDelegate : NSObject + +@end diff --git a/MacPass/MPTagsTokenFieldDelegate.m b/MacPass/MPTagsTokenFieldDelegate.m new file mode 100644 index 00000000..5d311575 --- /dev/null +++ b/MacPass/MPTagsTokenFieldDelegate.m @@ -0,0 +1,30 @@ +// +// MPTagsTokenFieldDelegate.m +// MacPass +// +// Created by Michael Starke on 30/09/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPTagsTokenFieldDelegate.h" + +@implementation MPTagsTokenFieldDelegate + +// Each element in the array should be an NSString or an array of NSStrings. +// substring is the partial string that is being completed. tokenIndex is the index of the token being completed. +// selectedIndex allows you to return by reference an index specifying which of the completions should be selected initially. +// The default behavior is not to have any completions. +//- (nullable NSArray *)tokenField:(NSTokenField *)tokenField completionsForSubstring:(NSString *)substring indexOfToken:(NSInteger)tokenIndex indexOfSelectedItem:(nullable NSInteger *)selectedIndex; + +// return an array of represented objects you want to add. +// If you want to reject the add, return an empty array. +// returning nil will cause an error. +//- (NSArray *)tokenField:(NSTokenField *)tokenField shouldAddObjects:(NSArray *)tokens atIndex:(NSUInteger)index; + +// If you return nil or don't implement these delegate methods, we will assume +// editing string = display string = represented object +//- (nullable NSString *)tokenField:(NSTokenField *)tokenField displayStringForRepresentedObject:(id)representedObject; +//- (nullable NSString *)tokenField:(NSTokenField *)tokenField editingStringForRepresentedObject:(id)representedObject; +//- (id)tokenField:(NSTokenField *)tokenField representedObjectForEditingString: (NSString *)editingString; + +@end From 3b24904f7ec8e7c12a93381573f7fffcd871b28f Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 1 Oct 2015 17:15:15 +0200 Subject: [PATCH 388/778] Fixed auto-update of database settings on cancelation Signed-off-by: michael starke --- MacPass/MPDatabaseSettingsWindowController.m | 23 ++++++++------------ 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 4892d1bd..7e3bbe31 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -199,10 +199,9 @@ } - (void)_setupAdvancedTab:(KPKTree *)tree { - /* TODO Do not use bindings, as the user should be able to cancel */ - //[self bind:NSStringFromSelector(@selector(trashEnabled)) toObject:tree.metaData withKeyPath:NSStringFromSelector(@selector(useTrash)) options:nil]; - [self.enableTrashCheckButton bind:NSValueBinding toObject:tree.metaData withKeyPath:NSStringFromSelector(@selector(useTrash)) options:nil]; - [self.selectTrashGoupPopUpButton bind:NSEnabledBinding toObject:tree.metaData withKeyPath:NSStringFromSelector(@selector(useTrash)) options:nil]; + HNHSetStateFromBool(self.enableTrashCheckButton, tree.metaData.useTrash); + self.selectTrashGoupPopUpButton.enabled = tree.metaData.useTrash; + [self.enableTrashCheckButton bind:NSValueBinding toObject:self.selectTrashGoupPopUpButton withKeyPath:NSEnabledBinding options:nil]; [self _updateTrashFolders:tree]; self.defaultUsernameTextField.stringValue = tree.metaData.defaultUserName; @@ -214,25 +213,21 @@ [self.enforceKeyChangeIntervalTextField setEnabled:tree.metaData.enforceMasterKeyChange]; [self.recommendKeyChangeIntervalTextField setEnabled:tree.metaData.recommendMasterKeyChange]; + self.enforceKeyChangeIntervalTextField.stringValue = @""; if(tree.metaData.enforceMasterKeyChange) { - [self.enforceKeyChangeIntervalTextField setIntegerValue:tree.metaData.masterKeyChangeEnforcementInterval]; - } - else { - [self.enforceKeyChangeIntervalTextField setStringValue:@""]; + self.enforceKeyChangeIntervalTextField.integerValue = tree.metaData.masterKeyChangeEnforcementInterval; } + self.recommendKeyChangeIntervalTextField.stringValue = @""; if(tree.metaData.recommendMasterKeyChange) { - [self.recommendKeyChangeIntervalTextField setIntegerValue:tree.metaData.masterKeyChangeRecommendationInterval]; - } - else { - [self.recommendKeyChangeIntervalTextField setStringValue:@""]; + self.recommendKeyChangeIntervalTextField.integerValue = tree.metaData.masterKeyChangeRecommendationInterval; } [self.enforceKeyChangeCheckButton bind:NSValueBinding toObject:self.enforceKeyChangeIntervalTextField withKeyPath:NSEnabledBinding options:nil]; [self.recommendKeyChangeCheckButton bind:NSValueBinding toObject:self.recommendKeyChangeIntervalTextField withKeyPath:NSEnabledBinding options:nil]; } - (void)_updateFirstResponder { - NSTabViewItem *selected = [self.sectionTabView selectedTabViewItem]; - MPDatabaseSettingsTab tab = [[self.sectionTabView tabViewItems] indexOfObject:selected]; + NSTabViewItem *selected = self.sectionTabView.selectedTabViewItem; + MPDatabaseSettingsTab tab = [self.sectionTabView.tabViewItems indexOfObject:selected]; switch(tab) { case MPDatabaseSettingsTabAdvanced: From 9ca87ba2b95ebc8d0faf097ff88b353701e81516 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 5 Oct 2015 16:27:57 +0200 Subject: [PATCH 389/778] adopted new KeePassKit behaviour for updateToNode on test Signed-off-by: michael starke --- MacPassTests/KPKTestUndo.m | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/MacPassTests/KPKTestUndo.m b/MacPassTests/KPKTestUndo.m index 76a8266c..a7b0e842 100644 --- a/MacPassTests/KPKTestUndo.m +++ b/MacPassTests/KPKTestUndo.m @@ -340,10 +340,8 @@ XCTAssertFalse(_undoManager.canUndo, @"Undo stack is empty"); XCTAssertFalse(_undoManager.canRedo, @"Redo stack is empty"); - KPKEntry *invalid = [_tree createEntry:_tree.root]; - KPKEntry *copy = [_entryA copy]; - XCTAssertThrows([_entryA updateToNode:invalid], @"Updating to a wrong node is not allowed"); - XCTAssertEqualObjects(_entryA, copy, @"Entry a has no changes after updateToNode was called with wrong node argument"); + XCTAssertThrows([_entryA updateToNode:_groupA], @"Updating Entry to Group is not possible"); + XCTAssertThrows([_groupA updateToNode:_entryA], @"Updating Group to Entry is not possible"); XCTAssertFalse(_undoManager.canUndo, @"Undo stack is empty after failed update"); XCTAssertFalse(_undoManager.canRedo, @"Redo stack is empty after failed update"); From 1f18b2c03dde4f9cd93a2c53df35e5a1140d7ea9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Oct 2015 15:53:31 +0200 Subject: [PATCH 390/778] fixed nil usage warnings Signed-off-by: michael starke --- MacPass/MPOutlineViewController.m | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index b2b98788..8c7fa361 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -165,7 +165,8 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)clearSelection { [_outlineView deselectAll:nil]; - [self outlineViewSelectionDidChange:nil]; + NSNotification *notification = [NSNotification notificationWithName:NSOutlineViewSelectionDidChangeNotification object:_outlineView]; + [self outlineViewSelectionDidChange:notification]; } - (void)_didBecomeFirstResponder:(NSNotification *)notification { @@ -219,7 +220,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; NSString *titleKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(title))]; [[view imageView] bind:NSValueBinding toObject:item withKeyPath:iconImageKeyPath options:nil]; [[view textField] bind:NSValueBinding toObject:item withKeyPath:titleKeyPath options:nil]; - + NSString *entriesCountKeyPath = [[NSString alloc] initWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(entries)), @"@count"]; [[view textField] bind:NSStringFromSelector(@selector(count)) toObject:item withKeyPath:entriesCountKeyPath options:nil]; @@ -269,7 +270,8 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)outlineView:(NSOutlineView *)outlineView didRemoveRowView:(NSTableRowView *)rowView forRow:(NSInteger)row { /* Deletion of an item */ if(row == -1) { - [self outlineViewSelectionDidChange:nil]; + NSNotification *notification = [NSNotification notificationWithName:NSOutlineViewSelectionDidChangeNotification object:outlineView]; + [self outlineViewSelectionDidChange:notification]; } } @@ -279,7 +281,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; if(![document validateUserInterfaceItem:menuItem]) { return NO; } - KPKGroup *group = [[self currentTargetNode] asGroup]; + KPKGroup *group = [self currentTargetNode].asGroup; return group.isTrash && group.isTrashed; } From cd925a81f3fa622fcd0ac35bbd265e7dee87c535 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Oct 2015 15:54:17 +0200 Subject: [PATCH 391/778] using property syntax Signed-off-by: michael starke --- MacPass/MPDocument.m | 18 +++++++++--------- MacPass/MPEntryViewController.m | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 2248b4f0..63ac89a4 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -494,11 +494,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)deleteNode:(KPKNode *)node { - if([node asGroup]) { - [self deleteGroup:[node asGroup]]; + if(node.asGroup) { + [self deleteGroup:node.asGroup]; } - else if([node asEntry]) { - [self deleteEntry:[node asEntry]]; + else if(node.asEntry) { + [self deleteEntry:node.asEntry]; } } @@ -554,7 +554,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)_presentTrashAlertForItem:(KPKNode *)node { - KPKEntry *entry = [node asEntry]; + KPKEntry *entry = node.asEntry; NSAlert *alert = [[NSAlert alloc] init]; [alert setAlertStyle:NSWarningAlertStyle]; @@ -574,10 +574,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(returnCode == NSAlertFirstButtonReturn) { KPKNode *node = (__bridge KPKNode *)(contextInfo); /* No undo on this operation */ - for( KPKEntry *entry in [[node asGroup] childEntries]) { + for( KPKEntry *entry in node.asGroup.childEntries) { [node.undoManager removeAllActionsWithTarget:entry]; } - for(KPKGroup *group in [[node asGroup] childGroups]) { + for(KPKGroup *group in node.asGroup.childGroups) { [node.undoManager removeAllActionsWithTarget:group]; } [node remove]; @@ -640,10 +640,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey KPKGroup *targetGroup = [groupResolver currentTargetGroup]; /* - if([targetNode asGroup]) { + if(targetNode.asGroup) { NSLog(@"targetNode:%@", ((KPKGroup *)targetNode).name); } - else if([targetNode asEntry]) { + else if(targetNode.asEntry) { NSLog(@"targetNode:%@", ((KPKEntry *)targetNode).title); } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index dc004cf0..8f292ca6 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -650,21 +650,21 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark Actions - (void)copyPassword:(id)sender { - KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; + KPKEntry *selectedEntry = [self currentTargetNode].asEntry; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.password finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoPassword name:nil]; } } - (void)copyUsername:(id)sender { - KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; + KPKEntry *selectedEntry = [self currentTargetNode].asEntry; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.username finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoUsername name:nil]; } } - (void)copyCustomAttribute:(id)sender { - KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; + KPKEntry *selectedEntry = [self currentTargetNode].asEntry; if(selectedEntry && [selectedEntry isKindOfClass:[KPKEntry class]]) { NSUInteger index = [sender tag]; NSAssert((index >= 0) && (index < [selectedEntry.customAttributes count]), @"Index for custom field needs to be valid"); @@ -674,14 +674,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)copyURL:(id)sender { - KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; + KPKEntry *selectedEntry = [self currentTargetNode].asEntry; if(selectedEntry) { [self _copyToPasteboard:[selectedEntry.url finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoURL name:nil]; } } - (void)openURL:(id)sender { - KPKEntry *selectedEntry = [[self currentTargetNode] asEntry]; + KPKEntry *selectedEntry = [self currentTargetNode].asEntry; NSString *expandedURL = [selectedEntry.url finalValueForEntry:selectedEntry]; if(expandedURL.length > 0) { NSURL *webURL = [NSURL URLWithString:[expandedURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; @@ -707,7 +707,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)delete:(id)sender { - KPKEntry *entry = [[self currentTargetNode] asEntry]; + KPKEntry *entry = [self currentTargetNode].asEntry; if(!entry) { return; } From 57ad680a13df15f2594ea9c5dbb3a54ddedeea19 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Oct 2015 16:21:07 +0200 Subject: [PATCH 392/778] added security exception to sparkle update url Signed-off-by: michael starke --- MacPass/MacPass-Info.plist | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 0353910e..c0af4c22 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -114,5 +114,16 @@ + NSAppTransportSecurity + + NSExceptionDomains + + www.nomadsland.de + + NSExceptionAllowsInsecureHTTPLoads + + + + From 5256941e4418a0d9df18c4c32cfcc6988e160e0c Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Oct 2015 13:43:55 +0200 Subject: [PATCH 393/778] Using new KeePassKit API Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 9b177e29..26dda74d 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -874,6 +874,7 @@ 4CCEDE31179F5B6C008402BE /* KPKDataStreamReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKDataStreamReader.m; sourceTree = ""; }; 4CD106211935E5A1006A3A58 /* KPKModificationRecording.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKModificationRecording.h; sourceTree = ""; }; 4CD25F9218B17A17006098E9 /* KPKTestUUIDAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestUUIDAdditions.m; sourceTree = ""; }; + 4CD2943C1BCD238900910EDF /* KPKTree+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKTree+Private.h"; sourceTree = ""; }; 4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = ""; }; 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = ""; }; 4CD3ABB2178F71B50073F5C5 /* KPKVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = KPKVersion.h; path = Format/KPKVersion.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; @@ -1845,6 +1846,7 @@ 4C70D0FE179092F200652EE9 /* KPKCompositeKey.h */, 4C70D0FF179092F200652EE9 /* KPKCompositeKey.m */, 4CD3ABB3178F71B50073F5C5 /* KPKTree.h */, + 4CD2943C1BCD238900910EDF /* KPKTree+Private.h */, 4CD3ABB4178F71B50073F5C5 /* KPKTree.m */, 4CD3ABBD178F72610073F5C5 /* KPKEntry.h */, 4CD3ABBE178F72610073F5C5 /* KPKEntry.m */, From d49098d7a9b872c38978d0fc41cee8ee1204683f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Oct 2015 16:36:56 +0200 Subject: [PATCH 394/778] fixed clang warnings for nullability Signed-off-by: michael starke --- MacPassTests/KPKIconLoading.m | 2 +- MacPassTests/KPKTestNSCoding.m | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPassTests/KPKIconLoading.m b/MacPassTests/KPKIconLoading.m index a73d14c4..9e88c77e 100644 --- a/MacPassTests/KPKIconLoading.m +++ b/MacPassTests/KPKIconLoading.m @@ -43,7 +43,7 @@ XCTAssertNotNil(imageRep, @"One image rep shoudl be there"); XCTAssertTrue([imageRep isKindOfClass:repClass], @"Representation should be bitmap"); NSBitmapImageRep *bitmapRep = (NSBitmapImageRep *)imageRep; - NSData *pngData = [bitmapRep representationUsingType:NSPNGFileType properties:nil]; + NSData *pngData = [bitmapRep representationUsingType:NSPNGFileType properties:@{}]; XCTAssertEqualObjects(pngData, _imageData, @"Image and PNG data shoudl be identical"); } diff --git a/MacPassTests/KPKTestNSCoding.m b/MacPassTests/KPKTestNSCoding.m index 7de5da9d..152c7abe 100644 --- a/MacPassTests/KPKTestNSCoding.m +++ b/MacPassTests/KPKTestNSCoding.m @@ -83,16 +83,16 @@ KPKIcon *icon = [[KPKIcon alloc] initWithImageAtURL:imageURL]; NSData *data = [self encode:icon]; KPKIcon *decodedIcon = [self decode:data ofClass:[KPKIcon class]]; - NSBitmapImageRep *originalRep = [[icon.image representations] lastObject]; - NSBitmapImageRep *decodedRep = [[decodedIcon.image representations] lastObject]; + NSImageRep *originalRep = icon.image.representations.lastObject; + NSImageRep *decodedRep = decodedIcon.image.representations.lastObject; XCTAssertTrue([originalRep isKindOfClass:[NSBitmapImageRep class]]); XCTAssertTrue([decodedRep isKindOfClass:[NSBitmapImageRep class]]); /* We cannot assert bit depth since TIFF conversion might just strip a full white alpha channel XCTAssertEqual([originalRep bitsPerPixel], [decodedRep bitsPerPixel]); */ - XCTAssertEqual([originalRep pixelsHigh], [decodedRep pixelsHigh]); - XCTAssertEqual([originalRep pixelsWide], [decodedRep pixelsWide]); + XCTAssertEqual(originalRep.pixelsHigh, decodedRep.pixelsHigh); + XCTAssertEqual(originalRep.pixelsWide, decodedRep.pixelsWide); NSData *originalData = [icon.image TIFFRepresentation]; NSData *decodedData = [decodedIcon.image TIFFRepresentation]; From 091d7f83b32b9ab391c94cac69910bcbb0997bb5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Oct 2015 18:03:16 +0200 Subject: [PATCH 395/778] more usage of properites, improvements on node-editing Signed-off-by: michael starke --- MacPass/MPDocument+EditingSession.m | 9 ++- MacPass/MPEditingSession.h | 10 ++- MacPass/MPEditingSession.m | 5 +- MacPass/MPEntryInspectorViewController.m | 67 ++++++++++++------- MacPass/MPGroupInspectorViewController.h | 2 + MacPass/MPGroupInspectorViewController.m | 19 +++--- MacPass/MPInspectorViewController.m | 83 ++++++++++++------------ MacPass/MPViewController.h | 2 - 8 files changed, 116 insertions(+), 81 deletions(-) diff --git a/MacPass/MPDocument+EditingSession.m b/MacPass/MPDocument+EditingSession.m index 886eba19..25abe33f 100644 --- a/MacPass/MPDocument+EditingSession.m +++ b/MacPass/MPDocument+EditingSession.m @@ -34,7 +34,12 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac /* update the data */ [self.editingSession.source updateToNode:self.editingSession.node]; - [self.undoManager setActionName:NSLocalizedString(@"UPDATE_ENTRY", "")]; + if(self.editingSession.node.asEntry) { + [self.undoManager setActionName:NSLocalizedString(@"UPDATE_ENTRY", "")]; + } + else if(self.editingSession.node.asGroup) { + [self.undoManager setActionName:NSLocalizedString(@"UPDATE_GROUP", "")]; + } self.editingSession = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCommitChangesToSelectedItem object:self]; } @@ -51,7 +56,7 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac if(nil == self.selectedItem) { return; } - self.editingSession = [[MPEditingSession alloc] initWithSource:self.selectedItem]; + self.editingSession = [MPEditingSession editingSessionWithSource:self.selectedItem]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidBeginEditingSelectedItem object:self]; } diff --git a/MacPass/MPEditingSession.h b/MacPass/MPEditingSession.h index 741574c4..06a91a4c 100644 --- a/MacPass/MPEditingSession.h +++ b/MacPass/MPEditingSession.h @@ -8,15 +8,23 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class KPKNode; @interface MPEditingSession : NSObject @property (copy, readonly) KPKNode *node; -@property (weak, readonly) KPKNode *source; +@property (nullable, weak, readonly) KPKNode *source; ++ (instancetype)editingSessionWithSource:(KPKNode *)node; - (instancetype)initWithSource:(KPKNode *)node; +- (instancetype)init NS_UNAVAILABLE; + - (BOOL)hasChanges; @end + +NS_ASSUME_NONNULL_END + diff --git a/MacPass/MPEditingSession.m b/MacPass/MPEditingSession.m index fc925aea..4b96dee0 100644 --- a/MacPass/MPEditingSession.m +++ b/MacPass/MPEditingSession.m @@ -18,9 +18,8 @@ @implementation MPEditingSession -- (instancetype)init { - self = [self initWithSource:nil]; - return self; ++ (instancetype)editingSessionWithSource:(KPKNode *)node { + return [[MPEditingSession alloc] initWithSource:node]; } - (instancetype)initWithSource:(KPKNode *)node { diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 5d626b05..81afcf4a 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -138,6 +138,21 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { selector:@selector(_willSave:) name:MPDocumentWillSaveNotification object:document]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didBeginEditingSelectedItem:) + name:MPDocumentDidBeginEditingSelectedItem + object:document]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didCancelOrCommitChangesToSelectedItem:) + name:MPDocumentDidCommitChangesToSelectedItem + object:document]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didCancelOrCommitChangesToSelectedItem:) + name:MPDocumentDidCancelChangesToSelectedItem + object:document]; } - (void)dealloc { @@ -318,27 +333,27 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { HNHScrollView *scrollView = [[HNHScrollView alloc] init]; scrollView.actAsFlipped = NO; scrollView.showBottomShadow = NO; - [scrollView setHasVerticalScroller:YES]; - [scrollView setDrawsBackground:NO]; - [scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; - NSView *clipView = [scrollView contentView]; + scrollView.hasVerticalScroller = YES; + scrollView.drawsBackground = NO; + scrollView.translatesAutoresizingMaskIntoConstraints = NO; + NSView *clipView = scrollView.contentView; NSTabViewItem *tabViewItem = [self.tabView tabViewItemAtIndex:tab]; - NSView *tabView = [tabViewItem view]; + NSView *tabView = tabViewItem.view; /* DO NEVER SET setTranslatesAutoresizingMaskIntoConstraints on NSTabViewItem's view [tabView setTranslatesAutoresizingMaskIntoConstraints:NO]; */ - [scrollView setDocumentView:view]; + scrollView.documentView = view; [tabView addSubview:scrollView]; - [tabViewItem setInitialFirstResponder:scrollView]; + tabViewItem.initialFirstResponder = scrollView; NSDictionary *views = NSDictionaryOfVariableBindings(view, scrollView); - [[scrollView superview] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" + [scrollView.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" options:0 metrics:nil views:views ]]; - [[scrollView superview] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView]|" + [scrollView.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView]|" options:0 metrics:nil views:views]]; @@ -445,21 +460,18 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { } - (void)_toggleEditing:(BOOL)edit { - /* TODO: not fully working right now */ - - [_titleTextField setEditable:edit]; - [_titleTextField setSelectable:edit]; - [_usernameTextField setEditable:edit]; - [_usernameTextField setSelectable:edit]; - [_URLTextField setEditable:edit]; - [_URLTextField setSelectable:edit]; - [_passwordTextField setEditable:edit]; - [_passwordTextField setSelectable:edit]; - - [_createdTextField setEditable:edit]; - [_createdTextField setSelectable:edit]; - [_modifiedTextField setEditable:edit]; - [_modifiedTextField setSelectable:edit]; + NSArray *textFields = @[self.titleTextField, + self.usernameTextField, + self.URLTextField, + self.passwordTextField, + self.tagsTokenField + /*self.createdTextField, + self.modifiedTextField*/ + ]; + for(NSTextField *t in textFields) { + t.editable = edit; + t.selectable = edit; + } } #pragma mark - @@ -475,4 +487,11 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [[[self view] window] makeFirstResponder:nil]; } +- (void)_didBeginEditingSelectedItem:(NSNotification *)notification { + [self _toggleEditing:YES]; +} + +- (void)_didCancelOrCommitChangesToSelectedItem:(NSNotification *)notification { + [self _toggleEditing:NO]; +} @end diff --git a/MacPass/MPGroupInspectorViewController.h b/MacPass/MPGroupInspectorViewController.h index 669fbec3..a1ca2e84 100644 --- a/MacPass/MPGroupInspectorViewController.h +++ b/MacPass/MPGroupInspectorViewController.h @@ -23,5 +23,7 @@ @property (weak) IBOutlet HNHRoundedTextField *autotypeSequenceTextField; - (void)setupBindings:(MPDocument *)document; +- (void)beginEditing; +- (void)endEditing; @end diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index a4279353..ef0c83e6 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -18,7 +18,9 @@ #import "HNHRoundedTextField.h" -@interface MPGroupInspectorViewController () +@interface MPGroupInspectorViewController () { + NSObjectController *_entryController; +} @property (nonatomic, weak) KPKGroup *group; @property (strong) NSPopover *popover; @@ -34,28 +36,29 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { + _entryController = [[NSObjectController alloc] init]; } return self; } - (void)awakeFromNib { - HNHScrollView *scrollView = (HNHScrollView *)[self view]; + HNHScrollView *scrollView = (HNHScrollView *)self.view; scrollView.actAsFlipped = NO; scrollView.showBottomShadow = NO; - [scrollView setHasVerticalScroller:YES]; - [scrollView setDrawsBackground:NO]; - [scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; - NSView *clipView = [scrollView contentView]; + scrollView.hasVerticalRuler = YES; + scrollView.drawsBackground = NO; + scrollView.translatesAutoresizingMaskIntoConstraints = NO; + NSView *clipView = scrollView.contentView; - [scrollView setDocumentView:self.contentView]; + scrollView.documentView = self.contentView; NSDictionary *views = NSDictionaryOfVariableBindings(_contentView); [clipView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_contentView]|" options:0 metrics:nil views:views]]; - [[self view] layoutSubtreeIfNeeded]; + [self.view layoutSubtreeIfNeeded]; NSMenu *autotypeMenu = self.autotypePopupButton.menu; NSMenuItem *inheritAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "") action:NULL keyEquivalent:@""]; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 9f993ea3..ffeee1e6 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -108,11 +108,12 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [[self view] layout]; /* Init edit and cancel buttons */ - [self.editButton setAction:@selector(beginEditingSelectedItem:)]; - [self.cancelEditButton setAction:@selector(cancelChangesToSelectedItem:)]; - [self.cancelEditButton setHidden:YES]; + self.editButton.action = @selector(beginEditingSelectedItem:); + self.cancelEditButton.action = @selector(cancelChangesToSelectedItem:); + self.cancelEditButton.hidden = YES; [self _updateBindings:nil]; + [self _toggleEditors:NO]; } - (void)regsiterNotificationsForDocument:(MPDocument *)document { @@ -265,70 +266,70 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { - (void)_updateBindings:(id)item { if(!item) { [self.itemNameTextField unbind:NSValueBinding]; - [self.itemNameTextField unbind:NSEnabledBinding]; - [self.itemNameTextField setHidden:YES]; + self.itemNameTextField.hidden = YES; + [self.itemImageView unbind:NSValueBinding]; - [self.itemImageView unbind:NSEnabledBinding]; - [self.itemImageView setHidden:YES]; - [[self.notesTextView enclosingScrollView] setHidden:YES]; + self.itemImageView.hidden = YES; + + self.notesTextView.enclosingScrollView.hidden = YES; [self.notesTextView unbind:NSValueBinding]; - [self.notesTextView unbind:NSEditableBinding]; - [self.notesTextView setString:@""]; + self.notesTextView.string = @""; + return; } /* Disable if item is not editable */ - [self.itemNameTextField bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; - [self.itemImageView bind:NSEnabledBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; - [self.notesTextView bind:NSEditableBinding toObject:item withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; - [self.itemImageView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; - [[self.notesTextView enclosingScrollView] setHidden:NO]; + self.notesTextView.enclosingScrollView.hidden = NO; [self.notesTextView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(notes)) options:nil]; [self.itemNameTextField bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; - [self.itemImageView setHidden:NO]; - [self.itemNameTextField setHidden:NO]; + self.itemImageView.hidden = NO; + self.itemNameTextField.hidden = NO; } - +#pragma mark - +#pragma mark Editing +- (void)_toggleEditors:(BOOL)editable { + self.itemImageView.enabled = editable; + self.itemNameTextField.enabled = editable; + self.itemImageView.enabled = editable; + self.notesTextView.editable = editable; +} #pragma mark - #pragma mark MPDocument Notifications - (void)_didChangeCurrentItem:(NSNotification *)notification { - MPDocument *document = [notification object]; - if(!document.selectedItem) { - /* show emty tab and hide edit button */ - self.activeTab = MPEmptyTab; + MPDocument *document = notification.object; + if(document.selectedItem.asGroup) { + self.activeTab = MPGroupTab; + } + else if(document.selectedItem.asEntry) { + self.activeTab = MPEntryTab; } else { - BOOL isGroup = document.selectedItem == document.selectedGroup; - BOOL isEntry = document.selectedItem == document.selectedEntry; - if(isGroup) { - self.activeTab = MPGroupTab; - } - else if(isEntry) { - self.activeTab = MPEntryTab; - } + self.activeTab = MPEmptyTab; } +// self.representedObject = document.selectedItem; +// self.entryViewController.representedObject = document.selectedItem.asEntry; +// self.groupViewController.representedObject = document.selectedItem.asGroup; [self _updateBindings:document.selectedItem]; - - /* disable the entry text fields whenever the entry selection changes */ - //[self.entryViewController endEditing]; } - (void)_didBeginEditingSelectedItem:(NSNotification *)notification { - MPDocument *document = [notification object]; - [self.editButton setAction:@selector(commitChangesToSelectedItem:)]; - [self.editButton setTitle:NSLocalizedString(@"DONE", "")]; - [self.cancelEditButton setHidden:NO]; + MPDocument *document = notification.object; + self.editButton.action = @selector(commitChangesToSelectedItem:); + self.editButton.title = NSLocalizedString(@"SAVE", ""); + self.cancelEditButton.hidden = NO; [self _updateBindings:document.editingSession.node]; + [self _toggleEditors:YES]; } - (void)_didCancelOrCommitChangesToSelectedItem:(NSNotification *)notification { - MPDocument *document = [notification object]; - [self.editButton setTitle:NSLocalizedString(@"EDIT", "")]; - [self.cancelEditButton setHidden:YES]; - [self.editButton setAction:@selector(beginEditingSelectedItem:)]; + MPDocument *document = notification.object; + self.editButton.title = NSLocalizedString(@"EDIT", ""); + self.cancelEditButton.hidden = YES; + self.editButton.action = @selector(beginEditingSelectedItem:); [self _updateBindings:document.selectedItem]; + [self _toggleEditors:NO]; } @end diff --git a/MacPass/MPViewController.h b/MacPass/MPViewController.h index 292f5e6b..a68c40ab 100644 --- a/MacPass/MPViewController.h +++ b/MacPass/MPViewController.h @@ -15,8 +15,6 @@ - (void)didLoadView; - (NSResponder *)reconmendedFirstResponder; /* Returns the associated window controller */ - - - (void)updateResponderChain; @end From e6ae520ba532b5f5b02411f1063e52df48e80bf8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Oct 2015 18:29:36 +0200 Subject: [PATCH 396/778] Fixed merge errors Signed-off-by: michael starke --- DDHotKey | 2 +- HNHUi | 2 +- KeePassKit | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DDHotKey b/DDHotKey index e6846463..dfab50eb 160000 --- a/DDHotKey +++ b/DDHotKey @@ -1 +1 @@ -Subproject commit e6846463e2fedd6742a5f10633e7cc1069555924 +Subproject commit dfab50eb22782850ec836a92d56d16bdb6b5912a diff --git a/HNHUi b/HNHUi index 108f4519..3fecc574 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 108f4519a573c26610f7b7f69e72e4405ee420bd +Subproject commit 3fecc574c1cdd666461981b568a413e6d1930edd diff --git a/KeePassKit b/KeePassKit index 870d252a..ad2b8a13 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 870d252a2915a2f00326e85bfecebde26f003dca +Subproject commit ad2b8a13db9e070c62f81aeb08ea52bb9d78ac04 From 59c50a06c2f8f7deb6ec936e35be6b2b466be635 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Oct 2015 18:32:23 +0200 Subject: [PATCH 397/778] Fixed spelling error Signed-off-by: michael starke --- MacPass/MPDocument.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 37fc832b..a42feb78 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -259,7 +259,7 @@ FOUNDATION_EXTERN NSString *const MPDocumentDidExitSearchNotification; /** * Posted by the document, when the search results have been updated. This is only called when searching. * If the search is exited, it will be notified by MPDocumentDidExitSearchNotification - * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries mathching the search. + * The userInfo dictionary has one key kMPDocumentSearchResultsKey with an NSArray of KPKEntries matching the search. */ FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchResults; @@ -280,4 +280,3 @@ FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey; @end - From 7ae9f5b9a1e59fb76a83612216b70c24d7bc7f32 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 14 Oct 2015 15:34:53 +0200 Subject: [PATCH 398/778] Moving editing session to KeePassKit Signed-off-by: michael starke --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 14 ++++++----- MacPass/MPDocument+EditingSession.m | 13 +++++----- MacPass/MPDocument.h | 7 +----- MacPass/MPDocument.m | 1 - MacPass/MPEditingSession.h | 30 ----------------------- MacPass/MPEditingSession.m | 38 ----------------------------- MacPass/MPInspectorViewController.m | 2 +- 8 files changed, 17 insertions(+), 90 deletions(-) delete mode 100644 MacPass/MPEditingSession.h delete mode 100644 MacPass/MPEditingSession.m diff --git a/KeePassKit b/KeePassKit index ad2b8a13..65f46c47 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit ad2b8a13db9e070c62f81aeb08ea52bb9d78ac04 +Subproject commit 65f46c47e414d3d50ee199c35152ecf748ef8fe1 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 26dda74d..e5205df2 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -244,7 +244,7 @@ 4C8A173D1790AA41008B5C17 /* NSData+Keyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EB8C018D399FD00438B08 /* KPKTag.m */; }; - 4C94A06F1938DC8C0040ABAB /* MPEditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */; }; + 4C94A06F1938DC8C0040ABAB /* KPKEditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */; }; 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; @@ -798,8 +798,8 @@ 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineContextMenuDelegate.m; sourceTree = ""; }; 4C8EB8BF18D399FD00438B08 /* KPKTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTag.h; sourceTree = ""; }; 4C8EB8C018D399FD00438B08 /* KPKTag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTag.m; sourceTree = ""; }; - 4C94A06D1938DC8C0040ABAB /* MPEditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEditingSession.h; sourceTree = ""; }; - 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditingSession.m; sourceTree = ""; }; + 4C94A06D1938DC8C0040ABAB /* KPKEditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKEditingSession.h; sourceTree = ""; }; + 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKEditingSession.m; sourceTree = ""; }; 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; @@ -899,6 +899,7 @@ 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 11_CameraTemplate.pdf; sourceTree = ""; }; 4CD820221A32173100399DBB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ReferenceBuilderView.xib; sourceTree = ""; }; 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentWindow.xib; sourceTree = ""; }; + 4CD9D6CB1BCE6539008C1960 /* KPKEditingSession+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKEditingSession+Private.h"; sourceTree = ""; }; 4CDB5C401794AA4F0017667E /* KPKTree+Serializing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKTree+Serializing.h"; sourceTree = ""; }; 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = "KPKTree+Serializing.m"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = ""; }; @@ -1293,8 +1294,6 @@ 4C15B74518BCA3B1003F8008 /* MPDocument+Search.m */, 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */, 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */, - 4C94A06D1938DC8C0040ABAB /* MPEditingSession.h */, - 4C94A06E1938DC8C0040ABAB /* MPEditingSession.m */, 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */, 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */, ); @@ -1843,6 +1842,9 @@ 4CD3ABB1178F71B50073F5C5 /* Core */ = { isa = PBXGroup; children = ( + 4C94A06D1938DC8C0040ABAB /* KPKEditingSession.h */, + 4CD9D6CB1BCE6539008C1960 /* KPKEditingSession+Private.h */, + 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */, 4C70D0FE179092F200652EE9 /* KPKCompositeKey.h */, 4C70D0FF179092F200652EE9 /* KPKCompositeKey.m */, 4CD3ABB3178F71B50073F5C5 /* KPKTree.h */, @@ -2369,7 +2371,7 @@ 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */, 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */, 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */, - 4C94A06F1938DC8C0040ABAB /* MPEditingSession.m in Sources */, + 4C94A06F1938DC8C0040ABAB /* KPKEditingSession.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, diff --git a/MacPass/MPDocument+EditingSession.m b/MacPass/MPDocument+EditingSession.m index 25abe33f..02a3f0ea 100644 --- a/MacPass/MPDocument+EditingSession.m +++ b/MacPass/MPDocument+EditingSession.m @@ -7,7 +7,7 @@ // #import "MPDocument.h" -#import "MPEditingSession.h" +#import "KPKEditingSession.h" #import "KPKNode.h" @@ -33,14 +33,13 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac [((NSWindowController *)self.windowControllers.firstObject).window makeFirstResponder:nil]; /* update the data */ - [self.editingSession.source updateToNode:self.editingSession.node]; - if(self.editingSession.node.asEntry) { + [self.editingSession.source commitEditing]; + if(self.editingSession.source.asEntry) { [self.undoManager setActionName:NSLocalizedString(@"UPDATE_ENTRY", "")]; } - else if(self.editingSession.node.asGroup) { + else if(self.editingSession.source.asGroup) { [self.undoManager setActionName:NSLocalizedString(@"UPDATE_GROUP", "")]; } - self.editingSession = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCommitChangesToSelectedItem object:self]; } @@ -48,7 +47,7 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac if(nil == self.editingSession) { return; // No session to cancel } - self.editingSession = nil; + [self.selectedItem cancelEditing]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCancelChangesToSelectedItem object:self]; } @@ -56,7 +55,7 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac if(nil == self.selectedItem) { return; } - self.editingSession = [MPEditingSession editingSessionWithSource:self.selectedItem]; + [self.selectedItem beginEditing]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidBeginEditingSelectedItem object:self]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index a42feb78..4ef3fece 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -58,7 +58,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @class KPKAttribute; @class KPKCompositeKey; @class KPKNode; -@class MPEditingSession; +@class KPKEditingSession; @interface MPDocument : NSDocument @@ -88,11 +88,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong) NSArray *searchResult; -/* - Editing Session - */ -@property (nonatomic, strong) MPEditingSession *editingSession; - + (KPKVersion)versionForFileType:(NSString *)fileType; + (NSString *)fileTypeForVersion:(KPKVersion)version; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 63ac89a4..fb314ef0 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -78,7 +78,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey @property (nonatomic, strong) NSData *encryptedData; @property (nonatomic, strong) MPTreeDelegate *treeDelgate; - @property (assign) BOOL readOnly; @property (strong) NSURL *lockFileURL; diff --git a/MacPass/MPEditingSession.h b/MacPass/MPEditingSession.h deleted file mode 100644 index 06a91a4c..00000000 --- a/MacPass/MPEditingSession.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// MPEditSession.h -// MacPass -// -// Created by Michael Starke on 30/05/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class KPKNode; - -@interface MPEditingSession : NSObject - -@property (copy, readonly) KPKNode *node; -@property (nullable, weak, readonly) KPKNode *source; - -+ (instancetype)editingSessionWithSource:(KPKNode *)node; -- (instancetype)initWithSource:(KPKNode *)node; - -- (instancetype)init NS_UNAVAILABLE; - -- (BOOL)hasChanges; - -@end - -NS_ASSUME_NONNULL_END - diff --git a/MacPass/MPEditingSession.m b/MacPass/MPEditingSession.m deleted file mode 100644 index 4b96dee0..00000000 --- a/MacPass/MPEditingSession.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// MPEditSession.m -// MacPass -// -// Created by Michael Starke on 30/05/14. -// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved. -// - -#import "MPEditingSession.h" -#import "KPKNode.h" - -@interface MPEditingSession () - -@property (copy) KPKNode *node; -@property (weak) KPKNode *source; - -@end - -@implementation MPEditingSession - -+ (instancetype)editingSessionWithSource:(KPKNode *)node { - return [[MPEditingSession alloc] initWithSource:node]; -} - -- (instancetype)initWithSource:(KPKNode *)node { - self = [super init]; - if(self) { - self.node = node; - self.source = node; - } - return self; -} - -- (BOOL)hasChanges { - return ![self.node isEqual:self.source]; -} - -@end diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index ffeee1e6..957f4088 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -9,7 +9,7 @@ #import "MPInspectorViewController.h" #import "MPDatePickingViewController.h" #import "MPDocument.h" -#import "MPEditingSession.h" +#import "KPKEditingSession.h" #import "MPEntryInspectorViewController.h" #import "MPGroupInspectorViewController.h" #import "MPIconHelper.h" From 1737d1242570171d33aff7602a32770559e10143 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 16 Oct 2015 19:08:02 +0200 Subject: [PATCH 399/778] More drafting for editing (broken!) Signed-off-by: michael starke --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 8 ----- MacPass/MPDocument+EditingSession.m | 19 +++++------- MacPass/MPDocument.h | 4 +-- MacPass/MPEntryInspectorViewController.m | 7 ----- MacPass/MPInspectorViewController.m | 37 +++++++----------------- MacPassTests/KPKTestNSCopying.m | 2 +- MacPassTests/KPKTestUndo.m | 5 ++-- 8 files changed, 23 insertions(+), 61 deletions(-) diff --git a/KeePassKit b/KeePassKit index 65f46c47..88936f50 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 65f46c47e414d3d50ee199c35152ecf748ef8fe1 +Subproject commit 88936f50254b9ee06a60348b1e1186415018c9c7 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e5205df2..be52ff93 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -244,7 +244,6 @@ 4C8A173D1790AA41008B5C17 /* NSData+Keyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EB8C018D399FD00438B08 /* KPKTag.m */; }; - 4C94A06F1938DC8C0040ABAB /* KPKEditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */; }; 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; 4C978E0619AE53FE003067DF /* HNHCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0519AE53FE003067DF /* HNHCommon.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; @@ -798,8 +797,6 @@ 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineContextMenuDelegate.m; sourceTree = ""; }; 4C8EB8BF18D399FD00438B08 /* KPKTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTag.h; sourceTree = ""; }; 4C8EB8C018D399FD00438B08 /* KPKTag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTag.m; sourceTree = ""; }; - 4C94A06D1938DC8C0040ABAB /* KPKEditingSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKEditingSession.h; sourceTree = ""; }; - 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKEditingSession.m; sourceTree = ""; }; 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; 4C978E0519AE53FE003067DF /* HNHCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHCommon.m; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; @@ -899,7 +896,6 @@ 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 11_CameraTemplate.pdf; sourceTree = ""; }; 4CD820221A32173100399DBB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ReferenceBuilderView.xib; sourceTree = ""; }; 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentWindow.xib; sourceTree = ""; }; - 4CD9D6CB1BCE6539008C1960 /* KPKEditingSession+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKEditingSession+Private.h"; sourceTree = ""; }; 4CDB5C401794AA4F0017667E /* KPKTree+Serializing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKTree+Serializing.h"; sourceTree = ""; }; 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = "KPKTree+Serializing.m"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = ""; }; @@ -1842,9 +1838,6 @@ 4CD3ABB1178F71B50073F5C5 /* Core */ = { isa = PBXGroup; children = ( - 4C94A06D1938DC8C0040ABAB /* KPKEditingSession.h */, - 4CD9D6CB1BCE6539008C1960 /* KPKEditingSession+Private.h */, - 4C94A06E1938DC8C0040ABAB /* KPKEditingSession.m */, 4C70D0FE179092F200652EE9 /* KPKCompositeKey.h */, 4C70D0FF179092F200652EE9 /* KPKCompositeKey.m */, 4CD3ABB3178F71B50073F5C5 /* KPKTree.h */, @@ -2371,7 +2364,6 @@ 4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */, 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */, 4C8EB8C118D399FD00438B08 /* KPKTag.m in Sources */, - 4C94A06F1938DC8C0040ABAB /* KPKEditingSession.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, diff --git a/MacPass/MPDocument+EditingSession.m b/MacPass/MPDocument+EditingSession.m index 02a3f0ea..f557b1de 100644 --- a/MacPass/MPDocument+EditingSession.m +++ b/MacPass/MPDocument+EditingSession.m @@ -7,8 +7,8 @@ // #import "MPDocument.h" -#import "KPKEditingSession.h" +#import "KPKTree.h" #import "KPKNode.h" NSString *const MPDocumentDidBeginEditingSelectedItem = @"com.hicknhack.macpass.MPDocumentDidBeginEditingSelectedItem"; @@ -17,14 +17,12 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac @implementation MPDocument (EditingSession) -- (BOOL)isEditing { - return (self.editingSession != nil); +- (BOOL)hasActiveEditingSession { +// return (self.tree.activeEditingSession != nil); +// return (self.editingSession != nil); } - (void)commitChangesToSelectedItem:(id)sender { - if(nil == self.editingSession) { - return; // No session to commit - } /* Force any lingering updates to be written */ /* FIXME explore potential usage of: * NSObject(NSEditorRegistration) @@ -33,20 +31,17 @@ NSString *const MPDocumentDidCommitChangesToSelectedItem = @"com.hicknhack.mac [((NSWindowController *)self.windowControllers.firstObject).window makeFirstResponder:nil]; /* update the data */ - [self.editingSession.source commitEditing]; - if(self.editingSession.source.asEntry) { + [self.selectedItem commitEditing]; + if(self.selectedItem.asEntry) { [self.undoManager setActionName:NSLocalizedString(@"UPDATE_ENTRY", "")]; } - else if(self.editingSession.source.asGroup) { + else if(self.selectedItem.asGroup) { [self.undoManager setActionName:NSLocalizedString(@"UPDATE_GROUP", "")]; } [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCommitChangesToSelectedItem object:self]; } - (void)cancelChangesToSelectedItem:(id)sender { - if(nil == self.editingSession) { - return; // No session to cancel - } [self.selectedItem cancelEditing]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidCancelChangesToSelectedItem object:self]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 4ef3fece..6d6508fc 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -86,7 +86,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; */ @property (nonatomic, readonly) BOOL hasSearch; @property (nonatomic, copy) MPEntrySearchContext *searchContext; -@property (nonatomic, strong) NSArray *searchResult; +@property (nonatomic, strong, readonly) NSArray *searchResult; + (KPKVersion)versionForFileType:(NSString *)fileType; + (NSString *)fileTypeForVersion:(KPKVersion)version; @@ -222,8 +222,6 @@ APPKIT_EXTERN NSString *const MPDocumentDidCommitChangesToSelectedItem; @interface MPDocument (EditingSession) -- (BOOL)isEditing; - #pragma mark Edit Actions - (IBAction)beginEditingSelectedItem:(id)sender; - (IBAction)cancelChangesToSelectedItem:(id)sender; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 81afcf4a..f99ef70e 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -487,11 +487,4 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [[[self view] window] makeFirstResponder:nil]; } -- (void)_didBeginEditingSelectedItem:(NSNotification *)notification { - [self _toggleEditing:YES]; -} - -- (void)_didCancelOrCommitChangesToSelectedItem:(NSNotification *)notification { - [self _toggleEditing:NO]; -} @end diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 957f4088..13cf1bb6 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -9,7 +9,6 @@ #import "MPInspectorViewController.h" #import "MPDatePickingViewController.h" #import "MPDocument.h" -#import "KPKEditingSession.h" #import "MPEntryInspectorViewController.h" #import "MPGroupInspectorViewController.h" #import "MPIconHelper.h" @@ -108,8 +107,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [[self view] layout]; /* Init edit and cancel buttons */ - self.editButton.action = @selector(beginEditingSelectedItem:); - self.cancelEditButton.action = @selector(cancelChangesToSelectedItem:); + self.editButton.action = @selector(beginEditing:); + self.cancelEditButton.action = @selector(cancelEditing:); self.cancelEditButton.hidden = YES; [self _updateBindings:nil]; @@ -121,22 +120,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { selector:@selector(_didChangeCurrentItem:) name:MPDocumentCurrentItemChangedNotification object:document]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didBeginEditingSelectedItem:) - name:MPDocumentDidBeginEditingSelectedItem - object:document]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didCancelOrCommitChangesToSelectedItem:) - name:MPDocumentDidCommitChangesToSelectedItem - object:document]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didCancelOrCommitChangesToSelectedItem:) - name:MPDocumentDidCancelChangesToSelectedItem - object:document]; - [self.entryViewController regsiterNotificationsForDocument:document]; [self.entryViewController setupBindings:document]; @@ -315,21 +298,21 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self _updateBindings:document.selectedItem]; } -- (void)_didBeginEditingSelectedItem:(NSNotification *)notification { - MPDocument *document = notification.object; - self.editButton.action = @selector(commitChangesToSelectedItem:); +- (IBAction)beginEditing:(id)sender { + self.editButton.action = @selector(commitEditing:); self.editButton.title = NSLocalizedString(@"SAVE", ""); self.cancelEditButton.hidden = NO; - [self _updateBindings:document.editingSession.node]; [self _toggleEditors:YES]; } -- (void)_didCancelOrCommitChangesToSelectedItem:(NSNotification *)notification { - MPDocument *document = notification.object; +- (IBAction)cancelEditing:(id)sender { self.editButton.title = NSLocalizedString(@"EDIT", ""); self.cancelEditButton.hidden = YES; - self.editButton.action = @selector(beginEditingSelectedItem:); - [self _updateBindings:document.selectedItem]; + self.editButton.action = @selector(beginEditing:); [self _toggleEditors:NO]; } + +- (IBAction)commitEditing:(id)sender { + [self cancelEditing:sender]; +} @end diff --git a/MacPassTests/KPKTestNSCopying.m b/MacPassTests/KPKTestNSCopying.m index f2e27a97..7b8adb3f 100644 --- a/MacPassTests/KPKTestNSCopying.m +++ b/MacPassTests/KPKTestNSCopying.m @@ -63,7 +63,7 @@ XCTAssertEqualObjects(copyEntry.url, @"URL", @"URLS should match"); XCTAssertEqual(copyEntry.binaries.count, 1, @"Binareis should be copied"); - KPKBinary *copiedBinary = [copyEntry.binaries lastObject]; + KPKBinary *copiedBinary = copyEntry.binaries.lastObject; XCTAssertTrue([copiedBinary.data isEqualToData:binary.data], @"Binary data should match"); XCTAssertTrue([copiedBinary.name isEqualToString:binary.name], @"Binary names should macht"); } diff --git a/MacPassTests/KPKTestUndo.m b/MacPassTests/KPKTestUndo.m index a7b0e842..db5366cf 100644 --- a/MacPassTests/KPKTestUndo.m +++ b/MacPassTests/KPKTestUndo.m @@ -10,6 +10,7 @@ #import #import "KPKTree.h" +#import "KPKNode+Private.h" #import "KPKGroup.h" #import "KPKEntry.h" @@ -340,8 +341,8 @@ XCTAssertFalse(_undoManager.canUndo, @"Undo stack is empty"); XCTAssertFalse(_undoManager.canRedo, @"Redo stack is empty"); - XCTAssertThrows([_entryA updateToNode:_groupA], @"Updating Entry to Group is not possible"); - XCTAssertThrows([_groupA updateToNode:_entryA], @"Updating Group to Entry is not possible"); + XCTAssertThrows([_entryA _updateToNode:_groupA], @"Updating Entry to Group is not possible"); + XCTAssertThrows([_groupA _updateToNode:_entryA], @"Updating Group to Entry is not possible"); XCTAssertFalse(_undoManager.canUndo, @"Undo stack is empty after failed update"); XCTAssertFalse(_undoManager.canRedo, @"Redo stack is empty after failed update"); From 0020acf22136dba257d8b50787ff319b4a25091a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 21 Oct 2015 10:02:02 +0200 Subject: [PATCH 400/778] Using new KeePassKit API Signed-off-by: michael starke --- KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 88936f50..987381e1 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 88936f50254b9ee06a60348b1e1186415018c9c7 +Subproject commit 987381e1f7cd2fb6258253f5b88aadd6761570f4 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index be52ff93..52cb92d2 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -577,6 +577,7 @@ 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTextXMLUtilities.m; sourceTree = ""; }; 4C3F28521791EDE800703281 /* KPKErrors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPKErrors.h; sourceTree = ""; }; 4C3F28531791EDFD00703281 /* KPKErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = KPKErrors.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; + 4C3F968D1BD5538B009EA96C /* KPKEntry+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKEntry+Private.h"; sourceTree = ""; }; 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ContextBar.xib; sourceTree = ""; }; 4C431BCB16E2A82700700A81 /* MPPasteBoardController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasteBoardController.h; sourceTree = ""; }; 4C431BCC16E2A82700700A81 /* MPPasteBoardController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasteBoardController.m; sourceTree = ""; }; @@ -1844,6 +1845,7 @@ 4CD2943C1BCD238900910EDF /* KPKTree+Private.h */, 4CD3ABB4178F71B50073F5C5 /* KPKTree.m */, 4CD3ABBD178F72610073F5C5 /* KPKEntry.h */, + 4C3F968D1BD5538B009EA96C /* KPKEntry+Private.h */, 4CD3ABBE178F72610073F5C5 /* KPKEntry.m */, 4CD3ABC0178F72720073F5C5 /* KPKGroup.h */, 4CD3ABC1178F72720073F5C5 /* KPKGroup.m */, From 5e0e8f0aeb6384f3ca3c3eec272cd3518fae0d73 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 21 Oct 2015 14:51:16 +0200 Subject: [PATCH 401/778] Added simple performance test Signed-off-by: michael starke --- .gitignore | 1 + KeePassKit | 2 +- MacPass.xcodeproj/project.pbxproj | 4 +++ MacPassTests/KPKTestPerformance.m | 57 +++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 MacPassTests/KPKTestPerformance.m diff --git a/.gitignore b/.gitignore index 178f23b6..4e928bcd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ profile *.moved-aside Assets/MacPass Icons Grayscale V3.ai Assets/MacPass Icons Grayscale V4.ai +MacPass.xcodeproj/xcshareddata/xcbaselines diff --git a/KeePassKit b/KeePassKit index 987381e1..9b48e57c 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 987381e1f7cd2fb6258253f5b88aadd6761570f4 +Subproject commit 9b48e57c2b8a40fc8e52c80f0e784c4cae2f9fd3 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 52cb92d2..f0be1580 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -280,6 +280,7 @@ 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */; }; 4CC6DB7D17D23DCE002C6091 /* KPKUTIs.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6DB7C17D23DCE002C6091 /* KPKUTIs.m */; }; 4CC7EA1B17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7EA1A17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m */; }; + 4CC8EF601BD7B7C30014A2DA /* KPKTestPerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8EF5F1BD7B7C30014A2DA /* KPKTestPerformance.m */; settings = {ASSET_TAGS = (); }; }; 4CCA8E9B18D91ED9001A6754 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCA8E9A18D91ED9001A6754 /* Quartz.framework */; }; 4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE29179F203B008402BE /* MPOutlineView.m */; }; 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; }; @@ -859,6 +860,7 @@ 4CC6DB7C17D23DCE002C6091 /* KPKUTIs.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKUTIs.m; sourceTree = ""; }; 4CC7EA1917807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHRoundedTextFieldCellHelper.h; sourceTree = ""; }; 4CC7EA1A17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHRoundedTextFieldCellHelper.m; sourceTree = ""; }; + 4CC8EF5F1BD7B7C30014A2DA /* KPKTestPerformance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestPerformance.m; sourceTree = ""; }; 4CC97C3B1B7B9D52007D54AA /* KPKNode+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KPKNode+Private.h"; sourceTree = ""; }; 4CCA7EEC1797866F00B0B55E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/GeneralSettings.strings; sourceTree = ""; }; 4CCA7EEE1797867200B0B55E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/GeneralSettings.strings; sourceTree = ""; }; @@ -1377,6 +1379,7 @@ 4C3F25201A3B0C95007DD98B /* KPKTextXMLUtilities.m */, 4C4B6E3D1B5E56600082EEF2 /* KPKTestEntryLookup.m */, 4C87751F1B70CA4B00069609 /* KPKTestUndo.m */, + 4CC8EF5F1BD7B7C30014A2DA /* KPKTestPerformance.m */, ); name = KeePassKit; sourceTree = ""; @@ -2312,6 +2315,7 @@ 4CD25F9318B17A17006098E9 /* KPKTestUUIDAdditions.m in Sources */, 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */, 4C305F3C179A19F90082334F /* KPKIconLoading.m in Sources */, + 4CC8EF601BD7B7C30014A2DA /* KPKTestPerformance.m in Sources */, 4C1842B8179B348600E2F5BC /* KPKTestLegacyLoading.m in Sources */, 4C8775201B70CA4B00069609 /* KPKTestUndo.m in Sources */, 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, diff --git a/MacPassTests/KPKTestPerformance.m b/MacPassTests/KPKTestPerformance.m new file mode 100644 index 00000000..0c2ca569 --- /dev/null +++ b/MacPassTests/KPKTestPerformance.m @@ -0,0 +1,57 @@ +// +// KPKTestPerformance.m +// MacPass +// +// Created by Michael Starke on 21/10/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import +#import "KPKEntry.h" +#import "KPKAttribute.h" +#import "KPKFormat.h" + +NSUInteger const _kKPKEntryCount = 1000; + +@interface KPKTestPerformance : XCTestCase { + KPKEntry *testEntry; +} +@end + +@implementation KPKTestPerformance + +- (void)setUp { + [super setUp]; + testEntry = [[KPKEntry alloc] init]; + NSUInteger count = _kKPKEntryCount; + while(count-- > 0) { + [testEntry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@(count).stringValue + value:@(count).stringValue]]; + } +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testAttributeLookupPerformanceA { + [self measureBlock:^{ + [testEntry customAttributeForKey:@(0).stringValue]; + }]; +} + +- (void)testAttributeLookupPerformanceB { + [self measureBlock:^{ + [testEntry customAttributeForKey:@(_kKPKEntryCount - 1).stringValue]; + }]; +} + +- (void)testAttributeLookupPerformanceC { + [self measureBlock:^{ + [testEntry customAttributeForKey:kKPKTitleKey]; + }]; +} + + +@end From 50cebc0ef266ee21ba83e94ba69811289360e6a2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 21 Oct 2015 17:29:03 +0200 Subject: [PATCH 402/778] Using new KeePassKit API Signed-off-by: michael starke --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 9b48e57c..e7aa6d8d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 9b48e57c2b8a40fc8e52c80f0e784c4cae2f9fd3 +Subproject commit e7aa6d8d71049ab9b441e3123fc9523b12635db5 From fa5ca62e9de2bb56196d9d467dd42e27b5f829aa Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 21 Oct 2015 17:29:30 +0200 Subject: [PATCH 403/778] Converted to properties where possible. Some missing due to 10.8 deployment Signed-off-by: michael starke --- MacPass/MPContextToolbarButton.h | 3 +++ MacPass/MPContextToolbarButton.m | 24 ++++++++++++++-------- MacPass/MPDocument+Search.m | 21 +++++++++---------- MacPass/MPReferenceBuilderViewController.m | 7 ------- MacPass/MPSegmentedContextCell.m | 8 ++++---- MacPass/MPToolbarButton.h | 2 +- MacPass/MPToolbarButton.m | 20 +++++++++--------- 7 files changed, 44 insertions(+), 41 deletions(-) diff --git a/MacPass/MPContextToolbarButton.h b/MacPass/MPContextToolbarButton.h index 9d497e01..45873e49 100644 --- a/MacPass/MPContextToolbarButton.h +++ b/MacPass/MPContextToolbarButton.h @@ -27,4 +27,7 @@ - (void)setImage:(NSImage *)image; - (void)setContextMenu:(NSMenu *)menu; +- (NSControlSize)controlSize; +- (void)setControlSize:(NSControlSize)controlSize; + @end diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index 40ed7600..2e11c450 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -38,12 +38,12 @@ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:[self cell]]; NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; MPSegmentedContextCell *cell = [[MPSegmentedContextCell alloc] initWithCoder:unarchiver]; - [self setCell:cell]; + self.cell = cell; - [self setFocusRingType:NSFocusRingTypeNone]; - [self setSegmentCount:2]; + self.focusRingType = NSFocusRingTypeNone; + self.segmentCount = 2; [cell setTrackingMode:NSSegmentSwitchTrackingMomentary]; - [self setSegmentStyle:NSSegmentStyleTexturedSquare]; + self.segmentStyle = NSSegmentStyleTexturedSquare; [cell setWidth:31 forSegment:0]; [cell setWidth:17 forSegment:1]; @@ -73,7 +73,7 @@ - (void)setSegmentCount:(NSInteger)count { if(count == 2) { - [super setSegmentCount:count]; + super.segmentCount = count; } } @@ -82,10 +82,18 @@ } - (void)showContextMenu:(id)sender { - NSPoint point = [self frame].origin; - point.x = [[self cell] widthForSegment:0]; - point.y = NSHeight([self frame]) + 3; + NSPoint point = self.frame.origin; + point.x = [self.cell widthForSegment:0]; + point.y = NSHeight(self.frame) + 3; [_contextMenu popUpMenuPositioningItem:nil atLocation:point inView:self]; } +- (void)setControlSize:(NSControlSize)controlSize { + self.cell.controlSize = controlSize; +} + +- (NSControlSize)controlSize { + return self.cell.controlSize; +} + @end diff --git a/MacPass/MPDocument+Search.m b/MacPass/MPDocument+Search.m index aff97b36..e605b2dc 100644 --- a/MacPass/MPDocument+Search.m +++ b/MacPass/MPDocument+Search.m @@ -113,12 +113,11 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul - (NSArray *)_findEntriesMatchingCurrentSearch { /* Filter double passwords */ if(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, self.searchContext.searchFlags)) { - __block NSMutableDictionary *passwordToEntryMap = [[NSMutableDictionary alloc] initWithCapacity:100]; + NSMutableDictionary *passwordToEntryMap = [[NSMutableDictionary alloc] initWithCapacity:100]; /* Build up a usage map */ - [[self.root searchableChildEntries] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - KPKEntry *entry = obj; + for(KPKEntry *entry in self.root.searchableChildEntries) { /* skip entries without passwords */ - if([entry.password length] > 0) { + if(entry.password.length > 0) { NSMutableSet *entrySet = passwordToEntryMap[entry.password]; if(entrySet) { [entrySet addObject:entry]; @@ -127,15 +126,15 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul passwordToEntryMap[entry.password] = [NSMutableSet setWithObject:entry]; } } - }]; + } /* check for usage count */ - __block NSMutableArray *doublePasswords = [[NSMutableArray alloc] init]; - [[passwordToEntryMap allKeys] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - NSSet *entrySet = passwordToEntryMap[obj]; - if([entrySet count] > 1) { - [doublePasswords addObjectsFromArray:[entrySet allObjects]]; + NSMutableArray *doublePasswords = [[NSMutableArray alloc] init]; + for(NSString *password in passwordToEntryMap.allKeys) { + NSSet *entrySet = passwordToEntryMap[password]; + if(entrySet.count > 1) { + [doublePasswords addObjectsFromArray:entrySet.allObjects]; } - }]; + } return doublePasswords; } if(MPIsFlagSetInOptions(MPEntrySearchExpiredEntries, self.searchContext.searchFlags)) { diff --git a/MacPass/MPReferenceBuilderViewController.m b/MacPass/MPReferenceBuilderViewController.m index d15cf123..7bad7162 100644 --- a/MacPass/MPReferenceBuilderViewController.m +++ b/MacPass/MPReferenceBuilderViewController.m @@ -20,13 +20,6 @@ return @"ReferenceBuilderView"; } -//- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { -// self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; -// if(self) { -// } -// return self; -//} - - (void)didLoadView { [self.searchKeyPopUpButton setMenu:[self _allocateAttributeItemMenu:YES withTitle:NSLocalizedString(@"SEARCH_VALUE", "")]]; [self.valuePopUpButton setMenu:[self _allocateAttributeItemMenu:NO withTitle:NSLocalizedString(@"OUTPUT_VALUE", "")]]; diff --git a/MacPass/MPSegmentedContextCell.m b/MacPass/MPSegmentedContextCell.m index a2376058..87e5594c 100644 --- a/MacPass/MPSegmentedContextCell.m +++ b/MacPass/MPSegmentedContextCell.m @@ -43,17 +43,17 @@ } - (SEL)action { - if([self selectedSegment] == 1) { + if(self.selectedSegment == 1) { return self.contextMenuAction; } - return [super action]; + return super.action; } - (id)target { - if([self selectedSegment] == 1) { + if(self.selectedSegment == 1) { return self.contextMenuTarget; } - return [super target]; + return super.target; } @end diff --git a/MacPass/MPToolbarButton.h b/MacPass/MPToolbarButton.h index a79d9181..6fea779d 100644 --- a/MacPass/MPToolbarButton.h +++ b/MacPass/MPToolbarButton.h @@ -25,8 +25,8 @@ @interface MPToolbarButton : NSButton /* This methods ensure, that the button get sized correctly if used as the view in a NSToolbarItem*/ + - (void)setControlSize:(NSControlSize)controlSize; - (NSControlSize)controlSize; - @end diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index 07065f32..7dcec7cd 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -27,38 +27,38 @@ - (id)initWithFrame:(NSRect)frameRect { self = [super initWithFrame:frameRect]; if(self) { - [self setFocusRingType:NSFocusRingTypeNone]; - [[self cell] setBezelStyle:NSTexturedRoundedBezelStyle]; - [[self cell] setImageScaling:NSImageScaleProportionallyDown]; + self.focusRingType = NSFocusRingTypeNone; + self.bezelStyle = NSTexturedRoundedBezelStyle; + [self.cell setImageScaling:NSImageScaleProportionallyDown]; [self setButtonType:NSMomentaryPushInButton]; - [self setImagePosition:NSImageOnly]; + self.imagePosition = NSImageOnly; } return self; } - (void)setControlSize:(NSControlSize)controlSize { - [[self cell] setControlSize:controlSize]; - NSImageRep *rep = [[self image] bestRepresentationForRect:NSMakeRect(0, 0, 100, 100) context:nil hints:nil]; + NSImageRep *rep = [self.image bestRepresentationForRect:NSMakeRect(0, 0, 100, 100) context:nil hints:nil]; CGFloat scale = rep.size.width / rep.size.height; switch (controlSize) { case NSRegularControlSize: - [[self image] setSize:NSMakeSize(16 * scale, 16)]; + self.image.size = NSMakeSize(16 * scale, 16); break; case NSSmallControlSize: - [[self image] setSize:NSMakeSize(14 * scale, 14)]; + self.image.size = NSMakeSize(14 * scale, 14); break; case NSMiniControlSize: - [[self image] setSize:NSMakeSize(8 * scale, 8)]; + self.image.size = NSMakeSize(8 * scale, 8); default: break; } + super.controlSize = controlSize; } - (NSControlSize)controlSize { - return [[self cell] controlSize]; + return self.cell.controlSize; } @end From 83a89b9d1a05a2e0ba5c0f92348ca57b3fe18983 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 22 Oct 2015 14:24:28 +0200 Subject: [PATCH 404/778] Using new KeePassKit and HNHUi APIs Signed-off-by: michael starke --- HNHUi | 2 +- KeePassKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HNHUi b/HNHUi index 3fecc574..2d7fa54f 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 3fecc574c1cdd666461981b568a413e6d1930edd +Subproject commit 2d7fa54f4e6a1ef27b0784bc895137fc5b03a3aa diff --git a/KeePassKit b/KeePassKit index e7aa6d8d..b546120a 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit e7aa6d8d71049ab9b441e3123fc9523b12635db5 +Subproject commit b546120abf38a48f7e746bcc9bd93a4002e96211 From 4c91a554104bcd770cca6bb53246797d90016ab3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 22 Oct 2015 14:25:27 +0200 Subject: [PATCH 405/778] Fixed crash on 10.8 and 10.9 caused by MPToolbarButton Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 6 +++++ .../xcshareddata/xcschemes/MacPass.xcscheme | 3 ++- MacPass/MPContextToolbarButton.m | 17 +++++++++++++ MacPass/MPReferenceBuilderViewController.m | 3 ++- MacPass/MPToolbarButton.m | 8 ++++++- MacPass/MacPass-Info.plist | 24 +++++++++---------- MacPassTests/KPKTestAutotype.m | 4 ++++ 7 files changed, 50 insertions(+), 15 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index f0be1580..532f3eb8 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 4C0104BE17C37DA400173EF3 /* KPKXmlUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0104BD17C37DA400173EF3 /* KPKXmlUtilities.m */; }; 4C01C2421764D8980016D5D0 /* MPContextMenuHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */; }; 4C01C245176500C40016D5D0 /* HNHLevelIndicatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C244176500C40016D5D0 /* HNHLevelIndicatorCell.m */; }; + 4C066A7F1BD8E2C60082CB39 /* KPKReferenceKeys.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C066A7E1BD8E2C60082CB39 /* KPKReferenceKeys.m */; settings = {ASSET_TAGS = (); }; }; 4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */; }; 4C0728BF17B68ED0005A7DD9 /* SavePanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */; }; 4C08C3AE17B3022400BBBC95 /* KPKLegacyHeaderWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C08C3AD17B3022400BBBC95 /* KPKLegacyHeaderWriter.m */; }; @@ -409,6 +410,8 @@ 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = MPContextMenuHelper.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 4C01C243176500C40016D5D0 /* HNHLevelIndicatorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHLevelIndicatorCell.h; sourceTree = ""; }; 4C01C244176500C40016D5D0 /* HNHLevelIndicatorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHLevelIndicatorCell.m; sourceTree = ""; }; + 4C066A7D1BD8E2C60082CB39 /* KPKReferenceKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKReferenceKeys.h; sourceTree = ""; }; + 4C066A7E1BD8E2C60082CB39 /* KPKReferenceKeys.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKReferenceKeys.m; sourceTree = ""; }; 4C0728BB17B5B7F7005A7DD9 /* MPPasswordEditWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordEditWindowController.h; sourceTree = ""; }; 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordEditWindowController.m; sourceTree = ""; }; 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SavePanelAccessoryView.xib; sourceTree = ""; }; @@ -1160,6 +1163,8 @@ 4CD4900F18513C180017397F /* KPKXmlElements.m */, 4CDFD35618AED5C5002BB267 /* KPKAutotypeCommands.h */, 4CDFD35718AED5C5002BB267 /* KPKAutotypeCommands.m */, + 4C066A7D1BD8E2C60082CB39 /* KPKReferenceKeys.h */, + 4C066A7E1BD8E2C60082CB39 /* KPKReferenceKeys.m */, ); name = Format; sourceTree = ""; @@ -2425,6 +2430,7 @@ 4C26C34B18D8D5A300CF1A1C /* MPPreviewViewController.m in Sources */, 4C4B728518E4B9B400A1A5D5 /* MPDockTileHelper.m in Sources */, 4C52A244177D7B9F0000D88F /* HNHScrollView.m in Sources */, + 4C066A7F1BD8E2C60082CB39 /* KPKReferenceKeys.m in Sources */, 4CC7EA1B17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m in Sources */, 4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */, 4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */, diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 0c57b203..e5642bb1 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -26,7 +26,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "NO"> + shouldUseLaunchSchemeArgsEnv = "NO" + codeCoverageEnabled = "YES"> diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index 2e11c450..b728fb55 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -89,6 +89,23 @@ } - (void)setControlSize:(NSControlSize)controlSize { + NSImageRep *rep = [[self imageForSegment:0] bestRepresentationForRect:NSMakeRect(0, 0, 100, 100) context:nil hints:nil]; + CGFloat scale = rep.size.width / rep.size.height; + switch (controlSize) { + case NSRegularControlSize: + [self imageForSegment:0].size = NSMakeSize(16 * scale, 16); + break; + + case NSSmallControlSize: + [self imageForSegment:0].size = NSMakeSize(14 * scale, 14); + break; + + case NSMiniControlSize: + [self imageForSegment:0].size = NSMakeSize(8 * scale, 8); + + default: + break; + } self.cell.controlSize = controlSize; } diff --git a/MacPass/MPReferenceBuilderViewController.m b/MacPass/MPReferenceBuilderViewController.m index 7bad7162..d3f2887c 100644 --- a/MacPass/MPReferenceBuilderViewController.m +++ b/MacPass/MPReferenceBuilderViewController.m @@ -7,6 +7,7 @@ // #import "MPReferenceBuilderViewController.h" +#import "KPKReferenceKeys.h" @interface MPReferenceBuilderViewController () @@ -40,7 +41,7 @@ if(allowCustomAttributes) { [menu addItemWithTitle:NSLocalizedString(@"CUSTOM_ATTRIBUTE","") action:NULL keyEquivalent:@""]; } - NSArray *keys = @[ @"I", @"T", @"U", @"P", @"A", @"N", @"S" ]; + NSArray *keys = @[ kKPKReferenceUUIDKey, kKPKReferenceTitleKey, kKPKReferenceUsernameKey, kKPKReferencePasswordKey, kKPKReferenceURLKey, kKPKReferenceNotesKey, @"S" ]; [menu.itemArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSMenuItem *item = (NSMenuItem *)obj; NSAssert(keys.count > idx, @""); diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index 7dcec7cd..e473e9c5 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -21,6 +21,7 @@ // #import "MPToolbarButton.h" +#import "HNHCommon.h" @implementation MPToolbarButton @@ -54,7 +55,12 @@ default: break; } - super.controlSize = controlSize; + if([self.superclass instancesRespondToSelector:@selector(setControlSize:)]) { + super.controlSize = controlSize; + } + else { + self.cell.controlSize = controlSize; + } } - (NSControlSize)controlSize { diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index c0af4c22..2591673f 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,9 +62,20 @@ CFBundleSignature ???? CFBundleVersion - 2558 + 2560 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} + NSAppTransportSecurity + + NSExceptionDomains + + www.nomadsland.de + + NSExceptionAllowsInsecureHTTPLoads + + + + NSHumanReadableCopyright Copyright © 2012-2014 HicknHack Software GmbH. All rights reserved. NSMainNibFile @@ -114,16 +125,5 @@ - NSAppTransportSecurity - - NSExceptionDomains - - www.nomadsland.de - - NSExceptionAllowsInsecureHTTPLoads - - - - diff --git a/MacPassTests/KPKTestAutotype.m b/MacPassTests/KPKTestAutotype.m index 1c10d6ec..54e0dfa0 100644 --- a/MacPassTests/KPKTestAutotype.m +++ b/MacPassTests/KPKTestAutotype.m @@ -15,6 +15,10 @@ @implementation KPKTestAutotype +- (void)testCommandValidation { + XCTAssertFalse([@"" validateCommmand], @"Emptry strings aren't valid commands"); +} + - (void)testSimpleNormalization { NSString *normalized = [@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); From 0b073b96e0acbcbd9545f723d366384733ca1f0a Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 23 Oct 2015 19:14:05 +0200 Subject: [PATCH 406/778] Partially converted to modern Objective-C Signed-off-by: michael starke --- MacPass/MPContextToolbarButton.m | 10 +++++++++- MacPass/MPToolbarButton.m | 3 +++ MacPass/MPToolbarItem.m | 2 +- MacPass/NSError+Messages.h | 2 +- MacPass/NSError+Messages.m | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index b728fb55..00cc4467 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -106,10 +106,18 @@ default: break; } - self.cell.controlSize = controlSize; + if([self.superclass instancesRespondToSelector:@selector(setControlSize:)]) { + super.controlSize = controlSize; + } + else { + self.cell.controlSize = controlSize; + } } - (NSControlSize)controlSize { + if([self.superclass instancesRespondToSelector:@selector(controlSize)]) { + return super.controlSize; + } return self.cell.controlSize; } diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index e473e9c5..70955aca 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -64,6 +64,9 @@ } - (NSControlSize)controlSize { + if([self.superclass instancesRespondToSelector:@selector(controlSize)]) { + return super.controlSize; + } return self.cell.controlSize; } diff --git a/MacPass/MPToolbarItem.m b/MacPass/MPToolbarItem.m index 9962cfa6..c1baf60a 100644 --- a/MacPass/MPToolbarItem.m +++ b/MacPass/MPToolbarItem.m @@ -33,7 +33,7 @@ if(validateTarget) { isValid &= [validateTarget validateToolbarItem:self]; } - [self setEnabled:isValid]; + self.enabled = isValid; } } @end diff --git a/MacPass/NSError+Messages.h b/MacPass/NSError+Messages.h index 241e0485..21ed9743 100644 --- a/MacPass/NSError+Messages.h +++ b/MacPass/NSError+Messages.h @@ -14,6 +14,6 @@ FOUNDATION_EXPORT NSString *const MPErrorDomain; + (NSError *)errorWithCode:(NSInteger)code description:(NSString *)description; -- (NSString *)descriptionForErrorCode; +@property (nonatomic, readonly, copy) NSString *descriptionForErrorCode; @end diff --git a/MacPass/NSError+Messages.m b/MacPass/NSError+Messages.m index 5ef6e63c..b7aea665 100644 --- a/MacPass/NSError+Messages.m +++ b/MacPass/NSError+Messages.m @@ -13,7 +13,7 @@ NSString *const MPErrorDomain = @"com.hicknhack.macpass.error"; @implementation NSError (Messages) - (NSString *)descriptionForErrorCode { - return [NSString stringWithFormat:@"%@ (%ld)", [self localizedDescription], [self code] ]; + return [NSString stringWithFormat:@"%@ (%ld)", self.localizedDescription, self.code ]; } + (NSError *)errorWithCode:(NSInteger)code description:(NSString *)description { From 5742e7449ac6620780e11ce97e81c3831c4ae2ee Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 23 Oct 2015 19:14:18 +0200 Subject: [PATCH 407/778] Using new KeePassKit and HNHUi versions Signed-off-by: michael starke --- HNHUi | 2 +- KeePassKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HNHUi b/HNHUi index 2d7fa54f..8785ef28 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 2d7fa54f4e6a1ef27b0784bc895137fc5b03a3aa +Subproject commit 8785ef282f4e29f1ade0b51e8e32ce1f469c17cc diff --git a/KeePassKit b/KeePassKit index b546120a..f503f16d 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit b546120abf38a48f7e746bcc9bd93a4002e96211 +Subproject commit f503f16d15fdc22e109feced3eea6b1a572db57b From 8edbc0684950c51fef8074444359019553b7fc5b Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 23 Oct 2015 19:29:35 +0200 Subject: [PATCH 408/778] using properties Signed-off-by: michael starke --- MacPass/MPLockDaemon.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index b09dcc9e..164af68b 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -76,7 +76,7 @@ } - (void)_willSleepNotification:(NSNotification *)notification { - [(MPAppDelegate *)[NSApp delegate] lockAllDocuments]; + [((MPAppDelegate *)NSApp.delegate) lockAllDocuments]; } - (void)_checkIdleTime:(NSTimer *)timer { @@ -85,7 +85,7 @@ } NSTimeInterval currentInterval = ([NSDate timeIntervalSinceReferenceDate] - self.lastLocalEventTime); if(self.idleLockTime < currentInterval) { - [(MPAppDelegate *)[NSApp delegate] lockAllDocuments]; + [((MPAppDelegate *)NSApp.delegate) lockAllDocuments]; /* Reset the timer to full interval */ [self.idleCheckTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:_idleLockTime]]; } From 28c1c7b016b9348108f6d27b99ce9ceb740e2763 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 23 Oct 2015 19:41:36 +0200 Subject: [PATCH 409/778] Updated to Xcode 7+ Signed-off-by: michael starke --- MacPass/Base.lproj/InspectorView.xib | 33 +++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index d7386e40..8aa23d20 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -27,8 +27,9 @@ - - + @@ -81,30 +85,34 @@ Gw + - + + - + + - + + @@ -116,39 +124,43 @@ Gw
- + + - + + - + + - + - + + @@ -157,19 +169,23 @@ Gw + + - + + @@ -196,6 +212,7 @@ Gw + @@ -203,77 +220,85 @@ Gw - - - - - - + + - + + - - + + @@ -320,6 +346,7 @@ Gw + @@ -327,109 +354,122 @@ Gw - - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + @@ -442,52 +482,59 @@ Gw - - - + + - + + - + + - + + - + - + + + - + @@ -304,7 +328,8 @@ - + + @@ -315,6 +340,7 @@ + @@ -326,6 +352,7 @@ + @@ -343,6 +370,7 @@ + @@ -359,7 +387,8 @@ - + + @@ -371,6 +400,7 @@ + @@ -386,6 +416,7 @@ + @@ -396,18 +427,22 @@ + + @@ -421,6 +456,7 @@ + @@ -430,6 +466,7 @@ + @@ -445,24 +482,27 @@ + - + + - + + @@ -472,19 +512,21 @@ - + + - + + @@ -494,11 +536,12 @@ - + + @@ -508,16 +551,18 @@ - + + - + + @@ -526,6 +571,7 @@ - + + @@ -557,6 +604,7 @@ + @@ -570,6 +618,7 @@ + @@ -583,6 +632,7 @@ + @@ -597,6 +647,7 @@ + @@ -608,25 +659,28 @@ + - + + - + + @@ -679,9 +733,10 @@ + - + + - + + @@ -728,6 +787,7 @@ + @@ -741,9 +801,11 @@ + + - + @@ -765,6 +827,7 @@ + @@ -772,6 +835,7 @@ + @@ -781,16 +845,20 @@ + + + @@ -87,6 +92,7 @@ + @@ -96,24 +102,27 @@ - + + - + + - + + @@ -125,6 +134,7 @@ + @@ -160,6 +170,7 @@ + @@ -168,14 +179,18 @@ + + diff --git a/MacPass/Base.lproj/IconSelection.xib b/MacPass/Base.lproj/IconSelection.xib index f64ca5ad..1dd090a9 100644 --- a/MacPass/Base.lproj/IconSelection.xib +++ b/MacPass/Base.lproj/IconSelection.xib @@ -1,8 +1,8 @@ - + - + @@ -17,7 +17,7 @@ - + @@ -26,25 +26,31 @@ + + + - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + - + + @@ -206,6 +226,7 @@ + @@ -213,8 +234,9 @@ - - + + @@ -86,16 +92,18 @@ - + + - + + @@ -105,19 +113,21 @@ - + + - - - + @@ -44,6 +46,7 @@ DQ + @@ -54,21 +57,24 @@ DQ + - + + - + + @@ -80,6 +86,7 @@ DQ - + + - + + @@ -71,6 +76,7 @@ + @@ -88,6 +94,7 @@ + @@ -96,14 +103,16 @@ + - + + @@ -137,6 +146,7 @@ + diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 6aac24dd..ab6fb9ee 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -26,6 +26,7 @@ + @@ -33,19 +34,21 @@ - + - + + - - - - - - + + @@ -126,6 +134,7 @@ + @@ -136,6 +145,7 @@ + @@ -143,11 +153,12 @@ - + @@ -288,6 +308,7 @@ + diff --git a/MacPass/MPAttachmentTableViewDelegate.m b/MacPass/MPAttachmentTableViewDelegate.m index dd712d63..2c742d17 100644 --- a/MacPass/MPAttachmentTableViewDelegate.m +++ b/MacPass/MPAttachmentTableViewDelegate.m @@ -28,7 +28,7 @@ #import "KeePassKit/KeePassKit.h" -#import "HNHTableRowView.h" +#import "HNHUi/HNHUi.h" @implementation MPAttachmentTableViewDelegate @@ -63,8 +63,8 @@ } - (NSTableRowView *)tableView:(NSTableView *)tableView rowViewForRow:(NSInteger)row { - HNHTableRowView *view = nil; - view = [[HNHTableRowView alloc] init]; + HNHUITableRowView *view = nil; + view = [[HNHUITableRowView alloc] init]; view.selectionCornerRadius = 7; return view; } diff --git a/MacPass/MPContextBarViewController.h b/MacPass/MPContextBarViewController.h index 6fa02391..f444a02f 100644 --- a/MacPass/MPContextBarViewController.h +++ b/MacPass/MPContextBarViewController.h @@ -9,7 +9,7 @@ #import "MPViewController.h" #import "MPDocument.h" -@class HNHGradientView; +@class HNHUIGradientView; @class MPDocument; @interface MPContextBarViewController : MPViewController diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index ac980c16..6238ce7a 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -14,9 +14,7 @@ #import "MPFlagsHelper.h" #import "MPEntrySearchContext.h" -#import "NSButton+HNHTextColor.h" -#import "HNHGradientView.h" -#import "HNHCommon.h" +#import "HNHUi/HNHUi.h" NSUInteger const MPContextBarViewControllerActiveFilterMenuItemTag = 1000; @@ -35,7 +33,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { @property (weak) IBOutlet NSButton *filterDoneButton; @property (weak) IBOutlet NSTextField *filterLabelTextField; /* History */ -@property (weak) IBOutlet HNHGradientView *historyBar; +@property (weak) IBOutlet HNHUIGradientView *historyBar; @property (weak) IBOutlet NSTextField *historyLabel; @property (weak) IBOutlet NSButton *exitHistoryButton; /* Trash*/ @@ -63,7 +61,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { self.historyBar.activeGradient = [[NSGradient alloc] initWithStartingColor:[[NSColor orangeColor] shadowWithLevel:0.2] endingColor:[[NSColor orangeColor] highlightWithLevel:0.2]]; /* Setup Trash Bar color */ - if(!HNHIsRunningOnYosemiteOrNewer()) { + if(!HNHUIIsRunningOnYosemiteOrNewer()) { NSArray *activeColors = @[[NSColor colorWithCalibratedWhite:0.2 alpha:1],[NSColor colorWithCalibratedWhite:0.4 alpha:1]]; NSArray *inactiveColors = @[[NSColor colorWithCalibratedWhite:0.3 alpha:1],[NSColor colorWithCalibratedWhite:0.6 alpha:1]]; self.trashBar.activeGradient = [[NSGradient alloc] initWithColors:activeColors]; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 8cc4a1ca..1a8698e3 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -16,9 +16,7 @@ #import "KeePassKit/KeePassKit.h" -#import "HNHRoundedTextField.h" -#import "HNHRoundedSecureTextField.h" -#import "HNHCommon.h" +#import "HNHUi/HNHUi.h" #import "KPKNode+IconImage.h" diff --git a/MacPass/MPDocumentController.m b/MacPass/MPDocumentController.m index cf3d6f7a..8fe91208 100644 --- a/MacPass/MPDocumentController.m +++ b/MacPass/MPDocumentController.m @@ -10,7 +10,7 @@ #import "MPDocumentController.h" #import "MPConstants.h" -#import "HNHCommon.h" +#import "HNHUi/HNHUi.h" #import "KeePassKit/KeePassKit.h" #import "KPKFormat+MPUTIDetection.h" diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index eb4aa116..2b4ff346 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -26,8 +26,7 @@ #import "KeePassKit/KeePassKit.h" -#import "HNHScrollView.h" -#import "HNHRoundedSecureTextField.h" +#import "HNHUi/HNHUi.h" typedef NS_ENUM(NSUInteger, MPEntryTab) { MPEntryTabGeneral, diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 15e583bf..63667939 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -31,8 +31,7 @@ #import "KeePassKit/KeePassKit.h" #import "KPKNode+IconImage.h" -#import "HNHTableHeaderCell.h" -#import "HNHGradientView.h" +#import "HNHUi/HNHUi.h" #import "MPNotifications.h" diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 8810d51e..bfbdc2c9 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -13,9 +13,7 @@ #import "KeePassKit/KeePassKit.h" -#import "HNHScrollView.h" -#import "HNHRoundedTextField.h" - +#import "HNHUi/HNHUi.h" @interface MPGroupInspectorViewController () { NSObjectController *_entryController; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 367ee720..59237f93 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -20,8 +20,7 @@ #import "KPKNode+IconImage.h" -#import "HNHGradientView.h" - +#import "HNHUi/HNHUi.h" #import "NSDate+Humanized.h" diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 0b512561..fea5cba1 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -9,7 +9,7 @@ #import "MPPasswordEditWindowController.h" #import "MPDocument.h" -#import "HNHRoundedSecureTextField.h" +#import "HNHUi/HNHUi.h" #import "KeePassKit/KeePassKit.h" diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 36825892..faebf9df 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -13,8 +13,8 @@ #import "MPSettingsHelper.h" #import "MPKeyfilePathControlDelegate.h" -#import "HNHRoundedSecureTextField.h" -#import "NSWindow+Shake.h" +#import "HNHUi/HNHUi.h" + #import "NSError+Messages.h" @interface MPPasswordInputController () diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index 70955aca..91d59097 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -21,7 +21,7 @@ // #import "MPToolbarButton.h" -#import "HNHCommon.h" +#import "HNHUi/HNHUi.h" @implementation MPToolbarButton diff --git a/MacPass/OutlineView.xib b/MacPass/OutlineView.xib index 82ce2da7..9fa95f41 100644 --- a/MacPass/OutlineView.xib +++ b/MacPass/OutlineView.xib @@ -1,8 +1,8 @@ - + - + @@ -20,12 +20,14 @@ - + + + @@ -49,6 +51,7 @@ + @@ -61,6 +64,7 @@ + @@ -75,11 +79,13 @@ + - + - + + @@ -94,6 +100,7 @@ + @@ -104,18 +111,22 @@ + + - + - - - - - - + + @@ -196,8 +196,8 @@ - - + + diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 6238ce7a..73f2cac5 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -37,7 +37,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { @property (weak) IBOutlet NSTextField *historyLabel; @property (weak) IBOutlet NSButton *exitHistoryButton; /* Trash*/ -@property (weak) IBOutlet HNHGradientView *trashBar; +@property (weak) IBOutlet HNHUIGradientView *trashBar; @property (weak) IBOutlet NSButton *emptyTrashButton; @end @@ -141,12 +141,12 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)_updateFilterButtons { MPDocument *document = [[self windowController] document]; MPEntrySearchFlags currentFlags = document.searchContext.searchFlags; - [self.duplicatePasswordsButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, currentFlags))]; - [self.notesButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchNotes, currentFlags))]; - [self.passwordButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchPasswords, currentFlags))]; - [self.titleButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchTitles, currentFlags))]; - [self.urlButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchUrls, currentFlags))]; - [self.usernameButton setState:HNHStateForBool(MPIsFlagSetInOptions(MPEntrySearchUsernames, currentFlags))]; + [self.duplicatePasswordsButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchDoublePasswords, currentFlags))]; + [self.notesButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchNotes, currentFlags))]; + [self.passwordButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchPasswords, currentFlags))]; + [self.titleButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchTitles, currentFlags))]; + [self.urlButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchUrls, currentFlags))]; + [self.usernameButton setState:HNHUIStateForBool(MPIsFlagSetInOptions(MPEntrySearchUsernames, currentFlags))]; NSInteger selectedTag = MPEntrySearchNone; for(NSMenuItem *item in [[self.specialFilterPopUpButton menu] itemArray]) { MPEntrySearchFlags flag = [item tag]; @@ -159,7 +159,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { if(isActive) { selectedTag = flag; } - [item setState:HNHStateForBool(isActive)]; + [item setState:HNHUIStateForBool(isActive)]; } } [self.specialFilterPopUpButton selectItemWithTag:selectedTag]; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 1a8698e3..ae822c7a 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -70,7 +70,7 @@ } /* Advanced */ - metaData.useTrash = HNHBoolForState(self.enableTrashCheckButton.state); + metaData.useTrash = HNHUIBoolForState(self.enableTrashCheckButton.state); NSMenuItem *trashMenuItem = self.selectTrashGoupPopUpButton.selectedItem; KPKGroup *trashGroup = trashMenuItem.representedObject; ((MPDocument *)self.document).tree.trash = trashGroup; @@ -80,8 +80,8 @@ ((MPDocument *)self.document).templates = templateGroup; - BOOL enforceMasterKeyChange = HNHBoolForState(self.enforceKeyChangeCheckButton.state); - BOOL recommendMasterKeyChange = HNHBoolForState(self.recommendKeyChangeCheckButton.state); + BOOL enforceMasterKeyChange = HNHUIBoolForState(self.enforceKeyChangeCheckButton.state); + BOOL recommendMasterKeyChange = HNHUIBoolForState(self.recommendKeyChangeCheckButton.state); enforceMasterKeyChange &= (self.enforceKeyChangeIntervalTextField.stringValue.length != 0); recommendMasterKeyChange &= (self.recommendKeyChangeIntervalTextField.stringValue.length != 0); @@ -94,11 +94,11 @@ /* Security */ - metaData.protectNotes = HNHBoolForState(self.protectNotesCheckButton.state); - metaData.protectPassword = HNHBoolForState(self.protectPasswortCheckButton.state); - metaData.protectTitle = HNHBoolForState(self.protectTitleCheckButton.state); - metaData.protectUrl = HNHBoolForState(self.protectURLCheckButton.state); - metaData.protectUserName = HNHBoolForState(self.protectUserNameCheckButton.state); + metaData.protectNotes = HNHUIBoolForState(self.protectNotesCheckButton.state); + metaData.protectPassword = HNHUIBoolForState(self.protectPasswortCheckButton.state); + metaData.protectTitle = HNHUIBoolForState(self.protectTitleCheckButton.state); + metaData.protectUrl = HNHUIBoolForState(self.protectURLCheckButton.state); + metaData.protectUserName = HNHUIBoolForState(self.protectUserNameCheckButton.state); metaData.defaultUserName = self.defaultUsernameTextField.stringValue; @@ -180,18 +180,18 @@ } - (void)_setupProtectionTab:(KPKMetaData *)metaData { - HNHSetStateFromBool(self.protectNotesCheckButton, metaData.protectNotes); - HNHSetStateFromBool(self.protectPasswortCheckButton, metaData.protectPassword); - HNHSetStateFromBool(self.protectTitleCheckButton, metaData.protectTitle); - HNHSetStateFromBool(self.protectURLCheckButton, metaData.protectUrl); - HNHSetStateFromBool(self.protectUserNameCheckButton, metaData.protectUserName); + self.protectNotesCheckButton.state = HNHUIStateForBool(metaData.protectNotes); + self.protectPasswortCheckButton.state = HNHUIStateForBool(metaData.protectPassword); + self.protectTitleCheckButton.state = HNHUIStateForBool(metaData.protectTitle); + self.protectURLCheckButton.state = HNHUIStateForBool(metaData.protectUrl); + self.protectUserNameCheckButton.state = HNHUIStateForBool(metaData.protectUserName); [self.encryptionRoundsTextField setIntegerValue:metaData.rounds]; [self.benchmarkButton setEnabled:YES]; } - (void)_setupAdvancedTab:(KPKTree *)tree { - HNHSetStateFromBool(self.enableTrashCheckButton, tree.metaData.useTrash); + HNHUISetStateFromBool(self.enableTrashCheckButton, tree.metaData.useTrash); self.selectTrashGoupPopUpButton.enabled = tree.metaData.useTrash; [self.enableTrashCheckButton bind:NSValueBinding toObject:self.selectTrashGoupPopUpButton withKeyPath:NSEnabledBinding options:nil]; [self _updateTrashFolders:tree]; @@ -200,8 +200,8 @@ self.defaultUsernameTextField.editable = YES; [self _updateTemplateGroup:tree]; - HNHSetStateFromBool(self.enforceKeyChangeCheckButton, tree.metaData.enforceMasterKeyChange); - HNHSetStateFromBool(self.recommendKeyChangeCheckButton, tree.metaData.recommendMasterKeyChange); + HNHUISetStateFromBool(self.enforceKeyChangeCheckButton, tree.metaData.enforceMasterKeyChange); + HNHUISetStateFromBool(self.recommendKeyChangeCheckButton, tree.metaData.recommendMasterKeyChange); [self.enforceKeyChangeIntervalTextField setEnabled:tree.metaData.enforceMasterKeyChange]; [self.recommendKeyChangeIntervalTextField setEnabled:tree.metaData.recommendMasterKeyChange]; diff --git a/MacPass/MPDocumentController.m b/MacPass/MPDocumentController.m index 8fe91208..1ebb3b6a 100644 --- a/MacPass/MPDocumentController.m +++ b/MacPass/MPDocumentController.m @@ -43,7 +43,7 @@ - (void)toggleAllowAllFiles:(id)sender { NSButton *button = (NSButton *)sender; - BOOL allowAllFiles = HNHBoolForState(button.state); + BOOL allowAllFiles = HNHUIBoolForState(button.state); /* Toggle hidden to force a refresh */ self.openPanel.showsHiddenFiles = !self.openPanel.showsHiddenFiles; self.openPanel.allowedFileTypes = allowAllFiles ? nil : @[MPLegacyDocumentUTI, MPXMLDocumentUTI]; diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 58c374bc..a2711929 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -10,7 +10,7 @@ #import -@class HNHRoundedSecureTextField; +@class HNHUIRoundedSecureTextField; @class MPDocument; @interface MPEntryInspectorViewController : MPViewController @@ -18,7 +18,7 @@ @property (weak) IBOutlet NSTextField *titleTextField; @property (weak) IBOutlet NSTextField *usernameTextField; @property (weak) IBOutlet NSTextField *URLTextField; -@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField; +@property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField; @property (weak) IBOutlet NSTextField *uuidTextField; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 2b4ff346..91b112cc 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -329,7 +329,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)_addScrollViewWithView:(NSView *)view atTab:(MPEntryTab)tab { /* ScrollView setup for the General Tab */ - HNHScrollView *scrollView = [[HNHScrollView alloc] init]; + HNHUIScrollView *scrollView = [[HNHUIScrollView alloc] init]; scrollView.actAsFlipped = NO; scrollView.showBottomShadow = NO; scrollView.hasVerticalScroller = YES; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 63667939..31c3fee4 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -75,7 +75,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; @property (strong) IBOutlet NSLayoutConstraint *tableToTopConstraint; @property (strong) NSLayoutConstraint *contextBarTopConstraint; -@property (weak) IBOutlet HNHGradientView *bottomBar; +@property (weak) IBOutlet HNHUIGradientView *bottomBar; @property (weak) IBOutlet NSButton *addEntryButton; @property (weak) IBOutlet NSTextField *footerInfoText; diff --git a/MacPass/MPGroupInspectorViewController.h b/MacPass/MPGroupInspectorViewController.h index a1ca2e84..66053caa 100644 --- a/MacPass/MPGroupInspectorViewController.h +++ b/MacPass/MPGroupInspectorViewController.h @@ -8,19 +8,19 @@ #import "MPViewController.h" @class MPDocument; -@class HNHRoundedTextField; +@class HNHUIRoundedTextField; @interface MPGroupInspectorViewController : MPViewController @property (strong) IBOutlet NSView *contentView; -@property (weak) IBOutlet HNHRoundedTextField *titleTextField; +@property (weak) IBOutlet HNHUIRoundedTextField *titleTextField; @property (weak) IBOutlet NSButton *expiresCheckButton; @property (weak) IBOutlet NSButton *expireDateSelectButton; @property (weak) IBOutlet NSPopUpButton *searchPopupButton; @property (weak) IBOutlet NSPopUpButton *autotypePopupButton; -@property (weak) IBOutlet HNHRoundedTextField *autotypeSequenceTextField; +@property (weak) IBOutlet HNHUIRoundedTextField *autotypeSequenceTextField; - (void)setupBindings:(MPDocument *)document; - (void)beginEditing; diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index bfbdc2c9..9f8dc1d3 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -39,7 +39,7 @@ } - (void)awakeFromNib { - HNHScrollView *scrollView = (HNHScrollView *)self.view; + HNHUIScrollView *scrollView = (HNHUIScrollView *)self.view; scrollView.actAsFlipped = NO; scrollView.showBottomShadow = NO; diff --git a/MacPass/MPInspectorViewController.h b/MacPass/MPInspectorViewController.h index 0e447a7c..da203549 100644 --- a/MacPass/MPInspectorViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -8,12 +8,12 @@ #import "MPViewController.h" -@class HNHGradientView; +@class HNHUIGradientView; @class MPPopupImageView; @interface MPInspectorViewController : MPViewController -@property (weak) IBOutlet HNHGradientView *bottomBar; +@property (weak) IBOutlet HNHUIGradientView *bottomBar; @property (weak) IBOutlet NSTextField *createdTextField; @property (weak) IBOutlet NSTextField *modifiedTextField; @property (weak) IBOutlet NSTextField *noSelectionInfo; diff --git a/MacPass/MPOutlineViewController.h b/MacPass/MPOutlineViewController.h index 5c7c8f75..0e51714f 100644 --- a/MacPass/MPOutlineViewController.h +++ b/MacPass/MPOutlineViewController.h @@ -11,13 +11,13 @@ APPKIT_EXTERN NSString *const MPOutlineViewDidChangeGroupSelection; -@class HNHGradientView; +@class HNHUIGradientView; @class MPDocument; @interface MPOutlineViewController : MPViewController -@property (weak) IBOutlet HNHGradientView *bottomBar; +@property (weak) IBOutlet HNHUIGradientView *bottomBar; - (void)clearSelection; - (void)showOutline; diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 640983a1..722c5fac 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -20,7 +20,7 @@ #import "KeePassKit/KeePassKit.h" #import "KPKNode+IconImage.h" -#import "HNHGradientView.h" +#import "HNHUi/HNHUi.h" #define EXPIRED_GROUP_REFRESH_SECONDS 60 diff --git a/MacPass/MPPasswordEditWindowController.h b/MacPass/MPPasswordEditWindowController.h index 6f19b8aa..84764f53 100644 --- a/MacPass/MPPasswordEditWindowController.h +++ b/MacPass/MPPasswordEditWindowController.h @@ -9,7 +9,7 @@ #import #import "MPSheetWindowController.h" @class MPDocument; -@class HNHRoundedSecureTextField; +@class HNHUIRoundedSecureTextField; @protocol MPPasswordEditWindowDelegate @@ -24,8 +24,8 @@ @interface MPPasswordEditWindowController : MPSheetWindowController -@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField; -@property (weak) IBOutlet HNHRoundedSecureTextField *passwordRepeatTextField; +@property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField; +@property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordRepeatTextField; @property (weak) IBOutlet NSPathControl *keyfilePathControl; @property (weak) IBOutlet NSButton *togglePasswordButton; @property (weak) IBOutlet NSTextField *errorTextField; diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index faebf9df..0527d66f 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -19,7 +19,7 @@ @interface MPPasswordInputController () -@property (weak) IBOutlet HNHRoundedSecureTextField *passwordTextField; +@property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField; @property (weak) IBOutlet NSPathControl *keyPathControl; @property (strong) MPKeyfilePathControlDelegate *pathControlDelegate; @property (weak) IBOutlet NSImageView *errorImageView; From 56db7e83fd5795207e7a4abeb7aa9acc7805aa4d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 9 Nov 2015 10:44:03 +0100 Subject: [PATCH 422/778] Using upgraded KeePassKit Signed-off-by: michael starke --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index a9c67736..04c187a1 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit a9c6773623c66440f76b99a0a68f8a0f9c043eb8 +Subproject commit 04c187a1970b547a426086d4d658e3ef6875ea01 From 04b2d89fb6a0838788cf22db70800837524da367 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 9 Nov 2015 13:54:10 +0100 Subject: [PATCH 423/778] Added test databases (copied from KeePassKit) Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 36 ++++++++------ MacPassTests/Databases/Test_Password_1234.kdb | Bin 0 -> 732 bytes .../Databases/Test_Password_1234.kdbx | Bin 0 -> 1406 bytes MacPassTests/MPDatabaseLoading.m | 6 +-- MacPassTests/MPDatabasePasswordAndKeyfile.m | 47 ------------------ 5 files changed, 23 insertions(+), 66 deletions(-) create mode 100644 MacPassTests/Databases/Test_Password_1234.kdb create mode 100644 MacPassTests/Databases/Test_Password_1234.kdbx delete mode 100644 MacPassTests/MPDatabasePasswordAndKeyfile.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index f5acdd93..b32ca3da 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -26,7 +26,6 @@ 4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F104184E630200E85625 /* 14_BatteryTemplate.pdf */; }; 4C17F108184E6B6C00E85625 /* 31_PrintTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */; }; 4C17F109184E6B6C00E85625 /* 30_TerminalTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */; }; - 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */; }; 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */; }; 4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9884185F71A800943563 /* MPContextBarViewController.m */; }; 4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */; }; @@ -202,6 +201,8 @@ 4CCA8E9B18D91ED9001A6754 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCA8E9A18D91ED9001A6754 /* Quartz.framework */; }; 4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE29179F203B008402BE /* MPOutlineView.m */; }; 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; }; + 4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; }; + 4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */; }; 4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; }; 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; }; 4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; }; @@ -382,7 +383,6 @@ 4C17F104184E630200E85625 /* 14_BatteryTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 14_BatteryTemplate.pdf; sourceTree = ""; }; 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 31_PrintTemplate.pdf; sourceTree = ""; }; 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 30_TerminalTemplate.pdf; sourceTree = ""; }; - 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabasePasswordAndKeyfile.m; sourceTree = ""; }; 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = ""; }; 4C1E9883185F71A800943563 /* MPContextBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextBarViewController.h; sourceTree = ""; }; 4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = ""; }; @@ -665,6 +665,8 @@ 4CCEDE29179F203B008402BE /* MPOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineView.m; sourceTree = ""; }; 4CCEDE2C179F2122008402BE /* MPNotifications.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPNotifications.h; sourceTree = ""; }; 4CCEDE2D179F213B008402BE /* MPNotifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotifications.m; sourceTree = ""; }; + 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdb; sourceTree = ""; }; + 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdbx; sourceTree = ""; }; 4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = ""; }; 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = ""; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; @@ -1027,7 +1029,11 @@ 4C45FB1E178E09ED0010007D /* MacPassTests */ = { isa = PBXGroup; children = ( - 4C4B6E3C1B5E24870082EEF2 /* MacPass */, + 4CCFA12C1BF0CC7A0078E0A1 /* Databases */, + 4C10207E1B750E2F00BFCD59 /* MPTestAutotype.m */, + 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, + 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, + 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, ); path = MacPassTests; @@ -1058,18 +1064,6 @@ name = Settings; sourceTree = ""; }; - 4C4B6E3C1B5E24870082EEF2 /* MacPass */ = { - isa = PBXGroup; - children = ( - 4C10207E1B750E2F00BFCD59 /* MPTestAutotype.m */, - 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, - 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, - 4C19E502178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m */, - 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, - ); - name = MacPass; - sourceTree = ""; - }; 4C4B7EF517A46815000234C7 /* Inspector */ = { isa = PBXGroup; children = ( @@ -1365,6 +1359,15 @@ name = Products; sourceTree = ""; }; + 4CCFA12C1BF0CC7A0078E0A1 /* Databases */ = { + isa = PBXGroup; + children = ( + 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */, + 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */, + ); + path = Databases; + sourceTree = ""; + }; 4CDB556616E29A8A00635918 /* Controls */ = { isa = PBXGroup; children = ( @@ -1631,6 +1634,8 @@ buildActionMask = 2147483647; files = ( 4C45FB23178E09ED0010007D /* InfoPlist.strings in Resources */, + 4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */, + 4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1778,7 +1783,6 @@ files = ( 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */, 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, - 4C19E503178E2871002F2CD0 /* MPDatabasePasswordAndKeyfile.m in Sources */, 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, 4C10207F1B750E2F00BFCD59 /* MPTestAutotype.m in Sources */, ); diff --git a/MacPassTests/Databases/Test_Password_1234.kdb b/MacPassTests/Databases/Test_Password_1234.kdb new file mode 100644 index 0000000000000000000000000000000000000000..7f9c0ddbfbf45dbb612f63c874f74d887e54bb97 GIT binary patch literal 732 zcmV<20wetc*`k_d`%AS00000200RJ%!N5#@JIF?C9VB(qLvB(}RB6|cs;B2Z{=7$v zXysZ0000020002ZP$vmWaW(l+sz=W>y%_R@HrO2pfv*yt@>eiw$^*Snum&M&?C5ER zo8$@jKK#RI$?=TpI^GNdwfU)vO8-Jo!vFx&zMc$A;R@BaMq%RHT%s#1paD&|m}~;{ z*KwH}y8k?92dBjP6tZZN0cwHWB5)RqYFYH{^~dj-@8`uYBsbcxbFy8JtEd{ zpa+x=?0Oy)S4^vSLfkTT&2X+VU%j7u3`bi6R3KMEEdZRKmuzdn zO+!VPj*KfG@(WZivryqATQ3|K4vevl7%*->C&sMt0$&$$GdFy9bYX+qU z(YbBC;W+|W=U)tc1P;y1RZXpJ)k>+HB>e2uh6%yT? z`p-M9-w6i2GF*wFOl$WZRvt4ksN49AEc1#`?@wmx+l$$;*8|qq^JpR38LQ*=^_BTT z)~kImAiVSJxHy1yu2fvuUnd0VD4}(SC`n6tHkJ$6Ofw`8@c9wwOwD`BPPJ`|ey*GI O_B$2u3mh+O0aL`3#ARau literal 0 HcmV?d00001 diff --git a/MacPassTests/Databases/Test_Password_1234.kdbx b/MacPassTests/Databases/Test_Password_1234.kdbx new file mode 100644 index 0000000000000000000000000000000000000000..08fa7cdf8119e63b8ee0489f5f58c7788bcb6575 GIT binary patch literal 1406 zcmV-^1%dhl*`k_f`%AR}00RI55CAd3^5(yBLr}h01tDtuTK@wC0096100bZa7bRR- zHgvl?@Ek_=&V6F{8B}|h*w8|YUc{4@LO>rN1t0+Wno$UqMmUCmZ{x)kSM7u=QJUcr zLTq2_2*=J7nZVfw2mnyS00000000LN0E~@U@zVWuZ|Y!bOi3um*9ag0T@v*Q`V)%& zyI-vwj(Jamv_)b)9PHr z*N&B-+?pI6=ZLD;F09El>+DY~j+(sY9AP|icj?eTmj6UbD+9Em(Hl0txXJdk*~^(@ zAoi9$$5CQ!L34GFR3x;DZ>40GU;Q3&kSNsqypLsz13{(fwFB7lPSJlksZwz1-e{67=X>@W| z5ERh~qKP3n-Z=Bp{tQz&Fg{~Kq9yG4iLT@yQC+c7d}pU4itMhO-NM4?!U1`MIE3TN zv?pD}>^CqA?*)GwG5DEo=ErcRWD7Gh9_@QMtg@(4^`f;(hRpsSK;c_>q1tFMC!KnN zV*)#%f>2Df)v7YJv!eR9E5S9Ja$7$Oi+>(MIW^9H-Ql^a4&*kdoUVD+cL6>H6FE>t zC^*NWKH$2hXZ4pgYGC4G-OIgyjC&!l(Kf>lpy^V+GPk229t=8ap9sqg8404z6bajC z!Oasd;st*I3k?908zY@b0?=3YCD=ztZQxeE*9y}LOh!L~5p#)_RDC7;OU{O6O2Bj0 z0kQNu-~q{L&{5hyG9BQ0gWgx@2U@r#wLuVTDc;m-fW~lE??Y#WxzE$q8rPJ3g)&u> zeIXuVYo&n=!pPF$EJwOi1GQ7{p0+cz+h?%K7NzC#Ld`O5h{A??5?!V;qv#ByB7ATe z7!>?Y9(Zz$`9{v(EZd%pj~fpr2Z$ydxB)wMQ{Eol`M+Z+z$b$QMPaOS>tqTiZgL&# zM_8eDZWz%p6%)6-Ecbi4&Z;}2hLs;k>Fu5sHZGO@OX(mtk2@*^N!l$SFF;C4X7~vm zfUaWz)U`cV^FL6=ttKyvVeAayIYB;RncRMr|GrJ}R@%+-cQV;KMWU=hA))@War7k_ z{r*+y4x|Z`iBCRxiuMyDj)CO-O-%)R=LH@L zvdO6XNi_^4#+13Y0=)j&n|)9W8U&fp$U9`ZUm)A&4~s3@e&J`76dgO7xYB2?^sDsa z=F7%3R0!87(nC7i2{+74auzw+q1alRmM|}IgH~-RdM5lw{z(!XO)x*hE9iEy6sfe^ zn0-DN(hm@<=mvE?h?`!Na9}7f^J*d&Ad0JJrmlZhzEn6)-2_Orb`jK;m*9J&z$OZlvmE|V)nSh zFs~rku1Jq(4Nnm1ky`I-bsYNfWy7HJWVjwEI7z^8X)@*c^&@Z-yYwbPB@Vqg+Uz)y z4Qzc^V$h6ruPZEvbp~E0L^oZMt`rSkX^A};y}-bhS!5n(xa!Je9;@Rne2Q?pWGq4d z!NqgCymXYkLXTc8VAl}~&%*BgS`dV!g<_LF3gFi^H1;fu1_XwdO@yFo&>*i?`mtG% Mfjha6^*hdxUuu1kS^xk5 literal 0 HcmV?d00001 diff --git a/MacPassTests/MPDatabaseLoading.m b/MacPassTests/MPDatabaseLoading.m index 826b348d..0e060040 100644 --- a/MacPassTests/MPDatabaseLoading.m +++ b/MacPassTests/MPDatabaseLoading.m @@ -19,7 +19,7 @@ - (void)testLoadVersion1 { - NSBundle *myBundle = [NSBundle bundleForClass:[KPKTree class]]; + NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; NSURL *url = [myBundle URLForResource:@"Test_Password_1234" withExtension:@"kdb"]; NSError *error = nil; MPDocument *document = [[MPDocument alloc] initWithContentsOfURL:url ofType:@"kdb" error:&error]; @@ -33,7 +33,7 @@ } - (void)testVersion1WrongPassword { - NSBundle *myBundle = [NSBundle bundleForClass:[KPKTree class]]; + NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; NSURL *url = [myBundle URLForResource:@"Test_Password_1234" withExtension:@"kdb"]; NSError *error = nil; MPDocument *document = [[MPDocument alloc] initWithContentsOfURL:url ofType:@"kdb" error:&error]; @@ -45,7 +45,7 @@ } - (void)testLoadDatabaseVerions2 { - NSBundle *myBundle = [NSBundle bundleForClass:[KPKTree class]]; + NSBundle *myBundle = [NSBundle bundleForClass:[self class]]; NSURL *url = [myBundle URLForResource:@"Test_Password_1234" withExtension:@"kdbx"]; NSError *error = nil; MPDocument *document = [[MPDocument alloc] initWithContentsOfURL:url ofType:@"kdbx" error:&error]; diff --git a/MacPassTests/MPDatabasePasswordAndKeyfile.m b/MacPassTests/MPDatabasePasswordAndKeyfile.m deleted file mode 100644 index f36f3a43..00000000 --- a/MacPassTests/MPDatabasePasswordAndKeyfile.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// MPDatabasePasswordAndKeyfile.m -// MacPass -// -// Created by Michael Starke on 11.07.13. -// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. -// - - -#import - -#import "MPDocument.h" -#import "KeePassKit/KeePassKit.h" - -@interface MPDatabasePasswordAndKeyfile : XCTestCase { - MPDocument *_database; -} -@end - -@implementation MPDatabasePasswordAndKeyfile - -- (void)setUp { - _database = [[MPDocument alloc] init]; -} - -- (void)tearDown { - _database = nil; -} - -- (void)testSetPassword { - XCTAssertNil(_database.compositeKey, @"New database should not have a composite key"); - XCTAssertTrue([_database changePassword:@"password" keyFileURL:nil], @"Setting the Password should succeed"); - XCTAssertFalse([_database changePassword:nil keyFileURL:nil], @"resetting the password and key to nil should not work"); -} - -- (void)testSetKeyfile {/* - STAssertTrue([_database.password length] == 0, @"Password should not be set"); - STAssertNil(_database.key, @"Keyfile should not be set"); - STAssertFalse(_database.hasPasswordOrKey, @"Database without keyfile is not secure"); - _database.key = [NSURL URLWithString:@"noKeyFile"]; - STAssertTrue(_database.hasPasswordOrKey, @"Database with keyfile is secured"); - _database.key = nil; - STAssertFalse(_database.hasPasswordOrKey, @"Database with removed keyfile is not secure anymore");*/ -} - - -@end From 3f287e1de88e0741129c16bd676f396947093b50 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 9 Nov 2015 20:22:20 +0100 Subject: [PATCH 424/778] Using new KeePassKit Signed-off-by: michael starke --- KeePassKit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeePassKit b/KeePassKit index 04c187a1..5e72920e 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 04c187a1970b547a426086d4d658e3ef6875ea01 +Subproject commit 5e72920ee6d34d2bdf66cc6b290e4d9076bbe28b From 4dcc983a41bf2db03bc6b8934080ca1090dcadf1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 9 Nov 2015 20:22:27 +0100 Subject: [PATCH 425/778] Added plugin settings stub Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 10 +++ MacPass/Base.lproj/GeneralSettings.xib | 85 ++++++++++-------- MacPass/Base.lproj/IntegrationSettings.xib | 49 ++++++++--- MacPass/Base.lproj/UpdateSettings.xib | 24 +++--- MacPass/Base.lproj/WorkflowSettings.xib | 62 +++++++------- MacPass/MPPluginManager.m | 2 - MacPass/MPPluginSettingsController.h | 14 +++ MacPass/MPPluginSettingsController.m | 61 +++++++++++++ MacPass/MPSettingsTab.h | 2 +- MacPass/MPSettingsWindowController.m | 52 ++++++----- MacPass/PluginSettings.xib | 95 +++++++++++++++++++++ MacPass/en.lproj/Localizable.strings | Bin 12148 -> 12210 bytes 12 files changed, 335 insertions(+), 121 deletions(-) create mode 100644 MacPass/MPPluginSettingsController.h create mode 100644 MacPass/MPPluginSettingsController.m create mode 100644 MacPass/PluginSettings.xib diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index b32ca3da..2e210357 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -30,6 +30,8 @@ 4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9884185F71A800943563 /* MPContextBarViewController.m */; }; 4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */; }; 4C224B4217DFCB2400FF6AEE /* MPNumericalInputFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */; }; + 4C25703F1BF11C2300D39416 /* MPPluginSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */; }; + 4C2570401BF11C2300D39416 /* PluginSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25703E1BF11C2300D39416 /* PluginSettings.xib */; }; 4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; }; 4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */; }; 4C26C34B18D8D5A300CF1A1C /* MPPreviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */; }; @@ -391,6 +393,9 @@ 4C21F29F195B3A48002D610D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = ""; }; 4C224B4017DFCB2300FF6AEE /* MPNumericalInputFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNumericalInputFormatter.h; sourceTree = ""; }; 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNumericalInputFormatter.m; sourceTree = ""; }; + 4C25703C1BF11C2300D39416 /* MPPluginSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginSettingsController.h; sourceTree = ""; }; + 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginSettingsController.m; sourceTree = ""; }; + 4C25703E1BF11C2300D39416 /* PluginSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PluginSettings.xib; sourceTree = ""; }; 4C25D58616CF0FAA00F6806C /* EntryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EntryView.xib; sourceTree = ""; }; 4C26C33D18D8C92100CF1A1C /* MPTemporaryFileStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTemporaryFileStorage.h; sourceTree = ""; }; 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorage.m; sourceTree = ""; }; @@ -1060,6 +1065,8 @@ 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */, 4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */, 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */, + 4C25703C1BF11C2300D39416 /* MPPluginSettingsController.h */, + 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */, ); name = Settings; sourceTree = ""; @@ -1453,6 +1460,7 @@ 6021FE5818E1429500C3BC51 /* IntegrationSettings.xib */, 6021FE6318E15D9100C3BC51 /* WorkflowSettings.xib */, 6021FE6E18E15E6D00C3BC51 /* UpdateSettings.xib */, + 4C25703E1BF11C2300D39416 /* PluginSettings.xib */, ); name = Settings; sourceTree = ""; @@ -1754,6 +1762,7 @@ 4C7ABA4E17BAEC7000FF5799 /* addEntryTemplate.pdf in Resources */, 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */, 4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */, + 4C2570401BF11C2300D39416 /* PluginSettings.xib in Resources */, 4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1848,6 +1857,7 @@ 4C3C4EA218D6FEA100153127 /* NSValueTransformer+TransformerKit.m in Sources */, 4CA0F3ED1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m in Sources */, 4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */, + 4C25703F1BF11C2300D39416 /* MPPluginSettingsController.m in Sources */, 4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */, 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */, 4C74DD07177BD1640034A9DB /* MPCustomFieldView.m in Sources */, diff --git a/MacPass/Base.lproj/GeneralSettings.xib b/MacPass/Base.lproj/GeneralSettings.xib index de0f5e29..8a083e67 100644 --- a/MacPass/Base.lproj/GeneralSettings.xib +++ b/MacPass/Base.lproj/GeneralSettings.xib @@ -1,8 +1,9 @@ - + - + + @@ -24,7 +25,7 @@ - + @@ -33,6 +34,7 @@ + @@ -44,6 +46,7 @@ + @@ -64,6 +67,7 @@ + @@ -71,6 +75,7 @@ + @@ -86,8 +91,9 @@
- + @@ -103,6 +110,7 @@ + Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved. @@ -119,6 +128,7 @@ + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + + - - - - - + + + + + + @@ -201,6 +217,7 @@ + diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index 62d67e0c..1f88f281 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -33,19 +33,22 @@ + + @@ -60,6 +63,7 @@ + @@ -67,14 +71,16 @@ - + + @@ -82,7 +88,8 @@ - + + @@ -90,35 +97,40 @@ - + + @@ -126,7 +138,8 @@ - + + @@ -186,6 +204,7 @@ + @@ -195,6 +214,7 @@ + @@ -212,6 +232,7 @@ + diff --git a/MacPass/Base.lproj/UpdateSettings.xib b/MacPass/Base.lproj/UpdateSettings.xib index 9255bc9d..f1c73b4e 100644 --- a/MacPass/Base.lproj/UpdateSettings.xib +++ b/MacPass/Base.lproj/UpdateSettings.xib @@ -1,8 +1,8 @@ - + - - + + @@ -11,17 +11,16 @@ - + - - - + - + @@ -52,9 +51,9 @@ - + - + @@ -73,7 +72,8 @@ + - \ No newline at end of file + diff --git a/MacPass/Base.lproj/WorkflowSettings.xib b/MacPass/Base.lproj/WorkflowSettings.xib index 1c0c551e..8d966f55 100644 --- a/MacPass/Base.lproj/WorkflowSettings.xib +++ b/MacPass/Base.lproj/WorkflowSettings.xib @@ -1,8 +1,9 @@ - + - - + + + @@ -14,30 +15,28 @@ - + - - - + - + - + - + - + @@ -49,18 +48,18 @@
diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index a5743776..51f98ee6 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -44,12 +44,10 @@ return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES]; } - - (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { return nil; } - - (void)_loadPlugins { } diff --git a/MacPass/MPPluginSettingsController.h b/MacPass/MPPluginSettingsController.h new file mode 100644 index 00000000..6241cc20 --- /dev/null +++ b/MacPass/MPPluginSettingsController.h @@ -0,0 +1,14 @@ +// +// MPPluginSettingsController.h +// MacPass +// +// Created by Michael Starke on 09/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPViewController.h" +#import "MPSettingsTab.h" + +@interface MPPluginSettingsController : MPViewController + +@end diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m new file mode 100644 index 00000000..5af5fc3f --- /dev/null +++ b/MacPass/MPPluginSettingsController.m @@ -0,0 +1,61 @@ +// +// MPPluginSettingsController.m +// MacPass +// +// Created by Michael Starke on 09/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPPluginSettingsController.h" + +NSString *const _kMPPluginTableNameColumn = @"Name"; +NSString *const _kMPPluginTableLoadedColumn = @"Loaded"; + +@interface MPPluginSettingsController () +@property (weak) IBOutlet NSTableView *pluginTableView; + +@end + +@implementation MPPluginSettingsController + +- (NSString *)nibName { + return @"PluginSettings"; +} + +- (NSString *)identifier { + return @"Plugins"; +} + +- (NSImage *)image { + return [NSImage imageNamed:NSImageNameApplicationIcon]; +} + +- (NSString *)label { + return NSLocalizedString(@"PLUGIN_SETTINGS", ""); +} + +- (void)didLoadView { + self.pluginTableView.tableColumns[0].identifier = _kMPPluginTableNameColumn; + self.pluginTableView.tableColumns[1].identifier = _kMPPluginTableLoadedColumn; + self.pluginTableView.tableColumns[0].title = NSLocalizedString(@"PLUGIN_TABLE_NAME_HEADER", ""); + self.pluginTableView.tableColumns[1].title = NSLocalizedString(@"PLUGIN_TABLE_LOAD_HEADER", ""); + + //self.pluginTableView.delegate = self; + self.pluginTableView.dataSource = self; +} + +- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { + return 2; +} + +- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { + if([tableColumn.identifier isEqualToString:_kMPPluginTableLoadedColumn]) { + return @YES; + } + else if([tableColumn.identifier isEqualToString:_kMPPluginTableNameColumn]) { + return @"DummyPlugin"; + } + return nil; +} + +@end diff --git a/MacPass/MPSettingsTab.h b/MacPass/MPSettingsTab.h index 622a5e21..cd090a7a 100644 --- a/MacPass/MPSettingsTab.h +++ b/MacPass/MPSettingsTab.h @@ -15,7 +15,7 @@ @protocol MPSettingsTab @required -- (NSString *)identifier; +@property (readonly, copy) NSString *identifier; @optional - (NSString *)label; diff --git a/MacPass/MPSettingsWindowController.m b/MacPass/MPSettingsWindowController.m index 65a26a35..41977fd2 100644 --- a/MacPass/MPSettingsWindowController.m +++ b/MacPass/MPSettingsWindowController.m @@ -11,6 +11,7 @@ #import "MPIntegrationSettingsController.h" #import "MPWorkflowSettingsController.h" #import "MPUpdateSettingsController.h" +#import "MPPluginSettingsController.h" @interface MPSettingsWindowController () { NSString *lastIdentifier; @@ -74,9 +75,9 @@ if([tab respondsToSelector:@selector(willShowTab)]) { [tab willShowTab]; } - NSView *contentView = [[self window] contentView]; - if( [[contentView subviews] count] == 1) { - [[contentView subviews][0] removeFromSuperview]; + NSView *contentView = self.window.contentView; + if( contentView.subviews.count == 1) { + [contentView.subviews.firstObject removeFromSuperview]; } [contentView addSubview:tabView]; [contentView layout]; @@ -93,7 +94,7 @@ if([tab respondsToSelector:@selector(didShowTab)]) { [tab didShowTab]; } - [[self window] makeKeyAndOrderFront:[self window]]; + [self.window makeKeyAndOrderFront:nil]; } - (void)_addSettingsTab:(id)tabController { @@ -109,7 +110,7 @@ userInfo:nil]; @throw controllerException; } - NSString *identifier = [tabController identifier]; + NSString *identifier = tabController.identifier; if(nil != self.settingsController[identifier]) { NSLog(@"Warning: Settingscontroller with identifier %@ already present!", identifier); } @@ -119,22 +120,17 @@ } - (void)_setupDefaultSettingsTabs { - MPGeneralSettingsController *generalSettingsController = [[MPGeneralSettingsController alloc] init]; - MPIntegrationSettingsController *integrationSettingsController = [[MPIntegrationSettingsController alloc] init]; - MPWorkflowSettingsController *workflowSettingsController = [[MPWorkflowSettingsController alloc] init]; - MPUpdateSettingsController *updateSettingsController = [[MPUpdateSettingsController alloc] init]; - - [self _addSettingsTab:generalSettingsController]; - [self _addSettingsTab:integrationSettingsController]; - [self _addSettingsTab:workflowSettingsController]; - [self _addSettingsTab:updateSettingsController]; - - self.defaultToolbarItems = @[ [generalSettingsController identifier], - [integrationSettingsController identifier], - [workflowSettingsController identifier], - [updateSettingsController identifier]]; - - + NSArray *controllers = @[ [[MPGeneralSettingsController alloc] init], + [[MPIntegrationSettingsController alloc] init], + [[MPWorkflowSettingsController alloc] init], + [[MPUpdateSettingsController alloc] init], + [[MPPluginSettingsController alloc] init] ]; + NSMutableArray *identifier = [[NSMutableArray alloc] initWithCapacity:controllers.count]; + for(id controller in controllers) { + [self _addSettingsTab:controller]; + [identifier addObject:controller.identifier]; + } + self.defaultToolbarItems = [identifier copy]; } - (void)_showSettingsTab:(id)sender { @@ -147,7 +143,7 @@ #pragma mark NSToolbarDelegate - (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar { - return [self.settingsController allKeys]; + return self.settingsController.allKeys; } - (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar { @@ -155,7 +151,7 @@ } - (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar { - return [self.settingsController allKeys]; + return self.settingsController.allKeys; } - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag { @@ -168,19 +164,19 @@ */ id tab = self.settingsController[itemIdentifier]; if([tab respondsToSelector:@selector(label)]) { - [item setLabel:[tab label]]; + item.label = [tab label]; } else { - [item setLabel:itemIdentifier]; + item.label = itemIdentifier; } if([tab respondsToSelector:@selector(image)]) { - [item setImage:[tab image]]; + item.image = [tab image]; } else { - [item setImage:[NSImage imageNamed:NSImageNameCaution ]]; + item.image = [NSImage imageNamed:NSImageNameCaution]; } - [item setAction:@selector(_showSettingsTab:)]; + item.action = @selector(_showSettingsTab:); self.toolbarItems[itemIdentifier] = item; } return item; diff --git a/MacPass/PluginSettings.xib b/MacPass/PluginSettings.xib new file mode 100644 index 00000000..bbfdcea9 --- /dev/null +++ b/MacPass/PluginSettings.xib @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index c667b471a8da75732d38d7315f4f897242332bd8..0222f29b9dde0abb4ce5afc6d42e0adb73fbde72 100644 GIT binary patch delta 45 zcmewow<&(Z3k6;!h5!a1hEN7~22TdR$-eTkd;ttO45bX|44Djh48;taA1O@Y0{}C2 B40`|o delta 12 TcmdlK|0Qn23x&;UiamS)D~AQJ From a21e027998fac34fb8e3091a9235a58a81b23012 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 12 Nov 2015 11:37:57 +0100 Subject: [PATCH 426/778] Updated Readme Signed-off-by: michael starke --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d7a3cb72..9dcec2a8 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,8 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. The stable 0.4.3 release only supports the version 1 format. The Alpha can read database version 1 and 2 and write version 2 containers rather nicely. -It's in active development and open source. Since Alpha 4 the random password generator has found it's way back into the Alpha releases, version 0.4.3 includes one as well. The Alpha fully supports all database 2 features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. The stable 0.4.3 release only supports the version 1 format. The Beta can read database version 1 and 2 and write version 2 containers rather nicely. +It's in active development and open source. The Beta fully supports all database 2 features and should be stable enough for daily usage. It can import version 1 into a version 2 file but is unable to natively write version 1 files. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatiblity. Should be able to read and write database version 1 and 2. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all version 2 features are supported. It is unable to convert between database versions. @@ -135,7 +135,9 @@ along with this program. If not, see . This Project is based upon the following work: -[KissXML](https://github.com/robbiehanson/KissXML) Copyright 2012 Robbie Hanson. All rights reserved. +[KeePassKit](https://github.com/mstarke/KeePassKit) Copyright 2012 HicknHack Software GmbH. All rights reserved. + +[HNHUi](https://github.com/mstarke/HNHUi) Copyright 2012 HicknHack Software GmbH. All rights reserved. [MiniKeePass](https://github.com/MiniKeePass/MiniKeePass) Copyright 2011 Jason Rush and John Flanagan. All rights reserved. @@ -143,8 +145,6 @@ This Project is based upon the following work: [PXSourceList](https://github.com/Perspx/PXSourceList) Copyright 2011, Alex Rozanski. All rights reserved. -[CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer ) Copyright 2011, Deusty, LLC. All rights reserved. - [KSPasswordField](https://github.com/karelia/SecurityInterface) Copyright 2012 Mike Abdullah, Karelia Software. All rights reserved. [DDHotKey](https://github.com/davedelong/DDHotKey) Copyright [Dave DeLong](http://www.davedelong.com). All rights reserved. @@ -157,6 +157,8 @@ This Project is based upon the following work: [ShortcutRecorder](http://wafflesoftware.net/shortcut/) Copyright 2006—2013 all [Shortcut Recorder contributors](http://wafflesoftware.net/shortcut/contributors/) +[NSBundle Codesignature Check](http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/) Copyright 2014 [Jedda Wignall](http://jedda.me). All rights reserved. + See submodules for additional Licenses ##Feedback From e8ab0602e1513455733538d189358fb0e70be509 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 12 Nov 2015 12:43:04 +0100 Subject: [PATCH 427/778] Removed old Code. Added simple plugin system Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 22 +++-- MacPass/Base.lproj/IntegrationSettings.xib | 42 ++------ MacPass/MPAppDelegate.h | 2 +- MacPass/MPAppDelegate.m | 14 ++- MacPass/MPAutotypeDaemon.h | 3 + MacPass/MPAutotypeDaemon.m | 16 +++ MacPass/MPGenericPlugin.h | 28 ------ MacPass/MPIntegrationSettingsController.h | 4 - MacPass/MPIntegrationSettingsController.m | 4 - MacPass/MPLockDaemon.h | 3 +- MacPass/MPLockDaemon.m | 17 ++-- MacPass/MPPlugin.h | 37 +++++++ MacPass/MPPlugin.m | 108 +++++++++++++++++++++ MacPass/MPPluginManager.h | 8 ++ MacPass/MPPluginManager.m | 31 +++++- MacPass/MPPluginSettingsController.m | 59 ++++++++--- MacPass/MPServerRequestHandling.h | 30 ------ MacPass/MPSettingsHelper.h | 8 +- MacPass/MPSettingsHelper.m | 22 +++-- MacPass/MacPass-Info.plist | 19 ++++ MacPass/NSApplication+MPAdditions.h | 22 +++++ MacPass/NSApplication+MPAdditions.m | 41 ++++++++ MacPass/PluginSettings.xib | 71 ++++++++------ 23 files changed, 426 insertions(+), 185 deletions(-) delete mode 100644 MacPass/MPGenericPlugin.h create mode 100644 MacPass/MPPlugin.h create mode 100644 MacPass/MPPlugin.m delete mode 100644 MacPass/MPServerRequestHandling.h create mode 100644 MacPass/NSApplication+MPAdditions.h create mode 100644 MacPass/NSApplication+MPAdditions.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 2e210357..1de00db4 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -231,6 +231,8 @@ 4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE46DC181C301D006BF1E5 /* MPAutotypeDaemon.m */; }; 4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; }; 4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; }; + 4CF5BE6D1BF33E3000048505 /* NSApplication+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */; }; + 4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BEC31BF3461800048505 /* MPPlugin.m */; }; 4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; }; 4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */; }; 4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */; }; @@ -413,7 +415,6 @@ 4C2E382516D1470200037A9D /* MPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPViewController.m; sourceTree = ""; }; 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginManager.h; sourceTree = ""; }; 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginManager.m; sourceTree = ""; }; - 4C31FEBD1B57CE45008E7CE3 /* MPGenericPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGenericPlugin.h; sourceTree = ""; }; 4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = ""; }; 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = ""; }; 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = ""; }; @@ -717,9 +718,12 @@ 4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+Messages.h"; sourceTree = ""; }; 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+Messages.m"; sourceTree = ""; }; 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = ""; }; + 4CF5BE6B1BF33E3000048505 /* NSApplication+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+MPAdditions.h"; sourceTree = ""; }; + 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+MPAdditions.m"; sourceTree = ""; }; + 4CF5BEC21BF3461800048505 /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPlugin.h; sourceTree = ""; }; + 4CF5BEC31BF3461800048505 /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPlugin.m; sourceTree = ""; }; 4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStringLengthValueTransformer.h; sourceTree = ""; }; 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStringLengthValueTransformer.m; sourceTree = ""; }; - 4CF6C715176F5183007A811D /* MPServerRequestHandling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPServerRequestHandling.h; sourceTree = ""; }; 4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationSettingsController.h; sourceTree = ""; }; 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIntegrationSettingsController.m; sourceTree = ""; }; 4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPUpdateSettingsController.h; sourceTree = ""; }; @@ -881,6 +885,8 @@ 4C104129178CDD26001B5239 /* Categories */ = { isa = PBXGroup; children = ( + 4CF5BE6B1BF33E3000048505 /* NSApplication+MPAdditions.h */, + 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */, 4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */, 4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */, 4C10412A178CDD44001B5239 /* NSDate+Humanized.h */, @@ -944,14 +950,15 @@ name = Helper; sourceTree = ""; }; - 4C31FEBC1B57CDE0008E7CE3 /* Plugins */ = { + 4C31FEBC1B57CDE0008E7CE3 /* Plugin */ = { isa = PBXGroup; children = ( 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */, 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */, - 4C31FEBD1B57CE45008E7CE3 /* MPGenericPlugin.h */, + 4CF5BEC21BF3461800048505 /* MPPlugin.h */, + 4CF5BEC31BF3461800048505 /* MPPlugin.m */, ); - name = Plugins; + name = Plugin; sourceTree = ""; }; 4C37A84115B8B47D005EF8EE /* Delegates */ = { @@ -1231,7 +1238,7 @@ 4C77E36C15B84A240093A587 /* MacPass */ = { isa = PBXGroup; children = ( - 4C31FEBC1B57CDE0008E7CE3 /* Plugins */, + 4C31FEBC1B57CDE0008E7CE3 /* Plugin */, 4C217D8E17A32BCF00609FAA /* Common */, 4C104129178CDD26001B5239 /* Categories */, 4C89F525182FB4C50069C73C /* Autotype */, @@ -1347,7 +1354,6 @@ 4CA0B30E15BCB70200654E32 /* Protocolls */ = { isa = PBXGroup; children = ( - 4CF6C715176F5183007A811D /* MPServerRequestHandling.h */, 4CA0B30D15BCB6FD00654E32 /* MPSettingsTab.h */, 4C2B0B7419F66F6400E48913 /* MPTargetNodeResolving.h */, ); @@ -1802,6 +1808,7 @@ buildActionMask = 2147483647; files = ( 4C77E37315B84A240093A587 /* main.m in Sources */, + 4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */, 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */, 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */, @@ -1847,6 +1854,7 @@ 4C3C4EA618D6FEA100153127 /* TTTJSONTransformer.m in Sources */, 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */, 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, + 4CF5BE6D1BF33E3000048505 /* NSApplication+MPAdditions.m in Sources */, 4CE30ACC1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m in Sources */, 4C6F228C19A4AA700012310C /* MPAutotypeDelay.m in Sources */, 4C3C4EA718D6FEA100153127 /* TTTStringTransformers.m in Sources */, diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index 1f88f281..4ed94a5f 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -10,7 +10,6 @@ - @@ -24,34 +23,8 @@ - + - - - - - - - - - - - - - - - - - - - @@ -221,15 +194,12 @@ - + - - - - - + + diff --git a/MacPass/MPAppDelegate.h b/MacPass/MPAppDelegate.h index 815c24bd..727173f6 100644 --- a/MacPass/MPAppDelegate.h +++ b/MacPass/MPAppDelegate.h @@ -32,6 +32,7 @@ APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; @property (strong) IBOutlet NSWindow *welcomeWindow; @property (strong) MPAutotypeDaemon *autotypeDaemon; @property (weak) IBOutlet NSMenuItem *saveMenuItem; + @property (nonatomic, assign) BOOL isAllowedToStoreKeyFile; - (IBAction)showPreferences:(id)sender; @@ -45,7 +46,6 @@ APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; */ - (IBAction)clearRememberdKeyFiles:(id)sender; -- (NSString *)applicationName; - (void)lockAllDocuments; @end \ No newline at end of file diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index a83a3233..71a66f3b 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -29,6 +29,7 @@ #import "MPDocumentWindowController.h" #import "MPLockDaemon.h" #import "MPPasswordCreatorViewController.h" +#import "MPPluginManager.h" #import "MPSettingsHelper.h" #import "MPSettingsWindowController.h" #import "MPStringLengthValueTransformer.h" @@ -41,7 +42,6 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi @interface MPAppDelegate () { @private - MPLockDaemon *lockDaemon; MPDockTileHelper *dockTileHelper; BOOL _shouldOpenFile; // YES if app was started to open a } @@ -153,13 +153,11 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } - (void)applicationDidFinishLaunching:(NSNotification *)notification { - lockDaemon = [[MPLockDaemon alloc] init]; - self.autotypeDaemon = [[MPAutotypeDaemon alloc] init]; - //dockTileHelper = [[MPDockTileHelper alloc] init]; -} - -- (NSString *)applicationName { - return [[NSBundle mainBundle] infoDictionary][@"CFBundleName"]; + /* Daemon instanziieren */ + [MPLockDaemon defaultDaemon]; + [MPAutotypeDaemon defaultDaemon]; + /* Load plugins */ + [[MPPluginManager sharedManager] loadPlugins]; } #pragma mark - diff --git a/MacPass/MPAutotypeDaemon.h b/MacPass/MPAutotypeDaemon.h index ea15f58c..ce117b69 100644 --- a/MacPass/MPAutotypeDaemon.h +++ b/MacPass/MPAutotypeDaemon.h @@ -20,6 +20,9 @@ @property (weak) IBOutlet NSPopUpButton *matchSelectionButton; @property (readonly, strong) DDHotKey *registredHotKey; ++ (instancetype)defaultDaemon; +- (instancetype)init NS_UNAVAILABLE; + - (void)performAutotypeForEntry:(KPKEntry *)entry; - (IBAction)performAutotypeWithSelectedMatch:(id)sender; - (IBAction)cancelAutotypeSelection:(id)sender; diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 3f1e5ea7..6983dcbb 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -43,7 +43,23 @@ NSString *const kMPProcessIdentifierKey = @"kMPProcessIdentifierKey"; #pragma mark - #pragma mark Lifecylce + +static MPAutotypeDaemon *_sharedInstance; + ++ (instancetype)defaultDaemon { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _sharedInstance = [[MPAutotypeDaemon alloc] _init]; + }); + return _sharedInstance; +} + - (instancetype)init { + return nil; +} + +- (instancetype)_init { + NSAssert(_sharedInstance == nil, @"Multiple initializations not allowed on singleton"); self = [super init]; if (self) { _enabled = NO; diff --git a/MacPass/MPGenericPlugin.h b/MacPass/MPGenericPlugin.h deleted file mode 100644 index 901eae69..00000000 --- a/MacPass/MPGenericPlugin.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// MPGenericPlugin.h -// MacPass -// -// Created by Michael Starke on 16/07/15. -// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. -// - -#import - -@class MPPluginManager - -@protocol MPGenericPlugin - -@required -@property (readonly) NSString *name; -@property (readonly) NSString *version; -@property (readonly) NSInteger *versionNumber; - -- (instancetype)initWithPluginManager:(MPPluginManager *)manager; - -@optional -- (void)manager:(MPPluginManager *)manager willAddNode:(KPKNode *)node; -- (void)manager:(MPPluginManager *)manager didAddNode(KPKNode *)node; -- (void)manager:(MPPluginManager *)manager willRemoveNode:(KPKNode *)node; -- (void)manager:(MPPluginManager *)manager didRemoveNode:(KPKNode *)node; - -@end diff --git a/MacPass/MPIntegrationSettingsController.h b/MacPass/MPIntegrationSettingsController.h index 0167d4af..e64167e7 100644 --- a/MacPass/MPIntegrationSettingsController.h +++ b/MacPass/MPIntegrationSettingsController.h @@ -12,10 +12,6 @@ @class DDHotKeyTextField; @interface MPIntegrationSettingsController : MPViewController - -/* Keepass HTTP */ -@property (weak) IBOutlet NSButton *enableServerCheckBox; - /* Autotype */ @property (weak) IBOutlet NSButton *enableGlobalAutotypeCheckBox; @property (weak) IBOutlet DDHotKeyTextField *hotKeyTextField; diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index e2088508..895d0042 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -40,17 +40,13 @@ - (void)awakeFromNib { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; - NSString *serverKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableHttpServer]; NSString *enableGlobalAutotypeKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableGlobalAutotype]; NSString *quicklookKeyPath = [MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEnableQuicklookPreview]; - [self.enableServerCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:serverKeyPath options:nil]; - [self.enableServerCheckBox setEnabled:NO]; [self.enableGlobalAutotypeCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; [self.enableQuicklookCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:quicklookKeyPath options:nil]; [self.hotKeyTextField bind:NSEnabledBinding toObject:defaultsController withKeyPath:enableGlobalAutotypeKeyPath options:nil]; self.hotKeyTextField.delegate = self; - [self.matchTitleCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchTitle ] options:nil]; [self.matchURLCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchURL] options:nil]; [self.matchHostCheckBox bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyAutotypeMatchHost] options:nil]; diff --git a/MacPass/MPLockDaemon.h b/MacPass/MPLockDaemon.h index 891f5d45..0b1068af 100644 --- a/MacPass/MPLockDaemon.h +++ b/MacPass/MPLockDaemon.h @@ -10,6 +10,7 @@ @interface MPLockDaemon : NSObject -+ (MPLockDaemon *)sharedInstance; ++ (instancetype)defaultDaemon; ++ (instancetype)init NS_UNAVAILABLE; @end diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index fc3a036b..8c6e3129 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -22,16 +22,22 @@ @implementation MPLockDaemon -+ (MPLockDaemon *)sharedInstance { - static id sharedInstance; +static MPLockDaemon *_sharedInstance; + ++ (instancetype)defaultDaemon { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - sharedInstance = [[MPLockDaemon alloc] init]; + _sharedInstance = [[MPLockDaemon alloc] _init]; }); - return sharedInstance; + return _sharedInstance; } -- (id)init { +- (instancetype)init { + return nil; +} + +- (instancetype)_init { + NSAssert(_sharedInstance == nil, @"Multiple instances of MPLockDaemon not allowed!"); self = [super init]; if (self) { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; @@ -47,7 +53,6 @@ /* Timer */ [NSEvent removeMonitor:self.eventHandler]; - } - (void)setLockOnSleep:(BOOL)lockOnSleep { diff --git a/MacPass/MPPlugin.h b/MacPass/MPPlugin.h new file mode 100644 index 00000000..4a29a864 --- /dev/null +++ b/MacPass/MPPlugin.h @@ -0,0 +1,37 @@ +// +// MPPlugin.h +// MacPass +// +// Created by Michael Starke on 11/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class MPPluginManager; + +FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; + +@interface MPPlugin : NSObject + +@property (copy, readonly) NSString *identifier; +@property (copy, readonly) NSString *name; +@property (copy, readonly) NSString *version; + + ++ (instancetype)pluginWithBundleURL:(NSURL *)url pluginManager:(MPPluginManager *)manager; +- (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER; +- (instancetype)init NS_UNAVAILABLE; + +@end + +@protocol MPPluginSettings + +@required +@property (strong, readonly) NSViewController *settingsViewController; + +@end + +NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/MacPass/MPPlugin.m b/MacPass/MPPlugin.m new file mode 100644 index 00000000..de4b2712 --- /dev/null +++ b/MacPass/MPPlugin.m @@ -0,0 +1,108 @@ +// +// MPPlugin.m +// MacPass +// +// Created by Michael Starke on 11/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPPlugin.h" +#import "MPPluginManager.h" + +NSString *const kMPPluginFileExtension = @"mpplugin"; + +@implementation MPPlugin + ++ (instancetype)pluginWithBundleURL:(NSURL *)url pluginManager:(MPPluginManager *)manager { + if(![self _validURL:url]) { + return nil; + } + NSBundle *pluginBundle = [NSBundle bundleWithURL:url]; + if(!pluginBundle) { + return nil; + } + if(![self _validateClass:pluginBundle.principalClass]) { + return nil; + } + return [[pluginBundle.principalClass alloc] initWithPluginManager:manager]; +} + +- (instancetype)initWithPluginManager:(MPPluginManager *)manager { + self = [super init]; + return self; +} + +- (NSString *)identifier { + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + if(bundle && bundle.bundleIdentifier) { + return bundle.bundleIdentifier; + } + return [NSString stringWithFormat:@"unknown.bundle.identifier"]; +} + +- (NSString *)name { + NSString *name = [self.identifier componentsSeparatedByString:@"."].lastObject; + return nil == name ? @"Unkown Plugin" : name; +} + +- (NSString *)version { + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + NSString *version; + if(bundle) { + version = bundle.infoDictionary[(NSString *)kCFBundleVersionKey]; + if(version) { + return version; + } + } + return @"unknown.version"; +} + ++ (BOOL)_validURL:(NSURL *)url { + return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); +} + ++ (BOOL)_validateClass:(Class)class { + return ([class isSubclassOfClass:[MPPlugin class]]); +} + +/* Code by Jedda Wignall http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/ */ ++ (BOOL)_validSignature:(NSURL *)url { + if(!url.path) { + return NO; + } + NSTask * task = [[NSTask alloc] init]; + NSPipe * pipe = [NSPipe pipe]; + NSArray* args = @[ @"--verify", + /*[NSString stringWithFormat:@"-R=anchor = \"%@\"", [[NSBundle mainBundle] pathForResource:@"BlargsoftCodeCA" ofType:@"cer"]],*/ + url.path ]; + task.launchPath = @"/usr/bin/codesign"; + task.standardOutput = pipe; + task.standardError = pipe; + task.arguments = args; + [task launch]; + [task waitUntilExit]; + + if(task.terminationStatus == 0) { + return YES; + } + NSString * taskString = [[NSString alloc] initWithData:pipe.fileHandleForReading.readDataToEndOfFile encoding:NSASCIIStringEncoding]; + if ([taskString rangeOfString:@"modified"].length > 0 || [taskString rangeOfString:@"a sealed resource is missing or invalid"].length > 0) { + // The plugin has been modified or resources removed since being signed. You probably don't want to load this. + NSLog(@"Plugin modified - not loaded"); // log a real error here + } + else if ([taskString rangeOfString:@"failed to satisfy"].length > 0) { + // The plugin is missing resources since being signed. Don't load. + // throw an error + NSLog(@"Plugin not signed by correct CA - not loaded"); // log a real error here + } + else if ([taskString rangeOfString:@"not signed at all"].length > 0) { + // The plugin was not code signed at all. Don't load. + NSLog(@"Plugin not signed at all - don't load."); // log a real error here + } + else { + // Some other codesign error + } + return NO; +} + +@end diff --git a/MacPass/MPPluginManager.h b/MacPass/MPPluginManager.h index ad395ced..1e97c6d3 100644 --- a/MacPass/MPPluginManager.h +++ b/MacPass/MPPluginManager.h @@ -9,14 +9,22 @@ #import @class KPKNode; +@class MPPlugin; @interface MPPluginManager : NSObject +@property (readonly, copy) NSArray *plugins; + typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); + (instancetype)sharedManager; +- (instancetype)init NS_UNAVAILABLE; + - (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock) matchBlock; - (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock) matchBlock; +- (void)loadPlugins; +- (void)installPluginAtURL:(NSURL *)url; + @end diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 51f98ee6..92a08701 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -9,9 +9,17 @@ #import "MPPluginManager.h" #import "MPDocument.h" +#import "MPPlugin.h" +#import "NSApplication+MPAdditions.h" #import "KeePassKit/KeePassKit.h" +@interface MPPluginManager () + +@property (strong) NSMutableArray *mutablePlugins; + +@end + @implementation MPPluginManager + (instancetype)sharedManager { @@ -29,9 +37,16 @@ - (instancetype)_init { self = [super init]; + if(self) { + _mutablePlugins = [[NSMutableArray alloc] init]; + } return self; } +- (NSArray *)plugins { + return [self.mutablePlugins copy]; +} + - (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock { NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents]; NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200]; @@ -48,8 +63,18 @@ return nil; } -- (void)_loadPlugins { - +- (void)loadPlugins { + NSURL *dir = [NSApp applicationSupportDirectoryURL:YES]; + NSError *error; + NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir includingPropertiesForKeys:@[] options:NSDirectoryEnumerationSkipsHiddenFiles error:&error]; + if(!contentURLs) { + NSLog(@"Error while trying to locate Plugins: %@", error.localizedDescription); + } + for(NSURL *pluginURL in contentURLs) { + MPPlugin *plugin = [MPPlugin pluginWithBundleURL:pluginURL pluginManager:self]; + if(plugin) { + [self.mutablePlugins addObject:plugin]; + } + } } - @end diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index 5af5fc3f..b390aba1 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -7,12 +7,15 @@ // #import "MPPluginSettingsController.h" +#import "MPPluginManager.h" +#import "MPPlugin.h" NSString *const _kMPPluginTableNameColumn = @"Name"; -NSString *const _kMPPluginTableLoadedColumn = @"Loaded"; -@interface MPPluginSettingsController () +@interface MPPluginSettingsController () + @property (weak) IBOutlet NSTableView *pluginTableView; +@property (weak) IBOutlet NSView *settingsView; @end @@ -36,26 +39,52 @@ NSString *const _kMPPluginTableLoadedColumn = @"Loaded"; - (void)didLoadView { self.pluginTableView.tableColumns[0].identifier = _kMPPluginTableNameColumn; - self.pluginTableView.tableColumns[1].identifier = _kMPPluginTableLoadedColumn; - self.pluginTableView.tableColumns[0].title = NSLocalizedString(@"PLUGIN_TABLE_NAME_HEADER", ""); - self.pluginTableView.tableColumns[1].title = NSLocalizedString(@"PLUGIN_TABLE_LOAD_HEADER", ""); - - //self.pluginTableView.delegate = self; + + self.pluginTableView.delegate = self; self.pluginTableView.dataSource = self; + } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { - return 2; + return [MPPluginManager sharedManager].plugins.count; } -- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - if([tableColumn.identifier isEqualToString:_kMPPluginTableLoadedColumn]) { - return @YES; +- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { + if(![tableColumn.identifier isEqualToString:_kMPPluginTableNameColumn]) { + return nil; } - else if([tableColumn.identifier isEqualToString:_kMPPluginTableNameColumn]) { - return @"DummyPlugin"; - } - return nil; + MPPlugin *plugin = [self pluginForRow:row]; + NSTableCellView *view = [tableView makeViewWithIdentifier:@"NameCell" owner:nil]; + view.textField.stringValue = plugin.name; + return view; } +- (void)showSettingsForPlugin:(MPPlugin *)plugin { + /* move old one regardless */ + [self.settingsView.subviews.firstObject removeFromSuperview]; + if([plugin conformsToProtocol:@protocol(MPPluginSettings)]) { + NSAssert([plugin respondsToSelector:@selector(settingsViewController)], @"Required getter for settings on plugins"); + NSViewController *viewController = ((id)plugin).settingsViewController; + [self.settingsView addSubview:viewController.view]; + NSDictionary *dict = @{ @"view" : viewController.view, + @"table" : self.pluginTableView.enclosingScrollView }; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[view]-0-|" options:0 metrics:nil views:dict]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[view]-0-|" options:0 metrics:nil views:dict]]; + } +} + +- (MPPlugin *)pluginForRow:(NSInteger)row { + NSArray *plugins = [MPPluginManager sharedManager].plugins; + if(0 > row || row >= plugins.count) { + return nil; + } + return plugins[row]; +} + +- (void)tableViewSelectionDidChange:(NSNotification *)notification { + NSTableView *table = notification.object; + [self showSettingsForPlugin:[self pluginForRow:table.selectedRow]]; +} + + @end diff --git a/MacPass/MPServerRequestHandling.h b/MacPass/MPServerRequestHandling.h deleted file mode 100644 index 31db1106..00000000 --- a/MacPass/MPServerRequestHandling.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// MPServerRequestHandler.h -// MacPass -// -// Created by Michael Starke on 17.06.13. -// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. -// - -#import - -/** - * Protocol for request handling of KeePassHttp request - */ -@protocol MPServerRequestHandling - -@required -/** - * A unique identifier for the request handler - * - * @return NSString representing the identifier - */ -- (NSString *)identifier; -/** - * Formulate a response to the request passed in as Dictionary - * - * @param data An NSDictionary containing the parsed JSON request - */ -- (void)respondTo:(NSDictionary *)data; - -@end diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 4ece7f62..134c1359 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -20,11 +20,6 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch; /* URL handling */ APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId; -/* Server Settings */ -APPKIT_EXTERN NSString *const kMPSettingsKeyHttpPort; -APPKIT_EXTERN NSString *const kMPSettingsKeyEnableHttpServer; -APPKIT_EXTERN NSString *const kMPSettingsKeyShowMenuItem; - /* Autolock */ APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep; APPKIT_EXTERN NSString *const kMPSettingsKeyIdleLockTimeOut; @@ -65,6 +60,9 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLAction; APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickTitleAction; +/* Plugins */ +APPKIT_EXTERN NSString *const kMPSettingsKeyLoadUnsecurePlugins; // If set to YES this will load all plugins regardless of their codesignature status + typedef NS_ENUM(NSUInteger, MPDoubleClickURLAction) { MPDoubleClickURLActionCopy, MPDoubleClickURLActionOpen, diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 59422a6a..0bc3e7ca 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -16,9 +16,6 @@ NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearC NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId"; NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; -NSString *const kMPSettingsKeyHttpPort = @"HttpPort"; -NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; -NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; @@ -60,12 +57,18 @@ NSString *const kMPSettingsKeyPasswordDefaultsForEntry = @"Passwo NSString *const kMPSettingsKeyDoubleClickURLAction = @"DoubleClickURLAction"; NSString *const kMPSettingsKeyDoubleClickTitleAction = @"DoubleClickTitleAction"; +NSString *const kMPSettingsKeyLoadUnsecurePlugins = @"MPLoadUnsecurePlugins"; + /* Deprecated */ NSString *const kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases"; NSString *const kMPDeprecatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath"; NSString *const kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown = @"DocumentsAutotypeFixNoteWasShown"; NSString *const kMPDeprecatedSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode"; +NSString *const kMPDeprecatedSettingsKeyHttpPort = @"HttpPort"; +NSString *const kMPDeprecatedSettingsKeyEnableHttpServer = @"EnableHttpServer"; +NSString *const kMPDeprecatedSettingsKeyShowMenuItem = @"ShowMenuItem"; + @implementation MPSettingsHelper @@ -94,9 +97,6 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyClearPasteboardOnQuit: @YES, kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES, - kMPSettingsKeyHttpPort: @19455, - kMPSettingsKeyEnableHttpServer: @NO, - kMPSettingsKeyShowMenuItem: @YES, kMPSettingsKeyLockOnSleep: @YES, kMPSettingsKeyIdleLockTimeOut: @0, // 5 minutes kMPSettingsKeyLegacyHideNotes: @NO, @@ -121,7 +121,8 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPSettingsKeyPasswordUseCustomString: @NO, kMPSettingsKeyPasswordCustomString: @"", kMPSettingsKeyDoubleClickURLAction: @(MPDoubleClickURLActionCopy), - kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect) + kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect), + kMPSettingsKeyLoadUnsecurePlugins: @NO }; }); return standardDefaults; @@ -135,7 +136,12 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En kMPDeprecatedSettingsKeyLastDatabasePath, kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown, kMPDeprecatedSettingsKeyDoubleClickURLToLaunch, - kMPDeprecatedSettingsKeyEntrySearchFilterMode]; + kMPDeprecatedSettingsKeyEntrySearchFilterMode, + /* Moved to KeePassHttp Plugin */ + kMPDeprecatedSettingsKeyHttpPort, + kMPDeprecatedSettingsKeyEnableHttpServer, + kMPDeprecatedSettingsKeyShowMenuItem + ]; }); return deprecatedSettings; } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 6ede688d..47ffc93a 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -124,6 +124,25 @@ + + UTTypeConformsTo + + com.apple.package + + UTTypeDescription + MacPass Plugin + UTTypeIdentifier + com.hicknhack.macpass.plugin + UTTypeTagSpecification + + public.filename-extension + + mpplugin + mpPlugin + mpPlugIn + + + diff --git a/MacPass/NSApplication+MPAdditions.h b/MacPass/NSApplication+MPAdditions.h new file mode 100644 index 00000000..f2e88508 --- /dev/null +++ b/MacPass/NSApplication+MPAdditions.h @@ -0,0 +1,22 @@ +// +// NSApplication+MPAdditions.h +// MacPass +// +// Created by Michael Starke on 10/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSApplication (MPAdditions) + +@property (copy, readonly) NSString *applicationName; +@property (copy, readonly, nullable) NSURL *applicationSupportDirectoryURL; + +- (NSURL * _Nullable)applicationSupportDirectoryURL:(BOOL)create; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MacPass/NSApplication+MPAdditions.m b/MacPass/NSApplication+MPAdditions.m new file mode 100644 index 00000000..d95a86ac --- /dev/null +++ b/MacPass/NSApplication+MPAdditions.m @@ -0,0 +1,41 @@ +// +// NSApplication+MPAdditions.m +// MacPass +// +// Created by Michael Starke on 10/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "NSApplication+MPAdditions.h" + +@implementation NSApplication (MPAdditions) + +- (NSString *)applicationName { + return [[NSBundle mainBundle].infoDictionary[@"CFBundleName"] copy]; +} + +- (NSURL *)applicationSupportDirectoryURL { + return [self applicationSupportDirectoryURL:NO]; +} + +- (NSURL *)applicationSupportDirectoryURL:(BOOL)create { + NSError *error; + NSURL *url = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory + inDomain:NSUserDomainMask + appropriateForURL:nil + create:NO + error:&error]; + if(url) { + url = [url URLByAppendingPathComponent:self.applicationName isDirectory:YES]; + if(create) { + [[NSFileManager defaultManager] createDirectoryAtURL:url + withIntermediateDirectories:YES + attributes:nil + error:&error]; + } + return url; + } + return nil; +} + +@end diff --git a/MacPass/PluginSettings.xib b/MacPass/PluginSettings.xib index bbfdcea9..3807916a 100644 --- a/MacPass/PluginSettings.xib +++ b/MacPass/PluginSettings.xib @@ -1,36 +1,41 @@ - + - + + - + + + + + - + - + - - + + - + @@ -42,18 +47,27 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -62,7 +76,8 @@ - + + - - - - - + + + - - + + - + From 6bac1836069d4ee8510b750966ac04c35da34994 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 12 Nov 2015 18:59:54 +0100 Subject: [PATCH 428/778] Extenden Plugin system Plugin Settings now properly display plugins Plugins are loaded/unloaded based on security settings Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 16 ++- MacPass/Base.lproj/GeneralSettings.xib | 5 +- MacPass/{ => Base.lproj}/PluginSettings.xib | 74 ++++++++--- MacPass/Base.lproj/UpdateSettings.xib | 4 +- MacPass/Base.lproj/WorkflowSettings.xib | 4 +- MacPass/MPAppDelegate.m | 4 +- MacPass/MPPlugin.h | 2 - MacPass/MPPlugin.m | 62 +-------- MacPass/MPPluginManager.h | 11 +- MacPass/MPPluginManager.m | 135 +++++++++++++++++++- MacPass/MPPluginSettingsController.m | 49 ++++++- 11 files changed, 262 insertions(+), 104 deletions(-) rename MacPass/{ => Base.lproj}/PluginSettings.xib (60%) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 1de00db4..1c3b2621 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ 4C0B038C18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */; }; 4C0B038D18E36DA400B9F9C9 /* FixAutotypeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */; }; 4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */; }; + 4C0DBEF51BF508DE00F9B287 /* PluginSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */; }; 4C0DD6C618B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */; }; 4C0F647817B6B65E00D9522A /* MPSheetWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0F647717B6B65E00D9522A /* MPSheetWindowController.m */; }; 4C0F647B17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0F647A17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m */; }; @@ -31,7 +32,6 @@ 4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */; }; 4C224B4217DFCB2400FF6AEE /* MPNumericalInputFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */; }; 4C25703F1BF11C2300D39416 /* MPPluginSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */; }; - 4C2570401BF11C2300D39416 /* PluginSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25703E1BF11C2300D39416 /* PluginSettings.xib */; }; 4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; }; 4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */; }; 4C26C34B18D8D5A300CF1A1C /* MPPreviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */; }; @@ -373,6 +373,7 @@ 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FixAutotypeWindow.xib; sourceTree = ""; }; 4C0C59EF18B17F10009C7B76 /* DDHotKeyUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDHotKeyUtilities.m; path = DDHotKey/DDHotKeyUtilities.m; sourceTree = ""; }; 4C0C59F018B17F10009C7B76 /* DDHotKeyUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = DDHotKeyUtilities.h; path = DDHotKey/DDHotKeyUtilities.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 4C0DBEF61BF508DE00F9B287 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PluginSettings.xib; sourceTree = ""; }; 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AutotypeCandidateSelectionWindow.xib; sourceTree = ""; }; 4C0F647617B6B65E00D9522A /* MPSheetWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSheetWindowController.h; sourceTree = ""; }; 4C0F647717B6B65E00D9522A /* MPSheetWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSheetWindowController.m; sourceTree = ""; }; @@ -397,7 +398,6 @@ 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNumericalInputFormatter.m; sourceTree = ""; }; 4C25703C1BF11C2300D39416 /* MPPluginSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginSettingsController.h; sourceTree = ""; }; 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginSettingsController.m; sourceTree = ""; }; - 4C25703E1BF11C2300D39416 /* PluginSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PluginSettings.xib; sourceTree = ""; }; 4C25D58616CF0FAA00F6806C /* EntryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EntryView.xib; sourceTree = ""; }; 4C26C33D18D8C92100CF1A1C /* MPTemporaryFileStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTemporaryFileStorage.h; sourceTree = ""; }; 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorage.m; sourceTree = ""; }; @@ -1466,7 +1466,7 @@ 6021FE5818E1429500C3BC51 /* IntegrationSettings.xib */, 6021FE6318E15D9100C3BC51 /* WorkflowSettings.xib */, 6021FE6E18E15E6D00C3BC51 /* UpdateSettings.xib */, - 4C25703E1BF11C2300D39416 /* PluginSettings.xib */, + 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */, ); name = Settings; sourceTree = ""; @@ -1768,7 +1768,7 @@ 4C7ABA4E17BAEC7000FF5799 /* addEntryTemplate.pdf in Resources */, 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */, 4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */, - 4C2570401BF11C2300D39416 /* PluginSettings.xib in Resources */, + 4C0DBEF51BF508DE00F9B287 /* PluginSettings.xib in Resources */, 4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1942,6 +1942,14 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ + 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */ = { + isa = PBXVariantGroup; + children = ( + 4C0DBEF61BF508DE00F9B287 /* Base */, + ); + name = PluginSettings.xib; + sourceTree = ""; + }; 4C45FB21178E09ED0010007D /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( diff --git a/MacPass/Base.lproj/GeneralSettings.xib b/MacPass/Base.lproj/GeneralSettings.xib index 8a083e67..eb480138 100644 --- a/MacPass/Base.lproj/GeneralSettings.xib +++ b/MacPass/Base.lproj/GeneralSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -218,6 +218,7 @@ + diff --git a/MacPass/PluginSettings.xib b/MacPass/Base.lproj/PluginSettings.xib similarity index 60% rename from MacPass/PluginSettings.xib rename to MacPass/Base.lproj/PluginSettings.xib index 3807916a..52dc9c07 100644 --- a/MacPass/PluginSettings.xib +++ b/MacPass/Base.lproj/PluginSettings.xib @@ -3,32 +3,58 @@ + + - + - + - - + + + + + + + - + + + + + + + + + + + + + - + - + - + @@ -52,8 +78,8 @@ - - + + @@ -62,6 +88,11 @@ + + + + + @@ -77,7 +108,7 @@ - + - - - - - - - + + + + + + + + + + + + - + diff --git a/MacPass/Base.lproj/UpdateSettings.xib b/MacPass/Base.lproj/UpdateSettings.xib index f1c73b4e..6c644edd 100644 --- a/MacPass/Base.lproj/UpdateSettings.xib +++ b/MacPass/Base.lproj/UpdateSettings.xib @@ -1,8 +1,8 @@ - + - + diff --git a/MacPass/Base.lproj/WorkflowSettings.xib b/MacPass/Base.lproj/WorkflowSettings.xib index 8d966f55..dbf4d44e 100644 --- a/MacPass/Base.lproj/WorkflowSettings.xib +++ b/MacPass/Base.lproj/WorkflowSettings.xib @@ -1,8 +1,8 @@ - + - + diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 71a66f3b..f0f6bc40 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -156,8 +156,8 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi /* Daemon instanziieren */ [MPLockDaemon defaultDaemon]; [MPAutotypeDaemon defaultDaemon]; - /* Load plugins */ - [[MPPluginManager sharedManager] loadPlugins]; + /* Create Plugin Manager */ + [MPPluginManager sharedManager]; } #pragma mark - diff --git a/MacPass/MPPlugin.h b/MacPass/MPPlugin.h index 4a29a864..e9eb0471 100644 --- a/MacPass/MPPlugin.h +++ b/MacPass/MPPlugin.h @@ -20,8 +20,6 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @property (copy, readonly) NSString *name; @property (copy, readonly) NSString *version; - -+ (instancetype)pluginWithBundleURL:(NSURL *)url pluginManager:(MPPluginManager *)manager; - (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; diff --git a/MacPass/MPPlugin.m b/MacPass/MPPlugin.m index de4b2712..949c8719 100644 --- a/MacPass/MPPlugin.m +++ b/MacPass/MPPlugin.m @@ -8,25 +8,12 @@ #import "MPPlugin.h" #import "MPPluginManager.h" +#import "MPSettingsHelper.h" NSString *const kMPPluginFileExtension = @"mpplugin"; @implementation MPPlugin -+ (instancetype)pluginWithBundleURL:(NSURL *)url pluginManager:(MPPluginManager *)manager { - if(![self _validURL:url]) { - return nil; - } - NSBundle *pluginBundle = [NSBundle bundleWithURL:url]; - if(!pluginBundle) { - return nil; - } - if(![self _validateClass:pluginBundle.principalClass]) { - return nil; - } - return [[pluginBundle.principalClass alloc] initWithPluginManager:manager]; -} - - (instancetype)initWithPluginManager:(MPPluginManager *)manager { self = [super init]; return self; @@ -57,52 +44,5 @@ NSString *const kMPPluginFileExtension = @"mpplugin"; return @"unknown.version"; } -+ (BOOL)_validURL:(NSURL *)url { - return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); -} - -+ (BOOL)_validateClass:(Class)class { - return ([class isSubclassOfClass:[MPPlugin class]]); -} - -/* Code by Jedda Wignall http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/ */ -+ (BOOL)_validSignature:(NSURL *)url { - if(!url.path) { - return NO; - } - NSTask * task = [[NSTask alloc] init]; - NSPipe * pipe = [NSPipe pipe]; - NSArray* args = @[ @"--verify", - /*[NSString stringWithFormat:@"-R=anchor = \"%@\"", [[NSBundle mainBundle] pathForResource:@"BlargsoftCodeCA" ofType:@"cer"]],*/ - url.path ]; - task.launchPath = @"/usr/bin/codesign"; - task.standardOutput = pipe; - task.standardError = pipe; - task.arguments = args; - [task launch]; - [task waitUntilExit]; - - if(task.terminationStatus == 0) { - return YES; - } - NSString * taskString = [[NSString alloc] initWithData:pipe.fileHandleForReading.readDataToEndOfFile encoding:NSASCIIStringEncoding]; - if ([taskString rangeOfString:@"modified"].length > 0 || [taskString rangeOfString:@"a sealed resource is missing or invalid"].length > 0) { - // The plugin has been modified or resources removed since being signed. You probably don't want to load this. - NSLog(@"Plugin modified - not loaded"); // log a real error here - } - else if ([taskString rangeOfString:@"failed to satisfy"].length > 0) { - // The plugin is missing resources since being signed. Don't load. - // throw an error - NSLog(@"Plugin not signed by correct CA - not loaded"); // log a real error here - } - else if ([taskString rangeOfString:@"not signed at all"].length > 0) { - // The plugin was not code signed at all. Don't load. - NSLog(@"Plugin not signed at all - don't load."); // log a real error here - } - else { - // Some other codesign error - } - return NO; -} @end diff --git a/MacPass/MPPluginManager.h b/MacPass/MPPluginManager.h index 1e97c6d3..6a2649b0 100644 --- a/MacPass/MPPluginManager.h +++ b/MacPass/MPPluginManager.h @@ -8,12 +8,20 @@ #import +FOUNDATION_EXPORT NSString *const MPPluginManagerWillLoadPlugin; +FOUNDATION_EXPORT NSString *const MPPluginManagerDidLoadPlugin; +FOUNDATION_EXPORT NSString *const MPPluginManagerWillUnloadPlugin; +FOUNDATION_EXPORT NSString *const MPPluginManagerDidUnloadPlugin; + +FOUNDATION_EXPORT NSString *const MPPluginManagerPluginBundleIdentifiyerKey; + @class KPKNode; @class MPPlugin; @interface MPPluginManager : NSObject @property (readonly, copy) NSArray *plugins; +@property (nonatomic, readonly) BOOL loadUnsecurePlugins; typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); @@ -24,7 +32,4 @@ typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); - (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock) matchBlock; - (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock) matchBlock; -- (void)loadPlugins; -- (void)installPluginAtURL:(NSURL *)url; - @end diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 92a08701..6aa6d1fc 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -11,17 +11,32 @@ #import "MPDocument.h" #import "MPPlugin.h" #import "NSApplication+MPAdditions.h" +#import "MPSettingsHelper.h" #import "KeePassKit/KeePassKit.h" + +NSString *const MPPluginManagerWillLoadPlugin = @"com.hicknhack.macpass.MPPluginManagerWillLoadPlugin"; +NSString *const MPPluginManagerDidLoadPlugin = @"comt.hicknhack.macpass.MPPluginManagerDidLoadPlugin"; +NSString *const MPPluginManagerWillUnloadPlugin = @"com.hicknhack.macpass.MPPluginManagerWillUnloadPlugin"; +NSString *const MPPluginManagerDidUnloadPlugin = @"com.hicknhack.macpass.MPPluginManagerDidUnloadPlugin"; + +NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPluginBundleIdentifiyerKey"; + + @interface MPPluginManager () @property (strong) NSMutableArray *mutablePlugins; +@property (nonatomic) BOOL loadUnsecurePlugins; @end @implementation MPPluginManager ++ (NSSet *)keyPathsForValuesAffectingPlugins { + return [NSSet setWithObject:NSStringFromSelector(@selector(mutablePlugins))]; +} + + (instancetype)sharedManager { static MPPluginManager *instance; static dispatch_once_t onceToken; @@ -39,10 +54,24 @@ self = [super init]; if(self) { _mutablePlugins = [[NSMutableArray alloc] init]; + _loadUnsecurePlugins = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyLoadUnsecurePlugins]; + [self _loadPlugins]; + + [self bind:NSStringFromSelector(@selector(loadUnsecurePlugins)) + toObject:[NSUserDefaultsController sharedUserDefaultsController] + withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLoadUnsecurePlugins] + options:nil]; } return self; } +- (void)setLoadUnsecurePlugins:(BOOL)loadUnsecurePlugins { + if(_loadUnsecurePlugins != loadUnsecurePlugins) { + _loadUnsecurePlugins = loadUnsecurePlugins; + [self _loadPlugins]; + } +} + - (NSArray *)plugins { return [self.mutablePlugins copy]; } @@ -60,21 +89,121 @@ } - (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { + NSAssert(NO, @"Not implemented"); return nil; } -- (void)loadPlugins { +- (void)_unloadPlugins { + /* TODO Notofications for UI */ + NSMutableArray *bundles = [[NSMutableArray alloc] initWithCapacity:self.mutablePlugins.count]; + for(MPPlugin *plugin in self.mutablePlugins) { + NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; + if(pluginBundle) { + [bundles addObject:pluginBundle]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerWillUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier}]; + } + } + [self.mutablePlugins removeAllObjects]; + for(NSBundle *bundle in bundles) { + [bundle unload]; + NSString *identifiery = bundle.bundleIdentifier ? bundle.bundleIdentifier : @"unknown"; + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : identifiery }]; + } +} + +- (void)_loadPlugins { + /* unload all plugins just to be sure */ + [self _unloadPlugins]; NSURL *dir = [NSApp applicationSupportDirectoryURL:YES]; NSError *error; - NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir includingPropertiesForKeys:@[] options:NSDirectoryEnumerationSkipsHiddenFiles error:&error]; + NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir + includingPropertiesForKeys:@[] + options:NSDirectoryEnumerationSkipsHiddenFiles + error:&error]; if(!contentURLs) { NSLog(@"Error while trying to locate Plugins: %@", error.localizedDescription); } for(NSURL *pluginURL in contentURLs) { - MPPlugin *plugin = [MPPlugin pluginWithBundleURL:pluginURL pluginManager:self]; + + if(![self _validURL:pluginURL]) { + continue; + } + + if(![self _validSignature:pluginURL]) { + continue; + } + + NSBundle *pluginBundle = [NSBundle bundleWithURL:pluginURL]; + if(!pluginBundle) { + continue; + } + + if(![self _validateClass:pluginBundle.principalClass]) { + continue; + } + MPPlugin *plugin = [[pluginBundle.principalClass alloc] initWithPluginManager:self]; if(plugin) { + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerWillLoadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; [self.mutablePlugins addObject:plugin]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidLoadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; } } } + +- (BOOL)_validURL:(NSURL *)url { + return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); +} + +- (BOOL)_validateClass:(Class)class { + return ([class isSubclassOfClass:[MPPlugin class]]); +} + +/* Code by Jedda Wignall http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/ */ +- (BOOL)_validSignature:(NSURL *)url { + if(!url.path) { + return NO; + } + + if(self.loadUnsecurePlugins) { + return YES; + } + + NSTask * task = [[NSTask alloc] init]; + NSPipe * pipe = [NSPipe pipe]; + NSArray* args = @[ @"--verify", + /*[NSString stringWithFormat:@"-R=anchor = \"%@\"", [[NSBundle mainBundle] pathForResource:@"BlargsoftCodeCA" ofType:@"cer"]],*/ + url.path ]; + task.launchPath = @"/usr/bin/codesign"; + task.standardOutput = pipe; + task.standardError = pipe; + task.arguments = args; + [task launch]; + [task waitUntilExit]; + + if(task.terminationStatus == 0) { + return YES; + } + NSString *pluginPath = url.path ? url.path : @""; + NSString * taskString = [[NSString alloc] initWithData:pipe.fileHandleForReading.readDataToEndOfFile encoding:NSASCIIStringEncoding]; + if ([taskString rangeOfString:@"modified"].length > 0 || [taskString rangeOfString:@"a sealed resource is missing or invalid"].length > 0) { + // The plugin has been modified or resources removed since being signed. You probably don't want to load this. + NSLog(@"Plugin %@ modified - not loaded", pluginPath); // log a real error here + } + else if ([taskString rangeOfString:@"failed to satisfy"].length > 0) { + // The plugin is missing resources since being signed. Don't load. + // throw an error + NSLog(@"Plugin %@ not signed by correct CA - not loaded", pluginPath); // log a real error here + } + else if ([taskString rangeOfString:@"not signed at all"].length > 0) { + // The plugin was not code signed at all. Don't load. + NSLog(@"Plugin %@ not signed at all - don't load.", pluginPath); // log a real error here + } + else { + NSLog(@"Unkown CodeSign Error!"); + } + + return NO; +} + + @end diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index b390aba1..766fa79c 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -10,17 +10,47 @@ #import "MPPluginManager.h" #import "MPPlugin.h" +#import "MPSettingsHelper.h" + NSString *const _kMPPluginTableNameColumn = @"Name"; @interface MPPluginSettingsController () @property (weak) IBOutlet NSTableView *pluginTableView; @property (weak) IBOutlet NSView *settingsView; +@property (weak) IBOutlet NSButton *loadInsecurePlugsinCheckButton; @end @implementation MPPluginSettingsController +- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if(self) { + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didChangePlugins:) + name:MPPluginManagerWillLoadPlugin + object:[MPPluginManager sharedManager]]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didChangePlugins:) + name:MPPluginManagerDidLoadPlugin + object:[MPPluginManager sharedManager]]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didChangePlugins:) + name:MPPluginManagerWillUnloadPlugin + object:[MPPluginManager sharedManager]]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didChangePlugins:) + name:MPPluginManagerDidUnloadPlugin + object:[MPPluginManager sharedManager]]; + } + return self; +} + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + - (NSString *)nibName { return @"PluginSettings"; } @@ -39,10 +69,15 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; - (void)didLoadView { self.pluginTableView.tableColumns[0].identifier = _kMPPluginTableNameColumn; - + self.pluginTableView.delegate = self; self.pluginTableView.dataSource = self; - + + [self.loadInsecurePlugsinCheckButton bind:NSValueBinding + toObject:[NSUserDefaultsController sharedUserDefaultsController] + withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLoadUnsecurePlugins] + options:nil]; + } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { @@ -68,8 +103,8 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; [self.settingsView addSubview:viewController.view]; NSDictionary *dict = @{ @"view" : viewController.view, @"table" : self.pluginTableView.enclosingScrollView }; - [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[view]-0-|" options:0 metrics:nil views:dict]]; - [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[view]-0-|" options:0 metrics:nil views:dict]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[view]-|" options:0 metrics:nil views:dict]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[view]-|" options:0 metrics:nil views:dict]]; } } @@ -87,4 +122,10 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; } +- (void)_didChangePlugins:(NSNotification *)notification { + /* better way? */ + [self.pluginTableView deselectAll:self]; + [self.pluginTableView reloadData]; +} + @end From 7bb5a27691dfe18d70b30b99e3a6f985af298458 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 13 Nov 2015 11:49:26 +0100 Subject: [PATCH 429/778] Using new KeePassKit and HNHUi Signed-off-by: michael starke --- HNHUi | 2 +- KeePassKit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HNHUi b/HNHUi index 11720aaa..a0606740 160000 --- a/HNHUi +++ b/HNHUi @@ -1 +1 @@ -Subproject commit 11720aaa94bb467c83add1848ac09564f89e8206 +Subproject commit a0606740ad2db9099c691ad9364ff3da67959b8e diff --git a/KeePassKit b/KeePassKit index 5e72920e..afa0c5a5 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit 5e72920ee6d34d2bdf66cc6b290e4d9076bbe28b +Subproject commit afa0c5a56cd339dc1b95e6a94e59a99958ca5d30 From 7fb03e92b9e1530e030dcccabf0f4c1f13d37224 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 13 Nov 2015 13:25:51 +0100 Subject: [PATCH 430/778] removed username in submouldes Signed-off-by: michael starke --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 11a74a0f..b65e8d3f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "HNHUi"] path = HNHUi - url = https://mstarke@github.com/mstarke/HNHUi.git + url = https://github.com/mstarke/HNHUi.git [submodule "DDHotKey"] path = DDHotKey url = https://github.com/mstarke/DDHotKey.git @@ -12,4 +12,4 @@ url = https://github.com/mattt/TransformerKit.git [submodule "KeePassKit"] path = KeePassKit - url = https://mstarke@github.com/mstarke/KeePassKit.git + url = https://github.com/mstarke/KeePassKit.git From 89a9d6c9e64206ae458cbe8606cc8c15f80fab57 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 13 Nov 2015 13:29:47 +0100 Subject: [PATCH 431/778] fixed layout Signed-off-by: michael starke --- MacPass/Base.lproj/PluginSettings.xib | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/Base.lproj/PluginSettings.xib b/MacPass/Base.lproj/PluginSettings.xib index 52dc9c07..42c8fb88 100644 --- a/MacPass/Base.lproj/PluginSettings.xib +++ b/MacPass/Base.lproj/PluginSettings.xib @@ -19,10 +19,10 @@ - - + + - + @@ -138,7 +138,7 @@ - + From c7a0cfabd1dc1bbfac46247e77702c79c03455e1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 20 Nov 2015 12:59:20 +0100 Subject: [PATCH 432/778] More imporvements on the Plugin System Signed-off-by: michael starke --- MacPass.xcodeproj/project.pbxproj | 50 +++++++------ .../xcshareddata/xcschemes/MacPass.xcscheme | 20 ++++++ MacPass/Base.lproj/PluginSettings.xib | 70 +++++++++---------- MacPass/MPDocument.h | 1 + MacPass/MPDocument.m | 8 ++- MacPass/MPPlugin.h | 4 ++ MacPass/MPPlugin.m | 8 +++ MacPass/MPPluginHost.h | 23 ++++++ MacPass/MPPluginHost.m | 52 ++++++++++++++ MacPass/MPPluginManager.h | 5 -- MacPass/MPPluginManager.m | 41 ++++------- MacPass/MacPass-Info.plist | 2 +- 12 files changed, 190 insertions(+), 94 deletions(-) create mode 100644 MacPass/MPPluginHost.h create mode 100644 MacPass/MPPluginHost.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 1c3b2621..6c3c6364 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -42,7 +42,6 @@ 4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */; }; 4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382216D1421B00037A9D /* MPIconHelper.m */; }; 4C2E382616D1470200037A9D /* MPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2E382516D1470200037A9D /* MPViewController.m */; }; - 4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */; }; 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */; }; 4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; }; 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; }; @@ -205,6 +204,9 @@ 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; }; 4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; }; 4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */; }; + 4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A51BFE113B003C002C /* MPPlugin.m */; }; + 4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A71BFE113B003C002C /* MPPluginHost.m */; }; + 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginManager.m */; }; 4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; }; 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; }; 4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; }; @@ -232,7 +234,6 @@ 4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; }; 4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; }; 4CF5BE6D1BF33E3000048505 /* NSApplication+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */; }; - 4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF5BEC31BF3461800048505 /* MPPlugin.m */; }; 4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; }; 4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */; }; 4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */; }; @@ -413,8 +414,6 @@ 4C2E382216D1421B00037A9D /* MPIconHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconHelper.m; sourceTree = ""; }; 4C2E382416D1470200037A9D /* MPViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPViewController.h; sourceTree = ""; }; 4C2E382516D1470200037A9D /* MPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPViewController.m; sourceTree = ""; }; - 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginManager.h; sourceTree = ""; }; - 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginManager.m; sourceTree = ""; }; 4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKFormat+MPUTIDetection.h"; sourceTree = ""; }; 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKFormat+MPUTIDetection.m"; sourceTree = ""; }; 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = ""; }; @@ -673,6 +672,12 @@ 4CCEDE2D179F213B008402BE /* MPNotifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotifications.m; sourceTree = ""; }; 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdb; sourceTree = ""; }; 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdbx; sourceTree = ""; }; + 4CD034A41BFE113B003C002C /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPlugin.h; path = MacPass/MPPlugin.h; sourceTree = SOURCE_ROOT; }; + 4CD034A51BFE113B003C002C /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPlugin.m; path = MacPass/MPPlugin.m; sourceTree = SOURCE_ROOT; }; + 4CD034A61BFE113B003C002C /* MPPluginHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginHost.h; path = MacPass/MPPluginHost.h; sourceTree = SOURCE_ROOT; }; + 4CD034A71BFE113B003C002C /* MPPluginHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginHost.m; path = MacPass/MPPluginHost.m; sourceTree = SOURCE_ROOT; }; + 4CD034A81BFE113B003C002C /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginManager.h; path = MacPass/MPPluginManager.h; sourceTree = SOURCE_ROOT; }; + 4CD034A91BFE113B003C002C /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginManager.m; path = MacPass/MPPluginManager.m; sourceTree = SOURCE_ROOT; }; 4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = ""; }; 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = ""; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; @@ -720,8 +725,6 @@ 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = ""; }; 4CF5BE6B1BF33E3000048505 /* NSApplication+MPAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+MPAdditions.h"; sourceTree = ""; }; 4CF5BE6C1BF33E3000048505 /* NSApplication+MPAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+MPAdditions.m"; sourceTree = ""; }; - 4CF5BEC21BF3461800048505 /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPlugin.h; sourceTree = ""; }; - 4CF5BEC31BF3461800048505 /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPlugin.m; sourceTree = ""; }; 4CF6C70F176F4533007A811D /* MPStringLengthValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStringLengthValueTransformer.h; sourceTree = ""; }; 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStringLengthValueTransformer.m; sourceTree = ""; }; 4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationSettingsController.h; sourceTree = ""; }; @@ -950,17 +953,6 @@ name = Helper; sourceTree = ""; }; - 4C31FEBC1B57CDE0008E7CE3 /* Plugin */ = { - isa = PBXGroup; - children = ( - 4C31FEB11B57CDDB008E7CE3 /* MPPluginManager.h */, - 4C31FEB21B57CDDB008E7CE3 /* MPPluginManager.m */, - 4CF5BEC21BF3461800048505 /* MPPlugin.h */, - 4CF5BEC31BF3461800048505 /* MPPlugin.m */, - ); - name = Plugin; - sourceTree = ""; - }; 4C37A84115B8B47D005EF8EE /* Delegates */ = { isa = PBXGroup; children = ( @@ -1238,7 +1230,7 @@ 4C77E36C15B84A240093A587 /* MacPass */ = { isa = PBXGroup; children = ( - 4C31FEBC1B57CDE0008E7CE3 /* Plugin */, + 4CF9ECAE1BFDEC5700C58E99 /* Plugin */, 4C217D8E17A32BCF00609FAA /* Common */, 4C104129178CDD26001B5239 /* Categories */, 4C89F525182FB4C50069C73C /* Autotype */, @@ -1480,6 +1472,20 @@ name = PasswordInputs; sourceTree = ""; }; + 4CF9ECAE1BFDEC5700C58E99 /* Plugin */ = { + isa = PBXGroup; + children = ( + 4CD034A41BFE113B003C002C /* MPPlugin.h */, + 4CD034A51BFE113B003C002C /* MPPlugin.m */, + 4CD034A61BFE113B003C002C /* MPPluginHost.h */, + 4CD034A71BFE113B003C002C /* MPPluginHost.m */, + 4CD034A81BFE113B003C002C /* MPPluginManager.h */, + 4CD034A91BFE113B003C002C /* MPPluginManager.m */, + ); + name = Plugin; + path = MacPassPlugin; + sourceTree = SOURCE_ROOT; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -1807,8 +1813,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */, 4C77E37315B84A240093A587 /* main.m in Sources */, - 4CF5BEC41BF3461800048505 /* MPPlugin.m in Sources */, 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */, 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */, @@ -1817,6 +1823,7 @@ 4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */, 4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */, 4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */, + 4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */, 4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */, 4C2E382616D1470200037A9D /* MPViewController.m in Sources */, 4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */, @@ -1847,6 +1854,7 @@ 4CE296191842A166005F01CE /* MPAutotypePaste.m in Sources */, 4C569D9E17652B0600595B62 /* MPConstants.m in Sources */, 4C569DA117652BFE00595B62 /* MPEntryTableDataSource.m in Sources */, + 4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */, 4C3C4EA318D6FEA100153127 /* TTTCryptographyTransformers.m in Sources */, 4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */, 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */, @@ -1906,7 +1914,6 @@ 4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */, 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */, 4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */, - 4C31FEB31B57CDDB008E7CE3 /* MPPluginManager.m in Sources */, 4C3C4EA518D6FEA100153127 /* TTTImageTransformers.m in Sources */, 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */, 4C15B74618BCA3B1003F8008 /* MPDocument+Search.m in Sources */, @@ -2358,6 +2365,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; SDKROOT = macosx; + STRIP_STYLE = debugging; WRAPPER_EXTENSION = app; }; name = Debug; @@ -2372,6 +2380,7 @@ COMBINE_HIDPI_IMAGES = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MacPass/MacPass-Prefix.pch"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; INFOPLIST_FILE = "MacPass/MacPass-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.8; @@ -2383,6 +2392,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; SDKROOT = macosx; + STRIP_STYLE = debugging; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index e5642bb1..f98c064f 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -93,6 +93,26 @@ + + + + + + + + - + @@ -17,12 +17,12 @@ - + - + - + @@ -31,7 +31,7 @@ - + - + + If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data! Changes take affect on restart. - - - - + + + + - - + + - + - + - + - - + + - + - - - - - - + @@ -107,16 +103,16 @@ - - + + - - + - - - - - + + + + + - + diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 84bb0af1..9c10ef8c 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -67,6 +67,7 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; @property (strong, readonly, nonatomic) KPKTree *tree; @property (nonatomic, weak, readonly) KPKGroup *root; +@property (nonatomic, weak) KPKGroup *trash; @property (nonatomic, weak) KPKGroup *templates; @property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 40f655c3..9fcb5cba 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -368,9 +368,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)setTemplates:(KPKGroup *)templates { - if(![self.tree.metaData.entryTemplatesGroup isEqual:templates.uuid]) { - self.tree.metaData.entryTemplatesGroup = templates.uuid; - } + self.tree.templates = templates; +} + +- (void)setTrash:(KPKGroup *)trash { + self.tree.trash = trash; } - (void)setSelectedGroup:(KPKGroup *)selectedGroup { diff --git a/MacPass/MPPlugin.h b/MacPass/MPPlugin.h index e9eb0471..4afbee61 100644 --- a/MacPass/MPPlugin.h +++ b/MacPass/MPPlugin.h @@ -23,6 +23,9 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; - (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; +- (void)didLoadPlugin; +- (void)willUnloadPlugin; + @end @protocol MPPluginSettings @@ -32,4 +35,5 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @end + NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/MacPass/MPPlugin.m b/MacPass/MPPlugin.m index 949c8719..d8707576 100644 --- a/MacPass/MPPlugin.m +++ b/MacPass/MPPlugin.m @@ -45,4 +45,12 @@ NSString *const kMPPluginFileExtension = @"mpplugin"; } +- (void)didLoadPlugin { + +} + +- (void)willUnloadPlugin { + +} + @end diff --git a/MacPass/MPPluginHost.h b/MacPass/MPPluginHost.h new file mode 100644 index 00000000..36d99d33 --- /dev/null +++ b/MacPass/MPPluginHost.h @@ -0,0 +1,23 @@ +// +// MPPluginHost.h +// MacPass +// +// Created by Michael Starke on 13/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import +@class KPKNode; + +typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); + +@interface MPPluginHost : NSObject + ++ (instancetype)sharedHost; + +- (instancetype)init NS_UNAVAILABLE; + +- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock; +- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock; + +@end diff --git a/MacPass/MPPluginHost.m b/MacPass/MPPluginHost.m new file mode 100644 index 00000000..9abb7b80 --- /dev/null +++ b/MacPass/MPPluginHost.m @@ -0,0 +1,52 @@ +// +// MPPluginHost.m +// MacPass +// +// Created by Michael Starke on 13/11/15. +// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// + +#import "MPPluginHost.h" +#import "MPDocument.h" + +@implementation MPPluginHost + +static MPPluginHost *_instance; + ++ (instancetype)sharedHost { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _instance = [[MPPluginHost alloc] _init]; + }); + return _instance; +} + +- (instancetype)init { + return _instance; +} + +- (instancetype)_init { + self = [super init]; + if(self) { + } + return self; +} + +- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock { + NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents]; + NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200]; + for(MPDocument *document in currentDocuments) { + if(document.tree) { + [entries addObjectsFromArray:document.tree.allEntries]; + } + } + NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }]; + return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES]; +} + +- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { + NSAssert(NO, @"Not implemented"); + return nil; +} + +@end diff --git a/MacPass/MPPluginManager.h b/MacPass/MPPluginManager.h index 6a2649b0..389a8b3e 100644 --- a/MacPass/MPPluginManager.h +++ b/MacPass/MPPluginManager.h @@ -23,13 +23,8 @@ FOUNDATION_EXPORT NSString *const MPPluginManagerPluginBundleIdentifiyerKey; @property (readonly, copy) NSArray *plugins; @property (nonatomic, readonly) BOOL loadUnsecurePlugins; -typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); - + (instancetype)sharedManager; - (instancetype)init NS_UNAVAILABLE; -- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock) matchBlock; -- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock) matchBlock; - @end diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 6aa6d1fc..58b9f00e 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -8,7 +8,6 @@ #import "MPPluginManager.h" -#import "MPDocument.h" #import "MPPlugin.h" #import "NSApplication+MPAdditions.h" #import "MPSettingsHelper.h" @@ -46,6 +45,10 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu return instance; } +- (void)dealloc { + NSLog(@"%@ dealloc", [self class]); +} + - (instancetype)init { return nil; } @@ -65,38 +68,17 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu return self; } -- (void)setLoadUnsecurePlugins:(BOOL)loadUnsecurePlugins { - if(_loadUnsecurePlugins != loadUnsecurePlugins) { - _loadUnsecurePlugins = loadUnsecurePlugins; - [self _loadPlugins]; - } -} - - (NSArray *)plugins { return [self.mutablePlugins copy]; } -- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock { - NSArray *currentDocuments = [[NSDocumentController sharedDocumentController] documents]; - NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200]; - for(MPDocument *document in currentDocuments) { - if(document.tree) { - [entries addObjectsFromArray:document.tree.allEntries]; - } - } - NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }]; - return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES]; -} - -- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { - NSAssert(NO, @"Not implemented"); - return nil; -} - - (void)_unloadPlugins { /* TODO Notofications for UI */ NSMutableArray *bundles = [[NSMutableArray alloc] initWithCapacity:self.mutablePlugins.count]; + // clear our interal refernce for(MPPlugin *plugin in self.mutablePlugins) { + // let the plugin know we are about to unload it + [plugin willUnloadPlugin]; NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; if(pluginBundle) { [bundles addObject:pluginBundle]; @@ -105,15 +87,13 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu } [self.mutablePlugins removeAllObjects]; for(NSBundle *bundle in bundles) { - [bundle unload]; NSString *identifiery = bundle.bundleIdentifier ? bundle.bundleIdentifier : @"unknown"; [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : identifiery }]; + [bundle unload]; } } - (void)_loadPlugins { - /* unload all plugins just to be sure */ - [self _unloadPlugins]; NSURL *dir = [NSApp applicationSupportDirectoryURL:YES]; NSError *error; NSArray *contentURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:dir @@ -137,6 +117,11 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu if(!pluginBundle) { continue; } + NSError *error; + if(![pluginBundle preflightAndReturnError:&error]) { + NSLog(@"%@", error.localizedDescription ); + continue; + }; if(![self _validateClass:pluginBundle.principalClass]) { continue; diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 47ffc93a..843a0345 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2562 + 2567 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSAppTransportSecurity From 8babca8b8dee42e10a0edfc84e37c778107387c7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 20 Nov 2015 16:34:14 +0100 Subject: [PATCH 433/778] Removed unloading code as it seems to be unsafe Signed-off-by: michael starke --- MacPass/MPPluginManager.m | 25 +------------------- MacPass/MPPluginSettingsController.m | 34 ---------------------------- 2 files changed, 1 insertion(+), 58 deletions(-) diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 58b9f00e..ad7f7110 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -17,8 +17,6 @@ NSString *const MPPluginManagerWillLoadPlugin = @"com.hicknhack.macpass.MPPluginManagerWillLoadPlugin"; NSString *const MPPluginManagerDidLoadPlugin = @"comt.hicknhack.macpass.MPPluginManagerDidLoadPlugin"; -NSString *const MPPluginManagerWillUnloadPlugin = @"com.hicknhack.macpass.MPPluginManagerWillUnloadPlugin"; -NSString *const MPPluginManagerDidUnloadPlugin = @"com.hicknhack.macpass.MPPluginManagerDidUnloadPlugin"; NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPluginBundleIdentifiyerKey"; @@ -59,7 +57,7 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu _mutablePlugins = [[NSMutableArray alloc] init]; _loadUnsecurePlugins = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyLoadUnsecurePlugins]; [self _loadPlugins]; - + [self bind:NSStringFromSelector(@selector(loadUnsecurePlugins)) toObject:[NSUserDefaultsController sharedUserDefaultsController] withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLoadUnsecurePlugins] @@ -72,27 +70,6 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu return [self.mutablePlugins copy]; } -- (void)_unloadPlugins { - /* TODO Notofications for UI */ - NSMutableArray *bundles = [[NSMutableArray alloc] initWithCapacity:self.mutablePlugins.count]; - // clear our interal refernce - for(MPPlugin *plugin in self.mutablePlugins) { - // let the plugin know we are about to unload it - [plugin willUnloadPlugin]; - NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; - if(pluginBundle) { - [bundles addObject:pluginBundle]; - [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerWillUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier}]; - } - } - [self.mutablePlugins removeAllObjects]; - for(NSBundle *bundle in bundles) { - NSString *identifiery = bundle.bundleIdentifier ? bundle.bundleIdentifier : @"unknown"; - [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidUnloadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : identifiery }]; - [bundle unload]; - } -} - - (void)_loadPlugins { NSURL *dir = [NSApp applicationSupportDirectoryURL:YES]; NSError *error; diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index 766fa79c..4231608a 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -24,33 +24,6 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; @implementation MPPluginSettingsController -- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if(self) { - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didChangePlugins:) - name:MPPluginManagerWillLoadPlugin - object:[MPPluginManager sharedManager]]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didChangePlugins:) - name:MPPluginManagerDidLoadPlugin - object:[MPPluginManager sharedManager]]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didChangePlugins:) - name:MPPluginManagerWillUnloadPlugin - object:[MPPluginManager sharedManager]]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didChangePlugins:) - name:MPPluginManagerDidUnloadPlugin - object:[MPPluginManager sharedManager]]; - } - return self; -} - -- (void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - - (NSString *)nibName { return @"PluginSettings"; } @@ -121,11 +94,4 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; [self showSettingsForPlugin:[self pluginForRow:table.selectedRow]]; } - -- (void)_didChangePlugins:(NSNotification *)notification { - /* better way? */ - [self.pluginTableView deselectAll:self]; - [self.pluginTableView reloadData]; -} - @end From 79a2e867178dd19146414a1296465ab967cadd79 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 20 Nov 2015 17:41:36 +0100 Subject: [PATCH 434/778] Using default identfier Signed-off-by: michael starke --- MacPass/MPPluginSettingsController.m | 13 +++---------- MacPass/MacPass-Info.plist | 2 +- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index 4231608a..2012710a 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -12,8 +12,6 @@ #import "MPSettingsHelper.h" -NSString *const _kMPPluginTableNameColumn = @"Name"; - @interface MPPluginSettingsController () @property (weak) IBOutlet NSTableView *pluginTableView; @@ -41,8 +39,6 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; } - (void)didLoadView { - self.pluginTableView.tableColumns[0].identifier = _kMPPluginTableNameColumn; - self.pluginTableView.delegate = self; self.pluginTableView.dataSource = self; @@ -58,11 +54,8 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; } - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - if(![tableColumn.identifier isEqualToString:_kMPPluginTableNameColumn]) { - return nil; - } MPPlugin *plugin = [self pluginForRow:row]; - NSTableCellView *view = [tableView makeViewWithIdentifier:@"NameCell" owner:nil]; + NSTableCellView *view = [tableView makeViewWithIdentifier:tableColumn.identifier owner:nil]; view.textField.stringValue = plugin.name; return view; } @@ -76,8 +69,8 @@ NSString *const _kMPPluginTableNameColumn = @"Name"; [self.settingsView addSubview:viewController.view]; NSDictionary *dict = @{ @"view" : viewController.view, @"table" : self.pluginTableView.enclosingScrollView }; - [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[view]-|" options:0 metrics:nil views:dict]]; - [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[view]-|" options:0 metrics:nil views:dict]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view]|" options:0 metrics:nil views:dict]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]|" options:0 metrics:nil views:dict]]; } } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 843a0345..bf88b543 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2567 + 2568 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSAppTransportSecurity From 85eafc55868a7855f8c7ed70130fc2bfcf1ac831 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Nov 2015 18:02:42 +0100 Subject: [PATCH 435/778] Updated build number. Signed-off-by: michael starke --- MacPass/MacPass-Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index bf88b543..ae1f35e2 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -62,7 +62,7 @@ CFBundleSignature ???? CFBundleVersion - 2568 + 2569 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSAppTransportSecurity From 6f19f28c09b3c3723469c4da3e1ff728512dc08e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Nov 2015 18:06:45 +0100 Subject: [PATCH 436/778] Disabled unusable buttons Signed-off-by: michael starke --- .../xcshareddata/xcschemes/MacPass.xcscheme | 20 ------------------- MacPass/Base.lproj/InspectorView.xib | 16 +++++++-------- 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index f98c064f..e5642bb1 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -93,26 +93,6 @@ - - - - - - - - - + - + @@ -27,10 +27,10 @@ - - - - If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data! Changes take affect on restart. @@ -57,7 +53,6 @@ - @@ -81,7 +76,6 @@ - @@ -89,7 +83,6 @@ - @@ -99,23 +92,19 @@ -
-
@@ -133,7 +122,6 @@ - diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 132ecf18..b1a712c4 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -272,8 +272,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_MESSAGE_TEXT", @"Message displayed when an open file was changed from another application"); alert.informativeText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_INFO_TEXT", @"Informative text displayed when the file was change form another application"); - [alert addButtonWithTitle:NSLocalizedString(@"IGNORE", @"Ignore the changes to an open file!")]; - [alert addButtonWithTitle:NSLocalizedString(@"REOPEN", @"Reopen the file!")]; + [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; + [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; [alert beginSheetModalForWindow:self.windowForSheet completionHandler:^(NSModalResponse returnCode) { if(returnCode == NSAlertSecondButtonReturn) { [self revertDocumentToSaved:nil]; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 67f7d023406fcfd956033fcd823f8f53ae04573a..e6c458f52845c6ec67215c2fabcab5adbb51997a 100644 GIT binary patch delta 1128 zcmb`Gy>1gh6on5G6%rDn2W?!Ya6&Q5>%1FcD%ytwblWLYF~gZFM^bJ z;R#aZ0a8)$otZ4y#E1rsc6RREduPr)_srMH_u|{*X0@k*W{jRrSS9K!!<Uvna8?=Ysiqa_8A&}H8G*iJ zT^qWmhPKtwu2LQAgVzEQ&YIHR?L#r7u`ej+R_2w2l!x{t6HCv#o;SKeq7FvAw9~Ut1qKj5|Zi~;a cdw&1nqhyi78szU1)^zcpxq0{E>S^Q7PhZ2v8~^|S delta 409 zcmcbX-;=jNPH*!hBPEu}9Yz|qz6_}h#Xy+IkPc?)Feos%G86$}J`fiJd5H{p3@Jc5 z9LOpHvNM4=9mv;W(4XwjB|iCsk;&vG#%hyejMb!FfpR54bBciS0YLR2lgq&-rA+qb zk_M{fnS9DvLpBJgrT~Z&fvPc89@LPWY-D0)>j%`S091!!4p0Q-G6jZgp#DmRG@yHO zfGh=|O{GA!1wdXVke@R7xJkZ0NM#Dx7b#$~@_;1B#$2$?$qX4lHq3wM=4FEQfqYvA mR0A>W$_`EM_t&ZeDGs%?JRRjaw4{ diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 1c0499973ce6f328b02df3cd489ca74e7a8ecca9..aec2752956176a1a7432596b7b73ae450fd510c4 100644 GIT binary patch delta 132 zcmX?>{w#fih@P}JgDVgQFvK(XGI%oh0oh6n3JkVDtTfqEPm^7NA(0`EA!YJoUG>RD zdMTDZ4E_v`3@$+R&I}$vmLG#VP){&I7lRK&K2T2z(1c`$46yEWhE$*l|Mf&!^%=An P6ebIb3U4;hpT+_JA1E4& delta 150 zcmaEsek^^1h@Pn@gFAyCgFizMgDZm)g93vs5GyfwGNd!)G2}B8F{A?d$qX3`i9mij zkXOv0!=Nx(Ur%##n_h}LNS8lD0Fd-U(j5d;m(NfDB=dl}OMtpTrlc`sGUNbRia?dt V3|vsC&!7b~Pf%2NbAbLd766b=8m0gM diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 31e19592ffd49b3adedfb75e44b332dbcdb1a247..124b0048e577819ec971496bceeffff7df0c46ec 100644 GIT binary patch delta 124 zcmX?>J0*7mlcBCRgDVgQFvK(XGI%oh0oh6n3JkVDti*sJH#yNT+17`_pTUvA1*pTB Y!2`(hV{ixR3P#e0TZQ#zMx&!F0CK1l;s5{u delta 160 zcmbP|dn|VYlcBsPgFAyCgFizMgDZm)g93vs5GyfwGNd!)G2}B8O-?iv*3|)uc{8K} zVF8ep%uvcu1ca$T6(vA^8IV=PP|T1CRG-J7I9cB?*%oA)KSKbJ^g}W=2&gh2Xa-29 f0#I)Tkfp$o2Gp4YWGMnwS~GAlaBV(sc$5VIx4a$@ diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index f29c4357bb1c8f401b237adab4d7f7bdd12c0bf0..02bf37d159be45e7ec5751f9695e439f9b2a08cb 100644 GIT binary patch delta 124 zcmX?=Gb3k%i-E2;gDVgQFvK(XGI%oh0oh6n3JkVDti*sJH+iu^vaJt;KZ7HK3s8qM Yg9ni1$KVds6^x`0w+idc&W7x)0HqZa?f?J) delta 174 zcmbP{b1G+pi$T06gFAyCgFizMgDZm)g93vs5GyfwGNd!)G2}B8F{A?d$qX3`i9mij zkXOv00~GNFvQilez;dNPRUmbF3?)E*8IV;3RFw(ToyVX!xzHfl7G$FCSI_ diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 367252a7cbce3275c63fb99e83ec3f718d0f0e1b..51b11556a8119ad395b021979b909640f8a8275e 100644 GIT binary patch delta 124 zcmewqaUf#D4s~5`23H^qV2Ee%W$Q@hM`%4)u6X26qNO27iVi23H0p1_cINAXZ}VWJqVoW5{PHVn_w@lNmA?5`p}5 zAg`D~2PonVWTi3`faOYoszB=U7)pTrG9ar6s45evJC8we@>BI>TaelQ3;{sW56O-o mpvrup86cesK)o42mI6Z>P-hO1r3h4M&A`RLwYgPeH!}bWfFW@J From c7a6ad19dc17d07de2e2ab3311daea2d3ad05b41 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 14 Dec 2015 20:06:41 +0100 Subject: [PATCH 457/778] Merged deleteGroup and deleteEntry call into delteNode --- MacPass/MPDocument.h | 2 - MacPass/MPDocument.m | 77 +++++++++++++-------------------- MacPass/MPEntryViewController.m | 7 +-- 3 files changed, 34 insertions(+), 52 deletions(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 9c10ef8c..ad123962 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -150,8 +150,6 @@ APPKIT_EXTERN NSString *const MPDocumentGroupKey; - (KPKAttribute *)createCustomAttribute:(KPKEntry *)entry; - (void)deleteNode:(KPKNode *)node; -- (void)deleteGroup:(KPKGroup *)group; -- (void)deleteEntry:(KPKEntry *)entry; #pragma mark Actions /** diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index b1a712c4..e7b1bca2 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -508,57 +508,41 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } - (void)deleteNode:(KPKNode *)node { + if(!node.asEntry && !node.asGroup) { + return; // Nothing do + } + if(node.isTrashed) { + [self _presentTrashAlertForItem:node]; + return; + } + [node trashOrRemove]; + BOOL permanent = (nil == self.trash); if(node.asGroup) { - [self deleteGroup:node.asGroup]; + [self.undoManager setActionName:permanent ? NSLocalizedString(@"DELETE_GROUP", "Delete Group") : NSLocalizedString(@"TRASH_GROUP", "Move Group to Trash")]; + if(self.selectedGroup == node) { + self.selectedGroup = nil; + } } else if(node.asEntry) { - [self deleteEntry:node.asEntry]; + [self.undoManager setActionName:permanent ? NSLocalizedString(@"DELETE_ENTRY", "") : NSLocalizedString(@"TRASH_ENTRY", "Move Entry to Trash")]; + if(self.selectedEntry == node) { + self.selectedEntry = nil; + } } } -- (void)deleteEntry:(KPKEntry *)entry { - if(!entry) { - return; // Nothing to do; - } - if(entry.isTrashed) { - [self _presentTrashAlertForItem:entry]; - return; - } - [entry trashOrRemove]; - BOOL permanent = (nil == self.trash); - [self.undoManager setActionName:permanent ? NSLocalizedString(@"DELETE_ENTRY", "") : NSLocalizedString(@"TRASH_ENTRY", "Move Entry to Trash")]; - - if(self.selectedEntry == entry) { - self.selectedEntry = nil; - } -} - -- (void)deleteGroup:(KPKGroup *)group { - if(!group) { - return; // Nothing to do; - } - if(group.isTrashed) { - [self _presentTrashAlertForItem:group]; - return; - } - [group trashOrRemove]; - BOOL permanent = (nil == self.trash); - [self.undoManager setActionName:permanent ? NSLocalizedString(@"DELETE_GROUP", "Delete Group") : NSLocalizedString(@"TRASH_GROUP", "Move Group to Trash")]; -} - #pragma mark Actions - (void)emptyTrash:(id)sender { NSAlert *alert = [[NSAlert alloc] init]; - [alert setAlertStyle:NSWarningAlertStyle]; - [alert setMessageText:NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_TITLE", "")]; - [alert setInformativeText:NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_DESCRIPTION", "Informative Text displayed when clearing the Trash")]; + alert.alertStyle = NSWarningAlertStyle; + alert.messageText = NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_TITLE", ""); + alert.informativeText = NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_DESCRIPTION", "Informative Text displayed when clearing the Trash"); + [alert addButtonWithTitle:NSLocalizedString(@"EMPTY_TRASH", "Empty Trash")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; + alert.buttons.lastObject.keyEquivalent = [NSString stringWithFormat:@"%c", 0x1b]; - [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; - - NSWindow *window = [[self windowControllers][0] window]; - [alert beginSheetModalForWindow:window modalDelegate:self didEndSelector:@selector(_emptyTrashAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; + [alert beginSheetModalForWindow:self.windowForSheet modalDelegate:self didEndSelector:@selector(_emptyTrashAlertDidEnd:returnCode:contextInfo:) contextInfo:NULL]; } - (void)_emptyTrashAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { @@ -571,17 +555,16 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey KPKEntry *entry = node.asEntry; NSAlert *alert = [[NSAlert alloc] init]; - [alert setAlertStyle:NSWarningAlertStyle]; - [alert setMessageText:NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_TITLE", "")]; - [alert setInformativeText:NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_DESCRIPTION", "Informative Text displayed when clearing the Trash")]; + alert.alertStyle = NSWarningAlertStyle; + alert.messageText = NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_TITLE", ""); + alert.informativeText = NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_DESCRIPTION", "Informative Text displayed when clearing the Trash"); + NSString *okButtonText = entry ? NSLocalizedString(@"DELETE_TRASHED_ENTRY", "Empty Trash") : NSLocalizedString(@"DELETE_TRASHED_GROUP", "Empty Trash"); [alert addButtonWithTitle:okButtonText]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; - - [[alert buttons][1] setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x1b]]; - - NSWindow *window = [[self windowControllers][0] window]; - [alert beginSheetModalForWindow:window modalDelegate:self didEndSelector:@selector(_deleteTrashedItemAlertDidEnd:returnCode:contextInfo:) contextInfo:(__bridge void *)(node)]; + alert.buttons.lastObject.keyEquivalent = [NSString stringWithFormat:@"%c", 0x1b]; + + [alert beginSheetModalForWindow:self.windowForSheet modalDelegate:self didEndSelector:@selector(_deleteTrashedItemAlertDidEnd:returnCode:contextInfo:) contextInfo:(__bridge void *)(node)]; } - (void)_deleteTrashedItemAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 31c3fee4..09b38fc9 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -382,7 +382,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(entry) { return entry; } - MPDocument *document = [[self windowController] document]; + MPDocument *document = self.windowController.document; return document.selectedItem; } @@ -702,8 +702,9 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(!entry) { return; } - MPDocument *document = [[self windowController] document]; - [document deleteEntry:entry]; + + MPDocument *document = self.windowController.document; + [document deleteNode:entry]; } From 976e96d873965f9728feff983c7aa2c0bcd1dfd9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 14 Dec 2015 20:43:00 +0100 Subject: [PATCH 458/778] fixed #396. Perform autotype on selected entries works again --- Cartfile.resolved | 2 +- MacPass/MPAppDelegate.h | 1 - MacPass/MPDocumentWindowController.m | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index 39fcb6d9..6dbeb46f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" -github "mstarke/KeePassKit" "1.0" +github "mstarke/KeePassKit" "1.0.1" github "sparkle-project/Sparkle" "1.12.0b1" diff --git a/MacPass/MPAppDelegate.h b/MacPass/MPAppDelegate.h index 727173f6..53e3c108 100644 --- a/MacPass/MPAppDelegate.h +++ b/MacPass/MPAppDelegate.h @@ -30,7 +30,6 @@ APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; @property (strong) IBOutlet NSWindow *passwordCreatorWindow; @property (strong) IBOutlet NSWindow *welcomeWindow; -@property (strong) MPAutotypeDaemon *autotypeDaemon; @property (weak) IBOutlet NSMenuItem *saveMenuItem; @property (nonatomic, assign) BOOL isAllowedToStoreKeyFile; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 12af8491..385aaaf4 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -379,8 +379,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); - (void)performAutotypeForEntry:(id)sender { id entryResolver = [NSApp targetForAction:@selector(currentTargetEntry)]; KPKEntry *targetEntry = [entryResolver currentTargetEntry]; - MPAutotypeDaemon *autotyped = ((MPAppDelegate *)[NSApplication sharedApplication].delegate).autotypeDaemon; - [autotyped performAutotypeForEntry:targetEntry]; + [[MPAutotypeDaemon defaultDaemon] performAutotypeForEntry:targetEntry]; } - (void)showInspector:(id)sender { From 199b7445f721ce7db3da0a4cbf9a363c2bc0a901 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 14 Dec 2015 23:35:25 +0100 Subject: [PATCH 459/778] Removed code signing on copy for compatibilty --- MacPass.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e908c470..fda9dc5a 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -208,7 +208,7 @@ 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginManager.m */; }; 4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; }; 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; }; - 4CD60C131C104AD4005BE5F8 /* HNHUi.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 4CD60C131C104AD4005BE5F8 /* HNHUi.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */; }; 4CD78ABC16D155FF00768A1D /* 07_NotepadTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB716D155FF00768A1D /* 07_NotepadTemplate.pdf */; }; 4CD78ABD16D155FF00768A1D /* 08_SocketTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78AB816D155FF00768A1D /* 08_SocketTemplate.pdf */; }; From f04793f14632df6e01405d51946d33a5c2f3e3f2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 16 Dec 2015 12:52:22 +0100 Subject: [PATCH 460/778] Updated Localization --- MacPass/de.lproj/Localizable.strings | Bin 14294 -> 14328 bytes MacPass/en.lproj/Localizable.strings | Bin 13286 -> 13320 bytes MacPass/fr.lproj/Localizable.strings | Bin 13972 -> 14006 bytes MacPass/nl.lproj/Localizable.strings | Bin 13848 -> 13882 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 11328 -> 11362 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index e6c458f52845c6ec67215c2fabcab5adbb51997a..10ff2c5815274965e8fcfedbaa6be175e7b3b94b 100644 GIT binary patch delta 34 mcmcbX|091xhmfcrgDZm)g93vs5GyhGFr)%u(dKHQXjK5OO$ev} delta 12 Tcmey7e=UDQhtTF#LVl_MEp`Rj diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index aec2752956176a1a7432596b7b73ae450fd510c4..0289319c79792747f1b280943c7629e4b00dd764 100644 GIT binary patch delta 34 ocmaEs-jT5(L{QX^!IeRYL4m;*h?N-p81fnN7*aR83(i*p0GqT37ytkO delta 12 TcmeCkc$U5)L~wJN;3OpgCV>S( diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 124b0048e577819ec971496bceeffff7df0c46ec..da02715937799d58d4442983d8b30d962185b572 100644 GIT binary patch delta 34 mcmbP|yDfJ^osg&>gDZm)g93vs5GyhGG57*hisWfcIKga>;7 delta 12 Tcmdm%J0*8RozUh5LSiZaCc^~; diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index 02bf37d159be45e7ec5751f9695e439f9b2a08cb..5be421d577efd2a2b8060ea796ab67b4df9f2cfd 100644 GIT binary patch delta 42 rcmbP{vnyvqosgs-gFk~GgDZm)g93vs5Gw(BV3Eo8T#}pngu0Xg-ed`y delta 16 Xcmdm$Gb3k1ozP?tE`iM(gu0XgJ?jR7 diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index 51b11556a8119ad395b021979b909640f8a8275e..36be6b4ce6efb1fc9028b14f154acde9e66361cd 100644 GIT binary patch delta 35 ncmX>Q@hD Date: Wed, 16 Dec 2015 12:52:32 +0100 Subject: [PATCH 461/778] Using NSObjectController for Group Inspector --- MacPass/MPGroupInspectorViewController.m | 71 +++++++++++------------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 9f8dc1d3..801284a2 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -15,12 +15,11 @@ #import "HNHUi/HNHUi.h" -@interface MPGroupInspectorViewController () { - NSObjectController *_entryController; -} +@interface MPGroupInspectorViewController () -@property (nonatomic, weak) KPKGroup *group; +//@property (nonatomic, weak) KPKGroup *group; @property (strong) NSPopover *popover; +@property (strong) NSObjectController *groupController; @end @@ -33,7 +32,7 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { - _entryController = [[NSObjectController alloc] init]; + _groupController = [[NSObjectController alloc] init]; } return self; } @@ -80,45 +79,39 @@ [searchMenu addItem:inheritSearch]; [searchMenu addItem:includeInSearch]; [searchMenu addItem:excludeFromSearch]; - - /* - void(^copyBlock)(NSTextField *textField) = ^void(NSTextField *textField) { - [[MPPasteBoardController defaultController] copyObjects:@[ textField.stringValue ]]; - }; - - self.titleTextField.copyActionBlock = copyBlock; - */ + + [self _establishBindings]; } - (void)setupBindings:(MPDocument *)document { - [self bind:NSStringFromSelector(@selector(group)) toObject:document withKeyPath:NSStringFromSelector(@selector(selectedGroup)) options:nil]; + [self.groupController bind:NSContentObjectBinding toObject:document withKeyPath:NSStringFromSelector(@selector(selectedGroup)) options:nil]; } -- (void)setGroup:(KPKGroup *)group { - if(_group != group) { - _group = group; - [self _updateBindings]; - } -} - -- (void)_updateBindings { - if(self.group) { - [self.titleTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; - [self.expiresCheckButton bind:NSValueBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expires)) options:nil]; - [self.expiresCheckButton bind:NSTitleBinding toObject:self.group.timeInfo withKeyPath:NSStringFromSelector(@selector(expirationDate)) options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; - [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isAutoTypeEnabled)) options:nil]; - [self.autotypeSequenceTextField bind:NSValueBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(defaultAutoTypeSequence)) options:nil]; - [self.searchPopupButton bind:NSSelectedTagBinding toObject:self.group withKeyPath:NSStringFromSelector(@selector(isSearchEnabled)) options:nil]; - } - else { - [self.titleTextField unbind:NSValueBinding]; - [self.expiresCheckButton unbind:NSValueBinding]; - [self.expiresCheckButton unbind:NSTitleBinding]; - [self.expiresCheckButton setTitle:NSLocalizedString(@"EXPIRES", "")]; - [self.searchPopupButton unbind:NSSelectedTagBinding]; - [self.autotypePopupButton unbind:NSSelectedTagBinding]; - [self.autotypeSequenceTextField unbind:NSValueBinding]; - } +- (void)_establishBindings { + [self.titleTextField bind:NSValueBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSContentBinding, NSStringFromSelector(@selector(title))] + options:@{NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", @"")}]; + [self.expiresCheckButton bind:NSValueBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSContentBinding, NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expires))] + options:nil]; + [self.expiresCheckButton bind:NSTitleBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSContentBinding, NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expirationDate))] + options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; + [self.autotypePopupButton bind:NSSelectedTagBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSContentBinding, NSStringFromSelector(@selector(isAutoTypeEnabled))] + options:nil]; + [self.autotypeSequenceTextField bind:NSValueBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSContentBinding, NSStringFromSelector(@selector(defaultAutoTypeSequence))] + options:@{NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", @"")}]; + [self.searchPopupButton bind:NSSelectedTagBinding + toObject:self.groupController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSContentBinding, NSStringFromSelector(@selector(isSearchEnabled))] + options:nil]; } @end From 3165ad78b177c8200264ce26ac18ad12545ec3de Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 16 Dec 2015 12:53:18 +0100 Subject: [PATCH 462/778] More verbose error reporting in PluginManager --- MacPass/MPPluginManager.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index ad7f7110..aa5d82c0 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -92,23 +92,34 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu NSBundle *pluginBundle = [NSBundle bundleWithURL:pluginURL]; if(!pluginBundle) { + NSLog(@"Could not create bundle %@", pluginURL.path); continue; } NSError *error; if(![pluginBundle preflightAndReturnError:&error]) { - NSLog(@"%@", error.localizedDescription ); + NSLog(@"Preflight Error %@ %@", error.localizedDescription, error.localizedFailureReason ); continue; }; + + if(![pluginBundle loadAndReturnError:&error]) { + NSLog(@"Bunlde Loading Error %@ %@", error.localizedDescription, error.localizedFailureReason); + continue; + } if(![self _validateClass:pluginBundle.principalClass]) { + NSLog(@"Wrong principal Class."); continue; } MPPlugin *plugin = [[pluginBundle.principalClass alloc] initWithPluginManager:self]; if(plugin) { + NSLog(@"Loaded plugin instance %@", pluginBundle.principalClass); [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerWillLoadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; [self.mutablePlugins addObject:plugin]; [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidLoadPlugin object:self userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; } + else { + NSLog(@"Unable to instanciate instance of plugin class %@", pluginBundle.principalClass); + } } } From 8bce3907f382c385423e6979718b99c7bbfdaeb4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 16 Dec 2015 12:53:44 +0100 Subject: [PATCH 463/778] Updated UI to Xcode 7.2 --- MacPass/Base.lproj/GeneralSettings.xib | 22 ++----------- MacPass/Base.lproj/IntegrationSettings.xib | 21 ++---------- MacPass/Base.lproj/PluginSettings.xib | 4 +-- MacPass/Base.lproj/UpdateSettings.xib | 8 ++--- MacPass/EntryView.xib | 37 +++++----------------- 5 files changed, 17 insertions(+), 75 deletions(-) diff --git a/MacPass/Base.lproj/GeneralSettings.xib b/MacPass/Base.lproj/GeneralSettings.xib index eb480138..a556262e 100644 --- a/MacPass/Base.lproj/GeneralSettings.xib +++ b/MacPass/Base.lproj/GeneralSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -34,7 +34,6 @@ - @@ -46,7 +45,6 @@ - @@ -67,7 +65,6 @@ - @@ -75,7 +72,6 @@ - @@ -93,7 +89,6 @@ - @@ -110,7 +104,6 @@ - Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved. @@ -128,7 +120,6 @@ - @@ -166,7 +156,6 @@ - @@ -178,7 +167,6 @@ - @@ -202,7 +188,6 @@ - @@ -217,8 +202,7 @@ - - + diff --git a/MacPass/Base.lproj/IntegrationSettings.xib b/MacPass/Base.lproj/IntegrationSettings.xib index 4ed94a5f..7418ce13 100644 --- a/MacPass/Base.lproj/IntegrationSettings.xib +++ b/MacPass/Base.lproj/IntegrationSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -36,7 +36,6 @@ - @@ -45,7 +44,6 @@ - @@ -62,7 +59,6 @@ - @@ -71,7 +67,6 @@ - @@ -112,7 +103,6 @@ - @@ -177,7 +163,6 @@ - @@ -187,7 +172,6 @@ - @@ -202,7 +186,6 @@ - diff --git a/MacPass/Base.lproj/PluginSettings.xib b/MacPass/Base.lproj/PluginSettings.xib index 3658c8b1..a24cd65c 100644 --- a/MacPass/Base.lproj/PluginSettings.xib +++ b/MacPass/Base.lproj/PluginSettings.xib @@ -40,7 +40,7 @@ If enabled, only properly signed Plugins will be loaded. Keep in mind, that Plugins have full access to your data! Changes take affect on restart. - + @@ -122,7 +122,7 @@ - + diff --git a/MacPass/Base.lproj/UpdateSettings.xib b/MacPass/Base.lproj/UpdateSettings.xib index 6c644edd..4446ce71 100644 --- a/MacPass/Base.lproj/UpdateSettings.xib +++ b/MacPass/Base.lproj/UpdateSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -20,7 +20,6 @@ - @@ -31,7 +30,6 @@ - @@ -53,7 +51,6 @@ - @@ -72,7 +69,6 @@ - diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 5205c069..4c9093fe 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,8 @@ - + - + @@ -27,9 +27,8 @@ - + - @@ -53,7 +52,6 @@ - @@ -66,7 +64,6 @@ - @@ -96,12 +93,10 @@ - - @@ -117,7 +112,6 @@ - @@ -144,7 +138,6 @@ - @@ -157,7 +150,6 @@ - @@ -183,7 +175,6 @@ - @@ -196,14 +187,13 @@ - - + @@ -217,12 +207,11 @@ - + - + - @@ -235,7 +224,6 @@ - @@ -245,24 +233,19 @@ - - - From c7590dcb6076abb4114da686a26123bd316a3786 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 17 Dec 2015 19:07:44 +0100 Subject: [PATCH 464/778] Using NSObjectController for entry inspector --- MacPass/Base.lproj/EntryInspectorView.xib | 85 +------ MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPEntryInspectorViewController.h | 2 +- MacPass/MPEntryInspectorViewController.m | 278 ++++++++++++---------- MacPass/MPInspectorViewController.h | 2 +- MacPass/MPInspectorViewController.m | 25 +- 6 files changed, 169 insertions(+), 225 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index ca70c171..d3a83eca 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -41,8 +41,7 @@ - - + @@ -55,14 +54,12 @@ - - @@ -75,7 +72,6 @@ - @@ -89,7 +85,6 @@ - @@ -105,7 +100,6 @@ - @@ -133,12 +127,10 @@ - - @@ -153,7 +145,6 @@ - @@ -169,12 +160,10 @@ - - @@ -186,7 +175,6 @@ - @@ -216,7 +204,6 @@ - @@ -228,22 +215,18 @@ - - @@ -257,7 +240,6 @@ - @@ -273,7 +255,6 @@ - @@ -284,7 +265,6 @@ - @@ -300,7 +280,6 @@ - @@ -328,7 +307,6 @@ - @@ -340,7 +318,6 @@ - @@ -352,7 +329,6 @@ - @@ -370,7 +346,6 @@ - @@ -387,7 +362,6 @@ - @@ -400,7 +374,6 @@ - @@ -416,7 +389,6 @@ - @@ -427,22 +399,18 @@ - - @@ -456,7 +424,6 @@ - @@ -466,7 +433,6 @@ - @@ -482,15 +448,13 @@ - - + - @@ -502,7 +466,6 @@ - @@ -514,7 +477,6 @@ - @@ -526,7 +488,6 @@ - @@ -541,7 +502,6 @@ - @@ -553,7 +513,6 @@ - @@ -562,7 +521,6 @@ - @@ -571,7 +529,6 @@ - @@ -774,7 +719,6 @@ - @@ -786,7 +730,6 @@ - @@ -802,7 +745,6 @@ - @@ -826,7 +768,6 @@ - @@ -834,7 +775,6 @@ - @@ -844,20 +784,16 @@ - - @@ -448,13 +448,13 @@ - + - + - + @@ -462,7 +462,7 @@ - + @@ -476,7 +476,7 @@ - + @@ -484,7 +484,7 @@ - + @@ -520,7 +520,7 @@ - + @@ -528,10 +528,10 @@ - + @@ -556,9 +556,9 @@ - + @@ -930,7 +930,7 @@ - + diff --git a/MacPass/Base.lproj/GroupInspectorView.xib b/MacPass/Base.lproj/GroupInspectorView.xib index 9a074d18..80a3f07a 100644 --- a/MacPass/Base.lproj/GroupInspectorView.xib +++ b/MacPass/Base.lproj/GroupInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -30,7 +30,6 @@ - @@ -39,7 +38,6 @@ - @@ -54,7 +52,6 @@ - @@ -64,14 +61,13 @@ - @@ -92,7 +87,6 @@ - @@ -102,18 +96,16 @@ - - - + + - - - + + @@ -122,7 +114,6 @@ - @@ -134,7 +125,6 @@ - @@ -170,7 +160,6 @@ - @@ -179,18 +168,14 @@ - - diff --git a/MacPass/MPCustomFieldTableViewDelegate.m b/MacPass/MPCustomFieldTableViewDelegate.m index 12d5e2ef..a3e62ecf 100644 --- a/MacPass/MPCustomFieldTableViewDelegate.m +++ b/MacPass/MPCustomFieldTableViewDelegate.m @@ -21,7 +21,6 @@ // #import "MPCustomFieldTableViewDelegate.h" -#import "MPDocument.h" #import "MPCustomFieldTableCellView.h" #import "MPEntryInspectorViewController.h" @@ -30,31 +29,21 @@ @implementation MPCustomFieldTableViewDelegate - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - MPDocument *document = [[[tableView window] windowController] document]; - - KPKEntry *entry = document.selectedEntry; MPCustomFieldTableCellView *view = [tableView makeViewWithIdentifier:@"SelectedCell" owner:tableView]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_customFieldFrameChanged:) - name:NSViewFrameDidChangeNotification - object:view]; - - NSAssert([entry.customAttributes count] > row, @"Count of custom attributes must match row"); - KPKAttribute *attribute = entry.customAttributes[row]; - NSDictionary *validateOptions = @{ NSValidatesImmediatelyBindingOption: @YES }; - [view.labelTextField bind:NSValueBinding toObject:attribute withKeyPath:@"key" options:validateOptions]; - [view.valueTextField bind:NSValueBinding toObject:attribute withKeyPath:@"value" options:nil]; - [view.removeButton setTarget:self.viewController]; - [view.removeButton setAction:@selector(removeCustomField:)]; - [view.removeButton setTag:row]; + [view.labelTextField bind:NSValueBinding + toObject:view + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(key))] + options:@{ NSValidatesImmediatelyBindingOption: @YES }]; + [view.valueTextField bind:NSValueBinding + toObject:view + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(value))] + options:nil]; + view.removeButton.target = self.viewController; + view.removeButton.action = @selector(removeCustomField:); + view.removeButton.tag = row; return view; } -- (void)_customFieldFrameChanged:(NSNotification *)notification { - // NSView *sender = [notification object]; - // NSLog(@"didChangeFrameFor: %@ to: %@", sender, NSStringFromRect([sender frame])); -} - @end diff --git a/MacPass/MPOverlayView.m b/MacPass/MPOverlayView.m index 7c99c57b..87064985 100644 --- a/MacPass/MPOverlayView.m +++ b/MacPass/MPOverlayView.m @@ -13,9 +13,9 @@ - (void)drawRect:(NSRect)dirtyRect { [[NSGraphicsContext currentContext] saveGraphicsState]; [[NSColor clearColor] set]; - NSRectFill([self bounds]); + NSRectFill(self.bounds); NSColor *backgroundColor = [NSColor colorWithCalibratedWhite:0 alpha:0.7]; - NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:[self bounds] xRadius:10 yRadius:10]; + NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:self.bounds xRadius:10 yRadius:10]; [backgroundColor set]; [path fill]; [[NSGraphicsContext currentContext] restoreGraphicsState]; diff --git a/MacPass/MPShadowBox.m b/MacPass/MPShadowBox.m index 919c44bc..c57d0301 100644 --- a/MacPass/MPShadowBox.m +++ b/MacPass/MPShadowBox.m @@ -6,11 +6,12 @@ // Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. // -#define ELIPSIS_OFFSET 0 -#define ELIPSIS_HEIGHT 20 -#define SHADOW_OFFSET 10 +static CGFloat kMPElipsisOffset = 0.0; +static CGFloat kMPElipsisHeight = 20.0; +static CGFloat kMPShadowOffset = 10.0; #import "MPShadowBox.h" +#import "MPFlagsHelper.h" @implementation MPShadowBox @@ -28,7 +29,7 @@ - (void)drawRect:(NSRect)dirtyRect { - dirtyRect = [self bounds]; + dirtyRect = self.bounds; [[NSGraphicsContext currentContext] saveGraphicsState]; NSColor *topColor = [NSColor colorWithCalibratedWhite:0.9 alpha:1]; @@ -37,19 +38,20 @@ [gradient drawInRect:dirtyRect angle:-90]; NSShadow *dropShadow = [[NSShadow alloc] init]; - [dropShadow setShadowColor:[NSColor colorWithCalibratedWhite:0 alpha:0.5]]; - [dropShadow setShadowBlurRadius:10]; + dropShadow.shadowColor = [NSColor colorWithCalibratedWhite:0 alpha:0.5]; + dropShadow.shadowBlurRadius = 10; [dropShadow set]; [[NSColor redColor] set]; // Use red to show visual errors - if(0 != (self.shadowDisplay & MPShadowTop)) { - [dropShadow setShadowOffset:NSMakeSize(0, -SHADOW_OFFSET)]; - NSRect topElispis = NSMakeRect(0, dirtyRect.size.height + ELIPSIS_OFFSET, dirtyRect.size.width, ELIPSIS_HEIGHT); + + if(MPIsFlagSetInOptions(MPShadowTop, self.shadowDisplay)) { + dropShadow.shadowOffset = NSMakeSize(0, -kMPShadowOffset); + NSRect topElispis = NSMakeRect(0, dirtyRect.size.height + kMPElipsisOffset, dirtyRect.size.width, kMPElipsisHeight); [[NSBezierPath bezierPathWithOvalInRect:topElispis] fill]; } - if(0 != (self.shadowDisplay & MPShadowBottom)) { - NSRect bottomElipsis = NSMakeRect(0, - ( ELIPSIS_OFFSET + ELIPSIS_HEIGHT ), dirtyRect.size.width, ELIPSIS_HEIGHT); - [dropShadow setShadowOffset:NSMakeSize(0, SHADOW_OFFSET)]; + if(MPIsFlagSetInOptions(MPShadowBottom, self.shadowDisplay)) { + NSRect bottomElipsis = NSMakeRect(0, - ( kMPElipsisOffset + kMPElipsisHeight ), dirtyRect.size.width, kMPElipsisHeight); + dropShadow.shadowOffset = NSMakeSize(0, kMPShadowOffset); [[NSBezierPath bezierPathWithOvalInRect:bottomElipsis] fill]; } @@ -59,7 +61,7 @@ - (void)setShadowDisplay:(MPShadowDisplay)shadowDisplay { if(_shadowDisplay != shadowDisplay) { _shadowDisplay = shadowDisplay; - [self setNeedsDisplay:YES]; + self.needsDisplay = YES; } } From 622e145e535571001727e4bd52c65861a3dd19c4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 18 Dec 2015 18:15:15 +0100 Subject: [PATCH 468/778] Using NSObjectController for bindings in InspectorTab --- MacPass/MPInspectorViewController.m | 52 ++++++++++++----------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index d74c4500..0a0ef0bf 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -103,13 +103,12 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [groupTabItem setInitialFirstResponder:groupView]; [self.view layout]; - + /* Init edit and cancel buttons */ self.editButton.action = @selector(beginEditing:); self.cancelEditButton.action = @selector(cancelEditing:); self.cancelEditButton.hidden = YES; - - [self _updateBindings:nil]; + [self _toggleEditors:NO]; } @@ -120,6 +119,10 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { object:document]; [self.entryViewController registerNotificationsForDocument:document]; + + [self.nodeController bind:NSContentBinding toObject:document withKeyPath:NSStringFromSelector(@selector(selectedItem)) options:nil]; + [self _establishBindings]; + [self.entryViewController setupBindings:document]; [self.groupViewController setupBindings:document]; } @@ -164,7 +167,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self.modifiedTextField setStringValue:[NSString stringWithFormat:modifedAtTemplate, modificationString]]; [self.createdTextField setStringValue:[NSString stringWithFormat:createdAtTemplate, creationString]]; - } #pragma mark - @@ -244,28 +246,20 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { #pragma mark - #pragma mark Bindings -- (void)_updateBindings:(id)item { - if(!item) { - [self.itemNameTextField unbind:NSValueBinding]; - self.itemNameTextField.hidden = YES; - - [self.itemImageView unbind:NSValueBinding]; - self.itemImageView.hidden = YES; - - self.notesTextView.enclosingScrollView.hidden = YES; - [self.notesTextView unbind:NSValueBinding]; - self.notesTextView.string = @""; - - return; - } +- (void)_establishBindings { - /* Disable if item is not editable */ - [self.itemImageView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(iconImage)) options:nil]; - self.notesTextView.enclosingScrollView.hidden = NO; - [self.notesTextView bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(notes)) options:nil]; - [self.itemNameTextField bind:NSValueBinding toObject:item withKeyPath:NSStringFromSelector(@selector(title)) options:nil]; - self.itemImageView.hidden = NO; - self.itemNameTextField.hidden = NO; + [self.itemImageView bind:NSValueBinding + toObject:self.nodeController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(iconImage))] + options:nil]; + [self.notesTextView bind:NSValueBinding + toObject:self.nodeController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(notes))] + options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; + [self.itemNameTextField bind:NSValueBinding + toObject:self.nodeController + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(content)), NSStringFromSelector(@selector(title))] + options:@{NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; } #pragma mark - @@ -285,15 +279,13 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.activeTab = MPGroupTab; } else if(document.selectedItem.asEntry) { - self.activeTab = MPEntryTab; + self.activeTab = MPEntryTab; } else { self.activeTab = MPEmptyTab; } -// self.representedObject = document.selectedItem; -// self.entryViewController.representedObject = document.selectedItem.asEntry; -// self.groupViewController.representedObject = document.selectedItem.asGroup; - [self _updateBindings:document.selectedItem]; + + [self _establishBindings]; } - (IBAction)beginEditing:(id)sender { From 09307ccafb968eb42c310f75c3c40b73b4080c92 Mon Sep 17 00:00:00 2001 From: Lenucksi Date: Wed, 23 Dec 2015 13:37:49 +0100 Subject: [PATCH 469/778] Enable Travis CI --- .travis.yml | 9 +++++++++ ci/build | 6 ++++++ 2 files changed, 15 insertions(+) create mode 100644 .travis.yml create mode 100755 ci/build diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..8f73972a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +osx_image: xcode7.2 +language: objective-c +before_install: +- brew update +- brew outdated xctool || brew upgrade xctool +- brew install carthage +script: ci/build +notifications: + email: false diff --git a/ci/build b/ci/build new file mode 100755 index 00000000..5bee5d4d --- /dev/null +++ b/ci/build @@ -0,0 +1,6 @@ +#!/bin/bash + +git submodule update --init --recursive +carthage bootstrap --platform Mac +xcodebuild +xcodebuild -scheme MacPass -target MacPass -configuration Release From ccb43c82b55dcdccc7326c33309495c8dc5bf73b Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 24 Dec 2015 15:44:19 +0100 Subject: [PATCH 470/778] fixed #399 --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index bd9bc7f1..14461efe 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" "1.12.0b1" github "mstarke/KeePassKit" ~> 1.0 -github "mstarke/HNHUi" ~> 1.0 \ No newline at end of file +github "mstarke/HNHUi" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index 6dbeb46f..cee52034 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" -github "mstarke/KeePassKit" "1.0.1" +github "mstarke/KeePassKit" "1.0.2" github "sparkle-project/Sparkle" "1.12.0b1" From 8244cc56b79d042c56b11579fa6301f50ad26c82 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 24 Dec 2015 15:44:49 +0100 Subject: [PATCH 471/778] fixed #398 --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 14461efe..1cb3b8a1 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "sparkle-project/Sparkle" "1.12.0b1" +github "sparkle-project/Sparkle" ~> 1.13 github "mstarke/KeePassKit" ~> 1.0 github "mstarke/HNHUi" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index cee52034..28e7d75f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" github "mstarke/KeePassKit" "1.0.2" -github "sparkle-project/Sparkle" "1.12.0b1" +github "sparkle-project/Sparkle" "1.13.0" From 8805ae16c7d5c78a02244153b27edd9c532ff0f6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 25 Dec 2015 02:52:26 +0100 Subject: [PATCH 472/778] updated dependencies --- Cartfile.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index 28e7d75f..3ba87884 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" -github "mstarke/KeePassKit" "1.0.2" +github "mstarke/KeePassKit" "1.0.3" github "sparkle-project/Sparkle" "1.13.0" From 07eeacbcbeaedf077c1ad56415716e74d49f0e1e Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 28 Dec 2015 11:56:08 +0100 Subject: [PATCH 473/778] Changed font color --- MacPass/Base.lproj/EntryInspectorView.xib | 8 ++++---- MacPass/EntryView.xib | 6 +++--- MacPass/MPEntryInspectorViewController.m | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 35685cff..72dd1ff7 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -177,7 +177,7 @@ - + - - - @@ -320,6 +317,5 @@ - diff --git a/MacPass/Base.lproj/UpdateSettings.xib b/MacPass/Base.lproj/UpdateSettings.xib index 4446ce71..a77c535a 100644 --- a/MacPass/Base.lproj/UpdateSettings.xib +++ b/MacPass/Base.lproj/UpdateSettings.xib @@ -1,12 +1,14 @@ - + - + + + @@ -24,9 +26,6 @@ - - - @@ -44,10 +43,6 @@ - - - - @@ -69,7 +64,7 @@ + - diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index f0f6bc40..4567058a 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -38,6 +38,8 @@ #import "KeePassKit/KeePassKit.h" +#import + NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDidChangeStoredKeyFilesSettings"; @interface MPAppDelegate () { @@ -158,6 +160,10 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi [MPAutotypeDaemon defaultDaemon]; /* Create Plugin Manager */ [MPPluginManager sharedManager]; +#ifdef RELEASE + /* Only enabel updater in Release */ + [SUUpdater sharedUpdater]; +#endif } #pragma mark - diff --git a/MacPass/MPUpdateSettingsController.m b/MacPass/MPUpdateSettingsController.m index ac27aa36..f8bbf311 100644 --- a/MacPass/MPUpdateSettingsController.m +++ b/MacPass/MPUpdateSettingsController.m @@ -7,8 +7,11 @@ // #import "MPUpdateSettingsController.h" +#import @interface MPUpdateSettingsController () +@property (weak) IBOutlet NSButton *automaticallyCheckForUpdatesCheckButton; +@property (weak) IBOutlet NSPopUpButton *checkIntervallPopupButton; @end @@ -30,4 +33,16 @@ return NSLocalizedString(@"UPDATE_SETTINGS", @"Update Settings Label"); } +- (void)awakeFromNib { +#ifdef RELEASE + [self.checkIntervallPopupButton bind:NSSelectedTagBinding toObject:[SUUpdater sharedUpdater] withKeyPath:NSStringFromSelector(@selector(updateCheckInterval)) options:nil]; + [self.checkIntervallPopupButton bind:NSEnabledBinding toObject:[SUUpdater sharedUpdater] withKeyPath:NSStringFromSelector(@selector(automaticallyChecksForUpdates)) options:nil]; + [self.automaticallyCheckForUpdatesCheckButton bind:NSValueBinding toObject:[SUUpdater sharedUpdater] withKeyPath:NSStringFromSelector(@selector(automaticallyChecksForUpdates)) options:nil]; +#else + self.checkIntervallPopupButton.enabled = NO; + self.automaticallyCheckForUpdatesCheckButton.enabled = NO; +#endif + +} + @end From 06c5f4d740b02aa355a00a072b4292a92871a9c4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 25 Feb 2016 15:48:07 +0100 Subject: [PATCH 505/778] using explicit setters instead of bindings for selection --- MacPass/MPInspectorViewController.m | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 0a0ef0bf..7625d6a6 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -104,12 +104,9 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self.view layout]; - /* Init edit and cancel buttons */ - self.editButton.action = @selector(beginEditing:); - self.cancelEditButton.action = @selector(cancelEditing:); self.cancelEditButton.hidden = YES; - [self _toggleEditors:NO]; + [self _establishBindings]; } - (void)registerNotificationsForDocument:(MPDocument *)document { @@ -119,10 +116,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { object:document]; [self.entryViewController registerNotificationsForDocument:document]; - - [self.nodeController bind:NSContentBinding toObject:document withKeyPath:NSStringFromSelector(@selector(selectedItem)) options:nil]; - [self _establishBindings]; - [self.entryViewController setupBindings:document]; [self.groupViewController setupBindings:document]; } @@ -284,8 +277,9 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { else { self.activeTab = MPEmptyTab; } - - [self _establishBindings]; + self.nodeController.content = document.selectedItem; + self.entryViewController.representedObject = document.selectedItem.asEntry; + self.groupViewController.representedObject = document.selectedItem.asGroup; } - (IBAction)beginEditing:(id)sender { From eb6e6bcaa97bcccc7d01342bd85f5f32daa34323 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 25 Feb 2016 18:41:50 +0100 Subject: [PATCH 506/778] Using new KeePassKit API, simple multi selection support --- MacPass.xcodeproj/project.pbxproj | 4 - MacPass/Base.lproj/InspectorView.xib | 33 ++----- MacPass/EntryView.xib | 16 ++-- MacPass/MPAttachmentTableDataSource.m | 7 +- MacPass/MPAttachmentTableViewDelegate.m | 23 +++-- MacPass/MPContextBarViewController.m | 4 +- MacPass/MPDocument+EditingSession.m | 55 ------------ MacPass/MPDocument+HistoryBrowsing.m | 1 - MacPass/MPDocument+Search.m | 1 - MacPass/MPDocument.h | 13 ++- MacPass/MPDocument.m | 87 +++++++++++-------- MacPass/MPDocumentWindowController.m | 10 +-- MacPass/MPDocumentWindowDelegate.m | 2 +- MacPass/MPEntryInspectorViewController.m | 5 +- MacPass/MPEntryViewController.m | 75 ++++++++-------- MacPass/MPGroupInspectorViewController.m | 3 +- MacPass/MPInspectorViewController.m | 34 ++++---- MacPass/MPOutlineDataSource.m | 8 +- MacPass/MPOutlineView.m | 23 +++++ MacPass/MPOutlineViewController.m | 44 ++++++---- .../MPWindowAssociationsTableViewDelegate.m | 9 +- MacPass/OutlineView.xib | 3 +- 22 files changed, 213 insertions(+), 247 deletions(-) delete mode 100644 MacPass/MPDocument+EditingSession.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 0baba342..c22ce0ff 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -181,7 +181,6 @@ 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; 4C8DEAA21C314D2C00D24C32 /* MPTestAutotypeDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8DEAA11C314D2C00D24C32 /* MPTestAutotypeDelay.m */; }; - 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */; }; 4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; }; 4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; }; 4CA0B2ED15BCADAC00654E32 /* SettingsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */; }; @@ -563,7 +562,6 @@ 4C8B36A917A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineContextMenuDelegate.h; sourceTree = ""; }; 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineContextMenuDelegate.m; sourceTree = ""; }; 4C8DEAA11C314D2C00D24C32 /* MPTestAutotypeDelay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestAutotypeDelay.m; sourceTree = ""; }; - 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+EditingSession.m"; sourceTree = ""; }; 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = ""; }; 4CA08D9E17A831B200A6544B /* MPAddEntryContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAddEntryContextMenuDelegate.h; sourceTree = ""; }; 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAddEntryContextMenuDelegate.m; sourceTree = ""; }; @@ -959,7 +957,6 @@ 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */, 4C15B74518BCA3B1003F8008 /* MPDocument+Search.m */, 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */, - 4C94A0711938DDC20040ABAB /* MPDocument+EditingSession.m */, 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */, 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */, ); @@ -1706,7 +1703,6 @@ 4C7B63711C0CB51F00D7038C /* NSValueTransformer+TransformerKit.m in Sources */, 4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */, 4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */, - 4C94A0721938DDC20040ABAB /* MPDocument+EditingSession.m in Sources */, 4C77C84118E240E000D1C42B /* DDHotKey+MacPassAdditions.m in Sources */, 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */, 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */, diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 4c594df7..583a1c1f 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -27,10 +27,9 @@ - - - @@ -165,13 +156,11 @@ - - - - @@ -226,7 +210,6 @@ - @@ -236,7 +219,6 @@ From 8c1f09bc1259663b309fc618aa4f004776b5b9e4 Mon Sep 17 00:00:00 2001 From: Michal Jaglewicz Date: Sat, 23 Apr 2016 00:48:27 +0200 Subject: [PATCH 536/778] Polish translation --- MacPass/pl.lproj/.DS_Store | Bin 0 -> 8196 bytes MacPass/pl.lproj/Credits.rtf | 92 ++++++++++ .../pl.lproj/DatabaseSettingsWindow.strings | 96 ++++++++++ MacPass/pl.lproj/DatePickingView.strings | 9 + MacPass/pl.lproj/EntryInspectorView.strings | 114 ++++++++++++ MacPass/pl.lproj/GeneralSettings.strings | 63 +++++++ MacPass/pl.lproj/GroupInspectorView.strings | 18 ++ MacPass/pl.lproj/IconSelection.strings | 6 + MacPass/pl.lproj/InfoPlist.strings | 2 + MacPass/pl.lproj/InspectorView.strings | 69 +++++++ MacPass/pl.lproj/IntegrationSettings.strings | 30 +++ MacPass/pl.lproj/KPKLocalizable.strings | 37 ++++ MacPass/pl.lproj/Localizable.strings | Bin 0 -> 13876 bytes MacPass/pl.lproj/MainMenu.strings | 171 ++++++++++++++++++ MacPass/pl.lproj/PasswordCreatorView.strings | 39 ++++ MacPass/pl.lproj/PasswordEditWindow.strings | 30 +++ MacPass/pl.lproj/PasswordInputView.strings | 12 ++ MacPass/pl.lproj/UpdateSettings.strings | 21 +++ MacPass/pl.lproj/WelcomeWindow.strings | 15 ++ MacPass/pl.lproj/WorkflowSettings.strings | 42 +++++ 20 files changed, 866 insertions(+) create mode 100644 MacPass/pl.lproj/.DS_Store create mode 100644 MacPass/pl.lproj/Credits.rtf create mode 100644 MacPass/pl.lproj/DatabaseSettingsWindow.strings create mode 100644 MacPass/pl.lproj/DatePickingView.strings create mode 100644 MacPass/pl.lproj/EntryInspectorView.strings create mode 100644 MacPass/pl.lproj/GeneralSettings.strings create mode 100644 MacPass/pl.lproj/GroupInspectorView.strings create mode 100644 MacPass/pl.lproj/IconSelection.strings create mode 100644 MacPass/pl.lproj/InfoPlist.strings create mode 100644 MacPass/pl.lproj/InspectorView.strings create mode 100644 MacPass/pl.lproj/IntegrationSettings.strings create mode 100644 MacPass/pl.lproj/KPKLocalizable.strings create mode 100644 MacPass/pl.lproj/Localizable.strings create mode 100644 MacPass/pl.lproj/MainMenu.strings create mode 100644 MacPass/pl.lproj/PasswordCreatorView.strings create mode 100644 MacPass/pl.lproj/PasswordEditWindow.strings create mode 100644 MacPass/pl.lproj/PasswordInputView.strings create mode 100644 MacPass/pl.lproj/UpdateSettings.strings create mode 100644 MacPass/pl.lproj/WelcomeWindow.strings create mode 100644 MacPass/pl.lproj/WorkflowSettings.strings diff --git a/MacPass/pl.lproj/.DS_Store b/MacPass/pl.lproj/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..31be0bb440d1d002bade4c9339ee7319cf944677 GIT binary patch literal 8196 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 Date: Sat, 23 Apr 2016 00:55:21 +0200 Subject: [PATCH 537/778] Polish translation --- MacPass/pl.lproj/.DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 MacPass/pl.lproj/.DS_Store diff --git a/MacPass/pl.lproj/.DS_Store b/MacPass/pl.lproj/.DS_Store deleted file mode 100644 index 31be0bb440d1d002bade4c9339ee7319cf944677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM&2G~`5S~o~3hJc@+J;m@KK6vf8(1X)MWs?j1l)kePAaP=sq9oOoctJlC?0?Z z;61`Ov(v~w)R-I)qPx}Ztaf)k&wR7H&bUNm4lcsyL|r24pt9WBMDvTn^IR*Xr6Z3a z4fKgdw4ga9G#SQ~)o#Es;23ZWI0hU8j)8xH0lc%hbZ&X?+gaB-1{?!-k^#OSJXDsx z%FIf+I?zZ80NKW{6!eh?h>oYySD9HUs=&0_gHctZDTcA?nD=-&q^~lw(yEiO>SXlE zMl%#6Plui-%gOjwy4Eq^7^pJ9x%&fpMt$V&AM^S9JQ&CGF=qKdeZzseT1pX!O?tsu zK7|w^<4>WVKu(8oLF*;f?&q|g;wdLscS2*-6#6671^yzM(J4mWOE1JXgiBzim`QHt zO4zW7_EGOImtxVbVo&H88UdZD-aE+2@6gPflBGQwz#@M77aF3M(m7B9jPTcuW|-eg zn7i}}7&Fua-p3W+YyE9~D53R$mcW_|Shl8xtsf=KZ6F1}oQZ9*dK}3}t#!nazD8|p zG#-jgQ)nK;(?}v&kHGO{gnNp>wyeiH$MQP2>-Gd`0dG!)dERX|KIZpct$l{0nMd8B zL-=+`uYnavJR|xlJDYi{#gbU&u^z33!qLm4Y|#;(&nM{!7R<0SYOUay$xCxX8Q+6H zd@56%7T)Edo^d|0jd#7=6rCLVy$b3;Z;i%h-5{bSkNKp6$$RA-9xs}o%>v>My@h@V z|9PL3Z>3ruIhqBmZQNoL?0P;)pV4dVC!faxQWv_+{25Jw$9Li%Stb#_!Y*lPgwb`y zF|cA_!}hwI{||2e{=Zu9I*tLy!2id9Y4=C{1Nf!6b;U!@wLR2Ns9bnmW~Hd0k#rog pjbWZ&{lgG_Pse Date: Mon, 9 May 2016 20:18:26 +0200 Subject: [PATCH 538/778] updated README.md Shorter way for cloning and downloading the submodules all at once instead of a 3-step process. --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 69cebbbe..803d9adf 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,7 @@ All releases can be found at [Github](https://github.com/mstarke/MacPass/release * Fetch the source of MacPass ```bash -git clone https://github.com/mstarke/MacPass -cd MacPass -git submodule update --init --recursive +git clone https://github.com/mstarke/MacPass --recursive ``` * Install [Carthage](https://github.com/Carthage/Carthage#installing-carthage) * Install all Dependencies From 4325946e80e4ace83e48536d8d9cff87175dc350 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 24 Mar 2016 15:15:14 +0100 Subject: [PATCH 539/778] Formatting --- MacPass/MPDocument.m | 12 ++++++------ MacPass/MPPluginManager.m | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 7cdbc67f..73977dfc 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -517,7 +517,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_TITLE", ""); alert.informativeText = NSLocalizedString(@"WARNING_ON_EMPTY_TRASH_DESCRIPTION", "Informative Text displayed when clearing the Trash"); - + [alert addButtonWithTitle:NSLocalizedString(@"EMPTY_TRASH", "Empty Trash")]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; alert.buttons.lastObject.keyEquivalent = [NSString stringWithFormat:@"%c", 0x1b]; @@ -538,12 +538,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_TITLE", ""); alert.informativeText = NSLocalizedString(@"WARNING_ON_DELETE_TRASHED_NODE_DESCRIPTION", "Informative Text displayed when clearing the Trash"); - + NSString *okButtonText = entry ? NSLocalizedString(@"DELETE_TRASHED_ENTRY", "Empty Trash") : NSLocalizedString(@"DELETE_TRASHED_GROUP", "Empty Trash"); [alert addButtonWithTitle:okButtonText]; [alert addButtonWithTitle:NSLocalizedString(@"CANCEL", "Cancel")]; alert.buttons.lastObject.keyEquivalent = [NSString stringWithFormat:@"%c", 0x1b]; - + [alert beginSheetModalForWindow:self.windowForSheet modalDelegate:self didEndSelector:@selector(_deleteTrashedItemAlertDidEnd:returnCode:contextInfo:) contextInfo:(__bridge void *)(node)]; } @@ -583,9 +583,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey - (void)duplicateEntry:(id)sender { /* - KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil options:kKPKCopyOptionNone]; - [duplicate addToGroup:self.selectedEntry.parent]; - [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; + KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil options:kKPKCopyOptionNone]; + [duplicate addToGroup:self.selectedEntry.parent]; + [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; */ } diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 433b2343..064999dc 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -70,14 +70,14 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu NSURL *appSupportDir = [NSApp applicationSupportDirectoryURL:YES]; NSError *error; NSArray *externalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:appSupportDir - includingPropertiesForKeys:@[] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; + includingPropertiesForKeys:@[] + options:NSDirectoryEnumerationSkipsHiddenFiles + error:&error]; NSArray *internalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:[NSBundle mainBundle].builtInPlugInsURL - includingPropertiesForKeys:@[] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; + includingPropertiesForKeys:@[] + options:NSDirectoryEnumerationSkipsHiddenFiles + error:&error]; if(!externalPluginsURLs) { @@ -110,7 +110,7 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu NSLog(@"Preflight Error %@ %@", error.localizedDescription, error.localizedFailureReason ); continue; }; - + if(![pluginBundle loadAndReturnError:&error]) { NSLog(@"Bunlde Loading Error %@ %@", error.localizedDescription, error.localizedFailureReason); continue; From 0ade1d64a2c32b47372f744ee7b76ed144e4cfcd Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 24 Mar 2016 16:01:03 +0100 Subject: [PATCH 540/778] Plugins cannot be loaded more than once --- MacPass/MPPluginManager.m | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index 064999dc..c91e934b 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -111,6 +111,11 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu continue; }; + if([self _validateBundle:pluginBundle]) { + NSLog(@"Plugin %@ already loaded!", pluginBundle.bundleIdentifier); + continue; + } + if(![pluginBundle loadAndReturnError:&error]) { NSLog(@"Bunlde Loading Error %@ %@", error.localizedDescription, error.localizedFailureReason); continue; @@ -137,6 +142,16 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu } } +- (BOOL)_validateBundle:(NSBundle *)bundle { + for(MPPlugin *plugin in self.mutablePlugins) { + NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; + if([pluginBundle.bundleIdentifier isEqualToString:bundle.bundleIdentifier]) { + return YES; + } + } + return NO; +} + - (BOOL)_validURL:(NSURL *)url { return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); } From d04a922bc5011d912ecc2ef7deea0ec128517ab7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 17 May 2016 17:36:30 +0200 Subject: [PATCH 541/778] Updated to Xcode 7.3 --- MacPass.xcodeproj/project.pbxproj | 2 +- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- MacPass/Base.lproj/EntryInspectorView.xib | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index c3acee05..07747cfa 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1473,7 +1473,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0720; + LastUpgradeCheck = 0730; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 1e8796a5..889b1fd3 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ - + - + From a897a5915aa3a76aa9834b222e8104b643bbaf63 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 17 May 2016 17:37:31 +0200 Subject: [PATCH 542/778] Fixed #461. UUIDs for entries are wrongfully editable --- MacPass/MPEntryInspectorViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index ee0ee995..4039a1ec 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -399,7 +399,7 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; [self.uuidTextField bind:NSValueBinding toObject:self.entryController withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(uuid)), NSStringFromSelector(@selector(UUIDString))] - options:nil]; + options:@{ NSConditionallySetsEditableBindingOption: @NO }]; self.uuidTextField.editable = NO; /*for(id item in items) { From f0fc823b061c3fcc1775c7e74b1c2b76a4a1a67c Mon Sep 17 00:00:00 2001 From: Nathan Landis Date: Sat, 21 May 2016 18:49:30 -0500 Subject: [PATCH 543/778] Fixed #464 stop multiple file-changed boxes from appearing at once --- .DS_Store | Bin 0 -> 6148 bytes MacPass/MPDocument.m | 16 +++++++++++++++- MacPassTests/.DS_Store | Bin 0 -> 6148 bytes 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 MacPassTests/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..dc9217d41d435d481007567afb366016d6ef51d6 GIT binary patch literal 6148 zcmeHKOG*SW5Up}%F(AUYbD5gk>e-QHauyn9X_|KX2rgc(o)0v3hq=1a{vfKq z`MScalZ6Tff`MQl7zhR`4B*Zdne7{f4hDjOVBmuRIUf>=V0Ih~_2_`o6aXmCXcgF! zOGr#|%#MR0dLV3}KnrD0G1$V+BdmsXK8t3>^#v17ijz zR-McJe~MqGn&gi|q81DU1OJQxo;IsyiB0+4`fYo1*Cvz;6cOX}IJi;ia<7mZEJ8kkF5noOG{J!=Nv+D~^3nX}gRzj)1k!{zF!Oe2 z=dI8yG#U}n_G|wv(ul|sZYU=UbF*{vnLT7ifpFZhlNTA}Aj5Y*tG=Hw?vr%jeZp_} zAIG=%<7?b}pUNy1paN8Y3Qz$m@Cya3_rjK|Kt?J+1*pJP0sB4_xM58k1O3y1;3EKV zfwUXeK1%?LC4e)J1Rg0{*?l{==!e3D`jt;y`1&h0^h=|<_tH(+9?R$j)C5e hv9Wf%_M)gOw#Io)90Q$>ywidF88BUFRN$`_xB&M{6;J>G literal 0 HcmV?d00001 From 5f9f199756357b568b13522d27b456ace024e959 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 23 May 2016 14:52:47 +0200 Subject: [PATCH 544/778] using getter/setter instead of direct ivar --- MacPass/MPDocument.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index adbaaed4..3d1f99d0 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -248,14 +248,14 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return; // Just metadata has changed } - if(_fileChangeDialogOpen) { + if(self.fileChangeDialogOpen) { return; // This alert is already being shown } /* Dispatch the alert to the main queue */ dispatch_async(dispatch_get_main_queue(), ^{ - _fileChangeDialogOpen = YES; + self.fileChangeDialogOpen = YES; NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; @@ -265,7 +265,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; [alert beginSheetModalForWindow:self.windowForSheet completionHandler:^(NSModalResponse returnCode) { - _fileChangeDialogOpen = NO; + self.fileChangeDialogOpen = NO; if(returnCode == NSAlertSecondButtonReturn) { [self revertDocumentToSaved:nil]; From a11d2329dea0c1141034ea16eee0b7c403d3a8e2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 1 Jun 2016 09:55:10 +0200 Subject: [PATCH 545/778] rewording --- MacPass/MPDocument.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 3d1f99d0..657dde63 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -249,7 +249,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey } if(self.fileChangeDialogOpen) { - return; // This alert is already being shown + return; // We are already displaying an alert } /* Dispatch the alert to the main queue */ From 3ba98d2d00b5657a831e7f52f341b62a1026b0cf Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 3 Jun 2016 10:14:12 +0200 Subject: [PATCH 546/778] disabled scrolling to added entry while seach results are displayed --- MacPass/Base.lproj/EntryInspectorView.xib | 8 ++++---- MacPass/EntryView.xib | 4 ++-- MacPass/MPEntryViewController.m | 8 ++++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 44918b5c..ee87a692 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,5 +1,5 @@ - + @@ -448,7 +448,7 @@ - + @@ -681,7 +681,7 @@ - + @@ -930,7 +930,7 @@ - + diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index e8881fd3..ecd3953e 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,8 @@ - + - + diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index bb91240c..9b8184ae 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -410,6 +410,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)_didAddItem:(NSNotification *)notification { + MPDocument *document = notification.object; + if(document.hasSearch) { + return; // Search should not react to new Entries as it's displaying search results + } NSDictionary *dict = notification.userInfo; KPKEntry *entry = dict[MPDocumentEntryKey]; NSUInteger row = [self.entryArrayController.arrangedObjects indexOfObject:entry]; @@ -424,7 +428,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; self.filteredEntries = result; [self.entryArrayController unbind:NSContentArrayBinding]; [self.entryArrayController bind:NSContentArrayBinding toObject:self withKeyPath:NSStringFromSelector(@selector(filteredEntries)) options:nil]; - [[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:NO]; + [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = NO; } @@ -445,7 +449,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)_didUnlockDatabase:(NSNotification *)notificiation { - MPDocument *document = [[self windowController] document]; + MPDocument *document = self.windowController.document; /* If the document was locked and unlocked we do not need to recheck */ if(document.unlockCount != 1) { /* TODO add another method to display this! From 109f9c879913edb822a1f98dcf1aae277e45f1e5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Jun 2016 14:17:43 +0200 Subject: [PATCH 547/778] Performing autotype to full screen application works properly now (fixes #466) --- MacPass/MPAutotypeDaemon.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index a609de0a..27523827 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -246,7 +246,7 @@ static MPAutotypeDaemon *_sharedInstance; } - (NSDictionary *)_infoDictionaryForApplication:(NSRunningApplication *)application { - NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); + NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListExcludeDesktopElements, kCGNullWindowID)); for(NSDictionary *windowDict in currentWindows) { NSString *windowTitle = windowDict[(NSString *)kCGWindowName]; if(windowTitle.length <= 0) { @@ -315,7 +315,7 @@ static MPAutotypeDaemon *_sharedInstance; if(frontApplication.processIdentifier == processIdentifier) { return NO; } - [runingApplication activateWithOptions:0]; + [runingApplication activateWithOptions:NSApplicationActivateIgnoringOtherApps]; return YES; } - (void)_updateTargetInfoForFrontMostApplication { From d210f3a0edfb58273e56a504ff95860b2fe16ed4 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Tue, 14 Jun 2016 03:12:14 +0200 Subject: [PATCH 548/778] ignoring .DS_store --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 1 + 2 files changed, 1 insertion(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index dc9217d41d435d481007567afb366016d6ef51d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOG*SW5Up}%F(AUYbD5gk>e-QHauyn9X_|KX2rgc(o)0v3hq=1a{vfKq z`MScalZ6Tff`MQl7zhR`4B*Zdne7{f4hDjOVBmuRIUf>=V0Ih~_2_`o6aXmCXcgF! zOGr#|%#MR0dLV3}KnrD0G1$V+BdmsXK8t3>^#v17ijz zR-McJe~MqGn&gi|q81DU1OJQxo;IsyiB0+4`fYo1*Cvz;6cO Date: Fri, 1 Jul 2016 16:49:54 +0200 Subject: [PATCH 549/778] Implemented notification center message for matched autotype instead of the overlay. See issue #422 --- MacPass/MPAutotypeDaemon.m | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 27523827..c24a3d5a 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -13,7 +13,6 @@ #import "MPAutotypeContext.h" #import "MPAutotypePaste.h" -#import "MPOverlayWindowController.h" #import "MPPasteBoardController.h" #import "MPSettingsHelper.h" @@ -158,9 +157,11 @@ static MPAutotypeDaemon *_sharedInstance; MPAutotypeContext *context = [self _autotypeContextForDocuments:documents forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; /* TODO: that's popping up if the mulit seleciton dialog goes up! */ if(!entryOrNil) { - NSImage *appIcon = [NSApplication sharedApplication].applicationIconImage; - NSString *label = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); - [[MPOverlayWindowController sharedController] displayOverlayImage:appIcon label:label atView:nil]; + NSUserNotification *notification = [[NSUserNotification alloc] init]; + notification.title = @"MacPass"; + notification.informativeText = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); + + [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification]; } [self _performAutotypeForContext:context]; } From f3f0d27a3fc7f3742a4360f7e6a8d53a55df0d5b Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 16 Jun 2016 19:20:49 +0200 Subject: [PATCH 550/778] Resolved issues with undo/redo not working properly on create/remove entry --- MacPass/MPDocument.m | 15 ++++++ MacPass/MPEntryViewController.m | 12 ----- MacPass/MPNodeDelegate.h | 14 ++++++ MacPass/MPNodeDelegate.m | 17 +++++++ MacPassTests/MPTestNodeDelegate.m | 79 +++++++++++++++++++++++++++++++ 5 files changed, 125 insertions(+), 12 deletions(-) create mode 100644 MacPass/MPNodeDelegate.h create mode 100644 MacPass/MPNodeDelegate.m create mode 100644 MacPassTests/MPTestNodeDelegate.m diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 657dde63..641996be 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -462,6 +462,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return nil; // no new Groups in trash } KPKEntry *newEntry = [self.tree createEntry:parent]; + /* setting properties on entries is undoable, but we do not want to record this so disable on creation */ + BOOL wasUndoEnabeld = self.undoManager.isUndoRegistrationEnabled; + [self.undoManager disableUndoRegistration]; newEntry.title = NSLocalizedString(@"DEFAULT_ENTRY_TITLE", @"Title for a newly created entry"); if([self.tree.metaData.defaultUserName length] > 0) { newEntry.username = self.tree.metaData.defaultUserName; @@ -470,6 +473,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey if(defaultPassword) { newEntry.password = defaultPassword; } + /* re-enable undo/redo if we did turn it off */ + if(wasUndoEnabeld) { + [self.undoManager enableUndoRegistration]; + } [newEntry addToGroup:parent]; [newEntry.undoManager setActionName:NSLocalizedString(@"ADD_ENTRY", "")]; NSDictionary *userInfo = @{ MPDocumentEntryKey: newEntry }; @@ -485,8 +492,15 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey return nil; // no new Groups in trash } KPKGroup *newGroup = [self.tree createGroup:parent]; + /* setting properties on entries is undoable, but we do not want to record this so disable on creation */ + BOOL wasUndoEnabeld = self.undoManager.isUndoRegistrationEnabled; + [self.undoManager disableUndoRegistration]; newGroup.title = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group"); newGroup.iconId = MPIconFolder; + /* re-enable undo/redo if we did turn it off */ + if(wasUndoEnabeld) { + [self.undoManager enableUndoRegistration]; + } [newGroup addToGroup:parent]; [newGroup.undoManager setActionName:NSLocalizedString(@"ADD_GROUP", "")]; NSDictionary *userInfo = @{ MPDocumentGroupKey : newGroup }; @@ -571,6 +585,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey for(KPKGroup *group in node.asGroup.childGroups) { [node.undoManager removeAllActionsWithTarget:group]; } + //[self.undoManager setActionIsDiscardable:YES]; [node remove]; } } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 9b8184ae..a231aad5 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -434,13 +434,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didExitSearch:(NSNotification *)notification { [[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:YES]; - // MPDocument *document = [[self windowController] document]; - // document.selectedItem = document.selectedGroup; - // // TODO: really necessary? - // if( nil == document.selectedItem && nil == document.selectedGroup ) { - // [self.entryArrayController unbind:NSContentArrayBinding]; - // [self.entryArrayController setContent:nil]; - // } [self _updateContextBar]; } @@ -461,15 +454,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didEnterHistory:(NSNotification *)notification { [self _showContextBar]; - /* TODO: Show modification date column if not present? */ - MPDocument *document = [[self windowController] document]; - //[self.entryArrayController bind:NSContentArrayBinding toObject:document.selectedEntry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; } - (void)_didExitHistory:(NSNotification *)notification { [self _hideContextBar]; - MPDocument *document = [[self windowController] document]; - //document.selectedItem = document.selectedEntry; } diff --git a/MacPass/MPNodeDelegate.h b/MacPass/MPNodeDelegate.h new file mode 100644 index 00000000..cdf91e01 --- /dev/null +++ b/MacPass/MPNodeDelegate.h @@ -0,0 +1,14 @@ +// +// MPNodeDelegate.h +// MacPass +// +// Created by Michael Starke on 13/06/16. +// Copyright © 2016 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +@interface MPNodeDelegate : NSObject + +@end diff --git a/MacPass/MPNodeDelegate.m b/MacPass/MPNodeDelegate.m new file mode 100644 index 00000000..0bb141fe --- /dev/null +++ b/MacPass/MPNodeDelegate.m @@ -0,0 +1,17 @@ +// +// MPNodeDelegate.m +// MacPass +// +// Created by Michael Starke on 13/06/16. +// Copyright © 2016 HicknHack Software GmbH. All rights reserved. +// + +#import "MPNodeDelegate.h" + +@implementation MPNodeDelegate + +- (void)willModifyNode:(KPKNode *)node { + +} + +@end diff --git a/MacPassTests/MPTestNodeDelegate.m b/MacPassTests/MPTestNodeDelegate.m new file mode 100644 index 00000000..30dfabc7 --- /dev/null +++ b/MacPassTests/MPTestNodeDelegate.m @@ -0,0 +1,79 @@ +// +// MPTestNodeDelegate.m +// MacPass +// +// Created by Michael Starke on 13/06/16. +// Copyright © 2016 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +@interface MPDummyDelegate : NSObject + +@property (strong) NSMutableSet *uuids; + +@end + +@implementation MPDummyDelegate + +- (instancetype)init { + self = [super init]; + if(self) { + self.uuids = [[NSMutableSet alloc] init]; + } + return self; +} + +- (void)willModifyNode:(KPKNode *)node { + if(node.asGroup || ! node.asEntry) { + NSLog(@"Node is no entry, no need to do anything!"); + return; + } + KPKEntry *entry = node.asEntry; + if(![self.uuids containsObject:entry.uuid]) { + [self.uuids addObject:entry.uuid]; + NSLog(@"First mutation for %@ detected. Pushin history", entry); + [entry pushHistory]; + } +} + +@end + +@interface MPTestNodeDelegate : XCTestCase + +@property (strong) KPKEntry *entry; +@property (strong) MPDummyDelegate *delegate; + +@end + +@implementation MPTestNodeDelegate + +- (void)setUp { + [super setUp]; + self.entry = [[KPKEntry alloc] init]; + self.entry.title = @"Entry Title"; + self.entry.url = @"http://www.internet.com"; + self.entry.password = @"1234"; + self.entry.username = @"Entry Username"; + self.entry.autotype.defaultKeystrokeSequence = @"{TAB 3}"; + + self.delegate = [[MPDummyDelegate alloc] init]; + + self.entry.delegate = self.delegate; +} + +- (void)tearDown { + [super tearDown]; +} + +- (void)testModificationDetection { + XCTAssertTrue(self.entry.history.count == 0, @"No History entry is present on newly created entry!"); + self.entry.password = @"New Password"; + XCTAssertEqualObjects(self.entry.password, @"New Password", @"Password is set on entry!"); + XCTAssertTrue(self.entry.history.count == 1, @"Changin the password creates a history entry!"); + KPKEntry *historyEntry = self.entry.history.firstObject; + XCTAssertEqualObjects(historyEntry.password, @"1234", @"Password on history entry did not change!"); +} + +@end From 7a09cb95880bfe32505a8d312cf13d2d03352fa8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 16 Jun 2016 19:22:02 +0200 Subject: [PATCH 551/778] Interims update --- MacPass.xcodeproj/project.pbxproj | 14 +++- MacPass/Base.lproj/EntryInspectorView.xib | 6 +- MacPass/ContextBar.xib | 5 +- MacPass/MPEntryInspectorViewController.m | 4 +- MacPass/MPEntryProxy.m | 79 ++++------------------- 5 files changed, 31 insertions(+), 77 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 07747cfa..24899f10 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -151,6 +151,8 @@ 4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; }; 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; }; 4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; }; + 4C7931031D0F053900A511E8 /* MPTestNodeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */; }; + 4C7931061D0F0B0800A511E8 /* MPNodeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */; }; 4C7ABA4817BAEC6700FF5799 /* 15_ScannerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */; }; 4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */; }; 4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4517BAEC6700FF5799 /* 17_CDRomTemplate.pdf */; }; @@ -514,6 +516,9 @@ 4C77E37415B84A240093A587 /* MacPass-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacPass-Prefix.pch"; sourceTree = ""; }; 4C77E37815B84A240093A587 /* MPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = ""; }; 4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = ""; }; + 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestNodeDelegate.m; sourceTree = ""; }; + 4C7931041D0F0B0800A511E8 /* MPNodeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNodeDelegate.h; sourceTree = ""; }; + 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNodeDelegate.m; sourceTree = ""; }; 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 15_ScannerTemplate.pdf; sourceTree = ""; }; 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 16_BrowserTemplate.pdf; sourceTree = ""; }; 4C7ABA4517BAEC6700FF5799 /* 17_CDRomTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 17_CDRomTemplate.pdf; sourceTree = ""; }; @@ -943,6 +948,8 @@ 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */, 4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */, 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */, + 4C7931041D0F0B0800A511E8 /* MPNodeDelegate.h */, + 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */, ); name = Delegates; sourceTree = ""; @@ -980,6 +987,7 @@ 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, 4CCCD83F1C8E02FE002B77B6 /* MPTextEntryProxy.m */, + 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, ); path = MacPassTests; @@ -1664,6 +1672,7 @@ files = ( 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */, 4C8DEAA21C314D2C00D24C32 /* MPTestAutotypeDelay.m in Sources */, + 4C7931031D0F053900A511E8 /* MPTestNodeDelegate.m in Sources */, 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, 4CCCD8401C8E02FE002B77B6 /* MPTextEntryProxy.m in Sources */, 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, @@ -1678,6 +1687,7 @@ 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */, 4C77E37315B84A240093A587 /* main.m in Sources */, 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */, + 4C7931061D0F0B0800A511E8 /* MPNodeDelegate.m in Sources */, 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */, 4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */, @@ -2169,7 +2179,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -2210,7 +2220,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index ee87a692..43d7e5cd 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -448,7 +448,7 @@ - + @@ -681,7 +681,7 @@ - + @@ -930,7 +930,7 @@ - + diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 6cd7f172..d5efa587 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -223,6 +223,7 @@ + diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 56387832..2324339b 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -438,14 +438,14 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self.entryController - withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(isEnabled))] options:nil]; + withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(enabled))] options:nil]; [self.obfuscateAutotypeCheckButton bind:NSValueBinding toObject:self.entryController withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(obfuscateDataTransfer))] options:nil]; [self.customEntrySequenceTextField bind:NSEnabledBinding toObject:self.entryController - withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(isEnabled))] + withKeyPath:[NSString stringWithFormat:kMPContentBindingString2, NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(enabled))] options:nil]; [self.customEntrySequenceTextField bind:NSValueBinding toObject:self.entryController diff --git a/MacPass/MPEntryProxy.m b/MacPass/MPEntryProxy.m index 98b4cd7a..344ffcae 100644 --- a/MacPass/MPEntryProxy.m +++ b/MacPass/MPEntryProxy.m @@ -9,93 +9,36 @@ #import "MPEntryProxy.h" #import -@interface MPSubEntryProxy : NSProxy - -@property (weak) MPEntryProxy *entryProxy; -@property (nonatomic, readonly) id target; - -- (instancetype)initWithEntryProxy:(MPEntryProxy *)entryProxy; - -@end - -@implementation MPSubEntryProxy - -- (instancetype)initWithEntryProxy:(MPEntryProxy *)entryProxy { - _entryProxy = entryProxy; - return self; -} - -- (id)target { - return nil; -} - -@end - - -@interface MPAutotypeProxy : MPSubEntryProxy -@end - -@implementation MPAutotypeProxy - -- (id)target { - return self.entryProxy.entry.autotype; -} - -@end - -@interface MPTimeInfoProxy : MPSubEntryProxy -@end - -@implementation MPTimeInfoProxy - -- (id)target { - return self.entryProxy.entry.timeInfo; -} - -@end - #pragma mark - @interface MPEntryProxy () @property (strong) KPKEntry *entry; -@property (strong) KPKEntry *changedEntry; +@property BOOL firstModification; @end @implementation MPEntryProxy - -- (NSSet *)mutatingSelectors { - static NSSet *set; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - set = [NSSet setWithArray:@[ [NSValue valueWithPointer:@selector(addCustomAttribute:)], - [NSValue valueWithPointer:@selector(removeCustomAttribute:)], - [NSValue valueWithPointer:@selector(addBinary:)], - [NSValue valueWithPointer:@selector(removeBinary:)], - [NSValue valueWithPointer:@selector(addAssociation:)], - [NSValue valueWithPointer:@selector(removeAssociation:)] ]]; - }); - return set; -} - - (instancetype)initWithEntry:(KPKEntry *)entry { if(!entry) { @throw [NSException exceptionWithName:NSInvalidArgumentException reason:nil userInfo:nil]; } _entry = entry; + _firstModification = NO; + return self; } - (void)forwardInvocation:(NSInvocation *)invocation { - NSString *seletor = NSStringFromSelector(invocation.selector); - if([[self mutatingSelectors] containsObject:[NSValue valueWithPointer:invocation.selector]]) { - NSLog(@"Mutation detected."); - } - - if([seletor hasPrefix:@"set"]) { - NSLog(@"forwardInvocation: setter detected"); + if(invocation.selector == @selector(touchModified)) { + if(self.firstModification) { + [self.entry pushHistory]; + self.firstModification = YES; + } + NSLog(@"Possible mutation detected. Creating backup!"); } + invocation.target = self.entry; + [invocation invoke]; } - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { From f372ca772c8760a201317118726c0f2dcede63ae Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 30 Jun 2016 12:33:45 +0200 Subject: [PATCH 552/778] Added better support for special caracters in Autotype sequecne (+, ~, ^ and %) --- MacPass.xcodeproj/project.pbxproj | 8 --- MacPass/Base.lproj/InspectorView.xib | 27 +--------- MacPass/MPAutotypeCommand.m | 30 ++++++++++- MacPass/MPKeyMapper.m | 23 ++++---- MacPassTests/MPTestNodeDelegate.m | 79 ---------------------------- MacPassTests/MPTextEntryProxy.m | 50 ------------------ 6 files changed, 43 insertions(+), 174 deletions(-) delete mode 100644 MacPassTests/MPTestNodeDelegate.m delete mode 100644 MacPassTests/MPTextEntryProxy.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 24899f10..bd099dab 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -151,7 +151,6 @@ 4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; }; 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; }; 4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; }; - 4C7931031D0F053900A511E8 /* MPTestNodeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */; }; 4C7931061D0F0B0800A511E8 /* MPNodeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */; }; 4C7ABA4817BAEC6700FF5799 /* 15_ScannerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */; }; 4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */; }; @@ -203,7 +202,6 @@ 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */; }; 4CCA8E9B18D91ED9001A6754 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCA8E9A18D91ED9001A6754 /* Quartz.framework */; }; 4CCCD83E1C8DFF20002B77B6 /* MPEntryProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCCD83D1C8DFF20002B77B6 /* MPEntryProxy.m */; }; - 4CCCD8401C8E02FE002B77B6 /* MPTextEntryProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCCD83F1C8E02FE002B77B6 /* MPTextEntryProxy.m */; }; 4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE29179F203B008402BE /* MPOutlineView.m */; }; 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEDE2D179F213B008402BE /* MPNotifications.m */; }; 4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; }; @@ -516,7 +514,6 @@ 4C77E37415B84A240093A587 /* MacPass-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacPass-Prefix.pch"; sourceTree = ""; }; 4C77E37815B84A240093A587 /* MPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = ""; }; 4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = ""; }; - 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestNodeDelegate.m; sourceTree = ""; }; 4C7931041D0F0B0800A511E8 /* MPNodeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNodeDelegate.h; sourceTree = ""; }; 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNodeDelegate.m; sourceTree = ""; }; 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 15_ScannerTemplate.pdf; sourceTree = ""; }; @@ -605,7 +602,6 @@ 4CCA8E9A18D91ED9001A6754 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; }; 4CCCD83C1C8DFF20002B77B6 /* MPEntryProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryProxy.h; sourceTree = ""; }; 4CCCD83D1C8DFF20002B77B6 /* MPEntryProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryProxy.m; sourceTree = ""; }; - 4CCCD83F1C8E02FE002B77B6 /* MPTextEntryProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTextEntryProxy.m; sourceTree = ""; }; 4CCEDE28179F203B008402BE /* MPOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOutlineView.h; sourceTree = ""; }; 4CCEDE29179F203B008402BE /* MPOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOutlineView.m; sourceTree = ""; }; 4CCEDE2C179F2122008402BE /* MPNotifications.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPNotifications.h; sourceTree = ""; }; @@ -986,8 +982,6 @@ 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, - 4CCCD83F1C8E02FE002B77B6 /* MPTextEntryProxy.m */, - 4C7931021D0F053900A511E8 /* MPTestNodeDelegate.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, ); path = MacPassTests; @@ -1672,9 +1666,7 @@ files = ( 4C45FB2D178E0BCB0010007D /* MPDatabaseLoading.m in Sources */, 4C8DEAA21C314D2C00D24C32 /* MPTestAutotypeDelay.m in Sources */, - 4C7931031D0F053900A511E8 /* MPTestNodeDelegate.m in Sources */, 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, - 4CCCD8401C8E02FE002B77B6 /* MPTextEntryProxy.m in Sources */, 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, 4C10207F1B750E2F00BFCD59 /* MPTestAutotype.m in Sources */, ); diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 8a500156..daa16da7 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,14 +1,13 @@ - + - + - @@ -34,33 +33,11 @@ - - - - diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index b201ffb8..722b3d0c 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -75,6 +75,26 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F }); return keypressCommands; } +/* Commands that are actually just one symbol to be pasted */ ++ (NSDictionary *)pasteableCommands { + static NSDictionary *pasteableCommands; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + pasteableCommands = @{ + kKPKAutotypePlus: @"+", + kKPKAutotypeOr: @"^", + kKPKAutotypePercent: @"%", + kKPKAutotypeTilde : @"~", + kKPKAutotypeRoundBracketLeft : @"(", + kKPKAutotypeRoundBracketRight : @")", + kKPKAutotypeSquareBracketLeft : @"[", + kKPKAutotypeSquareBracketRight : @"]", + kKPKAutotypeCurlyBracketLeft: @"{", + kKPKAutotypeCurlyBracketRight: @"}" + }; + }); + return pasteableCommands; +} /** * Mapping for modifier to CGEventFlags. @@ -112,7 +132,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSUInteger lastLocation = 0; CGEventFlags collectedModifers = 0; for(NSValue *rangeValue in commandRanges) { - NSRange commandRange = [rangeValue rangeValue]; + NSRange commandRange = rangeValue.rangeValue; /* All non-commands will get translated into paste commands */ if(commandRange.location > lastLocation) { /* If there were modifiers we need to use the next single stroke and update the modifier command */ @@ -268,6 +288,13 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; return; // Done } + /* {PLUS}, {TILDE}, {PERCENT}, {+}, etc */ + NSString *pasteConent = [self pasteableCommands][uppercaseCommand]; + if(pasteConent) { + [self appendAppropriatePasteCommandForEntry:entry withContent:pasteConent toCommands:commands]; + return; // Done + } + /* F1-16 */ NSRegularExpression *functionKeyRegExp = [[NSRegularExpression alloc] initWithPattern:kKPKAutotypeFunctionMaskRegularExpression options:NSRegularExpressionCaseInsensitive error:0]; NSTextCheckingResult *functionResult = [functionKeyRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, commandString.length)]; @@ -321,6 +348,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } } else { + /* Fallback */ [self appendAppropriatePasteCommandForEntry:entry withContent:commandString toCommands:commands]; } } diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index 5c68e0b8..7f681925 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -64,30 +64,31 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; NSString *localizedName = (__bridge NSString *)TISGetInputSourceProperty(currentKeyboard, kTISPropertyLocalizedName); CFRelease(currentKeyboard); + /* Initalize the keyboardCodeDictonary */ if(keyboardCodeDictionary == nil) { /* Input source should not change that much while we are running */ keyboardCodeDictionary = [[NSMutableDictionary alloc] initWithCapacity:2]; } - NSDictionary *charToCodeDict = keyboardCodeDictionary[localizedName]; - if(nil == keyboardCodeDictionary[localizedName]) { - /* We need 128 places for this dict */ - charToCodeDict = [[NSMutableDictionary alloc] initWithCapacity:128]; + /* search for current character mapping */ + NSDictionary *charToCodeDict = keyboardCodeDictionary[localizedName]; + + if(nil == charToCodeDict) { + /* Add mapping */ + NSMutableDictionary *tempCharToCodeDict = [[NSMutableDictionary alloc] initWithCapacity:128]; + /* Generate table of keycodes and characters. */ /* Loop through every keycode (0 - 127) to find its current mapping. */ for(CGKeyCode keyCode = 0; keyCode < 128; ++keyCode) { NSString *string = [self stringForKey:keyCode]; if(string != nil) { - ((NSMutableDictionary *)charToCodeDict)[string] = @(keyCode); + tempCharToCodeDict[string] = @(keyCode); } } - keyboardCodeDictionary[localizedName] = [[NSDictionary alloc] initWithDictionary:charToCodeDict]; + keyboardCodeDictionary[localizedName] = [[NSDictionary alloc] initWithDictionary:tempCharToCodeDict]; } - /* Add mapping */ - /* Generate table of keycodes and characters. */ - - NSString *singleCharacter = [[character substringToIndex:1] lowercaseString]; + NSString *singleCharacter = [character substringToIndex:1].lowercaseString; if(charToCodeDict[singleCharacter]) { - return [charToCodeDict[singleCharacter] integerValue]; + return charToCodeDict[singleCharacter].integerValue; } return kMPUnknownKeyCode; } diff --git a/MacPassTests/MPTestNodeDelegate.m b/MacPassTests/MPTestNodeDelegate.m deleted file mode 100644 index 30dfabc7..00000000 --- a/MacPassTests/MPTestNodeDelegate.m +++ /dev/null @@ -1,79 +0,0 @@ -// -// MPTestNodeDelegate.m -// MacPass -// -// Created by Michael Starke on 13/06/16. -// Copyright © 2016 HicknHack Software GmbH. All rights reserved. -// - -#import -#import - -@interface MPDummyDelegate : NSObject - -@property (strong) NSMutableSet *uuids; - -@end - -@implementation MPDummyDelegate - -- (instancetype)init { - self = [super init]; - if(self) { - self.uuids = [[NSMutableSet alloc] init]; - } - return self; -} - -- (void)willModifyNode:(KPKNode *)node { - if(node.asGroup || ! node.asEntry) { - NSLog(@"Node is no entry, no need to do anything!"); - return; - } - KPKEntry *entry = node.asEntry; - if(![self.uuids containsObject:entry.uuid]) { - [self.uuids addObject:entry.uuid]; - NSLog(@"First mutation for %@ detected. Pushin history", entry); - [entry pushHistory]; - } -} - -@end - -@interface MPTestNodeDelegate : XCTestCase - -@property (strong) KPKEntry *entry; -@property (strong) MPDummyDelegate *delegate; - -@end - -@implementation MPTestNodeDelegate - -- (void)setUp { - [super setUp]; - self.entry = [[KPKEntry alloc] init]; - self.entry.title = @"Entry Title"; - self.entry.url = @"http://www.internet.com"; - self.entry.password = @"1234"; - self.entry.username = @"Entry Username"; - self.entry.autotype.defaultKeystrokeSequence = @"{TAB 3}"; - - self.delegate = [[MPDummyDelegate alloc] init]; - - self.entry.delegate = self.delegate; -} - -- (void)tearDown { - [super tearDown]; -} - -- (void)testModificationDetection { - XCTAssertTrue(self.entry.history.count == 0, @"No History entry is present on newly created entry!"); - self.entry.password = @"New Password"; - XCTAssertEqualObjects(self.entry.password, @"New Password", @"Password is set on entry!"); - XCTAssertTrue(self.entry.history.count == 1, @"Changin the password creates a history entry!"); - KPKEntry *historyEntry = self.entry.history.firstObject; - XCTAssertEqualObjects(historyEntry.password, @"1234", @"Password on history entry did not change!"); -} - -@end diff --git a/MacPassTests/MPTextEntryProxy.m b/MacPassTests/MPTextEntryProxy.m deleted file mode 100644 index 6c35fc29..00000000 --- a/MacPassTests/MPTextEntryProxy.m +++ /dev/null @@ -1,50 +0,0 @@ -// -// MPTextEntryProxy.m -// MacPass -// -// Created by Michael Starke on 07/03/16. -// Copyright © 2016 HicknHack Software GmbH. All rights reserved. -// - -#import - -#import - -#import "MPEntryProxy.h" - -@interface MPTextEntryProxy : XCTestCase -@property (strong) KPKEntry *entry; -@property (strong) MPEntryProxy *proxy; - -@end - -@implementation MPTextEntryProxy - -- (void)setUp { - [super setUp]; - self.entry = [[KPKEntry alloc] init]; - self.entry.title = @"Entry Title"; - self.entry.url = @"http://www.internet.com"; - self.entry.password = @"1234"; - self.entry.username = @"Entry Username"; - self.entry.autotype.defaultKeystrokeSequence = @"{TAB 3}"; - - self.proxy = [[MPEntryProxy alloc] initWithEntry:self.entry]; -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testMethodForwarding { - NSString *newPassword = @"new password"; - NSString *newKeystrokes = @"{ENTER 3}"; - [((id)self.proxy) setPassword:newPassword]; - XCTAssertNotEqualObjects(self.entry.password, newPassword, @"Proxy does not set password on entry!"); - - [((id)self.proxy) autotype].defaultKeystrokeSequence= newKeystrokes; - XCTAssertEqualObjects(self.entry.autotype.defaultKeystrokeSequence, newKeystrokes, @"Proxy sets default keystroke sequence on entry autotype!"); -} - -@end From 9c61ebd95d80f98f354f62f45fd479f06ba71a8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 1 Jul 2016 08:13:06 +0200 Subject: [PATCH 553/778] adapted KeePassKit changes --- MacPass.xcodeproj/project.pbxproj | 6 ------ MacPass/MPAutotypeCommand.m | 2 +- MacPass/MPNodeDelegate.h | 14 -------------- MacPass/MPNodeDelegate.m | 17 ----------------- 4 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 MacPass/MPNodeDelegate.h delete mode 100644 MacPass/MPNodeDelegate.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index bd099dab..4a2252f3 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -151,7 +151,6 @@ 4C77E37315B84A240093A587 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37215B84A240093A587 /* main.m */; }; 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; }; 4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; }; - 4C7931061D0F0B0800A511E8 /* MPNodeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */; }; 4C7ABA4817BAEC6700FF5799 /* 15_ScannerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */; }; 4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */; }; 4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C7ABA4517BAEC6700FF5799 /* 17_CDRomTemplate.pdf */; }; @@ -514,8 +513,6 @@ 4C77E37415B84A240093A587 /* MacPass-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacPass-Prefix.pch"; sourceTree = ""; }; 4C77E37815B84A240093A587 /* MPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = ""; }; 4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = ""; }; - 4C7931041D0F0B0800A511E8 /* MPNodeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNodeDelegate.h; sourceTree = ""; }; - 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNodeDelegate.m; sourceTree = ""; }; 4C7ABA4317BAEC6700FF5799 /* 15_ScannerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 15_ScannerTemplate.pdf; sourceTree = ""; }; 4C7ABA4417BAEC6700FF5799 /* 16_BrowserTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 16_BrowserTemplate.pdf; sourceTree = ""; }; 4C7ABA4517BAEC6700FF5799 /* 17_CDRomTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 17_CDRomTemplate.pdf; sourceTree = ""; }; @@ -944,8 +941,6 @@ 4CA0F3EC1A3074B50067C0E5 /* MPWindowTitleComboBoxDelegate.m */, 4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */, 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */, - 4C7931041D0F0B0800A511E8 /* MPNodeDelegate.h */, - 4C7931051D0F0B0800A511E8 /* MPNodeDelegate.m */, ); name = Delegates; sourceTree = ""; @@ -1679,7 +1674,6 @@ 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */, 4C77E37315B84A240093A587 /* main.m in Sources */, 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */, - 4C7931061D0F0B0800A511E8 /* MPNodeDelegate.m in Sources */, 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */, 4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */, diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 722b3d0c..4e1bc9ff 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -82,7 +82,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F dispatch_once(&onceToken, ^{ pasteableCommands = @{ kKPKAutotypePlus: @"+", - kKPKAutotypeOr: @"^", + kKPKAutotypeCaret: @"^", kKPKAutotypePercent: @"%", kKPKAutotypeTilde : @"~", kKPKAutotypeRoundBracketLeft : @"(", diff --git a/MacPass/MPNodeDelegate.h b/MacPass/MPNodeDelegate.h deleted file mode 100644 index cdf91e01..00000000 --- a/MacPass/MPNodeDelegate.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// MPNodeDelegate.h -// MacPass -// -// Created by Michael Starke on 13/06/16. -// Copyright © 2016 HicknHack Software GmbH. All rights reserved. -// - -#import -#import - -@interface MPNodeDelegate : NSObject - -@end diff --git a/MacPass/MPNodeDelegate.m b/MacPass/MPNodeDelegate.m deleted file mode 100644 index 0bb141fe..00000000 --- a/MacPass/MPNodeDelegate.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPNodeDelegate.m -// MacPass -// -// Created by Michael Starke on 13/06/16. -// Copyright © 2016 HicknHack Software GmbH. All rights reserved. -// - -#import "MPNodeDelegate.h" - -@implementation MPNodeDelegate - -- (void)willModifyNode:(KPKNode *)node { - -} - -@end From 257692c13e7eaad88d9043b7ccdf2d7f0194f99e Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 1 Jul 2016 17:29:29 +0200 Subject: [PATCH 554/778] Using current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index bf46ae0c..ff7f7dcd 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "4406caed2050c0b5be911d66589647c205660f32" +github "mstarke/KeePassKit" "e4aba22c4a1446825a36cad0c3dd522791245f89" github "mstarke/HNHUi" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index 31f0b3f2..c71bce22 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" -github "mstarke/KeePassKit" "4406caed2050c0b5be911d66589647c205660f32" +github "mstarke/KeePassKit" "e4aba22c4a1446825a36cad0c3dd522791245f89" github "sparkle-project/Sparkle" "1.14.0" From 49206d3d745148ccfbc57bc4c8a692e81207672c Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Jul 2016 16:03:50 +0200 Subject: [PATCH 555/778] modern Objective-C, added setting for template workflow New settign added that allows to update password for entries created via a template --- MacPass/MPSettingsHelper.h | 1 + MacPass/MPSettingsHelper.m | 4 +- MacPass/MPWorkflowSettingsController.h | 1 + MacPass/MPWorkflowSettingsController.m | 56 +++++++++++++++----------- 4 files changed, 38 insertions(+), 24 deletions(-) diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 134c1359..64d82ea6 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -59,6 +59,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyEnableQuicklookPreview; /* Workflow */ APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLAction; APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickTitleAction; +APPKIT_EXTERN NSString *const kMPSettingsKeyUpdatePasswordOnTemplateEntries; /* Plugins */ APPKIT_EXTERN NSString *const kMPSettingsKeyLoadUnsecurePlugins; // If set to YES this will load all plugins regardless of their codesignature status diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 3f5eb4a7..94f42793 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -57,6 +57,7 @@ NSString *const kMPSettingsKeyPasswordDefaultsForEntry = @"Passwo NSString *const kMPSettingsKeyDoubleClickURLAction = @"DoubleClickURLAction"; NSString *const kMPSettingsKeyDoubleClickTitleAction = @"DoubleClickTitleAction"; +NSString *const kMPSettingsKeyUpdatePasswordOnTemplateEntries = @"UpdatePasswordOnTemplateEntries"; NSString *const kMPSettingsKeyLoadUnsecurePlugins = @"MPLoadUnsecurePlugins"; @@ -124,7 +125,8 @@ NSString *const kMPDeprecatedSettingsKeyShowMenuItem = @"Sh kMPSettingsKeyPasswordCustomString: @"", kMPSettingsKeyDoubleClickURLAction: @(MPDoubleClickURLActionCopy), kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect), - kMPSettingsKeyLoadUnsecurePlugins: @NO + kMPSettingsKeyLoadUnsecurePlugins: @NO, + kMPSettingsKeyUpdatePasswordOnTemplateEntries: @YES }; }); return standardDefaults; diff --git a/MacPass/MPWorkflowSettingsController.h b/MacPass/MPWorkflowSettingsController.h index 38de88a7..c93a133e 100644 --- a/MacPass/MPWorkflowSettingsController.h +++ b/MacPass/MPWorkflowSettingsController.h @@ -14,6 +14,7 @@ @property (weak) IBOutlet NSPopUpButton *browserPopup; @property (weak) IBOutlet NSPopUpButton *doubleClickURLPopup; @property (weak) IBOutlet NSPopUpButton *doubleClickTitlePopup; +@property (weak) IBOutlet NSButton *updatePasswordOnTemplateEntriesCheckButton; - (IBAction)_showCustomBrowserSelection:(id)sender; diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index f302bf6d..5f016012 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -25,7 +25,7 @@ [self.doubleClickURLPopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLAction] options:nil]; [self.doubleClickTitlePopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickTitleAction] options:nil]; - + [self.updatePasswordOnTemplateEntriesCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyUpdatePasswordOnTemplateEntries] options:nil]; [self _updateBrowserSelection]; } @@ -62,17 +62,17 @@ - (void)_showCustomBrowserSelection:(id)sender { NSOpenPanel *openPanel = [NSOpenPanel openPanel]; NSURL *applicationURL = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSLocalDomainMask][0]; - [openPanel setDirectoryURL:applicationURL]; - [openPanel setAllowsMultipleSelection:NO]; - [openPanel setCanChooseDirectories:NO]; - [openPanel setCanChooseFiles:YES]; - [openPanel setAllowedFileTypes:@[@"app"]]; + openPanel.directoryURL = applicationURL; + openPanel.allowsMultipleSelection = NO; + openPanel.canChooseDirectories = NO; + openPanel.canChooseFiles = YES; + openPanel.allowedFileTypes = @[@"app"]; - [openPanel beginSheetModalForWindow:[[self view] window] completionHandler:^(NSInteger result) { + [openPanel beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result) { if(result == NSFileHandlingPanelOKButton) { // TODO: Autorelease pool? NSMenuItem *customBrowser = [[NSMenuItem alloc] init]; - [customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]]; + customBrowser.representedObject = [NSBundle bundleWithPath:openPanel.URL.path].bundleIdentifier; [self _selectBrowser:customBrowser]; } else { @@ -86,11 +86,14 @@ - (void)_updateBrowserSelection { /* Use a delegate ? */ NSMenu *browserMenu = [[NSMenu alloc] init]; - [self.browserPopup setMenu:browserMenu]; + self.browserPopup.menu = browserMenu; - NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(_selectBrowser:) keyEquivalent:@""]; - [defaultItem setRepresentedObject:nil]; - [defaultItem setTarget:self]; + NSMenuItem *defaultItem = [[NSMenuItem alloc] init]; + defaultItem.title = NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser"); + defaultItem.action = @selector(_selectBrowser:); + defaultItem.keyEquivalent = @""; + defaultItem.representedObject = nil; + defaultItem.target = self; [browserMenu addItem:defaultItem]; NSString *currentDefaultBrowser = [[NSUserDefaults standardUserDefaults] objectForKey:kMPSettingsKeyBrowserBundleId]; @@ -104,9 +107,12 @@ if(nil == bundlePath || nil == browserName) { continue; // Skip missing Applications } - NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""]; - [browserItem setRepresentedObject:bundleIdentifier]; - [browserItem setTarget:self]; + NSMenuItem *browserItem = [[NSMenuItem alloc] init]; + browserItem.title = browserName; + browserItem.action = @selector(_selectBrowser:); + browserItem.keyEquivalent = @""; + browserItem.representedObject = bundleIdentifier; + browserItem.target = self; [browserMenu addItem:browserItem]; if ([bundleIdentifier isEqualToString:currentDefaultBrowser]) { @@ -114,7 +120,7 @@ } } - if([[browserMenu itemArray] count] > 2) { + if(browserMenu.itemArray.count > 2) { [browserMenu addItem:[NSMenuItem separatorItem]]; } @@ -122,19 +128,23 @@ NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:currentDefaultBrowser]; if (bundlePath != nil) { NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath]; - NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""]; - [browserItem setRepresentedObject:currentDefaultBrowser]; - [browserItem setTarget:self]; + NSMenuItem *browserItem = [[NSMenuItem alloc] init]; + browserItem.title = browserName; + browserItem.action = @selector(_selectBrowser:); + browserItem.keyEquivalent = @""; + browserItem.representedObject = currentDefaultBrowser; + browserItem.target = self; [browserMenu addItem:browserItem]; selectedItem = browserItem; } } - NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Select Browser") - action:@selector(_showCustomBrowserSelection:) - keyEquivalent:@""]; - [selectOtherBrowserItem setTarget:self]; + NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] init]; + selectOtherBrowserItem.title = NSLocalizedString(@"OTHER_BROWSER", "Select Browser"); + selectOtherBrowserItem.action = @selector(_showCustomBrowserSelection:); + selectOtherBrowserItem.keyEquivalent = @""; + selectOtherBrowserItem.target = self; [browserMenu addItem:selectOtherBrowserItem]; [self.browserPopup selectItem:selectedItem]; From 3fd65f510e19c9622c4872b8ca2da930f6151078 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Jul 2016 16:04:12 +0200 Subject: [PATCH 556/778] Added checkbox for new template setting --- MacPass/Base.lproj/WorkflowSettings.xib | 73 ++++++++++++++++--------- 1 file changed, 46 insertions(+), 27 deletions(-) diff --git a/MacPass/Base.lproj/WorkflowSettings.xib b/MacPass/Base.lproj/WorkflowSettings.xib index dbf4d44e..3f4008c3 100644 --- a/MacPass/Base.lproj/WorkflowSettings.xib +++ b/MacPass/Base.lproj/WorkflowSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -11,32 +11,31 @@ + - + - + - - - + + - - - + + @@ -48,18 +47,16 @@ - - - + + - - - + + @@ -72,7 +69,6 @@ - @@ -85,15 +81,12 @@ - - - - - + + @@ -106,31 +99,57 @@ - - - + + + + + + + + + + + + + + + + + + + + - + + + + - + From c9085f20a1ade9e33cf6a58ffb6e3bf6e9dedb83 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 26 Jul 2016 16:18:15 +0200 Subject: [PATCH 557/778] password is updated (if set) for entries created via template --- MacPass/MPDocument.m | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 641996be..69253b43 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -604,6 +604,19 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey KPKGroup *group = self.selectedGroups.count == 1 ? self.selectedGroups.firstObject : nil; if(templateEntry && group) { KPKEntry *copy = [templateEntry copyWithTitle:templateEntry.title options:kKPKCopyOptionNone]; + + BOOL updatePassword = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyUpdatePasswordOnTemplateEntries]; + if( updatePassword ) { + BOOL undoEnabled = self.undoManager.isUndoRegistrationEnabled; + [self.undoManager disableUndoRegistration]; + NSString *password = [NSString passwordWithDefaultSettings]; + if( password ) { + copy.password = password; + } + if(undoEnabled) { + [self.undoManager enableUndoRegistration]; + } + } [copy addToGroup:group]; [self.undoManager setActionName:NSLocalizedString(@"ADD_TREMPLATE_ENTRY", "")]; } From 013912cda11e28768076886ad0fce26cb75d40b5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Aug 2016 11:32:42 +0200 Subject: [PATCH 558/778] =?UTF-8?q?Autotype=20=E2=80=9Cno=20match=E2=80=9D?= =?UTF-8?q?=20notification=20now=20shows=20window=20title?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MacPass.xcodeproj/project.pbxproj | 4 ++-- MacPass/MPAutotypeDaemon.m | 5 +++-- MacPass/de.lproj/Localizable.strings | Bin 7235 -> 14354 bytes MacPass/en.lproj/Localizable.strings | Bin 13320 -> 13348 bytes MacPass/fr.lproj/Localizable.strings | Bin 14670 -> 14688 bytes MacPass/it.lproj/Localizable.strings | Bin 13968 -> 13988 bytes MacPass/nl.lproj/Localizable.strings | Bin 13882 -> 13910 bytes MacPass/ru.lproj/Localizable.strings | Bin 14092 -> 14112 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 11362 -> 11390 bytes 9 files changed, 5 insertions(+), 4 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 4a2252f3..23c61d58 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -284,7 +284,7 @@ 4825CC8F1C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/IconSelection.strings; sourceTree = ""; }; 4825CC901C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/DatePickingView.strings; sourceTree = ""; }; 4825CC911C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/ReferenceBuilderView.strings; sourceTree = ""; }; - 4825CC921C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 4825CC921C414D58003E37E9 /* it */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; 4825CC931C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = it; path = it.lproj/Credits.rtf; sourceTree = ""; }; 4825CC941C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; 4825CC951C414D58003E37E9 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/KPKLocalizable.strings; sourceTree = ""; }; @@ -757,7 +757,7 @@ FA638D1C1C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/IconSelection.strings; sourceTree = ""; }; FA638D1D1C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/DatePickingView.strings; sourceTree = ""; }; FA638D1E1C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ReferenceBuilderView.strings; sourceTree = ""; }; - FA638D1F1C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + FA638D1F1C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; FA638D201C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = ru; path = ru.lproj/Credits.rtf; sourceTree = ""; }; FA638D211C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; FA638D221C39BFCC00B10CC6 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/KPKLocalizable.strings; sourceTree = ""; }; diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index c24a3d5a..74e22d5b 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -16,6 +16,7 @@ #import "MPPasteBoardController.h" #import "MPSettingsHelper.h" +#import "NSApplication+MPAdditions.h" #import "KeePassKit/KeePassKit.h" @@ -158,8 +159,8 @@ static MPAutotypeDaemon *_sharedInstance; /* TODO: that's popping up if the mulit seleciton dialog goes up! */ if(!entryOrNil) { NSUserNotification *notification = [[NSUserNotification alloc] init]; - notification.title = @"MacPass"; - notification.informativeText = context ? NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", "") : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); + notification.title = NSApp.applicationName; + notification.informativeText = context ? [NSString stringWithFormat:NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH_FOR_%@", ""), self.targetWindowTitle] : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification]; } diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index b378919351b19ef2cffeabc4fa37726b42f2dd3b..3c94b2527e8d47019a9470627a6933a15ad1af5d 100644 GIT binary patch literal 14354 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 m*-yWB^W7L}_${4Hao^;0FMi83|wj diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 776412b5b5a2fd5c96d93c0ca47bd0e519b8cad6..6d0e738026e7d6f35f657eff634b1b80c48f186e 100644 GIT binary patch delta 38 tcmX?C^q^=%hB|LNgBycCLl8qegDQi=(^b diff --git a/MacPass/it.lproj/Localizable.strings b/MacPass/it.lproj/Localizable.strings index 9f462c5d36bdc21fbc14f5db030e9446030a876f..cc49305d233e4c55f81297ca8e01e7625aa53ea0 100644 GIT binary patch delta 46 zcmbP`yCiqR302;B1~&$Oh9HJ`22}=!$&M=Glkcf2uq%Lg42qK{N=k2*QY#Yx05|;% A1^@s6 delta 28 kcmZ3IJ0W+&3DwC?Dq@ot7_&_Npei%DMvY^$lv{81fku7 Date: Mon, 15 Aug 2016 11:39:18 +0200 Subject: [PATCH 559/778] Fixed swapped notification messages --- MacPass/MPAutotypeDaemon.m | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 74e22d5b..5d18968c 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -160,8 +160,12 @@ static MPAutotypeDaemon *_sharedInstance; if(!entryOrNil) { NSUserNotification *notification = [[NSUserNotification alloc] init]; notification.title = NSApp.applicationName; - notification.informativeText = context ? [NSString stringWithFormat:NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH_FOR_%@", ""), self.targetWindowTitle] : NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH", ""); - + if(context) { + notification.informativeText = NSLocalizedString(@"AUTOTYPE_OVERLAY_SINGLE_MATCH", ""); + } + else { + notification.informativeText = [NSString stringWithFormat:NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_MATCH_FOR_%@", ""), self.targetWindowTitle]; + } [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification]; } [self _performAutotypeForContext:context]; From 2e156daa2b9ea913d8530da035d187768751c93d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Aug 2016 15:32:13 +0200 Subject: [PATCH 560/778] Fixed #483. AutoType node was missspelled --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index ff7f7dcd..19951173 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "e4aba22c4a1446825a36cad0c3dd522791245f89" +github "mstarke/KeePassKit" "56cf2f87dc8a790a75424e9009337d7dc320bc65" github "mstarke/HNHUi" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index c71bce22..c512ddd3 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.0.1" -github "mstarke/KeePassKit" "e4aba22c4a1446825a36cad0c3dd522791245f89" +github "mstarke/KeePassKit" "56cf2f87dc8a790a75424e9009337d7dc320bc65" github "sparkle-project/Sparkle" "1.14.0" From 45acd171ac463d3040cef4974adf0a949e5ce241 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Aug 2016 15:41:21 +0200 Subject: [PATCH 561/778] codestyle --- MacPass/MPEntryInspectorViewController.m | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 2324339b..89296708 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -299,7 +299,7 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; [_activePopover showRelativeToRect:NSZeroRect ofView:view preferredEdge:edge]; } -- ( BOOL) popoverShouldClose: ( NSPopover*) popover { +- (BOOL)popoverShouldClose:(NSPopover *)popover { /* See http://stackoverflow.com/a/34215887/353268 * PasswordCreator uses a NSNumberFormatter to validate the input. * If the user types something that's not a number it will open a @@ -307,10 +307,7 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; * * This stops the popover to close when the dialog is active. */ - if( ![[[[ popover contentViewController] view] window] makeFirstResponder: popover]) { - return NO; - } - return YES; + return ![popover.contentViewController.view.window makeFirstResponder:popover]; } - (void)popoverDidClose:(NSNotification *)notification { From 513ba3b772b59d3ea825485240670d27eba59204 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 Aug 2016 15:42:29 +0200 Subject: [PATCH 562/778] fixed #486. Added missing full screen apps to window title drop-down --- MacPass/MPWindowTitleComboBoxDelegate.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPWindowTitleComboBoxDelegate.m b/MacPass/MPWindowTitleComboBoxDelegate.m index 38a61ae3..b3f2fa3b 100644 --- a/MacPass/MPWindowTitleComboBoxDelegate.m +++ b/MacPass/MPWindowTitleComboBoxDelegate.m @@ -26,11 +26,11 @@ dispatch_once(&onceToken, ^{ ownerSkipList = @[ @"SystemUIServer", @"Window Server", @"Dock" ]; }); - NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID)); + NSArray *currentWindows = CFBridgingRelease(CGWindowListCopyWindowInfo(kCGWindowListExcludeDesktopElements, kCGNullWindowID)); NSMutableArray *windowTitles = [[NSMutableArray alloc] initWithCapacity:MAX(1,currentWindows.count)]; for(NSDictionary *windowDict in currentWindows) { NSString *windowName = windowDict[(NSString *)kCGWindowName]; - if([windowName length] <= 0) { + if(windowName.length <= 0) { continue; // No title, skip } NSString *ownerName = windowDict[(NSString *)kCGWindowOwnerName]; From ce2534039b76375e43e9deb797d53b46802ec6d0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 16 Aug 2016 18:11:31 +0200 Subject: [PATCH 563/778] Updated xib files --- MacPass/Base.lproj/GeneralSettings.xib | 36 +++++++++--------- MacPass/Base.lproj/IntegrationSettings.xib | 6 +-- MacPass/Base.lproj/PluginSettings.xib | 6 +-- MacPass/Base.lproj/UpdateSettings.xib | 4 +- MacPass/Base.lproj/WorkflowSettings.xib | 4 +- MacPass/de.lproj/Localizable.strings | Bin 14354 -> 14356 bytes MacPass/de.lproj/WorkflowSettings.strings | 13 +------ MacPass/en.lproj/WorkflowSettings.strings | 5 --- MacPass/it.lproj/WorkflowSettings.strings | 11 +----- MacPass/nl.lproj/WorkflowSettings.strings | 9 ----- MacPass/ru.lproj/WorkflowSettings.strings | 12 ------ .../zh-Hans.lproj/WorkflowSettings.strings | 6 --- 12 files changed, 31 insertions(+), 81 deletions(-) diff --git a/MacPass/Base.lproj/GeneralSettings.xib b/MacPass/Base.lproj/GeneralSettings.xib index a556262e..9ee986fa 100644 --- a/MacPass/Base.lproj/GeneralSettings.xib +++ b/MacPass/Base.lproj/GeneralSettings.xib @@ -1,8 +1,8 @@ - + - + @@ -29,8 +29,8 @@ - - + + @@ -60,8 +60,8 @@ - - - + + - - - - - - - - - - - + + @@ -211,8 +209,8 @@ - - + + @@ -220,8 +218,11 @@ - - - @@ -46,7 +44,6 @@ DQ - @@ -57,12 +54,10 @@ DQ - - @@ -74,7 +69,6 @@ DQ - @@ -86,7 +80,6 @@ DQ + - - + @@ -85,7 +85,6 @@ Gw - @@ -94,7 +93,6 @@ Gw - @@ -103,7 +101,6 @@ Gw - @@ -112,7 +109,6 @@ Gw - @@ -126,7 +122,6 @@ Gw - @@ -135,7 +130,6 @@ Gw - @@ -148,7 +142,6 @@ Gw - @@ -160,7 +153,6 @@ Gw - @@ -169,23 +161,19 @@ Gw - - - @@ -212,72 +200,65 @@ Gw - - - + + - - + @@ -285,11 +266,10 @@ Gw - + - @@ -297,8 +277,7 @@ Gw - - + @@ -346,7 +324,6 @@ Gw - @@ -354,122 +331,109 @@ Gw - - - - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - - - + + - - - + + - - - + + - - + + - - - + + - @@ -482,59 +446,52 @@ Gw - - - - + + - - - + + - - - - + + - - - + + - - - - - - - - - - - - - - @@ -81,7 +49,7 @@ - + @@ -135,11 +103,11 @@ - + - + @@ -147,19 +115,19 @@ - + - + - + - + - + @@ -178,14 +146,14 @@ - + - + @@ -201,20 +169,15 @@ - - - - - - + diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index a9d4ffbf..fd92f274 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -28,8 +28,8 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionExportXML, // Export as XML MPActionImportXML, // Import form XML MPActionToggleQuicklook, - MPActionShowHistory, // show history - MPActionExitHistory, // exit history + MPActionShowEntryHistory, // show history + MPActionHideEntryHistory, // exit history MPActionPerformAutotypeForSelectedEntry // Perform Autotype for selected Entry }; /** diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 4692ddfb..cfb9c4db 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -37,8 +37,8 @@ @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), - @(MPActionShowHistory): NSStringFromSelector(@selector(showHistory:)), - @(MPActionExitHistory): NSStringFromSelector(@selector(exitHistory:)), + @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showHistoryForEntry:)), + @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideHistoryForEntry:)), @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)) }; }); diff --git a/MacPass/MPContextMenuHelper.h b/MacPass/MPContextMenuHelper.h index 92c4d458..6a352e58 100644 --- a/MacPass/MPContextMenuHelper.h +++ b/MacPass/MPContextMenuHelper.h @@ -15,8 +15,9 @@ typedef NS_OPTIONS(NSUInteger, MPContextMenuItemsFlags) { MPContextMenuTrash = 1 << 3, MPContextMenuDuplicate = 1 << 4, MPContextMenuAutotype = 1 << 5, + MPContextMenuHistory = 1 << 6, MPContextMenuMinimal = MPContextMenuCreate | MPContextMenuDelete, - MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate | MPContextMenuAutotype, + MPContextMenuFull = MPContextMenuMinimal | MPContextMenuCopy | MPContextMenuDuplicate | MPContextMenuAutotype | MPContextMenuHistory, MPContextMenuExtended = MPContextMenuFull | MPContextMenuTrash }; diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index 4274e388..5893a93a 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -12,7 +12,7 @@ #import "MPFlagsHelper.h" static void MPContextmenuHelperBeginSection(NSMutableArray *items) { - if([items count] > 0) { + if(items.count > 0) { [items addObject:[NSMenuItem separatorItem]]; } } @@ -27,6 +27,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { BOOL const insertTrash = MPIsFlagSetInOptions(MPContextMenuTrash, flags); BOOL const insertDuplicate = MPIsFlagSetInOptions(MPContextMenuDuplicate, flags); BOOL const insertAutotype = MPIsFlagSetInOptions(MPContextMenuAutotype, flags); + BOOL const insertHistory = MPIsFlagSetInOptions(MPContextMenuHistory, flags); NSMutableArray *items = [NSMutableArray arrayWithCapacity:10]; if(insertCreate) { @@ -43,14 +44,14 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { if(insertDuplicate) { MPContextmenuHelperBeginSection(items); NSMenuItem *duplicateEntry = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DUPLICATE_ENTRY", @"") - action:[MPActionHelper actionOfType:MPActionDuplicateEntry] - keyEquivalent:@"D"]; + action:[MPActionHelper actionOfType:MPActionDuplicateEntry] + keyEquivalent:@"D"]; NSMenuItem *duplicateEntyWithOptions = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DUPLICATE_ENTRY_WITH_OPTIONS", @"") - action:[MPActionHelper actionOfType:MPActionDuplicateEntryWithOptions] - keyEquivalent:@""]; + action:[MPActionHelper actionOfType:MPActionDuplicateEntryWithOptions] + keyEquivalent:@""]; [items addObjectsFromArray:@[ duplicateEntry, duplicateEntyWithOptions ]]; - + } if(insertDelete || insertTrash) { MPContextmenuHelperBeginSection(items); @@ -98,13 +99,22 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { [items addObjectsFromArray:@[ copyUsername, copyPassword, urlItem]]; } - if(insertAutotype) { + if(insertAutotype || insertHistory) { MPContextmenuHelperBeginSection(items); - NSMenuItem *performAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"PERFORM_AUTOTYPE_FOR_ENTRY", @"") - action:[MPActionHelper actionOfType:MPActionPerformAutotypeForSelectedEntry] - keyEquivalent:@"a"]; - [performAutotype setKeyEquivalentModifierMask:[performAutotype keyEquivalentModifierMask] | NSControlKeyMask]; - [items addObject:performAutotype]; + if(insertAutotype) { + NSMenuItem *performAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"PERFORM_AUTOTYPE_FOR_ENTRY", @"") + action:[MPActionHelper actionOfType:MPActionPerformAutotypeForSelectedEntry] + keyEquivalent:@"a"]; + performAutotype.keyEquivalentModifierMask = (performAutotype.keyEquivalentModifierMask | NSControlKeyMask); + [items addObject:performAutotype]; + } + if(insertHistory) { + NSMenuItem *showHistory = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_ENTRY_HISTORY", @"") + action:[MPActionHelper actionOfType:MPActionShowEntryHistory] + keyEquivalent:@"h"]; + showHistory.keyEquivalentModifierMask = (showHistory.keyEquivalentModifierMask | NSCommandKeyMask | NSControlKeyMask); + [items addObject:showHistory]; + } } return items; diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 114e4c36..72f8e59f 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -227,9 +227,6 @@ FOUNDATION_EXPORT NSString *const MPDocumentDidExitHistoryNotification; @interface MPDocument (HistoryBrowsing) -- (IBAction)showHistory:(id)sender; -- (IBAction)exitHistory:(id)sender; - @end #pragma mark - diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index f2c3dcf3..676c6380 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -685,7 +685,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou KPKEntry *targetEntry = targetEntries.count == 1 ? targetEntries.firstObject : nil; KPKGroup *targetGroup = targetGroups.count == 1 ? targetGroups.firstObject : nil; - if(self.encrypted || self.isReadOnly) { return NO; } + if(self.encrypted || self.isReadOnly) { + return NO; + } BOOL valid = /*targetNode ? targetNode.isEditable : */YES; switch([MPActionHelper typeForAction:[anItem action]]) { @@ -713,7 +715,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou valid &= targetEntries.count > 0; break; case MPActionEmptyTrash: - valid &= ([self.trash.groups count] + [self.trash.entries count]) > 0; + valid &= (self.trash.groups.count + self.trash.entries.count) > 0; break; case MPActionDatabaseSettings: case MPActionEditPassword: @@ -722,19 +724,20 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou case MPActionLock: valid &= self.compositeKey.hasPasswordOrKeyFile; break; - case MPActionShowHistory: + case MPActionShowEntryHistory: valid &= (nil != targetEntry); + valid &= targetEntry.history.count > 0; break; /* Entry View Actions */ case MPActionCopyUsername: - valid &= (nil != targetEntry) && ([targetEntry.username length] > 0); + valid &= (nil != targetEntry) && (targetEntry.username.length > 0); break; case MPActionCopyPassword: - valid &= (nil != targetEntry ) && ([targetEntry.password length] > 0); + valid &= (nil != targetEntry ) && (targetEntry.password.length > 0); break; case MPActionCopyURL: case MPActionOpenURL: - valid &= (nil != targetEntry ) && ([targetEntry.url length] > 0); + valid &= (nil != targetEntry ) && (targetEntry.url.length > 0); break; case MPActionPerformAutotypeForSelectedEntry: valid &= (nil != targetEntry); diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 2596a5c6..eb1b2c7f 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -53,6 +53,8 @@ - (IBAction)pickExpiryDate:(id)sender; - (IBAction)performAutotypeForEntry:(id)sender; +- (IBAction)showHistoryForEntry:(id)sender; +- (IBAction)hideHistoryForEntry:(id)sender; #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index a9702b13..4b58b6d2 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -486,9 +486,18 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } +- (IBAction)showHistoryForEntry:(id)sender { + [self.document showHistoryForEntry:nil]; +} + +- (IBAction)hideHistoryForEntry:(id)sender { + +} + + #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { - return ([[self document] validateMenuItem:menuItem]); + return ([self.document validateMenuItem:menuItem]); } #pragma mark NSAlert handling diff --git a/MacPass/MPOutlineContextMenuDelegate.m b/MacPass/MPOutlineContextMenuDelegate.m index 443e412a..034820e4 100644 --- a/MacPass/MPOutlineContextMenuDelegate.m +++ b/MacPass/MPOutlineContextMenuDelegate.m @@ -57,9 +57,9 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; if( [item isKindOfClass:[KPKGroup class]]) { KPKGroup *group = (KPKGroup *)item; - MPDocument *document = [[NSDocumentController sharedDocumentController] currentDocument]; + MPDocument *document = [NSDocumentController sharedDocumentController].currentDocument; if(group && document.root == group ) { - + } if(group.isTrash) { [self _updateTrashMenu:menu]; @@ -77,7 +77,7 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; } - (void)_updateRootMenu:(NSMenu *)menu { - if([[menu title] isEqualToString:_MPOutlineMenuRoot]) { + if([menu.title isEqualToString:_MPOutlineMenuRoot]) { return; // nothing to do, all fine } [menu removeAllItems]; @@ -85,11 +85,11 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; action:[MPActionHelper actionOfType:MPActionDatabaseSettings] keyEquivalent:@""]; - [menu setTitle:_MPOutlineMenuRoot]; + menu.title = _MPOutlineMenuRoot; } - (void)_updateTrashMenu:(NSMenu *)menu { - if([[menu title] isEqualToString:_MPOutlineMenuTrash]) { + if([menu.title isEqualToString:_MPOutlineMenuTrash]) { return; // nothing to do, all fine } [menu removeAllItems]; @@ -101,11 +101,11 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; action:[MPActionHelper actionOfType:MPActionEmptyTrash] keyEquivalent:@""]; - [menu setTitle:_MPOutlineMenuTrash]; + menu.title = _MPOutlineMenuTrash; } - (void)_updateTrashItemMenu:(NSMenu *)menu { - if([[menu title] isEqualToString:_MPOutlineMenuTrashItem]) { + if([menu.title isEqualToString:_MPOutlineMenuTrashItem]) { return; // nothing to do, all fine } [menu removeAllItems]; @@ -117,11 +117,11 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; action:[MPActionHelper actionOfType:MPActionEmptyTrash] keyEquivalent:@""]; - [menu setTitle:_MPOutlineMenuTrashItem]; + menu.title = _MPOutlineMenuTrashItem; } - (void)_updateTemplateMenu:(NSMenu *)menu { - if([[menu title] isEqualToString:_MPOutlineMenuTemplate]) { + if([menu.title isEqualToString:_MPOutlineMenuTemplate]) { return; // nothing to do, all fine } [menu removeAllItems]; @@ -132,12 +132,12 @@ NSString *const _MPOutlineMenuTemplate = @"Template"; for(NSMenuItem *item in [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuMinimal]) { [menu addItem:item]; } - [menu setTitle:_MPOutlineMenuTemplate]; + menu.title = _MPOutlineMenuTemplate; } - (void)_updateDefaultMenu:(NSMenu *)menu { - if([[menu title] isEqualToString:_MPOutlineMenuDefault]) { + if([menu.title isEqualToString:_MPOutlineMenuDefault]) { return; // nothing to do, all fine } [menu removeAllItems]; From 2d0e9d580b523063c6faa9a4b7094fd341666879 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 1 Sep 2016 15:00:55 +0200 Subject: [PATCH 602/778] updated KeePassKit to support undo/redo on time (expiration date, expires) --- Cartfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cartfile b/Cartfile index 79f4f88e..9f58c604 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "bf47781a618fc514288315995a966b5f630f6918" +github "mstarke/KeePassKit" "aee63e69f36d0a3d08763632a1472d312374f9a0" github "mstarke/HNHUi" ~> 1.1 From 1c39f1c3fed0cc22577c949df7aff632f46958d1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 1 Sep 2016 19:52:34 +0200 Subject: [PATCH 603/778] using newer KeePassKit with correct undo/redo support expiration --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/AutotypeBuilderView.xib | 37 +++++++++++++++++++++++ MacPass/MPAutotypeBuilderViewController.h | 13 ++++++++ MacPass/MPAutotypeBuilderViewController.m | 22 ++++++++++++++ 5 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 MacPass/AutotypeBuilderView.xib create mode 100644 MacPass/MPAutotypeBuilderViewController.h create mode 100644 MacPass/MPAutotypeBuilderViewController.m diff --git a/Cartfile b/Cartfile index 9f58c604..94656ccd 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "aee63e69f36d0a3d08763632a1472d312374f9a0" +github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index a9012e78..5db8a76d 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "bf47781a618fc514288315995a966b5f630f6918" +github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/AutotypeBuilderView.xib b/MacPass/AutotypeBuilderView.xib new file mode 100644 index 00000000..d7c83700 --- /dev/null +++ b/MacPass/AutotypeBuilderView.xib @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPAutotypeBuilderViewController.h b/MacPass/MPAutotypeBuilderViewController.h new file mode 100644 index 00000000..bfe11c71 --- /dev/null +++ b/MacPass/MPAutotypeBuilderViewController.h @@ -0,0 +1,13 @@ +// +// MPAutotypeBuilderViewController.h +// MacPass +// +// Created by Michael Starke on 01/09/16. +// Copyright © 2016 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPAutotypeBuilderViewController : NSViewController + +@end diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m new file mode 100644 index 00000000..8d0c6fde --- /dev/null +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -0,0 +1,22 @@ +// +// MPAutotypeBuilderViewController.m +// MacPass +// +// Created by Michael Starke on 01/09/16. +// Copyright © 2016 HicknHack Software GmbH. All rights reserved. +// + +#import "MPAutotypeBuilderViewController.h" + +@interface MPAutotypeBuilderViewController () + +@end + +@implementation MPAutotypeBuilderViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do view setup here. +} + +@end From 6e2203bf5167af30e672f8801d1baa90f73104e4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 1 Sep 2016 19:54:21 +0200 Subject: [PATCH 604/778] added sketch for autotype builder to show all autotype commands --- MacPass.xcodeproj/project.pbxproj | 10 +++++++ MacPass/AutotypeBuilderView.xib | 17 ++++------- MacPass/Base.lproj/EntryInspectorView.xib | 16 ++++++---- MacPass/Base.lproj/ReferenceBuilderView.xib | 14 ++------- MacPass/MPAutotypeBuilderViewController.m | 33 +++++++++++++++++++-- MacPass/MPEntryInspectorViewController.h | 6 ++-- MacPass/MPEntryInspectorViewController.m | 13 ++++++-- 7 files changed, 75 insertions(+), 34 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 0b7ae516..768319be 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -191,6 +191,8 @@ 4CA2335A176DBFE100F0B6AC /* MPLockDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA23359176DBFE100F0B6AC /* MPLockDaemon.m */; }; 4CA334CA18AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA334C918AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m */; }; 4CA3530B18A53CB800839B0F /* MPKeyMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */; }; + 4CAAA8271D787B8B00CDE977 /* MPAutotypeBuilderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAAA8251D787B8B00CDE977 /* MPAutotypeBuilderViewController.m */; }; + 4CAAA8281D787B8B00CDE977 /* AutotypeBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */; }; 4CAD748C15B889B700104512 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748B15B889B700104512 /* Security.framework */; }; 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; 4CB915941A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */; }; @@ -602,6 +604,9 @@ 4CA334C918AD60D1008A3322 /* MPWindowAssociationsTableViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPWindowAssociationsTableViewDelegate.m; sourceTree = ""; }; 4CA3530918A53CB800839B0F /* MPKeyMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPKeyMapper.h; sourceTree = ""; }; 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKeyMapper.m; sourceTree = ""; }; + 4CAAA8241D787B8B00CDE977 /* MPAutotypeBuilderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeBuilderViewController.h; sourceTree = ""; }; + 4CAAA8251D787B8B00CDE977 /* MPAutotypeBuilderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeBuilderViewController.m; sourceTree = ""; }; + 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AutotypeBuilderView.xib; sourceTree = ""; }; 4CAD748B15B889B700104512 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 4CAD748D15B88AC100104512 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; @@ -844,6 +849,7 @@ 6021FE7918E15FF300C3BC51 /* DatePickingView.xib */, 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */, 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */, + 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */, 4CE8247316E2F2B900573141 /* MPOverlayView.h */, 4CE8247416E2F2B900573141 /* MPOverlayView.m */, 4CFC53BD16E94729007396BE /* MPShadowBox.h */, @@ -1305,6 +1311,8 @@ 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */, 4CE30ACA1A312B7F0063FCC6 /* MPReferenceBuilderViewController.h */, 4CE30ACB1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m */, + 4CAAA8241D787B8B00CDE977 /* MPAutotypeBuilderViewController.h */, + 4CAAA8251D787B8B00CDE977 /* MPAutotypeBuilderViewController.m */, ); name = "View Controller"; sourceTree = ""; @@ -1539,6 +1547,7 @@ files = ( 4C3826AE1AD04D8E007D7D67 /* 33_RunTemplate.pdf in Resources */, 4C3826A51AD04D8E007D7D67 /* 21_OrganizerTemplate.pdf in Resources */, + 4CAAA8281D787B8B00CDE977 /* AutotypeBuilderView.xib in Resources */, 4C17F108184E6B6C00E85625 /* 31_PrintTemplate.pdf in Resources */, 4C77E37115B84A240093A587 /* InfoPlist.strings in Resources */, 4C3826781AD04C8A007D7D67 /* createdTemplate.pdf in Resources */, @@ -1791,6 +1800,7 @@ 4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */, 4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */, 4C5807781C64F67000E7171F /* NSString+MPHash.m in Sources */, + 4CAAA8271D787B8B00CDE977 /* MPAutotypeBuilderViewController.m in Sources */, 4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */, 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */, 4C15B74618BCA3B1003F8008 /* MPDocument+Search.m in Sources */, diff --git a/MacPass/AutotypeBuilderView.xib b/MacPass/AutotypeBuilderView.xib index d7c83700..3217cb6a 100644 --- a/MacPass/AutotypeBuilderView.xib +++ b/MacPass/AutotypeBuilderView.xib @@ -7,31 +7,26 @@ + - + - - - + + + - - - - - - - + diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index e6f2750a..f7c45f81 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -15,8 +15,6 @@ - - @@ -24,6 +22,8 @@ + + @@ -534,7 +534,7 @@ - + @@ -874,9 +874,12 @@ - + + + + diff --git a/MacPass/Base.lproj/ReferenceBuilderView.xib b/MacPass/Base.lproj/ReferenceBuilderView.xib index 6e9383d9..bb7e0925 100644 --- a/MacPass/Base.lproj/ReferenceBuilderView.xib +++ b/MacPass/Base.lproj/ReferenceBuilderView.xib @@ -1,8 +1,8 @@ - + - + @@ -22,7 +22,6 @@ - @@ -41,7 +40,6 @@ - @@ -50,7 +48,6 @@ - @@ -67,7 +63,6 @@ - @@ -76,7 +71,6 @@ - @@ -94,7 +88,6 @@ - @@ -103,7 +96,6 @@ - @@ -112,7 +104,6 @@ - @@ -146,7 +137,6 @@ - diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m index 8d0c6fde..b00a6785 100644 --- a/MacPass/MPAutotypeBuilderViewController.m +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -7,16 +7,45 @@ // #import "MPAutotypeBuilderViewController.h" +#import @interface MPAutotypeBuilderViewController () +@property (weak) IBOutlet NSTokenField *tokenField; +@property (nonatomic, readonly, strong) NSArray *tokens; + @end @implementation MPAutotypeBuilderViewController +#define _MPToken(short,long) [NSString stringWithFormat:@"%@ %@", short, long] + +- (NSArray *)tokens { + static NSArray *_tokens; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSMutableArray *fields = [[NSMutableArray alloc] init]; + for(NSString *attribute in [KPKFormat sharedFormat].entryDefaultKeys) { + [fields addObject:[NSString stringWithFormat:@"{%@}", attribute]]; + } + + _tokens = [fields arrayByAddingObjectsFromArray:@[ _MPToken(kKPKAutotypeShortEnter, kKPKAutotypeEnter), + _MPToken(kKPKAutotypeShortAlt, kKPKAutotypeAlt), + _MPToken(kKPKAutotypeShortControl, kKPKAutotypeControl), + ]]; + }); + return _tokens; +} + + +- (NSString *)nibName { + return @"AutotypeBuilderView"; +} + - (void)viewDidLoad { - [super viewDidLoad]; - // Do view setup here. + [super viewDidLoad]; + self.tokenField.editable = NO; + self.tokenField.objectValue = self.tokens; } @end diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 3010b84c..5b5a6ea8 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -42,18 +42,20 @@ @property (weak) IBOutlet NSButton *enableAutotypeCheckButton; @property (weak) IBOutlet NSButton *obfuscateAutotypeCheckButton; @property (weak) IBOutlet NSTableView *windowAssociationsTableView; -@property (weak) IBOutlet NSButton *enableCustomEntrySequenceButton; +@property (weak) IBOutlet NSButton *showCustomEntrySequenceAutotypeBuilderButton; @property (weak) IBOutlet NSTextField *customEntrySequenceTextField; @property (weak) IBOutlet NSComboBox *windowTitleComboBox; @property (weak) IBOutlet NSButton *removeAssociationButton; @property (weak) IBOutlet NSButton *addAssociationButton; -@property (weak) IBOutlet NSButton *enableCustomAssociationSequenceButton; +@property (weak) IBOutlet NSButton *showCustomAssociationSequenceAutotypeBuilderButton; @property (weak) IBOutlet NSTextField *associationSequenceTextField; - (void)registerNotificationsForDocument:(MPDocument *)document; +- (IBAction)showPasswordGenerator:(id)sender; + - (IBAction)saveAttachment:(id)sender; - (IBAction)addAttachment:(id)sender; - (IBAction)removeAttachment:(id)sender; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 9456fadc..9167a99a 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -13,6 +13,7 @@ #import "MPPasswordCreatorViewController.h" #import "MPWindowAssociationsTableViewDelegate.h" #import "MPWindowTitleComboBoxDelegate.h" +#import "MPAutotypeBuilderViewController.h" #import "NSString+MPPasswordCreation.h" @@ -275,13 +276,19 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { #pragma mark - #pragma mark Popovers -- (IBAction)_popUpPasswordGenerator:(id)sender { +- (IBAction)showAutotypeBuilder:(id)sender { + [sender setEnabled:NO]; + MPAutotypeBuilderViewController *autotypeBuilder = [[MPAutotypeBuilderViewController alloc] init]; + [self _showPopopver:autotypeBuilder atView:sender onEdge:NSMinYEdge]; +} + +- (IBAction)showPasswordGenerator:(id)sender { self.generatePasswordButton.enabled = NO; MPPasswordCreatorViewController *viewController = [[MPPasswordCreatorViewController alloc] init]; viewController.allowsEntryDefaults = YES; viewController.representedObject = self.representedObject; viewController.observer = self.windowController.document; - [self _showPopopver:viewController atView:self.passwordTextField onEdge:NSMinYEdge]; + [self _showPopopver:viewController atView:sender onEdge:NSMinYEdge]; } - (void)_showPopopver:(NSViewController *)viewController atView:(NSView *)view onEdge:(NSRectEdge)edge { @@ -299,6 +306,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (void)popoverDidClose:(NSNotification *)notification { self.generatePasswordButton.enabled = YES; + self.showCustomEntrySequenceAutotypeBuilderButton.enabled = YES; + self.showCustomAssociationSequenceAutotypeBuilderButton.enabled = YES; self.activePopover = nil; } From 8aac8c7996a364313ea76e505344c2f3575761ea Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Tue, 13 Sep 2016 10:23:28 +0200 Subject: [PATCH 605/778] Update LICENSE.txt --- LICENSE.txt | 678 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 677 insertions(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index e1116c04..5d9710bb 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ MacPass, a KeePass compatible Password Manager for OS X -Copyright (C) 2012-2014 Michael Starke, and all MacPass contributors +Copyright (C) 2012-2016 Michael Starke, and all MacPass contributors A full list of contributors can be found at @@ -16,3 +16,679 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . +-------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From 024e9cf41a4bdfa375909ffe3c24c317290e5837 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Tue, 13 Sep 2016 10:23:46 +0200 Subject: [PATCH 606/778] Delete GPLv3.txt --- GPLv3.txt | 621 ------------------------------------------------------ 1 file changed, 621 deletions(-) delete mode 100644 GPLv3.txt diff --git a/GPLv3.txt b/GPLv3.txt deleted file mode 100644 index 94a04532..00000000 --- a/GPLv3.txt +++ /dev/null @@ -1,621 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS From f0d4b2f8358fc17d90602baf1bdea7e88387838c Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 4 Sep 2016 16:50:30 +0200 Subject: [PATCH 607/778] Using KPKDatabaseType instead of KPKVersion. --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/KPKFormat+MPUTIDetection.m | 8 +++---- MacPass/MPAutotypeBuilderViewController.m | 12 ++++++++++ MacPass/MPDocument.h | 6 ++--- MacPass/MPDocument.m | 24 ++++++++++---------- MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPPasswordEditWindowController.m | 2 +- MacPass/MPSavePanelAccessoryViewController.h | 2 +- MacPass/MPSavePanelAccessoryViewController.m | 16 ++++++------- MacPassTests/MPDatabaseLoading.m | 2 +- MacPassTests/MPTestDocument.m | 2 +- 12 files changed, 46 insertions(+), 34 deletions(-) diff --git a/Cartfile b/Cartfile index 94656ccd..1388922b 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" +github "mstarke/KeePassKit" "5c98755e9954549a74f421d90af8cd6b5c0e01cc" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 5db8a76d..01370473 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" +github "mstarke/KeePassKit" "5c98755e9954549a74f421d90af8cd6b5c0e01cc" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/KPKFormat+MPUTIDetection.m b/MacPass/KPKFormat+MPUTIDetection.m index c88c9405..3f4b605f 100644 --- a/MacPass/KPKFormat+MPUTIDetection.m +++ b/MacPass/KPKFormat+MPUTIDetection.m @@ -17,16 +17,16 @@ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ typeToUTI = @{ - @(KPKLegacyVersion) : MPLegacyDocumentUTI, - @(KPKXmlVersion) : MPXMLDocumentUTI + @(KPKDatabaseTypeBinary) : MPLegacyDocumentUTI, + @(KPKDatabaseTypeXml) : MPXMLDocumentUTI }; }); return typeToUTI; } - (NSString *)typeForData:(NSData *)data { - KPKVersion version = [self databaseVersionForData:data]; - return [self _typeToUTIdictionary][@(version)]; + KPKFileInfo fileInfo = [self fileInfoForData:data]; + return [self _typeToUTIdictionary][@(fileInfo.type)]; } - (NSString *)typeForContentOfURL:(NSURL *)url { diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m index b00a6785..3116d821 100644 --- a/MacPass/MPAutotypeBuilderViewController.m +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -37,6 +37,9 @@ return _tokens; } +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} - (NSString *)nibName { return @"AutotypeBuilderView"; @@ -46,6 +49,15 @@ [super viewDidLoad]; self.tokenField.editable = NO; self.tokenField.objectValue = self.tokens; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_textViewDidChangeSelection:) name:NSTextViewDidChangeSelectionNotification object:nil]; } +- (void)_textViewDidChangeSelection:(NSNotification *)notification { + NSTextView *tv = [self.tokenField.cell fieldEditorForView:self.tokenField]; + if(tv) { + NSArray *selectionRanges = tv.selectedRanges; + } +} + + @end diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 72f8e59f..f7609b1a 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -78,7 +78,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey; @property (assign, readonly, getter = isReadOnly) BOOL readOnly; -@property (nonatomic, readonly, assign) KPKVersion versionForFileType; +@property (nonatomic, readonly, assign) KPKDatabaseType versionForFileType; /* State (active group/entry) @@ -96,8 +96,8 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong, readonly) NSArray *searchResult; -+ (KPKVersion)versionForFileType:(NSString *)fileType; -+ (NSString *)fileTypeForVersion:(KPKVersion)version; ++ (KPKDatabaseType)versionForFileType:(NSString *)fileType; ++ (NSString *)fileTypeForVersion:(KPKDatabaseType)version; #pragma mark Lock/Decrypt - (IBAction)lockDatabase:(id)sender; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 676c6380..623a8849 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -89,22 +89,22 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return [NSSet setWithObject:NSStringFromSelector(@selector(tree))]; } -+ (KPKVersion)versionForFileType:(NSString *)fileType { ++ (KPKDatabaseType)versionForFileType:(NSString *)fileType { if( NSOrderedSame == [fileType compare:MPLegacyDocumentUTI options:NSCaseInsensitiveSearch]) { - return KPKLegacyVersion; + return KPKDatabaseTypeBinary; } if( NSOrderedSame == [fileType compare:MPXMLDocumentUTI options:NSCaseInsensitiveSearch]) { - return KPKXmlVersion; + return KPKDatabaseTypeXml; } - return KPKUnknownVersion; + return KPKDatabaseTypeUnknown; } -+ (NSString *)fileTypeForVersion:(KPKVersion)version { ++ (NSString *)fileTypeForVersion:(KPKDatabaseType)version { switch(version) { - case KPKLegacyVersion: + case KPKDatabaseTypeBinary: return MPLegacyDocumentUTI; - case KPKXmlVersion: + case KPKDatabaseTypeXml: return MPXMLDocumentUTI; default: @@ -182,8 +182,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return nil; // Saving without a password/key is not possible } NSString *fileType = self.fileTypeFromLastRunSavePanel; - KPKVersion version = [self.class versionForFileType:fileType]; - if(version == KPKUnknownVersion) { + KPKDatabaseType version = [self.class versionForFileType:fileType]; + if(version == KPKDatabaseTypeUnknown) { if(outError != NULL) { NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: NSLocalizedString(@"UNKNOWN_FILE_VERSION", "") }; *outError = [NSError errorWithDomain:MPErrorDomain code:0 userInfo:userInfo]; @@ -325,7 +325,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou NSError *error; /* FIXME: User feedback is ignored */ [self saveDocument:sender]; - self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKXmlVersion error:&error]; + self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKDatabaseTypeXml error:&error]; self.tree = nil; [self.undoManager removeAllActions]; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; @@ -389,8 +389,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } #pragma mark Properties -- (KPKVersion)versionForFileType { - return [[self class] versionForFileType:[self fileType]]; +- (KPKDatabaseType)versionForFileType { + return [[self class] versionForFileType:self.fileType]; } - (BOOL)encrypted { diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 4b58b6d2..e01892c9 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -193,7 +193,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSString *fileType = document.fileType; /* we did open as legacy */ if([fileType isEqualToString:MPLegacyDocumentUTI]) { - if(document.tree.minimumVersion != KPKLegacyVersion) { + if(document.tree.minimumType != KPKDatabaseTypeBinary) { NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_LOSSY_SAVE", ""); diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index f5344961..8d51f27c 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -117,7 +117,7 @@ - (IBAction)generateKey:(id)sender { MPDocument *document = self.document; - NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumVersion]; + NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumType]; if(data) { NSSavePanel *savePanel = [NSSavePanel savePanel]; savePanel.allowedFileTypes = @[@"key", @"xml"]; diff --git a/MacPass/MPSavePanelAccessoryViewController.h b/MacPass/MPSavePanelAccessoryViewController.h index 0294d37f..5663e725 100644 --- a/MacPass/MPSavePanelAccessoryViewController.h +++ b/MacPass/MPSavePanelAccessoryViewController.h @@ -15,7 +15,7 @@ @property (nonatomic, weak) NSSavePanel *savePanel; @property (nonatomic, weak) MPDocument *document; -@property (nonatomic, assign, readonly) KPKVersion selectedVersion; +@property (nonatomic, assign, readonly) KPKDatabaseType selectedVersion; @property (nonatomic, weak) IBOutlet NSPopUpButton *fileTypePopupButton; @property (nonatomic, weak) IBOutlet NSTextField *infoTextField; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index bef78477..66d74965 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -13,7 +13,7 @@ #import "KeePassKit/KeePassKit.h" @interface MPSavePanelAccessoryViewController () -@property (readwrite, assign) KPKVersion selectedVersion; +@property (readwrite, assign) KPKDatabaseType selectedVersion; @end @implementation MPSavePanelAccessoryViewController @@ -42,10 +42,10 @@ - (IBAction)setFileType:(id)sender { NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; if([uti isEqualToString:MPLegacyDocumentUTI]) { - self.selectedVersion = KPKLegacyVersion; + self.selectedVersion = KPKDatabaseTypeBinary; } else if([uti isEqualToString:MPXMLDocumentUTI]) { - self.selectedVersion = KPKXmlVersion; + self.selectedVersion = KPKDatabaseTypeXml; } NSAssert(uti != nil, @"UTI cannot be nil"); [self _updateNote]; @@ -66,13 +66,13 @@ NSView *view = self.view; NSAssert(view != nil, @"View has to be loaded at this point"); switch(self.document.versionForFileType) { - case KPKLegacyVersion: + case KPKDatabaseTypeBinary: [self.fileTypePopupButton selectItemAtIndex:1]; break; - case KPKXmlVersion: + case KPKDatabaseTypeXml: [self.fileTypePopupButton selectItemAtIndex:0]; break; - case KPKUnknownVersion: + default: NSAssert(NO, @"Minimum Version should always be valid"); break; } @@ -82,8 +82,8 @@ - (void)_updateNote { NSString *uti = [[self.fileTypePopupButton selectedItem] representedObject]; - BOOL showInfoText = (self.document.tree.minimumVersion == KPKXmlVersion && [uti isEqualToString:MPLegacyDocumentUTI]); - [self.infoTextField setHidden:!showInfoText]; + BOOL showInfoText = (self.document.tree.minimumType == KPKDatabaseTypeXml && [uti isEqualToString:MPLegacyDocumentUTI]); + self.infoTextField.hidden = !showInfoText; } @end diff --git a/MacPassTests/MPDatabaseLoading.m b/MacPassTests/MPDatabaseLoading.m index 3eba9cf1..dea66244 100644 --- a/MacPassTests/MPDatabaseLoading.m +++ b/MacPassTests/MPDatabaseLoading.m @@ -28,7 +28,7 @@ XCTAssertTrue(document.encrypted, @"Loaded but unencrypted should be not decrypted"); XCTAssertTrue([document unlockWithPassword:@"1234" keyFileURL:nil error:&error], @"Should decrypt with password"); XCTAssertNil(error, @"No Error should occur on unlocking with correct password"); - XCTAssertTrue((document.tree.minimumVersion = KPKLegacyVersion), @"Minimal Version should not increase with KDB File loaded"); + XCTAssertTrue((document.tree.minimumType = KPKDatabaseTypeBinary), @"Minimal Version should not increase with KDB File loaded"); //STAssertTrue([document.fileType isEqualToString:[MPDocument fileTypeForVersion:KPKLegacyVersion]], @"File type needs to match opened file"); } diff --git a/MacPassTests/MPTestDocument.m b/MacPassTests/MPTestDocument.m index eaf9378b..db290108 100644 --- a/MacPassTests/MPTestDocument.m +++ b/MacPassTests/MPTestDocument.m @@ -28,7 +28,7 @@ - (void)testCreateUntitledDocument { MPDocument *document = [[MPDocument alloc] initWithType:@"" error:nil]; XCTAssertNotNil(document, @"Document should be created"); - XCTAssertTrue(document.tree.minimumVersion == KPKLegacyVersion, @"Tree should be Legacy Version in default case"); + XCTAssertTrue(document.tree.minimumType == KPKDatabaseTypeBinary, @"Tree should be Legacy Version in default case"); XCTAssertFalse(document.encrypted, @"Document cannot be encrypted at creation"); XCTAssertFalse(document.compositeKey.hasPasswordOrKeyFile, @"Document has no Password/Keyfile and thus is not secured"); From e06cf82368649772eeab2d859261bc03aadc344c Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 5 Sep 2016 12:17:13 +0200 Subject: [PATCH 608/778] Using modern Objective-C --- MacPass/MPOutlineDataSource.m | 12 ++++++------ MacPass/MPSavePanelAccessoryViewController.m | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MacPass/MPOutlineDataSource.m b/MacPass/MPOutlineDataSource.m index b82e24a9..9d2cde45 100644 --- a/MacPass/MPOutlineDataSource.m +++ b/MacPass/MPOutlineDataSource.m @@ -83,7 +83,7 @@ KPKGroup *targetGroup = targetItem; BOOL validTarget = YES; - MPDocument *document = [[[outlineView window] windowController] document]; + MPDocument *document = outlineView.window.windowController.document; /* Dragging Groups */ if(draggedGroup) { self.localDraggedGroup = [document findGroup:draggedGroup.uuid]; @@ -177,18 +177,18 @@ /* Cleanup old stuff */ NSArray *types = [pasteboard types]; - if([types count] > 1 || [types count] == 0) { + if(types.count > 1 || types.count == 0) { return NO; } - NSString *draggedType = [types lastObject]; + NSString *draggedType = types.lastObject; if([draggedType isEqualToString:KPKGroupUTI]) { // dragging group NSArray *groups = [pasteboard readObjectsForClasses:@[[KPKGroup class]] options:nil]; - if([groups count] != 1) { + if(groups.count != 1) { return NO; } - *group = [groups lastObject]; + *group = groups.lastObject; return YES; } else if([draggedType isEqualToString:KPKEntryUTI]) { @@ -196,7 +196,7 @@ if([entries count] != 1) { return NO; // NO entry readable } - *entry = [entries lastObject]; + *entry = entries.lastObject; return YES; } return NO; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index 66d74965..f884bf57 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -30,7 +30,7 @@ NSString *extension = [self.document fileNameExtensionForType:uti saveOperation:NSSaveOperation]; NSString *title = [NSString stringWithFormat:@"%@ (%@)", description, extension]; [menu addItemWithTitle:title action:@selector(setFileType:) keyEquivalent:@""]; - NSMenuItem *item = [[menu itemArray] lastObject]; + NSMenuItem *item = menu.itemArray.lastObject; item.target = self; item.representedObject = uti; } @@ -81,7 +81,7 @@ } - (void)_updateNote { - NSString *uti = [[self.fileTypePopupButton selectedItem] representedObject]; + NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; BOOL showInfoText = (self.document.tree.minimumType == KPKDatabaseTypeXml && [uti isEqualToString:MPLegacyDocumentUTI]); self.infoTextField.hidden = !showInfoText; } From d6c8be71acd32e7e27e195030b9274c3b459c042 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 12 Sep 2016 11:05:53 +0200 Subject: [PATCH 609/778] Codestyle --- MacPass/Base.lproj/EntryInspectorView.xib | 2 +- MacPass/MPAutotypeDaemon.m | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index f7c45f81..e6645f26 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,5 +1,5 @@ - + diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 5d18968c..715bf69e 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -142,7 +142,7 @@ static MPAutotypeDaemon *_sharedInstance; #pragma mark Autotype Execution - (void)_performAutotypeForEntry:(KPKEntry *)entryOrNil { - NSInteger pid = [[NSProcessInfo processInfo] processIdentifier]; + NSInteger pid = [NSProcessInfo processInfo].processIdentifier; if(self.targetPID == pid) { return; // We do not perform Autotype on ourselves } @@ -181,7 +181,7 @@ static MPAutotypeDaemon *_sharedInstance; /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ if(unlockedDocuments.count == 0 && documents.count > 0) { [NSApp activateIgnoringOtherApps:YES]; - [[NSApp mainWindow] makeKeyAndOrderFront:self]; + [NSApp.mainWindow makeKeyAndOrderFront:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:nil]; } return unlockedDocuments; @@ -317,7 +317,7 @@ static MPAutotypeDaemon *_sharedInstance; #pragma mark Application information - (BOOL)_orderApplicationToFront:(pid_t)processIdentifier { NSRunningApplication *runingApplication = [NSRunningApplication runningApplicationWithProcessIdentifier:processIdentifier]; - NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication]; + NSRunningApplication *frontApplication = [NSWorkspace sharedWorkspace].frontmostApplication; if(frontApplication.processIdentifier == processIdentifier) { return NO; } @@ -325,7 +325,7 @@ static MPAutotypeDaemon *_sharedInstance; return YES; } - (void)_updateTargetInfoForFrontMostApplication { - [self _updateTargeInformationForApplication:[[NSWorkspace sharedWorkspace] frontmostApplication]]; + [self _updateTargeInformationForApplication:[NSWorkspace sharedWorkspace].frontmostApplication]; } - (void)_updateTargeInformationForApplication:(NSRunningApplication *)application { From 00fb80435535643be978e52e47e02fd37442c93a Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Sep 2016 14:52:31 +0200 Subject: [PATCH 610/778] better naming for plugin loading --- MacPass/MPPluginManager.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m index c91e934b..bebb6cd8 100644 --- a/MacPass/MPPluginManager.m +++ b/MacPass/MPPluginManager.m @@ -111,7 +111,7 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu continue; }; - if([self _validateBundle:pluginBundle]) { + if([self _validateUniqueBundle:pluginBundle]) { NSLog(@"Plugin %@ already loaded!", pluginBundle.bundleIdentifier); continue; } @@ -142,7 +142,7 @@ NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPlu } } -- (BOOL)_validateBundle:(NSBundle *)bundle { +- (BOOL)_validateUniqueBundle:(NSBundle *)bundle { for(MPPlugin *plugin in self.mutablePlugins) { NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; if([pluginBundle.bundleIdentifier isEqualToString:bundle.bundleIdentifier]) { From f21ddb1c3ae5c3302c625704e7244b8047482b8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 6 Oct 2016 17:14:14 +0200 Subject: [PATCH 611/778] Updated settings for Xcode 8 --- MacPass.xcodeproj/project.pbxproj | 8 +++++++- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 768319be..fabacb00 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1495,7 +1495,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0730; + LastUpgradeCheck = 0800; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { @@ -2204,12 +2204,15 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; @@ -2245,12 +2248,15 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 7b4cc510..944c3506 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 6 Oct 2016 17:14:25 +0200 Subject: [PATCH 612/778] fixed wrong usage of non-null API --- MacPass/MPEntryInspectorViewController.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 9167a99a..960101cf 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -213,8 +213,11 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { NSInteger row = self.windowAssociationsTableView.selectedRow; if(row > - 1 && row < self.representedEntry.autotype.associations.count) { [self.observer willChangeModelProperty]; - [self.representedEntry.autotype removeAssociation:self.representedEntry.autotype.associations[row]]; - [self.observer didChangeModelProperty]; + KPKWindowAssociation *association = self.representedEntry.autotype.associations[row]; + if(association) { + [self.representedEntry.autotype removeAssociation:association]; + [self.observer didChangeModelProperty]; + } } } From ee33dcaaf827c2ea331c67a664d84cca120882ad Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Oct 2016 13:44:59 +0200 Subject: [PATCH 613/778] fixed #505. Locking the database looses data --- MacPass/MPDocument.m | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 676c6380..46525b54 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -172,7 +172,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou - (NSData *)dataOfType:(NSString *)typeName error:(NSError * _Nullable __autoreleasing *)outError { if(self.encrypted) { - // return self.encryptedData; + NSAssert(!self.encrypted, @"%@ should not be called on locked databases!", NSStringFromSelector(_cmd)); + //return self.encryptedData; } if(!self.compositeKey.hasPasswordOrKeyFile) { if(outError != NULL) { @@ -321,16 +322,35 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou #pragma mark Lock/Unlock/Decrypt - (void)lockDatabase:(id)sender { - [self exitSearch:self]; - NSError *error; + /* + [self saveDocument] is enqued so that dataOfType is called too late to actually save teh database. + hence we need to get the ok from the NSDocument about the save, otherwise the lock fails! + */ + [self saveDocumentWithDelegate:self didSaveSelector:@selector(_lockDatabaseForDocument:didSave:contextInfo:) contextInfo:NULL]; +} + +- (void)_lockDatabaseForDocument:(NSDocument *)document didSave:(BOOL)didSave contextInfo:(void *)contextInfo { + NSAssert(self == document, @"Receiver does not match the actual document!"); + if(self != document) { + return; // wrong parameters + } + if(didSave) { + return; // not saved! + } /* FIXME: User feedback is ignored */ - [self saveDocument:sender]; - self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKXmlVersion error:&error]; - self.tree = nil; + [self exitSearch:self]; [self.undoManager removeAllActions]; + NSError *error; + self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKXmlVersion error:&error]; + if(nil == self.encryptedData && error ) { + [self presentError:error]; + return; + } + self.tree = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; } + - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{ self.compositeKey = [[KPKCompositeKey alloc] initWithPassword:password key:keyFileURL]; self.tree = [[KPKTree alloc] initWithData:self.encryptedData password:self.compositeKey error:error]; From 58df7fe7c6cc24d14aa6b320da91b488acaef9ca Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Oct 2016 14:18:31 +0200 Subject: [PATCH 614/778] fixed #505 for good fixed typo for locking switched to notifications on locking to prevent UI changes on failure --- MacPass/MPDocument.m | 2 +- MacPass/MPDocumentWindowController.m | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 46525b54..3abcb399 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -334,7 +334,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou if(self != document) { return; // wrong parameters } - if(didSave) { + if(!didSave) { return; // not saved! } /* FIXME: User feedback is ignored */ diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 4b58b6d2..7f675f0b 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -91,6 +91,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddEntry:) name:MPDocumentDidAddEntryNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didLockDatabase:) name:MPDocumentDidLockDatabaseNotification object:document]; [self.entryViewController regsiterNotificationsForDocument:document]; [self.inspectorViewController registerNotificationsForDocument:document]; @@ -181,12 +182,17 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self showInspector:self]; } +- (void)_didLockDatabase:(NSNotification *)notification { + [self showPasswordInput]; +} + - (void)_didUnlockDatabase:(NSNotification *)notification { [self showEntries]; /* Show password reminders */ [self _presentPasswordIntervalAlerts]; } + #pragma mark Actions - (void)saveDocument:(id)sender { MPDocument *document = self.document; @@ -345,7 +351,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); if(document.encrypted) { return; // Document already locked } - [self showPasswordInput]; [document lockDatabase:sender]; } From d9f74938d0e79366be1736c538638c4678f6d11f Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 14 Oct 2016 10:31:25 +0200 Subject: [PATCH 615/778] changed default lock shortcut to cmd+L --- MacPass/Base.lproj/MainMenu.xib | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/MacPass/Base.lproj/MainMenu.xib b/MacPass/Base.lproj/MainMenu.xib index b78d3df5..ce1eaf32 100644 --- a/MacPass/Base.lproj/MainMenu.xib +++ b/MacPass/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - - + + - + @@ -123,8 +123,7 @@ - - + From edfc4a691ccbb70b892c27aa6a3126455c4eb5ff Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 14 Oct 2016 15:11:24 +0200 Subject: [PATCH 616/778] added todo note --- MacPass/MPDocument.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index e361faf7..45e1fcf2 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -341,6 +341,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [self exitSearch:self]; [self.undoManager removeAllActions]; NSError *error; + /* TODO let the tree chose the encryption */ self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKDatabaseTypeXml error:&error]; if(nil == self.encryptedData && error ) { [self presentError:error]; From 9ac7c93fbf4e549929d6211dee1593b4e6fa920c Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 17 Oct 2016 18:17:52 +0200 Subject: [PATCH 617/778] bubbling NSEditorRegistration calls from NSViewController up to NSDocument --- MacPass/MPCustomFieldTableCellView.m | 9 +++++++++ MacPass/MPDocument.m | 1 - MacPass/MPViewController.m | 11 +++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/MacPass/MPCustomFieldTableCellView.m b/MacPass/MPCustomFieldTableCellView.m index 3df1ee31..64cc641d 100644 --- a/MacPass/MPCustomFieldTableCellView.m +++ b/MacPass/MPCustomFieldTableCellView.m @@ -10,6 +10,15 @@ #import "MPDocument.h" @implementation MPCustomFieldTableCellView + +- (void)objectDidBeginEditing:(id)editor { + [self.window.windowController.document objectDidBeginEditing:editor]; +} + +- (void)objectDidEndEditing:(id)editor { + [self.window.windowController.document objectDidEndEditing:editor]; +} + - (void)setBackgroundStyle:(NSBackgroundStyle)backgroundStyle { super.backgroundStyle = NSBackgroundStyleLight; } diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 3abcb399..999803cf 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -821,5 +821,4 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidChangeModelPropertyNotification object:self]; } - @end diff --git a/MacPass/MPViewController.m b/MacPass/MPViewController.m index d9d35f28..f41a0701 100644 --- a/MacPass/MPViewController.m +++ b/MacPass/MPViewController.m @@ -38,6 +38,17 @@ } } +#pragma mark NSEditorRegistration +- (void)objectDidBeginEditing:(id)editor { + [self.windowController.document objectDidBeginEditing:editor]; + [super objectDidBeginEditing:editor]; +} + +- (void)objectDidEndEditing:(id)editor { + [self.windowController.document objectDidEndEditing:editor]; + [super objectDidEndEditing:editor]; +} + #pragma mark Binding observation - (void)setValue:(id)value forKeyPath:(NSString *)keyPath { if([keyPath hasPrefix:@"representedObject."]) { From 2e1e4ad5acd2364825c19c38c81e56af58e9bbe3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 17 Oct 2016 18:44:24 +0200 Subject: [PATCH 618/778] fixed 478. Active editors now commit their changes before a new item is selected --- MacPass/MPInspectorViewController.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 27b9f40a..f0abef22 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -235,6 +235,11 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { } self.didPushHistory = NO; + /* manually commit editing on any active editors */ + [self commitEditing]; + [self.entryViewController commitEditing]; + [self.groupViewController commitEditing]; + self.representedObject = node; self.entryViewController.representedObject = node.asEntry; self.groupViewController.representedObject = node.asGroup; From 1ae41df2cebd1cf0b7f8df25e69cd9454540f535 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Oct 2016 11:06:23 +0200 Subject: [PATCH 619/778] added index column and custom index sorting --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPEntryViewController.m | 26 +++++++++++++++++++------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Cartfile b/Cartfile index 94656ccd..1d7c5d52 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" +github "mstarke/KeePassKit" "8803a3df186371827171f9a033d7c61eb56f25c1" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 5db8a76d..0b1f72e9 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "d66c888b299358481da2ba2672ec7c644cce56ec" +github "mstarke/KeePassKit" "8803a3df186371827171f9a033d7c61eb56f25c1" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 471228fb..fee6a160 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -45,6 +45,7 @@ typedef NS_ENUM(NSUInteger,MPOVerlayInfoType) { MPOverlayInfoCustom, }; +NSString *const MPEntryTableIndexColumnIdentifier = @"MPEntryTableIndexColumnIdentifier"; NSString *const MPEntryTableUserNameColumnIdentifier = @"MPUserNameColumnIdentifier"; NSString *const MPEntryTableTitleColumnIdentifier = @"MPTitleColumnIdentifier"; NSString *const MPEntryTablePasswordColumnIdentifier = @"MPPasswordColumnIdentifier"; @@ -130,14 +131,17 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSTableColumn *notesColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableNotesColumnIdentifier]; NSTableColumn *modifiedColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableModfiedColumnIdentifier]; NSTableColumn *historyColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableHistoryColumnIdentifier]; + NSTableColumn *indexColumn = [[NSTableColumn alloc] initWithIdentifier:MPEntryTableIndexColumnIdentifier]; notesColumn.minWidth = 40.0; attachmentsColumn.minWidth = 40.0; modifiedColumn.minWidth = 40.0; historyColumn.minWidth = 40.0; + indexColumn.minWidth = 16.0; [self.entryTable addTableColumn:notesColumn]; [self.entryTable addTableColumn:attachmentsColumn]; [self.entryTable addTableColumn:modifiedColumn]; [self.entryTable addTableColumn:historyColumn]; + [self.entryTable addTableColumn:indexColumn]; parentColumn.identifier = MPEntryTableParentColumnIdentifier; titleColumn.identifier = MPEntryTableTitleColumnIdentifier; @@ -151,12 +155,15 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSString *parentTitleKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(parent)), NSStringFromSelector(@selector(title))]; NSString *timeInfoModificationTimeKeyPath = [[NSString alloc] initWithFormat:@"%@.%@", NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(modificationDate))]; + indexColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(index)) ascending:YES selector:@selector(compare:)]; titleColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(title))ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; userNameColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(username)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; urlColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:NSStringFromSelector(@selector(url)) ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; parentColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:parentTitleKeyPath ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; modifiedColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:timeInfoModificationTimeKeyPath ascending:YES selector:@selector(compare:)]; + + indexColumn.headerCell.stringValue = @""; parentColumn.headerCell.stringValue = NSLocalizedString(@"GROUP", ""); titleColumn.headerCell.stringValue = NSLocalizedString(@"TITLE", ""); userNameColumn.headerCell.stringValue = NSLocalizedString(@"USERNAME", ""); @@ -232,6 +239,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { + BOOL isIndexColumn = [tableColumn.identifier isEqualToString:MPEntryTableIndexColumnIdentifier]; BOOL isTitleColumn = [tableColumn.identifier isEqualToString:MPEntryTableTitleColumnIdentifier]; BOOL isGroupColumn = [tableColumn.identifier isEqualToString:MPEntryTableParentColumnIdentifier]; BOOL isPasswordColum = [tableColumn.identifier isEqualToString:MPEntryTablePasswordColumnIdentifier]; @@ -285,6 +293,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; /* clean up old formatter that might be left */ view.textField.formatter = nil; } + if(isModifedColumn) { if(!view.textField.formatter) { /* Just use one formatter instance since it's expensive to create */ @@ -333,10 +342,13 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } else if(isHistoryColumn) { NSString *historyCountKeyPath = [NSString stringWithFormat:@"%@.%@.@count", - NSStringFromSelector(@selector(objectValue)), - NSStringFromSelector(@selector(history))]; + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(history))]; [view.textField bind:NSValueBinding toObject:view withKeyPath:historyCountKeyPath options:nil]; } + else if(isIndexColumn) { + view.textField.stringValue = @""; + } } return view; } @@ -360,10 +372,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark MPTargetItemResolving - (NSArray *)currentTargetEntries { /*NSInteger activeRow = self.entryTable.clickedRow; - if(activeRow > -1) { - return @[ [self.entryArrayController arrangedObjects][activeRow] ]; - } - */ + if(activeRow > -1) { + return @[ [self.entryArrayController arrangedObjects][activeRow] ]; + } + */ return self.entryArrayController.selectedObjects; } @@ -614,7 +626,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [item bind:NSValueBinding toObject:column withKeyPath:NSHiddenBinding options:options]; } - [[self.entryTable headerView] setMenu:headerMenu]; + self.entryTable.headerView.menu = headerMenu; } #pragma mark Actions From 0f9364e8b6643718f2f88ea9022907d1331927f6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Oct 2016 11:44:23 +0200 Subject: [PATCH 620/778] fixed using wrong entries for drag and drop --- MacPass/MPEntryTableDataSource.m | 5 ++++- MacPass/MPEntryViewController.m | 7 +++---- MacPass/MPOutlineDataSource.m | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/MacPass/MPEntryTableDataSource.m b/MacPass/MPEntryTableDataSource.m index 37be0993..bd7f1895 100644 --- a/MacPass/MPEntryTableDataSource.m +++ b/MacPass/MPEntryTableDataSource.m @@ -32,7 +32,10 @@ @implementation MPEntryTableDataSource - (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard { - NSArray *entries = self.viewController.entryArrayController.selectedObjects; + NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:rowIndexes.count]; + [rowIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) { + [entries addObject:self.viewController.entryArrayController.arrangedObjects[idx]]; + }]; for(KPKEntry *entry in entries) { if(![entry isKindOfClass:[KPKEntry class]]) { return NO; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 471228fb..b9ddc5de 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -333,8 +333,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } else if(isHistoryColumn) { NSString *historyCountKeyPath = [NSString stringWithFormat:@"%@.%@.@count", - NSStringFromSelector(@selector(objectValue)), - NSStringFromSelector(@selector(history))]; + NSStringFromSelector(@selector(objectValue)), + NSStringFromSelector(@selector(history))]; [view.textField bind:NSValueBinding toObject:view withKeyPath:historyCountKeyPath options:nil]; } } @@ -359,11 +359,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark MPTargetItemResolving - (NSArray *)currentTargetEntries { - /*NSInteger activeRow = self.entryTable.clickedRow; + NSInteger activeRow = self.entryTable.clickedRow; if(activeRow > -1) { return @[ [self.entryArrayController arrangedObjects][activeRow] ]; } - */ return self.entryArrayController.selectedObjects; } diff --git a/MacPass/MPOutlineDataSource.m b/MacPass/MPOutlineDataSource.m index b82e24a9..a7d67ab9 100644 --- a/MacPass/MPOutlineDataSource.m +++ b/MacPass/MPOutlineDataSource.m @@ -39,7 +39,7 @@ if(items.count != 1) { return NO; } - self.localDraggedGroup = nil; id item = [[items lastObject] representedObject]; + self.localDraggedGroup = nil; id item = [items.lastObject representedObject]; if(![item isKindOfClass:[KPKGroup class]]) { return NO; } From f39086c0800ffcc81e03a49a364b32c97e528abd Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Oct 2016 18:24:09 +0200 Subject: [PATCH 621/778] fixed merge error --- MacPass/MPEntryViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 8e68ad2c..c626601b 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -344,8 +344,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(history))]; [view.textField bind:NSValueBinding toObject:view withKeyPath:historyCountKeyPath options:nil]; - else if(isIndexColumn) { } + else if(isIndexColumn) { view.textField.stringValue = @""; } } From e7c354ce12101a18b7c6f5445190c6b1885e74ff Mon Sep 17 00:00:00 2001 From: rdoering Date: Thu, 27 Oct 2016 06:28:17 +0200 Subject: [PATCH 622/778] Describing the problem for mac-sierra --- MacPass/MPTemporaryFileStorage.m | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MacPass/MPTemporaryFileStorage.m b/MacPass/MPTemporaryFileStorage.m index e1b6827c..67d72a69 100644 --- a/MacPass/MPTemporaryFileStorage.m +++ b/MacPass/MPTemporaryFileStorage.m @@ -117,6 +117,13 @@ } + (void)_runCleanupForPath:(NSString *)path { + /* + * This crashes with mac 10.12.1 because the command /usr/bin/srm doesnt come with the OS. + * This leads to leaf the plain data at drive. + * + * The data should be deleted by us. Further the plain data sould never touch the drive. + */ + NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/usr/bin/srm"]; [task setArguments:@[@"-m", path]]; From 0acd695c5279470b3e01db206e26786c8a6cf6f6 Mon Sep 17 00:00:00 2001 From: rdoering Date: Thu, 27 Oct 2016 18:09:26 +0200 Subject: [PATCH 623/778] Fixed: Missing /usr/bin/srm is preplaced by /bin/rm -P --- MacPass/MPTemporaryFileStorage.m | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/MacPass/MPTemporaryFileStorage.m b/MacPass/MPTemporaryFileStorage.m index 67d72a69..ae00f539 100644 --- a/MacPass/MPTemporaryFileStorage.m +++ b/MacPass/MPTemporaryFileStorage.m @@ -117,16 +117,9 @@ } + (void)_runCleanupForPath:(NSString *)path { - /* - * This crashes with mac 10.12.1 because the command /usr/bin/srm doesnt come with the OS. - * This leads to leaf the plain data at drive. - * - * The data should be deleted by us. Further the plain data sould never touch the drive. - */ - - NSTask *task = [[NSTask alloc] init]; - [task setLaunchPath:@"/usr/bin/srm"]; - [task setArguments:@[@"-m", path]]; + NSTask *task = [[NSTask alloc] init]; + [task setLaunchPath:@"/bin/rm"]; + [task setArguments:@[@"-P", path]]; [task launch]; [task waitUntilExit]; } From cfd559b7595401d4f4c31532c41319022e827deb Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 7 Nov 2016 19:32:38 +0100 Subject: [PATCH 624/778] Adopting KeePassKit API changes --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/KPKFormat+MPUTIDetection.m | 6 ++-- MacPass/MPConstants.h | 4 +-- MacPass/MPConstants.m | 4 +-- MacPass/MPDatabaseSettingsWindowController.m | 10 +++--- MacPass/MPDocument.h | 6 ++-- MacPass/MPDocument.m | 37 ++++++++++---------- MacPass/MPDocumentController.m | 4 +-- MacPass/MPDocumentWindowController.m | 4 +-- MacPass/MPSavePanelAccessoryViewController.h | 2 +- MacPass/MPSavePanelAccessoryViewController.m | 16 ++++----- MacPass/MPSettingsHelper.h | 3 +- MacPass/MPSettingsHelper.m | 4 +-- MacPassTests/MPDatabaseLoading.m | 2 +- MacPassTests/MPTestDocument.m | 2 +- 16 files changed, 54 insertions(+), 54 deletions(-) diff --git a/Cartfile b/Cartfile index 1388922b..7cbcc8ce 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "5c98755e9954549a74f421d90af8cd6b5c0e01cc" +github "mstarke/KeePassKit" "d12bcc5e2e16115db19e26b6aaa29b62d23ce04b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 01370473..f3c47535 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "5c98755e9954549a74f421d90af8cd6b5c0e01cc" +github "mstarke/KeePassKit" "d12bcc5e2e16115db19e26b6aaa29b62d23ce04b" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/KPKFormat+MPUTIDetection.m b/MacPass/KPKFormat+MPUTIDetection.m index 3f4b605f..835d0003 100644 --- a/MacPass/KPKFormat+MPUTIDetection.m +++ b/MacPass/KPKFormat+MPUTIDetection.m @@ -17,8 +17,8 @@ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ typeToUTI = @{ - @(KPKDatabaseTypeBinary) : MPLegacyDocumentUTI, - @(KPKDatabaseTypeXml) : MPXMLDocumentUTI + @(KPKDatabaseFormatKdb) : MPKdbDocumentUTI, + @(KPKDatabaseFormatKdbx) : MPKdbxDocumentUTI }; }); return typeToUTI; @@ -26,7 +26,7 @@ - (NSString *)typeForData:(NSData *)data { KPKFileInfo fileInfo = [self fileInfoForData:data]; - return [self _typeToUTIdictionary][@(fileInfo.type)]; + return [self _typeToUTIdictionary][@(fileInfo.format)]; } - (NSString *)typeForContentOfURL:(NSURL *)url { diff --git a/MacPass/MPConstants.h b/MacPass/MPConstants.h index 7e1e0360..60ed45ab 100644 --- a/MacPass/MPConstants.h +++ b/MacPass/MPConstants.h @@ -12,8 +12,8 @@ #import FOUNDATION_EXPORT NSString *const MPPasteBoardType; -FOUNDATION_EXPORT NSString *const MPLegacyDocumentUTI; -FOUNDATION_EXPORT NSString *const MPXMLDocumentUTI; +FOUNDATION_EXPORT NSString *const MPKdbDocumentUTI; +FOUNDATION_EXPORT NSString *const MPKdbxDocumentUTI; #endif diff --git a/MacPass/MPConstants.m b/MacPass/MPConstants.m index fab37b1f..4dec85c9 100644 --- a/MacPass/MPConstants.m +++ b/MacPass/MPConstants.m @@ -9,5 +9,5 @@ #import "MPConstants.h" NSString *const MPPasteBoardType = @"com.hicknhack.macpass.pasteboard"; -NSString *const MPLegacyDocumentUTI = @"com.hicknhack.macpass.kdb"; -NSString *const MPXMLDocumentUTI = @"com.hicknhack.macpass.kdbx"; \ No newline at end of file +NSString *const MPKdbDocumentUTI = @"com.hicknhack.macpass.kdb"; +NSString *const MPKdbxDocumentUTI = @"com.hicknhack.macpass.kdbx"; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index bd9e04e8..bd5ae882 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -111,8 +111,9 @@ [defaults setBool:protectUsername forKey:kMPSettingsKeyLegacyHideUsername]; [defaults synchronize]; */ + + metaData.keyDerivationParameters = @{ KPKAESRoundsOption : [[KPKNumber alloc] initWithUnsignedInteger64: MAX(0,self.encryptionRoundsTextField.integerValue)]}; - metaData.rounds = MAX(0,self.encryptionRoundsTextField.integerValue); /* Register an action to enable promts when user cloeses without saving */ [self.document updateChangeCount:NSChangeDone]; [self close:nil]; @@ -124,8 +125,8 @@ - (IBAction)benchmarkRounds:(id)sender { [self.benchmarkButton setEnabled:NO]; - [KPKCompositeKey benchmarkTransformationRounds:1 completionHandler:^(NSUInteger rounds) { - self.encryptionRoundsTextField.integerValue = rounds; + [KPKAESKeyDerivation parametersForDelay:1 completionHandler:^(NSDictionary * _Nonnull options) { + self.encryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value]; self.benchmarkButton.enabled = YES; }]; } @@ -186,7 +187,8 @@ self.protectURLCheckButton.state = HNHUIStateForBool(metaData.protectUrl); self.protectUserNameCheckButton.state = HNHUIStateForBool(metaData.protectUserName); - [self.encryptionRoundsTextField setIntegerValue:metaData.rounds]; + [self.encryptionRoundsTextField setIntegerValue:[metaData.keyDerivationParameters[KPKAESRoundsOption] unsignedInteger64Value]]; + [self.benchmarkButton setEnabled:YES]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index f7609b1a..f7f04373 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -78,7 +78,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey; @property (assign, readonly, getter = isReadOnly) BOOL readOnly; -@property (nonatomic, readonly, assign) KPKDatabaseType versionForFileType; +@property (nonatomic, readonly, assign) KPKDatabaseFormat versionForFileType; /* State (active group/entry) @@ -96,8 +96,8 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong, readonly) NSArray *searchResult; -+ (KPKDatabaseType)versionForFileType:(NSString *)fileType; -+ (NSString *)fileTypeForVersion:(KPKDatabaseType)version; ++ (KPKDatabaseFormat)versionForFileType:(NSString *)fileType; ++ (NSString *)fileTypeForVersion:(KPKDatabaseFormat)format; #pragma mark Lock/Decrypt - (IBAction)lockDatabase:(id)sender; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 87e690d7..89aa1569 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -89,23 +89,23 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return [NSSet setWithObject:NSStringFromSelector(@selector(tree))]; } -+ (KPKDatabaseType)versionForFileType:(NSString *)fileType { - if( NSOrderedSame == [fileType compare:MPLegacyDocumentUTI options:NSCaseInsensitiveSearch]) { - return KPKDatabaseTypeBinary; ++ (KPKDatabaseFormat)versionForFileType:(NSString *)fileType { + if( NSOrderedSame == [fileType compare:MPKdbDocumentUTI options:NSCaseInsensitiveSearch]) { + return KPKDatabaseFormatKdb; } - if( NSOrderedSame == [fileType compare:MPXMLDocumentUTI options:NSCaseInsensitiveSearch]) { - return KPKDatabaseTypeXml; + if( NSOrderedSame == [fileType compare:MPKdbxDocumentUTI options:NSCaseInsensitiveSearch]) { + return KPKDatabaseFormatKdbx; } - return KPKDatabaseTypeUnknown; + return KPKDatabaseFormatUnknown; } -+ (NSString *)fileTypeForVersion:(KPKDatabaseType)version { - switch(version) { - case KPKDatabaseTypeBinary: - return MPLegacyDocumentUTI; ++ (NSString *)fileTypeForVersion:(KPKDatabaseFormat)format { + switch(format) { + case KPKDatabaseFormatKdb: + return MPKdbDocumentUTI; - case KPKDatabaseTypeXml: - return MPXMLDocumentUTI; + case KPKDatabaseFormatKdbx: + return MPKdbxDocumentUTI; default: return @"Unknown"; @@ -134,7 +134,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou self = [self init]; if(self) { self.tree = [[KPKTree alloc] initWithTemplateContents]; - self.tree.metaData.rounds = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordRounds]; } return self; } @@ -183,15 +182,15 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return nil; // Saving without a password/key is not possible } NSString *fileType = self.fileTypeFromLastRunSavePanel; - KPKDatabaseType version = [self.class versionForFileType:fileType]; - if(version == KPKDatabaseTypeUnknown) { + KPKDatabaseFormat format = [self.class versionForFileType:fileType]; + if(format == KPKDatabaseFormatUnknown) { if(outError != NULL) { NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: NSLocalizedString(@"UNKNOWN_FILE_VERSION", "") }; *outError = [NSError errorWithDomain:MPErrorDomain code:0 userInfo:userInfo]; } return nil; // We do not know what version to save! } - return [self.tree encryptWithPassword:self.compositeKey forVersion:version error:outError]; + return [self.tree encryptWithKey:self.compositeKey format:format error:outError]; } - (BOOL)readFromURL:(NSURL *)url ofType:(NSString *)typeName error:(NSError **)outError { @@ -342,7 +341,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [self.undoManager removeAllActions]; NSError *error; /* TODO let the tree chose the encryption */ - self.encryptedData = [self.tree encryptWithPassword:self.compositeKey forVersion:KPKDatabaseTypeXml error:&error]; + self.encryptedData = [self.tree encryptWithKey:self.compositeKey format:KPKDatabaseFormatKdbx error:&error]; if(nil == self.encryptedData && error ) { [self presentError:error]; return; @@ -354,7 +353,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{ self.compositeKey = [[KPKCompositeKey alloc] initWithPassword:password key:keyFileURL]; - self.tree = [[KPKTree alloc] initWithData:self.encryptedData password:self.compositeKey error:error]; + self.tree = [[KPKTree alloc] initWithData:self.encryptedData key:self.compositeKey error:error]; BOOL isUnlocked = (nil != self.tree); @@ -410,7 +409,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } #pragma mark Properties -- (KPKDatabaseType)versionForFileType { +- (KPKDatabaseFormat)versionForFileType { return [[self class] versionForFileType:self.fileType]; } diff --git a/MacPass/MPDocumentController.m b/MacPass/MPDocumentController.m index 1ebb3b6a..d6773153 100644 --- a/MacPass/MPDocumentController.m +++ b/MacPass/MPDocumentController.m @@ -34,7 +34,7 @@ NSArray *topLevelObjects; [myBundle loadNibNamed:@"OpenPanelAccessoryView" owner:self topLevelObjects:&topLevelObjects]; } - self.openPanel.allowedFileTypes = @[MPLegacyDocumentUTI, MPXMLDocumentUTI]; + self.openPanel.allowedFileTypes = @[MPKdbDocumentUTI, MPKdbxDocumentUTI]; self.allowAllCheckBox.state = NSOffState; self.showHiddenCheckBox.state = NSOffState; self.openPanel.accessoryView = self.accessoryView; @@ -46,7 +46,7 @@ BOOL allowAllFiles = HNHUIBoolForState(button.state); /* Toggle hidden to force a refresh */ self.openPanel.showsHiddenFiles = !self.openPanel.showsHiddenFiles; - self.openPanel.allowedFileTypes = allowAllFiles ? nil : @[MPLegacyDocumentUTI, MPXMLDocumentUTI]; + self.openPanel.allowedFileTypes = allowAllFiles ? nil : @[MPKdbDocumentUTI, MPKdbxDocumentUTI]; self.openPanel.showsHiddenFiles = !self.openPanel.showsHiddenFiles; } diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 669fdb55..4626b332 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -198,8 +198,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); MPDocument *document = self.document; NSString *fileType = document.fileType; /* we did open as legacy */ - if([fileType isEqualToString:MPLegacyDocumentUTI]) { - if(document.tree.minimumType != KPKDatabaseTypeBinary) { + if([fileType isEqualToString:MPKdbDocumentUTI]) { + if(document.tree.minimumType != KPKDatabaseFormatKdb) { NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_LOSSY_SAVE", ""); diff --git a/MacPass/MPSavePanelAccessoryViewController.h b/MacPass/MPSavePanelAccessoryViewController.h index 5663e725..1e7138a9 100644 --- a/MacPass/MPSavePanelAccessoryViewController.h +++ b/MacPass/MPSavePanelAccessoryViewController.h @@ -15,7 +15,7 @@ @property (nonatomic, weak) NSSavePanel *savePanel; @property (nonatomic, weak) MPDocument *document; -@property (nonatomic, assign, readonly) KPKDatabaseType selectedVersion; +@property (nonatomic, assign, readonly) KPKDatabaseFormat selectedVersion; @property (nonatomic, weak) IBOutlet NSPopUpButton *fileTypePopupButton; @property (nonatomic, weak) IBOutlet NSTextField *infoTextField; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index f884bf57..51b79bdc 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -13,7 +13,7 @@ #import "KeePassKit/KeePassKit.h" @interface MPSavePanelAccessoryViewController () -@property (readwrite, assign) KPKDatabaseType selectedVersion; +@property (readwrite, assign) KPKDatabaseFormat selectedVersion; @end @implementation MPSavePanelAccessoryViewController @@ -41,11 +41,11 @@ - (IBAction)setFileType:(id)sender { NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; - if([uti isEqualToString:MPLegacyDocumentUTI]) { - self.selectedVersion = KPKDatabaseTypeBinary; + if([uti isEqualToString:MPKdbDocumentUTI]) { + self.selectedVersion = KPKDatabaseFormatKdb; } - else if([uti isEqualToString:MPXMLDocumentUTI]) { - self.selectedVersion = KPKDatabaseTypeXml; + else if([uti isEqualToString:MPKdbxDocumentUTI]) { + self.selectedVersion = KPKDatabaseFormatKdbx; } NSAssert(uti != nil, @"UTI cannot be nil"); [self _updateNote]; @@ -66,10 +66,10 @@ NSView *view = self.view; NSAssert(view != nil, @"View has to be loaded at this point"); switch(self.document.versionForFileType) { - case KPKDatabaseTypeBinary: + case KPKDatabaseFormatKdb: [self.fileTypePopupButton selectItemAtIndex:1]; break; - case KPKDatabaseTypeXml: + case KPKDatabaseFormatKdbx: [self.fileTypePopupButton selectItemAtIndex:0]; break; default: @@ -82,7 +82,7 @@ - (void)_updateNote { NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; - BOOL showInfoText = (self.document.tree.minimumType == KPKDatabaseTypeXml && [uti isEqualToString:MPLegacyDocumentUTI]); + BOOL showInfoText = (self.document.tree.minimumType == KPKDatabaseFormatKdbx && [uti isEqualToString:MPKdbDocumentUTI]); self.infoTextField.hidden = !showInfoText; } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 64d82ea6..36de2aca 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -76,7 +76,6 @@ typedef NS_ENUM(NSUInteger, MPDoubleClickTitleAction) { /* Password Generation */ APPKIT_EXTERN NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard; -APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordRounds; APPKIT_EXTERN NSString *const kMPSettingsKeyDefaultPasswordLength; APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordCharacterFlags; APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordUseCustomString; @@ -109,4 +108,4 @@ typedef NS_ENUM(NSUInteger, MPPasswordEncoding) { */ + (NSString *)defaultControllerPathForKey:(NSString *)key; -@end \ No newline at end of file +@end diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index 94f42793..b04243ce 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -47,7 +47,6 @@ NSString *const kMPSettingsKeyEnableQuicklookPreview = @"Enable NSString *const kMPSettingsKeyCopyGeneratedPasswordToClipboard = @"CopyGeneratedPasswordToClipboard"; -NSString *const kMPSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; NSString *const kMPSettingsKeyDefaultPasswordLength = @"DefaultPasswordLength"; NSString *const kMPSettingsKeyPasswordCharacterFlags = @"PasswordCharacterFlags"; NSString *const kMPSettingsKeyPasswordUseCustomString = @"PasswordUseCustomString"; @@ -70,6 +69,7 @@ NSString *const kMPDeprecatedSettingsKeyEntrySearchFilterMode = @"En NSString *const kMPDeprecatedSettingsKeyHttpPort = @"HttpPort"; NSString *const kMPDeprecatedSettingsKeyEnableHttpServer = @"EnableHttpServer"; NSString *const kMPDeprecatedSettingsKeyShowMenuItem = @"ShowMenuItem"; +NSString *const kMPDeprecatedSettingsKeyDefaultPasswordRounds = @"KeyDefaultPasswordRounds"; @implementation MPSettingsHelper @@ -118,7 +118,6 @@ NSString *const kMPDeprecatedSettingsKeyShowMenuItem = @"Sh kMPSettingsKeyAutotypeMatchTags: @NO, kMPSettingsKeyEnableQuicklookPreview: @NO, kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO, - kMPSettingsKeyDefaultPasswordRounds: @50000, kMPSettingsKeyDefaultPasswordLength: @12, kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll), kMPSettingsKeyPasswordUseCustomString: @NO, @@ -141,6 +140,7 @@ NSString *const kMPDeprecatedSettingsKeyShowMenuItem = @"Sh kMPDeprecatedSettingsKeyDocumentsAutotypeFixNoteWasShown, kMPDeprecatedSettingsKeyDoubleClickURLToLaunch, kMPDeprecatedSettingsKeyEntrySearchFilterMode, + kMPDeprecatedSettingsKeyDefaultPasswordRounds, /* Moved to KeePassHttp Plugin */ kMPDeprecatedSettingsKeyHttpPort, kMPDeprecatedSettingsKeyEnableHttpServer, diff --git a/MacPassTests/MPDatabaseLoading.m b/MacPassTests/MPDatabaseLoading.m index dea66244..f6cf0d9c 100644 --- a/MacPassTests/MPDatabaseLoading.m +++ b/MacPassTests/MPDatabaseLoading.m @@ -28,7 +28,7 @@ XCTAssertTrue(document.encrypted, @"Loaded but unencrypted should be not decrypted"); XCTAssertTrue([document unlockWithPassword:@"1234" keyFileURL:nil error:&error], @"Should decrypt with password"); XCTAssertNil(error, @"No Error should occur on unlocking with correct password"); - XCTAssertTrue((document.tree.minimumType = KPKDatabaseTypeBinary), @"Minimal Version should not increase with KDB File loaded"); + XCTAssertTrue((document.tree.minimumType = KPKDatabaseFormatKdb), @"Minimal Version should not increase with KDB File loaded"); //STAssertTrue([document.fileType isEqualToString:[MPDocument fileTypeForVersion:KPKLegacyVersion]], @"File type needs to match opened file"); } diff --git a/MacPassTests/MPTestDocument.m b/MacPassTests/MPTestDocument.m index db290108..dfe17265 100644 --- a/MacPassTests/MPTestDocument.m +++ b/MacPassTests/MPTestDocument.m @@ -28,7 +28,7 @@ - (void)testCreateUntitledDocument { MPDocument *document = [[MPDocument alloc] initWithType:@"" error:nil]; XCTAssertNotNil(document, @"Document should be created"); - XCTAssertTrue(document.tree.minimumType == KPKDatabaseTypeBinary, @"Tree should be Legacy Version in default case"); + XCTAssertTrue(document.tree.minimumType == KPKDatabaseFormatKdb, @"Tree should be Legacy Version in default case"); XCTAssertFalse(document.encrypted, @"Document cannot be encrypted at creation"); XCTAssertFalse(document.compositeKey.hasPasswordOrKeyFile, @"Document has no Password/Keyfile and thus is not secured"); From 331236af4d3a78dd5b3805a0098a18a984651d41 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 11 Nov 2016 19:20:48 +0100 Subject: [PATCH 625/778] sketching for new KeyDerivation and Cipher selection --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/MacPass.xcscheme | 2 +- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 307 ++++++++++-------- MacPass/MPDatabaseSettingsWindowController.h | 12 +- MacPass/MPDatabaseSettingsWindowController.m | 58 ++-- MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPPasswordEditWindowController.m | 2 +- MacPass/MPSavePanelAccessoryViewController.m | 2 +- 10 files changed, 209 insertions(+), 182 deletions(-) diff --git a/Cartfile b/Cartfile index 7cbcc8ce..2e749ae4 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "d12bcc5e2e16115db19e26b6aaa29b62d23ce04b" +github "mstarke/KeePassKit" "f4f7c56c2c081ae129f88e6004411ecc8ef9ae0c" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index f3c47535..7b2a37f6 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "d12bcc5e2e16115db19e26b6aaa29b62d23ce04b" +github "mstarke/KeePassKit" "f4f7c56c2c081ae129f88e6004411ecc8ef9ae0c" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index fabacb00..dae6b605 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1495,7 +1495,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0810; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 944c3506..a390e86c 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ - + + - + + + - + @@ -16,16 +18,12 @@ - + - - - - - + @@ -41,7 +39,7 @@ - + @@ -72,7 +70,7 @@ Gw - + @@ -91,24 +89,24 @@ Gw - - + + - - + + - - + + @@ -120,16 +118,16 @@ Gw - - + + - - + + @@ -150,15 +148,13 @@ Gw - + - - @@ -203,126 +199,165 @@ Gw - - + + - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + @@ -558,7 +593,7 @@ Gw - + diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index b6ecb079..dfc8c826 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -29,13 +29,11 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { @property (weak) IBOutlet NSColorWell *databaseColorColorWell; /* Security Tab */ -@property (weak) IBOutlet NSButton *protectTitleCheckButton; -@property (weak) IBOutlet NSButton *protectUserNameCheckButton; -@property (weak) IBOutlet NSButton *protectPasswortCheckButton; -@property (weak) IBOutlet NSButton *protectURLCheckButton; -@property (weak) IBOutlet NSButton *protectNotesCheckButton; -@property (weak) IBOutlet NSTextField *encryptionRoundsTextField; -@property (weak) IBOutlet NSButton *benchmarkButton; +@property (weak) IBOutlet NSTextField *AESEncryptionRoundsTextField; +@property (weak) IBOutlet NSButton *createKeyDerivationParametersButton; +@property (weak) IBOutlet NSPopUpButton *encryptionPopupButton; +@property (weak) IBOutlet NSPopUpButton *keyDerivationPopupButton; + /* Advanced Tab*/ @property (weak) IBOutlet NSButton *enableHistoryCheckButton; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index bd5ae882..c60ba84f 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -46,7 +46,23 @@ NSAssert(self.document != nil, @"Document needs to be present"); self.sectionTabView.delegate = self; - self.encryptionRoundsTextField.formatter = [[MPNumericalInputFormatter alloc] init]; + self.AESEncryptionRoundsTextField.formatter = [[MPNumericalInputFormatter alloc] init]; + + + NSMenu *kdfMenu = [[NSMenu alloc] init]; + NSArray *keyderivations = [KPKKeyDerivation availableKeyDerivations]; + for(KPKKeyDerivation *kd in keyderivations) { + [kdfMenu addItemWithTitle:kd.name action:NULL keyEquivalent:@""]; + kdfMenu.itemArray.lastObject.representedObject = kd.uuid; + } + self.keyDerivationPopupButton.menu = kdfMenu; + NSMenu *cipherMenu = [[NSMenu alloc] init]; + NSArray *ciphers = [KPKCipher availableCiphers]; + for(KPKCipher *cipher in ciphers) { + [cipherMenu addItemWithTitle:cipher.name action:NULL keyEquivalent:@""]; + cipherMenu.itemArray.lastObject.representedObject = cipher.uuid; + } + self.encryptionPopupButton.menu = cipherMenu; } #pragma mark Actions @@ -94,25 +110,9 @@ /* Security */ - metaData.protectNotes = HNHUIBoolForState(self.protectNotesCheckButton.state); - metaData.protectPassword = HNHUIBoolForState(self.protectPasswortCheckButton.state); - metaData.protectTitle = HNHUIBoolForState(self.protectTitleCheckButton.state); - metaData.protectUrl = HNHUIBoolForState(self.protectURLCheckButton.state); - metaData.protectUserName = HNHUIBoolForState(self.protectUserNameCheckButton.state); - metaData.defaultUserName = self.defaultUsernameTextField.stringValue; - - /* - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - [defaults setBool:protectNotes forKey:kMPSettingsKeyLegacyHideNotes]; - [defaults setBool:protectPassword forKey:kMPSettingsKeyLegacyHidePassword]; - [defaults setBool:protectTitle forKey:kMPSettingsKeyLegacyHideTitle]; - [defaults setBool:protectURL forKey:kMPSettingsKeyLegacyHideURL]; - [defaults setBool:protectUsername forKey:kMPSettingsKeyLegacyHideUsername]; - [defaults synchronize]; - */ - metaData.keyDerivationParameters = @{ KPKAESRoundsOption : [[KPKNumber alloc] initWithUnsignedInteger64: MAX(0,self.encryptionRoundsTextField.integerValue)]}; + metaData.keyDerivationParameters = @{ KPKAESRoundsOption : [[KPKNumber alloc] initWithUnsignedInteger64: MAX(0,self.AESEncryptionRoundsTextField.integerValue)]}; /* Register an action to enable promts when user cloeses without saving */ [self.document updateChangeCount:NSChangeDone]; @@ -124,10 +124,10 @@ } - (IBAction)benchmarkRounds:(id)sender { - [self.benchmarkButton setEnabled:NO]; + self.createKeyDerivationParametersButton.enabled = NO; [KPKAESKeyDerivation parametersForDelay:1 completionHandler:^(NSDictionary * _Nonnull options) { - self.encryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value]; - self.benchmarkButton.enabled = YES; + self.AESEncryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value]; + self.createKeyDerivationParametersButton.enabled = YES; }]; } @@ -141,7 +141,7 @@ /* Update all stuff that might have changed */ KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData; [self _setupDatabaseTab:metaData]; - [self _setupProtectionTab:metaData]; + [self _setupSecurityTab:metaData]; [self _setupAdvancedTab:((MPDocument *)self.document).tree]; self.isDirty = NO; } @@ -180,16 +180,10 @@ self.databaseColorColorWell.color = databaseColor; } -- (void)_setupProtectionTab:(KPKMetaData *)metaData { - self.protectNotesCheckButton.state = HNHUIStateForBool(metaData.protectNotes); - self.protectPasswortCheckButton.state = HNHUIStateForBool(metaData.protectPassword); - self.protectTitleCheckButton.state = HNHUIStateForBool(metaData.protectTitle); - self.protectURLCheckButton.state = HNHUIStateForBool(metaData.protectUrl); - self.protectUserNameCheckButton.state = HNHUIStateForBool(metaData.protectUserName); - - [self.encryptionRoundsTextField setIntegerValue:[metaData.keyDerivationParameters[KPKAESRoundsOption] unsignedInteger64Value]]; +- (void)_setupSecurityTab:(KPKMetaData *)metaData { + [self.AESEncryptionRoundsTextField setIntegerValue:[metaData.keyDerivationParameters[KPKAESRoundsOption] unsignedInteger64Value]]; - [self.benchmarkButton setEnabled:YES]; + self.createKeyDerivationParametersButton.enabled = YES; } - (void)_setupAdvancedTab:(KPKTree *)tree { @@ -229,7 +223,7 @@ break; case MPDatabaseSettingsTabSecurity: - [self.window makeFirstResponder:self.protectTitleCheckButton]; + //[self.window makeFirstResponder:self.protectTitleCheckButton]; break; case MPDatabaseSettingsTabGeneral: diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 4626b332..0e093a1a 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -199,7 +199,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSString *fileType = document.fileType; /* we did open as legacy */ if([fileType isEqualToString:MPKdbDocumentUTI]) { - if(document.tree.minimumType != KPKDatabaseFormatKdb) { + if(document.tree.minimumFormat != KPKDatabaseFormatKdb) { NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_LOSSY_SAVE", ""); diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 8d51f27c..9ef4d6fe 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -117,7 +117,7 @@ - (IBAction)generateKey:(id)sender { MPDocument *document = self.document; - NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumType]; + NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumFormat]; if(data) { NSSavePanel *savePanel = [NSSavePanel savePanel]; savePanel.allowedFileTypes = @[@"key", @"xml"]; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index 51b79bdc..cbe8e604 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -82,7 +82,7 @@ - (void)_updateNote { NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; - BOOL showInfoText = (self.document.tree.minimumType == KPKDatabaseFormatKdbx && [uti isEqualToString:MPKdbDocumentUTI]); + BOOL showInfoText = (self.document.tree.minimumFormat == KPKDatabaseFormatKdbx && [uti isEqualToString:MPKdbDocumentUTI]); self.infoTextField.hidden = !showInfoText; } From ba80944c6b05a357b5684972bac5a054e29434fb Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 11 Nov 2016 19:35:19 +0100 Subject: [PATCH 626/778] re-enabled srm for system that still support it --- MacPass/MPTemporaryFileStorage.m | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/MacPass/MPTemporaryFileStorage.m b/MacPass/MPTemporaryFileStorage.m index ae00f539..eb6eb6d6 100644 --- a/MacPass/MPTemporaryFileStorage.m +++ b/MacPass/MPTemporaryFileStorage.m @@ -118,8 +118,22 @@ + (void)_runCleanupForPath:(NSString *)path { NSTask *task = [[NSTask alloc] init]; - [task setLaunchPath:@"/bin/rm"]; - [task setArguments:@[@"-P", path]]; + + NSURL *srmURL = [NSURL fileURLWithPath:@"/usr/bin/srm"]; + NSURL *rmURL = [NSURL fileURLWithPath:@"/bin/rm"]; + + if([srmURL checkResourceIsReachableAndReturnError:nil]) { + task.launchPath = srmURL.path; + task.arguments = @[@"-m", path]; + } + else if([rmURL checkResourceIsReachableAndReturnError:nil]) { + task.launchPath = rmURL.path; + task.arguments= @[@"-P", path]; + } + else { + NSLog(@"Unable to retrieve remove command to whipe temporary file storage!"); + return; + } [task launch]; [task waitUntilExit]; } From 672944b7c5e6230a9eaac1af2f8f300345462a3a Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 14 Nov 2016 19:10:06 +0100 Subject: [PATCH 627/778] Using -Wpartial-availability instead of custom avaiablity header --- MacPass.xcodeproj/project.pbxproj | 4 +- MacPass/MJGAvailability.h | 225 ------------------------------ MacPass/MacPass-Prefix.pch | 2 - 3 files changed, 2 insertions(+), 229 deletions(-) delete mode 100644 MacPass/MJGAvailability.h diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index dae6b605..4a304b72 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -490,7 +490,6 @@ 4C7155E81A10DB7700979307 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/IconSelection.strings; sourceTree = ""; }; 4C7155EA1A10DB7800979307 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/IconSelection.strings; sourceTree = ""; }; 4C7155EC1A10DB7900979307 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/IconSelection.strings; sourceTree = ""; }; - 4C725F3F19EEF4FC00191B01 /* MJGAvailability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MJGAvailability.h; sourceTree = ""; }; 4C76155F1764C0590015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/GeneralSettings.xib; sourceTree = ""; }; 4C7615601764C05A0015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; 4C76156B1764C0C80015A1A6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PasswordInputView.xib; sourceTree = ""; }; @@ -894,7 +893,6 @@ 4C217D8E17A32BCF00609FAA /* Common */ = { isa = PBXGroup; children = ( - 4C725F3F19EEF4FC00191B01 /* MJGAvailability.h */, 4C569D9C17652AC800595B62 /* MPConstants.h */, 4C569D9D17652B0600595B62 /* MPConstants.m */, 4CCEDE2C179F2122008402BE /* MPNotifications.h */, @@ -2241,6 +2239,7 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-lxml2"; SDKROOT = macosx; + WARNING_CFLAGS = "-Wpartial-availability"; }; name = Debug; }; @@ -2277,6 +2276,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = "-lxml2"; SDKROOT = macosx; + WARNING_CFLAGS = "-Wpartial-availability"; }; name = Release; }; diff --git a/MacPass/MJGAvailability.h b/MacPass/MJGAvailability.h deleted file mode 100644 index eb35d97c..00000000 --- a/MacPass/MJGAvailability.h +++ /dev/null @@ -1,225 +0,0 @@ -// -// MJGImageLoader.h -// MJGFoundation -// -// Created by Matt Galloway on 18/01/2012. -// Copyright 2012 Matt Galloway. All rights reserved. -// - -/** - * Example usage: - * If you want to see if you're using methods that are only defined in iOS 4.0 and lower - * then you would use the following. Replace the __IPHONE_4_0 with whatever other macro - * you require. See Availability.h for iOS versions these relate to. - * - * YourProjectPrefixHeader.pch: - * #define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_4_0 - * #import "MJGAvailability.h" - * - * // The rest of your prefix header as normal - * #import - * - * For OSX, you also get the warnings: - * - * YourOSXPrefixHeader.pch - * #define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_10_7 - * #import "MJGAvailability.h" - * - * If you want to suppress a single warning (i.e. because you know that what you're doing is - * actually OK) then you can do something like this: - * - * UINavigationBar *navBar = self.navigationController.navigationBar; - * if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { - * #pragma clang diagnostic push - * #pragma clang diagnostic ignored "-Wdeprecated-declarations" - * [navBar setBackgroundImage:[UIImage imageNamed:@"navbar_bg.png"] forBarMetrics:UIBarMetricsDefault]; - * #pragma clang diagnostic pop - * } - * - * Or you can use the handy macros defined in this file also, like this: - * - * UINavigationBar *navBar = self.navigationController.navigationBar; - * if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { - * MJG_START_IGNORE_TOO_NEW - * [navBar setBackgroundImage:[UIImage imageNamed:@"navbar_bg.png"] forBarMetrics:UIBarMetricsDefault]; - * MJG_END_IGNORE_TOO_NEW - * } - * - */ - -#import - -#define MJG_START_IGNORE_TOO_NEW _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") -#define MJG_END_IGNORE_TOO_NEW _Pragma("clang diagnostic pop") - -#define __AVAILABILITY_TOO_NEW __attribute__((deprecated("TOO NEW!"))) __attribute__((weak_import)) - -#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) - -#ifndef __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED -#define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_OS_VERSION_MIN_REQUIRED -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_OS_VERSION_MIN_REQUIRED - #error You cannot ask for a soft max version which is less than the deployment target -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_2_0 - #define __AVAILABILITY_INTERNAL__IPHONE_2_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_2_1 - #define __AVAILABILITY_INTERNAL__IPHONE_2_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_2_2 - #undef __AVAILABILITY_INTERNAL__IPHONE_2_2 - #define __AVAILABILITY_INTERNAL__IPHONE_2_2 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_3_0 - #define __AVAILABILITY_INTERNAL__IPHONE_3_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_3_1 - #define __AVAILABILITY_INTERNAL__IPHONE_3_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_3_2 - #undef __AVAILABILITY_INTERNAL__IPHONE_3_2 - #define __AVAILABILITY_INTERNAL__IPHONE_3_2 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_4_0 - #define __AVAILABILITY_INTERNAL__IPHONE_4_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_4_1 - #define __AVAILABILITY_INTERNAL__IPHONE_4_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_2 - #undef __AVAILABILITY_INTERNAL__IPHONE_4_2 - #define __AVAILABILITY_INTERNAL__IPHONE_4_2 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_4_3 - #undef __AVAILABILITY_INTERNAL__IPHONE_4_3 - #define __AVAILABILITY_INTERNAL__IPHONE_4_3 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_5_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_5_0 - #define __AVAILABILITY_INTERNAL__IPHONE_5_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_5_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_5_1 - #define __AVAILABILITY_INTERNAL__IPHONE_5_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_6_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_6_0 - #define __AVAILABILITY_INTERNAL__IPHONE_6_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_6_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_6_1 - #define __AVAILABILITY_INTERNAL__IPHONE_6_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_7_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_7_0 - #define __AVAILABILITY_INTERNAL__IPHONE_7_0 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_7_1 - #undef __AVAILABILITY_INTERNAL__IPHONE_7_1 - #define __AVAILABILITY_INTERNAL__IPHONE_7_1 __AVAILABILITY_TOO_NEW -#endif - -#if __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED < __IPHONE_8_0 - #undef __AVAILABILITY_INTERNAL__IPHONE_8_0 - #define __AVAILABILITY_INTERNAL__IPHONE_8_0 __AVAILABILITY_TOO_NEW -#endif - -#endif // end of #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) - -#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) - -#ifndef __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED -#define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_OS_X_VERSION_MIN_REQUIRED -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_OS_X_VERSION_MIN_REQUIRED -#error You cannot ask for a soft max version which is less than the deployment target -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_0 -#undef __AVAILABILITY_INTERNAL__MAC_10_0 -#define __AVAILABILITY_INTERNAL__MAC_10_0 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_1 -#undef __AVAILABILITY_INTERNAL__MAC_10_1 -#define __AVAILABILITY_INTERNAL__MAC_10_1 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_2 -#undef __AVAILABILITY_INTERNAL__MAC_10_2 -#define __AVAILABILITY_INTERNAL__MAC_10_2 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_3 -#undef __AVAILABILITY_INTERNAL__MAC_10_3 -#define __AVAILABILITY_INTERNAL__MAC_10_3 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_4 -#undef __AVAILABILITY_INTERNAL__MAC_10_4 -#define __AVAILABILITY_INTERNAL__MAC_10_4 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_5 -#undef __AVAILABILITY_INTERNAL__MAC_10_5 -#define __AVAILABILITY_INTERNAL__MAC_10_5 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_6 -#undef __AVAILABILITY_INTERNAL__MAC_10_6 -#define __AVAILABILITY_INTERNAL__MAC_10_6 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_7 -#undef __AVAILABILITY_INTERNAL__MAC_10_7 -#define __AVAILABILITY_INTERNAL__MAC_10_7 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_8 -#undef __AVAILABILITY_INTERNAL__MAC_10_8 -#define __AVAILABILITY_INTERNAL__MAC_10_8 __AVAILABILITY_TOO_NEW -#endif - -#if __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED < __MAC_10_9 -#undef __AVAILABILITY_INTERNAL__MAC_10_9 -#define __AVAILABILITY_INTERNAL__MAC_10_9 __AVAILABILITY_TOO_NEW -#endif - -#endif // end of #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) - -#if (defined(__IPHONE_7_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0) || (defined(__MAC_10_9) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_9) -#include -#undef CF_AVAILABLE -#define CF_AVAILABLE(_mac, _ios) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_##_ios) -#undef CF_AVAILABLE_MAC -#define CF_AVAILABLE_MAC(_mac) __OSX_AVAILABLE_STARTING(__MAC_##_mac, __IPHONE_NA) -#undef CF_AVAILABLE_IOS -#define CF_AVAILABLE_IOS(_ios) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_##_ios) -#endif // if iOS SDK >= 7.0 || OSX SDK >= 10.9 - diff --git a/MacPass/MacPass-Prefix.pch b/MacPass/MacPass-Prefix.pch index b6f3d873..ef5ac8ee 100644 --- a/MacPass/MacPass-Prefix.pch +++ b/MacPass/MacPass-Prefix.pch @@ -3,7 +3,5 @@ // #ifdef __OBJC__ - #define __MAC_OS_X_VERSION_SOFT_MAX_REQUIRED __MAC_10_9 - #import "MJGAvailability.h" #import #endif From 7e86984efae892642f4dc88cb14ddff7809bdec9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 15 Nov 2016 18:43:30 +0100 Subject: [PATCH 628/778] key derication and encryopt algorithms are populated. Save not working --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 223 +++++++++++------- MacPass/DocumentWindow.xib | 10 +- MacPass/MPDatabaseSettingsWindowController.h | 8 +- MacPass/MPDatabaseSettingsWindowController.m | 51 +++- 6 files changed, 200 insertions(+), 96 deletions(-) diff --git a/Cartfile b/Cartfile index 2e749ae4..0da8ceef 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "f4f7c56c2c081ae129f88e6004411ecc8ef9ae0c" +github "mstarke/KeePassKit" "32d3bdeb224b5718424b46a5b80c3a66114f6a9b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 7b2a37f6..4d18d2d5 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "f4f7c56c2c081ae129f88e6004411ecc8ef9ae0c" +github "mstarke/KeePassKit" "32d3bdeb224b5718424b46a5b80c3a66114f6a9b" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/Base.lproj/DatabaseSettingsWindow.xib b/MacPass/Base.lproj/DatabaseSettingsWindow.xib index a21239b8..45b6344d 100644 --- a/MacPass/Base.lproj/DatabaseSettingsWindow.xib +++ b/MacPass/Base.lproj/DatabaseSettingsWindow.xib @@ -9,6 +9,10 @@ + + + + @@ -24,6 +28,7 @@ + @@ -37,14 +42,14 @@ - + - + - + - + - + @@ -90,7 +95,7 @@ Gw - + @@ -98,7 +103,7 @@ Gw - + @@ -106,7 +111,7 @@ Gw - + @@ -119,7 +124,7 @@ Gw - + @@ -127,7 +132,7 @@ Gw - + @@ -135,7 +140,7 @@ Gw - + @@ -143,7 +148,7 @@ Gw - + @@ -200,11 +205,11 @@ Gw - + - + @@ -212,7 +217,7 @@ Gw - + @@ -220,13 +225,13 @@ Gw - + - + - + @@ -234,7 +239,7 @@ Gw - + @@ -242,32 +247,114 @@ Gw - - + + - + + + + + + + + + - + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -275,60 +362,27 @@ Gw - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -336,9 +390,10 @@ Gw + - - + + @@ -363,7 +418,7 @@ Gw - + - + @@ -205,11 +210,11 @@ Gw - + - + @@ -217,7 +222,7 @@ Gw - + @@ -225,13 +230,13 @@ Gw - + - + - + @@ -239,7 +244,7 @@ Gw - + @@ -254,7 +259,7 @@ Gw - + @@ -346,7 +351,9 @@ Gw - + + + diff --git a/MacPass/MPDatabaseSettingsWindowController.h b/MacPass/MPDatabaseSettingsWindowController.h index c35a1679..b27d0f95 100644 --- a/MacPass/MPDatabaseSettingsWindowController.h +++ b/MacPass/MPDatabaseSettingsWindowController.h @@ -30,16 +30,16 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) { /* Security Tab */ @property (weak) IBOutlet NSButton *createKeyDerivationParametersButton; -@property (weak) IBOutlet NSPopUpButton *encryptionPopupButton; +@property (weak) IBOutlet NSPopUpButton *cipherPopupButton; @property (weak) IBOutlet NSPopUpButton *keyDerivationPopupButton; @property (weak) IBOutlet NSTabView *keyDerivationSettingsTabView; /* AES */ -@property (weak) IBOutlet NSTextField *AESEncryptionRoundsTextField; +@property (weak) IBOutlet NSTextField *aesEncryptionRoundsTextField; /* Argon2 */ -@property (weak) IBOutlet NSTextField *Argon2ThreadsTextField; -@property (weak) IBOutlet NSTextField *Argon2IterationsTextField; -@property (weak) IBOutlet NSTextField *Argon2MemoryTextField; +@property (weak) IBOutlet NSTextField *argon2ThreadsTextField; +@property (weak) IBOutlet NSTextField *argon2IterationsTextField; +@property (weak) IBOutlet NSTextField *argon2MemoryTextField; /* Advanced Tab*/ @property (weak) IBOutlet NSButton *enableHistoryCheckButton; diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 7cab942c..86347efb 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -45,7 +45,7 @@ NSAssert(self.document != nil, @"Document needs to be present"); self.sectionTabView.delegate = self; - self.AESEncryptionRoundsTextField.formatter = [[MPNumericalInputFormatter alloc] init]; + self.aesEncryptionRoundsTextField.formatter = [[MPNumericalInputFormatter alloc] init]; NSMenu *kdfMenu = [[NSMenu alloc] init]; NSArray *keyderivations = [KPKKeyDerivation availableKeyDerivations]; @@ -63,7 +63,7 @@ [cipherMenu addItemWithTitle:cipher.name action:NULL keyEquivalent:@""]; cipherMenu.itemArray.lastObject.representedObject = cipher.uuid; } - self.encryptionPopupButton.menu = cipherMenu; + self.cipherPopupButton.menu = cipherMenu; self.keyDerivationSettingsTabView.tabViewItems[0].identifier = [KPKAESKeyDerivation uuid]; self.keyDerivationSettingsTabView.tabViewItems[1].identifier = [KPKArgon2KeyDerivation uuid]; } @@ -116,14 +116,28 @@ metaData.masterKeyChangeEnforcementInterval = enforceMasterKeyChange ? enfoceInterval : -1; metaData.masterKeyChangeRecommendationInterval = recommendMasterKeyChange ? recommendInterval : -1; - /* Security */ - metaData.defaultUserName = self.defaultUsernameTextField.stringValue; - - /* fixme! */ - metaData.keyDerivationParameters = @{ KPKAESRoundsOption : [[KPKNumber alloc] initWithUnsignedInteger64: MAX(0,self.AESEncryptionRoundsTextField.integerValue)]}; - /* Register an action to enable promts when user cloeses without saving */ + /* Security */ + metaData.cipherUUID = self.cipherPopupButton.selectedItem.representedObject; + + KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]]; + KPKArgon2KeyDerivation *argon2Kdf = [[KPKArgon2KeyDerivation alloc] initWithParameters:[KPKArgon2KeyDerivation defaultParameters]]; + + NSUUID *selectedKdfUUID = self.keyDerivationSettingsTabView.selectedTabViewItem.identifier; + + if([selectedKdfUUID isEqual:aesKdf.uuid]) { + //aesKdf.rounds = self.aesEncryptionRoundsTextField.integerValue; + metaData.keyDerivationParameters = aesKdf.parameters; + } + else if([selectedKdfUUID isEqual:argon2Kdf.uuid]) { + //argon2Kdf.iterations = self.argon2IterationsTextField.integerValue; + //argon2Kdf.memory = self.argon2MemoryTextField.integerValue; + //argon2Kdf.threads = self.argon2ThreadsTextField.integerValue; + metaData.keyDerivationParameters = argon2Kdf.parameters; + } + + /* Changes to metadata aren't backed by undomanager, thus we need to manually set the document dirty */ [self.document updateChangeCount:NSChangeDone]; [self close:nil]; } @@ -135,7 +149,7 @@ - (IBAction)benchmarkRounds:(id)sender { self.createKeyDerivationParametersButton.enabled = NO; [KPKAESKeyDerivation parametersForDelay:1 completionHandler:^(NSDictionary * _Nonnull options) { - self.AESEncryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value]; + self.aesEncryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value]; self.createKeyDerivationParametersButton.enabled = YES; }]; } @@ -190,41 +204,42 @@ } - (void)_setupSecurityTab:(KPKMetaData *)metaData { - /* Tab 0 AES Tab 1 Argon2 */ + /* + If kdf or cipher is not found, exceptions are thrown. + This should not happen since we should not be able to load a file with unkonw cipher/kdf + */ KPKKeyDerivation *keyDerivation = [KPKKeyDerivation keyDerivationWithParameters:metaData.keyDerivationParameters]; - NSUInteger kdfIndex = [self.keyDerivationPopupButton.menu indexOfItemWithRepresentedObject:keyDerivation.uuid]; [self.keyDerivationPopupButton selectItemAtIndex:kdfIndex]; + [self.keyDerivationSettingsTabView selectTabViewItemWithIdentifier:keyDerivation.uuid]; if([keyDerivation isKindOfClass:[KPKAESKeyDerivation class]]) { - [self.keyDerivationSettingsTabView selectTabViewItemAtIndex:0]; - KPKAESKeyDerivation *aesKDF = (KPKAESKeyDerivation *)keyDerivation; - self.AESEncryptionRoundsTextField.integerValue = aesKDF.rounds; + KPKAESKeyDerivation *aesKdf = (KPKAESKeyDerivation *)keyDerivation; + self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds; self.createKeyDerivationParametersButton.enabled = YES; - /* fill defautls for Argon2 */ + /* fill defaults for Argon2 */ KPKArgon2KeyDerivation *argon2Kdf = [[KPKArgon2KeyDerivation alloc] initWithParameters:[KPKArgon2KeyDerivation defaultParameters]]; - self.Argon2IterationsTextField.integerValue = argon2Kdf.iterations; - self.Argon2MemoryTextField.integerValue = argon2Kdf.memory; - self.Argon2ThreadsTextField.integerValue = argon2Kdf.threads; + self.argon2IterationsTextField.integerValue = argon2Kdf.iterations; + self.argon2MemoryTextField.integerValue = argon2Kdf.memory; + self.argon2ThreadsTextField.integerValue = argon2Kdf.threads; } else if([keyDerivation isKindOfClass:[KPKArgon2KeyDerivation class]]) { - [self.keyDerivationSettingsTabView selectTabViewItemAtIndex:1]; - KPKArgon2KeyDerivation *argon2KDF = (KPKArgon2KeyDerivation *)keyDerivation; - self.Argon2MemoryTextField.integerValue = argon2KDF.memory; - self.Argon2ThreadsTextField.integerValue = argon2KDF.threads; - self.Argon2IterationsTextField.integerValue = argon2KDF.iterations; + KPKArgon2KeyDerivation *argon2Kdf = (KPKArgon2KeyDerivation *)keyDerivation; + self.argon2MemoryTextField.integerValue = argon2Kdf.memory; + self.argon2ThreadsTextField.integerValue = argon2Kdf.threads; + self.argon2IterationsTextField.integerValue = argon2Kdf.iterations; /* fill defaults for AES */ KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]]; - self.AESEncryptionRoundsTextField.integerValue = aesKdf.rounds; + self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds; } else { - + NSAssert(NO, @"Unkown key derivation"); } - NSUInteger cipherIndex = [self.encryptionPopupButton.menu indexOfItemWithRepresentedObject:metaData.cipherUUID]; - [self.encryptionPopupButton selectItemAtIndex:cipherIndex]; + NSUInteger cipherIndex = [self.cipherPopupButton.menu indexOfItemWithRepresentedObject:metaData.cipherUUID]; + [self.cipherPopupButton selectItemAtIndex:cipherIndex]; } - (void)_setupAdvancedTab:(KPKTree *)tree { From c35105ae001d36da4e832e549310d7d46f63b36d Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 17 Nov 2016 11:10:52 +0100 Subject: [PATCH 630/778] saving changes settings for key derivation --- Cartfile.resolved | 2 +- MacPass/MPDatabaseSettingsWindowController.m | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index 4d18d2d5..f0395196 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "32d3bdeb224b5718424b46a5b80c3a66114f6a9b" +github "mstarke/KeePassKit" "aedf5d2c119a710b9e1a1e4323fe43fc6cc542cd" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 86347efb..4a219a00 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -127,13 +127,13 @@ NSUUID *selectedKdfUUID = self.keyDerivationSettingsTabView.selectedTabViewItem.identifier; if([selectedKdfUUID isEqual:aesKdf.uuid]) { - //aesKdf.rounds = self.aesEncryptionRoundsTextField.integerValue; + aesKdf.rounds = self.aesEncryptionRoundsTextField.integerValue; metaData.keyDerivationParameters = aesKdf.parameters; } else if([selectedKdfUUID isEqual:argon2Kdf.uuid]) { - //argon2Kdf.iterations = self.argon2IterationsTextField.integerValue; - //argon2Kdf.memory = self.argon2MemoryTextField.integerValue; - //argon2Kdf.threads = self.argon2ThreadsTextField.integerValue; + argon2Kdf.iterations = self.argon2IterationsTextField.integerValue; + argon2Kdf.memory = self.argon2MemoryTextField.integerValue; + argon2Kdf.threads = self.argon2ThreadsTextField.intValue; metaData.keyDerivationParameters = argon2Kdf.parameters; } From acb51602cddc924f3d208cf164e86c56e2fc368b Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 17 Nov 2016 11:12:57 +0100 Subject: [PATCH 631/778] fixed #513 change warning dialog hangs on revert. --- MacPass/MPDocument.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 999803cf..f6c38e8c 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -266,7 +266,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou - (void)presentedItemDidChange { [super presentedItemDidChange]; - /* If we are locked we have the data written back to file - just revert */ if(self.encrypted) { [self revertDocumentToSaved:nil]; @@ -298,7 +297,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou self.fileChangeDialogOpen = NO; if(returnCode == NSAlertSecondButtonReturn) { - [self revertDocumentToSaved:nil]; + [self revertToContentsOfURL:self.fileURL ofType:self.fileType error:nil]; } }]; }); From 69a06224cb52eaf26c94f9f8cc49309d86998831 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 17 Nov 2016 11:16:56 +0100 Subject: [PATCH 632/778] fixes possible reace condition bug still resulting in multiple warnings --- MacPass/MPDocument.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 2c62aaf0..1a01edb2 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -279,12 +279,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou if(self.fileChangeDialogOpen) { return; // We are already displaying an alert } + /* Set the flag in this call! */ + self.fileChangeDialogOpen = YES; /* Dispatch the alert to the main queue */ dispatch_async(dispatch_get_main_queue(), ^{ - self.fileChangeDialogOpen = YES; - NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_MESSAGE_TEXT", @"Message displayed when an open file was changed from another application"); From 66aa2aab793de5ab9245349d6f445924345d9c7f Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 17 Nov 2016 18:14:13 +0100 Subject: [PATCH 633/778] removed refactoring artifacts in xib --- MacPass/Base.lproj/DatabaseSettingsWindow.xib | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/MacPass/Base.lproj/DatabaseSettingsWindow.xib b/MacPass/Base.lproj/DatabaseSettingsWindow.xib index 193a5f0a..557cb899 100644 --- a/MacPass/Base.lproj/DatabaseSettingsWindow.xib +++ b/MacPass/Base.lproj/DatabaseSettingsWindow.xib @@ -9,7 +9,6 @@ - @@ -27,7 +26,6 @@ - @@ -48,7 +46,7 @@ - + @@ -80,7 +78,7 @@ Gw - + @@ -210,11 +208,11 @@ Gw - + - + @@ -222,7 +220,7 @@ Gw - + @@ -230,13 +228,13 @@ Gw - + - + - + @@ -244,7 +242,7 @@ Gw - + @@ -259,7 +257,7 @@ Gw - + From e9563f3f67963e99a2fbe9f70c04e611a4fe9b64 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 2 Dec 2016 15:43:24 +0100 Subject: [PATCH 634/778] adoptin new KeePassKit API --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/KPKFormat+MPUTIDetection.m | 4 ++-- MacPass/MPDocument.h | 2 +- MacPass/MPDocument.m | 6 +++--- MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPPasswordEditWindowController.m | 2 +- MacPass/MPSavePanelAccessoryViewController.m | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cartfile b/Cartfile index 3dd70d0e..97f2c184 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "aedf5d2c119a710b9e1a1e4323fe43fc6cc542cd" +github "mstarke/KeePassKit" "ea4d8cd82bc388787d66866e578645693971d453" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index f0395196..9f1819fe 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "aedf5d2c119a710b9e1a1e4323fe43fc6cc542cd" +github "mstarke/KeePassKit" "ea4d8cd82bc388787d66866e578645693971d453" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/KPKFormat+MPUTIDetection.m b/MacPass/KPKFormat+MPUTIDetection.m index 835d0003..c64a19bb 100644 --- a/MacPass/KPKFormat+MPUTIDetection.m +++ b/MacPass/KPKFormat+MPUTIDetection.m @@ -25,8 +25,8 @@ } - (NSString *)typeForData:(NSData *)data { - KPKFileInfo fileInfo = [self fileInfoForData:data]; - return [self _typeToUTIdictionary][@(fileInfo.format)]; + KPKFileVersion fileVersion = [self fileVersionForData:data]; + return [self _typeToUTIdictionary][@(fileVersion.format)]; } - (NSString *)typeForContentOfURL:(NSURL *)url { diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index f7f04373..a544445c 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -78,7 +78,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, strong, readonly) KPKCompositeKey *compositeKey; @property (assign, readonly, getter = isReadOnly) BOOL readOnly; -@property (nonatomic, readonly, assign) KPKDatabaseFormat versionForFileType; +@property (nonatomic, readonly, assign) KPKDatabaseFormat formatForFileType; /* State (active group/entry) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 1a01edb2..a89c8658 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -89,7 +89,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return [NSSet setWithObject:NSStringFromSelector(@selector(tree))]; } -+ (KPKDatabaseFormat)versionForFileType:(NSString *)fileType { ++ (KPKDatabaseFormat)formatForFileType:(NSString *)fileType { if( NSOrderedSame == [fileType compare:MPKdbDocumentUTI options:NSCaseInsensitiveSearch]) { return KPKDatabaseFormatKdb; } @@ -408,8 +408,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } #pragma mark Properties -- (KPKDatabaseFormat)versionForFileType { - return [[self class] versionForFileType:self.fileType]; +- (KPKDatabaseFormat)formatForFileType { + return [self.class versionForFileType:self.fileType]; } - (BOOL)encrypted { diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 0e093a1a..a1208002 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -199,7 +199,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSString *fileType = document.fileType; /* we did open as legacy */ if([fileType isEqualToString:MPKdbDocumentUTI]) { - if(document.tree.minimumFormat != KPKDatabaseFormatKdb) { + if(document.tree.minimumVersion.format != KPKDatabaseFormatKdb) { NSAlert *alert = [[NSAlert alloc] init]; alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"WARNING_ON_LOSSY_SAVE", ""); diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 9ef4d6fe..333f687d 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -117,7 +117,7 @@ - (IBAction)generateKey:(id)sender { MPDocument *document = self.document; - NSData *data = [NSData generateKeyfiledataForVersion:document.tree.minimumFormat]; + NSData *data = [NSData generateKeyfiledataForFormat:document.tree.minimumVersion.format]; if(data) { NSSavePanel *savePanel = [NSSavePanel savePanel]; savePanel.allowedFileTypes = @[@"key", @"xml"]; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index cbe8e604..2b4ed000 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -65,7 +65,7 @@ */ NSView *view = self.view; NSAssert(view != nil, @"View has to be loaded at this point"); - switch(self.document.versionForFileType) { + switch(self.document.formatForFileType) { case KPKDatabaseFormatKdb: [self.fileTypePopupButton selectItemAtIndex:1]; break; @@ -82,7 +82,7 @@ - (void)_updateNote { NSString *uti = self.fileTypePopupButton.selectedItem.representedObject; - BOOL showInfoText = (self.document.tree.minimumFormat == KPKDatabaseFormatKdbx && [uti isEqualToString:MPKdbDocumentUTI]); + BOOL showInfoText = (self.document.tree.minimumVersion.format == KPKDatabaseFormatKdbx && [uti isEqualToString:MPKdbDocumentUTI]); self.infoTextField.hidden = !showInfoText; } From 08d11f1213b2afb2ef94c95f783436a726fdd67f Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 9 Dec 2016 10:43:53 +0100 Subject: [PATCH 635/778] updated to new prefixed KeePassKit API. Fixed tests --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPAutotypeContext.m | 4 ++-- MacPass/MPEntryViewController.m | 8 ++++---- MacPass/MPOutlineViewController.m | 2 +- MacPass/MPPasswordEditWindowController.m | 6 +++--- MacPass/NSString+MPPasswordCreation.m | 2 +- MacPassTests/MPDatabaseLoading.m | 4 ++-- MacPassTests/MPTestDocument.m | 3 ++- 9 files changed, 17 insertions(+), 16 deletions(-) diff --git a/Cartfile b/Cartfile index 97f2c184..641cde94 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.13.1 -github "mstarke/KeePassKit" "ea4d8cd82bc388787d66866e578645693971d453" +github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 9f1819fe..0962c715 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "ea4d8cd82bc388787d66866e578645693971d453" +github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" github "sparkle-project/Sparkle" "1.14.0" diff --git a/MacPass/MPAutotypeContext.m b/MacPass/MPAutotypeContext.m index 3f1976fd..866ea06f 100644 --- a/MacPass/MPAutotypeContext.m +++ b/MacPass/MPAutotypeContext.m @@ -33,7 +33,7 @@ if(self) { _command = [sequence copy]; _entry = entry; - _normalizedCommand = sequence.normalizedAutotypeSequence; + _normalizedCommand = sequence.kpk_normalizedAutotypeSequence; } return self; } @@ -50,7 +50,7 @@ - (NSString *)evaluatedCommand { if(!_evaluatedCommand) { - _evaluatedCommand = [[self.normalizedCommand finalValueForEntry:self.entry] copy]; + _evaluatedCommand = [[self.normalizedCommand kpk_finalValueForEntry:self.entry] copy]; } return _evaluatedCommand; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index c626601b..b989c0a6 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -632,7 +632,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSArray *nodes = [self currentTargetNodes]; KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil; if(selectedEntry) { - [self _copyToPasteboard:[selectedEntry.password finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoPassword name:nil]; + [self _copyToPasteboard:[selectedEntry.password kpk_finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoPassword name:nil]; } } @@ -640,7 +640,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSArray *nodes = [self currentTargetNodes]; KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil; if(selectedEntry) { - [self _copyToPasteboard:[selectedEntry.username finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoUsername name:nil]; + [self _copyToPasteboard:[selectedEntry.username kpk_finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoUsername name:nil]; } } @@ -659,14 +659,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSArray *nodes = [self currentTargetNodes]; KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil; if(selectedEntry) { - [self _copyToPasteboard:[selectedEntry.url finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoURL name:nil]; + [self _copyToPasteboard:[selectedEntry.url kpk_finalValueForEntry:selectedEntry] overlayInfo:MPOverlayInfoURL name:nil]; } } - (void)openURL:(id)sender { NSArray *nodes = [self currentTargetNodes]; KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil; - NSString *expandedURL = [selectedEntry.url finalValueForEntry:selectedEntry]; + NSString *expandedURL = [selectedEntry.url kpk_finalValueForEntry:selectedEntry]; if(expandedURL.length > 0) { NSURL *webURL = [NSURL URLWithString:[expandedURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSString *scheme = [webURL scheme]; diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 7c02242e..65d40402 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -277,7 +277,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)outlineViewSelectionDidChange:(NSNotification *)notification { MPDocument *document = self.windowController.document; NSArray *groups = [self currentTargetGroups]; - document.tree.metaData.lastSelectedGroup = (groups.count == 1 ? groups.firstObject.uuid : [NSUUID nullUUID]); + document.tree.metaData.lastSelectedGroup = (groups.count == 1 ? groups.firstObject.uuid : [NSUUID kpk_nullUUID]); document.selectedGroups = groups; } diff --git a/MacPass/MPPasswordEditWindowController.m b/MacPass/MPPasswordEditWindowController.m index 333f687d..8829254d 100644 --- a/MacPass/MPPasswordEditWindowController.m +++ b/MacPass/MPPasswordEditWindowController.m @@ -117,7 +117,7 @@ - (IBAction)generateKey:(id)sender { MPDocument *document = self.document; - NSData *data = [NSData generateKeyfiledataForFormat:document.tree.minimumVersion.format]; + NSData *data = [NSData kpk_generateKeyfiledataForFormat:document.tree.minimumVersion.format]; if(data) { NSSavePanel *savePanel = [NSSavePanel savePanel]; savePanel.allowedFileTypes = @[@"key", @"xml"]; @@ -149,9 +149,9 @@ if(hasKey) { keyOk = [self.keyURL checkResourceIsReachableAndReturnError:nil]; } - BOOL hasPassword = ![NSString isEmptyString:password]; + BOOL hasPassword = password.kpk_isNotEmpty; if(!self.showPassword) { - hasPassword |= ![NSString isEmptyString:repeat]; + hasPassword |= repeat.kpk_isNotEmpty; } BOOL passwordOk = YES; if(hasPassword ) { diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index ad09ebfc..38f1375a 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -98,7 +98,7 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust if([self length] == 0) { return nil; } - NSData *data = [NSData dataWithRandomBytes:sizeof(NSUInteger)]; + NSData *data = [NSData kpk_dataWithRandomBytes:sizeof(NSUInteger)]; NSUInteger randomIndex; [data getBytes:&randomIndex length:data.length]; return [self substringWithRange:NSMakeRange(randomIndex % self.length, 1)]; diff --git a/MacPassTests/MPDatabaseLoading.m b/MacPassTests/MPDatabaseLoading.m index f6cf0d9c..65d4c9ee 100644 --- a/MacPassTests/MPDatabaseLoading.m +++ b/MacPassTests/MPDatabaseLoading.m @@ -28,8 +28,8 @@ XCTAssertTrue(document.encrypted, @"Loaded but unencrypted should be not decrypted"); XCTAssertTrue([document unlockWithPassword:@"1234" keyFileURL:nil error:&error], @"Should decrypt with password"); XCTAssertNil(error, @"No Error should occur on unlocking with correct password"); - XCTAssertTrue((document.tree.minimumType = KPKDatabaseFormatKdb), @"Minimal Version should not increase with KDB File loaded"); - //STAssertTrue([document.fileType isEqualToString:[MPDocument fileTypeForVersion:KPKLegacyVersion]], @"File type needs to match opened file"); + KPKFileVersion kdb = { KPKDatabaseFormatKdb, kKPKKdbFileVersion }; + XCTAssertEqual(NSOrderedSame, KPKFileVersionCompare(kdb, document.tree.minimumVersion), @"Minimal Version should not increase with KDB File loaded"); } - (void)testVersion1WrongPassword { diff --git a/MacPassTests/MPTestDocument.m b/MacPassTests/MPTestDocument.m index dfe17265..3e7227c6 100644 --- a/MacPassTests/MPTestDocument.m +++ b/MacPassTests/MPTestDocument.m @@ -28,7 +28,8 @@ - (void)testCreateUntitledDocument { MPDocument *document = [[MPDocument alloc] initWithType:@"" error:nil]; XCTAssertNotNil(document, @"Document should be created"); - XCTAssertTrue(document.tree.minimumType == KPKDatabaseFormatKdb, @"Tree should be Legacy Version in default case"); + KPKFileVersion kdb = { KPKDatabaseFormatKdb, kKPKKdbFileVersion }; + XCTAssertEqual(NSOrderedSame, KPKFileVersionCompare(kdb, document.tree.minimumVersion), @"Tree should be Legacy Version in default case"); XCTAssertFalse(document.encrypted, @"Document cannot be encrypted at creation"); XCTAssertFalse(document.compositeKey.hasPasswordOrKeyFile, @"Document has no Password/Keyfile and thus is not secured"); From 6ced97a64222654851ac569194c78eeb1dcdb91d Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 09:42:40 +0100 Subject: [PATCH 636/778] fixed #523 refactoring regression --- MacPass/MPDocument.h | 2 +- MacPass/MPDocument.m | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index a544445c..4a8d8255 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -96,7 +96,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong, readonly) NSArray *searchResult; -+ (KPKDatabaseFormat)versionForFileType:(NSString *)fileType; ++ (KPKDatabaseFormat)formatForFileType:(NSString *)fileType; + (NSString *)fileTypeForVersion:(KPKDatabaseFormat)format; #pragma mark Lock/Decrypt diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index a89c8658..c95f40e9 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -182,7 +182,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return nil; // Saving without a password/key is not possible } NSString *fileType = self.fileTypeFromLastRunSavePanel; - KPKDatabaseFormat format = [self.class versionForFileType:fileType]; + KPKDatabaseFormat format = [self.class formatForFileType:fileType]; if(format == KPKDatabaseFormatUnknown) { if(outError != NULL) { NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: NSLocalizedString(@"UNKNOWN_FILE_VERSION", "") }; @@ -409,7 +409,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou #pragma mark Properties - (KPKDatabaseFormat)formatForFileType { - return [self.class versionForFileType:self.fileType]; + return [self.class formatForFileType:self.fileType]; } - (BOOL)encrypted { From 76cff394ac10c3340ee07723a8b4fede469506a3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 11:06:47 +0100 Subject: [PATCH 637/778] using 10.9 compatible API --- MacPass/NSString+MPPasswordCreation.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 38f1375a..f9b5eb3f 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -39,7 +39,7 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust [customCharacters enumerateSubstringsInRange: NSMakeRange(0, customCharacters.length) options: NSStringEnumerationByComposedCharacterSequences usingBlock: ^(NSString *inSubstring, NSRange inSubstringRange, NSRange inEnclosingRange, BOOL *outStop) { - if(![mergedCharacters containsString:inSubstring]){ + if(0 == [mergedCharacters rangeOfString:inSubstring].length){ [mergedCharacters appendString:inSubstring]; } }]; From 498ab93f3a8d4e7ddcf200f1048171eec2d06f50 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 11:31:06 +0100 Subject: [PATCH 638/778] added missing contrains to silence 10.12 AppKit warnings --- MacPass/Base.lproj/EntryInspectorView.xib | 21 ++++++++++----------- MacPass/MPEntryInspectorViewController.m | 5 +++++ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index e6645f26..85c5b099 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,9 @@ - - + + - + + @@ -95,10 +96,10 @@ - + - + @@ -215,7 +216,6 @@ - @@ -275,10 +275,10 @@ - + - + @@ -399,7 +399,6 @@ - @@ -743,7 +742,7 @@ - + @@ -768,6 +767,7 @@ + @@ -784,7 +784,6 @@ - diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 960101cf..a550ef07 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -350,6 +350,11 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:0 metrics:nil views:views]]; + [clipView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view]" + options:0 + metrics:nil + views:views]]; + [[self view] layoutSubtreeIfNeeded]; } From d5f6317cca540a9995223e2014bf90eee49c26ee Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 11:31:30 +0100 Subject: [PATCH 639/778] keyfile storage now gets updated if the keyfile is removed --- MacPass/MPDocument.m | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index c95f40e9..af0786f4 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -361,11 +361,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou self.encryptedData = nil; self.unlockCount += 1; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidUnlockDatabaseNotification object:self]; - /* Make sure to only store */ - MPAppDelegate *delegate = (MPAppDelegate *)[NSApp delegate]; - if(self.compositeKey.hasKeyFile && self.compositeKey.hasPassword && delegate.isAllowedToStoreKeyFile) { - [self _storeKeyURL:keyFileURL]; - } + [self _storeKeyURL:keyFileURL]; } else { self.compositeKey = nil; // clear the key? @@ -768,17 +764,21 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } - (void)_storeKeyURL:(NSURL *)keyURL { - if(nil == keyURL) { - return; // no URL to store in the first place - } - MPAppDelegate *delegate = (MPAppDelegate *)[NSApp delegate]; - NSAssert(delegate.isAllowedToStoreKeyFile, @"We can only store if we are allowed to do so!"); NSMutableDictionary *keysForFiles = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:kMPSettingsKeyRememeberdKeysForDatabases] mutableCopy]; - if(nil == keysForFiles) { - keysForFiles = [[NSMutableDictionary alloc] initWithCapacity:1]; + MPAppDelegate *delegate = (MPAppDelegate *)[NSApp delegate]; + if(!delegate.isAllowedToStoreKeyFile || nil == keyURL) { + /* user has removed the keyfile or we should not safe it so remove it */ + [keysForFiles removeObjectForKey:self.fileURL.path.sha1HexDigest]; + } + else if(self.compositeKey.hasPassword && self.compositeKey.hasKeyFile) { + if(nil == keysForFiles) { + keysForFiles = [[NSMutableDictionary alloc] initWithCapacity:1]; + } + keysForFiles[self.fileURL.path.sha1HexDigest] = keyURL.path; + } + if(keysForFiles) { + [[NSUserDefaults standardUserDefaults] setObject:keysForFiles forKey:kMPSettingsKeyRememeberdKeysForDatabases]; } - keysForFiles[self.fileURL.path.sha1HexDigest] = keyURL.path; - [[NSUserDefaults standardUserDefaults] setObject:keysForFiles forKey:kMPSettingsKeyRememeberdKeysForDatabases]; } - (void)_cleanupLock { From 09147801eadebf798cc88f4c4167e88197de104f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 12:06:11 +0100 Subject: [PATCH 640/778] fixed layout warning in 10.12 --- MacPass/MPSettingsWindowController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPSettingsWindowController.m b/MacPass/MPSettingsWindowController.m index 41977fd2..8969d76f 100644 --- a/MacPass/MPSettingsWindowController.m +++ b/MacPass/MPSettingsWindowController.m @@ -80,7 +80,6 @@ [contentView.subviews.firstObject removeFromSuperview]; } [contentView addSubview:tabView]; - [contentView layout]; [contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[tabView]-0-|" options:0 metrics:nil @@ -90,6 +89,7 @@ metrics:nil views:NSDictionaryOfVariableBindings(tabView)]]; + [contentView layout]; [contentView layoutSubtreeIfNeeded]; if([tab respondsToSelector:@selector(didShowTab)]) { [tab didShowTab]; From f9bad70bb7c33859c6e1320b3bee4b9f802ed120 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 12:06:49 +0100 Subject: [PATCH 641/778] using last object for compatibilty --- MacPass/MPEntryViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index b989c0a6..e8f244db 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -410,7 +410,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; return; // we are showing the correct object right now. } } - self.representedObject = document.selectedGroups.count == 1 ? document.selectedGroups.firstObject : nil; + self.representedObject = document.selectedGroups.count == 1 ? document.selectedGroups.lastObject : nil; } [self _updateContextBar]; } From ebac7fc0aa4999a3bea80e2facf17ca0101c6218 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 12:06:56 +0100 Subject: [PATCH 642/778] removed commented code --- MacPass/MPEntryInspectorViewController.m | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index a550ef07..7d0a505e 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -404,10 +404,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(uuid)), NSStringFromSelector(@selector(UUIDString))] options:@{ NSConditionallySetsEditableBindingOption: @NO }]; self.uuidTextField.editable = NO; - - /*for(id item in items) { - [item bind:NSEnabledBinding toObject:self.entryController withKeyPath:NSStringFromSelector(@selector(isEditable)) options:nil]; - }*/ + } - (void)_bindAttachments { From 29abf7540ffabf667160bea934175af37592688c Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 20 Dec 2016 12:07:32 +0100 Subject: [PATCH 643/778] =?UTF-8?q?fixed=20regression=20resulting=20in=20b?= =?UTF-8?q?roken=20drag=E2=80=99n=E2=80=99drop=20of=20files=20to=20entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MacPass/MPAttachmentTableDataSource.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPAttachmentTableDataSource.m b/MacPass/MPAttachmentTableDataSource.m index ede6825c..56df38c0 100644 --- a/MacPass/MPAttachmentTableDataSource.m +++ b/MacPass/MPAttachmentTableDataSource.m @@ -52,7 +52,7 @@ KPKEntry *entry = document.selectedEntries.count == 1 ? document.selectedEntries.lastObject : nil; NSPasteboard *draggingPasteBoard = [info draggingPasteboard]; - NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[[NSArray class]] options:nil]; + NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[[NSURL class]] options:nil]; for(NSURL *fileUrl in arrayOfURLs) { [document addAttachment:fileUrl toEntry:entry]; From eb4392fe87b736472f241f75161993c503fbe609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gae=CC=81tan=20RYCKEBOER?= Date: Thu, 29 Dec 2016 11:50:35 +0100 Subject: [PATCH 644/778] Translation minor correction -- searching for error messages --- MacPass/fr.lproj/PasswordEditWindow.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/fr.lproj/PasswordEditWindow.strings b/MacPass/fr.lproj/PasswordEditWindow.strings index 1f97ddea..a316143f 100644 --- a/MacPass/fr.lproj/PasswordEditWindow.strings +++ b/MacPass/fr.lproj/PasswordEditWindow.strings @@ -9,10 +9,10 @@ "15.placeholderString" = "Répéter le mot de passe"; /* Class = "NSTextFieldCell"; title = "Repeat:"; ObjectID = "16"; */ -"16.title" = "Répétition :"; +"16.title" = "Resaisir :"; /* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "18"; */ -"18.placeholderString" = "Entrer le mot de passe"; +"18.placeholderString" = "Saisir le mot de passe"; /* Class = "NSButtonCell"; title = "Generate Keyfile"; ObjectID = "21"; */ "21.title" = "Générer fichier clé"; From c2e1d58704167b2f98c0054e8806180523ebe1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gae=CC=81tan=20RYCKEBOER?= Date: Thu, 29 Dec 2016 14:43:54 +0100 Subject: [PATCH 645/778] Corrections locales fr --- MacPass/fr.lproj/KPKLocalizable.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/fr.lproj/KPKLocalizable.strings b/MacPass/fr.lproj/KPKLocalizable.strings index 37926e2c..7cc5f058 100644 --- a/MacPass/fr.lproj/KPKLocalizable.strings +++ b/MacPass/fr.lproj/KPKLocalizable.strings @@ -28,8 +28,8 @@ "ERROR_INTEGRITY_CHECK_FAILED" = "L'intégrité de la base de données n'est pas assurée"; "ERROR_PASSWORD_OR_KEYFILE_WRONG" = "Mauvais mot de passe et/ou fichier clé"; "ERROR_KEEPASSFILE_ELEMENT_MISSING" = "Le fichier XML ne contient pas d'élément KeePassFile"; -"ERROR_ROOT_ELEMENT_MISSING" = "Le fichier XML ne contient pas de node root"; -"ERROR_GROUP_ELEMENT_MISSING" = "Le fichier XML ne contient pas de node Groupe"; +"ERROR_ROOT_ELEMENT_MISSING" = "Le fichier XML ne contient pas de nœud 'root'"; +"ERROR_GROUP_ELEMENT_MISSING" = "Le fichier XML ne contient pas de nœud 'Groupe'"; "ERROR_HEADER_HASH_MISSMATCH" = "Le hash de l'en-tête ne correspond pas. Fichier corrompu"; "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "Le fichier XML ne contient pas d'élément clé"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "Le fichier clé XML ne contient pas d'élément de données"; From b0ae3ab4fdb86772f1a0568faf5c94f1ccc5f314 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 2 Jan 2017 13:07:19 +0100 Subject: [PATCH 646/778] Using properties where possible --- MacPass/MPToolbarDelegate.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 71a3890d..25d6a99d 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -292,9 +292,9 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; _didShowToolbarForSearch = YES; self.toolbar.visible = YES; } - _displayModeBeforeSearch = [self.toolbar displayMode]; + _displayModeBeforeSearch = self.toolbar.displayMode; if(_displayModeBeforeSearch == NSToolbarDisplayModeLabelOnly) { - [self.toolbar setDisplayMode:NSToolbarDisplayModeIconAndLabel]; + self.toolbar.displayMode = NSToolbarDisplayModeIconAndLabel; } /* only make the searchfield first responder if it's not already in an active search */ if(![self.searchField currentEditor]) { From 0d5dcc4aadd00a0b91e6b6fe08ab6fa6d27f254e Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 2 Jan 2017 13:08:18 +0100 Subject: [PATCH 647/778] Updating xib to current Xcode --- MacPass/ContextBar.xib | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index d5efa587..82fa7e84 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,9 @@ - - + + - + + From d9122859195999b1270c3b050d87a3325922d709 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 3 Jan 2017 14:50:08 +0100 Subject: [PATCH 648/778] Reworked use of DDHotKey to prevent unwanted deregistration. --- MacPass/DDHotKey+MacPassAdditions.h | 12 +++-- MacPass/DDHotKey+MacPassAdditions.m | 43 ++++++++-------- MacPass/MPAutotypeDaemon.m | 58 ++++++++++------------ MacPass/MPIntegrationSettingsController.m | 2 +- MacPass/MPSettingsHelper.m | 2 +- MacPass/de.lproj/Localizable.strings | Bin 14854 -> 15046 bytes MacPass/en.lproj/Localizable.strings | Bin 13846 -> 14006 bytes MacPass/fr.lproj/Localizable.strings | Bin 15186 -> 15320 bytes MacPass/it.lproj/Localizable.strings | Bin 14486 -> 14620 bytes MacPass/nl.lproj/Localizable.strings | Bin 14408 -> 14542 bytes MacPass/ru.lproj/Localizable.strings | Bin 14610 -> 14744 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 11888 -> 12022 bytes 12 files changed, 61 insertions(+), 56 deletions(-) diff --git a/MacPass/DDHotKey+MacPassAdditions.h b/MacPass/DDHotKey+MacPassAdditions.h index 5ae2442c..3ebcf040 100644 --- a/MacPass/DDHotKey+MacPassAdditions.h +++ b/MacPass/DDHotKey+MacPassAdditions.h @@ -12,11 +12,17 @@ @property (readonly, copy) NSData *keyData; + +/** + Use this method to retrieve the data, since deallocation of a hotkey unregisters it, this could yield unwanted behaviour! + @return data for the default hot key. +*/ ++ (NSData *)hotKeyDataWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags; ++ (NSData *)defaultHotKeyData; + (instancetype)defaultHotKey; + (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task; - -- (instancetype)initWithKeyData:(NSData *)data task:(DDHotKeyTask)task; -- (instancetype)initWithKeyData:(NSData *)data; ++ (instancetype)hotKeyWithKeyData:(NSData *)data task:(DDHotKeyTask)task; ++ (instancetype)hotKeyWithKeyData:(NSData *)data; @end diff --git a/MacPass/DDHotKey+MacPassAdditions.m b/MacPass/DDHotKey+MacPassAdditions.m index db1fc74d..40ed2281 100644 --- a/MacPass/DDHotKey+MacPassAdditions.m +++ b/MacPass/DDHotKey+MacPassAdditions.m @@ -14,45 +14,48 @@ @implementation DDHotKey (MPKeydata) ++ (NSData *)hotKeyDataWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags { + NSMutableData *data = [[NSMutableData alloc] init]; + NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; + [archiver encodeInt:keyCode forKey:NSStringFromSelector(@selector(keyCode))]; + [archiver encodeInteger:flags forKey:NSStringFromSelector(@selector(modifierFlags))]; + [archiver finishEncoding]; + return [data copy]; +} + ++ (NSData *)defaultHotKeyData { + return [self hotKeyDataWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate]; +} + + (instancetype)defaultHotKey { return [DDHotKey defaultHotKeyWithTask:nil]; } + (instancetype)defaultHotKeyWithTask:(DDHotKeyTask)task { - return [[DDHotKey alloc] initWithKeyData:nil task:task]; + return [DDHotKey hotKeyWithKeyData:nil task:task]; } -- (instancetype)initWithKeyData:(NSData *)data { - self = [self initWithKeyData:data task:nil]; - return self; ++ (instancetype)hotKeyWithKeyData:(NSData *)data { + return [self hotKeyWithKeyData:data task:nil]; } -- (instancetype)initWithKeyData:(NSData *)data task:(DDHotKeyTask)task{ ++ (instancetype)hotKeyWithKeyData:(NSData *)data task:(DDHotKeyTask)task { NSUInteger modifierFlags; unsigned short keyCode; if(!data) { - self = [DDHotKey hotKeyWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate task:task]; + return [DDHotKey hotKeyWithKeyCode:kVK_ANSI_M modifierFlags:kCGEventFlagMaskControl|kCGEventFlagMaskAlternate task:task]; } - else if([self _getKeyCode:&keyCode modifierFlags:&modifierFlags fromData:data]) { - self = [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modifierFlags task:task]; + if([self _getKeyCode:&keyCode modifierFlags:&modifierFlags fromData:data]) { + return [DDHotKey hotKeyWithKeyCode:keyCode modifierFlags:modifierFlags task:task]; } - else { - self = nil; - } - return self; + return nil; } - (NSData *)keyData { - NSMutableData *data = [[NSMutableData alloc] init]; - NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; - [archiver encodeInt:self.keyCode forKey:NSStringFromSelector(@selector(keyCode))]; - [archiver encodeInteger:self.modifierFlags forKey:NSStringFromSelector(@selector(modifierFlags))]; - [archiver finishEncoding]; - return [data copy]; + return [self.class hotKeyDataWithKeyCode:self.keyCode modifierFlags:self.modifierFlags]; } - -- (BOOL)_getKeyCode:(unsigned short *)keyCode modifierFlags:(NSUInteger *)modifierFlags fromData:(NSData *)data { ++ (BOOL)_getKeyCode:(unsigned short *)keyCode modifierFlags:(NSUInteger *)modifierFlags fromData:(NSData *)data { if(keyCode == NULL || modifierFlags == NULL || data == nil) { return NO; } diff --git a/MacPass/MPAutotypeDaemon.m b/MacPass/MPAutotypeDaemon.m index 715bf69e..db48fc4c 100644 --- a/MacPass/MPAutotypeDaemon.m +++ b/MacPass/MPAutotypeDaemon.m @@ -147,16 +147,32 @@ static MPAutotypeDaemon *_sharedInstance; return; // We do not perform Autotype on ourselves } - NSArray *documents = [self _findAutotypeDocuments]; + /* find autotype documents */ + NSArray *documents = [NSApp orderedDocuments]; + /* No open document, inform the user and return without any action */ if(documents.count == 0) { - /* We do not have a document. This can be - a) there is none - nothing happens - b) there is at least one, but locked - we get called again after the document has been unlocked - */ + NSUserNotification *notification = [[NSUserNotification alloc] init]; + notification.title = NSApp.applicationName; + notification.informativeText = NSLocalizedString(@"AUTOTYPE_OVERLAY_NO_DOCUMENTS", ""); + [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification]; return; } + NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary * _Nullable bindings) { + MPDocument *document = evaluatedObject; + return !document.encrypted;}]; + NSArray *unlockedDocuments = [documents filteredArrayUsingPredicate:filterPredicate]; + /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ + if(unlockedDocuments.count == 0) { + [NSApp activateIgnoringOtherApps:YES]; + [NSApp.mainWindow makeKeyAndOrderFront:self]; + /* show the actual document window to the user */ + [documents.firstObject showWindows]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:nil]; + return; // wait for the unlock to happen + } + MPAutotypeContext *context = [self _autotypeContextForDocuments:documents forWindowTitle:self.targetWindowTitle preferredEntry:entryOrNil]; - /* TODO: that's popping up if the mulit seleciton dialog goes up! */ + /* TODO: that's popping up if the mulit selection dialog goes up! */ if(!entryOrNil) { NSUserNotification *notification = [[NSUserNotification alloc] init]; notification.title = NSApp.applicationName; @@ -171,22 +187,6 @@ static MPAutotypeDaemon *_sharedInstance; [self _performAutotypeForContext:context]; } -- (NSArray *)_findAutotypeDocuments { - - NSArray *documents = [NSApp orderedDocuments]; - NSPredicate *filterPredicate = [NSPredicate predicateWithBlock:^BOOL(id _Nonnull evaluatedObject, NSDictionary * _Nullable bindings) { - MPDocument *document = evaluatedObject; - return !document.encrypted;}]; - NSArray *unlockedDocuments = [documents filteredArrayUsingPredicate:filterPredicate]; - /* We look for all unlocked documents, if all open documents are locked, we pop the front most and try to search again */ - if(unlockedDocuments.count == 0 && documents.count > 0) { - [NSApp activateIgnoringOtherApps:YES]; - [NSApp.mainWindow makeKeyAndOrderFront:self]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:nil]; - } - return unlockedDocuments; -} - - (MPAutotypeContext *)_autotypeContextForDocuments:(NSArray *)documents forWindowTitle:(NSString *)windowTitle preferredEntry:(KPKEntry *)entry { /* Query the document to generate a autotype command list for the window title @@ -230,22 +230,18 @@ static MPAutotypeDaemon *_sharedInstance; #pragma mark - #pragma mark Hotkey Registration - (void)_registerHotKey { + if(!self.hotKeyData) { + return; + } __weak MPAutotypeDaemon *welf = self; DDHotKeyTask aTask = ^(NSEvent *event) { [welf _didPressHotKey]; }; - DDHotKey *storedHotkey; - if(nil == self.hotKeyData) { - storedHotkey = [DDHotKey defaultHotKeyWithTask:aTask]; - } - else { - storedHotkey = [[DDHotKey alloc] initWithKeyData:self.hotKeyData task:aTask]; - } - self.registredHotKey = [[DDHotKeyCenter sharedHotKeyCenter] registerHotKey:storedHotkey]; + self.registredHotKey = [[DDHotKeyCenter sharedHotKeyCenter] registerHotKey:[DDHotKey hotKeyWithKeyData:self.hotKeyData task:aTask]]; } - (void)_unregisterHotKey { - if(nil != self.registredHotKey) { + if(self.registredHotKey) { [[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKey:self.registredHotKey]; self.registredHotKey = nil; } diff --git a/MacPass/MPIntegrationSettingsController.m b/MacPass/MPIntegrationSettingsController.m index 895d0042..9c417465 100644 --- a/MacPass/MPIntegrationSettingsController.m +++ b/MacPass/MPIntegrationSettingsController.m @@ -58,7 +58,7 @@ } - (void)willShowTab { - _hotKey = [[DDHotKey alloc] initWithKeyData:[[NSUserDefaults standardUserDefaults] dataForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]]; + _hotKey = [DDHotKey hotKeyWithKeyData:[[NSUserDefaults standardUserDefaults] dataForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]]; /* Change any invalid hotkeys to valid ones? */ self.hotKeyTextField.hotKey = self.hotKey; } diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index b04243ce..a0bb06d5 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -110,7 +110,7 @@ NSString *const kMPDeprecatedSettingsKeyDefaultPasswordRounds = @"Ke kMPSettingsKeyRememberKeyFilesForDatabases: @NO, kMPSettingsKeySendCommandForControlKey: @YES, kMPSettingsKeyEnableGlobalAutotype: @NO, - kMPSettingsKeyGlobalAutotypeKeyDataKey: [[DDHotKey defaultHotKey] keyData], + kMPSettingsKeyGlobalAutotypeKeyDataKey: [DDHotKey defaultHotKeyData], kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}", kMPSettingsKeyAutotypeMatchTitle: @YES, kMPSettingsKeyAutotypeMatchURL: @NO, diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 1429fa87d70c33946eee7da248eb861caf9e0f2b..ec6fb88f3739aef167ae4a5ab47fb6326128763b 100644 GIT binary patch delta 132 zcmZoGIaazMNKMd%!JomIA(X+F!Ii;}A%r1#@_HTd#BU5~K$ypn3d9Nw!3>!|mI4rG zg2faVTo@7=O2B*_pm-@mE|7F*$YIE5NCL{_0C|o;(GnoPgrSn50Ia(TD53z=4-&81 JEUorh7yzA%93KDx delta 12 TcmX?B+E%h5NNux_`W9gTCIkf$ diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 7c31619999b6cdb052c43b426d6f6c17130fd355..d8d1f6415045de846df46b8be5f78f9481e20e9a 100644 GIT binary patch delta 96 zcmbQ1vn_W6hYGt3gFk~aL+Ip-RbodPO844Iu8S)qu7!rXvjUkgE2gp}oC}GG4 rlBEpAV4gcrG@l^}s3vFfLQ`Q@MFu4X>&YL*#V4nz2yA9j5fK6aLe>?M delta 12 Tcmdm%J1u7ehsx#^Dttl!Bs2t} diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index abb3da39dc3ce46d5aad0cddec88d16333c7c3f4..8693e62d6abcf540d7c4c5ae1b6e5544e14a78ac 100644 GIT binary patch delta 74 zcmcaqcB6bloVuh7gFk~aLnwnUgDZm{LkL4KgA#)RgDr!?WO-@P$!F9B#QlIO;u$d1 OP2Q-ky*WbtmoNa2&=E-h delta 12 TcmcaneyMCjociV`>R*HbE*=Jw diff --git a/MacPass/it.lproj/Localizable.strings b/MacPass/it.lproj/Localizable.strings index 500a3d72767c765a2154086f9b044948b876309d..3b37c573f7a0abf80e15098bc9d308ee7dd2caf1 100644 GIT binary patch delta 64 zcmbPMIHzdCK2>%X27d-;hS14{{Nj^YBn2kxsR@Yt0mb4OpfU`;46Y1*3?U4`lP5|_ MgXA~wP`xJv03at2Pyhe` delta 12 TcmbPJG_7#MKGn@GYBz)cC~5_; diff --git a/MacPass/nl.lproj/Localizable.strings b/MacPass/nl.lproj/Localizable.strings index cee037247ce28464efc70b63ffef798409412f91..9965b1611ece308513609ba5fd289ef4c443346b 100644 GIT binary patch delta 70 zcmX?6aISE}2USTI27d-;hEN7y23H0@h7g8e1|wUR;(kEccm@nLlMU6h KH@{Mi69NEM2@l8s delta 12 TcmX?Cc%op#2i47GY7s&JEyxA- diff --git a/MacPass/ru.lproj/Localizable.strings b/MacPass/ru.lproj/Localizable.strings index 5d672103b47a775ef1227e78de7932915a743874..64c9406e43427b2fca73c984fb17c5b0fd182223 100644 GIT binary patch delta 74 zcmbPKG^2P!hMJ@cgFk~aLnwnUgDZm{LkL4KgA#)RgDr!?WPK^o$*0r=#QlIO;u$d1 OO{mT diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index d82179ae528fca5625f5de13aac1590a0a0471fe..ef2175c08db3ebfb69ed9b535f29d97f2c6e5358 100644 GIT binary patch delta 74 zcmewm^DTD6JUK}h27d-;hEN7y23H0@h7g8e1| Date: Sat, 7 Jan 2017 12:09:45 -0600 Subject: [PATCH 649/778] New Spanish localisation folder I noticed there's no Spanish language here. So, I'm making my own. --- MacPass/sp.lproj/Credits.rtf | 92 ++++++++++++++++++ .../sp.lproj/DatabaseSettingsWindow.strings | 96 +++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 MacPass/sp.lproj/Credits.rtf create mode 100644 MacPass/sp.lproj/DatabaseSettingsWindow.strings diff --git a/MacPass/sp.lproj/Credits.rtf b/MacPass/sp.lproj/Credits.rtf new file mode 100644 index 00000000..1944622f --- /dev/null +++ b/MacPass/sp.lproj/Credits.rtf @@ -0,0 +1,92 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +\paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 + +\f0\b\fs24 \cf0 Project Website:\ +{\field{\*\fldinst{HYPERLINK "https://github.com/mstarke/MacPass"}}{\fldrslt +\b0 MacPass}} +\b0 \ + +\b \ +License:\ + +\b0 MacPass KeePass compatible client for OS X\ +Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ + \ +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ +the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ +\ +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\ +\ +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\ +\ +You should have received a copy of the GNU General Public License along with this program. If not, see {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt http://www.gnu.org/licenses/}}.\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +\cf0 \kerning1\expnd0\expndtw3 +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 + +\b \cf0 \kerning1\expnd0\expndtw0 Credits:\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 + +\b0 \cf2 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\ +Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +\ +MacPass\kerning1\expnd0\expndtw3 + \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ +\ +Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ +Copyright \'a9 2012 Robbie Hanson. All rights reserved.\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/MiniKeePass/MiniKeePass"}}{\fldrslt \cf2 MiniKeePass}}\ +Copyright \'a9 2011 Jason Rush and John Flanagan. All rights reserved.\ + \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/mpowrie/KeePassLib"}}{\fldrslt \cf2 KeePass Database Library}}\ +Copyright \'a9 2010 Qiang Yu. All rights reserved.\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/Perspx/PXSourceList"}}{\fldrslt \cf3 PXSourceList}}\ +Copyright \'a9 2011, Alex Rozanski. All rights reserved.\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org"}}{\fldrslt \cf3 Sparkl\kerning1\expnd0\expndtw3 +e}}\kerning1\expnd0\expndtw3 +\ +Copyright \'a9 2006 Andy Matuschak. \kerning1\expnd0\expndtw0 All rights reserved.\kerning1\expnd0\expndtw3 +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +\cf3 \kerning1\expnd0\expndtw0 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 NSData+Base64}}\ +Copyright \'a92013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt denis2342}}\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "http://www.cocoadev.com/index.pl?NSDataCategory"}}{\fldrslt \cf3 NSData+Gzip}}\ +Extracted from code on the CocoaDev Wiki\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/karelia/SecurityInterface"}}{\fldrslt \cf3 KSPasswordField}}\ +Code reused in HNHUIRoundedSecureTextField\ +Copyright \'a92012 Mike Abdullah, Karelia Software. All rights reserved.\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/AlanQuatermain/aqtoolkit"}}{\fldrslt \cf3 NSData+CommonCrypto}}\ +Copyright \'a92008-2009 Jim Dovey, All rights reserved.\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://github.com/mattt/TransformerKit"}}{\fldrslt \cf3 TransformerKit}}\ +Copyright \'a92012 Mattt Thompson. All rights reseverd} \ No newline at end of file diff --git a/MacPass/sp.lproj/DatabaseSettingsWindow.strings b/MacPass/sp.lproj/DatabaseSettingsWindow.strings new file mode 100644 index 00000000..1e5aeb20 --- /dev/null +++ b/MacPass/sp.lproj/DatabaseSettingsWindow.strings @@ -0,0 +1,96 @@ + +/* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ +"1.title" = "Ventana"; + +/* Class = "NSTextFieldCell"; title = "Database name:"; ObjectID = "190"; */ +"190.title" = "Base:"; + +/* Class = "NSTextFieldCell"; title = "Description:"; ObjectID = "257"; */ +"257.title" = "Descripción:"; + +/* Class = "NSButtonCell"; title = "OK"; ObjectID = "289"; */ +"289.title" = "OK"; + +/* Class = "NSTabViewItem"; label = "General"; ObjectID = "358"; */ +"358.label" = "General"; + +/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "368"; */ +"368.label" = "Avanzado"; + +/* Class = "NSTabViewItem"; label = "Security"; ObjectID = "370"; */ +"370.label" = "Seguridad"; + +/* Class = "NSButtonCell"; title = "Protect Title"; ObjectID = "464"; */ +"464.title" = "Proteger Título"; + +/* Class = "NSButtonCell"; title = "Protect Username"; ObjectID = "477"; */ +"477.title" = "Proteger Nombre de Usuario"; + +/* Class = "NSButtonCell"; title = "Protect Password"; ObjectID = "505"; */ +"505.title" = "Proteger Contraseña"; + +/* Class = "NSButtonCell"; title = "Protect URL"; ObjectID = "510"; */ +"510.title" = "Proteger URL"; + +/* Class = "NSButtonCell"; title = "Protect Notes"; ObjectID = "514"; */ +"514.title" = "Proteger Notas"; + +/* Class = "NSButtonCell"; title = "Enable Entry History"; ObjectID = "532"; */ +"532.title" = "Habilitar Consulta de Historial"; + +/* Class = "NSButtonCell"; title = "Enable Recycle Bin"; ObjectID = "536"; */ +"536.title" = "Habilitar Papelera de Reciclaje"; + +/* Class = "NSButtonCell"; title = "Empty Recycle Bin on Quit"; ObjectID = "540"; */ +"540.title" = "Vaciar Papelera de Reciclaje al Salir"; + +/* Class = "NSTextFieldCell"; title = "Maximum Items:"; ObjectID = "558"; */ +"558.title" = "Entradas Máximas:"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "680"; */ +"680.title" = "Otras Vistas"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "957"; */ +"957.title" = "Cancelar"; + +/* Class = "NSTextFieldCell"; title = "Maximum Size:"; ObjectID = "1269"; */ +"1269.title" = "Tamaño Máximo:"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1396"; */ +"1396.title" = "Otras Vistas"; + +/* Class = "NSMenuItem"; title = "None"; ObjectID = "1397"; */ +"1397.title" = "Ninguno"; + +/* Class = "NSMenuItem"; title = "GZip"; ObjectID = "1398"; */ +"1398.title" = "GZip"; + +/* Class = "NSTextFieldCell"; title = "Compression:"; ObjectID = "1405"; */ +"1405.title" = "Compresión:"; + +/* Class = "NSTextFieldCell"; title = "Color:"; ObjectID = "1435"; */ +"1435.title" = "Color:"; + +/* Class = "NSTextFieldCell"; title = "Template Group:"; ObjectID = "1588"; */ +"1588.title" = "Grupo de Plantillas:"; + +/* Class = "NSTextFieldCell"; title = "Default Username:"; ObjectID = "1591"; */ +"1591.title" = "Usuario por Defecto:"; + +/* Class = "NSTextFieldCell"; title = "Key encryption rounds:"; ObjectID = "1644"; */ +"1644.title" = "Rondas de Clave de Cifrado:"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1740"; */ +"1740.title" = "Otras Vistas"; + +/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "1741"; */ +"1741.title" = "Elemento 1"; + +/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "1742"; */ +"1742.title" = "Elemento 2"; + +/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "1743"; */ +"1743.title" = "Elemento 3"; + +/* Class = "NSButtonCell"; title = "Benchmark"; ObjectID = "1775"; */ +"1775.title" = "Referencia"; From b71e3d572e93129fb23510a0622f6bfd0ffd3991 Mon Sep 17 00:00:00 2001 From: m0yP Date: Sat, 7 Jan 2017 15:29:16 -0600 Subject: [PATCH 650/778] Translation Translation --- MacPass/sp.lproj/DatePickingView.strings | 9 ++ MacPass/sp.lproj/EntryInspectorView.strings | 114 ++++++++++++++++++++ MacPass/sp.lproj/GeneralSettings.strings | 63 +++++++++++ 3 files changed, 186 insertions(+) create mode 100644 MacPass/sp.lproj/DatePickingView.strings create mode 100644 MacPass/sp.lproj/EntryInspectorView.strings create mode 100644 MacPass/sp.lproj/GeneralSettings.strings diff --git a/MacPass/sp.lproj/DatePickingView.strings b/MacPass/sp.lproj/DatePickingView.strings new file mode 100644 index 00000000..00de0f2e --- /dev/null +++ b/MacPass/sp.lproj/DatePickingView.strings @@ -0,0 +1,9 @@ + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "17"; */ +"17.title" = "Otras vistas"; + +/* Class = "NSButtonCell"; title = "Use Date"; ObjectID = "26"; */ +"26.title" = "Usar Fecha"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "30"; */ +"30.title" = "Cancelar"; diff --git a/MacPass/sp.lproj/EntryInspectorView.strings b/MacPass/sp.lproj/EntryInspectorView.strings new file mode 100644 index 00000000..4ba7caa2 --- /dev/null +++ b/MacPass/sp.lproj/EntryInspectorView.strings @@ -0,0 +1,114 @@ + +/* Class = "NSButtonCell"; title = "Generate"; ObjectID = "64"; */ +"64.title" = "Generar"; + +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "65"; */ +"65.title" = "Contraseña"; + +/* Class = "NSTextFieldCell"; title = "URL"; ObjectID = "66"; */ +"66.title" = "URL"; + +/* Class = "NSTextFieldCell"; title = "Username"; ObjectID = "69"; */ +"69.title" = "Nombre de Usuario"; + +/* Class = "NSTextFieldCell"; title = "Title"; ObjectID = "71"; */ +"71.title" = "Título"; + +/* Class = "NSButtonCell"; title = "Expires"; ObjectID = "78"; */ +"78.title" = "Expira"; + +/* Class = "NSTextFieldCell"; title = "Tags"; ObjectID = "79"; */ +"79.title" = "Tags"; + +/* Class = "NSTabViewItem"; label = "Fields"; ObjectID = "108"; */ +"108.label" = "Campos"; + +/* Class = "NSTabViewItem"; label = "Attachments"; ObjectID = "109"; */ +"109.label" = "Adjuntos"; + +/* Class = "NSTabViewItem"; label = "General"; ObjectID = "110"; */ +"110.label" = "General"; + +/* Class = "NSTextFieldCell"; title = "Attachments"; ObjectID = "135"; */ +"135.title" = "Adjuntos"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "142"; */ +"142.title" = "Campo de Texto"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "151"; */ +"151.title" = "Campo de Vista de Tabla"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "171"; */ +"171.title" = "Campo de Vista de Tabla"; + +/* Class = "NSTextFieldCell"; title = "Custom Fields"; ObjectID = "190"; */ +"190.title" = "Campos Personalizados"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "197"; */ +"197.title" = "Campo de Texto"; + +/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "211"; */ +"211.placeholderString" = "Título"; + +/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "214"; */ +"214.placeholderString" = "Valor"; + +/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "225"; */ +"225.placeholderString" = "Valor"; + +/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "228"; */ +"228.placeholderString" = "Título"; + +/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[0] = "General"; ObjectID = "238"; */ +"238.ibShadowedLabels[0]" = "General"; + +/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ +"238.ibShadowedLabels[1]" = "Archivos"; + +/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ +"238.ibShadowedLabels[2]" = "Personalizado"; + +/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ +"238.ibShadowedLabels[3]" = "Autotipo"; + +/* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ +"0ok-MC-QMP.title" = "Guardar"; + +/* Class = "NSButtonCell"; title = "Enable Autotype"; ObjectID = "9Nx-mE-DK3"; */ +"9Nx-mE-DK3.title" = "Habilitar Autotipo"; + +/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "NtM-y3-l4D"; */ +"NtM-y3-l4D.title" = "Vista Rápida"; + +/* Class = "NSTextFieldCell"; placeholderString = "Custom Entry Sequence"; ObjectID = "R2X-Ex-c6q"; */ +"R2X-Ex-c6q.placeholderString" = "Entrada de Secuecia Personalizada"; + +/* Class = "NSTextFieldCell"; title = "Window Sequence"; ObjectID = "RQB-bR-MC0"; */ +"RQB-bR-MC0.title" = "Secuencia de Ventana"; + +/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "bQ5-0E-h3O"; */ +"bQ5-0E-h3O.title" = "Secuencia Autotipo"; + +/* Class = "NSTextFieldCell"; title = "Window Title"; ObjectID = "bkO-Bk-AuX"; */ +"bkO-Bk-AuX.title" = "Título de Ventana"; + +/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "bke-G2-oEf"; */ +"bke-G2-oEf.title" = "Eliminar"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "dyA-lo-PGa"; */ +"dyA-lo-PGa.title" = "Campo de Vista de Tabla View"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "ep5-bQ-cfZ"; */ +"ep5-bQ-cfZ.title" = "Campo de Texto"; + +/* Class = "NSTextFieldCell"; placeholderString = "Custom Window Sequence"; ObjectID = "fW9-9p-wwR"; */ +"fW9-9p-wwR.placeholderString" = "Secuencia de Ventana Personalizada"; + +/* Class = "NSTabViewItem"; label = "Autotype"; ObjectID = "hK7-Dx-yjH"; */ +"hK7-Dx-yjH.label" = "Autotipo"; + +/* Class = "NSTextFieldCell"; title = "Window Associations"; ObjectID = "ned-1Q-FXA"; */ +"ned-1Q-FXA.title" = "Asociaciones de Ventana"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "sNS-o1-pD7"; */ +"sNS-o1-pD7.title" = "Otras Vistas"; diff --git a/MacPass/sp.lproj/GeneralSettings.strings b/MacPass/sp.lproj/GeneralSettings.strings new file mode 100644 index 00000000..3fb939fe --- /dev/null +++ b/MacPass/sp.lproj/GeneralSettings.strings @@ -0,0 +1,63 @@ + +/* Class = "NSMenu"; title = "ClipboardClearInterval"; ObjectID = "421"; */ +"421.title" = "Intervalo de Limpieza de Portapapeles"; + +/* Class = "NSMenuItem"; title = "after 10 Seconds"; ObjectID = "422"; */ +"422.title" = "después de 10 Segundos"; + +/* Class = "NSMenuItem"; title = "after 30 Seconds"; ObjectID = "423"; */ +"423.title" = "después de 30 Segundos"; + +/* Class = "NSMenuItem"; title = "after 1 Minute"; ObjectID = "424"; */ +"424.title" = "después de 1 Minuto"; + +/* Class = "NSMenuItem"; title = "Never"; ObjectID = "429"; */ +"429.title" = "Nunca"; + +/* Class = "NSTextFieldCell"; title = "Clear Copied Items"; ObjectID = "432"; */ +"432.title" = "Eliminar Valores Copiados"; + +/* Class = "NSButtonCell"; title = "Clear Clipboard on Quit"; ObjectID = "448"; */ +"448.title" = "Vaciar Portapapeles al Salir"; + +/* Class = "NSBox"; title = "Security"; ObjectID = "465"; */ +"465.title" = "Seguridad"; + +/* Class = "NSButtonCell"; title = "Reopen last Database after Launch"; ObjectID = "531"; */ +"531.title" = "Reabrir Base más reciente al Iniciar"; + +/* Class = "NSBox"; title = "General"; ObjectID = "928"; */ +"928.title" = "General"; + +/* Class = "NSButtonCell"; title = "Double-click entry URL to Launch"; ObjectID = "937"; */ +"937.title" = "Abrir URL al dar doble click"; + +/* Class = "NSMenu"; title = "LockTimes"; ObjectID = "586"; */ +"586.title" = "Tiempos de Bloqueo"; + +/* Class = "NSMenuItem"; title = "for 1 Minute"; ObjectID = "588"; */ +"588.title" = "por 1 Minuto"; + +/* Class = "NSMenuItem"; title = "for 5 Minutes"; ObjectID = "589"; */ +"589.title" = "por 5 Minutos"; + +/* Class = "NSMenuItem"; title = "for 15 Minutes"; ObjectID = "603"; */ +"603.title" = "por 15 Minutos"; + +/* Class = "NSButtonCell"; title = "Lock after sleep"; ObjectID = "631"; */ +"631.title" = "Bloquear al hibernar"; + +/* Class = "NSMenuItem"; title = "Never"; ObjectID = "804"; */ +"804.title" = "Nunca"; + +/* Class = "NSTextFieldCell"; title = "Lock while idle"; ObjectID = "806"; */ +"806.title" = "Bloquear al estar inactivo"; + +/* Class = "NSTextFieldCell"; title = "Enabling this compromises security. If enabled, your preferences will contain mappings from database to keyfile. Key locations for databases without a password will not be saved."; ObjectID = "ACh-7H-42N"; */ +"ACh-7H-42N.title" = "Habilitando esta opción se compromete la seguridad. Si está habilitado, tus preferencias contendrán mapeos de bases al keyfile. Las ubicaciones para bases sin contraseña no serán guardadas.."; + +/* Class = "NSButtonCell"; title = "Remember Keyfile for Databases"; ObjectID = "r6q-He-nYU"; */ +"r6q-He-nYU.title" = "Recordar el Keyfile para las Bases de Datos"; + +/* Class = "NSButtonCell"; title = "Clear all stored locations"; ObjectID = "8Ri-2s-c39"; */ +"8Ri-2s-c39.title" = "Eliminar las ubicaciones guardadas"; From 6987cbf2e2daafaa13da9830aeef4b5376684081 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 9 Jan 2017 23:44:49 +0100 Subject: [PATCH 651/778] User field now uses fixed size font --- MacPass/Base.lproj/EntryInspectorView.xib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 85c5b099..ec71694e 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -488,7 +488,7 @@ - + From 240da093b10458b387a724fc3f3081801bbd4c6d Mon Sep 17 00:00:00 2001 From: m0yP Date: Tue, 10 Jan 2017 11:52:52 -0600 Subject: [PATCH 652/778] Added more translated files --- MacPass/sp.lproj/GroupInspectorView.strings | 18 +++++ MacPass/sp.lproj/IconSelection.strings | 6 ++ MacPass/sp.lproj/InfoPlist.strings | 2 + MacPass/sp.lproj/InspectorView.strings | 69 ++++++++++++++++++++ MacPass/sp.lproj/IntegrationSettings.strings | 30 +++++++++ MacPass/sp.lproj/KPKLocalizable.strings | 37 +++++++++++ 6 files changed, 162 insertions(+) create mode 100644 MacPass/sp.lproj/GroupInspectorView.strings create mode 100644 MacPass/sp.lproj/IconSelection.strings create mode 100644 MacPass/sp.lproj/InfoPlist.strings create mode 100644 MacPass/sp.lproj/InspectorView.strings create mode 100644 MacPass/sp.lproj/IntegrationSettings.strings create mode 100644 MacPass/sp.lproj/KPKLocalizable.strings diff --git a/MacPass/sp.lproj/GroupInspectorView.strings b/MacPass/sp.lproj/GroupInspectorView.strings new file mode 100644 index 00000000..4f767f88 --- /dev/null +++ b/MacPass/sp.lproj/GroupInspectorView.strings @@ -0,0 +1,18 @@ + +/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "25"; */ +"25.title" = "Nombre"; + +/* Class = "NSButtonCell"; title = "Expires"; ObjectID = "32"; */ +"32.title" = "Expira"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "231"; */ +"231.title" = "Otras Vistas"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "243"; */ +"243.title" = "Otras Vistas"; + +/* Class = "NSTextFieldCell"; title = "Search"; ObjectID = "265"; */ +"265.title" = "Buscar"; + +/* Class = "NSTextFieldCell"; title = "Autotype"; ObjectID = "277"; */ +"277.title" = "Autotipo"; diff --git a/MacPass/sp.lproj/IconSelection.strings b/MacPass/sp.lproj/IconSelection.strings new file mode 100644 index 00000000..77aa0758 --- /dev/null +++ b/MacPass/sp.lproj/IconSelection.strings @@ -0,0 +1,6 @@ + +/* Class = "NSButtonCell"; title = "Use Default Icon"; ObjectID = "102"; */ +"102.title" = "Usar Ícono por Defecto"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "1kM-cI-P1o"; */ +"1kM-cI-P1o.title" = "Cancelar"; diff --git a/MacPass/sp.lproj/InfoPlist.strings b/MacPass/sp.lproj/InfoPlist.strings new file mode 100644 index 00000000..477b28ff --- /dev/null +++ b/MacPass/sp.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/MacPass/sp.lproj/InspectorView.strings b/MacPass/sp.lproj/InspectorView.strings new file mode 100644 index 00000000..0ea820c9 --- /dev/null +++ b/MacPass/sp.lproj/InspectorView.strings @@ -0,0 +1,69 @@ + +/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "101"; */ +"101.title" = "Nombre"; + +/* Class = "NSTextFieldCell"; title = "Name"; ObjectID = "1266"; */ +"1266.title" = "Nombre"; + +/* Class = "NSTextFieldCell"; title = "Username"; ObjectID = "1267"; */ +"1267.title" = "Nombre de Usuario"; + +/* Class = "NSTextFieldCell"; title = "URL"; ObjectID = "1268"; */ +"1268.title" = "URL"; + +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "1269"; */ +"1269.title" = "Contaseña"; + +/* Class = "NSButtonCell"; title = "Generate"; ObjectID = "1274"; */ +"1274.title" = "Generar"; + +/* Class = "NSTabViewItem"; label = "General"; ObjectID = "1394"; */ +"1394.label" = "General"; + +/* Class = "NSTabViewItem"; label = "Notes"; ObjectID = "1395"; */ +"1395.label" = "Notas"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "1481"; */ +"1481.title" = "Campo de Texto"; + +/* Class = "NSTextFieldCell"; title = "Attachments"; ObjectID = "1513"; */ +"1513.title" = "Adjuntos"; + +/* Class = "NSTextFieldCell"; title = "Notes"; ObjectID = "1529"; */ +"1529.title" = "Notas"; + +/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "1568"; */ +"1568.title" = "Campo de Vista de Tabla"; + +/* Class = "NSButtonCell"; title = "Add File"; ObjectID = "1581"; */ +"1581.title" = "Agregar Archivo"; + +/* Class = "NSButtonCell"; title = "Save File"; ObjectID = "1586"; */ +"1586.title" = "Guardar Archivo"; + +/* Class = "NSTextFieldCell"; title = "Quality"; ObjectID = "1605"; */ +"1605.title" = "Calidad"; + +/* Class = "NSTextFieldCell"; title = "Created"; ObjectID = "1885"; */ +"1885.title" = "Creado"; + +/* Class = "NSTextFieldCell"; title = "Modified"; ObjectID = "1930"; */ +"1930.title" = "Modificado"; + +/* Class = "NSTabViewItem"; label = "Attachments"; ObjectID = "1945"; */ +"1945.label" = "Aduntos"; + +/* Class = "NSTabViewItem"; label = "Fields"; ObjectID = "1947"; */ +"1947.label" = "Campos"; + +/* Class = "NSTextFieldCell"; title = "Custom Fields"; ObjectID = "1991"; */ +"1991.title" = "Campos Personalizados"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "2017"; */ +"2017.title" = "Campo de Texto"; + +/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "2043"; */ +"2043.placeholderString" = "Valor"; + +/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "2049"; */ +"2049.placeholderString" = "Título"; diff --git a/MacPass/sp.lproj/IntegrationSettings.strings b/MacPass/sp.lproj/IntegrationSettings.strings new file mode 100644 index 00000000..4cfe2c3c --- /dev/null +++ b/MacPass/sp.lproj/IntegrationSettings.strings @@ -0,0 +1,30 @@ + +/* Class = "NSButtonCell"; title = "Enable KeePassHttp server"; ObjectID = "3"; */ +"3.title" = "Habilitar Servidor KeePassHttp"; + +/* Class = "NSButtonCell"; title = "Enable global Autotype"; ObjectID = "1qb-Rd-jYu"; */ +"1qb-Rd-jYu.title" = "Habilitar Autotipo Global"; + +/* Class = "NSTextFieldCell"; title = "Shortcut"; ObjectID = "6oN-CH-T0O"; */ +"6oN-CH-T0O.title" = "Atajo"; + +/* Class = "NSButtonCell"; title = "Enabel Quicklook Preview"; ObjectID = "ERs-ct-Eyx"; */ +"ERs-ct-Eyx.title" = "Habilitar Vista Previa"; + +/* Class = "NSBox"; title = "Keepass HTTP"; ObjectID = "KbH-0Q-5Tw"; */ +"KbH-0Q-5Tw.title" = "Keepass HTTP"; + +/* Class = "NSBox"; title = "Autotype"; ObjectID = "P9N-HM-wER"; */ +"P9N-HM-wER.title" = "Autotipo"; + +/* Class = "NSBox"; title = "Preview"; ObjectID = "VVs-b5-cX9"; */ +"VVs-b5-cX9.title" = "Vista Previa"; + +/* Class = "NSTextFieldCell"; title = "If enabled attached files will be copied to a temporary location for preview and deleted after the preview is closed."; ObjectID = "WmI-IB-Aso"; */ +"WmI-IB-Aso.title" = "Si se habilita, los archivos adjuntos serán copiados a una carpeta demporal para generar la vista previa y serán elimiandos al cerrarla. Esto es un riesgo de seguridad."; + +/* Class = "NSButtonCell"; title = "Interpret ⌃ as ⌘"; ObjectID = "QfO-yG-l3F"; */ +"QfO-yG-l3F.title" = "Intérprete ⌃ as ⌘"; + +/* Class = "NSTextFieldCell"; title = "If enabled, every {CONTROL} command will be sent as ⌘. Only disable this if you are sure you need to."; ObjectID = "QRy-CY-ENC"; */ +"QRy-CY-ENC.title" = "Si se habilita, cada comando {CONTROL} será enviado como ⌘. Only disable this if you are sure you need to."; diff --git a/MacPass/sp.lproj/KPKLocalizable.strings b/MacPass/sp.lproj/KPKLocalizable.strings new file mode 100644 index 00000000..1dd5a740 --- /dev/null +++ b/MacPass/sp.lproj/KPKLocalizable.strings @@ -0,0 +1,37 @@ +/* + KPKLocalizable.strings + MacPass + + Created by Michael Starke on 20/12/13. + Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +*/ + +/* Copy */ +"KPK_GROUP_COPY_%@" = "Copia %@"; +"KPK_ENTRY_COPY_%@" = "Copia %@"; + +/* Validation Errors */ +"ERROR_WINDOW_TITLE_VALIDATION_FAILED" = "El formato del título no es válido."; +"ERROR_ATTRIBUTE_KEY_VALIDATION_FAILED" = "La llave de atributo no es única."; +"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "La secuenta de Autotipo no es válida."; + +/* Errors */ +"ERROR_CORRUPT_TREE" = "La estructura interna del archivo está corrupta."; +"ERROR_INVALID_FIELD_SIZE" = "La longitud del campo no es válida. ¿Contraseña incorrecta?"; +"ERROR_INVALID_FIELD_TYPE" = "Valor desconocido. ¿Contraseña incorrecta?"; +"ERROR_UNSUPPORTED_DATABASER_VERSION" = "La versión de la base de datos no es soportada."; +"ERROR_UNSUPPORTED_CHIPHER" = "Algoritmo de encriptación no soportado"; +"ERROR_UNKNOWN_FILE_FORMAT" = "Formato de archivo desconocido"; +"ERROR_HEADER_CORRUPTED" = "Cabecera corrupta"; +"ERROR_UNSUPPORTED_KDBX_COMPRESSION_ALGORITHM" = "Algoritmo de compresión no soportado"; +"ERROR_UNSUPPORTED_KDBX_RANDOM_STREAM" = "Tipo de random stream no soportado"; +"ERROR_INTEGRITY_CHECK_FAILED" = "No se puede verificar la integridad de la base de datos"; +"ERROR_PASSWORD_OR_KEYFILE_WRONG" = "La contraseña o el KeePassFile son incorrectos"; +"ERROR_KEEPASSFILE_ELEMENT_MISSING" = "El archivo XML no contiene el elemento KeePassFile"; +"ERROR_ROOT_ELEMENT_MISSING" = "El archivo XML no contiene el nodo Root"; +"ERROR_GROUP_ELEMENT_MISSING" = "El archivo XML no contiene el nodo Group"; +"ERROR_HEADER_HASH_MISSMATCH" = "El hash del header no coincide. Archivo corrupto"; +"ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "El archivo XML no contiene el elemento key"; +"ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "El archivo XML no contiene el elemento data"; +"ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "No es posible leer la información del archivo XML."; +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "El hash de la cabecera de la base de datos es incorrecto. La integridad puede estar en riesgo."; From 7ff71561be3a8080969b25a5333669d2cffedfaa Mon Sep 17 00:00:00 2001 From: m0yP Date: Tue, 10 Jan 2017 14:43:58 -0600 Subject: [PATCH 653/778] Remaining files --- MacPass/sp.lproj/Localizable.strings | Bin 0 -> 14928 bytes MacPass/sp.lproj/MainMenu.strings | 171 +++++++++++++++++++ MacPass/sp.lproj/PasswordCreatorView.strings | 39 +++++ MacPass/sp.lproj/PasswordEditWindow.strings | 30 ++++ MacPass/sp.lproj/PasswordInputView.strings | 12 ++ MacPass/sp.lproj/UpdateSettings.strings | 21 +++ MacPass/sp.lproj/WelcomeWindow.strings | 15 ++ MacPass/sp.lproj/WorkflowSettings.strings | 37 ++++ 8 files changed, 325 insertions(+) create mode 100644 MacPass/sp.lproj/Localizable.strings create mode 100644 MacPass/sp.lproj/MainMenu.strings create mode 100644 MacPass/sp.lproj/PasswordCreatorView.strings create mode 100644 MacPass/sp.lproj/PasswordEditWindow.strings create mode 100644 MacPass/sp.lproj/PasswordInputView.strings create mode 100644 MacPass/sp.lproj/UpdateSettings.strings create mode 100644 MacPass/sp.lproj/WelcomeWindow.strings create mode 100644 MacPass/sp.lproj/WorkflowSettings.strings diff --git a/MacPass/sp.lproj/Localizable.strings b/MacPass/sp.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..44f39eb9b43865e1f1601e8fcd6b5921ed392364 GIT binary patch literal 14928 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 a_+apkOhg`HiUP{@|3$F6RA$5(>irL7!RHeI literal 0 HcmV?d00001 diff --git a/MacPass/sp.lproj/MainMenu.strings b/MacPass/sp.lproj/MainMenu.strings new file mode 100644 index 00000000..4682f681 --- /dev/null +++ b/MacPass/sp.lproj/MainMenu.strings @@ -0,0 +1,171 @@ + +/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "5"; */ +"5.title" = "Mandar al Frente"; + +/* Class = "NSMenuItem"; title = "Window"; ObjectID = "19"; */ +"19.title" = "Ventana"; + +/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "23"; */ +"23.title" = "Minimizar"; + +/* Class = "NSMenu"; title = "Window"; ObjectID = "24"; */ +"24.title" = "Ventana"; + +/* Class = "NSMenu"; title = "AMainMenu"; ObjectID = "29"; */ +"29.title" = "Menú Principal"; + +/* Class = "NSMenuItem"; title = "MacPass"; ObjectID = "56"; */ +"56.title" = "MacPass"; + +/* Class = "NSMenu"; title = "MacPass"; ObjectID = "57"; */ +"57.title" = "MacPass"; + +/* Class = "NSMenuItem"; title = "About MacPass"; ObjectID = "58"; */ +"58.title" = "Acerca de MacPass"; + +/* Class = "NSMenuItem"; title = "Open…"; ObjectID = "72"; */ +"72.title" = "Abrir…"; + +/* Class = "NSMenuItem"; title = "Close"; ObjectID = "73"; */ +"73.title" = "Cerrar"; + +/* Class = "NSMenuItem"; title = "Save…"; ObjectID = "75"; */ +"75.title" = "Guardar…"; + +/* Class = "NSMenu"; title = "File"; ObjectID = "81"; */ +"81.title" = "Archivo"; + +/* Class = "NSMenuItem"; title = "New"; ObjectID = "82"; */ +"82.title" = "Nuevo"; + +/* Class = "NSMenuItem"; title = "File"; ObjectID = "83"; */ +"83.title" = "Archivo"; + +/* Class = "NSMenuItem"; title = "Revert to Saved"; ObjectID = "112"; */ +"112.title" = "Regresar a Guardado"; + +/* Class = "NSMenuItem"; title = "Open Recent"; ObjectID = "124"; */ +"124.title" = "Abrir Reciente"; + +/* Class = "NSMenu"; title = "Open Recent"; ObjectID = "125"; */ +"125.title" = "Abrir Reciente"; + +/* Class = "NSMenuItem"; title = "Clear Menu"; ObjectID = "126"; */ +"126.title" = "Limpiar Menú"; + +/* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "129"; */ +"129.title" = "Preferencias…"; + +/* Class = "NSMenu"; title = "Services"; ObjectID = "130"; */ +"130.title" = "Servicios"; + +/* Class = "NSMenuItem"; title = "Services"; ObjectID = "131"; */ +"131.title" = "Servicios"; + +/* Class = "NSMenuItem"; title = "Hide MacPass"; ObjectID = "134"; */ +"134.title" = "Ocultar MacPass"; + +/* Class = "NSMenuItem"; title = "Quit MacPass"; ObjectID = "136"; */ +"136.title" = "Salir de MacPass"; + +/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "145"; */ +"145.title" = "Ocultar Otros"; + +/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "150"; */ +"150.title" = "Mostrar Todo"; + +/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "197"; */ +"197.title" = "Copiar"; + +/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "198"; */ +"198.title" = "Seleccionar Todo"; + +/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "199"; */ +"199.title" = "Cortar"; + +/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "202"; */ +"202.title" = "Eliminar"; + +/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "203"; */ +"203.title" = "Pegar"; + +/* Class = "NSMenu"; title = "Edit"; ObjectID = "205"; */ +"205.title" = "Editar"; + +/* Class = "NSMenuItem"; title = "Undo"; ObjectID = "207"; */ +"207.title" = "Deshacer"; + +/* Class = "NSMenuItem"; title = "Find…"; ObjectID = "209"; */ +"209.title" = "Buscar…"; + +/* Class = "NSMenuItem"; title = "Redo"; ObjectID = "215"; */ +"215.title" = "Rehacer"; + +/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "217"; */ +"217.title" = "Editar"; + +/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "239"; */ +"239.title" = "Zoom"; + +/* Class = "NSMenuItem"; title = "View"; ObjectID = "295"; */ +"295.title" = "Ver"; + +/* Class = "NSMenu"; title = "View"; ObjectID = "296"; */ +"296.title" = "Ver"; + +/* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "297"; */ +"297.title" = "Mostrar Barra de Herramientas"; + +/* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "298"; */ +"298.title" = "Personalizar Bara de Herramientas…"; + +/* Class = "NSMenuItem"; title = "Help"; ObjectID = "490"; */ +"490.title" = "Ayuda"; + +/* Class = "NSMenu"; title = "Help"; ObjectID = "491"; */ +"491.title" = "Ayuda"; + +/* Class = "NSMenuItem"; title = "MacPass Help"; ObjectID = "492"; */ +"492.title" = "Ayuda de MacPass"; + +/* Class = "NSMenuItem"; title = "Toggle Inspector"; ObjectID = "1181"; */ +"1181.title" = "Mostrar Inspector"; + +/* Class = "NSMenuItem"; title = "Show Password Creator"; ObjectID = "1200"; */ +"1200.title" = "Mostrar Generador de Contraseñas"; + +/* Class = "NSMenuItem"; title = "Change Master Password…"; ObjectID = "1203"; */ +"1203.title" = "Cambiar Contraseña Maestra…"; + +/* Class = "NSMenuItem"; title = "Database Settings…"; ObjectID = "1231"; */ +"1231.title" = "Configuraciones de Base de Datos…"; + +/* Class = "NSMenuItem"; title = "Save As…"; ObjectID = "1243"; */ +"1243.title" = "Guardar Como…"; + +/* Class = "NSMenuItem"; title = "Export As XML…"; ObjectID = "1259"; */ +"1259.title" = "Exportar como XML…"; + +/* Class = "NSMenuItem"; title = "Lock"; ObjectID = "1261"; */ +"1261.title" = "Bloquear"; + +/* Class = "NSMenuItem"; title = "Focus Entries"; ObjectID = "2VP-vB-IeX"; */ +"2VP-vB-IeX.title" = "Resaltar Entradas"; + +/* Class = "NSMenuItem"; title = "Focus Groups"; ObjectID = "HxM-dV-LIH"; */ +"HxM-dV-LIH.title" = "Resaltar Grupos"; + +/* Class = "NSMenuItem"; title = "Focus Inspector"; ObjectID = "Zje-Me-5c8"; */ +"Zje-Me-5c8.title" = "Restaltar Inspector"; + +/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ +"aVO-9F-Lwc.title" = "Vista Rápida"; + +/* Class = "NSMenuItem"; title = "Fix Autotype…"; ObjectID = "nx7-Vf-LiD"; */ +"nx7-Vf-LiD.title" = "Corregir Autotype…"; + +/* Class = "NSMenuItem"; title = "Import XML…"; ObjectID = "rW0-r1-QYL"; */ +"rW0-r1-QYL.title" = "Importar XML…"; + +/* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "zMO-8r-g5v"; */ +"zMO-8r-g5v.title" = "Buscar Actualizaciones…"; diff --git a/MacPass/sp.lproj/PasswordCreatorView.strings b/MacPass/sp.lproj/PasswordCreatorView.strings new file mode 100644 index 00000000..86dcd3de --- /dev/null +++ b/MacPass/sp.lproj/PasswordCreatorView.strings @@ -0,0 +1,39 @@ + +/* Class = "NSTextFieldCell"; title = "Password:"; ObjectID = "149"; */ +"149.title" = "Contraseña:"; + +/* Class = "NSTextFieldCell"; title = "Length:"; ObjectID = "179"; */ +"179.title" = "Longitud:"; + +/* Class = "NSBox"; title = "Allowed Characters"; ObjectID = "332"; */ +"332.title" = "Caracteres Permitidos"; + +/* Class = "NSButtonCell"; title = "A-Z"; ObjectID = "453"; */ +"453.title" = "A-Z"; + +/* Class = "NSButtonCell"; title = "a-z"; ObjectID = "457"; */ +"457.title" = "a-z"; + +/* Class = "NSButtonCell"; title = "0-9"; ObjectID = "461"; */ +"461.title" = "0-9"; + +/* Class = "NSButtonCell"; title = "#!?"; ObjectID = "465"; */ +"465.title" = "#!?"; + +/* Class = "NSButtonCell"; title = "Custom"; ObjectID = "469"; */ +"469.title" = "Personalizar"; + +/* Class = "NSButtonCell"; title = "Use Password"; ObjectID = "495"; */ +"495.title" = "Usar Contraseña"; + +/* Class = "NSButtonCell"; title = "Copy password to pasteboard"; ObjectID = "501"; */ +"501.title" = "Copiar contraseña al portapapeles"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "614"; */ +"614.title" = "Cancelar"; + +/* Class = "NSTextFieldCell"; title = "Entropy:"; ObjectID = "647"; */ +"647.title" = "Entropía:"; + +/* Class = "NSTextFieldCell"; title = "25000 bit"; ObjectID = "653"; */ +"653.title" = "25000 bit"; diff --git a/MacPass/sp.lproj/PasswordEditWindow.strings b/MacPass/sp.lproj/PasswordEditWindow.strings new file mode 100644 index 00000000..4601835e --- /dev/null +++ b/MacPass/sp.lproj/PasswordEditWindow.strings @@ -0,0 +1,30 @@ + +/* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ +"1.title" = "Ventana"; + +/* Class = "NSTextFieldCell"; title = "Missmatching Passwords"; ObjectID = "14"; */ +"14.title" = "Contraseñas no Coincidentes"; + +/* Class = "NSSecureTextFieldCell"; placeholderString = "Repeat Password"; ObjectID = "15"; */ +"15.placeholderString" = "Repetir Contraseña"; + +/* Class = "NSTextFieldCell"; title = "Repeat:"; ObjectID = "16"; */ +"16.title" = "Repetir:"; + +/* Class = "NSSecureTextFieldCell"; placeholderString = "Enter Password"; ObjectID = "18"; */ +"18.placeholderString" = "Ingresar Contraseña"; + +/* Class = "NSButtonCell"; title = "Generate Keyfile"; ObjectID = "21"; */ +"21.title" = "Generar Keyfile"; + +/* Class = "NSTextFieldCell"; title = "Keyfile:"; ObjectID = "22"; */ +"22.title" = "Keyfile:"; + +/* Class = "NSButtonCell"; title = "Change Password"; ObjectID = "69"; */ +"69.title" = "Cambiar Contraseña"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "73"; */ +"73.title" = "Cancelar"; + +/* Class = "NSButtonCell"; title = "Password:"; ObjectID = "OQz-DA-SoY"; */ +"OQz-DA-SoY.title" = "Contraseña:"; diff --git a/MacPass/sp.lproj/PasswordInputView.strings b/MacPass/sp.lproj/PasswordInputView.strings new file mode 100644 index 00000000..fb39d812 --- /dev/null +++ b/MacPass/sp.lproj/PasswordInputView.strings @@ -0,0 +1,12 @@ + +/* Class = "NSButtonCell"; title = "Unlock"; ObjectID = "3"; */ +"3.title" = "Desbloquear"; + +/* Class = "NSTextFieldCell"; title = "Keyfile"; ObjectID = "18"; */ +"18.title" = "Keyfile"; + +/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "IU9-5u-jn9"; */ +"IU9-5u-jn9.title" = "Contraseña"; + +/* Class = "NSTextFieldCell"; title = "Wrong password!"; ObjectID = "269"; */ +"269.title" = "Contraseña Incorrecta"; diff --git a/MacPass/sp.lproj/UpdateSettings.strings b/MacPass/sp.lproj/UpdateSettings.strings new file mode 100644 index 00000000..f46571ad --- /dev/null +++ b/MacPass/sp.lproj/UpdateSettings.strings @@ -0,0 +1,21 @@ + +/* Class = "NSMenuItem"; title = "every Week"; ObjectID = "3FR-Va-iau"; */ +"3FR-Va-iau.title" = "cada semana"; + +/* Class = "NSTextFieldCell"; title = "Check for Updates"; ObjectID = "9tL-CA-Vdg"; */ +"9tL-CA-Vdg.title" = "Buscar Actualizaciones"; + +/* Class = "NSMenuItem"; title = "every Hour"; ObjectID = "DjF-1I-6Nq"; */ +"DjF-1I-6Nq.title" = "cada hora"; + +/* Class = "NSButtonCell"; title = "Automatically Check for Updates"; ObjectID = "RFg-q1-AwJ"; */ +"RFg-q1-AwJ.title" = "Buscar Actualizaciones Automáticamente"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "RKd-H8-eCF"; */ +"RKd-H8-eCF.title" = "Otras Vistas"; + +/* Class = "NSMenuItem"; title = "every Month"; ObjectID = "Uo3-kv-1ro"; */ +"Uo3-kv-1ro.title" = "cada mes"; + +/* Class = "NSMenuItem"; title = "every Day"; ObjectID = "o9E-hk-H1T"; */ +"o9E-hk-H1T.title" = "cada día"; diff --git a/MacPass/sp.lproj/WelcomeWindow.strings b/MacPass/sp.lproj/WelcomeWindow.strings new file mode 100644 index 00000000..810383f0 --- /dev/null +++ b/MacPass/sp.lproj/WelcomeWindow.strings @@ -0,0 +1,15 @@ + +/* Class = "NSWindow"; title = "Welcome"; ObjectID = "1"; */ +"1.title" = "Bienvenido"; + +/* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "24"; */ +"24.title" = "Bienvenido a MacPass"; + +/* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "44"; */ +"44.title" = "Abrir Base de Datos…"; + +/* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "48"; */ +"48.title" = "Crear Nueva Base de Datos"; + +/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "70"; */ +"70.title" = "Cancelar"; diff --git a/MacPass/sp.lproj/WorkflowSettings.strings b/MacPass/sp.lproj/WorkflowSettings.strings new file mode 100644 index 00000000..16ea48d8 --- /dev/null +++ b/MacPass/sp.lproj/WorkflowSettings.strings @@ -0,0 +1,37 @@ + +/* Class = "NSBox"; title = "Entry Table"; ObjectID = "2"; */ +"2.title" = "Tabla de Entradas"; + +/* Class = "NSTextFieldCell"; title = "Double-click on URL:"; ObjectID = "10"; */ +"10.title" = "Doble click en URL:"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "15"; */ +"15.title" = "Otras Vistas"; + +/* Class = "NSMenuItem"; title = "Copies URL"; ObjectID = "16"; */ +"16.title" = "Copia URL"; + +/* Class = "NSMenuItem"; title = "Opens URL"; ObjectID = "17"; */ +"17.title" = "Abre URL"; + +/* Class = "NSTextFieldCell"; title = "Double-click on Title:"; ObjectID = "37"; */ +"37.title" = "Doble click en Título:"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "42"; */ +"42.title" = "Otras Vistas"; + +/* Class = "NSMenuItem"; title = "Is Ignored"; ObjectID = "43"; */ +"43.title" = "Es Ignorado"; + +/* Class = "NSMenuItem"; title = "Opens Inspector"; ObjectID = "44"; */ +"44.title" = "Abre Inspector"; + +/* Class = "NSMenuItem"; title = "Default Browser"; ObjectID = "7YX-EA-9KA"; */ +"7YX-EA-9KA.title" = "Navegador Predeterminado"; + +/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "XgO-Tj-QjO"; */ +"XgO-Tj-QjO.title" = "Otras Vistas"; + +/* Class = "NSTextFieldCell"; title = "Open URLs in:"; ObjectID = "soD-wI-YOH"; */ +"soD-wI-YOH.title" = "Abre URLs en:"; + From 5b6069f85bb257873f85601c05bd7c6388232d43 Mon Sep 17 00:00:00 2001 From: Zero King Date: Wed, 11 Jan 2017 13:24:01 +0000 Subject: [PATCH 654/778] Fix mailto links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 803d9adf..071221d2 100644 --- a/README.md +++ b/README.md @@ -112,9 +112,9 @@ The following list might not be complete, please refer to [merged Pull Requests] [Benjamin Steinwender](https://github.com/auge) German localization -[Zhao Peng](patchao2000@gmail.com) Simplified Chinese localization +[Zhao Peng](mailto:patchao2000@gmail.com) Simplified Chinese localization -[Alex Petkevich](alex@mrdoggy.info) Russian localization +[Alex Petkevich](mailto:alex@mrdoggy.info) Russian localization ### Other @@ -142,7 +142,7 @@ The following list might not be complete, please refer to [merged Pull Requests] [Dennis Bolio](https://github.com/dennisbolio) Fixes issues with icon selection -[Mario Sangiorgio](mariosangiorgio@gmail.com) Improved password generation, Improved English localization +[Mario Sangiorgio](mailto:mariosangiorgio@gmail.com) Improved password generation, Improved English localization [Michael Belz](https://github.com/sub0ne) Fixed MacPass not opening any window, when lastly opened Database is missing. From 25c24a07948316506cd4390f600875b9cfbe892f Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 11 Jan 2017 14:35:32 +0100 Subject: [PATCH 655/778] Updated acknowledgments --- MacPass.xcodeproj/project.pbxproj | 4 ++ MacPass/de.lproj/Credits.rtf | 20 +++++++--- MacPass/en.lproj/Credits.rtf | 32 ++++++++++------ MacPass/fr.lproj/Credits.rtf | 64 +++++++++++++++++-------------- MacPass/it.lproj/Credits.rtf | 24 ++++++++---- MacPass/nl.lproj/Credits.rtf | 24 ++++++++---- MacPass/pl.lproj/Credits.rtf | 24 ++++++++---- MacPass/ru.lproj/Credits.rtf | 28 ++++++++------ MacPass/zh-Hans.lproj/Credits.rtf | 24 ++++++++---- README.md | 8 +++- 10 files changed, 163 insertions(+), 89 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 4a304b72..37956556 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -405,6 +405,8 @@ 4C431BCB16E2A82700700A81 /* MPPasteBoardController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasteBoardController.h; sourceTree = ""; }; 4C431BCC16E2A82700700A81 /* MPPasteBoardController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasteBoardController.m; sourceTree = ""; }; 4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OverlayWindow.xib; sourceTree = ""; }; + 4C43B02F1E266A3A000CB4D7 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 4C43B0301E266A41000CB4D7 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = pl; path = pl.lproj/Credits.rtf; sourceTree = ""; }; 4C45FB1A178E09ED0010007D /* MacPassTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MacPassTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4C45FB20178E09ED0010007D /* MacPassTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MacPassTests-Info.plist"; sourceTree = ""; }; 4C45FB22178E09ED0010007D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -1972,6 +1974,7 @@ BD6C366319484CF40089EB37 /* nl */, FA638D1F1C39BFCC00B10CC6 /* ru */, 4825CC921C414D58003E37E9 /* it */, + 4C43B02F1E266A3A000CB4D7 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -1986,6 +1989,7 @@ BD6C366419484CF40089EB37 /* nl */, FA638D201C39BFCC00B10CC6 /* ru */, 4825CC931C414D58003E37E9 /* it */, + 4C43B0301E266A41000CB4D7 /* pl */, ); name = Credits.rtf; sourceTree = ""; diff --git a/MacPass/de.lproj/Credits.rtf b/MacPass/de.lproj/Credits.rtf index de506477..cc8f4481 100644 --- a/MacPass/de.lproj/Credits.rtf +++ b/MacPass/de.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww19440\viewh16600\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ Lizenz:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -28,13 +29,22 @@ You should have received a copy of the GNU General Public License along with thi \b Credits:\ \ +\b0 Chinesische(Kurzzeichen) \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}} +\b \ +\ + \b0 Franz\'f6sische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Chinesisch von {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +Italienische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Russian von {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Niederl\'e4ndische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Italian von {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polnische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Spanische \'dcbersetzung von {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass Icon von {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}} \b \ diff --git a/MacPass/en.lproj/Credits.rtf b/MacPass/en.lproj/Credits.rtf index 1944622f..7548188d 100644 --- a/MacPass/en.lproj/Credits.rtf +++ b/MacPass/en.lproj/Credits.rtf @@ -1,19 +1,22 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 \f0\b\fs24 \cf0 Project Website:\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/mstarke/MacPass"}}{\fldrslt -\b0 MacPass}} +\b0 \cf0 MacPass}} \b0 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\b \ +\b \cf0 \ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,18 +36,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ @@ -72,7 +82,7 @@ Copyright \'a9 2006 Andy Matuschak. \kerning1\expnd0\expndtw0 All rights reserve \cf3 \kerning1\expnd0\expndtw0 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 NSData+Base64}}\ -Copyright \'a92013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt denis2342}}\ +Copyright \'a92013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt \cf3 denis2342}}\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "http://www.cocoadev.com/index.pl?NSDataCategory"}}{\fldrslt \cf3 NSData+Gzip}}\ diff --git a/MacPass/fr.lproj/Credits.rtf b/MacPass/fr.lproj/Credits.rtf index 5fa41882..b0f666c7 100644 --- a/MacPass/fr.lproj/Credits.rtf +++ b/MacPass/fr.lproj/Credits.rtf @@ -1,54 +1,58 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh13880\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 - -\f0\b\fs24 \cf0 Site web du projet :\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 + +\f0\b\fs24 \cf0 Project Website:\ {\field{\*\fldinst{HYPERLINK "https://github.com/mstarke/MacPass"}}{\fldrslt -\b0 \cf0 MacPass}} +\b0 MacPass}} \b0 \ \b \ -Licence :\ +License:\ -\b0 MacPass Client compatible KeePass pour Mac OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +\b0 MacPass KeePass compatible client for OS X\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ -Ce programme est un programme libre : vous pouvez le redistribuer et/ou le modifier suivant les termes de la \ -Licence g\'e9n\'e9rale GNU, telle que publi\'e9e par la Free Software Foundation, soit la version 3 de cette License,\ -soit, si vous le d\'e9sirez, une version ult\'e9rieure.\ +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ +the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ \ -Ce programme est mis \'e0 disposition du public en esp\'e9rant qu'il puisse \'eatre utile, mais sans AUCUNE GARANTIE,\ -explicite ou implicite. Veuillez vous reporter au texte de la licence pour plus d'informations.\ +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of\ \ -Vous devriez avoir re\'e7u une copie de la licence g\'e9n\'e9rale GNU avec ce programme. Si ce n'est pas le cas,\ -veuillez vous reporter \'e0 {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt http://www.gnu.org/licenses/}}.\ +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\ +\ +You should have received a copy of the GNU General Public License along with this program. If not, see {\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt http://www.gnu.org/licenses/}}.\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 \cf0 \kerning1\expnd0\expndtw3 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\b \cf0 \kerning1\expnd0\expndtw0 Remerciements et copyrights :\ +\b \cf0 \kerning1\expnd0\expndtw0 Credits:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf2 \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\cf2 \ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ \ -\cf0 Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ +\ +MacPass\kerning1\expnd0\expndtw3 + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ +\ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ @@ -70,19 +74,21 @@ Copyright \'a9 2011, Alex Rozanski. All rights reserved.\ {\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org"}}{\fldrslt \cf3 Sparkl\kerning1\expnd0\expndtw3 e}}\kerning1\expnd0\expndtw3 \ -Copyright \'a9 2006 Andy Matuschak\kerning1\expnd0\expndtw0 \ +Copyright \'a9 2006 Andy Matuschak. \kerning1\expnd0\expndtw0 All rights reserved.\kerning1\expnd0\expndtw3 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 +\cf3 \kerning1\expnd0\expndtw0 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/questions/11386876/how-to-encode-and-decode-files-as-base64-in-cocoa-objective-c"}}{\fldrslt \cf3 NSData+Base64}}\ Copyright \'a92013, {\field{\*\fldinst{HYPERLINK "http://stackoverflow.com/users/200321/denis2342"}}{\fldrslt denis2342}}\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "http://www.cocoadev.com/index.pl?NSDataCategory"}}{\fldrslt \cf3 NSData+Gzip}}\ -Extrait du wiki CocoaDev\ +Extracted from code on the CocoaDev Wiki\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/karelia/SecurityInterface"}}{\fldrslt \cf3 KSPasswordField}}\ -Code r\'e9-utilis\'e9 du HNHUIRoundedSecureTextField\ +Code reused in HNHUIRoundedSecureTextField\ Copyright \'a92012 Mike Abdullah, Karelia Software. All rights reserved.\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 diff --git a/MacPass/it.lproj/Credits.rtf b/MacPass/it.lproj/Credits.rtf index 1944622f..3c015396 100644 --- a/MacPass/it.lproj/Credits.rtf +++ b/MacPass/it.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,18 +34,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ diff --git a/MacPass/nl.lproj/Credits.rtf b/MacPass/nl.lproj/Credits.rtf index 1944622f..3c015396 100644 --- a/MacPass/nl.lproj/Credits.rtf +++ b/MacPass/nl.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,18 +34,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ diff --git a/MacPass/pl.lproj/Credits.rtf b/MacPass/pl.lproj/Credits.rtf index 1944622f..3c015396 100644 --- a/MacPass/pl.lproj/Credits.rtf +++ b/MacPass/pl.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,18 +34,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ diff --git a/MacPass/ru.lproj/Credits.rtf b/MacPass/ru.lproj/Credits.rtf index 83521c53..add92c4a 100644 --- a/MacPass/ru.lproj/Credits.rtf +++ b/MacPass/ru.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh16280\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,20 +34,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf2 \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ diff --git a/MacPass/zh-Hans.lproj/Credits.rtf b/MacPass/zh-Hans.lproj/Credits.rtf index 1944622f..3c015396 100644 --- a/MacPass/zh-Hans.lproj/Credits.rtf +++ b/MacPass/zh-Hans.lproj/Credits.rtf @@ -1,6 +1,7 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf760 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red52\green110\blue183;\red38\green38\blue38;} +{\*\expandedcolortbl;;\csgenericrgb\c20392\c43137\c71765;\csgenericrgb\c14902\c14902\c14902;} \paperw11900\paperh16840\vieww25780\viewh19380\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 @@ -13,7 +14,7 @@ License:\ \b0 MacPass KeePass compatible client for OS X\ -Copyright (c) 2012-2016 Michael Starke, HicknHack Software GmbH\ +Copyright (c) 2012-2017 Michael Starke, HicknHack Software GmbH\ \ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\ the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\ @@ -33,18 +34,25 @@ You should have received a copy of the GNU General Public License along with thi \b0 \cf2 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 -\cf0 French Translation by {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ +\cf0 Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt Jannick Hemelhof}}\ \ -Simplified Chinese by {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +French translation: {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt Gil Andr\'e9}}\ \ -Russian Translation by {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +Italian translation: {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ \ -Italian Translation by {\field{\*\fldinst{HYPERLINK "mailto:info@francescoservida.ch"}}{\fldrslt Francesco Servida}}\ +Polish translation: {\field{\*\fldinst{HYPERLINK "http://www.webii.pl/"}}{\fldrslt Micha\uc0\u322 Jaglewicz}}\ +\ +Russian translation: {\field{\*\fldinst{HYPERLINK "mailto:alex@mrdoggy.info"}}{\fldrslt Aliaksandr Piatkevich}}\ +\ +Simplified Chinese translation: {\field{\*\fldinst{HYPERLINK "mailto:patchao2000@gmail.com"}}{\fldrslt Zhao Peng}}\ +\ +Spanisch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/m0yP"}}{\fldrslt \expnd0\expndtw0\kerning0 +Moises Perez}}\ \ MacPass\kerning1\expnd0\expndtw3 - \kerning1\expnd0\expndtw0 Icon by {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ + \kerning1\expnd0\expndtw0 Icon: {\field{\*\fldinst{HYPERLINK "http://iiro.jappinen.me"}}{\fldrslt Iiro J\'e4ppinen}}\ \ -Database Icons by {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ +Database Icons: {\field{\*\fldinst{HYPERLINK "https://github.com/JoannaOlsen"}}{\fldrslt Joanna Olsen}}\cf2 \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/robbiehanson/KissXML"}}{\fldrslt \cf2 KissXML}}\cf3 \ diff --git a/README.md b/README.md index 803d9adf..ad47a116 100644 --- a/README.md +++ b/README.md @@ -112,10 +112,16 @@ The following list might not be complete, please refer to [merged Pull Requests] [Benjamin Steinwender](https://github.com/auge) German localization -[Zhao Peng](patchao2000@gmail.com) Simplified Chinese localization +[Francesco Servida](mailto:info@francescoservida.ch) Italian localization + +[Michał Jaglewicz](http://www.webii.pl) Polish localization [Alex Petkevich](alex@mrdoggy.info) Russian localization +[Zhao Peng](patchao2000@gmail.com) Simplified Chinese localization + +[Moises Perez](https://github.com/m0yP) Spanish localization + ### Other [Jellyfrog](https://github.com/Jellyfrog) Asset file size optimization From 334e92d1b4b0cc0da38786e2055fcc2d59f2513b Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 11 Jan 2017 15:59:07 +0100 Subject: [PATCH 656/778] Updgraded Sparkle to 1.15.1 --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass.xcodeproj/project.pbxproj | 4 ++-- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cartfile b/Cartfile index 641cde94..bed18952 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "sparkle-project/Sparkle" ~> 1.13.1 +github "sparkle-project/Sparkle" ~> 1.15.1 github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 0962c715..6d4c5609 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" -github "sparkle-project/Sparkle" "1.14.0" +github "sparkle-project/Sparkle" "1.15.1" diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 37956556..bb96a49a 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -405,7 +405,7 @@ 4C431BCB16E2A82700700A81 /* MPPasteBoardController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasteBoardController.h; sourceTree = ""; }; 4C431BCC16E2A82700700A81 /* MPPasteBoardController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasteBoardController.m; sourceTree = ""; }; 4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OverlayWindow.xib; sourceTree = ""; }; - 4C43B02F1E266A3A000CB4D7 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 4C43B02F1E266A3A000CB4D7 /* pl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; 4C43B0301E266A41000CB4D7 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = pl; path = pl.lproj/Credits.rtf; sourceTree = ""; }; 4C45FB1A178E09ED0010007D /* MacPassTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MacPassTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4C45FB20178E09ED0010007D /* MacPassTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MacPassTests-Info.plist"; sourceTree = ""; }; @@ -1495,7 +1495,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0820; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index a390e86c..58f42cbf 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Tue, 17 Jan 2017 14:55:52 -0600 Subject: [PATCH 657/778] Spanish lang corrections Minor fixes --- MacPass/sp.lproj/EntryInspectorView.strings | 8 ++++---- MacPass/sp.lproj/GroupInspectorView.strings | 2 +- MacPass/sp.lproj/IntegrationSettings.strings | 4 ++-- MacPass/sp.lproj/KPKLocalizable.strings | 2 +- MacPass/sp.lproj/Localizable.strings | Bin 14928 -> 14926 bytes 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MacPass/sp.lproj/EntryInspectorView.strings b/MacPass/sp.lproj/EntryInspectorView.strings index 4ba7caa2..bcfd31aa 100644 --- a/MacPass/sp.lproj/EntryInspectorView.strings +++ b/MacPass/sp.lproj/EntryInspectorView.strings @@ -69,13 +69,13 @@ "238.ibShadowedLabels[2]" = "Personalizado"; /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autotipo"; +"238.ibShadowedLabels[3]" = "Autotype"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Guardar"; /* Class = "NSButtonCell"; title = "Enable Autotype"; ObjectID = "9Nx-mE-DK3"; */ -"9Nx-mE-DK3.title" = "Habilitar Autotipo"; +"9Nx-mE-DK3.title" = "Habilitar Autotype"; /* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "NtM-y3-l4D"; */ "NtM-y3-l4D.title" = "Vista Rápida"; @@ -87,7 +87,7 @@ "RQB-bR-MC0.title" = "Secuencia de Ventana"; /* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "bQ5-0E-h3O"; */ -"bQ5-0E-h3O.title" = "Secuencia Autotipo"; +"bQ5-0E-h3O.title" = "Secuencia Autotype"; /* Class = "NSTextFieldCell"; title = "Window Title"; ObjectID = "bkO-Bk-AuX"; */ "bkO-Bk-AuX.title" = "Título de Ventana"; @@ -105,7 +105,7 @@ "fW9-9p-wwR.placeholderString" = "Secuencia de Ventana Personalizada"; /* Class = "NSTabViewItem"; label = "Autotype"; ObjectID = "hK7-Dx-yjH"; */ -"hK7-Dx-yjH.label" = "Autotipo"; +"hK7-Dx-yjH.label" = "Autotype"; /* Class = "NSTextFieldCell"; title = "Window Associations"; ObjectID = "ned-1Q-FXA"; */ "ned-1Q-FXA.title" = "Asociaciones de Ventana"; diff --git a/MacPass/sp.lproj/GroupInspectorView.strings b/MacPass/sp.lproj/GroupInspectorView.strings index 4f767f88..8064bca3 100644 --- a/MacPass/sp.lproj/GroupInspectorView.strings +++ b/MacPass/sp.lproj/GroupInspectorView.strings @@ -15,4 +15,4 @@ "265.title" = "Buscar"; /* Class = "NSTextFieldCell"; title = "Autotype"; ObjectID = "277"; */ -"277.title" = "Autotipo"; +"277.title" = "Autotype"; diff --git a/MacPass/sp.lproj/IntegrationSettings.strings b/MacPass/sp.lproj/IntegrationSettings.strings index 4cfe2c3c..a9357c7f 100644 --- a/MacPass/sp.lproj/IntegrationSettings.strings +++ b/MacPass/sp.lproj/IntegrationSettings.strings @@ -3,7 +3,7 @@ "3.title" = "Habilitar Servidor KeePassHttp"; /* Class = "NSButtonCell"; title = "Enable global Autotype"; ObjectID = "1qb-Rd-jYu"; */ -"1qb-Rd-jYu.title" = "Habilitar Autotipo Global"; +"1qb-Rd-jYu.title" = "Habilitar Autotype Global"; /* Class = "NSTextFieldCell"; title = "Shortcut"; ObjectID = "6oN-CH-T0O"; */ "6oN-CH-T0O.title" = "Atajo"; @@ -15,7 +15,7 @@ "KbH-0Q-5Tw.title" = "Keepass HTTP"; /* Class = "NSBox"; title = "Autotype"; ObjectID = "P9N-HM-wER"; */ -"P9N-HM-wER.title" = "Autotipo"; +"P9N-HM-wER.title" = "Autotype"; /* Class = "NSBox"; title = "Preview"; ObjectID = "VVs-b5-cX9"; */ "VVs-b5-cX9.title" = "Vista Previa"; diff --git a/MacPass/sp.lproj/KPKLocalizable.strings b/MacPass/sp.lproj/KPKLocalizable.strings index 1dd5a740..d954d51c 100644 --- a/MacPass/sp.lproj/KPKLocalizable.strings +++ b/MacPass/sp.lproj/KPKLocalizable.strings @@ -13,7 +13,7 @@ /* Validation Errors */ "ERROR_WINDOW_TITLE_VALIDATION_FAILED" = "El formato del título no es válido."; "ERROR_ATTRIBUTE_KEY_VALIDATION_FAILED" = "La llave de atributo no es única."; -"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "La secuenta de Autotipo no es válida."; +"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "La secuenta de Autotype no es válida."; /* Errors */ "ERROR_CORRUPT_TREE" = "La estructura interna del archivo está corrupta."; diff --git a/MacPass/sp.lproj/Localizable.strings b/MacPass/sp.lproj/Localizable.strings index 44f39eb9b43865e1f1601e8fcd6b5921ed392364..0103734bf39b9c18170cf5866728b0f81c082527 100644 GIT binary patch delta 59 vcmcama;{_pKNo8yLjgnTW)ZHx{1E13F)2?dD@7_FDt$|eQ64Jzz_I`UFR>Ck delta 65 zcmX?Ca-n1cKNo8zLjgnnW)ZHx{LDb+B_L-FPtQjGEt^^@;e G761UOTNE?^ From c9b3637c24e508d99cbaffb65ce45b4f396c1e91 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 18 Jan 2017 18:30:10 +0100 Subject: [PATCH 658/778] Extended key mapper to include modifiers as well --- MacPass.xcodeproj/project.pbxproj | 4 ++ MacPass/MPAutotypeClear.m | 2 +- MacPass/MPAutotypeCommand.m | 4 +- MacPass/MPAutotypeKeyPress.m | 11 +++-- MacPass/MPKeyMapper.h | 7 +++- MacPass/MPKeyMapper.m | 69 ++++++++++++++++++++++--------- MacPassTests/MPTestKeyMapper.m | 41 ++++++++++++++++++ 7 files changed, 108 insertions(+), 30 deletions(-) create mode 100644 MacPassTests/MPTestKeyMapper.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index bb96a49a..5adf29ab 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -171,6 +171,7 @@ 4C7B63801C0CB57300D7038C /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4C7B637A1C0CB55600D7038C /* Sparkle.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 4C7BD07619FE94C900C7AA5C /* MacPassImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4C7BD07519FE94C900C7AA5C /* MacPassImages.xcassets */; }; 4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C7F8B6A1A10B68400CCB83D /* WelcomeWindow.xib */; }; + 4C80304A1E2FBAA300133E4C /* MPTestKeyMapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8030491E2FBAA300133E4C /* MPTestKeyMapper.m */; }; 4C811C8316ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C811C8216ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m */; }; 4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C83814115BF4677001AE468 /* MPDocumentWindowController.m */; }; 4C888C9016EB6C91003D34A1 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4C888C8E16EB6C91003D34A1 /* Localizable.strings */; }; @@ -550,6 +551,7 @@ 4C7F8B781A10B69500CCB83D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/WelcomeWindow.strings; sourceTree = ""; }; 4C7F8B7A1A10B69700CCB83D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/WelcomeWindow.strings; sourceTree = ""; }; 4C7F8B7C1A10B69800CCB83D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/WelcomeWindow.strings; sourceTree = ""; }; + 4C8030491E2FBAA300133E4C /* MPTestKeyMapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestKeyMapper.m; sourceTree = ""; }; 4C811C8116ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPKeyfilePathControlDelegate.h; sourceTree = ""; }; 4C811C8216ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKeyfilePathControlDelegate.m; sourceTree = ""; }; 4C83814015BF4677001AE468 /* MPDocumentWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentWindowController.h; sourceTree = ""; }; @@ -1006,6 +1008,7 @@ 4C45FB2C178E0BCB0010007D /* MPDatabaseLoading.m */, 4C45FB2F178E0CE20010007D /* MPTestDocument.m */, 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */, + 4C8030491E2FBAA300133E4C /* MPTestKeyMapper.m */, 4C45FB1F178E09ED0010007D /* Supporting Files */, ); path = MacPassTests; @@ -1691,6 +1694,7 @@ 4C45FB30178E0CE20010007D /* MPTestDocument.m in Sources */, 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */, 4C10207F1B750E2F00BFCD59 /* MPTestAutotype.m in Sources */, + 4C80304A1E2FBAA300133E4C /* MPTestKeyMapper.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MacPass/MPAutotypeClear.m b/MacPass/MPAutotypeClear.m index 1f8d3950..106cb6f4 100644 --- a/MacPass/MPAutotypeClear.m +++ b/MacPass/MPAutotypeClear.m @@ -17,7 +17,7 @@ } - (void)execute { - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A"]; + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"a" modifier:NULL]; if(keyCode == kMPUnknownKeyCode) { NSLog(@"Unable to generate key code for 'A'"); return; diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 4e1bc9ff..57fc6079 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -234,7 +234,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSUInteger part = random() % 2; unichar key = [pasteContent characterAtIndex:i]; - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:[NSString stringWithFormat:@"%c", key]]; + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:[NSString stringWithFormat:@"%c", key] modifier:NULL]; /* append unknown keycodes to the paste since we can't type them */ if (part == 0 || keyCode == kMPUnknownKeyCode) { @@ -394,7 +394,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } - (void)sendPasteKeyCode { - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"V"]; + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"v" modifier:NULL]; if(keyCode == kMPUnknownKeyCode) { return; // We did not find a mapping for "V" } diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index b2d22df7..9cc7572e 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -32,11 +32,15 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers } - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character { - CGKeyCode mappedKey = [MPKeyMapper keyCodeForCharacter:character]; + CGEventFlags modifiers; + CGKeyCode mappedKey = [MPKeyMapper keyCodeForCharacter:character modifier:&modifiers]; if(mappedKey == kMPUnknownKeyCode) { self = nil; } else { + if(modifiers && (modiferMask != modifiers)) { + NSLog(@"Supplied modifiers for character %@ do not match required modifiers", character); + } self = [self initWithModifierMask:modiferMask keyCode:mappedKey]; } return self; @@ -60,9 +64,4 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers //return ([self _transformKeyCode] != kMPUnknownKeyCode); } -- (CGKeyCode)_transformKeyCode { - NSString *key = [MPKeyMapper stringForKey:self.keyCode]; - return [MPKeyMapper keyCodeForCharacter:key]; -} - @end diff --git a/MacPass/MPKeyMapper.h b/MacPass/MPKeyMapper.h index de2b187f..ce034f6e 100644 --- a/MacPass/MPKeyMapper.h +++ b/MacPass/MPKeyMapper.h @@ -16,16 +16,19 @@ FOUNDATION_EXTERN uint16_t const kMPUnknownKeyCode; * Retrieves the string representation with the current keyboard mapping for the keycode * * @param keyCode The virtual keycode to be pressed + * @param modifier State of modifier flags being pressed with the key * @return NSString containing the current mapping for the keyCode */ ++ (NSString *)stringForKey:(CGKeyCode)keyCode modifier:(CGEventFlags)modifier; + (NSString *)stringForKey:(CGKeyCode)keyCode; /** - * Determines the keyCode (if possible) for the character + * Determines the keyCode (if possible) for the character. Modifiers might be needed * * @param character NSString with a single character to be transformed + * @param modifier pointer to a modifer structure to return the modifer to use with the key code for the character * @return virtual Keycode for the supplied string. If none is found, kMPUnkonwKeyCode is returned */ -+ (CGKeyCode)keyCodeForCharacter:(NSString *)character; ++ (CGKeyCode)keyCodeForCharacter:(NSString *)character modifier:(CGEventFlags *)modifer; @end diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index d4b1328a..d0d7aa63 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -28,9 +28,13 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; @implementation MPKeyMapper + (NSString *)stringForKey:(CGKeyCode)keyCode { + return [self stringForKey:keyCode modifier:0]; +} + ++ (NSString *)stringForKey:(CGKeyCode)keyCode modifier:(CGEventFlags)modifier { TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); CFDataRef layoutData = TISGetInputSourceProperty(currentKeyboard,kTISPropertyUnicodeKeyLayoutData); - + if(!layoutData) { currentKeyboard = TISCopyCurrentASCIICapableKeyboardLayoutInputSource(); layoutData = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData); @@ -43,21 +47,36 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; UniChar chars[4]; UniCharCount realLength; - UCKeyTranslate(keyboardLayout, - keyCode, - kUCKeyActionDisplay, - 0, - LMGetKbdType(), - kUCKeyTranslateNoDeadKeysBit, - &keysDown, - sizeof(chars) / sizeof(chars[0]), - &realLength, - chars); + + uint32_t modifierKeyState = 0; + if(modifier & kCGEventFlagMaskCommand) { + modifierKeyState |= ((cmdKey >> 8 ) & 0xFF); + } + if(modifier & kCGEventFlagMaskShift) { + modifierKeyState |= ((shiftKey >> 8) & 0xFF); + } + if(modifier & kCGEventFlagMaskAlternate) { + modifierKeyState |= ((optionKey >> 8) & 0xFF); + } + if(modifier & kCGEventFlagMaskControl) { + modifierKeyState |= ((controlKey >> 8) & 0xFF); + } + OSStatus success = 0; + success = UCKeyTranslate(keyboardLayout, + keyCode, + kUCKeyActionDisplay, + modifierKeyState, + LMGetKbdType(), + kUCKeyTranslateNoDeadKeysBit, + &keysDown, + sizeof(chars) / sizeof(chars[0]), + &realLength, + chars); return CFBridgingRelease(CFStringCreateWithCharacters(kCFAllocatorDefault, chars, 1)); } -+ (CGKeyCode)keyCodeForCharacter:(NSString *)character { ++ (CGKeyCode)keyCodeForCharacter:(NSString *)character modifier:(CGEventFlags *)modifer { static NSMutableDictionary *keyboardCodeDictionary; TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); @@ -70,26 +89,38 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; keyboardCodeDictionary = [[NSMutableDictionary alloc] initWithCapacity:2]; } /* search for current character mapping */ - NSDictionary *charToCodeDict = keyboardCodeDictionary[localizedName]; - + NSDictionary *> *charToCodeDict = keyboardCodeDictionary[localizedName]; + if(nil == charToCodeDict) { /* Add mapping */ NSMutableDictionary *tempCharToCodeDict = [[NSMutableDictionary alloc] initWithCapacity:128]; /* Generate table of keycodes and characters. */ /* Loop through every keycode (0 - 127) to find its current mapping. */ + /* Loop throuhg every control key compbination for every virutal key */ for(CGKeyCode keyCode = 0; keyCode < 128; ++keyCode) { - NSString *string = [self stringForKey:keyCode]; - if(string != nil) { - tempCharToCodeDict[string] = @(keyCode); + uint64_t modifiers[] = { 0, kCGEventFlagMaskShift, kCGEventFlagMaskAlternate, kCGEventFlagMaskControl, kCGEventFlagMaskShift | kCGEventFlagMaskAlternate, kCGEventFlagMaskShift | kCGEventFlagMaskControl, kCGEventFlagMaskShift | kCGEventFlagMaskAlternate | kCGEventFlagMaskControl }; + for(int modifierIndex = 0; modifierIndex < sizeof(modifiers); modifierIndex++) { + NSString *string = [self stringForKey:keyCode modifier:modifiers[modifierIndex]]; + if(string != nil && string.length > 0 && nil == tempCharToCodeDict[string]) { + tempCharToCodeDict[string] = @[@(keyCode), @(modifiers[modifierIndex])]; + } } } charToCodeDict = [[NSDictionary alloc] initWithDictionary:tempCharToCodeDict]; keyboardCodeDictionary[localizedName] = charToCodeDict; } NSString *singleCharacter = [character substringToIndex:1].lowercaseString; - if(charToCodeDict[singleCharacter]) { - return charToCodeDict[singleCharacter].integerValue; + NSArray *result = charToCodeDict[singleCharacter]; + if(result) { + if(modifer) { + *modifer = result[1].unsignedIntegerValue; + } + /* false positive when no modifier was supplied! */ + return result[0].integerValue; + } + if(modifer) { + *modifer = 0; } return kMPUnknownKeyCode; } diff --git a/MacPassTests/MPTestKeyMapper.m b/MacPassTests/MPTestKeyMapper.m new file mode 100644 index 00000000..7b4506e2 --- /dev/null +++ b/MacPassTests/MPTestKeyMapper.m @@ -0,0 +1,41 @@ +// +// MPTestKeyMapper.m +// MacPass +// +// Created by Michael Starke on 18/01/2017. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import +#import + +#import "MPKeyMapper.h" + + +@interface MPTestKeyMapper : XCTestCase + +@end + +@implementation MPTestKeyMapper + +- (void)testKeyMapper { + CGEventFlags flags = 0; + CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A" modifier:&flags]; + XCTAssertEqual(kVK_ANSI_A, keyCode); + XCTAssertEqual(kCGEventFlagMaskShift, flags); + + /* Test only works for german keyboard layout! + XCTAssertEqualObjects(@"a",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:0]); + XCTAssertEqualObjects(@"A",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:kCGEventFlagMaskShift]); + + XCTAssertEqualObjects(@"8",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:0]); + XCTAssertEqualObjects(@"(",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:kCGEventFlagMaskShift]); + XCTAssertEqualObjects(@"{",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:kCGEventFlagMaskAlternate]); + + XCTAssertEqualObjects(@"n",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:0]); + XCTAssertEqualObjects(@"N",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:kCGEventFlagMaskShift]); + XCTAssertEqualObjects(@"~",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:kCGEventFlagMaskAlternate]); + */ +} + +@end From 6f40e90dbc292926e8676f1b42f6e2a0487abc05 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 19 Jan 2017 12:53:54 +0100 Subject: [PATCH 659/778] Updated to current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index bed18952..48f1fe08 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" +github "mstarke/KeePassKit" "6567438cd626f58ba9f372ca7b7b59abaa0d422f" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 6d4c5609..d13a7e7d 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "f47b82b9404f606fcb0e989bb72df14839c0a35e" +github "mstarke/KeePassKit" "6567438cd626f58ba9f372ca7b7b59abaa0d422f" github "sparkle-project/Sparkle" "1.15.1" From e8d5e301421f989741652cf337a6ef0035472a30 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 23 Jan 2017 17:51:44 +0100 Subject: [PATCH 660/778] using autorelease pool --- MacPass/MPAutotypeCommand.m | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 57fc6079..035a6ae2 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -208,7 +208,10 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } + (void)appendObfuscatedPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { - if(pasteContent) { + if(!pasteContent) { + return; + } + @autoreleasepool { /* * obfuscate entered data using Two-Channel Auto-Type Obfuscation @@ -217,8 +220,9 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F */ NSString *paste = @""; - NSMutableArray *typeKeys = [NSMutableArray array]; - NSMutableArray *modifiers = [NSMutableArray array]; + + NSMutableArray *typeKeys = [[NSMutableArray alloc] init]; + NSMutableArray *modifiers = [[NSMutableArray alloc] init]; /* * seed the random number generator using the first 4 bytes of the string's SHA1 @@ -291,7 +295,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F /* {PLUS}, {TILDE}, {PERCENT}, {+}, etc */ NSString *pasteConent = [self pasteableCommands][uppercaseCommand]; if(pasteConent) { - [self appendAppropriatePasteCommandForEntry:entry withContent:pasteConent toCommands:commands]; + [self appendAppropriatePasteCommandForEntry:entry withContent:pasteConent toCommands:commands]; return; // Done } @@ -408,4 +412,5 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F - (BOOL)isValid { return NO; // No valid command } + @end From 72574e730af046905fc584f0f58e1f00ecf643bb Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 25 Jan 2017 13:15:24 +0100 Subject: [PATCH 661/778] Introducing MPModifiedKey to encapulate keyCode and modifier flags --- MacPass/MPAutotypeClear.m | 6 ++-- MacPass/MPAutotypeCommand.m | 13 ++++---- MacPass/MPAutotypeKeyPress.m | 9 +++--- MacPass/MPKeyMapper.h | 20 +++++++++--- MacPass/MPKeyMapper.m | 57 +++++++++++++++++++--------------- MacPassTests/MPTestKeyMapper.m | 8 ++--- 6 files changed, 65 insertions(+), 48 deletions(-) diff --git a/MacPass/MPAutotypeClear.m b/MacPass/MPAutotypeClear.m index 106cb6f4..82ea6c87 100644 --- a/MacPass/MPAutotypeClear.m +++ b/MacPass/MPAutotypeClear.m @@ -17,12 +17,12 @@ } - (void)execute { - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"a" modifier:NULL]; - if(keyCode == kMPUnknownKeyCode) { + MPModifiedKey key = [MPKeyMapper modifiedKeyForCharacter:@"a"]; + if(key.keyCode == kMPUnknownKeyCode) { NSLog(@"Unable to generate key code for 'A'"); return; } - [self sendPressKey:keyCode modifierFlags:kCGEventFlagMaskCommand]; + [self sendPressKey:key.keyCode modifierFlags:kCGEventFlagMaskCommand]; [self sendPressKey:kVK_Delete modifierFlags:0]; } diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 035a6ae2..381439a8 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -238,17 +238,16 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSUInteger part = random() % 2; unichar key = [pasteContent characterAtIndex:i]; - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:[NSString stringWithFormat:@"%c", key] modifier:NULL]; - + MPModifiedKey mKey = [MPKeyMapper modifiedKeyForCharacter:[NSString stringWithFormat:@"%c", key]]; /* append unknown keycodes to the paste since we can't type them */ - if (part == 0 || keyCode == kMPUnknownKeyCode) { + if (part == 0 || mKey.keyCode == kMPUnknownKeyCode) { paste = [paste stringByAppendingFormat:@"%c", key]; [typeKeys addObject:@(kVK_RightArrow)]; [modifiers addObject:@0]; } else { - [typeKeys addObject:@(keyCode)]; + [typeKeys addObject:@(mKey.keyCode)]; if ([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:key]) [modifiers addObject:@(kCGEventFlagMaskShift)]; @@ -398,11 +397,11 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } - (void)sendPasteKeyCode { - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"v" modifier:NULL]; - if(keyCode == kMPUnknownKeyCode) { + MPModifiedKey mKey = [MPKeyMapper modifiedKeyForCharacter:@"v"]; + if(mKey.keyCode == kMPUnknownKeyCode) { return; // We did not find a mapping for "V" } - [self sendPressKey:keyCode modifierFlags:kCGEventFlagMaskCommand]; + [self sendPressKey:mKey.keyCode modifierFlags:kCGEventFlagMaskCommand]; } - (void)execute { diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index 9cc7572e..26224959 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -32,16 +32,15 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers } - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character { - CGEventFlags modifiers; - CGKeyCode mappedKey = [MPKeyMapper keyCodeForCharacter:character modifier:&modifiers]; - if(mappedKey == kMPUnknownKeyCode) { + MPModifiedKey mappedKey = [MPKeyMapper modifiedKeyForCharacter:character]; + if(mappedKey.keyCode == kMPUnknownKeyCode) { self = nil; } else { - if(modifiers && (modiferMask != modifiers)) { + if(mappedKey.modifier && (modiferMask != mappedKey.modifier)) { NSLog(@"Supplied modifiers for character %@ do not match required modifiers", character); } - self = [self initWithModifierMask:modiferMask keyCode:mappedKey]; + self = [self initWithModifierMask:modiferMask keyCode:mappedKey.modifier]; } return self; } diff --git a/MacPass/MPKeyMapper.h b/MacPass/MPKeyMapper.h index ce034f6e..b12a87ee 100644 --- a/MacPass/MPKeyMapper.h +++ b/MacPass/MPKeyMapper.h @@ -10,6 +10,18 @@ FOUNDATION_EXTERN uint16_t const kMPUnknownKeyCode; +typedef struct { + CGEventFlags modifier; + CGKeyCode keyCode; +} MPModifiedKey; + +NS_INLINE MPModifiedKey MPMakeModifiedKey(CGEventFlags modifier, CGKeyCode keyCode) { + MPModifiedKey k; + k.keyCode = keyCode; + k.modifier = modifier; + return k; +} + @interface MPKeyMapper : NSObject /** @@ -19,16 +31,16 @@ FOUNDATION_EXTERN uint16_t const kMPUnknownKeyCode; * @param modifier State of modifier flags being pressed with the key * @return NSString containing the current mapping for the keyCode */ -+ (NSString *)stringForKey:(CGKeyCode)keyCode modifier:(CGEventFlags)modifier; + (NSString *)stringForKey:(CGKeyCode)keyCode; ++ (NSString *)stringForModifiedKey:(MPModifiedKey)modifiedKey; /** - * Determines the keyCode (if possible) for the character. Modifiers might be needed + * Determines the modifiedkey (if possible) for the character. Modifiers might be needed * * @param character NSString with a single character to be transformed * @param modifier pointer to a modifer structure to return the modifer to use with the key code for the character - * @return virtual Keycode for the supplied string. If none is found, kMPUnkonwKeyCode is returned + * @return ModifiedKey if one was found. If none is found, the returned modifiedKey.keyCode has the value kMPUnkonwKeyCode. */ -+ (CGKeyCode)keyCodeForCharacter:(NSString *)character modifier:(CGEventFlags *)modifer; ++ (MPModifiedKey)modifiedKeyForCharacter:(NSString *)character; @end diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index d0d7aa63..288f05f2 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -20,18 +20,19 @@ #import "MPKeyMapper.h" - #import +#define MPSafeSetPointer(pointer, value) if(pointer != 0) { *pointer = value; } + uint16_t const kMPUnknownKeyCode = UINT16_MAX; @implementation MPKeyMapper + (NSString *)stringForKey:(CGKeyCode)keyCode { - return [self stringForKey:keyCode modifier:0]; + return [self stringForModifiedKey:MPMakeModifiedKey(0, keyCode)]; } -+ (NSString *)stringForKey:(CGKeyCode)keyCode modifier:(CGEventFlags)modifier { ++ (NSString *)stringForModifiedKey:(MPModifiedKey)modifiedKey { TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); CFDataRef layoutData = TISGetInputSourceProperty(currentKeyboard,kTISPropertyUnicodeKeyLayoutData); @@ -49,21 +50,21 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; uint32_t modifierKeyState = 0; - if(modifier & kCGEventFlagMaskCommand) { + if(modifiedKey.modifier & kCGEventFlagMaskCommand) { modifierKeyState |= ((cmdKey >> 8 ) & 0xFF); } - if(modifier & kCGEventFlagMaskShift) { + if(modifiedKey.modifier & kCGEventFlagMaskShift) { modifierKeyState |= ((shiftKey >> 8) & 0xFF); } - if(modifier & kCGEventFlagMaskAlternate) { + if(modifiedKey.modifier & kCGEventFlagMaskAlternate) { modifierKeyState |= ((optionKey >> 8) & 0xFF); } - if(modifier & kCGEventFlagMaskControl) { + if(modifiedKey.modifier & kCGEventFlagMaskControl) { modifierKeyState |= ((controlKey >> 8) & 0xFF); } OSStatus success = 0; success = UCKeyTranslate(keyboardLayout, - keyCode, + modifiedKey.keyCode, kUCKeyActionDisplay, modifierKeyState, LMGetKbdType(), @@ -76,7 +77,7 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; return CFBridgingRelease(CFStringCreateWithCharacters(kCFAllocatorDefault, chars, 1)); } -+ (CGKeyCode)keyCodeForCharacter:(NSString *)character modifier:(CGEventFlags *)modifer { ++ (MPModifiedKey)modifiedKeyForCharacter:(NSString *)character { static NSMutableDictionary *keyboardCodeDictionary; TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); @@ -89,21 +90,32 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; keyboardCodeDictionary = [[NSMutableDictionary alloc] initWithCapacity:2]; } /* search for current character mapping */ - NSDictionary *> *charToCodeDict = keyboardCodeDictionary[localizedName]; + NSDictionary *charToCodeDict = keyboardCodeDictionary[localizedName]; if(nil == charToCodeDict) { /* Add mapping */ + static uint64_t modifierCombinations[] = { + 0, + kCGEventFlagMaskShift, + kCGEventFlagMaskAlternate, + kCGEventFlagMaskControl, + (kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), + (kCGEventFlagMaskShift | kCGEventFlagMaskControl), + (kCGEventFlagMaskShift | kCGEventFlagMaskAlternate | kCGEventFlagMaskControl) + }; + NSMutableDictionary *tempCharToCodeDict = [[NSMutableDictionary alloc] initWithCapacity:128]; /* Generate table of keycodes and characters. */ /* Loop through every keycode (0 - 127) to find its current mapping. */ /* Loop throuhg every control key compbination for every virutal key */ for(CGKeyCode keyCode = 0; keyCode < 128; ++keyCode) { - uint64_t modifiers[] = { 0, kCGEventFlagMaskShift, kCGEventFlagMaskAlternate, kCGEventFlagMaskControl, kCGEventFlagMaskShift | kCGEventFlagMaskAlternate, kCGEventFlagMaskShift | kCGEventFlagMaskControl, kCGEventFlagMaskShift | kCGEventFlagMaskAlternate | kCGEventFlagMaskControl }; - for(int modifierIndex = 0; modifierIndex < sizeof(modifiers); modifierIndex++) { - NSString *string = [self stringForKey:keyCode modifier:modifiers[modifierIndex]]; + for(int modifierIndex = 0; modifierIndex < sizeof(modifierCombinations); modifierIndex++) { + MPModifiedKey mKey = MPMakeModifiedKey(modifierCombinations[modifierIndex], keyCode); + NSString *string = [self stringForModifiedKey:mKey]; if(string != nil && string.length > 0 && nil == tempCharToCodeDict[string]) { - tempCharToCodeDict[string] = @[@(keyCode), @(modifiers[modifierIndex])]; + NSValue *value = [NSValue valueWithBytes:&mKey objCType:@encode(MPModifiedKey)]; + tempCharToCodeDict[string] = value; } } } @@ -111,18 +123,13 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; keyboardCodeDictionary[localizedName] = charToCodeDict; } NSString *singleCharacter = [character substringToIndex:1].lowercaseString; - NSArray *result = charToCodeDict[singleCharacter]; - if(result) { - if(modifer) { - *modifer = result[1].unsignedIntegerValue; - } - /* false positive when no modifier was supplied! */ - return result[0].integerValue; + NSValue *result = charToCodeDict[singleCharacter]; + if(!result) { + return MPMakeModifiedKey(0, kMPUnknownKeyCode); } - if(modifer) { - *modifer = 0; - } - return kMPUnknownKeyCode; + MPModifiedKey mKey; + [result getValue:&mKey]; + return mKey; } @end diff --git a/MacPassTests/MPTestKeyMapper.m b/MacPassTests/MPTestKeyMapper.m index 7b4506e2..0fcbcc54 100644 --- a/MacPassTests/MPTestKeyMapper.m +++ b/MacPassTests/MPTestKeyMapper.m @@ -19,10 +19,10 @@ @implementation MPTestKeyMapper - (void)testKeyMapper { - CGEventFlags flags = 0; - CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A" modifier:&flags]; - XCTAssertEqual(kVK_ANSI_A, keyCode); - XCTAssertEqual(kCGEventFlagMaskShift, flags); + + MPModifiedKey key = [MPKeyMapper modifiedKeyForCharacter:@"A"]; + XCTAssertEqual(kVK_ANSI_A, key.keyCode); + XCTAssertEqual(kCGEventFlagMaskShift, key.modifier); /* Test only works for german keyboard layout! XCTAssertEqualObjects(@"a",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:0]); From 326c4055b27af101da0ed51b791d67ce58f89b89 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Jan 2017 09:56:41 +0100 Subject: [PATCH 662/778] removed Ctlr kez modifier as this seems to produce no additinal characters --- MacPass/MPKeyMapper.m | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index 288f05f2..8de5f9fd 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -98,17 +98,13 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; 0, kCGEventFlagMaskShift, kCGEventFlagMaskAlternate, - kCGEventFlagMaskControl, - (kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), - (kCGEventFlagMaskShift | kCGEventFlagMaskControl), - (kCGEventFlagMaskShift | kCGEventFlagMaskAlternate | kCGEventFlagMaskControl) + (kCGEventFlagMaskShift | kCGEventFlagMaskAlternate) }; - NSMutableDictionary *tempCharToCodeDict = [[NSMutableDictionary alloc] initWithCapacity:128]; /* Generate table of keycodes and characters. */ /* Loop through every keycode (0 - 127) to find its current mapping. */ - /* Loop throuhg every control key compbination for every virutal key */ + /* Loop throuhg every control key compbination for every virtual key */ for(CGKeyCode keyCode = 0; keyCode < 128; ++keyCode) { for(int modifierIndex = 0; modifierIndex < sizeof(modifierCombinations); modifierIndex++) { MPModifiedKey mKey = MPMakeModifiedKey(modifierCombinations[modifierIndex], keyCode); @@ -122,7 +118,7 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; charToCodeDict = [[NSDictionary alloc] initWithDictionary:tempCharToCodeDict]; keyboardCodeDictionary[localizedName] = charToCodeDict; } - NSString *singleCharacter = [character substringToIndex:1].lowercaseString; + NSString *singleCharacter = [character substringToIndex:1]; NSValue *result = charToCodeDict[singleCharacter]; if(!result) { return MPMakeModifiedKey(0, kMPUnknownKeyCode); From 1bf75fd0b17dabbd8305691e1b0f56ce3941a4d7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Jan 2017 09:57:20 +0100 Subject: [PATCH 663/778] began refactoring autotype command creation --- MacPass/MPAutotypeCommand.m | 80 ++++++++++++++++++++++++++-------- MacPassTests/MPTestKeyMapper.m | 12 ++++- 2 files changed, 72 insertions(+), 20 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 381439a8..a458b4fd 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -23,20 +23,27 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F5, kVK_F6, kVK_F7, kVK_F8, kVK_F9, kVK_F10, kVK_F11, kVK_F12, kVK_F13, kVK_F14, kVK_F15, kVK_F16, kVK_F17, kVK_F18, kVK_F19 }; +typedef struct { + NSRange textRange; + NSRange commandRange; + NSUInteger location; + CGEventFlags modifiers; +} MPAutotypeParserContext; + @interface NSNumber (AutotypeCommand) -- (CGEventFlags)eventFlagsValue; -- (CGKeyCode)keyCodeValue; +@property (nonatomic, readonly, assign) CGEventFlags eventFlagsValue; +@property (nonatomic, readonly, assign) CGKeyCode keyCodeValue; @end @implementation NSNumber (AutotypeCommand) - (CGEventFlags)eventFlagsValue { - return (CGEventFlags)[self integerValue]; + return (CGEventFlags)self.integerValue; } - (CGKeyCode)keyCodeValue { - return (CGKeyCode)[self integerValue]; + return (CGKeyCode)self.integerValue; } @end @@ -133,8 +140,10 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F CGEventFlags collectedModifers = 0; for(NSValue *rangeValue in commandRanges) { NSRange commandRange = rangeValue.rangeValue; - /* All non-commands will get translated into paste commands */ - if(commandRange.location > lastLocation) { + NSRange textRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); + + /* All non-commands will get translated into key presses if possible, otherwiese into paste commands */ + if(lastLocation < commandRange.location) { /* If there were modifiers we need to use the next single stroke and update the modifier command */ if(collectedModifers) { NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; @@ -145,10 +154,10 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F collectedModifers = 0; lastLocation++; } - NSRange pasteRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); - if(pasteRange.length > 0) { - NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; + NSRange textRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); + if(textRange.length > 0) { + NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; } } /* Test for modifer Key */ @@ -160,6 +169,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } lastLocation = commandRange.location + commandRange.length; } + /* Collect last part that isn't a command */ if(lastLocation < context.evaluatedCommand.length) { NSRange lastRange = NSMakeRange(lastLocation, context.evaluatedCommand.length - lastLocation); @@ -167,7 +177,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F return commands; } /* We have modifiers */ - if(0 != collectedModifers) { + if(collectedModifers) { NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:collectedModifers character:modifiedKey]; if(press) { @@ -180,26 +190,58 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } /* No modifiers, just paste the rest */ if(lastRange.length > 0) { - NSRange pasteRange = NSMakeRange(lastRange.location, lastRange.length); - NSString *pasteValue = [context.evaluatedCommand substringWithRange:pasteRange]; + NSString *pasteValue = [context.evaluatedCommand substringWithRange:lastRange]; [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; } } return commands; } ++ (void)appendCommandsForContext:(MPAutotypeContext *)context parserContext:(MPAutotypeParserContext *)parserContext toCommands:(NSMutableArray *)commands { + if(parserContext == NULL) { + return; // failed! + } + if(parserContext->textRange.length > 0 && parserContext->textRange.location < parserContext->commandRange.location) { + /* If there were modifiers we need to use the next single stroke and update the modifier command */ + if(parserContext->modifiers) { + NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(parserContext->location, 1)]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:parserContext->modifiers character:modifiedKey]; + if(press) { + [commands addObject:press]; + } + parserContext->modifiers = 0; + parserContext->location++; + } + NSRange textRange = NSMakeRange(parserContext->location, parserContext->commandRange.location - parserContext->location); + if(textRange.length > 0) { + NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; + } + } + /* Test for modifer Key */ + NSString *commandString = [context.evaluatedCommand substringWithRange:parserContext->commandRange]; + /* append commands for non-modifer keys */ + if(![self updateModifierMask:&(parserContext->modifiers) forCommand:commandString]) { + [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:parserContext->modifiers]; + parserContext->modifiers = 0; // Reset the modifers; + } + parserContext->location = (parserContext->commandRange.location + parserContext->commandRange.length); +} + + (void)appendAppropriatePasteCommandForEntry:(KPKEntry *)entry withContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { - if (entry.autotype.obfuscateDataTransfer) + if (entry.autotype.obfuscateDataTransfer) { [self appendObfuscatedPasteCommandForContent:pasteContent toCommands:commands]; - else + } + else { [self appendPasteCommandForContent:pasteContent toCommands:commands]; + } } + (void)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { /* Update an already inserted paste command with the new conents */ - if([[commands lastObject] isKindOfClass:[MPAutotypePaste class]]) { - [[commands lastObject] appendString:pasteContent]; + if([commands.lastObject isKindOfClass:[MPAutotypePaste class]]) { + [commands.lastObject appendString:pasteContent]; } else { MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; @@ -287,7 +329,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSString *uppercaseCommand = commandString.uppercaseString; NSNumber *keyCodeNumber = [self keypressCommands][uppercaseCommand]; if(nil != keyCodeNumber) { - CGKeyCode keyCode = [keyCodeNumber keyCodeValue]; + CGKeyCode keyCode = keyCodeNumber.keyCodeValue; [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; return; // Done } @@ -365,7 +407,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F if(!flagNumber) { return NO; // No modifier key, just leave } - CGEventFlags flags = [flagNumber eventFlagsValue]; + CGEventFlags flags = flagNumber.eventFlagsValue; *mask |= flags; return YES; } diff --git a/MacPassTests/MPTestKeyMapper.m b/MacPassTests/MPTestKeyMapper.m index 0fcbcc54..3dc3ffc0 100644 --- a/MacPassTests/MPTestKeyMapper.m +++ b/MacPassTests/MPTestKeyMapper.m @@ -20,11 +20,21 @@ - (void)testKeyMapper { + /* Test only works for german keyboard layout! */ MPModifiedKey key = [MPKeyMapper modifiedKeyForCharacter:@"A"]; XCTAssertEqual(kVK_ANSI_A, key.keyCode); XCTAssertEqual(kCGEventFlagMaskShift, key.modifier); - /* Test only works for german keyboard layout! + key = [MPKeyMapper modifiedKeyForCharacter:@"»"]; + XCTAssertEqual(kVK_ANSI_Q, key.keyCode); + XCTAssertEqual((kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), key.modifier); + + key = [MPKeyMapper modifiedKeyForCharacter:@""]; + XCTAssertEqual(kVK_ANSI_RightBracket, key.keyCode); + XCTAssertEqual((kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), key.modifier); + + + /* XCTAssertEqualObjects(@"a",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:0]); XCTAssertEqualObjects(@"A",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:kCGEventFlagMaskShift]); From fef22bce05838c71c98354d2d9f229b4c1d7b0a7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Jan 2017 12:34:12 +0100 Subject: [PATCH 664/778] extracted MPModifiedKey, fixed autotype obfuscation to correctly use modifiers --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/MPAutotypeCommand.h | 3 ++- MacPass/MPAutotypeCommand.m | 31 +++++++++++++------------------ MacPass/MPAutotypeKeyPress.h | 6 +++--- MacPass/MPAutotypeKeyPress.m | 16 ++++++++++------ MacPass/MPKeyMapper.h | 13 +------------ MacPass/MPKeyMapper.m | 11 ++++------- MacPass/MPModifiedKey.h | 26 ++++++++++++++++++++++++++ MacPass/MPModifiedKey.m | 24 ++++++++++++++++++++++++ 9 files changed, 89 insertions(+), 47 deletions(-) create mode 100644 MacPass/MPModifiedKey.h create mode 100644 MacPass/MPModifiedKey.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 5adf29ab..8311789b 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -28,6 +28,7 @@ 4C17F109184E6B6C00E85625 /* 30_TerminalTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */; }; 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */; }; 4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9884185F71A800943563 /* MPContextBarViewController.m */; }; + 4C1F7FA21E3A12E600D6A40E /* MPModifiedKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1F7FA11E3A12E600D6A40E /* MPModifiedKey.m */; }; 4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */; }; 4C224B4217DFCB2400FF6AEE /* MPNumericalInputFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C224B4117DFCB2400FF6AEE /* MPNumericalInputFormatter.m */; }; 4C25703F1BF11C2300D39416 /* MPPluginSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */; }; @@ -324,6 +325,8 @@ 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = ""; }; 4C1E9883185F71A800943563 /* MPContextBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextBarViewController.h; sourceTree = ""; }; 4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = ""; }; + 4C1F7FA01E3A12E600D6A40E /* MPModifiedKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPModifiedKey.h; sourceTree = ""; }; + 4C1F7FA11E3A12E600D6A40E /* MPModifiedKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPModifiedKey.m; sourceTree = ""; }; 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Autotype.m"; sourceTree = ""; }; 4C21F29D195B39B9002D610D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = ""; }; 4C21F29F195B3A48002D610D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = ""; }; @@ -1261,6 +1264,8 @@ 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */, 4CA3530918A53CB800839B0F /* MPKeyMapper.h */, 4CA3530A18A53CB800839B0F /* MPKeyMapper.m */, + 4C1F7FA01E3A12E600D6A40E /* MPModifiedKey.h */, + 4C1F7FA11E3A12E600D6A40E /* MPModifiedKey.m */, ); name = Autotype; sourceTree = ""; @@ -1730,6 +1735,7 @@ 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */, 4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */, 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */, + 4C1F7FA21E3A12E600D6A40E /* MPModifiedKey.m in Sources */, 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */, 4C811C8316ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m in Sources */, diff --git a/MacPass/MPAutotypeCommand.h b/MacPass/MPAutotypeCommand.h index abadbef5..59ab898a 100644 --- a/MacPass/MPAutotypeCommand.h +++ b/MacPass/MPAutotypeCommand.h @@ -7,7 +7,7 @@ // #import - +#import "MPModifiedKey.h" @class MPAutotypeContext; /** @@ -39,6 +39,7 @@ * @param flags modifier flags for the key press event */ - (void)sendPressKey:(CGKeyCode)keyCode modifierFlags:(CGEventFlags)flags; +- (void)sendPressKey:(MPModifiedKey)key; /** * Convenience message to be sent for executing a simple paste command diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index a458b4fd..0390e398 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -261,10 +261,9 @@ typedef struct { * http://keepass.info/help/v2/autotype_obfuscation.html */ - NSString *paste = @""; + NSMutableString *paste = [@"" mutableCopy]; - NSMutableArray *typeKeys = [[NSMutableArray alloc] init]; - NSMutableArray *modifiers = [[NSMutableArray alloc] init]; + NSMutableArray *typeKeys = [[NSMutableArray alloc] init]; /* * seed the random number generator using the first 4 bytes of the string's SHA1 @@ -279,29 +278,21 @@ typedef struct { for (NSUInteger i = 0; i < pasteContent.length; i++) { NSUInteger part = random() % 2; - unichar key = [pasteContent characterAtIndex:i]; - MPModifiedKey mKey = [MPKeyMapper modifiedKeyForCharacter:[NSString stringWithFormat:@"%c", key]]; + NSString *key = [pasteContent substringWithRange:NSMakeRange(i, 1)]; + MPModifiedKey mKey = [MPKeyMapper modifiedKeyForCharacter:key]; /* append unknown keycodes to the paste since we can't type them */ if (part == 0 || mKey.keyCode == kMPUnknownKeyCode) { - paste = [paste stringByAppendingFormat:@"%c", key]; - - [typeKeys addObject:@(kVK_RightArrow)]; - [modifiers addObject:@0]; + [paste appendString:key]; + [typeKeys addObject:[NSValue valueWithModifiedKey:MPMakeModifiedKey(0, kVK_RightArrow)]]; } else { - [typeKeys addObject:@(mKey.keyCode)]; - - if ([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:key]) - [modifiers addObject:@(kCGEventFlagMaskShift)]; - else - [modifiers addObject:@0]; + [typeKeys addObject:[NSValue valueWithModifiedKey:mKey ]]; } } /* move to the end of the content */ for (NSUInteger i = typeKeys.count; i < pasteContent.length; i++) { - [typeKeys addObject:@(kVK_RightArrow)]; - [modifiers addObject:@0]; + [typeKeys addObject:[NSValue valueWithModifiedKey:MPMakeModifiedKey(0, kVK_RightArrow)]]; } /* add paste command */ @@ -315,7 +306,7 @@ typedef struct { } for (NSUInteger i = 0; i < typeKeys.count; i++) { - [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:[modifiers[i] longLongValue] keyCode:[typeKeys[i] unsignedShortValue]]]; + [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifiedKey:typeKeys[i].modifiedKeyValue]]; } } } @@ -412,6 +403,10 @@ typedef struct { return YES; } +- (void)sendPressKey:(MPModifiedKey)key { + [self sendPressKey:key.keyCode modifierFlags:key.modifier]; +} + - (void)sendPressKey:(CGKeyCode)keyCode modifierFlags:(CGEventFlags)flags { CGEventSourceRef eventSource = CGEventSourceCreate(kCGEventSourceStatePrivate); diff --git a/MacPass/MPAutotypeKeyPress.h b/MacPass/MPAutotypeKeyPress.h index 8a197a6e..f7c56ad2 100644 --- a/MacPass/MPAutotypeKeyPress.h +++ b/MacPass/MPAutotypeKeyPress.h @@ -7,15 +7,15 @@ // #import "MPAutotypeCommand.h" - +#import "MPModifiedKey.h" /** * Autotype command to press a single key. Can be used with modifier keys as well */ @interface MPAutotypeKeyPress : MPAutotypeCommand -@property (assign) CGEventFlags modifierMask; -@property (assign) CGKeyCode keyCode; +@property (readonly, assign) MPModifiedKey key; +- (instancetype)initWithModifiedKey:(MPModifiedKey)key; - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask keyCode:(CGKeyCode)code; - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character; diff --git a/MacPass/MPAutotypeKeyPress.m b/MacPass/MPAutotypeKeyPress.m index 26224959..474745e2 100644 --- a/MacPass/MPAutotypeKeyPress.m +++ b/MacPass/MPAutotypeKeyPress.m @@ -22,14 +22,18 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers return modifiers; } -- (instancetype)initWithModifierMask:(CGEventFlags)modiferMask keyCode:(CGKeyCode)code { +- (instancetype)initWithModifiedKey:(MPModifiedKey)key { self = [super init]; if(self) { - _modifierMask = _updateModifierMaskForCurrentDefaults(modiferMask); - _keyCode = code; + _key = key; + _key.modifier = _updateModifierMaskForCurrentDefaults(_key.modifier); } return self; } +- (instancetype)initWithModifierMask:(CGEventFlags)modiferMask keyCode:(CGKeyCode)code { + self = [self initWithModifiedKey:MPMakeModifiedKey(modiferMask, code)]; + return self; +} - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character { MPModifiedKey mappedKey = [MPKeyMapper modifiedKeyForCharacter:character]; @@ -40,13 +44,13 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers if(mappedKey.modifier && (modiferMask != mappedKey.modifier)) { NSLog(@"Supplied modifiers for character %@ do not match required modifiers", character); } - self = [self initWithModifierMask:modiferMask keyCode:mappedKey.modifier]; + self = [self initWithModifierMask:modiferMask keyCode:mappedKey.keyCode]; } return self; } - (NSString *)description { - return [[NSString alloc] initWithFormat:@"%@: modifierMaks:%llu keyCode:%d", [self class], self.modifierMask, self.keyCode]; + return [[NSString alloc] initWithFormat:@"%@: modifierMaks:%llu keyCode:%d", [self class], self.key.modifier, self.key.keyCode]; } - (void)execute { @@ -54,7 +58,7 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers return; // no valid command. Stop. } //CGKeyCode mappedKey = [self _transformKeyCode]; - [self sendPressKey:self.keyCode modifierFlags:self.modifierMask]; + [self sendPressKey:self.key]; } - (BOOL)isValid { diff --git a/MacPass/MPKeyMapper.h b/MacPass/MPKeyMapper.h index b12a87ee..4bf3369e 100644 --- a/MacPass/MPKeyMapper.h +++ b/MacPass/MPKeyMapper.h @@ -7,21 +7,10 @@ // #import +#import "MPModifiedKey.h" FOUNDATION_EXTERN uint16_t const kMPUnknownKeyCode; -typedef struct { - CGEventFlags modifier; - CGKeyCode keyCode; -} MPModifiedKey; - -NS_INLINE MPModifiedKey MPMakeModifiedKey(CGEventFlags modifier, CGKeyCode keyCode) { - MPModifiedKey k; - k.keyCode = keyCode; - k.modifier = modifier; - return k; -} - @interface MPKeyMapper : NSObject /** diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index 8de5f9fd..f638e3ab 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -22,7 +22,7 @@ #import "MPKeyMapper.h" #import -#define MPSafeSetPointer(pointer, value) if(pointer != 0) { *pointer = value; } +#define MPArrayCount(array) (sizeof(array) / sizeof(array[0])) uint16_t const kMPUnknownKeyCode = UINT16_MAX; @@ -106,12 +106,11 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; /* Loop through every keycode (0 - 127) to find its current mapping. */ /* Loop throuhg every control key compbination for every virtual key */ for(CGKeyCode keyCode = 0; keyCode < 128; ++keyCode) { - for(int modifierIndex = 0; modifierIndex < sizeof(modifierCombinations); modifierIndex++) { + for(int modifierIndex = 0; modifierIndex < MPArrayCount(modifierCombinations); modifierIndex++) { MPModifiedKey mKey = MPMakeModifiedKey(modifierCombinations[modifierIndex], keyCode); NSString *string = [self stringForModifiedKey:mKey]; if(string != nil && string.length > 0 && nil == tempCharToCodeDict[string]) { - NSValue *value = [NSValue valueWithBytes:&mKey objCType:@encode(MPModifiedKey)]; - tempCharToCodeDict[string] = value; + tempCharToCodeDict[string] = [NSValue valueWithModifiedKey:mKey]; } } } @@ -123,9 +122,7 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; if(!result) { return MPMakeModifiedKey(0, kMPUnknownKeyCode); } - MPModifiedKey mKey; - [result getValue:&mKey]; - return mKey; + return result.modifiedKeyValue; } @end diff --git a/MacPass/MPModifiedKey.h b/MacPass/MPModifiedKey.h new file mode 100644 index 00000000..2956a36f --- /dev/null +++ b/MacPass/MPModifiedKey.h @@ -0,0 +1,26 @@ +// +// MPModifiedKey.h +// MacPass +// +// Created by Michael Starke on 26/01/2017. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import + +typedef struct { + CGEventFlags modifier; + CGKeyCode keyCode; +} MPModifiedKey; + +NS_INLINE MPModifiedKey MPMakeModifiedKey(CGEventFlags modifier, CGKeyCode keyCode) { + MPModifiedKey k; + k.keyCode = keyCode; + k.modifier = modifier; + return k; +} + +@interface NSValue(NSValueMPModifiedKeyExtensions) +@property (nonatomic, readonly, assign) MPModifiedKey modifiedKeyValue; ++ (instancetype)valueWithModifiedKey:(MPModifiedKey)key; +@end diff --git a/MacPass/MPModifiedKey.m b/MacPass/MPModifiedKey.m new file mode 100644 index 00000000..821a2a58 --- /dev/null +++ b/MacPass/MPModifiedKey.m @@ -0,0 +1,24 @@ +// +// MPModifiedKey.m +// MacPass +// +// Created by Michael Starke on 26/01/2017. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import "MPModifiedKey.h" + +@implementation NSValue(NSValueMPModifiedKeyExtensions) + +- (MPModifiedKey)modifiedKeyValue { + MPModifiedKey key; + [self getValue:&key]; + return key; +} + ++ (instancetype)valueWithModifiedKey:(MPModifiedKey)key { + return [NSValue valueWithBytes:&key objCType:@encode(MPModifiedKey)]; +} + +@end + From f0c433cac5a3510c97053a3a18e89386ac9ae14d Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Jan 2017 17:23:54 +0100 Subject: [PATCH 665/778] removed duplicate code --- MacPass/MPAutotypeCommand.m | 115 +++++++++++------------------------- 1 file changed, 35 insertions(+), 80 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 0390e398..58951628 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -24,10 +24,9 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F5, kVK_F6, kVK_F7, kVK_F8, kVK_F9, kVK_F10, kVK_F11, kVK_F12, kVK_F13, kVK_F14, kVK_F15, kVK_F16, kVK_F17, kVK_F18, kVK_F19 }; typedef struct { - NSRange textRange; - NSRange commandRange; NSUInteger location; CGEventFlags modifiers; + NSRange commandRange; } MPAutotypeParserContext; @interface NSNumber (AutotypeCommand) @@ -83,11 +82,11 @@ typedef struct { return keypressCommands; } /* Commands that are actually just one symbol to be pasted */ -+ (NSDictionary *)pasteableCommands { - static NSDictionary *pasteableCommands; ++ (NSDictionary *)characterCommands { + static NSDictionary *characterCommands; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - pasteableCommands = @{ + characterCommands = @{ kKPKAutotypePlus: @"+", kKPKAutotypeCaret: @"^", kKPKAutotypePercent: @"%", @@ -100,7 +99,7 @@ typedef struct { kKPKAutotypeCurlyBracketRight: @"}" }; }); - return pasteableCommands; + return characterCommands; } /** @@ -136,96 +135,52 @@ typedef struct { [commandRanges addObject:[NSValue valueWithRange:result.range]]; } }]; - NSUInteger lastLocation = 0; - CGEventFlags collectedModifers = 0; + + /* add range at the end as terminator */ + [commandRanges addObject:[NSValue valueWithRange:NSMakeRange(context.evaluatedCommand.length, 0)]]; + + MPAutotypeParserContext parserCtx; + parserCtx.location = 0; + parserCtx.modifiers = 0; + for(NSValue *rangeValue in commandRanges) { NSRange commandRange = rangeValue.rangeValue; - NSRange textRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); - - /* All non-commands will get translated into key presses if possible, otherwiese into paste commands */ - if(lastLocation < commandRange.location) { - /* If there were modifiers we need to use the next single stroke and update the modifier command */ - if(collectedModifers) { - NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; - MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:collectedModifers character:modifiedKey]; - if(press) { - [commands addObject:press]; - } - collectedModifers = 0; - lastLocation++; - } - NSRange textRange = NSMakeRange(lastLocation, commandRange.location - lastLocation); - if(textRange.length > 0) { - NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; - } - } - /* Test for modifer Key */ - NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; - /* append commands for non-modifer keys */ - if(![self updateModifierMask:&collectedModifers forCommand:commandString]) { - [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:collectedModifers]; - collectedModifers = 0; // Reset the modifers; - } - lastLocation = commandRange.location + commandRange.length; - } - - /* Collect last part that isn't a command */ - if(lastLocation < context.evaluatedCommand.length) { - NSRange lastRange = NSMakeRange(lastLocation, context.evaluatedCommand.length - lastLocation); - if(lastRange.length <= 0) { - return commands; - } - /* We have modifiers */ - if(collectedModifers) { - NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(lastLocation, 1)]; - MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:collectedModifers character:modifiedKey]; - if(press) { - [commands addObject:press]; - } - /* Update our states */ - collectedModifers = 0; - lastLocation++; - lastRange = NSMakeRange(lastLocation, context.evaluatedCommand.length - lastLocation); - } - /* No modifiers, just paste the rest */ - if(lastRange.length > 0) { - NSString *pasteValue = [context.evaluatedCommand substringWithRange:lastRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:pasteValue toCommands:commands]; - } + parserCtx.commandRange = commandRange; + [self appendCommandsForContext:context parserContext:&parserCtx toCommands:commands]; } return commands; } -+ (void)appendCommandsForContext:(MPAutotypeContext *)context parserContext:(MPAutotypeParserContext *)parserContext toCommands:(NSMutableArray *)commands { - if(parserContext == NULL) { ++ (void)appendCommandsForContext:(MPAutotypeContext *)context parserContext:(MPAutotypeParserContext *)parserCtx toCommands:(NSMutableArray *)commands { + if(parserCtx == NULL) { return; // failed! } - if(parserContext->textRange.length > 0 && parserContext->textRange.location < parserContext->commandRange.location) { + /* All non-commands will get translated into key presses if possible, otherwiese into paste commands */ + if(parserCtx->location < parserCtx->commandRange.location) { /* If there were modifiers we need to use the next single stroke and update the modifier command */ - if(parserContext->modifiers) { - NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(parserContext->location, 1)]; - MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:parserContext->modifiers character:modifiedKey]; + if(parserCtx->modifiers) { + NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(parserCtx->location, 1)]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:parserCtx->modifiers character:modifiedKey]; if(press) { [commands addObject:press]; } - parserContext->modifiers = 0; - parserContext->location++; + parserCtx->modifiers = 0; + parserCtx->location++; } - NSRange textRange = NSMakeRange(parserContext->location, parserContext->commandRange.location - parserContext->location); + NSRange textRange = NSMakeRange(parserCtx->location, parserCtx->commandRange.location - parserCtx->location); if(textRange.length > 0) { NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; } } /* Test for modifer Key */ - NSString *commandString = [context.evaluatedCommand substringWithRange:parserContext->commandRange]; + NSString *commandString = [context.evaluatedCommand substringWithRange:parserCtx->commandRange]; /* append commands for non-modifer keys */ - if(![self updateModifierMask:&(parserContext->modifiers) forCommand:commandString]) { - [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:parserContext->modifiers]; - parserContext->modifiers = 0; // Reset the modifers; + if(![self updateModifierMask:&(parserCtx->modifiers) forCommand:commandString]) { + [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:parserCtx->modifiers]; + parserCtx->modifiers = 0; // Reset the modifers; } - parserContext->location = (parserContext->commandRange.location + parserContext->commandRange.length); + parserCtx->location = parserCtx->commandRange.location + parserCtx->commandRange.length; } + (void)appendAppropriatePasteCommandForEntry:(KPKEntry *)entry withContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands @@ -313,8 +268,8 @@ typedef struct { } + (void)appendCommandForEntry:(KPKEntry *)entry withString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { - if(nil == commandString) { - return; // Nothing to parse + if(!commandString || !commandString.length) { + return; } /* Simple Special Press */ NSString *uppercaseCommand = commandString.uppercaseString; @@ -325,9 +280,9 @@ typedef struct { return; // Done } /* {PLUS}, {TILDE}, {PERCENT}, {+}, etc */ - NSString *pasteConent = [self pasteableCommands][uppercaseCommand]; - if(pasteConent) { - [self appendAppropriatePasteCommandForEntry:entry withContent:pasteConent toCommands:commands]; + NSString *character = [self characterCommands][uppercaseCommand]; + if(character) { + [self appendAppropriatePasteCommandForEntry:entry withContent:character toCommands:commands]; return; // Done } From 231558d7e86cefb3e562158d7eae3a09a4bb18bb Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 26 Jan 2017 17:28:13 +0100 Subject: [PATCH 666/778] inlining function --- MacPass/MPAutotypeCommand.m | 71 +++++++++++++++---------------------- 1 file changed, 28 insertions(+), 43 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 58951628..26ea8e70 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -23,12 +23,6 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F5, kVK_F6, kVK_F7, kVK_F8, kVK_F9, kVK_F10, kVK_F11, kVK_F12, kVK_F13, kVK_F14, kVK_F15, kVK_F16, kVK_F17, kVK_F18, kVK_F19 }; -typedef struct { - NSUInteger location; - CGEventFlags modifiers; - NSRange commandRange; -} MPAutotypeParserContext; - @interface NSNumber (AutotypeCommand) @property (nonatomic, readonly, assign) CGEventFlags eventFlagsValue; @@ -139,50 +133,41 @@ typedef struct { /* add range at the end as terminator */ [commandRanges addObject:[NSValue valueWithRange:NSMakeRange(context.evaluatedCommand.length, 0)]]; - MPAutotypeParserContext parserCtx; - parserCtx.location = 0; - parserCtx.modifiers = 0; + NSUInteger location = 0; + CGEventFlags modifiers = 0; for(NSValue *rangeValue in commandRanges) { NSRange commandRange = rangeValue.rangeValue; - parserCtx.commandRange = commandRange; - [self appendCommandsForContext:context parserContext:&parserCtx toCommands:commands]; + /* All non-commands will get translated into key presses if possible, otherwiese into paste commands */ + if(location < commandRange.location) { + /* If there were modifiers we need to use the next single stroke and update the modifier command */ + if(modifiers) { + NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(location, 1)]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:modifiers character:modifiedKey]; + if(press) { + [commands addObject:press]; + } + modifiers = 0; + location++; + } + NSRange textRange = NSMakeRange(location, commandRange.location - location); + if(textRange.length > 0) { + NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; + [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; + } + } + /* Test for modifer Key */ + NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; + /* append commands for non-modifer keys */ + if(![self updateModifierMask:&modifiers forCommand:commandString]) { + [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:modifiers]; + modifiers = 0; // Reset the modifers; + } + location = commandRange.location + commandRange.length; } return commands; } -+ (void)appendCommandsForContext:(MPAutotypeContext *)context parserContext:(MPAutotypeParserContext *)parserCtx toCommands:(NSMutableArray *)commands { - if(parserCtx == NULL) { - return; // failed! - } - /* All non-commands will get translated into key presses if possible, otherwiese into paste commands */ - if(parserCtx->location < parserCtx->commandRange.location) { - /* If there were modifiers we need to use the next single stroke and update the modifier command */ - if(parserCtx->modifiers) { - NSString *modifiedKey = [context.evaluatedCommand substringWithRange:NSMakeRange(parserCtx->location, 1)]; - MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:parserCtx->modifiers character:modifiedKey]; - if(press) { - [commands addObject:press]; - } - parserCtx->modifiers = 0; - parserCtx->location++; - } - NSRange textRange = NSMakeRange(parserCtx->location, parserCtx->commandRange.location - parserCtx->location); - if(textRange.length > 0) { - NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; - } - } - /* Test for modifer Key */ - NSString *commandString = [context.evaluatedCommand substringWithRange:parserCtx->commandRange]; - /* append commands for non-modifer keys */ - if(![self updateModifierMask:&(parserCtx->modifiers) forCommand:commandString]) { - [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:parserCtx->modifiers]; - parserCtx->modifiers = 0; // Reset the modifers; - } - parserCtx->location = parserCtx->commandRange.location + parserCtx->commandRange.length; -} - + (void)appendAppropriatePasteCommandForEntry:(KPKEntry *)entry withContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { if (entry.autotype.obfuscateDataTransfer) { From 87a783a88f40ffd75c61252b8af414ec673cdbbb Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 27 Jan 2017 10:48:52 +0100 Subject: [PATCH 667/778] fixed formatting --- MacPass/MPAutotypeCommand.m | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index 26ea8e70..cb4302ae 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -98,7 +98,6 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F /** * Mapping for modifier to CGEventFlags. - * @note KeepassControl is mapped to command! * * @return dictionary with commands as keys and CGEventFlags as wrapped values */ @@ -194,7 +193,6 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F return; } @autoreleasepool { - /* * obfuscate entered data using Two-Channel Auto-Type Obfuscation * refer to KeePass documentation for more information @@ -202,7 +200,6 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F */ NSMutableString *paste = [@"" mutableCopy]; - NSMutableArray *typeKeys = [[NSMutableArray alloc] init]; /* @@ -240,12 +237,11 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F [commands addObject:pasteCommand]; /* add keypress commands */ - if (typeKeys.count > 0) { - for (NSUInteger i = 0; i < paste.length; i++) { + if(typeKeys.count > 0) { + for(NSUInteger i = 0; i < paste.length; i++) { [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:0 keyCode:kVK_LeftArrow]]; } - - for (NSUInteger i = 0; i < typeKeys.count; i++) { + for(NSUInteger i = 0; i < typeKeys.count; i++) { [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifiedKey:typeKeys[i].modifiedKeyValue]]; } } From abf0d1134890e52930c757ce3179ddba2731e364 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 27 Jan 2017 10:49:03 +0100 Subject: [PATCH 668/778] do not attempt to transale an invalid key --- MacPass/MPKeyMapper.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MacPass/MPKeyMapper.m b/MacPass/MPKeyMapper.m index f638e3ab..669ff82a 100644 --- a/MacPass/MPKeyMapper.m +++ b/MacPass/MPKeyMapper.m @@ -33,6 +33,9 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX; } + (NSString *)stringForModifiedKey:(MPModifiedKey)modifiedKey { + if(modifiedKey.keyCode == kMPUnknownKeyCode) { + return nil; + } TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); CFDataRef layoutData = TISGetInputSourceProperty(currentKeyboard,kTISPropertyUnicodeKeyLayoutData); From 43d98b9b380a886f19b443f93fd841f6747a9ef6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 27 Jan 2017 10:49:36 +0100 Subject: [PATCH 669/778] fixed tests to use new MPAutotypeKeyPress API --- MacPassTests/MPTestAutotype.m | 82 +++++++++++++++++------------------ 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/MacPassTests/MPTestAutotype.m b/MacPassTests/MPTestAutotype.m index 1b7c3a20..bb68357e 100644 --- a/MacPassTests/MPTestAutotype.m +++ b/MacPassTests/MPTestAutotype.m @@ -49,28 +49,28 @@ XCTAssertTrue(commands.count == 5); /* {TAB} */ MPAutotypeKeyPress *keyPress = commands[0]; - XCTAssertEqual(keyPress.keyCode, kVK_Tab); - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Tab); + XCTAssertEqual(keyPress.key.modifier, 0); /* {ENTER} */ keyPress = commands[1]; - XCTAssertEqual(keyPress.keyCode, kVK_Return); - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Return); + XCTAssertEqual(keyPress.key.modifier, 0); /* ~ -> Enter */ keyPress = commands[2]; - XCTAssertEqual(keyPress.keyCode, kVK_Return); - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Return); + XCTAssertEqual(keyPress.key.modifier, 0); /* {tAb} */ keyPress = commands[3]; - XCTAssertEqual(keyPress.keyCode, kVK_Tab); - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Tab); + XCTAssertEqual(keyPress.key.modifier, 0); /* {ShIfT}{enter}*/ keyPress = commands[4]; - XCTAssertEqual(keyPress.keyCode, kVK_Return); - XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskShift); + XCTAssertEqual(keyPress.key.keyCode, kVK_Return); + XCTAssertEqual(keyPress.key.modifier, kCGEventFlagMaskShift); } - (void)testCaseSensitiveCustomAttributeLookup { @@ -114,43 +114,43 @@ /* {F1} */ MPAutotypeKeyPress *key = commands[1]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F1); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F1); /* {F2} */ key = commands[2]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F2); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F2); /* {F3} */ key = commands[3]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F3); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F3); /* {F4} */ key = commands[4]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F4); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F4); /* {F5} */ key = commands[5]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F5); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F5); /* ^%{F6} */ key = commands[6]; - XCTAssertEqual(key.modifierMask, (kCGEventFlagMaskCommand | kCGEventFlagMaskAlternate)); - XCTAssertEqual(key.keyCode, kVK_F6); + XCTAssertEqual(key.key.modifier, (kCGEventFlagMaskCommand | kCGEventFlagMaskAlternate)); + XCTAssertEqual(key.key.keyCode, kVK_F6); /* {F7} */ key = commands[7]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F7); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F7); /* {F19} */ key = commands[8]; - XCTAssertEqual(key.modifierMask, 0); - XCTAssertEqual(key.keyCode, kVK_F19); + XCTAssertEqual(key.key.modifier, 0); + XCTAssertEqual(key.key.keyCode, kVK_F19); paste = commands[9]; XCTAssertEqualObjects(paste.pasteData, @"{F20}"); @@ -173,8 +173,8 @@ /* {TAB} */ MPAutotypeKeyPress *keyPress = commands[1]; - XCTAssertEqual(keyPress.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertEqual(keyPress.key.modifier, 0); /* {PASSWORD} */ paste = commands[2]; @@ -182,7 +182,7 @@ /* {ENTER} */ keyPress = commands[3]; - XCTAssertEqual(keyPress.keyCode, kVK_Return); + XCTAssertEqual(keyPress.key.keyCode, kVK_Return); /* Command 2 */ context = [[MPAutotypeContext alloc] initWithEntry:self.entry andSequence:@"^T{USERNAME}%+^{TAB}Whoo{PASSWORD}{ENTER}"]; @@ -196,14 +196,14 @@ /* ^T */ keyPress = commands[0]; - /* Lower case is ok, since we only need the key, not the sequence to reproduce the string */ - XCTAssertTrue([@"t" isEqualToString:[MPKeyMapper stringForKey:keyPress.keyCode]]); + /* lowercase T since we supplied modifiers so the ones needed for Uppercase T will be ignored, instead the "t" key is used */ + XCTAssertEqualObjects(@"t", [MPKeyMapper stringForModifiedKey:keyPress.key]); BOOL useCommandInsteadOfControl = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeySendCommandForControlKey]; if(useCommandInsteadOfControl) { - XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskCommand); + XCTAssertEqual(keyPress.key.modifier, kCGEventFlagMaskCommand); } else { - XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskControl); + XCTAssertEqual(keyPress.key.modifier, kCGEventFlagMaskControl); } /* {USERNAME} */ @@ -212,12 +212,12 @@ /* %+^{TAB} */ keyPress = commands[2]; - XCTAssertEqual(keyPress.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed + XCTAssertEqual(keyPress.key.keyCode, kVK_Tab); // Tab is a fixed key, no mapping needed if(useCommandInsteadOfControl) { - XCTAssertEqual(keyPress.modifierMask, (kCGEventFlagMaskCommand | kCGEventFlagMaskShift | kCGEventFlagMaskAlternate)); + XCTAssertEqual(keyPress.key.modifier, (kCGEventFlagMaskCommand | kCGEventFlagMaskShift | kCGEventFlagMaskAlternate)); } else { - XCTAssertEqual(keyPress.modifierMask, (kCGEventFlagMaskControl | kCGEventFlagMaskShift | kCGEventFlagMaskAlternate)); + XCTAssertEqual(keyPress.key.modifier, (kCGEventFlagMaskControl | kCGEventFlagMaskShift | kCGEventFlagMaskAlternate)); } /* Whoo{PASSWORD} */ @@ -227,8 +227,8 @@ /* {ENTER} */ keyPress = commands[4]; - XCTAssertEqual(keyPress.keyCode, kVK_Return); - XCTAssertEqual(keyPress.modifierMask, 0); + XCTAssertEqual(keyPress.key.keyCode, kVK_Return); + XCTAssertEqual(keyPress.key.modifier, 0); /* Command 3 */ @@ -239,13 +239,13 @@ /*^T*/ keyPress = commands[0]; - XCTAssertEqualObjects(@"t", [MPKeyMapper stringForKey:keyPress.keyCode]); + XCTAssertEqualObjects(@"t", [MPKeyMapper stringForModifiedKey:keyPress.key]); /* TODO - Respect user settings? */ if(useCommandInsteadOfControl) { - XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskCommand); + XCTAssertEqual(keyPress.key.modifier, kCGEventFlagMaskCommand); } else { - XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskControl); + XCTAssertEqual(keyPress.key.modifier, kCGEventFlagMaskControl); } /*XCTAssertEqual(keyPress.modifierMask, kCGEventFlagMaskControl);*/ From a8372f4ac421775e56e76fe7f822dc3cec8e6b9c Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 27 Jan 2017 10:50:18 +0100 Subject: [PATCH 670/778] Using better key mapper test to not depend on current input source --- MacPassTests/MPTestKeyMapper.m | 38 +++++++++++++--------------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/MacPassTests/MPTestKeyMapper.m b/MacPassTests/MPTestKeyMapper.m index 3dc3ffc0..573ff53c 100644 --- a/MacPassTests/MPTestKeyMapper.m +++ b/MacPassTests/MPTestKeyMapper.m @@ -20,32 +20,22 @@ - (void)testKeyMapper { - /* Test only works for german keyboard layout! */ - MPModifiedKey key = [MPKeyMapper modifiedKeyForCharacter:@"A"]; - XCTAssertEqual(kVK_ANSI_A, key.keyCode); - XCTAssertEqual(kCGEventFlagMaskShift, key.modifier); - - key = [MPKeyMapper modifiedKeyForCharacter:@"»"]; - XCTAssertEqual(kVK_ANSI_Q, key.keyCode); - XCTAssertEqual((kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), key.modifier); - - key = [MPKeyMapper modifiedKeyForCharacter:@""]; - XCTAssertEqual(kVK_ANSI_RightBracket, key.keyCode); - XCTAssertEqual((kCGEventFlagMaskShift | kCGEventFlagMaskAlternate), key.modifier); - - /* - XCTAssertEqualObjects(@"a",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:0]); - XCTAssertEqualObjects(@"A",[MPKeyMapper stringForKey:kVK_ANSI_A modifier:kCGEventFlagMaskShift]); - - XCTAssertEqualObjects(@"8",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:0]); - XCTAssertEqualObjects(@"(",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:kCGEventFlagMaskShift]); - XCTAssertEqualObjects(@"{",[MPKeyMapper stringForKey:kVK_ANSI_8 modifier:kCGEventFlagMaskAlternate]); + We could set certain keyboard layouts to run this test invariantly + The simpler aproach is to go full circle to check if the desired character is the actual character we get + */ - XCTAssertEqualObjects(@"n",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:0]); - XCTAssertEqualObjects(@"N",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:kCGEventFlagMaskShift]); - XCTAssertEqualObjects(@"~",[MPKeyMapper stringForKey:kVK_ANSI_N modifier:kCGEventFlagMaskAlternate]); - */ + /* Ì - has no key for US and DVORAK layout */ + NSString *test = @"aB(]©®@fl~±»"; + + [test enumerateSubstringsInRange:NSMakeRange(0, test.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) { + /* we only support non-composed characters*/ + if(substring.length == 1) { + MPModifiedKey key = [MPKeyMapper modifiedKeyForCharacter:substring]; + NSString *result = [MPKeyMapper stringForModifiedKey:key]; + XCTAssertEqualObjects(substring, result); + } + }]; } @end From 88af207e6d300288513b36162dac95927090e55b Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 30 Jan 2017 16:52:30 +0100 Subject: [PATCH 671/778] minor refactorings --- MacPass/MPAutotypeCommand.m | 139 ++++++++++++++++++++++++++--------- MacPass/MPAutotypeKeyPress.h | 1 - 2 files changed, 104 insertions(+), 36 deletions(-) diff --git a/MacPass/MPAutotypeCommand.m b/MacPass/MPAutotypeCommand.m index cb4302ae..4550ecec 100644 --- a/MacPass/MPAutotypeCommand.m +++ b/MacPass/MPAutotypeCommand.m @@ -21,7 +21,40 @@ #import #import -static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F5, kVK_F6, kVK_F7, kVK_F8, kVK_F9, kVK_F10, kVK_F11, kVK_F12, kVK_F13, kVK_F14, kVK_F15, kVK_F16, kVK_F17, kVK_F18, kVK_F19 }; +static CGKeyCode kMPFunctionKeyCodes[] = { + kVK_F1, + kVK_F2, + kVK_F3, + kVK_F4, + kVK_F5, + kVK_F6, + kVK_F7, + kVK_F8, + kVK_F9, + kVK_F10, + kVK_F11, + kVK_F12, + kVK_F13, + kVK_F14, + kVK_F15, + kVK_F16, + kVK_F17, + kVK_F18, + kVK_F19 +}; + +static CGKeyCode kMPNumpadKeyCodes[] = { + kVK_ANSI_Keypad0, + kVK_ANSI_Keypad1, + kVK_ANSI_Keypad2, + kVK_ANSI_Keypad3, + kVK_ANSI_Keypad4, + kVK_ANSI_Keypad5, + kVK_ANSI_Keypad6, + kVK_ANSI_Keypad7, + kVK_ANSI_Keypad8, + kVK_ANSI_Keypad9 +}; @interface NSNumber (AutotypeCommand) @@ -41,9 +74,34 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F @end +@interface MPAutotypeParserContext : NSObject + +@property (strong) NSMutableArray *commands; +@property (copy) NSString *commandString; +@property (assign) CGEventFlags activeModifiers; +@property (assign) BOOL obfuscate; + +- (instancetype)initWithString:(NSString *)commandString modifiers:(CGEventFlags)modifiers commands:(NSMutableArray *)commands; + +@end + +@implementation MPAutotypeParserContext + +- (instancetype)initWithString:(NSString *)commandString modifiers:(CGEventFlags)modifiers commands:(NSMutableArray *)commands { + self = [super init]; + if(self) { + _commands = commands; + _commandString = [commandString copy]; + _activeModifiers = modifiers; + } + return self; +} + +@end + @implementation MPAutotypeCommand -+ (NSDictionary *)keypressCommands { ++ (NSDictionary *)_keypressCommands { static NSDictionary *keypressCommands; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ @@ -76,7 +134,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F return keypressCommands; } /* Commands that are actually just one symbol to be pasted */ -+ (NSDictionary *)characterCommands { ++ (NSDictionary *)_characterCommands { static NSDictionary *characterCommands; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ @@ -101,7 +159,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F * * @return dictionary with commands as keys and CGEventFlags as wrapped values */ -+ (NSDictionary *)modifierCommands { ++ (NSDictionary *)_modifierCommands { static NSDictionary *modifierCommands; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ @@ -152,14 +210,14 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSRange textRange = NSMakeRange(location, commandRange.location - location); if(textRange.length > 0) { NSString *textValue = [context.evaluatedCommand substringWithRange:textRange]; - [self appendAppropriatePasteCommandForEntry:context.entry withContent:textValue toCommands:commands]; + [self _appendTextCommandWithContent:textValue toCommands:commands obfusctate:context.entry.autotype.obfuscateDataTransfer]; } } /* Test for modifer Key */ NSString *commandString = [context.evaluatedCommand substringWithRange:commandRange]; /* append commands for non-modifer keys */ - if(![self updateModifierMask:&modifiers forCommand:commandString]) { - [self appendCommandForEntry:context.entry withString:commandString toCommands:commands activeModifer:modifiers]; + if(![self _updateModifierMask:&modifiers forCommand:commandString]) { + [self _appendCommandForString:commandString toCommands:commands activeModifer:modifiers obfuscate:context.entry.autotype.obfuscateDataTransfer]; modifiers = 0; // Reset the modifers; } location = commandRange.location + commandRange.length; @@ -167,20 +225,9 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F return commands; } -+ (void)appendAppropriatePasteCommandForEntry:(KPKEntry *)entry withContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands -{ - if (entry.autotype.obfuscateDataTransfer) { - [self appendObfuscatedPasteCommandForContent:pasteContent toCommands:commands]; - } - else { - [self appendPasteCommandForContent:pasteContent toCommands:commands]; - } -} - -+ (void)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { - /* Update an already inserted paste command with the new conents */ - if([commands.lastObject isKindOfClass:[MPAutotypePaste class]]) { - [commands.lastObject appendString:pasteContent]; ++ (void)_appendTextCommandWithContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands obfusctate:(BOOL)obfuscate { + if(obfuscate) { + [self _appendObfuscatedPasteCommandForContent:pasteContent toCommands:commands]; } else { MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent]; @@ -188,7 +235,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } } -+ (void)appendObfuscatedPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { ++ (void)_appendObfuscatedPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands { if(!pasteContent) { return; } @@ -239,7 +286,7 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F /* add keypress commands */ if(typeKeys.count > 0) { for(NSUInteger i = 0; i < paste.length; i++) { - [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:0 keyCode:kVK_LeftArrow]]; + [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifiedKey:MPMakeModifiedKey(0, kVK_LeftArrow)]]; } for(NSUInteger i = 0; i < typeKeys.count; i++) { [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifiedKey:typeKeys[i].modifiedKeyValue]]; @@ -248,22 +295,27 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } } -+ (void)appendCommandForEntry:(KPKEntry *)entry withString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags { ++ (void)_appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags obfuscate:(BOOL)obfuscate { if(!commandString || !commandString.length) { return; } /* Simple Special Press */ NSString *uppercaseCommand = commandString.uppercaseString; - NSNumber *keyCodeNumber = [self keypressCommands][uppercaseCommand]; + NSNumber *keyCodeNumber = [self _keypressCommands][uppercaseCommand]; if(nil != keyCodeNumber) { - CGKeyCode keyCode = keyCodeNumber.keyCodeValue; - [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifiedKey:MPMakeModifiedKey(flags, keyCodeNumber.keyCodeValue)]; + if(press) { + [commands addObject:press]; + } return; // Done } /* {PLUS}, {TILDE}, {PERCENT}, {+}, etc */ - NSString *character = [self characterCommands][uppercaseCommand]; + NSString *character = [self _characterCommands][uppercaseCommand]; if(character) { - [self appendAppropriatePasteCommandForEntry:entry withContent:character toCommands:commands]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifierMask:flags character:character]; + if(press) { + [commands addObject:press]; + } return; // Done } @@ -275,12 +327,29 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F NSScanner *numberScanner = [[NSScanner alloc] initWithString:numberString]; NSInteger functionNumber = 0; if([numberScanner scanInteger:&functionNumber] && functionNumber >= 1 && functionNumber <= 19) { - [commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:kMPFunctionKeyCodes[functionNumber-1]]]; + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifiedKey:MPMakeModifiedKey(flags, kMPFunctionKeyCodes[functionNumber-1])]; + if(press) { + [commands addObject:press]; + } + return; // Done + } + } + + /* Numpad0-9 */ + NSRegularExpression *numpadKeyRegExp = [[NSRegularExpression alloc] initWithPattern:kKPKAutotypeKeypaddNumberMaskRegularExpression options:NSRegularExpressionCaseInsensitive error:0]; + NSTextCheckingResult *numpadResult = [numpadKeyRegExp firstMatchInString:commandString options:0 range:NSMakeRange(0, commandString.length)]; + if(numpadResult && numpadResult.numberOfRanges == 2) { + NSString *numberString = [commandString substringWithRange:[numpadResult rangeAtIndex:1]]; + NSScanner *numberScanner = [[NSScanner alloc] initWithString:numberString]; + NSInteger numpadNumber = 0; + if([numberScanner scanInteger:&numpadNumber] && numpadNumber >= 0 && numpadNumber <= 9) { + MPAutotypeKeyPress *press = [[MPAutotypeKeyPress alloc] initWithModifiedKey:MPMakeModifiedKey(flags, kMPNumpadKeyCodes[numpadNumber])]; + if(press) { + [commands addObject:press]; + } return; // Done } } - /* Numpad 0-9 */ - /* TODO: Numpad is not invariant, mapping is needed */ /* Clearfield */ if([kKPKAutotypeClearField isEqualToString:uppercaseCommand]) { @@ -321,16 +390,16 @@ static CGKeyCode kMPFunctionKeyCodes[] = { kVK_F1, kVK_F2, kVK_F3, kVK_F4, kVK_F } else { /* Fallback */ - [self appendAppropriatePasteCommandForEntry:entry withContent:commandString toCommands:commands]; + [self _appendTextCommandWithContent:commandString toCommands:commands obfusctate:obfuscate]; } } -+ (BOOL)updateModifierMask:(CGEventFlags *)mask forCommand:(NSString *)commandString { ++ (BOOL)_updateModifierMask:(CGEventFlags *)mask forCommand:(NSString *)commandString { NSAssert(mask != NULL, @"Input pointer missing!"); if(mask == NULL) { return NO; } - NSNumber *flagNumber = [self modifierCommands][commandString.uppercaseString]; + NSNumber *flagNumber = [self _modifierCommands][commandString.uppercaseString]; if(!flagNumber) { return NO; // No modifier key, just leave } diff --git a/MacPass/MPAutotypeKeyPress.h b/MacPass/MPAutotypeKeyPress.h index f7c56ad2..7f8f6e93 100644 --- a/MacPass/MPAutotypeKeyPress.h +++ b/MacPass/MPAutotypeKeyPress.h @@ -16,7 +16,6 @@ @property (readonly, assign) MPModifiedKey key; - (instancetype)initWithModifiedKey:(MPModifiedKey)key; -- (instancetype)initWithModifierMask:(CGEventFlags)modiferMask keyCode:(CGKeyCode)code; - (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character; @end From f525975add93a3a9c1f34ef8ab8875fbd15bd080 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 30 Jan 2017 19:11:48 +0100 Subject: [PATCH 672/778] using current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 48f1fe08..5b9ee0b2 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "6567438cd626f58ba9f372ca7b7b59abaa0d422f" +github "mstarke/KeePassKit" "8f4ce149f8617a497898b46a25311e741b83925b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index d13a7e7d..01da6929 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "6567438cd626f58ba9f372ca7b7b59abaa0d422f" +github "mstarke/KeePassKit" "8f4ce149f8617a497898b46a25311e741b83925b" github "sparkle-project/Sparkle" "1.15.1" From ad1734e7f54e899ed2a7ba00ed6c697825cad7de Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 31 Jan 2017 13:52:55 +0100 Subject: [PATCH 673/778] using current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 5b9ee0b2..0c3f770c 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "8f4ce149f8617a497898b46a25311e741b83925b" +github "mstarke/KeePassKit" "ba16ec6923b6648fe502b1cf2a3b8ff6dc1ce0dd" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 01da6929..4187e18f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "8f4ce149f8617a497898b46a25311e741b83925b" +github "mstarke/KeePassKit" "ba16ec6923b6648fe502b1cf2a3b8ff6dc1ce0dd" github "sparkle-project/Sparkle" "1.15.1" From 03f5ca42a22ea70e5d321013414d2295899b5c52 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 2 Feb 2017 17:24:42 +0100 Subject: [PATCH 674/778] moved views/windows closer to controllers --- MacPass.xcodeproj/project.pbxproj | 82 ++++++++++----------- MacPass/Base.lproj/EntryInspectorView.xib | 88 +++++++++++------------ MacPass/Base.lproj/PasswordInputView.xib | 32 +++++---- MacPass/DuplicateEntryOptionsWindow.xib | 19 ++--- MacPass/EntryView.xib | 24 +++---- MacPass/MPEntryInspectorViewController.h | 1 + MacPass/MPEntryInspectorViewController.m | 7 +- MacPass/MPPluginDataViewController.h | 13 ++++ MacPass/MPPluginDataViewController.m | 22 ++++++ MacPass/MPPluginDataViewController.xib | 19 +++++ 10 files changed, 177 insertions(+), 130 deletions(-) create mode 100644 MacPass/MPPluginDataViewController.h create mode 100644 MacPass/MPPluginDataViewController.m create mode 100644 MacPass/MPPluginDataViewController.xib diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 8311789b..4e2cf55a 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -26,6 +26,8 @@ 4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F104184E630200E85625 /* 14_BatteryTemplate.pdf */; }; 4C17F108184E6B6C00E85625 /* 31_PrintTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */; }; 4C17F109184E6B6C00E85625 /* 30_TerminalTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */; }; + 4C1BDF2B1E4392640012A3F0 /* MPPluginDataViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */; }; + 4C1BDF2C1E4392640012A3F0 /* MPPluginDataViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */; }; 4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */; }; 4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9884185F71A800943563 /* MPContextBarViewController.m */; }; 4C1F7FA21E3A12E600D6A40E /* MPModifiedKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1F7FA11E3A12E600D6A40E /* MPModifiedKey.m */; }; @@ -322,6 +324,9 @@ 4C17F104184E630200E85625 /* 14_BatteryTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 14_BatteryTemplate.pdf; sourceTree = ""; }; 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 31_PrintTemplate.pdf; sourceTree = ""; }; 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 30_TerminalTemplate.pdf; sourceTree = ""; }; + 4C1BDF281E4392640012A3F0 /* MPPluginDataViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginDataViewController.h; sourceTree = ""; }; + 4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginDataViewController.m; sourceTree = ""; }; + 4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPPluginDataViewController.xib; sourceTree = ""; }; 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = ""; }; 4C1E9883185F71A800943563 /* MPContextBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextBarViewController.h; sourceTree = ""; }; 4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = ""; }; @@ -843,19 +848,8 @@ isa = PBXGroup; children = ( 4C6AEF041A0441F800CA2420 /* AccessoryViews */, - 4CF78060176E75180032EE71 /* Settings */, - 4C25D58616CF0FAA00F6806C /* EntryView.xib */, - 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */, 4C77E37B15B84A240093A587 /* MainMenu.xib */, - 4C61EA0416D2FFE200AC519E /* OutlineView.xib */, - 4CF78061176E752E0032EE71 /* PasswordInputs */, - 4C4B7EF517A46815000234C7 /* Inspector */, - 4C7155DA1A10DB6D00979307 /* IconSelection.xib */, 4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */, - 6021FE7918E15FF300C3BC51 /* DatePickingView.xib */, - 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */, - 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */, - 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */, 4CE8247316E2F2B900573141 /* MPOverlayView.h */, 4CE8247416E2F2B900573141 /* MPOverlayView.m */, 4CFC53BD16E94729007396BE /* MPShadowBox.h */, @@ -1032,14 +1026,19 @@ children = ( 4CA0B2F715BCAF6700654E32 /* MPGeneralSettingsController.h */, 4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */, + 4C76155E1764C04C0015A1A6 /* GeneralSettings.xib */, 4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */, 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */, + 6021FE5818E1429500C3BC51 /* IntegrationSettings.xib */, 4CD7223917A7CB0700F5A1E1 /* MPWorkflowSettingsController.h */, 4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */, + 6021FE6318E15D9100C3BC51 /* WorkflowSettings.xib */, 4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */, 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */, + 6021FE6E18E15E6D00C3BC51 /* UpdateSettings.xib */, 4C25703C1BF11C2300D39416 /* MPPluginSettingsController.h */, 4C25703D1BF11C2300D39416 /* MPPluginSettingsController.m */, + 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */, ); name = Settings; sourceTree = ""; @@ -1047,8 +1046,14 @@ 4C4B7EF517A46815000234C7 /* Inspector */ = { isa = PBXGroup; children = ( + 4C77547316E55FE800970E02 /* MPInspectorViewController.h */, + 4C77547416E55FE800970E02 /* MPInspectorViewController.m */, 4C76156F1764C0E20015A1A6 /* InspectorView.xib */, + 4C4B7EEB17A467E1000234C7 /* MPGroupInspectorViewController.h */, + 4C4B7EEC17A467E1000234C7 /* MPGroupInspectorViewController.m */, 6021FE4D18E13F1D00C3BC51 /* GroupInspectorView.xib */, + 4C4B7EF017A467FC000234C7 /* MPEntryInspectorViewController.h */, + 4C4B7EF117A467FC000234C7 /* MPEntryInspectorViewController.m */, 6021FE3D18E1341900C3BC51 /* EntryInspectorView.xib */, ); name = Inspector; @@ -1295,32 +1300,40 @@ 4C2E382516D1470200037A9D /* MPViewController.m */, 4C65FAE616D16DDB006E0577 /* MPPasswordInputController.h */, 4C65FAE716D16DDB006E0577 /* MPPasswordInputController.m */, + 4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */, 4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */, 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */, + 6021FE8F18E1617300C3BC51 /* PasswordCreatorView.xib */, 4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */, 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */, + 4C25D58616CF0FAA00F6806C /* EntryView.xib */, 4C61EA0116D2FD0800AC519E /* MPOutlineViewController.h */, 4C61EA0216D2FD0800AC519E /* MPOutlineViewController.m */, + 4C61EA0416D2FFE200AC519E /* OutlineView.xib */, 4CE39ABD16ECE34A000FE29D /* MPIconSelectViewController.h */, 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */, + 4C7155DA1A10DB6D00979307 /* IconSelection.xib */, 4C4B7EE617A45EC5000234C7 /* MPDatePickingViewController.h */, 4C4B7EE717A45EC5000234C7 /* MPDatePickingViewController.m */, - 4C77547316E55FE800970E02 /* MPInspectorViewController.h */, - 4C77547416E55FE800970E02 /* MPInspectorViewController.m */, - 4C4B7EEB17A467E1000234C7 /* MPGroupInspectorViewController.h */, - 4C4B7EEC17A467E1000234C7 /* MPGroupInspectorViewController.m */, - 4C4B7EF017A467FC000234C7 /* MPEntryInspectorViewController.h */, - 4C4B7EF117A467FC000234C7 /* MPEntryInspectorViewController.m */, + 6021FE7918E15FF300C3BC51 /* DatePickingView.xib */, + 4C4B7EF517A46815000234C7 /* Inspector */, 4C0F647917B6BC9C00D9522A /* MPSavePanelAccessoryViewController.h */, 4C0F647A17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m */, 4C1E9883185F71A800943563 /* MPContextBarViewController.h */, 4C1E9884185F71A800943563 /* MPContextBarViewController.m */, + 4C3FFD9D16DAF60600DF9186 /* ContextBar.xib */, 4C26C34818D8D5A300CF1A1C /* MPPreviewViewController.h */, 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */, + 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */, 4CE30ACA1A312B7F0063FCC6 /* MPReferenceBuilderViewController.h */, 4CE30ACB1A312B7F0063FCC6 /* MPReferenceBuilderViewController.m */, + 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */, 4CAAA8241D787B8B00CDE977 /* MPAutotypeBuilderViewController.h */, 4CAAA8251D787B8B00CDE977 /* MPAutotypeBuilderViewController.m */, + 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */, + 4C1BDF281E4392640012A3F0 /* MPPluginDataViewController.h */, + 4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */, + 4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */, ); name = "View Controller"; sourceTree = ""; @@ -1364,16 +1377,22 @@ children = ( 4CA0B2FA15BCAF8600654E32 /* MPSettingsWindowController.h */, 4CA0B2FB15BCAF8600654E32 /* MPSettingsWindowController.m */, + 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */, 4C83814015BF4677001AE468 /* MPDocumentWindowController.h */, 4C83814115BF4677001AE468 /* MPDocumentWindowController.m */, + 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */, 4CE8246D16E2E93400573141 /* MPOverlayWindowController.h */, 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */, + 4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */, 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */, 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */, + 6021FE9A18E1650F00C3BC51 /* DatabaseSettingsWindow.xib */, 4C0728BB17B5B7F7005A7DD9 /* MPPasswordEditWindowController.h */, 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */, + 6021FE8418E160BC00C3BC51 /* PasswordEditWindow.xib */, 4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */, 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */, + 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */, ); name = "Window Controller"; sourceTree = ""; @@ -1394,13 +1413,7 @@ 4CE8247216E2E99F00573141 /* Windows */ = { isa = PBXGroup; children = ( - 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */, - 4CA0B2EC15BCADAC00654E32 /* SettingsWindow.xib */, - 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */, - 4C431BCE16E2BAB000700A81 /* OverlayWindow.xib */, 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */, - 6021FE9A18E1650F00C3BC51 /* DatabaseSettingsWindow.xib */, - 6021FE8418E160BC00C3BC51 /* PasswordEditWindow.xib */, 4C7F8B6A1A10B68400CCB83D /* WelcomeWindow.xib */, 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */, 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */, @@ -1422,27 +1435,6 @@ name = Icons; sourceTree = ""; }; - 4CF78060176E75180032EE71 /* Settings */ = { - isa = PBXGroup; - children = ( - 4C76155E1764C04C0015A1A6 /* GeneralSettings.xib */, - 6021FE5818E1429500C3BC51 /* IntegrationSettings.xib */, - 6021FE6318E15D9100C3BC51 /* WorkflowSettings.xib */, - 6021FE6E18E15E6D00C3BC51 /* UpdateSettings.xib */, - 4C0DBEF71BF508DE00F9B287 /* PluginSettings.xib */, - ); - name = Settings; - sourceTree = ""; - }; - 4CF78061176E752E0032EE71 /* PasswordInputs */ = { - isa = PBXGroup; - children = ( - 4C76156A1764C0C40015A1A6 /* PasswordInputView.xib */, - 6021FE8F18E1617300C3BC51 /* PasswordCreatorView.xib */, - ); - name = PasswordInputs; - sourceTree = ""; - }; 4CF9ECAE1BFDEC5700C58E99 /* Plugin */ = { isa = PBXGroup; children = ( @@ -1665,6 +1657,7 @@ 4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */, 4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */, 4C0DBEF51BF508DE00F9B287 /* PluginSettings.xib in Resources */, + 4C1BDF2C1E4392640012A3F0 /* MPPluginDataViewController.xib in Resources */, 4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1799,6 +1792,7 @@ 4C4B7EEE17A467E1000234C7 /* MPGroupInspectorViewController.m in Sources */, 4C7B63721C0CB51F00D7038C /* TTTCryptographyTransformers.m in Sources */, 4C4B7EF317A467FC000234C7 /* MPEntryInspectorViewController.m in Sources */, + 4C1BDF2B1E4392640012A3F0 /* MPPluginDataViewController.m in Sources */, 4C4B7EF817A4B335000234C7 /* MPUniqueCharactersFormatter.m in Sources */, 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */, 4CD7223B17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m in Sources */, diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index ec71694e..a56fe8e1 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,5 +1,5 @@ - + @@ -39,10 +39,10 @@ - + - + @@ -54,7 +54,7 @@ - + @@ -241,17 +241,14 @@ - - - - + - + - + - - + + - - + + - + @@ -329,7 +326,7 @@ - + @@ -404,7 +401,7 @@ - - - - - - - - + + + + + + + + - - - @@ -447,10 +441,10 @@ - + - + @@ -461,7 +455,7 @@ - + @@ -483,7 +477,7 @@ - + @@ -497,7 +491,7 @@ - + @@ -527,7 +521,7 @@ - + @@ -555,7 +549,7 @@ - + @@ -625,7 +619,7 @@ - + @@ -670,7 +664,6 @@ - @@ -679,8 +672,9 @@ + - + @@ -795,8 +789,8 @@ - - - - + + @@ -56,8 +57,8 @@ DQ - - + + @@ -78,15 +79,15 @@ DQ - - - - + @@ -93,13 +91,13 @@ - + - + - + @@ -244,11 +242,11 @@ - + - + @@ -269,13 +268,13 @@ - + - + - + @@ -408,23 +407,43 @@ + + + + + + + - + + + + - + @@ -441,7 +460,7 @@ - + diff --git a/MacPass/Base.lproj/GroupInspectorView.xib b/MacPass/Base.lproj/GroupInspectorView.xib index 80a3f07a..44685cc0 100644 --- a/MacPass/Base.lproj/GroupInspectorView.xib +++ b/MacPass/Base.lproj/GroupInspectorView.xib @@ -1,8 +1,9 @@ - - + + - + + @@ -10,7 +11,6 @@ - @@ -20,16 +20,16 @@ - + - + - + - + @@ -37,7 +37,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -113,24 +113,35 @@ - + - + - + + @@ -143,21 +154,24 @@ + + + + - @@ -177,6 +191,7 @@ + diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index a1208002..12854c13 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -386,6 +386,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self.inspectorViewController pickExpiryDate:sender]; } +- (void)showPluginData:(id)sender { + [self.inspectorViewController showPluginData:sender]; +} + - (void)toggleInspector:(id)sender { NSView *inspectorView = self.inspectorViewController.view; BOOL inspectorWasVisible = [self _isInspectorVisible]; diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index c452b1ea..b947b976 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -15,31 +15,31 @@ @interface MPEntryInspectorViewController : MPViewController +@property (weak) IBOutlet NSSegmentedControl *infoTabControl; + +/* General */ +@property (weak) IBOutlet NSTabView *tabView; +@property (strong) IBOutlet NSView *generalView; + @property (weak) IBOutlet NSTextField *titleTextField; @property (weak) IBOutlet NSTextField *usernameTextField; @property (weak) IBOutlet NSTextField *URLTextField; @property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField; - +@property (weak) IBOutlet NSButton *generatePasswordButton; +@property (weak) IBOutlet NSButton *togglePassword; +@property (weak) IBOutlet NSButton *expiresCheckButton; +@property (weak) IBOutlet NSTokenField *tagsTokenField; @property (weak) IBOutlet NSTextField *uuidTextField; @property (weak) IBOutlet NSTextField *createdTextField; @property (weak) IBOutlet NSTextField *modifiedTextField; -@property (weak) IBOutlet NSSegmentedControl *infoTabControl; +/* Attachments */ @property (weak) IBOutlet NSTableView *attachmentTableView; @property (weak) IBOutlet NSTableView *customFieldsTableView; -@property (weak) IBOutlet NSTableView *pluginDataTableView; -@property (weak) IBOutlet NSButton *generatePasswordButton; -@property (weak) IBOutlet NSButton *togglePassword; - -@property (weak) IBOutlet NSTabView *tabView; -@property (strong) IBOutlet NSView *generalView; -@property (strong) IBOutlet NSView *autotypView; - -@property (weak) IBOutlet NSButton *expiresCheckButton; -@property (weak) IBOutlet NSTokenField *tagsTokenField; /* Autotype */ +@property (strong) IBOutlet NSView *autotypView; @property (weak) IBOutlet NSButton *enableAutotypeCheckButton; @property (weak) IBOutlet NSButton *obfuscateAutotypeCheckButton; @property (weak) IBOutlet NSTableView *windowAssociationsTableView; @@ -47,8 +47,6 @@ @property (weak) IBOutlet NSTextField *customEntrySequenceTextField; @property (weak) IBOutlet NSComboBox *windowTitleComboBox; -@property (weak) IBOutlet NSButton *removeAssociationButton; -@property (weak) IBOutlet NSButton *addAssociationButton; @property (weak) IBOutlet NSButton *showCustomAssociationSequenceAutotypeBuilderButton; @property (weak) IBOutlet NSTextField *associationSequenceTextField; diff --git a/MacPass/MPInspectorViewController.h b/MacPass/MPInspectorViewController.h index 10b00a0d..24b862cf 100644 --- a/MacPass/MPInspectorViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -24,6 +24,7 @@ - (IBAction)pickIcon:(id)sender; - (IBAction)pickExpiryDate:(id)sender; +- (IBAction)showPluginData:(id)sender; /* Separate call to ensure all registered objects are in place */ - (void)registerNotificationsForDocument:(NSDocument *)document; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index f0abef22..6b782918 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -15,6 +15,7 @@ #import "MPIconSelectViewController.h" #import "MPNotifications.h" #import "MPPopupImageView.h" +#import "MPPluginDataViewController.h" #import "KeePassKit/KeePassKit.h" @@ -169,33 +170,31 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { #pragma mark - #pragma mark Popup - (IBAction)pickIcon:(id)sender { - if(self.popover) { - return; // There is still a popover so do nothing - } - self.popover = [[NSPopover alloc] init]; - self.popover.delegate = self; - self.popover.behavior = NSPopoverBehaviorTransient; - MPIconSelectViewController *vc = [[MPIconSelectViewController alloc] init]; - vc.representedObject = self.representedObject; - vc.popover = self.popover; - vc.observer = self.windowController.document; - self.popover.contentViewController = vc; - [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; + NSAssert([sender isKindOfClass:[NSView class]], @""); + [self _popupViewController:[[MPIconSelectViewController alloc] init] atView:(NSView *)sender]; } - (IBAction)pickExpiryDate:(id)sender { + NSAssert([sender isKindOfClass:[NSView class]], @""); + [self _popupViewController:[[MPDatePickingViewController alloc] init] atView:(NSView *)sender]; +} + +- (IBAction)showPluginData:(id)sender { + NSAssert([sender isKindOfClass:[NSView class]], @""); + [self _popupViewController:[[MPPluginDataViewController alloc] init] atView:(NSView *)sender]; +} + +- (void)_popupViewController:(MPViewController *)vc atView:(NSView *)view { if(self.popover) { return; // Popover still active, abort } - NSAssert([sender isKindOfClass:[NSView class]], @""); self.popover = [[NSPopover alloc] init]; self.popover.delegate = self; self.popover.behavior = NSPopoverBehaviorTransient; - MPDatePickingViewController *vc = [[MPDatePickingViewController alloc] init]; vc.representedObject = self.representedObject; vc.observer = self.windowController.document; self.popover.contentViewController = vc; - [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; + [self.popover showRelativeToRect:NSZeroRect ofView:view preferredEdge:NSMinYEdge]; } diff --git a/MacPass/MPPluginDataViewController.h b/MacPass/MPPluginDataViewController.h index d995bfa0..c3a09482 100644 --- a/MacPass/MPPluginDataViewController.h +++ b/MacPass/MPPluginDataViewController.h @@ -8,6 +8,6 @@ #import "MPViewController.h" -@interface MPPluginDataViewController : MPViewController +@interface MPPluginDataViewController : MPViewController @end diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 0109a058..6531d64a 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -8,15 +8,49 @@ #import "MPPluginDataViewController.h" +#import + @interface MPPluginDataViewController () +@property (nonatomic, readonly, assign) KPKNode *representedNode; +@property (strong) NSDictionaryController *pluginDataController; +@property (weak) IBOutlet NSTableView *pluginDataTabelView; + @end @implementation MPPluginDataViewController -- (void)viewDidLoad { - [super viewDidLoad]; - // Do view setup here. +- (NSString *)nibName { + return @"PluginDataView"; +} + +- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if(self) { + _pluginDataController = [[NSDictionaryController alloc] init]; + } + return self; +} + +- (void)didLoadView { + [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil]; + self.pluginDataTabelView.backgroundColor = [NSColor clearColor]; +} + +- (KPKNode *)representedNode { + if([self.representedObject isKindOfClass:[KPKNode class]]) { + return self.representedObject; + } + return nil; +} + +- (IBAction)removeAllPluginData:(id)sender { + // +} + +- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { + NSTableCellView *view = [tableView makeViewWithIdentifier:@"PluginCell" owner:self]; + return view; } @end diff --git a/MacPass/MPPluginDataViewController.xib b/MacPass/MPPluginDataViewController.xib deleted file mode 100644 index eca68f05..00000000 --- a/MacPass/MPPluginDataViewController.xib +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/MacPass/PluginDataView.xib b/MacPass/PluginDataView.xib new file mode 100644 index 00000000..e367c467 --- /dev/null +++ b/MacPass/PluginDataView.xib @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2e7e03200701cf1cbbc85d96e8d84e435d094bb7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 3 Feb 2017 18:35:37 +0100 Subject: [PATCH 676/778] Plugin data display works. --- MacPass/MPPluginDataViewController.m | 12 +++++++++++- MacPass/PluginDataView.xib | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 6531d64a..b213945b 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -7,6 +7,7 @@ // #import "MPPluginDataViewController.h" +#import "MPCustomFieldTableCellView.h" #import @@ -34,6 +35,7 @@ - (void)didLoadView { [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil]; + [self.pluginDataTabelView bind:NSContentBinding toObject:self.pluginDataController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; self.pluginDataTabelView.backgroundColor = [NSColor clearColor]; } @@ -49,7 +51,15 @@ } - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { - NSTableCellView *view = [tableView makeViewWithIdentifier:@"PluginCell" owner:self]; + MPCustomFieldTableCellView *view = [tableView makeViewWithIdentifier:@"PluginCell" owner:self]; + [view.valueTextField bind:NSValueBinding + toObject:view + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(value))] + options:nil]; + [view.labelTextField bind:NSValueBinding + toObject:view + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(key))] + options:nil]; return view; } diff --git a/MacPass/PluginDataView.xib b/MacPass/PluginDataView.xib index e367c467..dbcccbde 100644 --- a/MacPass/PluginDataView.xib +++ b/MacPass/PluginDataView.xib @@ -102,6 +102,9 @@ + + + @@ -147,7 +150,7 @@ - + From 2d6582240d21b60c0f639aab15c34b19a69faa8b Mon Sep 17 00:00:00 2001 From: michael starke Date: Sat, 4 Feb 2017 00:14:36 +0100 Subject: [PATCH 677/778] customTableView now does not rely on windowController for observer lookup --- MacPass/MPCustomFieldTableCellView.h | 3 +++ MacPass/MPCustomFieldTableCellView.m | 8 +++++--- MacPass/MPCustomFieldTableViewDelegate.m | 2 ++ MacPass/MPPluginDataViewController.m | 3 ++- MacPass/MPViewController.h | 2 +- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/MacPass/MPCustomFieldTableCellView.h b/MacPass/MPCustomFieldTableCellView.h index a3d0a80a..db89aade 100644 --- a/MacPass/MPCustomFieldTableCellView.h +++ b/MacPass/MPCustomFieldTableCellView.h @@ -7,6 +7,7 @@ // #import +#import "MPModelChangeObserving.h" @interface MPCustomFieldTableCellView : NSTableCellView @@ -14,4 +15,6 @@ @property (nonatomic, weak) IBOutlet NSTextField *valueTextField; @property (nonatomic, weak) IBOutlet NSButton *removeButton; +@property (weak) id observer; + @end diff --git a/MacPass/MPCustomFieldTableCellView.m b/MacPass/MPCustomFieldTableCellView.m index 64cc641d..bcc0542b 100644 --- a/MacPass/MPCustomFieldTableCellView.m +++ b/MacPass/MPCustomFieldTableCellView.m @@ -25,10 +25,12 @@ - (void)setValue:(id)value forKeyPath:(NSString *)keyPath { if([keyPath hasPrefix:@"objectValue."]) { - [self.window.windowController.document willChangeModelProperty]; + [self.observer willChangeModelProperty]; + [super setValue:value forKeyPath:keyPath]; + [self.observer didChangeModelProperty]; + } + else { [super setValue:value forKeyPath:keyPath]; - [self.window.windowController.document didChangeModelProperty]; } - [super setValue:value forKeyPath:keyPath]; } @end diff --git a/MacPass/MPCustomFieldTableViewDelegate.m b/MacPass/MPCustomFieldTableViewDelegate.m index 3293effb..071ff574 100644 --- a/MacPass/MPCustomFieldTableViewDelegate.m +++ b/MacPass/MPCustomFieldTableViewDelegate.m @@ -43,6 +43,8 @@ view.removeButton.action = @selector(removeCustomField:); view.removeButton.tag = row; + view.observer = tableView.window.windowController.document; + return view; } diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index b213945b..9ecb1565 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -34,7 +34,7 @@ } - (void)didLoadView { - [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil]; + [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(mutableCustomData)) options:nil]; [self.pluginDataTabelView bind:NSContentBinding toObject:self.pluginDataController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; self.pluginDataTabelView.backgroundColor = [NSColor clearColor]; } @@ -60,6 +60,7 @@ toObject:view withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(key))] options:nil]; + view.observer = self.observer; return view; } diff --git a/MacPass/MPViewController.h b/MacPass/MPViewController.h index b56c35b5..0be43eb8 100644 --- a/MacPass/MPViewController.h +++ b/MacPass/MPViewController.h @@ -18,4 +18,4 @@ - (void)didLoadView; - (void)updateResponderChain; -@end \ No newline at end of file +@end From 44d0dcf0c0f48654a8aa00737ef9069ab93f201a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 8 Feb 2017 08:33:27 +0100 Subject: [PATCH 678/778] using properties and NSStringFromSelector --- MacPass/MPPasswordInputController.m | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 2f116fc7..5a4992b1 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -54,11 +54,11 @@ - (void)didLoadView { [self.keyPathControl setDelegate:self.pathControlDelegate]; [self.errorImageView setImage:[NSImage imageNamed:NSImageNameCaution]]; - [self.passwordTextField bind:@"showPassword" toObject:self withKeyPath:@"showPassword" options:nil]; - [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:@"showPassword" options:nil]; - [self.enablePasswordCheckBox bind:NSValueBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.togglePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; - [self.passwordTextField bind:NSEnabledBinding toObject:self withKeyPath:@"enablePassword" options:nil]; + [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; + [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; + [self.enablePasswordCheckBox bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enablePassword)) options:nil]; + [self.togglePasswordButton bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enablePassword)) options:nil]; + [self.passwordTextField bind:NSEnabledBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enablePassword)) options:nil]; [self _reset]; } @@ -79,14 +79,15 @@ [self.passwordTextField setStringValue:@""]; } } - NSString *placeHolderString = _enablePassword ? NSLocalizedString(@"PASSWORD_INPUT_ENTER_PASSWORD", "") : NSLocalizedString(@"PASSWORD_INPUT_NO_PASSWORD", ""); - [[self.passwordTextField cell] setPlaceholderString:placeHolderString]; + NSString *placeHolderString = _enablePassword ? NSLocalizedString(@"PASSWORD_INPUT_ENTER_PASSWORD", "") : NSLocalizedString(@"PASSWORD_INPUT_NO_PASSWORD", ""); + [self.passwordTextField.cell setPlaceholderString:placeHolderString]; } #pragma mark - #pragma mark Private - (IBAction)_decrypt:(id)sender { + /* reset show password */ MPDocument *document = self.windowController.document; if(document) { NSError *error = nil; From f8b80662bd9d582ede4bcb3078919db55cac4aa1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 14 Feb 2017 15:40:52 +0100 Subject: [PATCH 679/778] Renamed MPPluginManager to MPPluginHost --- MacPass.xcodeproj/project.pbxproj | 18 +-- MacPass/MPAppDelegate.m | 4 +- MacPass/MPPlugin.h | 12 +- MacPass/MPPlugin.m | 12 +- MacPass/MPPluginHost.h | 22 ++- MacPass/MPPluginHost.m | 198 ++++++++++++++++++++++--- MacPass/MPPluginManager.h | 29 ---- MacPass/MPPluginManager.m | 211 --------------------------- MacPass/MPPluginSettingsController.m | 6 +- 9 files changed, 216 insertions(+), 296 deletions(-) delete mode 100644 MacPass/MPPluginManager.h delete mode 100644 MacPass/MPPluginManager.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 5fec182f..5c8fe3f6 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -213,8 +213,7 @@ 4CCFA13D1BF0CC7A0078E0A1 /* Test_Password_1234.kdb in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1321BF0CC7A0078E0A1 /* Test_Password_1234.kdb */; }; 4CCFA13E1BF0CC7A0078E0A1 /* Test_Password_1234.kdbx in Resources */ = {isa = PBXBuildFile; fileRef = 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */; }; 4CD034AA1BFE113B003C002C /* MPPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A51BFE113B003C002C /* MPPlugin.m */; }; - 4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A71BFE113B003C002C /* MPPluginHost.m */; }; - 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginManager.m */; }; + 4CD034AC1BFE113B003C002C /* MPPluginHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD034A91BFE113B003C002C /* MPPluginHost.m */; }; 4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */; }; 4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD5D704177A5F3300100649 /* MPDatabaseSettingsWindowController.m */; }; 4CD60C131C104AD4005BE5F8 /* HNHUi.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; @@ -645,10 +644,8 @@ 4CCFA1331BF0CC7A0078E0A1 /* Test_Password_1234.kdbx */ = {isa = PBXFileReference; lastKnownFileType = file; path = Test_Password_1234.kdbx; sourceTree = ""; }; 4CD034A41BFE113B003C002C /* MPPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPlugin.h; path = MacPass/MPPlugin.h; sourceTree = SOURCE_ROOT; }; 4CD034A51BFE113B003C002C /* MPPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPlugin.m; path = MacPass/MPPlugin.m; sourceTree = SOURCE_ROOT; }; - 4CD034A61BFE113B003C002C /* MPPluginHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginHost.h; path = MacPass/MPPluginHost.h; sourceTree = SOURCE_ROOT; }; - 4CD034A71BFE113B003C002C /* MPPluginHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginHost.m; path = MacPass/MPPluginHost.m; sourceTree = SOURCE_ROOT; }; - 4CD034A81BFE113B003C002C /* MPPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginManager.h; path = MacPass/MPPluginManager.h; sourceTree = SOURCE_ROOT; }; - 4CD034A91BFE113B003C002C /* MPPluginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginManager.m; path = MacPass/MPPluginManager.m; sourceTree = SOURCE_ROOT; }; + 4CD034A81BFE113B003C002C /* MPPluginHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPPluginHost.h; path = MacPass/MPPluginHost.h; sourceTree = SOURCE_ROOT; }; + 4CD034A91BFE113B003C002C /* MPPluginHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPPluginHost.m; path = MacPass/MPPluginHost.m; sourceTree = SOURCE_ROOT; }; 4CD2B9041849424B0051B395 /* MPAutotypeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeContext.h; sourceTree = ""; }; 4CD2B9051849424B0051B395 /* MPAutotypeContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAutotypeContext.m; sourceTree = ""; }; 4CD5D703177A5F3300100649 /* MPDatabaseSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDatabaseSettingsWindowController.h; sourceTree = ""; }; @@ -1440,10 +1437,8 @@ children = ( 4CD034A41BFE113B003C002C /* MPPlugin.h */, 4CD034A51BFE113B003C002C /* MPPlugin.m */, - 4CD034A61BFE113B003C002C /* MPPluginHost.h */, - 4CD034A71BFE113B003C002C /* MPPluginHost.m */, - 4CD034A81BFE113B003C002C /* MPPluginManager.h */, - 4CD034A91BFE113B003C002C /* MPPluginManager.m */, + 4CD034A81BFE113B003C002C /* MPPluginHost.h */, + 4CD034A91BFE113B003C002C /* MPPluginHost.m */, ); name = Plugin; path = MacPassPlugin; @@ -1700,7 +1695,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4CD034AC1BFE113B003C002C /* MPPluginManager.m in Sources */, + 4CD034AC1BFE113B003C002C /* MPPluginHost.m in Sources */, 4C77E37315B84A240093A587 /* main.m in Sources */, 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */, 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, @@ -1710,7 +1705,6 @@ 4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */, 4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */, 4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */, - 4CD034AB1BFE113B003C002C /* MPPluginHost.m in Sources */, 4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */, 4C2E382616D1470200037A9D /* MPViewController.m in Sources */, 4C65FAE916D16DDB006E0577 /* MPPasswordInputController.m in Sources */, diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 56858721..5692f04a 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -29,7 +29,7 @@ #import "MPDocumentWindowController.h" #import "MPLockDaemon.h" #import "MPPasswordCreatorViewController.h" -#import "MPPluginManager.h" +#import "MPPluginHost.h" #import "MPSettingsHelper.h" #import "MPSettingsWindowController.h" #import "MPStringLengthValueTransformer.h" @@ -161,7 +161,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi [MPLockDaemon defaultDaemon]; [MPAutotypeDaemon defaultDaemon]; /* Create Plugin Manager */ - [MPPluginManager sharedManager]; + [MPPluginHost sharedHost]; #ifndef DEBUG /* Only enable updater in Release */ [SUUpdater sharedUpdater]; diff --git a/MacPass/MPPlugin.h b/MacPass/MPPlugin.h index 8e4b85e8..42e166ff 100644 --- a/MacPass/MPPlugin.h +++ b/MacPass/MPPlugin.h @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN -@class MPPluginManager; +@class MPPluginHost; FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @@ -20,11 +20,10 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @property (copy, readonly) NSString *name; @property (copy, readonly) NSString *version; -- (instancetype)initWithPluginManager:(MPPluginManager *)manager NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithPluginHost:(MPPluginHost *)host NS_DESIGNATED_INITIALIZER; - (instancetype)init NS_UNAVAILABLE; - (void)didLoadPlugin; -- (void)willUnloadPlugin; @end @@ -51,5 +50,10 @@ FOUNDATION_EXPORT NSString *const kMPPluginFileExtension; @end +@interface MPPlugin (Deprecated) -NS_ASSUME_NONNULL_END \ No newline at end of file +- (instancetype)initWithPluginManager:(id)manager; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MacPass/MPPlugin.m b/MacPass/MPPlugin.m index d8707576..d7b3f3c2 100644 --- a/MacPass/MPPlugin.m +++ b/MacPass/MPPlugin.m @@ -7,14 +7,14 @@ // #import "MPPlugin.h" -#import "MPPluginManager.h" +#import "MPPluginHost.h" #import "MPSettingsHelper.h" NSString *const kMPPluginFileExtension = @"mpplugin"; @implementation MPPlugin -- (instancetype)initWithPluginManager:(MPPluginManager *)manager { +- (instancetype)initWithPluginHost:(MPPluginHost *)host { self = [super init]; return self; } @@ -49,8 +49,14 @@ NSString *const kMPPluginFileExtension = @"mpplugin"; } -- (void)willUnloadPlugin { +@end +@implementation MPPlugin (Deprecated) + +- (instancetype)initWithPluginManager:(id)manager { + NSLog(@"Deprecated initalizer. Use initWithPluginHost: instead!"); + self = [self initWithPluginManager:nil]; + return self; } @end diff --git a/MacPass/MPPluginHost.h b/MacPass/MPPluginHost.h index 9101d2ab..c2ac0a29 100644 --- a/MacPass/MPPluginHost.h +++ b/MacPass/MPPluginHost.h @@ -2,30 +2,26 @@ // MPPluginHost.h // MacPass // -// Created by Michael Starke on 13/11/15. -// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// Created by Michael Starke on 16/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. // #import -NS_ASSUME_NONNULL_BEGIN +FOUNDATION_EXPORT NSString *const MPPluginHostWillLoadPlugin; +FOUNDATION_EXPORT NSString *const MPPluginHostDidLoadPlugin; -@class KPKNode; -@class KPKEntry; -@class KPKGroup; +FOUNDATION_EXPORT NSString *const MPPluginHostPluginBundleIdentifiyerKey; -typedef BOOL (^NodeMatchBlock)(KPKNode *aNode); +@class MPPlugin; @interface MPPluginHost : NSObject +@property (readonly, copy) NSArray *plugins; +@property (nonatomic, readonly) BOOL loadUnsecurePlugins; + + (instancetype)sharedHost; - (instancetype)init NS_UNAVAILABLE; -- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock; -- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock; - -- (void)presentError:(NSError *)error completionHandler:(void (^)(NSModalResponse response))completionHandler; - @end -NS_ASSUME_NONNULL_END diff --git a/MacPass/MPPluginHost.m b/MacPass/MPPluginHost.m index 36962761..00303dfd 100644 --- a/MacPass/MPPluginHost.m +++ b/MacPass/MPPluginHost.m @@ -2,54 +2,214 @@ // MPPluginHost.m // MacPass // -// Created by Michael Starke on 13/11/15. -// Copyright © 2015 HicknHack Software GmbH. All rights reserved. +// Created by Michael Starke on 16/07/15. +// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. // #import "MPPluginHost.h" -#import "MPDocument.h" + +#import "MPPlugin.h" +#import "NSApplication+MPAdditions.h" +#import "MPSettingsHelper.h" + +#import "KeePassKit/KeePassKit.h" + + +NSString *const MPPluginHostWillLoadPlugin = @"com.hicknhack.macpass.MPPluginHostWillLoadPlugin"; +NSString *const MPPluginHostDidLoadPlugin = @"comt.hicknhack.macpass.MPPluginHostDidLoadPlugin"; + +NSString *const MPPluginHostPluginBundleIdentifiyerKey = @"MPPluginHostPluginBundleIdentifiyerKey"; + + +@interface MPPluginHost () + +@property (strong) NSMutableArray *mutablePlugins; +@property (nonatomic) BOOL loadUnsecurePlugins; + +@end @implementation MPPluginHost -static MPPluginHost *_instance; ++ (NSSet *)keyPathsForValuesAffectingPlugins { + return [NSSet setWithObject:NSStringFromSelector(@selector(mutablePlugins))]; +} + (instancetype)sharedHost { + static MPPluginHost *instance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - _instance = [[MPPluginHost alloc] _init]; + instance = [[MPPluginHost alloc] _init]; }); - return _instance; + return instance; } - (instancetype)init { - return _instance; + return nil; } - (instancetype)_init { self = [super init]; if(self) { + _mutablePlugins = [[NSMutableArray alloc] init]; + _loadUnsecurePlugins = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyLoadUnsecurePlugins]; + [self _loadPlugins]; + + [self bind:NSStringFromSelector(@selector(loadUnsecurePlugins)) + toObject:[NSUserDefaultsController sharedUserDefaultsController] + withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLoadUnsecurePlugins] + options:nil]; } return self; } -- (NSArray *)filteredEntriesUsingBlock:(NodeMatchBlock)matchBlock { - NSArray *currentDocuments = [NSDocumentController sharedDocumentController].documents; - NSMutableArray *entries = [[NSMutableArray alloc] initWithCapacity:200]; - for(MPDocument *document in currentDocuments) { - if(document.tree) { - [entries addObjectsFromArray:document.tree.allEntries]; +- (NSArray *)plugins { + return [self.mutablePlugins copy]; +} + +- (void)_loadPlugins { + NSURL *appSupportDir = [NSApp applicationSupportDirectoryURL:YES]; + NSError *error; + NSArray *externalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:appSupportDir + includingPropertiesForKeys:@[] + options:NSDirectoryEnumerationSkipsHiddenFiles + error:&error]; + + NSArray *internalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:[NSBundle mainBundle].builtInPlugInsURL + includingPropertiesForKeys:@[] + options:NSDirectoryEnumerationSkipsHiddenFiles + error:&error]; + + + if(!externalPluginsURLs) { + // No external plugins + NSLog(@"No external plugins found!"); + } + if(!internalPluginsURLs) { + // No internal plugins + NSLog(@"No internal plugins found!"); + } + NSArray *pluginURLs = [externalPluginsURLs arrayByAddingObjectsFromArray:internalPluginsURLs]; + + for(NSURL *pluginURL in pluginURLs) { + + if(![self _validURL:pluginURL]) { + continue; + } + + if(![self _validSignature:pluginURL]) { + continue; + } + + NSBundle *pluginBundle = [NSBundle bundleWithURL:pluginURL]; + if(!pluginBundle) { + NSLog(@"Could not create bundle %@", pluginURL.path); + continue; + } + NSError *error; + if(![pluginBundle preflightAndReturnError:&error]) { + NSLog(@"Preflight Error %@ %@", error.localizedDescription, error.localizedFailureReason ); + continue; + }; + + if([self _validateUniqueBundle:pluginBundle]) { + NSLog(@"Plugin %@ already loaded!", pluginBundle.bundleIdentifier); + continue; + } + + if(![pluginBundle loadAndReturnError:&error]) { + NSLog(@"Bunlde Loading Error %@ %@", error.localizedDescription, error.localizedFailureReason); + continue; + } + + if(![self _validateClass:pluginBundle.principalClass]) { + NSLog(@"Wrong principal Class."); + continue; + } + if([pluginBundle.principalClass instancesRespondToSelector:NSSelectorFromString(@"initWithPluginManager:")]) { + NSLog(@"Plugin uses old interface. Update plugin to use initWithPluginHost: instead of initWithPluginManager:!"); + } + + MPPlugin *plugin = [[pluginBundle.principalClass alloc] initWithPluginHost:self]; + if(plugin) { + NSLog(@"Loaded plugin instance %@", pluginBundle.principalClass); + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginHostWillLoadPlugin + object:self + userInfo:@{ MPPluginHostPluginBundleIdentifiyerKey : plugin.identifier }]; + [self.mutablePlugins addObject:plugin]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginHostDidLoadPlugin + object:self + userInfo:@{ MPPluginHostPluginBundleIdentifiyerKey : plugin.identifier }]; + } + else { + NSLog(@"Unable to create instance of plugin class %@", pluginBundle.principalClass); } } - NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) { return matchBlock(evaluatedObject); }]; - return [[NSArray alloc] initWithArray:[entries filteredArrayUsingPredicate:predicate] copyItems:YES]; } -- (NSArray *)filteredGroupsUsingBlock:(NodeMatchBlock)matchBlock { - NSAssert(NO, @"Not implemented"); - return nil; +- (BOOL)_validateUniqueBundle:(NSBundle *)bundle { + for(MPPlugin *plugin in self.mutablePlugins) { + NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; + if([pluginBundle.bundleIdentifier isEqualToString:bundle.bundleIdentifier]) { + return YES; + } + } + return NO; } -- (void)presentError:(NSError *)error completionHandler:(void (^)(NSModalResponse))completionHandler { +- (BOOL)_validURL:(NSURL *)url { + return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); } +- (BOOL)_validateClass:(Class)class { + return [class isSubclassOfClass:[MPPlugin class]]; +} + +/* Code by Jedda Wignall http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/ */ +- (BOOL)_validSignature:(NSURL *)url { + if(!url.path) { + return NO; + } + + if(self.loadUnsecurePlugins) { + return YES; + } + + NSTask * task = [[NSTask alloc] init]; + NSPipe * pipe = [NSPipe pipe]; + NSArray* args = @[ @"--verify", + /*[NSString stringWithFormat:@"-R=anchor = \"%@\"", [[NSBundle mainBundle] pathForResource:@"BlargsoftCodeCA" ofType:@"cer"]],*/ + url.path ]; + task.launchPath = @"/usr/bin/codesign"; + task.standardOutput = pipe; + task.standardError = pipe; + task.arguments = args; + [task launch]; + [task waitUntilExit]; + + if(task.terminationStatus == 0) { + return YES; + } + NSString *pluginPath = url.path ? url.path : @""; + NSString * taskString = [[NSString alloc] initWithData:pipe.fileHandleForReading.readDataToEndOfFile encoding:NSASCIIStringEncoding]; + if ([taskString rangeOfString:@"modified"].length > 0 || [taskString rangeOfString:@"a sealed resource is missing or invalid"].length > 0) { + // The plugin has been modified or resources removed since being signed. You probably don't want to load this. + NSLog(@"Plugin %@ modified - not loaded", pluginPath); // log a real error here + } + else if ([taskString rangeOfString:@"failed to satisfy"].length > 0) { + // The plugin is missing resources since being signed. Don't load. + // throw an error + NSLog(@"Plugin %@ not signed by correct CA - not loaded", pluginPath); // log a real error here + } + else if ([taskString rangeOfString:@"not signed at all"].length > 0) { + // The plugin was not code signed at all. Don't load. + NSLog(@"Plugin %@ not signed at all - don't load.", pluginPath); // log a real error here + } + else { + NSLog(@"Unkown CodeSign Error!"); + } + + return NO; +} + + @end diff --git a/MacPass/MPPluginManager.h b/MacPass/MPPluginManager.h deleted file mode 100644 index 982e4d6c..00000000 --- a/MacPass/MPPluginManager.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// MPPluginManager.h -// MacPass -// -// Created by Michael Starke on 16/07/15. -// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. -// - -#import - -FOUNDATION_EXPORT NSString *const MPPluginManagerWillLoadPlugin; -FOUNDATION_EXPORT NSString *const MPPluginManagerDidLoadPlugin; -FOUNDATION_EXPORT NSString *const MPPluginManagerWillUnloadPlugin; -FOUNDATION_EXPORT NSString *const MPPluginManagerDidUnloadPlugin; - -FOUNDATION_EXPORT NSString *const MPPluginManagerPluginBundleIdentifiyerKey; - -@class MPPlugin; - -@interface MPPluginManager : NSObject - -@property (readonly, copy) NSArray *plugins; -@property (nonatomic, readonly) BOOL loadUnsecurePlugins; - -+ (instancetype)sharedManager; - -- (instancetype)init NS_UNAVAILABLE; - -@end diff --git a/MacPass/MPPluginManager.m b/MacPass/MPPluginManager.m deleted file mode 100644 index bebb6cd8..00000000 --- a/MacPass/MPPluginManager.m +++ /dev/null @@ -1,211 +0,0 @@ -// -// MPPluginManager.m -// MacPass -// -// Created by Michael Starke on 16/07/15. -// Copyright (c) 2015 HicknHack Software GmbH. All rights reserved. -// - -#import "MPPluginManager.h" - -#import "MPPlugin.h" -#import "NSApplication+MPAdditions.h" -#import "MPSettingsHelper.h" - -#import "KeePassKit/KeePassKit.h" - - -NSString *const MPPluginManagerWillLoadPlugin = @"com.hicknhack.macpass.MPPluginManagerWillLoadPlugin"; -NSString *const MPPluginManagerDidLoadPlugin = @"comt.hicknhack.macpass.MPPluginManagerDidLoadPlugin"; - -NSString *const MPPluginManagerPluginBundleIdentifiyerKey = @"MPPluginManagerPluginBundleIdentifiyerKey"; - - -@interface MPPluginManager () - -@property (strong) NSMutableArray *mutablePlugins; -@property (nonatomic) BOOL loadUnsecurePlugins; - -@end - -@implementation MPPluginManager - -+ (NSSet *)keyPathsForValuesAffectingPlugins { - return [NSSet setWithObject:NSStringFromSelector(@selector(mutablePlugins))]; -} - -+ (instancetype)sharedManager { - static MPPluginManager *instance; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - instance = [[MPPluginManager alloc] _init]; - }); - return instance; -} - -- (instancetype)init { - return nil; -} - -- (instancetype)_init { - self = [super init]; - if(self) { - _mutablePlugins = [[NSMutableArray alloc] init]; - _loadUnsecurePlugins = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyLoadUnsecurePlugins]; - [self _loadPlugins]; - - [self bind:NSStringFromSelector(@selector(loadUnsecurePlugins)) - toObject:[NSUserDefaultsController sharedUserDefaultsController] - withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLoadUnsecurePlugins] - options:nil]; - } - return self; -} - -- (NSArray *)plugins { - return [self.mutablePlugins copy]; -} - -- (void)_loadPlugins { - NSURL *appSupportDir = [NSApp applicationSupportDirectoryURL:YES]; - NSError *error; - NSArray *externalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:appSupportDir - includingPropertiesForKeys:@[] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; - - NSArray *internalPluginsURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:[NSBundle mainBundle].builtInPlugInsURL - includingPropertiesForKeys:@[] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; - - - if(!externalPluginsURLs) { - // No external plugins - NSLog(@"No external plugins found!"); - } - if(!internalPluginsURLs) { - // No internal plugins - NSLog(@"No internal plugins found!"); - } - NSArray *pluginURLs = [externalPluginsURLs arrayByAddingObjectsFromArray:internalPluginsURLs]; - - for(NSURL *pluginURL in pluginURLs) { - - if(![self _validURL:pluginURL]) { - continue; - } - - if(![self _validSignature:pluginURL]) { - continue; - } - - NSBundle *pluginBundle = [NSBundle bundleWithURL:pluginURL]; - if(!pluginBundle) { - NSLog(@"Could not create bundle %@", pluginURL.path); - continue; - } - NSError *error; - if(![pluginBundle preflightAndReturnError:&error]) { - NSLog(@"Preflight Error %@ %@", error.localizedDescription, error.localizedFailureReason ); - continue; - }; - - if([self _validateUniqueBundle:pluginBundle]) { - NSLog(@"Plugin %@ already loaded!", pluginBundle.bundleIdentifier); - continue; - } - - if(![pluginBundle loadAndReturnError:&error]) { - NSLog(@"Bunlde Loading Error %@ %@", error.localizedDescription, error.localizedFailureReason); - continue; - } - - if(![self _validateClass:pluginBundle.principalClass]) { - NSLog(@"Wrong principal Class."); - continue; - } - MPPlugin *plugin = [[pluginBundle.principalClass alloc] initWithPluginManager:self]; - if(plugin) { - NSLog(@"Loaded plugin instance %@", pluginBundle.principalClass); - [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerWillLoadPlugin - object:self - userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; - [self.mutablePlugins addObject:plugin]; - [[NSNotificationCenter defaultCenter] postNotificationName:MPPluginManagerDidLoadPlugin - object:self - userInfo:@{ MPPluginManagerPluginBundleIdentifiyerKey : plugin.identifier }]; - } - else { - NSLog(@"Unable to create instance of plugin class %@", pluginBundle.principalClass); - } - } -} - -- (BOOL)_validateUniqueBundle:(NSBundle *)bundle { - for(MPPlugin *plugin in self.mutablePlugins) { - NSBundle *pluginBundle = [NSBundle bundleForClass:plugin.class]; - if([pluginBundle.bundleIdentifier isEqualToString:bundle.bundleIdentifier]) { - return YES; - } - } - return NO; -} - -- (BOOL)_validURL:(NSURL *)url { - return (NSOrderedSame == [url.pathExtension compare:kMPPluginFileExtension options:NSCaseInsensitiveSearch]); -} - -- (BOOL)_validateClass:(Class)class { - return [class isSubclassOfClass:[MPPlugin class]]; -} - -/* Code by Jedda Wignall http://jedda.me/2012/03/verifying-plugin-bundles-using-code-signing/ */ -- (BOOL)_validSignature:(NSURL *)url { - if(!url.path) { - return NO; - } - - if(self.loadUnsecurePlugins) { - return YES; - } - - NSTask * task = [[NSTask alloc] init]; - NSPipe * pipe = [NSPipe pipe]; - NSArray* args = @[ @"--verify", - /*[NSString stringWithFormat:@"-R=anchor = \"%@\"", [[NSBundle mainBundle] pathForResource:@"BlargsoftCodeCA" ofType:@"cer"]],*/ - url.path ]; - task.launchPath = @"/usr/bin/codesign"; - task.standardOutput = pipe; - task.standardError = pipe; - task.arguments = args; - [task launch]; - [task waitUntilExit]; - - if(task.terminationStatus == 0) { - return YES; - } - NSString *pluginPath = url.path ? url.path : @""; - NSString * taskString = [[NSString alloc] initWithData:pipe.fileHandleForReading.readDataToEndOfFile encoding:NSASCIIStringEncoding]; - if ([taskString rangeOfString:@"modified"].length > 0 || [taskString rangeOfString:@"a sealed resource is missing or invalid"].length > 0) { - // The plugin has been modified or resources removed since being signed. You probably don't want to load this. - NSLog(@"Plugin %@ modified - not loaded", pluginPath); // log a real error here - } - else if ([taskString rangeOfString:@"failed to satisfy"].length > 0) { - // The plugin is missing resources since being signed. Don't load. - // throw an error - NSLog(@"Plugin %@ not signed by correct CA - not loaded", pluginPath); // log a real error here - } - else if ([taskString rangeOfString:@"not signed at all"].length > 0) { - // The plugin was not code signed at all. Don't load. - NSLog(@"Plugin %@ not signed at all - don't load.", pluginPath); // log a real error here - } - else { - NSLog(@"Unkown CodeSign Error!"); - } - - return NO; -} - - -@end diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index 1036c6e3..5bbd09a4 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -7,7 +7,7 @@ // #import "MPPluginSettingsController.h" -#import "MPPluginManager.h" +#import "MPPluginHost.h" #import "MPPlugin.h" #import "MPSettingsHelper.h" @@ -50,7 +50,7 @@ } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { - return [MPPluginManager sharedManager].plugins.count; + return [MPPluginHost sharedHost].plugins.count; } - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { @@ -75,7 +75,7 @@ } - (MPPlugin *)pluginForRow:(NSInteger)row { - NSArray *plugins = [MPPluginManager sharedManager].plugins; + NSArray *plugins = [MPPluginHost sharedHost].plugins; if(0 > row || row >= plugins.count) { return nil; } From 193506b9548cf220a5d5fe98f72ca3912dac053e Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 27 Feb 2017 13:25:12 +0100 Subject: [PATCH 680/778] Improved README to better encourage contributions --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 5c81f707..1d4e1323 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,13 @@ #MacPass -There are a lot of iOS KeePass tools around but a distinct lack of a good OS X version. -KeePass can be used via Mono on OS X but lacks vital functionality and feels sluggish. +There are a lot of iOS KeePass tools around but a distinct lack of a good native macOS version. +KeePass can be used via Mono on macOS but lacks vital functionality and feels sluggish and simply out of place. -MacPass is an attempt to create a native OS X port of KeePass. - -##Disclaimer -The Project is in heavy development. Beware that I'm going to shift things around so stuff is going to break. A lot. +MacPass is an attempt to create a native macOS port of KeePass on a solid open source foundation with a vibrant community pushing it further to become the best KeePass client for macOS. ##Download -I'm trying to upload binaries for all the tags I create along the way. Use it with caution, it's unfinished. Really! - -All releases can be found at [Github](https://github.com/mstarke/MacPass/releases). +All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). ##How to Build @@ -39,6 +34,10 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.5.x): * KDBX History is only preserved. Editing doesn't create new history entries +##How to Contribute + +If you want to contribute by fixing a bug, adding a feature or improving localization you're awesome. Please open a pull request! + ## Help Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) @@ -61,17 +60,19 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release just that handles only KDB files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. + +[KeePassXC](https://github.com/keepassxc/keepassxc) straight from the project's README: +>KeePassXC is a fork of KeePassX that aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatibility. -Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. - -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. +Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. +[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ##License MacPass, a KeePass compatible Password Manager for OS X -Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) +Copyright (c) 2012-2017 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -94,7 +95,7 @@ For further details, take a look at the [explanation](https://www.fsf.org/news/2 ##Contributions -The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. +The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. Please report open an issue if you think someone is missing from this list! ### Art From b842d028892f7b1350ff52191c70abc54e818a8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 27 Feb 2017 13:25:12 +0100 Subject: [PATCH 681/778] Improved README to better encourage contributions --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 5c81f707..1d4e1323 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,13 @@ #MacPass -There are a lot of iOS KeePass tools around but a distinct lack of a good OS X version. -KeePass can be used via Mono on OS X but lacks vital functionality and feels sluggish. +There are a lot of iOS KeePass tools around but a distinct lack of a good native macOS version. +KeePass can be used via Mono on macOS but lacks vital functionality and feels sluggish and simply out of place. -MacPass is an attempt to create a native OS X port of KeePass. - -##Disclaimer -The Project is in heavy development. Beware that I'm going to shift things around so stuff is going to break. A lot. +MacPass is an attempt to create a native macOS port of KeePass on a solid open source foundation with a vibrant community pushing it further to become the best KeePass client for macOS. ##Download -I'm trying to upload binaries for all the tags I create along the way. Use it with caution, it's unfinished. Really! - -All releases can be found at [Github](https://github.com/mstarke/MacPass/releases). +All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). ##How to Build @@ -39,6 +34,10 @@ There have been some changes in the submodule urls. Please consider re-syncing a * Binary releases (0.5.x): * KDBX History is only preserved. Editing doesn't create new history entries +##How to Contribute + +If you want to contribute by fixing a bug, adding a feature or improving localization you're awesome. Please open a pull request! + ## Help Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) @@ -61,17 +60,19 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho ##Alternatives -[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release just that handles only KDB files. +[KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. + +[KeePassXC](https://github.com/keepassxc/keepassxc) straight from the project's README: +>KeePassXC is a fork of KeePassX that aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatibility. -Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. - -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. +Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. +[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ##License MacPass, a KeePass compatible Password Manager for OS X -Copyright (c) 2012-2014 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) +Copyright (c) 2012-2017 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -94,7 +95,7 @@ For further details, take a look at the [explanation](https://www.fsf.org/news/2 ##Contributions -The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. +The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. Please report open an issue if you think someone is missing from this list! ### Art From e828160d5920e4256b40df088e0a644597a608df Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 7 Mar 2017 11:45:40 +0100 Subject: [PATCH 682/778] fixed #559 regression in parsing of group autotype and search settings --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 0c3f770c..dbd3f0f3 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "ba16ec6923b6648fe502b1cf2a3b8ff6dc1ce0dd" +github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 4187e18f..9a074f55 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "ba16ec6923b6648fe502b1cf2a3b8ff6dc1ce0dd" +github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" github "sparkle-project/Sparkle" "1.15.1" From e28f0a3bdf5f378c82ff5598fce2c7af86a7c16f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 7 Mar 2017 11:46:29 +0100 Subject: [PATCH 683/778] updated to current Xcode version --- MacPass/SavePanelAccessoryView.xib | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/MacPass/SavePanelAccessoryView.xib b/MacPass/SavePanelAccessoryView.xib index 44923b4d..3c39fa5e 100644 --- a/MacPass/SavePanelAccessoryView.xib +++ b/MacPass/SavePanelAccessoryView.xib @@ -1,8 +1,9 @@ - - + + - + + @@ -19,7 +20,7 @@ - + @@ -32,15 +33,15 @@ - + - - + + @@ -60,6 +61,7 @@ + From 66b3f56158a24449775f6f35b3e0dd5bb9f6ca87 Mon Sep 17 00:00:00 2001 From: Daniele Polencic Date: Sat, 11 Mar 2017 10:34:17 +0000 Subject: [PATCH 684/778] fixed typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1d4e1323..5ad427f0 100644 --- a/README.md +++ b/README.md @@ -62,13 +62,13 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho [KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. -[KeePassXC](https://github.com/keepassxc/keepassxc) straight from the project's README: +[KeePassXC](https://github.com/keepassxreboot/keepassxc) straight from the project's README: >KeePassXC is a fork of KeePassX that aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository. [KyPass Companion](http://www.kyuran.be/logiciels/kypass4mac/) is a native Cocoa port and offers KeePassHttp compatibility. Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. +[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology its look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ##License MacPass, a KeePass compatible Password Manager for OS X From 31ebffc2c08cad87c425ded1269678e9dc530204 Mon Sep 17 00:00:00 2001 From: Chester Liu Date: Sun, 26 Mar 2017 20:40:00 +0800 Subject: [PATCH 685/778] Update README.md --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1d4e1323..48f5cfdd 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -#MacPass +# MacPass There are a lot of iOS KeePass tools around but a distinct lack of a good native macOS version. KeePass can be used via Mono on macOS but lacks vital functionality and feels sluggish and simply out of place. MacPass is an attempt to create a native macOS port of KeePass on a solid open source foundation with a vibrant community pushing it further to become the best KeePass client for macOS. -##Download +## Download All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). -##How to Build +## How to Build * Fetch the source of MacPass ```bash @@ -29,12 +29,12 @@ There have been some changes in the submodule urls. Please consider re-syncing a git submodule sync git submodule init -##Known Major Issues +## Known Major Issues * Binary releases (0.5.x): * KDBX History is only preserved. Editing doesn't create new history entries -##How to Contribute +## How to Contribute If you want to contribute by fixing a bug, adding a feature or improving localization you're awesome. Please open a pull request! @@ -44,21 +44,21 @@ Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/ Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) -##System Requirement +## System Requirement The minimum OS X version required for MacPass is currently 10.8 Mountain Lion. -##Status +## Status The Status can be found on the dedicated [Wiki page](https://github.com/mstarke/MacPass/wiki/Status). -##What does it look like? +## What does it look like? ![image](https://raw.github.com/mstarke/MacPass/master/Assets/Screenshots/MacPass.png) More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screenshots) -##Alternatives +## Alternatives [KeePassX](http://www.keepassx.org) is a Qt based KeePass port. It's in active development and open source. It fully supports all KDBX features and can import KDB into a KDBX file but is unable to safe as KDB. There's an older release that only handles KDB files. KDBX3.1 is fully supported, KDBX4.0 is currently unsupported. @@ -69,7 +69,8 @@ More Screenshots in the [Wiki](https://github.com/mstarke/MacPass/wiki/Screensho Should be able to read and write KDB and KDBX files. It is closed source and currently available in the Mac App Store. It's rather expensive considering the bugs and missing features. Based on the user reviews it should work. Not all KDBX features are supported. It is unable to convert between database versions. KDBX4.0 support is in development. [KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. -##License + +## License MacPass, a KeePass compatible Password Manager for OS X Copyright (c) 2012-2017 Michael Starke (HicknHack Software GmbH) and all [MacPass contributors](https://github.com/mstarke/MacPass/graphs/contributors) @@ -93,7 +94,7 @@ along with this program. If not, see . Due to being licensed under GPLv3 it's not possible to publish a version of MacPass on the App Store. For further details, take a look at the [explanation](https://www.fsf.org/news/2010-05-app-store-compliance) of the Free Software Foundation. -##Contributions +## Contributions The following list might not be complete, please refer to [merged Pull Requests](https://github.com/mstarke/MacPass/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+is%3Amerged) on GitHub for more details. Please report open an issue if you think someone is missing from this list! @@ -153,7 +154,7 @@ The following list might not be complete, please refer to [merged Pull Requests] [Michael Belz](https://github.com/sub0ne) Fixed MacPass not opening any window, when lastly opened Database is missing. -##Copyright +## Copyright This Project is based upon the following work: @@ -183,6 +184,6 @@ This Project is based upon the following work: See submodules for additional Licenses -##Feedback +## Feedback [![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/1550529/mstarkeMacPass-on-GitHub) From 69a4c9e1754919c1d7351277e95b517d857262e3 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:22:32 +0200 Subject: [PATCH 686/778] refactoring for history browsing --- MacPass/MPActionHelper.m | 4 ++-- MacPass/MPContextBarViewController.m | 4 ++-- MacPass/MPDocumentWindowController.h | 4 ++-- MacPass/MPDocumentWindowController.m | 6 +++--- MacPass/MacPass-Info.plist | 19 +++++++++++++++---- 5 files changed, 24 insertions(+), 13 deletions(-) diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index cfb9c4db..bd37dafa 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -37,8 +37,8 @@ @(MPActionExportXML): NSStringFromSelector(@selector(exportAsXML:)), @(MPActionImportXML): NSStringFromSelector(@selector(importFromXML:)), @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), - @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showHistoryForEntry:)), - @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideHistoryForEntry:)), + @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showEntryHistory:)), + @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideEntryHistory:)), @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)) }; }); diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index f9536b48..955e91a3 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -69,7 +69,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { //self.emptyTrashButton.textColor = [NSColor whiteColor]; } - [[self view] bind:NSSelectedIndexBinding toObject:self withKeyPath:@"activeTab" options:nil]; + [self.view bind:NSSelectedIndexBinding toObject:self withKeyPath:NSStringFromSelector(@selector(activeTab)) options:nil]; /* Setup Filter Bar buttons and menu */ NSInteger tags[] = { MPEntrySearchTitles, MPEntrySearchUsernames, MPEntrySearchPasswords, MPEntrySearchNotes, MPEntrySearchUrls }; @@ -87,7 +87,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [[specialMenu itemAtIndex:0] setAction:@selector(toggleSearchFlags:)]; for(NSInteger iIndex = 0; iIndex < (sizeof(specialTags)/sizeof(NSInteger)); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:titles[iIndex] action:@selector(toggleSearchFlags:) keyEquivalent:@""]; - [item setTag:specialTags[iIndex]]; + item.tag = specialTags[iIndex]; [specialMenu addItem:item]; } [self.specialFilterPopUpButton setMenu:specialMenu]; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index eb1b2c7f..e7b1ec96 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -53,8 +53,8 @@ - (IBAction)pickExpiryDate:(id)sender; - (IBAction)performAutotypeForEntry:(id)sender; -- (IBAction)showHistoryForEntry:(id)sender; -- (IBAction)hideHistoryForEntry:(id)sender; +- (IBAction)showEntryHistory:(id)sender; +- (IBAction)hideEntryHistory:(id)sender; #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 12854c13..2ba4d096 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -495,11 +495,11 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } -- (IBAction)showHistoryForEntry:(id)sender { - [self.document showHistoryForEntry:nil]; +- (void)showEntryHistory:(id)sender { + } -- (IBAction)hideHistoryForEntry:(id)sender { +- (void)hideEntryHistory:(id)sender { } diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 2cf4e9f4..2e62b24a 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -14,7 +14,7 @@ CFBundleTypeIconFile FileTypeIcon CFBundleTypeName - kdbxFileType + KDBX Database CFBundleTypeRole Editor LSItemContentTypes @@ -34,7 +34,7 @@ CFBundleTypeIconFile FileTypeIcon CFBundleTypeName - kdbFileType + KDB Database CFBundleTypeRole Editor LSItemContentTypes @@ -83,7 +83,7 @@ public.data UTTypeDescription - Keepass 2 Database + KDBX Database UTTypeIdentifier com.hicknhack.macpass.kdbx UTTypeTagSpecification @@ -100,7 +100,7 @@ public.data UTTypeDescription - Keepass Database + KDB Database UTTypeIdentifier com.hicknhack.macpass.kdb UTTypeTagSpecification @@ -131,5 +131,16 @@ + UTImportedTypeDeclarations + + + UTTypeDescription + XML + UTTypeIdentifier + public.xml + UTTypeTagSpecification + + + From fe543a632af3513551661c1bcb82413e5de43fbd Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:26:18 +0200 Subject: [PATCH 687/778] fixed merge --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5b3e3a06..820837fa 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,6 @@ Should be able to read and write KDB and KDBX files. It is closed source and cur [KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology its look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. -[KeeWeb](https://keeweb.info) is a cross platform web client in active development based on [electron](http://electron.atom.io) and thus also is available as an offline version for all major platforms. The project is open source. It supports all features of KDBX files but has no KDB support. Because of the technology it's look is customizable, but the native one is quite pretty. Full KDBX 4 support is present. Performance for Argon2 requires WebAssembly. ## License MacPass, a KeePass compatible Password Manager for OS X From 5e18d77878850891f97d77e47179ecd673e43c61 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 4 Apr 2017 16:32:09 +0200 Subject: [PATCH 688/778] Updateing dependencies --- Cartfile | 4 ++-- Cartfile.resolved | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cartfile b/Cartfile index dbd3f0f3..ea65d075 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "sparkle-project/Sparkle" ~> 1.15.1 -github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" +github "sparkle-project/Sparkle" ~> 1.17.0 +github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 9a074f55..f860bf8f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "752150afc789813892eea81c3633f6eec77b41c5" -github "sparkle-project/Sparkle" "1.15.1" +github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "sparkle-project/Sparkle" "1.17.0" From 4c0e039977da82c2a5b09aed05a55a3452404131 Mon Sep 17 00:00:00 2001 From: skyline75489 Date: Mon, 10 Apr 2017 20:59:26 +0800 Subject: [PATCH 689/778] Updated Simplified Chinese translation --- MacPass/zh-Hans.lproj/IconSelection.strings | 4 ++-- MacPass/zh-Hans.lproj/KPKLocalizable.strings | 12 ++++++------ MacPass/zh-Hans.lproj/Localizable.strings | Bin 12022 -> 11200 bytes MacPass/zh-Hans.lproj/WelcomeWindow.strings | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/MacPass/zh-Hans.lproj/IconSelection.strings b/MacPass/zh-Hans.lproj/IconSelection.strings index 42b0eae2..b4c6a8aa 100644 --- a/MacPass/zh-Hans.lproj/IconSelection.strings +++ b/MacPass/zh-Hans.lproj/IconSelection.strings @@ -1,6 +1,6 @@ /* Class = "NSButtonCell"; title = "Use Default Icon"; ObjectID = "102"; */ -"102.title" = "Use Default Icon"; +"102.title" = "使用默认图标"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "1kM-cI-P1o"; */ -"1kM-cI-P1o.title" = "Cancel"; +"1kM-cI-P1o.title" = "取消"; diff --git a/MacPass/zh-Hans.lproj/KPKLocalizable.strings b/MacPass/zh-Hans.lproj/KPKLocalizable.strings index 3871ad47..06557dda 100644 --- a/MacPass/zh-Hans.lproj/KPKLocalizable.strings +++ b/MacPass/zh-Hans.lproj/KPKLocalizable.strings @@ -11,12 +11,12 @@ "KPK_ENTRY_COPY_%@" = "%@ 拷贝"; /* Validation Errors */ -"ERROR_WINDOW_TITLE_VALIDATION_FAILED" = "窗口标题格式不正确!"; -"ERROR_ATTRIBUTE_KEY_VALIDATION_FAILED" = "属性键 (Attribute Key) 不唯一!"; -"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "自动键入序列不正确!"; +"ERROR_WINDOW_TITLE_VALIDATION_FAILED" = "窗口标题格式不正确!"; +"ERROR_ATTRIBUTE_KEY_VALIDATION_FAILED" = "属性键 (Attribute Key) 不唯一!"; +"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "自动键入序列不正确!"; /* Errors */ -"ERROR_CORRUPT_TREE" = "内部文件结构已损坏!"; +"ERROR_CORRUPT_TREE" = "内部文件结构已损坏!"; "ERROR_INVALID_FIELD_SIZE" = "数据字段大小错误,可能是由于密码错误。"; "ERROR_INVALID_FIELD_TYPE" = "未知数据字段,可能是由于密码错误。"; "ERROR_UNSUPPORTED_DATABASER_VERSION" = "不支持的数据库版本"; @@ -30,8 +30,8 @@ "ERROR_KEEPASSFILE_ELEMENT_MISSING" = "XML 文件缺少 KeePassFile 元素"; "ERROR_ROOT_ELEMENT_MISSING" = "XML 文件未包含根节点"; "ERROR_GROUP_ELEMENT_MISSING" = "XML 文件未包含组节点"; -"ERROR_HEADER_HASH_MISSMATCH" = "文件头哈希表不匹配。文件已损坏"; +"ERROR_HEADER_HASH_MISSMATCH" = "文件头哈希不匹配,文件已损坏"; "ERROR_XML_KEYFILE_WITHOUT_KEY_ELEMENT" = "XML 密钥文件缺少键 (key) 元素"; "ERROR_XML_KEYFILE_WITHOUT_DATA_ELEMENT" = "XML 密钥文件缺少数据 (data) 元素"; "ERROR_XML_KEYFILE_DATA_PARSING_ERROR" = "无法读取 XML 密钥文件的数据"; -"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "The database header hash is wrong. Data integritiy might be broken!"; +"ERROR_HEADER_HASH_VERIFICATION_FAILED" = "数据库文件头哈希错误,数据可能已经被破坏!"; diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index ef2175c08db3ebfb69ed9b535f29d97f2c6e5358..b0124ca0ef262b1219e2ef088cf2d73d1ea911b5 100644 GIT binary patch delta 812 zcmewsdmwznCnm0Xe~r?X8T-0z0yeWT*Rb%UC;4=|YFrVdH#IeI@*?&Uu6^BBemCYV z0V3$cHq|FINmRx zUOD4k+2k^A2bSn+&Iy|jaT_pln3e`aubc4AZ}K0WeQcBbLK*_=H=p9=W12iel8337 zVe=jSH;hb-|0kakv;k2ZLM}jRv!Bo+Rt}3CUO&S~kJQav5`Bzp8&aoNJr3TyLDGSV zt1R%EpMUO&&Wy0hTrvhMmy*BvZT65+VFHG?=U+uOzfEhcmq{$skC9L6yOQL4g4*r8Rkiyb>2k*fQ96B2Z|b{4*x` z|C0k02Q?k#d!~i`Z<-a6_VX8wCXS!wTilDMM#;LQSL8gGb z%49G(O#O!x#6Xb1>JG8U7ZbRv`s3dDTc!g2)T8mkEI8gb2oy6dWgsOzAqOjNlyUh% zc)WfLeqS1S{wMfp-1AZQUAbWukp`eu|^*27X6l79a++BahRgHmqD2 zlUeA(l`G?lt`xZf+jGt)?Cs3itbO#L8o=xdS#uSe2BHX{;ucmm-p8udKKL4d$H34of9q!BVsGe5RQkj+;=zb;Fj$orC2P za%C&_G0i;PSa84;phC&PMpO7U$xqVfy(gm=99LMU^1*Jzf9I}q?e<1gu0!A|5I>KR zyFLkK^LRM8sX~@BtsL+FGW4^~WXCv2QQV@Kd?Tu5Uz^`ExG$T7H$Z0ECIY%i4hO6( zrA|p-HK-O89{IHGk_@y9R&PZg2q;*oJN{m!a&K~#b(n*y`{6Z&A~H4Z2`-U5!WDYkvAI$<*lk0OlmLK1<>ts>k6WeO+T8dYm-#Wv@_rWi2w-{SV0kcRIilF( zzlF|q319k(CES2&$1DPK)c1*9;CBD)oNc&45j=6ak6*+P#juuzv#YLQx&@WP*xuvW#;Z>em+V^~vq?{RR>Z_@YOXbD2dfAN#KJ&PU(3Kl5xrBLDyZ diff --git a/MacPass/zh-Hans.lproj/WelcomeWindow.strings b/MacPass/zh-Hans.lproj/WelcomeWindow.strings index ab104467..28c66ef6 100644 --- a/MacPass/zh-Hans.lproj/WelcomeWindow.strings +++ b/MacPass/zh-Hans.lproj/WelcomeWindow.strings @@ -3,13 +3,13 @@ "1.title" = "Welcome"; /* Class = "NSTextFieldCell"; title = "Welcome to MacPass"; ObjectID = "24"; */ -"24.title" = "Welcome to MacPass"; +"24.title" = "欢迎使用 MacPass"; /* Class = "NSButtonCell"; title = "Open Database…"; ObjectID = "44"; */ -"44.title" = "Open Database…"; +"44.title" = "打开数据库…"; /* Class = "NSButtonCell"; title = "Create new Database"; ObjectID = "48"; */ -"48.title" = "Create new Database"; +"48.title" = "创建数据库"; /* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "70"; */ -"70.title" = "Cancel"; +"70.title" = "取消"; From d87574996eb9d1c7b617e71cb77e0ba9d365a80e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 10:56:35 +0200 Subject: [PATCH 690/778] Updated KeePassKit Framework --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPDocument.m | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index ea65d075..dcf9cb51 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index f860bf8f..3d713382 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "90ec19a82a9f97db67dde15ea145b9f4990b3e2b" +github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index af0786f4..af09911f 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -346,6 +346,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return; } self.tree = nil; + self.compositeKey = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; } From 0db2bc8558cef0ee6714fca69eab645cf2fafc45 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 11:22:36 +0200 Subject: [PATCH 691/778] Updated to current Xcode Version --- MacPass.xcodeproj/project.pbxproj | 2 +- MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 5c8fe3f6..a193993d 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1490,7 +1490,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = MP; - LastUpgradeCheck = 0820; + LastUpgradeCheck = 0830; ORGANIZATIONNAME = "HicknHack Software GmbH"; TargetAttributes = { 4C77E36115B84A240093A587 = { diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 58f42cbf..9ddbc86e 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 13 Apr 2017 18:55:31 +0200 Subject: [PATCH 692/778] removed unused code --- MacPass/MPEntryInspectorViewController.m | 2 -- 1 file changed, 2 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index c0bb603c..5793f31b 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -55,8 +55,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { @property (strong) NSPopover *activePopover; @property (nonatomic, readonly) KPKEntry *representedEntry; - -//@property (nonatomic, weak) KPKEntry *entry; @property (strong) MPTemporaryFileStorage *quicklookStorage; @end From 292d01c1d297158e2e3006dcff4a2c0c309aa0e0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 18:55:42 +0200 Subject: [PATCH 693/778] updated to Xcode 8.3 --- MacPass/ContextBar.xib | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 82fa7e84..09263704 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -37,7 +37,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -224,7 +224,7 @@ - + From 486c8317169c6fad200710bc2c32390932f01f5e Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 18:55:51 +0200 Subject: [PATCH 694/778] added history toolbar button --- MacPass/MPToolbarDelegate.m | 11 ++++++++--- MacPass/de.lproj/Localizable.strings | Bin 15046 -> 15124 bytes MacPass/en.lproj/Localizable.strings | Bin 14006 -> 14072 bytes MacPass/fr.lproj/Localizable.strings | Bin 15320 -> 15388 bytes MacPass/it.lproj/Localizable.strings | Bin 14620 -> 14686 bytes MacPass/nl.lproj/Localizable.strings | Bin 14542 -> 14608 bytes MacPass/pl.lproj/Localizable.strings | Bin 13876 -> 13942 bytes MacPass/ru.lproj/Localizable.strings | Bin 14744 -> 14810 bytes MacPass/zh-Hans.lproj/Localizable.strings | Bin 12022 -> 12090 bytes 9 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index 25d6a99d..31eb95eb 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -43,6 +43,7 @@ NSString *const MPToolbarItemInspector = @"TOOLBAR_INSPECTOR"; NSString *const MPToolbarItemSearch = @"TOOLBAR_SEARCH"; NSString *const MPToolbarItemCopyUsername = @"TOOLBAR_COPY_USERNAME"; NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; +NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; @interface MPToolbarDelegate() { MPAddEntryContextMenuDelegate *_entryMenuDelegate; @@ -75,7 +76,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; NSToolbarFlexibleSpaceItemIdentifier, MPToolbarItemSearch, MPToolbarItemLock, - MPToolbarItemInspector ]; + MPToolbarItemInspector, + MPToolbarItemHistory ]; _defaultToolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemAddGroup, @@ -211,6 +213,7 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemDelete: [MPIconHelper icon:MPIconTrash], MPToolbarItemAction: [NSImage imageNamed:NSImageNameActionTemplate], MPToolbarItemInspector: [MPIconHelper icon:MPIconInfo], + MPToolbarItemHistory: [MPIconHelper icon:MPIconHistory] }; return imageDict; } @@ -233,7 +236,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemCopyUsername: NSLocalizedString(@"COPY_USERNAME", @""), MPToolbarItemDelete: NSLocalizedString(@"DELETE", @""), MPToolbarItemInspector: NSLocalizedString(@"INSPECTOR", @""), - MPToolbarItemSearch: NSLocalizedString(@"SEARCH", @"") + MPToolbarItemSearch: NSLocalizedString(@"SEARCH", @""), + MPToolbarItemHistory: NSLocalizedString(@"SHOW_HISTORY", @""), }; }); return labelDict[identifier]; @@ -249,7 +253,8 @@ NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; MPToolbarItemDelete: @(MPActionDelete), MPToolbarItemCopyPassword: @(MPActionCopyPassword), MPToolbarItemCopyUsername: @(MPActionCopyUsername), - MPToolbarItemInspector: @(MPActionToggleInspector) + MPToolbarItemInspector: @(MPActionToggleInspector), + MPToolbarItemHistory: @(MPActionShowEntryHistory), }; }); MPActionType actionType = (MPActionType)[actionDict[identifier] integerValue]; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index ec6fb88f3739aef167ae4a5ab47fb6326128763b..7c61ba1afebaed4d04a411b711051436330000f2 100644 GIT binary patch delta 88 zcmX?BI;Ctw1h2OeLokB}gFiz!Lp+f71oA?FydZ{11| RiWy3Pyds9m&G9_pS^!1p4($K{ delta 12 Tcmey7yDfJ^8qekxJONq&D(eM| diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 8693e62d6abcf540d7c4c5ae1b6e5544e14a78ac..13eb21aa16ee5090299aa2525462b1691785ac1e 100644 GIT binary patch delta 78 zcmcanKBr%^ delta 12 TcmbPJaie@g1@GoPya{>$DZK@w diff --git a/MacPass/it.lproj/Localizable.strings b/MacPass/it.lproj/Localizable.strings index 3b37c573f7a0abf80e15098bc9d308ee7dd2caf1..91859244b0ff6c832d3cc1dcc3c20907049cad62 100644 GIT binary patch delta 72 zcmbPJbgyWG46n5kLokB}gFiz!Lp+f71oA?FydZ{11|hF}H{27iWdhIk delta 12 UcmcarJfnES0^ZG!cz Date: Thu, 13 Apr 2017 19:23:49 +0200 Subject: [PATCH 695/778] updated to current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index dcf9cb51..f2003e58 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" +github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 3d713382..c65b85cf 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "232cda8a0fce2a97963564ecd09c11f6730bab42" +github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" github "sparkle-project/Sparkle" "1.17.0" From aec3fbea51da90e5b71a0a773aa5e1eb9c5accf8 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 19:24:23 +0200 Subject: [PATCH 696/778] duplicate entries now works for single and multiple selected entries --- MacPass/MPDocument.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index af09911f..2968cf8d 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -667,11 +667,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } - (void)duplicateEntry:(id)sender { - /* - KPKEntry *duplicate = [self.selectedEntry copyWithTitle:nil options:kKPKCopyOptionNone]; - [duplicate addToGroup:self.selectedEntry.parent]; - [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; - */ + for(KPKEntry *entry in self.selectedEntries) { + KPKEntry *duplicate = [entry copyWithTitle:nil options:kKPKCopyOptionNone]; + [duplicate addToGroup:entry.parent]; + } + [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; } - (void)duplicateEntryWithOptions:(id)sender { From a07856b65b52789ec339ca1182c7855b0640bd95 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 13 Apr 2017 19:24:46 +0200 Subject: [PATCH 697/778] trying to fix index cells displaying string values --- MacPass/MPEntryViewController.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index e8f244db..fc1a3889 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -252,6 +252,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSTableCellView *view = nil; if(isTitleColumn || isGroupColumn) { view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self]; + [view.textField unbind:NSValueBinding]; + [view.imageView unbind:NSValueBinding]; if( isTitleColumn ) { NSString *titleKeyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), From 56af1da2dde48a42d94a61934abf82a11fd4836f Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 18 Apr 2017 17:55:18 +0200 Subject: [PATCH 698/778] renamed history actions --- MacPass/ContextBar.xib | 3 --- MacPass/MPContextBarViewController.m | 4 ++-- MacPass/MPDocument+HistoryBrowsing.m | 12 ++++++------ MacPass/MPDocument.h | 7 +++++-- MacPass/MPDocumentWindowController.m | 11 +++++------ MacPass/MPEntryViewController.m | 8 ++++---- MacPass/MPPluginDataViewController.m | 2 +- 7 files changed, 23 insertions(+), 24 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 09263704..3cc98f05 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -198,9 +198,6 @@ - - - diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 955e91a3..ead3e971 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -98,7 +98,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)registerNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_updateFilterButtons) name:MPDocumentDidChangeSearchFlags object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterSearch:) name:MPDocumentDidEnterSearchNotification object:document]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterHistory:) name:MPDocumentDidEnterHistoryNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_showEntryHistory:) name:MPDocumentShowEntryHistoryNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeCurrentItem:) name:MPDocumentCurrentItemChangedNotification object:document]; } @@ -108,7 +108,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { [self _updateFilterButtons]; } -- (void)_didEnterHistory:(NSNotification *)notification { +- (void)_showEntryHistory:(NSNotification *)notification { self.activeTab = MPContextTabHistory; [self _updateBindings]; } diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+HistoryBrowsing.m index b4e08a85..f087a55f 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+HistoryBrowsing.m @@ -8,17 +8,17 @@ #import "MPDocument.h" -NSString *const MPDocumentDidEnterHistoryNotification = @"MPDocumentDidEnterHistoryNotification"; -NSString *const MPDocumentDidExitHistoryNotification = @"MPDocumentDidExitHistoryNotification"; +NSString *const MPDocumentShowEntryHistoryNotification = @"MPDocumentShowEntryHistoryNotification"; +NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryHistoryNotification"; @implementation MPDocument (HistoryBrowsing) -- (void)showHistory:(id)sender { - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidEnterHistoryNotification object:self]; +- (void)showEntryHistory:(id)sender { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification object:self]; } -- (void)exitHistory:(id)sender { - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidExitHistoryNotification object:self]; +- (void)hideEntryHistory:(id)sender { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentHideEntryHistoryNotification object:self]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 4a8d8255..82bb50ad 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -222,11 +222,14 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; #pragma mark - #pragma mark History Browsing -FOUNDATION_EXPORT NSString *const MPDocumentDidEnterHistoryNotification; -FOUNDATION_EXPORT NSString *const MPDocumentDidExitHistoryNotification; +FOUNDATION_EXPORT NSString *const MPDocumentShowEntryHistoryNotification; +FOUNDATION_EXPORT NSString *const MPDocumentHideEntryHistoryNotification; @interface MPDocument (HistoryBrowsing) +- (IBAction)showEntryHistory:(id)sender; +- (IBAction)hideEntryHistory:(id)sender; + @end #pragma mark - diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 2ba4d096..b36cb49f 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -496,14 +496,13 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } - (void)showEntryHistory:(id)sender { - + id resolver = [NSApp targetForAction:@selector(currentTargetEntries)]; + NSArray *entries = resolver.currentTargetEntries; + if(entries.count != 1) { + return; // only single selection is used + } } -- (void)hideEntryHistory:(id)sender { - -} - - #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { return ([self.document validateMenuItem:menuItem]); diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index fc1a3889..fe5e9d84 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -222,8 +222,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; selector:@selector(_didUnlockDatabase:) name:MPDocumentDidUnlockDatabaseNotification object:document]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterHistory:) name:MPDocumentDidEnterHistoryNotification object:document]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didExitHistory:) name:MPDocumentDidExitHistoryNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_showEntryHistory:) name:MPDocumentShowEntryHistoryNotification object:document]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_hideEntryHistory:) name:MPDocumentHideEntryHistoryNotification object:document]; [self.contextBarViewController registerNotificationsForDocument:document]; } @@ -474,11 +474,11 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } } -- (void)_didEnterHistory:(NSNotification *)notification { +- (void)_showEntryHistory:(NSNotification *)notification { [self _showContextBar]; } -- (void)_didExitHistory:(NSNotification *)notification { +- (void)_hideEntryHistory:(NSNotification *)notification { [self _hideContextBar]; } #pragma mark ContextBar diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 9ecb1565..e9db4528 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -34,7 +34,7 @@ } - (void)didLoadView { - [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(mutableCustomData)) options:nil]; + [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil]; [self.pluginDataTabelView bind:NSContentBinding toObject:self.pluginDataController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; self.pluginDataTabelView.backgroundColor = [NSColor clearColor]; } From 223bef5c6c732f47ca52f947084c71d52b90b1b2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 11:35:02 +0200 Subject: [PATCH 699/778] silenced partial availablity warnings --- MacPass/MPContextToolbarButton.m | 6 ++++++ MacPass/MPToolbarButton.m | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index 00cc4467..7c1565d3 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -107,7 +107,10 @@ break; } if([self.superclass instancesRespondToSelector:@selector(setControlSize:)]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" super.controlSize = controlSize; +#pragma clang diagnostic pop } else { self.cell.controlSize = controlSize; @@ -116,7 +119,10 @@ - (NSControlSize)controlSize { if([self.superclass instancesRespondToSelector:@selector(controlSize)]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" return super.controlSize; +#pragma clang diagnostic pop } return self.cell.controlSize; } diff --git a/MacPass/MPToolbarButton.m b/MacPass/MPToolbarButton.m index 91d59097..32b53a6b 100644 --- a/MacPass/MPToolbarButton.m +++ b/MacPass/MPToolbarButton.m @@ -56,7 +56,10 @@ break; } if([self.superclass instancesRespondToSelector:@selector(setControlSize:)]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" super.controlSize = controlSize; +#pragma clang diagnostic pop } else { self.cell.controlSize = controlSize; @@ -65,7 +68,10 @@ - (NSControlSize)controlSize { if([self.superclass instancesRespondToSelector:@selector(controlSize)]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" return super.controlSize; +#pragma clang pop } return self.cell.controlSize; } From abdec9b2c030656c311a4c64048adfb5ff4b9b56 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 11:45:39 +0200 Subject: [PATCH 700/778] moved history display actino to MPDocument --- MacPass/MPDocument+HistoryBrowsing.m | 7 ++++++- MacPass/MPDocument.h | 4 ++++ MacPass/MPDocumentWindowController.h | 2 -- MacPass/MPDocumentWindowController.m | 8 -------- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+HistoryBrowsing.m index f087a55f..97a3e64d 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+HistoryBrowsing.m @@ -14,7 +14,12 @@ NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryH @implementation MPDocument (HistoryBrowsing) - (void)showEntryHistory:(id)sender { - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification object:self]; + id resolver = [NSApp targetForAction:@selector(currentTargetEntries)]; + NSArray *entries = resolver.currentTargetEntries; + if(entries.count != 1) { + return; // only single selection is used + } + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification object:self userInfo:@{ MPDocumentEntryKey: entries.firstObject }]; } - (void)hideEntryHistory:(id)sender { diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 82bb50ad..7b9c0f67 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -222,6 +222,10 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; #pragma mark - #pragma mark History Browsing +/** + * Posted by the document to signal a reqest for history display. + * the userInfo dictionary has one key MPDocumentEntryKey with the entry to display the history for + */ FOUNDATION_EXPORT NSString *const MPDocumentShowEntryHistoryNotification; FOUNDATION_EXPORT NSString *const MPDocumentHideEntryHistoryNotification; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index e7b1ec96..2596a5c6 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -53,8 +53,6 @@ - (IBAction)pickExpiryDate:(id)sender; - (IBAction)performAutotypeForEntry:(id)sender; -- (IBAction)showEntryHistory:(id)sender; -- (IBAction)hideEntryHistory:(id)sender; #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index b36cb49f..c8410395 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -495,14 +495,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } -- (void)showEntryHistory:(id)sender { - id resolver = [NSApp targetForAction:@selector(currentTargetEntries)]; - NSArray *entries = resolver.currentTargetEntries; - if(entries.count != 1) { - return; // only single selection is used - } -} - #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { return ([self.document validateMenuItem:menuItem]); From 128320d725ee8c726bd4b0022c7e149ccfc4d3bc Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 13:39:14 +0200 Subject: [PATCH 701/778] updated to current Xcode version --- MacPass/Base.lproj/InspectorView.xib | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index ac757642..66d5c652 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -1,8 +1,9 @@ - - + + - + + @@ -37,7 +38,7 @@ - + @@ -76,7 +77,7 @@ - + @@ -106,7 +107,7 @@ - + @@ -120,15 +121,13 @@ - + - - @@ -179,7 +178,7 @@ - + From f5f4a0ba5da94f17a2ff47fff47ec3980e62cce6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 13:39:45 +0200 Subject: [PATCH 702/778] fixed inpsectorviewcontroller not properly pushing history on edits --- MacPass/MPInspectorViewController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 6b782918..b39294ed 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -121,6 +121,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { object:document]; self.entryViewController.observer = document; + self.observer = document; [self.entryViewController registerNotificationsForDocument:document]; } From ae7548d005c7b397dd84ce6f59d92ab4b74c996a Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 13:40:04 +0200 Subject: [PATCH 703/778] display history on request --- MacPass/MPEntryViewController.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index fe5e9d84..369543d5 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -455,7 +455,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didExitSearch:(NSNotification *)notification { - [[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier] setHidden:YES]; + [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = YES; + self.filteredEntries = nil; [self _updateContextBar]; } @@ -476,6 +477,10 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_showEntryHistory:(NSNotification *)notification { [self _showContextBar]; + KPKEntry *entry = notification.userInfo[MPDocumentEntryKey]; + NSAssert(entry != nil, @"Resutls should never be nil"); + [self.entryArrayController unbind:NSContentArrayBinding]; + [self.entryArrayController bind:NSContentArrayBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; } - (void)_hideEntryHistory:(NSNotification *)notification { From 4940e4099089778aacc5efb6d0f6ed8eddf50368 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 18:53:30 +0200 Subject: [PATCH 704/778] reworking context bar display --- MacPass/MPDocumentWindowController.m | 2 +- MacPass/MPEntryViewController.h | 14 ++--- MacPass/MPEntryViewController.m | 83 +++++++++++++++++----------- 3 files changed, 57 insertions(+), 42 deletions(-) diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index c8410395..b3f1c6d1 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -93,7 +93,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didLockDatabase:) name:MPDocumentDidLockDatabaseNotification object:document]; - [self.entryViewController regsiterNotificationsForDocument:document]; + [self.entryViewController registerNotificationsForDocument:document]; [self.inspectorViewController registerNotificationsForDocument:document]; [self.outlineViewController regsiterNotificationsForDocument:document]; [self.toolbarDelegate registerNotificationsForDocument:document]; diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index d1731675..e03077dd 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -19,13 +19,10 @@ APPKIT_EXTERN NSString *const MPEntryTableNotesColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTableAttachmentColumnIdentifier; APPKIT_EXTERN NSString *const MPEntryTableModfiedColumnIdentifier; - -/* Tags to determine what to copy */ -typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { - MPCopyUsername, - MPCopyPassword, - MPCopyURL, - MPCopyWholeEntry, +typedef NS_ENUM(NSUInteger, MPDisplayMode) { + MPDisplayModeEntries, + MPDisplayModeSearchResults, + MPDisplayModeHistory }; @class KPKEntry; @@ -36,9 +33,10 @@ typedef NS_ENUM( NSUInteger, MPCopyContentTypeTag) { @property (weak,readonly) NSTableView *entryTable; @property (readonly, strong) NSArrayController *entryArrayController; +@property (readonly, assign) MPDisplayMode displayMode; /* Call this after all view controllers are loaded */ -- (void)regsiterNotificationsForDocument:(MPDocument *)document; +- (void)registerNotificationsForDocument:(MPDocument *)document; /* Copy/Paste */ - (void)copyUsername:(id)sender; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 369543d5..6cd61b7c 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -38,7 +38,7 @@ #define STATUS_BAR_ANIMATION_TIME 0.15 #define EXPIRED_ENTRY_REFRESH_SECONDS 60 -typedef NS_ENUM(NSUInteger,MPOVerlayInfoType) { +typedef NS_ENUM(NSUInteger, MPOverlayInfoType) { MPOverlayInfoPassword, MPOverlayInfoUsername, MPOverlayInfoURL, @@ -71,6 +71,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; @property (strong) NSArray *filteredEntries; @property (weak) IBOutlet NSTableView *entryTable; +@property (assign) MPDisplayMode displayMode; + /* Constraints */ @property (strong) IBOutlet NSLayoutConstraint *tableToTopConstraint; @@ -90,6 +92,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if(self) { _isDisplayingContextBar = NO; + _displayMode = MPDisplayModeEntries; _entryArrayController = [[NSArrayController alloc] init]; _dataSource = [[MPEntryTableDataSource alloc] init]; _dataSource.viewController = self; @@ -193,7 +196,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; return self.entryTable; } -- (void)regsiterNotificationsForDocument:(MPDocument *)document { +- (void)registerNotificationsForDocument:(MPDocument *)document { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeCurrentItem:) name:MPDocumentCurrentItemChangedNotification @@ -392,25 +395,34 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didChangeCurrentItem:(NSNotification *)notification { MPDocument *document = notification.object; - if(document.selectedGroups.count != 1 && !document.hasSearch) { - /* no group selection out of search is wrong */ - self.representedObject = nil; - return; + if(document.selectedGroups.count != 1) { + if(self.displayMode == MPDisplayModeEntries) { + /* no group selection out for entry display is wrong */ + self.representedObject = nil; + return; + } } /* If a group is the current item, see if we already show that group also test if an element has been selected (issue #257) */ if(document.selectedNodes.firstObject == document.selectedGroups.firstObject && document.selectedNodes.count > 0) { - if(document.hasSearch) { - /* If search was active, stop it and exit */ - [document exitSearch:self]; - } - else if([self.entryArrayController.content count] > 0) { - KPKEntry *entry = [self.entryArrayController.content lastObject]; - if(entry.parent == document.selectedGroups.lastObject) { - return; // we are showing the correct object right now. - } + switch(self.displayMode) { + + case MPDisplayModeSearchResults: + [document exitSearch:nil]; + break; + case MPDisplayModeHistory: + [document hideEntryHistory:nil]; + break; + case MPDisplayModeEntries: + if([self.entryArrayController.content count] > 0) { + KPKEntry *entry = [self.entryArrayController.content lastObject]; + if(entry.parent == document.selectedGroups.lastObject) { + return; // we are showing the correct object right now. + } + break; + } } self.representedObject = document.selectedGroups.count == 1 ? document.selectedGroups.lastObject : nil; } @@ -444,24 +456,26 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)_didUpdateSearchResults:(NSNotification *)notification { - [self _showContextBar]; NSArray *result = notification.userInfo[kMPDocumentSearchResultsKey]; NSAssert(result != nil, @"Resutls should never be nil"); self.filteredEntries = result; [self.entryArrayController unbind:NSContentArrayBinding]; [self.entryArrayController bind:NSContentArrayBinding toObject:self withKeyPath:NSStringFromSelector(@selector(filteredEntries)) options:nil]; [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = NO; + [self _updateContextBar]; } - (void)_didExitSearch:(NSNotification *)notification { [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = YES; self.filteredEntries = nil; + self.displayMode = MPDisplayModeEntries; [self _updateContextBar]; } - (void)_didEnterSearch:(NSNotification *)notification { - [self _showContextBar]; + self.displayMode = MPDisplayModeSearchResults; + [self _updateContextBar]; } - (void)_didUnlockDatabase:(NSNotification *)notificiation { @@ -476,29 +490,32 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } - (void)_showEntryHistory:(NSNotification *)notification { - [self _showContextBar]; + self.displayMode = MPDisplayModeHistory; KPKEntry *entry = notification.userInfo[MPDocumentEntryKey]; NSAssert(entry != nil, @"Resutls should never be nil"); [self.entryArrayController unbind:NSContentArrayBinding]; [self.entryArrayController bind:NSContentArrayBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; + [self _updateContextBar]; } - (void)_hideEntryHistory:(NSNotification *)notification { - [self _hideContextBar]; + self.displayMode = MPDisplayModeEntries; + [self _updateContextBar]; } #pragma mark ContextBar - (void)_updateContextBar { - MPDocument *document = [[self windowController] document]; - if(!document.hasSearch) { - KPKGroup *group = self.representedObject; - KPKNode *node = document.selectedNodes.count == 1 ? document.selectedNodes.firstObject : nil; - BOOL showTrash = document.tree.metaData.useTrash && (group.isTrash || node.isTrashed); - if(showTrash) { + switch(self.displayMode) { + case MPDisplayModeSearchResults: + case MPDisplayModeHistory: [self _showContextBar]; - } - else { - [self _hideContextBar]; - } + break; + case MPDisplayModeEntries: + if([[self currentTargetEntries].firstObject isTrashed]) { + [self _showContextBar]; + } + else { + [self _hideContextBar]; + } } } @@ -508,16 +525,16 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } _isDisplayingContextBar = YES; if(!self.contextBarViewController.view.superview) { - [self.view addSubview:[self.contextBarViewController view]]; + [self.view addSubview:self.contextBarViewController.view]; [self.contextBarViewController updateResponderChain]; NSView *contextBar = self.contextBarViewController.view; NSView *scrollView = self.entryTable.enclosingScrollView; NSDictionary *views = NSDictionaryOfVariableBindings(scrollView, contextBar); /* Pin to the left */ - [[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contextBar]|" options:0 metrics:nil views:views]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contextBar]|" options:0 metrics:nil views:views]]; /* Pin height and to top of entry table */ - [[self view] addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[contextBar(==30)]-0-[scrollView]" options:0 metrics:nil views:views]]; + [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[contextBar(==30)]-0-[scrollView]" options:0 metrics:nil views:views]]; /* Create the top constraint for the filter bar where we can change the constant instead of removing/adding constraints all the time */ self.contextBarTopConstraint = [NSLayoutConstraint constraintWithItem:contextBar attribute:NSLayoutAttributeTop @@ -557,7 +574,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } #pragma mark Copy/Paste Overlays -- (void)_copyToPasteboard:(NSString *)data overlayInfo:(MPOVerlayInfoType)overlayInfoType name:(NSString *)name{ +- (void)_copyToPasteboard:(NSString *)data overlayInfo:(MPOverlayInfoType)overlayInfoType name:(NSString *)name{ if(data) { [[MPPasteBoardController defaultController] copyObjects:@[ data ]]; } From d97a7e53fcfa5a78f0b0886da6e6923a791de9b5 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 22:05:39 +0200 Subject: [PATCH 705/778] exitHistory button in context bar now works --- MacPass/ContextBar.xib | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 3cc98f05..ef67670c 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -1,8 +1,8 @@ - + - + @@ -197,6 +197,9 @@ + + + From b059f6b6a6eaaa7cea21c5cbc7d6c16a40924924 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 19 Apr 2017 22:06:16 +0200 Subject: [PATCH 706/778] fixed wrong content display when clearing search or exiting history display. --- MacPass/MPDocument+HistoryBrowsing.m | 10 ++++++++-- MacPass/MPEntryViewController.m | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+HistoryBrowsing.m index 97a3e64d..5357b94d 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+HistoryBrowsing.m @@ -19,11 +19,17 @@ NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryH if(entries.count != 1) { return; // only single selection is used } - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification object:self userInfo:@{ MPDocumentEntryKey: entries.firstObject }]; + if(self.hasSearch) { + [self exitSearch:sender]; + } + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification + object:self + userInfo:@{ MPDocumentEntryKey: entries.firstObject }]; } - (void)hideEntryHistory:(id)sender { - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentHideEntryHistoryNotification object:self]; + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentHideEntryHistoryNotification + object:self]; } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 6cd61b7c..c09fa089 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -459,7 +459,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; NSArray *result = notification.userInfo[kMPDocumentSearchResultsKey]; NSAssert(result != nil, @"Resutls should never be nil"); self.filteredEntries = result; - [self.entryArrayController unbind:NSContentArrayBinding]; [self.entryArrayController bind:NSContentArrayBinding toObject:self withKeyPath:NSStringFromSelector(@selector(filteredEntries)) options:nil]; [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = NO; [self _updateContextBar]; @@ -468,9 +467,13 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; - (void)_didExitSearch:(NSNotification *)notification { [self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = YES; + [self.entryArrayController unbind:NSContentArrayBinding]; + self.entryArrayController.content = nil; self.filteredEntries = nil; self.displayMode = MPDisplayModeEntries; [self _updateContextBar]; + MPDocument *document = notification.object; + document.selectedGroups = document.selectedGroups; } - (void)_didEnterSearch:(NSNotification *)notification { @@ -493,14 +496,17 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; self.displayMode = MPDisplayModeHistory; KPKEntry *entry = notification.userInfo[MPDocumentEntryKey]; NSAssert(entry != nil, @"Resutls should never be nil"); - [self.entryArrayController unbind:NSContentArrayBinding]; [self.entryArrayController bind:NSContentArrayBinding toObject:entry withKeyPath:NSStringFromSelector(@selector(history)) options:nil]; [self _updateContextBar]; } - (void)_hideEntryHistory:(NSNotification *)notification { self.displayMode = MPDisplayModeEntries; + [self.entryArrayController unbind:NSContentArrayBinding]; + self.entryArrayController.content = nil; [self _updateContextBar]; + MPDocument *document = notification.object; + document.selectedGroups = document.selectedGroups; } #pragma mark ContextBar - (void)_updateContextBar { From bc6f82fa7b986430a36e639dfcd86394e884b698 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 11:11:48 +0200 Subject: [PATCH 707/778] removed obsolte code. Better display of trash context bar --- MacPass/MPContextBarViewController.m | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index ead3e971..9cc81cc6 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -110,18 +110,14 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)_showEntryHistory:(NSNotification *)notification { self.activeTab = MPContextTabHistory; - [self _updateBindings]; } - (void)_didChangeCurrentItem:(NSNotification *)notification { - MPDocument *document = [notification object]; - - KPKNode *node = document.selectedNodes.count == 1 ? document.selectedNodes.firstObject : nil; - - BOOL showTrash = document.tree.metaData.useTrash && (node.isTrashed || node.isTrash); + MPDocument *document = notification.object; + KPKGroup *group = document.selectedGroups.firstObject; + BOOL showTrash = document.tree.metaData.useTrash && group.isTrash; if(showTrash && ! document.hasSearch) { self.activeTab = MPContextTabTrash; - [self _updateBindings]; } } @@ -136,10 +132,6 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { #pragma mark UI Helper -- (void)_updateBindings { - // only the entry view has to be bound, the rest not -} - - (void)_updateFilterButtons { MPDocument *document = [[self windowController] document]; MPEntrySearchFlags currentFlags = document.searchContext.searchFlags; From 99096740e5fad6dd5777d3dc3436d9ae181e5f80 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 11:41:15 +0200 Subject: [PATCH 708/778] disabling normal inputs in history display --- MacPass/MPEntryInspectorViewController.m | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 5793f31b..6a9c35b6 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -381,10 +381,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.URLTextField bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(url))] - options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; - - - + options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; [self.expiresCheckButton bind:NSTitleBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expirationDate))] @@ -397,6 +394,17 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(tags))] options:nil]; + + NSArray *inputs = @[ self.titleTextField, self.passwordTextField, self.usernameTextField, self.URLTextField, self.expiresCheckButton /*, self.tagsTokenField */]; + + for(NSControl *control in inputs) { + NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; + [control bind:NSEnabledBinding + toObject:self + withKeyPath:keyPath + options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; + } + [self.uuidTextField bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(uuid)), NSStringFromSelector(@selector(UUIDString))] From f5c2aa9fedee978512363f884cf90b87febb6467 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 11:43:38 +0200 Subject: [PATCH 709/778] protected agains wrong index usage on selection retrieval --- MacPass/MPEntryViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index c09fa089..274d738a 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -376,7 +376,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; #pragma mark MPTargetItemResolving - (NSArray *)currentTargetEntries { NSInteger activeRow = self.entryTable.clickedRow; - if(activeRow > -1) { + if(activeRow > -1 && activeRow < [self.entryArrayController.arrangedObjects count]) { return @[ [self.entryArrayController arrangedObjects][activeRow] ]; } return self.entryArrayController.selectedObjects; From 3f86982339aec5379124542f24f389a25b2cc6f0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 11:44:07 +0200 Subject: [PATCH 710/778] the selected group is only relevant to display the trash context bar! --- MacPass/MPEntryViewController.m | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 274d738a..2bd6ceea 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -515,13 +515,15 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; case MPDisplayModeHistory: [self _showContextBar]; break; - case MPDisplayModeEntries: - if([[self currentTargetEntries].firstObject isTrashed]) { + case MPDisplayModeEntries: { + NSArray *groups = [self.windowController.document selectedGroups]; + if(groups.count == 1 && groups.firstObject.isTrash) { [self _showContextBar]; } else { [self _hideContextBar]; } + } } } From 24899fb4022647dad47768bc6d404b06fdf434aa Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 12:05:28 +0200 Subject: [PATCH 711/778] more appropriate category name --- MacPass.xcodeproj/project.pbxproj | 8 ++++---- ...{MPDocument+HistoryBrowsing.m => MPDocument+History.m} | 6 +++++- MacPass/MPDocument.h | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) rename MacPass/{MPDocument+HistoryBrowsing.m => MPDocument+History.m} (80%) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index a193993d..d2a8ae02 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -136,7 +136,7 @@ 4C663D411D6D91A900CB6237 /* MPNumberFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C663D401D6D91A900CB6237 /* MPNumberFormatter.m */; }; 4C6AEEF91A043E2B00CA2420 /* MPDocumentController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6AEEF81A043E2B00CA2420 /* MPDocumentController.m */; }; 4C6AEF031A04400E00CA2420 /* OpenPanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C6AEF021A04400E00CA2420 /* OpenPanelAccessoryView.xib */; }; - 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */; }; + 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+History.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+History.m */; }; 4C6BC6601A36717E00BDDF3D /* MPDatabaseSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */; }; 4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */; }; 4C6F228919A4A7F90012310C /* MPAutotypeClear.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6F228819A4A7F90012310C /* MPAutotypeClear.m */; }; @@ -486,7 +486,7 @@ 4C6AEEF71A043E2B00CA2420 /* MPDocumentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocumentController.h; sourceTree = ""; }; 4C6AEEF81A043E2B00CA2420 /* MPDocumentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDocumentController.m; sourceTree = ""; }; 4C6AEF021A04400E00CA2420 /* OpenPanelAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OpenPanelAccessoryView.xib; sourceTree = ""; }; - 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+HistoryBrowsing.m"; sourceTree = ""; }; + 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+History.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+History.m"; sourceTree = ""; }; 4C6BC65F1A36717E00BDDF3D /* MPDatabaseSearch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDatabaseSearch.m; sourceTree = ""; }; 4C6D1D24178579570014C5A5 /* 48_FolderTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 48_FolderTemplate.pdf; sourceTree = ""; }; 4C6F228719A4A7F90012310C /* MPAutotypeClear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeClear.h; sourceTree = ""; }; @@ -986,7 +986,7 @@ 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */, 4C1FA07A18231900003A3F8C /* MPDocument+Autotype.m */, 4C15B74518BCA3B1003F8008 /* MPDocument+Search.m */, - 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m */, + 4C6B7C7C18BE7EB0001D5D77 /* MPDocument+History.m */, 4C0AF62D195C1F2B009E658D /* MPEntrySearchContext.h */, 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */, ); @@ -1701,7 +1701,7 @@ 4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */, 4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */, 4CA0B2F915BCAF6700654E32 /* MPGeneralSettingsController.m in Sources */, - 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+HistoryBrowsing.m in Sources */, + 4C6B7C7D18BE7EB0001D5D77 /* MPDocument+History.m in Sources */, 4CA0B2FC15BCAF8600654E32 /* MPSettingsWindowController.m in Sources */, 4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */, 4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */, diff --git a/MacPass/MPDocument+HistoryBrowsing.m b/MacPass/MPDocument+History.m similarity index 80% rename from MacPass/MPDocument+HistoryBrowsing.m rename to MacPass/MPDocument+History.m index 5357b94d..ba3ee1f0 100644 --- a/MacPass/MPDocument+HistoryBrowsing.m +++ b/MacPass/MPDocument+History.m @@ -11,7 +11,7 @@ NSString *const MPDocumentShowEntryHistoryNotification = @"MPDocumentShowEntryHistoryNotification"; NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryHistoryNotification"; -@implementation MPDocument (HistoryBrowsing) +@implementation MPDocument (History) - (void)showEntryHistory:(id)sender { id resolver = [NSApp targetForAction:@selector(currentTargetEntries)]; @@ -32,5 +32,9 @@ NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryH object:self]; } +- (void)restoreEntry:(KPKEntry *)entry toEntry:(KPKEntry *)historyEntry { + [entry revertToEntry:historyEntry]; + [self.undoManager setActionName:NSLocalizedString(@"RESTORE_HISTORY_ENTRY", "Action to restore and Entry to a previous state of it's history")]; +} @end diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 7b9c0f67..beb2955d 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -229,7 +229,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; FOUNDATION_EXPORT NSString *const MPDocumentShowEntryHistoryNotification; FOUNDATION_EXPORT NSString *const MPDocumentHideEntryHistoryNotification; -@interface MPDocument (HistoryBrowsing) +@interface MPDocument (History) - (IBAction)showEntryHistory:(id)sender; - (IBAction)hideEntryHistory:(id)sender; From 420f325dc1df782b1ef3d0b6d70dccfad693c5dd Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 12:06:25 +0200 Subject: [PATCH 712/778] added restore button to history context bar --- MacPass/ContextBar.xib | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index ef67670c..8ddaca78 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -12,7 +12,6 @@ - @@ -184,14 +183,6 @@ - - - - - - - - + - - - + + From d65c548f64e83dfca96776f561a92c09c28a76c2 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 12:09:11 +0200 Subject: [PATCH 713/778] add revertToHistoryEntry action --- MacPass/ContextBar.xib | 2 +- MacPass/MPActionHelper.h | 1 + MacPass/MPActionHelper.m | 1 + MacPass/MPDocument+History.m | 2 +- MacPass/MPDocument.h | 1 + MacPass/MPEntryViewController.h | 14 +++++++++----- MacPass/MPEntryViewController.m | 8 ++++++++ 7 files changed, 22 insertions(+), 7 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index 8ddaca78..cfad5c3d 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -200,7 +200,7 @@ - + diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index fd92f274..822e868a 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -14,6 +14,7 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionAddGroup, // Add a new group MPActionDuplicateEntry, // Simply duplicate an entry (including history) MPActionDuplicateEntryWithOptions, // Request user input on what to duplicate + MPActionReverToHistoryEntry, // Restore an entry to an older state in history MPActionDelete, // Delete entry or group MPActionCopyUsername, // copy username to pasteboard MPActionCopyPassword, // copy password to pasteboard diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index bd37dafa..18711830 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -23,6 +23,7 @@ @(MPActionAddGroup): NSStringFromSelector(@selector(createGroup:)), @(MPActionDuplicateEntry): NSStringFromSelector(@selector(duplicateEntry:)), @(MPActionDuplicateEntryWithOptions): NSStringFromSelector(@selector(duplicateEntryWithOptions:)), + @(MPActionReverToHistoryEntry): NSStringFromSelector(@selector(revertToHistoryEntry::)), @(MPActionCopyPassword): NSStringFromSelector(@selector(copyPassword:)), @(MPActionCopyURL): NSStringFromSelector(@selector(copyURL:)), @(MPActionCopyUsername): NSStringFromSelector(@selector(copyUsername:)), diff --git a/MacPass/MPDocument+History.m b/MacPass/MPDocument+History.m index ba3ee1f0..24a0f9a9 100644 --- a/MacPass/MPDocument+History.m +++ b/MacPass/MPDocument+History.m @@ -32,7 +32,7 @@ NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryH object:self]; } -- (void)restoreEntry:(KPKEntry *)entry toEntry:(KPKEntry *)historyEntry { +- (void)revertEntry:(KPKEntry *)entry toEntry:(KPKEntry *)historyEntry { [entry revertToEntry:historyEntry]; [self.undoManager setActionName:NSLocalizedString(@"RESTORE_HISTORY_ENTRY", "Action to restore and Entry to a previous state of it's history")]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index beb2955d..37f4c18e 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -233,6 +233,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentHideEntryHistoryNotification; - (IBAction)showEntryHistory:(id)sender; - (IBAction)hideEntryHistory:(id)sender; +- (IBAction)revertEntry:(KPKEntry *)entry toEntry:(KPKEntry *)historyEntry; @end diff --git a/MacPass/MPEntryViewController.h b/MacPass/MPEntryViewController.h index e03077dd..e08befe6 100644 --- a/MacPass/MPEntryViewController.h +++ b/MacPass/MPEntryViewController.h @@ -39,11 +39,15 @@ typedef NS_ENUM(NSUInteger, MPDisplayMode) { - (void)registerNotificationsForDocument:(MPDocument *)document; /* Copy/Paste */ -- (void)copyUsername:(id)sender; -- (void)copyPassword:(id)sender; -- (void)copyCustomAttribute:(id)sender; -- (void)copyURL:(id)sender; -- (void)openURL:(id)sender; +- (IBAction)copyUsername:(id)sender; +- (IBAction)copyPassword:(id)sender; +- (IBAction)copyCustomAttribute:(id)sender; +- (IBAction)copyURL:(id)sender; +- (IBAction)openURL:(id)sender; + +/* More Actions */ +- (IBAction)delete:(id)sender; +- (IBAction)revertToHistoryEntry:(id)sender; @end diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 2bd6ceea..618ce8c0 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -730,6 +730,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; } } +- (void)revertToHistoryEntry:(id)sender { + MPDocument *document = self.windowController.document; + NSArray *historyEntries = [self currentTargetEntries]; + if(historyEntries.count != 1) { + return; + } + //[document restoreEntry:entry toEntry:historyEntries.firstObject]; +} - (void)_columnDoubleClick:(id)sender { if(0 == [[self.entryArrayController arrangedObjects] count]) { From c6200a1079c446d941cb737c576b5f05efa7ffe9 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 24 Apr 2017 19:06:08 +0200 Subject: [PATCH 714/778] using gray for alle context bars --- MacPass/ContextBar.xib | 32 ++++++++++++++++++++++------ MacPass/MPContextBarViewController.m | 3 +-- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/MacPass/ContextBar.xib b/MacPass/ContextBar.xib index cfad5c3d..7d3aadac 100644 --- a/MacPass/ContextBar.xib +++ b/MacPass/ContextBar.xib @@ -147,8 +147,8 @@ + + + + + + + + + + @@ -184,8 +194,8 @@ + + + + + + + + + + - + diff --git a/MacPass/MPContextBarViewController.m b/MacPass/MPContextBarViewController.m index 9cc81cc6..1561e28b 100644 --- a/MacPass/MPContextBarViewController.m +++ b/MacPass/MPContextBarViewController.m @@ -57,8 +57,7 @@ typedef NS_ENUM(NSUInteger, MPContextTab) { - (void)awakeFromNib { [[self.filterLabelTextField cell] setBackgroundStyle:NSBackgroundStyleRaised]; - /* Setup History Bar colors */ - self.historyBar.activeGradient = [[NSGradient alloc] initWithStartingColor:[[NSColor orangeColor] shadowWithLevel:0.2] endingColor:[[NSColor orangeColor] highlightWithLevel:0.2]]; + //self.historyBar.activeGradient = [[NSGradient alloc] initWithStartingColor:[[NSColor orangeColor] shadowWithLevel:0.2] endingColor:[[NSColor orangeColor] highlightWithLevel:0.2]]; /* Setup Trash Bar color */ if(!HNHUIIsRunningOnYosemiteOrNewer()) { From a136243bf622249326c856efa92a48dea859b51d Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 11:59:36 +0200 Subject: [PATCH 715/778] Added wrapping adapter for isHistory to ease binding --- MacPass.xcodeproj/project.pbxproj | 6 ++++++ MacPass/Base.lproj/InspectorView.xib | 12 ++++++++++++ MacPass/KPKNode+MPIsHistory.h | 15 +++++++++++++++ MacPass/KPKNode+MPIsHistory.m | 21 +++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 MacPass/KPKNode+MPIsHistory.h create mode 100644 MacPass/KPKNode+MPIsHistory.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index d2a8ae02..3cc3a63c 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -199,6 +199,7 @@ 4CAAA8281D787B8B00CDE977 /* AutotypeBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */; }; 4CAD748C15B889B700104512 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748B15B889B700104512 /* Security.framework */; }; 4CAD748E15B88AC100104512 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CAD748D15B88AC100104512 /* libz.dylib */; }; + 4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB33F851EAF54A000C9341E /* KPKNode+MPIsHistory.m */; }; 4CB915941A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */; }; 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4CB9339716D3A0DD00A13B5D /* Credits.rtf */; }; 4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; }; @@ -619,6 +620,8 @@ 4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AutotypeBuilderView.xib; sourceTree = ""; }; 4CAD748B15B889B700104512 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 4CAD748D15B88AC100104512 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 4CB33F841EAF54A000C9341E /* KPKNode+MPIsHistory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKNode+MPIsHistory.h"; sourceTree = ""; }; + 4CB33F851EAF54A000C9341E /* KPKNode+MPIsHistory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKNode+MPIsHistory.m"; sourceTree = ""; }; 4CB63A6018986530002DEC4C /* MPFlagsHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPFlagsHelper.h; sourceTree = ""; }; 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DuplicateEntryOptionsWindow.xib; sourceTree = ""; }; 4CB9339816D3A0DD00A13B5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; @@ -876,6 +879,8 @@ 4C10412B178CDD44001B5239 /* NSDate+Humanized.m */, 4CC6DB7817D23719002C6091 /* KPKNode+IconImage.h */, 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */, + 4CB33F841EAF54A000C9341E /* KPKNode+MPIsHistory.h */, + 4CB33F851EAF54A000C9341E /* KPKNode+MPIsHistory.m */, 4C32B0E51A1D4436007E12F1 /* KPKFormat+MPUTIDetection.h */, 4C32B0E61A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m */, 4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */, @@ -1777,6 +1782,7 @@ 4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */, 4C7B63771C0CB51F00D7038C /* TTTStringTransformers.m in Sources */, 4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */, + 4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */, 4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */, 4C17D8E517A1C780006C8C1E /* MPDocumentWindowDelegate.m in Sources */, 4C63B8FB17A3154D0091BD72 /* MPContextToolbarButton.m in Sources */, diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index 66d5c652..ae41f05c 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -31,6 +31,12 @@ + + + + NSNegateBoolean + + @@ -129,6 +135,12 @@ + + + + NSNegateBoolean + + diff --git a/MacPass/KPKNode+MPIsHistory.h b/MacPass/KPKNode+MPIsHistory.h new file mode 100644 index 00000000..a5a7a5e5 --- /dev/null +++ b/MacPass/KPKNode+MPIsHistory.h @@ -0,0 +1,15 @@ +// +// KPKNode+MPIsHistory.h +// MacPass +// +// Created by Michael Starke on 25.04.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface KPKNode (MPIsHistory) + +@property (nonatomic, readonly) BOOL isHistory; + +@end diff --git a/MacPass/KPKNode+MPIsHistory.m b/MacPass/KPKNode+MPIsHistory.m new file mode 100644 index 00000000..a79f950d --- /dev/null +++ b/MacPass/KPKNode+MPIsHistory.m @@ -0,0 +1,21 @@ +// +// KPKNode+MPIsHistory.m +// MacPass +// +// Created by Michael Starke on 25.04.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import "KPKNode+MPIsHistory.h" + +@implementation KPKNode (MPIsHistory) + + +- (BOOL)isHistory { + if(self.asEntry) { + return self.asEntry.isHistory; + } + return NO; +} + +@end From c9c3998b7add2cc3554c5b31462f2e97b2ca8460 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 20:04:59 +0200 Subject: [PATCH 716/778] removed obsolte code. Using properties --- MacPass/MPPopupImageView.m | 39 +++++++++++--------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/MacPass/MPPopupImageView.m b/MacPass/MPPopupImageView.m index 315f5033..0f1855cf 100644 --- a/MacPass/MPPopupImageView.m +++ b/MacPass/MPPopupImageView.m @@ -41,61 +41,44 @@ - (void)drawRect:(NSRect)dirtyRect { - if(self.showOverlay && [self isEnabled]) { + if(self.showOverlay && self.enabled) { [[NSGraphicsContext currentContext] saveGraphicsState]; NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:[self bounds] xRadius:4 yRadius:4]; NSShadow *shadow = [[NSShadow alloc] init]; - [shadow setShadowBlurRadius:6]; - [shadow setShadowOffset:NSMakeSize(0, 0)]; - [shadow setShadowColor:[NSColor colorWithCalibratedWhite:0.2 alpha:1]]; + shadow.shadowBlurRadius = 6; + shadow.shadowOffset = NSMakeSize(0, 0); + shadow.shadowColor = [NSColor colorWithCalibratedWhite:0.2 alpha:1]; [shadow set]; [path addClip]; [[NSColor colorWithCalibratedWhite:1 alpha:0.2] setFill]; [path fill]; NSBezierPath *strokePath = [NSBezierPath bezierPathWithRoundedRect:NSInsetRect([self bounds], -3, -3) xRadius:4 yRadius:4]; - [strokePath setLineWidth:6]; + strokePath.lineWidth = 6; [strokePath stroke]; -// [shadow setShadowBlurRadius:2]; -// [shadow setShadowColor:[NSColor colorWithCalibratedWhite:0 alpha:0.5]]; -// [shadow setShadowOffset:NSMakeSize(0, -1)]; -// [shadow set]; -// -// NSBezierPath *triangle = [NSBezierPath bezierPath]; -// NSPoint left = NSMakePoint([self bounds].size.width - MPTRIANGLE_OFFSET - MPTRIANGLE_WIDTH, MPTRIANGLE_OFFSET + MPTRIANGLE_HEIGHT); -// NSPoint right = NSMakePoint(left.x + MPTRIANGLE_WIDTH, left.y); -// NSPoint bottom = NSMakePoint(left.x + 0.5 * MPTRIANGLE_WIDTH, MPTRIANGLE_OFFSET); -// -// [triangle moveToPoint:left]; -// [triangle lineToPoint:right]; -// [triangle lineToPoint:bottom]; -// [triangle closePath]; -// -// [[NSColor whiteColor] set]; -// [triangle fill]; - - [[NSGraphicsContext currentContext] restoreGraphicsState]; + [NSGraphicsContext.currentContext restoreGraphicsState]; } [super drawRect:dirtyRect]; - /* Draw Overlay */ } - (void)mouseEntered:(NSEvent *)theEvent { self.showOverlay = YES; - [self setNeedsDisplay:YES]; + self.needsDisplay = YES; [super mouseEntered:theEvent]; } - (void)mouseExited:(NSEvent *)theEvent { self.showOverlay = NO; - [self setNeedsDisplay:YES]; + self.needsDisplay = YES; [super mouseExited:theEvent]; } - (void)mouseDown:(NSEvent *)theEvent { - [self sendAction:[self action] to:[self target]]; + if(self.enabled) { + [self sendAction:self.action to:self.target]; + } } - (void)_setupView { From d3a475fd6350ed0e53bf6a4e0ab44de7ea96d9ad Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 20:05:07 +0200 Subject: [PATCH 717/778] more enabeld bindings --- MacPass/MPEntryInspectorViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 6a9c35b6..71902621 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -395,7 +395,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(tags))] options:nil]; - NSArray *inputs = @[ self.titleTextField, self.passwordTextField, self.usernameTextField, self.URLTextField, self.expiresCheckButton /*, self.tagsTokenField */]; + NSArray *inputs = @[ self.titleTextField, self.passwordTextField, self.usernameTextField, self.URLTextField, self.expiresCheckButton , self.tagsTokenField, self.generatePasswordButton]; for(NSControl *control in inputs) { NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; From 7bc06a5997d59205e09d074331517329026f9ccb Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 20:05:15 +0200 Subject: [PATCH 718/778] properites --- MacPass/MPDocument.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 2968cf8d..76bb0f75 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -765,7 +765,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } - (void)_storeKeyURL:(NSURL *)keyURL { - NSMutableDictionary *keysForFiles = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:kMPSettingsKeyRememeberdKeysForDatabases] mutableCopy]; + NSMutableDictionary *keysForFiles = [[NSUserDefaults.standardUserDefaults dictionaryForKey:kMPSettingsKeyRememeberdKeysForDatabases] mutableCopy]; MPAppDelegate *delegate = (MPAppDelegate *)[NSApp delegate]; if(!delegate.isAllowedToStoreKeyFile || nil == keyURL) { /* user has removed the keyfile or we should not safe it so remove it */ From f014df579a1448b5abde127136ec5dc69d71a75b Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 20:05:25 +0200 Subject: [PATCH 719/778] simplified isHistory wrapper --- MacPass/KPKNode+MPIsHistory.m | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/MacPass/KPKNode+MPIsHistory.m b/MacPass/KPKNode+MPIsHistory.m index a79f950d..20b63748 100644 --- a/MacPass/KPKNode+MPIsHistory.m +++ b/MacPass/KPKNode+MPIsHistory.m @@ -12,10 +12,8 @@ - (BOOL)isHistory { - if(self.asEntry) { - return self.asEntry.isHistory; - } - return NO; + /* nil call will return NO */ + return self.asEntry.isHistory; } @end From 6f613f36597a045f9d0a8d9f4adb1023b314a908 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 25 Apr 2017 20:06:21 +0200 Subject: [PATCH 720/778] made bindings less lax --- MacPass/Base.lproj/EntryInspectorView.xib | 78 +++++++++++------------ MacPass/Base.lproj/InspectorView.xib | 6 +- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 5c544a09..347ad2c5 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,8 +1,8 @@ - + - + @@ -63,11 +63,11 @@ - + - - + + @@ -91,13 +91,13 @@ - + - - + + - + @@ -128,7 +128,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -259,7 +259,7 @@ - + @@ -297,7 +297,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -352,7 +352,7 @@ - + @@ -364,7 +364,7 @@ - + @@ -443,7 +443,7 @@ - + @@ -465,7 +465,7 @@ - + @@ -473,7 +473,7 @@ - + @@ -487,7 +487,7 @@ - + @@ -495,7 +495,7 @@ - + @@ -509,7 +509,7 @@ - + @@ -523,7 +523,7 @@ - + @@ -531,7 +531,7 @@ - + @@ -550,7 +550,7 @@ - + @@ -607,7 +607,7 @@ - + @@ -621,7 +621,7 @@ - + @@ -629,7 +629,7 @@ - + @@ -637,7 +637,7 @@ - + @@ -718,7 +718,7 @@ - + @@ -726,7 +726,7 @@ - + @@ -737,7 +737,7 @@ - + @@ -752,7 +752,7 @@ - + @@ -778,7 +778,7 @@ - + @@ -836,7 +836,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -858,7 +858,7 @@ - + @@ -869,7 +869,7 @@ - + diff --git a/MacPass/Base.lproj/InspectorView.xib b/MacPass/Base.lproj/InspectorView.xib index ae41f05c..576f876b 100644 --- a/MacPass/Base.lproj/InspectorView.xib +++ b/MacPass/Base.lproj/InspectorView.xib @@ -31,9 +31,8 @@ - + - NSNegateBoolean @@ -135,9 +134,8 @@ - + - NSNegateBoolean From ac17d7abf435e760bebd1abdf6a7e93da9ac588e Mon Sep 17 00:00:00 2001 From: skyline75489 Date: Wed, 26 Apr 2017 21:45:08 +0800 Subject: [PATCH 721/778] Fix Simplified Chinese localization --- MacPass/MPContextMenuHelper.m | 2 +- MacPass/zh-Hans.lproj/Localizable.strings | Bin 0 -> 7930 bytes MacPass/zh-Hans.lproj/MainMenu.strings | 3 +++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MacPass/MPContextMenuHelper.m b/MacPass/MPContextMenuHelper.m index 5893a93a..f2e35eb1 100644 --- a/MacPass/MPContextMenuHelper.m +++ b/MacPass/MPContextMenuHelper.m @@ -109,7 +109,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) { [items addObject:performAutotype]; } if(insertHistory) { - NSMenuItem *showHistory = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_ENTRY_HISTORY", @"") + NSMenuItem *showHistory = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_HISTORY", @"") action:[MPActionHelper actionOfType:MPActionShowEntryHistory] keyEquivalent:@"h"]; showHistory.keyEquivalentModifierMask = (showHistory.keyEquivalentModifierMask | NSCommandKeyMask | NSControlKeyMask); diff --git a/MacPass/zh-Hans.lproj/Localizable.strings b/MacPass/zh-Hans.lproj/Localizable.strings index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e415c030948206b50bf1955f91f9159c10932c01 100644 GIT binary patch literal 7930 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 E0HAd)Gynhq literal 0 HcmV?d00001 diff --git a/MacPass/zh-Hans.lproj/MainMenu.strings b/MacPass/zh-Hans.lproj/MainMenu.strings index 95ce950e..0def5687 100644 --- a/MacPass/zh-Hans.lproj/MainMenu.strings +++ b/MacPass/zh-Hans.lproj/MainMenu.strings @@ -161,6 +161,9 @@ /* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "aVO-9F-Lwc"; */ "aVO-9F-Lwc.title" = "快速查看"; +/* Class = "NSMenuItem"; title = "Fix Autotype…"; ObjectID = "nx7-Vf-LiD"; */ +"nx7-Vf-LiD.title" = "修复自动填充…"; + /* Class = "NSMenuItem"; title = "Import XML…"; ObjectID = "rW0-r1-QYL"; */ "rW0-r1-QYL.title" = "导入 XML…"; From b650e1efa091220e51dae12589af6e462d2e7d28 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 3 May 2017 13:56:16 +0200 Subject: [PATCH 722/778] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 820837fa..91624cb2 100644 --- a/README.md +++ b/README.md @@ -186,4 +186,4 @@ See submodules for additional Licenses ## Feedback -[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/1550529/mstarkeMacPass-on-GitHub) +[![Flattr this](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/thing/1550529/mstarkeMacPass-on-GitHub) From 2edd97c929d428de7e688a910a08e5274e2ce3cb Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 3 May 2017 15:44:32 +0200 Subject: [PATCH 723/778] Password creator nor correctly supports composed characters. This mainly enabeld Emoji support --- MacPass.xcodeproj/project.pbxproj | 6 +++ .../NSString+MPComposedCharacterAdditions.h | 18 +++++++++ .../NSString+MPComposedCharacterAdditions.m | 39 +++++++++++++++++++ MacPass/NSString+MPPasswordCreation.h | 10 +++-- MacPass/NSString+MPPasswordCreation.m | 30 +++++++------- 5 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 MacPass/NSString+MPComposedCharacterAdditions.h create mode 100644 MacPass/NSString+MPComposedCharacterAdditions.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 3cc3a63c..06286a7b 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -226,6 +226,7 @@ 4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */; }; 4CD820211A32173100399DBB /* ReferenceBuilderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD820231A32173100399DBB /* ReferenceBuilderView.xib */; }; 4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */; }; + 4CDA35751EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDA35741EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.m */; }; 4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */; }; 4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2961418429AA5005F01CE /* MPAutotypeKeyPress.m */; }; 4CE296191842A166005F01CE /* MPAutotypePaste.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE296181842A166005F01CE /* MPAutotypePaste.m */; }; @@ -662,6 +663,8 @@ 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 11_CameraTemplate.pdf; sourceTree = ""; }; 4CD820221A32173100399DBB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ReferenceBuilderView.xib; sourceTree = ""; }; 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentWindow.xib; sourceTree = ""; }; + 4CDA35731EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MPComposedCharacterAdditions.h"; sourceTree = ""; }; + 4CDA35741EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPComposedCharacterAdditions.m"; sourceTree = ""; }; 4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = ""; }; 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryViewController.m; sourceTree = ""; }; 4CE2961318429AA5005F01CE /* MPAutotypeKeyPress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeKeyPress.h; sourceTree = ""; }; @@ -889,6 +892,8 @@ 4C77C84018E240E000D1C42B /* DDHotKey+MacPassAdditions.m */, 4C5807761C64F67000E7171F /* NSString+MPHash.h */, 4C5807771C64F67000E7171F /* NSString+MPHash.m */, + 4CDA35731EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.h */, + 4CDA35741EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.m */, ); name = Categories; sourceTree = ""; @@ -1731,6 +1736,7 @@ 4C888C9316EB6F5E003D34A1 /* MPToolbarItem.m in Sources */, 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */, 4C811C8316ECD06E00C4BAC6 /* MPKeyfilePathControlDelegate.m in Sources */, + 4CDA35751EBA0CF2003CD59F /* NSString+MPComposedCharacterAdditions.m in Sources */, 4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */, 4CE39AC416ECE4F7000FE29D /* MPPopupImageView.m in Sources */, 4C46B88517063A070046109A /* NSString+MPPasswordCreation.m in Sources */, diff --git a/MacPass/NSString+MPComposedCharacterAdditions.h b/MacPass/NSString+MPComposedCharacterAdditions.h new file mode 100644 index 00000000..64546ae8 --- /dev/null +++ b/MacPass/NSString+MPComposedCharacterAdditions.h @@ -0,0 +1,18 @@ +// +// NSString+MPComposedCharacterLength.h +// MacPass +// +// Created by Michael Starke on 03.05.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface NSString (MPComposedCharacterAdditions) + +@property (nonatomic, readonly) NSUInteger composedCharacterLength; +@property (nonatomic, readonly, copy) NSArray *composedCharacterRanges; // NSArray of NSValues of NSRanges + +- (NSString *)composedCharacterAtIndex:(NSUInteger)index; + +@end diff --git a/MacPass/NSString+MPComposedCharacterAdditions.m b/MacPass/NSString+MPComposedCharacterAdditions.m new file mode 100644 index 00000000..0d9fa4d9 --- /dev/null +++ b/MacPass/NSString+MPComposedCharacterAdditions.m @@ -0,0 +1,39 @@ +// +// NSString+MPComposedCharacterLength.m +// MacPass +// +// Created by Michael Starke on 03.05.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import "NSString+MPComposedCharacterAdditions.h" + +@implementation NSString (MPComposedCharacterAdditions) + +- (NSUInteger)composedCharacterLength { + NSUInteger __block actualLength = 0; + [self enumerateSubstringsInRange:NSMakeRange(0, self.length) + options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) { + actualLength++; + }]; + return actualLength; +} + +- (NSArray *)composedCharacterRanges { + __block NSMutableArray *ranges = [[NSMutableArray alloc] initWithCapacity:self.length]; + [self enumerateSubstringsInRange:NSMakeRange(0, self.length) + options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) { + [ranges addObject:[NSValue valueWithRange:substringRange]]; + }]; + return [ranges copy]; +} + +- (NSString *)composedCharacterAtIndex:(NSUInteger)index { + NSArray *ranges = self.composedCharacterRanges; + if(index < ranges.count) { + return [self substringWithRange:ranges[index].rangeValue]; + } + return nil; +} + +@end diff --git a/MacPass/NSString+MPPasswordCreation.h b/MacPass/NSString+MPPasswordCreation.h index 45f6f136..50b1a0f7 100644 --- a/MacPass/NSString+MPPasswordCreation.h +++ b/MacPass/NSString+MPPasswordCreation.h @@ -40,6 +40,12 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { + (NSString *)passwordFromString:(NSString *)source length:(NSUInteger)length; + (NSString *)passwordWithDefaultSettings; + +/** + * @return returns a random character from the string + */ +@property (nonatomic, readonly, copy) NSString *randomCharacter; + /** * * Creates a random password with only the characters of the receiver @@ -49,10 +55,6 @@ typedef NS_OPTIONS(NSUInteger, MPPasswordCharacterFlags) { * @return Password containing only the characters in receiver */ - (NSString *)passwordWithLength:(NSUInteger)length; -/** - * @return returns a random character from the string - */ -- (NSString *)randomCharacter; /** * Calculates the entropy of the receiver based on the allowed characters. The calculation considers the characters chosen randomly. * If the password supplied was not created randomly based on the full character set, the calculated entropy is NOT correct. diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index f9b5eb3f..efad79e8 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -9,6 +9,7 @@ #import "NSString+MPPasswordCreation.h" #import "KeePassKit/KeePassKit.h" +#import "NSString+MPComposedCharacterAdditions.h" #import "MPSettingsHelper.h" NSString *const kMPLowercaseLetterCharacters = @"abcdefghijklmnopqrstuvwxyz"; @@ -33,8 +34,7 @@ static NSString *allowedCharactersString(MPPasswordCharacterFlags flags) { } static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* customCharacters){ - NSInteger maxLength = baseCharacters.length + customCharacters.length; - NSMutableString* mergedCharacters = [NSMutableString stringWithCapacity: maxLength]; + NSMutableString* mergedCharacters = [[NSMutableString alloc] init]; [mergedCharacters appendString:baseCharacters]; [customCharacters enumerateSubstringsInRange: NSMakeRange(0, customCharacters.length) options: NSStringEnumerationByComposedCharacterSequences @@ -50,7 +50,7 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust + (NSString *)passwordFromString:(NSString *)source length:(NSUInteger)length { NSMutableString *password = [[NSMutableString alloc] initWithCapacity:length]; - while(password.length < length) { + while(password.composedCharacterLength < length) { [password appendString:[source randomCharacter]]; } return password; @@ -63,7 +63,7 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust NSString *characters = mergeWithoutDuplicates( allowedCharactersString(allowedCharacters), customCharacters); - while(password.length < length) { + while(password.composedCharacterLength < length) { NSString *randomCharacter = [characters randomCharacter]; if(randomCharacter.length > 0) { [password appendString:randomCharacter]; @@ -77,10 +77,10 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust + (NSString *)passwordWithDefaultSettings { /* generate and pre-fill password using default password creation settings */ - NSUInteger passwordLength = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyDefaultPasswordLength]; - MPPasswordCharacterFlags characterFlags = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyPasswordCharacterFlags]; - BOOL useCustomString = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString]; - NSString *customString = [[NSUserDefaults standardUserDefaults] stringForKey:kMPSettingsKeyPasswordCustomString]; + NSUInteger passwordLength = [NSUserDefaults.standardUserDefaults integerForKey:kMPSettingsKeyDefaultPasswordLength]; + MPPasswordCharacterFlags characterFlags = [NSUserDefaults.standardUserDefaults integerForKey:kMPSettingsKeyPasswordCharacterFlags]; + BOOL useCustomString = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyPasswordUseCustomString]; + NSString *customString = [NSUserDefaults.standardUserDefaults stringForKey:kMPSettingsKeyPasswordCustomString]; if(useCustomString && customString.length > 0) { return [customString passwordWithLength:passwordLength]; @@ -95,27 +95,25 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust } - (NSString *)randomCharacter { - if([self length] == 0) { + if(self.length == 0) { return nil; } NSData *data = [NSData kpk_dataWithRandomBytes:sizeof(NSUInteger)]; NSUInteger randomIndex; [data getBytes:&randomIndex length:data.length]; - return [self substringWithRange:NSMakeRange(randomIndex % self.length, 1)]; + return [self composedCharacterAtIndex:(randomIndex % self.composedCharacterLength)]; } - (CGFloat)entropyWhithPossibleCharacterSet:(MPPasswordCharacterFlags)allowedCharacters orCustomCharacters:(NSString *)customCharacters { NSString *characters = nil; - if([[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyPasswordUseCustomString] && nil != customCharacters) { - characters = mergeWithoutDuplicates( - allowedCharactersString(allowedCharacters), - customCharacters); + if([NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyPasswordUseCustomString] && nil != customCharacters) { + characters = mergeWithoutDuplicates(allowedCharactersString(allowedCharacters), customCharacters); } else { characters = allowedCharactersString(allowedCharacters); } - CGFloat alphabetCount = characters.length; - CGFloat passwordLength = self.length; + CGFloat alphabetCount = characters.composedCharacterLength; + CGFloat passwordLength = self.composedCharacterLength; return passwordLength * ( log10(alphabetCount) / log10(2) ); } @end From 94676b82bc63464d9110756f61510f3bfb367145 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 4 May 2017 13:25:30 +0200 Subject: [PATCH 724/778] using non-leaking KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPDatabaseSettingsWindowController.m | 2 +- MacPass/MPDocument.m | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cartfile b/Cartfile index f2003e58..fae0c2e0 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" +github "mstarke/KeePassKit" "19073179a3f4d0dad79d4ac67e39f3dec4f2f6fe" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index c65b85cf..2b949443 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "d24bde60a1d73ab2483277f1b424d30d75210150" +github "mstarke/KeePassKit" "19073179a3f4d0dad79d4ac67e39f3dec4f2f6fe" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/MPDatabaseSettingsWindowController.m b/MacPass/MPDatabaseSettingsWindowController.m index 4a219a00..f32c8a17 100644 --- a/MacPass/MPDatabaseSettingsWindowController.m +++ b/MacPass/MPDatabaseSettingsWindowController.m @@ -311,7 +311,7 @@ } - (NSMenu *)_buildTemplateTreeMenu:(KPKTree *)tree { - NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.entryTemplatesGroup]; + NSMenu *menu = [self _buildTreeMenu:tree preselect:tree.metaData.entryTemplatesGroupUuid]; NSMenuItem *selectItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NO_TEMPLATE_GROUP", @"Menu item to reset the template groups") action:NULL diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 76bb0f75..a8f93272 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -424,7 +424,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou - (KPKGroup *)templates { /* Caching is dangerous as we might have deleted the group */ - return [self findGroup:self.tree.metaData.entryTemplatesGroup]; + return [self findGroup:self.tree.metaData.entryTemplatesGroupUuid]; } - (BOOL)hasSearch { From 10a098c983cd245679cf544deb830fab1e80f8c1 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 4 May 2017 18:56:36 +0200 Subject: [PATCH 725/778] Added link to twitter account --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91624cb2..3b801acb 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ If you want to contribute by fixing a bug, adding a feature or improving localiz Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) +Or follow the Twitter account [@MacPassApp](https://twitter.com/MacPassApp) ## System Requirement From f15096931a01c19908449aee3f2cdb100e1b5aa9 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 4 May 2017 18:57:05 +0200 Subject: [PATCH 726/778] Added newline to fix formatting issue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b801acb..da86c86b 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ If you want to contribute by fixing a bug, adding a feature or improving localiz Some questions might be ansered in the [FAQ](https://github.com/mstarke/MacPass/wiki/FAQ) Another place to look is the IRC channel [#macpass](irc://irc.freenode.org/macpass) on [irc.freenode.org](irc://irc.freenode.org) + Or follow the Twitter account [@MacPassApp](https://twitter.com/MacPassApp) ## System Requirement From be9193049819739e949c300d5550bb123c228b8c Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 5 May 2017 11:41:21 +0200 Subject: [PATCH 727/778] New App Icons --- Assets/App icon/MacPass AppIcon.afdesign | Bin 0 -> 70530 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/App icon/MacPass AppIcon.afdesign diff --git a/Assets/App icon/MacPass AppIcon.afdesign b/Assets/App icon/MacPass AppIcon.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..96e388fabdbc341a1bca1c84934dd8227ceda324 GIT binary patch literal 70530 zcmbUIV|1iX)He!uI<{?_6K7&iY}j8Go59^_#ws6VcEn0F5$zJeB8}~aLEJ<%Rqr+9+ilvLNqdHVPIv6 zu-06k&96L%uMDm?A%%KCpb4a$AI&N_&LhmlU8kQL`jaO^()WX<5>E8V1t%A9+C!S^?W~yyH4ekhyq7zF55A zW=vf2j8HJ)>ck8ZO>_`{oMFv+X?CBvSzYjVzaAl>DeI_q6^q5POuRDbibY&m>x^iw z5;=*sf3|F?Zrb`!pX+i2?&u#ZCcT&>!U*6Us!>8`mF2x7DCf!>&@BvbSi3}l9;IHB z81#AR>S!aOoddc zR2p)Mf^Ti~6cTJ0HyO3=vcK-D_t_&Iv1xkn!sTE+$qU}Bew%f+j|upnhq)Ee9t|g3 zmd{9=HKPa6pEn?R>^wP=QcQ>_PN{{Fn4_&-d;ZpGRmlAr^K<#!GioGB12%zH9nj^& zaKLC-+nc1sg=VhCYonLRs-%J8NUBh|f$qo(!gh={QB`VY9SgC{hA2WtzuL*%m-((3 z$PQph1%_{fI{!|L-f3o+0$gyQUIg374&3w*j_u_BzI|^qiE8MssemOqTkr|B_%oZv zWu${{S{C5hef@gy?ExvW!Awa}1p*y9SiHwp1wf3nh`DTa2~2lYO4DuqNY4e^WFo~y zezMu9 zV8n}FV>P(>4BE6ZnPqLGpv$IlX`h7-uR~3QZ&5AYLW zJ8(JsGILg{tj^ zjzqo%+2LdHMSe%_B}?y>8>@oADmXl-F)v{6$%mN2i!96>Xj#p5fN3cM_LLO7t4YPL zt|UO@gd;)XQ%`3c=zqT)eYOvIiNhZ^xbv*|2fUUNX)T zAaBQYWEVpaxRB3rjN6Dk6I7NR=!ECbbJdr`kyDnN)mVgvQm7JTu&5 zWnh{s`VKmrq4N!9ldEF(x_?{f`uVHuj%FQ6M}WA=^Iu(Gq~8NrKiu0<%nK=AgnN{v zs-!L8Vki4A^u08Js1jKQsc$k ze<$OL<2OeY`M7c^l(Vqj1VKi$@=e@GeFY*ErD6oZBN8c%Efn&UqC2W=Vs!8)c|!fQ zXe8Hoblk>TAo3;=I(jf*^a4yg3C=OsPQKVGc*+&zlVkm<|HYwxKJ`rps=wtha;=dK`)+7WargYYV8>)v(i_GTrqWpd6 z>NKsw*9pV1F{18{%tuxAQj$1XYfsSW9ShsIUU-#N2GhUB%1t}ku(3q0eM|Awj-++dLO z+O2%DQX%Hu$T+k8Wte`(<{RjTzO*%C+ve+I0b-DmnSiTZ+9r*Puohd8iS=i)=RSpV zBrtwN+vA(kQNSGG8!sX?DaUtNZMHR9#=7q@?+K zKC&Et(t~skpT|x=tfyo)4N*OG#c)1w-{@P80NS6c8)24IMDx(@)9zvdnBD1QB~RR5 zKia(Cs6SV9a**y`8oWrU+33!xGDWjYI07Y)L11pYJ%9H+i?kgr2_*F7V|r|x*v?3f z+8RS1oP$1}~ zJ~xuI*KSG;Aj$10;RXYg$hZSRv9{Jf)aeo_MJcF3;iCDqa2H{>sEo#-{6t8U0)bp~ zfDa8)J(+$ofT4_R_vFt)5_bdnVD%nUJVp$p+7!V`#Y&EZ`~H0o|x9X}-U zcA{x`ZAYN3m&arkYPoe;PdNu3#{)s03cQL2WUf2jAJ75}m;~&i(dhQ&)yzAaybzY^ zzTX_|(7)0qnY_PFz%UxmYmHiqKcLS>4OAYa4J-BlUz(+8L-`{FJV#(TR0C9QJUddT z{^Y3~0v}FrS9GQs#}{Za*HP#~{m-renP!f=XL!)5AyAp}WeXVu?JFZT_0=7J@?7xb zkoYf$jFw2LaaMA=_NKlLlNYF`D$ACX5w3uS*0117t+37*j?Y_Iu2&Zx)RA*93pC>3 z4m#Ja1pz9bWWX2eR0f&;pxYG~?nAqyO>%>kI84U=1e!CcxQ7>TfoU*nko- z)T>tp6M0NFQ27G@(eOR(WB|5A!TWX`fY}VVWISMH_8KJ0TEv@JhvdnSaf!8n-#1i% zry=k4-{^63m0tkY_G`dDQGxI-{bEG(tzEU`KN8O%071$FnE=pILM9+hVGTBJG=dLI zw4ioJzMHyf@c$1+Zhz289<$H>FFpV)^&ab>MPKbebZouUAw{E#qOkIYjRUb%MI z0MgYkXO)93r|?7%<1(f}^N^pB)#-em4S%`tb6^;&8uyoMc|%2^?P1OU*WHB`ZiKpV zmwJm-wW0wuu=P7mSPNlirm8IqG$pUlPwc zBXIl%BG7XQ7Dq|afSh%B+BK|?M0 zMTwab?Ei|AluJSpv$AP6HoBHU2{{%;3t)alQKLA)Ub-_Zj|xd3=QqF#*p_`%D5)P& z$~ZPN`vrEZ2%M4eF@p8XqU6V@EU38}N^1f~>|13uz>j{u)hZJtE^Q}}Ly92}?E(2S=CmR#^b=+*&F zhwOj6MaMTc+6-&WA^M#~As&0x6AeSgsAj&!-#(_y-|GuFxYE0pY#tjcq3z^Y?652D zgv+XjF|emYJjF>>fiD6G1QL3T)J2~fq*;#GQ8>*lG!s{5tGk*xJAW9?JK>%6sqM6l z`qiohJbQL7_6~cGbk15eN>!78@(Jd4&r>sb+A;~y3CEh5nPELEz?oVImQD&pb8_Uy?jYQAd_`5s|7b!XN4}p5& zyG}l|tf`B>Gdy`AcQ3R1uOHWsILcaondX4~pNCv;zKw&Rk^5=M%uDE@8pd_(s5Kar zix+5}n6YMzVkRy#*)~3?O1Q3%Gn-K4V$#ox+N%$J)_kw$h2YZzq*Bs{Q>?qMct*Lx z)6lW&dYNNyhoRzhTPDuB|DyDYNCok@wUzd+w?irWrsQuY<6b3ch~0ZtQwdlv;Y2&x z<3c*#O)U9%ld1qFSSe-0W)#uABO+}bIkq(JbCC3d?_h6}i&9@8GP zPeFEaYG>=!@un{!ROu++owvziy7tZ4UZ0rc{`KXGkwcqYCdSc+7C`FlC_gT zB7(Ku2`@I&jROww0}bGOgWt=}ZWFHpwN1yxRJ?qWkXyLPK>rQy>~KdU^h8Vr3}Alt z@IcLeGQ-({ZhC;+P;N=Hn#a~>wdBjEJ?t^C2Rcik1)ch;7Z*KEyxjl zEvxVnc8r35Q2+C-7IPMKvM;x>x#m46``dne*-9r$Rg`&UZM#Qsk^(Ujd5@_XwFItB z&3@_SUbgo5Dz7egT#AFFeoSlK1*^sLyglhYTIyaRG#Q>FWs(d(Yc-3|Qm8aqLBIW! znA|-6V)c@54xWU;<)TaV@&3aSYub?+p)4y{mAuWb)@y0JZWv-R@77{mq7+=RBg^WA zBkl@1BRD4UMa--o7VNv&32NEhHgC6+XIP1~Z*|I8ljyP<5gPJ`CkM( zkLt&#CD43GX9@p8=k;xLTD5sU@<*Ev*nPx9|J?Pk3ammFe6l9@v>Rgh3^3vzS@e0; zx&`0l_|16Ahw0mZC+TVU2>Eh5FK0@^x0_MhNrQi1+U1?`k1KvMtIcm$qbyJev$LV> zqku1CDCd+3Rv{Bnd9bp1dnAP1JAJ5ay8hI@&fnA-o!J5Pz}1fGa!kkfu$fEI>okQa zt-fbP_T_Fvfv6G!)`Cz}24TIBBcbSTy2qHKz!=c}?DasBYtn}5=bo<1FGIeGM1xgQ|Lyd>tio>T%8>(M7S=dng!MCS7a*_}1f-|yrlYUnj2>cTx5t)a+ ztloOxS}Ln=Ep2cPZ}bAq8D7t7%$4;`$ZQsNbOkuWF2~9ps5})Weac^j=kQBVLXt?| zFV{OBRHmey=x}@44m%o7XQAs|hO>#Ph&n8owyG_QzL_%Nd>&U_dcl{N!kDulK2eI( zQOJusfp~-ANSsQeH+{Xfdeys)Ua^Qjj^01wdTof6bB05pAU05XS^4cP;KO#1(t&4L-*o$^e{>WX-jS1Wv?yIvclc|8j|$|Ato|dx&u(o!^P%OC0YorSg1bn^nt{apYao zYj~Q#^h*=QviB?h4AGLpJXgC8X>^2oJ`wuWMNK4DinNIQx)sPjJN(yILr>KQQ1a65 z%iukTI6GY02F3Xt#RZtJjY>*)tUBJ?@8Y-kyBU^n)c4A%kk(c3mjFl0No8NB*^%I_ z>>*8b{@(O;qT=w5I6R@)$l-%;@%Dc2*kTab%bA0TYx=+~);e}R{=#5`=fHs95sh%2 z^V|VpH_R~?1(5h09fDmz%xcG;= z+g{`AsnqABzHf;RplGAHEy^n0`$XzVAbK0Q35cX4xG=wBqDH92-LSnduM>Zw*pv7d zLFk_^3z-Lcrq}-wB^kZ_L;lQAVB8na?FavQxb=F@4o`6L5iOgE);PIYx9o2civj@p z5GBQ7BeP&61mCLs_MUGWx%!=!z`VHxoGeYqkG-Cc;vL9{FSu^`Y@2D;#Efkkk(Uq( z>c&R64iV@fheSt5AH*%PY1!OXcJsW~r^E{7wU#WdOe`Y^-0fZ-G8EC5Gu1C&uk=)D z!DBi&cHKa#olPbVS#nGG$zAFUT7-_;oPeyGL<<*WtnC_NF5b$~_A)Uay++ z8r<4OGhl8Fu`kXAq}=8?%k0dym;M#m_1?|b})iWUHJ#%B*9m$mYyaCl4J)1(u`h| z`v5pB5KoGRU(JFcfHuDtRGSTlpsnb9>_lg+fiwLO=VThDDVUEJ!QtbKG^favxl;)Y zQx?VTWp$=E4Re);x5NuZ_JNPpi0U8x5!_#r$V;!v24Pi9mk^#LFMOfsl=d#In$}}A zo0_#vgG$_+;DmUd!XrI5Sy;aT!u}ZDrEIar_9lOfs%V)q`j)6BZs4MUf1X zrk-}z)NPL9Obz@q9w_b-k*QnGrz!tVF3Ux)-F8pIjd5^fx-3nmzQOZF6m9XRmO!G5 zt8g>Hb+q?qQKlLq!ACFASPWWF!0NS8L30^DRQL|D>TDi!Wn=60IX)KwvOMY|#`U?n zPFuJu6`Kt+fT?2}xr!%f1Lti-S$2RlEJlNXY#bZ(9fe4MYFs}_=ze2$T72?Me3z^C z0*WM46pE;n-@*X`LB~DB&T$ixK7E)AUoG;n%rG_x-)G-ocpEugYWA+ud!q~Cr{%`X zI34pr#*kK{pGBwNv1<0p)qqQzOi16~aTo7c-$y-2MZ{&6j;p0Bs2gHBMu3t1n!{q} zW8B{Ow_j7>-q^k$HBpj*w>ktNZ2LK_&}FmxLxiGK6_6KkA0k&Xw3ekGjeV z3wC~T44L>2kCP`|HOb|S-0eE$+w0&&ucLyMrKC1L?@)Al^y?3H9J(^}4x}DqYyH|q*kFd<1plD z=>>_5_$FS&LIQ4<=wD-r;7(DTdD&P9NIk_rxud`P=nl7Lv)OeR6GvWMhMVM{gM3ZB zs7VMtI6$`B;@0x-zTSFG$j-@~w9G{$vJS14O^e6cwB%3EA&no!`|$1f^g4cw4%j=y z(6#nQA?`FN`}-;K77ZCB-9$i}EpEgP)Ey!@uQK)XDSVEr>56zR{Q7LuIB$G^EOD4Y zA^13nw*eWVtHtiYL3nqjBVS)Ws6S{FV)NmX2?~Y=?_LvAVSXL|Vgd!8Nx|*sGR`FY zLvf_qusV&{drIxU*=+T}ZNM0`;Ig~-jC~GC(GeooXd&sBg&=c+YQO{X?9vI!w0EbD z?x>2!%@bz$jT~bE*IQ%MO4K-wD+==4Gez}l$>K+(!qKx z8IR@DLdie(?!F#D;Y14=PsAoQCy~{W=0iRD>*NYaYTZ0YwM0WX*@pF&_!QS~#}u9Q z#Cs(v_2c5Wgv0(Ic`tq&fWfGlqTs__2(cU!r>AYUj?j`&BVur3E7eR4J>Do7(xV}n z^}qkimTs6z2?2IDF}PNMbfS6RE z*UcNj!{`HzyOC22poZ9SPc$NoEItDiCm@{UgC>3pThL~+<0ck@ct^7*(872&qxqrL z#dkKJJpuXi0mNs#XASjM(?D-ODGN*^RWw~63IYP?ZE03!UbgPM)ch3a0T=gUQ3=++ z_V5~I8J2auO4u3VlSk_$MDvk{^J>w-uvvfOb8>DWoVNW_h)8;A$wf1svSq|(r@&II z(1`12z|FE%h*ImN@<(DIqDD~rM8$OqRTq@p=Fnic*N@|R^aBN*ing?URDnp^P1+1M zSw{ql=m8x}X_m%ls7uyc!b5&Xa*h_{z4uSE5~gbuK~1>0Tz)gXn?CYH&`2J`54y&t zx?CWabt_IjTzjVv8igIO1pT0<;jaAaT?@WU@85ltEn*)kzn}U7`@8mn-cS$s;(f#4 zWWc!e{r(8me-PY2XQm}a!V8O3Hc#}W!r9^)53Y&hln=V0-298q;YWoJUbE#nNQ&wC z&cCNPjdMaDn`=j6q|obJ=bNPOij`*DJX?@UsePWOtnf3I6@Dai2ci*}U?w012CaX! z2VYK1a?Zlxq0lL3SVV@dkt)4OSA-ye z>rAWWtv6mPCjf+~qz1`Z25k}S@ck_&w7!uF!?D&4NYuAnz^w^A9s*w0F^~$NG%P|< zEkp}KhU)ex?w3suxS3%y7WSe#4zTRjVW8t3OJUXmDcm8Iew?zyrl9zDeBtled zaYXQA-|60JYx`P_@}4$k6n4eA*UQ6rgLoZF!A$KV_8i%J$-oszgoss|QVr`G^S7AM z2NmZVNSQr4UF(=g$}nXsy)@V9_P9WwxHG#z!>jvJT!D~jsA-_ro@x}F+Jj6eNdsbp zO>PJtbNgU8eDVx>E`h*&3|@Zfnba^0J{X5r0h<-dIRb+7Ph#H&NIcg65n@Wj%aML4 zX3G`UmI5|5&*P24rm|Z(mJX}#AfVcrOTwh*JIl#RJC)ENaO}{txP{_i!>IQ&`@q#946nqmY&aKk!%r1inh!YFK zn*s}=r`T+8OZSpps8Ql=Lr7T3U9VsXTqiBc#R&ZB2iwv6UJc2L%i=E$w) zF4XF7;G{5nU?kI5T@tA(#u)XYpNu3cr=4}0sZlChmqdg_*X;>`OiYfJPNev0k6zq1 zhFBl>dhaJbD)#VGF8hg|Ze?d2R^4t%$&%3S{<*7?a<#QBzp;0r$8^gsXOJi>FOi1@ zu0T^ib@ePNc^v)6WR#;G2{us+5~@S6FU$eU8Nypb?@#n0k>?OfMsiVCj9K7s(q@1u zwjic*<(;M->OCcDF5=E2_Z2iVcCDNl>vZp&L~nIg96*e4#@gGGZr)HzVS z57~tUdQFGAL2A}`2#2IJY%=yo#Lr&aL&ru@I4C=+d`*J-S$@M>eeO)~f7>9Z`cWmD zmH~IrRSOS>fNcguU}Fo9ExyBe12!xCnLYLW78vmBWkbMqOE>^sDVmvX(nS9F=>yRN zgR?dVivJBiEKKIk1JXkax=pIbNt-Z1FV&*RA*wdA0K(wN5$?{7jJO^<*2IDoK0Sc5 z;IL)u^T*Vv+?H_msIj+7>*XJI;q4k``g!Kt=HZj1j?vu7=f z@POaKZq38#^oA4l;}D`{;Qd7_Z$REVeJtw1x7LQZ@416j%588hv`E$no3Yb_apxlg zFf5*1HiuAw0H|D|-Y1OX-zy;oG-%8RT}2jX0urYP#2#VqyeXkbuVB2R;--WmGU?5| z{|F5lbCy$7hrQ*~OKaD&Z}mS9RNr1{pp@U0i7^P+DQ7yc182*+tNI`s(3bGGC&AFp>?W6n zv7_;CkcOfC0YJcin5GEApfm&za+8LMKvT5Uc&Pbr07Tdz04uBnjA$5bq#(_w0UKM5 z3z`Z+^Z5SXe$}WbI4GaHl4=+w)Nx=dlXlA!1Pz(E50CX2hPhGAQg0N!)6O5n)#(jS zv9eQW(BA~T(bjS_fbsd84g|pIi2L+ZDgEiZlv*HDnGZF-k+p^q;T0M%xEfApmN=<%f}Ct|W%pxEyPwSx_#X0I(NxjT5#H`Mi1g0 zVSTF83e^F&?}Mi#nm>`#{EsU1+y2wP&bgR>O#T-+D!WCqVAq_=a#Iq0-52oKy{8Y! z)m&1G^c#UyO|#ZAfu7CS>&7X@zeu(Q4$W2bzEc8i(Xp2xAIvQ2$uSbAQWBQ~$_z!g z6sh|d8;l%=*$o&>BC6Ji3F4nG$92Aadn+Jk8$86YgzI%T2=-I;?LRCbR#8VhBni@lhK+E7Ha}n{U?<0zMVsj4J zLzp&=3BrEE?ISNR>st#@Aqy=+O~b6w^jMn8;o#s9wRRO1iNDEdU$!MGokp6so(JW` zEI^uUXuGlS3Yn7KqWVn#4ihA}4Gq8@TI8ct#l(+K<56X>E>^`-^)6O+NQXrDwE~~< zl3-u~XQhFibzJ#veZG>&68i@Cn0Hq1{KVg#G%LPxc0uphX><@9!lel6Ed7<=z6f(X z|198lTmqG?b1x-z#C|`8H|aXmVY&{j#64KUpw~ySHY6#k?;Wk5`eUru&T$OvkuR8LPUZC|LbQIZO)kde-|sV5KOa!TmZJ;{E7gYlOGFdlWLmNv6A1$z_;kX@%H;mU<9zHU4K_zSy52S@?e z)Kl-QU>(6#04CCPZmM?wMS5__ZTzMX6jyK;DH+7jvd z0}v$Z@wC#N=~HW{4NX$u%8s;6*V~N#fL%Wl)8htVYSQ4u9N7Y@AgT4ze2!DKY(cD6nx8*{8YZ|H#)eho{&9cu=3)_x~a(4!kA*gP4A5A1> zLTAxea_(6GBnWx+v5f0xV-Y5Y62tk+0LyTJirJs@Nkf>Ph1rhyW{xjrLq{~a^C$h* zx2cK$c_PR-G0HGZ+f=& zb`X(_Kkc$lqhli1jAgv=r4&sbVrBHm%7T_qs7&>zm@CqLg<1nkPw_%Ge%w!>%!>Ed@ zM^a^ibwV3N$wqAg=tAB~`MOT$fCQ8#o2%AFwT)OA=2hO*^hX`+QNx<7vWFk(;-vA* ziE%|;c2)=A;|~ZQ<0?3bA3T=mOJ-oFBAhK!&fVkj^ldf6N|699yxw zb-s2+T<6k5PG+lOwqijYNt%lPhy>VHKPH!2tWxSHIKutl|LJ&h9tsMo75mZOa-tbZGRPQbr;-c$7OLv~9GamlXC87l06Vk#GUPQ+N`R->PM(d)@s+IChSk{)bn1hs|LpuO}x%lz~H1fR2HBWA94GrDzyMBW{3-9nBu@GCe*)&I3N(wO4 z52yeRe=?Q076)n?_zyEhmuhE1q+U!ptiE0YdU%*xq4ATrEzi~*(M3EOLa0%M~lYl;>vNVh+g|7w7+)dcv%aLIhf>x0b_E0)F^4$!S(!=(rAiHG$vZxB5M!S2 zT?p@*n}#*lTC$o$7%+xt!O>r38=Yx`HMA zxMwc7X4>CR722#y%T)54XDma1 zmX*_KyjrZoS(`Nv5cp0o?HX^R5$ovO>wbY*@W9N2qAw_I2a4V3 zJYmR)4eqas0;-+!hHN`xUpF)r5@qHO_?WQiX46r4RTn(_NQ?^}X*Ha~V zw3V&tx!dv;3{3C@?Z~RxpX&|1r43sFLxy}HW(3K*C#gFkxvMgke}bHW>X^Qm4YL$G z5&NgX&Z%Xc%#bvF)aG5{S}mHMjH8bA^Bi)gP2(^c(H&7C-(QgLZZ|{8(@QM{phqXb za85Em98|iqP;wU49g`ylyA(6zMou`St8#PYGcYt$TvjO>upQ&%!LFXaM8hF?NeSZ1 zi@kZJxV*^dx!meKaH=1-7-mLYPsvYqVl7pn{}w?DxHamUhTu;qdC5}yrD z^`$Gx=U8S}#{W<&mod6-^>B?ULQ+rFXtSua!YEiW0 z*l2$t9X6cEZbp5AGIg!i(VeX=ALjHv9l-BPdu{lHtd_s5B(;#kht0W9lOC6ywms`N zklUTgs(ZwWJvlNasukn+k!)*X>GgUaY~CXJ!y;PyTEy826Ic(=%+}FfurKq)4~j*- zn&G`a@n}g+Uvuba?U%Dd2E0!uhsLj}@I~DsdD)c;IcLYj5Hf(W+<$0Z5ju%T=RUSzG!8FtET>~ zW2x@j{ik?*sBb6))9U2FHoea1_0th13WA_#wH*x;Ww9N|}ZpEsk zqb?aC-8O6eafrFCHh8OVNvXORZ~Sx*_Ey02_r)^g6vW+fY6@VcF>HJL@!(#9|6nt;8nJBk&FyEd(D zk-_XD?>*b0$#9SsE2qNS&9%xe4w{mknln?iP!WN{r@0+D`zhh~5$JTu6N~$Fvza6* zfHUAie?1o$p>B&Ba&s)R%&Kpl=3|bo6st5H*9v8FI2RUh7$oNK+9q>`)149Oov2D3nR$OL>POC#lNOu6v<0-jutTLY zLH>kfjfptEEiG+K4*E}HApsxSw6aahEaW*>oY`YNG&Tl>F(#*tPIShLWn~NPD?%E$ z3BlUx#okrHHycP>CVi+$oz>Q9J>NhtuM`yQ98h-A);glP7A@7o={NbLoU2;-%*M6O zHNK1f1@#(6IfJMXcd(tAw3d%M+hLrE4IM{FAmJ-!fGuDrN_ufxTZyi<5?onwE5qKF zwv{MBuNc1OU#;CgvBp)3kubNokt1$WN?+PLbjDGl5OO>~Gw_HCe3pWLb)opjuHJ%% z+Iu0lES~W<3|6<(#56G>tl0;O%s{4@7C+%yl4XcZO(K{81%Cp*cs!?`5CWgRTTQxI3MA*8xk_Vm zVTztpZZc-JOhv1&(?t_ex*HbuY6IqDnsy1@Tx=iA>8)@gktdgEf$PVSc}ixH^CN4{ ziMQ+s&-u+H`Hm{>U&>Vf725v23E|r6mS72k+N@bcTnyaSlSiE^c96IeV662s6ioK^ zRF73dgSJ!}YEo_5(UJ`w5g#>?{bI);y)Acu^k>D8QCRn;isQ&<6rnd}Kf|_aPku5u z*$O{#_htRjFC~AFot<(8>wUU}s89!pB*bEb?3~v}(KI_9CsBNF-6zgJcpL|yoh9|I zxqsExno97_z@8&%`#>XM4&;6S`=d7Z5WojGAc=nj zmDNcGBH(%dSSRk!%Egcxd=^xSvHa7ZvWJtsCTzu9S;|iTxvq$l41C*j_Oa-86!V4r zGoO?|kUkiJ@WaG1slz6lCI1YY2hGhAH&7y_m2vOL?L4kNSo4L$U74J|ah|7UbfMq@ zw2dm%=6GCVF#Sleg=l#C5mSQ`s#e%Uekq*_QK!89 zCcacJzrEDZUDyDJuMRG5oQ=Uk1ddDud>|nC?g3c3WnmG75`r5+2+Cf|PL%E&7Ix+> z?rtbm&2%M+n92VRv`m*kFsE9&FSNscfQ?1+<0hC+F}Ij&;yW{*aijwEsv4`r9ZyR0 zeyV*(-&s!OXRjSs%q)C~y!FPcj}KSWG3(-)JFl}@rnBxsIu}7{^Ruo2M=UV`_j0x3 z2IRPX;s{4d>opja(wU&QVzIfi+NH>;8}VB`4ezl`X|0qA ziboY?2l3X-S3q98TS)~eAMRSx?eg!NW0rx#OjF`Kon$?nr04o>AI#zJK8ojZ7!ls` z@jsj#A7=7eq=ceos0TSKKFU)TR+&)m^(EK=C=QVVSeySFAEB_U4|IzrY$O(oL-EcP z!eQD@HMVQOn3}wgU7;6nJCSc|9o{=GFT+kO&1`JREY-61BuB&k{YAvWh3vCC;py|C z-fPjx^Dl=7vcqeS4_KNfiPVY`gHz;$_PzkR&3*(I>uU3kH!6EqmRwlrOvsItVlRwl zYhiYgFveyoFBA%KeQ>9B+<0^_exUz<0M0-$zhfL3D<~w{@_%IsrPDM* zL`gj^(6U@a`YpUfq(5G}>w5ao$KRrEtcmhs!14A=Edy3kuubGtLenU@uX4s?^+r%3 zhjf4ne$Ce{YBSJO9Y>+cF^M&-b+adRp>4Z$Gm5e8)Nw59IB#|Etup>4d|G%M`GRZ$ z+%=*n0Qebxt;q(9P~DK>=l7)GP(hoay0ZU}5-F_M20Y`hH|DLI8soK3Rrp`8pT@JF zuyDp-!p7A-yzZ(2-uK!8u6{g_z-}belvO6&khBTWDl~UZ$yX$Fv2z`hF{r|~N+ASk zpz!;{5luy)xu`(Edi%Z1QHr_Wuz#=ZQa*|3sLIGzl`SnFs8D6}tI8?l`7dS+lZfD( zI&Nk6s-~h9gQ8@CN{T9;2%` zA_YC6h}j_+Pdw0Gl|aV`WawT@^jXG`06>)O=tnvRrDI%v4&jepH^8-*3^2V&hF`*# zjS1eoYYPAU6@8q1%os#tOu5)6g38KN1wtIB7?AT&r+l4y7GiiKrao_@ zOpnJnjBRyN$ibJ(EOq(|$wM0)S>5$TWhU+b5b$aMmxb<`V3C)N_LM`vW!rU^q>ECE zb?S2{6W*NiaF5v8s6PcT#w)K#@XqH?W8Lb-KD03mXP?-^Z@qE~Pdc5DjHO?`anzA}=6u8%BfkP|H6u>VJM|4I6DvJgRSRd;Qhvp=tv}2>mIy@m|E|&Ks zuCc~FPaFF%eFlEv8NkpoZ!j?<1%Vg0HE?|Shxe(VwjP~Hi!hj+w89Zl!7$-GqxoN2u7Bb^O!S&gNCKu}>6 zQ3QO>t0KUUl+ z7PmThRn2jThl=K~ZiY(1uNM=a09Y5gG3l`K*8pq+;wB+fF4l97@$|jOuZ4FT3o^rD z`}X=}#@`;mvuVv3qgPDfvaO48OhYs10eJ1xr|{+R*<>|)m5osc{ zvAovi6hrBud*4ZX>c8g>NA#nS%`XPjasY}9f2>iha>`wlPWke(UMN~B;|0!tO`N(q zyq)8dNWD}Lsi+jeKx_x0u{*b z#2kR(h;{<_$x1K1K+vifJlAF5uWA7f<1g19*N|1NQ@ zYt-8YOm(s{Wr09h1YJgt&;?$;t==hn?A7}$abE59CNFg=u(`pF#uEuKca5kIz45P5 z*tsy2DFY?SH%Zlmly99>S)D%1#+tk5(&T2%Kb^&1=5b^$%t=ZCYo`-z-q6S9b$x6;W`Oh0SdDe7n&a>z7Y*>;`^WhBSH|X%zyxFn zQ0J_GSYs=BBvdYBP(r*{G&;GF>8QKQQRfx2|)x~h?!R_WhSx+K00sOM0T;vyN7INP%9fah3lwgsXldWE1}1b*8vhh}w|r`L{J-X@ zeO!EYvo-(k-2E_a{Mvr}(>D*|`}ZCJDP;(xdsRvm3M@G{Q%CCk1i0XgRoMBswRrl4 z8?b3@eVpEO^%U;heHdT8b8ON~i8lUCj@v2#%QyUYQ8^$VIaVpvvNmJt260hg<-)4I zWjLZ6W@ps5s#{weC{z3~%01(|IGPp7P_C*#rjGKK#*{m1yssjsvyu)qS-#R>MYdPv zBzbK{UgP&Hoyv48?>nZ=nBPTm8Z)*kz6jAO#$Hs?3O@fAwO2J)Rq|Iq%ID3w4#xq4uhG^8pVJ^k1AOld=mc=dBkXIS^nm%2jQz4CW9h)c}tGakjVh_O2gY7sh zd$~%HU>AYhFHlw25vGI!F;Rb2KcVZPiS^5q{-088r=t1p001BWNkls7tg{^U4TBL2 zTe1X+&$_}FYBK~<_{#XIF7P%h+IZ%0M3*=0W@1o9`!dB^HD3zIMd6{oUD<+rp}H;^ zR!}|$>MCQ`7y0+g>Pll7qvs+V%3S>_dhxPNHg&f#A!A!`GR@GgQ48U+in*h8i)OoA`h3eXSWiN*ad6`X(M64o@Q3^`OcGU=huiNtjQ{+cEl47h0Z%%!j|)#ff}6iT1|`jB!&S4!T=Z#C$t*g|EoWq!uU>P0}_1+0!S0tJX0#%B#Y7XnvE$X{TKQiiy z!KWx2QPgKh4=GcyEG;VyLMZAl8@tzDgkcS}73AeeBkjtE+7Q>=cxno98U17BxhxA@ zH9tVHbK2ysuSGV5|8C-Z#f(Ej*BOAH0kE#j!z}WQ${^%fhuUsp@XHvhs7#sX$RBYD zd1eZ5seekxIALRoT^CMAE)a?+5tSU1KD@DHGvO>kL4D8ok~Wl=(~C_kqa_ zOd;tF^q>9RXZKweVcPsnxptG@6wsT(U;gucyzTvW;^9Ze(Kx^QX;X0L1Hd>yf+kfE zn|a~adDfuGZrZXwLOfX&;RV~KLiu>ka70gv!EYgD_{7$nydWsa^FMF;SxyDy*&+HBLYJW{5&y|NYeh|LVh zdqsg}RU08k!a~{5J97YrBiaDqXRA642}c=GntDSPVwfv*ojU?v8mIslrwGJ=Jf^a{ z{$Y;#r4-j)IfX%F9_E4lbNIy@eu&)%5@WolnSr+7wUJlmFG>3Pd(tocOOn2;=jtcg z!LWT<=i=Y)ID&V70i1JEA6ITq%%g#6CLIM*5;{AXMJBP67*Zl0^Qq#fpLbHa zk%yU%e@_FF^PEguzU%ZC5?0pE3x*>)uez0mg|aBMs$NKWha#6Mx#f!8%B3_UL8Tw5 z42q(x(6y?7CuR?l$Ky=TSOYEf5N|)%CWYzD>&j2=WB~qHrE^ji02M)17AE!@540q% z(%G=QVef_Js%(BLWV7;&f+8rBpCZSuXl}|nkHNJQ2VmFrv<7GEc9I}XnUUm-$QtYG8R?5$*L^5GXa2V<>JvsM6_imEQXx# zP*hix(cyJMiZ&FXhrSoi3oBG*{Oh~}gSY9`DbQ&Wln5rEd^_JGQzEfMQ35HS5~ub82NRBpXG#wwnxq!t02= zFWezmqlpl6`dx&*$g1*Xo>T}2ln8BQ#8*<@;cqtoDN1qqIdKla9rrwfzx}s^+5oF8 zO`r61>Ru@wy+fPvY!jeTAf-0~>c{Z(HDx^(TLvmSH$Y`h0V$<76(&8vI2lOvegTyX zfZhOq_=!E*phv)tv-)}oz{~=FVUVO-j6#tfKCd78UgkmP1SZf|nNuJYsMk-4Gg8F& ztnHT!N3=D7@}hy1lTb7UWK(M++N!81R_=K88tgYvN8*&bUQ&nS5jroR&;ewFlFp*d z8de&ag73UduU+1Epnj2Fv~9TiZ0@9!KtRx`l{iV;OK0lyHsSLGdt%Ex+j((5W4WRc}P>d^$Z%r z)7FpGJGtvBY*ZcY0juq36EY5RJnT~%9NDMTZAEgx+fm|1$f*nVqr!6&l7%YS34NFN zmX#^gYs~oyJpoXtC#(&qa4a|tW1ZWOP2qM&E?E@eA8OmR8yIU5bddpg6@ZhAjH>7H z!e=lJRRRd)Cq#A>QW}!^Ld+!7dc0oH>n?C!JRud@z;6Dt8Gs#;(f>F9;}LxE)*~kM z-Z$xYo$e>Qh7bF=Uw&+5P+@qSmU8Wz{Q@fKLn-Ts^zngD@5TJMIty^pran$PPQjiB zzz=pPbIfu$Qdp4eZ*Gk2wcKy`0xZGvsta(C<;&XR{qo=ZhvYrmj{;t~>v}r9pxFfj zZrI&5_UR0MK!I8aDN#=WvN9nDLiU@Bf&#`Mr$DXo%KYU*gIQ-!Q<*_7!cX!_%;7d6 zJs2bJMSXHwRynz{PUyaKh`7v^ICE8La&O+r|CHe5pH-AjNo-oaDvFj*e3d$@RIPJl zU0Jrs5r}c3ilCJPV9xyaqLUm$+rI+sUgvR%BH{KJPgQt#fqrCKugKH06IjF;-b4gu zf{5IKIG08`05^X9K(+>-^tAytk$<8Rqi~gJKkRJD?-Gg>LKd0ZOn?HAAW3>idfE}_ z_4;`5pu$)0I2<*eOV94RCm?|AOa$I{6%%tsm2=|Qq%r@(^Xi>~lH)}&KXNGZ$V>5N zxQ5o~q|#)S`byz#^?U3VLi;LY1kDw2S^CqCHDq`z9YCN|#z~Y5^<5_CURg2b82;pA zcYh_0MA1Fr1bTGk_3ih72n72Ivsk_zH%F8ox1=3~>Z@$*WsXm+#}}$tqzEKHepbI#Z5i z!UOn%>`eywMDW^{_)ykosQt3vZV)kGI#WbYNO8_daSp&2ZaEB?o%zb`=-0-W0B_(f z9mzaji(-&@0@qaFhcb;SD5%72Ff{mB-2Um-Ls8?|dQuPikhQ+k4rk>PROQg~CKR4}2X0N65=pU)f}0)2$& z8@eBAli!!061egV8OvOG_(rklKF34qCr?ib%`SN?q`wd-<2eYFA5T&JLW9SRmJ)Lu zFlhF>GIb^Hp|o}gpQ`K9K`t|>T&An;@j$`0CuQ5?71n4Kk69fgHw>0RX#Yi_V-j$z zxZG9kL1^UwDBwEYaftCe z$Ho$>M3iE~8ilETHRE1>xG02RWW1gWyeP$N}T+Fr_N_HfNL>Ur7F~atK1#tez<9TY@*&1s2v_;>nCKeiVTXIlYop$Ja}8KKI^MAb5ukFjtje9 z=1f?;dF7BDv$QMHJ0ac<;uhj-{@wB zSOMS=B#4l1&K#a%S3(I%p#`{@Qa>+1o{a%Jifx`hyUo$O_6cjZ9kj?V59%U z?e0%Z=S9wz#L=MPIapEpadf$|LhkaJPwK=65wfglY-{1Q;Eyl%*_vPQ29TwPpHLe2xq)P65=GK((C zNXE5k8ZL6UY+oVzx-tcGoij=m2809GQL;=ZDkE7jfTNVxB4{+(F;Phb$PG$I(8GeZ;7%n7{v>yewixmsD z%j*|8ibc@a0Z_n;K$y0O7Nz%t9$P^8Y$eNFMaHc_G3NRX6$u&?aouwm#Qh>qTehVb zPB{ZZgw1Q?X6V8FsWGzlFB22H>5q>~;>K(An9-jD5YVE0P~BI&qB(;IF--bbv>O@ zg3iPs#d>Z5E9gT{#RIOWQP^q{~?IxS@& zvnQV12foWTJ;$toiAfd?Ay1j?abqlvW5{tS8zT?&$}%6);gL?K>`yvg66YeC@i7%; zu7cxWh;UsjZHjb&XNf^#dxq$~f zR0&nrCBsTQf&w9!MFPhu7mWg-l-!NY>*L7&;K3AtJ)DPc#0&SCQ;I5ZjkRCsWQjUb zINb1*V$Ml|-TSLE0E0fTagF6zt2rs>tjICC-$FSRIfkLRDl$~O&0HDba7g~;w9hGG zZY0Hcq+$yhL8(ZUKE>%3;ZaN$at2#vI0C+0dg*%jd}zUrKg74LKd#_J-@FZ5H>7KF zV+a{%+fIS?Eu1sKgi;sEM!4+oF~_bchaCFcI0An%TF)65F(&t$@`lNcGcfNGk1`0g z>$Q*YJaIhTSg3?vT<^(pY@R%a1Ae_64>R5`ass?Dglw6>-`0`%LVS`a$HyXnPHYKa zIHI!vTpm)6T#zJzIFZ4w%kma$sSsp&eltKTStRF~%k?TZsX=WeJT6{O3L_h&V=4vM zjc@B#SBZy)-3Lt1eMX231V)*1($Nloc|_&T$UbOfRq^-KV=X~;lcg$QRCXM z3f@GJ>6j};p7IYZsI%o?o1BGP(r?HqfrT$c-$Mq3ebt ziesP-fh#YBgr3w)sLJ9Lwp`UFDt|FLZ1Mte= zRSHj-Qy7%L4&;?Lzn5#D-Q;r^6g032Wqrx((r|=uk>&W!Ad_-ICH@9H!m8L4fE@?3 zKT=+V!Lu%&Ga$#I@-&hP)s2S@!OQBn?-}R1r2r@#P8--Iq12qiVd*LiOi=M7uc*B) zOdpaSk|1SSlAw^Yd2nR{4uKT%kTS{P#;^Nx_c$V46hLRCLJF!lJYH(QLp$F#6PIm7CCDxrd*>X8knt!H|BN2W9|s>h*H89Zj?_}o zNxaytd}PYTYsPMAVXsq4ZgBd0CU4TX@UeL~ig9p}c03b6I>=*SbBU~OXzVh@ zSJie-ar58EXejhq?$hylz|e*IlXU0bb91{$n*l>Io4d#4pDQl@y|g|u*#pEpi~6p- zP}&3nlz#U{N-4CLC+JIMXZD}H~jJ*R|^FF+GH1{I)3Xihz6P|(WpIC*HeFJwQ7 zmu1Gww2~5m6oJx=7O=EY#wma<;|w5EdUg&R4xFDubHnHqau}r(5E{1x*9SLp6y^XsQ}o0<$XB5%-Kcd&xfb; z1=P;~5H451W4VA>B%N{$OdvPB?wXu1PlNi`i2w0{N#SC@z2@1(NL+bYmE%f=Qozvg zYh{y}jg4^lNZi@^4?m(SsYIX4&->+V62HO5#LI>3t7AmbjwJy%V4mVufFi3_RFtR5 zK?_~p;ChM{zVQYtXVA`=-dxDhCD3=!!DGV9m0K=PNv?uJmoN&%KpV|JTv+Lo@ z@y_`4Wy2B0d68WL=MzCkX_!2`nSaQYS((9*5s`H2$Tn_xDFu0kp3)R59YawH!Wcwj zq@+Lf{V|Y^fmD}GDK!oQ6QGnlW97yRU+Hohc!r28Vy2iSI6cD0NB;ew~{zE5ASmaK|GtcqW2pJm*e~!~S-{&*u#Ocj`LQ(f1T4e@ zjIMI(-I$br&6Nr8v4@LnlQ$snFgP5ifM)~v8!Q6kGHG1VFeRu2J#wrSm|stZSYcn6 z=*iFCuBjW)kt}fTNebtms<3&j!lv~Ko7O69UIz?%z@CG^?)@otA5z$}pK!wJGI86Co+%QS_Pk|Y`pLlxo4mZzH%HnWgH-i(^bgoN*U#R?XKI1l;EOw8@Z<- zte*m&e5S&w$0=-Hr?6?Y-iW+$t-|3s;DLvLJ%$XD3?1z_@0LfCy?P0a#mFTow)_L==21e9e?z&X&ta?06cgQ z*n1$w?t{SY1HktmApGlh$2f3UAtAeXplOm=?M{GuGAp15mH6U~H>5Y^pjok;!@-Jj z;I^*_YB>PI5ls{DVyVP(h)ewC0L%|Q@q9u#@_?9p)=kL!|FAZVd+3*De{5y%?3~z5P$)^=y1ljh_<}_=&gwq5r z1ky&|%B0|jEXvCU=ICuNi|!mxNQ1%J_3nq}p91sA?&tWO^C>fa#3n*Ita5I6QxYF8 zGeQQg!$La%MKmzr$xWGJ;$Nf^x3p4u8regmoZ&ZyuHQ@X#M2cnJu|_Ma}pf8t~jxI z>^k7g6a4#!$G}&l+cT-`R69ajHUK-$0d}63%g2z;z+!I-oY-poD`$>w&pQ^Cq>;yZ`>EVP8 z#q>C4Er2cl{keJI8$TH13%95Em)ld^w;xc6rU{hU5KW}tzRGZg9Gj()z#m>6(#{04 zH0IiWC}2-Jd_v|Ys>WM_oKpPauFj#Fqd{z zf$!$NH!e{(r@$?7?KLjoY`osY0!Y(>*(d|nv1eyRpO!8;dU5N?E_3?JF>^%|5^CpU zF=rrpEF6DP(ev)bJbL4@*8~rF3PB2woX5Z%=lWy!A?iv4<|#8_FiA8;qD^#6_ox2U*BFD3-OLqj05N!5*2$_NU^E(}D@VM+;L(JiG~sb76Tf|p(1$ELNt z#$%Z7>339IdNz*=Lis>|speIAw*PM(ht2;CNfS`L6x zxXKrJfgFUg3rsT42DrXo3=b#Ne5}m4d!GU) zdx7l4*0BBB3)D`7Vgw6LxHRm-VaR#dtgcK|=F*!&DZ63Wc2%bIqQ}PZlw&d1Js#q7 z!Hv78yD}$Y{L*z(oMQhy?(W-$Rov z^5KrYc8)z_CGtN)&(Jzki z(J#&8;kg8g5`7dml-?VVD2KNjI-55=x0D$IOCtVV=tRFjMkvlFhS|SWh?MEUzx|B{qq?64=WHQ zK$7tYDV57ObN#^Oh#Ppv0*rXFtZp+iI-wvcrvn2}Hv@20p^L{DG|1Qp7~eo0UN2Md z*+X=)e`$a@Iw6BevJFv&tncc*VJ(!JoGfs=3HC#W5x3siD;kEpxa1|EF0VpzJ4o7b2C7%2~Q)W_@B&|XAxfueWH?keOhVYK(^>N;* z^$q|0I7Pn~XAD+PC3yK237+%B1i$$=^Z57gkC7-cui#do6i`W)?XY9y)2Nhk_dJ>f z_{ae(Wbb>?GMQcasisMqrg-{xg*RO@z}o40hVICG8ud;R3+J4a;MZR|jnCaOkN5uV zJRUwmQ1&1&GVl1XjuE^mcldj{C7`!?U=?CI>GUhZBcw9Jzj`XgTXyxMU%Aeq4o&(4 z-~|`=arOBL-usC;eE!z4HvCAkj1iOzWW1pW*~s|8CrHS#1njl2P2^A&a7I&T*NE0D z;1aJ-AmbUkH!3u>2WR`j`3mJ&%7KGb){3madW>-n^{DwFWR&bNV$mskYh3* z-^@D+5!c~t`mpE!E2VO4SJhzEpBX;{O;w&2&T-*}J>bxAPm{}8NO1k}o6po2Qfa%& zz$rf4A;C}Yv3Yh>U`Q2ZEJ7KeoZ*+e!VFT#3n#`v9yx{bB0)G;pP@v^?%NAFl$Br4 zTjr8RmT(n-U&jJ~#7F-?CQGc0C#$TEcGnTycK2Z%I!rk8q$zAWX$ns~XEmOF-nz;*Hm&X9JugxC!@r-y z$8H{LTZcsOU|6U*PXw1i7%xZ%!3;eErHx%`4IK!CFS0 z%Uy@D|4@q4w+yiDlqpaT_S?Wzg;k*^JT0@h%eK3MlktN768GC6@Qtl*j2Ff*~W$6r@K4rl?Es4Ry&H zvtLzi47qy5t7Z<2E$8s$<2B{%X?bay5hmUTP>gkaoVYQPhKv>0%qUWG(y&TK@f1^0 zc{|q>P~H{5Gb~AhY*0ydUq+5OAt%VIJdq z$~J|c8%|@@pjvv4%%}L%&+NsY^=?Ay001BWNklTvyJ4CqYmPc^YEr;;o zf7*vPT)hd;-LVn93NoLurH9|SPT^Po>IlAmCqX3%QqpfOrIbJ>6OeO|C4X3k%B62T z0_HbYrdBCv2Qj4-7oG;Z^Z8R)x4POv924;WzOWbX`{aX|n+IT=IzZuj_s!#ud*|@C z|8@X>^TmhowjbMq(~h62Z1WXY3~<`<3cocwhr{!LeRHdRkV55jfg=nXJ9mC$CY_T- zmgB#9Mwe%%LlB?;(dkA{@q5M|nZmLWC`Te2u>Mc63C%gs0c>3##QKKMJ6s9ziX->3k-u5Fb!ezr1i zE3^2_$eK^*U^`wTfUuf~E)AgEJxDomgR#HKQ&=)uv5+f+Os>e>(91Jqo<|?!n)4Oj z{`@%OfAH`aZ~B8f@qth81yO=T^`UxwB>gEM89?<0NP2xh_3*FXIgHo5_XqgOcMe67 zVAm6;@XqJ;p(sU~&ggN4;{r~s@zJ2#RlzNKdH2FO@jBl zWEGxthCXiqq(7BHws)gKEm*n9WS`xW!tOxxojv0qO;cQYCgI&bK8P~@bMq{Mo7PVx($B4oP7i`$5TMO13-9&OD%JTWu3W;R#~cSpgsbbHnsOv zXppR^kgTjd%J6VXiCG3KWS)@-bi=QQ_>GTG*3Bj}`(4K9o7z>ahJc+Jy#`j8m1Yrd&=vn{_Eqn*nZ@}Ud44W)2x0kQ_f^!f9{0nRx&F2#M% zo;i&E`hLu(J@opT7D<0fe-2jZPxGe|O_P7U?Jz#{*}YNi5Bk8{pEre5jx{F>niCkE z4Dq3|vGM?n*geia&S^K-^wOhw%#R)Tbo%BLZ+-4m>7$MuK5*lMxcNJWofD)O4U+ye zdWJ{zwLa#?J^Z(i-iHVF%|*5UxX1MH=4bbTbgUgCFh>#D_&oXMHq5hmTmfZtkg~;X zkJHgi?uztt6vcL3Pn!W;Sajc?Je4yPTG?erU)M2caV0B_nKV+~7?e*eew};O=D(0J zb6*^eewVprfjknv1pq7SdqvqGodF{pK71I54jsZn4?Tpvd-r1h{{1*~=n#$^Ig;zo zy$mQ|=oRme85OdYhKho~A>xjQm|Ht` z$6u87$H(M`LH3a;_>y;A`{d25aEcei0r14vS}-RwX!ZXiHvLkiPTzV(v1=kWCdAv_X0`HrhezfUBz+y(s{RyI&(I_BY2zG$ULPO)^gev&?nk2fS-UF1yIwSf zwNvJFMM{mqW8;$gg@dQZ$uGm|S=mh;O;T)_9^+SD6u$xTo8Nx~|MznbA?fvzBm*Qp zX7Kyd=5q?kU>eFeOsYS?p}8Ke|Ev3>`T&5d&KuyxI}(sNSx`R}kSQFQ-Upar_ej7a z196Z1>q;^ZyH^B}831~!wm?*<3@W8hOD zXY^PUgVARd1BVH`Mc z0Q>gs!|vU?asU1IWAz|Q!|_N`4wOff+)hXf#F>gmqHc`F8Ol2hJ}DLNj199W%_PBF zwlMgFJXlHIj5*-ZmuG`Ae$b5&kjInb!FWjdOzi7$?o={<;o$X!j9%n^_(SpPvbm6D zJp=187y+OiyRN6Tm@s$_pcyEiC(d~OQV81x&55SqB0Tp(8t5pOXpGhUF@ELRX>42_ zzuW))H|~Y%*~s4*H)GJW;UAc5#xbzYK);Vq+= z@KlvBd|pit_ok2xjDwU6 zFpmT`d^#=*0056Uwug5-Zvcg{ag4b0!p6)=5;9nxfl-hONT<`s08;eS7{7e&04HsX z-^%vE&pe1!^>wzRKX4f#{n>}=4}fIKI0wcVNCrS}fPcB|Fuwl%IHw2zUj4LbTy{2K z-?`u(nId1WS~__8l{hKFMm72cd)WVd6N0It%F$mcw>o`|?}kiD@k=oCYV2uS7H z^9_BbfO3ii)&R&T(LOlnTN`4U*2$$Mxao+vma-*HVK3#(%2?clD`6rVqv(t!`TKuA zjQtOnud)4b&pf_-`@C@+3TDrBpPd*;fIA1=dETZB&%#(b_>8E;R~EX3oU9z9mEg(1 zMg0_*ZwQ=x&qefUJs#y<%9UpgDwX|qsdU@FS12=33KA#3ymE68a)5$vf+V~sqr9S? zcWte3Hs%3<%L5&E4l-Ng#7;OTAv$C}8nL-oo?{Pd^eDxPF74rrv)#JJ_|F;vns ze4)pRUe9C%`bZ2-lD=6UuzZy0>$lulZ@=xEo;`(WvmZduJoo+>uP|NfkpEQ((!<;#aBG03C;ddDq){fuJ&7q{c| zrX@6=1JfRV#6+>l&~&;hy~ozI}HO<0L`S)8ny^%H+1Gc}C3iZ^v)`vourSG-U&3WA&P4 zKiEkOzT)SM7H9vn3<7w&#OTWyz+ZRBI$`)`UjtI00KSEoNboHmrpFiAfV}Y{qo-d_ zWl0g`U-!f3j97j|9U23P@$IYZq=%%Z9Y59U8GhjUT|1L0&Fj4> zGzNNo+;&%dmIwfjTi3($pPb;&ZW=pVqG@6ue==jXav>G3qXpN%ylN(2UZ5hJgQDbY z<;?E7K3xysT;3QQQ}b)tr;PkLzIap^Pq_K}Dah<52AR{vR05UsblOSvkR&}H zw;X5;5~Z91c6c%eCkJ+bj`4)?6b$6GVcv@6lzYx_mIJZ=l=JWt)}M0y=8?|#Mf|?A zsEXaB%m{dThtnowsJw%~mb8>P?vooheIv7Vti8-I2I%03!Esgjxp8#K`cZ~&&0#Z> ze-eQ4x}7rfOW$@fWauD%Td=Ck)pd&9zO`vm3I)u7%%KX>jv0)?KFA1!D4kQ&ar z3P7s#D_k_orAROasRVcKj@t;x;U}Ilh0lKLVa$^PkT{3P5{(;ur{{&dkT>rdCm4r_ zD8;5VDSqtYHMMcO^TDx>VpUH^{whJDdghU|Oo_Vgl|qvA%qBj)iS4f4^&EiXHuUj= zC-?E^|Dx00Hn_^R1lT~)^1YO4HdhKR3+JAKFq{9by|{->>ud7J1M@)A(?&n(8~v&u z)stCPQV9sDrW+Ad+5^-WcRpDEk0CqM2YCWZJeB_?TNcp99Z6z@v5#JV3W?p2W7nc=s?MaO z2*z9YvJdv0Yb_wkDqJfp?tS0ZK$|r=yEbRnqf8y0o-%lv6s$|rx{Xfc?vpoA=9vf9 zL5n~OTMF~C(D17b!I+^^M_+mt~8x{=2Q!o~1s}r2KGp9ynwX$r9^5@1FyHht2u6aVe=pO)1+cITD z%$!W862P8UpBP8P{3)ffBU_(gO zTh0&@hKV~llo?j%v1U~hD{x8TJ%j6ZEBEZWrH=eH_GR{D{oOa+

rG3FU8i)cOS1P}ySnaQ)>gKLJNA?v5f!jl2-sRDdpw3xOS9DN$oKYESi_o4 zjW>@OpHViSUO~V{I^-&5p0#xhY&mc8axS|NR&Lk5dRFQ2hBEqc`Q+VOoH)%ae=6>z zXgF!t_2~vo5)>P?bWDul@_^V)f|DUHbCml00~%v^(V+6=wGf=SWq^LK=j$aEnj40z zRr1EkKIi26Mg;(#d(i+Y)$f*fZ{@R7OJsaGHqlbYNFZQ6ZY&~Vl zv8>Cqc}%6UPbZI-ZVD%F8el_>O_&zeOec8SxjmiTwE6<@bbm&mj5nmQ%XllRn~ukL z=J^R$Pt`x)|F{i(9JfI`IgXc|so-+Wqiaq#g{=*Fmus@_-p8>3Dkll|c*@S#*&pR)dY}m@6dWGsmK7GKBO}fbKI3w_Gs6H6q#W^Mkhv z(V2c8Sp-VwiDUocDSjBG%(XJFz}mA6%EqY;vNhcLGj%Dk%&W9Jblr2yCS~Vhassl5 zTt5e_QoVG5bY5Re=XGjnY#%up>-%H9TUNQKUjL=$d17VTHOfn+X;#;?X=%_mosckRHb!F^-_KzEV z7|~Or3gdw^jXvB)!l0kvtP^`aMnT$VxbiV55VoIEKiUO=<2Uwj<_UTZ({$_}2UKj% zvK=_S;nQsDLR{Z@NK-uNOoe_kw6Oh@DUrRjeQ2P-JZ4TUVOv9b0Km?zecgAO!UiR_ zS5KxGv-{H}>_dX@w`Akr+Lxv$jfQ zbIyZ-EWams#s&EWI>i~k%;|D|Oo7u-IT{7Eohu3H%8@1-vfvuy#424zITtM`KOv>6dN}N)c4R?o{p-NV``VC{5*HPgWADV-tcDIiG_C`Cw2CLl>{YRZ1<1XhxeE0-ue z?gVYS~msVeN2s_|BO09HjOd0YnO8I}{@A3#9sOVB=IFo$ukSEpft; zBydWfQl($AV&_4nZn_-vlFE47V+N~2?d<3)k^}QGk23Ars#z{2TbIt_1br*xjhsV3 z1iNp62y7+9w#p5F#oN|3V_-7D@%7yg_RHx8D+t&Q;7gbg_;@INyeS)JcHfU+GWjwz zGG*L7=iCv_JOMaiWAnHBz4jUF@%9fL)VzfhS_-W4^OT0U;M6i*p)rP z*qbTlcvxCdia`&!?y1%9N+^O0P90$VszW$%B!wa~4{YOMCJvVAx!fs7At(T;4i1ox zam?xzk9$mW2jG=YTZe!B?g5kS>}7hLlskdag4Ne#vbtAppTf3N>MsFU*tuKbWm0JcO zBY@UtVR&$P@iuMxc;};l?7HrYUnhXng6souG$Ky*ESHht?1}|tOA(MFHRR9=e&;#O z6*~Z2bmkO(Hv77A%v@uBa+}t>sb{R1ONWVblbyux#)%VV=Q@G)C2VpZ;+UNn? z@cYrWA53W7lA7Q_AF10{DK6RC+yMZ9pL^~)y#9Urap1^U8$8k*9u--`W3rMqJ7^5; ztDmtNrybwiAyPfy(zAQ`)Yr#=eS;#bPF8|{!JKeY-{NF#p)tfe8@%CGBRUqSWWnuVRMHF0CsF0Ao=(sW{!I<0&%tl;9fObsj~Kp zoZR_*l^OjksBx{BAj6kJ3#HWDbv-2n+L{+?vUi2imX-Fo4Fk%o7L<@<`Iz;PdhikkMHc^)Xm+#pZsWrRZ~5z zngTY-8|P;9yXp2ZKKM`bxZ~bLM*&J9(XSr!OpfQOdE2Z3$t}veCYJ&-zRgUw7r3fwvKs*{#ryz3E2S)M$x925Ka@9H*^#c+=v{Jl z`xn{2{;IY3?)?Ywjl0I6B!Mz~qpY#BhKC45^VqnW@Qcq|hv}NH(v@)L34I*59@u?w z44`LpgyaAVOzB%kifl>03eLFzFab|qEl9P=@A$)$ z_%p+9e!JFfx?Zl4dbKlbGv)6)D$YodB`|YNJnzh`O;d`UTY+$-l z2IwbqAn5%iaQjT=_2#s64o}&Z;C-)KhwZ1dcRT>#gpDwch28zGy!p2O`&kqls92)_ z*hu`uW4cKd?%Xzo|M`<^aQ>-!|BpRwk=%YBO_#M(W4!gb)A*$qu4}XrQ^EK&8Jbt=F)-A{$Pb#X&eBEm_>wnr>U61?k0>+qIc1FRm5kmu<}LFeXm$i}XxF&S5QJhXZlZlZl1FErQ8$r#$g{Gf^_ftb6z(!u-DjrA zME)s_ae2$sl}`P;W7)vs}D0IpxkOG)<4ceH$mE4$)F z!~`HE40?nOtGhA8ss~(q=`?nn-N)x|9pkop^s>@{!@xNwBsk|pg(sXog(sict=w*2 zXCgV5(Mj3bvg9wVnAnl|8tkT3B5YpQ-XXGZ!m&O4+RN7B3*Vl@H|`wc_Ip#@ey{Fh z+ldLzKB0%FK7I(Vds<8b=V`9{xpQl1MuZe8j_r^p&w9c%o_J;- zpZ&%dx80lKwtMHW=YYbQCjeVdP@;ww)qW9)9gn_R;k%_6ovAJT<`NLw`(?+JJu{zD3L1~GW>vRLvI0J=o7Rs7D(WLaVzK}!^t0Yl zDE!D&3XtU=o{o04*d-z$_h^vkL}cE&?F$5Vh7nu|4qPUP;pMmH$Nu`BzjWodZE#%$ z;4}c=3lgy48}D#a+!e@QSE5X&eBJeI zyunYGJz$De8vxEk*{7#8*>A-ZJXfR+Jk2GPIYNbCAR4|h_G57pTu+=O1n)5i63Xr96K^B%T+l=I^Eh6X>(LmVHa zJ+%B~=%IsV3>08e0MheJl-yAgnWM*&Ut988&6vgzn-!!{4D_%Q)MUY7PA zT>kXfdmuF@U}i_shk{Y3dklD)c&m?CKqB>lrDv-QfKtdFjWquwJaP9z#N)maCFa!uE1o$r2d_E zD^madHz5eZ3Ul*izpZyXeEDZF=Wh`4ZmlVfGTpJIpq65m(t5{bf5@jLSLj!2ac*NqgX-v0Kgz5lp@& z*}k$nr>Kns^}zo6FP>RSFgFkEJ2cK2@|5(S{T+H@%RLrHFf=9XIk5bBWcLC6h#|~U zk*9aS0uy0xISs{0%3S0;Tk2XYF;P_+fb~vcdEpY{ZxWxZjQt)srHt!zbI~`v8Mjjl0`h8B!0SK`;fgJu2sMsUr zlaT&Vz6=rpdk!vt8QQ&noDDdqmBHpd(`nWq=2%B5Jh*>(N4$Fu&LgG#{&o9qCh5SZ z`HC;+1H|8h%eXb4HOBME{C6#Oh>D33*jrn*nDdCGxyi1t3ie zHXN=%XFy1ucJPcK$=86R?C;&YmCerJ7o{V@K{U9eT@r)qvo*n41kN4)nRpp23JfA-!qX0zlv z4|~pi->;i9Lz+;u*fJ8wSqvly0!K)YKyn=ThZEUG5Fp5c1QL?`iDbfYECmrHijqiC zq8LhyBUyVSnh_~V)Wlh?wT2LIMdTT(>>ii-*!)aRGm}LIaT-l z_MUF|JB_d3yHuSz=hWG%Zr!>Z@DUxjf9s^yV;Q!+RDer&cmnX$)%`(^O8%3_UYhI* za2X0I`=zUQcmi;>ZgoCM26zyI2K3xbP0H1c4~ zM5j!bvo=Y;Gu>A@X5TU=LVY0vDNSh7GXpx8R<PR`iLNx~4isZ^dTdE&(lr^MqN z&JHLC^>eu@vdx37Er_1Oqu_aoVan28v@5g4( zE&(8#jd!ELY{O?Vr1^m`a4=luIhv1nrB-^+pWi$)^3NI`dSn|{o~S$0VW6W&Im|%SckGs zGyd$9@@!Jb+y_Z7kAx@Ed;SeG2PrA=Aj|aRV5?0QH7Po~H2_4ju^AF=vJHDo7G$qY z9;zr`c&yCK5Xdy)zE9k_&i(#R-Ym(C)L@6mcgzKvM)N3F{cVr(rz&{x&+kl`?CdGt z|EX<=lrUbpTB0r>j;HJ(4g_05B_eq5r?$%nSnoi1;Gvr+o0pZog$iVn7_+Q!PL9y~ zHY6Vq;_=Am4PY?=(7|ZJ0=zehHuA}SG(Tg7puIjtPBP`mU3Oza=p4HhCr3L{sE&?6 zcq`+)Q8~&LB2F}+XI$rS#*h*{3&hz7csfi;mw=`-4jf2RUyhQ(E+OH>Belu8n-@8O z%O`xfeI$OYj>Ph3`W8Spjd;L0%X#dCihxAQXQdx|YQ`g%c29%cTMqX>^c)~l33yT* zy9j8Nb1X0ZUmh4WnaDKZ{!iYSvmzh*>~pxWBPFSsgod`!4gpGhfo8+fe6pHh%7kZb z0w4a|ohg%dKm43K1=ErIY`%L;n0!I!dr}$pfA*VvM1aKvKtOK*VLOqAm2R4kHXmaQB<0&r70oim6 zX!_9gCk1UyI>v2}Y$GQrT@p!-pYH`4h*sqKX!RlC`kBuFu-tNR?~?FzKEkJp5+G!P zV#58OxbvL*qfhPP(M$V2x)U1VjUIPe!s)NVRfpAdp#{7TeRdZ&ckaBk5f6Ow21F)I zwO`AuNYMoIyX^mY5Ech&QXU1=*^z0QaQ{Pho{l_wV;>*++#aT>e0eawtrVC4n%RfJ z$7ldReu@{Ic|_PvtJH!# zs&hY^9Qr}RJ%`f;3y@3t1N1?ut2?;Qfr_W%mil%$6P56F>r611O&BB)fsX+J!S;xs z3THP1AieBIkMZ(xPQ+pzbA)BYi)q4dz5hCP_UKYI?(+_Q=()1s_zhPgLWybOmp@s8(4s61^ z$rX$Y%kM2z8NczKXHJdo zvxdL8w2R;S)0@Cl=y$Ckq2$@7tYa~$vLv9%B8m`_!@4x?l_dboAJBFwO)!?Tk> zACEQ#euL!%K*tHdrhpu#w1@~zWi}BuQj8G{r(RQ=LnEsP^PpZ9Cf6T1xjXw)9d{PY z)NiA}?Z-O4eh`G29vqxGo9+ZXA^qo|XZUmdoVadEXh-yVy<0R3;O*t#fuJ+*ql8CL z763v7Dia_pKvsCuyRPBd%{wFD{rn$X#-2_PSz)SE-sUWnoJQ7-rM@mszdZtwX@zUs zf?s^soe}UJd2$!O|ACv3X$6^9p4=H6Y8EfuD~}Ay?21e)U|Qj=@4JC7K6PiT7kR@w zp2m$`fyk=<6&>M6nilMV6o+)|-|}qI$X_ibnGDNo00jGo8I2D|H47CFGfh8Qgf$us zwU6>f9QKzDOH#e1sVE!e@uLnw?1-fi;yIiRbPG9gxS1i>yTSd@v-vKG95||ZP;QB) zVMaf=KElQLvR>zB>l0bA0MAS0%(RXYbftpr`DJ+oFp+bAc6-8`-g)~6ypMh1Io$V& zZA{Y&)3k#6^nd%(sDZyeiRNEA5E}8;;15}0k`;dQy*Kdq<=a2t{oEg2#y*NXP^bS( zf=4qVvN3@Tpjs2Dnhcz^g3c|KY-@v^5a9( z6&r|-lBFfT;q?~i+cb#1mYwb>zz?VY(jx$0?VmfIh+J~kHe(P3q0JF8zPvsmLw^3- zP0?DLgEDq(PHaT`Ih+mT#d4#?p?p5sHJg&p_&_?E`Yr_O1*;idW+PilfHx&CmXwUz z$%$yjkzR{B(+9?*Wc)DdFSTHJv!@0;ne18d1ew+lS>Y}3xsH!~{`P$Z?)uGry!JOQ zK~`%>b?)|@dQow(tOJ@#`6Ga71zD}JrxRZD<|l9KSK!|Mk!Nw=$G1Iku^9lME#w=H zW(8qQO9+UQ)V%|WOeV*@#=ReX4)=ZR`mJU12(YuK_~Ex)!rnZ&JSLkFk-@8?7|$B! zlcg+V)S+R45_M{~h=_44QJoZH(*naVI!jqpNJJ8?ELeVP zC(jb_+YXyZK8Mo^c1KTb}ZSNTxc~4SFPkG=s%HTIdf^U(^dwQZ%igvc{|4dBxOIgTh{VQ(wSg?)o<_IOw1|HAo97wn*!N{=b5x_Mg!tsP*PHM2PA3Q}~8SVHq zG7+*KZA#(gYojBF9B5&uIl#-3_M}EN;K`#c4mjs~w6etHL!1-tre7j<+#5?YrA;a8@`O~{Z&bbqy;-6A-L_zAPGd&d4S5+$3#F~D>AKs zX$@JevAws#cfaw8+iu6iU%CHj{O$*DV4BttS(o3bBt*XZCD~FK0BE#tAjZLNP@Hht zKw*?lK==+j(Ab%QHueBeYBRJ%b0e zKcbcCvU-k7Bl?tF;0zOh7T7h;gfXvFw#iwY2TqQ}5cuf71U#80Ow$_EdJEIEh0lC> z#t;09C$QJ8NP2$Yci#UDe)ZkgA=6g*Lk)JA04>|sYE>Sd0qwF;fONP26*XsP)5j%{ ztkzrjiQl_|_dR@jyc&38dmrEP#>es0bt(NewHW}QCPXQrWqsgtP&~=O&J0H|Ve-Xv zrL8Bf0^jqd$8mG}_DB@p{mJY2*|%N6wAuouH71)S!V1M{wP?;UkrQT`B#1NXcE4Qd z;&BIA_6au50BG$M`!;iSM2*@pGy~8`oCVY5)Y(X^Z9qdp!O244EIa5#M;E9y;mWvc znHDTs+8UCEMefhxw1Bf;38^x?kGN0>P-sEdfcx01k)sKtcGJB`tv)=`}se-gxCJ&r&K}fNO7vKkJW{B z(-!uz#!KJ$B;NX-=XWOHi%;$1B|r5T9{S>pX;l&;$eNyYOG{)ZxOs97vLR<($dsD@ z?-E6S)UX9vZQJo+nQmk`0F^m#37CMixl<$oaP}euKL^L#(R3#W9fwb#t z4nNQLv!kmQx>58%rLAsT9HoJVZU)Ne*0W3iwDAcE^5GGGu~#L!nL%@YiFo!CKwSs0 z0;&_0X$v3u{2spLCmzLTzjW)L_ukyu$IIUEMf~Esu0f_POsfl+Yz9Euv+g!(kM&zz zmtl8Xx>z>Msn=}Ud#Vcyr>V$dwZ^o*fLYe~r*C}<|My$Ij5&Wo^%lSfKYat=@{^C^ z3zueyY}Evy%v3}b`+IcJ|c#z6!kLrys)~f9UF&ahT!rk8k58KlLcy{qS}T{^ijGRx4WQ7D830PbMR+ z+2SM;WLQ2Rr2c2u0EH+3OqirhBTseIYst}Xz5hDC{dJGx$!BiOV##?Q_|^NK!gsv> zOL%sBf~+oLT3>+5x+ZJ(HiQ(~WvVW+A2j;<0QajJN4BQlvkR&OP}o}%tJ>zeOt;G# z&)i($+kXCwc*_G<`uEt+2p+$@gKz)2NAbHKya8EVz_hwhb#`56Zq|TG(|gXIdHyau z13-)16q};I(`bL5P*Ea5iNFZfOHBR2cTD@=_`~xJh2G63?4i+9)k1KazG^tMI)idz z?zdjoW(4jMt06RHX{~B4&l^gT=-NH^Elr>;tD;V*Fe~p+ZP1QYwegyy=$LMiqWwz? z6j;hp)1;xUAUYh=4Iw?XueNy^%ajq<5twO7(g|zBaBD>pr}O&c(GtcI4BBU5y_DUf z(Xx2Pp>88B$*xXQ1#+g303;n{rxiJAJaB)MBcEAxIdUr#X3WK@Loh=zL7@W7dy41w z1+V`ET5PCfr`Sx{KHS;U&E7gV!;m2DjA(UwnqCJcm{YCRtUU zCelsvGdXEhbo$f=M=ilDxPjUAw>)Z?stn7H4-@|Eb9?w7f8_J{Z@=Ni_@=+}ui!;@ zFS_*;!F?Zp20!<<%lN`2Ez|ES8~IoH_$zK@r#qF>+hqY?3*zoHEq1WX!n2WjRif>P z){hLKE*f2xd#g1t?@yTbfgk(rEBLMVJ%j)C8^02N>)$<_y|J#|*uxv|y^P;@&okJa z?Qz5!QrE9oGBm4{^_5M?=3zr<7e76)_u;bD(|PoU!J6YFw)PPiEk(v)igx!XF( z`(`o%Ya=kn*9c}OZ6h*~>U=qXvj?D2(rA<*-W+94O)os57>+PPasb3k8&L@v7YRSQ zw1!{1w$9=7fsKHJehM&kYY%}SG*`u!#kRQ?5xUvcZPL)fwA%80)2FpS<_Y`zf=@iUkN^E=AH~=IJ9pzB{=KipU;ir?PleBGH}~+%@4Ad% zfA=%k-kVTH+Uq*3R_SJ zW|^S-6ZU4{m+rfY-+BL4eDmLVG5(ux_$q8|jh+5c;iI3sj-P(pllbW8cOk1XD`PV= zA}tw`y2;I`RUg|n_4b520&9=yPfio7-U-U?#_7g{g?5}@4A9(+k&Y+7LwHp({!OECHDHJJ-$)vXcNGa zluVB*|I+T!UGhIg-m~i)wP6?+fXYRAx&Ow8+QB%T` zok&aAnm)Eun_?|?)0}Qm%@)KhoWZX+DtH(Rj|W;}U?t2jEl;&qesV$*vr!5fQd<%w znwp-PQ{aTvaG&KG03HBX@?m!91pxM8ZdW|D8`N>Q`SlmP~%`ZC}PaK70+2Ufu^}jn(>MU7t~s zB7Zx2XAM8jXNy_zlzxXp=wj@ z8gnUmiH1+fkb>41n1gkO`M#rSqb<)Ts4=1J3GI1EbKEtbwB#Y&t7TJrTsJ2qP{oT* zXYg?j3-Hx{sr*JK(tz_cAgDsjx=|d7Z|mGt)o!=-9TeBv^Vxc>>Q2;kPBL2X*H)nE zB3j1IM0+wrkFGrMDz#_ilCD;rKGW9#8@VlT`@%Ic!5rkOe;)MbYxX&Uac=cRu_S33txC@#+%=Ld>#4l=WgJ>PuAdXdbqv_ znM_a0jL1|shSHkM%hVRl+Bzn;5ev{&X`1h_R$Cxv%Tn5;#_DuBQ}1tr17-l^F{pl> z3Mn-?S|q~{_pE?uAi^>rr_T(B>X}oH2?T7E(;g|&uWDOdY3g z9j_U+k7}C@Szs5@GR@0+=scyhHHj~#qw@UNp#*wDaJiz;&+=9jlaI3msXvm;6{V8N zd8$)1s#>SNSAfodtl^)^o%c&1oTv7^csXc1vkYabb`4BhSk<6vQ~k24@A*%*)1M9J zr13$&yw;@fW-?Hh51Mp5AhZBERIf6so=u-7V5&0!bzvOp;{cVZd}IkyK2CI8nXJ~B zbmh;sZG>yn+Y^267b@hWqrWyDO($k83n6E-5i}dIdRE8e#BsvD56A&QrwKAkO_U~J zHJ3JIf?%&aR+jtmVxAg@rc8fc)tS^B!!|VDNm5|6@m}jj%y*&R11R`^pYM)9dm{%3|Nj}dxO~tXV>ta81?DZ>u>R%dZ%m)8Ko#T3# z^pn4YY6+|P!^!R^9V~^}$Ck$qG70vzKE7NDRHsU3`NCpZnV{4u#{i*Om&q3U)py$c zn+HOpa2G+;&wA19!V;Yj2W$UNBr}eWn#wtewl=~7WZh{`RUj){Fj?iI3OT_}*$OEm z{59=)u(F*X%i>3^$*2eHECwanp#5f3nN>R*XI#DkUyw!n4ZGTMdkGF&1o*HKJp}3u z9;iqxQbzu`DjV(D$y-zA=pwQ3so`@tTPV5` zd(RZx9H(Cc85{+xW;jVdSO>K)>-w6K+o)49Q4KVJ5(1>80Sg8?P$_mCob9Jv^x?kd z*#ReE0)!C?C-LP%v?2Ekj4%g3O9Ehl))qpRpjTFV0aFbwkbZQxySs~P*UFQT7r*$$ zSglsr-rmOb>t$;EE570@V6UT(i|%rn^E-^ay^7je%$WlB?~ z6$E9Ji>a-Duty*k!snFLvR?8d>cAVzi}adpIRs5RMm%;qKv-H{M*nq2z-NPX9wv$V z`}=t2neu4hMK5|0wzjs0dLx3e4n)?T5MgTj` z3oK`kUA>4~ydA)S2|y-(=;YWLvQwgl^Au`|rBL*a-0vl)k(D4j*UoG!Z4Cnk!g z6?hW25>mhp{F7it&L{I(5YT-NB0yUOuO;q_PIV!iLMH`u6`rXZ%=3)x?d?imLAbxa z@7EeV_1$us&IKmSb@LW+qKH%uVjKK{@wu3&a#_;7k*{oRi=RwV7me1%X3!a;GaxI- zV42s>&JK2VcDieOdwW=|R_)?6L3CC3AE?i@ZS;?th#0M1auaEHUa5@PMi@K}>@UxX zj1nsrr~m*U07*naRQ!ASDM8m`#59#hCey0QWHn3@Sw}4S8R-qQ?mb|u{HHeZw-?N< zUxH2$O~bxK)RCnCzUi1}mjHD3wG^W^KLV&DilLLU48#cWv^Ns4#Bj#j8Nx!j5hEid zGupVWCn<-7k(25=>pBu^T89Kbw2|C5YO?U@otYm>SG29a?VpqZZa?V z+K4g^nnPWeaiTTSkrEuO-|UTn+ONk1nZ#wgsyYXm!fTpc{{i8##gc!@{B&#A65f$c zZSpHinsAUbo)qB9PzT8%0CXd&p`%KUm&@kAj$p2@v0SHgl$a>`cCFyZQ8R6ul8$q@ z^}zbU*G2);62Z5|_K@Im zog8OJ8}YOh%rakWH=FFFi!Jlm2Mimlw5qf<3Szo)OenF%wuZ^;OJ;S?!~ zFS=VWB&!#2E-9iQX2iij&Q}KXTzz#)od~?>L*HL5V8MMWAvsi94 zL`}L8;!A3GWK;1iltFv(;K<;~x-~QE=V6;f*C?)W-!tx1*Km&Vn4D<1er#e0he-eg z4|PFTN!bK_M=;Uk$XW)~hz`k9(@_syAXIl1E%^%i+H1LCY**M(7?ga0-}}IsEaXBs?!plxi17hwilfB zD}c$NXAmS_XtXvm+njub!Wv~00ssd_Dz~HqhX$oU$LB^j_4UxPqtRgF<}lDf3{Xq5 zbRKgXDKRh~>9kQ`2(J1BLJ563z?JPO@JXZEF4j{Yb6g1Y4hC+cd@0xz>5L>@T1>)@ z0xa+#9xnS4&yM*~`z7xPE{u0NOI`oynh9(5rhB{8Mi5mHi0l~_m27T5{$Z#<@re~@T$2ix||q(os>=x1<-z&6RmTO!4F zlATUDZ?C-dBBLEUQx8Vx#oI0;>ceR;No~StHHK&q(bLtyWdZ*D5e4eXV@Qy^ZzBzv z4o3zeo zpfd#WD|Q}~)XFp+&jR5~inxae;5*ucK|;ohR=m-WWj}xe695GsZlbGhDr6+IxkDEj z3pH^%q9p}F8Z99*Zcdp5)DC=OuoJU{mC;V%H5@~T=B;9UFK>3@!Y{brn zuZqw8@prA`du^u-<^AMl3(Ch>NQNqZGg*7EorXQ#Np1UG`>sO8oPzL4lK@XL!GTGG zKCmMWaW@@@z?QDD?hSmmUu!;#>eo898JTa#u1!X{-Qz+II5R~#-^GuF-eN%0U5!PO z-I0Ta#ffI8*;<6|v~%7fxKBnRFDKLxJ)&&MZqK?HM@fmU1!n#I>(L1+V+{=j{#@~WnloNSHWt<3$97o^T8))5trsG1Da}6#$ zGM&utD}pYxFxPO*%{tNe@7wZxz8kr6e;Y{Oo+9|@akxL3mc+C!wv&BM)KB$9nER!D zFpK4wIgK`?2{ZFKlN<})&HNsi0F;r1zF(o3X@v=oj+;6w?Rpl?h!w!5$K2$leIbAY zu{m}^(q+kEib!p1*Y@dG3Jr)V!5+-+WfkR47Ru1Z4*wj^8nXG>7sJGL%I=y*&8Z(} zG<^k{gKblbtS7xQRYZ+qE#RwBKU&?)2fNGunRC-U?X!czrvL)Ef0NWs2Z;YFA`ZP4 zB+Y&~!S7Qn^~6TC1qhZylb@~hr*pJEE5E(dJPv!!->?sZpBuD61JM=S)PP@yG*uKi z_s)08DR+7f9MRXt&=4)+crcPXds7}TRl2p^;Y283jkIzfiYMiEx1Sx(R#U;(^?WAqC-rtp^aIVCV#v#&2U=|$ThXEKCC?TVnl+f8bsLt5SJ#(;#^csXd3pP+q(k?r5AdK=bn!spdqZLndF zAI$fhG|m}MLUTjf`<}SaY7pjq_NgBgHa*dX3r%+IbJuwaSi%(lAoR7ss&RH}ljA=O zxMlGyo5>|u9&t(ujA8LW75HRZZX~;ZCB5NSGTEkBR-9KU(x>8`he+AcA@XfRHaa*t zZI8ZM0vnlaNgVkMI=3yK{U7@*XIjy!HyL{pO*T1#!)=SCxYzxkJ6O0uk|u_!488`$ zX+pvs9RZcqT$bfXG?>HGAY*ZbVomVTi#ZyQlQ+~ft>8JZk^@U@pN0cEhYb+brS$>H zokyiWI!?N8i2{@YY|=sXa%}{YlRch&D(B5m8DDVT*%nN>h;Vj{9su1N5}oDv8C84` zXAIVy1ttGj37U<#qs~4+EugmY24P`ks>7p44f1N&+WgPS`O9tiGjFw51SOPr|4@bF zIt8ka_IhDn;AwUFZ7L3cHr~!}4+tI4?gN`|<-yn3?H@%b2*K17TjFzMJD%{l-=rHD z#|f5=;cH1_vmGH>mGTH1#E6=9iBmY?bxglP6-o1#{MirhC?(K7+yj zgoxqU7UwnlB%^l$4m$(zpa`~2>BBwh6gG0ZMqGz`OyDF4cpF+S0{M;Tkd*#%5ZTZ-WkFkV`sfXX?^``?g9avjvcV1w zh)!MO4Yuzxb=m7);Maai{dc|nrR%+AZchi;VRylp{ZtT6?4pq!cN;Wu`C4!yT>gem zpi40W8y(%j45AHIB_<) zD6->AV9sG!9?d~;ChTNLR3l^Z;7sqrz%SVd1)y6p{cm*e@1kv@x5-f%N1+k7`>Y%|t5eOs zW`UF=gUdJvGqiSd-Wl3XelB0nGXu%3q>(?-qeylNx8A>6UV-jZUPtxPDwlHm^Ww|$`7qRs2rj0Y(4k|L^+Lo0)xwG zq0bKeWduQa3=o1T{j#uwVrwrfq;d=Gb;g+M@=0*Isc_8L`i|?2XTbqv1!w-w;p`#H zIgi4!W43!%IXF>?{W+?~M#>I}X$f`Gm!U>_pY<){W4+&`S9I@|B><`2p!+(b%>a`9 zjO@EhY!ai{Ir<*(+T%RP0UiZp;n>bcqw$f>*@cmx$$dZaHyKqpPXWVZWBPeoaSrI^ z%s$=QAJEBubmRR5i}pgc*YT(EdS}Ok<23wq?xPN;_IlL$qd|OPUltOVLHkTcPHZHV zIf&^)Cjbh(Jy1Z$L&wV$*){Gg9UDLB9@nu3MqhH{G?P1gq!c-u+I=(Z#OLUwRMt&mMY$pS4*K#rk#2ExD z%gMp0JzzYDF?>sPfg>aU06qZV+Q{ff1o<&Jw{A+0j=N-F6ods~L5yk?RG9LYe%fd_ z`p@)oIWAAMv;}1K(s>4O_CS5&y0p;$qq_Fj-5&+D9Kn;r3)6f_4<$M9ZbZk1PvyHQ z%2EBwH#y{Yy#1x?Tk}O~?L<`|PyMAjUWR3aW<%M&ve?;1Jy>SHg5I`|3t`~FbdNv= z{T7f7@YZ@joQ2Be`BFEHOLBD?Y|{JVLiY1X-rjzSK5VD#-vixfc)R`_#TFeNhC2DN zNPwlR{D`25&yjtGsGg3!IN1%`0LQN&yCw3o%=y|OY~s)fz`bRm(Vv92*#Xx-&u~Y| zoRrlZpH}K)cC6_+s0JL~*U5qUR2}t9XFS;vfp88KEi1dPKiK3P&f!dfr-NA+SpP!* zke*mS2Lqw9OS4aG@YWV@8|`(HE^%@&Tu~i7Wu(h=IRvC8hFkjlKfI1_7n7}rq=?Ra zrc9!Yd^XU2wef4$Y_wSL@oTsZ*jF5jKW#jkKho;Z!e})F9F2NLyyj%hdB|lMA2jr} z`&6D$(R^I}BI4U8M*E2dCu~n6AliZ&XglW}B0Ha%d~JAjFWFAi50cHO?Ipe3#LFST z_0l|o_G@D zxA6JDHin#k+r-CiM?)wwsPZIv&E`EDx|Yb-nv(7(N_>C-w5^*@3TDf`&jI4TB`kuT zw)Wbx$%cbiaLQ<#*34-AURteEOTmk2H2zIDg1<}c%1PuxzR`KG;FtX`DAk`s= zc2WWf`>&fZTb;Ze>OlfNhtmOjFP8hO2MPMp-ihWQ#P90H9qiO`m}z=A^7gai0b2L- zZh}#7$J%Vzne@2P%1YIG}lh0&Yi?zU)UEU)2B%o+B z(?;41+PsJ8XxEpvxaYxWv-P$~n0P$nT^Jcj)DgChO34Aq@evaM{fGdcHzP476AQgN zP&jj$iJZa3ty{T6qxrWz+}o~C>@XYyj~+D%5Y14Tc26>DiQKvD98N>2&S5in4@xtt z=y`{i%YFgl>>&mik-zTuXYzeEibRubl#D!yl4Gt_hGB2d`&!yxvH@wD+ z4+OMbk4NoF^eEzTZFkk<;^>hCaKr@Q9pAk*EAYn7@hS-&td<&|T?ln8`I2##Vq0LU zSBee*4H=qIbo-|JPn%YZ0@gsgwcFYuZm3$G<~xTo1mQlb{UY(0gClSI8K%!b?olyrs=fdZTRUL{RLfB(wEwvB_BSwpoEWj3oe)W(6AZHFPu!MM+372+xFCC$GhLT z9W%|+$h<%WvC6M=f(oGv9E^(2I2O`FfKj-UlD z#&6|Xd+cx0>=)}iSj^INpPlA0pd~nPJYiQ`=ZS2>>7k@1`R_n9#{uVqJ~V_T10RBE zr&fW;uwh#xXgB~o5+uLRH1<2uTK`bct2jg!9&tI1@jCA&Xn57+k#Vz7xt|u`sE+^u z#T(Okz8{^M35E#reo1w$Ub#1*n(mM4nE)Mx>orAWr_LQnnnt*z@WbtsIGl4hG;p^_ zxQJ-vp+LK4L36l>&8|yxvZkXQc;rTNXsO`RYJPy7f3N#|KhP+#Y(@VN6dxFocxK>s z9SzV;D$8F}ut4j_Y)_sn4F&@45Ocqd?D3RZQ^6T z$I7w}8-90!1A2ymeMZn<9h5iTvhQ;nj|TjPcfM@v`BTH3)Prayr{395_Ur7-xtv6~ zH%ez`t^WVmCI#VFBIPh0=z+iuMdcQ z-mD6qGL|rv#q=o3A{C12b{JNaDxIU$aU&3Fqn77;M03E;$2?mh6@TDYl7MxCpb6US zfnuKL#q)g6>Mr3t%(YF|mmq&%;iT8gRF`0yrUQ@de2lQjpYH~>3!bsw*X~lRtK)lK zC+TdPC206%0x-wx;jIy#icAD3-SZ%aq-(@Wn0QdUX@T@Jhb+5bLlXJc1sStXFj^FzL zTa!Fe|7Tfce14JSlG_gTQbNyq7znq+K{9bv;F+4le$;=`PxevWn@A?dq|1adwA1;S z`X9dz--#f_LWW}{0IK*^06zxcf(zb=BnAYeOf1foRBvRh~2_3uPniW`8IwbYiD0sLN z&o@|4a+1fWQqWK;AgLaJFgS5rNXaTReURw5pd{O>tNbAz*Wbi{Nc<=;0I@($ziVK8 zpy!H3naxQ3&%vVpdYL50jQ7|;37=FMPl#=C=Vlx5eoFn-ku>mIT};Zp&e|j2GK`-I zj=lx}z`MR@>#_pB<%B2`r%p_ehYLkJj@zp-=1d5O5`&JnNrI;j`IwWE&gsWXoqdOo zjYy*>AR$_IcNI@P^%S0Z>M10x`6W6X?!xK+DfvZ=q0+`&1 zjK1m>`c#@OaA0AF#1Ou4=K7;vk9|jW_91bgWI?DdMs*n})1MuJ3?E7TLMMP*080)e z@SLuV%5}%pk|a$&b+{=^h7x+Ua2cQvC+|tdVYv0tnyd zuSNzxxX9GeAx}wLz#rlb$+S9;GxJ7e8O`vEdc=$HwQA5TyO3xw4#%lI4aWc_{`?xZ zJMtM+mw8}48qH4lB_Y2@iLoa;NoKk%#T&S`4!B zC6*BrO0C2;iXl}$HS}ZCv2tAcRZ>4U-Lltxnt^lu2J8UbSQE`TXqrwr_12a; zCpT2}Er*lb=|XU#VEIM)0%b1_mObNW$5CD>wnaxiD4(yK#(Um85Xg=@UXOakUo*9W z?OeJ#jFbD^j>56F<5?rmLNtfLG1|i*8>Ib^vZAdztJ7(SGoo$?RnGiF7?e4-^We> zRP}8DF0qp=jxKj=3!<77i4`K7pT9z3=gNOTdtN@;G((I=$82qdBtb1h)ikmc-_Azz0+>H80G{f>rkY!`A%vv;C7m) z6AA@_iF`WmsbTUl8F9N=X1319>g17f3+*H)=ReDV?{k|Zp&%bG-TCq3OT~PP#GU(+ zY@(jD+RcXAy=(z3!E3RR^`!VjfNca+&j&mklH+410QY_Gg>&Lmf9*;K#UDu}+@UmlyjzyZ2ms}^e$xb5$2x+=jd3*z&H&BvElwo$v z(b?p(t-jfGl!Z9Ytsbg8Ecle`oVc@29FMy`nB=~)lELSM(7+0y_YxqIKJ+g!(wa$n|q8tOLRt%2VqTg}%-L5ocjM=bw2Ys;5G=&|uHb5J#$7_byucdl1 zVd(LO1!B}rJkO@um=zJc@3W_5ZRgOzv)lXl=%WG^!8ApO2w4ARgKEFWG5Qt^xQ%$e zvHlUA&d6!T>k3tU48S`M#&$N4dFg2#+c^iu9^YUVLAC2sPVh#KbsVUV4!NJX{rna} z@5lP{m;lD4VuT}%e8GWX45NgjqhY!FfzZn$CU%=f)5GBBct?S2vut7_eGr{vIH{L5 zzi{aGLeiFIDY`f_wy`|A=j$Un49Dn8xFa}G0&w5=Uiec0_j3a!D;iAC(XW*OmKSx6 zelftyIDK=4M32EdH{;@Z2f?t62t+2ROnBhaf*J(f zI+@Fbx`T^>uLJ7j`(a-WZ036jXSVC3!swCHD9&tZV&oS_b@?|3^V~+~@APmw1RV1< zz|`0e0(cuJ+iZ(3>ba2cDJ$-jiIxF4%@QuB1LWlf?R=Cm(mkVP(6pCfnhj4Gfe0`Q z6oN@6%+nh0cxVUj`1m%y_A6%mn_naNx4%a4SHEJyJr`HF`-0$}i-NmeptvNGcu)WU zAOJ~3K~(GFgss&{CtmJ+*xps#+*VwFZpQVU88@~SS8oDexU`SYJ~87nPXN!{TtilC ztkx?)CMX0lMKjdg_lSB|F4P~IrOM7NjQ%8+aedN&u1y4?C7-r3H@w1?k^^LY1nU;OT};qBya6-++Kd7d=bc~jbGa$k}7U^=s( z$**oP{aqj1?TnL~6M6*|h=R=yw__&aJ1TISqo%sRlS$;@JDOeLey4uSqkS&JGR^xb z02sbj%A@O(J|^;CMcD^raG&`J_MFP)ehbA?3>?}=@)NF~Irhmoi2zO^0RZra06qZ4 zf0VNlqsg8h1%p?>Cf03bH%QUhDJ$B-qAu9O@RY*s>uwDv5Ealnhj7^kNJQe-owW7@ ze-KCjs0g4F6e~bxU@D?~?CCu`c4fwWpWK6D_9+}eBjCc8;)NF{+#blVX|#lLFJKBrAgQUb;xZXHG?{ zEcjUWXYAEyee;Ym>c(7WPo&$1)J8f!yRxs?N4a)m8@Tb@KCbTwZtN(oZ_hR83-;=w zxU!I?e!NGdFpCK?tstv4WZD8`4UsYn04?RU%7`IkzU(-w=&iige&s$5&M7&SPVe$H zX>A8*O&-Gx)O6KtVStj2ysF=i-v50Ut_>)-rC_{;cda)$Y$RuF$HBh*qVpc)$dN~b z$ir_$b__^d>10TW(rVUCs zS#cmeDlv!9XeiPppWY+Ven)WP1mOPfyP$vTl{-Huz;Cv|TbggYh*KDh1r+>|2uEB9 z6Osth`V!#y6RsGPZ|CenI(oHSF{S30z?39zbcsyRX$9yES!sDrEfZAtOG2P?;V!kk zGb=9N1g_jfYef|b+WO0-!M{zOY!vNo=Aiwh9MyKc?xdpvsuAlU;A)mRk_Xoo zk?`(wX}ig{(GX>3vI;tw>lH-T0Qqq|&k*!LlRT0-u#PmHD}BKBDygr$90&(_J?;^1 zGQSFXJpSkzEi1co5^Z((xJ30S-u?4s3dCG1G3eoO|!OtW&2)njuRt4I-3QPMoS()F095t2A^4~&{{6NcTOvj{ za5TkL;Y5Jzc<2szG#3FYjIGQx<)x69X{tt}JPe~cQwprz^pjC76R_F><_W-F30zt~ zLOIWlr6~m|p=!Bb#gR-S@SFp{z9N`mO2X>kbAmB1>Gez->l}1md#o$yDfCpZFasGzy-~J&0zwFsq zBG#rSM6~@PWN64Fl{Lu5YUt*F62@w-?BdefT>MC&ss;$g8F=V zE(LYQBcyT$7=``y$&9WMbjTv zAmiDIYcoD%8@?xn$pHg9(||IHz%FXUYx4F4pV|W~5oq*u3Ghk8Vdz*tp-`3NcX()5 z`zIJ#`)MQeYKzVvT3{r<+r-ZL$1)>1kPmeERAch*2Ao(&5c#U3o}kwhJ1WVIf3B>F zZY8-jc{5*IoDH`k$nGI=IHovXd$&^*v@xHNe%0q1svYYw?OZ%FIACj=DkRfnKqh z?}?^9H!UliB+5G~WNU-(O@nrgpnPrA4+SS>^di1*cH1Zhb(4|SvP^YNfK=}%Q!5XD zA3gvl|4U%^<~ar+qi>XSZ_X<3YzdeH;j)u;4^=%mCSTqur8iCYgg`44OS}Og`5GwZndk;{@yATz%}!2#x_B zTcpXs;pohLcbg)=*0q=5)DnOPUVd@^>&q;_>-jo& z@?0r&eU`W=qf-Wu!O*d1yOjOrw%qY7-AB5IC^V$|K*qz*o_LC-U@pqvu!%qFsIpM? zpl#jD?Hi9;4>FyZrhII8Ci*r0Eg4&?+wqGid&VzR+LO0LWVhgpk_gpyuJxW-83%r- zB?qIndpdLfyTMA71CkuFQwnsac9yQOLm-ypYy;J?53D#{Wwf#b;I+6-z-S9LqT`Q! zWrxT~SGMa;XLV4HoFO;oP91$89S0VZoIx3&Cdq@w^CCaSF)v)_YdI;*vJbwBf*mhd zT(Xhl0{3S}zxgS|*^#BbW^v6LFN|aYkUiJ3S*NmZAIa6*J0bXB7G2kOI%GaP`&y;) z9UoLb#JpO_-)3Sw=@)dqNe51I1^`gJ34&KB@UMrQy!N zm5C`_qsnpdOqAi`i~VniyFlNt=<=q4vgHd#g_Ck~QqSEryJg$Cw> z^wsEMAD$Cq=gmOkJ@!#dvwi7M(FS$ltsE>T3Ef*K1gH8!`h%~yxI3%9Ml0ocx|9_; zYtFNQ_r1#O>7o)Z5e`H&oslzl6r+-ek$RyY`PO6SNNybxBs1mzeD- zwcVHv^w%WQsqt=vPcj#4%)D*~^L+C|yC3B}=|B9mx z7Ujxo4x`lvwdZt4HXMJWzBwK<3Q}A!uN7~aOAZEPjzq-EYrUcN{5wDioPlPvplRx1 zc>?x5GP*hbjuG`FDL%1)_#DQBsF^jS=E!(lwyVm{-q$%vo%i*w`s>wH=NwWPpb zmGLQ++NQ==UpOnbmA1CucCFxg*mOc2m-=th>z1rWz4q-pK{^W3Nlq533`~FPzyJ5a zS6uu&ZXwRkC?<%37bhct6g~F2e#kmqkI=bR6DJxe^n^WAlfIf?IT3 zXI`Q4x>0KPXmgEJBKQ#VU9HV_pY@j$o!Bni--Q9qY>B}M1Y`ED4RfTW*^8N>U!FDE znQE{`TbZ8+VL?`IN3~9-LZi&B7u`2x{mXJYB8Wy>{GXDpcu;P!qu=8o`l*&so2*ze zCL7wXrHQfJ58n)@dK~{2cslh2;62~}g6AOk$9}<`13KoNNOBNoQ{p>GI`%it_fvu3oc5u&w6Sa2!6X%1)Z_ z^T@|&5N=wD4;CCPa104nGD4=&W}j-kCspw>+-^X9;_R}FE6f&*62oo_q#BIR%TOZ0 z9nfr*?2es%h(O0>krTG&ciKz^@kO1Q?ca~H4wD>=*KU>|pjX$$){aIbNw3r#3hCjo z<>C0?gw3EfP2}F^#H$Ssgm48zA%2rBw*=AdwL<=dJ@P3Ht$5L1CU9LjF{D_){pBrb zYfqtW7bcIH`;pL^4BQqBBlSJ&q1zw%*U~;62Wlgn$)2?DdBqEUAA&b?lN=P;iLemu zcOV?w8xbrlz!K`EYgWtmParZ~Ou;Pd0Xo>#(OLAhm zI4qCoWZrn844-FNF%4OE+;;d&^gE6u^IRn3U(_A+eeHGU{#kTKFX79yEcJ0H!^s8F zGYUBkw%;ec=G1Z2mmnNGgA;bHWPq5BA$6LR% z5L%#&_Kw6ee~Y2(&lAYPAm}Y8rrPqNFgQ1w>AdAnRG%8)d?)w8OiTqkBl)n*MsT`| z0GYTM-v;3CL2!@Ll8DF)RU)46V_=QJXgAC<`~-m{!Xi{lRB!-IK}m;H|F=Y?cmF4fQYLRsx~fbknWnXimL zFQCkLG98SU%Z&P}6jMG%m1JNcoZ;NW~Ens7wkXKK#=9KQI9s*8{-akG@!S_@Izu}_Ennqz48T*is0ou z`paP7R5lm|hf#f2qSE2&=OY;6g9f~%V>fFFmtUfDSnnYE7VaN(ew6E7fU|#!{tp`D zV!ut%#|`=uveZ9^ff22_KFcWw+3*PAfOf)yt3jR2du}`HWJl)#d@tPF1Mrgfz48U8 z6vj>$RB_#ssLc1$x!0}wbdaMP$$eN3?X4P5EKbA0FWC3UM)Gxrk^YZxWdE1x7}1cA z=MA)-mOMCl&h3l_2~7K_Z#T(riO)^4UmAR!woEqpi6i@y1->&+c5jnDj;;;#^4Sqj zXZl&XS@oYO^kZ$&Or(exiTDDj>Yxq6B8mEM)`*Kg+|wMVwdvvM&IAO&@10tjY{Lc|%;y89B0N!con30Huj4eR9@q{5 z$SDZN`>NMj0OTKL4Rs96R&(72I|#p{I(&aLn;56l$98yHu!LLH-da(QZ+tJ8jpr>6 zHeKuO!XOXGvW)8Q)e)U%ngG22m3Qp|cuA!K(5AfR*a5_ciWS<5=;$Z_QpkaDkp;)s z%YP^zaN!_MLbsaMrWX2IfE|EcL*r%m!Wp zTb67n=t}fOH{bWl7u?!M00!@W?2u8p!W9h`GL8QqJ0>~tt8Y70D(?-q1hyP3vO8@ljoIQYwGi&OQQ_(OY^$bX@Z z^EZ}3Cv$TeX#L9fm|nY{X+VdQc%tWDzVImVt)ue+{opc*@r;Y*5%5ct#mxOrscoZGzrej)k2q^8SDFD;L_E7 z*c&UOzP4s8LGJhsbhdzLqrg@_`GC|8x6i!u_SwNsO_oTytqQ2%sjEZ3e;{0cZpL%l z)(*)5WIS4E#rJu!(vn;b z(w(IRQk!V3*R~bw+B2u;vpxcSth_(K3S)%T;C64oQAJVx7R;R_~&nb z=E#ga_|Oe}?2$IQQ(7N$SbfXX4^^SpI+kYR?PrFRev79@3-eRe%*h&XF>K)<1@0nXm0de z$EQgAyj_pabK`TVQTrq4rm?iA!)OoX(DTX926=&+ozJA}s``I?@CWby z?2xeA4?Yd_a$?};_|e9bBV##jaGDI^@qhxV0+qI&#q#lMO$wHQHKd>#?=Lnq5TaOf0=F7tV$u+*%Q3<7oWi6R}ME5 zpbGr#+n&Px4?PE<$`$>HcXZs-v)ref`g(+~52)EcEX$-t)uJQ!e(X8C{*NzX|Bz2d zo_Kl(-}Qzkus^pg${{lJ5t{zlwS#ybB}IM@gFy_%Mz1&UN%i>COYN?fNjhEl(tWSe zul?IE`vVBRNrAr2@d!W4P5V>1JDa#h`>Mg971w(e55MEj{jBp3CL> zcEWhLjHa?-G1~x_$zU4LWjy=mb~hPZ#g(VjmiP<&DDf08RoUi*hOTLk%jo9y03?Q{ zBm8`j>g4OpTc$tDd&KW1o;8(|^c(K=_1!+D;Iv}eVoYrFW32d_Xd1ERS5!Y*{4p)z3~7qGoEH=i7M%j&Y)xM@Sa#joc1v#X8-Mw_Z!&mFNE^)tPyvetke(Jnmug-Yzq3ihIXRcvu zCAjB;LQozH=yVY~yMmj$yV%{?#_qo2pS=DGKKrBqQ_&GjE0k}$Ea)Y*&2}=r(a4DDWSC=v8+geJ=8Og0Fkojk^VS*8K8;JmX;99oghi7YAjn^)kZVFV04-s1x#Cz)fT2{4Vl)^X@zMp8?cF|qwtO)FYWp! zo7>c0sjpC-A@e@wc@H}80sFgv?qPp_r=05y=u9{Tkg0qOOxBRq7Np7q(;CxciGaYr ze!77!-@ItR>tXwQRK^rnLu*AAvbs=YF|C2B zBS`XClFLDUH1iM`+YmoSG8nknZ~EY??*63_`dju0z~Do#y8HgQ?seX#P1; zWs=1xm4_0}{7VS!3sY8}1v=VE(DA0N-QD%bA9Zw@Uxh>PJ zq5TbHrzDIyARs@mz_;PcKHNWaCiZ31sw1WctBa6zkqK5sF0#Ie$z);)QT?hbqI8kaw*cz&{R+^zei>9|h|Xx=*DMKxB@GrJRcsby^38;TjT5ab z2MbuE4SL!jW!aDQywJIlEC%#2w6>cB)yBL2LjMHlK17O+@CW6@W<~6?=rWZ@0QGog zLYV(d7vCq}k@duOR9t)$CfN=b81bIue|seWfA&Ln&wul!*Z*e)J|w`u3Q%xBa~KD0 z+8`ps-LQIrs2ldaDw2+2Uv>B#eMG}1y7GIyxn3?aDr?Ha?eLlcbV0J!v*-Q1kxIt9 z2n&3Tc*-(pwl-LcupmE=p&5_$eY(fbz~-S0;<}5&^j&_g*2!yt!yIqu6Z8S!@x^}p z6%qNFuHc;mA5-A(_Rs8lIkH^3XPeef-80VyTqc+IGIk&W=mdpArW(9;2IdK}Qb5ak zc1r*iz%)&0j{;}`U^0|N9{GM)$I$9>!p@7)nAcvHWhf^LoEESdUmk?0&NK@EKr3C7 z_>_1Z&(}3q0!(#iWJv%fC{~3xl7j{0De=npfVQ|cCiv*CMY ziIGlaMr1WZbizE()$bGrCSLzxdSSCen1C5o&n(am{1ST71M>g?AOJ~3K~%{i^Us4c zD`v4Qt|N)E$-2if?qjAOf8oQgzGrcdkz4)J8+)i$@+g%TqMQWgNC^t>N_Ll-Z zZ(x$;zSK8)Qw;mcMfNrxKkTq1+ zz^ds+k&Vg6WMOL{if+IXGNLK_rCG=NvNTAX6CUQ5f3w^+=}aM2-Zf~>;dx5{0N^99 zzUSQlzPkw%RcR~OIeFpyXk_}YOvah7F&@4?=i|gDm*;Nd zdL{#=({%*tI^)g!k|=B{FUwDXZ3X`O55M}J;eOnA5WG{75_U}qVUm$0zF|sRlWkdf zG&#Dy5Y7-+xXS|vuC;B5j5vIX$*z8W}YuMu-OB7umTS;fCp2(`!YqDS;W%Rfo!hlvf zVV&;c9?%UKv;J7!Aj?!90QP5nJ2t@cng9TR0&+FfVE3&DkX z8W6s+@a6?89w~#d!AOshekdRf);ZsDYo&T1>ecyh34 z{bY{4JnJscttSZVwZ8IPdlq}vzk=A5E~ErY2=!(Awb;>!sOKr^XJ$K_)aFxyyeh7| z%bnMu@+^bcuEuL#zfJv@DgCMPyuxfUsnh*}vfvM5Wo&JgG@cp1^ow;{ANIDTev<0s zdQSV;mv@O(mV0U+i~~(a%7c`eETXIdF?py|o$+-cmJpeKv`0mqFB#CmIumxxOuE86 zDc$7j0xmQDz1RTHdjjy$|LdMvRlj*w{dk+M0Xz`^+`$9w`A?gkx9OI6u4o(V zg!OFNrev&KerC?oIwANfLOFg8rA|ZohzD${u(oeOglLV^RXr|r?Ke8QX+`igbk|u1 z-P9BtOp=vqnoc|D*yWh$Mr_k8De#T>K^5gPonAEBGK^$py^ukj6>rT_pB|MZ*o`C74!9FwYHCf z#m0qF9ePlzmfMc;aVXkC4XbbQFf&7gq0s5gpW>w(i07klVKzk$%cQ>g&vXMRG-`-^+_*)<%75Hu0&C zy!xI;u>qd<1ONa&_L>)70q~6g{=%-c(ds6{Y1i^z?A9@LeMgUj%TXJuv3?5(89(A~ zXBf8=x47(sEaS`Pt}^*vuAA!(+Q@uuf~L5e+dT*ew;Sl|=+$)IrU6TEALGmY*$4Uo zU1<1PaOwMax!=`kj5;!s0e&68|Ms!hyznTZyRAW0?;XnugH$EA<&097~qR^^}I%3!*Veh%t2P| zUaTJnS8)J<4pQ9u-NbanQQ9fK>2FH^ATEA5+1KsG?K4iIM zKf$`Xq~FX3&=ws=oh@bfUWJXLf8aJr007`)uX*8Ps`xKv#U!s|f=X%;}GC zbHC+d&DR#nk2=ndGmQZc-_JBEx&V@=0*6MNcx;R3sGWtjh99;;PY3fqr*@rArY-jY z9d{qCAUcuDWxN{sGah{H!~rs0;*B5k3~>zlHQ=i__?b4}2XL<{zWHOXdExOs$99{7 z0`CHFwX+>;J|D?1>#G4j*UY$byGz%Aq@#`gI4Bs|8G4*S2HNv5co`|;t>@nMKp$Ba z9X;vZl3xOsNq86eNcP*|TarEDV*Tg({?V=h4Sa2co9#2VH`Jq4*JRCd7?s=9-?}G{%-$x-}^l0o_o%H zp7$3*eo3A)lln@;b7uzL3eS-b)f+`mrSC<2UJ`^4X=$OoyDm;dQ_r z0d|Yz10Wp=wQr-694%-2ibYwMsQn(Jd=5R1TS9)QW9gQ>qqglk=W`vBVocBf%KBDT zy1XHMwy3o+w~rz|rS7TB=R79TqSPkYlXI3lwx6 z*K?w&7q;t>*~m9|5be`q98{S#+NI65zvE{TLVok4h?$+}F;QKVN(MkEJ%7&e!sCOk3lu)_;~R?Uy;G)0pw*k{V~akCcoRL>At8 z;qK2FrsZvB8XbJz`nLk#0(R))?eo5X8gH$AkR5_CA+qO~%X&|qEkEz|KC=4oP0H`t zn9GsR>gw<1=RUFNvM~XNN$sC5b;+sJ-ycGF<6Rf-zGCC8n3;6&dFy{K1b)z#lmM{B zgzYoR34Ap*!LHNKHRt%U+(PoPsQIk#<$^z@#%T^zL5@8+=JmS_?48(t|3nMOrM%pR z5;V6lPVfDgQgcz->%Hqj&rLbM^vk)D>^$+x?QCN>l4HLzxU@;eL6S@$tawBbH>ul7 zNOH2rj_jL~myBPpQ`T6w|7yOnO>095d-OQBVkySprFUI8`|L^}#+J-bdgZz6-x~tA z06_;@Zpw+gjoMnMz41|Qbgf+Z*OFn`Sku*4x93MqZWo{SNw@QWPaj#jU6-9!Of7wV z`mjr%Wp7QNw$1ZZ$XX7(;qHrOKUlY7%cg_RTOWW2V&tVMX43&)sf{%b`_7x`@LM)) z3zXtCsn31lJ1Jn6H*zPNlCD0w_59nIF;JsTC3jN&-kJ?=><+#AqS>8K9?e()0PxCl z*Pjkt;nhn7Z`B3tff=1Po(|1h8|)hOYB^rLlo=U4xg)=88%k_ix4RarTANwM;In{< z7t;_%$C$GWK5diNXC9yY+*LM-zGSl{Lz1dn8{y6Oe17&%9rmq?4nA-FXJh2kvaANS zCjoU`o0A8=yKHIrsn3HNK&;Jyn*16_w&ZxR?2{;Ho74A6<6HbD0r{M|ZafE@{Tx1ZdIEK0o`)sTeP4?zRTn zJFnYlHFtBT`f*)E-0>~iBW0;}@^f~#YNlJr(XyLeJHHE@nhzu3T) zS^o)}WekvU(c{I4QT9f_u}_%{D_*%xPsbSlXj|F*0j451&~`yP*U0-N-LTol&M0eT zHXsoxTzuCu^ox5Ek0n3JC^j|GpU~P6l|4zOb;F+2p#g3*+G^XS{N^ri<#+ZHp~NHB z2`}DJ=#+M8YW$Q>H>vrS=ELYw%yMpMAM}{8XliVzw7Kz7wbh?>+>5=!u@UuM+A8bh zrmW@W{n7TtRBYEv$aTtbpr3BC;wZ<79FJLy5^wuHn;RX6gU(7 ztgJS`64f$K%@>_|oyD7a#!yV^>1&^yWM11Yc~*Ul<1F0au`=aJ?CfKk7jH|h;!zx>G0sGca&J5U&jRnc_u@I7cie7mwD{che-Hdg18!^Al_VKyVsrgcY&h15 zkC&3k@mO5%mOLt5>eMqnst)5a2@1`2qAcm|Yd@lm*00O0d7QOVpIsX?kFw8-S|Qq@&v*a;@QQQR1>n=b1*vS3K9&3_fY$d!Ql52mqsLyKBc(}>{B(PHB&Uz$Ek9+u z8gHbZJY8=2A_r|BS+%%!>93W0_D$y~w1@rcfOp>ag*pE+nWU|Q4*K}ILxCUZm|92l zA><2}2kQEg><16HY0%pTNa`_JY_OD>yCt(02hR^Z9+U0K25Y|b)m90GJWjqXfIwy}n>DHL2#tVOpNWP|ibi?0~_kUr|f7VRe+UXVNtowF^ zw}V*VCupz7)^x~gYmLh;e$NJL4o%m-uJ&@{>uPJo&uXvBq%TnS+taV*$orQ1P@jI& z^<4>HEw+7=MZFJn^>tSt)e^8t$D}tl#-BF;i|+fvoYfsBxAOWj&J;TE?6vO>AuNqC z?o=A+aXw3Vajd^M$}x_GJYCjClpV>bcIbLXPR4KeYz;)q2h&cc z&W)APM;RIZG;NhXUSDV)xshj&%uvQ#%JP5{a9@Bwxc`zp9`xMUR_NvDtUHVt{~c)K zYydGC&-CaQqO6)8C-Tx?=V&eid$maq9dxmuQ`ueKg~MVIux11jxmrtGo4*2;cdpzcH7_>zK0DuF| zTKnn{_ztijmG#-+`)o4cZ7}{(e9mjXjH13Nm2z61(J=BhUk{XMKRl|*=mVTuIsQvH zx+$XDpJ#XZVvVNV_kcfr;L<%d_?B;b^s?c)q*_8<)6u6s$?qeh3yjzNs3kMCWY=rom0(Y*%aZHyc)F~$vbdL*|khWL=0C2!rYZd|Dg|Han_&QYki%pRzzIVMGI5cg_ zI^8C{&bO3<$=_1#sK-Ky>01s43aP5KEjzu&I2hlP4!QZIc&5i8Wh|xc^y<=7-o{g2 zUXXlbb|ji5^jaQL$jtj^mWr*{2dzZ?LS?TH0ua9reDJ}`=059++=l6Zv({V&oZ0kL z2N0D&u3Rj2c{{Umxn)kN$M8tE4bW?gzAV%A(l706pVP7~;M@8kZ7sm4DNpk?voYj# z+9t^-?GRi}+uUB+U;f(%yTN-+t{opA$jP`^37cM9^ZS;@8jC)5o)9p6v0_%^)$^b& zvv)4wK8UY=@Upqj_*!k+q5%NF0cWk*D@MLW;J0IR!lTQ)#cA9iAUmO*)WybQ?LzGz zf|ivAv-k}8oytj;)Sr&03qD$dti>rL+hx6lXf$$>)oPcnqFMt1%c?@9@KxSG7RNqA zd+a6SCMm|;#H@N;k@+IyV|};c0+&QM_o2(@s^6R(DA56Dt(^n$XTbg*Pq|&IauNH{ z*d4zr*Jvxrn&YH#18(~Un8sM}j%v!fOou76Es@|CV(&`~*=H3Ki(;~shz0T+dkR^( zf0kf7E=F8MLDoiZ?8;xSOuC+ATg#P>gOp?SQDw<<$?Gf27CjbZIwOA{AumUimusb# zo7)kH#JBy=Wpn?z>V(^VE1*SZuGtM(0-T`hY6!W;+lAt4I&>ZMm$j*A5`UoI#F&oU zTKv28KtElcO?`b5^bBwo@TG??pF3gGZI2e6x#s8qw-n%*$^s_9ow>OSIh_l&TInrt zSZrnr&}wiFwryQ@yEZC*sjoPCPWDOwY}jYnCBHWy*l1_@Z*D@$Hbh;m-z0A{E{wj+ z)?MwlFvjvt_qDds>VIvwSyqX2A=|QF)yqDtj!DBdum6BsAG&<*dwnbGv{e9rL@znx zi4%aUfL*<*nWN&CM`j!PyGGJu4)o=MT!w`^M;5g5T8o@6AInW0--TO4qd`iSNB8;? zggnO5s8j1o{^cIEnk>{R0vH{n*Uz7I#+FZFgM66Fb$ z-_AcW&vje!rH)z*y2!Fm%dq;vv&XZ~ihrLU__6w??-9Hwt6eJ<5HVzUy`9n)} zyOW-@f+>5}0S7;H`P^l`w{_a8006*?&v@bxBDVssk~>Ov%;oL1#=vZj{;mDI0xiup zv27Np*rfQgvcw+q&TI6^I>k`%jCG^|m7!S+4MbJ!#l(rJmKP9btf z`2ylj+E|*Ncw*#c;M8ASx#w`R--Ps%GoDxo{3OC&smuapy3Ph_cAK_sd+Z$o8923u zgbfbup1SxH*`;{KMv!vMVQfZ#p=ws|$Px@f};$731 zV*Xk3tmRnSsV@T*HsHjyX_xntl5%R9dDl4Wqsx|;kHG-P{O=WeF6|K4Th~@Y zFFO5+U4hGhlZu!0&<@u2CnrZFQC*9;d_GHdl5deEt52Qg>$+n-vjuPQ?4Ecv{gWK! z*Is1Q$Iht^U9zv5vLd7J<nxPsJEd4=o;IBoU&fNOx=rK9u8 z+3ne!^o{fw$W^rUnp!+Jf_Pp+esTo zAj3xXee^l8ydF4X*;VtNoWQh!Dzxyl)!PAg#K@bhYn&d))d^pbh2a2lK@zlEz*U0x zC=AKKzXGP2498wc#rPEVHayZlAxP`g35nKI0QyRq)~Vy7;~A6;5b-e_FZxKzt#xjy zs>HRc4=nvUfzi6GWkm8?@#MCp3Lq*Rb}bM zxAwYe$VP7S%zntf%knf)WL*|hV;7E6-`Ji4>1Qi)*$+)u$yk!}%5qcwsP0MN)JLzH zcM}6W@3i2fs}}(O0lX-c^#P%&yapKi0OyPX#3`~x77PGj=$!=QCOO&%j5=++6$9C( zXlKat;y7JfCjrvBtdLv`qkjMEjod`0oQtLSQlUL(d-Sw5Y~wAv)bQQO%|-LoxVk^85PHC9BKsJ~s5x z*VpF0`jotHguus^e{udpzC{CVEbVvd%O04Y>T$1F8|{Et2>RIfVL?B0I<&~kM9)V9N;q% zcJZYHdr!ZWF?897@jZP`FACB+8XgDj z8$Lb|;fxhm&;K?9y&$yjDUZJ%_ z7D}XF+E(2MMO?I@h96R;6+gF+t-{)FCu5^Qh~=*}Hgz94V?(!{itVGUjjwszB`dC; ze|p9GY11|f021x>;Z=VKTn@ZU*L9&?UDgMETj;Kfyh{m|eyMK~@@(ls##Z*yWn))) zm#mt-R$U1EQ;eLs>Pve)FE`E%G(Fn;BdgvA+!#XG&I7)EF7-@$9P3dRFn_*DA6s{U z{@!x?fbX7{KA=0hwk~B%V*7OboDS%pWNgh~x&=6PsPyM(}> zNBBg5otn2nHSkXEuJ|cN!#;kI#<-1{=}1|Ur$`s_ojpQ>(2J}DvH5w(y_P17^@ip& zp+%+0?_;ISbwg!p!=LT$N>342@#7m-8lZW`%4%62@C)E9V*JMA*Y5rNujm6!OnZHJ z)w@FAmKfPZmWR+jebWVGy?QAleeZi@I|=nUmQU~fPbBTi+G0P|;$1qBd})eUep_}) zxi#Oqj==R25|~V`wm%j3i9?MfuNChU>*l*5PxgoO4aD!U7zvN(W8X_BPWvUmnXA6E zX*Pct06<3bPFneL0++|g+riF6B{dz-Xj2}&uqIWejoSZpyKImqaG>}9u`GQ=CS{~S z?X}T9XkQvzjNP;mqxhx1OkON8(FnAlu?&oDX@2A=Dt<+U{n6$9C6S8>d~Wr%dk>HH z%`lpO^2*;Ogl__KfdaL)b3tALYDd!;iZ;B}Gh6F0St4hvT_##51LHa|X7eXzTA5iQ zpa5|51WV?RG10}m$u3#Qm?>UaZ$5pbLt!pDrF{A8s?BE^W@S@ySH`(`-aY2>^CzA} ztn{@8*A28-Y5FMH5I^(ywR?Y#O-us- zFlf({R=xrF6z~qP$C%NtW|9l-+A>SX$~Hd16V&&l*VB;=?QvQ99@Y289?Fil#%>^Q zn<3fY51#29wMqN?90NOXcnY{CMlN1+-QEvRX2C!&B+Wm0<*&uacL^*oQ%VH}ivy)7 zGR9O+I~F8JO!Yu9mr|M3ueS*t{l&c06HO{qIxOEbpdImL0fb<{HCAR9~h!r6>hd??B-zhlYY_)N*$oH}^xmvB<@X7L++ z{Z)WdR)2Z#FY^M>001g9_d_dR8;PF;-UFip=k{j0M0uIsT+78KAM)k+m1t6x5z&X< zEnmqK$NJa&5M7Y)^}b{(v^ zb{Fk2Y}rIbu4lWoacjOVe?6Wq8$_E`jGp9(G|lh;01358L_t(ovhFMUtm!FcpczDS zKeTf6k}kq2kyvEzCW(agyFsI}Ma^MGO6CZhoWOh9u^T=CKvUaodl^5_3>w8NUv#K3DqR!W4atTZ{1h+d3Iy$oDK~DU>daB z2Oir$j9w=65ny&RIJ~r26zM^fMur|>lH@f`Z;hRaKnbL?)wY_ZB;b;gO42uVQC2bmIYp|G1q=;N2biIbQUbB zfR(CT%GNxZxBP*z9K7fA-?A$&vp|2D8d!12PY>i9@Nz({bp{0<+L$LffU?P!<%51J z0kKF#Kj;LfwNqb?l}X9yI(t;{&ZDLKK=+}QkhOB{Ej^t?wBy!ZEyuR60Z!a-{l5QL z3C1R+0RU_S?RLUry8`bbaD0rsjd3E|eb;F_81rc+27EfsN}OtiQujiSH_LXALOXF1 zzn%aiQTAQA#(VRHURph|XsY;gpwrsgMkNO^`Rh+(jB6p>3fvUn-=4f--%a*N%s`u; zcKg6%+XH8Xz+c74?y0<(P0r4pz^!|!Z2VsaXw!G`7gQP9@GU@YIgWj@PBD=3_59Hw zU&n%co=MQGSE7tZ&O^iZteiaDZpJO;D1fiawB1Rs>=$W^)=}tGx|-vDl_**IbWnYm zQwBlzTOqR$05S44;M^y_y6p!sd!OTr1JZHBxKdXB(%fE$T?^Qjy6+vuOY9B9j;T~ByyVStMx zyf+P+0?an^Nxlyruw6?NRyPTT3EPKu;Q*rNr zxCBThw@fzVj;0^G)EjzfW3Er0*l5_0{E+r)HtTdC_e~^3YW>T8JWT>71*npr(w`~v ztlm1sD1QSXb^f<2G9TiHUaH?{PI@=#}RpdBrY%)lWZXx z4bnjSZh(Y$uK@{SakC)4krkxxGNX|CV>ZbI`ggLAu|GeI za3iqv=^OVO?&cqeU5;P=7T`)?u?a}WBtdnZKAG>Q_i=hoC@I0gp_tw*`+Qq zccd;8&|4r|ZGgdxqp_*#@2(GuSI4UG&542RN16DPLMk@Y{HP^0*4n3vn`&G`Kel4FF&h(vHVIx*c$M2pkW*Gr}HvLd$_yEF?jVNoS&F0~y&M zmm?PxQ?6_hRIy$FI~EJ~1VXkS{do{r8Y4G7d-MKxmzE5)t<%oOE#EE@j|qfN0*5pe zdi9E8Xaxam@uxP@Y^POhqwyu$bP zMLyR3MJC7)G0~StMiPa;q4hs+tYV*qvW-oi+>FbGJ}F9Gmp9`hVg#Ytw43!-^jFfK zCu#Y+`h~$n@;=fxTZh2f7`Y+@E_?dM{Z=u5gwv{7C!%oa#vqNmF71bQ^U?GbJd zaL2PZ@BiRrksN4Sr5%rbGys20;8Vb%K#?V8S-J5S_1OfoiBE2ZhM;Ui@BngX>m*g~ zrEBf7NXW}hCCJ<9O*(6@ZSDc+Q<=Md#Qd|2g>_Qmojf!#?<2D#MtUtZee>dNAx0}k z!XC&TZ(Ipn0xWs6I93g+Q z>;asGPhHT{H|rqUcoSR0Z!c32aD5faNIf^ds*NH;5f%HdyX}#@tdCyLgB|?>d7ze3IFfjBR zn`x#)IN`c!=*az&LbH!qj3gDnLvQ5d->oGzV=X{Hn?Q}fJsja{A#l@kUt4fzY0=E3 z0RYTk3dcM$kH|rUuo&WEU@?)!z$<_q!N@2Kq}qJWgv)v(4-$(?)1;NZ7PyDVJp}F% zpYM;iEPU$ui@-nw^`}|KEISA|3U~|fdSE9gH-7WRFUY`emIcz5r+H+`(VLh0Y#w2Y ztl8VlqOMmPlFmfsFV<lN&GRwBsBQt(F79y5l#LURp$v?W6 zM!Xo6h5(Vf2;5HO8^9e~YLYVmfGv@Zeq=jf5wLjtZxJvDm<{Yc{;U7(T#>i|SnvGX z!03e)_W}0+_W~vqoH_rSdz#(nB5kq~6Q63Dm z?bJ?f#oSAZYM-07ff(cc0q!7h2XK45W#MBL&$bvE0Km3FM?bOyEjZYjcGG{7r3<%6 z^g7T$z3J#jwg(OX4x$Cli-Co-AbHo#X5T=Ylb)qbcvdk=a_-6gE?u})zH)p300Rv) z&_Iw*))GkGg<*Z%nyKCNmo9w4-@!l7Km!dl&_DwXG|)f;4K&a|0}V9LKm!dl&_DwX vG|)f;4K&a|0}V9LKm!dl&_DwXv{Cf`sXiX>Kml;G00000NkvXXu0mjf9o-I6 literal 0 HcmV?d00001 From e23c69b68112a5259ed8f83305f813c7119d3663 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 10 May 2017 17:03:56 +0200 Subject: [PATCH 728/778] Codestyle --- MacPass/MPActionHelper.m | 2 +- MacPass/MPOutlineViewController.m | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 18711830..791de86d 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -23,7 +23,7 @@ @(MPActionAddGroup): NSStringFromSelector(@selector(createGroup:)), @(MPActionDuplicateEntry): NSStringFromSelector(@selector(duplicateEntry:)), @(MPActionDuplicateEntryWithOptions): NSStringFromSelector(@selector(duplicateEntryWithOptions:)), - @(MPActionReverToHistoryEntry): NSStringFromSelector(@selector(revertToHistoryEntry::)), + @(MPActionReverToHistoryEntry): NSStringFromSelector(@selector(revertToHistoryEntry:)), @(MPActionCopyPassword): NSStringFromSelector(@selector(copyPassword:)), @(MPActionCopyURL): NSStringFromSelector(@selector(copyURL:)), @(MPActionCopyUsername): NSStringFromSelector(@selector(copyUsername:)), diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 65d40402..33f8a84e 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -180,7 +180,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; #pragma mark Notifications - (void)regsiterNotificationsForDocument:(MPDocument *)document { - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; + [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document]; } - (void)clearSelection { @@ -190,7 +190,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } - (void)_didBecomeFirstResponder:(NSNotification *)notification { - if( [notification object] != self.outlineView ) { + if( notification.object != self.outlineView ) { return; // Nothing we need to worry about } MPDocument *document = self.windowController.document; From 9beca326a10fe706ce03059a712081209a0e0d17 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 15 May 2017 09:58:44 +0200 Subject: [PATCH 729/778] Custom data removal. KeePassKit is not KVC-compiant so the ui does not update immmediatly --- MacPass/Base.lproj/EntryInspectorView.xib | 8 ++++---- MacPass/MPPluginDataViewController.m | 17 +++++++++++++++++ MacPass/PluginDataView.xib | 16 ++++++++-------- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 347ad2c5..0e71f501 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -94,7 +94,7 @@ - + @@ -271,7 +271,7 @@ - + @@ -752,7 +752,7 @@ - + @@ -948,7 +948,7 @@ - + diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index e9db4528..161b3cc7 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -46,6 +46,17 @@ return nil; } +- (IBAction)removePluginData:(id)sender { + if(![sender isKindOfClass:NSButton.class]) { + return; // wrong sender + } + NSInteger tag = ((NSButton *)sender).tag; + if(tag >= 0 && tag < [self.pluginDataController.arrangedObjects count]) { + id keyValueStore = ((NSArray *)self.pluginDataController.arrangedObjects)[tag]; + [self.representedNode removeCustomDataValueForKey:[keyValueStore key]]; + } +} + - (IBAction)removeAllPluginData:(id)sender { // } @@ -60,7 +71,13 @@ toObject:view withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(key))] options:nil]; + + view.removeButton.target = self; + view.removeButton.action = @selector(removePluginData:); + view.removeButton.tag = row; + view.observer = self.observer; + return view; } diff --git a/MacPass/PluginDataView.xib b/MacPass/PluginDataView.xib index dbcccbde..4d81209d 100644 --- a/MacPass/PluginDataView.xib +++ b/MacPass/PluginDataView.xib @@ -1,8 +1,8 @@ - + - + @@ -48,24 +48,24 @@ - + - + - + - + @@ -120,7 +120,7 @@ - + @@ -150,7 +150,7 @@ - + From 970ca49357b01f7a4a74c958bea2b10bf5a38c09 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 16 May 2017 15:30:43 +0200 Subject: [PATCH 730/778] Adopting new KeePassKit APi. Codestyle --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/EntryView.xib | 18 +++++++++--------- MacPass/MPDocumentWindowController.m | 6 +++--- MacPass/MPPluginDataViewController.m | 2 +- MacPass/MPTableView.m | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Cartfile b/Cartfile index fae0c2e0..7c7f9ce0 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "19073179a3f4d0dad79d4ac67e39f3dec4f2f6fe" +github "mstarke/KeePassKit" "5f8377c760eeab1b366ac590dd7a7a65821e61dd" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 2b949443..90613cb4 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "19073179a3f4d0dad79d4ac67e39f3dec4f2f6fe" +github "mstarke/KeePassKit" "5f8377c760eeab1b366ac590dd7a7a65821e61dd" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 67570ee9..215df408 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,8 @@ - + - + @@ -48,7 +48,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -93,8 +93,8 @@ - - + + @@ -134,7 +134,7 @@ - + @@ -171,7 +171,7 @@ - + @@ -208,7 +208,7 @@ - + diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index b3f1c6d1..8b509ce3 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -439,7 +439,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); return; // We are displaying the entries already } if(contentView.subviews.count == 1) { - [contentView.subviews[0] removeFromSuperviewWithoutNeedingDisplay]; + [contentView.subviews.firstObject removeFromSuperviewWithoutNeedingDisplay]; } [contentView addSubview:self.splitView]; NSView *outlineView = self.outlineViewController.view; @@ -565,8 +565,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); #pragma mark UI Helper - (BOOL)_isInspectorVisible { - NSView *inspectorView = [self.inspectorViewController view]; - return (nil != [inspectorView superview]); + NSView *inspectorView = self.inspectorViewController.view; + return (nil != inspectorView.superview); } @end diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 161b3cc7..1e2ebb4d 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -53,7 +53,7 @@ NSInteger tag = ((NSButton *)sender).tag; if(tag >= 0 && tag < [self.pluginDataController.arrangedObjects count]) { id keyValueStore = ((NSArray *)self.pluginDataController.arrangedObjects)[tag]; - [self.representedNode removeCustomDataValueForKey:[keyValueStore key]]; + [self.representedNode removeCustomDataForKey:[keyValueStore key]]; } } diff --git a/MacPass/MPTableView.m b/MacPass/MPTableView.m index 7f8f98d1..1a899d19 100644 --- a/MacPass/MPTableView.m +++ b/MacPass/MPTableView.m @@ -37,7 +37,7 @@ We need to clear the outer areas as calling super will not do that for us */ - [[self backgroundColor] set]; + [self.backgroundColor set]; NSRectFill(clipRect); [super drawBackgroundInClipRect:clipRect]; } From 92be84d13af31d5b4c0a524ca950139cfee68c54 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 16 May 2017 17:14:48 +0200 Subject: [PATCH 731/778] Using current KeePassKit --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 7c7f9ce0..2d010fd9 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "5f8377c760eeab1b366ac590dd7a7a65821e61dd" +github "mstarke/KeePassKit" "4fd7f5fa86e500c0b748258328546256f8148e98" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 90613cb4..5f303186 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "5f8377c760eeab1b366ac590dd7a7a65821e61dd" +github "mstarke/KeePassKit" "4fd7f5fa86e500c0b748258328546256f8148e98" github "sparkle-project/Sparkle" "1.17.0" From 441496f2604c26171778f8d00b71cbdc29d9dacf Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 17 May 2017 19:05:17 +0200 Subject: [PATCH 732/778] clearing plugin data wired up --- MacPass/MPPluginDataViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 1e2ebb4d..6ac728c6 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -58,7 +58,7 @@ } - (IBAction)removeAllPluginData:(id)sender { - // + [self.representedNode clearCustomData]; } - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { From 0dd4a2cc1f6e7cd860797c848ed31f19cf1ab10b Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 17 May 2017 19:05:49 +0200 Subject: [PATCH 733/778] added synchronization on database change --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/MPDocument.m | 16 +++++++++++++--- MacPass/de.lproj/Localizable.strings | Bin 15124 -> 15258 bytes MacPass/en.lproj/Localizable.strings | Bin 14072 -> 14206 bytes MacPass/fr.lproj/Localizable.strings | Bin 15388 -> 15522 bytes MacPass/it.lproj/Localizable.strings | Bin 14686 -> 14820 bytes MacPass/nl.lproj/Localizable.strings | Bin 14608 -> 14742 bytes MacPass/pl.lproj/Localizable.strings | Bin 13942 -> 14574 bytes MacPass/ru.lproj/Localizable.strings | Bin 14810 -> 14944 bytes MacPass/sp.lproj/Localizable.strings | Bin 14926 -> 15060 bytes 11 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Cartfile b/Cartfile index 2d010fd9..a00a20ec 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "4fd7f5fa86e500c0b748258328546256f8148e98" +github "mstarke/KeePassKit" "eb282e54e69c46cf428cda4f81b5a5eb763df38b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 5f303186..91cab3e7 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "4fd7f5fa86e500c0b748258328546256f8148e98" +github "mstarke/KeePassKit" "eb282e54e69c46cf428cda4f81b5a5eb763df38b" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index a8f93272..d779f5d0 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -291,12 +291,22 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou alert.informativeText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_INFO_TEXT", @"Informative text displayed when the file was change from another application"); [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; + [alert addButtonWithTitle:NSLocalizedString(@"MERGE_CHANGES", @"Merge changes into file!")]; [alert beginSheetModalForWindow:self.windowForSheet completionHandler:^(NSModalResponse returnCode) { self.fileChangeDialogOpen = NO; - if(returnCode == NSAlertSecondButtonReturn) { - [self revertToContentsOfURL:self.fileURL ofType:self.fileType error:nil]; + switch(returnCode) { + case NSAlertSecondButtonReturn: + [self revertToContentsOfURL:self.fileURL ofType:self.fileType error:nil]; + break; + case NSAlertThirdButtonReturn: { + KPKTree *otherTree = [[KPKTree alloc] initWithContentsOfUrl:self.fileURL key:self.compositeKey error:nil]; + [self.tree syncronizeWithTree:otherTree options:KPKSynchronizationSynchronizeOption]; + break; + } + default: + break; } }]; }); @@ -350,7 +360,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentDidLockDatabaseNotification object:self]; } - + - (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{ self.compositeKey = [[KPKCompositeKey alloc] initWithPassword:password key:keyFileURL]; self.tree = [[KPKTree alloc] initWithData:self.encryptedData key:self.compositeKey error:error]; diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 7c61ba1afebaed4d04a411b711051436330000f2..7f2c6ea8c22e0746188267532052f751dfa16d4c 100644 GIT binary patch delta 124 zcmbPIHmiKY2~&Q31}z2!2499$h9ZV^hSbS|hQiUA40#MC4EaFuG=@xu9H5*ckgdg_ z&%ni?1XSzF5X9gPB;y&J89W#q8T`P!V4$1=gDnt))IiMx@{$=c7!rXd0!?Qq-n`#5 GlobF1fEPCa delta 12 TcmbPLKBa8K3DeDfWA_ diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 041c86d1edc2dfbec0c0881026095a469886cdf4..45ba6eb6b5e40efaa6316e72c60b1ce7d37ebd40 100644 GIT binary patch delta 132 zcmey7`!8?93d70I41^}{GVJ5mXV79$VDM!~Whi1uXGooVQCB!RlOd0xgdra&p2m>L zkOP!c1hTal^clDqlz?ho8G;zxfn+>`GlK_%BZD897YvkBV6X*ZkQ%6YKwdIK216py PM4;&m#hdMocCr8ffGr#> delta 18 acmeyD_ak@13PZ-w$tw-#Z$4+Vfdv3xB?%+| diff --git a/MacPass/fr.lproj/Localizable.strings b/MacPass/fr.lproj/Localizable.strings index 13eb21aa16ee5090299aa2525462b1691785ac1e..2fcca0085982bd375c99da9bbcf3a02ebe88abcb 100644 GIT binary patch delta 110 zcmbPJv8Zx`jybPBgBF7VgD*oWLlHyzB diff --git a/MacPass/it.lproj/Localizable.strings b/MacPass/it.lproj/Localizable.strings index 91859244b0ff6c832d3cc1dcc3c20907049cad62..1e1751675f94727420fcd3f9911a4667e7e1025b 100644 GIT binary patch delta 86 zcmcat^rU!0oC&W!gBF7VgD*oWLlHyzWJY6A^-P95h7yK+plBLHCPNNTMiI!?V$f&c dVo(CAbY%!)aA$Cx%xxmgj?gE(In0EE6#zv55m5jD delta 11 ScmaD-e6MIjoXO%RCaeG_UhGd2ehD4x==|EmFgW_gZ H6K+-joa7ZV delta 12 TcmbPMJfUaJ~BO?TU diff --git a/MacPass/pl.lproj/Localizable.strings b/MacPass/pl.lproj/Localizable.strings index def247b6ed13a2f781a14e8f3209d048d43ed234..8304bd6bee08fc788345c869e54c26f9eee2449e 100644 GIT binary patch delta 541 zcmZ`$Jxc>Y6r4g4(%KjmT+bqKkgvi@EUq|2Br3TiAQs{Dk|;SZn%fX8Bu)N6*gqoV zclcK5D^iH3Vn3&iY^`zGgFKyzbSK#l6fl}{MI_k))LJo&bWL8 zX69~Bt}UA=3g?1N(Lt7v5DER1|MAmZ;u;T2ZxMMk_nn=ngA!Rio@5@)e-iX2gw_pX zJ6ud`WToUfLK+n0p0r}1N24F6MMikyDIx0M1UarUTvltgKV`o# w%`3&-jq`P7XwkoFVpfw^tsdZzxl7I*`D?t+x?HOHuI%MSA(LnBRgX7+0OrGG%m4rY delta 17 YcmaD?_$_CHjP7PWeLa@Vhm3Vt0ZBUswg3PC diff --git a/MacPass/ru.lproj/Localizable.strings b/MacPass/ru.lproj/Localizable.strings index eb65643d72bb639427c9d7fb58d3c34474459470..0a5f0a8af098fddb24b3378b43d68ae09f7664c3 100644 GIT binary patch delta 103 zcmcar{GepR6BB-Y1}z2!2499$h9ZV^hSbS{2Eyu@40#MC4EaFuG=@xu9H5*ckgdg_ s&%ni?1XSzF5X9il;5xbAL|O{26R0AYA%h_is26AsLovhVJ0|~F0N*SZ82|tP delta 12 TcmaD*a;td56O+wZrr%fqFu?}4 diff --git a/MacPass/sp.lproj/Localizable.strings b/MacPass/sp.lproj/Localizable.strings index 0103734bf39b9c18170cf5866728b0f81c082527..4851e90d24acaf17410e34ac6cb2059b2886dd8b 100644 GIT binary patch delta 187 zcmX?Ca;22%|G$mQkC~Yn)D$+qWL9JXGkDpeIl+u0kX^!%4`ihQ**QQpia@p& jgFXWngA!1uD?<>2JA>=wexXn@A>}ATr%E$l!jbSJk delta 96 zcmcaodai`|-+zXUOplqF71S6uzhG8m0yB8nqB+5gEPiGdCIz+0fqbHyTZHekf(6qg mKSN|=l%2UbfEtw;tQoi_H>yidF3>mI{6jB-ZSytLzbpVZ5gS7Q From 10556d6c0816633a0fe7e5bc215c63d09975d653 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 May 2017 12:10:49 +0200 Subject: [PATCH 734/778] extracted merge to function. Added action to merge arbitrary files --- MacPass/MPDocument.h | 1 + MacPass/MPDocument.m | 28 ++++++++++++++++++++++------ MacPass/MPDocumentWindowController.h | 1 + MacPass/MPDocumentWindowController.m | 14 ++++++++++++++ 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 37f4c18e..de4d36c0 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -150,6 +150,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; - (void)writeXMLToURL:(NSURL *)url; - (void)readXMLfromURL:(NSURL *)url; +- (void)mergeWithContentsFromURL:(NSURL *)url; /* Undoable Intiialization of elements */ - (KPKGroup *)createGroup:(KPKGroup *)parent; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index d779f5d0..7ccaedca 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -283,6 +283,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou self.fileChangeDialogOpen = YES; /* Dispatch the alert to the main queue */ + __weak MPDocument *welf = self; dispatch_async(dispatch_get_main_queue(), ^{ NSAlert *alert = [[NSAlert alloc] init]; @@ -292,18 +293,16 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; [alert addButtonWithTitle:NSLocalizedString(@"MERGE_CHANGES", @"Merge changes into file!")]; - [alert beginSheetModalForWindow:self.windowForSheet completionHandler:^(NSModalResponse returnCode) { + [alert beginSheetModalForWindow:welf.windowForSheet completionHandler:^(NSModalResponse returnCode) { - self.fileChangeDialogOpen = NO; + welf.fileChangeDialogOpen = NO; switch(returnCode) { case NSAlertSecondButtonReturn: - [self revertToContentsOfURL:self.fileURL ofType:self.fileType error:nil]; + [welf revertToContentsOfURL:welf.fileURL ofType:welf.fileType error:nil]; break; case NSAlertThirdButtonReturn: { - KPKTree *otherTree = [[KPKTree alloc] initWithContentsOfUrl:self.fileURL key:self.compositeKey error:nil]; - [self.tree syncronizeWithTree:otherTree options:KPKSynchronizationSynchronizeOption]; - break; + [welf mergeWithContentsFromURL:self.fileURL]; } default: break; @@ -327,6 +326,23 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou self.encryptedData = nil; } +- (void)mergeWithContentsFromURL:(NSURL *)url { + /* TODO read file to check what format to use */ + NSError *error; + KPKTree *otherTree = [[KPKTree alloc] initWithContentsOfUrl:url key:self.compositeKey error:&error]; + if(!otherTree) { + if(error.code == KPKErrorPasswordAndOrKeyfileWrong) { + [self presentError:error]; + } + else { + [self presentError:error]; + } + } + else { + [self.tree syncronizeWithTree:otherTree options:KPKSynchronizationSynchronizeOption]; + } +} + #pragma mark Lock/Unlock/Decrypt - (void)lockDatabase:(id)sender { diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 2596a5c6..ab469986 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -43,6 +43,7 @@ - (IBAction)editTrashGroup:(id)sender; - (IBAction)exportAsXML:(id)sender; +- (IBAction)mergeWithOther:(id)sender; - (IBAction)importFromXML:(id)sender; - (IBAction)lock:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 8b509ce3..05dbc999 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -296,6 +296,20 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); }]; } +- (void)mergeWithOther:(id)sender { + NSOpenPanel *openPanel = [NSOpenPanel openPanel]; + MPDocument *document = self.document; + openPanel.allowsMultipleSelection = NO; + openPanel.canChooseDirectories = NO; + openPanel.canChooseFiles = YES; + //openPanel.allowedFileTypes = @[(id)kUTTypeXML]; + [openPanel beginSheetModalForWindow:self.window completionHandler:^(NSInteger result) { + if(result == NSFileHandlingPanelOKButton) { + [document mergeWithContentsFromURL:openPanel.URL]; + } + }]; +} + - (void)fixAutotype:(id)sender { if(!self.fixAutotypeWindowController) { self.fixAutotypeWindowController = [[MPFixAutotypeWindowController alloc] init]; From 9e67d0a1ef974a851b13d55f264049fd399b578a Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 May 2017 12:16:13 +0200 Subject: [PATCH 735/778] Merge button is default action --- MacPass/MPDocument.m | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 7ccaedca..73c12e44 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -290,20 +290,23 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou alert.alertStyle = NSWarningAlertStyle; alert.messageText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_MESSAGE_TEXT", @"Message displayed when an open file was changed from another application"); alert.informativeText = NSLocalizedString(@"FILE_CHANGED_BY_OTHERS_INFO_TEXT", @"Informative text displayed when the file was change from another application"); - [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; - [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; [alert addButtonWithTitle:NSLocalizedString(@"MERGE_CHANGES", @"Merge changes into file!")]; + [alert addButtonWithTitle:NSLocalizedString(@"LOAD_CHANGES", @"Reopen the file!")]; + [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; [alert beginSheetModalForWindow:welf.windowForSheet completionHandler:^(NSModalResponse returnCode) { welf.fileChangeDialogOpen = NO; switch(returnCode) { + case NSAlertFirstButtonReturn: { + [welf mergeWithContentsFromURL:self.fileURL]; + break; + } case NSAlertSecondButtonReturn: [welf revertToContentsOfURL:welf.fileURL ofType:welf.fileType error:nil]; break; - case NSAlertThirdButtonReturn: { - [welf mergeWithContentsFromURL:self.fileURL]; - } + case NSAlertThirdButtonReturn: + // do not change anything default: break; } From 4a95b10af18fe6ce451df13bf5f584e857830b94 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 May 2017 15:36:46 +0200 Subject: [PATCH 736/778] changed password input to use block based api --- MacPass/MPDocumentWindowController.m | 5 ++++- MacPass/MPPasswordInputController.h | 6 +++++- MacPass/MPPasswordInputController.m | 21 +++++++++------------ 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 05dbc999..4997c2f8 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -323,7 +323,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); self.passwordInputController = [[MPPasswordInputController alloc] init]; } [self _setContentViewController:self.passwordInputController]; - [self.passwordInputController requestPassword]; + __weak MPDocumentWindowController *welf = self; + [self.passwordInputController requestPassword:^BOOL(NSString *password, NSURL *keyURL, NSError *__autoreleasing *error) { + return [((MPDocument *)welf.document) unlockWithPassword:password keyFileURL:keyURL error:error]; + }]; } - (void)editPassword:(id)sender { diff --git a/MacPass/MPPasswordInputController.h b/MacPass/MPPasswordInputController.h index 732fff81..a00feb70 100644 --- a/MacPass/MPPasswordInputController.h +++ b/MacPass/MPPasswordInputController.h @@ -8,8 +8,12 @@ #import "MPViewController.h" +@class KPKCompositeKey; + @interface MPPasswordInputController : MPViewController -- (void)requestPassword; +typedef BOOL (^passwordInputCompletionBlock)(NSString *password, NSURL *keyURL, NSError *__autoreleasing*error); + +- (void)requestPassword:(passwordInputCompletionBlock)completionHandler; @end diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 5a4992b1..04402688 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -29,7 +29,7 @@ @property (assign) BOOL showPassword; @property (nonatomic, assign) BOOL enablePassword; - +@property (copy) passwordInputCompletionBlock completionHandler; @end @implementation MPPasswordInputController @@ -66,8 +66,8 @@ return self.passwordTextField; } -- (void)requestPassword { - // show warning if read-only mode! +- (void)requestPassword:(passwordInputCompletionBlock)completionHandler { + self.completionHandler = completionHandler; [self _reset]; } @@ -87,15 +87,12 @@ #pragma mark - #pragma mark Private - (IBAction)_decrypt:(id)sender { - /* reset show password */ - MPDocument *document = self.windowController.document; - if(document) { - NSError *error = nil; - /* No password is different than an empty password */ - NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil; - if(![document unlockWithPassword:password - keyFileURL:self.keyPathControl.URL - error:&error]) { + + NSError *error = nil; + /* No password is different than an empty password */ + NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil; + if(self.completionHandler) { + if(!self.completionHandler(password, self.keyPathControl.URL, &error)) { [self _showError:error]; [self.view.window shakeWindow:nil]; } From 6f888ed3ee661fb76850614dfcbb75e3da358577 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 18 May 2017 17:43:18 +0200 Subject: [PATCH 737/778] Merge alert changes --- MacPass/de.lproj/Localizable.strings | Bin 15258 -> 15276 bytes MacPass/en.lproj/Localizable.strings | Bin 14206 -> 14214 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/MacPass/de.lproj/Localizable.strings b/MacPass/de.lproj/Localizable.strings index 7f2c6ea8c22e0746188267532052f751dfa16d4c..d7c3fa6380e920022f6aa9f145b20085c1551874 100644 GIT binary patch delta 56 zcmbPLzNUPGj+wS6Lmop0Ln1>CLkUAFg91YpLn%Wske>^LsX)0jhCe|0A`pACt63;3 E0Ixm{UH||9 delta 16 XcmZ2eKC66#j@jgMrc#?D%tBZJKv)Km diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 45ba6eb6b5e40efaa6316e72c60b1ce7d37ebd40..694fe011d6333ef68ac3124642ccf4339ed8c858 100644 GIT binary patch delta 146 zcmeyD*OtG*$xz*eA)g_SL7kz5L4m;s$WCNP0kV97tQ3Y!hBP2f1&K_)&mlf}fnkR; zh75xXP)`XECjoIWP_+V(&I6m`0@Pj1kPPG(K~2pB%A`(qG%DwHX2<}mO9$#G-hA9> GI|~4pcp(1( delta 116 zcmZq6|ChJH$xz>$Ar%M<7!(+i8A=(7fH0LIkD&y}F9WiQ7>XG(8S;T53Ji%rGG+2t u19e8l$(4rvlF1AiV6k+dx)h*%8c<~pkgYh`+o+r$S+ Date: Thu, 18 May 2017 19:12:09 +0200 Subject: [PATCH 738/778] fixed #590 and #591 --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index a00a20ec..6fe844e6 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "eb282e54e69c46cf428cda4f81b5a5eb763df38b" +github "mstarke/KeePassKit" "ba7e116cbe48edb3be3d82fdd9f6f72da5745d4a" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 91cab3e7..78e44d10 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "eb282e54e69c46cf428cda4f81b5a5eb763df38b" +github "mstarke/KeePassKit" "ba7e116cbe48edb3be3d82fdd9f6f72da5745d4a" github "sparkle-project/Sparkle" "1.17.0" From 1e719f661008abbb9ec57bcf375469bba6dfc55e Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 19 May 2017 17:12:11 +0200 Subject: [PATCH 739/778] Testing support for custom attributes in autotype builder --- MacPass/AutotypeBuilderView.xib | 28 ++++++++--- MacPass/MPAutotypeBuilderViewController.m | 60 +++++++++++++++++++---- MacPass/MPEntryInspectorViewController.m | 9 +++- 3 files changed, 78 insertions(+), 19 deletions(-) diff --git a/MacPass/AutotypeBuilderView.xib b/MacPass/AutotypeBuilderView.xib index 3217cb6a..1e169566 100644 --- a/MacPass/AutotypeBuilderView.xib +++ b/MacPass/AutotypeBuilderView.xib @@ -1,32 +1,44 @@ - - + + - + + - + + - + - - + + + + + + + + + + + + - + diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m index 3116d821..d792e63c 100644 --- a/MacPass/MPAutotypeBuilderViewController.m +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -9,9 +9,11 @@ #import "MPAutotypeBuilderViewController.h" #import -@interface MPAutotypeBuilderViewController () +@interface MPAutotypeBuilderViewController () + +@property (weak) IBOutlet NSTokenField *availableCommandsTokenField; +@property (weak) IBOutlet NSTokenField *commandBuilderTokenField; -@property (weak) IBOutlet NSTokenField *tokenField; @property (nonatomic, readonly, strong) NSArray *tokens; @end @@ -28,7 +30,7 @@ for(NSString *attribute in [KPKFormat sharedFormat].entryDefaultKeys) { [fields addObject:[NSString stringWithFormat:@"{%@}", attribute]]; } - + [fields addObject:@"{S:Custom}"]; _tokens = [fields arrayByAddingObjectsFromArray:@[ _MPToken(kKPKAutotypeShortEnter, kKPKAutotypeEnter), _MPToken(kKPKAutotypeShortAlt, kKPKAutotypeAlt), _MPToken(kKPKAutotypeShortControl, kKPKAutotypeControl), @@ -47,17 +49,55 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.tokenField.editable = NO; - self.tokenField.objectValue = self.tokens; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_textViewDidChangeSelection:) name:NSTextViewDidChangeSelectionNotification object:nil]; + self.availableCommandsTokenField.editable = NO; + self.availableCommandsTokenField.objectValue = self.tokens; + self.availableCommandsTokenField.delegate = self; + self.commandBuilderTokenField.delegate = self; } -- (void)_textViewDidChangeSelection:(NSNotification *)notification { - NSTextView *tv = [self.tokenField.cell fieldEditorForView:self.tokenField]; - if(tv) { - NSArray *selectionRanges = tv.selectedRanges; +- (IBAction)addCustomKeyPlaceholder:(id)sender { + if(![sender isKindOfClass:NSMenuItem.class]) { + return; } + NSMenuItem *item = sender; + NSArray *tokens = [self.commandBuilderTokenField.objectValue arrayByAddingObject:[NSString stringWithFormat:@"{S:%@}", item.title]]; + self.commandBuilderTokenField.objectValue = tokens; } +- (NSMenu *)tokenField:(NSTokenField *)tokenField menuForRepresentedObject:(id)representedObject { + if(tokenField == self.commandBuilderTokenField) { + return nil; + } + if([[representedObject uppercaseString] hasPrefix:@"{S:"]) { + KPKEntry *entry = self.representedObject; + NSArray *customAttributes = entry.customAttributes; + if(customAttributes.count > 0 ) { + NSMenu *menu = [[NSMenu alloc] init]; + for(KPKAttribute *attribute in customAttributes) { + [menu addItemWithTitle:attribute.key action:@selector(addCustomKeyPlaceholder:) keyEquivalent:@""]; + } + return menu; + } + } + return nil; +} + +- (BOOL)tokenField:(NSTokenField *)tokenField hasMenuForRepresentedObject:(id)representedObject { + if(tokenField != self.availableCommandsTokenField) { + return NO; + } + BOOL showMenu = ([[representedObject uppercaseString] hasPrefix:@"{S:"] && [self.representedObject customAttributes].count > 0); + return showMenu; +} + +- (NSTokenStyle)tokenField:(NSTokenField *)tokenField styleForRepresentedObject:(id)representedObject { + if(tokenField == self.availableCommandsTokenField) { + return NSTokenStyleDefault; + } + if([representedObject hasPrefix:@"{"] || [representedObject hasSuffix:@"}"]) { + return NSTokenStyleDefault; + } + return NSTokenStyleNone; +} @end diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 71902621..94b908be 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -280,6 +280,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { - (IBAction)showAutotypeBuilder:(id)sender { [sender setEnabled:NO]; MPAutotypeBuilderViewController *autotypeBuilder = [[MPAutotypeBuilderViewController alloc] init]; + autotypeBuilder.representedObject = self.representedObject; [self _showPopopver:autotypeBuilder atView:sender onEdge:NSMinYEdge]; } @@ -395,7 +396,13 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(tags))] options:nil]; - NSArray *inputs = @[ self.titleTextField, self.passwordTextField, self.usernameTextField, self.URLTextField, self.expiresCheckButton , self.tagsTokenField, self.generatePasswordButton]; + NSArray *inputs = @[self.titleTextField, + self.passwordTextField, + self.usernameTextField, + self.URLTextField, + self.expiresCheckButton, + self.tagsTokenField, + self.generatePasswordButton]; for(NSControl *control in inputs) { NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; From 3b8e0a7ae2726795b67aee705eb1db59bdb8593c Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 19 May 2017 17:22:27 +0200 Subject: [PATCH 740/778] renamed property more appropriatly --- MacPass/MPDocument.m | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 73c12e44..703ed285 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -79,7 +79,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou @property (strong) IBOutlet NSView *warningView; @property (weak) IBOutlet NSImageView *warningViewImage; -@property (assign) BOOL fileChangeDialogOpen; +@property (assign) BOOL lockedForFileChange; @end @@ -121,7 +121,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou if(self) { _didLockFile = NO; _readOnly = NO; - _fileChangeDialogOpen = NO; + _lockedForFileChange = NO; } return self; } @@ -276,11 +276,12 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return; // Just metadata has changed } - if(self.fileChangeDialogOpen) { + if(self.lockedForFileChange) { return; // We are already displaying an alert } + /* Set the flag in this call! */ - self.fileChangeDialogOpen = YES; + self.lockedForFileChange = YES; /* Dispatch the alert to the main queue */ __weak MPDocument *welf = self; @@ -295,7 +296,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou [alert addButtonWithTitle:NSLocalizedString(@"KEEP_MINE", @"Ignore the changes to an open file!")]; [alert beginSheetModalForWindow:welf.windowForSheet completionHandler:^(NSModalResponse returnCode) { - welf.fileChangeDialogOpen = NO; + welf.lockedForFileChange = NO; switch(returnCode) { case NSAlertFirstButtonReturn: { From 6eea1ed48e21a4ca4d5e875bedc109efcf3b645a Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 19 May 2017 19:24:24 +0200 Subject: [PATCH 741/778] Changed layout for Autotype builder. Using new KeePassKit API --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/AutotypeBuilderView.xib | 72 ++++++++++++++++++----- MacPass/MPAutotypeBuilderViewController.m | 7 +-- 4 files changed, 63 insertions(+), 20 deletions(-) diff --git a/Cartfile b/Cartfile index 6fe844e6..b3db7dcf 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "ba7e116cbe48edb3be3d82fdd9f6f72da5745d4a" +github "mstarke/KeePassKit" "ab95d3a85b2bcb86d9e3e5e74d2168c209756b8b" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 78e44d10..7af78158 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "ba7e116cbe48edb3be3d82fdd9f6f72da5745d4a" +github "mstarke/KeePassKit" "ab95d3a85b2bcb86d9e3e5e74d2168c209756b8b" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/AutotypeBuilderView.xib b/MacPass/AutotypeBuilderView.xib index 1e169566..611f64b8 100644 --- a/MacPass/AutotypeBuilderView.xib +++ b/MacPass/AutotypeBuilderView.xib @@ -16,29 +16,73 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m index d792e63c..e224b483 100644 --- a/MacPass/MPAutotypeBuilderViewController.m +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -70,10 +70,9 @@ } if([[representedObject uppercaseString] hasPrefix:@"{S:"]) { KPKEntry *entry = self.representedObject; - NSArray *customAttributes = entry.customAttributes; - if(customAttributes.count > 0 ) { + if(entry.hasCustomAttributes ) { NSMenu *menu = [[NSMenu alloc] init]; - for(KPKAttribute *attribute in customAttributes) { + for(KPKAttribute *attribute in entry.customAttributes) { [menu addItemWithTitle:attribute.key action:@selector(addCustomKeyPlaceholder:) keyEquivalent:@""]; } return menu; @@ -86,7 +85,7 @@ if(tokenField != self.availableCommandsTokenField) { return NO; } - BOOL showMenu = ([[representedObject uppercaseString] hasPrefix:@"{S:"] && [self.representedObject customAttributes].count > 0); + BOOL showMenu = ([[representedObject uppercaseString] hasPrefix:@"{S:"] && [self.representedObject hasCustomAttributes]); return showMenu; } From e8185480f1ef00d7625e7495482411e0c86b4b8d Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 22 May 2017 16:19:46 +0200 Subject: [PATCH 742/778] minor code improvements --- MacPass/Base.lproj/PasswordInputView.xib | 12 ++++---- MacPass/MPDocument.m | 2 ++ MacPass/MPPasswordInputController.m | 36 +++++++++++------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/MacPass/Base.lproj/PasswordInputView.xib b/MacPass/Base.lproj/PasswordInputView.xib index 5515d8ac..ae7de6e1 100644 --- a/MacPass/Base.lproj/PasswordInputView.xib +++ b/MacPass/Base.lproj/PasswordInputView.xib @@ -1,8 +1,8 @@ - + - + @@ -32,10 +32,10 @@ DQ - + - + @@ -57,7 +57,7 @@ DQ - + @@ -65,7 +65,7 @@ DQ - + diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 703ed285..5cb154bc 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -283,6 +283,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou /* Set the flag in this call! */ self.lockedForFileChange = YES; + /* TODO read file to check if changes took place! */ + /* Dispatch the alert to the main queue */ __weak MPDocument *welf = self; dispatch_async(dispatch_get_main_queue(), ^{ diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index 04402688..f75e962c 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -52,8 +52,8 @@ } - (void)didLoadView { - [self.keyPathControl setDelegate:self.pathControlDelegate]; - [self.errorImageView setImage:[NSImage imageNamed:NSImageNameCaution]]; + self.keyPathControl.delegate = self.pathControlDelegate; + self.errorImageView.image = [NSImage imageNamed:NSImageNameCaution]; [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [self.togglePasswordButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; [self.enablePasswordCheckBox bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(enablePassword)) options:nil]; @@ -76,22 +76,21 @@ if(_enablePassword != enablePassword) { _enablePassword = enablePassword; if(!_enablePassword) { - [self.passwordTextField setStringValue:@""]; + self.passwordTextField.stringValue = @""; } } NSString *placeHolderString = _enablePassword ? NSLocalizedString(@"PASSWORD_INPUT_ENTER_PASSWORD", "") : NSLocalizedString(@"PASSWORD_INPUT_NO_PASSWORD", ""); - [self.passwordTextField.cell setPlaceholderString:placeHolderString]; + ((NSTextFieldCell *)self.passwordTextField.cell).placeholderString = placeHolderString; } #pragma mark - #pragma mark Private -- (IBAction)_decrypt:(id)sender { - - NSError *error = nil; - /* No password is different than an empty password */ - NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil; +- (IBAction)_submit:(id)sender { if(self.completionHandler) { + /* No password is different than an empty password */ + NSError *error = nil; + NSString *password = self.enablePassword ? self.passwordTextField.stringValue : nil; if(!self.completionHandler(password, self.keyPathControl.URL, &error)) { [self _showError:error]; [self.view.window shakeWindow:nil]; @@ -105,31 +104,30 @@ [self _selectKeyURL]; } else { - [self.keyPathControl setURL:nil]; + self.keyPathControl.URL = nil; } } - (void)_reset { self.showPassword = NO; self.enablePassword = YES; - [self.passwordTextField setStringValue:@""]; - [self.errorInfoTextField setHidden:YES]; - [self.errorImageView setHidden:YES]; + self.passwordTextField.stringValue = @""; + self.errorInfoTextField.hidden = YES; + self.errorImageView.hidden = YES; [self resetKeyFile:self]; } - (void)_selectKeyURL { - MPDocument *document = [[self windowController] document]; - [self.keyPathControl setURL:document.suggestedKeyURL]; + MPDocument *document = self.windowController.document; + self.keyPathControl.URL = document.suggestedKeyURL; } - (void)_showError:(NSError *)error { if(error) { - NSString *errorMessage = [error descriptionForErrorCode]; - [self.errorInfoTextField setStringValue:errorMessage]; + self.errorInfoTextField.stringValue = error.descriptionForErrorCode; } - [self.errorImageView setHidden:NO]; - [self.errorInfoTextField setHidden:NO]; + self.errorImageView.hidden = NO; + self.errorInfoTextField.hidden = NO; } @end From 69f66f3dd33413f3974ff9d01bd82d305e8b3c63 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 22 May 2017 18:10:56 +0200 Subject: [PATCH 743/778] changed API to better reflect behavior --- MacPass/MPDocumentWindowController.m | 12 ++++++------ MacPass/MPPasswordInputController.h | 2 +- MacPass/MPPasswordInputController.m | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 4997c2f8..fc98f92c 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -145,7 +145,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); NSView *contentView = self.window.contentView; NSView *oldSubView = nil; if(contentView.subviews.count == 1) { - oldSubView = contentView.subviews[0]; + oldSubView = contentView.subviews.firstObject; } if(oldSubView == newContentView) { return; // View is already present @@ -165,7 +165,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layout]; [viewController updateResponderChain]; - [self.window makeFirstResponder:[viewController reconmendedFirstResponder]]; + [self.window makeFirstResponder:viewController.reconmendedFirstResponder]; } #pragma mark MPDocument notifications @@ -253,9 +253,9 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self.document saveDocument:sender]; } - (void)saveDocumentAs:(id)sender { - MPDocument *document = [self document]; + MPDocument *document = self.document; if(document.compositeKey) { - [[self document] saveDocumentAs:sender]; + [self.document saveDocumentAs:sender]; return; } /* we need to make sure that a password is set */ @@ -315,7 +315,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); self.fixAutotypeWindowController = [[MPFixAutotypeWindowController alloc] init]; } [self.document addWindowController:self.fixAutotypeWindowController]; - [[self.fixAutotypeWindowController window] makeKeyAndOrderFront:sender]; + [self.fixAutotypeWindowController.window makeKeyAndOrderFront:sender]; } - (void)showPasswordInput { @@ -324,7 +324,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); } [self _setContentViewController:self.passwordInputController]; __weak MPDocumentWindowController *welf = self; - [self.passwordInputController requestPassword:^BOOL(NSString *password, NSURL *keyURL, NSError *__autoreleasing *error) { + [self.passwordInputController requestPasswordWithCompletionHandler:^BOOL(NSString *password, NSURL *keyURL, NSError *__autoreleasing *error) { return [((MPDocument *)welf.document) unlockWithPassword:password keyFileURL:keyURL error:error]; }]; } diff --git a/MacPass/MPPasswordInputController.h b/MacPass/MPPasswordInputController.h index a00feb70..10f4cb0e 100644 --- a/MacPass/MPPasswordInputController.h +++ b/MacPass/MPPasswordInputController.h @@ -14,6 +14,6 @@ typedef BOOL (^passwordInputCompletionBlock)(NSString *password, NSURL *keyURL, NSError *__autoreleasing*error); -- (void)requestPassword:(passwordInputCompletionBlock)completionHandler; +- (void)requestPasswordWithCompletionHandler:(passwordInputCompletionBlock)completionHandler; @end diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index f75e962c..b5570269 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -66,7 +66,7 @@ return self.passwordTextField; } -- (void)requestPassword:(passwordInputCompletionBlock)completionHandler { +- (void)requestPasswordWithCompletionHandler:(passwordInputCompletionBlock)completionHandler { self.completionHandler = completionHandler; [self _reset]; } From 7b04331a2d5b72420b5d8c8bd14ff5e97b1e7ae1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 22 May 2017 18:11:08 +0200 Subject: [PATCH 744/778] stubbed API to call from outside --- MacPass/MPAutotypeBuilderViewController.h | 2 ++ MacPass/MPAutotypeBuilderViewController.m | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/MacPass/MPAutotypeBuilderViewController.h b/MacPass/MPAutotypeBuilderViewController.h index bfe11c71..4c0a86d0 100644 --- a/MacPass/MPAutotypeBuilderViewController.h +++ b/MacPass/MPAutotypeBuilderViewController.h @@ -10,4 +10,6 @@ @interface MPAutotypeBuilderViewController : NSViewController +- (void)presentBuilderWithSequence:(NSString *)sequence; + @end diff --git a/MacPass/MPAutotypeBuilderViewController.m b/MacPass/MPAutotypeBuilderViewController.m index e224b483..b6de938a 100644 --- a/MacPass/MPAutotypeBuilderViewController.m +++ b/MacPass/MPAutotypeBuilderViewController.m @@ -55,6 +55,11 @@ self.commandBuilderTokenField.delegate = self; } +- (void)presentBuilderWithSequence:(NSString *)sequence { + // TODO: tokenize input sequence! + //self.commandBuilderTokenField.stringValue = sequence; +} + - (IBAction)addCustomKeyPlaceholder:(id)sender { if(![sender isKindOfClass:NSMenuItem.class]) { return; From e6a73a2e659c5a50941e6ae5ecee0a1c81b44420 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 18:12:12 +0200 Subject: [PATCH 745/778] Dropping 10.9 support --- MacPass.xcodeproj/project.pbxproj | 4 +-- MacPass/MPAppDelegate.m | 6 +++-- MacPass/MPDocumentWindowController.m | 5 ---- MacPass/MPEntryInspectorViewController.m | 2 +- MacPass/MPEntryViewController.m | 3 +-- MacPass/MPGeneralSettingsController.m | 2 +- MacPass/MPIconSelectViewController.m | 3 +-- MacPass/MPInspectorViewController.m | 6 ----- MacPass/MPOutlineViewController.m | 26 ++++++++++---------- MacPass/MPPasswordCreatorViewController.m | 1 - MacPass/MPPasswordInputController.m | 2 +- MacPass/MPPluginDataViewController.m | 6 ++--- MacPass/MPPluginSettingsController.m | 2 +- MacPass/MPReferenceBuilderViewController.m | 3 +-- MacPass/MPSavePanelAccessoryViewController.m | 2 +- MacPass/MPViewController.h | 3 --- MacPass/MPViewController.m | 18 -------------- MacPass/MPWorkflowSettingsController.m | 2 +- 18 files changed, 31 insertions(+), 65 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 06286a7b..c664c11b 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -2249,7 +2249,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2/**"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-lxml2"; SDKROOT = macosx; @@ -2287,7 +2287,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2/**"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = "-lxml2"; SDKROOT = macosx; WARNING_CFLAGS = "-Wpartial-availability"; diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 5692f04a..61b35c9b 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -196,7 +196,6 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi if(!self.passwordCreatorController) { self.passwordCreatorController = [[MPPasswordCreatorViewController alloc] init]; self.passwordCreatorWindow.contentView = self.passwordCreatorController.view; - [self.passwordCreatorController updateResponderChain]; } [self.passwordCreatorController reset]; [self.passwordCreatorWindow makeKeyAndOrderFront:self.passwordCreatorWindow]; @@ -233,7 +232,10 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi - (void)checkForUpdates:(id)sender { #ifdef DEBUG - NSAlert *alert = [NSAlert alertWithMessageText:@"Updates are disabled!" defaultButton:@"Ok" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Sparkle updates are only available in offical releases of %@!", NSApp.applicationName]; + NSAlert *alert = [[NSAlert alloc] init]; + alert.messageText = @"Updates are disabled!"; + alert.informativeText = [NSString stringWithFormat:@"Sparkle updates are only available in offical releases of %@!", NSApp.applicationName]; + [alert addButtonWithTitle:@"Ok"]; [alert runModal]; #else [[SUUpdater sharedUpdater] checkForUpdates:sender]; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index fc98f92c..9cb8c16e 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -164,7 +164,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); views:NSDictionaryOfVariableBindings(newContentView)]]; [contentView layout]; - [viewController updateResponderChain]; [self.window makeFirstResponder:viewController.reconmendedFirstResponder]; } @@ -419,7 +418,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); options:0 metrics:nil views:NSDictionaryOfVariableBindings(inspectorView)]]; - [self.inspectorViewController updateResponderChain]; } [[NSUserDefaults standardUserDefaults] setBool:!inspectorWasVisible forKey:kMPSettingsKeyShowInspector]; } @@ -500,9 +498,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); options:0 metrics:nil views:views]]; - [self.entryViewController updateResponderChain]; - [self.inspectorViewController updateResponderChain]; - [self.outlineViewController updateResponderChain]; [self.outlineViewController showOutline]; /* Restore the State the inspector view was in before the view change */ diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 94b908be..3c5bc22e 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -91,7 +91,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { return nil; } -- (void)didLoadView { +- (void)viewDidLoad { [self _addScrollViewWithView:self.generalView atTab:MPEntryTabGeneral]; [self _addScrollViewWithView:self.autotypView atTab:MPEntryTabAutotype]; diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 618ce8c0..1e8ef996 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -110,7 +110,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; [[NSNotificationCenter defaultCenter] removeObserver:self]; } -- (void)didLoadView { +- (void)viewDidLoad { self.view.wantsLayer = YES; self.entryTable.delegate = self; @@ -534,7 +534,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; _isDisplayingContextBar = YES; if(!self.contextBarViewController.view.superview) { [self.view addSubview:self.contextBarViewController.view]; - [self.contextBarViewController updateResponderChain]; NSView *contextBar = self.contextBarViewController.view; NSView *scrollView = self.entryTable.enclosingScrollView; NSDictionary *views = NSDictionaryOfVariableBindings(scrollView, contextBar); diff --git a/MacPass/MPGeneralSettingsController.m b/MacPass/MPGeneralSettingsController.m index dc545e90..4ccdd8ec 100644 --- a/MacPass/MPGeneralSettingsController.m +++ b/MacPass/MPGeneralSettingsController.m @@ -30,7 +30,7 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab"; return NSLocalizedString(@"GENERAL_SETTINGS", @"General Settings Label"); } -- (void)didLoadView { +- (void)viewDidLoad { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; [self.clearPasteboardOnQuitCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyClearPasteboardOnQuit] options:nil]; diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index 6c5f555b..60ff48ab 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -24,8 +24,7 @@ return @"IconSelection"; } -- (void)didLoadView { - //[[self.imageButton cell] setBackgroundStyle:NSBackgroundStyleLowered]; +- (void)viewDidLoad { self.iconCollectionView.backgroundColors = @[[NSColor clearColor]]; self.iconCollectionView.selectable = YES; self.iconCollectionView.allowsMultipleSelection = NO; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index b39294ed..2fe79f66 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -126,12 +126,6 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { [self.entryViewController registerNotificationsForDocument:document]; } -- (void)updateResponderChain { - [super updateResponderChain]; - [self.groupViewController updateResponderChain]; - [self.entryViewController updateResponderChain]; -} - #pragma mark - #pragma mark Properties - (void)setActiveTab:(NSUInteger)activeTab { diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 33f8a84e..ccac0783 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -66,11 +66,11 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; - (void)dealloc { [self.outlineView unbind:NSContentBinding]; [self.treeController unbind:NSContentBinding]; - [[NSNotificationCenter defaultCenter] removeObserver:self]; + [NSNotificationCenter.defaultCenter removeObserver:self]; [self.outlineView setDelegate:nil]; } -- (void)didLoadView { +- (void)viewDidLoad { self.outlineView.menu = [self _contextMenu]; self.outlineView.allowsEmptySelection = YES; self.outlineView.floatsGroupRows = NO; @@ -79,18 +79,18 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [self.outlineView setDelegate:self]; [self.outlineView registerForDraggedTypes:@[ KPKGroupUTI, KPKEntryUTI ]]; [self.outlineView setDraggingSourceOperationMask:NSDragOperationEvery forLocal:YES]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_didBecomeFirstResponder:) - name:MPDidActivateViewNotification - object:self.outlineView]; + + [NSNotificationCenter.defaultCenter addObserver:self + selector:@selector(_didBecomeFirstResponder:) + name:MPDidActivateViewNotification + object:self.outlineView]; NSView *clipView = self.outlineView.enclosingScrollView.contentView; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(_outlineDidScroll:) - name:NSViewBoundsDidChangeNotification - object:clipView]; + [NSNotificationCenter.defaultCenter addObserver:self + selector:@selector(_outlineDidScroll:) + name:NSViewBoundsDidChangeNotification + object:clipView]; } @@ -108,7 +108,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; [self.outlineView bind:NSContentBinding toObject:self.treeController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; [self.outlineView bind:NSSelectionIndexPathsBinding toObject:self.treeController withKeyPath:NSStringFromSelector(@selector(selectionIndexPaths)) options:nil]; [self bind:NSStringFromSelector(@selector(databaseNameWrapper)) toObject:document.tree.metaData withKeyPath:NSStringFromSelector(@selector(databaseName)) options:nil]; - [self.outlineView setDataSource:self.datasource]; + self.outlineView.dataSource = self.datasource; _bindingEstablished = YES; } NSTreeNode *node = [_outlineView itemAtRow:0]; @@ -136,7 +136,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell"; } } for(NSTreeNode *child in node.childNodes) { - [self _expandItems:child topRow:topRow]; + [self _expandItems:child topRow:topRow]; } if([nodeItem respondsToSelector:@selector(uuid)]) { MPDocument *document = self.windowController.document; diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index 1c1f32e7..4d669c4c 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -127,7 +127,6 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { self.lowerCaseButton.tag = MPPasswordCharactersLowerCase; self.symbolsButton.tag = MPPasswordCharactersSymbols; - [self updateResponderChain]; [self reset]; } diff --git a/MacPass/MPPasswordInputController.m b/MacPass/MPPasswordInputController.m index b5570269..2493a532 100644 --- a/MacPass/MPPasswordInputController.m +++ b/MacPass/MPPasswordInputController.m @@ -51,7 +51,7 @@ [[NSNotificationCenter defaultCenter] removeObserver:self]; } -- (void)didLoadView { +- (void)viewDidLoad { self.keyPathControl.delegate = self.pathControlDelegate; self.errorImageView.image = [NSImage imageNamed:NSImageNameCaution]; [self.passwordTextField bind:NSStringFromSelector(@selector(showPassword)) toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil]; diff --git a/MacPass/MPPluginDataViewController.m b/MacPass/MPPluginDataViewController.m index 6ac728c6..0f244827 100644 --- a/MacPass/MPPluginDataViewController.m +++ b/MacPass/MPPluginDataViewController.m @@ -33,14 +33,14 @@ return self; } -- (void)didLoadView { +- (void)viewDidLoad { [self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil]; [self.pluginDataTabelView bind:NSContentBinding toObject:self.pluginDataController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; - self.pluginDataTabelView.backgroundColor = [NSColor clearColor]; + self.pluginDataTabelView.backgroundColor = NSColor.clearColor; } - (KPKNode *)representedNode { - if([self.representedObject isKindOfClass:[KPKNode class]]) { + if([self.representedObject isKindOfClass:KPKNode.class]) { return self.representedObject; } return nil; diff --git a/MacPass/MPPluginSettingsController.m b/MacPass/MPPluginSettingsController.m index 5bbd09a4..9b44c410 100644 --- a/MacPass/MPPluginSettingsController.m +++ b/MacPass/MPPluginSettingsController.m @@ -38,7 +38,7 @@ return NSLocalizedString(@"PLUGIN_SETTINGS", ""); } -- (void)didLoadView { +- (void)viewDidLoad { self.pluginTableView.delegate = self; self.pluginTableView.dataSource = self; diff --git a/MacPass/MPReferenceBuilderViewController.m b/MacPass/MPReferenceBuilderViewController.m index 676406e5..28194ea3 100644 --- a/MacPass/MPReferenceBuilderViewController.m +++ b/MacPass/MPReferenceBuilderViewController.m @@ -22,7 +22,7 @@ return @"ReferenceBuilderView"; } -- (void)didLoadView { +- (void)viewDidLoad { [self.searchKeyPopUpButton setMenu:[self _allocateAttributeItemMenu:YES withTitle:NSLocalizedString(@"SEARCH_VALUE", "")]]; [self.valuePopUpButton setMenu:[self _allocateAttributeItemMenu:NO withTitle:NSLocalizedString(@"OUTPUT_VALUE", "")]]; [self.searchStringTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(searchString)) options:nil]; @@ -32,7 +32,6 @@ - (NSMenu *)_allocateAttributeItemMenu:(BOOL)allowCustomAttributes withTitle:(NSString *)title { NSMenu *menu = [[NSMenu alloc] init]; /* first item is button label */ - //[menu addItemWithTitle:title action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"UUID","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"TITLE","") action:NULL keyEquivalent:@""]; [menu addItemWithTitle:NSLocalizedString(@"USERNAME","") action:NULL keyEquivalent:@""]; diff --git a/MacPass/MPSavePanelAccessoryViewController.m b/MacPass/MPSavePanelAccessoryViewController.m index 2b4ed000..b69bbf38 100644 --- a/MacPass/MPSavePanelAccessoryViewController.m +++ b/MacPass/MPSavePanelAccessoryViewController.m @@ -22,7 +22,7 @@ return @"SavePanelAccessoryView"; } -- (void)didLoadView { +- (void)viewDidLoad { NSArray *types = [self.document writableTypesForSaveOperation:NSSaveOperation]; NSMenu *menu = [[NSMenu alloc] init]; for (NSString *uti in types ) { diff --git a/MacPass/MPViewController.h b/MacPass/MPViewController.h index 0be43eb8..c4186242 100644 --- a/MacPass/MPViewController.h +++ b/MacPass/MPViewController.h @@ -15,7 +15,4 @@ @property (weak, nullable) id observer; @property (nonatomic, readonly, nullable) NSResponder *reconmendedFirstResponder; -- (void)didLoadView; -- (void)updateResponderChain; - @end diff --git a/MacPass/MPViewController.m b/MacPass/MPViewController.m index f41a0701..e8fbf8b0 100644 --- a/MacPass/MPViewController.m +++ b/MacPass/MPViewController.m @@ -11,16 +11,6 @@ @implementation MPViewController -- (void)loadView { - [super loadView]; - [self updateResponderChain]; - [self didLoadView]; -} - -- (void)didLoadView { - // override -} - - (NSWindowController *)windowController { return self.view.window.windowController; } @@ -30,14 +20,6 @@ return nil; // override } -- (void)updateResponderChain { - if(self.view && self.view.nextResponder != self) { - NSResponder *nextResponder = self.view.nextResponder; - self.view.nextResponder = self; - self.nextResponder = nextResponder; - } -} - #pragma mark NSEditorRegistration - (void)objectDidBeginEditing:(id)editor { [self.windowController.document objectDidBeginEditing:editor]; diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 5f016012..ecc2d3c2 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -20,7 +20,7 @@ return @"WorkflowSettings"; } -- (void)didLoadView { +- (void)viewDidLoad { NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; [self.doubleClickURLPopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLAction] options:nil]; From 0f214baaa487a8b072e196cea3f7ce83f2c56ca6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 18:16:42 +0200 Subject: [PATCH 746/778] removed unused ci script, updated travis.yml --- .travis.yml | 9 ++++----- ci/build | 6 ------ 2 files changed, 4 insertions(+), 11 deletions(-) delete mode 100755 ci/build diff --git a/.travis.yml b/.travis.yml index 8f73972a..21112f4f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,8 @@ -osx_image: xcode7.2 +osx_image: xcode7.3 language: objective-c before_install: - brew update -- brew outdated xctool || brew upgrade xctool - brew install carthage -script: ci/build -notifications: - email: false +- carthage bootstrap --platform Mac +xcode_project: MacPass.xcodeproj +xcode_scheme: MacPass \ No newline at end of file diff --git a/ci/build b/ci/build deleted file mode 100755 index 5bee5d4d..00000000 --- a/ci/build +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -git submodule update --init --recursive -carthage bootstrap --platform Mac -xcodebuild -xcodebuild -scheme MacPass -target MacPass -configuration Release From 7c81ebab3a40f38c44253a49d6401ccb543e36c1 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 18:23:11 +0200 Subject: [PATCH 747/778] using properties --- MacPass/MPContextToolbarButton.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass/MPContextToolbarButton.m b/MacPass/MPContextToolbarButton.m index 7c1565d3..3441a80b 100644 --- a/MacPass/MPContextToolbarButton.m +++ b/MacPass/MPContextToolbarButton.m @@ -42,7 +42,7 @@ self.focusRingType = NSFocusRingTypeNone; self.segmentCount = 2; - [cell setTrackingMode:NSSegmentSwitchTrackingMomentary]; + cell.trackingMode = NSSegmentSwitchTrackingMomentary; self.segmentStyle = NSSegmentStyleTexturedSquare; [cell setWidth:31 forSegment:0]; [cell setWidth:17 forSegment:1]; From a6babdcf21684abd1e6e44030be92c7e55135cdd Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 21:47:37 +0200 Subject: [PATCH 748/778] removed carthage since it is already present --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 21112f4f..79b14407 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,6 @@ osx_image: xcode7.3 language: objective-c before_install: - brew update -- brew install carthage - carthage bootstrap --platform Mac xcode_project: MacPass.xcodeproj xcode_scheme: MacPass \ No newline at end of file From 5babb0146cfe46ff5fc343e5f47bf5765c10e258 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 22:26:12 +0200 Subject: [PATCH 749/778] using Xcode 8.3 for compatibility --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 79b14407..586b3763 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ -osx_image: xcode7.3 +osx_image: xcode8.3 language: objective-c before_install: -- brew update - carthage bootstrap --platform Mac xcode_project: MacPass.xcodeproj xcode_scheme: MacPass \ No newline at end of file From ef26b6739e046a3fe59cec2d5aabde632081a7b6 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 24 May 2017 23:42:30 +0200 Subject: [PATCH 750/778] Using xcodebuild instead of broken xctools --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 586b3763..65786343 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,5 @@ language: objective-c before_install: - carthage bootstrap --platform Mac xcode_project: MacPass.xcodeproj -xcode_scheme: MacPass \ No newline at end of file +xcode_scheme: MacPass +script: xcodebuild clean && xcodebuild build -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO \ No newline at end of file From 667bb03d1128dd7d7f27550495317408d88bb6be Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 25 May 2017 00:01:14 +0200 Subject: [PATCH 751/778] building release not debug version --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 65786343..30d87703 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,4 +4,4 @@ before_install: - carthage bootstrap --platform Mac xcode_project: MacPass.xcodeproj xcode_scheme: MacPass -script: xcodebuild clean && xcodebuild build -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO \ No newline at end of file +script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO \ No newline at end of file From 90599b613a04ed8b0a3c0569198b20afdd555e89 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 26 May 2017 13:41:02 +0200 Subject: [PATCH 752/778] reformated .travis.yml --- .travis.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 30d87703..da1c05f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,9 @@ osx_image: xcode8.3 -language: objective-c -before_install: -- carthage bootstrap --platform Mac xcode_project: MacPass.xcodeproj xcode_scheme: MacPass -script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO \ No newline at end of file +language: objective-c + +before_install: +- carthage bootstrap --platform Mac + +script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO From 6ba9c9818d68dd052b6b322ee6a48a8297bfcb2a Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 16:46:59 +0200 Subject: [PATCH 753/778] minor code cleanup on value transformers --- MacPass/Base.lproj/PluginSettings.xib | 22 ++++++++++------------ MacPass/MPEntryInspectorViewController.m | 2 +- MacPass/MPGroupInspectorViewController.m | 2 +- MacPass/MPValueTransformerHelper.h | 2 +- MacPass/MPValueTransformerHelper.m | 18 +++++++++--------- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/MacPass/Base.lproj/PluginSettings.xib b/MacPass/Base.lproj/PluginSettings.xib index 70e3f705..b4cc97e3 100644 --- a/MacPass/Base.lproj/PluginSettings.xib +++ b/MacPass/Base.lproj/PluginSettings.xib @@ -1,9 +1,9 @@ - - + + - - + + @@ -19,14 +19,12 @@ - + - - - + @@ -51,7 +49,7 @@ - + @@ -74,8 +72,9 @@ - + + @@ -92,7 +91,6 @@ - @@ -122,7 +120,7 @@ - + diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 3c5bc22e..1fb5417f 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -386,7 +386,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.expiresCheckButton bind:NSTitleBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expirationDate))] - options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; + options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformerName }]; [self.expiresCheckButton bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expires))] diff --git a/MacPass/MPGroupInspectorViewController.m b/MacPass/MPGroupInspectorViewController.m index 2416b9a7..d57f94d9 100644 --- a/MacPass/MPGroupInspectorViewController.m +++ b/MacPass/MPGroupInspectorViewController.m @@ -84,7 +84,7 @@ [self.expiresCheckButton bind:NSTitleBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expirationDate))] - options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformer }]; + options:@{ NSValueTransformerNameBindingOption:MPExpiryDateValueTransformerName }]; [self.autotypePopupButton bind:NSSelectedTagBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isAutoTypeEnabled))] diff --git a/MacPass/MPValueTransformerHelper.h b/MacPass/MPValueTransformerHelper.h index cc73b679..3b3fd3b2 100644 --- a/MacPass/MPValueTransformerHelper.h +++ b/MacPass/MPValueTransformerHelper.h @@ -9,7 +9,7 @@ #import FOUNDATION_EXPORT NSString *const MPStripLineBreaksTransformerName; -FOUNDATION_EXPORT NSString *const MPExpiryDateValueTransformer; +FOUNDATION_EXPORT NSString *const MPExpiryDateValueTransformerName; @interface MPValueTransformerHelper : NSObject diff --git a/MacPass/MPValueTransformerHelper.m b/MacPass/MPValueTransformerHelper.m index 7d56269f..db982b63 100644 --- a/MacPass/MPValueTransformerHelper.m +++ b/MacPass/MPValueTransformerHelper.m @@ -10,33 +10,33 @@ #import "NSValueTransformer+TransformerKit.h" NSString *const MPStripLineBreaksTransformerName = @"com.hicknhack.macpass.MPStripLineBreaksTransformerName"; -NSString *const MPExpiryDateValueTransformer = @"com.hicknhack.macpass.kMPExpiryDateValueTransformer"; +NSString *const MPExpiryDateValueTransformerName = @"com.hicknhack.macpass.MPExpiryDateValueTransformer"; @implementation MPValueTransformerHelper + (void)registerValueTransformer { [NSValueTransformer registerValueTransformerWithName:MPStripLineBreaksTransformerName - transformedValueClass:[NSString class] + transformedValueClass:NSString.class returningTransformedValueWithBlock:^id(id value) { - if(![value isKindOfClass:[NSString class]]) { + if(![value isKindOfClass:NSString.class]) { return @""; } - NSArray *elements = [value componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + NSArray *elements = [value componentsSeparatedByCharactersInSet:NSCharacterSet.newlineCharacterSet]; return [elements componentsJoinedByString:@" "]; }]; - [NSValueTransformer registerValueTransformerWithName:MPExpiryDateValueTransformer - transformedValueClass:[NSString class] + [NSValueTransformer registerValueTransformerWithName:MPExpiryDateValueTransformerName + transformedValueClass:NSString.class returningTransformedValueWithBlock:^id(id value) { - if(![value isKindOfClass:[NSDate class]]) { + if(![value isKindOfClass:NSDate.class]) { return NSLocalizedString(@"NO_EXPIRE_DATE_SET",""); } static NSDateFormatter *formatter; if(!formatter) { formatter = [[NSDateFormatter alloc] init]; - [formatter setDateStyle:NSDateFormatterFullStyle]; - [formatter setTimeStyle:NSDateFormatterNoStyle]; + formatter.dateStyle = NSDateFormatterFullStyle; + formatter.timeStyle = NSDateFormatterNoStyle; } NSString *template = NSLocalizedString(@"EXPIRES_AT_DATE_%@", ""); return [[NSString alloc] initWithFormat:template, [formatter stringFromDate:value]]; From 12d9ccd8abc9445811ec671ea201545efe45ed35 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 16:49:06 +0200 Subject: [PATCH 754/778] adding minimal set for deploying --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.travis.yml b/.travis.yml index da1c05f6..3307ae26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,3 +7,14 @@ before_install: - carthage bootstrap --platform Mac script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO + +deploy: + skip_cleanup: true + provider: releases + api_key: + secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= + file: MacPass.zip + on: + tags: true + repo: mstarke/MacPass + branch: continuous \ No newline at end of file From 665e6684b3b69e1f1fede4c192394f60d0d4b260 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 17:10:29 +0200 Subject: [PATCH 755/778] using upload.sh to deliver continous release link on Github --- .travis.yml | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3307ae26..887af893 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,13 +8,23 @@ before_install: script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -deploy: - skip_cleanup: true - provider: releases - api_key: - secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= - file: MacPass.zip - on: - tags: true - repo: mstarke/MacPass - branch: continuous \ No newline at end of file +after_success: + - zip -9 build/MacPass.app MacPass-continous.zip + - wget -c https://github.com/MacPass/uploadtool/raw/master/upload.sh + - bash ./upload.sh build/* + +branches: + except: + - # Do not build tags that we create when we upload to GitHub Releases + - /^(?i:continuous)$/ + +# deploy: +# skip_cleanup: true +# provider: releases +# api_key: +# secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= +# file: MacPass.zip +# on: +# tags: true +# repo: mstarke/MacPass +# branch: continuous \ No newline at end of file From dde8cb58d371fab128d0dbfb15ef25e7349c0351 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 23:01:28 +0200 Subject: [PATCH 756/778] testing deploy for github --- .travis.yml | 36 ++++++++++--------- .../xcshareddata/xcschemes/MacPass.xcscheme | 1 - 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 887af893..7de936b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,27 +4,29 @@ xcode_scheme: MacPass language: objective-c before_install: -- carthage bootstrap --platform Mac + - carthage bootstrap --platform Mac -script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO +before_depoly: + - zip -9r MacPass-continuous.zip ./build/Build/Products/Release/MacPass.app -after_success: - - zip -9 build/MacPass.app MacPass-continous.zip - - wget -c https://github.com/MacPass/uploadtool/raw/master/upload.sh - - bash ./upload.sh build/* +script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build + +#after_success: +# - zip -9r ./build/Build/Products/Release/MacPass.app MacPass-continuous.zip +# - wget -c https://github.com/MacPass/uploadtool/raw/master/upload.sh +# - bash ./upload.sh build/* branches: except: - - # Do not build tags that we create when we upload to GitHub Releases - /^(?i:continuous)$/ -# deploy: -# skip_cleanup: true -# provider: releases -# api_key: -# secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= -# file: MacPass.zip -# on: -# tags: true -# repo: mstarke/MacPass -# branch: continuous \ No newline at end of file +deploy: + skip_cleanup: true + provider: releases + api_key: + secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= + file: MacPass-continuous.zip + on: + tags: true + repo: mstarke/MacPass + branch: continuous \ No newline at end of file diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme index 9ddbc86e..1d0b4252 100644 --- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme +++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme @@ -67,7 +67,6 @@ useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" - enableAddressSanitizer = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> Date: Mon, 29 May 2017 23:04:57 +0200 Subject: [PATCH 757/778] using whitelist for travis deploy --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7de936b9..c26bbf29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ script: xcodebuild clean && xcodebuild build -configuration release -project Mac # - bash ./upload.sh build/* branches: - except: + only: - /^(?i:continuous)$/ deploy: From e4e6077f5b2b706c4456e118926a42bbc4c6a01a Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 23:23:11 +0200 Subject: [PATCH 758/778] using after_success instead of before_deploy --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c26bbf29..d14e1115 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ language: objective-c before_install: - carthage bootstrap --platform Mac -before_depoly: +after_success: - zip -9r MacPass-continuous.zip ./build/Build/Products/Release/MacPass.app script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build From c157039bf3bb045618adb5a8ccdcf7f3d094522b Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 29 May 2017 23:41:58 +0200 Subject: [PATCH 759/778] zip only the app folder, add overwrite option to update releases --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d14e1115..83738643 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,10 @@ before_install: - carthage bootstrap --platform Mac after_success: - - zip -9r MacPass-continuous.zip ./build/Build/Products/Release/MacPass.app + - cd ./build/Build/Products/Release + - zip -9r MacPass-continuous.zip MacPass.app + - cd - + - mv ./build/Build/Products/Release/MacPass-continuous.zip . script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build @@ -26,6 +29,7 @@ deploy: api_key: secure: AEb7fgi29S3aXFt5bXz+lq1KHISumny6bf4j06JBC5gUrSs+dW0/tmVFq68XRAqigeOQU31wwv20f7OHiy+GRYDXM2xBsX9ZBQ2IilnaXlDy/mPsNcJJJsZ2gyodi3KnU0rZtTb93me2YyU86H4Na/gtaZZUKjLwCFtGGziExD8= file: MacPass-continuous.zip + overwrite: true on: tags: true repo: mstarke/MacPass From 122f898d9d8a299a1a311ed531f5ae08e81e1205 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 1 Jun 2017 09:53:03 +0200 Subject: [PATCH 760/778] added nosparkle define to explicitly disable sparkle updates --- .travis.yml | 4 +++- MacPass.xcodeproj/project.pbxproj | 3 +-- MacPass/MPAppDelegate.m | 11 +++++++---- MacPass/MPUpdateSettingsController.m | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 83738643..da3578f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,9 @@ script: xcodebuild clean && xcodebuild build -configuration release -project Mac # - zip -9r ./build/Build/Products/Release/MacPass.app MacPass-continuous.zip # - wget -c https://github.com/MacPass/uploadtool/raw/master/upload.sh # - bash ./upload.sh build/* - + +# TODO: fix versioning since it yield a 00 release number + branches: only: - /^(?i:continuous)$/ diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index c664c11b..bdae2804 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1682,8 +1682,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi"; - showEnvVarsInLog = 0; + shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\nif [ $simple_branch_name = \"travis_continuous\" ]; then\nbuild_date=`date +\"%Y%m%d%H%m%S\"`\nbuild_number=\"$build_date-continuous\"\nfi\n\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 61b35c9b..9cc9d374 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -157,13 +157,16 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } - (void)applicationDidFinishLaunching:(NSNotification *)notification { +#if defined(NOSPARKLE) + NSLog(@"Sparkle explicitly disabled!!!"); +#endif /* Daemon instanziieren */ [MPLockDaemon defaultDaemon]; [MPAutotypeDaemon defaultDaemon]; /* Create Plugin Manager */ [MPPluginHost sharedHost]; -#ifndef DEBUG - /* Only enable updater in Release */ +#if !defined(DEBUG) && !defined(NOSPARKLE) + /* Disable updates if in debug or nosparkle */ [SUUpdater sharedUpdater]; #endif } @@ -231,10 +234,10 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } - (void)checkForUpdates:(id)sender { -#ifdef DEBUG +#if defined(DEBUG) || defined(NOSPARKLE) NSAlert *alert = [[NSAlert alloc] init]; alert.messageText = @"Updates are disabled!"; - alert.informativeText = [NSString stringWithFormat:@"Sparkle updates are only available in offical releases of %@!", NSApp.applicationName]; + alert.informativeText = [NSString stringWithFormat:@"Sparkle updates are disabled for this build of %@!", NSApp.applicationName]; [alert addButtonWithTitle:@"Ok"]; [alert runModal]; #else diff --git a/MacPass/MPUpdateSettingsController.m b/MacPass/MPUpdateSettingsController.m index 754ff71a..01439796 100644 --- a/MacPass/MPUpdateSettingsController.m +++ b/MacPass/MPUpdateSettingsController.m @@ -35,7 +35,7 @@ - (void)awakeFromNib { /* only enable bindings to settings in release mode */ -#ifdef DEBUG +#if defined(DEBUG) || defined(NOSPARKLE) self.checkIntervallPopupButton.enabled = NO; self.automaticallyCheckForUpdatesCheckButton.enabled = NO; #else From b9e4214ffd97e8d1fc8aa21219b44b9069b84db0 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Jun 2017 15:07:10 +0200 Subject: [PATCH 761/778] Fixed Path --- MacPass.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index bdae2804..aadf97a2 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1451,7 +1451,7 @@ 4CD034A91BFE113B003C002C /* MPPluginHost.m */, ); name = Plugin; - path = MacPassPlugin; + path = MacPass; sourceTree = SOURCE_ROOT; }; /* End PBXGroup section */ From 379d4300355c8005efed4b837fea5229a469bf79 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Jun 2017 16:19:05 +0200 Subject: [PATCH 762/778] use properties --- MacPass/MPDocument.m | 4 ++-- MacPass/MPInspectorViewController.m | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 5cb154bc..806da9b7 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -738,7 +738,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } BOOL valid = /*targetNode ? targetNode.isEditable : */YES; - switch([MPActionHelper typeForAction:[anItem action]]) { + switch([MPActionHelper typeForAction:anItem.action]) { case MPActionAddGroup: valid &= (nil != targetGroup); valid &= !targetGroup.isTrash; @@ -789,7 +789,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou break; case MPActionPerformAutotypeForSelectedEntry: valid &= (nil != targetEntry); - break; + break; default: break; } diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 2fe79f66..e9b5f01a 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -165,12 +165,12 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { #pragma mark - #pragma mark Popup - (IBAction)pickIcon:(id)sender { - NSAssert([sender isKindOfClass:[NSView class]], @""); + NSAssert([sender isKindOfClass:NSView.class], @""); [self _popupViewController:[[MPIconSelectViewController alloc] init] atView:(NSView *)sender]; } - (IBAction)pickExpiryDate:(id)sender { - NSAssert([sender isKindOfClass:[NSView class]], @""); + NSAssert([sender isKindOfClass:NSView.class], @""); [self _popupViewController:[[MPDatePickingViewController alloc] init] atView:(NSView *)sender]; } From 68ed110c4c0d0e80abd681fc522668b5c649c59b Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 7 Jun 2017 18:19:19 +0200 Subject: [PATCH 763/778] restore history entries added --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass/Base.lproj/EntryInspectorView.xib | 13 ++++-- MacPass/MPActionHelper.h | 3 +- MacPass/MPActionHelper.m | 3 +- MacPass/MPCustomFieldTableViewDelegate.m | 10 +++- MacPass/MPDocument+History.m | 11 +++-- MacPass/MPDocument.h | 1 + MacPass/MPEntryInspectorViewController.h | 5 ++ MacPass/MPEntryInspectorViewController.m | 56 +++++++++++------------ MacPass/MPEntryViewController.m | 2 +- 11 files changed, 65 insertions(+), 43 deletions(-) diff --git a/Cartfile b/Cartfile index b3db7dcf..54e3f2ff 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "ab95d3a85b2bcb86d9e3e5e74d2168c209756b8b" +github "mstarke/KeePassKit" "b25eab0892f6101ee4929bef3f57788dbc5fa607" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 7af78158..a085d4ea 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "ab95d3a85b2bcb86d9e3e5e74d2168c209756b8b" +github "mstarke/KeePassKit" "b25eab0892f6101ee4929bef3f57788dbc5fa607" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 0e71f501..299e796b 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -1,14 +1,16 @@ - + - - + + + + @@ -21,6 +23,7 @@ + @@ -94,7 +97,7 @@ - + @@ -271,7 +274,7 @@ - + diff --git a/MacPass/MPActionHelper.h b/MacPass/MPActionHelper.h index 822e868a..105854b0 100644 --- a/MacPass/MPActionHelper.h +++ b/MacPass/MPActionHelper.h @@ -31,7 +31,8 @@ typedef NS_ENUM(NSUInteger, MPActionType) { MPActionToggleQuicklook, MPActionShowEntryHistory, // show history MPActionHideEntryHistory, // exit history - MPActionPerformAutotypeForSelectedEntry // Perform Autotype for selected Entry + MPActionPerformAutotypeForSelectedEntry, // Perform Autotype for selected Entry + MPActionRemoveAttachment // Remove an attachment }; /** * Helper to retrieve commonly used actions diff --git a/MacPass/MPActionHelper.m b/MacPass/MPActionHelper.m index 791de86d..fad4bfea 100644 --- a/MacPass/MPActionHelper.m +++ b/MacPass/MPActionHelper.m @@ -40,7 +40,8 @@ @(MPActionToggleQuicklook): NSStringFromSelector(@selector(toggleQuicklookPreview:)), @(MPActionShowEntryHistory): NSStringFromSelector(@selector(showEntryHistory:)), @(MPActionHideEntryHistory): NSStringFromSelector(@selector(hideEntryHistory:)), - @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)) + @(MPActionPerformAutotypeForSelectedEntry): NSStringFromSelector(@selector(performAutotypeForEntry:)), + @(MPActionRemoveAttachment): NSStringFromSelector(@selector(removeAttachment:)) }; }); return actionDict; diff --git a/MacPass/MPCustomFieldTableViewDelegate.m b/MacPass/MPCustomFieldTableViewDelegate.m index 071ff574..d00f04e0 100644 --- a/MacPass/MPCustomFieldTableViewDelegate.m +++ b/MacPass/MPCustomFieldTableViewDelegate.m @@ -30,7 +30,7 @@ - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { MPCustomFieldTableCellView *view = [tableView makeViewWithIdentifier:@"SelectedCell" owner:tableView]; - + [view.labelTextField bind:NSValueBinding toObject:view withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(key))] @@ -39,6 +39,14 @@ toObject:view withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(value))] options:nil]; + // TODO: Move to public KeePassKit API! + for(NSControl *control in @[view.labelTextField, view.valueTextField, view.removeButton ]) { + [control bind:NSEnabledBinding + toObject:view + withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(entry)), NSStringFromSelector(@selector(isHistory))] + options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; + + } view.removeButton.target = self.viewController; view.removeButton.action = @selector(removeCustomField:); view.removeButton.tag = row; diff --git a/MacPass/MPDocument+History.m b/MacPass/MPDocument+History.m index 24a0f9a9..5589e183 100644 --- a/MacPass/MPDocument+History.m +++ b/MacPass/MPDocument+History.m @@ -22,17 +22,22 @@ NSString *const MPDocumentHideEntryHistoryNotification = @"MPDocumentHideEntryH if(self.hasSearch) { [self exitSearch:sender]; } - [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification - object:self - userInfo:@{ MPDocumentEntryKey: entries.firstObject }]; + self.historyEntry = entries.firstObject; + if(self.historyEntry) { + [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentShowEntryHistoryNotification + object:self + userInfo:@{ MPDocumentEntryKey: self.historyEntry }]; + } } - (void)hideEntryHistory:(id)sender { + self.historyEntry = nil; [[NSNotificationCenter defaultCenter] postNotificationName:MPDocumentHideEntryHistoryNotification object:self]; } - (void)revertEntry:(KPKEntry *)entry toEntry:(KPKEntry *)historyEntry { + [entry pushHistory]; [entry revertToEntry:historyEntry]; [self.undoManager setActionName:NSLocalizedString(@"RESTORE_HISTORY_ENTRY", "Action to restore and Entry to a previous state of it's history")]; } diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index de4d36c0..46b0f0b0 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -95,6 +95,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; @property (nonatomic, readonly) BOOL hasSearch; @property (nonatomic, copy) MPEntrySearchContext *searchContext; @property (nonatomic, strong, readonly) NSArray *searchResult; +@property (nonatomic, weak) KPKEntry *historyEntry; + (KPKDatabaseFormat)formatForFileType:(NSString *)fileType; + (NSString *)fileTypeForVersion:(KPKDatabaseFormat)format; diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index b947b976..13544459 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -27,14 +27,18 @@ @property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField; @property (weak) IBOutlet NSButton *generatePasswordButton; @property (weak) IBOutlet NSButton *togglePassword; +@property (weak) IBOutlet NSButton *pickExpireDateButton; @property (weak) IBOutlet NSButton *expiresCheckButton; @property (weak) IBOutlet NSTokenField *tagsTokenField; @property (weak) IBOutlet NSTextField *uuidTextField; @property (weak) IBOutlet NSTextField *createdTextField; @property (weak) IBOutlet NSTextField *modifiedTextField; +@property (weak) IBOutlet NSButton *addCustomFieldButton; /* Attachments */ +@property (weak) IBOutlet NSButtonCell *addAttachmentButton; + @property (weak) IBOutlet NSTableView *attachmentTableView; @property (weak) IBOutlet NSTableView *customFieldsTableView; @@ -50,6 +54,7 @@ @property (weak) IBOutlet NSButton *showCustomAssociationSequenceAutotypeBuilderButton; @property (weak) IBOutlet NSTextField *associationSequenceTextField; +@property (weak) IBOutlet NSButton *addWindowAssociationButton; - (void)registerNotificationsForDocument:(MPDocument *)document; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 1fb5417f..e956bac7 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -240,6 +240,8 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { case MPActionToggleQuicklook: { BOOL enabled = [[NSUserDefaults standardUserDefaults] boolForKey:kMPSettingsKeyEnableQuicklookPreview]; return enabled ? [self acceptsPreviewPanelControl:nil] : NO; + case MPActionRemoveAttachment: + return !self.representedEntry.isHistory; } default: return YES; @@ -360,13 +362,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { #pragma mark - #pragma mark Entry Selection - (void)_setupViewBindings { - [self _bindEntry]; - [self _bindAttachments]; - [self _bindCustomFields]; - [self _bindAutotype]; -} - -- (void)_bindEntry { + /* general */ [self.titleTextField bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(title))] @@ -396,21 +392,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(tags))] options:nil]; - NSArray *inputs = @[self.titleTextField, - self.passwordTextField, - self.usernameTextField, - self.URLTextField, - self.expiresCheckButton, - self.tagsTokenField, - self.generatePasswordButton]; - - for(NSControl *control in inputs) { - NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; - [control bind:NSEnabledBinding - toObject:self - withKeyPath:keyPath - options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; - } [self.uuidTextField bind:NSValueBinding toObject:self @@ -418,23 +399,19 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:@{ NSConditionallySetsEditableBindingOption: @NO }]; self.uuidTextField.editable = NO; -} - -- (void)_bindAttachments { + /* Attachments */ [_attachmentsController bind:NSContentArrayBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(binaries))] options:nil]; -} -- (void)_bindCustomFields { + /* CustomField */ [_customFieldsController bind:NSContentArrayBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(customAttributes))] options:nil]; -} -- (void)_bindAutotype { + /* Autotype */ [self.enableAutotypeCheckButton bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(enabled))] options:nil]; @@ -464,6 +441,27 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { toObject:_windowAssociationsController withKeyPath:[NSString stringWithFormat:@"selection.%@", NSStringFromSelector(@selector(keystrokeSequence))] options:nil]; + + NSArray *inputs = @[self.titleTextField, + self.passwordTextField, + self.usernameTextField, + self.URLTextField, + self.expiresCheckButton, + self.tagsTokenField, + self.generatePasswordButton, + self.addAttachmentButton, + self.addCustomFieldButton, + self.addWindowAssociationButton]; + + for(NSControl *control in inputs) { + NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; + [control bind:NSEnabledBinding + toObject:self + withKeyPath:keyPath + options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; + } + + } diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index 1e8ef996..890a568e 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -735,7 +735,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell"; if(historyEntries.count != 1) { return; } - //[document restoreEntry:entry toEntry:historyEntries.firstObject]; + [document revertEntry:document.historyEntry toEntry:historyEntries.firstObject]; } - (void)_columnDoubleClick:(id)sender { From 6771d68454dc06c5b7b20b65fcfba74e0f408298 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 15:39:29 +0200 Subject: [PATCH 764/778] disabled more actions and controls in history view --- MacPass/Base.lproj/EntryInspectorView.xib | 11 +++-- MacPass/MPDocument.m | 5 ++ MacPass/MPEntryInspectorViewController.h | 1 + MacPass/MPEntryInspectorViewController.m | 60 +++++++++++++---------- 4 files changed, 47 insertions(+), 30 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index 299e796b..e1319c88 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -24,6 +24,7 @@ + @@ -97,7 +98,7 @@ - + @@ -274,7 +275,7 @@ - + @@ -463,7 +464,7 @@ - + @@ -696,7 +697,7 @@ - + @@ -951,7 +952,7 @@ - + diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 806da9b7..308f0a7e 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -743,11 +743,13 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou valid &= (nil != targetGroup); valid &= !targetGroup.isTrash; valid &= !targetGroup.isTrashed; + valid &= !self.historyEntry; break; case MPActionAddEntry: valid &= (nil != targetGroup); valid &= !targetGroup.isTrash; valid &= !targetGroup.isTrashed; + valid &= !self.historyEntry; break; case MPActionDelete: valid &= targetNodes.count > 0; @@ -760,7 +762,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } break; case MPActionDuplicateEntry: + case MPActionDuplicateEntryWithOptions: valid &= targetEntries.count > 0; + valid &= !self.historyEntry; break; case MPActionEmptyTrash: valid &= (self.trash.groups.count + self.trash.entries.count) > 0; @@ -775,6 +779,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou case MPActionShowEntryHistory: valid &= (nil != targetEntry); valid &= targetEntry.history.count > 0; + valid &= !self.historyEntry; break; /* Entry View Actions */ case MPActionCopyUsername: diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 13544459..327e6ea4 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -55,6 +55,7 @@ @property (weak) IBOutlet NSTextField *associationSequenceTextField; @property (weak) IBOutlet NSButton *addWindowAssociationButton; +@property (weak) IBOutlet NSButton *removeWindowAssociationButton; - (void)registerNotificationsForDocument:(MPDocument *)document; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index e956bac7..023e0356 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -109,7 +109,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { self.customFieldsTableView.backgroundColor = [NSColor clearColor]; [self.customFieldsTableView bind:NSContentBinding toObject:_customFieldsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; self.customFieldsTableView.delegate = _customFieldTableDelegate; - + self.windowAssociationsTableView.backgroundColor = [NSColor clearColor]; self.windowAssociationsTableView.delegate = _windowAssociationsTableDelegate; [self.windowAssociationsTableView bind:NSContentBinding toObject:_windowAssociationsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; @@ -355,13 +355,38 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { options:0 metrics:nil views:views]]; - + [[self view] layoutSubtreeIfNeeded]; } #pragma mark - #pragma mark Entry Selection - (void)_setupViewBindings { + /* Disable for history view */ + NSArray *inputs = @[self.titleTextField, + self.passwordTextField, + self.usernameTextField, + self.URLTextField, + self.expiresCheckButton, + self.tagsTokenField, + self.generatePasswordButton, + self.addAttachmentButton, + self.addCustomFieldButton, + self.addWindowAssociationButton, + self.removeWindowAssociationButton, + self.enableAutotypeCheckButton, + self.obfuscateAutotypeCheckButton, + self.customEntrySequenceTextField, + self.windowTitleComboBox, + self.associationSequenceTextField]; + + for(NSControl *control in inputs) { + [control bind:NSEnabledBinding + toObject:self + withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))] + options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; + } + /* general */ [self.titleTextField bind:NSValueBinding toObject:self @@ -378,7 +403,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { [self.URLTextField bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(url))] - options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; + options:@{ NSNullPlaceholderBindingOption: NSLocalizedString(@"NONE", "")}]; [self.expiresCheckButton bind:NSTitleBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(timeInfo)), NSStringFromSelector(@selector(expirationDate))] @@ -398,13 +423,13 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(uuid)), NSStringFromSelector(@selector(UUIDString))] options:@{ NSConditionallySetsEditableBindingOption: @NO }]; self.uuidTextField.editable = NO; - + /* Attachments */ [_attachmentsController bind:NSContentArrayBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(binaries))] options:nil]; - + /* CustomField */ [_customFieldsController bind:NSContentArrayBinding toObject:self @@ -419,10 +444,14 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(obfuscateDataTransfer))] options:nil]; - [self.customEntrySequenceTextField bind:NSEnabledBinding + + /* Use enabled2 since NSEnabledBinding is already bound! */ + [self.customEntrySequenceTextField bind:@"enabled2" toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(enabled))] options:nil]; + + [self.customEntrySequenceTextField bind:NSValueBinding toObject:self withKeyPath:[NSString stringWithFormat:@"%@.%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(autotype)), NSStringFromSelector(@selector(defaultKeystrokeSequence))] @@ -441,26 +470,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { toObject:_windowAssociationsController withKeyPath:[NSString stringWithFormat:@"selection.%@", NSStringFromSelector(@selector(keystrokeSequence))] options:nil]; - - NSArray *inputs = @[self.titleTextField, - self.passwordTextField, - self.usernameTextField, - self.URLTextField, - self.expiresCheckButton, - self.tagsTokenField, - self.generatePasswordButton, - self.addAttachmentButton, - self.addCustomFieldButton, - self.addWindowAssociationButton]; - for(NSControl *control in inputs) { - NSString *keyPath = [NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))]; - [control bind:NSEnabledBinding - toObject:self - withKeyPath:keyPath - options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; - } - } From 8dd465866e900c642f7061e028fcb22458f8c061 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 15:40:08 +0200 Subject: [PATCH 765/778] Added duplicate entry with options --- Cartfile | 2 +- Cartfile.resolved | 2 +- MacPass.xcodeproj/project.pbxproj | 8 +- MacPass/DuplicateEntryOptionsWindow.xib | 80 ++++++++++++------- MacPass/MPDocument.h | 4 +- MacPass/MPDocument.m | 14 ++-- MacPass/MPDocumentWindowController.h | 2 + MacPass/MPDocumentWindowController.m | 22 +++++ .../MPDuplicateEntryOptionsWindowController.h | 17 ++++ .../MPDuplicateEntryOptionsWindowController.m | 63 +++++++++++++++ 10 files changed, 172 insertions(+), 42 deletions(-) create mode 100644 MacPass/MPDuplicateEntryOptionsWindowController.h create mode 100644 MacPass/MPDuplicateEntryOptionsWindowController.m diff --git a/Cartfile b/Cartfile index 54e3f2ff..9f9143e4 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "b25eab0892f6101ee4929bef3f57788dbc5fa607" +github "mstarke/KeePassKit" "6568b250d41e53f1bdc508255432661216d3fe7f" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index a085d4ea..27a0b2df 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "b25eab0892f6101ee4929bef3f57788dbc5fa607" +github "mstarke/KeePassKit" "6568b250d41e53f1bdc508255432661216d3fe7f" github "sparkle-project/Sparkle" "1.17.0" diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index aadf97a2..3680c56d 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -182,6 +182,7 @@ 4C888C9716EB754B003D34A1 /* MPActionHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C888C9616EB754B003D34A1 /* MPActionHelper.m */; }; 4C88C66918D9F8D600F43852 /* MPTemporaryFileStorageCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */; }; 4C8913661A422C8C0071A4CB /* MPFileWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8913651A422C8C0071A4CB /* MPFileWatcher.m */; }; + 4C8990F71EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8990F51EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m */; }; 4C89B71019B4B4A300DC0A6A /* MPTreeDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */; }; 4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C89F523182FB4740069C73C /* MPAutotypeCommand.m */; }; 4C8B36AB17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B36AA17A6ED4B005E1FF1 /* MPOutlineContextMenuDelegate.m */; }; @@ -592,6 +593,8 @@ 4C88C66818D9F8D600F43852 /* MPTemporaryFileStorageCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorageCenter.m; sourceTree = ""; }; 4C8913641A422C8C0071A4CB /* MPFileWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFileWatcher.h; sourceTree = ""; }; 4C8913651A422C8C0071A4CB /* MPFileWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFileWatcher.m; sourceTree = ""; }; + 4C8990F41EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDuplicateEntryOptionsWindowController.h; sourceTree = ""; }; + 4C8990F51EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDuplicateEntryOptionsWindowController.m; sourceTree = ""; }; 4C89B70E19B4B4A300DC0A6A /* MPTreeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTreeDelegate.h; sourceTree = ""; }; 4C89B70F19B4B4A300DC0A6A /* MPTreeDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTreeDelegate.m; sourceTree = ""; }; 4C89F522182FB4740069C73C /* MPAutotypeCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAutotypeCommand.h; sourceTree = ""; }; @@ -1400,6 +1403,9 @@ 4C0B038918E36DA400B9F9C9 /* MPFixAutotypeWindowController.h */, 4C0B038A18E36DA400B9F9C9 /* MPFixAutotypeWindowController.m */, 4C0B038B18E36DA400B9F9C9 /* FixAutotypeWindow.xib */, + 4C8990F41EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.h */, + 4C8990F51EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m */, + 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */, ); name = "Window Controller"; sourceTree = ""; @@ -1423,7 +1429,6 @@ 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */, 4C7F8B6A1A10B68400CCB83D /* WelcomeWindow.xib */, 4C0DD6C518B2A44700FCB193 /* AutotypeCandidateSelectionWindow.xib */, - 4CB915931A0159A20089CE5B /* DuplicateEntryOptionsWindow.xib */, ); name = Windows; sourceTree = ""; @@ -1776,6 +1781,7 @@ 4C10412C178CDD44001B5239 /* NSDate+Humanized.m in Sources */, 4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */, 4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */, + 4C8990F71EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m in Sources */, 4CA3530B18A53CB800839B0F /* MPKeyMapper.m in Sources */, 4CE298EB1795FC2A00DF7BDB /* MPEntryContextMenuDelegate.m in Sources */, 4CCCE8011D75CA48006AA951 /* MPArrayController.m in Sources */, diff --git a/MacPass/DuplicateEntryOptionsWindow.xib b/MacPass/DuplicateEntryOptionsWindow.xib index acdbf975..a011e6ea 100644 --- a/MacPass/DuplicateEntryOptionsWindow.xib +++ b/MacPass/DuplicateEntryOptionsWindow.xib @@ -1,26 +1,62 @@ - + - - + - + + + + + + + + - + - + - + + + - - + + - - + + + - + diff --git a/MacPass/MPDocument.h b/MacPass/MPDocument.h index 46b0f0b0..d509949b 100644 --- a/MacPass/MPDocument.h +++ b/MacPass/MPDocument.h @@ -159,6 +159,7 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; - (KPKAttribute *)createCustomAttribute:(KPKEntry *)entry; - (void)deleteNode:(KPKNode *)node; +- (void)duplicateEntryWithOptions:(KPKCopyOptions)options; #pragma mark Actions /** @@ -172,11 +173,8 @@ FOUNDATION_EXPORT NSString *const MPDocumentGroupKey; * @param sender sender, that should respond to representedObject and return an NSUUID for the template to use */ - (IBAction)createEntryFromTemplate:(id)sender; - - (IBAction)duplicateEntry:(id)sender; -- (IBAction)duplicateEntryWithOptions:(id)sender; - @end @interface MPDocument (Attachments) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 308f0a7e..e45bdaaa 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -699,18 +699,18 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou } - (void)duplicateEntry:(id)sender { + [self duplicateEntryWithOptions:kKPKCopyOptionNone]; +} + +- (void)duplicateEntryWithOptions:(KPKCopyOptions)options { + BOOL plural = self.selectedEntries.count > 1; for(KPKEntry *entry in self.selectedEntries) { - KPKEntry *duplicate = [entry copyWithTitle:nil options:kKPKCopyOptionNone]; + KPKEntry *duplicate = [entry copyWithTitle:nil options:options]; [duplicate addToGroup:entry.parent]; } - [self.undoManager setActionName:NSLocalizedString(@"DUPLICATE_ENTRY", "")]; + [self.undoManager setActionName:plural ? NSLocalizedString(@"DUPLICATE_ENTRIES", "") : NSLocalizedString(@"DUPLICATE_ENTRY", "")]; } -- (void)duplicateEntryWithOptions:(id)sender { - -} - - #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { return [self validateUserInterfaceItem:menuItem]; diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index ab469986..83c11038 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -51,6 +51,8 @@ - (IBAction)createEntry:(id)sender; - (IBAction)delete:(id)sender; +- (IBAction)duplicateEntryWithOptions:(id)sender; + - (IBAction)pickExpiryDate:(id)sender; - (IBAction)performAutotypeForEntry:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 9cb8c16e..908bd3ea 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -15,6 +15,7 @@ #import "MPDatabaseSettingsWindowController.h" #import "MPDocument.h" #import "MPDocumentWindowDelegate.h" +#import "MPDuplicateEntryOptionsWindowController.h" #import "MPEntryViewController.h" #import "MPFixAutotypeWindowController.h" #import "MPInspectorViewController.h" @@ -397,6 +398,27 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [self.document deleteNode:node]; } } +- (void)duplicateEntryWithOptions:(id)sender { + MPDuplicateEntryOptionsWindowController *wc = [[MPDuplicateEntryOptionsWindowController alloc] init]; + __weak MPDocumentWindowController *welf = self; + + [self.window beginSheet:wc.window completionHandler:^(NSModalResponse returnCode) { + if(returnCode == NSModalResponseOK) { + + KPKCopyOptions options = kKPKCopyOptionNone; + if(wc.referenceUsername) { + options |= kKPKCopyOptionReferenceUsername; + } + if(wc.referencePassword) { + options |= kKPKCopyOptionReferencePassword; + } + if(wc.duplicateHistory) { + options |= kKPKCopyOptionCopyHistory; + } + [((MPDocument *)welf.document) duplicateEntryWithOptions:options]; + } + }]; +} - (void)pickExpiryDate:(id)sender { [self.inspectorViewController pickExpiryDate:sender]; diff --git a/MacPass/MPDuplicateEntryOptionsWindowController.h b/MacPass/MPDuplicateEntryOptionsWindowController.h new file mode 100644 index 00000000..2522b14f --- /dev/null +++ b/MacPass/MPDuplicateEntryOptionsWindowController.h @@ -0,0 +1,17 @@ +// +// MPDuplicateEntryOptionsWindowController.h +// MacPass +// +// Created by Michael Starke on 08.06.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface MPDuplicateEntryOptionsWindowController : NSWindowController + +@property (readonly) BOOL referencePassword; +@property (readonly) BOOL referenceUsername; +@property (readonly) BOOL duplicateHistory; + +@end diff --git a/MacPass/MPDuplicateEntryOptionsWindowController.m b/MacPass/MPDuplicateEntryOptionsWindowController.m new file mode 100644 index 00000000..6aa1fa02 --- /dev/null +++ b/MacPass/MPDuplicateEntryOptionsWindowController.m @@ -0,0 +1,63 @@ +// +// MPDuplicateEntryOptionsWindowController.m +// MacPass +// +// Created by Michael Starke on 08.06.17. +// Copyright © 2017 HicknHack Software GmbH. All rights reserved. +// + +#import "MPDuplicateEntryOptionsWindowController.h" + +@interface MPDuplicateEntryOptionsWindowController () + +@property BOOL referencePassword; +@property BOOL referenceUsername; +@property BOOL duplicateHistory; + +@property (weak) IBOutlet NSButton *referenceUsernameCheckButton; +@property (weak) IBOutlet NSButton *referencePasswordCheckButton; +@property (weak) IBOutlet NSButton *duplicateHistoryCheckButton; + +@end + +@implementation MPDuplicateEntryOptionsWindowController + +- (instancetype)initWithWindow:(NSWindow *)window { + self = [super initWithWindow:window]; + if(self) { + _referencePassword = NO; + _referenceUsername = NO; + _duplicateHistory = NO; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)coder { + self = [super initWithCoder:coder]; + if(self) { + _referencePassword = NO; + _referenceUsername = NO; + _duplicateHistory = NO; + } + return self; +} + +- (NSString *)windowNibName { + return @"DuplicateEntryOptionsWindow"; +} + +- (void)windowDidLoad { + [super windowDidLoad]; + [self.referencePasswordCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(referencePassword)) options:nil]; + [self.referenceUsernameCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(referenceUsername)) options:nil]; + [self.duplicateHistoryCheckButton bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(duplicateHistory)) options:nil]; +} +- (IBAction)duplicateEntry:(id)sender { + [self.window.sheetParent endSheet:self.window returnCode:NSModalResponseOK]; +} + +- (IBAction)cancel:(id)sender { + [self.window.sheetParent endSheet:self.window returnCode:NSModalResponseCancel]; +} + +@end From b5c8936a2aff61063cae82777f00c3d23f22194c Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 17:09:30 +0200 Subject: [PATCH 766/778] added removal of history items --- MacPass/MPDocument.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index e45bdaaa..cbe8a511 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -606,6 +606,11 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou return; } + if(node.asEntry.isHistory) { + [self.historyEntry removeHistoryEntry:node.asEntry]; + return; + } + if(!self.tree.metaData.useTrash) { /* Display warning about permanently removing items! */ } From 654869d2bcc6bc5a6870a31eb899014c387d1f30 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 17:19:22 +0200 Subject: [PATCH 767/778] fixed versioning to use travis CI env var. --- MacPass.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 3680c56d..9c5d3ff4 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1687,7 +1687,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\nif [ $simple_branch_name = \"travis_continuous\" ]; then\nbuild_date=`date +\"%Y%m%d%H%m%S\"`\nbuild_number=\"$build_date-continuous\"\nfi\n\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi"; + shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\nif [ \"$CI\" = \"true\" ]; then\nbuild_date=`date +\"%Y%m%d%H%m%S\"`\nbuild_number=\"$build_date-continuous\"\nfi\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi+"; }; /* End PBXShellScriptBuildPhase section */ From 68e3c8fb069cd14b88669f592f8700c9540b3cae Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 18:23:40 +0200 Subject: [PATCH 768/778] removed wrong character in shell script --- MacPass.xcodeproj/project.pbxproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 9c5d3ff4..444bc4b5 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -1687,7 +1687,8 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\nif [ \"$CI\" = \"true\" ]; then\nbuild_date=`date +\"%Y%m%d%H%m%S\"`\nbuild_number=\"$build_date-continuous\"\nfi\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi+"; + shellScript = "git=`sh /etc/profile; which git`\nbranch_name=`$git symbolic-ref HEAD | sed -e 's,.*/\\\\(.*\\\\),\\\\1,'`\ngit_count=`$git rev-list $branch_name |wc -l | sed 's/^ *//;s/ *$//'`\nsimple_branch_name=`$git rev-parse --abbrev-ref HEAD`\n\nbuild_number=\"${git_count}0\"\nif [ $CONFIGURATION != \"Release\" ]; then\nbuild_number+=\"-$simple_branch_name\"\nfi\nif [ \"$CI\" = \"true\" ]; then\nbuild_date=`date +\"%Y%m%d%H%m%S\"`\nbuild_number=\"$build_date-continuous\"\nfi\n\nplist=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\ndsym_plist=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$plist\"\nif [ -f \"$DSYM_INFO_PLIST\" ] ; then\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $build_number\" \"$dsym_plist\"\nfi"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ From 3ecff0f8a58f7410250f809e91bf648d9121c8eb Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Thu, 8 Jun 2017 18:38:09 +0200 Subject: [PATCH 769/778] Added link to continuous releases in downloads --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index da86c86b..6c2e75bc 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ MacPass is an attempt to create a native macOS port of KeePass on a solid open s All pre-built releases can be found at [Github](https://github.com/mstarke/MacPass/releases). +An unsigned build of the current contiuous tag can be found here: [Continuous Build](https://github.com/mstarke/MacPass/releases/tag/continuous) + +Due to the nature of the build it might be unstable, however this version contains all the lates changes and bug fixes! + ## How to Build * Fetch the source of MacPass From 5524d1eb5c9b125b6bd56eee3a16ad65531f83a4 Mon Sep 17 00:00:00 2001 From: michael starke Date: Thu, 8 Jun 2017 19:54:56 +0200 Subject: [PATCH 770/778] removed .travis.yml on master branch --- .travis.yml | 9 --------- ci/build | 6 ------ 2 files changed, 15 deletions(-) delete mode 100644 .travis.yml delete mode 100755 ci/build diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8f73972a..00000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -osx_image: xcode7.2 -language: objective-c -before_install: -- brew update -- brew outdated xctool || brew upgrade xctool -- brew install carthage -script: ci/build -notifications: - email: false diff --git a/ci/build b/ci/build deleted file mode 100755 index 5bee5d4d..00000000 --- a/ci/build +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -git submodule update --init --recursive -carthage bootstrap --platform Mac -xcodebuild -xcodebuild -scheme MacPass -target MacPass -configuration Release From c1a6789150403c0178dc02105f62a3f31072d6ab Mon Sep 17 00:00:00 2001 From: Sitsofe Wheeler Date: Sat, 10 Jun 2017 04:33:12 +0100 Subject: [PATCH 771/778] Minor spelling/typo fixes --- MacPass/en.lproj/Credits.rtf | 2 +- MacPass/en.lproj/KPKLocalizable.strings | 4 ++-- MacPass/en.lproj/PasswordEditWindow.strings | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MacPass/en.lproj/Credits.rtf b/MacPass/en.lproj/Credits.rtf index 7548188d..15cfbd11 100644 --- a/MacPass/en.lproj/Credits.rtf +++ b/MacPass/en.lproj/Credits.rtf @@ -99,4 +99,4 @@ Copyright \'a92008-2009 Jim Dovey, All rights reserved.\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/mattt/TransformerKit"}}{\fldrslt \cf3 TransformerKit}}\ -Copyright \'a92012 Mattt Thompson. All rights reseverd} \ No newline at end of file +Copyright \'a92012 Mattt Thompson. All rights reserved} \ No newline at end of file diff --git a/MacPass/en.lproj/KPKLocalizable.strings b/MacPass/en.lproj/KPKLocalizable.strings index 55dbbd51..61e8a239 100644 --- a/MacPass/en.lproj/KPKLocalizable.strings +++ b/MacPass/en.lproj/KPKLocalizable.strings @@ -13,7 +13,7 @@ /* Validation Errors */ "ERROR_WINDOW_TITLE_VALIDATION_FAILED" = "The Format of the Window Title is not valid!"; "ERROR_ATTRIBUTE_KEY_VALIDATION_FAILED" = "The Attribute Key is not unique!"; -"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "Tht Autotype Sequence is not valid!"; +"ERROR_AUTOTYPE_SEQUENCE_VALIDATION_FAILED" = "The Autotype Sequence is not valid!"; /* Errors */ "ERROR_CORRUPT_TREE" = "The internal file structure is corrupted!"; @@ -23,7 +23,7 @@ "ERROR_UNSUPPORTED_CHIPHER" = "Unsupported cipher algorithm"; "ERROR_UNKNOWN_FILE_FORMAT" = "Unknown file format"; "ERROR_HEADER_CORRUPTED" = "Header is corrupted"; -"ERROR_UNSUPPORTED_KDBX_COMPRESSION_ALGORITHM" = "Unsported compression algorithm"; +"ERROR_UNSUPPORTED_KDBX_COMPRESSION_ALGORITHM" = "Unsupported compression algorithm"; "ERROR_UNSUPPORTED_KDBX_RANDOM_STREAM" = "Unsupported random stream type"; "ERROR_INTEGRITY_CHECK_FAILED" = "The database integrity isn't ensured"; "ERROR_PASSWORD_OR_KEYFILE_WRONG" = "The password and/or the keyfile is wrong"; diff --git a/MacPass/en.lproj/PasswordEditWindow.strings b/MacPass/en.lproj/PasswordEditWindow.strings index 17b9aeda..b12807e2 100644 --- a/MacPass/en.lproj/PasswordEditWindow.strings +++ b/MacPass/en.lproj/PasswordEditWindow.strings @@ -2,7 +2,7 @@ /* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */ "1.title" = "Window"; -/* Class = "NSTextFieldCell"; title = "Missmatching Passwords"; ObjectID = "14"; */ +/* Class = "NSTextFieldCell"; title = "Mismatching Passwords"; ObjectID = "14"; */ "14.title" = "Missmatching Passwords"; /* Class = "NSSecureTextFieldCell"; placeholderString = "Repeat Password"; ObjectID = "15"; */ From 984fe768adab4a54ae240c95451f99823f22a188 Mon Sep 17 00:00:00 2001 From: michael starke Date: Mon, 12 Jun 2017 19:40:26 +0200 Subject: [PATCH 772/778] Fixed #594. Inner header in KDBX4 file stored corrupted binary sizes. --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index 9f9143e4..eb1c7a35 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "sparkle-project/Sparkle" ~> 1.17.0 -github "mstarke/KeePassKit" "6568b250d41e53f1bdc508255432661216d3fe7f" +github "mstarke/KeePassKit" "780c9eb440fc7d5f9bafb9f2d875d4b09cbad3f4" github "mstarke/HNHUi" ~> 1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index 27a0b2df..67dd33b7 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ github "mstarke/HNHUi" "1.1" -github "mstarke/KeePassKit" "6568b250d41e53f1bdc508255432661216d3fe7f" +github "mstarke/KeePassKit" "780c9eb440fc7d5f9bafb9f2d875d4b09cbad3f4" github "sparkle-project/Sparkle" "1.17.0" From 4e4b0f06f6d67e9d7808450b8b00f452e3f935ab Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Jun 2017 11:30:22 +0200 Subject: [PATCH 773/778] Added NO_SPARKLE environment ot preprocessor for customization --- MacPass.xcodeproj/project.pbxproj | 2 ++ MacPass/MPAppDelegate.m | 6 +++--- MacPass/MPUpdateSettingsController.m | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 444bc4b5..a2110b54 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -2243,6 +2243,7 @@ GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( + "$(NO_SPARKLE)", "DEBUG=1", "$(inherited)", ); @@ -2285,6 +2286,7 @@ GCC_C_LANGUAGE_STANDARD = gnu99; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "$(NO_SPARKLE)"; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 9cc9d374..7be47a0b 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -157,7 +157,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } - (void)applicationDidFinishLaunching:(NSNotification *)notification { -#if defined(NOSPARKLE) +#if defined(NO_SPARKLE) NSLog(@"Sparkle explicitly disabled!!!"); #endif /* Daemon instanziieren */ @@ -165,7 +165,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi [MPAutotypeDaemon defaultDaemon]; /* Create Plugin Manager */ [MPPluginHost sharedHost]; -#if !defined(DEBUG) && !defined(NOSPARKLE) +#if !defined(DEBUG) && !defined(NO_SPARKLE) /* Disable updates if in debug or nosparkle */ [SUUpdater sharedUpdater]; #endif @@ -234,7 +234,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } - (void)checkForUpdates:(id)sender { -#if defined(DEBUG) || defined(NOSPARKLE) +#if defined(DEBUG) || defined(NO_SPARKLE) NSAlert *alert = [[NSAlert alloc] init]; alert.messageText = @"Updates are disabled!"; alert.informativeText = [NSString stringWithFormat:@"Sparkle updates are disabled for this build of %@!", NSApp.applicationName]; diff --git a/MacPass/MPUpdateSettingsController.m b/MacPass/MPUpdateSettingsController.m index 01439796..eea0fc74 100644 --- a/MacPass/MPUpdateSettingsController.m +++ b/MacPass/MPUpdateSettingsController.m @@ -35,7 +35,7 @@ - (void)awakeFromNib { /* only enable bindings to settings in release mode */ -#if defined(DEBUG) || defined(NOSPARKLE) +#if defined(DEBUG) || defined(NO_SPARKLE) self.checkIntervallPopupButton.enabled = NO; self.automaticallyCheckForUpdatesCheckButton.enabled = NO; #else From 1d1d444da3e6b8297d65da8bf5e32d2eb2de5c45 Mon Sep 17 00:00:00 2001 From: michael starke Date: Tue, 13 Jun 2017 16:18:40 +0200 Subject: [PATCH 774/778] cleaned up .travis.yml --- .travis.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index da3578f2..d843dede 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,14 +12,7 @@ after_success: - cd - - mv ./build/Build/Products/Release/MacPass-continuous.zip . -script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build - -#after_success: -# - zip -9r ./build/Build/Products/Release/MacPass.app MacPass-continuous.zip -# - wget -c https://github.com/MacPass/uploadtool/raw/master/upload.sh -# - bash ./upload.sh build/* - -# TODO: fix versioning since it yield a 00 release number +script: xcodebuild clean && xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build branches: only: From ae36b9fb3247ad520c4b7c970e997fa520565af7 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 16 Jun 2017 10:09:56 +0200 Subject: [PATCH 775/778] Mergen custom fields view into general tab --- MacPass/Base.lproj/EntryInspectorView.xib | 381 +++++++----------- MacPass/Base.lproj/PasswordInputView.xib | 7 +- MacPass/EntryView.xib | 5 +- MacPass/MPCustomFieldTableCellView.m | 1 + MacPass/MPEntryInspectorViewController.h | 3 + MacPass/MPEntryInspectorViewController.m | 32 +- MacPass/SettingsWindow.xib | 9 +- MacPass/de.lproj/EntryInspectorView.strings | 5 +- MacPass/en.lproj/EntryInspectorView.strings | 5 +- MacPass/fr.lproj/EntryInspectorView.strings | 5 +- MacPass/it.lproj/EntryInspectorView.strings | 5 +- MacPass/nl.lproj/EntryInspectorView.strings | 5 +- MacPass/pl.lproj/EntryInspectorView.strings | 5 +- MacPass/ru.lproj/EntryInspectorView.strings | 5 +- .../zh-Hans.lproj/EntryInspectorView.strings | 5 +- 15 files changed, 204 insertions(+), 274 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index e1319c88..a6a9b06c 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -26,6 +26,7 @@ + @@ -44,13 +45,12 @@ - + - @@ -244,207 +244,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -464,13 +263,13 @@ - + - + - + @@ -478,7 +277,7 @@ - + @@ -492,7 +291,7 @@ - + @@ -500,7 +299,7 @@ - + @@ -514,7 +313,7 @@ - + @@ -528,7 +327,7 @@ - + @@ -536,7 +335,7 @@ - + @@ -544,7 +343,7 @@ - + @@ -572,7 +371,7 @@ - + @@ -622,11 +421,11 @@ - + - + @@ -634,7 +433,7 @@ - + @@ -642,7 +441,7 @@ - + @@ -652,6 +451,28 @@ + + @@ -685,19 +506,24 @@ + - + + + + + + - - + @@ -952,8 +778,111 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MacPass/Base.lproj/PasswordInputView.xib b/MacPass/Base.lproj/PasswordInputView.xib index ae7de6e1..3c95046f 100644 --- a/MacPass/Base.lproj/PasswordInputView.xib +++ b/MacPass/Base.lproj/PasswordInputView.xib @@ -1,8 +1,7 @@ - + - - + @@ -130,7 +129,7 @@ DQ - + diff --git a/MacPass/EntryView.xib b/MacPass/EntryView.xib index 215df408..90d7e190 100644 --- a/MacPass/EntryView.xib +++ b/MacPass/EntryView.xib @@ -1,8 +1,7 @@ - + - - + diff --git a/MacPass/MPCustomFieldTableCellView.m b/MacPass/MPCustomFieldTableCellView.m index bcc0542b..21a73fcb 100644 --- a/MacPass/MPCustomFieldTableCellView.m +++ b/MacPass/MPCustomFieldTableCellView.m @@ -33,4 +33,5 @@ [super setValue:value forKeyPath:keyPath]; } } + @end diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index 327e6ea4..ca568a28 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -40,7 +40,10 @@ @property (weak) IBOutlet NSButtonCell *addAttachmentButton; @property (weak) IBOutlet NSTableView *attachmentTableView; + +/* Custom Fields */ @property (weak) IBOutlet NSTableView *customFieldsTableView; +@property (weak) IBOutlet NSButton *showCustomDataButton; /* Autotype */ @property (strong) IBOutlet NSView *autotypView; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index 023e0356..f363a3e8 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -34,7 +34,6 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { MPEntryTabGeneral, MPEntryTabFiles, - MPEntryTabCustomFields, MPEntryTabAutotype }; @@ -106,11 +105,34 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { self.attachmentTableView.dataSource = _attachmentDataSource; [self.attachmentTableView registerForDraggedTypes:@[NSFilenamesPboardType]]; - self.customFieldsTableView.backgroundColor = [NSColor clearColor]; + /* extract custom field table view */ + self.customFieldsTableView.translatesAutoresizingMaskIntoConstraints = NO; + NSView *customFieldTableView = self.customFieldsTableView; + [self.customFieldsTableView.enclosingScrollView removeFromSuperviewWithoutNeedingDisplay]; + + + [self.generalView addSubview:customFieldTableView]; + + NSDictionary *dict = NSDictionaryOfVariableBindings(customFieldTableView, _tagsTokenField, _addCustomFieldButton); + [self.generalView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-16-[customFieldTableView]-16-|" + options:0 + metrics:nil + views:dict]]; + [self.generalView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[_tagsTokenField]-[customFieldTableView]-[_addCustomFieldButton]" + options:0 + metrics:nil + views:dict]]; + + + + + self.customFieldsTableView.backgroundColor = NSColor.clearColor; [self.customFieldsTableView bind:NSContentBinding toObject:_customFieldsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; self.customFieldsTableView.delegate = _customFieldTableDelegate; - self.windowAssociationsTableView.backgroundColor = [NSColor clearColor]; + [self.customFieldsTableView sizeLastColumnToFit]; + + self.windowAssociationsTableView.backgroundColor = NSColor.clearColor; self.windowAssociationsTableView.delegate = _windowAssociationsTableDelegate; [self.windowAssociationsTableView bind:NSContentBinding toObject:_windowAssociationsController withKeyPath:NSStringFromSelector(@selector(arrangedObjects)) options:nil]; [self.windowAssociationsTableView bind:NSSelectionIndexesBinding toObject:_windowAssociationsController withKeyPath:NSSelectionIndexesBinding options:nil]; @@ -386,7 +408,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isHistory))] options:@{NSConditionallySetsEditableBindingOption: @NO, NSValueTransformerNameBindingOption: NSNegateBooleanTransformerName}]; } - + /* general */ [self.titleTextField bind:NSValueBinding toObject:self @@ -471,7 +493,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { withKeyPath:[NSString stringWithFormat:@"selection.%@", NSStringFromSelector(@selector(keystrokeSequence))] options:nil]; - + } diff --git a/MacPass/SettingsWindow.xib b/MacPass/SettingsWindow.xib index 18d483e2..976bde4b 100644 --- a/MacPass/SettingsWindow.xib +++ b/MacPass/SettingsWindow.xib @@ -1,8 +1,8 @@ - - + + - - + + @@ -20,6 +20,7 @@ + diff --git a/MacPass/de.lproj/EntryInspectorView.strings b/MacPass/de.lproj/EntryInspectorView.strings index f3febdd5..06426648 100644 --- a/MacPass/de.lproj/EntryInspectorView.strings +++ b/MacPass/de.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Files"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Custom"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autotype"; +"238.ibShadowedLabels[2]" = "Autotype"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Save"; diff --git a/MacPass/en.lproj/EntryInspectorView.strings b/MacPass/en.lproj/EntryInspectorView.strings index f3febdd5..06426648 100644 --- a/MacPass/en.lproj/EntryInspectorView.strings +++ b/MacPass/en.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Files"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Custom"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autotype"; +"238.ibShadowedLabels[2]" = "Autotype"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Save"; diff --git a/MacPass/fr.lproj/EntryInspectorView.strings b/MacPass/fr.lproj/EntryInspectorView.strings index 242f4f2c..f0a3d44d 100644 --- a/MacPass/fr.lproj/EntryInspectorView.strings +++ b/MacPass/fr.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Fichiers"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Personnalisé"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Saisie automatique"; +"238.ibShadowedLabels[2]" = "Saisie automatique"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Sauvegarder"; diff --git a/MacPass/it.lproj/EntryInspectorView.strings b/MacPass/it.lproj/EntryInspectorView.strings index ed898e76..2897dcba 100644 --- a/MacPass/it.lproj/EntryInspectorView.strings +++ b/MacPass/it.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Files"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Personalizzato"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autotype"; +"238.ibShadowedLabels[2]" = "Autotype"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Salva"; diff --git a/MacPass/nl.lproj/EntryInspectorView.strings b/MacPass/nl.lproj/EntryInspectorView.strings index 9100584f..fe117eeb 100644 --- a/MacPass/nl.lproj/EntryInspectorView.strings +++ b/MacPass/nl.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Bestanden"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Aangepast"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autotype"; +"238.ibShadowedLabels[2]" = "Autotype"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Bewaar"; diff --git a/MacPass/pl.lproj/EntryInspectorView.strings b/MacPass/pl.lproj/EntryInspectorView.strings index 38d65de2..05309526 100644 --- a/MacPass/pl.lproj/EntryInspectorView.strings +++ b/MacPass/pl.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Pliki"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Własne"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Autouzupełnienie"; +"238.ibShadowedLabels[2]" = "Autouzupełnienie"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Zapisz"; diff --git a/MacPass/ru.lproj/EntryInspectorView.strings b/MacPass/ru.lproj/EntryInspectorView.strings index d8813df3..ad9517c6 100644 --- a/MacPass/ru.lproj/EntryInspectorView.strings +++ b/MacPass/ru.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "Файлы"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "Пользовательские поля"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "Автоввод"; +"238.ibShadowedLabels[2]" = "Автоввод"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "Сохранить"; diff --git a/MacPass/zh-Hans.lproj/EntryInspectorView.strings b/MacPass/zh-Hans.lproj/EntryInspectorView.strings index 67550daa..2574c8e6 100644 --- a/MacPass/zh-Hans.lproj/EntryInspectorView.strings +++ b/MacPass/zh-Hans.lproj/EntryInspectorView.strings @@ -65,11 +65,8 @@ /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */ "238.ibShadowedLabels[1]" = "文件"; -/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Custom"; ObjectID = "238"; */ -"238.ibShadowedLabels[2]" = "自定义"; - /* Class = "NSSegmentedCell"; 238.ibShadowedLabels[3] = "Autotype"; ObjectID = "238"; */ -"238.ibShadowedLabels[3]" = "自动键入"; +"238.ibShadowedLabels[2]" = "自动键入"; /* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */ "0ok-MC-QMP.title" = "保存"; From da62667620475b8348984bb3ad5401c9ed833e1d Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 16 Jun 2017 10:15:01 +0200 Subject: [PATCH 776/778] minor cleanup in xib file --- MacPass/Base.lproj/EntryInspectorView.xib | 41 +++++++++++------------ 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/MacPass/Base.lproj/EntryInspectorView.xib b/MacPass/Base.lproj/EntryInspectorView.xib index a6a9b06c..d4011edc 100644 --- a/MacPass/Base.lproj/EntryInspectorView.xib +++ b/MacPass/Base.lproj/EntryInspectorView.xib @@ -266,10 +266,10 @@ - + - + @@ -277,7 +277,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -299,7 +299,7 @@ - + @@ -313,7 +313,7 @@ - + @@ -327,7 +327,7 @@ - + @@ -335,7 +335,7 @@ - + @@ -343,7 +343,7 @@ - + @@ -371,7 +371,7 @@ - + @@ -425,7 +425,7 @@ - + @@ -462,8 +462,8 @@ - - + @@ -88,14 +89,14 @@ - - + + @@ -109,7 +110,7 @@ - + @@ -128,7 +129,19 @@ + + + + + + @@ -149,18 +162,15 @@ - - - - - + + @@ -188,8 +198,6 @@ - - @@ -202,7 +210,7 @@ - + diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 7be47a0b..1dc7000e 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -101,7 +101,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi /* We want to inform anyone about the changes to keyFile remembering */ [self bind:NSStringFromSelector(@selector(isAllowedToStoreKeyFile)) - toObject:[NSUserDefaultsController sharedUserDefaultsController] + toObject:NSUserDefaultsController.sharedUserDefaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyRememberKeyFilesForDatabases] options:nil]; } diff --git a/MacPass/MPCustomFieldTableViewDelegate.m b/MacPass/MPCustomFieldTableViewDelegate.m index fd5c5a66..bf26f76d 100644 --- a/MacPass/MPCustomFieldTableViewDelegate.m +++ b/MacPass/MPCustomFieldTableViewDelegate.m @@ -39,6 +39,7 @@ toObject:view withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(objectValue)), NSStringFromSelector(@selector(value))] options:nil]; + // TODO: Move to public KeePassKit API! for(NSControl *control in @[view.labelTextField, view.valueTextField, view.removeButton ]) { [control bind:NSEnabledBinding @@ -53,9 +54,8 @@ view.observer = tableView.window.windowController.document; - //[view.removeButton bind:NSVisibleBinding toObject:view.valueTextField withKeyPath:@"" options:nil]; - return view; } + @end diff --git a/MacPass/MPEntryInspectorViewController.h b/MacPass/MPEntryInspectorViewController.h index ca568a28..80e7eae6 100644 --- a/MacPass/MPEntryInspectorViewController.h +++ b/MacPass/MPEntryInspectorViewController.h @@ -42,7 +42,7 @@ @property (weak) IBOutlet NSTableView *attachmentTableView; /* Custom Fields */ -@property (weak) IBOutlet NSTableView *customFieldsTableView; +@property (strong) IBOutlet NSTableView *customFieldsTableView; @property (weak) IBOutlet NSButton *showCustomDataButton; /* Autotype */ diff --git a/MacPass/MPGeneralSettingsController.h b/MacPass/MPGeneralSettingsController.h index 4e206ce2..8355e88b 100644 --- a/MacPass/MPGeneralSettingsController.h +++ b/MacPass/MPGeneralSettingsController.h @@ -16,6 +16,7 @@ @property (weak) IBOutlet NSPopUpButton *clearPasteboardTimeoutPopup; @property (weak) IBOutlet NSPopUpButton *idleTimeOutPopup; @property (weak) IBOutlet NSButton *lockOnSleepCheckButton; +@property (weak) IBOutlet NSButton *lockOnLogoutCheckButton; @property (weak) IBOutlet NSButton *reopenLastDatabase; @property (weak) IBOutlet NSButton *createUntitledOnActivation; @property (weak) IBOutlet NSButton *rememberKeyFileCheckButton; diff --git a/MacPass/MPGeneralSettingsController.m b/MacPass/MPGeneralSettingsController.m index 4ccdd8ec..cc46af41 100644 --- a/MacPass/MPGeneralSettingsController.m +++ b/MacPass/MPGeneralSettingsController.m @@ -36,6 +36,7 @@ NSString *const MPGeneralSetingsIdentifier = @"GeneralSettingsTab"; [self.clearPasteboardOnQuitCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyClearPasteboardOnQuit] options:nil]; [self.clearPasteboardTimeoutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyPasteboardClearTimeout] options:nil]; [self.lockOnSleepCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLockOnSleep] options:nil]; + [self.lockOnLogoutCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingskeyLockOnLogout] options:nil]; [self.idleTimeOutPopup bind:NSSelectedTagBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyIdleLockTimeOut] options:nil]; [self.reopenLastDatabase bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyReopenLastDatabaseOnLaunch] options:nil]; [self.rememberKeyFileCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyRememberKeyFilesForDatabases] options:nil]; diff --git a/MacPass/MPLockDaemon.m b/MacPass/MPLockDaemon.m index 8c6e3129..4cc9e383 100644 --- a/MacPass/MPLockDaemon.m +++ b/MacPass/MPLockDaemon.m @@ -13,6 +13,7 @@ @interface MPLockDaemon () @property (nonatomic,assign) BOOL lockOnSleep; +@property (nonatomic,assign) BOOL lockOnLogout; @property (nonatomic,assign) NSUInteger idleLockTime; @property (nonatomic,strong) id eventHandler; @property (nonatomic,strong) NSTimer *idleCheckTimer; @@ -43,6 +44,7 @@ static MPLockDaemon *_sharedInstance; NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController]; [self bind:NSStringFromSelector(@selector(lockOnSleep)) toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyLockOnSleep] options:nil]; [self bind:NSStringFromSelector(@selector(idleLockTime)) toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyIdleLockTimeOut] options:nil]; + [self bind:NSStringFromSelector(@selector(lockOnLogout)) toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingskeyLockOnLogout] options:nil]; } return self; } @@ -55,6 +57,18 @@ static MPLockDaemon *_sharedInstance; [NSEvent removeMonitor:self.eventHandler]; } +- (void)setLockOnLogout:(BOOL)lockOnLogout { + if(_lockOnLogout != lockOnLogout) { + _lockOnLogout = lockOnLogout; + if(_lockOnLogout) { + [NSWorkspace.sharedWorkspace.notificationCenter addObserver:self selector:@selector(_willLogOutNotification:) name:NSWorkspaceSessionDidResignActiveNotification object:nil]; + } + else { + [NSWorkspace.sharedWorkspace.notificationCenter removeObserver:self name:@"" object:nil]; + } + } +} + - (void)setLockOnSleep:(BOOL)lockOnSleep { if(_lockOnSleep != lockOnSleep) { _lockOnSleep = lockOnSleep; @@ -62,7 +76,7 @@ static MPLockDaemon *_sharedInstance; [[NSWorkspace sharedWorkspace].notificationCenter addObserver:self selector:@selector(_willSleepNotification:) name:NSWorkspaceWillSleepNotification object:nil]; } else { - [[NSWorkspace sharedWorkspace].notificationCenter removeObserver:self]; + [[NSWorkspace sharedWorkspace].notificationCenter removeObserver:self name:NSWorkspaceWillSleepNotification object:nil]; } } } @@ -79,6 +93,9 @@ static MPLockDaemon *_sharedInstance; } } +- (void)_willLogOutNotification:(NSNotification *)notification { + [((MPAppDelegate *)NSApp.delegate) lockAllDocuments]; +} - (void)_willSleepNotification:(NSNotification *)notification { [((MPAppDelegate *)NSApp.delegate) lockAllDocuments]; } diff --git a/MacPass/MPSettingsHelper.h b/MacPass/MPSettingsHelper.h index 36de2aca..743ce992 100644 --- a/MacPass/MPSettingsHelper.h +++ b/MacPass/MPSettingsHelper.h @@ -22,6 +22,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId; /* Autolock */ APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep; +APPKIT_EXTERN NSString *const kMPSettingskeyLockOnLogout; APPKIT_EXTERN NSString *const kMPSettingsKeyIdleLockTimeOut; /* Autosaving states */ diff --git a/MacPass/MPSettingsHelper.m b/MacPass/MPSettingsHelper.m index a0bb06d5..8f391ee3 100644 --- a/MacPass/MPSettingsHelper.m +++ b/MacPass/MPSettingsHelper.m @@ -18,6 +18,7 @@ NSString *const kMPSettingsKeyBrowserBundleId = @"Browse NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; +NSString *const kMPSettingskeyLockOnLogout = @"LockOnLogout"; NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors"; @@ -101,6 +102,7 @@ NSString *const kMPDeprecatedSettingsKeyDefaultPasswordRounds = @"Ke kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO, kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES, kMPSettingsKeyLockOnSleep: @YES, + kMPSettingskeyLockOnLogout: @NO, kMPSettingsKeyIdleLockTimeOut: @0, // 5 minutes kMPSettingsKeyLegacyHideNotes: @NO, kMPSettingsKeyLegacyHidePassword: @YES,