diff --git a/Atlantis-Bridging-Header.h b/Atlantis-Bridging-Header.h new file mode 100644 index 0000000..ba18b3d --- /dev/null +++ b/Atlantis-Bridging-Header.h @@ -0,0 +1,7 @@ +// +// Atlantis-Bridging-Header.h +// Atlantis +// +// Created by Jim Cheng on 12/9/25. +// + diff --git a/Atlantis-Swift.h b/Atlantis-Swift.h new file mode 100644 index 0000000..cd8cac2 --- /dev/null +++ b/Atlantis-Swift.h @@ -0,0 +1,7 @@ +// +// Atlantis-Swift.h +// Atlantis +// +// Created by Jim Cheng on 12/9/25. +// + diff --git a/Atlantis.xcodeproj/project.pbxproj b/Atlantis.xcodeproj/project.pbxproj index 067a345..c0a8109 100755 --- a/Atlantis.xcodeproj/project.pbxproj +++ b/Atlantis.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 54; objects = { /* Begin PBXAggregateTarget section */ @@ -33,6 +33,7 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 3226D1272EE1537C0016D727 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3226D1262EE1537C0016D727 /* SwiftUI.framework */; }; 5303ACB925413BF100565FBD /* ActionConf_SendText.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5303ACB825413BF100565FBD /* ActionConf_SendText.xib */; }; 5311D1882210FA390010AB9D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5311D1872210FA390010AB9D /* AVFoundation.framework */; }; 53613BC9234132D7005527FD /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53613BC8234132D7005527FD /* Sparkle.framework */; }; @@ -338,8 +339,6 @@ FFFBD49409E4E80900AE4DCF /* Condition-HasWorld.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFBD49209E4E80900AE4DCF /* Condition-HasWorld.m */; }; FFFBD56209E4ED6100AE4DCF /* Condition-WorldIsMUSH.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFBD56009E4ED6100AE4DCF /* Condition-WorldIsMUSH.m */; }; FFFE5DED09A2A9CE003F118B /* NSStringExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFE5DEB09A2A9CE003F118B /* NSStringExtensions.m */; }; - FFFE5E8E09A2B26D003F118B /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FFFE5E8D09A2B26D003F118B /* Growl.framework */; }; - FFFE5ECD09A2B496003F118B /* Growl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FFFE5E8D09A2B26D003F118B /* Growl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; FFFE623009A2FF7A003F118B /* RDLogType.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFE622E09A2FF7A003F118B /* RDLogType.m */; }; FFFE623D09A3019D003F118B /* RDPlainText.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFE623B09A3019D003F118B /* RDPlainText.m */; }; FFFE629C09A30A6C003F118B /* RDFormattedText.m in Sources */ = {isa = PBXBuildFile; fileRef = FFFE629A09A30A6B003F118B /* RDFormattedText.m */; }; @@ -416,7 +415,6 @@ files = ( 53613BCA23413311005527FD /* Sparkle.framework in Copy Frameworks */, 536215C122114AA900176D73 /* Lemuria.framework in Copy Frameworks */, - FFFE5ECD09A2B496003F118B /* Growl.framework in Copy Frameworks */, FF967111099E6A0D005886F4 /* OgreKit.framework in Copy Frameworks */, ); name = "Copy Frameworks"; @@ -431,6 +429,7 @@ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 3226D1262EE1537C0016D727 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 32CA4F630368D1EE00C91783 /* Atlantis_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Atlantis_Prefix.pch; sourceTree = ""; }; 5303ACB825413BF100565FBD /* ActionConf_SendText.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = ActionConf_SendText.xib; path = "Event System/Actions/ActionConf_SendText.xib"; sourceTree = ""; }; 5311D1872210FA390010AB9D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; @@ -489,6 +488,8 @@ 8B42786329121F51005EFEA6 /* AtlantisProgressSheet.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = AtlantisProgressSheet.xib; path = Misc/AtlantisProgressSheet.xib; sourceTree = ""; }; 8B42786529121F86005EFEA6 /* RenameWindowPicker.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = RenameWindowPicker.xib; path = Misc/RenameWindowPicker.xib; sourceTree = ""; }; 8B42786729122717005EFEA6 /* WorldNotepad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = WorldNotepad.xib; path = Worlds/WorldNotepad.xib; sourceTree = ""; }; + 8B55F9182EE94D070085B611 /* Atlantis-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Atlantis-Bridging-Header.h"; sourceTree = ""; }; + 8B55F9192EE94D300085B611 /* Atlantis-Swift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Atlantis-Swift.h"; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = Info.plist; sourceTree = ""; }; 8D1107320486CEB800E47090 /* Atlantis.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Atlantis.app; sourceTree = BUILT_PRODUCTS_DIR; }; FF00C30F09E1F90600083573 /* AtlantisPreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtlantisPreferenceController.h; path = Preferences/Application/AtlantisPreferenceController.h; sourceTree = ""; }; @@ -943,7 +944,6 @@ FFFBD56009E4ED6100AE4DCF /* Condition-WorldIsMUSH.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "Condition-WorldIsMUSH.m"; path = "Event System/Conditions/Condition-WorldIsMUSH.m"; sourceTree = ""; }; FFFE5DEA09A2A9CE003F118B /* NSStringExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSStringExtensions.h; path = Extensions/NSStringExtensions.h; sourceTree = ""; }; FFFE5DEB09A2A9CE003F118B /* NSStringExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSStringExtensions.m; path = Extensions/NSStringExtensions.m; sourceTree = ""; }; - FFFE5E8D09A2B26D003F118B /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Growl.framework; path = Support/Growl.framework; sourceTree = ""; }; FFFE622D09A2FF7A003F118B /* RDLogType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RDLogType.h; path = "Log System/RDLogType.h"; sourceTree = ""; }; FFFE622E09A2FF7A003F118B /* RDLogType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RDLogType.m; path = "Log System/RDLogType.m"; sourceTree = ""; }; FFFE623A09A3019D003F118B /* RDPlainText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RDPlainText.h; path = "Log System/RDPlainText.h"; sourceTree = ""; }; @@ -974,9 +974,9 @@ 539862D022EE953E00ECB14D /* Lemuria.framework in Frameworks */, 5311D1882210FA390010AB9D /* AVFoundation.framework in Frameworks */, 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + 3226D1272EE1537C0016D727 /* SwiftUI.framework in Frameworks */, FF967108099E69FF005886F4 /* OgreKit.framework in Frameworks */, FF267E7709A16F8900198A44 /* Carbon.framework in Frameworks */, - FFFE5E8E09A2B26D003F118B /* Growl.framework in Frameworks */, FF4E2CA809CE690900826DD9 /* SystemConfiguration.framework in Frameworks */, FF53276709E8CCD50013FB8A /* libz.dylib in Frameworks */, FF783E2D09EB853000D23B45 /* IOKit.framework in Frameworks */, @@ -1022,7 +1022,6 @@ FF783E2C09EB853000D23B45 /* IOKit.framework */, FF53276609E8CCD50013FB8A /* libz.dylib */, FF4E2CA709CE690900826DD9 /* SystemConfiguration.framework */, - FFFE5E8D09A2B26D003F118B /* Growl.framework */, FF267E7609A16F8900198A44 /* Carbon.framework */, FF967107099E69FE005886F4 /* OgreKit.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, @@ -1065,6 +1064,8 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( + 8B55F9192EE94D300085B611 /* Atlantis-Swift.h */, + 8B55F9182EE94D070085B611 /* Atlantis-Bridging-Header.h */, 32CA4F630368D1EE00C91783 /* Atlantis_Prefix.pch */, 29B97316FDCFA39411CA2CEA /* main.m */, ); @@ -1119,6 +1120,7 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 3226D1262EE1537C0016D727 /* SwiftUI.framework */, 539862CD22EE94D400ECB14D /* Lemuria.framework */, 5311D1872210FA390010AB9D /* AVFoundation.framework */, 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, @@ -2410,11 +2412,12 @@ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = KB2CP45L69; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS)", "$(SRCROOT)/Support", @@ -2426,10 +2429,16 @@ GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; - LD_RUNPATH_SEARCH_PATHS = "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST)) @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + LD_RUNPATH_SEARCH_PATHS = ( + "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))", + "@loader_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 13.5; PRODUCT_NAME = Atlantis; SDKROOT = macosx; + SWIFT_ENABLE_EXPLICIT_MODULES = YES; + SWIFT_OBJC_BRIDGING_HEADER = "Atlantis-Bridging-Header.h"; + SWIFT_VERSION = 6.0; WRAPPER_EXTENSION = app; ZERO_LINK = YES; }; @@ -2438,11 +2447,12 @@ C01FCF4C08A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = KB2CP45L69; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(FRAMEWORK_SEARCH_PATHS)", "$(SRCROOT)/Support", @@ -2452,11 +2462,17 @@ GCC_MODEL_TUNING = G5; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; - LD_RUNPATH_SEARCH_PATHS = "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST)) @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MACOSX_DEPLOYMENT_TARGET_ppc = 10.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))", + "@loader_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 13.5; + MACOSX_DEPLOYMENT_TARGET_ppc = 11.0; PRODUCT_NAME = Atlantis; SDKROOT = macosx; + SWIFT_ENABLE_EXPLICIT_MODULES = YES; + SWIFT_OBJC_BRIDGING_HEADER = "Atlantis-Bridging-Header.h"; + SWIFT_VERSION = 6.0; WRAPPER_EXTENSION = app; }; name = Release; @@ -2464,13 +2480,14 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ARCHS = "$(ARCHS_STANDARD)"; CURRENT_PROJECT_VERSION = 106; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 11.5; ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-D_ATLANTIS_DEBUG"; PREBINDING = NO; @@ -2478,7 +2495,9 @@ PROJECT_DISPLAY_VERSION = 0.9.9.8; PROJECT_RELEASE_STATUS = beta; SDKROOT = macosx; - VALID_ARCHS = x86_64; + SWIFT_OBJC_BRIDGING_HEADER = "Atlantis-Bridging-Header.h"; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "Atlantis-Swift.h"; + SWIFT_VERSION = 6.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -2486,6 +2505,7 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ARCHS = "$(ARCHS_STANDARD)"; CURRENT_PROJECT_VERSION = 106; GCC_ENABLE_OBJC_EXCEPTIONS = YES; @@ -2493,14 +2513,16 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 11.5; ONLY_ACTIVE_ARCH = NO; PREBINDING = NO; PROJECT_COMPANY = "Riverdark Studios"; PROJECT_DISPLAY_VERSION = 0.9.9.8; PROJECT_RELEASE_STATUS = beta; SDKROOT = macosx; - VALID_ARCHS = x86_64; + SWIFT_OBJC_BRIDGING_HEADER = "Atlantis-Bridging-Header.h"; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "Atlantis-Swift.h"; + SWIFT_VERSION = 6.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; diff --git a/Core/RDAtlantisMainController.h b/Core/RDAtlantisMainController.h index 92515b8..da7f830 100755 --- a/Core/RDAtlantisMainController.h +++ b/Core/RDAtlantisMainController.h @@ -1,7 +1,6 @@ /* RDAtlantisMainController */ #import -#import @class HotkeyCollection; @class ActionClasses; @@ -27,7 +26,7 @@ @class CTBadge; @class AtlantisState; -@interface RDAtlantisMainController : NSObject +@interface RDAtlantisMainController : NSObject { IBOutlet NSMenuItem* _rdRenameMenuItem; IBOutlet NSMenuItem* _rdCustomizeToolbarMenuItem; diff --git a/Core/RDAtlantisMainController.m b/Core/RDAtlantisMainController.m index 515e04b..e48f377 100755 --- a/Core/RDAtlantisMainController.m +++ b/Core/RDAtlantisMainController.m @@ -320,7 +320,7 @@ - (void) applicationWillFinishLaunching:(NSNotification *)notification [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(computerWillShutdown:) name:NSWorkspaceWillPowerOffNotification object:[NSWorkspace sharedWorkspace]]; // TODO: Change Growl configuration stuff to work a little more nicely? - [GrowlApplicationBridge setGrowlDelegate:self]; + // ß[GrowlApplicationBridge setGrowlDelegate:self]; // Create hotkey collection _rdSessionStateItems = [[NSMutableDictionary alloc] init]; @@ -919,7 +919,7 @@ - (unsigned) weightForView:(NSString *)string } #pragma mark Growl - +/* - (NSDictionary *) registrationDictionaryForGrowl { NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; @@ -935,12 +935,14 @@ - (NSString *) applicationNameForGrowl { return @"Atlantis"; } - +*/ - (BOOL) growlEnabled { - return [GrowlApplicationBridge isGrowlRunning]; + // For now... + return true; + // return [GrowlApplicationBridge isGrowlRunning]; } - +/* - (void) growlNotificationWasClicked:(id)context { if (context && [context isKindOfClass:[NSDictionary class]]) { @@ -957,7 +959,7 @@ - (void) growlNotificationTimedOut:(id)clickContext { // Do nothing. La. } - +*/ #pragma mark Data Dispatch Methods - (NSArray *) inputFilters diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings index 67a0e47..cce4e9c 100755 --- a/English.lproj/InfoPlist.strings +++ b/English.lproj/InfoPlist.strings @@ -2,7 +2,7 @@ CFBundleName = "Atlantis"; CFBundleShortVersionString = "0.9.9.8"; -CFBundleGetInfoString = "Atlantis 0.9.9.8 beta, Copyright 2007-2022 Riverdark Studios"; -RDProjectBuildDate = "2022-10-28"; +CFBundleGetInfoString = "Atlantis 0.9.9.8 beta, Copyright 2007-2025 Riverdark Studios"; +RDProjectBuildDate = "2025-12-09"; RDProjectStatus = "beta"; RDBuildStyle = ""; diff --git a/Event System/Actions/Action-Growl.m b/Event System/Actions/Action-Growl.m index 986ab35..2974959 100755 --- a/Event System/Actions/Action-Growl.m +++ b/Event System/Actions/Action-Growl.m @@ -7,7 +7,7 @@ // #import "Action-Growl.h" -#import +// #import #import "NSStringExtensions.h" #import "AtlantisState.h" #import "RDAtlantisWorldInstance.h" @@ -106,6 +106,8 @@ - (BOOL) executeForState:(AtlantisState *) state iconData = [growlIcon TIFFRepresentation]; } + // FIXME: Re-implement native notification + /* [GrowlApplicationBridge notifyWithTitle:realTitle description:realText @@ -114,6 +116,7 @@ - (BOOL) executeForState:(AtlantisState *) state priority:0 isSticky:NO clickContext:[NSDictionary dictionaryWithObject:[[state spawn] viewPath] forKey:@"spawn"]]; + */ return NO; } diff --git a/Event System/Actions/Action-OpenLog.m b/Event System/Actions/Action-OpenLog.m index dd921ca..3d5d332 100755 --- a/Event System/Actions/Action-OpenLog.m +++ b/Event System/Actions/Action-OpenLog.m @@ -110,7 +110,7 @@ - (RDLogType *) allocNamedType:(NSString *) logType } -extern int scrollbackSort(id obj1, id obj2, void *context); +extern NSInteger scrollbackSort(id obj1, id obj2, void *context); - (BOOL) executeForState:(AtlantisState *) state { diff --git a/Log System/RDLogOpener.m b/Log System/RDLogOpener.m index ac35c0f..17ed586 100755 --- a/Log System/RDLogOpener.m +++ b/Log System/RDLogOpener.m @@ -39,7 +39,7 @@ - (void) dealloc [super dealloc]; } -NSInteger scrollbackSort(id obj1, id obj2, void *context) +NSInteger scrollbackSort(id obj1, id obj2, void * __nullable context) { NSAttributedString *st1 = (NSAttributedString *)obj1; NSAttributedString *st2 = (NSAttributedString *)obj2; diff --git a/Scripting/PerlScriptingEngine.m b/Scripting/PerlScriptingEngine.m index 5c9a8ac..796389f 100755 --- a/Scripting/PerlScriptingEngine.m +++ b/Scripting/PerlScriptingEngine.m @@ -14,7 +14,7 @@ #import "RDAtlantisMainController.h" #import "NSAttributedStringAdditions.h" //#import -#import +//#import @implementation PerlScriptingEngine @@ -195,6 +195,7 @@ - (NSString *) scriptEngineVersion // id perlVersion = [_rdPerlInterpreter valueForKey:@"perlVersion"]; // // return (NSString *)perlVersion; + return @""; } - (NSString *) scriptEngineCopyright diff --git a/Scripting/ScriptBridge.m b/Scripting/ScriptBridge.m index 4fdb42b..b841a4f 100755 --- a/Scripting/ScriptBridge.m +++ b/Scripting/ScriptBridge.m @@ -161,6 +161,8 @@ - (void) sendTextToInput:(NSString *) text - (void) growlText:(NSString *)text withTitle:(NSString *)title { + // FIXME: Reimplement native notifications + /* if ([GrowlApplicationBridge isGrowlRunning]) { [GrowlApplicationBridge notifyWithTitle:title @@ -171,6 +173,7 @@ - (void) growlText:(NSString *)text withTitle:(NSString *)title isSticky:NO clickContext:nil]; } + */ } - (NSString *) worldUuidForName:(NSString *)name diff --git a/Support/Growl.framework/Growl b/Support/Growl.framework/Growl deleted file mode 120000 index 85956e2..0000000 --- a/Support/Growl.framework/Growl +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Growl \ No newline at end of file diff --git a/Support/Growl.framework/Headers b/Support/Growl.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/Support/Growl.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Support/Growl.framework/Resources b/Support/Growl.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/Support/Growl.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Support/Growl.framework/Versions/A/Growl b/Support/Growl.framework/Versions/A/Growl deleted file mode 100755 index e356730..0000000 Binary files a/Support/Growl.framework/Versions/A/Growl and /dev/null differ diff --git a/Support/Growl.framework/Versions/A/Headers/Growl.h b/Support/Growl.framework/Versions/A/Headers/Growl.h deleted file mode 100644 index 7b1a324..0000000 --- a/Support/Growl.framework/Versions/A/Headers/Growl.h +++ /dev/null @@ -1,5 +0,0 @@ -#include - -#ifdef __OBJC__ -# include -#endif diff --git a/Support/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h b/Support/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h deleted file mode 100644 index 3639757..0000000 --- a/Support/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h +++ /dev/null @@ -1,567 +0,0 @@ -// -// GrowlApplicationBridge.h -// Growl -// -// Created by Evan Schoenberg on Wed Jun 16 2004. -// Copyright 2004-2006 The Growl Project. All rights reserved. -// - -/*! - * @header GrowlApplicationBridge.h - * @abstract Defines the GrowlApplicationBridge class. - * @discussion This header defines the GrowlApplicationBridge class as well as - * the GROWL_PREFPANE_BUNDLE_IDENTIFIER constant. - */ - -#ifndef __GrowlApplicationBridge_h__ -#define __GrowlApplicationBridge_h__ - -#import -#import -#import - -//Forward declarations -@protocol GrowlApplicationBridgeDelegate; - -//------------------------------------------------------------------------------ -#pragma mark - - -/*! - * @class GrowlApplicationBridge - * @abstract A class used to interface with Growl. - * @discussion This class provides a means to interface with Growl. - * - * Currently it provides a way to detect if Growl is installed and launch the - * GrowlHelperApp if it's not already running. - */ -@interface GrowlApplicationBridge : NSObject { - -} - -/*! - * @method isGrowlInstalled - * @abstract Detects whether Growl is installed. - * @discussion Determines if the Growl prefpane and its helper app are installed. - * @result this method will forever return YES. - */ -+ (BOOL) isGrowlInstalled __attribute__((deprecated)); - -/*! - * @method isGrowlRunning - * @abstract Detects whether GrowlHelperApp is currently running. - * @discussion Cycles through the process list to find whether GrowlHelperApp is running and returns its findings. - * @result Returns YES if GrowlHelperApp is running, NO otherwise. - */ -+ (BOOL) isGrowlRunning; - - -/*! - * @method isMistEnabled - * @abstract Gives the caller a fairly good indication of whether or not built-in notifications(Mist) will be used. - * @discussion since this call makes use of isGrowlRunning it is entirely possible for this value to change between call and - * executing a notification dispatch - * @result Returns YES if Growl isn't reachable and the developer has not opted-out of - * Mist and the user hasn't set the global mist enable key to false. - */ -+ (BOOL)isMistEnabled; - -/*! - * @method setShouldUseBuiltInNotifications - * @abstract opt-out mechanism for the mist notification style in the event growl can't be reached. - * @discussion if growl is unavailable due to not being installed or as a result of being turned off then - * this option can enable/disable a built-in fire and forget display style - * @param should Specifies whether or not the developer wants to opt-in (default) or opt out - * of the built-in Mist style in the event Growl is unreachable. - */ -+ (void)setShouldUseBuiltInNotifications:(BOOL)should; - -/*! - * @method shouldUseBuiltInNotifications - * @abstract returns the current opt-in state of the framework's use of the Mist display style. - * @result Returns NO if the developer opt-ed out of Mist, the default value is YES. - */ -+ (BOOL)shouldUseBuiltInNotifications; - -#pragma mark - - -/*! - * @method setGrowlDelegate: - * @abstract Set the object which will be responsible for providing and receiving Growl information. - * @discussion This must be called before using GrowlApplicationBridge. - * - * The methods in the GrowlApplicationBridgeDelegate protocol are required - * and return the basic information needed to register with Growl. - * - * The methods in the GrowlApplicationBridgeDelegate_InformalProtocol - * informal protocol are individually optional. They provide a greater - * degree of interaction between the application and growl such as informing - * the application when one of its Growl notifications is clicked by the user. - * - * The methods in the GrowlApplicationBridgeDelegate_Installation_InformalProtocol - * informal protocol are individually optional and are only applicable when - * using the Growl-WithInstaller.framework which allows for automated Growl - * installation. - * - * When this method is called, data will be collected from inDelegate, Growl - * will be launched if it is not already running, and the application will be - * registered with Growl. - * - * If using the Growl-WithInstaller framework, if Growl is already installed - * but this copy of the framework has an updated version of Growl, the user - * will be prompted to update automatically. - * - * @param inDelegate The delegate for the GrowlApplicationBridge. It must conform to the GrowlApplicationBridgeDelegate protocol. - */ -+ (void) setGrowlDelegate:(id)inDelegate; - -/*! - * @method growlDelegate - * @abstract Return the object responsible for providing and receiving Growl information. - * @discussion See setGrowlDelegate: for details. - * @result The Growl delegate. - */ -+ (id) growlDelegate; - -#pragma mark - - -/*! - * @method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext: - * @abstract Send a Growl notification. - * @discussion This is the preferred means for sending a Growl notification. - * The notification name and at least one of the title and description are - * required (all three are preferred). All other parameters may be - * nil (or 0 or NO as appropriate) to accept default values. - * - * If using the Growl-WithInstaller framework, if Growl is not installed the - * user will be prompted to install Growl. If the user cancels, this method - * will have no effect until the next application session, at which time when - * it is called the user will be prompted again. The user is also given the - * option to not be prompted again. If the user does choose to install Growl, - * the requested notification will be displayed once Growl is installed and - * running. - * - * @param title The title of the notification displayed to the user. - * @param description The full description of the notification displayed to the user. - * @param notifName The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane. - * @param iconData NSData object to show with the notification as its icon. If nil, the application's icon will be used instead. - * @param priority The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority. - * @param isSticky If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications. - * @param clickContext A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of NSString, NSArray, NSNumber, NSDictionary, and NSData types). - */ -+ (void) notifyWithTitle:(NSString *)title - description:(NSString *)description - notificationName:(NSString *)notifName - iconData:(NSData *)iconData - priority:(signed int)priority - isSticky:(BOOL)isSticky - clickContext:(id)clickContext; - -/*! - * @method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:identifier: - * @abstract Send a Growl notification. - * @discussion This is the preferred means for sending a Growl notification. - * The notification name and at least one of the title and description are - * required (all three are preferred). All other parameters may be - * nil (or 0 or NO as appropriate) to accept default values. - * - * If using the Growl-WithInstaller framework, if Growl is not installed the - * user will be prompted to install Growl. If the user cancels, this method - * will have no effect until the next application session, at which time when - * it is called the user will be prompted again. The user is also given the - * option to not be prompted again. If the user does choose to install Growl, - * the requested notification will be displayed once Growl is installed and - * running. - * - * @param title The title of the notification displayed to the user. - * @param description The full description of the notification displayed to the user. - * @param notifName The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane. - * @param iconData NSData object to show with the notification as its icon. If nil, the application's icon will be used instead. - * @param priority The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority. - * @param isSticky If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications. - * @param clickContext A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of NSString, NSArray, NSNumber, NSDictionary, and NSData types). - * @param identifier An identifier for this notification. Notifications with equal identifiers are coalesced. - */ -+ (void) notifyWithTitle:(NSString *)title - description:(NSString *)description - notificationName:(NSString *)notifName - iconData:(NSData *)iconData - priority:(signed int)priority - isSticky:(BOOL)isSticky - clickContext:(id)clickContext - identifier:(NSString *)identifier; - -/*! @method notifyWithDictionary: - * @abstract Notifies using a userInfo dictionary suitable for passing to - * NSDistributedNotificationCenter. - * @param userInfo The dictionary to notify with. - * @discussion Before Growl 0.6, your application would have posted - * notifications using NSDistributedNotificationCenter by - * creating a userInfo dictionary with the notification data. This had the - * advantage of allowing you to add other data to the dictionary for programs - * besides Growl that might be listening. - * - * This method allows you to use such dictionaries without being restricted - * to using NSDistributedNotificationCenter. The keys for this dictionary - * can be found in GrowlDefines.h. - */ -+ (void) notifyWithDictionary:(NSDictionary *)userInfo; - -#pragma mark - - -/*! @method registerWithDictionary: - * @abstract Register your application with Growl without setting a delegate. - * @discussion When you call this method with a dictionary, - * GrowlApplicationBridge registers your application using that dictionary. - * If you pass nil, GrowlApplicationBridge will ask the delegate - * (if there is one) for a dictionary, and if that doesn't work, it will look - * in your application's bundle for an auto-discoverable plist. - * (XXX refer to more information on that) - * - * If you pass a dictionary to this method, it must include the - * GROWL_APP_NAME key, unless a delegate is set. - * - * This method is mainly an alternative to the delegate system introduced - * with Growl 0.6. Without a delegate, you cannot receive callbacks such as - * -growlIsReady (since they are sent to the delegate). You can, - * however, set a delegate after registering without one. - * - * This method was introduced in Growl.framework 0.7. - */ -+ (BOOL) registerWithDictionary:(NSDictionary *)regDict; - -/*! @method reregisterGrowlNotifications - * @abstract Reregister the notifications for this application. - * @discussion This method does not normally need to be called. If your - * application changes what notifications it is registering with Growl, call - * this method to have the Growl delegate's - * -registrationDictionaryForGrowl method called again and the - * Growl registration information updated. - * - * This method is now implemented using -registerWithDictionary:. - */ -+ (void) reregisterGrowlNotifications; - -#pragma mark - - -/*! @method setWillRegisterWhenGrowlIsReady: - * @abstract Tells GrowlApplicationBridge to register with Growl when Growl - * launches (or not). - * @discussion When Growl has started listening for notifications, it posts a - * GROWL_IS_READY notification on the Distributed Notification - * Center. GrowlApplicationBridge listens for this notification, using it to - * perform various tasks (such as calling your delegate's - * -growlIsReady method, if it has one). If this method is - * called with YES, one of those tasks will be to reregister - * with Growl (in the manner of -reregisterGrowlNotifications). - * - * This attribute is automatically set back to NO (the default) - * after every GROWL_IS_READY notification. - * @param flag YES if you want GrowlApplicationBridge to register with - * Growl when next it is ready; NO if not. - */ -+ (void) setWillRegisterWhenGrowlIsReady:(BOOL)flag; - -/*! @method willRegisterWhenGrowlIsReady - * @abstract Reports whether GrowlApplicationBridge will register with Growl - * when Growl next launches. - * @result YES if GrowlApplicationBridge will register with Growl - * when next it posts GROWL_IS_READY; NO if not. - */ -+ (BOOL) willRegisterWhenGrowlIsReady; - -#pragma mark - - -/*! @method registrationDictionaryFromDelegate - * @abstract Asks the delegate for a registration dictionary. - * @discussion If no delegate is set, or if the delegate's - * -registrationDictionaryForGrowl method returns - * nil, this method returns nil. - * - * This method does not attempt to clean up the dictionary in any way - for - * example, if it is missing the GROWL_APP_NAME key, the result - * will be missing it too. Use +[GrowlApplicationBridge - * registrationDictionaryByFillingInDictionary:] or - * +[GrowlApplicationBridge - * registrationDictionaryByFillingInDictionary:restrictToKeys:] to try - * to fill in missing keys. - * - * This method was introduced in Growl.framework 0.7. - * @result A registration dictionary. - */ -+ (NSDictionary *) registrationDictionaryFromDelegate; - -/*! @method registrationDictionaryFromBundle: - * @abstract Looks in a bundle for a registration dictionary. - * @discussion This method looks in a bundle for an auto-discoverable - * registration dictionary file using -[NSBundle - * pathForResource:ofType:]. If it finds one, it loads the file using - * +[NSDictionary dictionaryWithContentsOfFile:] and returns the - * result. - * - * If you pass nil as the bundle, the main bundle is examined. - * - * This method does not attempt to clean up the dictionary in any way - for - * example, if it is missing the GROWL_APP_NAME key, the result - * will be missing it too. Use +[GrowlApplicationBridge - * registrationDictionaryByFillingInDictionary:] or - * +[GrowlApplicationBridge - * registrationDictionaryByFillingInDictionary:restrictToKeys:] to try - * to fill in missing keys. - * - * This method was introduced in Growl.framework 0.7. - * @result A registration dictionary. - */ -+ (NSDictionary *) registrationDictionaryFromBundle:(NSBundle *)bundle; - -/*! @method bestRegistrationDictionary - * @abstract Obtains a registration dictionary, filled out to the best of - * GrowlApplicationBridge's knowledge. - * @discussion This method creates a registration dictionary as best - * GrowlApplicationBridge knows how. - * - * First, GrowlApplicationBridge contacts the Growl delegate (if there is - * one) and gets the registration dictionary from that. If no such dictionary - * was obtained, GrowlApplicationBridge looks in your application's main - * bundle for an auto-discoverable registration dictionary file. If that - * doesn't exist either, this method returns nil. - * - * Second, GrowlApplicationBridge calls - * +registrationDictionaryByFillingInDictionary: with whatever - * dictionary was obtained. The result of that method is the result of this - * method. - * - * GrowlApplicationBridge uses this method when you call - * +setGrowlDelegate:, or when you call - * +registerWithDictionary: with nil. - * - * This method was introduced in Growl.framework 0.7. - * @result A registration dictionary. - */ -+ (NSDictionary *) bestRegistrationDictionary; - -#pragma mark - - -/*! @method registrationDictionaryByFillingInDictionary: - * @abstract Tries to fill in missing keys in a registration dictionary. - * @discussion This method examines the passed-in dictionary for missing keys, - * and tries to work out correct values for them. As of 0.7, it uses: - * - * Key Value - * --- ----- - * GROWL_APP_NAME CFBundleExecutableName - * GROWL_APP_ICON_DATA The data of the icon of the application. - * GROWL_APP_LOCATION The location of the application. - * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL - * - * Keys are only filled in if missing; if a key is present in the dictionary, - * its value will not be changed. - * - * This method was introduced in Growl.framework 0.7. - * @param regDict The dictionary to fill in. - * @result The dictionary with the keys filled in. This is an autoreleased - * copy of regDict. - */ -+ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict; - -/*! @method registrationDictionaryByFillingInDictionary:restrictToKeys: - * @abstract Tries to fill in missing keys in a registration dictionary. - * @discussion This method examines the passed-in dictionary for missing keys, - * and tries to work out correct values for them. As of 0.7, it uses: - * - * Key Value - * --- ----- - * GROWL_APP_NAME CFBundleExecutableName - * GROWL_APP_ICON_DATA The data of the icon of the application. - * GROWL_APP_LOCATION The location of the application. - * GROWL_NOTIFICATIONS_DEFAULT GROWL_NOTIFICATIONS_ALL - * - * Only those keys that are listed in keys will be filled in. - * Other missing keys are ignored. Also, keys are only filled in if missing; - * if a key is present in the dictionary, its value will not be changed. - * - * This method was introduced in Growl.framework 0.7. - * @param regDict The dictionary to fill in. - * @param keys The keys to fill in. If nil, any missing keys are filled in. - * @result The dictionary with the keys filled in. This is an autoreleased - * copy of regDict. - */ -+ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict restrictToKeys:(NSSet *)keys; - -/*! @brief Tries to fill in missing keys in a notification dictionary. - * @param notifDict The dictionary to fill in. - * @return The dictionary with the keys filled in. This will be a separate instance from \a notifDict. - * @discussion This function examines the \a notifDict for missing keys, and - * tries to get them from the last known registration dictionary. As of 1.1, - * the keys that it will look for are: - * - * \li GROWL_APP_NAME - * \li GROWL_APP_ICON_DATA - * - * @since Growl.framework 1.1 - */ -+ (NSDictionary *) notificationDictionaryByFillingInDictionary:(NSDictionary *)regDict; - -+ (NSDictionary *) frameworkInfoDictionary; - -#pragma mark - - -/*! - *@method growlURLSchemeAvailable - *@abstract Lets the app know whether growl:// is registered on the system, used for certain methods below this - *@return Returns whether growl:// is registered on the system - *@discussion Methods such as openGrowlPreferences rely on the growl:// URL scheme to function - * Further, this method can provide a check on whether Growl is installed, - * however, the framework will not be relying on this method for choosing when/how to notify, - * and it is not recommended that the app rely on it for other than whether to use growl:// methods - *@since Growl.framework 1.4 - */ -+ (BOOL) isGrowlURLSchemeAvailable; - -/*! - * @method openGrowlPreferences: - * @abstract Open Growl preferences, optionally to this app's settings, growl:// method - * @param showApp Whether to show the application's settings, otherwise just opens to the last position - * @return Return's whether opening the URL was succesfull or not. - * @discussion Will launch if Growl is installed, but not running, and open the preferences window - * Uses growl:// URL scheme - * @since Growl.framework 1.4 - */ -+ (BOOL) openGrowlPreferences:(BOOL)showApp; - -@end - -//------------------------------------------------------------------------------ -#pragma mark - - -/*! - * @protocol GrowlApplicationBridgeDelegate - * @abstract Required protocol for the Growl delegate. - * @discussion The methods in this protocol are optional and are called - * automatically as needed by GrowlApplicationBridge. See - * +[GrowlApplicationBridge setGrowlDelegate:]. - * See also GrowlApplicationBridgeDelegate_InformalProtocol. - */ - -@protocol GrowlApplicationBridgeDelegate - -@optional - -/*! - * @method registrationDictionaryForGrowl - * @abstract Return the dictionary used to register this application with Growl. - * @discussion The returned dictionary gives Growl the complete list of - * notifications this application will ever send, and it also specifies which - * notifications should be enabled by default. Each is specified by an array - * of NSString objects. - * - * For most applications, these two arrays can be the same (if all sent - * notifications should be displayed by default). - * - * The NSString objects of these arrays will correspond to the - * notificationName: parameter passed in - * +[GrowlApplicationBridge - * notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:] calls. - * - * The dictionary should have the required key object pairs: - * key: GROWL_NOTIFICATIONS_ALL object: NSArray of NSString objects - * key: GROWL_NOTIFICATIONS_DEFAULT object: NSArray of NSString objects - * - * The dictionary may have the following key object pairs: - * key: GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES object: NSDictionary of key: notification name object: human-readable notification name - * - * You do not need to implement this method if you have an auto-discoverable - * plist file in your app bundle. (XXX refer to more information on that) - * - * @result The NSDictionary to use for registration. - */ -- (NSDictionary *) registrationDictionaryForGrowl; - -/*! - * @method applicationNameForGrowl - * @abstract Return the name of this application which will be used for Growl bookkeeping. - * @discussion This name is used both internally and in the Growl preferences. - * - * This should remain stable between different versions and incarnations of - * your application. - * For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and - * "SurfWriter Lite" are not. - * - * You do not need to implement this method if you are providing the - * application name elsewhere, meaning in an auto-discoverable plist file in - * your app bundle (XXX refer to more information on that) or in the result - * of -registrationDictionaryForGrowl. - * - * @result The name of the application using Growl. - */ -- (NSString *) applicationNameForGrowl; - -/*! - * @method applicationIconForGrowl - * @abstract Return the NSImage to treat as the application icon. - * @discussion The delegate may optionally return an NSImage - * object to use as the application icon. If this method is not implemented, - * {{{-applicationIconDataForGrowl}}} is tried. If that method is not - * implemented, the application's own icon is used. Neither method is - * generally needed. - * @result The NSImage to treat as the application icon. - */ -- (NSImage *) applicationIconForGrowl; - -/*! - * @method applicationIconDataForGrowl - * @abstract Return the NSData to treat as the application icon. - * @discussion The delegate may optionally return an NSData - * object to use as the application icon; if this is not implemented, the - * application's own icon is used. This is not generally needed. - * @result The NSData to treat as the application icon. - * @deprecated In version 1.1, in favor of {{{-applicationIconForGrowl}}}. - */ -- (NSData *) applicationIconDataForGrowl; - -/*! - * @method growlIsReady - * @abstract Informs the delegate that Growl has launched. - * @discussion Informs the delegate that Growl (specifically, the - * GrowlHelperApp) was launched successfully. The application can take actions - * with the knowledge that Growl is installed and functional. - */ -- (void) growlIsReady; - -/*! - * @method growlNotificationWasClicked: - * @abstract Informs the delegate that a Growl notification was clicked. - * @discussion Informs the delegate that a Growl notification was clicked. It - * is only sent for notifications sent with a non-nil - * clickContext, so if you want to receive a message when a notification is - * clicked, clickContext must not be nil when calling - * +[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]. - * @param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]. - */ -- (void) growlNotificationWasClicked:(id)clickContext; - -/*! - * @method growlNotificationTimedOut: - * @abstract Informs the delegate that a Growl notification timed out. - * @discussion Informs the delegate that a Growl notification timed out. It - * is only sent for notifications sent with a non-nil - * clickContext, so if you want to receive a message when a notification is - * clicked, clickContext must not be nil when calling - * +[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]. - * @param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]. - */ -- (void) growlNotificationTimedOut:(id)clickContext; - - -/*! - * @method hasNetworkClientEntitlement - * @abstract Used only in sandboxed situations since we don't know whether the app has com.apple.security.network.client entitlement - * @discussion GrowlDelegate calls to find out if we have the com.apple.security.network.client entitlement, - * since we can't find this out without hitting the sandbox. We only call it if we detect that the application is sandboxed. - */ -- (BOOL) hasNetworkClientEntitlement; - -@end - -#pragma mark - - -#endif /* __GrowlApplicationBridge_h__ */ diff --git a/Support/Growl.framework/Versions/A/Headers/GrowlDefines.h b/Support/Growl.framework/Versions/A/Headers/GrowlDefines.h deleted file mode 100644 index 0a196f1..0000000 --- a/Support/Growl.framework/Versions/A/Headers/GrowlDefines.h +++ /dev/null @@ -1,386 +0,0 @@ -// -// GrowlDefines.h -// - -#ifndef _GROWLDEFINES_H -#define _GROWLDEFINES_H - -#ifdef __OBJC__ -#define XSTR(x) (@x) -#else -#define XSTR CFSTR -#endif - -/*! @header GrowlDefines.h - * @abstract Defines all the notification keys. - * @discussion Defines all the keys used for registration with Growl and for - * Growl notifications. - * - * Most applications should use the functions or methods of Growl.framework - * instead of posting notifications such as those described here. - * @updated 2004-01-25 - */ - -// UserInfo Keys for Registration -#pragma mark UserInfo Keys for Registration - -/*! @group Registration userInfo keys */ -/* @abstract Keys for the userInfo dictionary of a GROWL_APP_REGISTRATION distributed notification. - * @discussion The values of these keys describe the application and the - * notifications it may post. - * - * Your application must register with Growl before it can post Growl - * notifications (and have them not be ignored). However, as of Growl 0.6, - * posting GROWL_APP_REGISTRATION notifications directly is no longer the - * preferred way to register your application. Your application should instead - * use Growl.framework's delegate system. - * See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for - * more information. - */ - -/*! @defined GROWL_APP_NAME - * @abstract The name of your application. - * @discussion The name of your application. This should remain stable between - * different versions and incarnations of your application. - * For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and - * "SurfWriter Lite" are not. - */ -#define GROWL_APP_NAME XSTR("ApplicationName") -/*! @defined GROWL_APP_ID - * @abstract The bundle identifier of your application. - * @discussion The bundle identifier of your application. This key should - * be unique for your application while there may be several applications - * with the same GROWL_APP_NAME. - * This key is optional. - */ -#define GROWL_APP_ID XSTR("ApplicationId") -/*! @defined GROWL_APP_ICON_DATA - * @abstract The image data for your application's icon. - * @discussion Image data representing your application's icon. This may be - * superimposed on a notification icon as a badge, used as the notification - * icon when a notification-specific icon is not supplied, or ignored - * altogether, depending on the display. Must be in a format supported by - * NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_APP_ICON_DATA XSTR("ApplicationIcon") -/*! @defined GROWL_NOTIFICATIONS_DEFAULT - * @abstract The array of notifications to turn on by default. - * @discussion These are the names of the notifications that should be enabled - * by default when your application registers for the first time. If your - * application reregisters, Growl will look here for any new notification - * names found in GROWL_NOTIFICATIONS_ALL, but ignore any others. - */ -#define GROWL_NOTIFICATIONS_DEFAULT XSTR("DefaultNotifications") -/*! @defined GROWL_NOTIFICATIONS_ALL - * @abstract The array of all notifications your application can send. - * @discussion These are the names of all of the notifications that your - * application may post. See GROWL_NOTIFICATION_NAME for a discussion of good - * notification names. - */ -#define GROWL_NOTIFICATIONS_ALL XSTR("AllNotifications") -/*! @defined GROWL_NOTIFICATIONS_HUMAN_READABLE_DESCRIPTIONS - * @abstract A dictionary of human-readable names for your notifications. - * @discussion By default, the Growl UI will display notifications by the names given in GROWL_NOTIFICATIONS_ALL - * which correspond to the GROWL_NOTIFICATION_NAME. This dictionary specifies the human-readable name to display. - * The keys of the dictionary are GROWL_NOTIFICATION_NAME strings; the objects are the human-readable versions. - * For any GROWL_NOTIFICATION_NAME not specific in this dictionary, the GROWL_NOTIFICATION_NAME will be displayed. - * - * This key is optional. - */ -#define GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES XSTR("HumanReadableNames") -/*! @defined GROWL_NOTIFICATIONS_DESCRIPTIONS -* @abstract A dictionary of descriptions of _when_ each notification occurs -* @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are -* descriptions of _when_ each notification occurs, such as "You received a new mail message" or -* "A file finished downloading". -* -* This key is optional. -*/ -#define GROWL_NOTIFICATIONS_DESCRIPTIONS XSTR("NotificationDescriptions") -/*! @defined GROWL_NOTIFICATIONS_ICONS - * @abstract A dictionary of icons for each notification - * @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are - * icons for each notification, for GNTP spec - * - * This key is optional. - */ -#define GROWL_NOTIFICATIONS_ICONS XSTR("NotificationIcons") - -/*! @defined GROWL_TICKET_VERSION - * @abstract The version of your registration ticket. - * @discussion Include this key in a ticket plist file that you put in your - * application bundle for auto-discovery. The current ticket version is 1. - */ -#define GROWL_TICKET_VERSION XSTR("TicketVersion") -// UserInfo Keys for Notifications -#pragma mark UserInfo Keys for Notifications - -/*! @group Notification userInfo keys */ -/* @abstract Keys for the userInfo dictionary of a GROWL_NOTIFICATION distributed notification. - * @discussion The values of these keys describe the content of a Growl - * notification. - * - * Not all of these keys are supported by all displays. Only the name, title, - * and description of a notification are universal. Most of the built-in - * displays do support all of these keys, and most other visual displays - * probably will also. But, as of 0.6, the Log, MailMe, and Speech displays - * support only textual data. - */ - -/*! @defined GROWL_NOTIFICATION_NAME - * @abstract The name of the notification. - * @discussion The name of the notification. Note that if you do not define - * GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES when registering your ticket originally this name - * will the one displayed within the Growl preference pane and should be human-readable. - */ -#define GROWL_NOTIFICATION_NAME XSTR("NotificationName") -/*! @defined GROWL_NOTIFICATION_TITLE - * @abstract The title to display in the notification. - * @discussion The title of the notification. Should be very brief. - * The title usually says what happened, e.g. "Download complete". - */ -#define GROWL_NOTIFICATION_TITLE XSTR("NotificationTitle") -/*! @defined GROWL_NOTIFICATION_DESCRIPTION - * @abstract The description to display in the notification. - * @discussion The description should be longer and more verbose than the title. - * The description usually tells the subject of the action, - * e.g. "Growl-0.6.dmg downloaded in 5.02 minutes". - */ -#define GROWL_NOTIFICATION_DESCRIPTION XSTR("NotificationDescription") -/*! @defined GROWL_NOTIFICATION_ICON - * @discussion Image data for the notification icon. Image data must be in a format - * supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_ICON_DATA XSTR("NotificationIcon") -/*! @defined GROWL_NOTIFICATION_APP_ICON - * @discussion Image data for the application icon, in case GROWL_APP_ICON does - * not apply for some reason. Image data be in a format supported by NSImage, such - * as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_APP_ICON_DATA XSTR("NotificationAppIcon") -/*! @defined GROWL_NOTIFICATION_PRIORITY - * @discussion The priority of the notification as an integer number from - * -2 to +2 (+2 being highest). - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_PRIORITY XSTR("NotificationPriority") -/*! @defined GROWL_NOTIFICATION_STICKY - * @discussion A Boolean number controlling whether the notification is sticky. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_STICKY XSTR("NotificationSticky") -/*! @defined GROWL_NOTIFICATION_CLICK_CONTEXT - * @abstract Identifies which notification was clicked. - * @discussion An identifier for the notification for clicking purposes. - * - * This will be passed back to the application when the notification is - * clicked. It must be plist-encodable (a data, dictionary, array, number, or - * string object), and it should be unique for each notification you post. - * A good click context would be a UUID string returned by NSProcessInfo or - * CFUUID. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_CLICK_CONTEXT XSTR("NotificationClickContext") - -/*! @defined GROWL_NOTIFICATION_IDENTIFIER - * @abstract An identifier for the notification for coalescing purposes. - * Notifications with the same identifier fall into the same class; only - * the last notification of a class is displayed on the screen. If a - * notification of the same class is currently being displayed, it is - * replaced by this notification. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_IDENTIFIER XSTR("GrowlNotificationIdentifier") - -/*! @defined GROWL_APP_PID - * @abstract The process identifier of the process which sends this - * notification. If this field is set, the application will only receive - * clicked and timed out notifications which originate from this process. - * - * Optional. - */ -#define GROWL_APP_PID XSTR("ApplicationPID") - -/*! @defined GROWL_NOTIFICATION_PROGRESS -* @abstract If this key is set, it should contain a double value wrapped -* in a NSNumber which describes some sort of progress (from 0.0 to 100.0). -* If this is key is not set, no progress bar is shown. -* -* Optional. Not supported by all display plugins. -*/ -#define GROWL_NOTIFICATION_PROGRESS XSTR("NotificationProgress") - -/*! @defined GROWL_NOTIFICATION_ALREADY_SHOWN - * @abstract If this key is set, it should contain a bool value wrapped - * in a NSNumber which describes whether the notification has - * already been displayed, for instance by built in Notification - * Center support. This value can be used to allow display - * plugins to skip a notification, while still allowing Growl - * actions to run on them. - * - * Optional. Not supported by all display plugins. - */ -#define GROWL_NOTIFICATION_ALREADY_SHOWN XSTR("AlreadyShown") - - -// Notifications -#pragma mark Notifications - -/*! @group Notification names */ -/* @abstract Names of distributed notifications used by Growl. - * @discussion These are notifications used by applications (directly or - * indirectly) to interact with Growl, and by Growl for interaction between - * its components. - * - * Most of these should no longer be used in Growl 0.6 and later, in favor of - * Growl.framework's GrowlApplicationBridge APIs. - */ - -/*! @defined GROWL_APP_REGISTRATION - * @abstract The distributed notification for registering your application. - * @discussion This is the name of the distributed notification that can be - * used to register applications with Growl. - * - * The userInfo dictionary for this notification can contain these keys: - *
    - *
  • GROWL_APP_NAME
  • - *
  • GROWL_APP_ICON_DATA
  • - *
  • GROWL_NOTIFICATIONS_ALL
  • - *
  • GROWL_NOTIFICATIONS_DEFAULT
  • - *
- * - * No longer recommended as of Growl 0.6. An alternate method of registering - * is to use Growl.framework's delegate system. - * See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for - * more information. - */ -#define GROWL_APP_REGISTRATION XSTR("GrowlApplicationRegistrationNotification") -/*! @defined GROWL_APP_REGISTRATION_CONF - * @abstract The distributed notification for confirming registration. - * @discussion The name of the distributed notification sent to confirm the - * registration. Used by the Growl preference pane. Your application probably - * does not need to use this notification. - */ -#define GROWL_APP_REGISTRATION_CONF XSTR("GrowlApplicationRegistrationConfirmationNotification") -/*! @defined GROWL_NOTIFICATION - * @abstract The distributed notification for Growl notifications. - * @discussion This is what it all comes down to. This is the name of the - * distributed notification that your application posts to actually send a - * Growl notification. - * - * The userInfo dictionary for this notification can contain these keys: - *
    - *
  • GROWL_NOTIFICATION_NAME (required)
  • - *
  • GROWL_NOTIFICATION_TITLE (required)
  • - *
  • GROWL_NOTIFICATION_DESCRIPTION (required)
  • - *
  • GROWL_NOTIFICATION_ICON
  • - *
  • GROWL_NOTIFICATION_APP_ICON
  • - *
  • GROWL_NOTIFICATION_PRIORITY
  • - *
  • GROWL_NOTIFICATION_STICKY
  • - *
  • GROWL_NOTIFICATION_CLICK_CONTEXT
  • - *
  • GROWL_APP_NAME (required)
  • - *
- * - * No longer recommended as of Growl 0.6. Three alternate methods of posting - * notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:], - * Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and - * Growl_PostNotification. - */ -#define GROWL_NOTIFICATION XSTR("GrowlNotification") -/*! @defined GROWL_PING - * @abstract A distributed notification to check whether Growl is running. - * @discussion This is used by the Growl preference pane. If it receives a - * GROWL_PONG, the preference pane takes this to mean that Growl is running. - */ -#define GROWL_PING XSTR("Honey, Mind Taking Out The Trash") -/*! @defined GROWL_PONG - * @abstract The distributed notification sent in reply to GROWL_PING. - * @discussion GrowlHelperApp posts this in reply to GROWL_PING. - */ -#define GROWL_PONG XSTR("What Do You Want From Me, Woman") -/*! @defined GROWL_IS_READY - * @abstract The distributed notification sent when Growl starts up. - * @discussion GrowlHelperApp posts this when it has begin listening on all of - * its sources for new notifications. GrowlApplicationBridge (in - * Growl.framework), upon receiving this notification, reregisters using the - * registration dictionary supplied by its delegate. - */ -#define GROWL_IS_READY XSTR("Lend Me Some Sugar; I Am Your Neighbor!") - - -/*! @defined GROWL_DISTRIBUTED_NOTIFICATION_CLICKED_SUFFIX - * @abstract Part of the name of the distributed notification sent when a supported notification is clicked. - * @discussion When a Growl notification with a click context is clicked on by - * the user, Growl posts a distributed notification whose name is in the format: - * [NSString stringWithFormat:@"%@-%d-%@", appName, pid, GROWL_DISTRIBUTED_NOTIFICATION_CLICKED_SUFFIX] - * The GrowlApplicationBridge responds to this notification by calling a callback in its delegate. - */ -#define GROWL_DISTRIBUTED_NOTIFICATION_CLICKED_SUFFIX XSTR("GrowlClicked!") - -/*! @defined GROWL_DISTRIBUTED_NOTIFICATION_TIMED_OUT_SUFFIX - * @abstract Part of the name of the distributed notification sent when a supported notification times out without being clicked. - * @discussion When a Growl notification with a click context times out, Growl posts a distributed notification - * whose name is in the format: - * [NSString stringWithFormat:@"%@-%d-%@", appName, pid, GROWL_DISTRIBUTED_NOTIFICATION_TIMED_OUT_SUFFIX] - * The GrowlApplicationBridge responds to this notification by calling a callback in its delegate. - * NOTE: The user may have actually clicked the 'close' button; this triggers an *immediate* time-out of the notification. - */ -#define GROWL_DISTRIBUTED_NOTIFICATION_TIMED_OUT_SUFFIX XSTR("GrowlTimedOut!") - -/*! @defined GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_ON - * @abstract The distributed notification sent when the Notification Center support is toggled on in Growl 2.0 - * @discussion When the user enables Notification Center support in Growl 2.0, this notification is sent - * to inform all running apps that they should now speak to Notification Center directly. - */ -#define GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_ON XSTR("GrowlNotificationCenterOn!") - -/*! @defined GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_OFF - * @abstract The distributed notification sent when the Notification Center support is toggled off in Growl 2.0 - * @discussion When the user enables Notification Center support in Growl 2.0, this notification is sent - * to inform all running apps that they should no longer speak to Notification Center directly. - */ -#define GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_OFF XSTR("GrowlNotificationCenterOff!") - -/*! @defined GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_QUERY - * @abstract The distributed notification sent by an application to query Growl 2.0's notification center support. - * @discussion When an app starts up, it will send this query to get Growl 2.0 to spit out whether notification - * center support is on or off. - */ -#define GROWL_DISTRIBUTED_NOTIFICATION_NOTIFICATIONCENTER_QUERY XSTR("GrowlNotificationCenterYN?") - - -/*! @group Other symbols */ -/* Symbols which don't fit into any of the other categories. */ - -/*! @defined GROWL_KEY_CLICKED_CONTEXT - * @abstract Used internally as the key for the clickedContext passed over DNC. - * @discussion This key is used in GROWL_NOTIFICATION_CLICKED, and contains the - * click context that was supplied in the original notification. - */ -#define GROWL_KEY_CLICKED_CONTEXT XSTR("ClickedContext") -/*! @defined GROWL_REG_DICT_EXTENSION - * @abstract The filename extension for registration dictionaries. - * @discussion The GrowlApplicationBridge in Growl.framework registers with - * Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION) - * and opening it in the GrowlHelperApp. This happens whether or not Growl is - * running; if it was stopped, it quits immediately without listening for - * notifications. - */ -#define GROWL_REG_DICT_EXTENSION XSTR("growlRegDict") - - -#define GROWL_POSITION_PREFERENCE_KEY @"GrowlSelectedPosition" - -#define GROWL_PLUGIN_CONFIG_ID XSTR("GrowlPluginConfigurationID") - -#endif //ndef _GROWLDEFINES_H diff --git a/Support/Growl.framework/Versions/A/Resources/Info.plist b/Support/Growl.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 6a90f41..0000000 --- a/Support/Growl.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,40 +0,0 @@ - - - - - BuildMachineOSBuild - 12C60 - CFBundleDevelopmentRegion - English - CFBundleExecutable - Growl - CFBundleIdentifier - com.growl.growlframework - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.0.1 - CFBundleSignature - GRRR - CFBundleVersion - 2.0.1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 4G2008a - DTPlatformVersion - GM - DTSDKBuild - 12C37 - DTSDKName - macosx10.8 - DTXcode - 0452 - DTXcodeBuild - 4G2008a - NSPrincipalClass - GrowlApplicationBridge - - diff --git a/Support/Growl.framework/Versions/A/_CodeSignature/CodeResources b/Support/Growl.framework/Versions/A/_CodeSignature/CodeResources deleted file mode 100644 index 420b594..0000000 --- a/Support/Growl.framework/Versions/A/_CodeSignature/CodeResources +++ /dev/null @@ -1,34 +0,0 @@ - - - - - files - - Resources/Info.plist - - VZb3f8My4te/5JwcjfvotgCXTAs= - - - rules - - ^Resources/ - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^version.plist$ - - - - diff --git a/Support/Growl.framework/Versions/Current b/Support/Growl.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/Support/Growl.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Support/OgreKit.framework/Versions/A/Headers/NSString_OgreKitAdditions.h b/Support/OgreKit.framework/Versions/A/Headers/NSString_OgreKitAdditions.h index 791bd83..37ddfbb 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/NSString_OgreKitAdditions.h +++ b/Support/OgreKit.framework/Versions/A/Headers/NSString_OgreKitAdditions.h @@ -4,7 +4,7 @@ * * Creation Date: Feb 29 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2004-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2004-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -76,7 +76,7 @@ /*********** * Replace * ***********/ -- (NSUInteger)replaceOccurrencesOfRegularExpressionString:(NSString*)expressionString +- (unsigned)replaceOccurrencesOfRegularExpressionString:(NSString*)expressionString withString:(NSString*)replaceString options:(unsigned)options range:(NSRange)searchRange; diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGMutableString.h b/Support/OgreKit.framework/Versions/A/Headers/OGMutableString.h index e2d13cf..47d232e 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OGMutableString.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGMutableString.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 22 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2004-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2004-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpression.h b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpression.h index 5ea90c0..e44bd58 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpression.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpression.h @@ -4,7 +4,7 @@ * * Creation Date: Aug 30 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2022 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -18,13 +18,13 @@ #ifndef HAVE_CONFIG_H # define HAVE_CONFIG_H #endif -#import +#import //#define DEBUG_OGRE /* constants */ // version string -#define OgreVersionString @"3.0.2" +#define OgreVersionString @"2.1.12" // compile time options: extern const unsigned OgreNoneOption; @@ -183,9 +183,9 @@ extern NSString * const OgreException; - (NSString*)escapeCharacter; // capture groupの数 -- (NSUInteger)numberOfGroups; +- (unsigned)numberOfGroups; // named groupの数 -- (NSUInteger)numberOfNames; +- (unsigned)numberOfNames; // nameの配列 // named groupを使用していない場合はnilを返す。 - (NSArray*)names; @@ -205,7 +205,7 @@ extern NSString * const OgreException; // OgreKitのバージョン文字列を返す + (NSString*)version; -// onigurumaのバージョン文字列を返す +// oniguruma/onigmoのバージョン文字列を返す + (NSString*)onigurumaVersion; // description @@ -393,7 +393,7 @@ extern NSString * const OgreException; options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll - numberOfReplacement:(NSUInteger*)numberOfReplacement; + numberOfReplacement:(unsigned*)numberOfReplacement; - (NSAttributedString*)replaceAttributedString:(NSAttributedString*)targetString withAttributedString:(NSAttributedString*)replaceString @@ -406,14 +406,14 @@ extern NSString * const OgreException; options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll - numberOfReplacement:(NSUInteger*)numberOfReplacement; + numberOfReplacement:(unsigned*)numberOfReplacement; - (NSObject*)replaceOGString:(NSObject*)targetString withOGString:(NSObject*)replaceString options:(unsigned)searchOptions range:(NSRange)replaceRange replaceAll:(BOOL)replaceAll - numberOfReplacement:(NSUInteger*)numberOfReplacement; + numberOfReplacement:(unsigned*)numberOfReplacement; // デリゲートに処理を委ねた置換 /* @@ -589,13 +589,13 @@ extern NSString * const OgreException; /************* * Utilities * *************/ -// OgreSyntaxとNSIntegerの相互変換 -+ (NSInteger)intValueForSyntax:(OgreSyntax)syntax; -+ (OgreSyntax)syntaxForIntValue:(NSInteger)intValue; +// OgreSyntaxとintの相互変換 ++ (int)intValueForSyntax:(OgreSyntax)syntax; ++ (OgreSyntax)syntaxForIntValue:(int)intValue; // OgreSyntaxを表す文字列 + (NSString*)stringForSyntax:(OgreSyntax)syntax; // Optionsを表す文字列配列 -+ (NSArray*)stringsForOptions:(OnigOptionType)options; ++ (NSArray*)stringsForOptions:(unsigned)options; // 文字列を正規表現で安全な文字列に変換する。(@"|().?*+{}^$[]-&#:=!<>@\\"を退避する) + (NSString*)regularizeString:(NSString*)string; diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionCapture.h b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionCapture.h index b51eee3..cc7df00 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionCapture.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionCapture.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 24 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -18,7 +18,7 @@ #ifndef HAVE_CONFIG_H # define HAVE_CONFIG_H #endif -#import +#import // constants @@ -53,7 +53,7 @@ static NSString *const calcRegex = @"\\g(?\\g(?:(?@\\+\\g)|(?@ { OnigCaptureTreeNode *_captureNode; // Oniguruma capture tree node - NSUInteger _index, // マッチした順番 + NSUInteger _index, // マッチした順番 _level; // 深さ OGRegularExpressionMatch *_match; // 生成主のOGRegularExpressionMatchオブジェクト OGRegularExpressionCapture *_parent; // 親 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionEnumerator.h b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionEnumerator.h index c9bb205..be54fe0 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionEnumerator.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionEnumerator.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 03 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -23,14 +23,14 @@ extern NSString * const OgreEnumeratorException; OGRegularExpression *_regex; // K\IuWFNg NSObject *_targetString; // Ώە unichar *_UTF16TargetString; // UTF16ł̌Ώە - NSUInteger _lengthOfTargetString; // [_targetString length] + NSUInteger _lengthOfTargetString; // [_targetString length] NSRange _searchRange; // ͈ - OnigOptionType _searchOptions; // IvV + unsigned _searchOptions; // IvV NSInteger _terminalOfLastMatch; // OɃ}b`̏I[ʒu (_region->end[0] / sizeof(unichar)) - NSUInteger _startLocation; // }b`Jnʒu + NSUInteger _startLocation; // }b`Jnʒu BOOL _isLastMatchEmpty; // Õ}b`󕶎񂾂ǂ - NSUInteger _numberOfMatches; // }b` + unsigned _numberOfMatches; // }b` } // S}b`ʂzŕԂB diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionFormatter.h b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionFormatter.h index d8c79ca..45b7672 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionFormatter.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionFormatter.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 05 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionMatch.h b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionMatch.h index 52be6fb..fef51f0 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionMatch.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGRegularExpressionMatch.h @@ -4,7 +4,7 @@ * * Creation Date: Aug 30 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -18,7 +18,7 @@ #ifndef HAVE_CONFIG_H # define HAVE_CONFIG_H #endif -#import +#import // constant @@ -32,11 +32,11 @@ extern NSString * const OgreMatchException; { OnigRegion *_region; // match result region OGRegularExpressionEnumerator *_enumerator; // matcher - NSUInteger _terminalOfLastMatch; // 前回にマッチした文字列の終端位置 (_region->end[0] / sizeof(unichar)) + NSUInteger _terminalOfLastMatch; // 前回にマッチした文字列の終端位置 (_region->end[0] / sizeof(unichar)) NSObject *_targetString; // 検索対象文字列 NSRange _searchRange; // 検索範囲 - NSUInteger _index; // マッチした順番 + NSUInteger _index; // マッチした順番 } /********* @@ -239,4 +239,4 @@ number of capture history: 2 @end // UTF16文字列の長さを得る -inline long Ogre_UTF16strlen(unichar *const aUTF16string, unichar *const end); +inline NSInteger Ogre_UTF16strlen(unichar *const aUTF16string, unichar *const end); diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGReplaceExpression.h b/Support/OgreKit.framework/Versions/A/Headers/OGReplaceExpression.h index a9060e6..ec5dc82 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OGReplaceExpression.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGReplaceExpression.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 22 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OGString.h b/Support/OgreKit.framework/Versions/A/Headers/OGString.h index 32134c8..2534844 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OGString.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OGString.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 22 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2004-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2004-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreFindPanelController.h b/Support/OgreKit.framework/Versions/A/Headers/OgreFindPanelController.h index 7db5ff5..c080919 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreFindPanelController.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreFindPanelController.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 13 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultBranch.h b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultBranch.h index 9388de9..07a8834 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultBranch.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultBranch.h @@ -4,7 +4,7 @@ * * Creation Date: Apr 18 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultLeaf.h b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultLeaf.h index 41868fe..73f2c0e 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultLeaf.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultLeaf.h @@ -4,7 +4,7 @@ * * Creation Date: Apr 18 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultWindowController.h b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultWindowController.h index 927c772..ebd5be9 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultWindowController.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreFindResultWindowController.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 10 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreKit.h b/Support/OgreKit.framework/Versions/A/Headers/OgreKit.h index 7f236cd..3dc285b 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreKit.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreKit.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 7 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -19,9 +19,9 @@ #ifndef HAVE_CONFIG_H # define HAVE_CONFIG_H #endif -#import +#import -// Regular Expressions +/* Regular Expressions */ #import #import #import @@ -31,3 +31,26 @@ #import #import #import +/* Find Panel */ +// Models +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +// Views +#import +#import +#import +#import +#import +// Controllers +#import +#import +#import diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineColumn.h b/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineColumn.h index 325d0f4..489f7ad 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineColumn.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineColumn.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineView.h b/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineView.h index abc8c44..0c8fb95 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineView.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreOutlineView.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTableColumn.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTableColumn.h index 6b68c89..12d8e04 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTableColumn.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTableColumn.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTableView.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTableView.h index 331efce..aa05d8c 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTableView.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTableView.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindBranch.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindBranch.h index aecf2c8..6dc20c8 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindBranch.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindBranch.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 26 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponent.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponent.h index d8bdcb9..1973d75 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponent.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponent.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 26 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponentEnumerator.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponentEnumerator.h index 46a19d1..fa57b2b 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponentEnumerator.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindComponentEnumerator.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 05 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindLeaf.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindLeaf.h index 77ae4b8..cf6ab7f 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindLeaf.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindLeaf.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 26 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressDelegate.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressDelegate.h index 8394d6c..f3613d3 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressDelegate.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressDelegate.h @@ -4,7 +4,7 @@ * * Creation Date: Mar 06 2010 * Author: Isao Sonobe - * Copyright: Copyright (c) 2010-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2010-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressSheet.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressSheet.h index 8ff4230..efc59cf 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressSheet.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindProgressSheet.h @@ -4,7 +4,7 @@ * * Creation Date: Oct 01 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindResult.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindResult.h index 5b28bad..2796d04 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindResult.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindResult.h @@ -4,7 +4,7 @@ * * Creation Date: Apr 18 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindReverseComponentEnumerator.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindReverseComponentEnumerator.h index 1911cd9..0f88a4e 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindReverseComponentEnumerator.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindReverseComponentEnumerator.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 05 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindThread.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindThread.h index 4829096..9e5f40d 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindThread.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFindThread.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 26 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 @@ -39,7 +39,7 @@ OGRegularExpression *_regex; // regular expression OGReplaceExpression *_repex; // replace expression NSColor *_highlightColor; // highlight color - OnigOptionType _searchOptions; // search option + unsigned _searchOptions; // search option BOOL _inSelection; // find scope BOOL _asynchronous; // synchronous or asynchronous SEL _didEndSelector; // selector for sending a finish message @@ -52,9 +52,9 @@ /* state */ volatile BOOL _terminated; // two-phase termination BOOL _exceptionRaised; - unsigned _numberOfMatches; // number of matches + NSUInteger _numberOfMatches; // number of matches OgreTextFindResult *_textFindResult; // result - NSInteger _numberOfDoneLeaves, + NSInteger _numberOfDoneLeaves, _numberOfTotalLeaves; NSDate *_processTime; // process time @@ -98,7 +98,7 @@ - (NSTimeInterval)processTime; /* Protected methods */ -- (unsigned)numberOfMatches; // number of matches +- (NSUInteger)numberOfMatches; // number of matches - (void)incrementNumberOfMatches; // _numberofMatches++ - (void)finishingUp:(id)sender; - (void)exceptionRaised:(NSException*)exception; diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFinder.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFinder.h index 0ca4c84..c3699ef 100755 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextFinder.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextFinder.h @@ -4,7 +4,7 @@ * * Creation Date: Sep 20 2003 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreTextView.h b/Support/OgreKit.framework/Versions/A/Headers/OgreTextView.h index f4c75d6..3c3104a 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreTextView.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreTextView.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/OgreView.h b/Support/OgreKit.framework/Versions/A/Headers/OgreView.h index a164763..df82683 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/OgreView.h +++ b/Support/OgreKit.framework/Versions/A/Headers/OgreView.h @@ -4,7 +4,7 @@ * * Creation Date: Jun 13 2004 * Author: Isao Sonobe - * Copyright: Copyright (c) 2003-2018 Isao Sonobe, All rights reserved. + * Copyright: Copyright (c) 2003-2020 Isao Sonobe, All rights reserved. * License: OgreKit License * * Encoding: UTF8 diff --git a/Support/OgreKit.framework/Versions/A/Headers/oniguruma.h b/Support/OgreKit.framework/Versions/A/Headers/onigmo.h similarity index 58% rename from Support/OgreKit.framework/Versions/A/Headers/oniguruma.h rename to Support/OgreKit.framework/Versions/A/Headers/onigmo.h index daa40ee..fbbf6c9 100644 --- a/Support/OgreKit.framework/Versions/A/Headers/oniguruma.h +++ b/Support/OgreKit.framework/Versions/A/Headers/onigmo.h @@ -1,11 +1,11 @@ -#ifndef ONIGURUMA_H -#define ONIGURUMA_H +#ifndef ONIGMO_H +#define ONIGMO_H /********************************************************************** - oniguruma.h - Onigmo (Oniguruma-mod) (regular expression library) + onigmo.h - Onigmo (Oniguruma-mod) (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2009 K.Kosako - * Copyright (c) 2011-2013 K.Takata + * Copyright (c) 2002-2016 K.Kosako + * Copyright (c) 2011-2019 K.Takata * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,71 +32,48 @@ #ifdef __cplusplus extern "C" { -#endif - -#define ONIGURUMA -#define ONIGURUMA_VERSION_MAJOR 5 -#define ONIGURUMA_VERSION_MINOR 13 -#define ONIGURUMA_VERSION_TEENY 5 - -#ifdef __cplusplus -# ifndef HAVE_PROTOTYPES -# define HAVE_PROTOTYPES 1 -# endif -# ifndef HAVE_STDARG_PROTOTYPES -# define HAVE_STDARG_PROTOTYPES 1 +# if 0 +} /* satisfy cc-mode */ # endif #endif -/* escape Mac OS X/Xcode 2.4/gcc 4.0.1 problem */ -#if defined(__APPLE__) && defined(__GNUC__) && __GNUC__ >= 4 -# ifndef HAVE_STDARG_PROTOTYPES -# define HAVE_STDARG_PROTOTYPES 1 -# endif -#endif +#define ONIGMO_VERSION_MAJOR 6 +#define ONIGMO_VERSION_MINOR 2 +#define ONIGMO_VERSION_TEENY 0 -#ifdef HAVE_STDARG_H -# ifndef HAVE_STDARG_PROTOTYPES -# define HAVE_STDARG_PROTOTYPES 1 +#ifndef ONIG_EXTERN +# ifdef RUBY_EXTERN +# define ONIG_EXTERN RUBY_EXTERN +# else +# if defined(_WIN32) && !defined(__GNUC__) +# if defined(EXPORT) || defined(RUBY_EXPORT) +# define ONIG_EXTERN extern __declspec(dllexport) +# else +# define ONIG_EXTERN extern __declspec(dllimport) +# endif +# endif # endif #endif -#ifndef P_ -#if defined(__STDC__) || defined(_WIN32) -# define P_(args) args -#else -# define P_(args) () -#endif -#endif - -#ifndef PV_ -#ifdef HAVE_STDARG_PROTOTYPES -# define PV_(args) args -#else -# define PV_(args) () -#endif -#endif - #ifndef ONIG_EXTERN -#if defined(_WIN32) && !defined(__GNUC__) -#if defined(EXPORT) || defined(RUBY_EXPORT) -#define ONIG_EXTERN extern __declspec(dllexport) -#else -#define ONIG_EXTERN extern __declspec(dllimport) -#endif -#endif +# define ONIG_EXTERN extern #endif -#ifndef ONIG_EXTERN -#define ONIG_EXTERN extern +#ifndef RUBY +# ifndef RUBY_SYMBOL_EXPORT_BEGIN +# define RUBY_SYMBOL_EXPORT_BEGIN +# define RUBY_SYMBOL_EXPORT_END +# endif #endif +RUBY_SYMBOL_EXPORT_BEGIN + #include /* for size_t */ /* PART: character encoding */ #ifndef ONIG_ESCAPE_UCHAR_COLLISION -#define UChar OnigUChar +# define UChar OnigUChar #endif typedef unsigned char OnigUChar; @@ -107,14 +84,48 @@ typedef ptrdiff_t OnigPosition; #define ONIG_INFINITE_DISTANCE ~((OnigDistance )0) +/* + * Onig casefold/case mapping flags and related definitions + * + * Subfields (starting with 0 at LSB): + * 0-2: Code point count in casefold.h + * 3-12: Index into SpecialCaseMapping array in casefold.h + * 13-22: Case folding/mapping flags + */ typedef unsigned int OnigCaseFoldType; /* case fold flag */ ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag; -/* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA (1<<1) */ -/* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH (1<<2) */ -#define ONIGENC_CASE_FOLD_TURKISH_AZERI (1<<20) -#define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR (1<<30) +/* bits for actual code point count; 3 bits is more than enough, currently only 2 used */ +#define OnigCodePointMaskWidth 3 +#define OnigCodePointMask ((1<flags & ONIGENC_FLAG_UNICODE) #define ONIGENC_NAME(enc) ((enc)->name) #define ONIGENC_MBC_CASE_FOLD(enc,flag,pp,end,buf) \ - (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf) + (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf,enc) #define ONIGENC_IS_ALLOWED_REVERSE_MATCH(enc,s,end) \ - (enc)->is_allowed_reverse_match(s,end) -#define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s) \ - (enc)->left_adjust_char_head(start, s) + (enc)->is_allowed_reverse_match(s,end,enc) +#define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s,end) \ + (enc)->left_adjust_char_head(start, s, end, enc) #define ONIGENC_APPLY_ALL_CASE_FOLD(enc,case_fold_flag,f,arg) \ - (enc)->apply_all_case_fold(case_fold_flag,f,arg) + (enc)->apply_all_case_fold(case_fold_flag,f,arg,enc) #define ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc,case_fold_flag,p,end,acs) \ - (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs) -#define ONIGENC_STEP_BACK(enc,start,s,n) \ - onigenc_step_back((enc),(start),(s),(n)) + (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs,enc) +#define ONIGENC_STEP_BACK(enc,start,s,end,n) \ + onigenc_step_back((enc),(start),(s),(end),(n)) + +#define ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(n) (n) +#define ONIGENC_MBCLEN_CHARFOUND_P(r) (0 < (r)) +#define ONIGENC_MBCLEN_CHARFOUND_LEN(r) (r) -#define ONIGENC_MBC_ENC_LEN(enc,p) (enc)->mbc_enc_len(p) +#define ONIGENC_CONSTRUCT_MBCLEN_INVALID() (-1) +#define ONIGENC_MBCLEN_INVALID_P(r) ((r) == -1) + +#define ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(n) (-1-(n)) +#define ONIGENC_MBCLEN_NEEDMORE_P(r) ((r) < -1) +#define ONIGENC_MBCLEN_NEEDMORE_LEN(r) (-1-(r)) + +#define ONIGENC_PRECISE_MBC_ENC_LEN(enc,p,e) (enc)->precise_mbc_enc_len(p,e,enc) + +ONIG_EXTERN +int onigenc_mbclen_approximate(const OnigUChar* p,const OnigUChar* e, const struct OnigEncodingTypeST* enc); + +#define ONIGENC_MBC_ENC_LEN(enc,p,e) onigenc_mbclen_approximate(p,e,enc) #define ONIGENC_MBC_MAXLEN(enc) ((enc)->max_enc_len) #define ONIGENC_MBC_MAXLEN_DIST(enc) ONIGENC_MBC_MAXLEN(enc) #define ONIGENC_MBC_MINLEN(enc) ((enc)->min_enc_len) -#define ONIGENC_IS_MBC_NEWLINE(enc,p,end) (enc)->is_mbc_newline((p),(end)) -#define ONIGENC_MBC_TO_CODE(enc,p,end) (enc)->mbc_to_code((p),(end)) -#define ONIGENC_CODE_TO_MBCLEN(enc,code) (enc)->code_to_mbclen(code) -#define ONIGENC_CODE_TO_MBC(enc,code,buf) (enc)->code_to_mbc(code,buf) +#define ONIGENC_IS_MBC_NEWLINE(enc,p,end) (enc)->is_mbc_newline((p),(end),enc) +#define ONIGENC_MBC_TO_CODE(enc,p,end) (enc)->mbc_to_code((p),(end),enc) +#define ONIGENC_CODE_TO_MBCLEN(enc,code) (enc)->code_to_mbclen(code,enc) +#define ONIGENC_CODE_TO_MBC(enc,code,buf) (enc)->code_to_mbc(code,buf,enc) #define ONIGENC_PROPERTY_NAME_TO_CTYPE(enc,p,end) \ (enc)->property_name_to_ctype(enc,p,end) -#define ONIGENC_IS_CODE_CTYPE(enc,code,ctype) (enc)->is_code_ctype(code,ctype) +#define ONIGENC_IS_CODE_CTYPE(enc,code,ctype) (enc)->is_code_ctype(code,ctype,enc) #define ONIGENC_IS_CODE_NEWLINE(enc,code) \ ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_NEWLINE) @@ -338,35 +401,33 @@ ONIG_EXTERN OnigEncodingType OnigEncodingGB18030; ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_WORD) #define ONIGENC_GET_CTYPE_CODE_RANGE(enc,ctype,sbout,ranges) \ - (enc)->get_ctype_code_range(ctype,sbout,ranges) + (enc)->get_ctype_code_range(ctype,sbout,ranges,enc) ONIG_EXTERN -OnigUChar* onigenc_step_back P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, int n)); +OnigUChar* onigenc_step_back(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, int n); /* encoding API */ ONIG_EXTERN -int onigenc_init P_((void)); -ONIG_EXTERN -int onigenc_set_default_encoding P_((OnigEncoding enc)); +int onigenc_init(void); ONIG_EXTERN -OnigEncoding onigenc_get_default_encoding P_((void)); +int onigenc_set_default_encoding(OnigEncoding enc); ONIG_EXTERN -void onigenc_set_default_caseconv_table P_((const OnigUChar* table)); +OnigEncoding onigenc_get_default_encoding(void); ONIG_EXTERN -OnigUChar* onigenc_get_right_adjust_char_head_with_prev P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar** prev)); +OnigUChar* onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, const OnigUChar** prev); ONIG_EXTERN -OnigUChar* onigenc_get_prev_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); +OnigUChar* onigenc_get_prev_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); ONIG_EXTERN -OnigUChar* onigenc_get_left_adjust_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); +OnigUChar* onigenc_get_left_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); ONIG_EXTERN -OnigUChar* onigenc_get_right_adjust_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); +OnigUChar* onigenc_get_right_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); ONIG_EXTERN -int onigenc_strlen P_((OnigEncoding enc, const OnigUChar* p, const OnigUChar* end)); +int onigenc_strlen(OnigEncoding enc, const OnigUChar* p, const OnigUChar* end); ONIG_EXTERN -int onigenc_strlen_null P_((OnigEncoding enc, const OnigUChar* p)); +int onigenc_strlen_null(OnigEncoding enc, const OnigUChar* p); ONIG_EXTERN -int onigenc_str_bytelen_null P_((OnigEncoding enc, const OnigUChar* p)); +int onigenc_str_bytelen_null(OnigEncoding enc, const OnigUChar* p); @@ -374,6 +435,7 @@ int onigenc_str_bytelen_null P_((OnigEncoding enc, const OnigUChar* p)); /* config parameters */ #define ONIG_NREGION 10 +#define ONIG_MAX_CAPTURE_GROUP_NUM 32767 #define ONIG_MAX_BACKREF_NUM 1000 #define ONIG_MAX_REPEAT_NUM 100000 #define ONIG_MAX_MULTI_BYTE_RANGES_NUM 10000 @@ -399,9 +461,10 @@ typedef unsigned int OnigOptionType; /* options (search time) */ #define ONIG_OPTION_NOTBOL (ONIG_OPTION_CAPTURE_GROUP << 1) #define ONIG_OPTION_NOTEOL (ONIG_OPTION_NOTBOL << 1) -#define ONIG_OPTION_POSIX_REGION (ONIG_OPTION_NOTEOL << 1) +#define ONIG_OPTION_NOTBOS (ONIG_OPTION_NOTEOL << 1) +#define ONIG_OPTION_NOTEOS (ONIG_OPTION_NOTBOS << 1) /* options (ctype range) */ -#define ONIG_OPTION_ASCII_RANGE (ONIG_OPTION_POSIX_REGION << 1) +#define ONIG_OPTION_ASCII_RANGE (ONIG_OPTION_NOTEOS << 1) #define ONIG_OPTION_POSIX_BRACKET_ALL_RANGE (ONIG_OPTION_ASCII_RANGE << 1) #define ONIG_OPTION_WORD_BOUND_ALL_RANGE (ONIG_OPTION_POSIX_BRACKET_ALL_RANGE << 1) /* options (newline) */ @@ -421,18 +484,18 @@ typedef struct { OnigMetaCharTableType meta_char_table; } OnigSyntaxType; -ONIG_EXTERN OnigSyntaxType OnigSyntaxASIS; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended; -ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs; -ONIG_EXTERN OnigSyntaxType OnigSyntaxGrep; -ONIG_EXTERN OnigSyntaxType OnigSyntaxGnuRegex; -ONIG_EXTERN OnigSyntaxType OnigSyntaxJava; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl58; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl58_NG; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl; -ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby; -ONIG_EXTERN OnigSyntaxType OnigSyntaxPython; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxASIS; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixBasic; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixExtended; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxEmacs; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxGrep; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxGnuRegex; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxJava; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58_NG; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby; +ONIG_EXTERN const OnigSyntaxType OnigSyntaxPython; /* predefined syntaxes (see regsyntax.c) */ #define ONIG_SYNTAX_ASIS (&OnigSyntaxASIS) @@ -449,7 +512,7 @@ ONIG_EXTERN OnigSyntaxType OnigSyntaxPython; #define ONIG_SYNTAX_PYTHON (&OnigSyntaxPython) /* default syntax */ -ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; +ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYNTAX_DEFAULT OnigDefaultSyntax /* syntax (operators) */ @@ -484,7 +547,7 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYN_OP_ESC_OCTAL3 (1U<<28) /* \OOO */ #define ONIG_SYN_OP_ESC_X_HEX2 (1U<<29) /* \xHH */ #define ONIG_SYN_OP_ESC_X_BRACE_HEX8 (1U<<30) /* \x{7HHHHHHH} */ -#define ONIG_SYN_OP_ESC_O_BRACE_OCTAL (1U<<31) /* \o{OOO} */ /* NOTIMPL */ +#define ONIG_SYN_OP_ESC_O_BRACE_OCTAL (1U<<31) /* \o{OOO} */ #define ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE (1U<<0) /* \Q...\E */ #define ONIG_SYN_OP2_QMARK_GROUP_EFFECT (1U<<1) /* (?...) */ @@ -508,7 +571,7 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYN_OP2_ESC_H_XDIGIT (1U<<19) /* \h, \H */ #define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE (1U<<20) /* \ */ #define ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK (1U<<21) /* \R as (?>\x0D\x0A|[\x0A-\x0D\x{85}\x{2028}\x{2029}]) */ -#define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X as (?>\P{M}\p{M}*) */ +#define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X */ #define ONIG_SYN_OP2_ESC_V_VERTICAL_WHITESPACE (1U<<23) /* \v, \V -- Perl */ /* NOTIMPL */ #define ONIG_SYN_OP2_ESC_H_HORIZONTAL_WHITESPACE (1U<<24) /* \h, \H -- Perl */ /* NOTIMPL */ #define ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP (1U<<25) /* \K */ @@ -517,7 +580,8 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIG_SYN_OP2_QMARK_VBAR_BRANCH_RESET (1U<<28) /* (?|...) */ /* NOTIMPL */ #define ONIG_SYN_OP2_QMARK_LPAREN_CONDITION (1U<<29) /* (?(cond)yes...|no...) */ #define ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP (1U<<30) /* (?P...), (?P=name), (?P>name) -- Python/PCRE */ -#define ONIG_SYN_OP2_OPTION_JAVA (1U<<31) /* (?idmsux), (?-idmsux) */ /* NOTIMPL */ +#define ONIG_SYN_OP2_QMARK_TILDE_ABSENT (1U<<31) /* (?~...) */ +/* #define ONIG_SYN_OP2_OPTION_JAVA (1U<)(?) */ #define ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY (1U<<9) /* a{n}?=(?:a{n})? */ #define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL (1U<<10) /* (?)(?)(?&x) */ +#define ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP (1U<<11) /* (?)(?)\k */ /* syntax (behavior) in char class [...] */ #define ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC (1U<<20) /* [^...] */ @@ -541,6 +606,7 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; /* syntax (behavior) warning */ #define ONIG_SYN_WARN_CC_OP_NOT_ESCAPED (1U<<24) /* [,-,] */ #define ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT (1U<<25) /* (?:a*)+ */ +#define ONIG_SYN_WARN_CC_DUP (1U<<26) /* [aa] */ /* meta character specifiers (onig_set_meta_char()) */ #define ONIG_META_CHAR_ESCAPE 0 @@ -567,6 +633,7 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_UNDEFINED_BYTECODE -13 #define ONIGERR_UNEXPECTED_BYTECODE -14 #define ONIGERR_MATCH_STACK_LIMIT_OVER -15 +#define ONIGERR_PARSE_DEPTH_LIMIT_OVER -16 #define ONIGERR_DEFAULT_ENCODING_IS_NOT_SET -21 #define ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR -22 /* general error */ @@ -606,7 +673,8 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_TOO_BIG_BACKREF_NUMBER -207 #define ONIGERR_INVALID_BACKREF -208 #define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED -209 -#define ONIGERR_TOO_SHORT_DIGITS -210 +#define ONIGERR_TOO_MANY_CAPTURE_GROUPS -210 +#define ONIGERR_TOO_SHORT_DIGITS -211 #define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE -212 #define ONIGERR_EMPTY_GROUP_NAME -214 #define ONIGERR_INVALID_GROUP_NAME -215 @@ -625,7 +693,7 @@ ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax; #define ONIGERR_INVALID_COMBINATION_OF_OPTIONS -403 /* errors related to thread */ -#define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT -1001 +/* #define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT -1001 */ /* must be smaller than BIT_STATUS_BITS_NUM (unsigned int * 8) */ @@ -674,28 +742,18 @@ typedef struct { int upper; } OnigRepeatRange; -typedef void (*OnigWarnFunc) P_((const char* s)); -extern void onig_null_warn P_((const char* s)); +typedef void (*OnigWarnFunc)(const char* s); +extern void onig_null_warn(const char* s); #define ONIG_NULL_WARN onig_null_warn #define ONIG_CHAR_TABLE_SIZE 256 -/* regex_t state */ -#define ONIG_STATE_NORMAL 0 -#define ONIG_STATE_SEARCHING 1 -#define ONIG_STATE_COMPILING -1 -#define ONIG_STATE_MODIFY -2 - -#define ONIG_STATE(reg) \ - ((reg)->state > 0 ? ONIG_STATE_SEARCHING : (reg)->state) - typedef struct re_pattern_buffer { /* common members of BBuf(bytes-buffer) */ unsigned char* p; /* compiled pattern */ unsigned int used; /* used space for p */ unsigned int alloc; /* allocated space for p */ - int state; /* normal, searching, compiling */ int num_mem; /* used memory(...) num counted from 1 */ int num_repeat; /* OP_REPEAT/OP_REPEAT_NG id-counter */ int num_null_check; /* OP_NULL_CHECK_START/END id counter */ @@ -706,13 +764,15 @@ typedef struct re_pattern_buffer { unsigned int bt_mem_end; /* need backtrack flag */ int stack_pop_level; int repeat_range_alloc; + + OnigOptionType options; + OnigRepeatRange* repeat_range; OnigEncoding enc; - OnigOptionType options; - OnigSyntaxType* syntax; - OnigCaseFoldType case_fold_flag; + const OnigSyntaxType* syntax; void* name_table; + OnigCaseFoldType case_fold_flag; /* optimization info (string search, char-map and anchors) */ int optimize; /* optimize flag */ @@ -724,8 +784,8 @@ typedef struct re_pattern_buffer { unsigned char *exact; unsigned char *exact_end; unsigned char map[ONIG_CHAR_TABLE_SIZE]; /* used as BM skip or char-map */ - int *int_map; /* BM skip for exact_len > 255 */ - int *int_map_backward; /* BM skip for backward search */ + int *reserved1; + int *reserved2; OnigDistance dmin; /* min-distance of exact or map */ OnigDistance dmax; /* max-distance of exact or map */ @@ -736,7 +796,7 @@ typedef struct re_pattern_buffer { typedef OnigRegexType* OnigRegex; #ifndef ONIG_ESCAPE_REGEX_T_COLLISION - typedef OnigRegexType regex_t; +typedef OnigRegexType regex_t; #endif @@ -744,123 +804,132 @@ typedef struct { int num_of_elements; OnigEncoding pattern_enc; OnigEncoding target_enc; - OnigSyntaxType* syntax; + const OnigSyntaxType* syntax; OnigOptionType option; OnigCaseFoldType case_fold_flag; } OnigCompileInfo; /* Oniguruma Native API */ ONIG_EXTERN -int onig_init P_((void)); +int onig_initialize(OnigEncoding encodings[], int n); +ONIG_EXTERN +int onig_init(void); ONIG_EXTERN -int onig_error_code_to_str PV_((OnigUChar* s, OnigPosition err_code, ...)); +int onig_error_code_to_str(OnigUChar* s, OnigPosition err_code, ...); ONIG_EXTERN -void onig_set_warn_func P_((OnigWarnFunc f)); +void onig_set_warn_func(OnigWarnFunc f); ONIG_EXTERN -void onig_set_verb_warn_func P_((OnigWarnFunc f)); +void onig_set_verb_warn_func(OnigWarnFunc f); ONIG_EXTERN -int onig_new P_((OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); +int onig_new(OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo); ONIG_EXTERN -int onig_reg_init P_((OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, OnigSyntaxType* syntax)); +int onig_reg_init(OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, const OnigSyntaxType* syntax); ONIG_EXTERN -int onig_new_without_alloc P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); +int onig_new_without_alloc(OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo); ONIG_EXTERN -int onig_new_deluxe P_((OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo)); +int onig_new_deluxe(OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo); ONIG_EXTERN -void onig_free P_((OnigRegex)); +void onig_free(OnigRegex); ONIG_EXTERN -void onig_free_body P_((OnigRegex)); +void onig_free_body(OnigRegex); ONIG_EXTERN -int onig_recompile P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); +OnigPosition onig_scan(OnigRegex reg, const OnigUChar* str, const OnigUChar* end, OnigRegion* region, OnigOptionType option, int (*scan_callback)(OnigPosition, OnigPosition, OnigRegion*, void*), void* callback_arg); ONIG_EXTERN -int onig_recompile_deluxe P_((OnigRegex reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo)); +OnigPosition onig_search(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option); ONIG_EXTERN -OnigPosition onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); +OnigPosition onig_search_gpos(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option); ONIG_EXTERN -OnigPosition onig_search_gpos P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); +OnigPosition onig_match(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option); ONIG_EXTERN -OnigPosition onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option)); +OnigRegion* onig_region_new(void); ONIG_EXTERN -OnigRegion* onig_region_new P_((void)); +void onig_region_init(OnigRegion* region); ONIG_EXTERN -void onig_region_init P_((OnigRegion* region)); +void onig_region_free(OnigRegion* region, int free_self); ONIG_EXTERN -void onig_region_free P_((OnigRegion* region, int free_self)); +void onig_region_copy(OnigRegion* to, const OnigRegion* from); ONIG_EXTERN -void onig_region_copy P_((OnigRegion* to, OnigRegion* from)); +void onig_region_clear(OnigRegion* region); ONIG_EXTERN -void onig_region_clear P_((OnigRegion* region)); +int onig_region_resize(OnigRegion* region, int n); ONIG_EXTERN -int onig_region_resize P_((OnigRegion* region, int n)); +int onig_region_set(OnigRegion* region, int at, int beg, int end); ONIG_EXTERN -int onig_region_set P_((OnigRegion* region, int at, int beg, int end)); +int onig_name_to_group_numbers(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, int** nums); ONIG_EXTERN -int onig_name_to_group_numbers P_((OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, int** nums)); +int onig_name_to_backref_number(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, const OnigRegion *region); ONIG_EXTERN -int onig_name_to_backref_number P_((OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, OnigRegion *region)); +int onig_foreach_name(OnigRegex reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,OnigRegex,void*), void* arg); ONIG_EXTERN -int onig_foreach_name P_((OnigRegex reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,OnigRegex,void*), void* arg)); +int onig_number_of_names(const OnigRegexType *reg); ONIG_EXTERN -int onig_number_of_names P_((OnigRegex reg)); +int onig_number_of_captures(const OnigRegexType *reg); ONIG_EXTERN -int onig_number_of_captures P_((OnigRegex reg)); +int onig_number_of_capture_histories(const OnigRegexType *reg); ONIG_EXTERN -int onig_number_of_capture_histories P_((OnigRegex reg)); +OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region); ONIG_EXTERN -OnigCaptureTreeNode* onig_get_capture_tree P_((OnigRegion* region)); +int onig_capture_tree_traverse(OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg); ONIG_EXTERN -int onig_capture_tree_traverse P_((OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg)); +int onig_noname_group_capture_is_active(const OnigRegexType *reg); ONIG_EXTERN -int onig_noname_group_capture_is_active P_((OnigRegex reg)); +OnigEncoding onig_get_encoding(const OnigRegexType *reg); ONIG_EXTERN -OnigEncoding onig_get_encoding P_((OnigRegex reg)); +OnigOptionType onig_get_options(const OnigRegexType *reg); ONIG_EXTERN -OnigOptionType onig_get_options P_((OnigRegex reg)); +OnigCaseFoldType onig_get_case_fold_flag(const OnigRegexType *reg); ONIG_EXTERN -OnigCaseFoldType onig_get_case_fold_flag P_((OnigRegex reg)); +const OnigSyntaxType* onig_get_syntax(const OnigRegexType *reg); ONIG_EXTERN -OnigSyntaxType* onig_get_syntax P_((OnigRegex reg)); +int onig_set_default_syntax(const OnigSyntaxType* syntax); ONIG_EXTERN -int onig_set_default_syntax P_((OnigSyntaxType* syntax)); +void onig_copy_syntax(OnigSyntaxType* to, const OnigSyntaxType* from); ONIG_EXTERN -void onig_copy_syntax P_((OnigSyntaxType* to, const OnigSyntaxType* from)); +unsigned int onig_get_syntax_op(const OnigSyntaxType* syntax); ONIG_EXTERN -unsigned int onig_get_syntax_op P_((OnigSyntaxType* syntax)); +unsigned int onig_get_syntax_op2(const OnigSyntaxType* syntax); ONIG_EXTERN -unsigned int onig_get_syntax_op2 P_((OnigSyntaxType* syntax)); +unsigned int onig_get_syntax_behavior(const OnigSyntaxType* syntax); ONIG_EXTERN -unsigned int onig_get_syntax_behavior P_((OnigSyntaxType* syntax)); +OnigOptionType onig_get_syntax_options(const OnigSyntaxType* syntax); ONIG_EXTERN -OnigOptionType onig_get_syntax_options P_((OnigSyntaxType* syntax)); +void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op); ONIG_EXTERN -void onig_set_syntax_op P_((OnigSyntaxType* syntax, unsigned int op)); +void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2); ONIG_EXTERN -void onig_set_syntax_op2 P_((OnigSyntaxType* syntax, unsigned int op2)); +void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior); ONIG_EXTERN -void onig_set_syntax_behavior P_((OnigSyntaxType* syntax, unsigned int behavior)); +void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options); ONIG_EXTERN -void onig_set_syntax_options P_((OnigSyntaxType* syntax, OnigOptionType options)); +int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code); ONIG_EXTERN -int onig_set_meta_char P_((OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code)); +void onig_copy_encoding(OnigEncodingType *to, OnigEncoding from); ONIG_EXTERN -void onig_copy_encoding P_((OnigEncoding to, OnigEncoding from)); +OnigCaseFoldType onig_get_default_case_fold_flag(void); ONIG_EXTERN -OnigCaseFoldType onig_get_default_case_fold_flag P_((void)); +int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag); ONIG_EXTERN -int onig_set_default_case_fold_flag P_((OnigCaseFoldType case_fold_flag)); +unsigned int onig_get_match_stack_limit_size(void); ONIG_EXTERN -unsigned int onig_get_match_stack_limit_size P_((void)); +int onig_set_match_stack_limit_size(unsigned int size); ONIG_EXTERN -int onig_set_match_stack_limit_size P_((unsigned int size)); +unsigned int onig_get_parse_depth_limit(void); ONIG_EXTERN -int onig_end P_((void)); +int onig_set_parse_depth_limit(unsigned int depth); ONIG_EXTERN -const char* onig_version P_((void)); +int onig_end(void); ONIG_EXTERN -const char* onig_copyright P_((void)); +const char* onig_version(void); +ONIG_EXTERN +const char* onig_copyright(void); + +RUBY_SYMBOL_EXPORT_END #ifdef __cplusplus +# if 0 +{ /* satisfy cc-mode */ +# endif } #endif -#endif /* ONIGURUMA_H */ +#endif /* ONIGMO_H */ diff --git a/Support/OgreKit.framework/Versions/A/OgreKit b/Support/OgreKit.framework/Versions/A/OgreKit index 6924e4a..f39fca9 100755 Binary files a/Support/OgreKit.framework/Versions/A/OgreKit and b/Support/OgreKit.framework/Versions/A/OgreKit differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 93cf334..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..ab51c81 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..792ab15 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib deleted file mode 100644 index cbf46e6..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..1c28dd6 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101400.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101400.nib new file mode 100644 index 0000000..23dc045 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101400.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-110000.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-110000.nib new file mode 100644 index 0000000..611c979 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-110000.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects.nib new file mode 100644 index 0000000..527cbb1 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreTextFindProgressSheet.nib b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreTextFindProgressSheet.nib index 0684f9c..89598f2 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreTextFindProgressSheet.nib and b/Support/OgreKit.framework/Versions/A/Resources/Base.lproj/OgreTextFindProgressSheet.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/License.txt b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/License.txt index 652757a..1686cc6 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/License.txt +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/License.txt @@ -1,11 +1,11 @@ OgreKit License --------------- -The license of OgreKit follows that of Oniguruma. +The license of OgreKit follows that of Oniguruma and Onigmo. It follows the BSD license in the case of the one except for it. /* - * Copyright (c) 2003-2014 Isao Sonobe + * Copyright (c) 2003-2022 Isao Sonobe * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,4 +30,4 @@ It follows the BSD license in the case of the one except for it. * SUCH DAMAGE. */ -See also the document of the OniGuruma License "COPYING". +See also the document of the OniGuruma/Onigmo License "COPYING". diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/ReadMe.rtf b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/ReadMe.rtf index 5aef81f..67bff1b 100755 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/ReadMe.rtf +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OgreKit/ReadMe.rtf @@ -1,8 +1,9 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\rtf1\ansi\ansicpg932\cocoartf2576 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} \paperw12240\paperh15840\viewkind0 -\pard\tx240\tx540\tx1260\tx2940\tx3600\tx4320\tx4620\tx5760\tx6480\tx7200\tx7920\tx8640\qc +\pard\tx240\tx540\tx1260\tx2940\tx3600\tx4320\tx4620\tx5760\tx6480\tx7200\tx7920\tx8640\qc\partightenfactor0 \f0\fs24 \cf0 \ @@ -10,7 +11,7 @@ \fs24 \ \ -- OniGuruma Regular Expression Framework for Cocoa --\ -\pard\tx240\tx540\tx1260\tx2940\tx3600\tx4320\tx4620\tx5760\tx6480\tx7200\tx7920\tx8640 +\pard\tx240\tx540\tx1260\tx2940\tx3600\tx4320\tx4620\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0 \cf0 \ \fs32 [Introduction]\ @@ -22,7 +23,7 @@ OniGuruma: http://www.geocities.jp/kosako3/oniguruma/\ Onigmo: https://github.com/k-takata/Onigmo/\ \ - Regular expressions that you can use in the framework is described in the document "oniguruma/doc/RE".\ + Regular expressions that you can use in the framework is described in the document "onigmo/doc/RE".\ \ You are free to use/change/redistribute this framework under the OgreKit License.\ This license follows the BSD license in the case of the one except for it.\ @@ -39,8 +40,8 @@ \fs32 [Notabilia]\ -\fs24 System requirement: Mac OS 10.3.x or later.\ - If you have any questions or requests or bug reoprts on OgreKit, feel free to contact me (Isao Sonobe ).\ +\fs24 System requirement: Mac OS 10.14 or later.\ + If you have any questions or requests or bug reoprts on OgreKit, feel free to contact me (Isao Sonobe ).\ \ \fs32 [Support Page]\ @@ -48,5 +49,5 @@ \fs24 http://sonoisa.github.io/ogrekit/About.html (Japanese text only yet)\ \ ----------------------------------------------------------------------------------------------------\ -Copyright (c) 2003-2014 Isao Sonobe .\ +Copyright (c) 2003-2020 Isao Sonobe .\ } \ No newline at end of file diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/API b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/API index 95fea64..1dcb93c 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/API +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/API @@ -1,13 +1,30 @@ -Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 +Onigmo (Oniguruma-mod) API Version 6.1.2 2017/05/10 -#include +#include + + +# int onig_initialize(OnigEncoding use_encodings[], int num_encodings) + + Initialize library. + This is added for compatibility to Oniguruma 6.0. + Currently this is same as onig_init(). + + arguments + 1 use_encodings: array of encodings used in application. + 2 num_encodings: number of encodings. # int onig_init(void) Initialize library. - You don't have to call it explicitly, because it is called in onig_new(). + Single thread program: + You don't have to call it explicitly, because it is called in onig_new(). + However calling it is preferred. + + Multi thread program: + You have to call it explicitly from a specific thread (normally the main + thread) before you use onig_new(), because onig_init() is not thread safe. # int onig_error_code_to_str(UChar* err_buf, OnigPosition err_code, ...) @@ -49,8 +66,8 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 # int onig_new(regex_t** reg, const UChar* pattern, const UChar* pattern_end, - OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, - OnigErrorInfo* err_info) + OnigOptionType option, OnigEncoding enc, + const OnigSyntaxType* syntax, OnigErrorInfo* err_info) Create a regex object. @@ -103,23 +120,47 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 ONIG_ENCODING_ISO_8859_14 ISO 8859-14 ONIG_ENCODING_ISO_8859_15 ISO 8859-15 ONIG_ENCODING_ISO_8859_16 ISO 8859-16 - ONIG_ENCODING_UTF8 UTF-8 - ONIG_ENCODING_UTF16_BE UTF-16BE - ONIG_ENCODING_UTF16_LE UTF-16LE - ONIG_ENCODING_UTF32_BE UTF-32BE - ONIG_ENCODING_UTF32_LE UTF-32LE + ONIG_ENCODING_UTF_8 UTF-8 + ONIG_ENCODING_UTF_16BE UTF-16BE + ONIG_ENCODING_UTF_16LE UTF-16LE + ONIG_ENCODING_UTF_32BE UTF-32BE + ONIG_ENCODING_UTF_32LE UTF-32LE ONIG_ENCODING_EUC_JP EUC-JP ONIG_ENCODING_EUC_TW EUC-TW ONIG_ENCODING_EUC_KR EUC-KR ONIG_ENCODING_EUC_CN EUC-CN - ONIG_ENCODING_SJIS Shift_JIS + ONIG_ENCODING_SHIFT_JIS Shift_JIS + ONIG_ENCODING_WINDOWS_31J Windows-31J (CP932) ONIG_ENCODING_KOI8_R KOI8-R - ONIG_ENCODING_CP1251 CP1251 + ONIG_ENCODING_KOI8_U KOI8-U + ONIG_ENCODING_WINDOWS_1250 Windows-1250 (CP1250) + ONIG_ENCODING_WINDOWS_1251 Windows-1251 (CP1251) + ONIG_ENCODING_WINDOWS_1252 Windows-1252 (CP1252) + ONIG_ENCODING_WINDOWS_1253 Windows-1253 (CP1253) + ONIG_ENCODING_WINDOWS_1254 Windows-1254 (CP1254) + ONIG_ENCODING_WINDOWS_1257 Windows-1257 (CP1257) ONIG_ENCODING_BIG5 Big5 ONIG_ENCODING_GB18030 GB18030 or any OnigEncodingType data address defined by user. + The following encoding names can be also used for backward compatibility: + + ONIG_ENCODING_UTF8 UTF-8 + ONIG_ENCODING_UTF16_BE UTF-16BE + ONIG_ENCODING_UTF16_LE UTF-16LE + ONIG_ENCODING_UTF32_BE UTF-32BE + ONIG_ENCODING_UTF32_LE UTF-32LE + ONIG_ENCODING_SJIS Shift_JIS + ONIG_ENCODING_CP932 Windows-31J (CP932) + ONIG_ENCODING_CP1250 Windows-1250 (CP1250) + ONIG_ENCODING_CP1251 Windows-1251 (CP1251) + ONIG_ENCODING_CP1252 Windows-1252 (CP1252) + ONIG_ENCODING_CP1253 Windows-1253 (CP1253) + ONIG_ENCODING_CP1254 Windows-1254 (CP1254) + ONIG_ENCODING_CP1257 Windows-1257 (CP1257) + + 6 syntax: address of pattern syntax definition. ONIG_SYNTAX_ASIS plain text @@ -146,8 +187,8 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 # int onig_new_without_alloc(regex_t* reg, const UChar* pattern, const UChar* pattern_end, - OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, - OnigErrorInfo* err_info) + OnigOptionType option, OnigEncoding enc, + const OnigSyntaxType* syntax, OnigErrorInfo* err_info) Create a regex object. reg object area is not allocated in this function. @@ -190,13 +231,13 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 the following cases only. pattern_enc: ASCII, ISO_8859_1 - target_enc: UTF16_BE, UTF16_LE, UTF32_BE, UTF32_LE + target_enc: UTF_16BE, UTF_16LE, UTF_32BE, UTF_32LE - pattern_enc: UTF16_BE/LE - target_enc: UTF16_LE/BE + pattern_enc: UTF_16BE/LE + target_enc: UTF_16LE/BE - pattern_enc: UTF32_BE/LE - target_enc: UTF32_LE/BE + pattern_enc: UTF_32BE/LE + target_enc: UTF_32LE/BE # void onig_free(regex_t* reg) @@ -243,11 +284,12 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 ONIG_OPTION_NOTBOL string head(str) isn't considered as begin of line ONIG_OPTION_NOTEOL string end (end) isn't considered as end of line - ONIG_OPTION_POSIX_REGION region argument is regmatch_t[] of POSIX API. + ONIG_OPTION_NOTBOS string head(str) isn't considered as begin of string (\A) + ONIG_OPTION_NOTEOS string end (end) isn't considered as end of string (\z) # OnigPosition onig_match(regex_t* reg, const UChar* str, const UChar* end, - const UChar* at, OnigRegion* region, OnigOptionType option) + const UChar* at, OnigRegion* region, OnigOptionType option) Match string and return result and matching region. @@ -264,7 +306,29 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 ONIG_OPTION_NOTBOL string head(str) isn't considered as begin of line ONIG_OPTION_NOTEOL string end (end) isn't considered as end of line - ONIG_OPTION_POSIX_REGION region argument is regmatch_t[] type of POSIX API. + ONIG_OPTION_NOTBOS string head(str) isn't considered as begin of string (\A) + ONIG_OPTION_NOTEOS string end (end) isn't considered as end of string (\z) + + +# OnigPosition onig_scan(regex_t* reg, const UChar* str, const UChar* end, + OnigRegion* region, OnigOptionType option, + int (*scan_callback)(OnigPosition, OnigPosition, OnigRegion*, void*), + void* callback_arg) + + Scan string and callback with matching region. + + normal return: number of matching times + error: error code + interruption: return value of callback function (!= 0) + + arguments + 1 reg: regex object + 2 str: target string + 3 end: terminate address of target string + 4 region: address for return group match range info (NULL is allowed) + 5 option: search time option + 6 scan_callback: callback function (defined by user) + 7 callback_arg: optional argument passed to callback # OnigRegion* onig_region_new(void) @@ -281,7 +345,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 2 free_self: [1: free all, 0: free memory used in region but not self] -# void onig_region_copy(OnigRegion* to, OnigRegion* from) +# void onig_region_copy(OnigRegion* to, const OnigRegion* from) Copy contents of region. @@ -327,7 +391,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 # int onig_name_to_backref_number(regex_t* reg, const UChar* name, const UChar* name_end, - OnigRegion *region) + const OnigRegion *region) Return the group number corresponding to the named backref (\k). If two or more regions for the groups of the name are effective, @@ -360,7 +424,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 3 arg: argument for func. -# int onig_number_of_names(regex_t* reg) +# int onig_number_of_names(const regex_t* reg) Return the number of names defined in the pattern. Multiple definitions of one name is counted as one. @@ -369,10 +433,10 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 reg: regex object. -# OnigEncoding onig_get_encoding(regex_t* reg) -# OnigOptionType onig_get_options(regex_t* reg) -# OnigCaseFoldType onig_get_case_fold_flag(regex_t* reg) -# OnigSyntaxType* onig_get_syntax(regex_t* reg) +# OnigEncoding onig_get_encoding(const regex_t* reg) +# OnigOptionType onig_get_options(const regex_t* reg) +# OnigCaseFoldType onig_get_case_fold_flag(const regex_t* reg) +# const OnigSyntaxType* onig_get_syntax(const regex_t* reg) Return a value of the regex object. @@ -380,7 +444,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 reg: regex object. -# int onig_number_of_captures(regex_t* reg) +# int onig_number_of_captures(const regex_t* reg) Return the number of capture group in the pattern. @@ -388,7 +452,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 reg: regex object. -# int onig_number_of_capture_histories(regex_t* reg) +# int onig_number_of_capture_histories(const regex_t* reg) Return the number of capture history defined in the pattern. @@ -446,7 +510,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 4 arg; optional callback argument. -# int onig_noname_group_capture_is_active(regex_t* reg) +# int onig_noname_group_capture_is_active(const regex_t* reg) Return noname group capture activity. @@ -467,7 +531,8 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 else --> active -# UChar* onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s) +# UChar* onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, + const UChar* s, const UChar* end) Return previous character head address. @@ -475,10 +540,11 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 enc: character encoding 2 start: string address 3 s: target address of string + 4 end: end of string # UChar* onigenc_get_left_adjust_char_head(OnigEncoding enc, - const UChar* start, const UChar* s) + const UChar* start, const UChar* s, const UChar* end) Return left-adjusted head address of a character. @@ -486,10 +552,11 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 enc: character encoding 2 start: string address 3 s: target address of string + 4 end: end of string # UChar* onigenc_get_right_adjust_char_head(OnigEncoding enc, - const UChar* start, const UChar* s) + const UChar* start, const UChar* s, const UChar* end) Return right-adjusted head address of a character. @@ -497,6 +564,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 1 enc: character encoding 2 start: string address 3 s: target address of string + 4 end: end of string # int onigenc_strlen(OnigEncoding enc, const UChar* s, const UChar* end) @@ -510,7 +578,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 Return number of bytes in the string. -# int onig_set_default_syntax(OnigSyntaxType* syntax) +# int onig_set_default_syntax(const OnigSyntaxType* syntax) Set default syntax. @@ -527,10 +595,10 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 2 from: source address. -# unsigned int onig_get_syntax_op(OnigSyntaxType* syntax) -# unsigned int onig_get_syntax_op2(OnigSyntaxType* syntax) -# unsigned int onig_get_syntax_behavior(OnigSyntaxType* syntax) -# OnigOptionType onig_get_syntax_options(OnigSyntaxType* syntax) +# unsigned int onig_get_syntax_op(const OnigSyntaxType* syntax) +# unsigned int onig_get_syntax_op2(const OnigSyntaxType* syntax) +# unsigned int onig_get_syntax_behavior(const OnigSyntaxType* syntax) +# OnigOptionType onig_get_syntax_options(const OnigSyntaxType* syntax) # void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op) # void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2) @@ -544,7 +612,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 2 op, op2, behavior, options: value of element. -# void onig_copy_encoding(OnigEncoding to, OnigOnigEncoding from) +# void onig_copy_encoding(OnigEncodingType *to, OnigEncoding from) Copy encoding. @@ -577,7 +645,7 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 3 code: meta character or ONIG_INEFFECTIVE_META_CHAR. -# OnigCaseFoldType onig_get_default_case_fold_flag() +# OnigCaseFoldType onig_get_default_case_fold_flag(void) Get default case fold flag. @@ -603,6 +671,20 @@ Onigmo (Oniguruma-mod) API Version 5.11.4 2011/10/08 normal return: ONIG_NORMAL +# unsigned int onig_get_parse_depth_limit(void) + + Return the maximum depth of parser recursion. + (default: DEFAULT_PARSE_DEPTH_LIMIT defined in regint.h. Currently 4096.) + + +# int onig_set_parse_depth_limit(unsigned int depth) + + Set the maximum depth of parser recursion. + (depth = 0: Set to the default value defined in regint.h.) + + normal return: ONIG_NORMAL + + # int onig_end(void) The use of this library is finished. diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/COPYING b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/COPYING index c45e65e..957fa8c 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/COPYING +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/COPYING @@ -1,63 +1,59 @@ Onigmo (Oniguruma-mod) LICENSE ------------------------------ -/*- - * Copyright (c) 2002-2009 K.Kosako - * Copyright (c) 2011-2013 K.Takata - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ +Copyright (c) 2002-2018 K.Kosako +Copyright (c) 2011-2019 K.Takata +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Oniguruma LICENSE ----------------- -/*- - * Copyright (c) 2002-2009 K.Kosako - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ +Copyright (c) 2002-2018 K.Kosako +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/FAQ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/FAQ index a59a5e2..444753a 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/FAQ +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/FAQ @@ -1,4 +1,4 @@ -FAQ 2011/09/18 +FAQ 2016/11/07 1. Longest match @@ -6,31 +6,7 @@ FAQ 2011/09/18 in onig_new(). -2. Thread safe - - In order to make thread safe, which of (A) or (B) must be done. - - (A) Onigmo Layer - - Define the macro below in oniguruma/regint.h. - - USE_MULTI_THREAD_SYSTEM - THREAD_ATOMIC_START - THREAD_ATOMIC_END - THREAD_PASS - - THREAD_SYSTEM_INIT - THREAD_SYSTEM_END - - - (B) Application Layer - - The plural threads should not do simultaneously that making - new regexp objects or re-compiling objects or freeing objects, - even if these objects are differ. - - -3. CR + LF +2. CR + LF DOS newline (CR (0x0c) + LF (0x0a) sequence) @@ -40,7 +16,7 @@ FAQ 2011/09/18 /* #define USE_CRNL_AS_LINE_TERMINATOR */ -4. Mailing list +3. Mailing list There is no mailing list about Onigmo/Oniguruma. diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/HISTORY b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/HISTORY index 6546847..9858cc6 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/HISTORY +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/HISTORY @@ -1,12 +1,352 @@ History of Onigmo (Oniguruma-mod) +2019/01/30: Version 6.2.0 + +2019/01/30: [dist] Update LTVERSION to "6:5:0". +2019/01/30: [dist] Delete all autotools generated files from the repository. + (PR #115) +2019/01/30: [test] Update tests. (PR #127) +2019/01/30: [impl] Add USE_CASE_MAP_API configuration. (PR #125) +2019/01/29: [test] Add some tests. (PR #124) +2019/01/29: [impl] Revise the code for searching. (PR #123) +2019/01/28: [bug] Fix initialization of the table for quick search. + This was caused by PR #113. + (Issue #120) (PR #121) +2019/01/26: [spec] (thanks omochimetaru) + Make it possible to extend UTF-8 to 31 bits. (PR #111) +2019/01/25: [dist] Remove minor version from the py command. (PR #119) +2019/01/25: [impl] Avoid negative character. (PR #118) +2019/01/25: [impl] Fix lgtm.com warnings. (PR #117) +2019/01/25: [bug] Fix that "ss" in look-behind causes syntax error. + (Issue #92) (PR #116) +2019/01/24: [bug] Fix performance regression if quantifier lower bound is 1. + (Issue #100) (PR #114) +2019/01/24: [bug] Fix performance problem with /k/i and /s/i. + (Issue #97) (PR #113) +2019/01/24: [new] Update Unicode data: Unicode 11.0.0, Emoji 11.0 (PR #112) +2019/01/24: [bug] Import the latest code from Ruby (PR #112) +2019/01/24: [impl] (thanks aycabta) + Support gperf 3.1 with backward compatibility. (PR #101) +2018/12/10: [dist] (thanks Xavier RENE-CORAIL) + Add LGTM.com code quality badges. (PR #108) +2018/11/10: [impl] (thanks Urabe, Shyouhei) + Avoid negative character. (PR #107) +2018/01/19: [impl] (thanks Tom Lord) + Remove unused variable. (PR #99) +2017/09/27: [spec] Import Ruby r58965 + Change max byte length of UTF-8 to 4 bytes. +2017/09/26: [new] Update Unicode data: Unicode 10.0.0, Emoji 5.0 (PR #93) + + +2017/09/26: Version 6.1.3 + +2017/09/26: [dist] Update LTVERSION to "6:4:0". +2017/09/25: [bug] Add a declaration of onig_end() in onigmoposix.h +2017/09/25: [bug] Fix .*\b (Issue #96) +2017/07/17: [bug] Fix security issues (PR #91) + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9224 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9226 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9227 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9228 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9229 +2017/05/18: [bug] Don't include shift_jis.c from windows_31j.c (Issue #88) + + +2017/05/15: Version 6.1.2 + +2017/05/15: [dist] Update LTVERSION to "6:3:0". +2017/05/01: [bug] Import Ruby r58468 + Fix macro expansion bug. +2017/04/05: [doc] Improve document about absence operator (Issue #87) +2017/04/03: [impl] Import the latest enc-unicode.rb from Ruby r58070. + (Includes Ruby r58065, r58066, r58069 and r58070.) +2017/03/14: [bug] Import Ruby r57816 + Fix UTF-32 valid_encoding?. +2017/02/20: [bug] Import Ruby r57660 + Initialize return values. + https://bugs.ruby-lang.org/issues/13234 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6181 +2017/01/31: [API] Fix missing const on onig_new_without_alloc. (Issue #85) + +2017/01/29: Version 6.1.1 + +2017/01/29: [dist] Update LTVERSION to "6:2:0". +2017/01/29: [bug] Fix that (?~\S+) might cause infinite loop. + Reported at: http://sakura.qp.land.to/?BugReport%2F211 + +2017/01/16: Version 6.1.0 + +2017/01/16: [dist] Update LTVERSION to "6:1:0". +2016/12/26: [impl] Import Ruby r57143, r57175, r57134, r57138 and r57190. +2016/12/23: [new] (special thanks to Tanaka Akira) + Support absent operator (Issue #82) +2016/12/22: [bug] (thanks iology) + mac: Fix loading library (PR #84) +2016/12/14: [impl] Don't parse (?@...) if USE_CAPTURE_HISTORY is not defined +2016/12/13: [bug] Fix out-of-bounds read in set_bm_skip() (Issue #81) +2016/12/12: [bug] Fix backward search with .* (Issue #69) +2016/12/12: [dist] (thanks Masahiro Ide) + Ignore /sample/scan (PR #80) +2016/12/11: [impl] (thanks NARUSE, Yui) + suppress warning: sign compare (PR #79) +2016/12/11: [bug] (thanks NARUSE, Yui) + CRuby enc/*.c needs other way to detect (PR #78) + +2016/12/10: Version 6.0.0 + +2016/12/08: [bug] (thanks Masahiro Ide) + Define PRIdPTRDIFF at regint.h if not defined yet (PR #77) +2016/12/07: [impl] Better fix for wrong capture in recursive call. (Issue #48) +2016/12/06: [impl] Import Ruby r56991 and r56992 + Import the latest st.c. +2016/12/04: [impl] Import Ruby r56976 + Remove special processing for U+03B9/U+03BC/U+A64B. +2016/12/04: [impl] Import Ruby r56975 + Reorder codepoints in some entries of CaseUnfold_11_Table. +2016/12/04: [bug] Fix wrong capture in recursive call. (Issue #48) +2016/12/01: [spec] \X matches \x0D\x0A also on non-Unicode encodings. +2016/12/01: [impl] Import Ruby r56952 + Use offsetof macro and shrink table size. +2016/12/01: [impl] Import Ruby r56951 + Constify CaseMappingSpecials. +2016/12/01: [new] Import Ruby r56949 + Regexp supports Unicode 9.0.0's \X. (Issue #46) +2016/12/01: [bug] Import Ruby r56924 + Fix uppercasing for U+A64B. +2016/11/30: [bug] Partial fix for wrong capture in recursive call. (Issue #48) +2016/11/28: [impl] Import the latest version of st.c from Ruby. (Issue #70) + Import Ruby r56793 with some modifications. +2016/11/28: [API] Add onig_{get,set}_parse_depth_limit(). +2016/11/28: [bug] Fix stack overflow when parsing deeply nested capture + groups. (Issue #68) +2016/11/26: [bug] Fix multiple name groups in Perl syntax. (Issue #74) +2016/11/18: [impl] Enable multiprocess build on VC2010+. +2016/11/17: [bug] Fix wrong optimization for gpos. (Issue #53) +2016/11/15: [impl] Drop support for old compilers which don't have string.h. +2016/11/15: [impl] Add ONIG_DEBUG_MEMLEAK for MSVC. +2016/11/14: [API] Add onig_initialize() for compatibility to Oniguruma 6.0. +2016/11/11: [doc] Clarify the behavior of multiple defined names. +2016/11/11: [API] Add onig_scan(). + Imported from oniguruma. +2016/11/09: [impl] Disable OP_PUSH_OR_JUMP_EXACT1. +2016/11/07: [API] Remove onigenc_set_default_caseconv_table(). +2016/11/07: [impl] Remove all THREAD_* macros. + Imported from oniguruma. +2016/11/07: [impl] Remove USE_RECOMPILE_API and state member of regex. + Imported from oniguruma. +2016/11/04: [spec] Drop support for very old compilers (Issue #72) + ANSI C89 is required now. +2016/11/03: [dist] Add lcov and lcov-clear targets to Makefile. +2016/11/03: [bug] Restore option when fetch_token fails. + Found by Coverity Scan. +2016/11/03: [bug] Check return value of add_code_range0() + Found by Coverity Scan. +2016/11/03: [spec] Check redundant double repeat with number. E.g.: /.{1,}{1,}/ + Hint by Coverity Scan. +2016/11/02: [impl] Support ONIG_DEBUG_STATISTICS on Win32. +2016/11/02: [bug] Fix illegal memory access with (?(700000)) (Issue #65) +2016/11/01: [bug] Fix that warnings are not shown properly on UTF-16/32. +2016/10/31: [bug] Fix out of memory /'\/g\\\xff\xff\xff\xff&))/. + Imported from oniguruma. +2016/10/29: [bug] Fix use after free for regexp /()(?\!(?'a')\1)/. + Imported from oniguruma. +2016/10/26: [new] Support \uHHHH in Ruby syntax. +2016/10/26: [new] Support \o{OOO} in Perl syntax. +2016/10/24: [test] Add minimal tests for backward search and onig_match() + (Issue #26) +2016/10/22: [bug] Fix infinite loop of backreference and group (Issue #65) + Imported from oniguruma. +2016/10/21: [impl] Import Ruby r56433 + Implement non-ASCII case conversion for Windows-1254. +2016/10/20: [API] Add const. +2016/10/19: [impl] (thanks ksss) + Suppress warnings [-Wpointer-sign] (PR #64) +2016/10/18: [bug] Fix ignore case in look-behind (Issue #18) + Imported from oniguruma. +2016/10/15: [dist] Win32: Rewrite makefiles + * Use separate build directories for x86/x64. (Issue #67) + * Add "test", "utest" and "pytest" targets. + * Change include directory. +2016/10/15: [spec] Support XPosixPunct (Issue #42) + Behavior of /[[:punct:]]/ in Unicode is changed now. +2016/10/11: [bug] Import Ruby r55562 + Don't optimize out group 0. +2016/10/10: [dist] Update LTVERSION to "6:0:0". +2016/10/10: [API] Rename oniguruma and onig to onigmo. (Issue #66) + E.g.: + * oniguruma.h -> onigmo.h + * libonig.{a,so} -> libonigmo.{a,so} + * onig.dll -> onigmo.dll + Now Onigmo will not conflict with Oniguruma. +2016/10/08: [impl] Merge ruby-2.x branch. + Now the source codes of Onigmo library and its embedded + version in Ruby are merged. Ruby specific parts are + surrounded by "#ifdef RUBY ... #endif". + Note that Ruby specific version of onig_compile() is now + renamed to onig_compile_ruby(). +2016/10/08: [impl] Import the latest files from Ruby r55740. +2016/10/08: [impl] Import Ruby r51710 + Constify property_name_to_ctype arguments. +2016/10/08: [new] Import the latest enc/* files from Ruby r56090. This + includes the following: + * Update to Unicode 9.0.0. + * Support case mapping. (by Martin Dürst) +2016/10/07: [impl] Import Ruby r56333 + Make the shown address look relative. +2016/10/06: [impl] Import Ruby r53610 +2016/10/06: [impl] Import Ruby r55155 +2016/10/06: [impl] Import Ruby r55203 +2016/10/06: [bug] Import Ruby r56332 + Fix showing opcode. +2016/10/06: [bug] Import Ruby r53543 + Fix UNALIGNED_WORD_ACCESS. +2016/10/06: [bug] Import Ruby r55163 + Raise error if given octal escaped character is too big. +2016/10/06: [bug] Import Ruby r54954 + Fix memory leak. +2016/10/06: [bug] Import Ruby r55157 + Fix debug conditionals. +2016/10/06: [bug] Import Ruby r55154 + Return error code immediately if compile_length_tree raised + error. +2016/10/06: [impl] Import Ruby r55202 + Make compilers optimize harder. +2016/10/06: [impl] Import Ruby r54741 + Constify oplabels. +2016/10/06: [bug] Import Ruby r53248, r53251 + Fix build with token threaded VM. +2016/10/06: [bug] Import Ruby r52999 + Get rid of breaking strict aliasing. +2016/10/06: [impl] Import Ruby r52757 + Remove trailing spaces. +2016/10/03: [dist] Update config.guess and config.sub. (PR #57, Issue #61) +2016/10/03: [impl] (thanks Kouhei Sutou) + Support --enable-mutlithread for MinGW build. (PR #54) +2016/10/03: [tune] (thanks KeenS) + Implement Token Threaded VM. (Issue #51, PR #52) +2015/09/13: [impl] (thanks Kouhei Sutou) + Add "const" to not changed strings. (PR #50) +2015/09/13: [impl] (thanks Kouhei Sutou) + Remove needless prototype declaration. (PR #49) +2015/09/13: [dist] (thanks Sebastian Godelet) + Add build_nmake script for building with nmake. (PR #47) +2015/09/13: [dist] (thanks Kazuho Oku) + Fix build error on systems using BSD make. (PR #55) +2015/05/11: [impl] Import Ruby r50392 + Reject values larger than UTF-8 max codepoints. +2015/05/11: [impl] Import Ruby r49025 + Get rid of usage of uninitialized variable. +2015/05/11: [impl] Import Ruby r49021 + Fix printf format conversion specifiers. +2015/01/21: [dist] Merge Oniguruma 5.9.6 +2014/11/04: [bug] Import Ruby r47996 + Avoid undefined behaviors found by gcc -fsanitize=undefined. +2014/09/26: [dist] (thanks Kouhei Sutou) + Add -no-undefine link flag (PR #45) +2014/09/23: [impl] Import the latest st.[ch] from Ruby r47675 +2014/09/20: [bug] Fix possible memory leaks. +2014/09/17: [impl] Merge Ruby r47602 + Shrink PosixBracketEntryType. +2014/09/17: [impl] Merge Ruby r47601 + Remove unused variable. + +2014/09/11: Version 5.15.0 + +2014/09/11: [dist] update LTVERSION to "5:3:0". +2014/09/01: [bug] "ab" =~ /(?!^a).*b/ doesn't match (Issue #44) + https://bugs.ruby-lang.org/issues/9728 +2014/08/08: [bug] Character properties ignore the ignore case flag (Issue #41) +2014/08/08: [bug] Regex matching errors when using \W character class and /i + option (Issue #4) + https://bugs.ruby-lang.org/issues/4044 +2014/08/05: [impl] Reduce the size of some structures +2014/07/31: [bug] /(?i)\u0149\u0149/ =~ "\u0149\u0149" doesn't match + (Issue #40) + +2014/07/27: Version 5.14.2 + +2014/07/27: [dist] update LTVERSION to "5:2:0". +2014/07/25: [impl] Show byte offset of byte codes when debugging +2014/07/24: [impl] Merge Ruby r46915 + UNALIGNED_WORD_ACCESS on ppc64 +2014/07/19: [impl] Merge Ruby r30943 + Show encoding of compiling regexp. +2014/07/19: [impl] Merge Ruby r17765 partly +2014/07/18: [impl] Use numberof macro +2014/07/18: [impl] Merge Ruby's props.h which uses gperf. + Merge Ruby r46039, r46051 and r46052 +2014/07/16: [impl] Drop support for Borland C++ +2014/07/15: [bug] /[a-c#]+\W/ =~ "def#" fails when encoding is UTF-16/32 +2014/07/09: [impl] Merge Ruby's casefold.h which uses gperf. + Merge Ruby r46056-46057, r46266-46273 and r46317 + +2014/07/01: Version 5.14.1 + +2014/07/01: [dist] update LTVERSION to "5:1:0". (Issue #37) +2014/07/01: [dist] testpy.py: support error tests. + + E.g.: + $ LD_LIBRARY_PATH=.libs python + >>> import testpy + >>> testpy.n("[", "", err=-103) + OK(E): 'premature end of char-class' (/[/ '') + +2014/07/01: [dist] some files was missing from Makefile.am. + +2014/07/01: Version 5.14.0 + +2014/06/30: [bug] SEGV may occur in onig_error_code_to_str() +2014/06/30: [bug] onig.py: onig_error_code_to_str() didn't work on 64-bit OS +2014/06/25: [bug] /\x{1ffc}/i =~ "\x1ff3" didn't match +2014/06/24: [new] Enable Coveralls + See: https://coveralls.io/r/k-takata/Onigmo +2014/06/22: [new] Support for Unicode 7.0. (Issue #12) +2014/06/20: [new] Add a new definition USE_UNICODE_AGE_PROPERTIES. + If undefine this, age properties (e.g. \p{Age=6.3}) are + disabled. Disabling this reduces the size of Unicode data. +2014/06/19: [new] Enable Travis CI (Issue #36) + See: https://travis-ci.org/k-takata/Onigmo +2014/04/18: [bug] fix warning about alloca() with MinGW (Issue #35) +2014/04/17: [spec] add checking the number of capture groups (Issue #24) + Now the maximum number of capture groups is explicitly + limited to ONIG_MAX_CAPTURE_GROUP_NUM (32767). + Also add a new error code: ONIGERR_TOO_MANY_CAPTURE_GROUPS. +2014/04/17: [bug] double free may occur +2014/04/15: [dist] testpy.py: change 'region' to a local variable + Now, it becomes easy to execute a test manually from the + python's interactive shell. + + E.g.: + $ LD_LIBRARY_PATH=.libs python + >>> import testpy + >>> testpy.x2(r"a+b+", "aab", 0, 3) + OK: /a+b+/ 'aab' + +2014/04/12: [new] (thanks mattn) + Fix build on mingw (PR #33) +2014/04/12: [new] improve multithread support + Add the default multithread implementations for Win32 and + Unix. Add --enable-multithread option in configure. +2014/04/12: [bug] deadlock occurs when recursive lock is not allowed +2014/04/12: [bug] fix: segmentation fault occurs when many groups are used + (Issue #24) + see: https://bugs.ruby-lang.org/issues/8716 +2014/01/22: [new] (thanks Allan Odgaard) + Add option to indicate search range is not begin/end of + string (PR #27) +2014/01/22: [bug] fix: Backwards search not respecting range (Issue #22) +2014/01/21: [dist] Merge Oniguruma 5.9.5 +2013/07/29: [new] (thanks Allan Odgaard) + Add 'ifndef ... endif' guard around thread locking macros + (PR #23) + 2013/07/03: Version 5.13.5 2013/07/03: [dist] update LTVERSION to "5:0:5". 2013/07/02: [bug] (thanks Akinori MUSHA and Ippei Obayashi) Fix a renumbering bug in condition regexp with a named - capture. - see: https://bugs.ruby-lang.org/issues/8583 + capture. + see: https://bugs.ruby-lang.org/issues/8583 2013/05/30: [dist] Merge Oniguruma 5.9.3 and 5.9.4. Also change the version of autotools. (automake 1.11.1, autoconf 2.65, libtool 2.2.6b) @@ -283,12 +623,16 @@ History of Onigmo (Oniguruma-mod) 2011/06/11: [new] add \g{n}, \g{-n} and \g{name}. 2011/06/10: [bug] char class may cause memory leak http://redmine.ruby-lang.org/issues/show/4061 + New URL: http://bugs.ruby-lang.org/issues/4061 2011/06/10: [bug] invalid backref number/name http://redmine.ruby-lang.org/issues/show/2759 + New URL: http://bugs.ruby-lang.org/issues/2759 2011/06/10: [bug] /(?<=a).*b/ =~ "aab" doesn't match http://redmine.ruby-lang.org/issues/show/3568 + New URL: http://bugs.ruby-lang.org/issues/3568 2011/06/10: [bug] Case Sensitivity in Regular Expressions with Lookbehind http://redmine.ruby-lang.org/issues/show/4088 + New URL: http://bugs.ruby-lang.org/issues/4088 2011/06/10: [spec] allow any target for quantifiers. add USE_NO_INVALID_QUANTIFIER. 2011/06/10: [new] add Perl 5.14 compatible character set modifier: @@ -305,6 +649,18 @@ History of Onigmo (Oniguruma-mod) ====================================================================== History of Oniguruma +2014/12/12: Version 5.9.6 + +2013/11/27: [impl] add onigenc_end_unicode(). (thanks Takenori Imoto) +2013/11/27: [impl] add onig_add_end_call(). (thanks Takenori Imoto) + +2013/10/21: Version 5.9.5 + +2013/10/21: [impl] escape warnings for -Wall. (regparse.c) +2013/10/21: [bug] fixes an issue on Windows x64. (thanks Anatoliy Belsky) + The issue was discovered in PHP, see https://bugs.php.net/64769. +2013/10/21: [impl] remove unused variable. (regcomp.c) + 2013/04/04: Version 5.9.4 2013/04/04: [dev] remove Makefile.in from git repository. diff --git a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/RE b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/RE index 8c635b7..17c84ba 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/RE +++ b/Support/OgreKit.framework/Versions/A/Resources/Documentation/OniGuruma/RE @@ -1,11 +1,11 @@ -Onigmo (Oniguruma-mod) Regular Expressions Version 5.13.0 2012/01/19 +Onigmo (Oniguruma-mod) Regular Expressions Version 6.1.0 2016/12/25 syntax: ONIG_SYNTAX_RUBY (default) 1. Syntax elements - \ escape (enable or disable meta character meaning) + \ escape (enable or disable meta character) | alternation (...) group [...] character class @@ -13,23 +13,26 @@ syntax: ONIG_SYNTAX_RUBY (default) 2. Characters - \t horizontal tab (0x09) - \v vertical tab (0x0B) - \n newline (0x0A) - \r return (0x0D) - \b back space (0x08) - \f form feed (0x0C) - \a bell (0x07) - \e escape (0x1B) - \nnn octal char (encoded byte value) - \xHH hexadecimal char (encoded byte value) - \x{7HHHHHHH} wide hexadecimal char (character code point value) - \cx control char (character code point value) - \C-x control char (character code point value) - \M-x meta (x|0x80) (character code point value) - \M-\C-x meta control char (character code point value) - - (* \b is effective in character class [...] only) + \t horizontal tab (0x09) + \v vertical tab (0x0B) + \n newline (line feed) (0x0A) + \r carriage return (0x0D) + \b backspace (0x08) + \f form feed (0x0C) + \a bell (0x07) + \e escape (0x1B) + \nnn octal char (encoded byte value) + \xHH hexadecimal char (encoded byte value) + \x{7HHHHHHH} wide hexadecimal char (character code point value) + \uHHHH wide hexadecimal char (character code point value) + \cx control char (character code point value) + \C-x control char (character code point value) + \M-x meta (x|0x80) (character code point value) + \M-\C-x meta control char (character code point value) + + (* \b as backspace is effective in character class only) + + * ONIG_SYNTAX_PERL: \o{nnn} (octal char) can be also used. 3. Character types @@ -47,7 +50,7 @@ syntax: ONIG_SYNTAX_RUBY (default) It depends on ONIG_OPTION_ASCII_RANGE option that non-ASCII char includes or not. - \W non word char + \W non-word char \s whitespace char @@ -63,7 +66,7 @@ syntax: ONIG_SYNTAX_RUBY (default) It depends on ONIG_OPTION_ASCII_RANGE option that non-ASCII char includes or not. - \S non whitespace char + \S non-whitespace char \d decimal digit char @@ -72,11 +75,11 @@ syntax: ONIG_SYNTAX_RUBY (default) It depends on ONIG_OPTION_ASCII_RANGE option that non-ASCII char includes or not. - \D non decimal digit char + \D non-decimal-digit char - \h hexadecimal digit char [0-9a-fA-F] + \h hexadecimal-digit char [0-9a-fA-F] - \H non hexadecimal digit char + \H non-hexadecimal-digit char Character Property @@ -89,14 +92,19 @@ syntax: ONIG_SYNTAX_RUBY (default) + works on all encodings Alnum, Alpha, Blank, Cntrl, Digit, Graph, Lower, - Print, Punct, Space, Upper, XDigit, Word, ASCII, + Print, Punct, Space, Upper, XDigit, Word, ASCII + works on EUC_JP, Shift_JIS, CP932 Hiragana, Katakana, Han, Latin, Greek, Cyrillic - + works on UTF8, UTF16, UTF32 + + works on UTF-8, UTF-16, UTF-32 see UnicodeProps.txt + \p{Punct} works slightly different on Unicode encodings and the other + encodings. It matches the nine characters "$+<=>^`|~" on non-Unicode + encodings (which is the same as [[:punct:]]), but not on Unicode encodings. + \p{XPosixPunct} matches the nine characters on Unicode encodings. + \R Linebreak @@ -106,13 +114,14 @@ syntax: ONIG_SYNTAX_RUBY (default) Not Unicode: (?>\x0D\x0A|[\x0A-\x0D]) - \X eXtended grapheme cluster + \X Extended Grapheme cluster Unicode: - (?>\P{M}\p{M}*) + See: Unicode Standard Annex #29 UNICODE TEXT SEGMENTATION + http://unicode.org/reports/tr29/ Not Unicode: - (?m:.) + (?>\x0D\x0A|(?m:.)) @@ -123,9 +132,9 @@ syntax: ONIG_SYNTAX_RUBY (default) ? 1 or 0 times * 0 or more times + 1 or more times - {n,m} at least n but not more than m times + {n,m} at least n but no more than m times {n,} at least n times - {,n} at least 0 but not more than n times ({0,n}) + {,n} at least 0 but no more than n times ({0,n}) {n} n times reluctant @@ -137,7 +146,7 @@ syntax: ONIG_SYNTAX_RUBY (default) {n,}? at least n times {,n}? at least 0 but not more than n times (== {0,n}?) - possessive (greedy and does not backtrack after repeated) + possessive (greedy and does not backtrack once match) ?+ 1 or 0 times *+ 0 or more times @@ -154,24 +163,24 @@ syntax: ONIG_SYNTAX_RUBY (default) ^ beginning of the line $ end of the line \b word boundary - \B not word boundary + \B non-word boundary \A beginning of string \Z end of string, or before newline at the end \z end of string - \G matching start position + \G where the current search attempt begins 6. Character class - ^... negative class (lowest precedence operator) + ^... negative class (lowest precedence) x-y range from x to y [...] set (character class in character class) - ..&&.. intersection (low precedence at the next of ^) + ..&&.. intersection (low precedence, only higher than ^) ex. [a-w&&[^c-g]z] ==> ([a-w] AND ([^c-g] OR z)) ==> [abh-w] - * If you want to use '[', '-', ']' as a normal character - in a character class, you should escape these characters by '\'. + * If you want to use '[', '-', or ']' as a normal character + in character class, you should escape them with '\'. POSIX bracket ([:xxxxx:], negate [:^xxxxx:]) @@ -207,7 +216,8 @@ syntax: ONIG_SYNTAX_RUBY (default) print [[:graph:]] | Space_Separator punct Connector_Punctuation | Dash_Punctuation | Close_Punctuation | Final_Punctuation | Initial_Punctuation | Other_Punctuation | - Open_Punctuation + Open_Punctuation | 0024 | 002B | 003C | 003D | 003E | 005E | + 0060 | 007C | 007E space Space_Separator | Line_Separator | Paragraph_Separator | 0009 | 000A | 000B | 000C | 000D | 0085 upper Uppercase_Letter @@ -228,7 +238,7 @@ syntax: ONIG_SYNTAX_RUBY (default) (?imxdau-imx) option on/off i: ignore case - m: multi-line (dot(.) match newline) + m: multi-line (dot (.) also matches newline) x: extended form character set option (character range option) @@ -249,40 +259,36 @@ syntax: ONIG_SYNTAX_RUBY (default) (?imxdau-imx:subexp) option on/off for subexp - (?:subexp) not captured group - (subexp) captured group + (?:subexp) non-capturing group + (subexp) capturing group (?=subexp) look-ahead (?!subexp) negative look-ahead (?<=subexp) look-behind (?subexp) atomic group - don't backtrack in subexp. + no backtracks in subexp. (?subexp), (?'name'subexp) define named group - (All characters of the name must be a word character.) + (Each character of the name must be a word character.) - Not only a name but a number is assigned like a captured + Not only a name but a number is assigned like a capturing group. - Assigning the same name as two or more subexps is allowed. - In this case, a subexp call can not be performed although - the back reference is possible. - (ONIG_SYNTAX_PERL: a subexp call is allowed in this case.) + Assigning the same name to two or more subexps is allowed. (?(cond)yes-subexp), (?(cond)yes-subexp|no-subexp) conditional expression @@ -298,51 +304,86 @@ syntax: ONIG_SYNTAX_RUBY (default) Checks if a group with the given name has matched something. + BUG: If the name is defined more than once, the + left-most group is checked, but it should be the + same as \k. + + (?~subexp) absence operator (experimental) + Matches any string which doesn't contain any string which + matches subexp. + More precisely, (?~subexp) matches the complement set of + a set which .*subexp.* matches. This is regular in the + meaning of formal language theory. + Similar to (?:(?!subexp).)*, but easy to write. + + E.g.: + (?~abc) matches: "", "ab", "aab", "ccdd", etc. + It doesn't match: "abc", "aabc", "ccabcdd", etc. + + \/\*(?~\*\/)\*\/ matches C style comments: + "/**/", "/* foobar */", etc. + + \A\/\*(?~\*\/)\*\/\z doesn't match "/**/ */". + This is different from \A\/\*.*?\*\/\z which uses a + reluctant quantifier (.*?). + + Unlike (?:(?!abc).)*c, (?~abc)c matches "abc", because + (?~abc) matches "ab". -8. Back reference + (?~) never matches. - \n back reference by group number (n >= 1) - \k back reference by group number (n >= 1) - \k'n' back reference by group number (n >= 1) - \k<-n> back reference by relative group number (n >= 1) - \k'-n' back reference by relative group number (n >= 1) - \k back reference by group name - \k'name' back reference by group name + Theoretical backgrounds are discussed in Tanaka Akira's + paper and slide (both Japanese): - In the back reference by the multiplex definition name, - a subexp with a large number is referred to preferentially. - (When not matched, a group of the small number is referred to.) + * Absent Operator for Regular Expression + https://staff.aist.go.jp/tanaka-akira/pub/prosym49-akr-paper.pdf + * 正規表現における非包含オペレータの提案 + https://staff.aist.go.jp/tanaka-akira/pub/prosym49-akr-presen.pdf - * Back reference by group number is forbidden if named group is defined - in the pattern and ONIG_OPTION_CAPTURE_GROUP is not set. + +8. Backreferences + + When we say "backreference a group," it actually means, "re-match the same + text matched by the subexp in that group." + + \n \k \k'n' (n >= 1) backreference the nth group in the regexp + \k<-n> \k'-n' (n >= 1) backreference the nth group counting + backwards from the referring position + \k \k'name' backreference a group with the specified name + + When backreferencing with a name that is assigned to more than one groups, + the last group with the name is checked first, if not matched then the + previous one with the name, and so on, until there is a match. + + * Backreference by number is forbidden if any named group is defined and + ONIG_OPTION_CAPTURE_GROUP is not set. * ONIG_SYNTAX_PERL: \g{n}, \g{-n} and \g{name} can also be used. + If a name is defined more than once in Perl syntax, only the left-most + group is checked. - back reference with nest level + backreference with recursion level - level: 0, 1, 2, ... + (n >= 1, level >= 0) - \k (n >= 1) - \k (n >= 1) - \k'n+level' (n >= 1) - \k'n-level' (n >= 1) - \k<-n+level> (n >= 1) - \k<-n-level> (n >= 1) - \k'-n+level' (n >= 1) - \k'-n-level' (n >= 1) + \k \k'n+level' + \k \k'n-level' + \k<-n+level> \k'-n+level' + \k<-n-level> \k'-n-level' - \k - \k - \k'name+level' - \k'name-level' + \k \k'name+level' + \k \k'name-level' - Destinate relative nest level from back reference position. + Destine a group on the recursion level relative to the referring position. ex 1. + /\A(?|.|(?:(?.)\g\k))\z/.match("reee") /\A(?|.|(?:(?.)\g\k))\z/.match("reer") + \k refers to the (?.) on the same recursion level with it. + ex 2. r = Regexp.compile(<<'__REGEXP__'.strip, Regexp::EXTENDED) @@ -354,59 +395,64 @@ syntax: ONIG_SYNTAX_RUBY (default) \g __REGEXP__ - p r.match('fbbbf').captures + p r.match("fbbbf").captures + + +9. Subexp calls ("Tanaka Akira special") + When we say "call a group," it actually means, "re-execute the subexp in + that group." + \g<0> \g'0' call the whole pattern recursively + \g \g'n' (n >= 1) call the nth group + \g<-n> \g'-n' (n >= 1) call the nth group counting backwards from + the calling position + \g<+n> \g'+n' (n >= 1) call the nth group counting forwards from + the calling position + \g \g'name' call the group with the specified name -9. Subexp call ("Tanaka Akira special") + * Left-most recursive calls are not allowed. - \g call by group name - \g'name' call by group name - \g call by group number (n >= 1) - \g'n' call by group number (n >= 1) - \g<0> call the whole pattern recursively - \g'0' call the whole pattern recursively - \g<-n> call by relative group number (n >= 1) - \g'-n' call by relative group number (n >= 1) - \g<+n> call by relative group number (n >= 1) - \g'+n' call by relative group number (n >= 1) + ex. (?a|\gb) => error + (?a|b\gc) => OK - * left-most recursive call is not allowed. - ex. (?a|\gb) => error - (?a|b\gc) => OK + * Calls with a name that is assigned to more than one groups are not + allowed in ONIG_SYNTAX_RUBY. - * Call by group number is forbidden if named group is defined in the pattern - and ONIG_OPTION_CAPTURE_GROUP is not set. + * Call by number is forbidden if any named group is defined and + ONIG_OPTION_CAPTURE_GROUP is not set. - * If the option status of called group is different from calling position - then the group's option is effective. + * The option status of the called group is always effective. - ex. (?-i:\g)(?i:(?a)){0} match to "A" + ex. /(?-i:\g)(?i:(?a)){0}/.match("A") - * ONIG_SYNTAX_PERL: use (?&name), (?n), (?-n), (?+n), (?R) or (?0) instead. + * ONIG_SYNTAX_PERL: + Use (?&name), (?n), (?-n), (?+n), (?R) or (?0) instead of \g<>. + Calls with a name that is assigned to more than one groups are allowed, + and the left-most subexp is used. 10. Captured group - Behavior of the no-named group (...) changes with the following conditions. + Behavior of an unnamed group (...) changes with the following conditions. (But named group is not changed.) case 1. /.../ (named group is not used, no option) - (...) is treated as a captured group. + (...) is treated as a capturing group. case 2. /.../g (named group is not used, 'g' option) - (...) is treated as a no-captured group (?:...). + (...) is treated as a non-capturing group (?:...). case 3. /..(?..)../ (named group is used, no option) - (...) is treated as a no-captured group (?:...). + (...) is treated as a non-capturing group. numbered-backref/call is not allowed. case 4. /..(?..)../G (named group is used, 'G' option) - (...) is treated as a captured group. + (...) is treated as a capturing group. numbered-backref/call is allowed. where @@ -418,14 +464,14 @@ syntax: ONIG_SYNTAX_RUBY (default) ----------------------------- -A-1. Syntax depend options +A-1. Syntax-dependent options + ONIG_SYNTAX_RUBY - (?m): dot(.) match newline + (?m): dot (.) also matches newline + ONIG_SYNTAX_PERL, ONIG_SYNTAX_JAVA and ONIG_SYNTAX_PYTHON - (?s): dot(.) match newline - (?m): ^ match after newline, $ match before newline + (?s): dot (.) also matches newline + (?m): ^ matches after newline, $ matches before newline + ONIG_SYNTAX_PERL (?d), (?l): same as (?u) @@ -439,14 +485,15 @@ A-2. Original extensions + subexp call \g, \g -A-3. Lacked features compare with perl 5.14.0 +A-3. Missing features compared with perl 5.18.0 + \N{name}, \N{U+xxxx}, \N + \l,\u,\L,\U, \C - + \v, \V, \h, \H, \o{xxx} + + \v, \V, \h, \H + (?{code}) + (??{code}) + (?|...) + + (?[]) + (*VERB:ARG) * \Q...\E @@ -458,7 +505,7 @@ A-4. Differences with Japanized GNU regex(version 0.12) of Ruby 1.8 + add character property (\p{property}, \P{property}) + add hexadecimal digit char type (\h, \H) + add look-behind - (?<=fixed-char-length-pattern), (? https://github.com/k-takata/Onigmo Onigmo is a regular expressions library forked from Oniguruma. -Some of new features introduced in Perl 5.10+ can be used. +It focuses to support new expressions like `\K`, `\R`, `(?(cond)yes|no)` +and etc. which are supported in Perl 5.10+. -Some patches are merged from Ruby 2.0.0. +Since Onigmo is used as the default regexp library of Ruby 2.0 or later, +many patches are backported from Ruby 2.x. + +See also the Wiki page: +https://github.com/k-takata/Onigmo/wiki Main New features: @@ -20,26 +25,31 @@ Main New features: onig_search_gpos (for Perl-compatible \G) Encoding: - CP932 + CP932, CP1250, CP1251, CP1252, CP1253, CP1254, CP1257 Syntax: Python New Source Files: - enc/cp932.c CP932 encoding. + enc/jis/props.h JIS character properties data. + enc/jis/props.kwd JIS character properties data. enc/unicode/casefold.h Unicode case folding data. enc/unicode/name2ctype.h Unicode properties data. + enc/windows_*.c CP* encoding - onig.py onig.dll/libonig.so loader. + onigmo.py onigmo.dll/libonigmo.so loader. testpy.py test program. - tool/CaseFolding.py generates casefold.h. + tool/download-ucd.sh downloads Unicode Character Database (UCD). + tool/case-folding.rb generates casefold.h from UCD. + tool/convert-jis-props.sh converts props.kwd to props.h. tool/convert-name2ctype.sh converts name2ctype.kwd to name2ctypes.h. - tool/enc-unicode.rb generates name2ctype.kwd. + tool/enc-unicode.rb generates name2ctype.kwd from UCD. - win32/makedef.py creates onig.def. - win32/onig.rc resource file for onig.dll. + win32/Makefile.mingw Makefile for Win32 (MinGW) + win32/makedef.py creates onigmo.def. + win32/onigmo.rc resource file for onigmo.dll. ToDo: @@ -82,9 +92,10 @@ Install Case 1: Unix and Cygwin platform - 1. ./configure - 2. make - 3. make install + 1. ./autogen.sh (If `configure` doesn't exist.) + 2. ./configure + 3. make + 4. make install * uninstall diff --git a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index fefdb4c..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 094e00a..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 89b241a..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Info.plist b/Support/OgreKit.framework/Versions/A/Resources/Info.plist index 7e74a46..6f51c8c 100644 --- a/Support/OgreKit.framework/Versions/A/Resources/Info.plist +++ b/Support/OgreKit.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18D109 + 21F79 CFBundleDevelopmentRegion English CFBundleExecutable @@ -21,20 +21,24 @@ MacOSX CFBundleVersion - 3.0.0 + 2.1.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10B61 + 13F100 + DTPlatformName + macosx DTPlatformVersion - GM + 12.3 DTSDKBuild - 18B71 + 21E226 DTSDKName - macosx10.14 + macosx12.3 DTXcode - 1010 + 1341 DTXcodeBuild - 10B61 + 13F100 + LSMinimumSystemVersion + 10.12 diff --git a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 93e52c6..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index c82a56e..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 44c7501..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAPFCLocalizable.strings deleted file mode 100644 index bb248be..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAPFCLocalizable.strings and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index 052caa1..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAdvancedFindPanel.nib b/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAdvancedFindPanel.nib deleted file mode 100644 index d7f51ee..0000000 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAdvancedFindPanel.nib and /dev/null differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAPFCLocalizable.strings index 8891793..104f52f 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..51512a3 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..634b5ec Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreTextFinderLocalizable.strings similarity index 99% rename from Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreTextFinderLocalizable.strings index 1dec395..0c9a76f 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/German.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/de.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/InfoPlist.strings similarity index 71% rename from Support/OgreKit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings rename to Support/OgreKit.framework/Versions/A/Resources/en.lproj/InfoPlist.strings index 5d867ab..e6ffc89 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/InfoPlist.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreAPFCLocalizable.strings index bb248be..e6b9d45 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreTextFinderLocalizable.strings index 1ce6721..a8ffdb8 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/en.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAPFCLocalizable.strings similarity index 96% rename from Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAPFCLocalizable.strings index a62abc5..4560f15 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..f17c6e8 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..5939aeb Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreTextFinderLocalizable.strings similarity index 99% rename from Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreTextFinderLocalizable.strings index 91c0388..c05333b 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Spanish.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/es.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAPFCLocalizable.strings index b4b551e..c287b10 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..40f8003 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..a19d38f Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreTextFinderLocalizable.strings similarity index 99% rename from Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreTextFinderLocalizable.strings index 36bd8eb..d8240ef 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/French.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/fr.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAPFCLocalizable.strings index bb248be..e6b9d45 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d906d3 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..f85b1fd Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreTextFinderLocalizable.strings index 79f94b2..f6dc8b7 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Italian.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/it.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAPFCLocalizable.strings index 5b8b939..6190282 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..ea8556c Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..be01c57 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreTextFinderLocalizable.strings index 79ba4a3..b079d1b 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Japanese.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/ja.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAPFCLocalizable.strings index bb248be..e6b9d45 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/English.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d906d3 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..f85b1fd Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreTextFinderLocalizable.strings index 41442fc..d9ffe09 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Dutch.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/nl.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAPFCLocalizable.strings similarity index 95% rename from Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAPFCLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAPFCLocalizable.strings index bb248be..e6b9d45 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreAPFCLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d906d3 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..f85b1fd Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreTextFinderLocalizable.strings index 8c0dfa4..3142ee2 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Portuguese.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/pt.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAPFCLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAPFCLocalizable.strings new file mode 100644 index 0000000..e6b9d45 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAPFCLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d906d3 Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib new file mode 100644 index 0000000..f85b1fd Binary files /dev/null and b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib differ diff --git a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreTextFinderLocalizable.strings b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreTextFinderLocalizable.strings similarity index 98% rename from Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreTextFinderLocalizable.strings rename to Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreTextFinderLocalizable.strings index 7acdc21..7a8b7e0 100644 Binary files a/Support/OgreKit.framework/Versions/A/Resources/Romanian.lproj/OgreTextFinderLocalizable.strings and b/Support/OgreKit.framework/Versions/A/Resources/ro.lproj/OgreTextFinderLocalizable.strings differ diff --git a/Support/OgreKit.framework/Versions/A/_CodeSignature/CodeResources b/Support/OgreKit.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..d97f695 --- /dev/null +++ b/Support/OgreKit.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,1140 @@ + + + + + files + + Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + 5O8k0o/QbO5wttkR3F7rq1fUwqM= + + Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + iADnb8MuG2uF+3GoXhbcFiFYx1s= + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101300.nib + + 5I7W1QFCXtH4Ubh4xpa/+NHM9ds= + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101400.nib + + wEkVP9va+xBpKWBZUAsRPnkN0ys= + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-110000.nib + + N3LJbkMNtgBYLYRmpNZOb7DPXVo= + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects.nib + + XTWCCoTwhFpEVJNr2BnbeQLc0qk= + + Resources/Base.lproj/OgreTextFindProgressSheet.nib + + nlaXqp0YxDcq3RCTbdmqQjf0xIk= + + Resources/Documentation/OgreKit/License.txt + + Z3gRkQkxPVSLMWlaWojEXGzy7CM= + + Resources/Documentation/OgreKit/ReadMe.rtf + + LXh8/++4iZHKpCi7LZaQ7/3D6s0= + + Resources/Documentation/OniGuruma/API + + MQ2f2lPemKzBWgu82FC7WagsvQ8= + + Resources/Documentation/OniGuruma/COPYING + + wcOjUS+YgW92q21Y7Xxv0RisCgk= + + Resources/Documentation/OniGuruma/FAQ + + 1Xi6ACiUOaEWs9meZkEv1/gomZs= + + Resources/Documentation/OniGuruma/HISTORY + + UZrdCD9wnDqMJqD/uawdnBJyIpI= + + Resources/Documentation/OniGuruma/RE + + h0D/B8NdBgsnyhQQS1MRYHMBcY8= + + Resources/Documentation/OniGuruma/README + + bYaLNmaRRuEQLMJ1uCGSAdn1M2U= + + Resources/Info.plist + + 9EfI3lh52D09YgPLxzgI4eAEWqA= + + Resources/de.lproj/OgreAPFCLocalizable.strings + + hash + + d63PyFXPJSN96Re0eNo/8Ee8dH8= + + optional + + + Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + vFh8BLpcqxuLgKjxvJzgoSFmGUA= + + optional + + + Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + aeYr6pKZhi7lp7QRNmkNN6EJ9NU= + + optional + + + Resources/de.lproj/OgreTextFinderLocalizable.strings + + hash + + IuxkXMvjquI3CE6Aqa6Wvmn6bSw= + + optional + + + Resources/en.lproj/InfoPlist.strings + + hash + + 1qgYHUpDW/CdDWiu+u/a8BCTOU8= + + optional + + + Resources/en.lproj/OgreAPFCLocalizable.strings + + hash + + sjW4Rr3RLMkO4oA3PrV/9Y6aVtw= + + optional + + + Resources/en.lproj/OgreTextFinderLocalizable.strings + + hash + + YbHG49ZQ/jDScGiB81hn+WbSfMY= + + optional + + + Resources/es.lproj/OgreAPFCLocalizable.strings + + hash + + a6A1haFAx95Mo6veS719G04Yge0= + + optional + + + Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + lT407b0hz+Jcd8/FpIEfAM7qG7U= + + optional + + + Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + Su0t+Zr0BRJY6M5U/tVHALG3WGk= + + optional + + + Resources/es.lproj/OgreTextFinderLocalizable.strings + + hash + + zpli3M+yRrjy6sIUUlrf5g769vM= + + optional + + + Resources/fr.lproj/OgreAPFCLocalizable.strings + + hash + + 8DzrI1yGRm6uhdUDLJwfEN9jAsY= + + optional + + + Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + qRzbiYK8Kwm5Ts/AKgLt7MX9uXs= + + optional + + + Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + KPkiNOfd8LuzaRaduwfMzJDFTUI= + + optional + + + Resources/fr.lproj/OgreTextFinderLocalizable.strings + + hash + + PkhbRzzW8jODQi9CdTZiZS0fKJI= + + optional + + + Resources/it.lproj/OgreAPFCLocalizable.strings + + hash + + sjW4Rr3RLMkO4oA3PrV/9Y6aVtw= + + optional + + + Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + uMU7Bqu/HYZeYrAEStn+BfA9VD8= + + optional + + + Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + UkEjHsQAs+hXiXGaP/D69zl/w6M= + + optional + + + Resources/it.lproj/OgreTextFinderLocalizable.strings + + hash + + CKjeD3coRw2fKVOTcKwFp5JuzTE= + + optional + + + Resources/ja.lproj/OgreAPFCLocalizable.strings + + hash + + /S6auHxa5Qc5wUf+i3t6vQfP/JI= + + optional + + + Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + SWsWfemU9UYmmb0zNprHRYtTGho= + + optional + + + Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + tuIdDRjI8YISlAFlsvETjPs2c+8= + + optional + + + Resources/ja.lproj/OgreTextFinderLocalizable.strings + + hash + + s3aXMfaC/FZI0pIoYn1Ehe34eSw= + + optional + + + Resources/nl.lproj/OgreAPFCLocalizable.strings + + hash + + sjW4Rr3RLMkO4oA3PrV/9Y6aVtw= + + optional + + + Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + uMU7Bqu/HYZeYrAEStn+BfA9VD8= + + optional + + + Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + UkEjHsQAs+hXiXGaP/D69zl/w6M= + + optional + + + Resources/nl.lproj/OgreTextFinderLocalizable.strings + + hash + + rHrmEpYjdL+KijMNlh1/8QUPnSw= + + optional + + + Resources/pt.lproj/OgreAPFCLocalizable.strings + + hash + + sjW4Rr3RLMkO4oA3PrV/9Y6aVtw= + + optional + + + Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + uMU7Bqu/HYZeYrAEStn+BfA9VD8= + + optional + + + Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + UkEjHsQAs+hXiXGaP/D69zl/w6M= + + optional + + + Resources/pt.lproj/OgreTextFinderLocalizable.strings + + hash + + 7HSjUZeSbNsu3nBpqxMY/Tw2e30= + + optional + + + Resources/ro.lproj/OgreAPFCLocalizable.strings + + hash + + sjW4Rr3RLMkO4oA3PrV/9Y6aVtw= + + optional + + + Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash + + uMU7Bqu/HYZeYrAEStn+BfA9VD8= + + optional + + + Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash + + UkEjHsQAs+hXiXGaP/D69zl/w6M= + + optional + + + Resources/ro.lproj/OgreTextFinderLocalizable.strings + + hash + + Uf1aIZ7mezAJv0gxJasMxJ9Veyk= + + optional + + + + files2 + + Headers/NSString_OgreKitAdditions.h + + hash2 + + ou3bnkuksdrR0Xv6NIE3AHEfizccOI6Obvy118JjxQs= + + + Headers/OGMutableString.h + + hash2 + + hRPcq9/1etEQvjLcyPEG+cINT0KWUDd5D6YVGHgpK4g= + + + Headers/OGRegularExpression.h + + hash2 + + Gy8RyrwsIL5PQwKMZxnjH8boWJYd6Sn98kWqCOUHbsc= + + + Headers/OGRegularExpressionCapture.h + + hash2 + + DkleLRS4olNUMEDA4V3+qugE3LsXYFeCSYGhatka+pw= + + + Headers/OGRegularExpressionEnumerator.h + + hash2 + + s1s/1P3/2ya0ni5t5/Ul3p40fFOAios3LGMLUvFcjnQ= + + + Headers/OGRegularExpressionFormatter.h + + hash2 + + TVXWwwuQKXMu9/KdF2W7a04BM9//lAZT43oUSn/TaE4= + + + Headers/OGRegularExpressionMatch.h + + hash2 + + jR7PHekj8d+TQuXDcdJ+w4AaTRcmQyHHkZK7CxtzT/E= + + + Headers/OGReplaceExpression.h + + hash2 + + clluJebgeFQBNoTpCeOb/lgr1+6cOpsmZ4macn1jbD4= + + + Headers/OGString.h + + hash2 + + tg/VJt58gItBrkE8skEG0HUwSHmcfTo6L3UOqqoqnow= + + + Headers/OgreFindPanelController.h + + hash2 + + ybBScqlJjjz3KXgoF4kJ6bPLjtwH5csNmF/JKiAYn9s= + + + Headers/OgreFindResultBranch.h + + hash2 + + 0VOOTGCl+c3gAikKowZ8qhomP0euwqRn93YWr/he9Yw= + + + Headers/OgreFindResultLeaf.h + + hash2 + + lDl8ahUK7didn/YkTE7eObUFZGJdKD8sCVtkkbBWxxk= + + + Headers/OgreFindResultWindowController.h + + hash2 + + 5v5Wrz4cltLPXy7+ENd9R58+fWFuFPXzjlPMQD8+Kt8= + + + Headers/OgreKit.h + + hash2 + + b8wjBeWo2RRlhoHatdv0J0NAWfUZA5G05pnn/sQ86N0= + + + Headers/OgreOutlineColumn.h + + hash2 + + NekvH898mcvYIprmDxCL16OT1xv22D0Nh9/m5CUrVdk= + + + Headers/OgreOutlineView.h + + hash2 + + QAlck/8f3Eh3RC1yLDyn0Qb9oSOSwAJ+7GRRH7wV4aI= + + + Headers/OgreTableColumn.h + + hash2 + + 1/KAMQxC04G2tJlLCy6n/PGORXlSDlyzRHL+vWJZ/3M= + + + Headers/OgreTableView.h + + hash2 + + fLBg89J0Mp2nhIjP0LL+oMGeiyB0hyfAwAc3kqXNjzs= + + + Headers/OgreTextFindBranch.h + + hash2 + + vaYrlAdrlagBPfSyFeA9TY/f94P6k3oZeLIbjhhyw2k= + + + Headers/OgreTextFindComponent.h + + hash2 + + AZZXArL8vE+1i2gK8OrRePoXcmb4CUqJ/u+OJyRx8/Y= + + + Headers/OgreTextFindComponentEnumerator.h + + hash2 + + UUpIc5Csj/I7zd75OXP/wV9jmlFaXMhbL9UVvKIDWUw= + + + Headers/OgreTextFindLeaf.h + + hash2 + + hE9ENCJ1wTpDdxHn5nbCV4gLWXIjGEU51dQ60W61lZQ= + + + Headers/OgreTextFindProgressDelegate.h + + hash2 + + 3yVbDkkBuSM9KrlBv6MhLGajFwKneH878GNw96YjbAQ= + + + Headers/OgreTextFindProgressSheet.h + + hash2 + + Wqcysck4TFvgRb+Dmrdkw/1/2XLQdypyYjrZVFLSO5w= + + + Headers/OgreTextFindResult.h + + hash2 + + lTsSl9IQ7QKGGsfgs+qgRuPZN0feKiwHwNwImYfhv2A= + + + Headers/OgreTextFindReverseComponentEnumerator.h + + hash2 + + a5c2WizglxArgAAd1UYk6g05gjmvXOZIv8mYFvrRxhc= + + + Headers/OgreTextFindThread.h + + hash2 + + Dx3iUd9/2I1EVlGJS2IVGD0/gdt9/xGI/0pUKBORQ4E= + + + Headers/OgreTextFinder.h + + hash2 + + qNQV/zsehm8y9LcjAWx7zj8cIfdiqRgKydw2bT//H3I= + + + Headers/OgreTextView.h + + hash2 + + 1mXmzuiLTzdmYowq1CodA4V5oIQ5YjU+Z0Epxu0Pm0g= + + + Headers/OgreView.h + + hash2 + + stSl7tB6GlJmhd7Zi3/fxoTSLbi36pILc+vRjMnXW1E= + + + Headers/onigmo.h + + hash2 + + QimBU4tuoX0Q/jPhkVVnPEB1kbfU0qUdlZ7onJy1m1c= + + + Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + dzXcK1KhcgU3QjX0ubSIbpg762eHNu2fQHeKvYBRAL8= + + + Resources/Base.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + yRzdeJ3Z711TMhE9dWqDWD+fMWJmoSpTHdYJcKHZzXw= + + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101300.nib + + hash2 + + WCU3dymdOAAB7ccHUaRha2VM/RSExhlnfD8rSA82dwY= + + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-101400.nib + + hash2 + + IAk4MOaTgfSrkISTNCqtP8oRtrwCz7/jwICBSGzciwk= + + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects-110000.nib + + hash2 + + 34DPU6hEuaml0foYFJJeEmTZXj1mjYpJwQ6W+ffOMLI= + + + Resources/Base.lproj/OgreFindResultWindow.nib/keyedobjects.nib + + hash2 + + PfN1TnpoRb7y02YBL5jhFqYTfHZqhHjsQvmqAC5VhM4= + + + Resources/Base.lproj/OgreTextFindProgressSheet.nib + + hash2 + + N5P3bV9WTlrrP+k1i+rbMgOnLeYRC9MyWHma9QgDgyc= + + + Resources/Documentation/OgreKit/License.txt + + hash2 + + kW+z0Afswa9ile330sEglLQnJwV9xStwr2X/Xk3NyNE= + + + Resources/Documentation/OgreKit/ReadMe.rtf + + hash2 + + r1TbUeJCiyNjezWggqAZ0bAwoY7Yomatk4Of7GUENbI= + + + Resources/Documentation/OniGuruma/API + + hash2 + + 9GRC34+Dyft2SAuHzMGZWs/sH6FLkF0sQchulFxniPQ= + + + Resources/Documentation/OniGuruma/COPYING + + hash2 + + PRV8FgrzlNq0orEX8Jvs4mRPnROWXfr9+6d/dCOprsc= + + + Resources/Documentation/OniGuruma/FAQ + + hash2 + + noX/STN14r3jdKMhe30vblQLVYb6We6rVpqEs/MyC1E= + + + Resources/Documentation/OniGuruma/HISTORY + + hash2 + + Ey0ybuz1o+jsp0ECs8PEvrl7uDBdQ30Vt8jAw3xc+GM= + + + Resources/Documentation/OniGuruma/RE + + hash2 + + ex430XQStV1wV7Rx7VQCvOT3dohxN9kcVNxo/3Xbvz0= + + + Resources/Documentation/OniGuruma/README + + hash2 + + aG8HiT/73Atdltmb/Mrjwdu4eiabkIGCuhSQurIB4kY= + + + Resources/Info.plist + + hash2 + + 5KE7ywwTz83nb2VwrWjQeKxDeZVGZkmrKu8+9XQ5mAc= + + + Resources/de.lproj/OgreAPFCLocalizable.strings + + hash2 + + +J5Mmm2z46BIEHzUW9pXGq0BeuzCJh2UG4ESqGX8BXQ= + + optional + + + Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + aIshsxnOsmebcfEG3rN/r2lB87feSl3xQb/2gaj5xZA= + + optional + + + Resources/de.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + D6VqPumDwpOWFnLoTX1ib5iMTxjIlvCJZT99uzTcZm4= + + optional + + + Resources/de.lproj/OgreTextFinderLocalizable.strings + + hash2 + + f7yvwZsP4Bqqw7Sl7jBkU3Gef48rAgF4qPEjHulm5BM= + + optional + + + Resources/en.lproj/InfoPlist.strings + + hash2 + + GEdh2c1LfuGhcVgWdjGNAHtVyMHpyW8zPy7ohyV5c9w= + + optional + + + Resources/en.lproj/OgreAPFCLocalizable.strings + + hash2 + + njBlyEJRD6FU1G3Tzu1+cRmX2PwtV/uPZc/m/fwRe5g= + + optional + + + Resources/en.lproj/OgreTextFinderLocalizable.strings + + hash2 + + 16gJWhxKM1wYayqVyF/s2NQQDcjfWGD9F1oDCWoUtJI= + + optional + + + Resources/es.lproj/OgreAPFCLocalizable.strings + + hash2 + + D1z4STNLLjIRSrrPFAQULvXEjj8vSf6pUbu59bz/Nh4= + + optional + + + Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + Wq9XEHh8dbllQwnjfjbcafrDCI9eSq9AH7nqoWMFF2E= + + optional + + + Resources/es.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + gD9c7rjXJvILIjhsLPgpyvnFlZ4GJPb13eQZE3jTe8w= + + optional + + + Resources/es.lproj/OgreTextFinderLocalizable.strings + + hash2 + + dN92YAVMB1q89+sZEpKJFBNmpUXelbeciMCm2FERfic= + + optional + + + Resources/fr.lproj/OgreAPFCLocalizable.strings + + hash2 + + VnbdcTFlTlXJqlOyHrIDzE7ksJkIZdQgFu5UJp+3O6k= + + optional + + + Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + mcz9qIp63tQPE9zkSODKDjdyJ2NF8c+dYBx/OSgAvoA= + + optional + + + Resources/fr.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + dDBAOMZGo0I3YqzMUXV1gAcdEXdmFi9kRRKWmFxFrog= + + optional + + + Resources/fr.lproj/OgreTextFinderLocalizable.strings + + hash2 + + fDrViuFAxChJPMzRfmY8b0pjG4LTksiBef2Ml4WJSl0= + + optional + + + Resources/it.lproj/OgreAPFCLocalizable.strings + + hash2 + + njBlyEJRD6FU1G3Tzu1+cRmX2PwtV/uPZc/m/fwRe5g= + + optional + + + Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + n0ew9Y2aqWAfQt7EV07G3DoKTUtxogX8NImaO0uQE6Q= + + optional + + + Resources/it.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + pk8ShDr/3sPYVN+JVYSOtTINq+EWoDXVMPb7FRC/u/w= + + optional + + + Resources/it.lproj/OgreTextFinderLocalizable.strings + + hash2 + + YqwP0ToNKiT1BV8GHFEYrsz3UTXYb6zC4lQ0cL5Kirs= + + optional + + + Resources/ja.lproj/OgreAPFCLocalizable.strings + + hash2 + + J9MVaSkDQKB6fbo0LjO0uSEDyajUMMOCb1VJy4F5Js0= + + optional + + + Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + cQPZAcCBsZ/UEFKMY1IJLrr1Mor00Z7QQxROEbFW27I= + + optional + + + Resources/ja.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + 96ev2a+xRNyMqxb4mEZz+mc4Mt/21IkDT1DJ7dpxGqM= + + optional + + + Resources/ja.lproj/OgreTextFinderLocalizable.strings + + hash2 + + a+Pz/RwkhkN0aL9BfbiS2qgDP7epjSom+BNldVYijnA= + + optional + + + Resources/nl.lproj/OgreAPFCLocalizable.strings + + hash2 + + njBlyEJRD6FU1G3Tzu1+cRmX2PwtV/uPZc/m/fwRe5g= + + optional + + + Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + n0ew9Y2aqWAfQt7EV07G3DoKTUtxogX8NImaO0uQE6Q= + + optional + + + Resources/nl.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + pk8ShDr/3sPYVN+JVYSOtTINq+EWoDXVMPb7FRC/u/w= + + optional + + + Resources/nl.lproj/OgreTextFinderLocalizable.strings + + hash2 + + bhKsIApZEJKh1Tv+ft5zCrVqPTdS4XzGPN9Nr7l5mHc= + + optional + + + Resources/pt.lproj/OgreAPFCLocalizable.strings + + hash2 + + njBlyEJRD6FU1G3Tzu1+cRmX2PwtV/uPZc/m/fwRe5g= + + optional + + + Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + n0ew9Y2aqWAfQt7EV07G3DoKTUtxogX8NImaO0uQE6Q= + + optional + + + Resources/pt.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + pk8ShDr/3sPYVN+JVYSOtTINq+EWoDXVMPb7FRC/u/w= + + optional + + + Resources/pt.lproj/OgreTextFinderLocalizable.strings + + hash2 + + OZNA2ch//5CHRc/jyaIzYzMo/oZ/UJq3IO/ZL/HPUu0= + + optional + + + Resources/ro.lproj/OgreAPFCLocalizable.strings + + hash2 + + njBlyEJRD6FU1G3Tzu1+cRmX2PwtV/uPZc/m/fwRe5g= + + optional + + + Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects-101300.nib + + hash2 + + n0ew9Y2aqWAfQt7EV07G3DoKTUtxogX8NImaO0uQE6Q= + + optional + + + Resources/ro.lproj/OgreAdvancedFindPanel.nib/keyedobjects.nib + + hash2 + + pk8ShDr/3sPYVN+JVYSOtTINq+EWoDXVMPb7FRC/u/w= + + optional + + + Resources/ro.lproj/OgreTextFinderLocalizable.strings + + hash2 + + O95ybdm/U80MjypPQ2Rewg5dWtEJBBQfKhuE5cOi1Z4= + + optional + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/Support/Sparkle.framework/Autoupdate b/Support/Sparkle.framework/Autoupdate new file mode 120000 index 0000000..1a4fc02 --- /dev/null +++ b/Support/Sparkle.framework/Autoupdate @@ -0,0 +1 @@ +Versions/Current/Autoupdate \ No newline at end of file diff --git a/Support/Sparkle.framework/Updater.app b/Support/Sparkle.framework/Updater.app new file mode 120000 index 0000000..18f3223 --- /dev/null +++ b/Support/Sparkle.framework/Updater.app @@ -0,0 +1 @@ +Versions/Current/Updater.app \ No newline at end of file diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloader.h b/Support/Sparkle.framework/Versions/A/Headers/SPUDownloader.h deleted file mode 100644 index 5eee9bd..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloader.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// SPUDownloader.h -// Downloader -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SPUDownloaderProtocol.h" - -@protocol SPUDownloaderDelegate; - -// This object implements the protocol which we have defined. It provides the actual behavior for the service. It is 'exported' by the service to make it available to the process hosting the service over an NSXPCConnection. -@interface SPUDownloader : NSObject - -// Due to XPC remote object reasons, this delegate is strongly referenced -// Invoke cleanup when done with this instance -- (instancetype)initWithDelegate:(id )delegate; - -@end diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h b/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h deleted file mode 100644 index 76e7e75..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// SPUDownloaderDelegate.h -// Sparkle -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -@class SPUDownloadData; - -@protocol SPUDownloaderDelegate - -// This is only invoked for persistent downloads -- (void)downloaderDidSetDestinationName:(NSString *)destinationName temporaryDirectory:(NSString *)temporaryDirectory; - -// Under rare cases, this may be called more than once, in which case the current progress should be reset back to 0 -// This is only invoked for persistent downloads -- (void)downloaderDidReceiveExpectedContentLength:(int64_t)expectedContentLength; - -// This is only invoked for persistent downloads -- (void)downloaderDidReceiveDataOfLength:(uint64_t)length; - -// downloadData is nil if this is a persisent download, otherwise it's non-nil if it's a temporary download -- (void)downloaderDidFinishWithTemporaryDownloadData:(SPUDownloadData * _Nullable)downloadData; - -- (void)downloaderDidFailWithError:(NSError *)error; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h b/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h deleted file mode 100644 index 36302df..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// SPUDownloaderDeprecated.h -// Sparkle -// -// Created by Deadpikle on 12/20/17. -// Copyright © 2017 Sparkle Project. All rights reserved. -// - -#import "SPUDownloader.h" - -@interface SPUDownloaderDeprecated : SPUDownloader - -@end diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h b/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h deleted file mode 100644 index ebe477f..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// SPUDownloaderProtocol.h -// PersistentDownloader -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -@class SPUURLRequest; - -// The protocol that this service will vend as its API. This header file will also need to be visible to the process hosting the service. -@protocol SPUDownloaderProtocol - -- (void)startPersistentDownloadWithRequest:(SPUURLRequest *)request bundleIdentifier:(NSString *)bundleIdentifier desiredFilename:(NSString *)desiredFilename; - -- (void)startTemporaryDownloadWithRequest:(SPUURLRequest *)request; - -- (void)downloadDidFinish; - -- (void)cleanup; - -- (void)cancel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h b/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h deleted file mode 100644 index 4bde75a..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SPUDownloaderSession.h -// Sparkle -// -// Created by Deadpikle on 12/20/17. -// Copyright © 2017 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SPUDownloader.h" -#import "SPUDownloaderProtocol.h" - -NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0) -@interface SPUDownloaderSession : SPUDownloader - -@end diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h b/Support/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h deleted file mode 100644 index 6949614..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// SPUURLRequest.h -// Sparkle -// -// Created by Mayur Pawashe on 5/19/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -// A class that wraps NSURLRequest and implements NSSecureCoding -// This class exists because NSURLRequest did not support NSSecureCoding in macOS 10.8 -// I have not verified if NSURLRequest in 10.9 implements NSSecureCoding or not -@interface SPUURLRequest : NSObject - -// Creates a new URL request -// Only these properties are currently tracked: -// * URL -// * Cache policy -// * Timeout interval -// * HTTP header fields -// * networkServiceType -+ (instancetype)URLRequestWithRequest:(NSURLRequest *)request; - -@property (nonatomic, readonly) NSURLRequest *request; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/Support/Sparkle.framework/Versions/A/Headers/SUAppcast.h deleted file mode 100644 index 34276b7..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUAppcast.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// SUAppcast.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUAPPCAST_H -#define SUAPPCAST_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -NS_ASSUME_NONNULL_BEGIN - -@class SUAppcastItem; -SU_EXPORT @interface SUAppcast : NSObject - -@property (copy, nullable) NSString *userAgentString; -@property (copy, nullable) NSDictionary *httpHeaders; - -- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err; -- (SUAppcast *)copyWithoutDeltaUpdates; - -@property (readonly, copy, nullable) NSArray *items; -@end - -NS_ASSUME_NONNULL_END - -#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/Support/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h deleted file mode 100644 index 1d8b1d0..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// SUAppcastItem.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUAPPCASTITEM_H -#define SUAPPCASTITEM_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" -@class SUSignatures; - -SU_EXPORT @interface SUAppcastItem : NSObject -@property (copy, readonly) NSString *title; -@property (copy, readonly) NSString *dateString; -@property (copy, readonly) NSDate *date; -@property (copy, readonly) NSString *itemDescription; -@property (strong, readonly) NSURL *releaseNotesURL; -@property (strong, readonly) SUSignatures *signatures; -@property (copy, readonly) NSString *minimumSystemVersion; -@property (copy, readonly) NSString *maximumSystemVersion; -@property (strong, readonly) NSURL *fileURL; -@property (nonatomic, readonly) uint64_t contentLength; -@property (copy, readonly) NSString *versionString; -@property (copy, readonly) NSString *osString; -@property (copy, readonly) NSString *displayVersionString; -@property (copy, readonly) NSDictionary *deltaUpdates; -@property (strong, readonly) NSURL *infoURL; -@property (copy, readonly) NSNumber* phasedRolloutInterval; - -// Initializes with data from a dictionary provided by the RSS class. -- (instancetype)initWithDictionary:(NSDictionary *)dict; -- (instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString **)error; - -@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate; -@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate; -@property (getter=isMacOsUpdate, readonly) BOOL macOsUpdate; -@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate; - -// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. -@property (readonly, copy) NSDictionary *propertiesDictionary; - -- (NSURL *)infoURL; - -@end - -#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h b/Support/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h deleted file mode 100644 index 3756a37..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// SUCodeSigningVerifier.h -// Sparkle -// -// Created by Andy Matuschak on 7/5/12. -// -// - -#ifndef SUCODESIGNINGVERIFIER_H -#define SUCODESIGNINGVERIFIER_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -SU_EXPORT @interface SUCodeSigningVerifier : NSObject -+ (BOOL)codeSignatureAtBundleURL:(NSURL *)oldBundlePath matchesSignatureAtBundleURL:(NSURL *)newBundlePath error:(NSError **)error; -+ (BOOL)codeSignatureIsValidAtBundleURL:(NSURL *)bundlePath error:(NSError **)error; -+ (BOOL)bundleAtURLIsCodeSigned:(NSURL *)bundlePath; -+ (NSDictionary *)codeSignatureInfoAtBundleURL:(NSURL *)bundlePath; -@end - -#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUErrors.h b/Support/Sparkle.framework/Versions/A/Headers/SUErrors.h deleted file mode 100644 index 4b160c4..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUErrors.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// SUErrors.h -// Sparkle -// -// Created by C.W. Betts on 10/13/14. -// Copyright (c) 2014 Sparkle Project. All rights reserved. -// - -#ifndef SUERRORS_H -#define SUERRORS_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -/** - * Error domain used by Sparkle - */ -SU_EXPORT extern NSString *const SUSparkleErrorDomain; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wc++98-compat" -typedef NS_ENUM(OSStatus, SUError) { - // Appcast phase errors. - SUAppcastParseError = 1000, - SUNoUpdateError = 1001, - SUAppcastError = 1002, - SURunningFromDiskImageError = 1003, - SURunningTranslocated = 1004, - - // Download phase errors. - SUTemporaryDirectoryError = 2000, - SUDownloadError = 2001, - - // Extraction phase errors. - SUUnarchivingError = 3000, - SUSignatureError = 3001, - - // Installation phase errors. - SUFileCopyFailure = 4000, - SUAuthenticationFailure = 4001, - SUMissingUpdateError = 4002, - SUMissingInstallerToolError = 4003, - SURelaunchError = 4004, - SUInstallationError = 4005, - SUDowngradeError = 4006, - SUInstallationCancelledError = 4007, - - // System phase errors - SUSystemPowerOffError = 5000 -}; -#pragma clang diagnostic pop - -#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h b/Support/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h deleted file mode 100644 index ed11921..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// SUStandardVersionComparator.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUSTANDARDVERSIONCOMPARATOR_H -#define SUSTANDARDVERSIONCOMPARATOR_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" -#import "SUVersionComparisonProtocol.h" - -NS_ASSUME_NONNULL_BEGIN - -/*! - Sparkle's default version comparator. - - This comparator is adapted from MacPAD, by Kevin Ballard. - It's "dumb" in that it does essentially string comparison, - in components split by character type. -*/ -SU_EXPORT @interface SUStandardVersionComparator : NSObject - -/*! - Initializes a new instance of the standard version comparator. - */ -- (instancetype)init; - -/*! - Returns a singleton instance of the comparator. - - It is usually preferred to alloc/init new a comparator instead. -*/ -+ (SUStandardVersionComparator *)defaultComparator; - -/*! - Compares version strings through textual analysis. - - See the implementation for more details. -*/ -- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; -@end - -NS_ASSUME_NONNULL_END -#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h b/Support/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h deleted file mode 100644 index 980efb3..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// SUVersionDisplayProtocol.h -// EyeTV -// -// Created by Uli Kusterer on 08.12.09. -// Copyright 2009 Elgato Systems GmbH. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -/*! - Applies special display formatting to version numbers. -*/ -@protocol SUVersionDisplay - -/*! - Formats two version strings. - - Both versions are provided so that important distinguishing information - can be displayed while also leaving out unnecessary/confusing parts. -*/ -- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB; - -@end diff --git a/Support/Sparkle.framework/Versions/A/Headers/Sparkle.h b/Support/Sparkle.framework/Versions/A/Headers/Sparkle.h deleted file mode 100644 index 5ae2e6a..0000000 --- a/Support/Sparkle.framework/Versions/A/Headers/Sparkle.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// Sparkle.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SPARKLE_H -#define SPARKLE_H - -// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless -// there are name-space collisions) so we can list all of them to start with: - -#import "SUAppcast.h" -#import "SUAppcastItem.h" -#import "SUStandardVersionComparator.h" -#import "SUUpdater.h" -#import "SUUpdaterDelegate.h" -#import "SUVersionComparisonProtocol.h" -#import "SUVersionDisplayProtocol.h" -#import "SUErrors.h" - -#import "SPUDownloader.h" -#import "SPUDownloaderDelegate.h" -#import "SPUDownloaderDeprecated.h" -#import "SPUDownloadData.h" -#import "SPUDownloaderProtocol.h" -#import "SPUDownloaderSession.h" -#import "SPUURLRequest.h" -#import "SUCodeSigningVerifier.h" - -#endif diff --git a/Support/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h b/Support/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h deleted file mode 100644 index a52bf5a..0000000 --- a/Support/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// SUUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol SUUnarchiverProtocol; - -@interface SUUnarchiver : NSObject - -+ (nullable id )unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate deleted file mode 100755 index 9839397..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop deleted file mode 100755 index 77c447e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns deleted file mode 100644 index 7f2a571..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib deleted file mode 100644 index a036a6d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings deleted file mode 100644 index 13aa656..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings deleted file mode 100644 index 84d8ce6..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings deleted file mode 100644 index b38c768..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings deleted file mode 100644 index 87c4d56..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings deleted file mode 100644 index 94e39df..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings deleted file mode 100644 index 7b98418..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings deleted file mode 100644 index 2932703..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings deleted file mode 100644 index adc988a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings deleted file mode 100644 index 773f7c9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings deleted file mode 100644 index 2fbbd66..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings deleted file mode 100644 index ce63fde..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings deleted file mode 100644 index 37efe8c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings deleted file mode 100644 index a4400b3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings deleted file mode 100644 index 5f6ace2..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings deleted file mode 100644 index 7ead710..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings deleted file mode 100644 index 25e7f1d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings deleted file mode 100644 index fc12fbe..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings deleted file mode 100644 index 9c01a9f..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings deleted file mode 100644 index 2b64de9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings deleted file mode 100644 index a82d40d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings deleted file mode 100644 index 2bbed06..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings deleted file mode 100644 index 23da2b1..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings deleted file mode 100644 index cf84d35..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings deleted file mode 100644 index 128a031..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings deleted file mode 100644 index 2705369..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings deleted file mode 100644 index 32548dc..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings deleted file mode 100644 index afe75f6..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings deleted file mode 100644 index 59608b2..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings deleted file mode 100644 index 8d0c930..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings deleted file mode 100644 index 2f366da..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings deleted file mode 100644 index 0e28943..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings deleted file mode 100644 index a826f16..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/DarkAqua.css b/Support/Sparkle.framework/Versions/A/Resources/DarkAqua.css deleted file mode 100644 index a41e0f2..0000000 --- a/Support/Sparkle.framework/Versions/A/Resources/DarkAqua.css +++ /dev/null @@ -1,9 +0,0 @@ -html { - color: #FFFFFFD8; -} -:link { - color: #419CFF; -} -:link:active { - color: #FF1919; -} diff --git a/Support/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist b/Support/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist deleted file mode 100644 index 1f75b24..0000000 --- a/Support/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist +++ /dev/null @@ -1,314 +0,0 @@ - - - - - ADP2,1 - Developer Transition Kit - iMac1,1 - iMac G3 (Rev A-D) - iMac4,1 - iMac (Core Duo) - iMac4,2 - iMac for Education (17 inch, Core Duo) - iMac5,1 - iMac (Core 2 Duo, 17 or 20 inch, SuperDrive) - iMac5,2 - iMac (Core 2 Duo, 17 inch, Combo Drive) - iMac6,1 - iMac (Core 2 Duo, 24 inch, SuperDrive) - iMac7,1 - iMac Intel Core 2 Duo (aluminum enclosure) - iMac8,1 - iMac (Core 2 Duo, 20 or 24 inch, Early 2008 ) - iMac9,1 - iMac (Core 2 Duo, 20 or 24 inch, Early or Mid 2009 ) - iMac10,1 - iMac (Core 2 Duo, 21.5 or 27 inch, Late 2009 ) - iMac11,1 - iMac (Core i5 or i7, 27 inch Late 2009) - iMac11,2 - 21.5" iMac (mid 2010) - iMac11,3 - iMac (Core i5 or i7, 27 inch Mid 2010) - iMac12,1 - iMac (Core i3 or i5 or i7, 21.5 inch Mid 2010 or Late 2011) - iMac12,2 - iMac (Core i5 or i7, 27 inch Mid 2011) - iMac13,1 - iMac (Core i3 or i5 or i7, 21.5 inch Late 2012 or Early 2013) - iMac13,2 - iMac (Core i5 or i7, 27 inch Late 2012) - iMac14,1 - iMac (Core i5, 21.5 inch Late 2013) - iMac14,2 - iMac (Core i5 or i7, 27 inch Late 2013) - iMac14,3 - iMac (Core i5 or i7, 21.5 inch Late 2013) - iMac14,4 - iMac (Core i5, 21.5 inch Mid 2014) - iMac15,1 - iMac (Retina 5K Core i5 or i7, 27 inch Late 2014 or Mid 2015) - iMac16,1 - iMac (Core i5, 21,5 inch Late 2015) - iMac16,2 - iMac (Retina 4K Core i5 or i7, 21.5 inch Late 2015) - iMac17,1 - iMac (Retina 5K Core i5 or i7, 27 inch Late 2015) - MacBook1,1 - MacBook (Core Duo) - MacBook2,1 - MacBook (Core 2 Duo) - MacBook4,1 - MacBook (Core 2 Duo Feb 2008) - MacBook5,1 - MacBook (Core 2 Duo, Late 2008, Unibody) - MacBook5,2 - MacBook (Core 2 Duo, Early 2009, White) - MacBook6,1 - MacBook (Core 2 Duo, Late 2009, Unibody) - MacBook7,1 - MacBook (Core 2 Duo, Mid 2010, White) - MacBook8,1 - MacBook (Core M, 12 inch, Early 2015) - MacBookAir1,1 - MacBook Air (Core 2 Duo, 13 inch, Early 2008) - MacBookAir2,1 - MacBook Air (Core 2 Duo, 13 inch, Mid 2009) - MacBookAir3,1 - MacBook Air (Core 2 Duo, 11 inch, Late 2010) - MacBookAir3,2 - MacBook Air (Core 2 Duo, 13 inch, Late 2010) - MacBookAir4,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2011) - MacBookAir4,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2011) - MacBookAir5,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2012) - MacBookAir5,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2012) - MacBookAir6,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2013 or Early 2014) - MacBookAir6,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2013 or Early 2014) - MacBookAir7,1 - MacBook Air (Core i5 or i7, 11 inch, Early 2015) - MacBookAir7,2 - MacBook Air (Core i5 or i7, 13 inch, Early 2015) - MacBookPro1,1 - MacBook Pro Core Duo (15-inch) - MacBookPro1,2 - MacBook Pro Core Duo (17-inch) - MacBookPro2,1 - MacBook Pro Core 2 Duo (17-inch) - MacBookPro2,2 - MacBook Pro Core 2 Duo (15-inch) - MacBookPro3,1 - MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo) - MacBookPro3,2 - MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo) - MacBookPro4,1 - MacBook Pro (Core 2 Duo Feb 2008) - MacBookPro5,1 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,2 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,3 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,4 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,5 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro6,1 - MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) - MacBookPro6,2 - MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) - MacBookPro7,1 - MacBook Pro Intel Core 2 Duo (mid 2010) - MacBookPro8,1 - MacBook Pro Intel Core i5, Intel Core i7, 13" (early 2011) - MacBookPro8,2 - MacBook Pro Intel Core i7, 15" (early 2011) - MacBookPro8,3 - MacBook Pro Intel Core i7, 17" (early 2011) - MacBookPro9,1 - MacBook Pro (15-inch, Mid 2012) - MacBookPro9,2 - MacBook Pro (13-inch, Mid 2012) - MacBookPro10,1 - MacBook Pro (Retina, Mid 2012) - MacBookPro10,2 - MacBook Pro (Retina, 13-inch, Late 2012) - MacBookPro11,1 - MacBook Pro (Retina, 13-inch, Late 2013) - MacBookPro11,2 - MacBook Pro (Retina, 15-inch, Late 2013) - MacBookPro11,3 - MacBook Pro (Retina, 15-inch, Late 2013) - MacbookPro11,4 - MacBook Pro (Retina, 15-inch, Mid 2015) - MacbookPro11,5 - MacBook Pro (Retina, 15-inch, Mid 2015) - MacbookPro12,1  - MacBook Pro (Retina, 13-inch, Early 2015) - Macmini1,1 - Mac Mini (Core Solo/Duo) - Macmini2,1 - Mac mini Intel Core - Macmini3,1 - Mac mini Intel Core - Macmini4,1 - Mac mini Intel Core (Mid 2010) - Macmini5,1 - Mac mini (Core i5, Mid 2011) - Macmini5,2 - Mac mini (Core i5 or Core i7, Mid 2011) - Macmini5,3 - Mac mini (Core i7, Server, Mid 2011) - Macmini6,1 - Mac mini (Core i5, Late 2012) - Macmini6,2 - Mac mini (Core i7, Normal or Server, Late 2012) - Macmini7,1 - Mac mini (Core i5 or Core i7, Late 2014) - MacPro1,1,Quad - Mac Pro - MacPro1,1 - Mac Pro (four-core) - MacPro2,1 - Mac Pro (eight-core) - MacPro3,1 - Mac Pro (January 2008 4- or 8- core "Harpertown") - MacPro4,1 - Mac Pro (March 2009) - MacPro5,1 - Mac Pro (2010 or 2012) - MacPro6,1 - Mac Pro (Late 2013) - PowerBook1,1 - PowerBook G3 - PowerBook2,1 - iBook G3 - PowerBook2,2 - iBook G3 (FireWire) - PowerBook2,3 - iBook G3 - PowerBook2,4 - iBook G3 - PowerBook3,1 - PowerBook G3 (FireWire) - PowerBook3,2 - PowerBook G4 - PowerBook3,3 - PowerBook G4 (Gigabit Ethernet) - PowerBook3,4 - PowerBook G4 (DVI) - PowerBook3,5 - PowerBook G4 (1GHz / 867MHz) - PowerBook4,1 - iBook G3 (Dual USB, Late 2001) - PowerBook4,2 - iBook G3 (16MB VRAM) - PowerBook4,3 - iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003) - PowerBook5,1 - PowerBook G4 (17 inch) - PowerBook5,2 - PowerBook G4 (15 inch FW 800) - PowerBook5,3 - PowerBook G4 (17-inch 1.33GHz) - PowerBook5,4 - PowerBook G4 (15 inch 1.5/1.33GHz) - PowerBook5,5 - PowerBook G4 (17-inch 1.5GHz) - PowerBook5,6 - PowerBook G4 (15 inch 1.67GHz/1.5GHz) - PowerBook5,7 - PowerBook G4 (17-inch 1.67GHz) - PowerBook5,8 - PowerBook G4 (Double layer SD, 15 inch) - PowerBook5,9 - PowerBook G4 (Double layer SD, 17 inch) - PowerBook6,1 - PowerBook G4 (12 inch) - PowerBook6,2 - PowerBook G4 (12 inch, DVI) - PowerBook6,3 - iBook G4 - PowerBook6,4 - PowerBook G4 (12 inch 1.33GHz) - PowerBook6,5 - iBook G4 (Early-Late 2004) - PowerBook6,7 - iBook G4 (Mid 2005) - PowerBook6,8 - PowerBook G4 (12 inch 1.5GHz) - PowerMac1,1 - Power Macintosh G3 (Blue & White) - PowerMac1,2 - Power Macintosh G4 (PCI Graphics) - PowerMac2,1 - iMac G3 (Slot-loading CD-ROM) - PowerMac2,2 - iMac G3 (Summer 2000) - PowerMac3,1 - Power Macintosh G4 (AGP Graphics) - PowerMac3,2 - Power Macintosh G4 (AGP Graphics) - PowerMac3,3 - Power Macintosh G4 (Gigabit Ethernet) - PowerMac3,4 - Power Macintosh G4 (Digital Audio) - PowerMac3,5 - Power Macintosh G4 (Quick Silver) - PowerMac3,6 - Power Macintosh G4 (Mirrored Drive Door) - PowerMac4,1 - iMac G3 (Early/Summer 2001) - PowerMac4,2 - iMac G4 (Flat Panel) - PowerMac4,4 - eMac - PowerMac4,5 - iMac G4 (17-inch Flat Panel) - PowerMac5,1 - Power Macintosh G4 Cube - PowerMac5,2 - Power Mac G4 Cube - PowerMac6,1 - iMac G4 (USB 2.0) - PowerMac6,3 - iMac G4 (20-inch Flat Panel) - PowerMac6,4 - eMac (USB 2.0, 2005) - PowerMac7,2 - Power Macintosh G5 - PowerMac7,3 - Power Macintosh G5 - PowerMac8,1 - iMac G5 - PowerMac8,2 - iMac G5 (Ambient Light Sensor) - PowerMac9,1 - Power Macintosh G5 (Late 2005) - PowerMac10,1 - Mac Mini G4 - PowerMac10,2 - Mac Mini (Late 2005) - PowerMac11,2 - Power Macintosh G5 (Late 2005) - PowerMac12,1 - iMac G5 (iSight) - RackMac1,1 - Xserve G4 - RackMac1,2 - Xserve G4 (slot-loading, cluster node) - RackMac3,1 - Xserve G5 - Xserve1,1 - Xserve (Intel Xeon) - Xserve2,1 - Xserve (January 2008 quad-core) - Xserve3,1 - Xserve (early 2009) - - diff --git a/Support/Sparkle.framework/Versions/A/Resources/SUStatus.nib b/Support/Sparkle.framework/Versions/A/Resources/SUStatus.nib deleted file mode 100644 index a036a6d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/SUStatus.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index dc25cf8..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib deleted file mode 100644 index de731af..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 21f802a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings deleted file mode 100644 index 13aa656..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings deleted file mode 100644 index 84d8ce6..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 9a5990d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib deleted file mode 100644 index b7645c9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index b21bcdf..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings deleted file mode 100644 index b38c768..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 3b8e25b..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib deleted file mode 100644 index 2f1a1a3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 3aef3a8..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings deleted file mode 100644 index 87c4d56..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 0c2663a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib deleted file mode 100644 index d8567f3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index e3dd377..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings deleted file mode 100644 index 94e39df..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index c3598b5..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib deleted file mode 100644 index 68db968..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index d3cf65d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings deleted file mode 100644 index 7b98418..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index aecaba3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib deleted file mode 100644 index de6a685..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 46f60f9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings deleted file mode 100644 index 2932703..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 0367f8f..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib deleted file mode 100644 index ae00729..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index d99cbb5..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings deleted file mode 100644 index adc988a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 0d2b16e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib deleted file mode 100644 index b422230..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 5cdb77d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings deleted file mode 100644 index 773f7c9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index ec9d2bd..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib deleted file mode 100644 index 8b6a2ce..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index d7aa510..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings deleted file mode 100644 index 2fbbd66..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/fr_CA.lproj b/Support/Sparkle.framework/Versions/A/Resources/fr_CA.lproj deleted file mode 120000 index f9834a3..0000000 --- a/Support/Sparkle.framework/Versions/A/Resources/fr_CA.lproj +++ /dev/null @@ -1 +0,0 @@ -fr.lproj \ No newline at end of file diff --git a/Support/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings deleted file mode 100644 index ce63fde..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 1120eee..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib deleted file mode 100644 index 1f4eb06..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index ca1f6b0..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings deleted file mode 100644 index 37efe8c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 1336c88..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib deleted file mode 100644 index e02e842..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 47bc8f5..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings deleted file mode 100644 index a4400b3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index bccfa60..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib deleted file mode 100644 index 1be2e05..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 45e265a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings deleted file mode 100644 index 5f6ace2..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 6b10edd..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib deleted file mode 100644 index 1938593..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 9d6da17..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings deleted file mode 100644 index 7ead710..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index e750766..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib deleted file mode 100644 index 3e0d9df..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 0989ea3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings deleted file mode 100644 index 25e7f1d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index edf9de6..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib deleted file mode 100644 index a1cbd7c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index ef2479b..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings deleted file mode 100644 index fc12fbe..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 20cdc33..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib deleted file mode 100644 index 10a358b..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index dfa2e0d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings deleted file mode 100644 index 9c01a9f..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 388d168..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib deleted file mode 100644 index f28a247..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index ba3311e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings deleted file mode 100644 index 2b64de9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 511bdb8..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib deleted file mode 100644 index 7afbf3b..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 3bba122..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings deleted file mode 100644 index a82d40d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt.lproj b/Support/Sparkle.framework/Versions/A/Resources/pt.lproj deleted file mode 120000 index 3c1c9f6..0000000 --- a/Support/Sparkle.framework/Versions/A/Resources/pt.lproj +++ /dev/null @@ -1 +0,0 @@ -pt_BR.lproj \ No newline at end of file diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index dd6f0db..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib deleted file mode 100644 index b89f30e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 8e00dd0..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings deleted file mode 100644 index 2bbed06..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index f4d5bf3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib deleted file mode 100644 index 3d04842..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 7b5443c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings deleted file mode 100644 index 23da2b1..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 30f6587..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib deleted file mode 100644 index 0ae2896..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 7b0a196..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings deleted file mode 100644 index cf84d35..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 83b948c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib deleted file mode 100644 index 5015a75..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 00f9ebc..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings deleted file mode 100644 index 128a031..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index b37cbb9..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib deleted file mode 100644 index 29878e1..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 0d47033..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings deleted file mode 100644 index 2705369..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 7dab528..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib deleted file mode 100644 index 7d04baf..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 7e82f93..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings deleted file mode 100644 index 32548dc..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 069be85..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib deleted file mode 100644 index 40983a4..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 200ec9a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings deleted file mode 100644 index afe75f6..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 5e6f7d1..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib deleted file mode 100644 index d70bb7e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index ac82c6d..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings deleted file mode 100644 index 59608b2..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 51b3d8a..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib deleted file mode 100644 index f70fbb2..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index ff90c73..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings deleted file mode 100644 index 8d0c930..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 3d192e5..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib deleted file mode 100644 index 172d60f..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 709772b..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings deleted file mode 100644 index 2f366da..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index da4cec0..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib deleted file mode 100644 index d86c1ab..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 78c61c4..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings deleted file mode 100644 index 0e28943..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 39d1f3f..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib deleted file mode 100644 index 10afd1e..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib b/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index edff23c..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings deleted file mode 100644 index a826f16..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/Sparkle b/Support/Sparkle.framework/Versions/A/Sparkle deleted file mode 100755 index addebc3..0000000 Binary files a/Support/Sparkle.framework/Versions/A/Sparkle and /dev/null differ diff --git a/Support/Sparkle.framework/Versions/A/_CodeSignature/CodeResources b/Support/Sparkle.framework/Versions/A/_CodeSignature/CodeResources deleted file mode 100644 index 0f05d7a..0000000 --- a/Support/Sparkle.framework/Versions/A/_CodeSignature/CodeResources +++ /dev/null @@ -1,3900 +0,0 @@ - - - - - files - - Resources/Autoupdate.app/Contents/Info.plist - - NGrwxX3qml+QP/q8HfeQBWsrdQE= - - Resources/Autoupdate.app/Contents/MacOS/Autoupdate - - GNLPE96HRxKVjf3dFnsWOYI6oyg= - - Resources/Autoupdate.app/Contents/MacOS/fileop - - 3LAZA3NyyWDdy3gyCqUM+fIXjfs= - - Resources/Autoupdate.app/Contents/PkgInfo - - n57qDP4tZfLD1rCS43W0B4LQjzE= - - Resources/Autoupdate.app/Contents/Resources/AppIcon.icns - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - Resources/Autoupdate.app/Contents/Resources/SUStatus.nib - - o2Yxifmvxybh4UD7ZLx7IddkLoE= - - Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings - - hash - - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings - - hash - - 8xZ59T/LZxVMOWNsGblySVsijvs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings - - hash - - 6JE9xjhtYHPDzzXXR8Mosaib/q4= - - optional - - - Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings - - hash - - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= - - optional - - - Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings - - hash - - 9TpatxKVW4B5x0nkam4LaP8YZpE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings - - hash - - RU7Vl6NphtB/j6np3vlCOV+f3hg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings - - hash - - l89zcS7iMBHT6EWrGbWHDVntC48= - - optional - - - Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings - - hash - - wOQS5w7QXdkdtKNJB7rdanciR0s= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings - - hash - - y92HAeGH2U+nipQe3JclUrCK5xM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings - - hash - - cg3tRv/UshuWY4el+bbeoBZUzd4= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings - - hash - - PR7CwzbW+Lh9vVOFOSEI/fShBAM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - optional - - - Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings - - hash - - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings - - hash - - pOqMr4NLCYTsTevlFEYuB28kdvo= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings - - hash - - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings - - hash - - ZdW2FCEBSCiNzzblpiVbzqOQs00= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings - - hash - - 3BsDDQcMCxtwvlr07YzTG096bmU= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings - - hash - - tbKCaaSKLjvC7nDxfs/zxdO0sB0= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings - - hash - - fCBMPEPsgJUYEr/n7SCU8YstLAs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings - - hash - - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings - - hash - - DQSgRc2GsuXpDdBrs3wSPW5Y3As= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings - - hash - - nm1CwJSExUzZFYaiAHF7VIkGn6I= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings - - hash - - /iRGi+ly+kyot+oc/hjr0ZcBShM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings - - hash - - sATNnW+R68nq8JWI+WTAnDhypIM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings - - hash - - tUiNJSF7ds41OWD4IyeZogQOekk= - - optional - - - Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings - - hash - - xtkemLr0M1e/ZWKgA4ENtgOFXa8= - - optional - - - Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings - - hash - - 1ZAnkcXSiedlZc0O8oX54NwZHkA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings - - hash - - pZzpQkpsUENxNUOdVMiFdri0zX0= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings - - hash - - srfTNLIFIdhNKE0yRzwEqAD7b+c= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings - - hash - - xTTZRp0ziBZthxP8cgRiEgxZE0U= - - optional - - - Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources - - gOqf4k7ehNyMK+c2DgVkkK2bI5U= - - Resources/DarkAqua.css - - SCihC2/GG/DhF4xcXD9MYaxhawM= - - Resources/Info.plist - - 4Ik7IK2Yi3OkdqLE1DA/kERSiJ4= - - Resources/SUModelTranslation.plist - - iD2Ex40Usc4ZE6IAhRePqgwK/xw= - - Resources/SUStatus.nib - - o2Yxifmvxybh4UD7ZLx7IddkLoE= - - Resources/ar.lproj/SUAutomaticUpdateAlert.nib - - hash - - HMR1Sh9KrMbYdJyZI2/GGuWl8Dk= - - optional - - - Resources/ar.lproj/SUUpdateAlert.nib - - hash - - rV/ZrrmtPwjDHx6h71o4Xe0olZc= - - optional - - - Resources/ar.lproj/SUUpdatePermissionPrompt.nib - - hash - - pfWu5BYcPgQmhDac5PAypP4JG7o= - - optional - - - Resources/ar.lproj/Sparkle.strings - - hash - - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - 8xZ59T/LZxVMOWNsGblySVsijvs= - - optional - - - Resources/cs.lproj/SUAutomaticUpdateAlert.nib - - hash - - CGipiWAMoxCqXn7kgalLHLfLhDQ= - - optional - - - Resources/cs.lproj/SUUpdateAlert.nib - - hash - - sYB/tpjJy5n9Tw0psn+zYNwDMeA= - - optional - - - Resources/cs.lproj/SUUpdatePermissionPrompt.nib - - hash - - IUrGm9swc2kxczVSJfk1DoYG4+E= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - 6JE9xjhtYHPDzzXXR8Mosaib/q4= - - optional - - - Resources/da.lproj/SUAutomaticUpdateAlert.nib - - hash - - JcbkBoaqAbti38ZgvnprHlKApaM= - - optional - - - Resources/da.lproj/SUUpdateAlert.nib - - hash - - uHPvWlZwF/1RJ3NvAWLSYickIGo= - - optional - - - Resources/da.lproj/SUUpdatePermissionPrompt.nib - - hash - - 6/qWslfnU0gxK4dQNMmb7woR2p4= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= - - optional - - - Resources/de.lproj/SUAutomaticUpdateAlert.nib - - hash - - wY1k8r1RljpgWVfTLHBn38H7KkY= - - optional - - - Resources/de.lproj/SUUpdateAlert.nib - - hash - - szL3mRfaNUwPQk/eBRzsYjSm5rk= - - optional - - - Resources/de.lproj/SUUpdatePermissionPrompt.nib - - hash - - O7vx9K2o2TGP7LS8abS3s3Dv8EM= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - 9TpatxKVW4B5x0nkam4LaP8YZpE= - - optional - - - Resources/el.lproj/SUAutomaticUpdateAlert.nib - - hash - - GK2CveO+qpJxjJJZax3xIoL9aJs= - - optional - - - Resources/el.lproj/SUUpdateAlert.nib - - hash - - LeYiKwA9jFzS+/tqLJfDxX1Bkv8= - - optional - - - Resources/el.lproj/SUUpdatePermissionPrompt.nib - - hash - - spPDg9kN8gx6lOTcFToMpISRDIc= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - RU7Vl6NphtB/j6np3vlCOV+f3hg= - - optional - - - Resources/en.lproj/SUAutomaticUpdateAlert.nib - - hash - - nKhxzXHlYy+r3kOEWt4zlKeFPcg= - - optional - - - Resources/en.lproj/SUUpdateAlert.nib - - hash - - HYPllx7RKFu6cmU3SYTZBx5kOzk= - - optional - - - Resources/en.lproj/SUUpdatePermissionPrompt.nib - - hash - - 820NNp4P2R9+iulqqEKDMeMOwuw= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - l89zcS7iMBHT6EWrGbWHDVntC48= - - optional - - - Resources/es.lproj/SUAutomaticUpdateAlert.nib - - hash - - bRGdcs0YW5I/qnJ43qGf+QogJPI= - - optional - - - Resources/es.lproj/SUUpdateAlert.nib - - hash - - YoVHxV9wICdH/LiuvVb/aqV4sE0= - - optional - - - Resources/es.lproj/SUUpdatePermissionPrompt.nib - - hash - - TKdPY3JhzXmT++YKtJ+WbWPwYxM= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - wOQS5w7QXdkdtKNJB7rdanciR0s= - - optional - - - Resources/fi.lproj/SUAutomaticUpdateAlert.nib - - hash - - lt58WtbSFdqzmmBhWnL/b1/vJZY= - - optional - - - Resources/fi.lproj/SUUpdateAlert.nib - - hash - - vXUazuJw2TH96TbvVlzEjvZiT7E= - - optional - - - Resources/fi.lproj/SUUpdatePermissionPrompt.nib - - hash - - z9c3Eku4MyyWoySqaWuz25xPWwU= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - optional - - - Resources/fr.lproj/SUAutomaticUpdateAlert.nib - - hash - - GHN515Ya8Y67Lvh+58RnO+WpKX8= - - optional - - - Resources/fr.lproj/SUUpdateAlert.nib - - hash - - teoPoKJbNJHKgc04eVDgnL4p0H0= - - optional - - - Resources/fr.lproj/SUUpdatePermissionPrompt.nib - - hash - - OdUHvEoSfX1mDOHSQWm0ZvCwJZA= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - y92HAeGH2U+nipQe3JclUrCK5xM= - - optional - - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - optional - - - Resources/hr.lproj/SUAutomaticUpdateAlert.nib - - hash - - Cm5xB6CrM6wuejFT33ju6VY2HEs= - - optional - - - Resources/hr.lproj/SUUpdateAlert.nib - - hash - - 7FA6to8hN/6rfeAd6TLnbFvv2x0= - - optional - - - Resources/hr.lproj/SUUpdatePermissionPrompt.nib - - hash - - WgV9dYfaL3sG5N0oKyA9QLoSNf4= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - cg3tRv/UshuWY4el+bbeoBZUzd4= - - optional - - - Resources/hu.lproj/SUAutomaticUpdateAlert.nib - - hash - - Ta020ytMvdWoBGsG2ai3Kg5FiZ0= - - optional - - - Resources/hu.lproj/SUUpdateAlert.nib - - hash - - zBzxqJvi+M2hiCe8MmNQhU+pcnA= - - optional - - - Resources/hu.lproj/SUUpdatePermissionPrompt.nib - - hash - - F80kJ3B5fIiN/fxFZKHdylm5FTw= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - PR7CwzbW+Lh9vVOFOSEI/fShBAM= - - optional - - - Resources/is.lproj/SUAutomaticUpdateAlert.nib - - hash - - QfAiNgb7olttGvUu39P9lcmPDps= - - optional - - - Resources/is.lproj/SUUpdateAlert.nib - - hash - - DoBtdOf/QZ/VRlI+DQTnebJFIVQ= - - optional - - - Resources/is.lproj/SUUpdatePermissionPrompt.nib - - hash - - z6nVKzAtorNIPYpUQqlQ0JA4xsY= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - optional - - - Resources/it.lproj/SUAutomaticUpdateAlert.nib - - hash - - en+oVqjpH6FC14is611rMV4cDSc= - - optional - - - Resources/it.lproj/SUUpdateAlert.nib - - hash - - jl9y0N6hgeMk97jXKLeXK3asoMU= - - optional - - - Resources/it.lproj/SUUpdatePermissionPrompt.nib - - hash - - k3JCck2STpTl/2AIFrlZ7Tz3vfI= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= - - optional - - - Resources/ja.lproj/SUAutomaticUpdateAlert.nib - - hash - - 8OlMKqxDIQWHuNf2MWp9kAoYGYc= - - optional - - - Resources/ja.lproj/SUUpdateAlert.nib - - hash - - 805CZOe5mUKZdsPmMX7GooIovYc= - - optional - - - Resources/ja.lproj/SUUpdatePermissionPrompt.nib - - hash - - wwwG1q3BXLQocD4XHg6dezexeqI= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - pOqMr4NLCYTsTevlFEYuB28kdvo= - - optional - - - Resources/ko.lproj/SUAutomaticUpdateAlert.nib - - hash - - koINYXxQauHU3LZYoDKn2pWT9hI= - - optional - - - Resources/ko.lproj/SUUpdateAlert.nib - - hash - - 7teSE4nh94hXT1P+jp148GcIRzU= - - optional - - - Resources/ko.lproj/SUUpdatePermissionPrompt.nib - - hash - - 1p6DXqC1bjxHg9G1ey8ujMea9d4= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= - - optional - - - Resources/nb.lproj/SUAutomaticUpdateAlert.nib - - hash - - rAQnrkDNPgucqNN2yrVQ8JG2UA4= - - optional - - - Resources/nb.lproj/SUUpdateAlert.nib - - hash - - jlywEvuVN1J5OKNSeFcIKynN8yc= - - optional - - - Resources/nb.lproj/SUUpdatePermissionPrompt.nib - - hash - - WNOPsBqyh9plEDaicddV+Hyeg70= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - ZdW2FCEBSCiNzzblpiVbzqOQs00= - - optional - - - Resources/nl.lproj/SUAutomaticUpdateAlert.nib - - hash - - 6vqQpujXZsPydnj0yg2MvD0OVDU= - - optional - - - Resources/nl.lproj/SUUpdateAlert.nib - - hash - - Lf46KdJAHcN67PEeHU0glQEkgcM= - - optional - - - Resources/nl.lproj/SUUpdatePermissionPrompt.nib - - hash - - ddljqD94I9mh+iBugB3arj3kTK4= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - 3BsDDQcMCxtwvlr07YzTG096bmU= - - optional - - - Resources/pl.lproj/SUAutomaticUpdateAlert.nib - - hash - - falBiLjAD9jwCRplLXt1OL5kWMQ= - - optional - - - Resources/pl.lproj/SUUpdateAlert.nib - - hash - - 649CLq4ceA8aiA2yAgq8HcD4+KY= - - optional - - - Resources/pl.lproj/SUUpdatePermissionPrompt.nib - - hash - - fbmTwUag6J26eAzp0asdE40T5i0= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - tbKCaaSKLjvC7nDxfs/zxdO0sB0= - - optional - - - Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib - - hash - - hJzRpD2eBYGDuhg/iUJcH7uB8tA= - - optional - - - Resources/pt_BR.lproj/SUUpdateAlert.nib - - hash - - UhY0XY+MFGYlG+Vb9gvcvhBUfsw= - - optional - - - Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib - - hash - - msqNUCHEFovp+Y599QV5x0+z+WI= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - fCBMPEPsgJUYEr/n7SCU8YstLAs= - - optional - - - Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib - - hash - - yHDYLQbIPlI2X8rEYGY4/5LWBi4= - - optional - - - Resources/pt_PT.lproj/SUUpdateAlert.nib - - hash - - 4TaxICR2uqtxe+w9zMUv4FmnxXs= - - optional - - - Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib - - hash - - s5I+D0hkqE52sejLdAafI0BjSF0= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= - - optional - - - Resources/ro.lproj/SUAutomaticUpdateAlert.nib - - hash - - RhePTD+M3ZecywnXYC9skIWbNqk= - - optional - - - Resources/ro.lproj/SUUpdateAlert.nib - - hash - - 4yC+DHk3ji+VWitTWRl+qF+nJaU= - - optional - - - Resources/ro.lproj/SUUpdatePermissionPrompt.nib - - hash - - SAd937syHUKVCL4vDZXLjkv2owE= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - DQSgRc2GsuXpDdBrs3wSPW5Y3As= - - optional - - - Resources/ru.lproj/SUAutomaticUpdateAlert.nib - - hash - - SkSjQVxY+KHuO+GTZEt3zLEDhQk= - - optional - - - Resources/ru.lproj/SUUpdateAlert.nib - - hash - - Uc64V+ZpoA7pJ9Um3hV17os9ILM= - - optional - - - Resources/ru.lproj/SUUpdatePermissionPrompt.nib - - hash - - EKYmSkQDwRcdG3GrKtDn91/ZeIc= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - nm1CwJSExUzZFYaiAHF7VIkGn6I= - - optional - - - Resources/sk.lproj/SUAutomaticUpdateAlert.nib - - hash - - 39yerBtrGFhsyI2CwYlaTpo4oFc= - - optional - - - Resources/sk.lproj/SUUpdateAlert.nib - - hash - - em7ReM6bjWlxO4KO0ap8OA0Ct0U= - - optional - - - Resources/sk.lproj/SUUpdatePermissionPrompt.nib - - hash - - WLq8WLwZ0UhsEMewFOJUGy/rbno= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - /iRGi+ly+kyot+oc/hjr0ZcBShM= - - optional - - - Resources/sl.lproj/SUAutomaticUpdateAlert.nib - - hash - - DkdFsR7oszA3NVRNwp8coxcqx30= - - optional - - - Resources/sl.lproj/SUUpdateAlert.nib - - hash - - y7WIZoHhjlDg9y7SoyhiewPP0og= - - optional - - - Resources/sl.lproj/SUUpdatePermissionPrompt.nib - - hash - - IMsfAmEnTg0DKWJy2T7aWpDVXmU= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - sATNnW+R68nq8JWI+WTAnDhypIM= - - optional - - - Resources/sv.lproj/SUAutomaticUpdateAlert.nib - - hash - - TOBuyZldMnYY7WAjwKsgfNngGzw= - - optional - - - Resources/sv.lproj/SUUpdateAlert.nib - - hash - - JqEM2KYuYzYRs1d/ZZBEIOgzz9A= - - optional - - - Resources/sv.lproj/SUUpdatePermissionPrompt.nib - - hash - - Hba1IfRrlurIEeqShU3fa3b2NOk= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - tUiNJSF7ds41OWD4IyeZogQOekk= - - optional - - - Resources/th.lproj/SUAutomaticUpdateAlert.nib - - hash - - Xe4/CNqml8hXrIVGuamdbDoRLhI= - - optional - - - Resources/th.lproj/SUUpdateAlert.nib - - hash - - 7qb38jUasseLhMxZL9oDY/dz78A= - - optional - - - Resources/th.lproj/SUUpdatePermissionPrompt.nib - - hash - - Y5Y2Xqtt/eX2BmwDr42E0zhOXBs= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - xtkemLr0M1e/ZWKgA4ENtgOFXa8= - - optional - - - Resources/tr.lproj/SUAutomaticUpdateAlert.nib - - hash - - Y5NeSxnsaC/M2zoj0FqZWTDsR+c= - - optional - - - Resources/tr.lproj/SUUpdateAlert.nib - - hash - - CLyy1d1X7+RSdtHv7mLWKxBcMyE= - - optional - - - Resources/tr.lproj/SUUpdatePermissionPrompt.nib - - hash - - C3lsSy0MB/EigbTwhIE1p2oZjCQ= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - 1ZAnkcXSiedlZc0O8oX54NwZHkA= - - optional - - - Resources/uk.lproj/SUAutomaticUpdateAlert.nib - - hash - - dmMc4nnq56aacVapzFYG3jHFVX8= - - optional - - - Resources/uk.lproj/SUUpdateAlert.nib - - hash - - knu44G28ze1px/y4oFGNCFZPP2I= - - optional - - - Resources/uk.lproj/SUUpdatePermissionPrompt.nib - - hash - - wkfA4wH4NC2SqxZiQvSKxRh33ng= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - pZzpQkpsUENxNUOdVMiFdri0zX0= - - optional - - - Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib - - hash - - JaVa+nFOONCOlqhkuRcMBHLko9o= - - optional - - - Resources/zh_CN.lproj/SUUpdateAlert.nib - - hash - - 7Hl5pts66IZ2CjCulfM+kOM9/wc= - - optional - - - Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib - - hash - - r0OUSx+5+77QhV7WxalrGEr+N7s= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - srfTNLIFIdhNKE0yRzwEqAD7b+c= - - optional - - - Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib - - hash - - naa+4UABTZC/NFFY2yNP2sXAz+w= - - optional - - - Resources/zh_TW.lproj/SUUpdateAlert.nib - - hash - - 3IjnWJ9cNzWBNJ3CEYwe7UbkW4o= - - optional - - - Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib - - hash - - yMSZqhPW5l9+cgD60ReOd4GKbto= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - xTTZRp0ziBZthxP8cgRiEgxZE0U= - - optional - - - - files2 - - Headers/SPUDownloadData.h - - hash - - 0uirAEMDYuzqSh3dbtfncvlTpvo= - - hash2 - - DkOXqPnwmXR6QeDI4ja3DtFxDW5L3Dcjf21hEPWImoY= - - - Headers/SPUDownloader.h - - hash - - OAA6tKxz1g4V1SQZaj3RPNmNMzo= - - hash2 - - OEDz5kY4WgtWuZ8SApjyqvVDEf3iEj7Sg2uhl+3J+jk= - - - Headers/SPUDownloaderDelegate.h - - hash - - UkBvHxzNYA/YON0ImE8m/8g4vkg= - - hash2 - - 8D6RyR2aziRQIiRN3e7qxlEM9jfgkwBBTWmSjDhLqm8= - - - Headers/SPUDownloaderDeprecated.h - - hash - - l7/+P82TkgRp/YLnQtJtjMWd3/A= - - hash2 - - A7PBMhwuTH0X/JDeyLlh1Xrdc0krwjPqdBPCiePFrxQ= - - - Headers/SPUDownloaderProtocol.h - - hash - - VsD58zsMmnH4mVuK456ekiJcYFU= - - hash2 - - 02oqvyfRCQp5SMSBQNzYZaz1/0VTso0GKnOSbuDEAVo= - - - Headers/SPUDownloaderSession.h - - hash - - IeDSEpUGRwB9HcDVlqbxb6k19A8= - - hash2 - - ZFXLQz90P2h4rR2v1VqRAKzrSSlItkO5cW/0AFy7eYQ= - - - Headers/SPUURLRequest.h - - hash - - 588/W6GUNXYFVar9nygqHNYeTX8= - - hash2 - - 4EG4qYbJgM0wBJCoSPD1lbbDTLHlm85m4xNehyXyU74= - - - Headers/SUAppcast.h - - hash - - puyTMIscPdgGWGQM4TITePIKSdA= - - hash2 - - R3/VQvZCv8Ab34CC17vtBHR3dqkJXnidTR5n8aX4DD0= - - - Headers/SUAppcastItem.h - - hash - - YQvyEYAn6UWDwU8NT5ccPwhdRXE= - - hash2 - - ZB27X0FfNZ54ez8FZAFDEi6/o4BYtQnl4A9Y3tAbkUI= - - - Headers/SUCodeSigningVerifier.h - - hash - - Wj90pgADRte0DhyUmlOXWORp830= - - hash2 - - PPwqqlfaR8hxIfD2YEKdVzyDN4kBVdul55HDAELxQ7U= - - - Headers/SUErrors.h - - hash - - fXyYJmeBH5lNthmGD2GJOWkMmjg= - - hash2 - - JKSoOJCqip87NB39v1ip2Gki8x1rGVcXB7D6kTCeBTI= - - - Headers/SUExport.h - - hash - - G2w3uU/V7JzIupuOjQ2LyPVGdo4= - - hash2 - - XO8CQmbFThLbYg949NEGhg3g+iouIw3/3+BCCLtEdFE= - - - Headers/SUStandardVersionComparator.h - - hash - - 6L4GrA8i1OjMLIGc/sFvEUeSfso= - - hash2 - - 5HrjOlX+uJHOw1ma+1BtG5tlYx/75N/gVzt+BX/GOxg= - - - Headers/SUUpdater.h - - hash - - krK593R1jTMhVN/yl8nXWo1WIfg= - - hash2 - - IJc5cjKEoEbG6onu/Dy+1OXT5YJ7GV3R1U0u2FamUsY= - - - Headers/SUUpdaterDelegate.h - - hash - - UWIKKrtpG8ETIKMCaSRiq4ujPJs= - - hash2 - - d9LBmTLBxcQda+JzY5Y0rdqUU3ZwG0B/xUrAF68d2Xk= - - - Headers/SUVersionComparisonProtocol.h - - hash - - pin8CrEV9eYWF9sdDu0N1YixWOE= - - hash2 - - rsm3T+GsIhDgSqY8EtkBpIxYgSZCZxf4HE9a/FcTRCc= - - - Headers/SUVersionDisplayProtocol.h - - hash - - D3yVFnts0j1IacN9dSN7iZSVlZg= - - hash2 - - AQITUMp8aq1UAOrmksAKmGFpgI24u9rDSBBZrgDqdN4= - - - Headers/Sparkle.h - - hash - - kAc+dA9KctczULg0aLWypDdBvy0= - - hash2 - - qx9pH2muu7OaSYEeZEfIzGFTWCk/gIo7ZQ+6TExPhyA= - - - Modules/module.modulemap - - hash - - /2jgDcgH5+EG9ojcVskajfVo4yg= - - hash2 - - 1TF+JZkzFr6n8oH4WItto+C5Vf3K12f0H9KjqD0A5QU= - - - PrivateHeaders/SUUnarchiver.h - - hash - - 7mTpmnTkJ97DZQQzK/hdl2aZmXU= - - hash2 - - SQYAanTtlyX15CJapj5tDbhBEMtgQ7ZNdmpSij0+tD4= - - - Resources/Autoupdate.app/Contents/Info.plist - - hash - - NGrwxX3qml+QP/q8HfeQBWsrdQE= - - hash2 - - Ts1y/usFtpJJqe+wACjJTa+YcU1j07vYHJjaweHxQA8= - - - Resources/Autoupdate.app/Contents/MacOS/Autoupdate - - hash - - GNLPE96HRxKVjf3dFnsWOYI6oyg= - - hash2 - - jjoBVKmvhAAqeOdwtSES0lu69ZfCwrn91Bt8pqU41o8= - - - Resources/Autoupdate.app/Contents/MacOS/fileop - - hash - - 3LAZA3NyyWDdy3gyCqUM+fIXjfs= - - hash2 - - LDrNauzGffTd+4S2LP76kD5Fm4KEkOM9khVaJn+57IQ= - - - Resources/Autoupdate.app/Contents/PkgInfo - - hash - - n57qDP4tZfLD1rCS43W0B4LQjzE= - - hash2 - - glAhkclISwTWhTdPmHmgBmBpxJuKyuegSwHTjQfo7KA= - - - Resources/Autoupdate.app/Contents/Resources/AppIcon.icns - - hash - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - hash2 - - nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE= - - - Resources/Autoupdate.app/Contents/Resources/SUStatus.nib - - hash - - o2Yxifmvxybh4UD7ZLx7IddkLoE= - - hash2 - - 9EMiB3mf7GHO1CblwtYHjfKx9oWJW7uh2BeVuMSQdM8= - - - Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings - - hash - - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= - - hash2 - - kXl1QOUKU1bn38zZFTTTo6jSvJa3xzW+506BHFqXTrA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings - - hash - - 8xZ59T/LZxVMOWNsGblySVsijvs= - - hash2 - - qveaz1JvR0txRBIrXESNsw7OQ/Ff/cPzhDLnsoEQraU= - - optional - - - Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings - - hash - - 6JE9xjhtYHPDzzXXR8Mosaib/q4= - - hash2 - - +egOEAm7wKsZEYpWPMyIt3O/K3rKusLoqgRPDjTbVj0= - - optional - - - Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings - - hash - - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= - - hash2 - - TNnVYVM/FH7RRT5MJDiudHhliKhwVdzKtoFHoaOyYNA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings - - hash - - 9TpatxKVW4B5x0nkam4LaP8YZpE= - - hash2 - - RWEMiKY073CexFxlxvRxZNV6sIGKW4o2w1zkbu84jTo= - - optional - - - Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings - - hash - - RU7Vl6NphtB/j6np3vlCOV+f3hg= - - hash2 - - k6iM4cKwuwNERro0buUXP+cC7EfqUysLG3xtqQTYd88= - - optional - - - Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings - - hash - - l89zcS7iMBHT6EWrGbWHDVntC48= - - hash2 - - NsYIQJr5hHbcZCmDpOJU7CG0gQyMCwtcCHxnVm6hX10= - - optional - - - Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings - - hash - - wOQS5w7QXdkdtKNJB7rdanciR0s= - - hash2 - - Ft9c/NUFvzlK18fFR95eU9BF+WhuLxk4/mxS9Anjtgw= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - hash2 - - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings - - hash - - y92HAeGH2U+nipQe3JclUrCK5xM= - - hash2 - - iTJwrct6/Zdwlxdm5T/GC9hA4ztJ0z5vMfrd5koPIkM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - hash2 - - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings - - hash - - cg3tRv/UshuWY4el+bbeoBZUzd4= - - hash2 - - dkl+Vn68FbdfQQMcnDHr8oXTSzW0uKtYMKZ0dTf9aC4= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings - - hash - - PR7CwzbW+Lh9vVOFOSEI/fShBAM= - - hash2 - - 03d0wnNZx2by2rcwyyUQp8ZbjVmAEQoBXA1HN25F7Hs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - hash2 - - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= - - optional - - - Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings - - hash - - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= - - hash2 - - SnALHmsNWW8OuPdd4u6wTLF7MpPLJhJp//vTwuGcJpY= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings - - hash - - pOqMr4NLCYTsTevlFEYuB28kdvo= - - hash2 - - jnZ+6gkcjoepDpH6/BXf4i3Txhm79rLxvJeqpPqHteE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings - - hash - - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= - - hash2 - - o5tc0FFNdGdzBM2RGpZDRFKYF7JMFNZbfPyh3Surt7c= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings - - hash - - ZdW2FCEBSCiNzzblpiVbzqOQs00= - - hash2 - - CiGpWxnyFqcL70YEaY6tZavZqd/L3I/gl/58Vf/j9ys= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings - - hash - - 3BsDDQcMCxtwvlr07YzTG096bmU= - - hash2 - - rOb3Gc/eTUZhs/QUuspB/stVPNkSU75vZKR5LNcdTek= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings - - hash - - tbKCaaSKLjvC7nDxfs/zxdO0sB0= - - hash2 - - yGt+gco6nzn7EMGrYj5QUGfy/Ax/HcMHlPi7v2gwdPk= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings - - hash - - fCBMPEPsgJUYEr/n7SCU8YstLAs= - - hash2 - - vKlvCF9C0Tkpv05lzTmL8xZUeTclYhgm3mDU+0FCPLQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings - - hash - - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= - - hash2 - - Qedn2GikAYoVHUMFjZs4DYYZ0OLQtZKSCJTQDSb0WuE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings - - hash - - DQSgRc2GsuXpDdBrs3wSPW5Y3As= - - hash2 - - HakhsVJkpV0iiAc2tmuQ/p107dUH70aWI4tutDGX5Ps= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings - - hash - - nm1CwJSExUzZFYaiAHF7VIkGn6I= - - hash2 - - /aioLC/IpLjhwGWWNrpmzvhFrjFcHxA6ZXtagde3rjA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings - - hash - - /iRGi+ly+kyot+oc/hjr0ZcBShM= - - hash2 - - Dr7D2ChakP7IjzSKPULAjfQ//onLMkL0gw+yyfYjspA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings - - hash - - sATNnW+R68nq8JWI+WTAnDhypIM= - - hash2 - - TonjJQq91roqTPcD7kBKH/xsfvhc0wl3q0XBSySAu+g= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings - - hash - - tUiNJSF7ds41OWD4IyeZogQOekk= - - hash2 - - QLVPGXWqtZ9Udh4uz+lLiX83nnDGdDM9WER9W2GBsv4= - - optional - - - Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings - - hash - - xtkemLr0M1e/ZWKgA4ENtgOFXa8= - - hash2 - - fS7xcje0F0oq7sIn18SpN+cXAXCKsPBDNU/R9W3POqI= - - optional - - - Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings - - hash - - 1ZAnkcXSiedlZc0O8oX54NwZHkA= - - hash2 - - zKHIxWlHwUZ/93ji6b0kLof1QMBjmIQGE8E5urNuTZg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings - - hash - - pZzpQkpsUENxNUOdVMiFdri0zX0= - - hash2 - - P9H3Jrk+Zyq2tenKBdBC+b9hcLg4nlIEbRlXUAN1AqA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings - - hash - - srfTNLIFIdhNKE0yRzwEqAD7b+c= - - hash2 - - BhJKIV1dEw3kjBKsXdi9ATHVkYVIbZphZW4ZuTLUXQQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings - - hash - - xTTZRp0ziBZthxP8cgRiEgxZE0U= - - hash2 - - 2aZwBp9W8BR6Tbt6hEDjm/y/vo3FGMCIQOAsclVy+kQ= - - optional - - - Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources - - hash - - gOqf4k7ehNyMK+c2DgVkkK2bI5U= - - hash2 - - sNoNtj0X4oBk+UhPt0LKVqVwTzoeBFxtcCgLrKvRrlo= - - - Resources/DarkAqua.css - - hash - - SCihC2/GG/DhF4xcXD9MYaxhawM= - - hash2 - - 1G4+GJId47E8UijYTy9xeqA8RpLdOaGZQZ8B85ydROg= - - - Resources/Info.plist - - hash - - 4Ik7IK2Yi3OkdqLE1DA/kERSiJ4= - - hash2 - - 47BrcAEFAw56makJlMWPAV9Fzk8XaSPkebd+BOWFc9s= - - - Resources/SUModelTranslation.plist - - hash - - iD2Ex40Usc4ZE6IAhRePqgwK/xw= - - hash2 - - bxnpRQhROJXTL2xuIeffR3p+hOuuji7eOoDeNqSYqTg= - - - Resources/SUStatus.nib - - hash - - o2Yxifmvxybh4UD7ZLx7IddkLoE= - - hash2 - - 9EMiB3mf7GHO1CblwtYHjfKx9oWJW7uh2BeVuMSQdM8= - - - Resources/ar.lproj/SUAutomaticUpdateAlert.nib - - hash - - HMR1Sh9KrMbYdJyZI2/GGuWl8Dk= - - hash2 - - +hu1ucUQ0KSSSUfpNr2R9EMp/Lna09evcRrRaBGrar0= - - optional - - - Resources/ar.lproj/SUUpdateAlert.nib - - hash - - rV/ZrrmtPwjDHx6h71o4Xe0olZc= - - hash2 - - rFBn4qqPsWGO2DGaxmN9jr7nDkysmQ5FDRI9714ZsA8= - - optional - - - Resources/ar.lproj/SUUpdatePermissionPrompt.nib - - hash - - pfWu5BYcPgQmhDac5PAypP4JG7o= - - hash2 - - NhWNyBo0Y0TGA8ZM4iG1ThHPQ9GZ8LB1lorQrtQNx5g= - - optional - - - Resources/ar.lproj/Sparkle.strings - - hash - - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= - - hash2 - - kXl1QOUKU1bn38zZFTTTo6jSvJa3xzW+506BHFqXTrA= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - 8xZ59T/LZxVMOWNsGblySVsijvs= - - hash2 - - qveaz1JvR0txRBIrXESNsw7OQ/Ff/cPzhDLnsoEQraU= - - optional - - - Resources/cs.lproj/SUAutomaticUpdateAlert.nib - - hash - - CGipiWAMoxCqXn7kgalLHLfLhDQ= - - hash2 - - pY9/SobOyCg/i8IcnGobJ0zintMeK4hgp3hYaZtSu+0= - - optional - - - Resources/cs.lproj/SUUpdateAlert.nib - - hash - - sYB/tpjJy5n9Tw0psn+zYNwDMeA= - - hash2 - - L1jjUmvoV9+YypxqV/x5g2zmWp8HjChN25M7XC2Ik/Q= - - optional - - - Resources/cs.lproj/SUUpdatePermissionPrompt.nib - - hash - - IUrGm9swc2kxczVSJfk1DoYG4+E= - - hash2 - - 3fqshlqVt4Au0rkQwuDyZk2kXcQbzDpmAIela1jMFZM= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - 6JE9xjhtYHPDzzXXR8Mosaib/q4= - - hash2 - - +egOEAm7wKsZEYpWPMyIt3O/K3rKusLoqgRPDjTbVj0= - - optional - - - Resources/da.lproj/SUAutomaticUpdateAlert.nib - - hash - - JcbkBoaqAbti38ZgvnprHlKApaM= - - hash2 - - 8Tx6szcUTm+vw6uqug8MSj76o6Y0NWxZj36O/4aK+78= - - optional - - - Resources/da.lproj/SUUpdateAlert.nib - - hash - - uHPvWlZwF/1RJ3NvAWLSYickIGo= - - hash2 - - U2rSI49s1mY+W1bBrq5vR/Z/gANdFKYirzIbV9okbjI= - - optional - - - Resources/da.lproj/SUUpdatePermissionPrompt.nib - - hash - - 6/qWslfnU0gxK4dQNMmb7woR2p4= - - hash2 - - 2CL+z7HbYBLjjdaL6QGqB2J4vrhqAZZ6lByu+owhVAM= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= - - hash2 - - TNnVYVM/FH7RRT5MJDiudHhliKhwVdzKtoFHoaOyYNA= - - optional - - - Resources/de.lproj/SUAutomaticUpdateAlert.nib - - hash - - wY1k8r1RljpgWVfTLHBn38H7KkY= - - hash2 - - X5mJ6hlzJK+xDpsRHguRaxlasJ6lbQ0Bhg/di7fPPzM= - - optional - - - Resources/de.lproj/SUUpdateAlert.nib - - hash - - szL3mRfaNUwPQk/eBRzsYjSm5rk= - - hash2 - - QxshRGnzXlZB67ufzrV2hs6BdsgSgbIb9Vp5LU2Fgbs= - - optional - - - Resources/de.lproj/SUUpdatePermissionPrompt.nib - - hash - - O7vx9K2o2TGP7LS8abS3s3Dv8EM= - - hash2 - - tqwKGBMMjhs5ofx0EZmrvAx/fcF04DgOpvDCEXgzv5o= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - 9TpatxKVW4B5x0nkam4LaP8YZpE= - - hash2 - - RWEMiKY073CexFxlxvRxZNV6sIGKW4o2w1zkbu84jTo= - - optional - - - Resources/el.lproj/SUAutomaticUpdateAlert.nib - - hash - - GK2CveO+qpJxjJJZax3xIoL9aJs= - - hash2 - - V7xInexRLjto+cbnF7Vn+u+PMYXs67syAsR6L/aO/Xc= - - optional - - - Resources/el.lproj/SUUpdateAlert.nib - - hash - - LeYiKwA9jFzS+/tqLJfDxX1Bkv8= - - hash2 - - 9iZwWXEPcQgZuLvLBP1jyyowxtnm2R3ZI0ce3sd9BFo= - - optional - - - Resources/el.lproj/SUUpdatePermissionPrompt.nib - - hash - - spPDg9kN8gx6lOTcFToMpISRDIc= - - hash2 - - TlkGVdfldwPHlY/f/BGBoY31YdEGoDnwu49BLFbepj8= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - RU7Vl6NphtB/j6np3vlCOV+f3hg= - - hash2 - - k6iM4cKwuwNERro0buUXP+cC7EfqUysLG3xtqQTYd88= - - optional - - - Resources/en.lproj/SUAutomaticUpdateAlert.nib - - hash - - nKhxzXHlYy+r3kOEWt4zlKeFPcg= - - hash2 - - 3hN8D9iNRsyJbnNfjRSmsROqKSGUXoqaGCAf5teZo8k= - - optional - - - Resources/en.lproj/SUUpdateAlert.nib - - hash - - HYPllx7RKFu6cmU3SYTZBx5kOzk= - - hash2 - - Tiy9UN2W4IuGscDh6G4JAg7/OohS9x6SVOb5cJdRUL0= - - optional - - - Resources/en.lproj/SUUpdatePermissionPrompt.nib - - hash - - 820NNp4P2R9+iulqqEKDMeMOwuw= - - hash2 - - cVKhflY1l8yluAYHvkSM4PGn1Kcc+mXMVgzbQo4XYSM= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - l89zcS7iMBHT6EWrGbWHDVntC48= - - hash2 - - NsYIQJr5hHbcZCmDpOJU7CG0gQyMCwtcCHxnVm6hX10= - - optional - - - Resources/es.lproj/SUAutomaticUpdateAlert.nib - - hash - - bRGdcs0YW5I/qnJ43qGf+QogJPI= - - hash2 - - YlKdrMPcnPvXstzFvodQGtZ5nfGt7o1Gx9wvdAOx9mU= - - optional - - - Resources/es.lproj/SUUpdateAlert.nib - - hash - - YoVHxV9wICdH/LiuvVb/aqV4sE0= - - hash2 - - djSDAr6Kejt48d7QcJEfxeqlAQ4NFp0+YaAiT8HEyFQ= - - optional - - - Resources/es.lproj/SUUpdatePermissionPrompt.nib - - hash - - TKdPY3JhzXmT++YKtJ+WbWPwYxM= - - hash2 - - jztOSzghw/DoxPvNNbeKC6K2eb1KnHoYO4Bgu7+jhZA= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - wOQS5w7QXdkdtKNJB7rdanciR0s= - - hash2 - - Ft9c/NUFvzlK18fFR95eU9BF+WhuLxk4/mxS9Anjtgw= - - optional - - - Resources/fi.lproj/SUAutomaticUpdateAlert.nib - - hash - - lt58WtbSFdqzmmBhWnL/b1/vJZY= - - hash2 - - pEeophCzTLx3BUed7XV6VJBLATW3CH/CXp/tvm8Zi0I= - - optional - - - Resources/fi.lproj/SUUpdateAlert.nib - - hash - - vXUazuJw2TH96TbvVlzEjvZiT7E= - - hash2 - - a0JS680ZPNego+frMn1ssoaLhj8dkjD8Jq7sv9n8DCs= - - optional - - - Resources/fi.lproj/SUUpdatePermissionPrompt.nib - - hash - - z9c3Eku4MyyWoySqaWuz25xPWwU= - - hash2 - - gHV/bG6dTIw56PixQMhLuRyh+3XY9oEZaie5cXHDSOU= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - hash2 - - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= - - optional - - - Resources/fr.lproj/SUAutomaticUpdateAlert.nib - - hash - - GHN515Ya8Y67Lvh+58RnO+WpKX8= - - hash2 - - tTuCTip7jSnLt2GUzxyIZZZhtUnxt/nuFfzmtR2m3GY= - - optional - - - Resources/fr.lproj/SUUpdateAlert.nib - - hash - - teoPoKJbNJHKgc04eVDgnL4p0H0= - - hash2 - - KajQC5/Qna0W2F6CiUjf4nLHfbm8pLsFAcfa/w9Dmao= - - optional - - - Resources/fr.lproj/SUUpdatePermissionPrompt.nib - - hash - - OdUHvEoSfX1mDOHSQWm0ZvCwJZA= - - hash2 - - opm5binFhJDcg9SSSACdgwqoc6vRlVUhg/+HlbVD89I= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - y92HAeGH2U+nipQe3JclUrCK5xM= - - hash2 - - iTJwrct6/Zdwlxdm5T/GC9hA4ztJ0z5vMfrd5koPIkM= - - optional - - - Resources/fr_CA.lproj - - symlink - fr.lproj - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - hash2 - - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= - - optional - - - Resources/hr.lproj/SUAutomaticUpdateAlert.nib - - hash - - Cm5xB6CrM6wuejFT33ju6VY2HEs= - - hash2 - - u6NUXIHUOC4QR+nnnO0TNWzqyKVAGhk36r4RL/x5lOY= - - optional - - - Resources/hr.lproj/SUUpdateAlert.nib - - hash - - 7FA6to8hN/6rfeAd6TLnbFvv2x0= - - hash2 - - p5mG4KzmWxwEmY2RKS64ygf1QbiwSjqgaJW+ZhkDdE8= - - optional - - - Resources/hr.lproj/SUUpdatePermissionPrompt.nib - - hash - - WgV9dYfaL3sG5N0oKyA9QLoSNf4= - - hash2 - - UvQSP8Ko6rYFnXp4fYkIgXCQyrqNnBCTanoASHV5Yqg= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - cg3tRv/UshuWY4el+bbeoBZUzd4= - - hash2 - - dkl+Vn68FbdfQQMcnDHr8oXTSzW0uKtYMKZ0dTf9aC4= - - optional - - - Resources/hu.lproj/SUAutomaticUpdateAlert.nib - - hash - - Ta020ytMvdWoBGsG2ai3Kg5FiZ0= - - hash2 - - LXzGYmMQ3bUKhyjUL4uYTmYnwisy6xV+E4enW/6THvY= - - optional - - - Resources/hu.lproj/SUUpdateAlert.nib - - hash - - zBzxqJvi+M2hiCe8MmNQhU+pcnA= - - hash2 - - cCbWYOvVx75TbeKpB8B6MXJC0pIbiVG5YXFdQKqIAtw= - - optional - - - Resources/hu.lproj/SUUpdatePermissionPrompt.nib - - hash - - F80kJ3B5fIiN/fxFZKHdylm5FTw= - - hash2 - - 5jAujR4B0NFf4RTOjceH4HHOc3JEjWyPMsdFHJ3rTag= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - PR7CwzbW+Lh9vVOFOSEI/fShBAM= - - hash2 - - 03d0wnNZx2by2rcwyyUQp8ZbjVmAEQoBXA1HN25F7Hs= - - optional - - - Resources/is.lproj/SUAutomaticUpdateAlert.nib - - hash - - QfAiNgb7olttGvUu39P9lcmPDps= - - hash2 - - lmPDGTMjUc6vONs2PW2WD9zdwS/j62eX6QcjYbUdohs= - - optional - - - Resources/is.lproj/SUUpdateAlert.nib - - hash - - DoBtdOf/QZ/VRlI+DQTnebJFIVQ= - - hash2 - - ymL4VB3ICqkI4rRLMMMX0TCMMrKpAZLxInD51+xAjjk= - - optional - - - Resources/is.lproj/SUUpdatePermissionPrompt.nib - - hash - - z6nVKzAtorNIPYpUQqlQ0JA4xsY= - - hash2 - - 8JwNDeLmm9NTanE4uhY/oGU60cHi63CBvKARBd90nIE= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - hash2 - - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= - - optional - - - Resources/it.lproj/SUAutomaticUpdateAlert.nib - - hash - - en+oVqjpH6FC14is611rMV4cDSc= - - hash2 - - moPI3y4Se4MRBj3+g8UpmQ0D8YvgOqVAemkm6rHfcv4= - - optional - - - Resources/it.lproj/SUUpdateAlert.nib - - hash - - jl9y0N6hgeMk97jXKLeXK3asoMU= - - hash2 - - X/x+ZgG3+ZYOKowPtEAb9VffsTTwMTt1ECU/j7FArnI= - - optional - - - Resources/it.lproj/SUUpdatePermissionPrompt.nib - - hash - - k3JCck2STpTl/2AIFrlZ7Tz3vfI= - - hash2 - - XMYD9aPzug1vNhlnP5L1kr53NaPKitR+AZXZ6fGEjlU= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= - - hash2 - - SnALHmsNWW8OuPdd4u6wTLF7MpPLJhJp//vTwuGcJpY= - - optional - - - Resources/ja.lproj/SUAutomaticUpdateAlert.nib - - hash - - 8OlMKqxDIQWHuNf2MWp9kAoYGYc= - - hash2 - - etKdel/9C6eN94+R8M/p1Ny94eKOsBOv5E3hwa1pU6g= - - optional - - - Resources/ja.lproj/SUUpdateAlert.nib - - hash - - 805CZOe5mUKZdsPmMX7GooIovYc= - - hash2 - - 75muDAj7+5lRkrOvTqquI7aUYdNF4lYJCs7gYjXjupU= - - optional - - - Resources/ja.lproj/SUUpdatePermissionPrompt.nib - - hash - - wwwG1q3BXLQocD4XHg6dezexeqI= - - hash2 - - iemi2aAyBjDpzo9IuhaDg10SkCBe3oUQdkgkaqzJ3A4= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - pOqMr4NLCYTsTevlFEYuB28kdvo= - - hash2 - - jnZ+6gkcjoepDpH6/BXf4i3Txhm79rLxvJeqpPqHteE= - - optional - - - Resources/ko.lproj/SUAutomaticUpdateAlert.nib - - hash - - koINYXxQauHU3LZYoDKn2pWT9hI= - - hash2 - - WOV4mgLOeHofOZr0Ms2+Kjk9iRLzM+klFFrVMGuU6Vs= - - optional - - - Resources/ko.lproj/SUUpdateAlert.nib - - hash - - 7teSE4nh94hXT1P+jp148GcIRzU= - - hash2 - - Cp8HHkv5qlucqiH2SUU1B288rL+akGsJVUYf+OCUWyA= - - optional - - - Resources/ko.lproj/SUUpdatePermissionPrompt.nib - - hash - - 1p6DXqC1bjxHg9G1ey8ujMea9d4= - - hash2 - - cLAQ2soZBfuPb8i7cP8PKwZodm03/Oi6b/B/zE3pGb8= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= - - hash2 - - o5tc0FFNdGdzBM2RGpZDRFKYF7JMFNZbfPyh3Surt7c= - - optional - - - Resources/nb.lproj/SUAutomaticUpdateAlert.nib - - hash - - rAQnrkDNPgucqNN2yrVQ8JG2UA4= - - hash2 - - VXzXCNhCLQkJMwz64B8Vh31xqfk1yMl8+Jm7ka7p9rc= - - optional - - - Resources/nb.lproj/SUUpdateAlert.nib - - hash - - jlywEvuVN1J5OKNSeFcIKynN8yc= - - hash2 - - ei9iSli+r/K4jIZUAMVIlvGdFKZcHlDlE3qzlXzL+TM= - - optional - - - Resources/nb.lproj/SUUpdatePermissionPrompt.nib - - hash - - WNOPsBqyh9plEDaicddV+Hyeg70= - - hash2 - - 9qJDdCW/9ugML8yMal+aa0mQJ9AgWe3y1DsNyiLo8w8= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - ZdW2FCEBSCiNzzblpiVbzqOQs00= - - hash2 - - CiGpWxnyFqcL70YEaY6tZavZqd/L3I/gl/58Vf/j9ys= - - optional - - - Resources/nl.lproj/SUAutomaticUpdateAlert.nib - - hash - - 6vqQpujXZsPydnj0yg2MvD0OVDU= - - hash2 - - +BN1LB5lTjpLbuts49+Q/SgIHhjxaWMypMpJOSH8QHg= - - optional - - - Resources/nl.lproj/SUUpdateAlert.nib - - hash - - Lf46KdJAHcN67PEeHU0glQEkgcM= - - hash2 - - ETImHJcE6eY9ca+JSt5Xn8+9FG3sHHRfXvUAxzeRyGE= - - optional - - - Resources/nl.lproj/SUUpdatePermissionPrompt.nib - - hash - - ddljqD94I9mh+iBugB3arj3kTK4= - - hash2 - - 18yQ9pLXmD70zdOLf3hSvGs/O4qst4btggcVqXzNSe8= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - 3BsDDQcMCxtwvlr07YzTG096bmU= - - hash2 - - rOb3Gc/eTUZhs/QUuspB/stVPNkSU75vZKR5LNcdTek= - - optional - - - Resources/pl.lproj/SUAutomaticUpdateAlert.nib - - hash - - falBiLjAD9jwCRplLXt1OL5kWMQ= - - hash2 - - D6yjgK9ukgKKfSKTmNUMuDw6GRNxwyptpCgvQhadBnE= - - optional - - - Resources/pl.lproj/SUUpdateAlert.nib - - hash - - 649CLq4ceA8aiA2yAgq8HcD4+KY= - - hash2 - - +xFPhl6D9IXkhukLh2SoowFdapEmIB/IvR5FUHTjqeM= - - optional - - - Resources/pl.lproj/SUUpdatePermissionPrompt.nib - - hash - - fbmTwUag6J26eAzp0asdE40T5i0= - - hash2 - - kxyTbXtuEDozotCV5wJyNsl+xeWMRZmauGbIWVvafh4= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - tbKCaaSKLjvC7nDxfs/zxdO0sB0= - - hash2 - - yGt+gco6nzn7EMGrYj5QUGfy/Ax/HcMHlPi7v2gwdPk= - - optional - - - Resources/pt.lproj - - symlink - pt_BR.lproj - - Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib - - hash - - hJzRpD2eBYGDuhg/iUJcH7uB8tA= - - hash2 - - ayRMnoEnCbz2O5JTBi3Tq4dZcmOty9Ob8ACYFBqM+8Y= - - optional - - - Resources/pt_BR.lproj/SUUpdateAlert.nib - - hash - - UhY0XY+MFGYlG+Vb9gvcvhBUfsw= - - hash2 - - J5CYL4Zv4SOZ1D9uLBJLcPethIr3DkmP9uw15koeMRA= - - optional - - - Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib - - hash - - msqNUCHEFovp+Y599QV5x0+z+WI= - - hash2 - - W0kbvaZv1rkKmRX5FBYEeovyOw2HNgmF6vl32AYLHFY= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - fCBMPEPsgJUYEr/n7SCU8YstLAs= - - hash2 - - vKlvCF9C0Tkpv05lzTmL8xZUeTclYhgm3mDU+0FCPLQ= - - optional - - - Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib - - hash - - yHDYLQbIPlI2X8rEYGY4/5LWBi4= - - hash2 - - kc/qSyrEVjU3JeWgz9DlyZvhv1Zd9aNdWg91ibHOHZo= - - optional - - - Resources/pt_PT.lproj/SUUpdateAlert.nib - - hash - - 4TaxICR2uqtxe+w9zMUv4FmnxXs= - - hash2 - - VvuvW/KIOxPSkcGaG/5A8XdfcyA9oErIfGXdxKXUnnk= - - optional - - - Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib - - hash - - s5I+D0hkqE52sejLdAafI0BjSF0= - - hash2 - - 4HphGnZI6uwazdF/35ONwir1D//rzZJe9IGYYMaaBig= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= - - hash2 - - Qedn2GikAYoVHUMFjZs4DYYZ0OLQtZKSCJTQDSb0WuE= - - optional - - - Resources/ro.lproj/SUAutomaticUpdateAlert.nib - - hash - - RhePTD+M3ZecywnXYC9skIWbNqk= - - hash2 - - U2xAy8AJDAYicEOewITFc3ABA2bCUXrZf1sDW/L7DfE= - - optional - - - Resources/ro.lproj/SUUpdateAlert.nib - - hash - - 4yC+DHk3ji+VWitTWRl+qF+nJaU= - - hash2 - - t+nLmoowr5vKV1zI+UjWKazVGmZqfZapYSPEjLn2a0s= - - optional - - - Resources/ro.lproj/SUUpdatePermissionPrompt.nib - - hash - - SAd937syHUKVCL4vDZXLjkv2owE= - - hash2 - - dI7e9ECURktpJhh8p36/nA9xtvCKCIZCIsAZNtP+LeU= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - DQSgRc2GsuXpDdBrs3wSPW5Y3As= - - hash2 - - HakhsVJkpV0iiAc2tmuQ/p107dUH70aWI4tutDGX5Ps= - - optional - - - Resources/ru.lproj/SUAutomaticUpdateAlert.nib - - hash - - SkSjQVxY+KHuO+GTZEt3zLEDhQk= - - hash2 - - hSSOEdI5Muv4m/DOr8FJSL3tmj2jnk3ZanpEqcXOaKU= - - optional - - - Resources/ru.lproj/SUUpdateAlert.nib - - hash - - Uc64V+ZpoA7pJ9Um3hV17os9ILM= - - hash2 - - PL1ZdQ7M1NDIliwybd21O0VA/CLuUSBo3oxRgz2JIBI= - - optional - - - Resources/ru.lproj/SUUpdatePermissionPrompt.nib - - hash - - EKYmSkQDwRcdG3GrKtDn91/ZeIc= - - hash2 - - bXsJjirVPXjDuJaAhKZwFG9ABXgFRI0X/haVazQeIRk= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - nm1CwJSExUzZFYaiAHF7VIkGn6I= - - hash2 - - /aioLC/IpLjhwGWWNrpmzvhFrjFcHxA6ZXtagde3rjA= - - optional - - - Resources/sk.lproj/SUAutomaticUpdateAlert.nib - - hash - - 39yerBtrGFhsyI2CwYlaTpo4oFc= - - hash2 - - fY6X6PI6faTAxzru/Vsd+MZ+s07NpOK5hqpAJA9B5Kc= - - optional - - - Resources/sk.lproj/SUUpdateAlert.nib - - hash - - em7ReM6bjWlxO4KO0ap8OA0Ct0U= - - hash2 - - Rz14ciOwjEJWlzUZfo065wtjg6g4zCI6IUbvIG5Ro2A= - - optional - - - Resources/sk.lproj/SUUpdatePermissionPrompt.nib - - hash - - WLq8WLwZ0UhsEMewFOJUGy/rbno= - - hash2 - - lsnX4RwNq38ykMkcrTfqf9wdaPFzFp349KP/eCYrf0c= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - /iRGi+ly+kyot+oc/hjr0ZcBShM= - - hash2 - - Dr7D2ChakP7IjzSKPULAjfQ//onLMkL0gw+yyfYjspA= - - optional - - - Resources/sl.lproj/SUAutomaticUpdateAlert.nib - - hash - - DkdFsR7oszA3NVRNwp8coxcqx30= - - hash2 - - YuWD4Y6imxivYzusTmBOZPFL0y/Rymx+sQjzdGCScIQ= - - optional - - - Resources/sl.lproj/SUUpdateAlert.nib - - hash - - y7WIZoHhjlDg9y7SoyhiewPP0og= - - hash2 - - yS6XZXJ5XGSEZdt15ut0LMTtzCAcV41xwRQ5jHYmzB8= - - optional - - - Resources/sl.lproj/SUUpdatePermissionPrompt.nib - - hash - - IMsfAmEnTg0DKWJy2T7aWpDVXmU= - - hash2 - - UQ2BfHfl1haajq3slicXLgaUpl/L0GovQuFlWw1ojMI= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - sATNnW+R68nq8JWI+WTAnDhypIM= - - hash2 - - TonjJQq91roqTPcD7kBKH/xsfvhc0wl3q0XBSySAu+g= - - optional - - - Resources/sv.lproj/SUAutomaticUpdateAlert.nib - - hash - - TOBuyZldMnYY7WAjwKsgfNngGzw= - - hash2 - - ytU0lwiTvfqu2GY/SV3Vg8K8gIlllBPRj1hKdSf1pOY= - - optional - - - Resources/sv.lproj/SUUpdateAlert.nib - - hash - - JqEM2KYuYzYRs1d/ZZBEIOgzz9A= - - hash2 - - k67yrGapPMumydgyz/IWoXss2I7WcQ/zsvXJIu6rJao= - - optional - - - Resources/sv.lproj/SUUpdatePermissionPrompt.nib - - hash - - Hba1IfRrlurIEeqShU3fa3b2NOk= - - hash2 - - mNSEQLu1+jeei9sWwTietSm5DDWQZp68W2VwwmRmP24= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - tUiNJSF7ds41OWD4IyeZogQOekk= - - hash2 - - QLVPGXWqtZ9Udh4uz+lLiX83nnDGdDM9WER9W2GBsv4= - - optional - - - Resources/th.lproj/SUAutomaticUpdateAlert.nib - - hash - - Xe4/CNqml8hXrIVGuamdbDoRLhI= - - hash2 - - jSprLiBbuFsKf2HD91F5gSCfHDGQ5rbt53RlH3iL+5I= - - optional - - - Resources/th.lproj/SUUpdateAlert.nib - - hash - - 7qb38jUasseLhMxZL9oDY/dz78A= - - hash2 - - k3h2SDY10jvUUVaRsOv9biOXsY+J5iPRMaZ/YB+7qH8= - - optional - - - Resources/th.lproj/SUUpdatePermissionPrompt.nib - - hash - - Y5Y2Xqtt/eX2BmwDr42E0zhOXBs= - - hash2 - - 0AXinw4CVb5ztJDWLszFnwSnrP51AqUaHpq2g8ndR2c= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - xtkemLr0M1e/ZWKgA4ENtgOFXa8= - - hash2 - - fS7xcje0F0oq7sIn18SpN+cXAXCKsPBDNU/R9W3POqI= - - optional - - - Resources/tr.lproj/SUAutomaticUpdateAlert.nib - - hash - - Y5NeSxnsaC/M2zoj0FqZWTDsR+c= - - hash2 - - jgBN1TdYk2bSPwdDQUGHT2tm6hYjCdB+qxLO0saaqNY= - - optional - - - Resources/tr.lproj/SUUpdateAlert.nib - - hash - - CLyy1d1X7+RSdtHv7mLWKxBcMyE= - - hash2 - - v5+wlzlXrkZ6DxouEYdPqA2LyZfhnRtdVTtavbPeUcE= - - optional - - - Resources/tr.lproj/SUUpdatePermissionPrompt.nib - - hash - - C3lsSy0MB/EigbTwhIE1p2oZjCQ= - - hash2 - - 4lsf84hTk00JCf35Ei87oL0qDRjP+/SVsC7apNF35BY= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - 1ZAnkcXSiedlZc0O8oX54NwZHkA= - - hash2 - - zKHIxWlHwUZ/93ji6b0kLof1QMBjmIQGE8E5urNuTZg= - - optional - - - Resources/uk.lproj/SUAutomaticUpdateAlert.nib - - hash - - dmMc4nnq56aacVapzFYG3jHFVX8= - - hash2 - - /jVGnP5vI1y/uP0+krA52VfM/obABBC3vc3x+Eiselg= - - optional - - - Resources/uk.lproj/SUUpdateAlert.nib - - hash - - knu44G28ze1px/y4oFGNCFZPP2I= - - hash2 - - F7pNazCdjW8bvIylnsHHHohaVijnd7NICOTCzY78UIc= - - optional - - - Resources/uk.lproj/SUUpdatePermissionPrompt.nib - - hash - - wkfA4wH4NC2SqxZiQvSKxRh33ng= - - hash2 - - MVEzhnpxJ66qo4bv4uZi+w5X1tFrUEDuOFJDwDVGsRU= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - pZzpQkpsUENxNUOdVMiFdri0zX0= - - hash2 - - P9H3Jrk+Zyq2tenKBdBC+b9hcLg4nlIEbRlXUAN1AqA= - - optional - - - Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib - - hash - - JaVa+nFOONCOlqhkuRcMBHLko9o= - - hash2 - - TcfqSUOfq895MB0oH/1vcsQIWHaZAiQUlkvNU70kZIE= - - optional - - - Resources/zh_CN.lproj/SUUpdateAlert.nib - - hash - - 7Hl5pts66IZ2CjCulfM+kOM9/wc= - - hash2 - - +fYHPNj1T8cQXyO28+UcsvVY9QLeYE3ICpNX94kH/DE= - - optional - - - Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib - - hash - - r0OUSx+5+77QhV7WxalrGEr+N7s= - - hash2 - - AIE4ZqgaLsfxzXeMEYSBiWaPH5LQq70jDOkOVlpifB4= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - srfTNLIFIdhNKE0yRzwEqAD7b+c= - - hash2 - - BhJKIV1dEw3kjBKsXdi9ATHVkYVIbZphZW4ZuTLUXQQ= - - optional - - - Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib - - hash - - naa+4UABTZC/NFFY2yNP2sXAz+w= - - hash2 - - Ymok2z+Q00RHNHW2eLUmWfM6m5C5NNg+efpq61NaTq0= - - optional - - - Resources/zh_TW.lproj/SUUpdateAlert.nib - - hash - - 3IjnWJ9cNzWBNJ3CEYwe7UbkW4o= - - hash2 - - kI0rJhK0Nd9w2anJufw1u/thf2cT1l3g8whKoFAL01I= - - optional - - - Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib - - hash - - yMSZqhPW5l9+cgD60ReOd4GKbto= - - hash2 - - 9k1jswGDl4ZwoPT2RcvtlixQysBhD9CiBcs1OzhDCis= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - xTTZRp0ziBZthxP8cgRiEgxZE0U= - - hash2 - - 2aZwBp9W8BR6Tbt6hEDjm/y/vo3FGMCIQOAsclVy+kQ= - - optional - - - - rules - - ^Resources/ - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^Resources/ - - weight - 20 - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/Support/Sparkle.framework/Versions/B/Autoupdate b/Support/Sparkle.framework/Versions/B/Autoupdate new file mode 100755 index 0000000..2e3a465 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Autoupdate differ diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUAppcastSigningValidationStatus.h b/Support/Sparkle.framework/Versions/B/Headers/SPUAppcastSigningValidationStatus.h new file mode 100644 index 0000000..daaa9bc --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUAppcastSigningValidationStatus.h @@ -0,0 +1,32 @@ +// +// SPUAppcastSigningValidationStatus.h +// Sparkle +// +// Created on 12/30/25. +// Copyright © 2025 Sparkle Project. All rights reserved. +// + +#ifndef SPUAppcastSigningValidationStatus_h +#define SPUAppcastSigningValidationStatus_h + +typedef NS_ENUM(NSInteger, SPUAppcastSigningValidationStatus) +{ + /** + The bundle does not opt into requiring appcast signing and no validation of the appcast feed is done. + */ + SPUAppcastSigningValidationStatusSkipped = 0, + + /** + The appcast is signed and validation has passed succesfully. + */ + SPUAppcastSigningValidationStatusSucceeded, + + /** + The appcast is signed and validation has failed. In this case, appcast items operate in a 'safe' fallback mode + meaning that they cannot be marked as a critical update, cannot be marked as informational update, + and will not have any release note or link references. + */ + SPUAppcastSigningValidationStatusFailed, +}; + +#endif /* SPUAppcastSigningValidationStatus_h */ diff --git a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h b/Support/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h similarity index 57% rename from Support/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h rename to Support/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h index 41cd574..9c43bc5 100644 --- a/Support/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h @@ -6,34 +6,43 @@ // Copyright © 2016 Sparkle Project. All rights reserved. // -#if __has_feature(modules) -@import Foundation; -#else #import -#endif +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" #import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif NS_ASSUME_NONNULL_BEGIN -/*! +/** * A class for containing downloaded data along with some information about it. */ -SU_EXPORT @interface SPUDownloadData : NSObject +SU_EXPORT NS_SWIFT_SENDABLE @interface SPUDownloadData : NSObject -- (instancetype)initWithData:(NSData *)data textEncodingName:(NSString * _Nullable)textEncodingName MIMEType:(NSString * _Nullable)MIMEType; - -/*! +/** * The raw data that was downloaded. */ @property (nonatomic, readonly) NSData *data; -/*! +/** + * The URL that was fetched from. + * + * This may be different from the URL in the request if there were redirects involved. + */ +@property (nonatomic, readonly, copy) NSURL *URL; + +/** * The IANA charset encoding name if available. Eg: "utf-8" */ @property (nonatomic, readonly, nullable, copy) NSString *textEncodingName; -/*! +/** * The MIME type if available. Eg: "text/plain" */ @property (nonatomic, readonly, nullable, copy) NSString *MIMEType; diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h new file mode 100644 index 0000000..e911550 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h @@ -0,0 +1,127 @@ +// +// SPUStandardUpdaterController.h +// Sparkle +// +// Created by Mayur Pawashe on 2/28/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SPUUpdater; +@class SPUStandardUserDriver; +@class NSMenuItem; +@protocol SPUUserDriver, SPUUpdaterDelegate, SPUStandardUserDriverDelegate; + +/** + A controller class that instantiates a `SPUUpdater` and allows binding UI to its updater settings. + + This class can be instantiated in a nib or created programmatically using `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:`. + + The controller's updater targets the application's main bundle and uses Sparkle's standard user interface. + Typically, this class is used by sticking it as a custom NSObject subclass in an Interface Builder nib (probably in MainMenu) but it works well programmatically too. + + The controller creates an `SPUUpdater` instance using a `SPUStandardUserDriver` and allows hooking up the check for updates action and handling menu item validation. + It also allows hooking up the updater's and user driver's delegates. + + If you need more control over what bundle you want to update, or you want to provide a custom user interface (via `SPUUserDriver`), please use `SPUUpdater` directly instead. + + This class must be used on the main thread. + */ +SU_EXPORT NS_SWIFT_UI_ACTOR @interface SPUStandardUpdaterController : NSObject +{ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-interface-ivars" + /** + * Interface builder outlet for the updater's delegate. + */ + IBOutlet __weak id updaterDelegate; + + /** + * Interface builder outlet for the user driver's delegate. + */ + IBOutlet __weak id userDriverDelegate; +#pragma clang diagnostic pop +} + +/** + Accessible property for the updater. Some properties on the updater can be binded via KVO + + When instantiated from a nib, don't perform update checks before the application has finished launching in a MainMenu nib (i.e applicationDidFinishLaunching:) or before the corresponding window/view controller has been loaded (i.e, windowDidLoad or viewDidLoad). The updater is not guaranteed to be started yet before these points. + */ +@property (nonatomic, readonly) SPUUpdater *updater; + +/** + Accessible property for the updater's user driver. + */ +@property (nonatomic, readonly) SPUStandardUserDriver *userDriver; + +/** + Create a new `SPUStandardUpdaterController` from a nib. + + You cannot call this initializer directly. You must instantiate a `SPUStandardUpdaterController` inside of a nib (typically the MainMenu nib) to use it. + + To create a `SPUStandardUpdaterController` programmatically, use `-initWithUpdaterDelegate:userDriverDelegate:` or `-initWithStartingUpdater:updaterDelegate:userDriverDelegate:` instead. + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + Create a new `SPUStandardUpdaterController` programmatically. + + The updater is started automatically. See `-startUpdater` for more information. + + Note the `updaterDelegate` and `userDriverDelegate` are weakly referenced, so you are responsible for keeping them alive. + */ +- (instancetype)initWithUpdaterDelegate:(nullable id)updaterDelegate userDriverDelegate:(nullable id)userDriverDelegate; + +/** + Create a new `SPUStandardUpdaterController` programmatically allowing you to specify whether or not to start the updater immediately. + + You can specify whether or not you want to start the updater immediately. + If you do not start the updater, you must invoke `-startUpdater` at a later time to start it. + + Note the `updaterDelegate` and `userDriverDelegate` are weakly referenced, so you are responsible for keeping them alive. + */ +- (instancetype)initWithStartingUpdater:(BOOL)startUpdater updaterDelegate:(nullable id)updaterDelegate userDriverDelegate:(nullable id)userDriverDelegate; + +/** + Starts the updater if it has not already been started. + + You should only call this method yourself if you opted out of starting the updater on initialization. + Hence, do not call this yourself if you are instantiating this controller from a nib. + + This invokes `-[SPUUpdater startUpdater:]`. If the application is misconfigured with Sparkle, an error is logged and an alert is shown to the user (after a few seconds) to contact the developer. + If you want more control over this behavior, you can create your own `SPUUpdater` instead of using `SPUStandardUpdaterController`. + */ +- (void)startUpdater; + +/** + Explicitly checks for updates and displays a progress dialog while doing so. + + This method is meant for a main menu item. + Connect any NSMenuItem to this action in Interface Builder or programmatically, + and Sparkle will check for updates and report back its findings verbosely when it is invoked. + + When the target/action of the menu item is set to this controller and this method, + this controller also handles enabling/disabling the menu item by checking + `-[SPUUpdater canCheckForUpdates]` + + This action checks updates by invoking `-[SPUUpdater checkForUpdates]` + */ +- (IBAction)checkForUpdates:(nullable id)sender; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h new file mode 100644 index 0000000..cac0330 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h @@ -0,0 +1,47 @@ +// +// SPUStandardUserDriver.h +// Sparkle +// +// Created by Mayur Pawashe on 2/14/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SPUUserDriver.h" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@protocol SPUStandardUserDriverDelegate; + +/** + Sparkle's standard built-in user driver for updater interactions + */ +SU_EXPORT NS_SWIFT_UI_ACTOR @interface SPUStandardUserDriver : NSObject + +/** + Initializes a Sparkle's standard user driver for user update interactions + + @param hostBundle The target bundle of the host that is being updated. + @param delegate The optional delegate to this user driver. Note the standard user driver weakly references the delegate, so you are responsible for keeping it alive. + */ +- (instancetype)initWithHostBundle:(NSBundle *)hostBundle delegate:(nullable id)delegate; + +/** + Use initWithHostBundle:delegate: instead. + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h new file mode 100644 index 0000000..d2cfee8 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h @@ -0,0 +1,209 @@ +// +// SPUStandardUserDriverDelegate.h +// Sparkle +// +// Created by Mayur Pawashe on 3/3/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@protocol SUVersionDisplay; +@class SUAppcastItem; +@class SPUUserUpdateState; + +/** + A protocol for Sparkle's standard user driver's delegate + + This includes methods related to UI interactions + */ +SU_EXPORT @protocol SPUStandardUserDriverDelegate + +@optional + +/** + Called before showing a modal alert window, + to give the opportunity to hide attached windows that may get in the way. + */ +- (void)standardUserDriverWillShowModalAlert; + +/** + Called after showing a modal alert window, + to give the opportunity to hide attached windows that may get in the way. + */ +- (void)standardUserDriverDidShowModalAlert; + +/** + Returns an object that formats version numbers for display to the user. + If you don't implement this method or return @c nil, the standard version formatter will be used. + */ +- (_Nullable id )standardUserDriverRequestsVersionDisplayer; + +/** + Decides whether or not the standard user driver should provide an option to show full release notes to the user. + + When a user checks for new updates and no new update is found, Sparkle by default will offer to show the application's version history to the user + by providing a "Version History" button in the no new update available alert. + + If this delegate method is implemented to return `NO`, then Sparkle will not provide an option to show full release notes to the user. + + @param item The appcast item corresponding to the latest version available. + @return @c YES to allow Sparkle to show full release notes to the user, otherwise @c NO to disallow this. + */ +- (BOOL)standardUserDriverShouldShowVersionHistoryForAppcastItem:(SUAppcastItem *)item; + +/** + Handles showing the full release notes to the user. + + When a user checks for new updates and no new update is found, Sparkle will offer to show the application's version history to the user + by providing a "Version History" button in the no new update available alert. + + If this delegate method is not implemented, Sparkle will instead offer to open the + `fullReleaseNotesLink` (or `releaseNotesLink` if the former is unavailable) from the appcast's latest `item` in the user's web browser. + + If this delegate method is implemented, Sparkle will instead ask the delegate to show the full release notes to the user. + A delegate may want to implement this method if they want to show in-app or offline release notes. + + @param item The appcast item corresponding to the latest version available. + */ +- (void)standardUserDriverShowVersionHistoryForAppcastItem:(SUAppcastItem *)item; + +/** + Specifies whether or not the download, extraction, and installing status windows allows to be minimized. + + By default, the status window showing the current status of the update (download, extraction, ready to install) is allowed to be minimized + for regular application bundle updates. + + @return @c YES if the status window is allowed to be minimized (default behavior), otherwise @c NO. + */ +- (BOOL)standardUserDriverAllowsMinimizableStatusWindow; + +/** + Declares whether or not gentle scheduled update reminders are supported. + + The delegate may implement scheduled update reminders that are presented in a gentle manner by implementing one or both of: + `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` and `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:` + + Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples. + + @return @c YES if gentle scheduled update reminders are implemented by standard user driver delegate, otherwise @c NO (default). + */ +@property (nonatomic, readonly) BOOL supportsGentleScheduledUpdateReminders; + +/** + Specifies if the standard user driver should handle showing a new scheduled update, or if its delegate should handle showing the update instead. + + If you implement this method and return @c NO the delegate is then responsible for showing the update, + which must be implemented and done in `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` + The motivation for the delegate being responsible for showing updates is to override Sparkle's default behavior + and add gentle reminders for new updates. + + Returning @c YES is the default behavior and allows the standard user driver to handle showing the update. + + If the standard user driver handles showing the update, `immediateFocus` reflects whether or not it will show the update in immediate and utmost focus. + The standard user driver may choose to show the update in immediate and utmost focus when the app was launched recently + or the system has been idle for some time. + + If `immediateFocus` is @c NO the standard user driver may want to defer showing the update until the user comes back to the app. + For background running applications, when `immediateFocus` is @c NO the standard user driver will always want to show + the update alert immediately, but behind other running applications or behind the app's own windows if it's currently active. + + There should be no side effects made when implementing this method so you should just return @c YES or @c NO + You will also want to implement `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` for adding additional update reminders. + + This method is not called for user-initiated update checks. The standard user driver always handles those. + + Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples. + + @param update The update the standard user driver should show. + @param immediateFocus If @c immediateFocus is @c YES, then the standard user driver proposes to show the update in immediate and utmost focus. See discussion for more details. + + @return @c YES if the standard user should handle showing the scheduled update (default behavior), otherwise @c NO if the delegate handles showing it. + */ +- (BOOL)standardUserDriverShouldHandleShowingScheduledUpdate:(SUAppcastItem *)update andInImmediateFocus:(BOOL)immediateFocus; + +/** + Called before an update will be shown to the user. + + If the standard user driver handles showing the update, `handleShowingUpdate` will be `YES`. + Please see `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:` for how the standard user driver + may handle showing scheduled updates when `handleShowingUpdate` is `YES` and `state.userInitiated` is `NO`. + + If the delegate declared it handles showing the update by returning @c NO in `-standardUserDriverShouldHandleShowingScheduledUpdate:andInImmediateFocus:` + then the delegate should handle showing update reminders in this method, or at some later point. + In this case, `handleShowingUpdate` will be @c NO. + To bring the update alert in focus, you may call `-[SPUStandardUpdaterController checkForUpdates:]` or `-[SPUUpdater checkForUpdates]`. + You may want to show additional UI indicators in your application that will show this update in focus + and want to dismiss additional UI indicators in `-standardUserDriverWillFinishUpdateSession` or `-standardUserDriverDidReceiveUserAttentionForUpdate:` + + If `state.userInitiated` is @c YES then the standard user driver always handles showing the new update and `handleShowingUpdate` will be @c YES. + In this case, it may still be useful for the delegate to intercept this method right before a new update will be shown. + + This method is not called when bringing an update that has already been presented back in focus. + + Visit https://sparkle-project.org/documentation/gentle-reminders for more information and examples. + + @param handleShowingUpdate @c YES if the standard user driver handles showing the update, otherwise @c NO if the delegate handles showing the update. + @param update The update that will be shown. + @param state The user state of the update which includes if the update check was initiated by the user. + */ +- (void)standardUserDriverWillHandleShowingUpdate:(BOOL)handleShowingUpdate forUpdate:(SUAppcastItem *)update state:(SPUUserUpdateState *)state; + +/** + Called when a new update first receives attention from the user. + + This occurs either when the user first brings the update alert in utmost focus or when the user makes a choice to install an update or dismiss/skip it. + + This may be useful to intercept for dismissing custom attention-based UI indicators (e.g, user notifications) introduced when implementing + `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` + + For custom UI indicators that need to still be on screen after the user has started to install an update, please see `-standardUserDriverWillFinishUpdateSession`. + + @param update The new update that the user gave attention to. + */ +- (void)standardUserDriverDidReceiveUserAttentionForUpdate:(SUAppcastItem *)update; + +/** + Called before the standard user driver session will finish its current update session. + + This may occur after the user has dismissed / skipped a new update or after an update error has occurred. + For updaters updating external/other bundles, this may also be called after an update has been successfully installed. + + This may be useful to intercept for dismissing custom UI indicators introduced when implementing + `-standardUserDriverWillHandleShowingUpdate:forUpdate:state:` + + For UI indicators that need to be dismissed when the user has given attention to a new update alert, + please see `-standardUserDriverDidReceiveUserAttentionForUpdate:` + */ +- (void)standardUserDriverWillFinishUpdateSession; + +/** + Called before the standard user driver shows plain-text or markdown release notes text to the user. + + The delegate has the opportunity to return a new attributed string for the release notes text that will be shown to the user. + The `bundleDisplayVersion` and `bundleVersion` are supplied in case they're useful for creating a new attributed string. + + This method will not be invoked for HTML release notes. It is only applicable to plain-text and markdown release notes. + + @param releaseNotesAttributedString The release notes text that the standard user driver wants to show to the user. + @param update The new update the release notes will be shown for. + @param bundleDisplayVersion The current display version (or `CFBundleShortVersionString`) of the bundle that is being updated. + @param bundleVersion The current version (or `CFBundleVersion`) of the bundle that is being updated. + @return A new attributed string for the release notes text to show, or @c nil if the `releaseNotesAttributedString` should still be used. + */ +- (NSAttributedString * _Nullable)standardUserDriverWillShowReleaseNotesText:(NSAttributedString *)releaseNotesAttributedString forUpdate:(SUAppcastItem *)update withBundleDisplayVersion:(NSString *)bundleDisplayVersion bundleVersion:(NSString *)bundleVersion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h new file mode 100644 index 0000000..80a2001 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h @@ -0,0 +1,33 @@ +// +// SPUUpdateCheck.h +// SPUUpdateCheck +// +// Created by Mayur Pawashe on 8/28/21. +// Copyright © 2021 Sparkle Project. All rights reserved. +// + +#ifndef SPUUpdateCheck_h +#define SPUUpdateCheck_h + +/** + Describes the type of update check being performed. + + Each update check corresponds to an update check method on `SPUUpdater`. + */ +typedef NS_ENUM(NSInteger, SPUUpdateCheck) +{ + /** + The user-initiated update check corresponding to `-[SPUUpdater checkForUpdates]`. + */ + SPUUpdateCheckUpdates = 0, + /** + The background scheduled update check corresponding to `-[SPUUpdater checkForUpdatesInBackground]`. + */ + SPUUpdateCheckUpdatesInBackground = 1, + /** + The informational probe update check corresponding to `-[SPUUpdater checkForUpdateInformation]`. + */ + SPUUpdateCheckUpdateInformation = 2 +}; + +#endif /* SPUUpdateCheck_h */ diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h new file mode 100644 index 0000000..f591802 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h @@ -0,0 +1,42 @@ +// +// SPUUpdatePermissionRequest.h +// Sparkle +// +// Created by Mayur Pawashe on 8/14/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + This class represents information needed to make a permission request for checking updates. + */ +SU_EXPORT NS_SWIFT_SENDABLE @interface SPUUpdatePermissionRequest : NSObject + +/** + Initializes a new update permission request instance. + + @param systemProfile The system profile information. + */ +- (instancetype)initWithSystemProfile:(NSArray *> *)systemProfile; + +/** + A read-only property for the user's system profile. + */ +@property (nonatomic, readonly) NSArray *> *systemProfile; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUpdater.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdater.h new file mode 100644 index 0000000..6b8d32a --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdater.h @@ -0,0 +1,403 @@ +// +// SPUUpdater.h +// Sparkle +// +// Created by Andy Matuschak on 1/4/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SPUUserDriver.h" +#pragma clang diagnostic pop +#else +#import +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SUAppcastItem, SUAppcast; + +@protocol SPUUpdaterDelegate; + +/** + The main API in Sparkle for controlling the update mechanism. + + This class is used to configure the update parameters as well as manually and automatically schedule and control checks for updates. + + For convenience, you can create a standard or nib instantiable updater by using `SPUStandardUpdaterController`. + + Prefer to set initial properties in your bundle's Info.plist as described in [Customizing Sparkle](https://sparkle-project.org/documentation/customization/). + + Otherwise only if you need dynamic behavior for user settings should you set properties on the updater such as: + - `automaticallyChecksForUpdates` + - `updateCheckInterval` + - `automaticallyDownloadsUpdates` + - `feedURL` + + Please view the documentation on each of these properties for more detail if you are to configure them dynamically. + + This class must be used on the main thread. + */ +SU_EXPORT NS_SWIFT_UI_ACTOR @interface SPUUpdater : NSObject + +/** + Initializes a new `SPUUpdater` instance + + This creates an updater, but to start it and schedule update checks `-startUpdater:` needs to be invoked first. + + Related: See `SPUStandardUpdaterController` which wraps a `SPUUpdater` instance and is suitable for instantiating inside of nib files. + + @param hostBundle The bundle that should be targeted for updating. + @param applicationBundle The application bundle that should be waited for termination and relaunched (unless overridden). Usually this can be the same as hostBundle. This may differ when updating a plug-in or other non-application bundle. + @param userDriver The user driver that Sparkle uses for user update interaction. + @param delegate The delegate for `SPUUpdater`. Note the updater weakly references the delegate, so you are responsible for keeping it alive. + */ +- (instancetype)initWithHostBundle:(NSBundle *)hostBundle applicationBundle:(NSBundle *)applicationBundle userDriver:(id )userDriver delegate:(nullable id)delegate; + +/** + Use `-initWithHostBundle:applicationBundle:userDriver:delegate:` or `SPUStandardUpdaterController` standard adapter instead. + + If you want to drop an updater into a nib, use `SPUStandardUpdaterController`. + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + Starts the updater. + + This method first checks if Sparkle is configured properly. A valid feed URL should be set before this method is invoked. + + If the configuration is valid, an update cycle is started in the next main runloop cycle. + During this cycle, a permission prompt may be brought up (if needed) for checking if the user wants automatic update checking. + Otherwise if automatic update checks are enabled, a scheduled update alert may be brought up if enough time has elapsed since the last check. + See `automaticallyChecksForUpdates` for more information. + + After starting the updater and before the next runloop cycle, one of `-checkForUpdates`, `-checkForUpdatesInBackground`, or `-checkForUpdateInformation` can be invoked. + This may be useful if you want to check for updates immediately or without showing a potential permission prompt. + + If the updater cannot be started (i.e, due to a configuration issue in the application), you may want to fall back appropriately. + For example, the standard updater controller (`SPUStandardUpdaterController`) alerts the user that the app is misconfigured and to contact the developer. + + This must be called on the main thread. + + @param error The error that is populated if this method fails. Pass NULL if not interested in the error information. + @return YES if the updater started otherwise NO with a populated error + */ +- (BOOL)startUpdater:(NSError * __autoreleasing *)error; + +/** + Checks for new updates, and displays progress while doing so if needed. + + This is meant for users initiating a new update check or checking the current update progress. + + If an update hasn't started, the user may be shown that a new check for updates is occurring. + If an update has already been downloaded or begun installing from a previous session, the user may be presented to install that update. + If the user is already being presented with an update or update permission prompt, that notice may be shown to the user in active focus + (as long as the user driver is the standard `SPUStandardUserDriver` or if it implements `-[SPUUserDriver showUpdateInFocus]`). + + This will find updates that the user has previously opted into skipping. + See `canCheckForUpdates` property which can determine when this method may be invoked. + + This must be called on the main thread. + */ +- (void)checkForUpdates; + +/** + Checks for new updates in the background. + + You usually should not call this method directly. By default Sparkle calls this method automatically + on a scheduled basis if automatic update checks are enabled. This is done by checking the current state of + `automaticallyChecksForUpdates`, `updateCheckInterval`, `lastUpdateCheckDate`, and + `SUScheduledImpatientCheckInterval`. + + If you want to additionally force an update check on every app launch though, it's recommended to only call this method immediately after starting the updater, + and only when automatic update checks are enabled (by checking `automaticallyChecksForUpdates` is `YES`). Calling this method at later points + could interfere with Sparkle's scheduler in unexpected ways. + + If you want to reset the updater's cycle after an updater setting change, please use `resetUpdateCycle` or `resetUpdateCycleAfterShortDelay` instead. + + Updates that are found may not be presented immediately to the user, either due to automatic downloading/installing of updates being on or + due to gentle reminders https://sparkle-project.org/documentation/gentle-reminders/ for example. + + Updates that have been skipped by the user will not be found. + + This method does not do anything if there is a `sessionInProgress`. + + This must be called on the main thread. + */ +- (void)checkForUpdatesInBackground; + +/** + Begins a "probing" check for updates which will not actually offer to + update to that version. + + However, the delegate methods + `-[SPUUpdaterDelegate updater:didFindValidUpdate:]` and + `-[SPUUpdaterDelegate updaterDidNotFindUpdate:]` will be called, + so you can use that information in your UI. + + `-[SPUUpdaterDelegate updater:didFinishUpdateCycleForUpdateCheck:error:]` will be called when + this probing check is completed. + + Updates that have been skipped by the user will not be found. + + This method does not do anything if there is a `sessionInProgress`. + + This must be called on the main thread. + */ +- (void)checkForUpdateInformation; + +/** + A property indicating whether or not updates can be checked by the user. + + An update check can be made by the user when an update session isn't in progress. + An update check can also be made when an update or its progress is being shown to the user + (as long as the user driver is the standard `SPUStandardUserDriver` or if it implements `-[SPUUserDriver showUpdateInFocus]`). + + A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background. + + This property is suitable to use for menu item validation for seeing if `-checkForUpdates` can be invoked. + + This property is also KVO-compliant. + + Note this property does not reflect whether or not an update session is in progress. Please see `sessionInProgress` property instead. + */ +@property (nonatomic, readonly) BOOL canCheckForUpdates; + +/** + A property indicating whether or not an update session is in progress. + + An update session is in progress when the appcast is being downloaded, an update is being downloaded, + an update is being shown, update permission is being requested, or the installer is being started. + + An active session is when Sparkle's fired scheduler is running. + + Note an update session may not be running even though Sparkle's installer (ran as a separate process) may be running, + or even though the update has been downloaded but the installation has been deferred. In both of these cases, a new update session + may be activated with the update resumed at a later point (automatically or manually). + + See also: + - `canCheckForUpdates` property which is more suited for menu item validation and deciding if the user can initiate update checks. + - `-[SPUUpdaterDelegate updater:didFinishUpdateCycleForUpdateCheck:error:]` which lets the updater delegate know when an update cycle and session finishes. + */ +@property (nonatomic, readonly) BOOL sessionInProgress; + +/** + A property indicating whether or not to check for updates automatically. + + By default, Sparkle asks users on second launch for permission if they want automatic update checks enabled + and sets this property based on their response. If `SUEnableAutomaticChecks` is set in the Info.plist, + this permission request is not performed however. + + Setting this property will persist in the host bundle's user defaults. + Hence developers shouldn't maintain an additional user default for this property. + Only set this property if the user wants to change the default via a user settings option. + Do not always set it on launch unless you want to ignore the user's preference. + For testing environments, you can disable update checks by passing `-SUEnableAutomaticChecks NO` + to your app's command line arguments instead of setting this property. + + The update schedule cycle will be reset in a short delay after the property's new value is set. + This is to allow reverting this property without kicking off a schedule change immediately. + + This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL automaticallyChecksForUpdates; + +/** + A property indicating the current automatic update check interval in seconds. + + Prefer to set SUScheduledCheckInterval directly in your Info.plist for setting the initial value. + + Setting this property will persist in the host bundle's user defaults. + Hence developers shouldn't maintain an additional user default for this property. + Only set this property if the user wants to change the default via a user settings option. + Do not always set it on launch unless you want to ignore the user's preference. + + The update schedule cycle will be reset in a short delay after the property's new value is set. + This is to allow reverting this property without kicking off a schedule change immediately. + + This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) NSTimeInterval updateCheckInterval; + +/** + A property indicating whether or not updates can be automatically downloaded in the background. + + By default, updates are not automatically downloaded. + + By default starting from Sparkle 2.4, users are provided an option to opt in to automatically downloading and installing updates when they are asked if they want automatic update checks enabled. + The default value for this option is based on what the developer sets `SUAutomaticallyUpdate` in their Info.plist. + This is not done if `SUEnableAutomaticChecks` is set in the Info.plist however. Please check `automaticallyChecksForUpdates` property for more details. + + Note that the developer can disallow automatic downloading of updates from being enabled (via `SUAllowsAutomaticUpdates` Info.plist key). + In this case, this property will return NO regardless of how this property is set. + + Prefer to set `SUAutomaticallyUpdate` directly in your Info.plist for setting the initial value. + + Setting this property will persist in the host bundle's user defaults. + Hence developers shouldn't maintain an additional user default for this property. + Only set this property if the user wants to change the default via a user settings option. + Do not always set it on launch unless you want to ignore the user's preference. + + This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL automaticallyDownloadsUpdates; + +/** + A property indicating whether or not the *option* to automatically download updates in the background can be turned on. + + This property can be used to determine whether an option to automatically download/install updates should be enabled. + + Its value depends on `automaticallyChecksForUpdates`, or the `SUAllowsAutomaticUpdates`in the host bundle's Info.plist if specified. + Don't set `SUAllowsAutomaticUpdates` in the Info.plist unless you need custom behavior. + + This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic, readonly) BOOL allowsAutomaticUpdates; + +/** + The URL of the appcast used to download update information. + + If the updater's delegate implements `-[SPUUpdaterDelegate feedURLStringForUpdater:]`, this will return that feed URL. + Otherwise if the feed URL has been set before using `-[SPUUpdater setFeedURL:]`, the feed URL returned will be retrieved from the host bundle's user defaults. + Otherwise the feed URL in the host bundle's Info.plist will be returned. + If no feed URL can be retrieved, returns nil. + + For setting a primary feed URL, please set the `SUFeedURL` property in your Info.plist. + For setting an alternative feed URL, please prefer `-[SPUUpdaterDelegate feedURLStringForUpdater:]` over `-setFeedURL:`. + Please see the documentation for `-setFeedURL:` for migrating away from that API. + + This property must be called on the main thread; calls from background threads will return nil. + */ +@property (nonatomic, readonly, nullable) NSURL *feedURL; + +/** + Set the URL of the appcast used to download update information. This method is deprecated. + + Setting this property will persist in the host bundle's user defaults. + To avoid this undesirable behavior, please consider implementing + `-[SPUUpdaterDelegate feedURLStringForUpdater:]` instead of using this method. + + Calling `-clearFeedURLFromUserDefaults` will remove any feed URL that has been set in the host bundle's user defaults. + Passing nil to this method can also do this, but using `-clearFeedURLFromUserDefaults` is preferred. + To migrate away from using this API, you must clear and remove any feed URLs set in the user defaults through this API. + + If you do not need to alternate between multiple feeds, set the SUFeedURL in your Info.plist instead of invoking this method. + + For beta updates, you may consider migrating to `-[SPUUpdaterDelegate allowedChannelsForUpdater:]` in the future. + + Updaters that update other developer's bundles should not call this method. + + This method must be called on the main thread; calls from background threads will have no effect. + */ +- (void)setFeedURL:(nullable NSURL *)feedURL __deprecated_msg("Please call -[SPUUpdater clearFeedURLFromUserDefaults] to migrate away from using this API and transition to either specifying the feed URL in your Info.plist, using channels in Sparkle 2, or using -[SPUUpdaterDelegate feedURLStringForUpdater:] to specify the dynamic feed URL at runtime"); + +/** + Clears any feed URL from the host bundle's user defaults that was set via `-setFeedURL:` + + You should call this method if you have used `-setFeedURL:` in the past and want to stop using that API. + Otherwise for compatibility Sparkle will prefer to use the feed URL that was set in the user defaults over the one that was specified in the host bundle's Info.plist, + which is often undesirable (except for testing purposes). + + If a feed URL is found stored in the host bundle's user defaults (from calling `-setFeedURL:`) before it gets cleared, + then that previously set URL is returned from this method. + + This method should be called as soon as possible, after your application finished launching or right after the updater has been started + if you manually manage starting the updater. + + Updaters that update other developer's bundles should not call this method. + + This method must be called on the main thread. + + @return A previously set feed URL in the host bundle's user defaults, if available, otherwise this returns `nil` + */ +- (nullable NSURL *)clearFeedURLFromUserDefaults; + +/** + The host bundle that is being updated. + */ +@property (nonatomic, readonly) NSBundle *hostBundle; + +/** + The user agent used when checking for updates. + + By default the user agent string returned is in the format: + `$(BundleDisplayName)/$(BundleDisplayVersion) Sparkle/$(SparkleDisplayVersion)` + + BundleDisplayVersion is derived from the main application's Info.plist's CFBundleShortVersionString. + + Note if Sparkle is being used to update another application, the bundle information retrieved is from the main application performing the updating. + + This default implementation can be overridden. + */ +@property (nonatomic, copy) NSString *userAgentString; + +/** + The HTTP headers used when checking for updates, downloading release notes, and downloading updates. + + The keys of this dictionary are HTTP header fields and values are corresponding values. + */ +@property (nonatomic, copy, nullable) NSDictionary *httpHeaders; + +/** + A property indicating whether or not the user's system profile information is sent when checking for updates. + + Setting this property will persist in the host bundle's user defaults. + + This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL sendsSystemProfile; + +/** + The date of the last update check or nil if no check has been performed yet. + + For testing purposes, the last update check is stored in the `SULastCheckTime` key in the host bundle's user defaults. + For example, `defaults delete my-bundle-id SULastCheckTime` can be invoked to clear the last update check time and test + if update checks are automatically scheduled. + + This property must be called on the main thread. + */ +@property (nonatomic, readonly, copy, nullable) NSDate *lastUpdateCheckDate; + +/** + Appropriately re-schedules the update checking timer according to the current updater settings. + + This method should only be called in response to a user changing updater settings. This method may trigger a new update check to occur in the background if an updater setting such as the updater's feed or allowed channels has changed. + + If the `updateCheckInterval` or `automaticallyChecksForUpdates` properties are changed, this method is automatically invoked after a short delay using `-resetUpdateCycleAfterShortDelay`. In these cases, manually resetting the update cycle is not necessary. + + See also `-resetUpdateCycleAfterShortDelay` which gives the user a short delay before triggering a cycle reset. + + This must be called on the main thread. + */ +- (void)resetUpdateCycle; + +/** + Appropriately re-schedules the update checking timer according to the current updater settings after a short cancellable delay. + + This method calls `resetUpdateCycle` after a short delay to give the user a short amount of time to cancel changing an updater setting. + If this method is called again, any previous reset request that is still inflight will be cancelled. + + For example, if the user changes the `automaticallyChecksForUpdates` setting to `YES`, but quickly undoes their change then + no cycle reset will be done. + + If the `updateCheckInterval` or `automaticallyChecksForUpdates` properties are changed, this method is automatically invoked. In these cases, manually resetting the update cycle is not necessary. + + This must be called on the main thread. + */ +- (void)resetUpdateCycleAfterShortDelay; + +/** + The system profile information that is sent when checking for updates. + */ +@property (nonatomic, readonly, copy) NSArray *> *systemProfileArray; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h new file mode 100644 index 0000000..eb5b5e3 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h @@ -0,0 +1,485 @@ +// +// SPUUpdaterDelegate.h +// Sparkle +// +// Created by Mayur Pawashe on 8/12/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SPUUpdateCheck.h" +#import "SPUUserUpdateState.h" +#pragma clang diagnostic pop +#else +#import +#import +#import +#endif + +@protocol SUVersionComparison; +@class SPUUpdater, SUAppcast, SUAppcastItem, SPUUserUpdateState; + +NS_ASSUME_NONNULL_BEGIN + +// ----------------------------------------------------------------------------- +// SUUpdater Notifications for events that might be interesting to more than just the delegate +// The updater will be the notification object +// ----------------------------------------------------------------------------- +SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification; +SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification; +SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification; +SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification; +#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification; +#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification; + +// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo +SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey; +// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo +SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; + +// ----------------------------------------------------------------------------- +// System Profile Keys +// ----------------------------------------------------------------------------- + +SU_EXPORT extern NSString *const SUSystemProfilerApplicationNameKey; +SU_EXPORT extern NSString *const SUSystemProfilerApplicationVersionKey; +SU_EXPORT extern NSString *const SUSystemProfilerCPU64bitKey; +SU_EXPORT extern NSString *const SUSystemProfilerCPUCountKey; +SU_EXPORT extern NSString *const SUSystemProfilerCPUFrequencyKey; +SU_EXPORT extern NSString *const SUSystemProfilerCPUTypeKey; +SU_EXPORT extern NSString *const SUSystemProfilerCPUSubtypeKey; +SU_EXPORT extern NSString *const SUSystemProfilerHardwareModelKey; +SU_EXPORT extern NSString *const SUSystemProfilerMemoryKey; +SU_EXPORT extern NSString *const SUSystemProfilerOperatingSystemVersionKey; +SU_EXPORT extern NSString *const SUSystemProfilerPreferredLanguageKey; + +// ----------------------------------------------------------------------------- +// SPUUpdater Delegate: +// ----------------------------------------------------------------------------- + +/** + Provides delegation methods to control the behavior of an `SPUUpdater` object. + */ +NS_SWIFT_UI_ACTOR @protocol SPUUpdaterDelegate +@optional + +/** + Returns whether to allow Sparkle to check for updates. + + For example, this may be used to prevent Sparkle from interrupting a setup assistant. + Alternatively, you may want to consider starting the updater after eg: the setup assistant finishes. + + Note in Swift, this method returns Void and is marked with the throws keyword. If this method + doesn't throw an error, the updater may perform an update check. Otherwise if an error is thrown (we recommend using an NSError), + then the updater may not perform an update check. + + @param updater The updater instance. + @param updateCheck The type of update check that will be performed if the updater is allowed to check for updates. + @param error The populated error object if the updater may not perform a new update check. The @c NSLocalizedDescriptionKey user info key should be populated indicating a description of the error. + @return @c YES if the updater is allowed to check for updates, otherwise @c NO +*/ +- (BOOL)updater:(SPUUpdater *)updater mayPerformUpdateCheck:(SPUUpdateCheck)updateCheck error:(NSError * __autoreleasing *)error; + +/** + Returns the set of Sparkle channels the updater is allowed to find new updates from. + + An appcast item can specify a channel the update is posted to. Without specifying a channel, the appcast item is posted to the default channel. + For instance: + ``` + + 2.0 Beta 1 + beta + + ``` + + This example posts an update to the @c beta channel, so only updaters that are allowed to use the @c beta channel can find this update. + + If the @c element is not present, the update item is posted to the default channel and can be found by any updater. + + You can pick any name you'd like for the channel. The valid characters for channel names are letters, numbers, dashes, underscores, and periods. + + Note to use this feature, all app versions that your users may update from in your feed must use a version of Sparkle that supports this feature. + This feature was added in Sparkle 2. + + @return The set of channel names the updater is allowed to find new updates in. An empty set is the default behavior, + which means the updater will only look for updates in the default channel. The default channel is always included in the allowed set. + */ +- (NSSet *)allowedChannelsForUpdater:(SPUUpdater *)updater; + +/** + Returns a custom appcast URL used for checking for new updates. + + Override this to dynamically specify the feed URL. + + @param updater The updater instance. + @return An appcast feed URL to check for new updates in, or @c nil for the default behavior and if you don't want to be delegated this task. + */ +- (nullable NSString *)feedURLStringForUpdater:(SPUUpdater *)updater; + +/** + Returns additional parameters to append to the appcast URL's query string. + + This is potentially based on whether or not Sparkle will also be sending along the system profile. + + @param updater The updater instance. + @param sendingProfile Whether the system profile will also be sent. + + @return An array of dictionaries with keys: `key`, `value`, `displayKey`, `displayValue`, the latter two being specifically for display to the user. + */ +- (NSArray *> *)feedParametersForUpdater:(SPUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile; + +/** + Returns whether Sparkle should prompt the user about checking for new updates automatically. + + Use this to override the default behavior, which is to prompt for permission to check for updates on second app launch + (if SUEnableAutomaticChecks is not specified). + + This method is not called if SUEnableAutomaticChecks is defined in Info.plist or + if the user has responded to a permission prompt before. + + @param updater The updater instance. + @return @c YES if the updater should prompt for permission to check for new updates automatically, otherwise @c NO + */ +- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SPUUpdater *)updater; + +/** + Returns an allowed list of system profile keys to be appended to the appcast URL's query string. + + By default all keys will be included. This method allows overriding which keys should only be allowed. + + @param updater The updater instance. + + @return An array of system profile keys to include in the appcast URL's query string. Elements must be one of the `SUSystemProfiler*Key` constants. Return @c nil for the default behavior and if you don't want to be delegated this task. + */ +- (nullable NSArray *)allowedSystemProfileKeysForUpdater:(SPUUpdater *)updater; + +/** + Called after Sparkle has downloaded the appcast from the remote server. + + Implement this if you want to do some special handling with the appcast once it finishes loading. + + @param updater The updater instance. + @param appcast The appcast that was downloaded from the remote server. + */ +- (void)updater:(SPUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast; + +/** + Called when a new valid update is found by the update driver. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that is proposed to be installed. + */ +- (void)updater:(SPUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item; + +/** + Called when a valid new update is not found. + + There are various reasons a new update is unavailable and can't be installed. + + The userInfo dictionary on the error is populated with three keys: + - `SPULatestAppcastItemFoundKey`: if available, this may provide the latest `SUAppcastItem` that was found. This will be @c nil if it's unavailable. + - `SPUNoUpdateFoundReasonKey`: This will provide the `SPUNoUpdateFoundReason`. + For example the reason could be because the latest version in the feed requires a newer OS version or could be because the user is already on the latest version. + - `SPUNoUpdateFoundUserInitiatedKey`: A boolean that indicates if a new update was not found when the user intitiated an update check manually. + + @param updater The updater instance. + @param error An error containing information on why a new valid update was not found + */ +- (void)updaterDidNotFindUpdate:(SPUUpdater *)updater error:(NSError *)error; + +/** + Called when a valid new update is not found. + + If more information is needed on why an update was not found, use `-[SPUUpdaterDelegate updaterDidNotFindUpdate:error:]` instead. + + @param updater The updater instance. + */ +- (void)updaterDidNotFindUpdate:(SPUUpdater *)updater; + +/** + Returns the item in the appcast corresponding to the update that should be installed. + + Please consider using or migrating to other supported features before adopting this method. + Specifically: + - If you want to filter out certain tagged updates (like beta updates), consider `-[SPUUpdaterDelegate allowedChannelsForUpdater:]` instead. + - If you want to treat certain updates as informational-only, consider supplying @c with a set of affected versions users are updating from. + + If you're using special logic or extensions in your appcast, implement this to use your own logic for finding a valid update, if any, in the given appcast. + + Do not base your logic by filtering out items with a minimum or maximum OS version or minimum autoupdate version + because Sparkle already has logic for determining whether or not those items should be filtered out. + + Also do not return a non-top level item from the appcast such as a delta item. Delta items will be ignored. + Sparkle picks the delta item from your selection if the appropriate one is available. + + This method will not be invoked with an appcast that has zero items. Pick the best item from the appcast. + If an item is available that has the same version as the application or bundle to update, do not pick an item that is worse than that version. + + This method may be called multiple times for different selections and filters. This method should be efficient. + + Return `+[SUAppcastItem emptyAppcastItem]` if no appcast item is valid. + + Return @c nil if you don't want to be delegated this task and want to let Sparkle handle picking the best valid update. + + @param appcast The appcast that was downloaded from the remote server. + @param updater The updater instance. + @return The best valid appcast item. + */ +- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SPUUpdater *)updater; + +/** + Returns whether or not the updater should proceed with the new chosen update from the appcast. + + By default, the updater will always proceed with the best selected update found in an appcast. Override this to override this behavior. + + If you return @c NO and populate the @c error, the user is not shown this @c updateItem nor is the update downloaded or installed. + + Note in Swift, this method returns Void and is marked with the throws keyword. If this method doesn't throw an error, the updater will proceed with the update. + Otherwise if an error is thrown (we recommend using an NSError), then the will not proceed with the update. + + @param updater The updater instance. + @param updateItem The selected update item to proceed with. + @param updateCheck The type of update check that would be performed if proceeded. + @param error An error object that must be populated by the delegate if the updater should not proceed with the update. The @c NSLocalizedDescriptionKey user info key should be populated indicating a description of the error. + @return @c YES if the updater should proceed with @c updateItem, otherwise @c NO if the updater should not proceed with the update with an @c error populated. + */ +- (BOOL)updater:(SPUUpdater *)updater shouldProceedWithUpdate:(SUAppcastItem *)updateItem updateCheck:(SPUUpdateCheck)updateCheck error:(NSError * __autoreleasing *)error; + +/** + Called when a user makes a choice to install, dismiss, or skip an update. + + If the @c choice is `SPUUserUpdateChoiceDismiss` and @c state.stage is `SPUUserUpdateStageDownloaded` the downloaded update is kept + around until the next time Sparkle reminds the user of the update. + + If the @c choice is `SPUUserUpdateChoiceDismiss` and @c state.stage is `SPUUserUpdateStageInstalling` the update is still set to install on application termination. + + If the @c choice is `SPUUserUpdateChoiceSkip` the user will not be reminded in the future for this update unless they initiate an update check themselves. + + If @c updateItem.isInformationOnlyUpdate is @c YES the @c choice cannot be `SPUUserUpdateChoiceInstall`. + + @param updater The updater instance. + @param choice The choice (install, dismiss, or skip) the user made for this @c updateItem + @param updateItem The appcast item corresponding to the update that the user made a choice on. + @param state The current state for the update which includes if the update has already been downloaded or already installing. + */ +- (void)updater:(SPUUpdater *)updater userDidMakeChoice:(SPUUserUpdateChoice)choice forUpdate:(SUAppcastItem *)updateItem state:(SPUUserUpdateState *)state; + +/** + Returns whether the release notes (if available) should be downloaded after an update is found and shown. + + This is specifically for the @c element in the appcast item. + + @param updater The updater instance. + @param updateItem The update item to download and show release notes from. + + @return @c YES to download and show the release notes if available, otherwise @c NO. The default behavior is @c YES. + */ +- (BOOL)updater:(SPUUpdater *)updater shouldDownloadReleaseNotesForUpdate:(SUAppcastItem *)updateItem; + +/** + Called immediately before downloading the specified update. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that is proposed to be downloaded. + @param request The mutable URL request that will be used to download the update. + */ +- (void)updater:(SPUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request; + +/** + Called immediately after successful download of the specified update. + + @param updater The SUUpdater instance. + @param item The appcast item corresponding to the update that has been downloaded. + */ +- (void)updater:(SPUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item; + +/** + Called after the specified update failed to download. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that failed to download. + @param error The error generated by the failed download. + */ +- (void)updater:(SPUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error; + +/** + Called when the user cancels an update while it is being downloaded. + + @param updater The updater instance. + */ +- (void)userDidCancelDownload:(SPUUpdater *)updater; + +/** + Called immediately before extracting the specified downloaded update. + + @param updater The SUUpdater instance. + @param item The appcast item corresponding to the update that is proposed to be extracted. + */ +- (void)updater:(SPUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item; + +/** + Called immediately after extracting the specified downloaded update. + + @param updater The SUUpdater instance. + @param item The appcast item corresponding to the update that has been extracted. + */ +- (void)updater:(SPUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item; + +/** + Called immediately before installing the specified update. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that is proposed to be installed. + */ +- (void)updater:(SPUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item; + +/** + Returns whether the relaunch should be delayed in order to perform other tasks. + + This is not called if the user didn't relaunch on the previous update, + in that case it will immediately restart. + + This may also not be called if the application is not going to relaunch after it terminates. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that is proposed to be installed. + @param installHandler The install handler that must be completed before continuing with the relaunch. + + @return @c YES to delay the relaunch until @c installHandler is invoked. + */ +- (BOOL)updater:(SPUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvokingBlock:(void (^)(void))installHandler; + +/** + Returns whether the application should be relaunched at all. + + Some apps **cannot** be relaunched under certain circumstances. + This method can be used to explicitly prevent a relaunch. + + @param updater The updater instance. + @return @c YES if the updater should be relaunched, otherwise @c NO if it shouldn't. + */ +- (BOOL)updaterShouldRelaunchApplication:(SPUUpdater *)updater; + +/** + Called immediately before relaunching. + + @param updater The updater instance. + */ +- (void)updaterWillRelaunchApplication:(SPUUpdater *)updater; + +/** + Returns an object that compares version numbers to determine their arithmetic relation to each other. + + This method allows you to provide a custom version comparator. + If you don't implement this method or return @c nil, + the standard version comparator will be used. + + Note that the standard version comparator may be used during installation for preventing a downgrade, + even if you provide a custom comparator here. + + @param updater The updater instance. + @return The custom version comparator or @c nil if you don't want to be delegated this task. + */ +- (nullable id)versionComparatorForUpdater:(SPUUpdater *)updater __deprecated_msg("Custom version comparators are deprecated because they are incompatible with how the system compares different versions of an app."); + +/** + Called when a background update will be scheduled after a delay. + + Automatic update checks need to be enabled for this to trigger. + + @param delay The delay in seconds until the next scheduled update will occur. This is an approximation and may vary due to system state. + + @param updater The updater instance. + */ +- (void)updater:(SPUUpdater *)updater willScheduleUpdateCheckAfterDelay:(NSTimeInterval)delay; + +/** + Called when no update checks will be scheduled in the future. + + This may later change if automatic update checks become enabled. + + @param updater The updater instance. + */ +- (void)updaterWillNotScheduleUpdateCheck:(SPUUpdater *)updater; + +/** + Returns the decryption password (if any) which is used to extract the update archive DMG. + + Return @c nil if no password should be used. + + @param updater The updater instance. + @return The password used for decrypting the archive, or @c nil if no password should be used. + */ +- (nullable NSString *)decryptionPasswordForUpdater:(SPUUpdater *)updater; + +/** + Called when an update is scheduled to be silently installed on quit after downloading the update automatically. + + If you want to intercept this method without taking control of installing the update, return @c NO. + This will let future update cycles to run and allow Sparkle to present the update to the user later if certain conditions are met. + For example, critical updates will be presented to the user right away. Other updates may be presented later if the user hasn't terminated the application + for a long time (defined by `SUScheduledImpatientCheckInterval`). + + If you want to take control of installing the update, return @c YES. + This stalls the current update cycle and prevents future update cycles from running. When the opportunity arrives, you can invoke `immediateInstallHandler` to + install the update and relaunch the application without any UI interaction shown. + + In either case Sparkle will always attempt to install the update when the app terminates. + + @param updater The updater instance. + @param item The appcast item corresponding to the update that is proposed to be installed. + @param immediateInstallHandler The install handler to immediately install the update and relaunch the application. This handler can only be used if @c YES is returned. For Sparkle 2.3 onwards, this handler can be invoked multiple times in case the application cancels the termination request. + @return @c YES if you will handle installing the update using `immediateInstallHandler` or @c NO to allow Sparkle's update scheduler to continue running. + */ +- (BOOL)updater:(SPUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))immediateInstallHandler; + +/** + Called after the update driver aborts due to an error. + + The update driver runs when checking for updates. This delegate method is called an error occurs during this process. + + Some special possible values of `error.code` are: + + - `SUNoUpdateError`: No new update was found. + - `SUInstallationCanceledError`: The user canceled installing the update when requested for authorization. + + @param updater The updater instance. + @param error The error that caused the update driver to abort. + */ +- (void)updater:(SPUUpdater *)updater didAbortWithError:(NSError *)error; + +/** + Called after the update driver finishes. + + The update driver runs when checking for updates. This delegate method is called when that check is finished. + + An update may be scheduled to be installed during the update cycle, or no updates may be found, or an available update may be dismissed or skipped (which is the same as no error). + + If the @c error is @c nil, no error has occurred. + + Some special possible values of `error.code` are: + + - `SUNoUpdateError`: No new update was found. + - `SUInstallationCanceledError`: The user canceled installing the update when requested for authorization. + + @param updater The updater instance. + @param updateCheck The type of update check was performed. + @param error The error that caused the update driver to abort. This is @c nil if the update driver finished normally and there is no error. + */ +- (void)updater:(SPUUpdater *)updater didFinishUpdateCycleForUpdateCheck:(SPUUpdateCheck)updateCheck error:(nullable NSError *)error; + +/* Deprecated methods */ + +- (BOOL)updaterMayCheckForUpdates:(SPUUpdater *)updater __deprecated_msg("Please use -[SPUUpdaterDelegate updater:mayPerformUpdateCheck:error:] instead."); + +- (void)updater:(SPUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item __deprecated_msg("Please use -[SPUUpdaterDelegate updater:userDidMakeChoice:forUpdate:state:] instead."); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h new file mode 100644 index 0000000..e79492a --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h @@ -0,0 +1,98 @@ +// +// SPUUpdaterSettings.h +// Sparkle +// +// Created by Mayur Pawashe on 3/27/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + This class can be used for reading and updating updater settings. + + It retrieves the settings by first looking into the host's user defaults. + If the setting is not found in there, then the host's Info.plist file is looked at. + + For updating updater settings, changes are made in the host's user defaults. + */ +SU_EXPORT NS_SWIFT_UI_ACTOR @interface SPUUpdaterSettings : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +- (instancetype)initWithHostBundle:(NSBundle *)hostBundle; + +/** + * Indicates whether or not automatic update checks are enabled. + * + * This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL automaticallyChecksForUpdates; + +/** + * The regular update check interval. + * + * This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) NSTimeInterval updateCheckInterval; + +/** + * Indicates whether or not automatically downloading updates is allowed to be turned on by the user. + * + * This property is determined by checking `automaticallyChecksForUpdates` and `allowsAutomaticUpdatesOption`. + * + * This property is KVO compliant. This property must be called on the main thread. + */ +@property (readonly, nonatomic) BOOL allowsAutomaticUpdates; + +/** + * Indicates whether or not automatically downloading updates is enabled by the user or developer. + * + * Note this does not indicate whether or not automatic downloading of updates is allowable. + * See `-allowsAutomaticUpdates` property for that. + * + * This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL automaticallyDownloadsUpdates; + +/** + * Indicates whether or not the developer allows turning on updates being automatically downloaded and installed. + * If this value is nil, the developer has not explicitly specified this option (which is the default). + * + * Please prefer to use `allowsAutomaticUpdates` instead. + */ +@property (readonly, nonatomic, nullable) NSNumber *allowsAutomaticUpdatesOption; + +/** + * The impatient update check interval. + * + * If an update has already been downloaded automatically in the background, Sparkle may not notify users of the update immediately, + * and tries to install the update siliently on quit without notifying the user. + * + * Sparkle uses this long impatient update check interval to decide when to notify the user of the update if they haven't quit the app for a long time. + * By default this check interval is set to 604800 seconds (which is 1 week). This interval must be bigger than the `updateCheckInterval`. + */ +@property (nonatomic, readonly) NSTimeInterval impatientUpdateCheckInterval; + +/** + * Indicates whether or not anonymous system profile information is sent when checking for updates. + * + * This property is KVO compliant. This property must be called on the main thread. + */ +@property (nonatomic) BOOL sendsSystemProfile; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h new file mode 100644 index 0000000..d2cd3ca --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUserDriver.h @@ -0,0 +1,304 @@ +// +// SPUUserDriver.h +// Sparkle +// +// Created by Mayur Pawashe on 2/14/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SPUUserUpdateState.h" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SPUUpdatePermissionRequest, SUUpdatePermissionResponse, SUAppcastItem, SPUDownloadData; + +/** + The API in Sparkle for controlling the user interaction. + + This protocol is used for implementing a user interface for the Sparkle updater. Sparkle's internal drivers tell + an object that implements this protocol what actions to take and show to the user. + + Every method in this protocol can be assumed to be called from the main thread. + */ +SU_EXPORT NS_SWIFT_UI_ACTOR @protocol SPUUserDriver + +/** + * Show an updater permission request to the user + * + * Ask the user for their permission regarding update checks. + * This is typically only called once per app installation. + * + * @param request The update permission request. + * @param reply A reply with a update permission response. + */ +- (void)showUpdatePermissionRequest:(SPUUpdatePermissionRequest *)request reply:(void (^)(SUUpdatePermissionResponse *))reply; + +/** + * Show the user initiating an update check + * + * Respond to the user initiating an update check. Sparkle uses this to show the user a window with an indeterminate progress bar. + * + * @param cancellation Invoke this cancellation block to cancel the update check before the update check is completed. + */ +- (void)showUserInitiatedUpdateCheckWithCancellation:(void (^)(void))cancellation; + +/** + * Show the user a new update is found. + * + * Let the user know a new update is found and ask them what they want to do. + * Before this point, `-showUserInitiatedUpdateCheckWithCancellation:` may be called. + * + * The potential `stage`s on the updater @c state are: + * + * `SPUUpdateStateNotDownloaded` - Update has not been downloaded yet. + * + * `SPUUpdateStateDownloaded` - Update has already been downloaded in the background automatically (via `SUAutomaticallyUpdate`) but not started installing yet. + * + * `SPUUpdateStateInstalling` - Update has been downloaded and already started installing. + * + * The `userInitiated` property on the @c state indicates if the update was initiated by the user or if it was automatically scheduled in the background. + * + * Additionally, these properties on the @c appcastItem are of importance: + * + * @c appcastItem.informationOnlyUpdate indicates if the update is only informational and should not be downloaded. You can direct the user to the infoURL property of the appcastItem in their web browser. Sometimes information only updates are used as a fallback in case a bad update is shipped, so you'll want to support this case. + * + * @c appcastItem.majorUpgrade indicates if the update is a major or paid upgrade. + * + * @c appcastItem.criticalUpdate indicates if the update is a critical update. + * + * @c appcastItem.signingValidationStatus indicates the signing validation status of the appcast, which may be applicable if appcast signing is required. + * + * A reply of `SPUUserUpdateChoiceInstall` begins or resumes downloading, extracting, or installing the update. + * If the state.stage is `SPUUserUpdateStateInstalling`, this may send a quit event to the application and relaunch it immediately (in this state, this behaves as a fast "install and Relaunch"). + * If the state.stage is `SPUUpdateStateNotDownloaded` or `SPUUpdateStateDownloaded` the user may be presented an authorization prompt to install the update after `-showDownloadDidStartExtractingUpdate` is called if authorization is required for installation. For example, this may occur if the update on disk is owned by a different user (e.g. root or admin for non-admin users), or if the update is a package install. + * Do not use a reply of `SPUUserUpdateChoiceInstall` if @c appcastItem.informationOnlyUpdate is YES. + * + * A reply of `SPUUserUpdateChoiceDismiss` dismisses the update for the time being. The user may be reminded of the update at a later point. + * If the state.stage is `SPUUserUpdateStateDownloaded`, the downloaded update is kept after dismissing until the next time an update is shown to the user. + * If the state.stage is `SPUUserUpdateStateInstalling`, the installing update is also preserved after dismissing. In this state however, the update will also still be installed after the application is terminated. + * + * A reply of `SPUUserUpdateChoiceSkip` skips this particular version and won't notify the user again, unless they initiate an update check themselves. + * If @c appcastItem.majorUpgrade is YES, the major update and any future minor updates to that major release are skipped, unless a future minor update specifies a `` requirement. + * If the state.stage is `SPUUpdateStateInstalling`, the installation is also canceled when the update is skipped. + * + * @param appcastItem The Appcast Item containing information that reflects the new update. + * @param state The current state of the user update. See above discussion for notable properties. + * @param reply The reply which indicates if the update should be installed, dismissed, or skipped. See above discussion for more details. + */ +- (void)showUpdateFoundWithAppcastItem:(SUAppcastItem *)appcastItem state:(SPUUserUpdateState *)state reply:(void (^)(SPUUserUpdateChoice))reply; + +/** + * Show the user the release notes for the new update + * + * Display the release notes to the user. This will be called after showing the new update. + * This is only applicable if the release notes are linked from the appcast, and are not directly embedded inside of the appcast file. + * That is, this may be invoked if the releaseNotesURL from the appcast item is non-nil. + * + * @param downloadData The data for the release notes that was downloaded from the new update's appcast. + */ +- (void)showUpdateReleaseNotesWithDownloadData:(SPUDownloadData *)downloadData; + +/** + * Show the user that the new update's release notes could not be downloaded + * + * This will be called after showing the new update. + * This is only applicable if the release notes are linked from the appcast, and are not directly embedded inside of the appcast file. + * That is, this may be invoked if the releaseNotesURL from the appcast item is non-nil. + * + * @param error The error associated with why the new update's release notes could not be downloaded. + */ +- (void)showUpdateReleaseNotesFailedToDownloadWithError:(NSError *)error; + +/** + * Show the user a new update was not found + * + * Let the user know a new update was not found after they tried initiating an update check. + * Before this point, `-showUserInitiatedUpdateCheckWithCancellation:` may be called. + * + * There are various reasons a new update is unavailable and can't be installed. + * The @c error object is populated with recovery and suggestion strings suitable to be shown in an alert. + * + * The @c userInfo dictionary on the @c error is also populated with two keys: + * + * `SPULatestAppcastItemFoundKey`: if available, this may provide the latest SUAppcastItem that was found. + * + * `SPUNoUpdateFoundReasonKey`: if available, this will provide the `SUNoUpdateFoundReason`. For example the reason could be because + * the latest version in the feed requires a newer OS version or could be because the user is already on the latest version. + * + * @param error The error associated with why a new update was not found. See above discussion for more details. + * @param acknowledgement Acknowledge to the updater that no update found error was shown. + */ +- (void)showUpdateNotFoundWithError:(NSError *)error acknowledgement:(void (^)(void))acknowledgement NS_SWIFT_ASYNC(2); + +/** + * Show the user an update error occurred + * + * Let the user know that the updater failed with an error. This will not be invoked without the user having been + * aware that an update was in progress. + * + * Before this point, any of the non-error user driver methods may have been invoked. + * + * @param error The error associated with what update error occurred. + * @param acknowledgement Acknowledge to the updater that the error was shown. + */ +- (void)showUpdaterError:(NSError *)error acknowledgement:(void (^)(void))acknowledgement NS_SWIFT_ASYNC(2); + +/** + * Show the user that downloading the new update initiated + * + * Let the user know that downloading the new update started. + * + * @param cancellation Invoke this cancellation block to cancel the download at any point before `-showDownloadDidStartExtractingUpdate` is invoked. + */ +- (void)showDownloadInitiatedWithCancellation:(void (^)(void))cancellation; + +/** + * Show the user the content length of the new update that will be downloaded + * + * @param expectedContentLength The expected content length of the new update being downloaded. + * An implementor should be able to handle if this value is invalid (more or less than actual content length downloaded). + * Additionally, this method may be called more than once for the same download in rare scenarios. + */ +- (void)showDownloadDidReceiveExpectedContentLength:(uint64_t)expectedContentLength; + +/** + * Show the user that the update download received more data + * + * This may be an appropriate time to advance a visible progress indicator of the download + * @param length The length of the data that was just downloaded + */ +- (void)showDownloadDidReceiveDataOfLength:(uint64_t)length; + +/** + * Show the user that the update finished downloading and started extracting + * + * Sparkle uses this to show an indeterminate progress bar. + * + * Before this point, `showDownloadDidReceiveDataOfLength:` or `showUpdateFoundWithAppcastItem:state:reply:` may be called. + * An update can potentially resume at this point after having been automatically downloaded in the background (without the user driver) before. + * + * After extraction starts, the user may be shown an authorization prompt to install the update if authorization is required for installation. + * For example, this may occur if the update on disk is owned by a different user (e.g. root or admin for non-admin users), or if the update is a package install. + */ +- (void)showDownloadDidStartExtractingUpdate; + +/** + * Show the user that the update is extracting with progress + * + * Let the user know how far along the update extraction is. + * + * Before this point, `-showDownloadDidStartExtractingUpdate` is called. + * + * @param progress The progress of the extraction from a 0.0 to 1.0 scale + */ +- (void)showExtractionReceivedProgress:(double)progress; + +/** + * Show the user that the update is ready to install & relaunch + * + * Let the user know that the update is ready to install and relaunch, and ask them whether they want to proceed. + * Note if the target application has already terminated, this method may not be invoked. + * + * A reply of `SPUUserUpdateChoiceInstall` installs the update the new update immediately. The application is relaunched only if it is still running by the time this reply is invoked. If the application terminates on its own, Sparkle will attempt to automatically install the update. + * + * A reply of `SPUUserUpdateChoiceDismiss` dismisses the update installation for the time being. Note the update may still be installed automatically after the application terminates. + * + * A reply of `SPUUserUpdateChoiceSkip` cancels the current update that has begun installing and dismisses the update. In this circumstance, the update is canceled but this update version is not skipped in the future. + * + * Before this point, `-showExtractionReceivedProgress:` or `-showUpdateFoundWithAppcastItem:state:reply:` may be called. + * + * @param reply The reply which indicates if the update should be installed, dismissed, or skipped. See above discussion for more details. + */ +- (void)showReadyToInstallAndRelaunch:(void (^)(SPUUserUpdateChoice))reply; + +/** + * Show the user that the update is installing + * + * Let the user know that the update is currently installing. + * + * Before this point, `-showReadyToInstallAndRelaunch:` or `-showUpdateFoundWithAppcastItem:state:reply:` will be called. + * + * @param applicationTerminated Indicates if the application has been terminated already. + * If the application hasn't been terminated, a quit event is sent to the running application before installing the update. + * If the application or user delays or cancels termination, there may be an indefinite period of time before the application fully quits. + * It is up to the implementor whether or not to decide to continue showing installation progress in this case. + * + * @param retryTerminatingApplication This handler gives a chance for the application to re-try sending a quit event to the running application before installing the update. + * The application may cancel or delay termination. This handler gives the user driver another chance to allow the user to try terminating the application again. + * If the application does not delay or cancel application termination, there is no need to invoke this handler. This handler may be invoked multiple times. + * Note this handler should not be invoked if @c applicationTerminated is already @c YES + */ +- (void)showInstallingUpdateWithApplicationTerminated:(BOOL)applicationTerminated retryTerminatingApplication:(void (^)(void))retryTerminatingApplication; + +/** + * Show the user that the update installation finished + * + * Let the user know that the update finished installing. + * + * This will only be invoked if the updater process is still alive, which is typically not the case if + * the updater's lifetime is tied to the application it is updating. This implementation must not try to reference + * the old bundle prior to the installation, which will no longer be around. + * + * Before this point, `-showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication:` will be called. + * + * @param relaunched Indicates if the update was relaunched. + * @param acknowledgement Acknowledge to the updater that the finished installation was shown. + */ +- (void)showUpdateInstalledAndRelaunched:(BOOL)relaunched acknowledgement:(void (^)(void))acknowledgement NS_SWIFT_ASYNC(2); + +/** + * Dismiss the current update installation + * + * Stop and tear down everything. + * Dismiss all update windows, alerts, progress, etc from the user. + * Basically, stop everything that could have been started. Sparkle may invoke this when aborting or finishing an update. + */ +- (void)dismissUpdateInstallation; + +@optional + +/** + * Show the user the current presented update or its progress in utmost focus + * + * The user wishes to check for updates while the user is being shown update progress. + * Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc). + * Implementing this method is optional. + */ +- (void)showUpdateInFocus; + +/* + * Below are deprecated methods that have been replaced by better alternatives. + * The deprecated methods will be used if the alternatives have not been implemented yet. + * In the future support for using these deprecated methods may be removed however. + */ + +// Clients should move to non-deprecated methods +// Deprecated methods are only (temporarily) kept around for compatibility reasons + +- (void)showUpdateNotFoundWithAcknowledgement:(void (^)(void))acknowledgement __deprecated_msg("Implement -showUpdateNotFoundWithError:acknowledgement: instead"); + +- (void)showUpdateInstallationDidFinishWithAcknowledgement:(void (^)(void))acknowledgement __deprecated_msg("Implement -showUpdateInstalledAndRelaunched:acknowledgement: instead"); + +- (void)dismissUserInitiatedUpdateCheck __deprecated_msg("Transition to new UI appropriately when a new update is shown, when no update is found, or when an update error occurs."); + +- (void)showInstallingUpdate __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead."); + +- (void)showSendingTerminationSignal __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead."); + +- (void)showInstallingUpdateWithApplicationTerminated:(BOOL)applicationTerminated __deprecated_msg("Implement -showInstallingUpdateWithApplicationTerminated:retryTerminatingApplication: instead.");; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h b/Support/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h new file mode 100644 index 0000000..804ba49 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h @@ -0,0 +1,85 @@ +// +// SPUUserUpdateState.h +// Sparkle +// +// Created by Mayur Pawashe on 2/29/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#ifndef SPUUserUpdateState_h +#define SPUUserUpdateState_h + +#import + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + A choice made by the user when prompted with a new update. + */ +typedef NS_ENUM(NSInteger, SPUUserUpdateChoice) { + /** + Dismisses the update and skips being notified of it in the future. + */ + SPUUserUpdateChoiceSkip, + /** + Downloads (if needed) and installs the update. + */ + SPUUserUpdateChoiceInstall, + /** + Dismisses the update until Sparkle reminds the user of it at a later time. + */ + SPUUserUpdateChoiceDismiss, +}; + +/** + Describes the current stage an update is undergoing. + */ +typedef NS_ENUM(NSInteger, SPUUserUpdateStage) { + /** + The update has not been downloaded. + */ + SPUUserUpdateStageNotDownloaded, + /** + The update has already been downloaded but not begun installing. + */ + SPUUserUpdateStageDownloaded, + /** + The update has already been downloaded and began installing in the background. + */ + SPUUserUpdateStageInstalling +}; + +/** + This represents the user's current update state. + */ +SU_EXPORT NS_SWIFT_SENDABLE @interface SPUUserUpdateState : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/** + The current update stage. + + This stage indicates if data has been already downloaded or not, or if an update is currently being installed. + */ +@property (nonatomic, readonly) SPUUserUpdateStage stage; + +/** + Indicates whether or not the update check was initiated by the user. + */ +@property (nonatomic, readonly) BOOL userInitiated; + +@end + +NS_ASSUME_NONNULL_END + +#endif /* SPUUserUpdateState_h */ diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUAppcast.h b/Support/Sparkle.framework/Versions/B/Headers/SUAppcast.h new file mode 100644 index 0000000..59418a6 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUAppcast.h @@ -0,0 +1,54 @@ +// +// SUAppcast.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#ifndef SUAPPCAST_H +#define SUAPPCAST_H + +#import +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SPUAppcastSigningValidationStatus.h" +#pragma clang diagnostic pop +#else +#import +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SUAppcastItem; + +/** + The appcast representing a collection of `SUAppcastItem` items in the feed. + */ +SU_EXPORT NS_SWIFT_SENDABLE @interface SUAppcast : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +/** + The collection of update items. + + These `SUAppcastItem` items are in the same order as specified in the appcast XML feed and are thus not sorted by version. + */ +@property (readonly, nonatomic, copy) NSArray *items; + +/** + The appcast signing validation status. + + Please see documentation of @c SPUAppcastSigningValidationStatus values for more information. + */ +@property (nonatomic, readonly) SPUAppcastSigningValidationStatus signingValidationStatus; + +@end + +NS_ASSUME_NONNULL_END + +#endif diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h b/Support/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h new file mode 100644 index 0000000..6827065 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUAppcastItem.h @@ -0,0 +1,448 @@ +// +// SUAppcastItem.h +// Sparkle +// +// Created by Andy Matuschak on 3/12/06. +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#ifndef SUAPPCASTITEM_H +#define SUAPPCASTITEM_H + +#import + +#ifdef BUILDING_SPARKLE_SOURCES_EXTERNALLY +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SPUAppcastSigningValidationStatus.h" +#pragma clang diagnostic pop +#else +#import +#import +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + The appcast item describing an update in the application's appcast feed. + + An appcast item represents a single update item in the `SUAppcast` contained within the @c element. + + Every appcast item must have a `versionString`, and either a `fileURL` or an `infoURL`. + All the remaining properties describing an update to the application are optional. + + Extended documentation and examples on using appcast item features are available at: + https://sparkle-project.org/documentation/publishing/ + */ +SU_EXPORT NS_SWIFT_SENDABLE @interface SUAppcastItem : NSObject + +/** + The version of the update item. + + Sparkle uses this property to compare update items and determine the best available update item in the `SUAppcast`. + + This corresponds to the application update's @c CFBundleVersion + + This is extracted from the @c element, or the @c sparkle:version attribute from the @c element. + */ +@property (nonatomic, copy, readonly) NSString *versionString; + +/** + The human-readable display version of the update item if provided. + + This is the version string shown to the user when they are notified of a new update. + + This corresponds to the application update's @c CFBundleShortVersionString + + This is extracted from the @c element, or the @c sparkle:shortVersionString attribute from the @c element. + + If no short version string is available, this falls back to the update's `versionString`. + */ +@property (nonatomic, copy, readonly) NSString *displayVersionString; + +/** + The file URL to the update item if provided. + + This download contains the actual update Sparkle will attempt to install. + In cases where a download cannot be provided, an `infoURL` must be provided instead. + + A file URL should have an accompanying `contentLength` provided. + + This is extracted from the @c url attribute in the @c element. + */ +@property (nonatomic, readonly, nullable) NSURL *fileURL; + +/** + The content length of the download in bytes. + + This property is used as a fallback when the server doesn't report the content length of the download. + In that case, it is used to report progress of the downloading update to the user. + + A warning is outputted if this property is not equal the server's expected content length (if provided). + + This is extracted from the @c length attribute in the @c element. + It should be specified if a `fileURL` is provided. + */ +@property (nonatomic, readonly) uint64_t contentLength; + +/** + The info URL to the update item if provided. + + This informational link is used to direct the user to learn more about an update they cannot download/install directly from within the application. + The link should point to the product's web page. + + The informational link will be used if `informationOnlyUpdate` is @c YES + + This is extracted from the @c element. + */ +@property (nonatomic, readonly, nullable) NSURL *infoURL; + +/** + Indicates whether or not the update item is only informational and has no download. + + If `infoURL` is not present, this is @c NO + + If `fileURL` is not present, this is @c YES + + Otherwise this is determined based on the contents extracted from the @c element. + */ +@property (nonatomic, getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate; + +/** + The title of the appcast item if provided. + + This is extracted from the @c element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *title; + +/** + The date string of the appcast item if provided. + + The `date` property is constructed from this property and expects this string to comply with the following date format: + `E, dd MMM yyyy HH:mm:ss Z` + + This is extracted from the @c <pubDate> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *dateString; + +/** + The date constructed from the `dateString` property if provided. + + Sparkle by itself only uses this property for phased group rollouts specified via `phasedRolloutInterval`, but clients may query this property too. + + This date is constructed using the @c en_US locale. + */ +@property (nonatomic, copy, readonly, nullable) NSDate *date; + +/** + The release notes URL of the appcast item if provided. + + This external link points to an HTML file that Sparkle downloads and renders to show the user a new or old update item's changelog. + + An alternative to using an external release notes link is providing an embedded `itemDescription`. + + This is extracted from the @c <sparkle:releaseNotesLink> element. + */ +@property (nonatomic, readonly, nullable) NSURL *releaseNotesURL; + +/** + The description of the appcast item if provided. + + A description may be provided for inline/embedded release notes for new updates using @c <![CDATA[...]]> + This is an alternative to providing a `releaseNotesURL`. + + This is extracted from the @c <description> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *itemDescription; + +/** + The format of the `itemDescription` for inline/embedded release notes if provided. + + This may be: + - @c html + - @c plain-text + + This is extracted from the @c sparkle:descriptionFormat attribute in the @c <description> element. + + If the format is not provided in the @c <description> element of the appcast item, then this property may default to `html`. + + If the @c <description> element of the appcast item is not available, this property is `nil`. + */ +@property (nonatomic, readonly, nullable) NSString *itemDescriptionFormat; + +/** + The full release notes URL of the appcast item if provided. + + The link should point to the product's full changelog. + + Sparkle's standard user interface offers to show these full release notes when a user checks for a new update and no new update is available. + + This is extracted from the @c <sparkle:fullReleaseNotesLink> element. + */ +@property (nonatomic, readonly, nullable) NSURL *fullReleaseNotesURL; + +/** + The required minimum system operating version string for this update if provided. + + This version string should contain three period-separated components. + + Example: @c 10.13.0 + + Use `minimumOperatingSystemVersionIsOK` property to test if the current running system passes this requirement. + + This is extracted from the @c <sparkle:minimumSystemVersion> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *minimumSystemVersion; + +/** + Indicates whether or not the current running system passes the `minimumSystemVersion` requirement. + */ +@property (nonatomic, readonly) BOOL minimumOperatingSystemVersionIsOK; + +/** + This update will be ignored if the application's version precedes this update's minimum version. + + This application's version corresponds to the bundle's @c CFBundleVersion + + The minimum update version is extracted from the @c <sparkle:minimumUpdateVersion> element. + + Use `minimumUpdateVersionIsOK` property to test if the current bundle passes this requirement. + + Old applications must be using Sparkle 2.9 or later, otherwise this property will be ignored. + */ +@property (nonatomic, copy, readonly, nullable) NSString *minimumUpdateVersion; + +/** + Indicates whether or not the current bundle passes the `minimumUpdateVersion` requirement. + */ +@property (nonatomic, readonly) BOOL minimumUpdateVersionIsOK; + +/** + The required maximum system operating version string for this update if provided. + + A maximum system operating version requirement should only be made in unusual scenarios. + + This version string should contain three period-separated components. + + Example: @c 10.14.0 + + Use `maximumOperatingSystemVersionIsOK` property to test if the current running system passes this requirement. + + This is extracted from the @c <sparkle:maximumSystemVersion> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *maximumSystemVersion; + +/** + Indicates whether or not the current running system passes the `maximumSystemVersion` requirement. + */ +@property (nonatomic, readonly) BOOL maximumOperatingSystemVersionIsOK; + +/** + The required hardware requirements for this update if provided. + + Example: @c arm64 + + Use `arm64HardwareRequirementIsOK` property to test if the current running system passes the @c arm64 requirement. + + This is extracted from the @c <sparkle:hardwareRequirements> element, which is a comma-delimited list of hardware requirements. + */ +@property (nonatomic, copy, readonly) NSSet<NSString *> *hardwareRequirements; + +/** + Indicates whether or not the current running system passes the arm64 requirement if specified in the `hardwareRequirements` requirement. + */ +@property (nonatomic, readonly) BOOL arm64HardwareRequirementIsOK; + +/** + The channel the update item is on if provided. + + An update item may specify a custom channel name (such as @c beta) that can only be found by updaters that filter for that channel. + If no channel is provided, the update item is assumed to be on the default channel. + + This is extracted from the @c <sparkle:channel> element. + Old applications must be using Sparkle 2 or later to interpret the channel element and to ignore unmatched channels. + */ +@property (nonatomic, readonly, nullable) NSString *channel; + +/** + The installation type of the update at `fileURL` + + This may be: + - @c application - indicates this is a regular application update. + - @c package - indicates this is a package installer update. + + This is extracted from the @c sparkle:installationType attribute in the @c <enclosure> element. + + If no installation type is provided in the enclosure, the installation type is inferred from the `fileURL` file extension instead. + + If the file extension is @c pkg or @c mpkg, the installation type is @c package otherwise it is @c application + + Hence, the installation type in the enclosure element only needs to be specified for package based updates distributed inside of a @c zip or other archive format. + + Old applications must be using Sparkle 1.26 or later to support downloading bare package updates (`pkg` or `mpkg`) that are not additionally archived inside of a @c zip or other archive format. + */ +@property (nonatomic, copy, readonly) NSString *installationType; + +/** + The appcast signing validation status that this appcast item came from. + + Please see documentation of @c SPUAppcastSigningValidationStatus values for more information. + */ +@property (readonly, nonatomic) SPUAppcastSigningValidationStatus signingValidationStatus; + +/** + The phased rollout interval of the update item in seconds if provided. + + This is the interval between when different groups of users are notified of a new update. + + For this property to be used by Sparkle, the published `date` on the update item must be present as well. + + After each interval after the update item's `date`, a new group of users become eligible for being notified of the new update. + + This is extracted from the @c <sparkle:phasedRolloutInterval> element. + + Old applications must be using Sparkle 1.25 or later to support phased rollout intervals, otherwise they may assume updates are immediately available. + */ +@property (nonatomic, copy, readonly, nullable) NSNumber* phasedRolloutInterval; + +/** + The minimum bundle version string this update requires for automatically downloading and installing updates if provided. + + If an application's bundle version meets this version requirement, it can install the new update item in the background automatically. + + Otherwise if the requirement is not met, the user is always prompted to install the update. In this case, the update is assumed to be a `majorUpgrade`. + + If the update is a `majorUpgrade` and the update is skipped by the user, other future update alerts with the same `minimumAutoupdateVersion` will also be skipped automatically unless an update specifies `ignoreSkippedUpgradesBelowVersion`. + + This version string corresponds to the application's @c CFBundleVersion + + This is extracted from the @c <sparkle:minimumAutoupdateVersion> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *minimumAutoupdateVersion; + +/** + Indicates whether or not the update item is a major upgrade. + + An update is a major upgrade if the application's bundle version doesn't meet the `minimumAutoupdateVersion` requirement. + */ +@property (nonatomic, getter=isMajorUpgrade, readonly) BOOL majorUpgrade; + +/** + Previously skipped upgrades by the user will be ignored if they skipped an update whose version precedes this version. + + This can only be applied if the update is a `majorUpgrade`. + + This version string corresponds to the application's @c CFBundleVersion + + This is extracted from the @c <sparkle:ignoreSkippedUpgradesBelowVersion> element. + + Old applications must be using Sparkle 2.1 or later, otherwise this property will be ignored. + */ +@property (nonatomic, readonly, nullable) NSString *ignoreSkippedUpgradesBelowVersion; + +/** + Indicates whether or not the update item is critical. + + Critical updates are shown to the user more promptly. Sparkle's standard user interface also does not allow them to be skipped. + + This is determined and extracted from a top-level @c <sparkle:criticalUpdate> element or a @c sparkle:criticalUpdate element inside of a @c sparkle:tags element. + + Old applications must be using Sparkle 2 or later to support the top-level @c <sparkle:criticalUpdate> element. + */ +@property (nonatomic, getter=isCriticalUpdate, readonly) BOOL criticalUpdate; + +/** + Specifies the operating system the download update is available for if provided. + + If this property is not provided, then the supported operating system is assumed to be macOS. + + Known potential values for this string are @c macos and @c windows + + Sparkle on Mac ignores update items that are for other operating systems. + This is only useful for sharing appcasts between Sparkle on Mac and Sparkle on other operating systems. + + Use `macOsUpdate` property to test if this update item is for macOS. + + This is extracted from the @c sparkle:os attribute in the @c <enclosure> element. + */ +@property (nonatomic, copy, readonly, nullable) NSString *osString; + +/** + Indicates whether or not this update item is for macOS. + + This is determined from the `osString` property. + */ +@property (nonatomic, getter=isMacOsUpdate, readonly) BOOL macOsUpdate; + +/** + The delta updates for this update item. + + Sparkle uses these to download and apply a smaller update based on the version the user is updating from. + + The key is based on the @c sparkle:version of the update. + The value is an update item that will have `deltaUpdate` be @c YES + + Clients typically should not need to examine the contents of the delta updates. + + This is extracted from the @c <sparkle:deltas> element. + */ +@property (nonatomic, copy, readonly, nullable) NSDictionary<NSString *, SUAppcastItem *> *deltaUpdates; + +/** + The expected size of the Sparkle executable file before applying this delta update. + + This attribute is used to test if the delta item can still be applied. If Sparkle's executable file has changed (e.g. from having an architecture stripped), + then the delta item cannot be applied. + + This is extracted from the @c sparkle:deltaFromSparkleExecutableSize attribute from the @c <enclosure> element of a @c sparkle:deltas item. + This attribute is optional for delta update items. + */ +@property (nonatomic, nonatomic, readonly, nullable) NSNumber *deltaFromSparkleExecutableSize; + +/** + An expected set of Sparkle's locales present on disk before applying this delta update. + + This attribute is used to test if the delta item can still be applied. If Sparkle's list of locales present on disk (.lproj directories) do not contain any items from this set, + (e.g. from having localization files stripped) then the delta item cannot be applied. This set does not need to be a complete list of locales. Sparkle may even decide + to not process all them. 1-10 should be a decent amount. + + This is extracted from the @c sparkle:deltaFromSparkleLocales attribute from the @c <enclosure> element of a @c sparkle:deltas item. + The locales extracted from this attribute are delimited by a comma (e.g. "en,ca,fr,hr,hu"). This attribute is optional for delta update items. + */ +@property (nonatomic, nonatomic, readonly, nullable) NSSet<NSString *> *deltaFromSparkleLocales; + +/** + Indicates whether or not the update item is a delta update. + + An update item is a delta update if it is in the `deltaUpdates` of another update item. + */ +@property (nonatomic, getter=isDeltaUpdate, readonly) BOOL deltaUpdate; + +/** + The dictionary representing the entire appcast item. + + This is useful for querying custom extensions or elements from the appcast item. + */ +@property (nonatomic, readonly, copy) NSDictionary *propertiesDictionary; + +- (instancetype)init NS_UNAVAILABLE; + +/** + An empty appcast item. + + This may be used as a potential return value in `-[SPUUpdaterDelegate bestValidUpdateInAppcast:forUpdater:]` + */ ++ (instancetype)emptyAppcastItem; + +// Deprecated initializers +- (nullable instancetype)initWithDictionary:(NSDictionary *)dict __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case."); +- (nullable instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case."); +- (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error __deprecated_msg("Properties that depend on the system or application version are not supported when used with this initializer. The designated initializer is available in SUAppcastItem+Private.h. Please first explore other APIs or contact us to describe your use case."); + +@end + +NS_ASSUME_NONNULL_END + +#endif diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUErrors.h b/Support/Sparkle.framework/Versions/B/Headers/SUErrors.h new file mode 100644 index 0000000..3298688 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUErrors.h @@ -0,0 +1,111 @@ +// +// SUErrors.h +// Sparkle +// +// Created by C.W. Betts on 10/13/14. +// Copyright (c) 2014 Sparkle Project. All rights reserved. +// + +#ifndef SUERRORS_H +#define SUERRORS_H + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif + +/** + * Error domain used by Sparkle + */ +SU_EXPORT extern NSString *const SUSparkleErrorDomain; + +typedef NS_ENUM(OSStatus, SUError) { + // Configuration phase errors + SUNoPublicDSAFoundError = 0001, + SUInsufficientSigningError = 0002, + SUInsecureFeedURLError = 0003, + SUInvalidFeedURLError = 0004, + SUInvalidUpdaterError = 0005, + SUInvalidHostBundleIdentifierError = 0006, + SUInvalidHostVersionError = 0007, + + // Appcast phase errors. + SUAppcastParseError = 1000, + SUNoUpdateError = 1001, + SUAppcastError = 1002, + SURunningFromDiskImageError = 1003, + SUResumeAppcastError = 1004, + SURunningTranslocated = 1005, + SUWebKitTerminationError = 1006, + SUReleaseNotesError = 1007, + + // Download phase errors. + SUTemporaryDirectoryError = 2000, + SUDownloadError = 2001, + + // Extraction phase errors. + SUUnarchivingError = 3000, + SUSignatureError = 3001, + SUValidationError = 3002, + + // Installation phase errors. + SUFileCopyFailure = 4000, + SUAuthenticationFailure = 4001, + SUMissingUpdateError = 4002, + SUMissingInstallerToolError = 4003, + SURelaunchError = 4004, + SUInstallationError = 4005, + SUDowngradeError = 4006, + SUInstallationCanceledError = 4007, + SUInstallationAuthorizeLaterError = 4008, + SUNotValidUpdateError = 4009, + SUAgentInvalidationError = 4010, + //SUInstallationRootInteractiveError = 4011, + SUInstallationWriteNoPermissionError = 4012, + + // API misuse errors. + SUIncorrectAPIUsageError = 5000 +}; + +/** + The reason why a new update is not available. + */ +typedef NS_ENUM(OSStatus, SPUNoUpdateFoundReason) { + /** + A new update is unavailable for an unknown reason. + */ + SPUNoUpdateFoundReasonUnknown, + /** + A new update is unavailable because the user is on the latest known version in the appcast feed. + */ + SPUNoUpdateFoundReasonOnLatestVersion, + /** + A new update is unavailable because the user is on a version newer than the latest known version in the appcast feed. + */ + SPUNoUpdateFoundReasonOnNewerThanLatestVersion, + /** + A new update is unavailable because the user's operating system version is too old for the update. + */ + SPUNoUpdateFoundReasonSystemIsTooOld, + /** + A new update is unavailable because the user's operating system version is too new for the update. + */ + SPUNoUpdateFoundReasonSystemIsTooNew, + /** + A new update is unavailable because the user's system is an Intel Mac that doesn't support ARM64. + */ + SPUNoUpdateFoundReasonHardwareDoesNotSupportARM64, +}; + +SU_EXPORT extern NSString *const SPUNoUpdateFoundReasonKey; +SU_EXPORT extern NSString *const SPULatestAppcastItemFoundKey; +SU_EXPORT extern NSString *const SPUNoUpdateFoundUserInitiatedKey; + +#endif diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUExport.h b/Support/Sparkle.framework/Versions/B/Headers/SUExport.h similarity index 100% rename from Support/Sparkle.framework/Versions/A/Headers/SUExport.h rename to Support/Sparkle.framework/Versions/B/Headers/SUExport.h diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h b/Support/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h new file mode 100644 index 0000000..1316819 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h @@ -0,0 +1,63 @@ +// +// SUStandardVersionComparator.h +// Sparkle +// +// Created by Andy Matuschak on 12/21/07. +// Copyright 2007 Andy Matuschak. All rights reserved. +// + +#ifndef SUSTANDARDVERSIONCOMPARATOR_H +#define SUSTANDARDVERSIONCOMPARATOR_H + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SUVersionComparisonProtocol.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#import <Sparkle/SUVersionComparisonProtocol.h> +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + Sparkle's default version comparator. + + This comparator is adapted from MacPAD, by Kevin Ballard. + It's "dumb" in that it does essentially string comparison, + in components split by character type. +*/ +SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison> + +/** + Initializes a new instance of the standard version comparator. +*/ +- (instancetype)init; + +/** + A singleton instance of the comparator. + */ +@property (nonatomic, class, readonly) SUStandardVersionComparator *defaultComparator; + +/** + Compares two version strings through textual analysis. + + These version strings should be in the format of x, x.y, or x.y.z where each component is a number. + For example, valid version strings include "1.5.3", "500", or "4000.1" + These versions that are compared correspond to the @c CFBundleVersion values of the updates. + + @param versionA The first version string to compare. + @param versionB The second version string to compare. + @return A comparison result between @c versionA and @c versionB +*/ +- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; + +@end + +NS_ASSUME_NONNULL_END +#endif diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h b/Support/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h new file mode 100644 index 0000000..c796efc --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h @@ -0,0 +1,73 @@ +// +// SUUpdatePermissionResponse.h +// Sparkle +// +// Created by Mayur Pawashe on 2/8/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + This class represents a response for permission to check updates. +*/ +SU_EXPORT NS_SWIFT_SENDABLE @interface SUUpdatePermissionResponse : NSObject<NSSecureCoding> + +/** + Initializes a new update permission response instance. + + @param automaticUpdateChecks Flag to enable automatic update checks. + @param sendSystemProfile Flag for if system profile information should be sent to the server hosting the appcast. + */ +- (instancetype)initWithAutomaticUpdateChecks:(BOOL)automaticUpdateChecks sendSystemProfile:(BOOL)sendSystemProfile; + +/** + Initializes a new update permission response instance. + + @param automaticUpdateChecks Flag to enable automatic update checks. + @param automaticUpdateDownloading Flag to enable automatic downloading and installing of updates. If this is nil, this option will be ignored. + @param sendSystemProfile Flag for if system profile information should be sent to the server hosting the appcast. + */ +- (instancetype)initWithAutomaticUpdateChecks:(BOOL)automaticUpdateChecks automaticUpdateDownloading:(NSNumber * _Nullable)automaticUpdateDownloading sendSystemProfile:(BOOL)sendSystemProfile; + +/* + Use -initWithAutomaticUpdateChecks:sendSystemProfile: instead. + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + A read-only property indicating if update checks should be done automatically. + */ +@property (nonatomic, readonly) BOOL automaticUpdateChecks; + +/** + A read-only property indicating if updates should be automatically downloaded and installed. + + If this property is `nil`, then no user choice was made for this option. + + If `automaticUpdateChecks` is `NO` then this property should not be `@(YES)`. + Set it to `NO` if the user was given the choice of automatically downloading and installing updates, + otherwise set it to `nil`. + */ +@property (nonatomic, readonly, nullable) NSNumber *automaticUpdateDownloading; + +/** + A read-only property indicating if system profile should be sent or not. + */ +@property (nonatomic, readonly) BOOL sendSystemProfile; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/Support/Sparkle.framework/Versions/B/Headers/SUUpdater.h similarity index 59% rename from Support/Sparkle.framework/Versions/A/Headers/SUUpdater.h rename to Support/Sparkle.framework/Versions/B/Headers/SUUpdater.h index d05270f..6d2c771 100644 --- a/Support/Sparkle.framework/Versions/A/Headers/SUUpdater.h +++ b/Support/Sparkle.framework/Versions/B/Headers/SUUpdater.h @@ -9,28 +9,39 @@ #ifndef SUUPDATER_H #define SUUPDATER_H -#if __has_feature(modules) -@import Cocoa; -#else -#import <Cocoa/Cocoa.h> -#endif +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" #import "SUExport.h" #import "SUVersionComparisonProtocol.h" #import "SUVersionDisplayProtocol.h" +#import "SUUpdaterDelegate.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#import <Sparkle/SUVersionComparisonProtocol.h> +#import <Sparkle/SUVersionDisplayProtocol.h> +#import <Sparkle/SUUpdaterDelegate.h> +#endif -@class SUAppcastItem, SUAppcast; +@class SUAppcastItem, SUAppcast, NSMenuItem; @protocol SUUpdaterDelegate; -/*! - The main API in Sparkle for controlling the update mechanism. +/** + The legacy API in Sparkle for controlling the update mechanism. - This class is used to configure the update paramters as well as manually - and automatically schedule and control checks for updates. + This class is now deprecated and acts as a thin wrapper around `SPUUpdater` and `SPUStandardUserDriver`. + + If you are migrating to Sparkle 2, use `SPUStandardUpdaterController` instead, or `SPUUpdater` if you need more control. */ +__deprecated_msg("Deprecated in Sparkle 2. Use SPUStandardUpdaterController instead, or SPUUpdater if you need more control.") SU_EXPORT @interface SUUpdater : NSObject -@property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate; +@property (unsafe_unretained, nonatomic) IBOutlet id<SUUpdaterDelegate> delegate; /*! The shared updater for the main bundle. @@ -41,7 +52,6 @@ SU_EXPORT @interface SUUpdater : NSObject /*! The shared updater for a specified bundle. - If an updater has already been initialized for the provided bundle, that shared instance will be returned. */ + (SUUpdater *)updaterForBundle:(NSBundle *)bundle; @@ -73,7 +83,7 @@ SU_EXPORT @interface SUUpdater : NSObject /*! Checks for updates, but does not display any UI unless an update is found. - This is meant for programmatically initating a check for updates. That is, + This is meant for programmatically initiating a check for updates. That is, it will display no UI unless it actually finds an update, in which case it proceeds as usual. @@ -92,18 +102,17 @@ SU_EXPORT @interface SUUpdater : NSObject The update schedule cycle will be reset in a short delay after the property's new value is set. This is to allow reverting this property without kicking off a schedule change immediately */ -@property BOOL automaticallyChecksForUpdates; +@property (nonatomic) BOOL automaticallyChecksForUpdates; /*! A property indicating whether or not updates can be automatically downloaded in the background. - Note that automatic downloading of updates can be disallowed by the developer - or by the user's system if silent updates cannot be done (eg: if they require authentication). + Note that automatic downloading of updates can be disallowed by the developer. In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set. Setting this property will persist in the host bundle's user defaults. */ -@property BOOL automaticallyDownloadsUpdates; +@property (nonatomic) BOOL automaticallyDownloadsUpdates; /*! A property indicating the current automatic update check interval. @@ -112,7 +121,7 @@ SU_EXPORT @interface SUUpdater : NSObject The update schedule cycle will be reset in a short delay after the property's new value is set. This is to allow reverting this property without kicking off a schedule change immediately */ -@property NSTimeInterval updateCheckInterval; +@property (nonatomic) NSTimeInterval updateCheckInterval; /*! Begins a "probing" check for updates which will not actually offer to @@ -136,38 +145,38 @@ SU_EXPORT @interface SUUpdater : NSObject This property must be called on the main thread. */ -@property (copy) NSURL *feedURL; +@property (nonatomic, copy) NSURL *feedURL; /*! The host bundle that is being updated. */ -@property (readonly, strong) NSBundle *hostBundle; +@property (readonly, nonatomic) NSBundle *hostBundle; /*! The bundle this class (SUUpdater) is loaded into. */ -@property (strong, readonly) NSBundle *sparkleBundle; +@property (nonatomic, readonly) NSBundle *sparkleBundle; /*! - The user agent used when checking for updates. + The user agent used when checking for and downloading updates. - The default implementation can be overrided. + The default implementation can be overridden. */ @property (nonatomic, copy) NSString *userAgentString; /*! - The HTTP headers used when checking for updates. + The HTTP headers used when checking for and downloading updates. The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString) */ -@property (copy) NSDictionary<NSString *, NSString *> *httpHeaders; +@property (copy, nonatomic) NSDictionary<NSString *, NSString *> *httpHeaders; /*! A property indicating whether or not the user's system profile information is sent when checking for updates. Setting this property will persist in the host bundle's user defaults. */ -@property BOOL sendsSystemProfile; +@property (nonatomic) BOOL sendsSystemProfile; /*! A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg) @@ -175,58 +184,28 @@ SU_EXPORT @interface SUUpdater : NSObject @property (nonatomic, copy) NSString *decryptionPassword; /*! - This function ignores normal update schedule, ignores user preferences, - and interrupts users with an unwanted immediate app update. - - WARNING: this function should not be used in regular apps. This function - is a user-unfriendly hack only for very special cases, like unstable - rapidly-changing beta builds that would not run correctly if they were - even one day out of date. - - Instead of this function you should set `SUAutomaticallyUpdate` to `YES`, - which will gracefully install updates when the app quits. - - For UI-less/daemon apps that aren't usually quit, instead of this function, - you can use the delegate method - SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: - or - SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationBlock: - to immediately start installation when an update was found. - - A progress dialog is shown but the user will never be prompted to read the - release notes. - - This function will cause update to be downloaded twice if automatic updates are - enabled. - - You may want to respond to the userDidCancelDownload delegate method in case - the user clicks the "Cancel" button while the update is downloading. - */ -- (void)installUpdatesIfAvailable; - -/*! - Returns the date of last update check. + Returns the date of last update check. - \returns \c nil if no check has been performed. + \returns \c nil if no check has been performed. */ -@property (readonly, copy) NSDate *lastUpdateCheckDate; +@property (nonatomic, readonly, copy) NSDate *lastUpdateCheckDate; /*! - Appropriately schedules or cancels the update checking timer according to - the preferences for time interval and automatic checks. + Appropriately schedules or cancels the update checking timer according to + the preferences for time interval and automatic checks. - This call does not change the date of the next check, - but only the internal NSTimer. + This call does not change the date of the next check, + but only the internal NSTimer. */ - (void)resetUpdateCycle; /*! - A property indicating whether or not an update is in progress. + A property indicating whether or not an update is in progress. - Note this property is not indicative of whether or not user initiated updates can be performed. - Use SUUpdater::validateMenuItem: for that instead. + Note this property is not indicative of whether or not user initiated updates can be performed. + Use SUUpdater::validateMenuItem: for that instead. */ -@property (readonly) BOOL updateInProgress; +@property (nonatomic, readonly) BOOL updateInProgress; @end diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h b/Support/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h similarity index 85% rename from Support/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h rename to Support/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h index ea8197b..affe0a7 100644 --- a/Support/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h +++ b/Support/Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h @@ -2,17 +2,21 @@ // SUUpdaterDelegate.h // Sparkle // -// Created by Mayur Pawashe on 12/25/16. +// Created by Mayur Pawashe on 3/12/16. // Copyright © 2016 Sparkle Project. All rights reserved. // -#if __has_feature(modules) -@import Foundation; -#else #import <Foundation/Foundation.h> -#endif +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" #import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif @protocol SUVersionComparison, SUVersionDisplay; @class SUUpdater, SUAppcast, SUAppcastItem; @@ -42,6 +46,7 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; /*! Provides methods to control the behavior of an SUUpdater object. */ +__deprecated_msg("Deprecated in Sparkle 2. See SPUUpdaterDelegate instead") @protocol SUUpdaterDelegate <NSObject> @optional @@ -117,23 +122,6 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; */ - (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item; -/*! - Called just before the scheduled update driver prompts the user to install an update. - - \param updater The SUUpdater instance. - - \return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it. - */ -- (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item; - -/*! - Called after the user dismisses the update alert. - - \param updater The SUUpdater instance. - \param permanently YES if the alert will not appear again for this update; NO if it may reappear. - */ -- (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item; - /*! Called when a valid update is not found. @@ -142,11 +130,21 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; - (void)updaterDidNotFindUpdate:(SUUpdater *)updater; /*! - Called when the user clicks the Skip This Version button. - - \param updater The SUUpdater instance. - */ -- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item; + Called just before the scheduled update driver prompts the user to install an update. + + \param updater The SUUpdater instance. + + \return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it. + */ + - (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item; + + /*! + Called after the user dismisses the update alert. + + \param updater The SUUpdater instance. + \param permanently YES if the alert will not appear again for this update; NO if it may reappear. + */ + - (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item; /*! Called immediately before downloading the specified update. @@ -158,7 +156,7 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; - (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request; /*! - Called immediately after succesfull download of the specified update. + Called immediately after successful download of the specified update. \param updater The SUUpdater instance. \param item The appcast item corresponding to the update that has been downloaded. @@ -205,12 +203,22 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; */ - (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item; +/*! + Called when an update is skipped by the user. + + \param updater The updater instance. + \param item The appcast item corresponding to the update that the user skipped. + */ +- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item; + /*! Returns whether the relaunch should be delayed in order to perform other tasks. This is not called if the user didn't relaunch on the previous update, in that case it will immediately restart. + This may also not be called if the application is not going to relaunch after it terminates. + \param updater The SUUpdater instance. \param item The appcast item corresponding to the update that is proposed to be installed. \param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch. @@ -221,15 +229,15 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; /*! Returns whether the relaunch should be delayed in order to perform other tasks. - + This is not called if the user didn't relaunch on the previous update, in that case it will immediately restart. - + This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments. - + \param updater The SUUpdater instance. \param item The appcast item corresponding to the update that is proposed to be installed. - + \return \c YES to delay the relaunch. */ - (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item; @@ -263,7 +271,9 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; This method allows you to provide a custom version comparator. If you don't implement this method or return \c nil, - the standard version comparator will be used. + the standard version comparator will be used. Note that the + standard version comparator may be used during installation for preventing + a downgrade, even if you provide a custom comparator here. \sa SUStandardVersionComparator @@ -273,18 +283,17 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; /*! Returns an object that formats version numbers for display to the user. - - If you don't implement this method or return \c nil, - the standard version formatter will be used. + If you don't implement this method or return \c nil, the standard version formatter will be used. \sa SUUpdateAlert - \param updater The SUUpdater instance. */ -- (nullable id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater; +- (nullable id <SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater; /*! - Returns the path which is used to relaunch the client after the update is installed. + Returns the path to the application which is used to relaunch after the update is installed. + + The installer also waits for the termination of the application at this path. The default is the path of the host bundle. @@ -310,6 +319,7 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; /*! Called when an update is scheduled to be silently installed on quit. + This is after an update has been automatically downloaded in the background. (i.e. SUUpdater::automaticallyDownloadsUpdates is YES) @@ -324,7 +334,6 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; This is after an update has been automatically downloaded in the background. (i.e. SUUpdater::automaticallyDownloadsUpdates is YES) This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments. - \param updater The SUUpdater instance. \param item The appcast item corresponding to the update that is proposed to be installed. \param installationBlock Can be used to trigger an immediate silent install and relaunch. @@ -336,8 +345,10 @@ SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; \param updater The SUUpdater instance. \param item The appcast item corresponding to the update that was proposed to be installed. + + \deprecated This method is no longer invoked. The installer will try to its best ability to install the update. */ -- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item; +- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item __deprecated; /*! Called after an update is aborted due to an error. diff --git a/Support/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h b/Support/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h similarity index 75% rename from Support/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h rename to Support/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h index c654fc4..8d22d7a 100644 --- a/Support/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h +++ b/Support/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h @@ -9,21 +9,26 @@ #ifndef SUVERSIONCOMPARISONPROTOCOL_H #define SUVERSIONCOMPARISONPROTOCOL_H -#if __has_feature(modules) -@import Foundation; -#else #import <Foundation/Foundation.h> -#endif + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" #import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif NS_ASSUME_NONNULL_BEGIN -/*! +/** Provides version comparison facilities for Sparkle. */ @protocol SUVersionComparison -/*! +/** An abstract method to compare two version strings. Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, diff --git a/Support/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h b/Support/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h new file mode 100644 index 0000000..2874706 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h @@ -0,0 +1,78 @@ +// +// SUVersionDisplayProtocol.h +// EyeTV +// +// Created by Uli Kusterer on 08.12.09. +// Copyright 2009 Elgato Systems GmbH. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif + +@class SUAppcastItem; + +NS_ASSUME_NONNULL_BEGIN + +/** + Applies special display formatting to version numbers of the bundle to update and the update before presenting them to the user. +*/ +SU_EXPORT @protocol SUVersionDisplay <NSObject> + +/** + Formats an update's version string and bundle's version string for display. + + This method is used to format both the display version of the update and the display version of the bundle to update. + + The display versions returned by this method are then used for presenting to the user when a new update is available, + or when the user cannot download/install the latest update for a specific reason, or when the user has a newer version + installed than the latest known version in the update feed. + + On input, the `update.displayVersionString` and `*inOutBundleDisplayVersion` may be the same, but the + `update.versionString` and `bundleVersion` will differ. To differentiate between these display versions, you may + choose to return different display version strings for the update and bundle. + + @param update The update to format the update display version from. You can query `update.displayVersionString` and `update.versionString` to retrieve the update's version information. + @param inOutBundleDisplayVersion On input, the display version string (or `CFBundleShortVersionString`) of the bundle to update. On output, this is the display version string of the bundle to show to the user. + @param bundleVersion The version (or CFBundleVersion) of the bundle to update. + @return A new display version string of the `update.displayVersionString` to show to the user. + */ +- (NSString *)formatUpdateDisplayVersionFromUpdate:(SUAppcastItem *)update andBundleDisplayVersion:(NSString * _Nonnull __autoreleasing * _Nonnull)inOutBundleDisplayVersion withBundleVersion:(NSString *)bundleVersion; + +@optional + +/** + Formats a bundle's version string for display. + + This method is used to format the display version of the bundle. + This method may be used when no new update is available and the user is already on the latest known version. + In this case, no new update version is shown to the user. + + This method is optional. If it's not implemented, Sparkle will default to using the `bundleDisplayVersion` passed to this method. + + @param bundleDisplayVersion The display version string (or `CFBundleShortVersionString`) of the bundle to update. + @param bundleVersion The version (or `CFBundleVersion`) of the bundle to update. + @param matchingUpdate The update in the feed that corresponds to the current bundle, or `nil` if no matching update item could be found in the feed. + @return A new display version string of the bundle to show to the user. + */ +- (NSString *)formatBundleDisplayVersion:(NSString *)bundleDisplayVersion withBundleVersion:(NSString *)bundleVersion matchingUpdate:(SUAppcastItem * _Nullable)matchingUpdate; + +/** + Formats two version strings. + + Both versions are provided so that important distinguishing information + can be displayed while also leaving out unnecessary/confusing parts. +*/ +- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB __deprecated_msg("Please use -formatUpdateDisplayVersionFromUpdate:andBundleDisplayVersion:withBundleVersion:"); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/Headers/Sparkle.h b/Support/Sparkle.framework/Versions/B/Headers/Sparkle.h new file mode 100644 index 0000000..a048d26 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Headers/Sparkle.h @@ -0,0 +1,39 @@ +// +// Sparkle.h +// Sparkle +// +// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) +// Copyright 2006 Andy Matuschak. All rights reserved. +// + +#ifndef SPARKLE_H +#define SPARKLE_H + +// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless +// there are name-space collisions) so we can list all of them to start with: + +#import <Sparkle/SUExport.h> +#import <Sparkle/SUAppcast.h> +#import <Sparkle/SUAppcastItem.h> +#import <Sparkle/SUStandardVersionComparator.h> +#import <Sparkle/SPUUpdater.h> +#import <Sparkle/SPUUpdaterDelegate.h> +#import <Sparkle/SPUUpdaterSettings.h> +#import <Sparkle/SUVersionComparisonProtocol.h> +#import <Sparkle/SUVersionDisplayProtocol.h> +#import <Sparkle/SUErrors.h> +#import <Sparkle/SPUUpdatePermissionRequest.h> +#import <Sparkle/SUUpdatePermissionResponse.h> +#import <Sparkle/SPUUserDriver.h> +#import <Sparkle/SPUDownloadData.h> + +// UI bits +#import <Sparkle/SPUStandardUpdaterController.h> +#import <Sparkle/SPUStandardUserDriver.h> +#import <Sparkle/SPUStandardUserDriverDelegate.h> + +// Deprecated bits +#import <Sparkle/SUUpdater.h> +#import <Sparkle/SUUpdaterDelegate.h> + +#endif diff --git a/Support/Sparkle.framework/Versions/A/Modules/module.modulemap b/Support/Sparkle.framework/Versions/B/Modules/module.modulemap similarity index 100% rename from Support/Sparkle.framework/Versions/A/Modules/module.modulemap rename to Support/Sparkle.framework/Versions/B/Modules/module.modulemap index af3fe6d..01a494a 100644 --- a/Support/Sparkle.framework/Versions/A/Modules/module.modulemap +++ b/Support/Sparkle.framework/Versions/B/Modules/module.modulemap @@ -1,6 +1,6 @@ framework module Sparkle { umbrella header "Sparkle.h" - export * + module * { export * } } diff --git a/Support/Sparkle.framework/Versions/B/Modules/module.private.modulemap b/Support/Sparkle.framework/Versions/B/Modules/module.private.modulemap new file mode 100644 index 0000000..8bc5cfd --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Modules/module.private.modulemap @@ -0,0 +1,38 @@ +// +// Sparkle.private.modulemap +// Sparkle +// +// Created on 4/30/25. +// Copyright © 2025 Sparkle Project. All rights reserved. +// + +framework module Sparkle_Private { + // Nothing exported here +} + +explicit module Sparkle_Private.SPUStandardUserDriver { + header "SPUStandardUserDriver+Private.h" + export * +} + +explicit module Sparkle_Private.SPUGentleUserDriverReminders { + header "SPUGentleUserDriverReminders.h" + export * +} + +explicit module Sparkle_Private.SPUUserAgent { + header "SPUUserAgent+Private.h" + export * +} + +explicit module Sparkle_Private.SUAppcastItem { + header "SUAppcastItem+Private.h" + header "SPUAppcastItemStateResolver.h" + export * +} + +explicit module Sparkle_Private.SUInstallerLauncher { + header "SUInstallerLauncher+Private.h" + header "SPUInstallationType.h" + export * +} diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h new file mode 100644 index 0000000..929d3f1 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h @@ -0,0 +1,38 @@ +// +// SPUAppcastItemStateResolver.h +// Sparkle +// +// Created by Mayur Pawashe on 5/31/21. +// Copyright © 2021 Sparkle Project. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SUStandardVersionComparator, SPUAppcastItemState; +@protocol SUVersionComparison; + +/** + Private exposed class used to resolve Appcast Item properties that rely on external factors such as a host. + This resolver is used for constructing appcast items. + */ +SU_EXPORT @interface SPUAppcastItemStateResolver : NSObject + +- (instancetype)init NS_UNAVAILABLE; + +- (instancetype)initWithHostVersion:(NSString *)hostVersion applicationVersionComparator:(id<SUVersionComparison>)applicationVersionComparator standardVersionComparator:(SUStandardVersionComparator *)standardVersionComparator; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h new file mode 100644 index 0000000..a509e0e --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h @@ -0,0 +1,22 @@ +// +// SPUGentleUserDriverReminders.h +// Sparkle +// +// Copyright © 2022 Sparkle Project. All rights reserved. +// + +#ifndef SPUGentleUserDriverReminders_h +#define SPUGentleUserDriverReminders_h + +/** + A private protocol for user drivers implementing gentle scheduled reminders + */ +@protocol SPUGentleUserDriverReminders + +- (void)logGentleScheduledUpdateReminderWarningIfNeeded; + +- (void)resetTimeSinceOpportuneUpdateNotice; + +@end + +#endif /* SPUGentleUserDriverReminders_h */ diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h new file mode 100644 index 0000000..dd6999e --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h @@ -0,0 +1,19 @@ +// +// SPUInstallationType.h +// Sparkle +// +// Created by Mayur Pawashe on 7/24/16. +// Copyright © 2016 Sparkle Project. All rights reserved. +// + +#ifndef SPUInstallationType_h +#define SPUInstallationType_h + +#define SPUInstallationTypeApplication @"application" // the default installation type for ordinary application updates +#define SPUInstallationTypeGuidedPackage @"package" // the preferred installation type for package installations +#define SPUInstallationTypeInteractivePackage @"interactive-package" // removed installation type; use guided package instead + +#define SPUInstallationTypesArray (@[SPUInstallationTypeApplication, SPUInstallationTypeGuidedPackage]) +#define SPUValidInstallationType(x) ((x != nil) && [SPUInstallationTypesArray containsObject:(NSString * _Nonnull)x]) + +#endif /* SPUInstallationType_h */ diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h new file mode 100644 index 0000000..45bd43f --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h @@ -0,0 +1,40 @@ +// +// SPUStandardUserDriver+Private.h +// Sparkle +// +// Copyright © 2022 Sparkle Project. All rights reserved. +// + +#ifndef SPUStandardUserDriver_Private_h +#define SPUStandardUserDriver_Private_h + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SPUStandardUserDriver.h" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SPUStandardUserDriver.h> +#import <Sparkle/SUExport.h> +#endif + +@class NSWindowController; + +NS_ASSUME_NONNULL_BEGIN + +SU_EXPORT @interface SPUStandardUserDriver (Private) + +/** + Private API for accessing the active update alert's window controller. + This is the window controller that shows the update's release notes and install choices. + This can be accessed in -[SPUStandardUserDriverDelegate standardUserDriverWillHandleShowingUpdate:forUpdate:state:] + */ +@property (nonatomic, readonly, nullable) NSWindowController *activeUpdateAlert; + +@end + +NS_ASSUME_NONNULL_END + +#endif /* SPUStandardUserDriver_Private_h */ diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h new file mode 100644 index 0000000..392fccb --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h @@ -0,0 +1,29 @@ +// +// SPUUserAgent+Private.h +// Sparkle +// +// Created by Mayur Pawashe on 11/12/21. +// Copyright © 2021 Sparkle Project. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +#endif + +NS_ASSUME_NONNULL_BEGIN + +@class SUHost; + +SU_EXPORT NSString *SPUMakeUserAgentWithHost(SUHost *responsibleHost, NSString * _Nullable displayNameSuffix); + +SU_EXPORT NSString *SPUMakeUserAgentWithBundle(NSBundle *responsibleBundle, NSString * _Nullable displayNameSuffix); + +NS_ASSUME_NONNULL_END diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h new file mode 100644 index 0000000..9941d13 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h @@ -0,0 +1,50 @@ +// +// SUAppcastItem+Private.h +// Sparkle +// +// Created by Mayur Pawashe on 4/30/21. +// Copyright © 2021 Sparkle Project. All rights reserved. +// + +#ifndef SUAppcastItem_Private_h +#define SUAppcastItem_Private_h + +#import <Foundation/Foundation.h> +#import <Sparkle/SUAppcastItem.h> + +NS_ASSUME_NONNULL_BEGIN + +// Available in SPUAppcastItemStateResolver.h (a private exposed header) +@class SPUAppcastItemStateResolver; +@class SUSignatures; + +@interface SUAppcastItem (Private) <NSSecureCoding> + +/** + Initializes with data from a dictionary provided by the RSS class and state resolver + + This initializer method is intended to be marked "private" and discouraged from public usage. + This method is available however. Talk to us to describe your use case and if you need to construct appcast items yourself. + */ +- (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL stateResolver:(SPUAppcastItemStateResolver *)stateResolver signingValidationStatus:(SPUAppcastSigningValidationStatus)signingValidationStatus failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error; + +/** + The EdDSA and DSA signatures of the update along with their statuses. + */ +@property (readonly, nonatomic, nullable) SUSignatures *signatures; + +/** + The EdDSA signature of the external release notes along with its status. + */ +@property (readonly, nonatomic, nullable) SUSignatures *releaseNotesSignatures; + +/** + The expected content length of the release notes file. + */ +@property (readonly, nonatomic) uint64_t releaseNotesContentLength; + +@end + +NS_ASSUME_NONNULL_END + +#endif /* SUAppcastItem_Private_h */ diff --git a/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h new file mode 100644 index 0000000..8922e18 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h @@ -0,0 +1,37 @@ +// +// SUInstallerLauncher+Private.h +// SUInstallerLauncher+Private +// +// Created by Mayur Pawashe on 8/21/21. +// Copyright © 2021 Sparkle Project. All rights reserved. +// + +#ifndef SUInstallerLauncher_Private_h +#define SUInstallerLauncher_Private_h + +#if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY) +// Ignore incorrect warning +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header" +#import "SUExport.h" +#import "SPUInstallationType.h" +#pragma clang diagnostic pop +#else +#import <Sparkle/SUExport.h> +// Chances are clients will need this too +#import <Sparkle/SPUInstallationType.h> +#endif + +@class NSString; + +/** + Private API for determining if the system needs authorization access to update a bundle path + + This API is not supported when used directly from a Sandboxed applications and will always return @c YES in that case. + + @param bundlePath The bundle path to test if authorization is needed when performing an update that replaces this bundle. + @return @c YES if Sparkle thinks authorization is needed to update the @c bundlePath, otherwise @c NO. + */ +SU_EXPORT BOOL SPUSystemNeedsAuthorizationAccessForBundlePath(NSString *bundlePath); + +#endif /* SUInstallerLauncher_Private_h */ diff --git a/Support/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings new file mode 100644 index 0000000..5bc44c6 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Info.plist b/Support/Sparkle.framework/Versions/B/Resources/Info.plist similarity index 78% rename from Support/Sparkle.framework/Versions/A/Resources/Info.plist rename to Support/Sparkle.framework/Versions/B/Resources/Info.plist index 7b69758..e074f84 100644 --- a/Support/Sparkle.framework/Versions/A/Resources/Info.plist +++ b/Support/Sparkle.framework/Versions/B/Resources/Info.plist @@ -3,7 +3,7 @@ <plist version="1.0"> <dict> <key>BuildMachineOSBuild</key> - <string>19A558d</string> + <string>25E246</string> <key>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleExecutable</key> @@ -17,7 +17,7 @@ <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> - <string>1.22.0 33-gd5222353e</string> + <string>2.9.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleSupportedPlatforms</key> @@ -25,22 +25,24 @@ <string>MacOSX</string> </array> <key>CFBundleVersion</key> - <string>1.22.0</string> + <string>2058</string> <key>DTCompiler</key> <string>com.apple.compilers.llvm.clang.1_0</string> <key>DTPlatformBuild</key> - <string>11M392r</string> + <string>25C57</string> + <key>DTPlatformName</key> + <string>macosx</string> <key>DTPlatformVersion</key> - <string>GM</string> + <string>26.2</string> <key>DTSDKBuild</key> - <string>19A536d</string> + <string>25C57</string> <key>DTSDKName</key> - <string>macosx10.15</string> + <string>macosx26.2</string> <key>DTXcode</key> - <string>1100</string> + <string>2620</string> <key>DTXcodeBuild</key> - <string>11M392r</string> + <string>17C52</string> <key>LSMinimumSystemVersion</key> - <string>10.7</string> + <string>10.13</string> </dict> </plist> diff --git a/Support/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css b/Support/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css new file mode 100644 index 0000000..bcd84a2 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css @@ -0,0 +1,13 @@ +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + color: white; + background: transparent; + } + :link { + color: #419CFF; + } + :link:active { + color: #FF1919; + } +} diff --git a/Support/Sparkle.framework/Versions/B/Resources/SUStatus.nib b/Support/Sparkle.framework/Versions/B/Resources/SUStatus.nib new file mode 100644 index 0000000..34cee51 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/SUStatus.nib differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/SUUpdateAlert.nib b/Support/Sparkle.framework/Versions/B/Resources/SUUpdateAlert.nib new file mode 100644 index 0000000..8a31004 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/SUUpdateAlert.nib differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib b/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..d243731 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib b/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib new file mode 100644 index 0000000..79bf8cf Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings new file mode 100644 index 0000000..290f858 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings new file mode 100644 index 0000000..ad056b7 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings new file mode 100644 index 0000000..4c1e6ef Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings new file mode 100644 index 0000000..51a2624 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings new file mode 100644 index 0000000..6f0e63b Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings new file mode 100644 index 0000000..d2e41b3 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings new file mode 100644 index 0000000..89ea40b Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings new file mode 100644 index 0000000..ae6bead Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings new file mode 100644 index 0000000..5fa6ec0 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings new file mode 100644 index 0000000..9a4a701 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings new file mode 100644 index 0000000..c3c6874 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings new file mode 100644 index 0000000..3f22e94 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings new file mode 100644 index 0000000..5c0504b Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings new file mode 100644 index 0000000..cc74944 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings new file mode 100644 index 0000000..57f5be6 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings new file mode 100644 index 0000000..954cb25 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings new file mode 100644 index 0000000..d4f8d2d Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings new file mode 100644 index 0000000..7a518c9 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings new file mode 100644 index 0000000..cd9f48d Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/nn.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/nn.lproj/Sparkle.strings new file mode 100644 index 0000000..ab54f02 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/nn.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings new file mode 100644 index 0000000..b2a184c Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings new file mode 100644 index 0000000..d907004 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings new file mode 100644 index 0000000..307b323 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings new file mode 100644 index 0000000..478e683 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings new file mode 100644 index 0000000..693f938 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings new file mode 100644 index 0000000..fea743a Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings new file mode 100644 index 0000000..8efec24 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings new file mode 100644 index 0000000..ae267f7 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings new file mode 100644 index 0000000..e859a28 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings new file mode 100644 index 0000000..6beeb10 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings new file mode 100644 index 0000000..e6687f8 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/vi.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/vi.lproj/Sparkle.strings new file mode 100644 index 0000000..99160b4 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/vi.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings new file mode 100644 index 0000000..8f735c1 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings new file mode 100644 index 0000000..c156895 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings b/Support/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings new file mode 100644 index 0000000..1d77bb6 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings differ diff --git a/Support/Sparkle.framework/Versions/B/Sparkle b/Support/Sparkle.framework/Versions/B/Sparkle new file mode 100755 index 0000000..1d5240c Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Sparkle differ diff --git a/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist new file mode 100644 index 0000000..1619191 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>BuildMachineOSBuild</key> + <string>25E246</string> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>Updater</string> + <key>CFBundleIdentifier</key> + <string>org.sparkle-project.Sparkle.Updater</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleLocalizations</key> + <array> + <string>en</string> + <string>ca</string> + <string>ar</string> + <string>cs</string> + <string>da</string> + <string>de</string> + <string>el</string> + <string>es</string> + <string>fa</string> + <string>fi</string> + <string>fr</string> + <string>he</string> + <string>hr</string> + <string>hu</string> + <string>is</string> + <string>it</string> + <string>ja</string> + <string>ko</string> + <string>nb</string> + <string>nl</string> + <string>nn</string> + <string>pl</string> + <string>pt-BR</string> + <string>pt-PT</string> + <string>ro</string> + <string>ru</string> + <string>sk</string> + <string>sl</string> + <string>sv</string> + <string>th</string> + <string>tr</string> + <string>uk</string> + <string>vi</string> + <string>zh_CN</string> + <string>zh_HK</string> + <string>zh_TW</string> + </array> + <key>CFBundleName</key> + <string>Updater</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>2.9.3</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleSupportedPlatforms</key> + <array> + <string>MacOSX</string> + </array> + <key>CFBundleVersion</key> + <string>2058</string> + <key>DTCompiler</key> + <string>com.apple.compilers.llvm.clang.1_0</string> + <key>DTPlatformBuild</key> + <string>25C57</string> + <key>DTPlatformName</key> + <string>macosx</string> + <key>DTPlatformVersion</key> + <string>26.2</string> + <key>DTSDKBuild</key> + <string>25C57</string> + <key>DTSDKName</key> + <string>macosx26.2</string> + <key>DTXcode</key> + <string>2620</string> + <key>DTXcodeBuild</key> + <string>17C52</string> + <key>LSApplicationCategoryType</key> + <string>public.app-category.utilities</string> + <key>LSMinimumSystemVersion</key> + <string>10.13</string> + <key>LSUIElement</key> + <string>1</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> +</dict> +</plist> diff --git a/Support/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater new file mode 100755 index 0000000..8190291 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater differ diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo similarity index 100% rename from Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo rename to Support/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo diff --git a/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib new file mode 100644 index 0000000..34cee51 Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib differ diff --git a/Support/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..79e476d --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>files</key> + <dict> + <key>Resources/SUStatus.nib</key> + <data> + GTcyeZW17TcmJWdEEfhoJMkZPyc= + </data> + </dict> + <key>files2</key> + <dict> + <key>Resources/SUStatus.nib</key> + <dict> + <key>hash2</key> + <data> + u6Fd03omr4dHYhS2iwbWRVEYzlB/13hj9JR9ZUpgRa8= + </data> + </dict> + </dict> + <key>rules</key> + <dict> + <key>^Resources/</key> + <true/> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^version.plist$</key> + <true/> + </dict> + <key>rules2</key> + <dict> + <key>.*\.dSYM($|/)</key> + <dict> + <key>weight</key> + <real>11</real> + </dict> + <key>^(.*/)?\.DS_Store$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>2000</real> + </dict> + <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^.*</key> + <true/> + <key>^Info\.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^PkgInfo$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^[^/]+$</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^embedded\.provisionprofile$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^version\.plist$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + </dict> +</dict> +</plist> diff --git a/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist new file mode 100644 index 0000000..2a7b72b --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>BuildMachineOSBuild</key> + <string>25E246</string> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>Downloader</string> + <key>CFBundleIdentifier</key> + <string>org.sparkle-project.DownloaderService</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>Downloader</string> + <key>CFBundlePackageType</key> + <string>XPC!</string> + <key>CFBundleShortVersionString</key> + <string>2.9.3</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleSupportedPlatforms</key> + <array> + <string>MacOSX</string> + </array> + <key>CFBundleVersion</key> + <string>2058</string> + <key>DTCompiler</key> + <string>com.apple.compilers.llvm.clang.1_0</string> + <key>DTPlatformBuild</key> + <string>25C57</string> + <key>DTPlatformName</key> + <string>macosx</string> + <key>DTPlatformVersion</key> + <string>26.2</string> + <key>DTSDKBuild</key> + <string>25C57</string> + <key>DTSDKName</key> + <string>macosx26.2</string> + <key>DTXcode</key> + <string>2620</string> + <key>DTXcodeBuild</key> + <string>17C52</string> + <key>LSMinimumSystemVersion</key> + <string>10.13</string> + <key>NSAppTransportSecurity</key> + <dict> + <key>NSAllowsArbitraryLoads</key> + <false/> + </dict> + <key>NSHumanReadableCopyright</key> + <string>Copyright © 2016 Sparkle Project. All rights reserved.</string> + <key>XPCService</key> + <dict> + <key>RunLoopType</key> + <string>NSRunLoop</string> + <key>ServiceType</key> + <string>Application</string> + </dict> +</dict> +</plist> diff --git a/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader new file mode 100755 index 0000000..e48a4af Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader differ diff --git a/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>files</key> + <dict/> + <key>files2</key> + <dict/> + <key>rules</key> + <dict> + <key>^Resources/</key> + <true/> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^version.plist$</key> + <true/> + </dict> + <key>rules2</key> + <dict> + <key>.*\.dSYM($|/)</key> + <dict> + <key>weight</key> + <real>11</real> + </dict> + <key>^(.*/)?\.DS_Store$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>2000</real> + </dict> + <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^.*</key> + <true/> + <key>^Info\.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^PkgInfo$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^[^/]+$</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^embedded\.provisionprofile$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^version\.plist$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + </dict> +</dict> +</plist> diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist similarity index 54% rename from Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist rename to Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist index eaa552a..4279cd0 100644 --- a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist +++ b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist @@ -3,21 +3,21 @@ <plist version="1.0"> <dict> <key>BuildMachineOSBuild</key> - <string>19A558d</string> + <string>25E246</string> <key>CFBundleDevelopmentRegion</key> - <string>English</string> + <string>en</string> <key>CFBundleExecutable</key> - <string>Autoupdate</string> - <key>CFBundleIconFile</key> - <string>AppIcon.icns</string> + <string>Installer</string> <key>CFBundleIdentifier</key> - <string>org.sparkle-project.Sparkle.Autoupdate</string> + <string>org.sparkle-project.InstallerLauncher</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> + <key>CFBundleName</key> + <string>Installer</string> <key>CFBundlePackageType</key> - <string>APPL</string> + <string>XPC!</string> <key>CFBundleShortVersionString</key> - <string>1.22.0 33-gd5222353e</string> + <string>2.9.3</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleSupportedPlatforms</key> @@ -25,30 +25,33 @@ <string>MacOSX</string> </array> <key>CFBundleVersion</key> - <string>1.22.0</string> + <string>2058</string> <key>DTCompiler</key> <string>com.apple.compilers.llvm.clang.1_0</string> <key>DTPlatformBuild</key> - <string>11M392r</string> + <string>25C57</string> + <key>DTPlatformName</key> + <string>macosx</string> <key>DTPlatformVersion</key> - <string>GM</string> + <string>26.2</string> <key>DTSDKBuild</key> - <string>19A536d</string> + <string>25C57</string> <key>DTSDKName</key> - <string>macosx10.15</string> + <string>macosx26.2</string> <key>DTXcode</key> - <string>1100</string> + <string>2620</string> <key>DTXcodeBuild</key> - <string>11M392r</string> - <key>LSBackgroundOnly</key> - <string>1</string> + <string>17C52</string> <key>LSMinimumSystemVersion</key> - <string>10.7</string> - <key>LSUIElement</key> - <string>1</string> - <key>NSMainNibFile</key> - <string>MainMenu</string> - <key>NSPrincipalClass</key> - <string>NSApplication</string> + <string>10.13</string> + <key>NSHumanReadableCopyright</key> + <string>Copyright © 2016 Sparkle Project. All rights reserved.</string> + <key>XPCService</key> + <dict> + <key>JoinExistingSession</key> + <true/> + <key>ServiceType</key> + <string>Application</string> + </dict> </dict> </plist> diff --git a/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer new file mode 100755 index 0000000..23b6a4e Binary files /dev/null and b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer differ diff --git a/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/Support/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>files</key> + <dict/> + <key>files2</key> + <dict/> + <key>rules</key> + <dict> + <key>^Resources/</key> + <true/> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^version.plist$</key> + <true/> + </dict> + <key>rules2</key> + <dict> + <key>.*\.dSYM($|/)</key> + <dict> + <key>weight</key> + <real>11</real> + </dict> + <key>^(.*/)?\.DS_Store$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>2000</real> + </dict> + <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^.*</key> + <true/> + <key>^Info\.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^PkgInfo$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^Resources/.*\.lproj/</key> + <dict> + <key>optional</key> + <true/> + <key>weight</key> + <real>1000</real> + </dict> + <key>^Resources/.*\.lproj/locversion.plist$</key> + <dict> + <key>omit</key> + <true/> + <key>weight</key> + <real>1100</real> + </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> + <key>^[^/]+$</key> + <dict> + <key>nested</key> + <true/> + <key>weight</key> + <real>10</real> + </dict> + <key>^embedded\.provisionprofile$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + <key>^version\.plist$</key> + <dict> + <key>weight</key> + <real>20</real> + </dict> + </dict> +</dict> +</plist> diff --git a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources b/Support/Sparkle.framework/Versions/B/_CodeSignature/CodeResources similarity index 53% rename from Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources rename to Support/Sparkle.framework/Versions/B/_CodeSignature/CodeResources index 2db050d..4244ae0 100644 --- a/Support/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources +++ b/Support/Sparkle.framework/Versions/B/_CodeSignature/CodeResources @@ -4,19 +4,39 @@ <dict> <key>files</key> <dict> - <key>Resources/AppIcon.icns</key> + <key>Resources/Base.lproj/Sparkle.strings</key> <data> - 4McwRDEss5BzWwUMG2Xf93+ze08= + VWAAPBUBu7+Ww7TPio08JCwUDo8= + </data> + <key>Resources/Info.plist</key> + <data> + ywJdExAy78jal/iu9wjQTNMatGU= + </data> + <key>Resources/ReleaseNotesColorStyle.css</key> + <data> + NjIvb1z7eJuLCKf9HS15O5heg50= </data> <key>Resources/SUStatus.nib</key> <data> - o2Yxifmvxybh4UD7ZLx7IddkLoE= + GTcyeZW17TcmJWdEEfhoJMkZPyc= + </data> + <key>Resources/SUUpdateAlert.nib</key> + <data> + 6M789C1QB9aMJ8C+60BqTx4LYfo= + </data> + <key>Resources/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib</key> + <data> + 2EEMgSXUAtJzDcm1Weat6WiBw0k= + </data> + <key>Resources/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key> + <data> + 9gl0bDWTU2acybnF4GiqxaGMXjk= </data> <key>Resources/ar.lproj/Sparkle.strings</key> <dict> <key>hash</key> <data> - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= + T7fNcqHlJUnjYfupB4g4wM7Eagk= </data> <key>optional</key> <true/> @@ -25,7 +45,7 @@ <dict> <key>hash</key> <data> - 8xZ59T/LZxVMOWNsGblySVsijvs= + cEAmpjo27zR+JhuaUXN0UQr3QK4= </data> <key>optional</key> <true/> @@ -34,7 +54,7 @@ <dict> <key>hash</key> <data> - 6JE9xjhtYHPDzzXXR8Mosaib/q4= + SMVp5lfHi/lfNXmw6lJYSrSwU/M= </data> <key>optional</key> <true/> @@ -43,7 +63,7 @@ <dict> <key>hash</key> <data> - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= + W+QsOXYRxKh4cMvK6JkwZvN+IVI= </data> <key>optional</key> <true/> @@ -52,7 +72,7 @@ <dict> <key>hash</key> <data> - 9TpatxKVW4B5x0nkam4LaP8YZpE= + JlyR7ml9yE5p/lWP3dDeO49yr18= </data> <key>optional</key> <true/> @@ -61,25 +81,25 @@ <dict> <key>hash</key> <data> - RU7Vl6NphtB/j6np3vlCOV+f3hg= + /Fqwo/qEklmldCP6iVh/6v/hRtA= </data> <key>optional</key> <true/> </dict> - <key>Resources/en.lproj/Sparkle.strings</key> + <key>Resources/es.lproj/Sparkle.strings</key> <dict> <key>hash</key> <data> - l89zcS7iMBHT6EWrGbWHDVntC48= + NhYVADtqCsYuGl2xBrjWTPJJPAc= </data> <key>optional</key> <true/> </dict> - <key>Resources/es.lproj/Sparkle.strings</key> + <key>Resources/fa.lproj/Sparkle.strings</key> <dict> <key>hash</key> <data> - wOQS5w7QXdkdtKNJB7rdanciR0s= + voU8aUJaurOIaAdtV33OM6YmtEg= </data> <key>optional</key> <true/> @@ -88,7 +108,7 @@ <dict> <key>hash</key> <data> - yd6pIoSj19HMDIUos4Td1Fch7bs= + 2Emh5JDGV5uqAvja/ExFDMHAIuo= </data> <key>optional</key> <true/> @@ -97,7 +117,7 @@ <dict> <key>hash</key> <data> - y92HAeGH2U+nipQe3JclUrCK5xM= + rYSw5ov8cR5YOqzXnWRZZAXrsHg= </data> <key>optional</key> <true/> @@ -106,7 +126,7 @@ <dict> <key>hash</key> <data> - U2WmlYGYmeeIlSW66R8awwmNXIE= + eNe6/Ewhtf0h3uHopz6L6dK8/yA= </data> <key>optional</key> <true/> @@ -115,7 +135,7 @@ <dict> <key>hash</key> <data> - cg3tRv/UshuWY4el+bbeoBZUzd4= + PijrXJOIU6kJbybmO9H6692KXDE= </data> <key>optional</key> <true/> @@ -124,7 +144,7 @@ <dict> <key>hash</key> <data> - PR7CwzbW+Lh9vVOFOSEI/fShBAM= + 2Ksks8It17APw4bY49SNRY+2Thw= </data> <key>optional</key> <true/> @@ -133,7 +153,7 @@ <dict> <key>hash</key> <data> - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= + 2/3AFNWHP6LviaOgYOiM8rEqa4o= </data> <key>optional</key> <true/> @@ -142,7 +162,7 @@ <dict> <key>hash</key> <data> - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= + PNYw/afpNtOrmCNC8SWxaJTWSgQ= </data> <key>optional</key> <true/> @@ -151,7 +171,7 @@ <dict> <key>hash</key> <data> - pOqMr4NLCYTsTevlFEYuB28kdvo= + myJp0ElupCpG4phEI8Q8ALK1czc= </data> <key>optional</key> <true/> @@ -160,7 +180,7 @@ <dict> <key>hash</key> <data> - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= + +rLWeKh8N/PJndmu/vE/a0ZZ//4= </data> <key>optional</key> <true/> @@ -169,7 +189,7 @@ <dict> <key>hash</key> <data> - ZdW2FCEBSCiNzzblpiVbzqOQs00= + 7T4tgFrl8L5HKxsa3BqpxwlCbhk= </data> <key>optional</key> <true/> @@ -178,7 +198,16 @@ <dict> <key>hash</key> <data> - 3BsDDQcMCxtwvlr07YzTG096bmU= + 5LcVaHg0grJ0vDggCaXx7l1KTwI= + </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/nn.lproj/Sparkle.strings</key> + <dict> + <key>hash</key> + <data> + 6TKcfDjDXy2w/l+WpcyN3q33OSs= </data> <key>optional</key> <true/> @@ -187,25 +216,25 @@ <dict> <key>hash</key> <data> - tbKCaaSKLjvC7nDxfs/zxdO0sB0= + kwySQYkh8n0leATrIoAeyTZy1+A= </data> <key>optional</key> <true/> </dict> - <key>Resources/pt_BR.lproj/Sparkle.strings</key> + <key>Resources/pt-BR.lproj/Sparkle.strings</key> <dict> <key>hash</key> <data> - fCBMPEPsgJUYEr/n7SCU8YstLAs= + VopPIMLshPYiYuKljquuZzNGJVY= </data> <key>optional</key> <true/> </dict> - <key>Resources/pt_PT.lproj/Sparkle.strings</key> + <key>Resources/pt-PT.lproj/Sparkle.strings</key> <dict> <key>hash</key> <data> - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= + NEDnlPEQQ+nDbGRR+eWfCulsTxU= </data> <key>optional</key> <true/> @@ -214,7 +243,7 @@ <dict> <key>hash</key> <data> - DQSgRc2GsuXpDdBrs3wSPW5Y3As= + x4LCBI0pkdA2fEOdYtnSRj/IVsI= </data> <key>optional</key> <true/> @@ -223,7 +252,7 @@ <dict> <key>hash</key> <data> - nm1CwJSExUzZFYaiAHF7VIkGn6I= + 8OsJ6WTQeMTV06mnU6nIp1Wyilc= </data> <key>optional</key> <true/> @@ -232,7 +261,7 @@ <dict> <key>hash</key> <data> - /iRGi+ly+kyot+oc/hjr0ZcBShM= + 6LpsH87uTuP3IDgICCnsls9ljF0= </data> <key>optional</key> <true/> @@ -241,7 +270,7 @@ <dict> <key>hash</key> <data> - sATNnW+R68nq8JWI+WTAnDhypIM= + sMh8m/GbzigzKc4IWFynhJZgZZw= </data> <key>optional</key> <true/> @@ -250,7 +279,7 @@ <dict> <key>hash</key> <data> - tUiNJSF7ds41OWD4IyeZogQOekk= + G2RCHl7W/Db88nHDTgDF9txwpeI= </data> <key>optional</key> <true/> @@ -259,7 +288,7 @@ <dict> <key>hash</key> <data> - xtkemLr0M1e/ZWKgA4ENtgOFXa8= + lhtsbCs8a/YN8USZqRzAu6l+WKM= </data> <key>optional</key> <true/> @@ -268,7 +297,7 @@ <dict> <key>hash</key> <data> - 1ZAnkcXSiedlZc0O8oX54NwZHkA= + nQVohktMItLSG//uX50V1Q3tjNQ= </data> <key>optional</key> <true/> @@ -277,7 +306,16 @@ <dict> <key>hash</key> <data> - pZzpQkpsUENxNUOdVMiFdri0zX0= + JGzTZrZVOFEmdPUU2nGug8+1Egg= + </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/vi.lproj/Sparkle.strings</key> + <dict> + <key>hash</key> + <data> + qoHngT/p/Zvmf/tpQ3XQdQBGaLg= </data> <key>optional</key> <true/> @@ -286,7 +324,16 @@ <dict> <key>hash</key> <data> - srfTNLIFIdhNKE0yRzwEqAD7b+c= + y6gXzs0x9sm68yiEJTGg8h8w+SY= + </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/zh_HK.lproj/Sparkle.strings</key> + <dict> + <key>hash</key> + <data> + twyTX9DzpgoJDvTFdkPXfvuGo6Q= </data> <key>optional</key> <true/> @@ -295,7 +342,7 @@ <dict> <key>hash</key> <data> - xTTZRp0ziBZthxP8cgRiEgxZE0U= + 6ltKBe6A8F5/DrkTElCM58gP9iA= </data> <key>optional</key> <true/> @@ -303,453 +350,630 @@ </dict> <key>files2</key> <dict> - <key>MacOS/fileop</key> + <key>Autoupdate</key> <dict> <key>cdhash</key> <data> - Ps1don/6nqymXddRaXBPac4trnw= + canGBbydhcS3QhXLhM6X9bApcc0= </data> <key>requirement</key> - <string>cdhash H"67e48cd5d6915bfcc4aac46335bc8249421445a3" or cdhash H"3ecd5da27ffa9eaca65dd75169704f69ce2dae7c"</string> + <string>cdhash H"71a9c605bc9d85c4b74215cb84ce97f5b02971cd" or cdhash H"3f13e26a619ae161a2ccd24d30696d3ec9cf3595"</string> </dict> - <key>Resources/AppIcon.icns</key> + <key>Headers/SPUAppcastSigningValidationStatus.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 4McwRDEss5BzWwUMG2Xf93+ze08= + UT1GB6yboDwiA7A98wf0BCFsPOfzQ2eE+77xhCx0J0k= </data> + </dict> + <key>Headers/SPUDownloadData.h</key> + <dict> <key>hash2</key> <data> - nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE= + WBhMLAaKjUOx7oVlH57dMKap5YmayTa69KXxWmCB17c= </data> </dict> - <key>Resources/SUStatus.nib</key> + <key>Headers/SPUStandardUpdaterController.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - o2Yxifmvxybh4UD7ZLx7IddkLoE= + 9F398jFWZMWJG5etDX/86asJ0Gfv+9KSGxC1i0gx7w8= </data> + </dict> + <key>Headers/SPUStandardUserDriver.h</key> + <dict> <key>hash2</key> <data> - 9EMiB3mf7GHO1CblwtYHjfKx9oWJW7uh2BeVuMSQdM8= + Cg5Ha2GTIZYCfde5TnjRh/gQ+Ax5ABaOtKWVa2PVSnc= </data> </dict> - <key>Resources/ar.lproj/Sparkle.strings</key> + <key>Headers/SPUStandardUserDriverDelegate.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 3/ZrgZd3oO/InbR3VBYBSZ3KsDs= + 2QblSfexCJeXJ/pW8TwCmQb+SMVgJThROktIC7RajC0= </data> + </dict> + <key>Headers/SPUUpdateCheck.h</key> + <dict> <key>hash2</key> <data> - kXl1QOUKU1bn38zZFTTTo6jSvJa3xzW+506BHFqXTrA= + H30F2i5GYmOu/j4JEw5WsuZbiGJXnge5gpyb9e2SHAM= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/ca.lproj/Sparkle.strings</key> + <key>Headers/SPUUpdatePermissionRequest.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 8xZ59T/LZxVMOWNsGblySVsijvs= + jCJyRsLqdGF0Hbi9cnSTbDy8vHN1/oFGVNR5smUM1r0= </data> + </dict> + <key>Headers/SPUUpdater.h</key> + <dict> <key>hash2</key> <data> - qveaz1JvR0txRBIrXESNsw7OQ/Ff/cPzhDLnsoEQraU= + owuHbcciooYfuPJxoL8Mlb1mTbTPKvV9IW0ZDy4BDuc= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/cs.lproj/Sparkle.strings</key> + <key>Headers/SPUUpdaterDelegate.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 6JE9xjhtYHPDzzXXR8Mosaib/q4= + IOpL9Sc+qmVgFglB1oCs7GVlllFic39Q6kJAhFp93iQ= </data> + </dict> + <key>Headers/SPUUpdaterSettings.h</key> + <dict> <key>hash2</key> <data> - +egOEAm7wKsZEYpWPMyIt3O/K3rKusLoqgRPDjTbVj0= + rXvfxxl3X+TN8UkPRe+QLe1NyzdWQC5kiEOXvuQl7f8= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/da.lproj/Sparkle.strings</key> + <key>Headers/SPUUserDriver.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - OjB4Xa9yPARy+Ji2tdn3b+Ac0Fo= + 25/mz3isoPL3mpmJjTja/1Zvlsgj3iuyuYVRGtdwF9w= </data> + </dict> + <key>Headers/SPUUserUpdateState.h</key> + <dict> <key>hash2</key> <data> - TNnVYVM/FH7RRT5MJDiudHhliKhwVdzKtoFHoaOyYNA= + Wflekz+LWys5wefEZao5rwIaLIiCC0sJ28/FWx3RnDA= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/de.lproj/Sparkle.strings</key> + <key>Headers/SUAppcast.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 9TpatxKVW4B5x0nkam4LaP8YZpE= + JR1v+ny8iQmZ3do0BoNPRTls+IenHlvp/1gYg1Wd8KA= </data> + </dict> + <key>Headers/SUAppcastItem.h</key> + <dict> <key>hash2</key> <data> - RWEMiKY073CexFxlxvRxZNV6sIGKW4o2w1zkbu84jTo= + leFSMeOWXUgPixT1yRHjkrcoSVSfMUdQyFESi/ZqwxQ= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/el.lproj/Sparkle.strings</key> + <key>Headers/SUErrors.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - RU7Vl6NphtB/j6np3vlCOV+f3hg= + 5+hPpu+FtUmBBoLsiDWT9WDXm3duvsX7EdlVim8feOU= </data> + </dict> + <key>Headers/SUExport.h</key> + <dict> <key>hash2</key> <data> - k6iM4cKwuwNERro0buUXP+cC7EfqUysLG3xtqQTYd88= + XO8CQmbFThLbYg949NEGhg3g+iouIw3/3+BCCLtEdFE= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/en.lproj/Sparkle.strings</key> + <key>Headers/SUStandardVersionComparator.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - l89zcS7iMBHT6EWrGbWHDVntC48= + fUB7nOch1cZQ50HstpLnfxLvO14Y6oE29yRI6NcgjGw= </data> + </dict> + <key>Headers/SUUpdatePermissionResponse.h</key> + <dict> <key>hash2</key> <data> - NsYIQJr5hHbcZCmDpOJU7CG0gQyMCwtcCHxnVm6hX10= + +TVcgETH3BaL2u+jesLphgAuwyiJXxcRkpPghNrZbyE= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/es.lproj/Sparkle.strings</key> + <key>Headers/SUUpdater.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - wOQS5w7QXdkdtKNJB7rdanciR0s= + lvb1mNWCyofJ0X88zXvMsK5PBXrG6Pr7hUrY0E3jNvY= </data> + </dict> + <key>Headers/SUUpdaterDelegate.h</key> + <dict> <key>hash2</key> <data> - Ft9c/NUFvzlK18fFR95eU9BF+WhuLxk4/mxS9Anjtgw= + oaCMM/1B690QWRbYGB0iJBf5/toBzcQq+moxURBs3jY= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/fi.lproj/Sparkle.strings</key> + <key>Headers/SUVersionComparisonProtocol.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - yd6pIoSj19HMDIUos4Td1Fch7bs= + KLu0JKx6uB4rk/YeNZ/vo+0J1qONCyZQBNIQPA9GvbQ= </data> + </dict> + <key>Headers/SUVersionDisplayProtocol.h</key> + <dict> <key>hash2</key> <data> - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= + PyPE+5u9vBlxRYDuTdf3P/wxQ26nM8m7MIw/dOerUSw= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/fr.lproj/Sparkle.strings</key> + <key>Headers/Sparkle.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - y92HAeGH2U+nipQe3JclUrCK5xM= + OkQqMusip3u1oI5hrGeNr/32xpfTMCC4Kmg7r0Aijgw= </data> + </dict> + <key>Modules/module.modulemap</key> + <dict> <key>hash2</key> <data> - iTJwrct6/Zdwlxdm5T/GC9hA4ztJ0z5vMfrd5koPIkM= + K8rh62bVXcSfWKz+hWN1pbvJHG6DvbKY0ZRCrmJkz6Y= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/he.lproj/Sparkle.strings</key> + <key>Modules/module.private.modulemap</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - U2WmlYGYmeeIlSW66R8awwmNXIE= + 2x1g9XtDqesX81UPVyCsU0ZtQ4U2hnD7UUjaW3H0Pzo= </data> + </dict> + <key>PrivateHeaders/SPUAppcastItemStateResolver.h</key> + <dict> <key>hash2</key> <data> - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= + HDvimACMGXV647Jwg2IqAFvOgJoB8G0sdPbeoW8yFO4= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/hr.lproj/Sparkle.strings</key> + <key>PrivateHeaders/SPUGentleUserDriverReminders.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - cg3tRv/UshuWY4el+bbeoBZUzd4= + 9W2dJ38WQX151mpIS0r8/EfCqZV6jEh621xwna2JVAI= </data> + </dict> + <key>PrivateHeaders/SPUInstallationType.h</key> + <dict> <key>hash2</key> <data> - dkl+Vn68FbdfQQMcnDHr8oXTSzW0uKtYMKZ0dTf9aC4= + UqGkRfWOfG3pSsVYwjkT+AgWR6SZJir/6aw4/3kJcdQ= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/hu.lproj/Sparkle.strings</key> + <key>PrivateHeaders/SPUStandardUserDriver+Private.h</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - PR7CwzbW+Lh9vVOFOSEI/fShBAM= + rMdk5zH+nm0wf+Mt6k0GtFGWQiXCsql0WiPwNanN6q0= </data> + </dict> + <key>PrivateHeaders/SPUUserAgent+Private.h</key> + <dict> <key>hash2</key> <data> - 03d0wnNZx2by2rcwyyUQp8ZbjVmAEQoBXA1HN25F7Hs= + DD6nxqq6syhA5BxWuyLPq03uTd4zAmA7b0q6msG1hQw= </data> - <key>optional</key> - <true/> </dict> - <key>Resources/is.lproj/Sparkle.strings</key> + <key>PrivateHeaders/SUAppcastItem+Private.h</key> <dict> - <key>hash</key> + <key>hash2</key> + <data> + ZC7L7ssyP3IBpzK1lT1g/v76E8+JSvKJNt0NfQAaEBo= + </data> + </dict> + <key>PrivateHeaders/SUInstallerLauncher+Private.h</key> + <dict> + <key>hash2</key> + <data> + yy6cRl8IqwMJwr86TS98NdnHb/WkSAaUcAoiKYUg3ZQ= + </data> + </dict> + <key>Resources/Base.lproj/Sparkle.strings</key> + <dict> + <key>hash2</key> + <data> + v5O93orQIPK6IQ7PoOhLU2XQNCNVo8o52I/sCsseSkA= + </data> + </dict> + <key>Resources/Info.plist</key> + <dict> + <key>hash2</key> <data> - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= + h7IF3DEzH860jD6FvIHxKwon7vW/aK3knkq86wat1HM= </data> + </dict> + <key>Resources/ReleaseNotesColorStyle.css</key> + <dict> + <key>hash2</key> + <data> + dr1pmXWP2OUdF+a0gttDT5tHaMArA3r2vS46AAzoy8E= + </data> + </dict> + <key>Resources/SUStatus.nib</key> + <dict> + <key>hash2</key> + <data> + u6Fd03omr4dHYhS2iwbWRVEYzlB/13hj9JR9ZUpgRa8= + </data> + </dict> + <key>Resources/SUUpdateAlert.nib</key> + <dict> + <key>hash2</key> + <data> + OYejM9p8JyjvLLllbl7q8IMohIc8q/eDU/y5CZxdj74= + </data> + </dict> + <key>Resources/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib</key> + <dict> <key>hash2</key> <data> - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= + zmCXFxocKusTM2sy9StAUazjyXAHBrjv+VGTsqUig9Q= + </data> + </dict> + <key>Resources/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib</key> + <dict> + <key>hash2</key> + <data> + ZLdS8WMscZ0plHRscWctC2AwdsAmglbv+17c5rb8viM= + </data> + </dict> + <key>Resources/ar.lproj/Sparkle.strings</key> + <dict> + <key>hash2</key> + <data> + RBGCeHRxo5mJCARFFf4T6SIw7ap+JzBjjnKklhD1bLo= </data> <key>optional</key> <true/> </dict> - <key>Resources/it.lproj/Sparkle.strings</key> + <key>Resources/ca.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - KrPl3iDKA91Kcl3LXG7nUmlQ9rY= + ftDVyjAGSafxMwQBUAjy3t6YrXQ6YlwX1aX+2swaOxo= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/cs.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - SnALHmsNWW8OuPdd4u6wTLF7MpPLJhJp//vTwuGcJpY= + meZt7Pm8Rs9WIu6tTmWztQLjd1pOjg8D7xtBaD6o1Rg= </data> <key>optional</key> <true/> </dict> - <key>Resources/ja.lproj/Sparkle.strings</key> + <key>Resources/da.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - pOqMr4NLCYTsTevlFEYuB28kdvo= + jQ/2m3lGAYX5QTcmVUM7rTk09J5jvvC0FxvWbaceVfA= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/de.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - jnZ+6gkcjoepDpH6/BXf4i3Txhm79rLxvJeqpPqHteE= + MRA1oVIn+xLoXroqRvP2GY2YrFWQ0dOMQ8T/dDDQZZk= </data> <key>optional</key> <true/> </dict> - <key>Resources/ko.lproj/Sparkle.strings</key> + <key>Resources/el.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - ZiduO/QU0b+UIt/1uiR2Ltiq/nY= + Y4mBpPCV2LHau2Iw1FLkcDWXEbgYA7xd+MIeEhH9N1c= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/es.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - o5tc0FFNdGdzBM2RGpZDRFKYF7JMFNZbfPyh3Surt7c= + BHua/9DplQOQcsJLjXqoMGJNA8icUk5PWNfW8T7Kg1I= </data> <key>optional</key> <true/> </dict> - <key>Resources/nb.lproj/Sparkle.strings</key> + <key>Resources/fa.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - ZdW2FCEBSCiNzzblpiVbzqOQs00= + 7Z3anicfepe4p/Mn5xobbQbl4GGzZ+faPRU+R9wxkmM= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/fi.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - CiGpWxnyFqcL70YEaY6tZavZqd/L3I/gl/58Vf/j9ys= + wUr5usP85DYiKk6id6emwPm0Ky2ErO6nXnWM51OKyuI= </data> <key>optional</key> <true/> </dict> - <key>Resources/nl.lproj/Sparkle.strings</key> + <key>Resources/fr.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - 3BsDDQcMCxtwvlr07YzTG096bmU= + PVVNzRZ7CF4lp1JIUz8h84lZOurOkSq5lSyCX/4UHOE= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/he.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - rOb3Gc/eTUZhs/QUuspB/stVPNkSU75vZKR5LNcdTek= + HXlb1zKdBLfOhLa9yEX5FzaehYsrKS8Re4mmZmoYVyM= </data> <key>optional</key> <true/> </dict> - <key>Resources/pl.lproj/Sparkle.strings</key> + <key>Resources/hr.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - tbKCaaSKLjvC7nDxfs/zxdO0sB0= + kgBBOAoIs7pQ1E6Kg/Wd5VETmEWnJ0jVjyOHxlkgszo= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/hu.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - yGt+gco6nzn7EMGrYj5QUGfy/Ax/HcMHlPi7v2gwdPk= + zCoW5NSHxvqzV7T30Pu/fsiCNxshMEE//LG2nNVA0s8= </data> <key>optional</key> <true/> </dict> - <key>Resources/pt_BR.lproj/Sparkle.strings</key> + <key>Resources/is.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - fCBMPEPsgJUYEr/n7SCU8YstLAs= + QD/rpQNBDpRVzQ6q/lkqJXbu2yQTDM8s2xPdpLEB+H4= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/it.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - vKlvCF9C0Tkpv05lzTmL8xZUeTclYhgm3mDU+0FCPLQ= + VqdEXBto12hJrFm5iqXCDJAC1eB+nwonIEhhYPhbc2Y= </data> <key>optional</key> <true/> </dict> - <key>Resources/pt_PT.lproj/Sparkle.strings</key> + <key>Resources/ja.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - CzVZ2qGRE0ZQoYAFZ/C1OoqoaH8= + 5ASRACivcFec+iCLtPrdnjWSUF/ImvII9AcfIwlVP7I= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/ko.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - Qedn2GikAYoVHUMFjZs4DYYZ0OLQtZKSCJTQDSb0WuE= + piaes/WgfQxPXXRn1QZTcgha73SExRip14T/1sj1quQ= </data> <key>optional</key> <true/> </dict> - <key>Resources/ro.lproj/Sparkle.strings</key> + <key>Resources/nb.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - DQSgRc2GsuXpDdBrs3wSPW5Y3As= + 728NyukMRAtH7OCZCenN818zg/NOcqYUyMXAdS7L/+A= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/nl.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - HakhsVJkpV0iiAc2tmuQ/p107dUH70aWI4tutDGX5Ps= + yprfNPuT/j85TMySEUv2prH4oSi7XzYsufMkfXwmx30= </data> <key>optional</key> <true/> </dict> - <key>Resources/ru.lproj/Sparkle.strings</key> + <key>Resources/nn.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - nm1CwJSExUzZFYaiAHF7VIkGn6I= + HbjGhTpVCqJTgtotVUMaHB0wjWo3Z2xPhZPMFjP4pa4= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/pl.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - /aioLC/IpLjhwGWWNrpmzvhFrjFcHxA6ZXtagde3rjA= + XFSz+OHrMCbhQucQ4hZ/L4Obc6ta1/GHGSMPM65oKqk= </data> <key>optional</key> <true/> </dict> - <key>Resources/sk.lproj/Sparkle.strings</key> + <key>Resources/pt-BR.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - /iRGi+ly+kyot+oc/hjr0ZcBShM= + ApLK3CrPw0h1weC1Ti1Q3jgzzV4gyGYMjv/iuFmqyEw= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/pt-PT.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - Dr7D2ChakP7IjzSKPULAjfQ//onLMkL0gw+yyfYjspA= + /JWFMtJqjh50Yi0/VY/CahKADoxJ+2FK/Q4Yg6zORwA= </data> <key>optional</key> <true/> </dict> - <key>Resources/sl.lproj/Sparkle.strings</key> + <key>Resources/ro.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - sATNnW+R68nq8JWI+WTAnDhypIM= + sr8GQiLDijZysB/glAb3mXGMsPxOcVEhZiY51v3+pu0= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/ru.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - TonjJQq91roqTPcD7kBKH/xsfvhc0wl3q0XBSySAu+g= + cZOvKOsqCbn+cRnPYGWiFQxlkJcbIvmMVvNWzZCFGSM= </data> <key>optional</key> <true/> </dict> - <key>Resources/sv.lproj/Sparkle.strings</key> + <key>Resources/sk.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - tUiNJSF7ds41OWD4IyeZogQOekk= + 4Vjaqk8/kbV87gWriW8sG8RnMXkyzFO7fAHn2u6eUjg= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/sl.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - QLVPGXWqtZ9Udh4uz+lLiX83nnDGdDM9WER9W2GBsv4= + xidwxgSmyMieKDNXyLMi2M5qhfTYXAkAIEgzH2X42YA= </data> <key>optional</key> <true/> </dict> - <key>Resources/th.lproj/Sparkle.strings</key> + <key>Resources/sv.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - xtkemLr0M1e/ZWKgA4ENtgOFXa8= + SiGtW8+Ng20mVxDC5KCmTwfJVR8cSWlNZzSpMdI+/Tk= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/th.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - fS7xcje0F0oq7sIn18SpN+cXAXCKsPBDNU/R9W3POqI= + S2yNwqtpoEJd46qdw4bGU5NI45g+R6oQ+UwX40WhV6U= </data> <key>optional</key> <true/> </dict> <key>Resources/tr.lproj/Sparkle.strings</key> <dict> - <key>hash</key> - <data> - 1ZAnkcXSiedlZc0O8oX54NwZHkA= - </data> <key>hash2</key> <data> - zKHIxWlHwUZ/93ji6b0kLof1QMBjmIQGE8E5urNuTZg= + sEDT8C00HroEfBXfyvtgQG0IRwlqlEZuyrUS3PsWq7U= </data> <key>optional</key> <true/> </dict> <key>Resources/uk.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - pZzpQkpsUENxNUOdVMiFdri0zX0= + /0TVhjWz6ECdVLQrcsh2pD4X+pj26pazJYO56Ix0erY= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/vi.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - P9H3Jrk+Zyq2tenKBdBC+b9hcLg4nlIEbRlXUAN1AqA= + KztKy631NM0OgSuX5Yn4Ck4WVbB8iQfpjMMd9Fj/2Lc= </data> <key>optional</key> <true/> </dict> <key>Resources/zh_CN.lproj/Sparkle.strings</key> <dict> - <key>hash</key> + <key>hash2</key> <data> - srfTNLIFIdhNKE0yRzwEqAD7b+c= + 5/VDuSl36avJByQcQR2NsPWcT+5ICFmz6I5LSV4Jdsg= </data> + <key>optional</key> + <true/> + </dict> + <key>Resources/zh_HK.lproj/Sparkle.strings</key> + <dict> <key>hash2</key> <data> - BhJKIV1dEw3kjBKsXdi9ATHVkYVIbZphZW4ZuTLUXQQ= + P8IQEy8z2Jrz0l0nx+oZQmz20wS+UCVFOEVuDsT7eFg= </data> <key>optional</key> <true/> </dict> <key>Resources/zh_TW.lproj/Sparkle.strings</key> <dict> - <key>hash</key> - <data> - xTTZRp0ziBZthxP8cgRiEgxZE0U= - </data> <key>hash2</key> <data> - 2aZwBp9W8BR6Tbt6hEDjm/y/vo3FGMCIQOAsclVy+kQ= + djIeHdhEybZWjLSvfGO7V9nRtwAQmu7dflch14cnsS0= </data> <key>optional</key> <true/> </dict> + <key>Updater.app</key> + <dict> + <key>cdhash</key> + <data> + rpulGacb8iX76Od/5cQrpdGw/Q0= + </data> + <key>requirement</key> + <string>cdhash H"ae9ba519a71bf225fbe8e77fe5c42ba5d1b0fd0d" or cdhash H"80314e8851f07b50b1c0ceaa087ebe1adfaab5b0"</string> + </dict> + <key>XPCServices/Downloader.xpc</key> + <dict> + <key>cdhash</key> + <data> + 9XGiDyG5ZJbcPo7H65a6FWiwcFU= + </data> + <key>requirement</key> + <string>cdhash H"f571a20f21b96496dc3e8ec7eb96ba1568b07055" or cdhash H"b3e6976c376b96844be70edb3522d36f6d6ac67e"</string> + </dict> + <key>XPCServices/Installer.xpc</key> + <dict> + <key>cdhash</key> + <data> + vhTafcvgC3bIlfXYmdncSk6KvqA= + </data> + <key>requirement</key> + <string>cdhash H"be14da7dcbe00b76c895f5d899d9dc4a4e8abea0" or cdhash H"75449a08eda5e2524585ed1fc45032dca8369e16"</string> + </dict> </dict> <key>rules</key> <dict> diff --git a/Support/Sparkle.framework/Versions/Current b/Support/Sparkle.framework/Versions/Current index 8c7e5a6..7371f47 120000 --- a/Support/Sparkle.framework/Versions/Current +++ b/Support/Sparkle.framework/Versions/Current @@ -1 +1 @@ -A \ No newline at end of file +B \ No newline at end of file diff --git a/Support/Sparkle.framework/XPCServices b/Support/Sparkle.framework/XPCServices new file mode 120000 index 0000000..99c46ea --- /dev/null +++ b/Support/Sparkle.framework/XPCServices @@ -0,0 +1 @@ +Versions/Current/XPCServices \ No newline at end of file