From dc7703b07b8ff1395e71bc0d2298a86a7feedf2e Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Tue, 3 Feb 2009 11:53:40 -0500 Subject: [PATCH] Start adding the ability to set a default server. This adds and hooks up some outlets and UI elements, stops autoconnected to the first listed server, adds "None" as the first option in the popup, but nothing is remembered (yet). --- iPhoto2Ansel/AnselExportController.h | 7 ++ iPhoto2Ansel/AnselExportController.m | 68 ++++++----- .../English.lproj/Panel.nib/designable.nib | 135 ++++++++++++++++----- .../English.lproj/Panel.nib/keyedobjects.nib | Bin 25125 -> 25916 bytes 4 files changed, 155 insertions(+), 55 deletions(-) diff --git a/iPhoto2Ansel/AnselExportController.h b/iPhoto2Ansel/AnselExportController.h index 93da3acea..14c885225 100644 --- a/iPhoto2Ansel/AnselExportController.h +++ b/iPhoto2Ansel/AnselExportController.h @@ -16,6 +16,7 @@ // User defaults keys extern NSString * const TURAnselServersKey; extern NSString * const TURAnselExportSize; +extern NSString * const TURAnselDefaultServerKey; // Server property keys extern NSString * const TURAnselServerNickKey; @@ -48,6 +49,7 @@ extern NSString * const TURAnselServerPasswordKey; IBOutlet NSTextField *mServerSheetUsername; IBOutlet NSSecureTextField *mServerSheetPassword; IBOutlet NSTextField *mServerSheetServerNickName; + IBOutlet NSButton *mMakeNewServerDefault; // Server list IBOutlet NSPanel *serverListPanel; @@ -71,6 +73,10 @@ extern NSString * const TURAnselServerPasswordKey; TURAnsel *anselController; TURAnselGallery *currentGallery; int currentImageCount; + + // Remembers the selected server before it changes. Used to reselect the + // proper server if necessary when server panels are closed. + int mIndexOfPreviouslySelectedServer; } @property (readwrite, retain) TURAnselGallery *currentGallery; @@ -93,4 +99,5 @@ extern NSString * const TURAnselServerPasswordKey; - (void)awakeFromNib; - (void)dealloc; + @end diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index 749dd3530..fd61810e4 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -30,6 +30,7 @@ // User default keys NSString * const TURAnselServersKey = @"AnselServers"; NSString * const TURAnselExportSize = @"AnselExportSize"; +NSString * const TURAnselDefaultServerKey = @"AnselDefaultServer"; // Server property keys NSString * const TURAnselServerNickKey = @"nickname"; @@ -51,7 +52,12 @@ NSString * const TURAnselServerPasswordKey = @"password"; NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary]; [defaultValues setObject: [NSNumber numberWithInt: 2] forKey: TURAnselExportSize]; + [defaultValues setObject: [[NSMutableArray alloc] init] forKey: TURAnselServersKey]; + + [defaultValues setObject: @"" + forKey: TURAnselDefaultServerKey]; + NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults]; [userPrefs registerDefaults: defaultValues]; @@ -129,7 +135,10 @@ NSString * const TURAnselServerPasswordKey = @"password"; // Action sent by the server pop up menu - (IBAction)clickServer: (id)sender { - if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { + // Are we set to "none" now? + if ([mServersPopUp indexOfSelectedItem] == 0) { + [self disconnect]; + } else if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { // Server list [self showServerListPanel]; } else if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 2) { @@ -166,9 +175,10 @@ NSString * const TURAnselServerPasswordKey = @"password"; [anselServers addObject: newServer]; [NSApp endSheet: newServerSheet]; [newServerSheet orderOut: nil]; - currentServer = [newServer retain]; [self doConnect]; + int butState = [mMakeNewServerDefault state]; + // Make the new server the default? // Save it to the userdefaults NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; @@ -350,6 +360,7 @@ NSString * const TURAnselServerPasswordKey = @"password"; - (void)updateServersPopupMenu { [mServersPopUp removeAllItems]; + [mServersPopUp addItemWithTitle:@"(None)"]; for (NSDictionary *server in anselServers) { NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle: [server objectForKey: TURAnselServerNickKey] action: nil @@ -357,9 +368,6 @@ NSString * const TURAnselServerPasswordKey = @"password"; [menuItem setRepresentedObject: server]; [[mServersPopUp menu] addItem: menuItem]; } - if ([anselServers count] == 0) { - [mServersPopUp addItemWithTitle:@"(None)"]; - } // add separator [[mServersPopUp menu] addItem:[NSMenuItem separatorItem]]; @@ -623,29 +631,17 @@ NSString * const TURAnselServerPasswordKey = @"password"; } #pragma mark comboBoxDelegate -// Probably should have a seperate controller for each combobox, but this is -// pretty small stuff... - (void)comboBoxSelectionDidChange:(NSNotification *)notification { - // Yes, I'm comparing the pointers here on purpose - //if ([notification object] == galleryCombo) { - int row = [galleryCombo indexOfSelectedItem]; - [currentGallery setDelegate:nil]; - [currentGallery autorelease]; - currentGallery = [[anselController getGalleryByIndex:row] retain]; - [currentGallery setDelegate: self]; - NSImage *theImage = [[NSImage alloc] initWithContentsOfURL: [currentGallery galleryDefaultImageURL]]; - [defaultImageView setImage: theImage]; - [theImage release]; - [self canExport]; - //} -} - - -#pragma mark NSTableView Notifications -- (void)tableViewSelectionDidChange:(NSNotification *)aNotification -{ - NSLog(@"%@", aNotification); + int row = [galleryCombo indexOfSelectedItem]; + [currentGallery setDelegate:nil]; + [currentGallery autorelease]; + currentGallery = [[anselController getGalleryByIndex:row] retain]; + [currentGallery setDelegate: self]; + NSImage *theImage = [[NSImage alloc] initWithContentsOfURL: [currentGallery galleryDefaultImageURL]]; + [defaultImageView setImage: theImage]; + [theImage release]; + [self canExport]; } #pragma mark TURAnselGalleryPanel Notifications @@ -664,13 +660,20 @@ NSString * const TURAnselServerPasswordKey = @"password"; name: NSWindowDidBecomeKeyNotification object: nil]; [self updateServersPopupMenu]; + + // Register for notifications + [[NSNotificationCenter defaultCenter] addObserver: self + selector: @selector(NSPopUpWillPopUp:) + name:@"NSPopUpButtonWillPopUpNotification" + object: nil]; + if ([anselServers count] == 0) { [self showNewServerSheet]; } else { // Autoconnect to default server. For now, just make it the first one. // TODO: Fix this so it uses a default pref, not just the first in the list - currentServer = [[mServersPopUp selectedItem] representedObject]; - [self doConnect]; + //currentServer = [[mServersPopUp selectedItem] representedObject]; + //[self doConnect]; } } - (void)sizeChoiceWillChange: (NSNotification *)notification @@ -681,6 +684,15 @@ NSString * const TURAnselServerPasswordKey = @"password"; [userPrefs synchronize]; } +#pragma mark NSPopUpButton Notification Handlers +- (void) NSPopUpWillPopUp:(id)theButton +{ + // Remember the previous selection before it changes. + // The 'clickServer' action will handle what to do with the selection. + mIndexOfPreviouslySelectedServer = [mServersPopUp indexOfSelectedItem]; +} + + #pragma mark NSTableView Datasource - (int)numberOfRowsInTableView:(NSTableView *)aTableView { diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib index 6ca2fb904..d0c4a590f 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib @@ -8,8 +8,8 @@ 353.00 YES - - + + YES @@ -676,7 +676,7 @@ {3.40282e+38, 3.40282e+38} - + 256 YES @@ -868,9 +868,9 @@ YES - -2080244224 + 67239424 0 - Default Server + Make Default 1211912703 @@ -890,6 +890,7 @@ {455, 195} + {{0, 0}, {1920, 1178}} {3.40282e+38, 3.40282e+38} @@ -904,21 +905,21 @@ {3.40282e+38, 3.40282e+38} - + 256 YES 268 - {{569, 12}, {96, 32}} + {{568, 28}, {96, 28}} YES 67239424 - 134217728 + 134348800 Done - + -2038284033 129 @@ -1123,14 +1124,14 @@ 268 - {{14, 12}, {96, 32}} + {{15, 28}, {96, 28}} YES 67239424 - 134217728 + 134348800 Remove - + -2038284033 129 @@ -1140,9 +1141,28 @@ 25 + + + 268 + {{109, 28}, {123, 28}} + + YES + + 67239424 + 134348800 + Make Default + + + -2038284033 + 129 + + + 200 + 25 + + {679, 358} - {{0, 0}, {1920, 1178}} {3.40282e+38, 3.40282e+38} @@ -1351,6 +1371,46 @@ 526 + + + mMakeNewServerDefault + + + + 529 + + + + mServerSheetServerNickName + + + + 530 + + + + mServerSheetHostURL + + + + 531 + + + + mServerSheetUsername + + + + 532 + + + + mServerSheetPassword + + + + 533 + @@ -1899,9 +1959,10 @@ YES - + + @@ -2013,6 +2074,20 @@ + + 527 + + + YES + + + + + + 528 + + + @@ -2121,6 +2196,8 @@ 515.IBPluginDependency 521.IBPluginDependency 522.IBPluginDependency + 527.IBPluginDependency + 528.IBPluginDependency 6.IBPluginDependency 6.ImportedFromIB2 7.CustomClassName @@ -2167,9 +2244,9 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{42, 910}, {455, 195}} + {{419, 246}, {455, 195}} com.apple.InterfaceBuilder.CocoaPlugin - {{42, 910}, {455, 195}} + {{419, 246}, {455, 195}} com.apple.InterfaceBuilder.CocoaPlugin @@ -2234,6 +2311,8 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin AnselExportPluginBox com.apple.InterfaceBuilder.CocoaPlugin @@ -2262,7 +2341,7 @@ - 526 + 533 @@ -2297,45 +2376,47 @@ YES YES - anselHostURL defaultImageView firstView galleryCombo mCancelConnect mExportMgr + mMakeNewServerDefault + mNewGalleryButton + mServerSheetHostURL + mServerSheetPassword + mServerSheetServerNickName + mServerSheetUsername mServersPopUp mSettingsBox mSizePopUp - newGalleryButton newServerSheet - password serverListPanel - serverNickName serverTable spinner statusLabel - username YES - NSTextField NSImageView NSControl NSComboBox NSButton id + NSButton + NSButton + NSTextField + NSSecureTextField + NSTextField + NSTextField NSPopUpButton NSBox NSPopUpButton - NSButton NSWindow - NSSecureTextField NSPanel - NSTextField NSTableView NSProgressIndicator NSTextField - NSTextField diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib index 48c956029b1f62c7f463751a296f19baf9479f58..dddf7b5b7dc176a58b3d01190e555eea2c350988 100644 GIT binary patch literal 25916 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 literal 25125 zcmbV!2VfM%_y5e^?%i(cU3x;wrT21|p35bdLdxatC<(p9kQ@+5BZZFa(gf)Of*=B+ z3L+?qfQl7F#R8%t9R$RJ6cMHW-|Xg6fbaMB`~3r#Y?+;T^X9eBdviOip{Ba2IU(T~ z!iYjLL?Z^t5r^#hhm5s0HdWWxm4!6dHw*}=XsjGr4VU_d)DIhFt!!>`L3q~MBS?YR zA;r0I(#5KZ<_aE{E1fN+CDsYns+_imcBrT_WRDz>1|_2ul!^2x2X#jks2WW`)8Ni@ zvYLxDt=V)wmAV;|AP>$KmmK0-l5?V;;}Iv+(nHK3;&A;5B#) zeid)U+wg06JANJSz=)S;*`Km&vKz9SvcF_^WOrrvWshh? zGqjwxryXb&?L~XjfpicZPG`~Cw1Li{bLpORKe|6%PCrABphwaT^f-DvJ)M4zo=rbb z&!-pB%jp&L8hS0gnchP0pm);m(0k|)=nv`7=tK0k^bz_v{S$qT{)N6m|4rYf@6z|+ z^N67s8J)w>jDleqN5+%!f-`Sq�L&CXR_`QkYc6%=BTZn32qQW&*=A&ogtG1H<n=lh|Z7g-w;;VAI%i zHiOl%nXI18VzXHTo5SX^d2Bx0oh@Js*&?=>HL@kFi8Zqpwg=mj?Zx(HOW88E58IdR z$M$Cjv(K`f~la{&Xfc zfE&mS;s$d=xS?D*_Y7CT4dW`gD$dFc=SFZNxoU0{H=3*AYPmYDo@?O7aE)9O*UYtW zW4UqMcy0nWk(Eo6jxa7IKTY z#oPZVk7VTgSC>>$wfwMs5?gncKp>%5CMg zaj$XPxt-iDZg-!Mx|W)nvq~4_h@6l!QX&;{L9WORxg!tciM)_E@eJg5OtZ>EKQkqj)X>Dq%9#&mb-8`X3byeFvcs8%Tt`4j(*yW}{mQqVat+k2t z1IGo8a5ApGaWrWq^+@gvgz=yQatJrX2maGQZGG1_l9mPabHV<2Oo=>5h3_AdZwT^EFDh5lmNDuH}5K9F-R={TksyELH_&J^t z@EHN06Yy+->d7NsF5p=L)k{Sw1$_P}EQb~)q9mBCI6*QQp5|rcO81<)CTmUi@eTEj z%`l7R#`>BXYvWOriqcRz%IGh#-r6)!I;evOTTuqm4TYXsnwsltrK$9{tqsh$I5)4p zvc967t7P;nl#L9)&^B+^#4FZHW8|W|^(YVJBOOf9+|pbDoGP_8_py}1Z|TVbRLJM; zPxRE&(M1euT-Sx^tu6ZJy9Q7I}zeNbQ25A{a_&_FZ@4Ms!IP*jed;W^%m59GCc z5#N{Z&mZSc@Td6m0`?N{5CNA9xI(~{0=5cxgn+9BJX*lD0P$OzW&8P*9MdQ#IQFzJH_O>=P)Yny68=(u4VIcB()|wjVdTc>W#Rwt--RlTb zs^F3&La>OXEe+PjvDMabygl#EJMc~_&~M(6xBsziMDtBUzn5lkgelNRq3r1cvs$;SMqksLoO_hkn1D( znKjMusBd0HU8S{#NWp6K3R;8KqIIYht%o%#t)6IwKSYmUU51Nf^De=LASC|qDwUJ} zU{gzFbyY=SV+Aa*B<-8f=2o;B>EKafC3;F%x1wzu&^GiM$P3W|iA+K{oaBfWi=0Sp zUq?GOq8(@_dIP=M!@0=z#6fFB5e_rSbHD~PJvVjcJRqMzhl zc$HEKLe@00ejGF?tRRMRLWac6GwAGkbXMY~yNz+gm_CJnR&)V4coB?65O7dqP_zSZ2{|5P1ZvKbikUz^>&= zPhg!k30S8US(m8M#Hh8}DN}wDd3UQ#ljozq(QWh(`WM{+Zrua29)NjzRIXHkSXESx z9?@9eQdgB%UsDf`46fxjR*Y-vxB+9Afe91ui#oG(%)=Z$o(~6hhVelzN&}5JKBf~V zF@;(&P4pzHT~BDY?~xOhV+Ce0hwZREcEFC<3GAWRG0|Z{KxsoorIlD0azfOOC_iAP zn)(r!UVgTv-i4N6#bZ$ahH$gaf0}hr{S~N_AQw7!5 znyPkH#-TWDBM!5vavL|rHiIjOQ!c7+YVOn9)S-A*9EAdK3d+ zc^PmH1$+{pEP4jf#HXgjs8dpiHYKKkI%&bglW=VYPQ_`WnRgNm{qr~-&BYm5hck(} z$9l8?XQ8p!fEMFioF^Lnd$<5c;UW;2vA6`Auo+v*l|JCZt#vKMumHsRfE~%HsUA^R z3l?1DLQZ32{kWd>P1VGGf=#zImTY&Ub-1;$(OT8LYJ^pE6MZ1IBYhP#*4L7zu;!u; zH*4I^6n(8aTAor*f?F>k;xq7^{N<4v1C5sN7ij&}zc>|y30F6ItzrtFRRh$0I;GY`kjX^Z6V;w{L`{zRns6t&kRv!lQ8wt_70~ zY!^ckQ7JO{3|jPHzQK(hcm_X?VIASGGlgAS)FUfOzq*)NCf!w}LS0q_gMn>`iz!o?~;J;`;O?gmidN;E0WH z9f~&>&)bCOb$C%&xlWG_sV#+=1Tr|{wa(hN2(<47(7s~OzCI_UNDD7THF#NjoVOn@ z$16Z1R^nAQ_Xi@uUN+S;`rXYQFM%LQ8He~D>mU)ydH1B z8}TN*nJ?i@yqUM~J@}r0aB>`335R3b1p->MI(n)XmUg$308ollQ{8|6--!2jGQZ+|DUwuHS%+7&)HJtW>LdmbQUu^nK@7Y>4EljS)U^i#lH7G_ ziw{BDFQDxJX#3+?r4o(8hhdsuq0#tj{0#zcj=zOKU5k(4qo@IYhmXO8zsEn|AMtU# z2cJMwu^SqPPvO(p0Qb&=49wydl`0yqx3CAJhD0XBs%kUTkEhJVayx<4(Kk(o2NBKc4KLp~kf&8;@ zX(+^uoq%J{nid!u2m{y#zom#qic|;)8HXn0OE8nmFq13L$7BJI6YzN6QNR;y_TYD7 z56<#KZP8F0fB^eW3h4V;IJIxxgY#_I79evRc@f(-+tk%A2g(t(O`;2l+C z?BIUW5#&S-;U!2$l~d2OQqO?91b+nMkUqqyEh#a*ohJ~$5nwKwH>#4V+CWuFP*Ai1 zJsaysG(!HXxDLQ|1%SAxFThBuy2}EL=O=WP$i!5#07;3`VE;)X$ACmS6Nwc0KM{m+ z91%u{&04^&xPoxQ^I}J72{G#QBpcb|(HrY+L<7i!Rn{hpE1pDxQjI2I%9Os7;E4pu zDIf{2%m=KpkYE++St<{b{=5h^cvy8|U>nMUpt4hhPtD+?%?av+xU>ZEr!B;%X5sT2 z@Og=V|Aob%o~P#GJ=FXz7Gu9?F}~)%V)+?u7Q@G8F_sdG0jSq@zJkx&ir%GGQmgPH zYBlu=wT4{drUd7Kc$}uTKW0V#re3FZP&?6WpyN$ymxTDJl?3rod#Qc!I}pSU(k9js z;7!HoyDe`?qPjc)g3ZL^kW7^1A|awEs%YwKZEOZftAT()OdRsFT$09sb$YoC1 z3_pkCN1s)Cpi$Iz+>_c*eE^2)7WEL+M*k~#(IS0*LP%9R09gazJcgp`^iL3#lo z#`-!4$}7NALiQ=ArUnwR#1EFjd@BK(ctUhQQc;!QObOD2$NN=RHIEci%3u^*YU^@Z zK%J~j)e}kA%@B)}E4`k4s>oVBVkGgk`G8F&3V>~ejny_7?fV}H6sdz~RphWVB1uj6 zt{*3L$v@A}=4Xpo=coaY{wjVc7i?f{rbYUT_}MD#!q4USdHhO#xzZV)njdUPl8pw5AuQs?;vC#avn3SFcwQJ1M-s4LX3)Nj-dVDcZ-Rq9VFl)8r9sO!`X zY9EkS+yvMFat%ZdV3tMJ3Wz932m&X?RS+{&53d%JnIij$L;)YjeF>U~+-t*4U_EV( zz^00a9RDJ}h+oJr2{we-X135E9`SR;0I|asP`9YRsoQ8V6##DC-h~z*`g?(24A^f3 zAJy3k+!tL~BKgs#r%U*pdPqImNImL6=#bqIIo~lMo6#dFPccyNecie1K*UqR+<|p&tB=d(QZc8FULlW}U z4yzXjCh9Gbq?QG4lm*(D1S=>uf&h;!sMI7_7P3heg4?qgu;R8xPcdca7g>ZXvXd!G z;MeeLJDD<)?MoI-nI_@CJ0F<_oX@Iu=d%u0{S|(6zqYL0)5lJi+2RgjMicn;{D!u% zZJ$Iip6BPF!<{B!8gL-t^8>4)osJ8^CkG87V*Q=i80Db zAgCqP0Ew8*{FcWUk&qxoK?ET^EiNS9kn)q20xhq|`nGxDSAmvIka~l3!sx-`@M@A9 z%uqjt3LGyREF02^iUNKc|5_UrP!JGfQ)x94!5vH4BDcq~MI;6Llzfq_Qp^|?Nf{$t zBpV?ciSEfpQELFuwB?Lsb=ZOpA_9>NF(gSKRX&~rCGO5|=U)fS+R1O_IR1@JAsk5} zlGv74fgzJM$(qp?@Bnd55H8h?;CD!JIaW4qy=(ugeuYI%I5KT8)Wlk3uL2Yi}>CAUYOr|C!R_MAz^735?&Gqey4rlJ$*`R zAqoA|q?T-=IEPodbg&*5iCye#@8aFQW@}Y-OYMK_V@sDlwqrN3kN4aA*gv2Es=lI> zJw?V)qwG!Du1+fN&VR^%)FJ7KDMZiPB%P!rAr(d;D@h>- z{(TIw;0G=&;D1>3ypi?wP1bfzd^%~L$_{iP?Nk0hhxlugNw6)FmJUb%d&<5B%GPzE z>>yC~$zWnx)omu?R2Qf!W&tFiiuQw~-IIMU`vLEf9T(C6X}nuB64Ut4`9rJ{&;vkJ zAAsPHN=bz1Ii1)Ev0|rb%cFF-NhxHOokREVZrKGfWc~uw>Pv#tJ9!NfD~la=3E4HN zU<0Kf6O2%@1Pa6$JspY(k2&PFk$xw^x$LSq(l;>eZ-+|7Wp$4RvG)G7LCLy{bI^d9 zNlZ<&4NCBzn5|AGX`;k*00vJV^tL$Yzv7_BV9@XTh}nt9#*$3K1KGn?*+Z#6F5u)}R2Ih7`_LNa6f6u$EZU$1{VJBeb!DHnq^^T`xa3ss*^wVY%rasR)n<-lNKEl1=C zDaV|KO3ctEF|lc>t{hF$!<}gh0ouZVwhOSg0DGRIBajmvNk`GqbPOF!$ItY_Oy<_qSG-~TfH0sjhB$$F#6O+Hv6)`#|K_+ zdJwut7qkZ~zk@(rApwhX&x+=e>gIZNV?$+J!^noGjbBMubsGOF|7ZL7q{0Y>0LK5{ z6&UHl$At0^5XvWpq#NlbTG}Z=rhJ>f&fn-VWQu5#+lM?sPk0>bqTBRDdJ;WZLb-I2 zt*!}}Rm6TI&S+?97BLrO;%~aR5zP8`8)m%*REhqYo^(e@qd*o!^CHM*Vk6m zi4RNQu1V^n1Nw+IhMt3`w~}gxbT*fsw~?M_i=!b-1U;};wlrFwEDF*K=!Ki;g&hI4 zDA$j*eu8D_7kUZ3w9_j6%ij@MMiPv~L5NW;+1~NrWMmb{NO8N2+yxo=hacS^YH+ZB zqt^PgLD$n8It_ZCf6#f*6j3t%r$M*DpvLw=AHtybV9=gmmtjLz)zb#uMZeWCsDP1x zal3es877N`h5u0_-i3inYy%6Jf{`D=$iz54eY%bGC-kT7BfATj7BC}@O!m$s5o;mN zShOMF9{+O`(`oMveHh3vqZRZwwkSrxay|?Uf(ya+Wu+BkpThY@`WXFvXHsAb7(~h7 zEPxbk5&;bVcT!**&pq1GnH1O+1C%J9T!cpYXZm92@$Ch&|415NL$H&y1|m}+pgSWf z=uG-oaU;=Vn>Og*$fgbYDtdwblfDK=H-L^FXa(L)-vVb~sc(cRS41*WrMGR@hJc-v z(*&&KT?On&=(KYw%Ix)Ms115a1{)#(TX~eeLn@d8b|&%vxa#K0k)Y)Cefk0Y5FCX# z0P%_fb`dZ@3)le1AO^QGm|zIl$s`qb#CDSI5A5&}VvHnaEQv8r*TNxWuVLm=KMW&p zWnfc*h_u_hp0&1t)Z2za^++PMbfneVdB+)JhXNP}-c!I(XcF+?|LBw%Cpw8yGAhP} zIAz9-ahII3fc?Pd3D{S_0|nfTza(HE0T1fz>)OC}N-9Y(gW^o-C(+U*t$BM1hw(v^ z8DBJ&@nd|L00H}x8V>yJ4~GJ_)nb?+K5sn}%!DwZ0#*w+M8IWF#NCV&YGfjrC?Y=4 znG;aSgE9pQIEWK_^An{wIR!}i|BzxP5#3{gJ4>;EgNb;k%krUKepcy>Mloq16{DGS zCWFzTiA*NR`J)C#&t&267$?TSX9}1?)I!K)j7$kr0)kRxOLc-6HQAE> zdG(ETQh{4s;B7p*@t!95q7XX9fI)kHjVc8wCs#3v0ucObc<%|#YHC!o&K&!HS`(b{4B_R*4cJ(dw?m2Qywg`_XFpQ$E^UnWCJ{n`@09cf>t z1n*`>Gc`;twg>UZr@mzdQ%6AV#t>m4DPNf2Scb4v;<3ay;6kBj9DXnm?nLoXAWFc$ zNFq`Ea*-99V1ovUKLaPFXbGN6N(D4QHfoX`RUiP=4&d7)7;G{ucy~fNFfLZWF(SX= zIO4xCaXK(@1~9RA{A4@eskfMD&M^GHtGwY%*;x@{q(X^BS|AKssgz|AK&11f0x| z5pe1t$vUZto$ie7AjR7yQA#S4%xVn~uv;=nguIFKcBU?3DVtLsDtJdvAxdzQ z6iLn%a89scTtgel1;K^a9z7xx5NWs8RW;OC*EK%|$VJ+JVXk!0o-g1$k@iy9%+__8 zV6Pu@OovQ&a+Q%k4_vrVtO9hZ~rOl0uNQ zb(^(@S}@7S!R~GF3b-F?kRv$;qZlHmFu=ID0PF~4K`X~x4UF1fT$jwh`M(3nn9#R;*vH+LJ7n+0t5ywi789D zFR|lb&7y22UD3FR+$7dToC*neBv_V0ipJVB$kd1{A`g@YZIA~^TyA%S#Hc+rFp!7I z!ygL_`Uto$2pohN5Eu|V^Zys!$`e4bL%YTW{fJ(d_3aIt_QqPlE7+nSuoj@0um#Kn zU+@$0en+YVHa|0=@(i;18J-pJ&>@ZDXjQ!W>v88m`erez@c zI;Irmi)uj6kV7V5hq4SGVruCsY8CYR5o880fVT`qlVD%YLAn4Rqt?+q=%w^U<{YzH z9uB#lGTNQ~6oSWK^ef#Aky(^%0b_t-{<~BL@P9yHz+V&a4A=#+0TMp1 z@pe!dffA%-eole;Av?bYPD)M!WSNwZGUZIy^rZZpEkP+iPiyfpI!S&}eo1~={)_yI z{8#yJ^53z6`bqwW{3_TgTh`H*nXIlOnMsmal#ckpB4(N@U_ro>T^h!dz-5Ync>zxn z@O0RyD&S|uWTBQAJp!7*ez%iGtR|^R$#3vG`btQz?Fy0R>r12QYOCdT4|K5eqWr*ONV8`4f z_*|CnC08Kt*n?RO*F)jBfaD)Rnw%gjSp+UESXRe`fFvJ;T~zk6I*?%_>@dHKE@LyO zqu3jqO@iY|vLUczWfk=boCh#3gN#9IsJ=|1EqD=KLOH{x^Mg!?NW&`92JWt=LqJ0& zLCZ;msUe{A)8U^te1b(S^Mmbt&%g)HCX$Q%KOmB#D1r)>!TFW8%qYl^AEZn{M!=7$ z`8P;sv*3wZ5au`F?>*Ro7YzSW!FbrZ4u-BN_`Jq{0!pw6?oyxvyq);K2mCW2wIGs@ zV8>E2533p?QKcpA;INgy07~-=G=8RyPG!gz(HnqEMz8?IV3I??26VLm2fzkIGIq3+ ztfZ?2px*+`uf{9E0&JuUskPYLVF8$0G@J<~769h{C$No}fURWizMxiD$jt3vhOi=_ z`F;62z{5{Orh^q|(|lisRP0i`rFdJh zTk(!!k7BQ4pWRcIH@?LIITFNIIB3PIIp;%_*rpLaY=Dm@r&Y$ z;#b9Qir*D~D6T60R9sVBSKLtCRQ#p5rTANMTk((LU&S58UBx}ceZ>RCL&YN&v6!V; znSkdA_;~@(74SR(&lm6l0WTErA^|TJFaVk*0*1(ZnScQ!0XkhF;FkovQoySO{IY;o z3-}cQuMsdXaGii#1-xFs8w9*jz?%fTS-`;2R|O1fx=p~Z33$7JUl;HW0q+zr=*F7@ z-X-9-1pKyucMJF(0q+qo81Q`pepkTn3HW^h?-%d~0{&3I9|`zl0fPX1D&PYGJ}6*V zl0yRiT)4q89})0T0e>gpV*>tOz&{B1M*$xf@J|9hA>fk& zJ|*DOgP?+@ju0zwkx(gtYMHuEgIda;iSS7sA=by?rb>iV;+I~;JF(h<9akU`L^cyv zSE|Kp5pAW@$N{4JR>LR|5kl`R?VY#x>nTPaYH1UVI>H9DU_`GjbaZ^-ix5M;DxfC& z-P93cX&tWlb)n#~atYj5igWGQe+ZX+#4lJ7^3)MsvypJqO}yN-BpNxm%^RtSQz%#Z zb|LX8U5H)&7}s{ombxdycA170Cy{4*wls~jtxN72i5s|h|!04_;^^MgNq10Ic+aTIDLIT~ep-L12 z!WNLbEdP879o#DMEhii54F0yl%Zh{IENEkP@f zF0DE}-tB2BEqx#9iO1T7a4`7-N_dmH$2h<^WF1K%70g6?aTOkQ=`@-4{@l89PW(8}3~VN*fh}bDAd9RjS4Bufg7C zpDyzDnBKUGlZfc}&XcGU-cPKg&76s4SdkafvNuHz?r2NY$-m>YO|v_1>;js*J<&kC zAnGG5V;5p2L?x2c+1^P8d7#vBKT%@+x<1!+KMfhRi+DUPmu_93wyoNeV%drJksV89 z(*ZHn6+`y&x23&e)R0Dk(VwC;;_8}g6Yym_A4<+o@dIt=!$@FOhYyjE7+%jnAaNTQrhCZ4nRCdDdeZI^ z@P!vO3?jf+wg_I=&>sy3XwnXO;k6C}0rHA~7hdTgf?a^RVwlTpM8#wag)D=q1$f(w z09;f?0&obwhoEQZiv)P1q4ZK_HIz~b+bTr7peBpmjFfcP2@@m>@J@TUN=KoB>C zMDZeouY=c8KufGY@+ z%5DScBX|e}$+r;!m-7%C5;R^!&{Rhl&VDDZHhYZyp8bLSkv-1-#GYVJvZvV7>>2hf zdyYNNUSNM_FS3`|%j_@g74}#5H}-e-5B4hiCwq;(&fZ{evVXC+*uUA^>_6>c(l zdyl=(K42fRk2u6(j^bn-%`u#uQ*bQDadwZgB@I3+F7w`iCKNRpIfkFa>1qxo>A`>WD zpcsLY3zR~jSb^dM%1)r{1Mcp6(~1>au+BMf$|h6FM;wF zC?A39CQ!Zt-oYJmzAs33s~7N`(`3Kgg@feII>2!VY-Gq@Cg;3siGWJ_-mz$626(RS~*9B zpHtzNRFs{HVpQ0o!Z%d-tP0;(;eVCxDtt#pDU{Ev@G+%9h1aX_S{0tJ!qZiFxr#z6 zd{2cJtMD2XUZ*^+!hfmow<>&Cg*U43b)|<2Ta}wt_>2laRN+5WluU(tsxXW=SA~zN z@FNxeN`+fh_?ps9McFG~RnAjUSVcLhD7gw>P~n>@{D%skQc<)DFH?r9@J}lIn+l&( z;oB8 z_-_^7pu*p&@Oc$JqQaL|_?8OSh_y=is`mpBX*@!OXQ(JRxGGvzRKV@v^VYUmSnf^! zR{QbW;xTMY;NIc(v~qjIJ&eV<(i?cl7cCHryipJeM;drVPd3U2Q(6Yu02juKsboem zW0!HF?;h~6BXcc-zw!)w&R`gU1 zQB*2w6m^RAij9iRidPle6x#v4zX8boZ9wgN0k3}mIQ;hY8;k8N1@2ewt{t{x?NoNIcD{E0c7b+rcByumc6oOBc4oW2c9nJwb`$Jo*v+?FZug4a zR=d4+AKQIych2sbJ-ma?p0=0Uv-Xkp(e|ft$mVxihZelANzjx1MCOc53w(| zA8)_i{zLl%_Mh2*ZvUnISN7l7AF=<={*3)K`y2Lu+5hdJa8NpUI>b8|9C97<9SR(Z z9IOr_9I72gJJdSVIW#!TbXe@L#9^7ka)*@;Z#n$raMckzIy!nddO7+y`a1eMsvSce z!yF?V(;an=`HlsS#g0QAhdVYoPIa8`xX^L2;}XYZj>{ciaeT}1BgfAjzjXY{@mt5A z9M3rZ<@mSbKaO`C?>R9}E>3Pvo=$3~NGF|BzEcmUK~5u`COA!Un&LFoNpNa)+TgUw zX^YcVr)^H#opv~V=Ir7e@0{aoavtj3nMHRsozcR8PP{?+-0l2Iy^{>lhtvNB6qpe#}vl_q5`WvQ~ia-edsa;Wkd zWvz08a*}e2a;kEca*484xk0%}xkb5C`LXg#<+sY8mDiOwmA90)Rh-IC6{d<-rKqx1 zIjVeBfvSh9uga>bRgG0mQq52;R&7+hrFviWh3dHKvg#kz9o0S61Jxs!2$w{cY?mCD zJeTe+1ujJ{Mwb#7vr7+`{w@PuMz~bFjCQGYsdpLU(&VzxWt+<+7!jTt9LB+VzC%Ro91Z$c=KN-Q;fGZc%PAZgFl2 zZd$h%x2bM(-PXD7aC^_~pxbe`%WhZPeslZ7?N7JsZa3Wia{JruAGbSh_uL-1ySe+g zr@E)R>)f;4bKLXX3*39S_i`_D@9W;=-r_#aeS-TW_bKjE-DkT$@4nD|vHKGD!|q?Z zf9rnK{h0gr?mxQ!&?NbyMX z$nePY(0gQiV}{2pkJ%p2do1>7_1NIC-D8Kxryd7A4tadxaoFQ0 zkINocJZ^b%p7x%Op3a^s&k)b(<{p>$1BgPyO+_+GVebMcrFY@i? z8{wPeTk1Q^x6Zf0x6!xRcZ%;+U%_{p?_A%dzAyT|IGyV#H&fnhO(O>DW@^|%*@Q?D3@sIOQ@Gti7 z?cdMe>Oawcvj4OGy#F-+dHyf?ukv5(zsvtU|IhtT`CszC?*Ax&4R8-o2jm3g1#}N6 z3@8pT2ABdY0V4ut2Rt7zFJM8yqJS3ymIk~W@P5Dt0Urf?5^x~kV8Ee(F9I&A8MQ*q zsqNK{YG<`d9jP{|O=^p}r@FVgRNY72Pu-witX`sCre3aoNxe$FR^6)Jq5f8VRDDeS zgZjAoC-q77Y4zWMMS%kY2L%oZEDx**tPHdUjtHy{92Gb^ur~17Kt6C<;M~Avfy)Ee z25t`A8~AbHUx9Z5?*%>xd=!L(WI;@jB8Us}2=WT@3GxjJ3W^Sj4N3`03(5(~3+f(J z7*rh87}OjzHfVg%#GuJR&j#^9(}HFPy&d#U(B7bTgWeDNAn2o@Pl65v9S*t^bT8;Z z(4$}+EDL6W6~SDvYj9F_*O`0NO(wONOVYSNPLJUBrBvoWK2j?NK44LkntfCLnenj z8^VVy4|ywOcgUWQeIf6K><{@k;3n_`dK@!ViRh7XC%};qb4+ ze+|DCem}xHA}AsxLKmTr$d1T~$cyM6Q5aDiQ4(Q^=oL{GF(#rZq9tNn#Ds{65tAd9 zMeL5)6R|Jiy@>r0A4Yr}aV+9S#9tAANBk3UC*p3z{Ydx7jL6K$tVly-Ze)IB_sGJ? zs>tDyBO^ye))CrQzXGhPCo)^6!dUN!l=r5uV zM}HH2B>KDP@1xH|--~__{V0ZtVPfPlY>YalS4?S4pO}6z17ilql*d%XRL9JUnH}?d z%>0-|F^glC#B7T>6>}!$T+D@-i!qmDevOsKvaxotj#>K@Y z#udc%i5ng_GH!HSZCpd#y0{H-o8z{|ZI9a-_h#JNaeLzS#eE-lI__@VgSbcWR6G;U z#@olc#e2m2#jE3kGn%^{6HP5Za zYPCt)RBeVfUu)L()sE6m*Ur+;(azH@)V`p7Rr{v)UG3-EquOKIliD-d^V*Avszm?9 zfW*MWki_uB1o*meW}-gPkXW2JJaJ^==)}6jhQy}CsfqIv7bLDv+?cpIackmhiTe}J zCSFXuoOmVi_r$A-*As6h-cO25ib{$}iciue>5{UNvXgR?N|HtDfTJuDPAevQv6c_ zQ$kY0Q=(E5Q!-Qfqzp?Loia8>NZFdQJ!NOgu9V#=dsE&^`5@&`%DI$ZQ+`kRGv!9A zB2}FlnW|0APJJe|GS!+oGIexnO=^8=W9ppLeW~xI?oa(N^^?>CsfSX(Nj;JJN9u#r zM`<{XPE(}0r-h|Oq(!C0q{XMDrWK_b(@bfWv|ecg(nh7#q}8R3No!7fE^S5H%Cwi$ z)}*zj?MVAD?c=mh(>_c4BJFJ2^|YI5x6*E>-ASj?UDMsuz0!Ts{n8`TGtx8Dv(gRe zdFf^8ebf7=4@@7D-jqHgeOCJH^yky(r>{)kmcBiGNBSG-Z>4{fel-19`VZ+prJqXw zCH;E(&5YFi~|{mGQQ0C zI^#&jv5X%wj%S?AIFoTczD^t&H0l|7P6HxS#P*hjf&V*2#6O z&R*xFQ|VlF?m91>kIq-;uT$%SbRoKMU6d|H7pF_mX?01uR9(6*Q5&vQ$_`T~8C-l#Y0d+2-VOZ9#A1N4LS<@ySJrQWI^sUNMc(>LfF^)34G z`ic4}`l)(BKV3gl|D1k~ey)DLexZJ`eu;jWez|_7ezks$ew}{3exrV~{#E@p{dWBh z{TuqX^t<(Y^!xPh>G$hD(tn~qp#Mz&x&BN2*ZObuNA=(9f7Jh^KdC>hKdV2l|5<-Y z|BL>*{$|#itaVxIvo>aJ&U!U#Th{ihomp>Yy_K~)Yfsj@S?_0kko9rafvnH6KF|6x z>+7r|S;w+|$U2^NGV4s%`K+I_E@fTG`aSDv*7dBLS+}xoXZ@RXH|u`Z!)%mIWz*U6 zY&P32+c8_2?V9bL?V0V9?VIhNt}HS)@CPVr(~yRXJ%(-=Va$) zch4@$HfEc$E!jP@OSAiA_sbrTJve)4c13n&c1?Djp_{?q5NHT7gd3s^v4#Xgq9MhQ zZpbub8*&ZZ4Mm0$gT>IxP-f_77-$$`c*am^7;dOG)EMdwjfNJ(c*7*avj)L1!|*jg zHyk&dG@LPEcMc>0Hm;q}-C+{<-6F7vyfs{W$k*?wvgEytusHdBgKs@}AFI zllMm67kOv${>o?b{qtkAE*MlWvS3cZ=7J9kjuo6OcvR?Dm{i!Sa7y8d!u5r36dox&Q~0pRr6`~% zx~QnAu}COdR`hz&fud7Imx_KV`mN}XqQ8s&DY{#9znCdj6kjgBQv6%-AH{zbUoXB{ ze5?3&@xR4)iys(~QD$U}3L|H9FghDmMmM9U(c9R~=x03j2{?3HhyaS%=o$Su<;w?5#urA560uh6UI}!=yJEOnIgPQ?bcp>S5|_>SO9}8e|%3sxVcVMwmvKYE2EM zCev8c1k+^GRMRxmOw(-BT+;&6V$)L7a??uFYSUWNdebJ;tESgXJ4|ny-Zt$qy=&TU z`pERD=`+(8rmsxjn!YprVEV~)%5>Ir!F0)V#q_)BPty(4Ez>`yyQT+bWR{ubX3p$j zb~d}1-OXO+Zf1Y8+8k^SGe??Z%yH%fbD}xfoMzUUv&=c>d~>1MXf~UBntPl3nERUt znunOn&BM%A^GNe(bDepNx!F9nSJkvbeJlDLyyvV%7yv)49yvqEFd7XKK zd9!(|dAoV1d6#*&d9V3h^M3P(=8w$>%!kZhn!h$5F&{JkXg*;+Z9Z$hV7_F&V*cIy zr}>8Ymie~%j`_a%k%h7_7S>{Kak8i^ZWa%Vx22oK&!V;jTf!`nmKaOCMQcg6q*-*9 zd`p3)*kZEuu=KVJvJ9~dwT!S-TSi%$EG?F?mZ_E*Nc^GTE9c~g+bjLG{kAOmf78V^ A1ONa4 -- 2.11.0