From 01c588027108e6884717ec7c866a2235e8c494de Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Thu, 19 May 2022 11:46:16 -0400 Subject: [PATCH] no objc --- releases/ZotHero1-99-2.alfredworkflow | Bin 4564839 -> 635162 bytes src/info.plist | 2 +- src/lib/.DS_Store | Bin 96260 -> 36868 bytes src/lib/AVFoundation/__init__.py | 34 - src/lib/AVFoundation/_metadata.py | 6780 ----- src/lib/AVKit/__init__.py | 32 - src/lib/AVKit/_metadata.py | 388 - src/lib/Accessibility/__init__.py | 41 - src/lib/Accessibility/_metadata.py | 196 - src/lib/Accounts/__init__.py | 30 - src/lib/Accounts/_metadata.py | 142 - src/lib/AdServices/__init__.py | 30 - src/lib/AdServices/_metadata.py | 49 - src/lib/AdSupport/__init__.py | 30 - src/lib/AdSupport/_metadata.py | 49 - src/lib/AddressBook/__init__.py | 31 - src/lib/AddressBook/_metadata.py | 568 - src/lib/AppKit/__init__.py | 187 - src/lib/AppKit/_metadata.py | 23328 ---------------- src/lib/AppKit/_nsapp.py | 29 - src/lib/AppTrackingTransparency/__init__.py | 32 - src/lib/AppTrackingTransparency/_metadata.py | 64 - src/lib/AppleScriptKit/__init__.py | 30 - src/lib/AppleScriptKit/_metadata.py | 39 - src/lib/AppleScriptObjC/__init__.py | 30 - src/lib/AppleScriptObjC/_metadata.py | 39 - src/lib/ApplicationServices/__init__.py | 35 - src/lib/AudioVideoBridging/__init__.py | 30 - src/lib/AudioVideoBridging/_metadata.py | 277 - src/lib/AuthenticationServices/__init__.py | 32 - src/lib/AuthenticationServices/_metadata.py | 515 - .../__init__.py | 32 - .../_metadata.py | 242 - src/lib/Automator/__init__.py | 30 - src/lib/Automator/_metadata.py | 185 - src/lib/BusinessChat/__init__.py | 30 - src/lib/BusinessChat/_metadata.py | 40 - src/lib/CFNetwork/__init__.py | 52 - src/lib/CFNetwork/_metadata.py | 531 - src/lib/CFOpenDirectory/__init__.py | 32 - src/lib/CFOpenDirectory/_metadata.py | 880 - src/lib/CalendarStore/__init__.py | 30 - src/lib/CalendarStore/_metadata.py | 82 - src/lib/CallKit/__init__.py | 30 - src/lib/CallKit/_metadata.py | 380 - src/lib/ClassKit/__init__.py | 31 - src/lib/ClassKit/_metadata.py | 229 - src/lib/CloudKit/__init__.py | 33 - src/lib/CloudKit/_metadata.py | 2441 -- src/lib/Cocoa/__init__.py | 27 - src/lib/Collaboration/__init__.py | 30 - src/lib/Collaboration/_metadata.py | 103 - src/lib/ColorSync/__init__.py | 29 - src/lib/ColorSync/_metadata.py | 418 - src/lib/Contacts/__init__.py | 31 - src/lib/Contacts/_metadata.py | 241 - src/lib/ContactsUI/__init__.py | 32 - src/lib/ContactsUI/_metadata.py | 72 - src/lib/CoreAudio/__init__.py | 36 - src/lib/CoreAudio/_metadata.py | 852 - src/lib/CoreAudioKit/__init__.py | 31 - src/lib/CoreAudioKit/_metadata.py | 99 - src/lib/CoreBluetooth/__init__.py | 31 - src/lib/CoreBluetooth/_metadata.py | 432 - src/lib/CoreData/__init__.py | 32 - src/lib/CoreData/_convenience.py | 62 - src/lib/CoreData/_metadata.py | 1105 - src/lib/CoreFoundation/__init__.py | 39 - src/lib/CoreFoundation/_metadata.py | 3418 --- src/lib/CoreFoundation/_static.py | 107 - src/lib/CoreHaptics/__init__.py | 30 - src/lib/CoreHaptics/_metadata.py | 387 - src/lib/CoreLocation/__init__.py | 43 - src/lib/CoreLocation/_metadata.py | 571 - src/lib/CoreMIDI/__init__.py | 31 - src/lib/CoreMIDI/_metadata.py | 647 - src/lib/CoreML/__init__.py | 31 - src/lib/CoreML/_metadata.py | 505 - src/lib/CoreMedia/__init__.py | 38 - src/lib/CoreMedia/_macros.py | 89 - src/lib/CoreMedia/_metadata.py | 1598 -- src/lib/CoreMediaIO/__init__.py | 52 - src/lib/CoreMediaIO/_metadata.py | 510 - src/lib/CoreMotion/__init__.py | 30 - src/lib/CoreMotion/_metadata.py | 456 - src/lib/CoreServices/CarbonCore/__init__.py | 32 - src/lib/CoreServices/CarbonCore/_metadata.py | 497 - .../DictionaryServices/__init__.py | 29 - .../DictionaryServices/_metadata.py | 53 - .../CoreServices/LaunchServices/__init__.py | 31 - .../CoreServices/LaunchServices/_metadata.py | 700 - src/lib/CoreServices/Metadata/__init__.py | 31 - src/lib/CoreServices/Metadata/_metadata.py | 326 - src/lib/CoreServices/SearchKit/__init__.py | 156 - src/lib/CoreServices/SearchKit/_metadata.py | 336 - src/lib/CoreServices/__init__.py | 35 - src/lib/CoreSpotlight/__init__.py | 31 - src/lib/CoreSpotlight/_metadata.py | 300 - src/lib/CoreText/__init__.py | 37 - src/lib/CoreText/_metadata.py | 1275 - src/lib/CoreWLAN/__init__.py | 130 - src/lib/CoreWLAN/_metadata.py | 412 - src/lib/CryptoTokenKit/__init__.py | 31 - src/lib/CryptoTokenKit/_metadata.py | 450 - src/lib/DVDPlayback/__init__.py | 30 - src/lib/DVDPlayback/_metadata.py | 378 - src/lib/DataDetection/__init__.py | 30 - src/lib/DataDetection/_metadata.py | 46 - src/lib/DeviceCheck/__init__.py | 30 - src/lib/DeviceCheck/_metadata.py | 118 - src/lib/DictionaryServices/__init__.py | 31 - src/lib/DiscRecording/__init__.py | 53 - src/lib/DiscRecording/_metadata.py | 575 - src/lib/DiscRecordingUI/__init__.py | 31 - src/lib/DiscRecordingUI/_metadata.py | 252 - src/lib/DiskArbitration/__init__.py | 30 - src/lib/DiskArbitration/_metadata.py | 339 - src/lib/EventKit/__init__.py | 30 - src/lib/EventKit/_metadata.py | 249 - src/lib/ExceptionHandling/__init__.py | 29 - src/lib/ExceptionHandling/_metadata.py | 83 - src/lib/ExecutionPolicy/__init__.py | 30 - src/lib/ExecutionPolicy/_metadata.py | 68 - src/lib/ExternalAccessory/__init__.py | 31 - src/lib/ExternalAccessory/_metadata.py | 116 - src/lib/FSEvents/__init__.py | 30 - src/lib/FSEvents/_metadata.py | 100 - src/lib/FileProvider/__init__.py | 34 - src/lib/FileProvider/_metadata.py | 1587 -- src/lib/FileProviderUI/__init__.py | 30 - src/lib/FileProviderUI/_metadata.py | 58 - src/lib/FinderSync/__init__.py | 30 - src/lib/FinderSync/_metadata.py | 137 - src/lib/Foundation/__init__.py | 212 - src/lib/Foundation/_context.py | 26 - src/lib/Foundation/_functiondefines.py | 57 - src/lib/Foundation/_metadata.py | 11532 -------- src/lib/Foundation/_nsindexset.py | 21 - src/lib/Foundation/_nsobject.py | 235 - src/lib/GameCenter/__init__.py | 35 - src/lib/GameCenter/_metadata.py | 1683 -- src/lib/GameController/__init__.py | 31 - src/lib/GameController/_metadata.py | 899 - src/lib/GameKit/__init__.py | 31 - src/lib/GameKit/_metadata.py | 2834 -- src/lib/GameplayKit/__init__.py | 32 - src/lib/GameplayKit/_metadata.py | 289 - src/lib/HIServices/__init__.py | 32 - src/lib/HIServices/_metadata.py | 1014 - src/lib/IMServicePlugIn/__init__.py | 36 - src/lib/IMServicePlugIn/_metadata.py | 339 - src/lib/IOSurface/__init__.py | 30 - src/lib/IOSurface/_metadata.py | 182 - src/lib/ImageCaptureCore/__init__.py | 29 - src/lib/ImageCaptureCore/_metadata.py | 811 - src/lib/InputMethodKit/__init__.py | 30 - src/lib/InputMethodKit/_metadata.py | 222 - src/lib/InstallerPlugins/__init__.py | 29 - src/lib/InstallerPlugins/_metadata.py | 56 - src/lib/InstantMessage/__init__.py | 30 - src/lib/InstantMessage/_metadata.py | 124 - src/lib/Intents/__init__.py | 31 - src/lib/Intents/_metadata.py | 6094 ---- src/lib/IntentsUI/__init__.py | 30 - src/lib/IntentsUI/_metadata.py | 153 - src/lib/JavaScriptCore/__init__.py | 33 - src/lib/JavaScriptCore/_metadata.py | 567 - src/lib/JavaScriptCore/_util.py | 25 - src/lib/KernelManagement/__init__.py | 30 - src/lib/KernelManagement/_metadata.py | 65 - src/lib/LatentSemanticMapping/__init__.py | 29 - src/lib/LatentSemanticMapping/_metadata.py | 125 - src/lib/LaunchServices/__init__.py | 33 - src/lib/LinkPresentation/__init__.py | 30 - src/lib/LinkPresentation/_metadata.py | 86 - src/lib/LocalAuthentication/__init__.py | 30 - src/lib/LocalAuthentication/_metadata.py | 129 - .../LocalAuthenticationEmbeddedUI/__init__.py | 35 - .../_metadata.py | 39 - src/lib/MLCompute/__init__.py | 30 - src/lib/MLCompute/_metadata.py | 565 - src/lib/MailKit/__init__.py | 30 - src/lib/MailKit/_metadata.py | 289 - src/lib/MapKit/__init__.py | 34 - src/lib/MapKit/_metadata.py | 1140 - src/lib/MediaAccessibility/__init__.py | 30 - src/lib/MediaAccessibility/_metadata.py | 170 - src/lib/MediaLibrary/__init__.py | 31 - src/lib/MediaLibrary/_metadata.py | 44 - src/lib/MediaPlayer/__init__.py | 30 - src/lib/MediaPlayer/_metadata.py | 540 - src/lib/MediaToolbox/__init__.py | 35 - src/lib/MediaToolbox/_metadata.py | 72 - src/lib/Metal/__init__.py | 31 - src/lib/Metal/_metadata.py | 4361 --- src/lib/MetalKit/__init__.py | 31 - src/lib/MetalKit/_metadata.py | 306 - src/lib/MetalPerformanceShaders/__init__.py | 34 - src/lib/MetalPerformanceShaders/_metadata.py | 2172 -- .../MetalPerformanceShadersGraph/__init__.py | 32 - .../MetalPerformanceShadersGraph/_metadata.py | 549 - src/lib/MetricKit/__init__.py | 30 - src/lib/MetricKit/_metadata.py | 65 - src/lib/ModelIO/__init__.py | 31 - src/lib/ModelIO/_metadata.py | 1673 -- src/lib/MultipeerConnectivity/__init__.py | 32 - src/lib/MultipeerConnectivity/_metadata.py | 263 - src/lib/NaturalLanguage/__init__.py | 30 - src/lib/NaturalLanguage/_metadata.py | 253 - src/lib/NetFS/__init__.py | 35 - src/lib/NetFS/_metadata.py | 130 - src/lib/Network/__init__.py | 37 - src/lib/Network/_metadata.py | 1765 -- src/lib/NetworkExtension/__init__.py | 30 - src/lib/NetworkExtension/_metadata.py | 1244 - src/lib/NotificationCenter/__init__.py | 31 - src/lib/NotificationCenter/_metadata.py | 190 - src/lib/OSAKit/__init__.py | 30 - src/lib/OSAKit/_metadata.py | 131 - src/lib/OSLog/__init__.py | 31 - src/lib/OSLog/_metadata.py | 89 - src/lib/OpenDirectory/__init__.py | 28 - src/lib/OpenDirectory/_metadata.py | 440 - src/lib/PassKit/__init__.py | 31 - src/lib/PassKit/_metadata.py | 977 - src/lib/PencilKit/__init__.py | 30 - src/lib/PencilKit/_metadata.py | 102 - src/lib/Photos/__init__.py | 31 - src/lib/Photos/_metadata.py | 825 - src/lib/PhotosUI/__init__.py | 31 - src/lib/PhotosUI/_metadata.py | 251 - src/lib/PreferencePanes/__init__.py | 29 - src/lib/PreferencePanes/_metadata.py | 60 - src/lib/PrintCore/__init__.py | 55 - src/lib/PrintCore/_metadata.py | 857 - src/lib/PushKit/__init__.py | 30 - src/lib/PushKit/_metadata.py | 92 - src/lib/PyObjCTools/AppCategories.py | 37 - src/lib/PyObjCTools/AppHelper.py | 349 - src/lib/PyObjCTools/Conversion.py | 238 - src/lib/PyObjCTools/Debugging.py | 222 - src/lib/PyObjCTools/FndCategories.py | 36 - src/lib/PyObjCTools/KeyValueCoding.py | 384 - src/lib/PyObjCTools/MachSignals.py | 42 - src/lib/PyObjCTools/Signals.py | 90 - src/lib/PyObjCTools/TestSupport.py | 1198 - src/lib/Quartz/CoreGraphics/__init__.py | 147 - .../Quartz/CoreGraphics/_contextmanager.py | 104 - src/lib/Quartz/CoreGraphics/_metadata.py | 2728 -- src/lib/Quartz/CoreVideo/__init__.py | 44 - src/lib/Quartz/CoreVideo/_metadata.py | 557 - .../ImageIO/PyObjCOverrides.bridgesupport | 393 - src/lib/Quartz/ImageIO/__init__.py | 31 - src/lib/Quartz/ImageIO/_metadata.py | 339 - src/lib/Quartz/ImageKit/__init__.py | 37 - src/lib/Quartz/ImageKit/_metadata.py | 649 - src/lib/Quartz/PDFKit/__init__.py | 33 - src/lib/Quartz/PDFKit/_metadata.py | 387 - src/lib/Quartz/QuartzComposer/__init__.py | 32 - src/lib/Quartz/QuartzComposer/_metadata.py | 426 - src/lib/Quartz/QuartzCore/__init__.py | 70 - src/lib/Quartz/QuartzCore/_metadata.py | 1112 - src/lib/Quartz/QuartzFilters/__init__.py | 31 - src/lib/Quartz/QuartzFilters/_metadata.py | 94 - src/lib/Quartz/QuickLookUI/__init__.py | 33 - src/lib/Quartz/QuickLookUI/_metadata.py | 273 - src/lib/Quartz/__init__.py | 110 - src/lib/QuickLookThumbnailing/__init__.py | 30 - src/lib/QuickLookThumbnailing/_metadata.py | 148 - src/lib/ReplayKit/__init__.py | 31 - src/lib/ReplayKit/_metadata.py | 358 - src/lib/SafariServices/__init__.py | 31 - src/lib/SafariServices/_metadata.py | 494 - src/lib/SceneKit/__init__.py | 48 - src/lib/SceneKit/_metadata.py | 1864 -- src/lib/ScreenCaptureKit/__init__.py | 32 - src/lib/ScreenCaptureKit/_metadata.py | 230 - src/lib/ScreenSaver/__init__.py | 30 - src/lib/ScreenSaver/_metadata.py | 63 - src/lib/ScreenTime/__init__.py | 30 - src/lib/ScreenTime/_metadata.py | 78 - src/lib/ScriptingBridge/__init__.py | 38 - src/lib/ScriptingBridge/_metadata.py | 68 - src/lib/SearchKit/__init__.py | 34 - src/lib/Security/__init__.py | 30 - src/lib/Security/_metadata.py | 2252 -- src/lib/SecurityFoundation/__init__.py | 31 - src/lib/SecurityFoundation/_metadata.py | 104 - src/lib/SecurityInterface/__init__.py | 32 - src/lib/SecurityInterface/_metadata.py | 246 - src/lib/ServiceManagement/__init__.py | 29 - src/lib/ServiceManagement/_metadata.py | 96 - src/lib/ShazamKit/__init__.py | 32 - src/lib/ShazamKit/_metadata.py | 126 - src/lib/Social/__init__.py | 30 - src/lib/Social/_metadata.py | 64 - src/lib/SoundAnalysis/__init__.py | 30 - src/lib/SoundAnalysis/_metadata.py | 137 - src/lib/Speech/__init__.py | 30 - src/lib/Speech/_metadata.py | 165 - src/lib/SpriteKit/__init__.py | 32 - src/lib/SpriteKit/_metadata.py | 740 - src/lib/StoreKit/__init__.py | 31 - src/lib/StoreKit/_metadata.py | 538 - src/lib/SyncServices/__init__.py | 30 - src/lib/SyncServices/_metadata.py | 634 - src/lib/SystemConfiguration/__init__.py | 38 - src/lib/SystemConfiguration/_metadata.py | 984 - src/lib/SystemExtensions/__init__.py | 30 - src/lib/SystemExtensions/_metadata.py | 102 - src/lib/UniformTypeIdentifiers/__init__.py | 32 - src/lib/UniformTypeIdentifiers/_metadata.py | 54 - src/lib/UserNotifications/__init__.py | 31 - src/lib/UserNotifications/_metadata.py | 241 - src/lib/UserNotificationsUI/__init__.py | 31 - src/lib/UserNotificationsUI/_metadata.py | 93 - src/lib/VideoSubscriberAccount/__init__.py | 32 - src/lib/VideoSubscriberAccount/_metadata.py | 145 - src/lib/VideoToolbox/__init__.py | 33 - src/lib/VideoToolbox/_metadata.py | 330 - src/lib/Virtualization/__init__.py | 32 - src/lib/Virtualization/_metadata.py | 288 - src/lib/Vision/__init__.py | 33 - src/lib/Vision/_metadata.py | 1183 - src/lib/WebKit/__init__.py | 32 - src/lib/WebKit/_metadata.py | 3263 --- src/lib/iTunesLibrary/__init__.py | 38 - src/lib/iTunesLibrary/_metadata.py | 138 - src/lib/libdispatch/__init__.py | 37 - src/lib/libdispatch/_metadata.py | 979 - src/lib/objc/__init__.py | 82 - src/lib/objc/_bridges.py | 69 - src/lib/objc/_bridgesupport.py | 876 - src/lib/objc/_callable_docstr.py | 314 - src/lib/objc/_category.py | 93 - src/lib/objc/_compat.py | 38 - src/lib/objc/_context.py | 51 - src/lib/objc/_convenience.py | 149 - src/lib/objc/_convenience_mapping.py | 131 - src/lib/objc/_convenience_nsarray.py | 425 - src/lib/objc/_convenience_nsdata.py | 438 - src/lib/objc/_convenience_nsdecimal.py | 116 - src/lib/objc/_convenience_nsdictionary.py | 346 - src/lib/objc/_convenience_nsobject.py | 123 - src/lib/objc/_convenience_nsset.py | 346 - src/lib/objc/_convenience_nsstring.py | 26 - src/lib/objc/_convenience_sequence.py | 54 - src/lib/objc/_descriptors.py | 417 - src/lib/objc/_dyld.py | 143 - src/lib/objc/_framework.py | 26 - src/lib/objc/_lazyimport.py | 511 - src/lib/objc/_locking.py | 33 - src/lib/objc/_properties.py | 1154 - src/lib/objc/_protocols.py | 34 - src/lib/objc/_pycoder.py | 584 - src/lib/objc/_pythonify.py | 76 - src/lib/pyobjc_core-8.5-py3.9-nspkg.pth | 1 - ...pyobjc_framework_Cocoa-8.5-py3.9-nspkg.pth | 1 - ...ork_ExceptionHandling-8.5-py3.10-nspkg.pth | 1 - 359 files changed, 1 insertion(+), 143219 deletions(-) delete mode 100644 src/lib/AVFoundation/__init__.py delete mode 100644 src/lib/AVFoundation/_metadata.py delete mode 100644 src/lib/AVKit/__init__.py delete mode 100644 src/lib/AVKit/_metadata.py delete mode 100644 src/lib/Accessibility/__init__.py delete mode 100644 src/lib/Accessibility/_metadata.py delete mode 100644 src/lib/Accounts/__init__.py delete mode 100644 src/lib/Accounts/_metadata.py delete mode 100644 src/lib/AdServices/__init__.py delete mode 100644 src/lib/AdServices/_metadata.py delete mode 100644 src/lib/AdSupport/__init__.py delete mode 100644 src/lib/AdSupport/_metadata.py delete mode 100644 src/lib/AddressBook/__init__.py delete mode 100644 src/lib/AddressBook/_metadata.py delete mode 100644 src/lib/AppKit/__init__.py delete mode 100644 src/lib/AppKit/_metadata.py delete mode 100644 src/lib/AppKit/_nsapp.py delete mode 100644 src/lib/AppTrackingTransparency/__init__.py delete mode 100644 src/lib/AppTrackingTransparency/_metadata.py delete mode 100644 src/lib/AppleScriptKit/__init__.py delete mode 100644 src/lib/AppleScriptKit/_metadata.py delete mode 100644 src/lib/AppleScriptObjC/__init__.py delete mode 100644 src/lib/AppleScriptObjC/_metadata.py delete mode 100644 src/lib/ApplicationServices/__init__.py delete mode 100644 src/lib/AudioVideoBridging/__init__.py delete mode 100644 src/lib/AudioVideoBridging/_metadata.py delete mode 100644 src/lib/AuthenticationServices/__init__.py delete mode 100644 src/lib/AuthenticationServices/_metadata.py delete mode 100644 src/lib/AutomaticAssessmentConfiguration/__init__.py delete mode 100644 src/lib/AutomaticAssessmentConfiguration/_metadata.py delete mode 100644 src/lib/Automator/__init__.py delete mode 100644 src/lib/Automator/_metadata.py delete mode 100644 src/lib/BusinessChat/__init__.py delete mode 100644 src/lib/BusinessChat/_metadata.py delete mode 100644 src/lib/CFNetwork/__init__.py delete mode 100644 src/lib/CFNetwork/_metadata.py delete mode 100644 src/lib/CFOpenDirectory/__init__.py delete mode 100644 src/lib/CFOpenDirectory/_metadata.py delete mode 100644 src/lib/CalendarStore/__init__.py delete mode 100644 src/lib/CalendarStore/_metadata.py delete mode 100644 src/lib/CallKit/__init__.py delete mode 100644 src/lib/CallKit/_metadata.py delete mode 100644 src/lib/ClassKit/__init__.py delete mode 100644 src/lib/ClassKit/_metadata.py delete mode 100644 src/lib/CloudKit/__init__.py delete mode 100644 src/lib/CloudKit/_metadata.py delete mode 100644 src/lib/Cocoa/__init__.py delete mode 100644 src/lib/Collaboration/__init__.py delete mode 100644 src/lib/Collaboration/_metadata.py delete mode 100644 src/lib/ColorSync/__init__.py delete mode 100644 src/lib/ColorSync/_metadata.py delete mode 100644 src/lib/Contacts/__init__.py delete mode 100644 src/lib/Contacts/_metadata.py delete mode 100644 src/lib/ContactsUI/__init__.py delete mode 100644 src/lib/ContactsUI/_metadata.py delete mode 100644 src/lib/CoreAudio/__init__.py delete mode 100644 src/lib/CoreAudio/_metadata.py delete mode 100644 src/lib/CoreAudioKit/__init__.py delete mode 100644 src/lib/CoreAudioKit/_metadata.py delete mode 100644 src/lib/CoreBluetooth/__init__.py delete mode 100644 src/lib/CoreBluetooth/_metadata.py delete mode 100644 src/lib/CoreData/__init__.py delete mode 100644 src/lib/CoreData/_convenience.py delete mode 100644 src/lib/CoreData/_metadata.py delete mode 100644 src/lib/CoreFoundation/__init__.py delete mode 100644 src/lib/CoreFoundation/_metadata.py delete mode 100644 src/lib/CoreFoundation/_static.py delete mode 100644 src/lib/CoreHaptics/__init__.py delete mode 100644 src/lib/CoreHaptics/_metadata.py delete mode 100644 src/lib/CoreLocation/__init__.py delete mode 100644 src/lib/CoreLocation/_metadata.py delete mode 100644 src/lib/CoreMIDI/__init__.py delete mode 100644 src/lib/CoreMIDI/_metadata.py delete mode 100644 src/lib/CoreML/__init__.py delete mode 100644 src/lib/CoreML/_metadata.py delete mode 100644 src/lib/CoreMedia/__init__.py delete mode 100644 src/lib/CoreMedia/_macros.py delete mode 100644 src/lib/CoreMedia/_metadata.py delete mode 100644 src/lib/CoreMediaIO/__init__.py delete mode 100644 src/lib/CoreMediaIO/_metadata.py delete mode 100644 src/lib/CoreMotion/__init__.py delete mode 100644 src/lib/CoreMotion/_metadata.py delete mode 100644 src/lib/CoreServices/CarbonCore/__init__.py delete mode 100644 src/lib/CoreServices/CarbonCore/_metadata.py delete mode 100644 src/lib/CoreServices/DictionaryServices/__init__.py delete mode 100644 src/lib/CoreServices/DictionaryServices/_metadata.py delete mode 100644 src/lib/CoreServices/LaunchServices/__init__.py delete mode 100644 src/lib/CoreServices/LaunchServices/_metadata.py delete mode 100644 src/lib/CoreServices/Metadata/__init__.py delete mode 100644 src/lib/CoreServices/Metadata/_metadata.py delete mode 100644 src/lib/CoreServices/SearchKit/__init__.py delete mode 100644 src/lib/CoreServices/SearchKit/_metadata.py delete mode 100644 src/lib/CoreServices/__init__.py delete mode 100644 src/lib/CoreSpotlight/__init__.py delete mode 100644 src/lib/CoreSpotlight/_metadata.py delete mode 100644 src/lib/CoreText/__init__.py delete mode 100644 src/lib/CoreText/_metadata.py delete mode 100644 src/lib/CoreWLAN/__init__.py delete mode 100644 src/lib/CoreWLAN/_metadata.py delete mode 100644 src/lib/CryptoTokenKit/__init__.py delete mode 100644 src/lib/CryptoTokenKit/_metadata.py delete mode 100644 src/lib/DVDPlayback/__init__.py delete mode 100644 src/lib/DVDPlayback/_metadata.py delete mode 100644 src/lib/DataDetection/__init__.py delete mode 100644 src/lib/DataDetection/_metadata.py delete mode 100644 src/lib/DeviceCheck/__init__.py delete mode 100644 src/lib/DeviceCheck/_metadata.py delete mode 100644 src/lib/DictionaryServices/__init__.py delete mode 100644 src/lib/DiscRecording/__init__.py delete mode 100644 src/lib/DiscRecording/_metadata.py delete mode 100644 src/lib/DiscRecordingUI/__init__.py delete mode 100644 src/lib/DiscRecordingUI/_metadata.py delete mode 100644 src/lib/DiskArbitration/__init__.py delete mode 100644 src/lib/DiskArbitration/_metadata.py delete mode 100644 src/lib/EventKit/__init__.py delete mode 100644 src/lib/EventKit/_metadata.py delete mode 100644 src/lib/ExceptionHandling/__init__.py delete mode 100644 src/lib/ExceptionHandling/_metadata.py delete mode 100644 src/lib/ExecutionPolicy/__init__.py delete mode 100644 src/lib/ExecutionPolicy/_metadata.py delete mode 100644 src/lib/ExternalAccessory/__init__.py delete mode 100644 src/lib/ExternalAccessory/_metadata.py delete mode 100644 src/lib/FSEvents/__init__.py delete mode 100644 src/lib/FSEvents/_metadata.py delete mode 100644 src/lib/FileProvider/__init__.py delete mode 100644 src/lib/FileProvider/_metadata.py delete mode 100644 src/lib/FileProviderUI/__init__.py delete mode 100644 src/lib/FileProviderUI/_metadata.py delete mode 100644 src/lib/FinderSync/__init__.py delete mode 100644 src/lib/FinderSync/_metadata.py delete mode 100644 src/lib/Foundation/__init__.py delete mode 100644 src/lib/Foundation/_context.py delete mode 100644 src/lib/Foundation/_functiondefines.py delete mode 100644 src/lib/Foundation/_metadata.py delete mode 100644 src/lib/Foundation/_nsindexset.py delete mode 100644 src/lib/Foundation/_nsobject.py delete mode 100644 src/lib/GameCenter/__init__.py delete mode 100644 src/lib/GameCenter/_metadata.py delete mode 100644 src/lib/GameController/__init__.py delete mode 100644 src/lib/GameController/_metadata.py delete mode 100644 src/lib/GameKit/__init__.py delete mode 100644 src/lib/GameKit/_metadata.py delete mode 100644 src/lib/GameplayKit/__init__.py delete mode 100644 src/lib/GameplayKit/_metadata.py delete mode 100644 src/lib/HIServices/__init__.py delete mode 100644 src/lib/HIServices/_metadata.py delete mode 100644 src/lib/IMServicePlugIn/__init__.py delete mode 100644 src/lib/IMServicePlugIn/_metadata.py delete mode 100644 src/lib/IOSurface/__init__.py delete mode 100644 src/lib/IOSurface/_metadata.py delete mode 100644 src/lib/ImageCaptureCore/__init__.py delete mode 100644 src/lib/ImageCaptureCore/_metadata.py delete mode 100644 src/lib/InputMethodKit/__init__.py delete mode 100644 src/lib/InputMethodKit/_metadata.py delete mode 100644 src/lib/InstallerPlugins/__init__.py delete mode 100644 src/lib/InstallerPlugins/_metadata.py delete mode 100644 src/lib/InstantMessage/__init__.py delete mode 100644 src/lib/InstantMessage/_metadata.py delete mode 100644 src/lib/Intents/__init__.py delete mode 100644 src/lib/Intents/_metadata.py delete mode 100644 src/lib/IntentsUI/__init__.py delete mode 100644 src/lib/IntentsUI/_metadata.py delete mode 100644 src/lib/JavaScriptCore/__init__.py delete mode 100644 src/lib/JavaScriptCore/_metadata.py delete mode 100644 src/lib/JavaScriptCore/_util.py delete mode 100644 src/lib/KernelManagement/__init__.py delete mode 100644 src/lib/KernelManagement/_metadata.py delete mode 100644 src/lib/LatentSemanticMapping/__init__.py delete mode 100644 src/lib/LatentSemanticMapping/_metadata.py delete mode 100644 src/lib/LaunchServices/__init__.py delete mode 100644 src/lib/LinkPresentation/__init__.py delete mode 100644 src/lib/LinkPresentation/_metadata.py delete mode 100644 src/lib/LocalAuthentication/__init__.py delete mode 100644 src/lib/LocalAuthentication/_metadata.py delete mode 100644 src/lib/LocalAuthenticationEmbeddedUI/__init__.py delete mode 100644 src/lib/LocalAuthenticationEmbeddedUI/_metadata.py delete mode 100644 src/lib/MLCompute/__init__.py delete mode 100644 src/lib/MLCompute/_metadata.py delete mode 100644 src/lib/MailKit/__init__.py delete mode 100644 src/lib/MailKit/_metadata.py delete mode 100644 src/lib/MapKit/__init__.py delete mode 100644 src/lib/MapKit/_metadata.py delete mode 100644 src/lib/MediaAccessibility/__init__.py delete mode 100644 src/lib/MediaAccessibility/_metadata.py delete mode 100644 src/lib/MediaLibrary/__init__.py delete mode 100644 src/lib/MediaLibrary/_metadata.py delete mode 100644 src/lib/MediaPlayer/__init__.py delete mode 100644 src/lib/MediaPlayer/_metadata.py delete mode 100644 src/lib/MediaToolbox/__init__.py delete mode 100644 src/lib/MediaToolbox/_metadata.py delete mode 100644 src/lib/Metal/__init__.py delete mode 100644 src/lib/Metal/_metadata.py delete mode 100644 src/lib/MetalKit/__init__.py delete mode 100644 src/lib/MetalKit/_metadata.py delete mode 100644 src/lib/MetalPerformanceShaders/__init__.py delete mode 100644 src/lib/MetalPerformanceShaders/_metadata.py delete mode 100644 src/lib/MetalPerformanceShadersGraph/__init__.py delete mode 100644 src/lib/MetalPerformanceShadersGraph/_metadata.py delete mode 100644 src/lib/MetricKit/__init__.py delete mode 100644 src/lib/MetricKit/_metadata.py delete mode 100644 src/lib/ModelIO/__init__.py delete mode 100644 src/lib/ModelIO/_metadata.py delete mode 100644 src/lib/MultipeerConnectivity/__init__.py delete mode 100644 src/lib/MultipeerConnectivity/_metadata.py delete mode 100644 src/lib/NaturalLanguage/__init__.py delete mode 100644 src/lib/NaturalLanguage/_metadata.py delete mode 100644 src/lib/NetFS/__init__.py delete mode 100644 src/lib/NetFS/_metadata.py delete mode 100644 src/lib/Network/__init__.py delete mode 100644 src/lib/Network/_metadata.py delete mode 100644 src/lib/NetworkExtension/__init__.py delete mode 100644 src/lib/NetworkExtension/_metadata.py delete mode 100644 src/lib/NotificationCenter/__init__.py delete mode 100644 src/lib/NotificationCenter/_metadata.py delete mode 100644 src/lib/OSAKit/__init__.py delete mode 100644 src/lib/OSAKit/_metadata.py delete mode 100644 src/lib/OSLog/__init__.py delete mode 100644 src/lib/OSLog/_metadata.py delete mode 100644 src/lib/OpenDirectory/__init__.py delete mode 100644 src/lib/OpenDirectory/_metadata.py delete mode 100644 src/lib/PassKit/__init__.py delete mode 100644 src/lib/PassKit/_metadata.py delete mode 100644 src/lib/PencilKit/__init__.py delete mode 100644 src/lib/PencilKit/_metadata.py delete mode 100644 src/lib/Photos/__init__.py delete mode 100644 src/lib/Photos/_metadata.py delete mode 100644 src/lib/PhotosUI/__init__.py delete mode 100644 src/lib/PhotosUI/_metadata.py delete mode 100644 src/lib/PreferencePanes/__init__.py delete mode 100644 src/lib/PreferencePanes/_metadata.py delete mode 100644 src/lib/PrintCore/__init__.py delete mode 100644 src/lib/PrintCore/_metadata.py delete mode 100644 src/lib/PushKit/__init__.py delete mode 100644 src/lib/PushKit/_metadata.py delete mode 100644 src/lib/PyObjCTools/AppCategories.py delete mode 100644 src/lib/PyObjCTools/AppHelper.py delete mode 100644 src/lib/PyObjCTools/Conversion.py delete mode 100644 src/lib/PyObjCTools/Debugging.py delete mode 100644 src/lib/PyObjCTools/FndCategories.py delete mode 100644 src/lib/PyObjCTools/KeyValueCoding.py delete mode 100644 src/lib/PyObjCTools/MachSignals.py delete mode 100644 src/lib/PyObjCTools/Signals.py delete mode 100644 src/lib/PyObjCTools/TestSupport.py delete mode 100644 src/lib/Quartz/CoreGraphics/__init__.py delete mode 100644 src/lib/Quartz/CoreGraphics/_contextmanager.py delete mode 100644 src/lib/Quartz/CoreGraphics/_metadata.py delete mode 100644 src/lib/Quartz/CoreVideo/__init__.py delete mode 100644 src/lib/Quartz/CoreVideo/_metadata.py delete mode 100644 src/lib/Quartz/ImageIO/PyObjCOverrides.bridgesupport delete mode 100644 src/lib/Quartz/ImageIO/__init__.py delete mode 100644 src/lib/Quartz/ImageIO/_metadata.py delete mode 100644 src/lib/Quartz/ImageKit/__init__.py delete mode 100644 src/lib/Quartz/ImageKit/_metadata.py delete mode 100644 src/lib/Quartz/PDFKit/__init__.py delete mode 100644 src/lib/Quartz/PDFKit/_metadata.py delete mode 100644 src/lib/Quartz/QuartzComposer/__init__.py delete mode 100644 src/lib/Quartz/QuartzComposer/_metadata.py delete mode 100644 src/lib/Quartz/QuartzCore/__init__.py delete mode 100644 src/lib/Quartz/QuartzCore/_metadata.py delete mode 100644 src/lib/Quartz/QuartzFilters/__init__.py delete mode 100644 src/lib/Quartz/QuartzFilters/_metadata.py delete mode 100644 src/lib/Quartz/QuickLookUI/__init__.py delete mode 100644 src/lib/Quartz/QuickLookUI/_metadata.py delete mode 100644 src/lib/Quartz/__init__.py delete mode 100644 src/lib/QuickLookThumbnailing/__init__.py delete mode 100644 src/lib/QuickLookThumbnailing/_metadata.py delete mode 100644 src/lib/ReplayKit/__init__.py delete mode 100644 src/lib/ReplayKit/_metadata.py delete mode 100644 src/lib/SafariServices/__init__.py delete mode 100644 src/lib/SafariServices/_metadata.py delete mode 100644 src/lib/SceneKit/__init__.py delete mode 100644 src/lib/SceneKit/_metadata.py delete mode 100644 src/lib/ScreenCaptureKit/__init__.py delete mode 100644 src/lib/ScreenCaptureKit/_metadata.py delete mode 100644 src/lib/ScreenSaver/__init__.py delete mode 100644 src/lib/ScreenSaver/_metadata.py delete mode 100644 src/lib/ScreenTime/__init__.py delete mode 100644 src/lib/ScreenTime/_metadata.py delete mode 100644 src/lib/ScriptingBridge/__init__.py delete mode 100644 src/lib/ScriptingBridge/_metadata.py delete mode 100644 src/lib/SearchKit/__init__.py delete mode 100644 src/lib/Security/__init__.py delete mode 100644 src/lib/Security/_metadata.py delete mode 100644 src/lib/SecurityFoundation/__init__.py delete mode 100644 src/lib/SecurityFoundation/_metadata.py delete mode 100644 src/lib/SecurityInterface/__init__.py delete mode 100644 src/lib/SecurityInterface/_metadata.py delete mode 100644 src/lib/ServiceManagement/__init__.py delete mode 100644 src/lib/ServiceManagement/_metadata.py delete mode 100644 src/lib/ShazamKit/__init__.py delete mode 100644 src/lib/ShazamKit/_metadata.py delete mode 100644 src/lib/Social/__init__.py delete mode 100644 src/lib/Social/_metadata.py delete mode 100644 src/lib/SoundAnalysis/__init__.py delete mode 100644 src/lib/SoundAnalysis/_metadata.py delete mode 100644 src/lib/Speech/__init__.py delete mode 100644 src/lib/Speech/_metadata.py delete mode 100644 src/lib/SpriteKit/__init__.py delete mode 100644 src/lib/SpriteKit/_metadata.py delete mode 100644 src/lib/StoreKit/__init__.py delete mode 100644 src/lib/StoreKit/_metadata.py delete mode 100644 src/lib/SyncServices/__init__.py delete mode 100644 src/lib/SyncServices/_metadata.py delete mode 100644 src/lib/SystemConfiguration/__init__.py delete mode 100644 src/lib/SystemConfiguration/_metadata.py delete mode 100644 src/lib/SystemExtensions/__init__.py delete mode 100644 src/lib/SystemExtensions/_metadata.py delete mode 100644 src/lib/UniformTypeIdentifiers/__init__.py delete mode 100644 src/lib/UniformTypeIdentifiers/_metadata.py delete mode 100644 src/lib/UserNotifications/__init__.py delete mode 100644 src/lib/UserNotifications/_metadata.py delete mode 100644 src/lib/UserNotificationsUI/__init__.py delete mode 100644 src/lib/UserNotificationsUI/_metadata.py delete mode 100644 src/lib/VideoSubscriberAccount/__init__.py delete mode 100644 src/lib/VideoSubscriberAccount/_metadata.py delete mode 100644 src/lib/VideoToolbox/__init__.py delete mode 100644 src/lib/VideoToolbox/_metadata.py delete mode 100644 src/lib/Virtualization/__init__.py delete mode 100644 src/lib/Virtualization/_metadata.py delete mode 100644 src/lib/Vision/__init__.py delete mode 100644 src/lib/Vision/_metadata.py delete mode 100644 src/lib/WebKit/__init__.py delete mode 100644 src/lib/WebKit/_metadata.py delete mode 100644 src/lib/iTunesLibrary/__init__.py delete mode 100644 src/lib/iTunesLibrary/_metadata.py delete mode 100644 src/lib/libdispatch/__init__.py delete mode 100644 src/lib/libdispatch/_metadata.py delete mode 100644 src/lib/objc/__init__.py delete mode 100644 src/lib/objc/_bridges.py delete mode 100644 src/lib/objc/_bridgesupport.py delete mode 100644 src/lib/objc/_callable_docstr.py delete mode 100644 src/lib/objc/_category.py delete mode 100644 src/lib/objc/_compat.py delete mode 100644 src/lib/objc/_context.py delete mode 100644 src/lib/objc/_convenience.py delete mode 100644 src/lib/objc/_convenience_mapping.py delete mode 100644 src/lib/objc/_convenience_nsarray.py delete mode 100644 src/lib/objc/_convenience_nsdata.py delete mode 100644 src/lib/objc/_convenience_nsdecimal.py delete mode 100644 src/lib/objc/_convenience_nsdictionary.py delete mode 100644 src/lib/objc/_convenience_nsobject.py delete mode 100644 src/lib/objc/_convenience_nsset.py delete mode 100644 src/lib/objc/_convenience_nsstring.py delete mode 100644 src/lib/objc/_convenience_sequence.py delete mode 100644 src/lib/objc/_descriptors.py delete mode 100644 src/lib/objc/_dyld.py delete mode 100644 src/lib/objc/_framework.py delete mode 100644 src/lib/objc/_lazyimport.py delete mode 100644 src/lib/objc/_locking.py delete mode 100644 src/lib/objc/_properties.py delete mode 100644 src/lib/objc/_protocols.py delete mode 100644 src/lib/objc/_pycoder.py delete mode 100644 src/lib/objc/_pythonify.py delete mode 100644 src/lib/pyobjc_core-8.5-py3.9-nspkg.pth delete mode 100644 src/lib/pyobjc_framework_Cocoa-8.5-py3.9-nspkg.pth delete mode 100644 src/lib/pyobjc_framework_ExceptionHandling-8.5-py3.10-nspkg.pth diff --git a/releases/ZotHero1-99-2.alfredworkflow b/releases/ZotHero1-99-2.alfredworkflow index fe571f5394ec925141486d46ce143d6cd114ea74..ac408a83210fbf4f1d76551b24f24e427ec9b2c7 100644 GIT binary patch delta 10846 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¨jz*tr=wy4{wR=fOi?dg+kO=g?fGu>r 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 jNpfMq4guWu? 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
  • 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 H48b2W+HQJ+-DvnW zAMG(~yJ})oA85`E_IzqZPz1Rn

    C7SXd)~K8#d5CBA}^FGlaCscSCGM4vVUE8I8@ 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�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

    $%Bhi+{4!?9n^)rzs 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%0AZo_(Yck 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%0DCDWpmbJ}5bMMO?8^h}x09VCj0(lw;Sakzoqd~o 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ⅆ+^|a>7FIKHC;HIn?zMD*6bKi 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%0D#q5KYUG0Ck^ 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

    ;h>mN&%pmWWXf3aHBy=4 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

    M8XQ*~ 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

    UWZKq(S|44}dMDL&cJ#E#C-i1!3ui!p72{ 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 psVagaJgk{Cus?b}1>^h%a0r5>9&By3_2i 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 z]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≦}Y?3uCRnHcW2rH}foXoZu~q6ULU>3yngSh&9=* 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%0DC9fmz?^nrPLqb=U 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 z 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%0AuIL;l6A(^XJ54#}Jc8H#3ueVmgC=jVFi8>41 zV&yg@qsY&)v~q4qNyogkxGBbZ9jEU&&t8fcyD{@;Tf1oV)Fe?FrdzpXRz7*9luUT& z8u$L6#D602TkV?7k&i!#IO)o7c;0|FixQU466tFFk8TKnW-gAJDjUx<%m~tMc$yTk z9O;i*?iOy$Z_G4Zc}Fl98%j(KS;fQyO4;*QY_uift*FJ{YK}jh3-$E3uBh4b`Ne<0hpq6;#Xx*HNMhzhT2 z{24?Q)d%JB$!^uHu~ts3tsm@Q6`5^5@t$VP=Tli^?6mz4`VHe9>&wZi(nU)ykF&vq zfv6V*IRe})9ze+>a10UywQ3Ey-3|_FauafEy(1 z{=}FK-N{*qH<`x0tc!;0#1v{DQA=`MYMOz+H<3ok^0Sqa(jW58w&Ug&c4W8dbmKA} zbq}zXfYB=4&gNq5Kr2SoQ^o60Uw}(ly^{xHF1M&RQ2aGPIXSwsi1+GaYDG^1Q%|5( z5z9|%U;!=>OeB77nWddi%Y>UpAU@Yl{DMs;%`OWUE2WfW9{!g=+pG#$`DC>&U*#*;nF6= zOT!{ljP1-~6atPaWX(SX)xYft|9oLCmg?lqXtZkvYiop8lzd{v;!SAmDb-Lvo#v< zcVU|~Z^JhB)YRhvGN zX<^Ksx}`ApdS$BrnAahIi)m6ArT>%lLx(|;d$|`SsZ+}ICukoNy-nkl$&cC*W?Mw- z0Z+4dL{&kQd5~qaPY&kkb-5r!w@O-c8plCKOnZM>9c(!LE2O8a?YnPgz6) zB%We)i6Wu~N3^Ir4g_JkXmfnkjS9>w9c|V9VcX~=T+Jlirn0${6Es(0xXU- z>lRLcK(JuJEd+OWcbA~S-QAr6g1fuBySoIp;O_43_A~R%IcLtynfu+je?3qXRozwH z)w}n*-nF(2MT~&cZIA1(2rkG%HF}T4TH#PD@n7OhT93pQ{8Z1?G;JO9sC=jC`aS7# zUh?bL8AGR@&|D`oA-6>i!S`}Hb& z2=u9lqv&Bw2`yXyaFI2(1WMDMx`kThM?yZRyXAW1c9$yxd?1Fp^K#miP8#X0w+;%M zkhzUxEJVPAn&w5pn6X0r8dq$_u&%nK$Cq`>!JB)?#=^+gpn;>p;qt&Ym(| zqy@Xs4PS#q|Eh2Gx%xN@25XmqtYt7IYA*{ls1HLe_yp<1FS8F*kq;Mi(B$MN&-@t) z8|ROfIy-L(8afp0LVwyOKD~->S1v;#fLTo3$0BIZTo{h?g;S#t55bV)tXjqfmC%! zU$x0SRTjtV59D=VB*N~k-%`?);%=yGh{m2z*SUwjsZ$l9 z=w-)T%yk16oh7u_%?}`dMs;sk>-XiaJn=s<8X~{D;{VmZd%N`jTyGXZ|K{U=OHKX5 zzyHo={7nn_%X$lc*YzAyj)-87i~PAf;Xc+Ns$b5UM?!(%9Tz@{9Fw9BVY)KU6FHc; zs#Ylxqzl@{dQ<#h52Q)mz3K^nY5 zqpJ!$2H=52OzZHCcS`MnJSj=P(|Z0&;wn1EKhb^^%yZS@mj!GOtb9fM?yYIje}~`H zg3sqwUJ<|rfjHJuOv5vwY8JExPpGfhX%VjeS7DAOjjy0P)w#|OE>A)AQ2^6 z=EKleD>g8ECaYm&%NDd5O;MjSrK2qJwWdbE7!Z~%#Tr9qkv)XTm}4CFeXmCPMW7#o zU_{SFOhZ8d?{pEZD?ZmpJ|5JIiC?6Hl)_6lk2+vd&saYg)TK_|7}E$+$y3S7G#9&v zdy%UR+hqit98cA%FZs^z$%J@%JD?s}xV|L@XLe>F3TIocTT+tv^~7jja?Z&8lE|Rs z7l8E?0{eqV52l}f2F#^NBsrims5yid>0RRVD5Vc$;d;l_n&IZ+0@1kub?n}W`NJBc zN3j;444o6RdJES^@q^^-mR_@9no%{;oFbC*L59j4h~Fijw6iuQK&6hP(GHuUb@?ID zp^NQWb$oDZcS+P`6gG7qghZw3He|GK12D5xCdk@Alg-IC(&&j^qMayO5Qt58iX##K5NeKrs;}AbxvkEqj8Ib zK-sitzbD>3r5|nw^<7S`A1huA>2Q3%Rke0zeA5d)Vja0(A>`h7FdEc z#m$BsIIb;VeUQpuJdqMSIm7BZK6d*2jHAF3{u%c58c$JD$yv?8vapCY4WV8jh2`u$ zmya%&Cq8!v@s$@eak?!JpUqk;h9L@ZrSG0>tIP9EX%GsOGjy9~`SbT@^M0V}r6$b% zM+JGswA^Ajf1hnY&p_Q!3bv9IeY}2}iU!eOr5W_*j6>Y@@tlqC z_IGZX2hVs*?XC+OvyMZ<9~x=9X|NR_j#_YBl^^bXJ=HTHhqPuKIx#n9sur-efE^Ujbw*v&TC=9$5b6%|!Zq*ck`ruhT;uS}Xquk3aa@h_JbNE) z{xa3JoENtulInqfEyV7_mKmD^kml;GJ=EWEd%oCKJuJCccpF9EaX!`V^olKxeBAuX$2(4UJIdLCR zC4BRpQ9)?V;E_-K=|++DM;qhDNhJod%`cu_te_N`D7OsZF#*{<0g9lb6D3+RNiXCviD=t<*?oppMq7|&-pfPud66aQ=BE*C@#X2bF?$tI$15;LsN||9hw`Qo_fo2E>DXBT zyYixjCFF0%VG$hx`kQe=Be|e)1@kql; z6oV%r8XPd~;_Gq@6(*E6`am6UwS7yH;&XlQ4{zOp=fK##P!2>9#YdEtoJbAnSI7qD{myC) zx#ka7H$({_HYmFgQ>p%W>KkmVL8jg>bmL@poC!|Cq@@bvqJL)ksB)>!oO7mFs^FqD$oy2mOo3wK}7nif+e_^h<25v!F z1|PVfvXx7ni0>J2u4!ItuX{ky@PQwgPZq1ZtJWwcSm%5wqp4Q6k{z{SLKU$6b% zr_?UIO@E6WH1G*!cIb&lepIFP(kO6D;szIn)HsiuU+()mN9`f8-ADJATbloQxc_Zn z{x?E}*UHLFUryJ?*b1-{H@5qKrfu0wwI_eRVMDh!6!0Ipsy{CF7uN#*g}wa?*(`Q^ zC@P8PGx%DoLK`HDry8oV%*26J^kPOs=DXy@cgs5XU6aJh38GaZJv9bG+KEekmLEvf779{|*#?m&DXnHXjYbJ8cnx_KFmfg=p_&f; zr4XN8@3;sjKMA%1OeXtldp;TZ6Q#bOVeiWKv!=L{E?p5XA1eqaWpakxma57;6(`-d zy|05)+~Q5s_)cQK{N?lY1joUryESPS6^5b#`&Kg3bBFxd2m3*(hfp2Xmu(12_<|&i z0_m};7W|4G4jn&A7GCs8Nzs#=(3{(fUEXOjr3!rNA~<6Kz&fSB^}t!n_N*p-yDg6W zQ4CO5$%=># zP*4Q|)DVT=e$o7*XPTs+*n%1yqaMGen1Lms6dM_ksFEciC6nBS5|yZzB`IK-7#SK9 zpOzdh_6bD87ijp`LQ=|W32<+3=5N2;|B1K#x9&W+a&J zn21{mRalZ6@Q(Z;W`^@GkJ!!oazQ*eV{YZ57J|jtYn!ScFo`lIV-HfrG5}@`Z3Pz! z>|~);c2!>?NGbK4SSQ!YJRCAOrDN4!D_)H^mhT*+MNO!v71LGVs{Q?y5j}9%adw&x zwYXBGCvFCbIwYx^F@ic-brsTi_NO&Jj&GWM zhU8T0M`d#l7)tEb%vG3E`yo&!ri;Zmm4`7}bUOjjCgeESY5wsh4~y91PodhJph!A)cLO|h{W(;Mi#950N{kPBAgL#Xjh+^6B0tnR-bI&G^2 zZiJgizy#82-VcPsK8*sKJB)q+Efb>0Eh{X@%;!NJ(iqaN3I_cw{^kC?N2OcjyXV&J8j8%d4yMJBZzYu+BM#7U@h;`V2a5%<%nV(N?;+V(EAFPAPz=YL8w+?7mx615qlK{AQXJ~(6vLMX``2k znG{S~r31T%gp;8bO%W`w=YQZl6_2tAYFJ$BX&*^Rg0lNLHqu#0v+$RE5<;D*7B7>Y z;HJD62}fP%!Hp?~c)#$O=m+u(EqqFw&hvx}ajF&J+make_|ZZ5{wUOsxEntMzk08! zNojuLo6=smm>Ehg2ue8x5gQYfz?8BiRLZ!ZyHIcm>Prp_xLV% zN9gL8rdRGRu>+fUKEFe5@#BHM6(%V>|2SQeEZ2Ley5|n z;pwP9lVp4BB$4oa^Z1qDpi8r&izX^^NM#1U2}Kfx;wlCvRHD@qzF+h@;N-4n zB6+Xll3(@qyK4DB)6KTujeWD8`AT4|&c_xu?#(6xe*i_N!u=+B*Qj7k zxDq}XMERU)>~1&-ALQ>kNj|T8A~|{ql>9Ra`vrf<$CnyNRqe&8C(0x6e!gxAvKsD> z!bv5Xl-xDZ*_|1sIi{=H1IE{To!V6DC_8vZ3LY$*L#6eE6X4?g3nQXeE>*Y3 zjUvxOyoIpo+1=p)yye7oS3EI(b1 z=AIMg&C%whrpw&Trfx7?8J||I8Mc2B&z@y!(|hn!1cT$D%8J_89~&Vm^LK)(O7RVr z9ob!iS&R|meL0tjJObOI%6j#DZa!`ST$LO#;`BGS-=BDEIyN}9H;dLCcPjE*7KnR> ze5i(q```g4Zj}*q@I80+6T(UV%4$8i0NAM`xihK1n%$s&LjGu`FlDKyP+6Kb{9W&ozL0^kO1LB zr}o0fx#o`O!<7ORM4=L*v(Nk}`wp_|$|>yw#U}$pW>L@Yd*=aUZTK4+xGcRks#ZjB zCVnXX7%Z&_hQA2ffV0CDf0g&KG4MVYDYt|ORo!{bPSm`#)5VtwPEK8h5c2H%Ca+1JfmyNX`Z`3+A$x0`9rRTkvBe!8z)e zV`p{_oQ?#7ya_4FgJ)7;vd_AY;nYOdP>O3;vp^HR+Hjw6SL&2-%>6-1`X_=JIG;GK z4zM+R>nh zl?!5Nor23?6IY`pzV?%@&!RrLHwnS-gGA|?14atdehiAX+xt^e zBuxhmIv6bWNwJyd-%n)uC5n>?OO{D|BM*f+q`+Cg6;SJG>dC~sP(82-LSak~{^5U+ z=4&QLmhzJZ`Lm=TQ5lYWZ>;~ZP1yZ|Ub%_X!EB?>w8GFht{V`%q#V}L#^O9M^P@6J zGjTZ=q%MfZwkVz4Mh2auOJFQiUg~oi*sVJ}Y`Ba0pb>+tXW|Aa|2r~--8JD3Nr?|m zMs<9bHF8dIT?dyYRF*!Nd&7}%_d<{}-|@}Xkb+z7-6@+% z^>HaM&-QQ0bR+;>=IBMZ!Codd<7~<9Pe%5mB9mn{s%^Qi-BDyhW$#3AOQS0a@{jkA z=!;nkDK#&&-OMXhj2SgLm|OYEDaH$Cx|stGcLFNNS+F+sq`{~9%se1N(yzk?i9=f6 z<9o2@9)G*V_?dZRja7kp;J!_$kJGMD(6^2`o%X4tI^G6=b!40J_J+!8UCPI$Xw zuo#c6NZ&x(IV3ZCOd2cpvMcoLn{EUJVhV0K%|&g`h$EbRBu7BCjGA;uY*L%hfD?#c z!V>&Z1qwRS<;NAc@0N<>!?o=*!LE6@5EX((*=bp7yXIhH#H-n_Go4J$rIL!qRyIv; z=tZLS6O2WGxju~BH@2*CA8fC?>$+J+;^L&H=Srz^H}F7K=}g8wQ!TK;7~3T*;iKMY zmmdm~;gJFzD!j>DQ_7lPu~5vtPZVXJsT@Pwrohv6n*SD&p8@lu2k@%h$a}vdr~#7f zbDds!M;T8vry7lxUoCE{9<`+)9lCIP$VuO3Vwnu28r6Wj?mo<@GFH7Yc5u)xH>zxC z{?39s!55g-1Z2=oN5j;gD#R-b)v9jk-C_8B(I8dawA-FD6rA|I|~=gEEJE z-AvgEHE1hd|J%iofoZozD%N7YdGqr9Qq}(iX#X+y=eB1%3`c#N`@fYn1%7Kl@=xR5 z@0J&Y^KB6xcGwb$M5uA#F^Cg}i zorqvmFDQ=<52~;PbOrN^@Cn2=0-Ib|!a+qmBECEzj`C!98#dcHcRV1-%^6+ltV(^z zQ^-m`ab^A3hV3o6OHc`S2>wKS;{^VCc?)^`=jEmE{+bv!O?~itPFQ+hg2Wl%3xSjM zAbx*dOro2_H08P|gZx9lewjx&q$_C$BibTY`IlvrdK@ul)5@XhSYC_lBvyTb1K+cd zMbx%Uc$m{eU%zGGm^3E6&4=!?joqkKmGH1pc5ZTal5BmOrp+zj+8TfF7VI7y)<|%Q zI(D^TJq)s$^-^^iZ^$v*L;Xj(D%tS$ZC;6%A&hgfoDf&yIywkLQ-$_$SNS=r-WWbH_G#IL9O2)Fszdpo zr`k}PMkhT)*HrcauFqyewKjR1;Lkc+^dQYuZZM@E(9`r*#Xf}0gUTEboZew{SnvOA*y$9cOFCn+(?uK|i% zYvFva7IqH2A<~`s9}*q_7D0J|;fIaFs7;K`b1r)GLkH3~#YK7>Kh8ZKNgBg9MPos? zsT7|KZPjuvY~a?UrCOHraP{Q8d`M$n=7yThfx|Gb2hZQ+*kmNGA?mWpZ^zk0$Rn;C zpK=EIpH1w~+kdmaH6VIjT@$dJWv+8?@UI-BYE#h*J907VRj)dHf0Nkkr_^#-e&=04 zqS1PI*zWc!it})*uyK@7@YGv}>Mj{f?6lWBZKmqfv-uKqI8&n!PQ%xv(CZZQNt2P!SW87^N z_tmBi*^{Njha(ePNZrYSPO8O;YV>7mcKR|_?WSA{^3w%HD#JNWp;5GH^&i*y;1m8K zAwwJ^#SG$~J}vb67-P+kg%@2HhM1$>=R{T>mE?EXxxk@bt3i+7W=^cb-H|)pw z9H@dGEIq=M;vGA7@m*i6ZvDU@4V9JO5hf2+P&S?;USV00_OzbG^9&8+PoDzK^S|H!B;B0 zlonUNkSWwUTim*Hh&D>HDfOOmYb8UKEvTb3J%wk+_F~Q_g)#@p#mVHB9IPn>jwJ8JKq%{os|ucz#bx5?^@dIr?zI5k zMYrFacR5vngCVzB^XA!A+VLzVyI{1Ms@j5iA1oGH_6n$);l~X4Wz`}sOqB*$+*~(I z6`%ALDb|h>sC{xZg;f>R+XVD;$O+(Bc0~QIjH14DiNt;Z@j?J8c(?MCshoypH)XQY z%=jw|jGA6U>Z^e~E#x6u3uvrqvThfH> z`*ZRGD_6NbZ9Mk{k}-Fh85hj*b=ajfk`x<{SbsMDxBvdd|NeFyI(x+wz>VF2Fy`tb zI}L|xyM0y(Vm7<%W0raH=5a&n;l>SclxtyypCwtr2*Ay~3*&kE7PN{O@G2?tbRTi} z01-qCdMxdyHp~6(iRa6UhR7qgj2i*`Ys|(y4@Xn2%VX|mxUyG4RiHSW{3QP_(|;Q8 zdLwoGI_-Qz^?B25{@}JfaB%v4>5SZncxd)XbJN&CThXJFct%PV9r_t7{4W#ri}$6y z0EbKwZnI3gZKllOC1F#TA;{sS80>S8r74Hlv+m;aHGqo9jf~jtV+R*2Tu05(cDEd^ zU-Kdj@l@8@_`ot24R{oT1J>@{TS#i@ef%55d~b8X{;c>x;ewKFN8y$hmuO99$@}ZV za&WdK>fj#)j?0?MO6Oqr?d1!cG=Qt`g{4NuGxY$VF48O@qING$z4nT8&y6`@VetNy z9{P^?mo52?*7d_qM8gHO&y;YH|L)mvSVU0yw9)_E>i=;6|M5AT0Wr|!L9q1|dWMp( zO;PF))Ta~-gzV6?=SolF_C@pxD+`PYxa1`gZ$-6;nxV+ufkkM^$H7gFnEp5$iY=g;RgGHnTE#vZ7${m=}MJBu1If4yZ9AFn&B|LN2M$ylo00Czym04X< z{2#vdD2nX{Q&mwKH;ptu=H?!X|6_=#SHfCS;RN93Vv1oD2MtY>;eRuxb);jf!C{TLg zqdq}~d-s^5fOBR%L3Zk>+d4(ou0&jV;nL2pvVGpxeSOeNdPB3X04pmUjYISdw%;eh zE%?AP8%lonB$5t)O`d0PInMpH^y23%Wu(e>@T!o?b|^QW%652ri@<|)w1=e8`6fgR z^%MB4vSOxjp{8c%wTQZpIhTj93Sd-OsKWWUzu4kYDjfV!`;?%Kyo`HpIu1l!)THOU zh!wxYgFTQxf3;jaN?cWazx?^~F!jB=CeLfcp()4Xtz*vgi@HPFl*y}xxXSVB`w5d* z54qa>XFKnjh4%PV>e_{N(6@(h3cVd<7A=0pR3-YyF87$XN0b9mijTJx#yU>^2UzxdWb6l9)LMx_0wLH5Eu8DhdN%3VSCVX#5KWC@T%wc^?B~}c=OSs z2UAd&;Hhu95O=iw;qGa+y!6EvZmEx+H=Iek9P_nVx<(%sZAwF8ZJjo~%Bby4-BZWFyU5z2=(N>={@|Zpgfnq( zmcz535LYqcuZO!CWjCmDG&Hd`6}Jw3B7V#8e#T zJquuYZF46K_qMMr{mQdT+%(JgkIshk$w$cDR2Qt(5#3p?Gc|2^?r&7alLXb=jsRnL zWB7`#`ySPeb@LsBxn%g9H97gG7g)hvKXwCsY!qAvn8m8&-QF8l3}c6=ghfny*R4mN+)A4bm^u`uMH8i*-}Gh0yA+# zYT9Crwyo*oQA8R-DeG#ELR<3rb`Z6aTjRzMvSt}jMLo+sX({)cKmGT=9qDnJz{NT+ zzkRi^jmE8bwy7kJp3Pw5Q26UxFN1l(ZCxfAc;G>kR~VWv;|L?svRHM7Cfv4U-&bU8 zeVl{&7$uW!FuA_$XAk!nh~|mxRu9?>)sxG~-Vn9UisC!{f%1{;-Sl*kmvK7QW$TNF z281hiArE0t6@+W?ZQ_?%Q*CBLkN9!mv0*jz!5-GbqL60xH2mu223O$u&DCu-)FtAk zzM;kZefQ;m1G+rV5S(m#>w-s{Hvwn+`&b84O%M-q6O_ELe1mLb5tznI0yq z(CWL!?F3e(cDRG2>a3I2KRga@NoT%2e(#|Ec%QiW02JWGQSHs5B&7d>E?r!#KHMox zC{oj8ES)LQcFn*N`1`2b$rWiJH^fIH9K}G_g?>}`?A8#{^D|bem!7V z|6n#ElX!Mmt|oha?oxZkJ}q=iIdOm5#u$cR~#j(YB_U$k(ery{pU7*}BjkAC2www1N z$VKr>8X0RDEr4@MKUrrHzrn5$mycAwWjdPY(R+(or+d+gaatlj_E7KobXcXt6!RP$ zhCP;OY~7!!(yUTVShm$tmg$_96q&w#C=zUstj5cBuG;G`eES~a-)-%WJss&E(pN4o zPu*4eaDpil#d?9Sf#Kz5W$d)M!j`&`*u?2NN4aR?Zdj&TKmhH{xf}x1mZ_smU2@>v zqWy(~b#K`DWiWHV#N_T&YSq}({Fuf~FWidqVgdx5Px$>lXE~=U9&R-$&CW1(EUjR2 zBHQtnoPU;NmXx8~#&tVt@Z~5<8K-N%-yuT zyNa|8ovhsGZhjh&=sqy~RPLv|CrFc7?oOM!(k;k2+d0S@GE8fOU!paKAIF)tVNO@3 z?>G#JMY~MPTIzh*G9qF4tBy##Wl49Z8Wew7hXrB9G$bF^l_{d~qH7er3Vi?B5PSF^ z02cTc1k3kdBiO$I*!{5oR{#tA|3eHHQt(gP@UHDA^poT)%23@ z>7dQxV5n?9C7v`xr4!C!1=IF5<5HEgKKAoiM~9%_;=QF1a&$#lC%a5z9V=0qk`!H{ zyA!MXDc~X=xj}5R)8m@jQyG6T(9_s&t~RQwMnR8;Z>Sdwe|^BN)@rEUs;S5ib`^)1K4m-m#x^nYz5Qg2X8MCkM)z|Si-^ta^RzoM(AWR!K7HbKzepYf zT!I_}yf24*3xs?dgMiEX*VX9PYP@3ulr!#XPrxS)wGyIumf8PjEP$88CCka-pYJFi zo(?%r{eSUMylOU_70p>ei#yC*m6OlgpIwad$yHSY@JK*UyL>*I+;*wD+;wHwpuDBF zepPYB#BF`+ubOg>6Tv_;()j5&R%d3yfXj5wY*m|S#H@}p6E^NfWnO3WSCcuvW2od; zoK0(u%xg3kDnorI5ybV*W#`H1nw)R_`?;KXLsW&j+_n1G+$f_la$>IcubCn~)N z-F&M|@7xfbqo8pp4eh)WN(Rt%A zPNejr#}dEvq8In=$$gq{sU7*E?L>BRgqnA-Wz{8old|n?-iHV%+R5Roktix=MT%n{ z4@~8nhvQiul-#2gK_}sNwR-^lwlTNpbFAWXGRSkRM`XR_&G2cdr$x~H^{8hXK%D{f zUo)mXKeE3;S1NXClUkshu=M8i-5VxtFI<@PVB>v*u0x~o|3J4m_-_Z3-ym%$W%S>7 zy)u4(IR0^=z3+${11H}8n&I~SfpL=;HXMrKg^1yWouQ46nr!t`sHR`<+fTb!ui*}8 z6C7#l#g99YePkd8M>c|K=*Ot%ny?sm7Chst*2RI58`8&g$lhCsjdx!@3F!Rr1Obh^ zK(6)_B2A(dySba#n7Z@MdWw45dP>pB&;f|4cb#yBiIvjtJiolc1BO7lQ>;_F)@x45 z)D~h2ls8C9&;^oQ6jHD_RgA8{St@ucoe3j&g^^6CkHbO5^H z&hf*#pLf_B4FMMseJyBq^ovrx)J5kRhNyeItvQ<9l+G!+%{6r%(F{A*(>OXoT3spV(N=V#9> zw}|xMYiP2|=&Gp97z>qeIu<6*9^dMyT6!n_E!8bk@a8wYx_V9WIdii^iti3bD zoAwC=L=$^mdhTKNEuq`Nl}RP8VrCLrPcJTUvOh$RmN9*@tz`wGCONO7`xYJ;lfPbs zw@R>g*gS9am=V2xoOxwbH7QcDJU+hJn^Kk%;p!HAd5t`p)a2$|{n9=8O7%ElRyq4R ztEhCf%ocgovfiEZYbq$_X~M*Gb@%tqfyGL|vn#&hfs5J8K$aE&s|+buA^O;C*;*Pz^in!FBE~lr5Y{$Bh~09w2&+HmJF1u@j?t!J$#5_ zk~(`NgHV)m%EaqRWb3yjVB&vrjdsMvNZUpl^WSNNZ^DmSWqoWEz6;Bqyxhg>CN&91 z4Wbqc@b`GDHX-$?6Org+Os7o0%SS94QehNPg>6J-6iPXYIxQCl>N9IB>=lB}s{#D{ z9k0W9nBbC4#4}52)P69zuB`4Gh7WQ9kak*}`Ep%3K3kAK*Mxx}^of)rAcJ&H@Sc*d z&k$cK^2wlve9D<>*zB3RMaXCEtBE>~OAI4b`dZzQuX$niN%&a$$y+%leQhR?yTyt{ zMy-Bw^}5U#Ka|LCyDvQFXLYYaZ?ZmV_UbBZU%_Texy*vn2Zd8Y$KvnU()Ov?5+_ZJ zFR>tHD`P!WoV0+i#Owf^)%Aj7iCqtm^MbjM@l{e)6Oa*B)6=kKC@g#|TPB%Y(?qeU$RQAcOH8 z_+7y3$A)ePa?&RfS(~`3(2)}mw0R3QZ-IWl#GQBONki7@v?ntlz`9=&E*o>7Gqa_) z(Q;pXrfcgAv)z2E_p3Vv7qwx7gj@}69IL+j7(3EN3AQ2;d*Z^P## z`H2V#MZaxi7CQ6K5qro(xgaW?cs{|+1j&I%AuR=md`sg9KGb6Gg(W}TA45`k=Klg4 zPHZ6%itjvVlEO3>NKDz%?U9ehdIb)Zh>HuH7{S)^eD%~w#BN)dGCn_K)Ld^lrPbo)GSbtF zDZm}5oRmP$Y@3tfzSNdk*kND~3HCHY7QAa2toEdAc(;Fc?DTTsLzz6gJUnSWy#Js|OoF4GbsKm{ZSk(7D(*;t*T zB!r)yw5FDDu_dZ6gSgq;obpE2H(ebhi?{e?cdy&Dq4sX+<3@zwruuUF`$U&pv# zC{pwrb@B*5A|YcDWukCQ77kSueOE|MF#tFSUTTxzOf`b0!1t8C*D3&v`rvc4PB!> zf0+fAg01O7`p(TcyiV7e?_k}+i)dEjHbAhB~9pVz%h|W|xfgTB$FW>4u zLEhq^7%Ow34QILMftOf`ofWn=jz{(N;6MvmAzEhgQopt-EIJ} zshiNOgKP7M=u&!rwE2uR)1b7#Dd4=MtDR`{9jqTW$g{ZpX6^;uW?{daV`4&VH&7DQ zZG_pFGbL0~V~CkRqmkq;yO7@9S8Z!3XIuUFQ0Z&9lONu|{@Os{@u+BAyd`5eA!wG~ z5Y09Lw?lSRqxWk$%6125PSH4;1sq^=6`idPhe%fw4HZx|8kx+GP4rU&+b&)au9m~MPzB8 z*hYhEF@uWTm%(OJXkM!9dLuj31+Luv(`Fxs@Q9QZ^cT^%xnE&zdso6poH>B>4LYwq zD`5^+j}6>;lq5og$vfwpX+y{t`XJ%gesU<8=?GD@qQw-bE5wO#6tc>F1q0QSE_t(4 z!R1_YSqLB+gD%8(V7^Zdl4O=JZ_{EPHUQOe1WIXrnb6y)>51*@;(SH30EnhDVmCD{ zrZ%?q+NuzE4{R5!2-UCczI|X1+*);%?5)0o>;uathK_xJULzZ}W-YC8jUBebqA5DG zHK&Od>sb%c`jzigEeEb6-nJ2QM21=*Wx40A`j3PTKXKZP=8_aPCRW{=`n?o1QL@%5(GSP4|@HH{Z_^TNfnKolGsm53-i{GIfkr$Ic1#q<3OA^FB>v zhoMcabi__tEAiFZAB(6-^nsGP1ABjYx0 zE{LKIYM5Q_)h>HCIf9glRFE9RVY+F|&aKCt85N~6BQ7m^t?up=VOWH_x^tK-f4*zcM%? z;Cl&_AN*rwvyR+&-REizugFaleK7j*Pxr0>{4$j}=DyDXU_v{&J-{tSyyTFfO^|6O z<5<+#b)ODi31!?3T$wWwOOlL2F-!fYK#EaNtIWcI19o4{WX7ob?U2E6s;r3czRK%hYPU{SdZord0C6?^KhZATZv zAd#;j?ZmLyWl;Qfcf3nJB@H5CgW1Z&+23}=5F6d9TGwXs$VhP*F1oAgjc|6KpFmxWgo<3hO>@nJvYx-Ms z3tI6xvFg-HWLOLw?C9eWCc~l4=UZu1+us#v_=O)RuykZ{&t%@8$>}&HuYFXVKiBSrc!l-SVvz%x}|y|2Yrv zw-fyiiT*jv`7biEmz5SRHkshvXO-Z^aF2Wu=Bk>FKIDj)^kITp%L<%O{qmyz;*2*%@B9GU%u0PmP%OCXK52{PAVf>qia-po17E;M2~V zGY^_#kYOyrXfKt5WFr|%Bp7CUHXv_B=NI9`xpDoxa{E$`bKaDugclvN((TB#zJX+q z6}Qc2qRV&yuRul|`4zuu7(G3@_5vKoQ2*0MDVQyW>~!QukS&OfR_DoEw>~@;9UjUY zcj^B6A1KEW6~{_Y^aOi+fDIzsryMAa3J`UMMT}Re!Vr|LqmTx9151c9^KHKV0d363 zW}MFKc&T1_fzkfSi9j%=x1bKIgQgSa>A3zAynH^uGDeIzq%4Rlyw6+A1U{l0qXF z>8E9szEcwW*aO)Sx9kl=W6pzL^ZdO{*JivceWX8}6~LUVSC%4J;?G)sdN4_(8KoQcz;LyD<;0^fsxp=POKAvYUdNWn*xS6d2p^GlM$BcTNN+7ElYlI zjO>RVCw<{6d*D%*NGFaa0$DbrTJv}Vo8U|399Q*Be1vY|hqk6eQ=-E5wcEAYXO9?( zZiy$kd6+}O58|SG-pj2r4pxi$x@L^FjLsk;@w-CZS2~l8Pa=AA){@h$SsYU9X#OQM zl(Fc~MB24fS;k`BpE2UizX3ts)MxozO>xtj;Yp0y^?>kJ_Sv(n6}$&e?NanY)b4y` zvifO#vrh@_31GVe+t&ox0j9n6(<5Tcn-Z9Di5@_Gq097SUSU~_5T(Tpzj@AU6#c0p zt}fp~JnfiQA2$l5!^iXk^r57MTT>=4AM2K|!`&$_VWn#_BlhoJ+Xs!Ais=k@$WG4m zU+Z=0fHXBtw)Vffoj+z%SOem!)^8lp#6NLBf4H5$;(-3bS(rzTnI6)>^qszt`%qK+ zuC3r6(SSD}&HiXzMC+`bCQ`-vFqEqY=)OK~<=8gU;+iRI?&}Urs1yToCdQsxeU+FF z6}cY^1)a=}lVO?Fz0GUh!+q8am3>_d!;4tG{g@V^odFi+r`ODj6(;xjBkCX?6iTa) zQ%Ps-p2oTjmg`fuSl8`)LPq-wkI^%dl(#k$l-OSoj?n4fdP#U#u|{-$>UwK40lf8@ zV3SctBPCi340aa`JDT-nqLwnp|3G79$H=>K!8DJNG*Kk$O(X95loPDU-7R>cauY%a zmmFWL`pC3A5*Z7kY&d?sVf8s=q%|ph0tVgOq?}X(c(%x$4M!q|Ib5_rGEbQi+_1+> zpo48y(aJ^oTfvz^W0Y4;*oNez z|J~{Tz3Pmlu93c`=6{hfqrelEC;ny^g8xJU{can7B7y$GCe&qrFFKPvk())mhE#zV zdVh$LG?U*C-;V1(-UmMvlsWI0;jx#jk(an1o3v^-imz&E0AJBhIo>Gt5_{A15RR zAjspdjIoLS6a)*(Nb_ujuBw=nu&!ZJOjFGBkHA!E8c1<`;CZ!LQFT~CN%+)N&8}J`ger#19v^8}ySNOZRQOIfD7QQe=<8%AEvV7a)e)y4g zw<_PJ3zK@caTEmJ7bB3MN_tn`^FXD7oRZj?EH-yFRrQjSt`VULb<$O|mMv7ilWg}Tt#R;kJZlIpNi;#W~*%aKRX6PjNJ@)sF&ClDN4Hs|ruRj7u zL(9ocf4t95f@*ig@MIf73Hjt3@h=YO*U-0tSvBX7hkFlj9 z`j%QxK4`fevb>@&-g97zd$B)aWJDJpXqtbhS&n7e2N1zaD(z0t+Q-eqOnGwiBLxRd zmfKfWY(9x447IOsQp6ZreQMv9V&XZA{n_`X)rP{YU;&ch)^wb!pZp7wr7_c5Fc{FPeqG^el{w%k=dGGPm{Vm5q*ed__k4HOKDtN;J)sR!y|N?t=7h%eKL`I z_tsdQ*I8nZ`UbyYzJif^(nFB0c9;VW%pUC-Q{5tEK4T{YX5H@~(o+A>wY!b3U`wF&ZvDrTB#iRfPR8u-E-W}g1jSzB3?nia zM$k@ZXb)Di)=+O~Z{6?ZA*_zw>u+kDl_JdVGYp<1|H$KY?XDS8@rb2EG{)pZSBqVu zf&BCW6Wp?QK2dhQXvr;&UTwgSV1nS$2=Fdl9=R;hCH9~!MlNMSOtNvAe=&C2xwVdC za({&b89rVxRizwp3Qw>=8Q9H35A0s+{&~3HwQ4bqsJP%3(sxdgA$6BhfZ78hpD6Ui~;{i z&C?nQBAOWScNKbS1WSBHZ#JHR67mN#xfF#$)xIDvPs1?@Q!BU!@7fvvKnp7}9-g)$Gc(7M?>k@jy0OL;K1aaI1SVLmTL3{UQ#Ur0?j z6bO!gklP{LqL=!yH5pH~*0fzhFBj5BAyO4kjlDuL7~hrgxjF#6$N`oS92%Ro${!w! ztE!XEMr$^I9k#=Rrt)qa?^&oPFk`t=Iqvtv$g)48XZQ@$%`xr`_L~iBzy_#(GrvIN zLNg8P*NBiNR^5OJs!!WqdG!YMCyvJDtclwM3;FL4K#-sf` zi%*$L8Ko46d+Z8sm)%`zUN%&B$>Oe^iyrp=y5m7Jm508}I5=z7`Ft%1t8-ntzi9w~ zJ5P#>B(LLHsEVqsl}{>;>Q3qdO+NnO2k{%Aq|ruIPkQ=@+yDI8ziu1-mYD(VU!VVS z-RN)9@?J6!hPm$1sV(MI2^Zq=5n5#5dc`6r`6lBOam&UUFIjqnh9`9`(we6FdsW1R zw7G=3i<3iRS(~7a&Yry9nCV-RVT7@au{be}*)&rVgH?*%n>r9EG|sLEM@7c5yK@8zpF*Dpb}ZToW{%q(-sVn74x;Ct6Y z>t4&)i<%qAnnjqXiI|70G1Bu)o-|A&W)7$CGqr z;hMgoTwAL`sp{e;dBan~UFzxMWGUC|u9IUs`7H?i<1+Dik8BNLcO>Sh^y=J3*ikeN|!NZ#y#-1K4dre?|KM|_QSY-qjrhp`sXuvJ5 zMa!LW;PwWjf+a?)TKOaZ3))pvU`8XTle#f?Z>K|43%CEkofmVl<>)N@lJJ&!Y;?N; z-Jdxh^Wg=}BVS{7*@1RNzo^_$X&X8P7uF!H?D|ulPu;vuutT(5PbmCvQKw^ifX;or zI?}~aq2v|B!%_~gi*~OoK5h{j@1uO{>M@)H7A3xsHn}au{M<)#y!;@I4Kn1z{(!P>Wk^Uit%?0 zVMYh;khQ;J>uvY3-s4cqWQ&X?bd078m#4Gj&tk-jl9oYMBuUv*+EnMELW*(Q#Hgy< z_$V^jbpmt}rn79um>Wy!&2Q#u*zRKs>{!PNqfGm0hiyZ(21$)qEZ9&N@}o-=W}w!B z7|NbJy#owiZoqLcE0j?Pv&-lYkjEz!?ii}SW1blGQ#YLXGFYR4!kTB8h{fECL7t=h zNmYqMVUyrAA)4_#Knl$(#W=r=u!zrSu~IBzrW<$=bR!+zb`1d^R`!5xYT3?(u=;ne z=g$Z(@*IokwnC)eJATuv(#<-bDK%4(0?RT=v26bc0gXJgeA>Fu=;_?ADph!klBvKf znxD?;bfkbmGy=Mp63Q11xm+?D7fmW1yxnv@=h0dKB;!S&{-wHG&#k&lidC1jSWHgU zU4SxnV+=WC47)+5^k7rJorTVU4i0&xrW-AlSRrbRU4D%c8)ORy*WBz;$r*jIG+iNo z%98Q8^e~x3VHXyrO`=QhpmWscxv z-szN~qtDHS{6u-EE72ppy~nuThv{@^z5bZg#eF?_;p*`8N}c=x1*b_mfOlxMLHo-qW^$*dE?coWyaNo`xvIR_G+L8Jt3#*MDZV`PNU{S0f>Ey%TXbE3bg z^L}CDfxihLy)N7_*?)wLXc}gr}?>%bAI3Fk@9!fG)3cuciZr!NIitZc2%}bj0Zcd8~+%G~tR}`JsPnw>l zjB0E0nUXhF3!~6=kO}gH5>`XLO;`}2|b<& z26!VYAqv>NV7~gTMEZ#c$EQ{6ocUnh&kkAr&6I{$Yi6irY~fD%m%?a@<%k5vg6qcp z`{lWtJj3J$Z&B)ltvU3@Li!wYNrA>Tv?{<gzJ6MRDEThIT2Q;qMh4@TgqkMj&Q)>X+&63HY0CDK=rY79;!_GwrDy;1tLe`D za7BhkbAWdaJEKe8wZ1+gOvD+uKbO3PmWz_qqZn(&n^ku@A?$7o&@(@EEQ{Z}-1w?+ zahotJqiG+Oph0m?q}7+%;Q8Ufr(bh-+{U_VHNf$@rIk+8b~j1jo&YWmZcRysiLNe{X$_tlSC9r!pk}PEC8Sh>Dz5e|N716JP`f*Geo738*fA#s84vygYvKO`YZYjC z;7Wo!Bkr?8I1Pt0V=wyhD|aTfnoJK!JrA>hqJM&|geExs!2IC3p>qm94hwCOU7l5a zWVg43`YSUWeSJA9mj#wjSPO97mOejq+*6ZG20v^tm?_GPoD7r=E|j_zCMwl$)j#U) zSV6n^ED$~6t+M)HT#F>0m3gOl&)LTS)Z=saq`8g8vm4&&``yR27F?gzY#%M-!>>@x zMV~@2R6)E>lRN2;k?rSuZ#N%(O%K+c3i*f{bY|3Zl`7pC6B~qD-GKtN`6FEGYseGs zWQWH*L*W3|80RvqHoM~jC0XZJ#Ivq_JoF~<2 z$H(aYla6eYjA2=9#U?uO{ZKs98y*`$@y!GGfoZ62L`t>igur@d(Yf4c`wK8 zF2q)*JloXjPMv^T$$8*K?k&~BGlNz0@Y-lLO{Ksu87YDi097HI07U}3eq1IKIH?TY z&RTBC&k`-^L1MBdaa*~UX#>rqMuc`VlF^0*3-)kATy4POrLA!Mj2b#&M^h|^sN_K2 z`*p5h=4=DA%Dh-pxp74aLbGVYcO0A2NHOK6)~}o#y3@e{ z^FHyD#(jAp=86x&9?ULbaEH?<`?y$smQB$XKRhWpiRI)tl)jWx)Y?JvW`1}(Ke4D- z9sqZW^CJkuUt!Ya5vzEitM4|H9C_Pqn*ok{Y5)B`3PAaz?=@J9(u!qMl5j^-e=uIS zoE~0oey+MkRU~gmWpQ_>G)G7uWJ1Yed7n7iFg|uZqaH(sp&WH%EQaFkKFicwmc~xn zLTk|Pl@uD|vx2XVJNvZ5N=rPM< z?LYGGpN=SjekE2%sf!3n3tRR_A5!0J)^-YzWQMOfc8mDsnssI!gY5Qf*Zm(M9I@mW zT~A}%+S$a&9Y1}ssv~p0!MUv#V~;7nWVVQAq3T3>R!}sBkLef;;}%)%@^6j3=`J9eL=fUbbQ?;u}0^KTlD-1KT%x4 zqt6_6L-Q>x_06O2xc1g!*1kZ|^?gakqyNr8(LIbkoBH0AbWw*VaSiINgO_=U_K@F& zyT@bv)02w5YZq>qJ)k}+lC!Wko4P7lcd_~I3GGdvZ-RQR_CT-9LAwrxV;cf;Kv{-W z_*q;AqG;`sNz<^$8PwRfRGhi(H)&lVsK-dA$9L48!wsR%`Kciti1nLt+GmOBiqulM zaX#R+pmZTjQeR#al}`OOe;Z=v_$-xQ45@vo1vNw|v;ssd`vZqQQqQnS?i%(Hn7C)cV5 z^?(u0J)n>vLt5Prq`h+bmF7}YMnH)bSa}pg94HTdBj#dW9BpC>N#YC=U;BZskY$tnVEkTpq zw9C}hRJ--aKoV2-hr-1`nd0x$!@q<+9~|thz`FKUw*QCISq>>`=hUY&u(c-{^uLaL ze{1J&bv}(Gz+app*Hty1Jlo!RP8H)t@w9uRwcE}*Krl=PuHwh78aO1tVfuWG2?5i* z&5eixu^s`7X$PgNPo7xREWAXc%UyQ&&Z1_%n*DJE$f(a+9u=1Ga$lzg#R>*JLdcY{ z?|FaCm0_-MEWl>?Djvz!>SPV{kZoij>aXlYPI6W?99AwYm8}wWi}6`4B}-IaiBbo8 zhlkCYoF@oUM>B^L5V@k$^AOK0A)%u6K_PL`hc$$G%I`6T;rgH6ILz5l2QCdkVtIev zhq}JdiDl`jUM6|5LHeO9BC^Er!`CHf#$h4-$*U@nOjbf)-}Wp9cQ+kis>0rzYoY5j0b%Nqd3!JEyqjJN{tdyIRARO;{zL2?ecdGCAzIV0(7bHz( zchfx@ul2+8y)6A0g>&`>C|O>r)4TFw9589-8B6e2e)V;w$IAt-`T$=Iwmb1{x+{{{ z5nNl~GK21mjpr(f(s!~SjuQDbcd((ur7LmV;P7-xeok$gAT-;LZGNxh1tb#F_HpPbNW)Wy zctzP{z!DpRzx#?lCZ+dn*R@{Ne!xRDOh}G^ZA!*P8Fdt*@LtxYH*n{A>z*RdN-WDV zE&W~%0YNBpX`d)^;)4fGl%8SH+^z5>pClxm?^noG=h<9wdDS`s_GRP|Q>B+GiYFm9 zdSt>StbM3_DO}(7z5oy|f;EttbJSfKd*a=R&>LBj(P{k9;>wB$tv*l;LPqA*A1fwx z%|EsWLg0ne=xPWn)T66v!c=A?&Evlh;%#zrqjsr6V*U8;mu%j&YBuSBnO z>Rj3u3!lm&+RU3MZ?3r%%aCVGpi|}_e|#~o3Tsd&S|^K`iVlc$RFbxG2S_1bz<7a9 z)8#j`bxgA?y2WvcSoRGV!|6ICKXG+{#*fNr*Pzsv(_AT^Ym%m{usA2|m(`&$`1oY5 zGtASk9aMk!DhUB=M(}^;Se7f0vo>G#{OrvaY6<=!CuOw1xId8>E=Bt}XD1g5on?wL z%edN%sZz#)1>%Tlmb%hBv7*?ZbP8{U1LZ$lO_U@#HuvUtwrvMy8lGK_Z{} zwH2{r6D5vf;jHrG949QF*XM?#%DsHBBceu9rOVuU7qkogX5K%nJJA;_glN>kHu?4nGWq_!?8?$EmUO^Ws24!j4tm-k$!B7?enjYU-4V?Y|if_u1O$+9NOL~1mN+N z`%iq^u(*i(3LMC_j(ZtmnI-5?J z%V!>+R1DbiV+l?in9;yBS;ZD5vq!UpadI%+Xw6gY_L&0;23#M((O(|Gn~hsy#v^o%s&Nz$U#W z!+|%v6~NTl{}9M7Tb>__;0``?+peahyrL9LNd-6J?eLye{EAsQ+sXg->W=-TJ-{d@&yJz-QHWH zgKM}|fzoDq(PBq?CJSRXa{y^!mH9HXFy4S9w|-Lwuge%*+7nJo$uCf5~8;$9n@86d96~oo0s|-r|@( zrT)_%olRD1>q)j1Zbv21$hw^}a=bE5E z{+&hG|Lzd>lJA0^?I{$N#iusj=Cd>a$EryMpn)gmEKr{fqLF zFUF!v$V@OQi>*!-Qc7YlT1sl{gbJDdQpD_=Z@z=AA`tL}wrPh!RF!y*}`DwXrrjhhSy@i`*vH zjm8i~I%!2o>DR6qK|9dcLGLgP*UpX=f2VDS_c#y~T;FL7C$3Wf{XV~1N_R82hie2! zR(-zy^;TT4Pc5WVu(=uXWg22JL%zq6NtF^EHrawFXM7XaM*hutR^PEStj8JR?ge`| zaSZ*uRm+`P5eXM-FlS`taj|E}b)%i@gOI+2y@?pgv~2LlQ2rF2r-U1Y=}%u+K)VSX4SGgV~lFso1&K}BQ%H~KyDU}DFINgIkPR3Z6vFo~4du1ubC1d2ilhua7r zY?xQMX2B;=&*)iBC&a`1 zqocOAwijL`0O=`)`-976vF~I2R5@Vok!pIC-;#QT|IJjjt@fMRQ%SbbCWCQ zjFC{uBzBhTw=Boq+Dzu{1IrdF1haCep*WcCu$xEkO@v!w4#gGAY@L5#v>_{}tTkej zqH~FnG}13Qi9f8E(*_^fA0e`E1sflo=M-a0sVfNH0v8x5(f3W5n~wwv&IpfB0uR<> zu8G`-;5A~0!zHIg(hBnXTXEbpg&Rblt1F~1+-0@gwz8|$SYeCnb>fA?j}MX0 z??HFlA1~`->8??<-ZwAQ88BZS75ff4AwC-Uh2DasRv>9RDJhmRKfQUSiIq+Xzt!vP z;%E6P4p4fneEEzQtM}?n(aO-Xd-m_O{s3l`c0JS4p_Y-J;(np*c@;l*h+H%cL`J#C zIn3=W%Efu#{%u0<%8&tS9kPFY#xnetRNsZk>)qyMiKCO-rg%A^uvoh*5$z`QcCUix z)-|tt!i&`7MH6C=X{gpU6apGc&vF9I)=O!*$TblO=3s4oc{eJXE<+ZlQOzY&oI-F z*Xj7=%Sp)*E|+FRYK+D-rSo{*A>jhSg9ql!zPNuA8QaZS$Cos#mLBDdxl6hcoC#S#TcMy z&idW^DfGqq_!Ul1X6<|N#?hYr_U#&*O@tfBxWn!1rLHK>0$zUNaYI-e(BB1=%Pn8gd z6bbpWzTMmJ)Mm&ka1qW?{MB709LIGXvU^sh?8;Vzo9~XNWyqIn+uYe-V{`OS`8xoy zj8Ne~rI2^ic1m+Pa;5)eF+_X#t^%v0oTMKQ@z9H2=!0{bqMYieXD_Tr(0`m5XkeDF z6U3wD2c0&b>XY^?>{XC=)j^Rt-9k*NIAJ*^c-2I$wWd0%=!4la*CjW!Eh4Z~;@w82 z<}D$FI!k-I+pF8;F}0M#B{AevxwywP!Qocq`TtfYc6h4d@|E~Kx0sKfK_&L`YoN;JlQ9U!GcY&k$Frjt#6Uf;ku& zUpBDYhJs*%WcB;^JZ5N>!d+IxS`Vmk2X+?(8m$1jijIOHjiugCW`=J-$DU1EHnJmr zc*X051X+r4IFK}sqVEdiWGlj*g?n;swHGbR{a2YRq`7%pyB}%Uw(+b02~>16g(_k} ztxs+>csv1QXA!fpBV7BWHz@`m?u@&k{WQ-RYZydDdfXu$@N`Z*dDg98?3Wnu;=P^9 z0MHTWopkkTJd)TE)=ZTbYDAS8q7fDM()swt>)f81sk}|CrPD0rEPl2dcM}oVi;Fk2 ztD@bvs}j_;>g8)ez;mDt9MPQ2eW8qzbi|NB2>qIoThED&r`0jil53gM&mjkfNA(aG z#CI~pN8WH&>{Up+I+6#z&zd|=48lE6mhTcvTR;y`S4hcQneQuLD5GUObTZD#E624| zZY!K?tF(iMF@mKrIalS#RWgUIjrIixrQ-<`IDmC&m}Zv4v5ne+c&IXKdELaCG%X|S zGyY+_bS=*`|0Tsd5hWAHobPS)m=SZnbqZdD?eH9Q97jvo;;nF40=uZB)MQ{UtF}`` zEh@|)){oKD=23%%@h`l6W-7m3<}(X`92}EhAX?HJF_QNCFNBq(NUN@{y{hN+qADaf z-;r2|su@a~eu;1m@TbU>KtafM>;o+Cn`d2IR-;+|nuY&5oIN*rrf(-?%EbVQrEG!Id|3CZKVKKDs^*(J~ zema)_)yED18#-Cpnrr{Z&i>?M_cyotqr=2P(`DZYUy?i^;}A2_xZ;2Q3ZDZ9V+qxU zjE>6y)6|%UrkqKUEL~UMb3a&f8F>#;BsVijHU#M2Z}co0{Xl#RV}&&N!#zS5NXu22 zEgXkhUc#(Qtu61IXpK@5&`gpxioA4N9emSng`oRVhRfI6R z)`bD+_ZD*@Dm~Y#9)NZpl_ne=1=2$|M5MOqaeK4PP_xA?8`M|n@ke_-ujTPYTf`U` zg3_T=Qik&0yfWPa?IPZM+}RU3{@8`iC7ysvw2smMb{JF7%`@N%R+w@K8x&_c_{fcg zAl+t8u5d{-?*i4B(N=E?( zi1Q(|!a8zjppa%+&6&+=E7YFmR$`*9fDVeRa0Z3i=$aHU}% zNPslbeG3HIF@@s~lW_uLHP>j-R9sDkNr0&5rf+yz3#a~YAon_z2XPh{B(b=DG}4!~ zjI7Frn8rVSnl=P!oEBrofC5xwL<-03mBFN?aRGhe*m;gA6e`9GYNjw#Z`ngx<^+jp z=49DZ+vacHk<6{`U%oWY9pLeXh;2fb`Xp~#sM4Jl9j6YrqE1=f9%9wWINj*STe9j5 z+q+zu*xwW+-6(N4+1*THX4G-D9QhtyECUULJ)KfB-9{>yrJ1RF`0W~d{pXjK4V3CA z)kXk1Za@5m^WmPnU6DBs@-%MEqpwAS)o^bQj-$nkSqRu_3)o;~T`#cy>h88~mA^>4 z0f$dt*0E*Jc)fP4elMhSzr>5F(HLrNP)vg?-fBy@PLdcK z)X9C$B}W&6a9H=;_*<$*d!yGy;^l{SXc%LO9UDm;81^$ z58>LGt8MEHM;LSpWwp;4M4>#=ia-%qn(1Ia4B32q&Q6t5QM*6Fe`nsswM}^z`7N_- zj^XPn`7Z5l!h#2~oEY5{EP+T#iXf`Z*5AF>y z{hf1IZ7?GTFBxr9_KitgcsQ;|Xx1-0TTJ>6dyZxNQkU$CA(yARE|xkro2JeHsmlSD zd8e?Fm%vtiMrMKWFFf87$;~Rt^(3wJ?;mwQ@8yFtk+?`^Q06VW{c+u zgTaRasR-$*zY-KMtIN%#b(>xzf*jbG9(Q~Xcf9C?5XDRp&(uWJc-wdyTQ_9dvPWJ; zHv|wvaHHi6L;0c;VGj2oN`e|&Ek8*cv_ennQCGj2{7{p@Eqo+P;Ya`JJLG--7Kj#R zam?+#a(B%;-eU@g%+y!gVt4TcezK2XhzcHn21&=|Z{yIZ&6pchUop%E+^BLQH#2E7-N&n||MrBqhrnqi# ziX25f=|n3+1EQ3^=3Sh{I=M74Z?P9v?ffU_RT{Dxvk+i0u}j}$j?#bnNXn(^ldC+;p?&Ivrs0;jZ z{Q7hsk9QcWjpu@doDZ$9M0cHF7U)n{gFKXH?ig+*Ag)Iv+^C~YtYU|xdU$; zaeUe7N?5RrA$#A5>?=PpT~Jg%^Q1FOuTn7X+GZ*FxRB?13z< zY0efc=UXXD_iV!MZQ@(mUJUA=<8qL3gh&~>tz?YJUXpg^5uRIPXc99_e>h7w6lM{Z zfI}G-t$8L>e^CzD58XT9ICMv8k<=g65^cI^6vz`8#>CwTES8?Xs0Z>@@G5Zh8uxH{ zf6Qo)Wydd&g&nSo*6neKcTS#dD7nXAg14QboQ7f-w)Us|VYBu@)5eL}`!L5B%AEzY znXG{;3ElR|h(-4ErH}EiHES2`lINkHD%x&WS#Qq*sud)BpxIsjoePH2a#j-}%1)!Z z_oh~ateAG~qni5rd%%X?)lezZREv5Gi#U1cn}<^xBlvvWaqWMff}XO*-zJSeGwJ_R zIwEK~Uxwy;3J<9#_`&kGE&qD=`DcTFWAyp+?(-NQQstENUINojNf$SsEK$NM@iBs@ z0(f~|ieKgXI$|d}>-z2mW7Zcj#DX`V)TGoZ@J$eD7z zVeAXG6h;`Ha!c)83}3yop3Fhqe1-K5_+&%sSluVL(P>F37o@)3fg?(LdMf?H2K!S{ z?T=0Du;+(bb?J<->~D3@FbQt9H0PI}i%j|Xrg|(({n%}G^5WdJc^vj<)c~)?w~gd7 z`o%1!NA_mrHM3Jns7W3Rnp!A)3N;{+F0T#K+`2427A(`$q~OLC9#Nx!A4JhM03hs$ z;b@{d{3)m+U%h{;&x{w3GM@R`qNT+<5Ry$yh@p$Nj{*5o>g7S8CSOjptRQmBt0jZi zZOlrs(-ie|=`GKB)ZU4$n$S@`qt)+(Vhr+RDRbwv-i1#PU^0%GxSxZkszQ!NREu<| zzA%nWQtk{$!s;tAswEJ4bY)(v+y$(ey*bjE6yOS?5bij>zQaf>znE~28OP5gE+fyJ z^=*xrGbhU@fb^Ju?mNpEJpvkDS$Hg(eGw@f-0*10<>t^IGm+@HcdYyc$T-UzCn1gX z_fGoo0$q}k*(g4@A@{q3^{Kk`i}k>7i4Ep6R#M{Bv~ehFpG_I$(ASs^4#}Uc(q3IJ zd1Vdu}KB2r|f z%IDy!C*Q1@D|i6ucp{|_!_VWKfL>~EeHP4_a0Bj&9`l>d|5Wr27ab<@_$el#p9CNO z-0=|qWsUq@xc|Cd{-g5Uzlqb#r_&x}dZbF$MB_0LXVl&j{@yeT7_c)GejdLdvAR+@ z$|z1w(s`I=-R}IXv?zt;*M|U{rD@*g(Bn7K+;##h^b6(X{9kdtuMg>m8sA-?ejgcu zX}Q?m@N`=wUW2{4I#cpd7QK6md)!yQqw@7k*DI7CLF7Ccc{KFh>57&pL!d?I zjXobw&?$Z0g4;`d_avDkjHYJV6Nx)p(Kp2g&L}n~&C62=bfNo)VXG1mfRJ|8NV=;T zD^zLRl6~-acF117%Fg&Zm8F3jJZ~~5DsKsh%^-%!EH>0a4l-<)z++$g^)M_B9|nQB z(F3C+DVJP0H_0zk`lD{if>;?R8;5SmB#X&b2u6vg$vP@WHFZvoQH^fJx*8(RyIL4o zj0rsmTk#)XX$;Jj9t!Es0TPg|ly9^sgLITg8jz4Jsaz82O*-R^szyJNQ~DkJkT$R@ zGGjMd%cUYrIYlZJHaPIA>wm0dAXED;W|l1`mC{qqe%WLy^#+}m$aZ@Ny^(P9G;{N$ zLd-IWWIkW2N|`k#MLfQnRIHz$zF`W(@|+n8g@oXgngmN7j(8)~7ki|obhr%n( z#u$5uZc5cqnL0Mw)qpB@NJ>(b^zvy`hQA#ok|rEJf^e++dImcTBIh4b8%4^8?9vKy z>3kW=$3tgW5M&9*pHE2nk^B`^fGQ`%s#(E&v2wQ7#g>6TDh_ zVJC$G0lFGl6F{7wR1ss1A!ZYqYDk%23hy%?>8R}X6ieBd^W2He{SD!;3^7@L7{_U1 zc7?p_d(wK$mT&3zQ@&8h*&0e28kp*e$^2=9`|AaADb(myifYym!8OZZ>lyb)0V4<%X)%7(3wzQiAg zNwlmgV7I5^^^Y4jg!0-iUadmN#>P~yg)LucTRJWokWEt#G^-oWRe)79Sq5A1ZAck$!#+p;NOhc;6Eekku?F=&*|H@}RkLhSzzrXB`}l$cnHs?v^RWY8+FOlr5f9G-X@F$dfZp}OypG?;HW6MxjxM0Pf5#; z%s-G@8Z%4J`6k!+JQETUwv*=0KPS+?R&F0uF+|-DZ+?HB6nR(vvfczNmMLTSSy%Oe zIzBt!T;|qek(K|}yGUcmRkFC63vnY0WX^~Hmx-Y)Eo|$EN|kAoY8D`Gc^Ru)@*NsT zcx~lxJtt&rFJug}c&y+IyKU{17v(`kMuBiMq_5-nt$c^F$qbIO_;@&g6E%r;<BaPaiypwz$cpxll-J)x&;Ngn7w}&wuQEj{yeq7qg7cqmuK(NMeva+$ z>8@YL2)sOhns&cT#otZjpJdm+;ky3HO8=9T{@tJdDG&UW==!z$m%y*x|AFcHWka%- ziFSqcln^?fh^~LjW&Zna|H5+p*6XjGMgvN}`p&OKu<1wGFqmqxT(lFCD*VE7fvuol z7KyeKHS2sJzql*W%SDvBd?S$Cqaayn z1H)d7rT<0ihl#h()zaKHgd^-RWMz_tF!_&)vh}JS)26jLdDjgUN$8%o#iNyzl|7}q z13^h~u?#>3gT2^XQ{QwKCfK(owh>?SX$rpi!Jf$6Yd80HK{bYL$%Dy!0L6)mM6v+? z)~=f;7@@ELODDVYTMylre3CJfcdw^uSR2!xJF0l{^=~Lt=b8UvKtI2&z+~!#?!c7;)9T)YbMK63Z+V^s96^jOD#vw5H7G@54PTv5^7WN>VFk>` z8qjsHJzHEmQ;z#~#+Yb>g{2FDM25{L94HX0wk0u2P~s>*1&;v^)F}UJ)NVt;t!{Jz($^8g^bF&ViM)dZ8Htn1h>bZE{x6 zmq9;ppdej!&I>-`9=eCL4Nu{za4Tmn&PX!Pj1e-nGgFX5Xa(_pp?NCK)^xJ@#qt+= zN}rdHYfoYy0Po({cYgmP>WcPIe_4tQFR;taaqCNhswaoX`NL?azrf|-1EvxS`ia@F zX-u}kcM4hV*Q`{>?C|siNd;2Q2$cjIR=TW9)J*+n-dS20qXu=5>%6OLCUnlZQ_K#k zhvlwB)^QTCukL*@u3_M#=f+~TSpAHw0zRFt(4md=tU0sT)HymqWwO+V+~DGCwE|P0 z2AA#?92~FDB}5h}EJ~E7!yg2__rGCPFcS!hpswKlF%>)|pQ`j(H#^L|WDk4H ziRk7<6C#c4XPj$aUP7RH@jF}R03}P^8V(SXtOO4MBA{IB|w7r;1^XP!}xFSIP6Do@%^y6jhZAC0(X7d+xYl3 zRpXc)fiplIDiHjJw=^0eGqjAaE({VJN54_4nmv6Rl;sL0QTcTf*TVqxP`yB|2XVbW zR4t!EXJuZ9pd7k|fq$s3@wsR9x}Rw8n;CCH*eSQvcYa@?bfeDu{*mTZSHhZ~vx;+P z3rBWfc9pwAyv~iys31? zv6QhO@|TWqkJFcEXTaV_cW;aWd3P(Lx~FOS5FQ`xicw-DJ&ny#3IUFyAvZ`ZIGH zIAF&?RR0_6ygl_PC%is}sfjKWmfe_}c!4lNv$R z)w#rpUX=VFx3$olk(C)d{oxz-ZZ8?aTZ+Yv-1~MZ9$!Rw`j)~CC9C3m{Tyx{6X&!U zL;FC6#I}tJsq>(5SCE)NoYVsmTxf+I0HUN@s|+8H@XaE&a@ri*%iOM9Y<9s}jw6N* z{J)>)Pm>6;SC}_-?@r%{&HB~Z523U@v4@--9s^VDLQuZ9M8%p<(OK~fi?}(DanWvC z39ZZh#sxbod)GY9M--X)^f3z=uz3J}UN?$C;4J<*j`OjA(|H`egzqLQprCn&<5Kx* z$@mCZh?fC;kKMBvA1Z(R*HZ$0sqGxVymy0nhoULLC7uw>P*#W<9O{Abe`dmKGxdk8 zY`e!>I|C{+qd1cu=P|TY1k8%}hk0VI?$s7w-s}TPTmKMo`SDr1-dCIe(ysZ;A#rd_ ze+;)}YnIOiRIWc(A)?pZH!z|Qle>0~nK#YF#nd{=?h${Tgl9`ho@(M5fP;G>W1V|v z>>#PWc|8mi(hN!8?Ahd@ z#5O(;w6m4ZIb#pv*$vEZkN1!PD5(qMCQE=f2}$@X$(c_Gqkiw!M>lnNhtZQXgi zmZq|&R$OwzYN~jmfYXM=tmxy|eD4dnugnp2ztkjcMP#Nof$0SAd?h*mUH_dsVv0fw zG)gwx`3{`)h+R#irxzPC4^CtI`n{byv6@=<%1|{3BQe0hb3`9QOxX@72X`CoT`? z7r_qz669rTxSWJTRd!iWRdzb6#C;;!tB=)&zQs1;UNa>~e4x;)7sAQG#r2B7sC`+8 z39s0MDK3aJWAfFqe`8fDv4h956(wF~rXGin`Ym|KJ#O&A!%uBGEKIoZAb*RkHkL^a3 zgR?;*rq!5bckZOi>zhl~9%6>)zXbs7NUiiM* zgO4OgbiT~2;Q#!?ayJkD5->L50`(Hs!~00+{xDM0Q&hZ&r|Y&dakr2}tKhD%DBg-q}3nCs$fjQbwSKVxwe*W)?v9^C4O5`w0C^TIm*nBqDb#-!$N z;@M*dfR!3b2^#IMFjaTc;#*?!lNyF37__&kLX{Ur?4<(RA!{!uGkiWZCy(8nRPNrs z(Nexx&Y=dnU4SR5ls<65o{@oiZ5X@RC)Did3C5PR8$+C}n@9HBi`}TkoejJE)Rl1Z zltWkCk%p1BU&6Ibs%{59J_Xixp}t1hGRuP(Q0=9cufJTXk>N$JQJr+!sNKoEa0dNw zs$8A1P_EOtRH_l{B4a z&1z9L56|&oX)qmn0;hELXUw8vbvnX<&-Gi1*V7<1hn`~BG!aTlMJ1K1r_tV1!;;N% z)v=w!*lv*<7)T6~)$)Y^+{huM){{VD14=iUzbwjI9Zs_iGrL@)M zRgByJd|qth+v}}8>Q%Aes6p`foKyps2(9A`gZt|M>n0c#xVdc{xN&$|cMonzKe0Jq2D9K1Xr0uN-3vvci3o(wlWA5uCMNer zrW-vNjue$`r=REtCy`NWKVGU^Ghh8g8B<_ddB+Z7T5JP&^!S2m$KVfu-|&?#I>H)_}2WA!>F3x%}Ud+eh=bnCMEC*Z~%WFjS!v2f+ zq=9r7*?5i}{HIe^B4Dm7n)sX8UwU{g%^aGUe`>e!V^%7`pz#CVBdM@%#{?g-pGul@^Lk{-vHB1vp#pb zr}Y6-zkgJ}A4m5Rqjj4`$7L{*SUnwoH4(pTHp-@T`=RA5lf02eF9Tomt#z=PEDbB&B|ue1$tvbNTB?*m*VoZhb?<2&w$IO|=nn*(s~^{TqhnZiA;*;@L3y6!bjTkj0FrMk&rXMeGw#=dTP zskl`9nt;*d{!ez_`LofMr!AnCC%G_(syz9)M(yc)13rh{>H^lIsCRgY=IDJmX`;YZzW_)1*KB4*QYNKawGlK;(67Ovhk5^Tg?)HD&qKpk@lo8`&H2Hc;hS4 zEtM(cypgG%my$9{_dn9MJcJ_KRi5wwn%LN$Km?S_HyFkd>Oh(e8jIIt0cH*rr)X zFjA&wlGwWGv=%VvtJtg2FKr#*o1_S&Ev11_w>rP<7vAJB&)1G{4MvMso{0~xUvOGi zjCfMk|Bbojqu4ZRElXS}c)03)F>x#L(*>sF@XBejN;@%+8tGL)e^22AybL({r4z6H z?())!mZz$UIgy=7$Q}1RFDh6M(cZK|8dw+f7y}9YM9l@)CxpcdC!1 zvMX!6rD_C8H@X|~%%v3O_y3)&5yS4wtJU3RAU~fxcZ^;C8Y}gAxOZL0Ih92Mj3)Iqzv8lwu zhvqQu1XGNX)1x54%C86Qji>8}a~2i_tnG4$iB9Z$nd_B7s}Y_7OYRxd97_5CezZ+Z5TY)P2F{~@>$u$Ydl*V~RQ2rRK+LugRcZ|YN^Fxbszej3QP16WBeJ1Jt0K7C zowheqMXy@y~a6)(n5STZO$_1DkHBCps*hYR202v>E(t z@&NTJ>AHad9&qtZ{&322It1$RVBbgeB%d)*I~>0X!g}16TgmCMdoZThUAo6?@=4-a z2gw4#+L>^Rwa+HMl<^~#M;juWv~9J~aRza)buMP2h4U;W%w^TM!_ar1F1k9;F9_mW z%UH8s{LJ;Yp5A<~-u!&Gx7y!ppCJ0N%)f-7K=D~Hi1T`PVclfDEI!0htziE;BRhM# zvc%zL>T16V6kzgUM*j(_gqY4Q4r>&6lxPFqs{B8Wqu)ZJzcqb2eD=!3qV)22LQF%< zcPmuzX~Iu~+*g9maXgW2r_orBh)7S)(gbiFT;ymV`i~CLy4?Rc$@5Lg1^-O?65~WGGS>`Lu|1g>w$HwcyVv~Of`44k#W!B%tG&{mL7irq&ThUU?KjtTBh>i)op%DT z@PlRMLu59)@oimNyGr@^x_prD^ueCtl83R}jcz)e^jx>s2KU&hcf>m(R#Lm>moUvn z@P?y)o|Bq`^OkV;eDqi`v4Z8)u4+|z)OoVP(YvA1k6RJg_+m>`A;tZufVsipnio9` z`cC^u>pbYkKcN3>MFf$dx2xJ|2zh z6(Zsjk?<4V1{5*ze3VT_dsTVM{_RRtMV@=VMx@GVWDwc&-_noI8p#vSzJ6$?>xfaP z?p|yJ!R_D8=tlzQZjnp35vfr8L+8}kIqka%=4}nyhoFvx@pId?;RESdpbt1WA^waW zKj#_AX{Gb`i5kxV^9&!3zk+IwA18wJBuUAe|4zb?;*Y<_5^>P4+l936;M@wk@5c}W z`I4gh7|08I%VV}w&(`uj$j_Q1J?DZS!dm_-=0Y!4BPi2#BMeL3EO=9cnq0Y!q(QmY zuvrh@I%CFqE3wpK!Q4YPx)!i*Gt$CBRKvLcg&uQcNtgdqE0eOs7#2fm$#!Zi+!{8X zv}VXe6)yoMN-Cry7!=wz)tgRm{XJ^d%oV~@FP`(2(uiM!H61HYI;89$15}jzEkN`L`8kpk?kiiI%l9%Rr?4I$xfs#e&l4U-!fO2)Tj z9s`m#FQ~)!3FXv``!LTs<=Dl~4kbva1zVX|i|YQW!!@u!I{+A zm<6F03_6y2!RjAM3;Yy9k=G8>;fcNH7H%daH*ga)zg@8%n=D`VrH z{4q!6Km7!zIT)v=tFKvGKT!YQwN*RviE77WQO9t*5c8uBh(JDY+aKBH$3lMUrii+lb1pDb1A%`Rr6B zh1>oHj1?CxzeSCqmC_PJCZfmc5ya-;Ke=6<+)wjt>`<7-Tikn)^yxMOFve8#4kV@y zF@-?T*;}ih|Jmb}BL0pS&+@1F@=+U+SGFrH$x%z!*ZYz^Pv4P3;LAPxF3I4qz_ztK zUOWm2aY6fFIj>_Qum09qlBzTR6<48X>fHmFY`h;0PVTN;2dVI;f#f%jG^^n+9nP9Q zty2D-?#?dyjqN2nU>CQ$58m`gdEwMPN_;6ei8U8Ym#S#lK(fLl z7bw7$tS70hSwy9krz^0{mH&e_gJ&>kW;I#ZIq7SmEOd|7?@<#axa`&HFN;Fyaa1=Q`m6ZF+5 z1Nd<21M_*WkFk1_&4OU(MCm9T&>4}3c4v1Lwmv-g2FJxl{BsnFg%ZMQ6tzvV4q-{O zw5q&1T6#@g>*jfxc#ihjUDTpq&ln&2Z0Yb_-|OyjuDrX+6XW?-4SFcu7WlZ{ zu}EM1=Fp6U4%(SWLv|?f+!$%fUnlh0Kd&8D=hb#QHa~diZe4p@uWr(}4`aCKI#^ij zt)!xy()GAcsP-Vrd5>r-d^lb0$u~IF|M?h!mGhByzoh`P-EL3`yvMyB1l;xlO_GfA zz~$)E`sd_WXtu%a*huf)#W1qn$5M_lk=i4_$|=`<-!`7S975K1t7rUm_vPov<&DPn zaV)Qc9FEt%$etTBHh`E8>zZ-J_ z#*F_t>iyp*@cnN_ybZcGE_+S!AD0Gs&X=M4>h97$;pt_obN$Jc19d;*&!yaLWW*9` zezA#JKG#$h+-^66U(3bjx?IVt(Zo9<6Gn;W&ssi*Zaw<<16!<*ivM1y1V8*aY-?w+ zOAPM^qciDyI6r}sX}i0r!Mo#)$kh~bzP?Z3)v=4ix3^9luhY_xY-8W0sOd839JM5p z9KN?NS~=eQFZKqyfA_+mP%9T-TCuYKwT=Dpy=Py3efTnd?~rgsRP7~%QxOn>d z8Q}G~s`B}w0LXp#IL!tD41vn~Ry1(39};gzTk{GzTHqg8xzxz-Tl0foZiVl`pU76bq3#a3Pb-`L=A~ds;B$8}b_#qN=kPm?f<|Hi^XKss zjR!_;Imx$eLJPP z2@A5+0|%Va)i%aA;AA889+DgN$niyh>#R7ZoIr1din|)9@BZFix-RvSa{spW_;f7e zsd(T3_=0JtNJ#GX>_F58@r9=kgMRCYR^>7X3=E)r4n3E%{WewX_33TdI^sANhgmy- z?0XXdWKvj5-zP_RH;PJ6iLcsPgvL-W+VFyy15w#M{7i@x2m{9i2@XN5FL)*;Y9zSQ z7z^B_tIu^ty=LGr@ak%)i(d zx(Vqk5W1(Ax%N#pqqILDH|>VZM$80(9E;rpsu%2;>^#hH^hlMWbkOKdQJ!l&B*S&H-=Req40oR`rs1_$B3vOmN%1zdzqQ-e7h z@?5hblb!#ngO66gc6~w3=U}2+2GJt_Mlsi`;QXTh9?fS9V`05s!WaLSiW6RAh6}Ir{5h^=Jl^mb!OWxCOT7W$4cuK$|;`*Ys`g8+?yPyqug?Z-HS=&%d_8{B{6D zU`PJrHF76ubw8bMo{DR%VJdzRdGZu0q<(;xiI#@vY^QJHs4b>9;d=EdZi2tVIhiam zK`Ycx8HjfnjGE!L4xgemhMkGxd3hP1X8(TJ3N`=;?oY7DS#1zNV@yVN$N9?#Jle%n z!L0gIWjGm2|}V@!-)Jna2w)JY>7#zf-N?hjawIqX7!$B#1z~sE6hKa~?u;LTJmAuze?02(i&*smVWG5&pbXi^Gzr!721b=9s1^6&8hNh=$ z3|m=(lqY06QMt7$aK~>s*JV}klvra{;wm}{VL0xzOja2kFYOpM0Ji!2jiK#{4@qX72#Rw|k{RRj+WWlD zlhDT^qO}Y^O9w9=8yim^TBZ6xpUOfCPQkPUhENM|M$HwMe z;pd127Mo0LewC3t0O#e9Ver58nMM<%imi9)@Uty$e9k=;wbemM%+csx8iTxVwrwLG zQ_6E>okLb)gcj#o2i_T1GBtHiyCwnPy=9c6zsB?%Ls6(m+b32spCY ztIeLAPX;>+=SA&S+FJZe$!e_`X7a9BTLjooivgmh-;AbBfHynyvrhuI3e=V`CYnTt z_^fifT70_>HNkbnSe@0a_FFAm8=SxQbA=;8X~z8DGD+BT+1_uZVN(sPcDFfX94mv$ z#tsh5zKr=*yVVmcu0d}N@i&+88Zt+du5-5ZPS| z%^D1XKzf#%-aI%aO(d!qKQ@(ktq%U|KdkL-7&KwAQYcP)N3cHvtUaaBjd{7UVtEj9 z6KqUFH^hCQ46>zBsfa?LU?QODwrDAxQY#krZ(FiBAXSjiTwqs(1cp$>cR26~*d1x^ z3CMTifgYjj0HhKEuWu{%vQKS)9xRJ{YWFPXc}l8CHRG5dI>*@$9biPSp!%ORb%#k0 zaf7L)U)hCfq;l=y!FWsXkyDE~<4FvR8YO=X$kbKF>sK8Z^-eW}K4d`w!XtVGPp<(` znHL8hH4YA>8AHS%!`mcU#&s9we*Mwd=Tw?=fD^(D1nVO*FIWbZ>WOvVTJqJflv0^V0#nLOWyPMswweq9ny4r)!8B`c9YTVy4Ib zlIZ$dH0KStY`}8xU~-h^o0y~1(Fy%&SC?QyFkYfHHO3;f@m;zt$$h-vT?kpRx!Y+2 zpf^jr^oR(a?F%vwJ@E~LLWa=fzniOp$EvE^OcgU|GwL;Ug_^U6RTGT_t}it3ysg|t zEZ zJV|Db*Nw;j(Pm26=iP#6h5LF-k;;YzBz{$r+^xw<@f92%(j>svI9?6;FoCuqpTs;K zS`oFlf^-Z|k9}f*y1X~bbAro!qFMxonPtqPVN{KE)1)mSJlnrQhI@Cx33x|6}2)K^Pd1{z(_eQ`36yC zt>En-R40ZxTOrUzL=vZ<|20uHdTMpaVl0MGF`d85G^u~N*@(v|g{bRjL%FBj({1-& z(B{$LYI8wHG9XY>E^I1tI2M5i&Rxqrki}tnDhYI+CWZU zC0@VYK-T`6W6D89V2H;l@h>2*l~zAmuQxKzpQ_olqDwTcpJ!?9i*o~?gLRH$;*@DrDr)TinE=z#|F zR}(R`KE+1I7Uz4gQDY92fHPP-jTN4#eCy?*cnf{JBFd&U8hUxu%Hj5jxlLh&&CfEX%>HU>N7?0T_m>0S~3?Vh|f;_KY9t6q+H`M9Hbvc8pMX0u~btO%IxY01FsNj5vyHc)bQ{E%Nn zHs~3>7gtt{cbJ|8RwYw%Sy?fo>EK+Au4-8+_P^xE(e&E?0b7-DG_6&k-o4HEIp8VP zm$a4Pi(I@vz|da8wa11GWwjuUZ^U_@SZ4~`&fe( z>YCv8X_h3S$5gQs`5^9qTeVz7OBenf6ENCVA?w{S$+M=l3is)2-Q z2I-k}QnvnOzPOfZxgS_cpitbn-=sezv?(^`Mlb}X2+i_%jk&?^V7LwFpWQHAlU6z7{x=Z%>oZg_%@jxQyUi!hN1y%dU(>+Y~dUewS*`T z@|z4ffwhucqMn+Z<5|Sk@ozNPTx6A4$n%bV#=a)&+#VWD8Q2<)cvF|50(Czo|ek! z7f1Xz7+vOi760)$qxQ!stpBL0rS#Jn4 zP;VHOexC|pUHK0C{^I2IH1wTUrulWs)5H6rMdekU2=4=xy73QfTah(dg;r15#Y#fi zk)}!roAbF~;3B-QCC<7ay@ybWAOauLTHYWs^~Fq}ZEN)$B7Jxh`0M(jYsZS-XY$ng zCE!%I6dAXs5t7W`kWQ{ql*Xprzn^GHJVsL~^oWtJROp6-_q#=S{uK>3=aR+7(9IY} zO})P$S#yyP8Jgw9#kV9pUuapn;xrMdLVf8Xsj4h3T9(RYMtEr92WOOrX*!#EdHTLA zHv)!vc@cV=c+zSa-IpTui;Eh!L$3LmH=tOwpoqn`21QKxkI6yuJu*FowK_>tnU;J- zl-wCpXjq-vz^afPns2$QnlL(EL9ZZ-uW`^1Y{`2u+gNDz{t(r?MRo6ggSMi@dFJWKRY;Z2R-<_Zp!~&U7|6yz>AMz*aG($; z-RgKz9P@?;q06eM3i~5Zi(zv>0X4cO#$O*B)7Blb5i!>TM$xiF9hj+R&mOw}E*K=| zmTKFJ<1YmvO+T+HC@IzE_exhi>%ekv>ZFki5ek><6Q@QkRtBD9|b-{ovTP?zIgH@F60~QH*ul zungLsm*_f|RpyNaD_6U(d>w)8pRl|+<_6^6V4-JNTxp!upmN{2cKTBDHEVDA>!Yq6(+q~0qC}qnGJ#Hol9)=oOdNa#@B>T`DJmVG1--fq z3)0tTOc3Sa{ZzuSN8Rb5DJ{d(f*a2^Sl!pQ-p}x7I9O6MU+TYfeXN-4*XoB!s zRdRn1MdRI_=S{>3z#}kVmiXK>s$KwZz<8v?tsGx_jc%7I zJ=c4eb$wXT_N%LIaN-4lW}&MtiMQHew5k}<@ja|b80_dBB3fv-Fx3b`;A}*kBkA3- z!$Nm3TVc8)P|E;S=U#75oO=N98y!%_@9{B=Pq{I|!txB$hb?2kYya zvQIwO5Ey3;S6(gXp+L9jEz`6=;ERmYJ3imn)`Yt6Y5bQT)=axlbiaXu7s&!kaI?c6ph>OP>1A$CuE~MT9EZBsKy+R) zNGm)dbmGc_qRBTMo2%gDW>D*AroNbuJ@7 zp`7W2|B^li0e8+)wvEj80L87iNNM@{t+ELn+_HDhOK7Ud2+5O)ROTkXI))1N#U`Cr z4$HR{aP>0KW=;-nC7S5Xc0)baihyHY4#l8` z)F_B#fy_YU0l9fI7q3EIZ;r%fZK0a#Jq}Gsa4wc_WsM{bc2}*x?5)#$H{&^Y9Bt58 z4l>gh5V=Ahs511^^_H8s9?k@BI&W%_ZM(UFrcKL+0z@7$qWMUvvuTHr%JGh9*QrtvV%$C*Ttc zZ-3TS3^ar4FL8qvnL9U^jHVY`+ts)Lh;N z@_zx{zLS49Ab#{O?>R^bgq#YJqW72!gEvT0tDNU2eDs}DW>U+ELA7~hZr!Ouj?Ywf zjUky6G~jL*rjlEd^;D!ZYpfzMLefHaJ6JvLJZ&49+4D#WS{`%>N&lxpzc~XQgA-`9y_w zaq+dQ6Dx!?0F}MghANc4scGHYV41@`FU3T@lls@!xBJ{m=^%#E7-VfNZu<AnBj>=vv^rB-w9OjpB$atY#AonVqF5exYa3~2Wgo~jZHB$#Na z@Ud1ccYqkz?eWEoH*+opbkw^)&+fN8Q``GkA7A{iY&NdC2QcwfJj4qC>X&o_8~Nj> zIv5TWZHb?|bBiZ(N0;?0TqcugTT`VX{tP|U^cR&48VH+Z%)uRAmx;RicgxwWRN~#@ z4W$n|2LF`bdxTK-_H(Rl}RZV*peN()B0nymyrGxHTdo~#!s zD6+1t8fPftwYwfOL%0_K3bs~zS1N?dWENsNc9XfS( z*$L>Kdrqz=-=~Dm`c_ef-K_MA*Tc^hPkbQc$++At9MQrW5O28C?O&*)KcC#Xi44+Bt|kana+j z5KL$VYWTv^dL{jZU-A1${XB9;`b}V!il)?68dyQo%Vp7Sn_B5#2!55nYpOJ&Agqx} z`x_-&tHFMSydDIKFRpiK=L)I|^g`IVKDZB8!46cFXK^@h1R>{qUaiAnmkMn% zkNeH)0AYec>NxgjvcU z(GCAHH+|H=sWif0fyi%qtx5CkRA`qvY#75m@z@pc(jxBu9!jHNE-GD|D}I_C8*5PH z#ah!Q!u^N465%nSZ}TX?cL>orF@RJDm-NwtF;tqf;@;)&G$BBQI?%EkSv|n zSGm2Wi$7L6y2)le?f;S{x~iNW$cNwmQix;oQro*RRFihj5P?sUmmZ>7(s52z3H)Ok zq=*jWHKtHf!=IBid|kfF4}oX?ewxsmH4Q;@`)=I`Qe@W{5E#Ff>nQ0b=@%LB$*J&x zf5|_Bj8N^#gZC||DV||>^J_^g&|HX_AeBwZ-K2y#e$T#>P$QL4t5FLiH~Qo*uggp4 z*4`<5nK{)lXAGXhVsTnj&ZWDVzxDG>R&SGelbPM8i_ShYjV7i~NJ&_<&Xbl& zwlzM2pPFW)2PrCO<27NGv)b@kh0Vupz1yneBN$@)C6Yh9r?}9Gq_qeubLi45S*Q`< z&hh=s`*A^?lBp-^GKPn+lUX}+Dn1wR9M~fTj+!PTH;PiQ|Lzq_16@mX^OFL z$4mpnm}2-LvGt@-45f9-d*0gEQH*T{kO7Cm69ufV++kC+-Jq3|7;Xs$YvO*~r=4=v&ElvR>J6Ev)tz zfs7Eup6wxm6)cf>ynlMraV-_k{10Mja9^a#D<;vWZ{j$R%*TW1oyF;1>aI+q;bO$j zbzO8*FlLl(I|zyeTb&EM6qDjK3&7q&lFnC%?kFE@hLn*vB^ZTYlm-mFfD_Ut8$Phh zQ2OqYIl5jxtOG!oXC5QfmUQc(-XBv2J02$z3#4L-vbkNBEna1q)Q(ut=|2I3+G6fnI5M*-p$b=of!#1TZ$CiK1(mQBsIG z;7P0cG;z>-@wxfA9toW7NIh{L>M@e%Tkja9iCHaalo%h=bLtJ06FP^^IE$Rclo)*^ zsgv)>`;B&4qTelM8DItY!bP*r3~PSL!P$O$25n^_ie&qO-RZBW`tXLO%BUH;d@funGtT z^m+dI=C$+3^HWp6RRbBNP)vJQqe^Q8MA#;4Kg-Q+OV|SD-}hveB{vl-oGKAVV?<}E z3UMo(DjOL^Vb89u(aX=!}DZv;?9c8zWH(`E*my&{#SVJyH4I zQNIn^^)|y|NQBN3O{_BzcIZw$uF+&(jH#Jya}`>quMfO&g>cJ{9_m*1iJZ7IVBwy?ARd5yuMQvNd#&37*&GvujKcNyh`tWT0ZDshT0Oz zv?vheD*wK}-G%f>sHb#hN%?CZJd9el8U`fzS?B6aaw;QY98Ili#5Z;wRr$7n#NmNX z5p!Yalnx`sxX8i~$to3A5fsTXZL5$GnS;9k-2<>Id zAg@#7vh;o?E={tH1)2?uixtZU!K};GdmR4oT(TqZvw95_Q?)jQEuE@nu9=GA@1Hov z<>DWmNYX&3$}AWk;Bq4ulmt~GS;tUofIR49C>CM{MtRqVDQuK}DA0{`nIHhyifx?m z1P`2mXK;b1F2^nDGNY`|T~{2ACyZMRA>Lt250Q*S_Vp6C5wjEgK6I7Q5yf*9MPllt zUicdf$r`azBU80fB>pcsxxjP~0mflKmXki#F~BG1iN&e>F~jj~&FM;Fst02X92W1U z;q^*8pw=b5_y5t*%)^<^tLLi^|{=Tg?Zs7PBl03^fjl?OrPob2K&W&*4}$P z>v!La_ZMYRmHJ76;j;Ep8M%U=tXQI}{0#v?ujx?cMeQ`Zo+CuyEIUzm7uF?>bkSOX zbVUZL>B-&O@s~MP{*1B{9Hk8X>CPu8zc&Hi6WojJnhbBO&R*f($gSQXqLr*v+k1cdsDSz`t*-Xhv{X4khyq^#%O!gCSMZQbDr)40G11SNyz4ENRHeifMytMU zPEn~br7E9(EQ$3J&FEEQ44e!YA+dBE>Q{7HtM5y7-B^7W?xU`#0382T*%UXEqg<^3 zWw%&~LCkY`2<^7j|BfU?se6k(HdVlpl*Ukd`nyw?o##=dYE!xXRkHbL104 zcxNr7H*TH0Ig1yU;;!Nf(YafI4J`deg+2`dgI(@8J97EN6lBpC2${+n%W{^L6CaYw~3EMnBBgt+lb6K*m5^LgZc8X6Y}Y zdy0&f)Z8Zg7ZYesPd3=%QvK;DoV#1Wkkrg#{IuMtNSmi-xDkW^IVY<43Mj^L;tzxu zX!jYpjKwx_S>72ft-KG7dUlQ?mIaolbJEQR)reJ^aR69*Z8X?PG?>Mxl~AAskd1vnc6uyJIQnBI6G;t!Gr0&ye)LJtzC%OW7QSV!<67p}`_Q$z?@f01 zwoFbp1WO^gv1tW*88lOv)^7yxD!ZY;gnJr~kW}MFUszBQ9Knc*OzFRjW+zNCVN@0# z32^ltDjaMBjSyiGo4G3q)br2&m*y|>i7kSup6(jqP6}Xv&!Sy7#l`^Ld{*t1s9f)kR8s+wMOwY^S*FdgoIfs~fidaO*OwchOLY7i}t(2Etya!gO^V zh^mA1bYo-yj`Ve_(7T_K(2vCl5A*Kr&A?8gv=kJuhstUCkUcpwr^QcmOg8gV$B<9D zdR!**bd+a{xrq*lCPk*4y5Jqm1E%DrbKnYu@R+yk22aX<(T=c?4`a*0(cf%_t|fX} zB^x4P2r7T*GEZhku$B6J*k%_paY1q5b_gkh25yc4gjcPG{yvuwiGdC7NF4-h1r8Y! zZ>0-+dq$cI(+Sd^hB&#@Fkwv zY2nU^yDxF3k_uP9~ zp&$L{pQV|Q!}mQ=OSVMwW@*I|Lif_Js$e74l{Ok1M#C8Int2N3#aD}iD$}`pOIdIm z9icM1m;5y#Nc0Hn!jvLz955|+#F=VPEJ(copy*Wmg{vy;OfRX2{>LRy#!nq{q0#u5 zUy{V9)i{Gvj*ie82gveu%vAxI5Nv9wS4YU){xo`x@T6INIUR3DNO|GkUMI4(NmXH~ zm1gu174t`Xf`P7n3POd3>h8hPl~?oa%HEef{}A>~a7PcTr3rbH{ZG$K^Tcbp4FZgNDoEI`$3V@!!pfE;y+# z4a}ykPEg`cHEAeeZ{yyYN{Ff^zqym&dwFta%cbQF#ra$C5lbOnU%dyJo>c2h8*mHg z)?~8q*d2~y&rJSgWLoE1a>pFhs$5k7j(+uO7uKxi z=Ppd;XBQry_TZv)5s0E*2`33-RJ(r3l*Ej3+WD`$!&l<|4u zE$?De0UK_}xYnqG2FY86o5@{7_Pb0?soj-mq22zF`(^{+dfA-G(owvRyqU%Z;6*yH zl}|TwSp|G)~^(Xas!lt=jxU0N^N&|5kQz z?B9~+Dsi^X;=m3PyL79)atB2P5Zx(qki;JnA8qEnX4RP$skSFz$Dw$VU*`X#89qKM z()}{7)jW-#26yg8pEVhay&N?WCWNJ8WssAzf>47}{SxlCz}vRv-s~5la1Qy~Js!4p z1Hf8`vz#W9K`R$P8qB~|0RM9M_a=E0G@jRkHKtowYFv|dg ztJl7DQaXQ?=SjVJ{i;EO2Lv)x?tB9)J{RR>5wB83T4369cx-otg5-;FbeR9vf(1~+ zkAPq1MgOL))6m5*DS)qpsNi5fG!XO&|7z%|mOP5QzGw>11=7%6+pNF5x1;Z{iDS@z zV_7MNW!s_v5BRMxU$(aa$n=Ior0(y$^&0cPYi{($a39~(+iz%pT0VumuoTLWd~AxX zfu=ZKNZz%|W4+upU$66sW6+*;R~WY>=675w3AXiNj+cd*T@F-n-;zhj3aiJ;i9mUQ zC{i~}IL+*>WPzqE&rrzNvN1peR*0{7H}$oA_k}PmAe>cYQ1n$;G6a=R1UWC;tT)cdsmqzo2(7 zdsyCY6nguqZiap3r|6CnO_Jynt)HJyPYGTgX|Kg>rtvZ6Vt*DQ&=O8M$W<_>1E2pa zLU@G1-~g(z5Rm@>TF>@bGE>FY?>J4Us2JRy&2Lc?ag~Zlk^F_?Jlbsxl0a<}k8Rzq zn^mgi=9={c8skL92ofybRA^QYQe5T?xT^A9vu%?0!W_#<4!p@>r8njWC#{ZOd~GGT zUNVEI9^yb!kYL)*xU*MQD~#CTpi z9aArpPk>`pdU?P@HOu`O$CPCKRHe! zE_lYtpgrPW0l_#I*CqY~KMiMqBqm7?(c<1P92rH6qO3tgF@vA4#%qNg$;&U&6m&HL z>NGR}8f>C*{BKrAH?a*3M}75U&-k`+ZSFXE(c5wVBi;Usk2`u-Or%u447=f`2%8BAg_o+94dFy=f19WwSDymN%|F_nnEz|P-;xmMLYrj zsO20+*)op9VOi~uhv5xai2m8XRA8(*(+uALs~xT1AAN}a2L?a;2kpSHd!fLPVSL2- z$$w=GsE?T_84|K)NasIh{C&P}--16L{4XGC&{eVBCfahLNIppQ-#@KfEMD55;(wl; zY&^ohx;tmTH}w?0-+IJ7x5EK`wrvOkdH8<3P4Za;-~R#g`(JSkPkbK0GT1+Mw&6d* zCg%SR;j=R`advR|ucF-lCXCUmCg)K6kM)11;mM%Zv5=#2A8u!@O5jtB zgTs=^`dK;&WT8GflPw41c{Y=YUfhh4Xs?sz>NuANiW@@nl&Qo5p&1$N&UQr_V?}V| z2@tfqyx!qHR8h3zXWB36;T>c#(Sg3<5(M;d32`U7l+xrWd^NR{HaSj6i*i+35j-HL z7Aq>-VNuF2s228JToRYgwx5HsSxB$V0-XDJF?H$X9@So2&Kf8Hj@kgxNSzcSlsErV z86Abn*LJb+q?we0Tj9CPyET=~=QSug3{cKRF79hwczPTt#USN+#H76nRSyy;BEqR^ z_FqZ$laQWDhkO$YtmsS+?{azZL6$udM&nNC3S4Pb|k! zl|lP|&fVS*8u3Fx^{5^wr>GW4)y8u4goCiE2^*fs?F|%LiRyq?k1?r>Fc{HaabJ5q z=~(k6lrYa;aeUkj#<;PU1!4$|>yE+t`&MRPE&7^%Vm}jDA6wZ#=&P)jihv4G&KSZ) zF(X`HW>E!lqHbNjO=~eCX$?XjI)cM5&R_3thN%2na!ZzfKBNj+-{64%Y#gHz523o= z7q;f+$OZz3kn{_M6o6WQs}029ElNPSOnk7&%hSy%KddjmIRF{BbT7Y zBoY|d!0$)lD(?(a=>gYHCIJ9lygNHl1P{B&TFeC&7<#nwRw;>%R_dQ5+`Tvc^p{B}p#`>CMPYUt zd@fWp#7os%G|ENUrn}#RzbI3lVfW!ZkwhpFdX^h^Tvn52({AgZ)Bra+w>vyA+*jMM zw=l8=BJgD{C6WQde~bQIlkfF>Y53G8;Q!E=TY=?n5wQP4 z>i^Hm`2Y3fG?>2CX8!AAo&Tzh>Hl4A|EZ+-zr@b}O#{=Pi)q37_xDe>f>P|EZm8 zb2D>uzxp;a*$fO`=x`0}`!D^P=q|gT_AL*50bwctF`}9UWYL9`5Ys{{NsO&ub}Q}| zrmYQWtHa!l1AVTcB-RytO8vx&1hr5we;^6e&(=<|9Km~whCcoX!dvF+cgBI6w$SJJ z(b#?tHwSghHbiFNEaW6(tl^-y6_DjHsS(WW4bxc)!m<}a*K*}m6=$;+zHWegC#jHY4Qd`RgdHT=Kn&OWu_vhVk8o3*2PAj z-nk`}kf@0jM(h>sRD^;B5dqsVyF)x;^3g}7+F9feQ(zt_CKvj?2mu~nGt zOsn8c2bGpobmfAF``cFsnX8&viBu106OWvqe+z_VnA}^MN(VkrPhsw#3*_G-g>pI ztc~hG?r$nkoaEv_%yB_`G>h_BAG|p>TtKtv-aY^4C?VvZ9v$w5G_iZezg9I#fGihE zMBNUf0o#r9;=S6_a0q5S2Om8e1njDEL==%KFy6^C(e-{^%H}6stZxY&cHlonNU&Fk zQ2OHw$(;}Be_XFz3gF1a*DSK_6q-(dgZ@9;DjPcV8Yd?Zkn_X;Qb+&yhvz>v7ylEW zo31em^$YO-aROR&AU#RO-5|WiX_Dk;lgxCS1!TBoD3A%ElG5ghq0)jy6F7l>OQqO) zMsk3O>s}qXWBfj}EuC~i9+#4Lipph-B&Bfrjatq%8oBJlAaBx@d&){7e?%(p$I{%r z!QCB$dyiwt^zZ{v+3R^Jt8>0sVZ-|TILLL_e;+X+$&5Dx0ldVTGP}Im^*x-*LNGHH znX`|+Oq@db$5$2al4MJWGn@XtD|R$Jt6&0_FuJnKoMpNO!$nabeRyT!>|?R68Gz=D zWEy9>#=a9}$)=cyELTXHSzaG#b=2blEziUAI)(c2 zIG*FT%ydJ-$=E!>*u7+!Zz*}l?prVK#63}1$@l5P_zbVTYLn@l>FC`G@0|S*=LHW$2 zN|wX*HiD-a18CgmhS7V-c68k198w>bQS7r+0G+b@({_3-J;f#hIQ)?O82ku%A?<@_ zkXwKc_g4^|v)!({R|dEP^n>UFyxY;FwjP$UM}|O#SgAK=DSHhP+B>Ss@`TOdbeYe2 zke=xqx&9Ns(CuOaDprI(m_BZyB?T!m)LAc%9!S3fbYJ+3v>En(^ykA%#D^y$n@r?0m1qk)FM|fV6OhyDtv5g)MjuiibRX6p8TBE#RIrT7KB{@mS`gOL5SlqmQ^_^$z4 zBedcf-nqWt9`K`~bYk@QKZB~Z`l0$!Nk$FaOEFghdsXqjHEiYjWC(3<>Wu|{us^v! zA+}Z>h9nN!584ksj9q+!v$y{a{Uy2p!WT=i5mBD@!<~NpQf2!BeH~6Hf7#w5=q%nQ z7|tKaAClPR&xrdIdVu-B^vd$;5^oORG5ZYN{QykzjT=by9E|f_8AbxGm#Y!By}spY z2;Oz#?RRNhx9QIQ9{fE-L7x4Fl-d%&?~2QZ`?D%AC@|bVQ0^%HPW8GT(K*>a*gr1$ zwR~f-(Co^z{v$~6#Q&K16Up~wU=RDvQ-E;ax%<A)$4mt9L z;V|xCPGfrC#t(HPd8t(3ahP}lhv}5~Insn-7Slc z5uLM5UO{Fu#AawnoM+BMlKcgj#qAwFOoQfm?=Y~5_6)5ql^=Y)ex%YDqbQYY70pAg!j}egKVQCxr{CEts8exnBM7HXE-~Al)IVZ z|6*tT`!a{j6yMBwobTh}%C$E}L44}tlam^|5GqpJ$QTdE8IKRO;fo}S zH{@QKn-;WU*YzQq31-|kOGQttT5rG69z2ywc{c_3XXxZc} z;OA-bBH4}{JfolF^+Wjx`^Xo{Y|O>#*2l)%?7Cy7j#F7 zjd`G%`08i`VxGRPTzPf_rI*13+Zt8vc9jVEdpnP}lv$8(80g?Q#JpJkttrK{GtRZ6 zs+A|Q(8bp{U-NV@baS=qDZwcb4xm1srEf%4q&?}|J2)tjTA9qTN4;Nfytwm@$E3Jp zDTL4T9^*Vx-NppC4qqQoqD`>+lDyup(w$)PGJs8G3 zKB}Kh*$vuKOV>-ZwrxKDHXqM*@n1)+m79B;zW?z)LRu*e-pueng8DtemB z9z#uJzl=I^gh9V8WR_PHVm6A8_RvLSQ`(p{m^vRyf^DT?+(T+uk<}#|Q<6OeU0h|k zh>it76?}s(rngsMiZJV`v|SojS2!s_6BoYTFRNCC3Cb>ExRxJ~U!JBlI(5FAS4U9EDp)&jE4uFAyaSnYO zMr)E;LG5i2^j4<;{`Xb9^bzSd5(rzd$65)fBDPXHC!e&ftgrI*J!DS<(pT@=2&_4Q z9(d>ys%HeQ?wPXLmfc3-JW-}fjpU$-nzWU(VNh%?rv}}-#_8Hpu)WF>+E!IjHAmsp zZtmc2q-BqkHdH@1%c0BSTWYeF^-DeovnNUksAZNP3`!ELOVpdfUxLz}fhtOhvP=a? z{fn44&_#I{)>o`xlLp{`;YB85+kK3c_N^IHLEpj`1>*B{`3Q}nt9R(s)knHBSf?eb zBBigWZRrb@mV|=k%&;UY#iz7Mi;FeFd2=D3Gr5*0r&SmgT`o=(8CNXErZuWNQe{Xw zcWvCAPsq(4e)Gl+gqh`22>e?O3?BqIH;bT1Pdec(Y(2M0Ev2Cv;?>DsdE)BU-s#+k#^J!%b!`S|G*4j{far8JjyxNd zkbXcWOe<&bbsD)KuqM(?K`j2Bu~Wae${ae5&`g^s7%1qyZs)8;SV=|YuZ+8>r0N5GT>q4eCaE07AK}HIviff zDPc$=KLPVCpyGH;B#kio|T)|wkqxxj&?lsvBc7Os~mSSfsV&GdD#ciMQ^YY~f z?jDDw`H}`t&cCU%&FnBVW)EV@NTkYVdTGuG3Xj`S!T^eOVC4 zV-H#pw?)B0POfZ9^M=Q0uxVyO1P@UF-?MJ3jE9RXwWOzvxs-xP2DoLyP`x{?D@6&0ZYzkf4*h-%ah(^OQA5 zWKf6`KdJ3D9XbIp+jxSw4U1o`Y?RcV_&}WC*uQFZO4=plj%0%y3u&eTFh|v+GaA{> zW&+oct*S>;-D0)lAY(~F%(tuts4j~$*g*W?QD>>o4L@QiO*dO|QEIFnK)rqnX0%9- zld7Wz*|R}Fq>P_OPDz6d42VZ*s_=oHyz~SP-_zvk8e#>pDADlXKI>H*U$TsJH zApd0>D47_Pt5wF;3fG9Cb$2b1d=KE0MAG5G-)(Ciyb-v-)A95|bA?LLgw#0bR(L!N z`!mA65JQlT)Lr9f(3X|~a;M>7f zme*`(pkMKc6rJXtV!;}C(&`U7^x9F|Ae};|IkddqGGw^iiJ+yrPjX+!B*Kbb_WMGtv zcB}b98bsdT@msZt>QTzrdVevonu{L1J&29E&dDGjPzJQxC0auqCaSN|-tVTnYPw=k z1=awt6RDA74c1fiLaXMkp%{p?b=EI3B3BVw7uU;enK>1-g}D)v+@ZQd)EYkUDe@B< zx-ob6$ zQyD>%NeI(UzXq4?Hqgt@?sa*`I!(~yE4VDG?+`zvbw~qVY@03Hu4F`z5#w&I?o~jd z+>~G@l6w8pfU1{i{<)w^m_P&Z^TcEXeT|RoY{Zz{-+POsw?FUE_o-Vcc$_Bp@}dFK z^@;(7_!30Ed^q5aXA1ZMp|G{JeW7|6g2zC>FG?-(K*fdRPTrv9FR~hr##$s*9a!ZL zbQt}nB3gf_Uwb4G5B92gM0<7Th+86AJqn#|f8TQVF;10BHx;EvioQn{+FC&|=NvC1`GV!O4mhI7VC zGnoxRH*8{HaFS;98Evu5cqZ^sPYcPwOs(Ng2%+gM?n(uYK;Wm;R6s*;CIh1K%w&17IyEzC~C-bQ77%+@7CFO zV!_v0MwxP5nv(p8v|(K5b1$4~(LQ(HQxN5n8}?g`73hStf4JmqqGkrk+T`6&}oXYcRc zW{5J*$(bI1Wa8YOzmq6f>WK38`+UD*cZMQEJxV7$L_Ib?!+yE3Ls`=wfh053*mT&x zT#1MVY5flVvY!v#s9*LJd-c_a=C1YqZAJJHzP(>!7mDeWBiK8=s!0+(?Ui+j4Jc_2NFZ#<{#U^ z*2vk}o12G)4{cbJ%4>jyMdfWW($*d7SAGfg=`VS@)lSg_ziEBW#!g?5EjRts9a)f; zq86*_l1rYHnG@s&w`oFvG)8%S%ZU{7eYVEaT3oMG&Mjz zv%7+o+Wv8dA^QVNisM_khgZ%mPIMTP2YYsQ9+Y{+0a{UOZCv-?BjE?5iVcNdA{4`l z{;}bhMpvqc)A*ZSnGL9oLdQkHv9PT(eV??bYoNLVi}AZh7e_gO*nY%8Gc;Qi0o;sn zi}nFwAf+|g&oVmqgz0%cz2CAxomI^xhI|`bU})ipH;NP0$R#`y@1*MJgEi|;#Dj%k zo;9#Jr-E^ZI$aq99&w*<&bCIx$kBKkjF#Q8&MkiZf(l|qGL|OX4@j;)1I6iZy*3Xr zn&Wi3GSL1+N&OW7J!65_O{_YL^|s7!*dbHW!RIVueIN@nL5k7J7^)Du3@)r?tI#@N zyeJ~=0e@+ceIj;Wa^yLJX>uPN@qzoq2JFt2ad4=PG}XegNRp5PQ&8OQTXLRW=jZN^ zEH(vg@AQo6KjDnw5Zt4kSBDie9Z5(%1!JCG&+fD&w_h88&VmwOL!DM)YK*IA*A_OD zJLUXdbVdx+6QVaUc;pZaRct9>kx9Hf7Td%c!F6-R)7oF!?uv&!2T{(Q*iTyx8G{)v zLMTs8mE;AbeRgvql2$#lPOBLxGA?DV^JbY}qsX{W*qeCNbL9lP1SE@$b=|FjH zgDRo6@-g&<=OaBrPEYhmdNVrR`ubWn{{}#-w_DPt%94qZ9lGeV@%{)zL4W@i+dj^| zL*eT@9lfA|6sDJo$}hgW6+0_iMMKTm5|0|xS1)m+Qs@6h?3PFx8Z{Z z*ZDc~8MrCzgNScVA@=R<^9(jD%_+>u|E!GQQoFI|&nldfqcngcuv3gbJHHXNC4}T+ z8<(RrB?c%DL`OIiAp^^8kX;8<2bcR zR&nVBL|$FV`n!|MJNs)BiAJB}62OaLm5fgC3uePCEw#Xl;TFirlP-vQd}uARRBEaS zsmqqXYYt+|D^N%o{1H*aW$HRL0q?f;7N6qoPnbW^#iN>CSA^wqaYoiSrpgRORH-5t zA-@d$vAfw!+vaRSk;*9h9ZjERI=MF6rCCG^nC<}G(bEPJN)VojmJGP}W`{);4M0{W z4a)(xQqrlC!%qtDAxo96Qudma`6g1Ebht%Ot>o=wuiP5h%UMp(yve)4S8U3mwJ~!( zb$vN^5h(ZRN=;LjLee>1NmDmM(l%GMEw9Nbr*ql-%}!#)&t}$uU<^ubaxb|_ByMaB zC}VAj(%N8TZl6KqH61ETaDi$xx-TohURHESfCL?mJG4pyba#!XtHExLxt zr{IXL@L>|yCq0+8kXvv8Gp&M(ntb;4@V)|Nsi93(R>}13%b1l#J84%IjJz{p%A`YG zfca{>{j1hkL(@`H;SXFtA;dyaKbrJGIF23UiT1C>gb`C7MZ z`RzPF?)5pv_>!l_IB+iC++rL`0Jpet_pt%A_Z}Io${4!w2?S8~LAT>K;RSpEL!-|3 zn<&>L82jO+3qW{qLVRn11Y$w%M1C&hCHyS(D13-Brj44c0cseR4~Up#Dqc_x(O96W zwfFEqC()IzeF-wz0p={I6+nv_tojpt(W0cuZRCWoQE&@EIpE*bH~iqTyLRkTcTeCIRX0?f7nhUZA@icwcCNYcj6Lj08a%n)BLwN!Z~L%f$=sudrt# z%mHKiXi|kspoN>Vi;n_5osl)N2bFW#Ij~HK<4;V8vjQ#hY;MISEi9E`AkQenfc*X< z_7_N?#_tyP=~|Rp)MOR73ez^_w@hn#$W00T4{`(tb+2SOD%I-zhTA~k`qSOuyen#_Udz-rl2B31}v?bj|Jfv4GZxD7qK`mC*_Wh%GgGfheFzk8E&Wshb1@Z4%>UcdloB&%y7jgyYYe zZxw5rCw^lMCtN&@N3YJ{JBvgDNsLP&x{;@$$`c24>SxH zXk%tv@^FwOd}f?}i*T}M#1sgf7B)F~P%&^2xidJ6jbL7SkL7t(eWNM-r^P}?kLY2O zH|HgY*jNCJpD-Bzj-CShe*oEcp}Cd`u%lB3&Uxb_iLMrz%P{#}DElpXT}FX}uw%O>t}KjqH)t^@)O zd;?(8mOI@zTH#eJ*X*4OTv8`v#>|w^MlDZ!3K6qinfB&AIP)fHo1!gVFj4BDCnR=@ zu0h&YpZ_hbMn$^3DU`O1QA`i?St+dh5&$mQq0r6f!$%4*HO+p7JJwmKbj9bMvj(2* z0LHd;Dgo2y2G!P-wZZ9(C!|g04C;oHLHt68ovc*VULP}f(fwSByA~a>122_T+U^C} z@)l+H}yVHrgZcgP$3| zYD|0VbLgmle&y$}u45}u938a8vm+(Vk8b=G^*606esX+r+Fe|ibqj2Yz^Gjrd;lc+3ncfU^9U6{Ck}@5ahrXdY2V%-#Z#hme$w7b z=e)-##W8_WL=&Syq}oBoSn5i!DOk=LdzCXi^_Kv-9W{aAb>(2(CLE$_z#v&G;9Ug$ zapd||uF1&d#P7CMk+TX!=$jS*%YD$PGZJEMoA9!ojf31`WqNNh{MB~tMvOW&-X5t) zhp`U`J3wi`cv;!ZQDKIuFyP3G0@+HBi(Z7l^rwH}uma1X5e2?ws1L(#3cq}@|AIaZ z1LGzW4z}AeaQuj;ad9P~wo?T8NRleQPx!M#_CSo*5Q^|gl%538b*5pdEh zrRVTlmub09Qc`w`>##I&~%`3XV>0Ih#ZUnH&o=n$to&H_8AJWIVe8B zC0HQnL#PUbPD|m8hCEkIBzj)9Ojt_j56)Rw0TDRoXIH4UbzZYEj2LMV!kf5&Wzl7 zhOk6n0-mljb)^Zo@WCCzZ=6*_y21j$CER>g@LUvE!?su#YGt6Mkp6bQ9%;)gdU;Z1 zkG*qA#dsQ`r<}rgmE$5=&Eh#_w4)Yq9gw;v1&Q1G<+ES=ydaATBKS#^6rLN|f-F$> zlHA#0FcmFwVCx*}L+2%Axtsm{0Upus4BV%=13E&BJBS3HTZQ_!ZS`vA@y`;#rCfi- zYS!#Ny+gZ)d-oFl(m4jC#4q_)E4zx;zQaT4?l1fDJ7fl2E=;Gwzb>!aKA&m1CcgdYdyUgbsnVv2i_j+c@K|jvEqrm<(l+Pv? z&zp6f_`B%(I+@86BhikTQIi-KFvA4jhR#A1nSfdsXEDnghl2-EC%iwqpM)Ih4|sJg zANzhGuB-pbzu``!%r*LaK#xoPG@IT&?LGYmb}g<1NAp;f@4uxll9e}<53h!Xgie|J zd%Kpy=L|0IGT$%$2WJ~)f`i>B^2d{)ST@Fc(JUbw&l#Bjniwf`-{}CqfKNHlfu$7{g$Al-UI8WGp-`GIPXUq zU!K-qu7AU-?-`GU`QYJ$we!E`<{5e&ZLAK}05O^L^QdGZf7aURQmR`ZE7Ab2-J7WJiuDtsrwo zHY$mZSe{dj#X}NuFQLBhM=uC`{luJ}a%?L3H|vXNk^meXpj3#EVI(Bc^iPt(A_Y|V zEW#&%k+M6&CWp^U516f*SMtWKZa$erKMKZi>Lv*8J7sG+HR82M<)${fy>Ltx5fmTV8 zLG>kS4uZQvM^(6PgwGFpB`?~saXxtbvZ6THkDdPw5OCl>14c^9z|Y*_(S#PIllt?QOUUvpKXkgAiGmN$B6 z8^#*rX)=nLMJ=4n$A^~oMa9(tNqd(JgVFr`;AuF6 zZv_7ZNc8Fa7qm`jk!(~L<2+7Lj6eKJwce-Vm#7=`=kE!JB~EW9m!f{-fOBfl)~@n< zIYbfxW^xS4ofsgPwCYG|Oc-R7mv_ULgPdv9{R-|ASYQ_)eWNA*<7DjOR^bfO-p?YcPA|Umy^nyD_Cp|cVz@mDNE#dM2$)Z(!o&+=@=ego(zK4bAMUq+ zg;Ecr60LDGuxMu|1CW!OTwcSeTvCkE%vvI;-R5f4-oWFO?7{W+(aWMxDKt~a%%0|) z?+#A0-I0BBJQXbo3@&r;z=Mvl7ALGomDRdK zj*3^6R=Ml!q(ap<7OEdBG;r_d)6wV!XZZLx((DbS=gpUA<&#m32v^(KkzkP$AanfT zwEVFDH{#H_{2BOX+){$K=K@#9fe#n?FB|rk9FuQ)QAYlx*SAtOK);WeeDa3V z@T*+S-=CA)(KU`7)(u^db{8ibgCEWijYyAlhXzAVaT?OWGTh_7zC&J2h4>PYdLj}S zXVPb3TX+T*oPKhwp!hYJgO%?KzD_-UG z1&tn7J0E2f@~eRd2CE*US?MbwsLksy?kzl&t@~>X_JXXR`tWIyptGz!c8>kuHA}+3s^T|M*1C@-nm5{CJLo&eeQ&5d_5Z zkNCrwz3u{>jK$k1HePm9Q-6 z3xk;?xuC1N-;Gh9^?{>W7(9b!o;pHg_R$oBh{Dg?2rH?<9L%`|{IvDrxyP3qhUjtZ ze9#N#YLu2A27wj7IMIuN0mT9#QSdeg*u>0^CImvI zeq1W(8ryeF01^!2cZmMIhIQ{RsMB>9G;yH`h@tpq>}vNxBfHUrNTsc#X2g;Y3CFK_ zT&~j}q;mmYrmont9zF|YdTIF5dH9Yt;aq)481?VVUFM5rFHA`ix+_J9C+ zS*Jrv{QIZ;hJ%am;5SQhLBG${g=d)p2_JDP78z%gj^1aUSSV4h8pD^XU($|IhV*B^42B8X1?*GSsUaTOU# zutgYdlWvsS^77r7<7(B>%?)`h>JlmC1C7Kl6>*m-Hxq1%)yz|&wA zenG?9OQ?-a2CwCnYlaPCE0R7;<_ecviQwYjZB#w>V5Z71C$fA|EEI^`YvgaED(OCH zAsdE@Jk)J`>m3 z7B19}1Grk|K{7haF?E zG&QOrU(zR%-Ige$v^^+#;^D47%*g#Eu_aP{bz2gJJWp9mWzN-lQEmytvy?w5nu-99 zA@XhPws~+X(hRUO)cSgalWY<~K*syU*Z<({ zD}d_QvUUmX?ruSXLvVM8;1(dbyK9Hw!Gjaro!}PS-GT=X?(XnT?#!K;Ycs#R`n#&@ zP*l--Z_cvsThdqDJuJ}TiptDy$WgNI9B;^Y^e<|(no350_% z=ion`NoUciB<)%C`BPd(pT0e`wfg{i)$V6>N-En~LX;{|Se&M)#r^yEWVM8v9HuOG zK%REoo+(3f@kLK0_FDysWutI|L1AVTj87<;O76h4Xmm_!sF)6=g-Upu>I^yiY_#E5 zb?;A2atUJS-iqUrBDaor@f4<=CD&X-^>vHH4t)}RjNfkvq%(5JXyMcZCKXZ=0QyGa z^R64I3snunPIMBe8}^d@uf7IGZ+azO~*LG)9(Q)$`HcY9~)-nmsvQ@L->9)>8PpLWiP|9 zC`vI5AIA&K-tm$I#ci^);%f)MVO2QAULhr9rYa|}J{-M=p&t*BG>S2;H`K^ExeUJ# zzlVx^-H&!<_tBv-lhEXHO+hH{eSDGz3<~1t`{OnN{qiX>>>1)~-M1t0tk&z>-534T7qD;eTz7>gg!YD~l}Dsm z;!+mBUuI|`05qn4wx~8W3-Co>!pldbhU|^XES>xlv%6j;dskPHnwA?|%obq9H)C`J z;1fI=N-ijibezlj=VVA}9!r;U&$VM zhnw^jQoj+EH)K0TR&ho?rtIp`@ehCrjh7f^B51(Ojif~o7jGjgy&y*Df}-rA;}s*W zb)sTwG+49BKlDhlS_-X}QGR{e`o_Gg%`Qn9Qh9CL8&X5BRR?yTN?W|DVtPj}HdBy`m?Gh(l=p5+B@z?)2b4|%eJZDV zM+4l;%Xq7V*RN=d^gafqn|FPc!Gv|~tlSWqIV3bDdlmL)Do;KUkc4SDwgj@I zp?vq1fL7P&4@~1r(S^+DR_}ZxW6|=qZ~}r6h0m?|5f?#T#OFapbXsWSc?{ae*7oCJ zd<1!Tjbo*U+HtZ-f!Icyl@cIGJVO1W%#gi}4|WEU-!XFMK7Mn0&(Nh#-IiT_ws}n%DN_1I|c^MlWRwtBA$}E z6g&TC&7C6`&dO=_Ta!&Vb5Sq9rH_-@v#+?_FiDmAZ_}iP2nYn`1tEYG0&;Xx7K>EP zlGd9{C7ZnJfgW{B%U9cP)g_!bb&vgKAqr;q@3`8Lob+pZwXJI774x;VwwuaGI4pa( zXDlz>b~}tmsnrcv^HfLW@dCcjgqF@7PAwMB2n9vAkD3KH(Dg|VwtN~Q9D3p~zBZPG zD_~*V5!R6M&v{?BC^-zI)wG=Y^mAwAP-A}1;M6nQ#Z2GhLsHbzc|Sz4lW^FHx{>gi zV~_p24S6}&4Yg|k+7I_a9H-4dPpsECftFd?E&DUtquJJUx%D%d1Zf z&JMNUyr09xBMJ%D0h9V;EJu%2r_#D_?&F#^3<-e6tl<_aEPq9}l8<8wq|hW(U=u5< z)?p*zs|V}asyBLNb*Ac8)#s!@gdMT!e#4AeWYbL=_2`H>r>qqM!e;VBM5OGg>Z=Jc6it&(oUKE3lO;E8zo#GL~HC2XO^#|}NG z#Q7LlPW`#M)hHvXbiSKbyBX*4+J@o9h2Dd9+_93~De`cVOc$vCa!=b_v;HflV@2cw z+7MSie`NIfjANTDVIW&8-OBG91 z4if2jM3WraZZgQRNm5c}>=@JMAR|`*(f*M6p zB`$)s{SDxq8MPzYmea+esnF2WdE~xFoDzOun?d*h28>TaOKNOD$&We7;b1*C;P0}B0bw@rHxmO78PWptxv--C2pt9g5j)Kyob2kT@#Q|Rz5=v zu2n2+6?QrE{minY>Z__+yd56I|95xDZ1^o>EbkE?~g0eqk zpthYUGJqsV6gd*xM}^Ta&M^IglaH@xxXW%darM%{p$C2WlM_ytqFPTZYm5FD4m0)~ zqp2{5;3IdFnJ%w&y-}p+ns3o2X&FI z9s=bUuTdh)n;Qml1W!goM1e4=*ELXuW@oz7lEc zG9>|G0yfi*s%NS&<7r z%ZF1+U{K_ousuEQ=!iaD9ft~1F^b5V^8zfarw|Y9zSfA#5s^_}??u<|CvrNEF>-Pe z+Im-m`8t5Uwc8sMxE;HTog1LDZ6zw*&`z?~KOx^lG~gGA+>{6pPe-vJyNJ z&ih7qwNrW-$MKy=TtEn-k(GEG_+VP3WrZ4ywGUiX?=6Y8STmnP5uAzpYeN8|4W z{6Q>4gFKg=3zhdOYlgD7T|Yb~9d-*22?t{j!y3&aWn7?V`9rJZoR@^jdPy(11?;vk zrPfV_D-~SCBQ)O4BiAV&9ODE9#!8fm#RrGn35+1LZ)O-$6vg`;2Osoy!$ry!9x_kj z2GBI0x_1D!2;THJ2X92qEWiP3IQC_njL&>Cc!5={c~JWaA)b|jyxI4+QATY)KLSn; zv3%cs6O4>(v9!86x5L;pGGpn)qgGXrlY2M?e%E7;)h?JO3ke3+3l9dy{QIt7CjEcu zB-a1iB!fhy9$3u3YJ#jy&{5ow!0h91g``HcMR>u1AnTSFuk5n#sxwztT#Q8aKCf36 zj?_j^*=`i|D~l^GZ=sZr(e&7az}bsClZS-@-@xL)bi8c^q2?A`k5L2kvD*=DAR{zQ zp@8zMug}@k{;`Ynojg9!1cKzNpn={mC`rpzV}zhL%T&oSKLn`DLRB7G)Nu(+lO?~7})Fb*V?cX)@CrR}0M zDnf(GwwG?BCeuNE-x(Ph`s zfd+|KZZlV@2)567lC21FP`wL@5Xk^cRVDYmiz#wLBt+*1~l#woKHQI z^gd=aFiYl7kI~&wmc8kYe&VJWUx|xJcMe#QYqY+zGB~vX{Wl!Rt^{k7NS&kpY<#{V zsJq5jDe_BjJhKpKn;+qogpoW@-@FkUunl~*ffRm}Iu390B-OOmgeBX2Ux9sB#d)q! zyAFPw+3!$}UKzkB{o2)#^K+y|Tb^s)!%?|~jhkBRVVJ-(u}o-A-`E!~imN7f3OyYL zlzVd1qwt0~V2NpVAmE3Y2-LHRSMzLka=KJ0gj|_c2)f^jAv->uIHu(lNB?JOw3i;= zrv_guRm@M)$kqDaioJUZCw~h3f^}hhC;@y$NCQQ2{3gn`!EVSsY+A4j(nv{ zQk~XO_Q18t{C7^2iFz?N&r3B8hbjfCiaD5PrV8=>tNRn}p2G()JKvD&31Fm|x!uZB z2#S_Se6XRx&7D*Y)ug;<7>PJ9qaerTYdq3JQP<-W@`|{@Q0n#sDN3sua-iswki5Z!iO| z_kY;oR(+dA~`Db;D?WSr^?;FeXw72rMo6HHRY{4-j)y9+eCX?T7*w)-Gj|``p z9FDc2a*{_#wQ~eT>3b3O37HFM=NBH9AKTT1M}w*S60z5W{$>3|fij z*+RqyHsw0%%N6Rd@>rX8Qi(cLXu_t&8Biq{LZe78Lmueub9(94-lsg&!`qwIr36|m zu32DZHRh%xepx}d^XIycjvkWL3$ug+-z}?1gqp~y9 z7I=l{1d(47sOta~v`We{zLnW`;ZBb1of)&%~ zK4?o7fkWvp)yeoWj|;VF`OR)5wbO(FQ=aAoe1ehOl6J$c_=QvF zsYYML70U9hg6d&tQ&o-ehx0Fa5=6ll#)Ckh%a7}oq(C=^jR$mO@~)$AN81YVvaA}V zGWOj%tW#{|4A_xZez7~$!O=eH1Z}<$Gg$37KXnTfW`M3W?rK%}+b3N#(9b__;Xj=4 z-yab8Rh6CX?DefpTurPQo!y=P-AR9M65xNU=+R+Mha(_GUjv0gg8z9lz@OR`IcZUG z1r_oCv=vIG67CK12s>2qR$d5ygGpra0nMrs*CyVLrZ z6dBXgj}vgl#VTJuHN`xmzwv$5ysL50cR$}{9W=g@Nrf@@%4=rSVhZN4tP0q>0jH+( zs@Q|XFTqTLE>>T_@VtUHeg?-eAwo{dNo<;ZgyYxf$Kmk_8A|Te&r_Rw>n~O=V?@aQ zEgyfh_<9niRl;qs!v^*$pOD)2h+MkN7^W#It4+5Db7ZyS)pl7qxWor}HO_CsU5hRS zW1hya8!V7GLcw2ZGuiyAi(CMVC$$@xBhDiNN&+tBcbv&A0Tn&}gss zBJ~8n^`y5u!uj2?WcPd7jNF!BgcssjN5#Dw{RT}D7Cr{Ak5d|O)$5$r2yGR=YehuZ zn9;!M=XPd(f>pSj7|ujt=`)SWVSlT+@4l%Wx*laIhZxGDe>)I`^e_r+Y_SIcEF9>* z*W5_pGnj*hv{wNt?_OGaoOWY7zu?U6K9>jgqMGSZ0CTnf6b6AQOM3glx6(TX?6GCD zhCXYxontXvskD-B#1$c-;$5VZ2N|i+O(R($4fz^uk2zjDM_hpw-zV;&BreJ?#^fkT zvXC#oynOq`IS~zck!S@Qcqx7d)wxBl?`WJwkP=2)Wr(zcL7e$EmOf0?IC#(FTO#%% zgjq@LdzTmn8tiS%_!tif{i1Qz6tp_&cfuUT;v1@dG<6y^|6jbdy@mbn6uE;v z;DHU~tuH{+*!cd3Ys-tP3X2J=3jgWSzpM;eKVEIoaghVnr%&VH$4iGk$_>{~Jk|$A zlCD%Ka|wN)7F*d-8_3aO!64{go*y@7mdj0s7ftw+rdD$vq_+rvN~Xkn3>>wxQodmq zK&!9n#N3-1Z7VciyQ!%9zJ-2~}QaYTX9AL*9;Zv`ZNoB7Zw%*{6m8*)Bd;3~dGqKah z4Iy^qa_bqEu4qUXACK{wzLuKAYmqCE@NHzJF#4=^*6G2GDWCs{uyIr z^$g8AIF&aGQ)OQ>tL%t{8y{78>FL#Wv<)tiw$^-CBvKZr)h&!_${Z7Vj*7##gxFQZ z|9z5NpS{xTC}VQUm8`Q=<7Rg%{hD^l*EJESgZP2QRdEzf1G7&x0|pD8ot7lPwSXV7 zUs#;ey{ez1`9t|8CkI64+N_=EsV+v%4< zR0#&yO;*y_xO~~95e4qkI%#no@m*A7oPX+xRcMz&%X_7o% zNj@P8^^=%B<1aVL`*KPach%$+DH{mMj(66cQnu%cO*Ps#(%zTHGr7{RC9Dm} zNE2SRUigH=9@WAv8ZK=-FdV@5i*(7osu6@0O|h=G_^P3-}SbM zK3q~NZe`-e@z5r+Mg%nB6+leYXs!&6l<-zKQ5%d>#MMlk)4aJv(rBV_1_OK z`x*cL)`3rQ(yvH>49*VvKWF9r<2nDF<7EHOQF$GIjKdE#R}?q6P<_Yr4FbI~OW7HN&qp6?@KU(4Tx>FnwuuO(7GwVsBX^|IMs z_q+FECV#<&6)0#IRz^aDb0q)JM)u7b83xWAUrD}<-zw^@a-MX;I;Z;&jtyh57Y-<) zPV0^QV-6=vE(lwc`PcUAXpF>#CY6*}%AeJ`7?m2UsFW$iwrMw1l>KH;xJFfkfV1v5 z$mn;ub8e(<=+|Ar6tmT!*^l62WCD(X2SmqHjBq@9FOtZF%|6ApSCOipK%kpvD_I@z zX0oQnOsN>EBws`xUcE9CL9VZ;EO&t+DXT%x7jcwH*DrlzpGP|jFKDy)w0rPCk0{=I zS%!_ysOc<_;|)J6QVoYtWcq=L8|by`f^Fy!LNL%m)+k?lPu!?%rZGf7>3fzZv- ziR&J6+{_&%XB7>5orifQLK%k_fv_<;>5Tgb?cufO77g!K$C@ENY<@5%y!D|A+MM(h ztq7@qE3fs8tId+p83NtNz!^v&mt9n*TZJ{RA!vz}JJ$5!EtTmBgJn;x0g|*gIQ*5) zS^Vi&wW<>2x6wbMPPhm3Jvu!YX36 z;%x-x0wzv}o!D^acQ^GAQ2{hjfdZDWhgfK1%=8{~qSWh*q{+eOhL5J6ro*%-QneL1 zSd;OmBpH#bWJcx!DX|~Ec>tBqR48K$U>PwhIxjxTRUGi@z1wCnP0$M}_+Iub8}ZpF z+~p!+G>dh(h_l{#e}Z{5<~_(!T_v;`h-SPwQFKYRs~QLz=y zCcKZdExIx{T;;93gcx75E;6X})ArbmoP^7GCV$^Mwpe>T1$;QT@2r7&)u=*n8aQ{=*manokQ`^Ko`;{8%Fz4UcX& z0qpI;ZwLNWFh@A-kB#LAS4U0;USU-A`e6?Qm5c^&XVKGaRrKR^&|YKP$>Vg!4~I=# zBtJh)R#GN}WFJc>r92J-bk;XiN-#V8A*Y$}7FYpoRfC)w)A8>BdbS-+?JX0h*dZGz z*Ji)@C1}d9LbWf!5r#n?F}?3b4{$6UB|VY+w(F`3Q%&J`q}L)Bqwyp^Qz0})_p%@v z&e5n>f8jRD$B&Gd#Sle4XndSpVys+D-{P_^yW1W$8L`)X5Y)>7ni-nf!djs`wLaU7 z(YF;t@d)C&4ey$KED_dKYWbq@{<=Tb^+%%HY`dv@D#U%q(ZjRK8W}|1kgp&%mg15D z1M|yajG_UkOZ^``rvxKm^-5^21sz^?a~#XsR5W+K6z;N0c94syKeFv6){}tV5`m|W z-O1Y#tv$MHwa%SffJ8x)rfs7y@(HrvwW7Ps%Q(T%p=ae%{>iphQhgX>=C21j&%d)! z*Hd-TW+0m33kYWXIw$s@7V00vJpZkMvQg@=+yKq;1or8mb@$#Y9U*wp1g0(=iCouV z=19fPmF2PEC$H+>9TUxmP9^Lyt)$i6@0^-*YMS|M^6C{a%n%pvZ8NM>>Hxa##jy8UfQTJ-*>s}?{z~Kb*Rqc> zSMN} zK`RMmO}>f@{SvgBmBDuUE2W})W|zpn#j5{sQJ^32Kwe7U+QN|OU%oth4#Rd**(< zvy^08xko-=%0@nQwP!xw209~B*VDdma2t+(!iPu(!(yY7E=o{38dfkON2 zNdv(RMl`q2V6A@htCxOt7>etn|<}-O6w8%Kjm;?@oE9bUzb}4+y2mQDA|VCE)%en0{u0X} zrL@%2L1JEvlrr?>C%exz1 ztQ#?S?J66K3sk2pUkA(e*dR+zbzV66eVVwRKO2G5pS5e=qFQ7)s^s8rhnzHwZ)?UA+)<{SQnCz#(xPE^|A`kGK+U>k`4ocsEV z9OC^9!G4?BAyx7-xJ_1`5L_VP#|^&k99{1x zDH(}V#zR$DHz3k#uS!}%>1ms-sE_RFx{?JmgB=e@+MheLG`OPK>XGxjo9j$wJ(933 z9u7U*W{U1kPgSMhKkvTl5xeg<3QEW0#n_Z)PEXG=n|{t1k@QH)Rkr}mL7RNpARX0aSjz`RpO1rcy6T*|nkkytrO^3~mA+GAR$=pK~*ye()E-!;p zj5KiRiUqAH1v8)6oHmkAhd%;x=*d{+>g*nRV?n9xp#j#hCkI{aIql-Er|NYn1zusd z>WpogF4x{o_C~%M{REt5(<+zMI`h$ivoF`wqGxs2XU?1+NcSscIIIV>SIrW2In8gB zjY+-z@LfPcMhe7}vO3WI>O_#;OuIN)6zV){<@)_{Ayv^E-GVq9$YS_WNj zjOjtYdIFYQ583@xgk-sL&3z=xJw9fLKj#M>VL_q>j|bhr`>t0xbnNRI1{Bc;WKN;R zek-v`@^5li>4;Cj9kS3No2gHaSpgjLQ?W<%^8t=8GWMU^v2Peh6%*&pl))vh@V8&+ zBkcvyM(NrQ8EEFN2<=Y;dB z-_It$X+1v4L~AW(Z~qP{qPT7AM5S2i%c@gD&kYw)N> z25L@H%?lD}@iu8biL}o?^qcnc8%Z-W3okH~xx)Ov2bI!t9okHUTKNi@>za&I*mmmq zlX(YVfG08#0d0gwU%(^34WKYP18ye_&K`8cSFs0Jc|>JSbXz4OVUl{Gud^WNabRX; zjg&-)h$@Hz;6Jl*0zkGD!Q%JtN`6VnLp{yqpS>!SOj=``CroOx;@;;Fdj(kRc7tk` ze;8gsMcbBbXAuY;e2tBCMYqkdL-|;uz$n;{vgeZhrVr~F(Kj1~;z9yioHt581 zLm?e8VJE_G-l_D~LG2>hBaX!EvbAj==Droi3?#m`bPeT7eI?A2!rwbblGK=J0@h!!?JeW%``(3U6W8D+3U-JlK6h0m){^i;5|<2E(OxN(wDqU`Y|ql^{*QGR{?_@Y4hUtN2X5oivIxnEwmVj*s>RQp_nCzi;g^sr}^P z!U2VkMgnl3|M=S1DKz*@1KMxR@SmuCXYRg-z4869eY(Jx!krWgOv!Z6z1 zF&a3?KwrA-O)$Y4TYv6>X!JuXxw2+Zp+6amT2Qb^@QMoK15F2*H*bjC>moY!H@1|9 zNkDjFQYRgddjg#4Cm%1>jjCbZp?~0zxJ~ePT~8qCmGHM()Ij%AtI6uy&6ZK^rWaT6 z@FiFA89)ue*IduCbv%LSE61K(PpONOFDdk$=Sr{8PH<=#a+-C~94_%>oqsoXta$pW zvznTucFVXaqAAhrz*+RUF9Pq>V1~n6O~dE1oXQ$l)jV`D%qv#s(0d10Q`ysHZT7gp zw~m12FANStF^L$ojkRlV^Ul24|LK|#g#&g4v8yTSaa4UO84>ABpm%2>;*(F&`y-jJ zaYrVxv$G%YD(;s&&U8&1e-KMp$P4*-y`|rgYV-Z!wu;%eQ#eg_46j9CcG*;)nl_KJ zTckk`m`ygnI5I{h4{A%>!}x7XQF7OxrVo-!ThJ}^zZ1#d=CJ-nHh^DKwg_WV@*@*S zvJ9_AhsQu;yS}llIx3FHGRV*mFjXl_$qdjlhBCnvDUCCavvEwZP5yu%9Alceq@O{e zVUQUakgHOrp?xL42`?>IuS`?;dU9lFOmEcT?s!k39!Atair>)ejoYP6=47ie;KO0)f<0z^c_R&qWBTa~YM-5Vq7$ zrg&G*y9P_5c6dJQL*bRhrynUFP0{FdUXJ2xnbw^yvog)!&@vLdDwSO;Zw}nO^1Sy7 zi2t@JP>84jBrL>6wb-PJT(R`ck%n58jl28an6d^R{-olG#=PO{51mh4yzew$*~&^= zml%4&LOuloI5^um8mBvlp}2{YUM=7H74+8NWpy;nVNEHEPNVZrpvfCtIIJ)o1Tb1P z;v#oD?8mLuS^L_fYZ`G5g=)JShyQyVNo+UJ7@)NeSK_}C4CV=`pgg*y3N=`H zx|m>P11;25KMSJb;eVy#myt|Ukxajm4CA)oE8rpJ$`vDE!UD9Jl`1^;kdk^sn| zeVZB_)F4ukS}q!nrpOjWA%0$G`bhSmFmMfG;)#A?;@dKwvC`m>dBkv*R&>v6w5JcI zoSPDdB1U_VO?nqTYi%0YV5rMt(_F+|M96)$L#3g?Z~qau|LoZGqpP*}P$C-Yqp93w_MG?V;nQSWC+wgpwSQ0Au2YL$** zo-;@#DsWjfTJ{RB6kc`7mF~3h*huU|Ec*TcCY_Y|DD19hLb5?vi% z<2uJXAM(<3ml5-E4d)GY(g(QHc5B+|>5!J8jVO>pZ1?y|WXGPa*^Ct}0y7vgHaCPs z&v2*ctrwoiPwtjuy56@HId)Apt-Ey)kD*I-)s8#WFQ|B`Pz8Ty#z3m`j|=DTdMajN zsW8HTkSgDa0WlgM|;$e)7M5qWbF4p!F?qTG=Q#9d_`QfBxPi1TO*2IqO=f0Z%5f@f)$B3xKVMR@q~}zE~j?D24{Nlskp0&c-!d)q#qQC ze(BCEfDH1U9ChmK#?)lc`!VWwIpG-E11%S}g(ZL@8vL22;o%#Fic?qTmwp~y$S0d! z#L!htmi-eCu3KQ8{=-%2>@F_LD>4tvSrkn4ZWhKhEtm|Ske3dUFB1I{2oLqcQDut; zgeL#&9NDB$zu`^XEyeSmJ*Ay z(}IUN`KJ$x9*5qhW_$Zjn@38|#2N4=u0DYrmvKR!dFM00^uj_oc874mm0xEUtHaCs zF^c=6`Y2lxO-C=kbytRLM%ho7xz~Ywtx->L)$a3$H%o539tcj~N-GbHpbJg}Ybb13 zFdyb7^xP_or_oeuds8Os_0Y}(#hDoEPo*-5;6l$C#d4GJxaxwL{k*9XDsIM$f*h9xGn~34$#IASoY=;_Dnnt57n@eXS%* zu@5RtZ68a*P8AvW{9DqM*qf@CU(Da5h&#Q2^~SEj9zh=fKj;N^)#T6@c#7pPD$F2l2#f~*Q1h}(1@j_kE=Sg&Dw?HW8F z&X|61m`c!meGx;@m6|?D&cKskm3d6bhj&T5fBjnazNRpPvSrD6P&1_hqM9e^B@f%F>ZK_M^cP|nppzXlmVWD27Az^&5k9i_5ySY@0 z|7db{rnkOBNzDsbrN!E`Gtw;kYijk>Op*n4N-9pR))H51mIJ(G<7YeU3UR=Eq?}g44S>6Nq-HNIU=#+hkZ+iTLkyk~6ZK1Ic0N28 zOchJf%{@KV4aGHdT4BF=l?Ip3x-j^$rPTeiUdk*nC5hPw+vt`l=zy5lQ0_;GH~ZdC z{9DD?toQu3?`<@l^28DO8!_s$sXafW5~Wyl=*+@~T!2$(ecBAE*W%A|!oG9Bh_e@y ze^NndO=3F-Xl!`-$_y{cZLKB8T?Rapj(k=`c`C+p*Nz$%iI~E0mu+m@tRqwAVR?^` zIUl+Dx1e(L<8VJwltN0nbE%HvVb+bLNyvgV4SuCYXd?Jgg|~A3a(|tADXm`$PYN!F z2L5YdW$xyTwvWcS^23(|%0~zE=@6$F$)cHWj}9@zdqI< zPxTjA4ftc|@{4N!8)U}%-&yuQ;V|GY%Ao2xK3d>_oM;6IhyD68w?C9g|Ctf`PpIo} zpi9?jiVM?cwxR*(LU1mq8#wynjC43IJx^B6u=|?!1p1@5QP{$#iFk~M<3>jTegwI+ z0a45}Cl|r77GWl~U6YF!L>8dZCpO~H>t9Nr7+Z_YcW-Lyj>wt}>}jw1t8W66*wtR@ ze(sc{-cPZ6XF+rWZlLHN2|Xk9a@v_{c^*DTd+R}D%?FSN;j9Im5%OP4oYZ z4C4DBeE>k}aie86;f=$2=1)3xWZtl5-pJ?(pEzHOn-ChzEtW-;r|+T%fr`u~zE7Z% zClTE16Q`dgPi)N>R=Zy~LoIgB0%H{@h&+B)Jdq=@IV=7v&Wg^Cn80Kl6%~C;Mq99t zYScY7ys?wxp;Nu!{%{m~90O21!>f`JWeI|C7Qr8I7EWJ8@lTx9l%geGSqEoDfq?l* z@lJwD4Cw<1S!eS4)O1quoD|yaBU{NX=*$W%kCX9g(06#rt0TgJ5AtsOz=`fk-~DD2 zg}n|mZ%R{7C`P&t+ctNL3?mrZ=p1t;vjd9!f5%yl!x6MUaTba&jI6f|sJ_Y05`&{7 z-{)3mj@=yriOnZ#w;#!(>Ja<3D2)&a8tbwtA9+7b9R(8EX}4|0~V^JKmBvum$xk*qGQl|Cb{JkpKU!-KI?=@f`qJ+Rq^6|4TCX zKdtw>DB(|%d}$K{pHkjnLIbNUYOQc{j!+%q*!{WnXwe-OPGM^@{&MRk-ggSv`6}_M zFCBoV^E8z<|9uX)(@~}e-0cQZJJ^@vBB&{95SKS6FX|s=Tqj2PCCoS}5i0XdNP_os zO_Sl(avstVS~gPL3^ubC6V?;o@i;tvsl^u&d}xRDfiqx_j;hMUDFKc(rIY}qt)!b6 z#Row4DfQ_Na=AK8&OTRm=oZd!4u9Y6{$_5%G|LvHo61So#EVULixb}deX>Gv7UCqT zu9aY)uGY%99V)|cgH{|LY#Qe5nT-`!dEx%Y$Jc%N7R+9BgD)oa%(MzL8`dY*P?UW> z+-uj|pb^N=7T+fs>H}bxWx2SKtQ7nnpMu@v^R=|nt$YtM^V|>MpdG08G7H6pC5oX{ z+(|kyyx$uC#W` z!~PnxYgm6(N-GPop6k9Av-fP&@1UH&j0NQ@nOLKSxq|T!QHbsMTmU*!A{Gq z|EU`ONeuAQ|NqJ1e*O3SD|H~33_{0|TLomKeRZUFqg-{4O+^Z%jW;4j+^ zfd89*gTHJy0RC_K4gRv-0QkS@H~7nT1K|Ir-{3FX4S@ffeuKYkHvoQeQvaIw5cr=e z_a7teKT)MWBs>7s%RS>j0OV{x!~L6PhySF?e~7yOWbJr0C6z@9RNvW(IZhFnfvmJ# zRR%c#S2RBz-1LjZSwgC!)jnt>VVH@h}FyNNJ4ceLlQ z$T)V|hm=$ax9oPz!3DVLFanZu!S8X%+VN=uQb)7fZ2TMsDpdM`7A9Jv2=&43Y4VslTyCp?QEPEf1g`X1 z$64$4dlM#cN(J+h?{aHYC92FZ!hrpwFx^>PbXls{sBK`VFv*g=Owi5h;s9YC%7mb% z(;!}+y}lyON-s6jP}^*$Q{0EpEXW%~J5U|S3e|B`P9?UOWl?l>b0@o{4#(!`*Apy2 zIHi*}WNmrA^i#SH*E$M91pjia7F~Js8jFE7(tL)ftHo<`3vm=)7Gn7zytnGfA`~p` zb&aPsmtPjCAiJG8{D!KWT}QsvtmKFe65(tG1Q8ghW4Y11s~Gvnn|^JtA|U5(qRw10 zU^KD0gf&iKAFIwMB%VnK-Bxk?X#~t1xH+!Ry2*!xX=rIlHdl7VD+y}`Tcs+HDHu1yi{b<@ZYkN7@W_b$SIPQ?&E-+L`UMG9vAdlfnR z@%h43!_agj#;oR>TF}Ec0yy=gcVC8;1fWD`-Nk(5Ftu~#<^c0D6)c*!SHGke*+?SHD&)xg#l{tV7j#`(zS8Ubav4uej7hue{Sa!NA;5!T(Vd`p4(# z|KnG{uWK+G7+SC~I@$fBXX)!7nTdlmz?#s+vu|aowj(;VT8MJ^#lZSQdv4_6!+SO= zxMn>&Oa1VcQ(IDdxY$RQIv7_s4z}ti;Yin5LJjh6cB!3@N7`6vp41ZrdJiX1&dkQyWn#myep&$KDy&KIzwK*FI(s zvux+}87)s#M#INO2bOx!xCrO#)DBNmgEq3s?bO!C3J3%sbNXMo+P6mmMW%Jq$j zs2dN2YK({NhBdh2wosDe8$6XbV{5l6h4=P8OLCG3$yhzgW~JI}c3<6&>xQC;ng;Od zL*vtwmE=m|I0$;Zn#ULy2^Y3c?6TZ78rNxKEz1k>UDjI^Pd$ki+E#BaE-3I`#>ys} zlErJZoF=RoCHfOHoHplyNOJ%o_VGS>x6A8qRKhzYK*d~jOY?s%*yGipt~8+b6V zmEGcX!+Aby!V1)fViKr|nfDrQgwvNOuDPoE?Yys*#a9Nq`Rfa!+@1$eF6!T0?^ghRS0v)w#EycLwr2mzj)FR0 zp6c8|(LLrK z!(Y+vahr+lDqkv=`%!*v>~j<{F?R=@fVClg-P#mVM*1?-tH{@G2VeHD1+e(M*Lo-K zIttbq{9%}Y(hC-jr7>RLDlO;lyf+tV&!)|-*z0O$8Yk7&ZYOsGmXGy?PZGrLUEeK~ zQd>Mv?Atk=e`EwjrQXZ@SZkqXEZdDZrPG|!xLs1dUBbq2B0F=POU7E4%biZuVjSh^ zN$$r@Aw)IH9ypn*_hs(aq;#+t0nU)4dda6RQeUtG1q!+J@&Avsw}6UcUDm%t2oOBD zL-6449)ddr*Wm7M9U!>7ySux)ySux)!^b|d&)xg%bMF1GZx%Ca7-sb_y{h|tx~iUE z1rrHQhUQ@eb`!uGE>^312WgW&Tp7tR6>ukDENY5wKPVAHN5vbPC!xse zsIgo?u8`>L3$Ai@R_RMDs8cEJn&!k?@u$XbZ^IRb;oyV@ocy}yW=d5EF5rWS_hpE5 zR?Di_v*l*wX9{%2A2h4R$0z`zC!m`8^2y}%@*{-(D@TtD@-)bmj_8`xD*B_?`iBtl z^4-Ffr-#s0#wV`c^GL;#fMfe?jf~L6s1dt&925F~BmPmK1nnLdtfHCk8(LE8mn>fcWrJ6ts@^@1f-FM28N>>l_dk5dcylZW4hWt2g{G}9s^ z$ihZioP=@X28>>)(qjhrIJ)KOe69UzQjv^rm(y2Uk+8i1cR@#$8C5=$xS(@D@ceCN zo$4ycA%;LvdTYQ!|HjJmVye5|QHf@oDrPZ0kULz{3G32Dj#V8<%50jtn?1VNE}cH; zP`qn>%Qyd@Zh`#nvoHMQqcTn&qURe?SW3q(7b~Z2g}T6$4iI&e)2l)B2on1IdA{|e z{1sz9^?L3#;b`@G4iLYI<-7q*wO-}D4z*Q*qm8=WmZYPV!-n`HQqCKB*ae5k=U&`L zE?r<$2cE?ckFe3Q)Kqs+bre5EcO=d@|F|0 zzjb_CC3s{GeclAWVPahQ5$Z;>&vO%XDy@9_j3dc@Vs$7zUp$Iqd$@+*xFqC!oBm)$ zJV^FpfmsEOTVfG=?t(cb#w`7$ao-X#SasXOvy$f4iI(Yjx6yokER?FG```EGKlR6f z<+54(Hx4nu9@NWOo|)Fu7-2eARI(aB&BxQ17i&4OaS{%2PnX|r?mGwp1D%n*LZ%fp)mJkMmX{cd=VT^SFeH6`sPd7yn zDo4bRFN=1BsReVMD2r}@vjSrsvtXAVw>dhwVN6DsKIQb6 zEbDM_K_-diI6aE@M^1w&z7E5V*~mtt#oQ&QHOB;90Vac#=rz~y!nNTqKW+VN{T^%F z(_^H##8r0Wfat2BT=$T-hZI7p%bd}Ho2b&J84HtmyywqG@eshX*#te_1B_ApX%ksn z@1lx6sfdAaD#0_sZ1EsEhr|PuOly(auniDeHAK_OtFjXh`>4>`b!PHFOw3!WKS<$6E~eW59tWxwexC^V(I<@c;wf@e3X$9wtp_QYcFrV1BL zWbk>+rn-3BomP18nN~>U#MeZ1Y4iAU&kOfC7x%eFNOQxvSm!xbt+QI^*@B2_R&&T= zCfs(kmO^z$DOB~CIko@6Japw?oP&#fb6i06F&lMJ5U{QG*7l!;GA-1BF9%B@yu?#G z5mIOtT7QCwI~->^#mJ8mmnXw)$Tql2>cmP8IFrucOU4<5ODDn$>P0=Wp{(I5A2U@mcMP<#3)Z)y zW-J@EIRFX`Q^e{fghvhog1fuQP?x-67c}{5qg`?h4dt#gMp^|>9c-TPECQQSP#{`I zyKzQ2Lf%eipXTLFWJeQ<;0sLs042^-6&JW=*D2Khl-!+nFf`w*B zU0!S#;SnnnhXH20ZQ${2KcWYRib?ZmAeX*@t>wT2b__UFx(di*$>qkwP3P=nK;u!N5s%GS*MMaH_Xr&c-#2y0y$yfM zTE(CN-K}~MkSktLpJ6=Zf6LvCWxMCyOFD57B~GoE;Qd|Wx<}P5lw-ws^mgvqoNN>D z|Bm&W`n29!-Eue-=&IBYyxc_DZ@eshTxzgt3Npe_`H@kud_FUNJJGs69=sV1HK~GM zXy|R#EZMZV#j`iIf-c#`eRA#33L38a%|9fB=*aMg@mLxRYlxN}Hd2EQ7E2JCZZ#{2 z&|_iT9J%D{0Q>g{LYo95r_KIb$tpnRF^x0@Eg*MW4yhoH-J%IDfb>)>orcANwD58# z@5^jSX-bUEj2ez2b#`3keN~EFK+HI;MqhgJY(Jhzbp558fgnv>O!4yh)+1^Ngt0Ti zrGhd9KMqUt+Y9ubaLtxYrURmE)f_3VtvxcD5;WK}W(m~CAuRmxM{q(|1^{O-1uD6p z9Zpdf1}^420v3A2?F@GGkJ=QtnGIH*>dWYZbo)l9a+i{uArwxL8#$Ysxh@SP7q&Z8 zoek8JI|QDRAEuCn&6%08aO0tOwQFj(PL{7GhjA7;?k7)Pp`$yGCu$ePND{-Z&U^R3 zYTpr;z9#4?Q(2X@`RFv*E5N=}=Mew=`XfU79*1EpIgW{nX_c!eJ2;ANu~~gbDslOe zA+4}~`tmU8`HKAkQdf~#@qsK}&_Plxu=Av%u$6*iF#5PQrf2aY#!YIKPi3fdO=03Z zmDc|8D+~L7iM@C4+Fn7qF#xyAxo*%F9kk4&c!{89&U^jW`_sZB?-ZH*e94TJs|l9km>3B2Y{S|Z~w3Fb8%ThOVk`gTr7SI0+l z?RG_otodQwa?~_%QuZFx66GN6Pod% z1|-i%u9<8qTg&uM>Q7FNTR~M=#loWYVRR#){zX@KaOd$n%ry&s3ml zIi=C2^;NN#{M^DIn)SLRN8$Ny0mb#31cT0_SiTxwp{_T*+;DJZhH=oLAb0zsF6HuG zqCwnDkw{}9*kRHzBZK)KLuJ!aI!Z<6rp$OU?P~7MWPuEmAAo;psV^HkS&Q))m!2Td z9JXDv5C$_XY6PaSH5HX#@m(aVZ+_Qa{yPl{o z_9c{_a^1a-T>;F4;;@{AYn+~`ChlyFaOhKh2GY!}w$jW7SaK6WLB)-dXDk+9mj~xg ztP|}*<|SfDWu+K?~C;bgLl;v)U}Ixko8!7qA6*Eu(F4Z=L(-j2}En$|G{-BMd4Z<6#Jal1Is z1_J+=`5W8xJ_KPR>HRHb?KL7gT89}QFkT4*Xr+fA6c;526 z7LDz5Z`0x7z3Ieti9eEZIvNdoPQ-l_(|v^wedelYJt%LLx&c@?Zz^GrUMJTYJXMb_ za6;Xf=9_1)U36dTdt37P9$orhT6$Z&j#{tgHenY|3Esr$Ez_Q2QLf`7f61E|RrpPe z_SV)tvQ>5CyoTltIsI9Uu9NX(U*Je3rMgrl#cDcN9RdB!4rHxAs8=2E!!LnLZ1vva zH@G`a;MtoVrN8&(df_2_^y@uYRatc>oxgQFa+&~6$fRWdCP$r5|4NP){z;A!Ah#;E zly1=H7@ihdr1Unp94-z@QPTfwul@bmKlSGyU$?6}snNUq>MO1~2%JTRidIfSN6^&pFAM>*0$NBNY z&iQ#Y1-fEc6%iBfBIB~mAdDIzMtMdtHhGKzG`r3X6v03Mr=K?JxFK9h-n2d7n460t zK@gTnFCWXhIe5{@n?5banvIKagC36s28B^fMw=nV7+JPnm?SeH$9$*)1%%mP;quIF zb6)hIRM^FQ+aTFt(H=p&yIKzwX7K?cYf%{BW&g(B<)+#yJ(!D2LUoznD*7f$d4%2` zM#E#ACIJIImjOkM!`kYhQ1`H^A+Hx^qj-2XpQ<5;738%|GpfqSEQTzpaQE=T8NHxn zlIMgxO@)%3`qsBC#A<$~x*Teq(tU&=gJ&nV4J*g^cRf1PtHFKV8YubxoG(1f7n!G~ z2nL2+*fp#P>XXzD-ZS7CUFQDtGep{fTiOGB+CJcwgV!SkQJ~0ctqFk%Kx4jggq8Y4 z;YQ7Wc2#oz=yUO7A0KbPH`{k#nwydf+cV#{r&sd}UJNeG9RAxIzIeX9Vf|ecycoP1 zcHT+#*G-m;^WC&_`1JEv(0gOy^U-0*EyC_r)+qQuK>9A{Gho&LL81umo^==Iop%or zIV-fem~jp|e%EjK^!{TiWDkTgDEmbhxH0OU5(o$71{93r0K$+bbah{c0Y^QiVUL7Qx zAlu+;$~8c;ZNt+wr~+C_gk7a57}X@R8xvs$uEQGUgZuI(+dET@e1^{zxXz9*qKY?MdQBvwjXv^l5Yglo2-WoQuEIO2meNk(! zc6Q7A=1sE;VDKNha&T8bkUQp<2(HmDxE3*E1{T zp_0klzqY(OW68J%>cSP(&b6b3mq!G>-2Ca~%nwBBcx0WO?h~#1g1d}>RaCdD6}M6# z=YY)njvf%5<8vZ2tLK4h++3uOTz9LI(XXDILhDiY2q+IRRaA}tITAP zM|9F#syP$xUyg;}6YKxXtJC}?JLvc1I`A)Y=(ZxC#UeXQ%c0`O6S#gYWU~a=L=SF8 z6XT+}1QfAA5RN8@d3{8)nk`XlcA7o_uh>x|sYg=figxXOLUc>WJ?jfSdm0Nv$^Nfi z-t$xB4`1{@XYfhtoxy(Xd;`n={DHs_gdGO@5N^a@i9EYDZbgy@4{{9PjBm1NycXXc zpue787wr(~udW9Rc{l0&IwOi6Kvv+7Jy47EkAP%y8t9IS=|EUo-6Bi7$dYCgpMxI; z-aq@^XtZ$dJN=S=BH$(KBIU~0xaAni=9{hb+>q0vCpP5$*oBGf!5iSc=(&n7w;q&| zBI}#KWw)BIiXm(_Z@LMj&!W2NiXfKoJBy-;A&REMA_;CzSS6vMdGVop&d6@_<0gyY zpK%IKoI%3JugjVm!i>u{PC)d{#_IUVU}Q|+G_rycX2;84nBclY*ri8(=Z~kQ*7!{I zo*7$p-q#N*E5%w2~H1^OfGK1N~6X3;$4%n1#-tg zOGq>kJZ)VG9on+LFcdha*n^vDoMIDNVZJqFbt+|v$=p|Dmr`lVdUD>tU!@?e_4mAMCEWb=6&pqiK@eB za`b3eAKMcR^u~<635U!}0dMMVkV&bRit8c%Jq#WVU~YrmSVu$Qj6_{F8bet4qfFUC z{XLJYH&OZG;WWcX%@DLq{O2vX*NaWCd$2#Y%I!aOpSr$X;s1sU#Q%@AyFVM2s^98r zzaRb|fZxHv-m+q$lW$bdN5vpl{AhyPkggxzdqz&emi&c%)wvS(I#OF!-`{VvGDudW zkD+X>i9c~YIgzNCTpJBg34F9iZ*cTMBJQK=XtcnPt9nkh=@U2dl&b)tiAo8Q)%-J{ zN3YXLQoAQ{kr?pja!z+FYOmf)Su;m>cI_73)8P%@k+eqk7CPU@*s9Ei{teJ`*XN9x zN%0LFtGl#zs87(S-v6M3mkd;@X&M4EGc`HYVef8licH3FJ%Az`5|Q`&4bX)3jf`!H zGI+i80elwzEaysMCZf}ole?w4b~X35GDG(BD0G1{2!IWyBQ^_Dg8Yc4$BbiY4j% zMEOkA}}ru25>3bLdw` z%&jRkGynQ^Ly@+Mkmu)W8_+k}gWXE*V3 zRmJ!DeT_T(FMy-G6QP$aKxWV?NcE(L+LGlqKyrz1rWdpx%ORX_$t2am5zVpf8HE{--4a@1KPvUYtj;)bB`VKTLhsKqTxJ zhYkd_Wu!nl%!8x=p)pW_UWRX7+-aHT8-}7a;du#TmU9$!+XAFf4IzKWN~rFp@w z=wAQKUJO(t2-rrzqR83VKGnjrt9TyJBuxE^+KI4A|FV3JnJSwXInfi@DKhaPN?|A~ zssL__YgGmOL9xf@z*B1TK&5xRJSn>AIO?LkfK#lD_-sL|$-*}>mef?E)!YEdV&O}# zER}UlxKj+eAGXqWAZZYP&~7ut+vsUA+!MURKnO5X(h_qY$q>~;8}i%p%r_*m`64d# zD3y8sGxZeyz}M^9%39;17s5r(3@(MU%tTGlKqgwg(TD8ks)SMm9BzK$mr);?>6XTA zRKX~HJ#fgI!Ujk<3kK(qBc4jwu1iqtw0GCi@Gc)a(LS%C*IJ*(&K|!gtv({S-IFcytGgi7#bLjf)`2fR*UDy5_02n;U>X25c` z*A{0zFLi|27Ck>qGd;}k(if*twfQ&toF?(C){EN(h#|M`$E|Cnm3Q~!H4^6Lix6iz zTc{XDIu=#iW^F6;_6vE9LK)QIFnyu5$)IymlH2E#4$|?2(r>s(=(pAhFAcHRr2s-E za{`o`(_2zXR)2g?Q3aAl6Uml1KA@pim?Z`i;W~N7&XQ{Mqz)$s{g!ZxxRza!VNHm@4e>1`3O&cAQ%wZnAwzx7^OAVCDt!NyS3Xld zt}FA86wx^K0YS=!+_F4ryU|V!CKfX0N^aGDL0I|iANE#qG6>qh$YoxX8o*dV^S*$# z9V%1^HaTJ{HDQZ@W!b{8=P6v+a z$PfRAcR5*X&ts)B-Sq`E*ML-ftzdV?CpF5mca@efuaHNQZ6o)d+7pIW*}C={AI=!a zOTg3n)IlmtLz58(M)d4213482=jX%Sdvagz`3g{M@;poQY3l zahSiIg$RWhOtaHfY`8uDlU_23L&L(tDwDdN1e9&BrL8-chYwYbk;LqI8zDG)$F6CI&DpXv>+#A=5uh;(q7 zJD|WF>lGiC4BbDkG*ehTXo1O;U1i%=K1@_^8FrF1>_H*%3IHJl4`zkX7D*_YIPdP& zAz56_mHb$6FgIJ`DGOxCC}ToI6fhH%%7rbPfWSsCG3ASdVB6k*@U444O<-Uv-(rP5 zy(=ys$eISW!!Oe3!s+K~oDs9iNhBnI0f!I2LXB>L7Hl9y3I?c`(zV$Zh4ZXXMNWqx zkFQv|gWfDO!Q4B79%2{(@#>M6+go%RspCIq_pNNVuXToE2oZM?J~=tnBiW|WZb8TY zIKGIMm*S|vw|gIg69>&fZ3eOuWg6I%E!RjA*ex&82*Nr>c7~7Q;hk1? zK%2;LuI5cb*fW&&$LmESj^#+(#0i0Olf^za6OPlq*5%q0X-r~iOlh>SFBQWky@>k0 zFJM7Vt94#3m~n2KEmm@mn_|8_zSlT9Z6t`9dpy6LN`ZedHvVU#i|Rl1n!XvUtc`TU zjQ;OFjz8NttdjcnyWg}a)0@a(cn4s=`wckwZ(aER>2v<%-}sA(6VVZk)|tGY1Z))V zrQX56heS4QlS6%v@nJ7oJoqPq#U~i8yN7B}^^QxTQUNQ-en zk-HFn!COm*0z@UE399ZQ?*kr8()>O`A@IFQKACb+bJyoqm7!3rIbO$X9nGAMXhdeo zbN?i4rJ?_nL1?XTI>B4c;Nj+$-+K@N{)r{e&!?at_cU8Tf8>{l*j`rG^rG{jbA*v` zW24DI1NBB_1t#nQp6R0_iWOshhlWvz&!lh-t-zxB9$>dCdM@QhIUM=DKk_7n$(Wxo zPogbhdiZhy5e`QTI`6ZA!NhLTKsT=ceVyXJbx04_LT~ zok3gSR+6<7+`Fix4>Tbk51AWn<#DECxw|pnX`fBAo2|ENtH-4oYL-$L}asS*FpXZV-V z`A5sf{|uV9EbrfZhX4OP8^U5kWRidPYzR}+)=YsR{XMgF?gM@vbN;v778asSP~9J~ zJ3!_4Xhn*o-;ToH?*Gx1@}G`}zc6mRUB&&+Z}^Wd`1=O_=-&kX&|?1Ie4~H4WB

  • dd|%hVXmCSQJ+q~h&k+s65%eQHb9$??CDlr8j)C%r)O&K^T$&vdo&BYld(Z@ zXAHNmLJJAV?m?s*nMJhT4b_DfhYB21coJf_|xO7n`yEQ?7M%3vAcRGD#pG6?6;2N<6A{Gy#l(YbvApT-*sy0b69X+1qcun$5Z4IJ6&IA%msi*RR1Q-) z*6+}De4#`DKMwwby^Y4KSpFU5(Sk*GXFE|2-!=tlvLJi^P6%nmH%zp>@G-l~?HO6R zdyrS-D*gcbw|4Rd7|%LBS;^V-9>3i9-f^M98vWk$yJgZOQ2uObPm zw({r4#hbRlBBy;mEO};(3*#{Z)Lh*%a%nCw8p?BG0G5s*sZhcZ)*f-k;z#Wo730vA zcTOZ@R{u?De``{iYGbUZnVdm`~Xb2aB&RY7A?>Cau zTj`%z-OBeytGBa#K-hq|W0%HwdQgj2cYChPJiV%3+CLNqa$4YILIyAqG6Oj0{eNPdjI;X|%f0!}=V;!&`)AAe-?#B^spj9d*Z6h^ z{xqcOSmp4odi&}1q*Z(SieEN8&m*rO%sLh#ErW#U{ldz2r$8WAo5qZWfkW~y!KYIe z6Qs5~zP`dO6)_@52m2kC%1f0^*a;kZfrlW__E*reH%vYCez4!(GjxdlY}v6#4)yfZ zLK$-(oqWPCkQM%D!1ik@W17$aUf)QralLHu(Z;PcTgH)%Gh}K(7nv)5uIQ~n1!y8-+=bvWj(#PWvf+Fdd5PtLO02xUTmI_ zP=&83FeT8&e!vk;y`qG!^F&ej{EcvCZ82v8Bchp0TW;TN38;=#gZpK=b15uFl_nGw z(;LNq)3-cl{i~Gmy1GMkv1YZolLz%K-GRsQ?AQ;y?o$h09UEdxjAvm8u2mjis*lx89HlItmtxJj z!*xfdMYEsO2=Mo}ue>kOT|v0US@TVw$s3R~ez+Rc9VjvllV=0P_>SaN-c2@}lK?x!2)oJ{U>39>QkZEwI}TV0+4JAT5cDZCA@Q~oAT zFf^;0?Gz$XS(zMxmq5VUsG*S`Z~pE4VnQ zsD-f+Ew^~HmF57jJ3K}mh=-9p5mTTm6WQxJgxb{ZF%}8&b3%b&p~q51MDedk{{Hff?iB6K1spZ6xpkEgXT?Rf@!0yOM%`uA&ONn@q}Fk|jMB**tbfA9)Y%i}!w3 zfzQSc7GT4dBqGjei3E%Ni#ic*sJN+PB|k6mHoH74#(cDX_^(u)RlfXecuZvj#P(mngTU4jtU16A0ZO2tl4o&|z4+HZ;YY4TOmg zmOzX`^rT{w*LiL;8iqiH>a-{y-?dN}Uors)x$Ixq#xtBcA^i4SAs@zpyIzIZg3qawDDhe<@rKTLrfsmhXKaqgBZ zSaY{V(?8B+&C3!++gX^6UaBr0t+N5%uT_&o(1jXZCbXqe2jeQ);g@Joh<5#+oifOH ze)R{O)E`rNKZXW-=vFWV_phLsXara8Im}Y&uW0;C>*XBK47hc6Cj^q+T<4g%U#Vx} z66XnsIA*`c57sVLxYih_Hhyq^7{9{eUHN_+NpqCCWLM176E^X} zy^gQ~h3j}an!9(Y+&gz*QaTLFHj-9zS1!z#p$Ee9gmvz~5k-OK(YUls_zbf3A)EbG`c0 za%J~FU~UKRe5`54_!ZJ(?M!@88ezQCg~gA0=wW39*Wey+$167VzT|)k9B^@S2E5fq zICB!%Kh~TAi6X@cCEp^%^B^RzeKKof=#G>*$TmlRf1fUJ_6r7w*m8<^(e`4E zRUmv_eivH+{cUnV%$l(+>D;wjAWP9N?hjEjQ+{6gotb-8FtRhYKHq3*CD{?-`FBYO zypF$>R{vHPiRWWV&yD*jq;ctDtxE%Tyt+jE$~+ebtW4v}{#*_nmGA`1vzGsg(&b&- zPfqNqj~fFVz#J;pz0vzv{S$JZ7oRiT@LF{h(s@TZD0e$#Xzdf`)OdDxR&pLZHafQf z=;mi`>y9!v)0^=gtH!TQ!^`^1-YY|23svRbGC27KJGZ4%>q*Z8bS?-`^#v2PWxCs% zrq)D2n{D(gPGoln4sT?WLd=*o!$$I%O)sa6bkUv*M{;p_P|CceD{ZUDdns3n||8}+V&!ouTB+c(t zkl(iRCw}K|!~u2LLF+e0TeV)V{W5busUg^}bh^?U+DZDT5nFyI2@cAp@h>rm9OYDs zvMNbb43u}^sK*g_TB8<@bLHBj0YBQKL6tuTpM;O7CA(auEiR^m9S;V>Z(8(Kw5YyT zQwQbJP6>Skh61Sc8KM@;mk9!70ws^C_Ijw(A|0S;ZlHK>%mO(SL2Q&EEWMm&nQsm7 z`LP{a`fFEI6&HsL_AtxWA_uub>Nu=Q+-5g!iUyb5C{C&?gS}9YaFt+^RlJ6`XV2`4 zuOfHsPrW#fIneTNQ*%?PE#vcJVRiu*l9h4z80wl4fCJD@@NZ;CXM3tXb`%?5;8hbtT@<< zqjv-V+lXM|=(iHc=`V6)2A@Mh7JU5rv>>ss;O3i1?@J(!)aX)(C3uAe>_q*Jeg^7U zR6Chz)nCUN{uqnJ)ny7PkY8d$^iP|BAh=nf%$pM1@Ayi9gw5}u`CD$#R=L%%l;b2( zw)bnvaKZ(p7-JNCP#Mo~cic{aRgN0V%Rw}t1r|9PbA<5&$z4x|xDvX+$(B!#5rHj9 zQlK$3bKfudG~~b~bJ@sRqr%q(en<3_tHETUDrh8wywIL8`g3dK7!l5L>}dukmXQ3T zzk&lALPRu19HxRD(ov}zXZi4LD_HwADDqs+ZMX^Ho(HU-G{@@0v2**VIZxT^Tj+Cu z{w;a&ce;h=QYoCtn@NQn>)pG5a;^TMzW+z;|E|RUKIz~;L~pU;qT*s7My&3Spn6iu z`Y=;-#zxZwrrV>2{vNHgbP)b>e*5WT*?ERI5M_D>`mQRcg%s}FdSBmTHn)DBvDR#% zQn!tI3$yuS7Q)R$qQImncHH2WLyMOC77L>0Rvzm1(^L4@s8>MfYs3p#^|SMOswWRa zBQd0iFf-9`^I!suL$|aj0u_On(u$(Y7H@W>uz)%cRYlFN2e#V#vtNk|Z51(xXXgFiOluJYxsl6tqFi#A2_@Qdb|;i^w(li|t+{}FvJH4ufgixqNn zD&I5benEB1z}0lW8t`k7)n~uhh)m?EbK!cWcDZ0m~sEcVfJA0jfh@?M^s_A>yit5+< z{(kl2vlh@oas?puy)t*bTJYbksvA2va9cV6w;m79edHJTPhUUcd7oMJQ6Ky4q4D3j z;JYGrtirG3eYn&V+lX@Rmm;eyrAv)k`-UxOt&l)FatE0dAC`Oq!#yHDIOjJNq9;%O zMIx6mb?{8;GE&8R9X{<0 z%?cN1WLPnGXE(r`A8D97o=xi}l7{5I)R4s5pPr1T#!jW{X46w+E-^L70uj8QbU@x^ zlpYCsk;XrHj_il3P(v}GQNqpzgT*k3nw)yPIrc$6{-zDxQ*%I+(HbP)e%e6W@7x0m z!yG`jYp_*GNPU*Blw|p=QMPwbP14l7?zk=8wA5GZGmfO^swUOu>iUDDIQAH-`)zbeou?Vkx@4afR1Vz>j@qy1@K=xUYpdeBw*vAruwALWMyL$~~Z&%ZH{I z4NWnfQ6_mU<=P4COmT*$((KAAB*kSXf~NrSGU1+r;*$2!x1qa-`XE?=D2qPX;!bl| zG$xcK^?LHAO(IYb)T`UNW?v$~K6WFZntViZ<_mBEe=-aDu%vY#BygX=?qctq5G)zY z!Qyp0hGC|;fvR67G*T?7k%Z-8l`KtGs=6@h3&IW4k#^0OUAki*(>g+Bp;yI$?@|aX z!wxq1`!OFSEcF$++5EUQS2{4d{VGP<%X)=McN2$(UsD-JCwxw{SQ%0a*)c=nz17?6 zStiYwC28rLwkt0>R~4VRFy`~xZK9bdJ>uA%dX8vN`wPpD#-Y-9hJ;BN+@h?>caL*p z${bBKZ%zS{JUb0b(9TGuhL zt8eTdgiJ5P_hwgd{Cztiy)Pay@U&hKG@n2DvTvD>Ygf84Q+n2V+kICr-$VSN*Vb{; zD5kpS$J}o|JAqsgUM$`GtCE>Iw!KKTfwKREQS3Vmp=ug>B3q#nV;RMiF>zzA+}No0 zK;n~kS2T$~HrcwTw`J#DAwBjs5T{q969QAEIIK{0;dtaM$Wl$`=v?tG|LFoSCgM?SnC-Ti@L#iI0QR(mpku;L z5tW7$qnM}G)*iZGM%EwGKwApA8hD&UMXubxO?G0t#S8^J*V4h_D^ZXNE^H9Y+(K7P1i7uxcl zy%Z8C9hc#!wEK{b=kb-f09OtKBU22Vb;pQxN%lHc48v+5BP%8F2Hn)!|MP0FNX5P- z*C}1NZYX;}aYbNHWxgW1)Wdfnr#(~@P%~MR&@KPwkIn+d^5R=5iPyL>dxpOtbj4T# z3DghRLlbKFEmNz(ORx8-5|8&bnLJiD-_kr-Yvd0CvZlPxTlJwT7pO!EO2)Rl$Hq~RFFNOh`Ch(Jpo-u1(CO!p(E8CTl3x3ML(UUD$(39No= z?^4bJtQ$9AI|;e0x&fKuC--*$GIE=Yvj`~80zdeLh!>ysANbsHIP$sPT<25=d7oN6 zC*^)#cFf#2nxQdM5Rci9Dv^E_U)-O8&0rX+qJs*-_-2X2eHy!ViAz89ELoLDC}-v< zl;^Q{y>Qz)6Sx|c{}?lz(Bgx&x=@}=3@s1yB+qhM4uI70TLYU_VYNFz( zv%qxfl#-f^ZrwiZgKd--O94Y@R)aF|4xc;gVG5Die!3Ey6Q1oSqZCG@@?NT&1+UzuYZTos5r=qW# zZRT~fZ4xAK4*0b4#^1K#bv07vz$Xc0&ThZ{XuvBUKFP zFtcNs5Rga{x6|CERgDYLdXa}qc%u*sr|zk@PN}!EErr8DtJ5Z_&&z?o!g!(ap$##K zh`vTTbOKj8bk$S@L8$tVwT*GXpFev3zx-JD-?!hxbF1PW!$5bNwdQ$8!xkBgr;0 zrzTHb$qGxmW2}aL(cWDSJEZd=>vHZDxmub`QnTyvHdUO=6JNq|}0q3KiC=B#=j$|!7CB=p9wE}sz`8o2Yj23_YIE0;!g z^O~T1mDeUlyviBlMr0Y<0q>xkj{SVJ!%K{^$A?4N-=QjMS z&@HVR98G?txSR*CE_`l=x?JNYgQT(9F5y@-Iabd1JFun*FPiCe6uPboKFa z{Q09H8~)k2EG+tF$;J!?1t#-QDs$S}rfS4m-97byB;bdyynunGL5XHdi#|IU?F;oPZmhavSo&Lg>0 zx-|JTIm^6P=`}+q|Bg`gB1}h-sS^bR)fP9kxf_-_5gDgKi5d-|C6Xx731$tuR6&)vM z)LJa{a9Qp2JYlzNSB(i}kD$0^IlI_kk7i<-ed1^dp02PcPBKwvjY(*-gGeT(=Gu`m zO=i+!cjlqW#(u%Cvv5&H>_mn2%G6<%gWqT;Ku|`` zPG0d0kvhGAa<)H#zt6WW#6^%F$*Rh9#aRhk8WPccS%%_>ncq~6?dVA{l+~#dDsm<+ z#f>sn^@Uekm_;U7%0h*Eg~{dT@utd|>zM^Bsv%FA#AR3_WfdlE7@%o3%I0Y+*wCviO``poiHGQ;KXvXs=pf_rLfzCZO=9!x&n)gRm( zHB}z;P{-PG%0{Y)^b727eDTXkLP5!1qQL^2r_HcSF1U)KrraI&xh{}O0K%p}n8ju# zTxpjsg#@unE!2WADW2|Nr-RI7n-Q~rS5}YsKD)-)SB%X4Iq^l$jp5m+YG-)h0XF9~ z+C-S7F?FJa*;;H6jEt-RDO%*$q6OhApO*`9R|NhxCNnQs zb8u`@xe)bDGzEWo=*nYdC9q#@Co-ORnUxei%)KxK>5QLuMKIW}QVh()CK4<+bA?|g z_QM{sRLUW)=SNSART5yaw2?7I^yQo+WGE9s6MsgB?UGVnFLw)beHe5Z+dPG&K3h!!^_^ox zf0KE^rG25X*WTYA3ivASM*c{YV;19Lb=(J+21yD_ljc>Fei3n$eoDN*%%@VgtxWh%SPI z@}Y(1IqL*>*YFQZi>!q~oh?(RybCWb3eN8)YVnWRw6it2WC04S`1@3g|F>n=)3FVh zb%&Wy4?FRRYVJD}m3`!Lx;<^nZGV}ieoWSStr?{L`799I{P6~`od@uac&z4MQI8DN zZcaU(iw0j3LZ3BVAFfxmUZ(&(c=H-rhgMWix0hncM_Ihr!}gZ0ZGdpD)Ox?LhCcU*m~(D{|Cb%sHjFrICf>5P^kba~B`S+K4-)Nxcb|`_wh%zUjh=^H6k_ z7vQn$Uf&#I!b9UWSG#<$Xq=9}h}As1RkysmJMwiWQrmQsLfW1`jRs!XqIh=5Uq`ub zYG|BhS+0mJULW0#0MMIW^&0~VyBv$<12c<7?d;%(+Ml>$&P|7_TRM0Ujg5ei+f(Xo zc`Ky7!)wf{Y4(Yo>maH@!pepj4gW(m$;0SMmi6uM%CXB_ue)_1gBfybG%m1>v}=d= z2;9#tIyWCvw4dM#0k?H`!IR?0il1LpRg>;RJ)T$9Zxq`!9Pq#&1!7-C&s3dN-JXlg z;#HeApTX}=e_qiEYyP|fjdi0wZ7;vfO-y3v+@3PPvpg8Xr&tDaehPC?8}a(|igX5z zV}3Nce%@$s20(4x-rW(q9&x_JV{D{ujAFn$?>aorIXz8s1NTYrj!(X>8^8T3lIlA0 z-cgcuZPUTj=PunBtG5+(ILVEa;ocSERR!}eqn9%-8Kp6|5d8lYy{Bw z*xQELGR_YHZv8Flvx0%?x>a*M+$O+lut4(v$J$#!#kHhs!wG~C+=5&1;0X|10t5>d zJa}+-ZKO9Y2~L3E1b2daL$JmhcWB(*osTm!cfRk;oO|#5YyEq5@7}9+Rc))?_0(JM z`#k)_^GelIPW!)#AjYTrkOGiR=lR(Ca-nGr>x*kSi7hk5x6Yn9&9xE%A3%%m)urQA zRoJ8v8%noU&zo1LMx;xNSD&@Bm;{7921%uo(R`@=*wK-xq)cn@>(iKXtm&qWI<4*_ z=7&Xu)jXXEC%L81Ks7_@wGtD~@D6XD}uEVUv@_$X9SlN62G4 zit+1CYiVRc4Lw{9{of5*Coi9&Q#>g&zgH3)vOfWVz!a>4BykRMmqMCOn(=cJo<@Ss!1)&1~bM$VNmFg*XbJ!I#< zej^HdTnY2Q{M|FKeAjOTTCkE1R&IaX`0ra(bHU5%3Ax}2S7sSk;C{FFCwB=6u;6ol zg~yDn>CXo)w85xJ2W4bB@1elkRFNrmFYHsxA$Fhr=iX19u{OhP;v;+peIxwAY1^H$ z=AQ3cx{nj&)GqW}0K}vN4cjZfoGZv0#gNxS#q*>CBQO~k9Cpj`c)EObLxm4`L$W_G zaVpTxeIJq00h+G7OT<`rW0jXpP>&&nsr@q_wgPsD<(<4XeUH zFXgQH7U!olE4}-j(qkP!?ykM&yjp*KY*y#`m#kvr=|dfGdMu%kn&%N`<9$zM4iVOW zJ}|kVD0*_n_uwdda#oMSrJs)an4bRZF}*S4>RP9AYQ)Q%;Qh%Ni0pCS16ooUEIGkP zq`2(yMqb~_4taUsBR>`pr+O^ThyJ*i@i7TZ`IvW4<8xA(BL3qRyUr5XLwddQq%x4l z)^N(Bd(FT$?~tQn=U~y3)3QEdSAQyzpjX{rz>u$Jq8<5swC2oR#2i8~eU?^fb8UL? z>$9OYrN(FB^rKr+9gk*Nth!Uogh5UI)-wu^*QcMhehz27kIW1flGA|~o#`(Omf4g+ zeXrRapp$O%PJW*_Xn*Eg<;IV{^ydd6&+pXbh$7B0(9uFy%{{od`B{pwC6%)h=anZ; zT|y#;bCc+FNn&&E?qaCrhk8lf8CF?NC{&kda|?1y8NX)psC>rhiy5?Z47SL$S7uJc zb%7g6{7`do+Wh>H{*MKiYSkO3yh1^)WH@i0qN!=qaCH-ml0h_Y}v0a4#D8 z@Q0aM5h`@7T(9He&+0Fz?q)-MgIws5YjQ{wU9+BZYYz=4nWBk~Cbd+UlJxR*Ilcoc zymi-4f(#{Z_URbb-*6-l4J8my%=eR<3;Ps}4-giUp2Il%orou<^%v4F?j5&iJlIn; zB~uM>-aVQ#9T9t;PIM4M^1MC*TrGZg2wct9UI_j6NU+a)WCHx{uQe#>zcw_%m>usp z#VZxjoV*l%tl+g-r(q;{FC*t;=&1#9RdF2Ph=k_n{+ znK3&bH%Um1vx+`Xa5Pp%75D8Jiq4d6c}}RM(KQwai)DTL42w?7AE;?U`r&FN>c$StIR!}OBoB#JzQfEQvOUjV^9oL9>w+Dqn$m9Kt` zJgr<`k8m?=j#GGU$^YKEpGL)%QI-3Un0qg560_xI)@JnF-3Hq(nkMZHBcp`OMF?TA zyF;?=obY+xikLbMhB!W2jKIR%kc&cDCj^C_m2wez!=>$+T0}5|yB9=-2M5MNxU(XJ z)slQ?KU8qHVgg{OB#b|D7@WN)C%1ve(|7`iR>PC_ooUsKjvxSce5hxg@zcsYit^m5_|wWTM($!A<3b{BOtyYMV8WLsG{~#+hnP z3LsMa_2<#>6%+LKpQ%Tekb`k9Oy1Mf;uxW+O%Rs=f6Db{iII}D4Cf&(qRZ$^>h zqGpApw}8UXYKOB;7*SpUMVQn=H*($-c9 zpW#?5*%Pk92)YFo1|I`U4fwLYdDL5x!fA}1H30!|VRBGI7wvr1mdgx&bw#0rr?rEB z{aQ&}9i8}r@+!JOF%$m{zmrK}@p-Y|Ih|g`#39L$wIK1NFJ_BuH)}Wn_y0UpJ$`7D z%3`NzvH!Jp8At?jrlDe>=Rr@gYUFpc1@QuxSqy0yVX^TgB4EELyXxrf`Wp3P15&Du zG;=D8V7Nn{T|?&Jcb{3$p9k5}&qH-#D&9c`PlXrTh}xZcATIFCR}qg!AJLxx@HPN343iZk66X5BW>57jT4s z+$ELeyo>cbLZ4TTLdcr~+wh(`@#FajkqB0dnIdv`Ej2>Hly-h|?2JaGNVp!{19RqR zeodff!Q3Z%c76DIKlx&bQ#8i(9$INEIETx35s0tS!`Y$`QTrmhd-t0KX&J4GT^gp| z)o!4_ca_laN)>Bl1$X)F#fPFfPvB|MT&$bsTKq`EU9bFerj?^jW1p0hZ?mjJ4lh{B zQi82F%nk}tAFv1UCKT6MjV50Un4L^xZj_vQv8Etzf<%OX73PVl)VqNe5xr1=r=a5q zY~XN)0hMpgt1GC*y=n2EItg#D^lJHKjlRno`jNfB`U!PV_Nt81$Vrl(G@z7TT(H&b z5_DI=XK_|(kTx&RjoaXwAva2;IS{^XRLpO>z=qEeqxa7EU0fjNh!z6aFEe2?Mrmw} zta>~tTQ>J~5tkC}a8$@=!$zuNCuZi{IMvv>q5|B+m*Fyo-_2!96xL~Jiuxo}CR9Dr z80AlA(YIzN>1D2;pW|#1$pAS_o`L)m^pjoEHQY>PGAFH(Kvc z9VDX{(l;k{6j#ZQ?vxsmBvcFJmKP<;tLdmZu{>c^*AUG*Dq+QcI0A~VxkSLF4MGA3 z#SP_sbmWm^+3L!UN)5cInT%!<5{wsplA_#U=DK`$NJ$H=#mbheR1 zb;Wz(yg;Khc59~=ebq;g`!X+iU|+Vv*bRQ{%0rL){MnXVASST@ChzNb5p3-*y9uth z?-3(5r$n^Am5eZUS499hUrq?Wq9%_V#(U&8^(=TdfT0hi89vqLRLi0`h6Uj3tmje z9wa4F+M2sZRYh45lGw|}xh|1E?`-pvMEs!h-Z6M7fIp|> znQJ==F1eUk)|pnTUB6FNc|r8u?4sTDFO*sNEw6t5JK$d4%iv@iFSAZq#V*N;xH@@2 zLeq4><9=8FB2-~o3lmY2XAst9SmWt#L0Cpq;@G%i7h&I+gQ?9G1`wqU8Y!i>%#xfn_9X5wzM6L90JzQOK3WFZ%aKzN{c-_=MY|8IYdB zV5D{iP@2Ni)D^8Ekd$#<{$Bqp88SqX3{DeqfCaq>TDfUE5?Zu-F#kng-_Og-Ur$e`ta=#&K{{3z1(JO4-9&}ehRTqy&_yBL z@8PJ9!w+tx{e3Wohx1@efAIbOX1UDC*~HEU%EZoI(U9v4vb)foHqc?y3aIPk>&8*V z(4ha_G6;B-3PX@;$$&?#-1d>4vO?O)S`H9=@28*N)IE-uugSVjF5)Qtjuc<4z(~6D z`V~d=p|_{k0_dw{KDQaK0Ej3Y0*}%Y&QY@B+_MuD$kiHw*}aRpdC#_QSL=H(`}~;m z72(B2Gm;i_*O6}cbxq~lW-oy%*y=Cfo}9TE4HzjqP(r*am-J5Vx#x9l`toH%2=NNQ zSXCj&O_=o4InCN6q!BUEet0qkv?#$JUUtLKj^Vz7Yr^Qqq=aZY$jughWGg&XubZ2% zG7bXI8O`AV=P|Ef8=m$tN2fYMJa)q;iWDPGqv|Dl&mgW=9*rRezW|(5xmk`Knjx?} zKyYXF8`Ak6X7NhuW}{*XKt2fz9=(_(>K?w=^app)Rkh5wLVU^gE=W#k=*83Ce97QR z>4a<{C+=zZc%yCdA>F}A!=!G~iB1W#3G=?_sd#`6X!uC}(`Ewvy+w)Xy{?}hQ(~*0 z)v3Ro(mfxXwKjon7{C)#r*kGdL~*nibFuxqY_oUgtVRq0eKTZB90@`?@%wJc z;deCw@^Qnzi3@AS1<}cj zOLBR(MSp$|xYj;v|4L#)zWr<}T2uu6;3O2}zbiF`h0K*^YQRa>QAN{u5{e?7I95)}{L5XE+FfcfvvMz4v0g z0}0e)0Hd{>?L=nrb0i3rcS2vG0doSY34?b+o8n2tS-d_1^tw0xsQ*D?_g1v|P;wE! zRsXpjfOyNiNU-RF$7PGOj|f4(tPCT>uRMDK1YQu@5tp_OcK`Xk*1}(&82%3zLdi5s5iniPryey`Fs*H=n;Div*Eh zq(OL4T^wcD2Jx&^#w?#GEfS?eeT}@*o<vXM)BhwK0pa7K`y073M;fm$e&9v!wpZ^`-Ez&<{Aqfy}OmZgoIjjird z+Lqq<#7wo`xg-X@wbhhz)>}2bl?2Mq)X1w8+@R++dGNk!ZL!0jnkW)#bl6ejI?s^> z{VRISa0gc3OyzWBa;O}PvgnLEgRF}O@X(QsJ&PN))$4zx5jW%kP z?ad>@kYX1Z?XMf0TQ&T%qdNlg%vv+(*Ie33C~h~+3Q}Esx)C`xiHfedNbCHcYLj%3 ze~&n}R8-V+C~CJYpH%pI_FRd<4A`%xa4%vaF{WhW>-r$Ra~Lm*2ED(0oh|DexT-tb zW}lX#|TE_`tOd)y)ujpIVu0# zsP{~C?6+fru3j$pci_k{>CnbnhDqL#TD9?~N5#AexO4XSP?1yE)=WF8;CSNjxpt_e(3`l@|-DHMiaC z?JYV*DVI_g-BWIGaAVmom%Tb>@fHdX` zA1V2Tma4yMvqO#!VEgYb8gy`gSL9@% zbQ^%UoHkpfifBI!9TkFHU^0Q+mo}MX(SDy}FU^ox6 zSltTbj3h@-mdOP69xgY<)Q;d*)Xqvej0+ua=HPLxMNh7R*WCS>86?&8`01CPKoTXKJCUR5+g?u>1tnUWca52luNL{{5X9J z2#d>(X=ipw^*DzHG8dY0v+6dyC!omsjkzvGh1jBa#g#ew1H_mUWwRtM74ZEi?3BA} zne?;icY{^X<_#?>ZrY6Lf<2}2uMe=5$#-_Iew$Gs5W#v%EX)9@Y1wmE<=2FIDPZM-DT9zb+qo$GS#ikeA+;c3rSb(^)7q-(FH z2iCdl)YyAU`aijRIY;?5g>Sj^m$CK-T<>E2sZ(hSoCcR!1u1u>kVJ zQ}-xPVDEk4aAPeaX6o<=HCnqL?HJTWId24z(0l#Nl zgb_5?Kb=>LE%vvVEjK?mW);wX8l+vQTDz&Y9M?uOm;AGQ_qC-5ulTbs?`P*m>R`x` zxogGtm7sXgU~foyTCfeAD@D0l4i!qxVojqmjPj~0PQpZOzN8$UzLytYc@5R8Trb#I zoe%CH4gPlUr37_M(BveZgjc50mX0*R%rd{c*;n+~+d>s6D^};b%Ldv!NgjR35Xdz= zIcuW6Ic9w^FUtvh>l8%^I?Y{+MJ&TYCC!N>x5t1Fgqg1AGoWvz+o88>_8Pr_h6tnc znauDu%Yjl#0h6a_UyPO=)S{r}TWjLh%fD(dM3&ssZ)^Qm#2rPR_FpyVue^;ExlF@N z10ZDq%nd$~aVSmbjOYoUP|^GuJ&%BDY;}o;vrl@Hfxc>v-Y9>TAY6s|NXz$w*YJ{ob~npm;ZYg zCHZf&Z?KzpG|(H05hd#hJzk^LJI}IJ)m9KmBy}uQb4k+R&5b-PM3W0xShx^{uQ!8E zs7k6m(i~-R{K$jY(w07;IDR{v(q50$4f-4N*+Q5y{14_cfYS4sVmCIUf7TBhLb^p> zhT%o|)tC?Xj}bl-i(1ZhhX#+#XJ6<}-)3a5EA%FyM`n(4cK?IEhFKRi<- zNu2v*-;+W##2j?NqjgI2FtEBFjkA}__V?Fw^o`W=Q4L}>55AK=%F4f4Mo-+DgU-;J z*adL3ErB2G&`Bu6jnOq19y5}o?WzYz0JSS#;zvuArs1!8p-=q9$z`YaJAZJV75szq z42=I~R%&ZLvl_!RsmqOxX8`v>4u|ky!+IkkK&;f_RG`k|41-x7p8M9S9w@X~JDZn6HOu>cJk>7p@Y{N2oA8YE&kwOR z7$V5qUps&O|9YH%as>PX4g6Klo$76$(&-JoP>A6pGx*j~1vvVLQ}?m4 z$1B8O;8?PVjLf5;^fa8zKV3gNa&n8zhC&)Q+|xF!DFY;Z-vk=`Na_(8tO8mCs@}*D zi_6FgJbjiM&Pa=%dc5qK9}N2B?!GHk4(!mP(>^6^`6aLan` zN{nrsw|0*oz@j$p+DqJ60GHXHWZUu?6YjWEcfTD23F(iNJO@A0FIP#8{5FA_nVuVu zTkBQsWvUO|ffJls&V*TCc;p;1Zw?ApYI8sw7Ql9`MX+{Q!T0!UA))2mJgUJY^+Z-rPTKFn{J8Tf z3r=oauDhV8_3L}{Gfgr`XlFN8*_|oX<6Uu+s*TFsKS0&1pXKlPX<6Y60AJ{XaHZ+6 ztIi&9wzCLMWp(kUI8oO{mQAmIyg2wqE|m=XLBc4R{DfW$cz=>Ie`oEEqh@bduVo(Y zILcNKaeKq~aQ=3xK|$3!m%%L8a9HNZn)O)qXnPQCN4P?RN4Eg17kMQ=RHecMmw(4B zQnwiqzV}Z3o^0HkOUNrA3e+G2d4Gbkunv3#mxD{G`(S-PY0iY`PfQkI0IkTBUO!e8 zRPPOqR50arqv&!(do%Kkm8|ExgL4O_?(4lMuc-&h#(F~1o305v4eekR{Mli&B?}rO z3w1g{+hP5+yWHwYOsOfm`|nGq17AO1O3qhcG^n*_RV()Z(#Li^x)bVW?6c~;c7XBJ zn(H{vL_*Q0wVK%uD9C+yK32niU>*N|YkgqSxi?3P?DP~f>O>5yyGh}@#?u{l-v+;i z-gIj+xZgyFA_HDGD6W!jXD0B%Nx*$pViM;VL14w@28BSVvHV@zeQC%W;2rEfNnN=cBKg#LcNXdH-`&nkg?w6HQ!&G~LEZ{Z&K$8{&CWM9gNa;s2P@(! z>BmnX9TO*&+1c8axoXnGy_z$Y?lNCmmiim_5?Eu4h+W$_uvE?YOY};5G?#8 ztQ$pBf7T5E1ab`zjF2LB$eQm^xMJ)8YOTlb)36( zO_dlwIqAq_EQg-^*SjrMlICy$&8RrQRaBk#}!gw>@TFukx^;N z<~b3*{kHr5vd%(&{WR04pQPcP&In7=hJ?=eH@qZHMLQe&q7f0nYye$HoEu%Iz2XB- zfi{=ix9_a}g0lV}rf2juszQuGXtt8!AL8FZ94OfrdPW8I)y|l}`E9GWX+f7TN?&C?R#Ekl$EK)P3VAxQQ}&9JDsLB^Nb1MCd+aIylVwp58(yv7sdA1G#vXlr zv2q9Zjy$=H^g1GSzs1+TC7=N23E_P!2bar0+e*t}XZrF{EaVb?cuA~(OPSOGw{_HS zSv>;Kyx}<_qpOgaI=z)5U|4$P+Nxe}qo^es%5%M}!CgSP?(lGn#j}-A!r1iTCGb9|k_ zJ2>H4QdoQB;en+x{6Xl_)C=%jsk>Yd{EzNV<;rqdK+HTXpNHN# z{ISHZaX}x+1qxtZ&XoT_N20_#7XkI-SHM{DJH5nelz!Ikw!0PL-)vr(bmZts3KnQhvoFdc#H|Z z=|ul*m7~}0bqK!@KS8oOUXMFJMW|wt(6$^?+H@9RmYR!CJz9{zZq5j;I?Yd;+%Sh{ zIx03VugWnA@#BRS2pDdKx^q=`xYsuveQ0pF3*Z+@v{YXAs3)+zUjJY{EgV~ZG?oWR zII-R!?sK$RRqBj+JE1ljTFPeK!*Tx3vc>ssu-*}g6Ux>Q?XKsxK9C~c#xvDm63kke zzvcui1(YVi9(ubr-NErqHsGcPtQ&WdSmhkX6%gm9qS6L z;DO9NM6YPeoDJ65N7($+s1d?f)S& zj-^|>8QQU$!CJFy4AFIaj7X(ia&?Zmd?h``to`c@x~i zcCUN!571yF^)hij<|zE|+!H|5^QHhR*Y&%wc>g*%v3fmfSuFu$StRV*~V&6 zEGohF#iaB%KC7Z|=CT6UoT#@amObT3*Dlgp5ExpB#KkvJl1p zg$yD`6jAr@bsrH#xlQExb?C(>XBih`k*)EUYX629fTQhb_AzhcGTR2_yC#a0*~^t(sWV++$=tKn_staEo6Mqagrhgk zm0ovUJK`74xh7xoVzD=P9;22{H*rij%%3sciI~9PUdPU8AlfQJ zDu5XEHKqQ<`0>Pk$!}fSUw3;_C?M_+-y_9sRspd9ucqXv)5rWChUF68$vIp#rb{zl zkgc+!1C4zw;}7&@XOY=Glh*{?g+-;!l5hA-T^EWurB8Nu#|NL*-j$Vk9?8VhgVR-a zcy1ld_hhqz$Qvt**MeovQrOGSZdn+&fQe!YeB~;~_!<&D+$lTW6Wbe;zE#Vh)L;FG z_(=-HojP7M9wA|YZkvH&w&MtzmEF6$Rf&uGP2}|dzu*SoAHV_S@4#VtyS9MFG@ASw zB~M9Dik@?rrg&|TY?8!DQ%I4AgP7BLaL?4DdJf<&O_sz7eMRsuCtjVq-IW_BB{oN(BvgxBpgsSr2*%a)~!H zBb~Jff446K_gN-*JIs_OazyTNbO#DLCKiVOZ%_Xp`^_UROYay2O%8yzOWXoLWZ_}{ zV#obfQ{M|Y@}Zkh@%WM%;vNr$A9l9 z^|wg(8<|M=JG=F*5I|96i!@zuf1m)b|;oc^Pt~HcGo0xJM@k9DRs5wWf|XY9;u7o z5eHK)!N;>951xkum;2{k4oA(Pf4e<@qu=_M)K)WSr#=c@qm1Ke(|tG{)K#BfYx~P| z;KZi_PJCvJIDS{qK45p67s69Kk6OzG-%>W`L17m z3pP(7$XC+s+ZbTMsDEZ|Ut!K$NYZ0fBV@w68bjb%)dqZ{%zyn4>~Q6Yru=v8FlV@I zKmYs8sQ6yu>||PG=@Bpp4^;D}H*+sqItY7yw{pO2Y^~;f)Cwx?1nn59mg!f&XWQ^F ziHa|y&raW|eoScoBoGOSvvL@`Ro8o^MN=o}byWTWrIm=*M9yrQItuFtu@II-4Z z?Q-f2$Hl{$g}a14=EzwPH(lLxEKyakQVPZ|&-@`*MQLDIIl^K~NvI4q43St%^XTkJ zRP}JC$5nCb7{NO-w+uaUbXf^?Ub#kb@!%NG?mu&69XlNeovQGrH(CJ-6usFurUyCW z*Jir2zS0>L7vQ2R&>{^Y1x2{v2)=*6&be(CAn)dsX`H}EmG7^=wi&T#vZ zQLDpsuEfJCGS!%4mp=g*G>bU(nCf4jez|$DwS9ouwDhH1Yu-@bY3eC%m&s|08=boG z*Tp>3o@VF18CVc6(``z*XFsvj(1@yvJrOHd+n!bLBhtRMj`h;1KTps$BfMYxlyURJ z1EvVe)ktYLXvXhJdz?Dbc4A=jS}%hf`J1^WKDZmYmY=2az~=zcumekhn=`W(@Z{aY z^{qG_mhF9?Q(SFXB5?9GcqEk_USl!ehs=2Z=Qz7wq1@jS;yN=s+B{9=5iGy&?@bpv z)Nkosz+-K>R7k&G@s|oZ-xC0@Zq(+VYs0$0kRzVG2c5Orv%A^g7LUE_2f@?4$lKq) zzu7*l7Pbh3Y=HHr&Gy?{MzH&%Hn;oDlYNozp!@siG6??tiN8ol>g6@^1?1wg{o$sA zSyAY0%E`@pW1H~)yx{@)4;$5APf-1BX6a88OaBl5#y=;P{x(^~>yGy1>Hig4`Lo>% z>An}4x;{gZy?zp-@bDi7F>y}?#Uv5v`|wHaqPEXc>zJ(;wLMnzED z4m_r*&eLJB+nqN~?kL!^=}C)*iXSm?kaGNwqLdDicPcwTi2B1 z2>gQVdyxQA5hv|eb{Jn;d`d)~0QL+Hb$v=p^tKF2e*9Z>6w+mfeR?BKC6QPjQO`(s@&&zxG`5C39!BDq%aXFw8Mr7U+^V z=2;3pt128iz5(dhf}j+ZWMJHQi%SP1Bb0H!Bjh!t?hNI9FjV3F-z%ObLB;((Rj|2(O$`zFwb3L~eg&LNtP}L$- z8?m&!=eUyb?@|aH`%&jTR19Vg_v06z^%6?iXc?llpeYyKekB$y{Q*$pX}%Xp+7+Q2 z#c7$Ne1|1it=2Fkdx1tV;#cz1ehoa{ERsnzY`#HqwjmH(~uNobA(lN|6^}jGB9dKR3+bS`?hQ zN1jI}!$&*i+ka`9{~OuKjJCG6d*N#c(mHy4|h+f*= z6}p=}HF1cBQ8FCKJbHUCcpRf8 zw&opLU2+Ng!F}C(y#AY4Z)w z86Ql3-+_wg<})3aU9E|*=ab!&q~Sj91*W94K~^p<)z{oh`l_imh?mdLMK~wZh+)Ou zAEN6!@zwp|R`ouk{4ul|Qi8R6o7BHnp3XLD0d5U_%@li6hjkJ~KF=PS#{!DO@@r`opB3Bo}SSW4PN% zV7-z_D);QF_>)Nc->*pp$19Sss#>_ZUuOiQY`zG8j$Ovuf2UtQ{OWVl=1ClV(=k0{uu%0c}hMlbUfN&1M*(uOVGo6uT3Yc z1ni=q{K8N--V4w$)VQaNs&^)zy~Z_^`5;D;R0UI)&>D`}4E&&P2u((3nzZs+^O(*o zaq=rbJHyyqy)e zzl#ZZ2T$A@!~?z%`oD@F4@Y}@mU^p$;5~bBk>VBeC`Tz6`HRV+^g*M|Jv;w#f`DMA@P-0kY&cJg1ToCYn%)s^ZsRcFqwwN z^-9xMjZr(F`UkxbKt7B%UYv zBsuW@?9H)dN<<=ftZrjjOL|1z8=Z9{Q$Z(&EcvN=qa9ghoO$?19BA>QO*${!uT;&o z===q!l70fH*I!$_@W#E=A$OB_nZdfPG+if49HC8nzWQP!Ckh&**n)7vKbBKErLovd zNF7pZ-GRgBSC1Zy=*tw6>p?0=vKJxA1+MGJyoiWTtF9-R^pf*+K%#%5N{=gb6ZDA_ zBkJ3yWtS;t;ZOb?>)3DJ&yi!#3%@{PlY0}Hzlfg+P>r!r9_fS+yk2QL`iaU@LHGG8 zIjPh|h^eJ;Coopt;S5~rOKn{8dLT5wZzhGVJ7q*ihBxipbiFKGa`9u_P ztfdh}0%~q=kOmM@)gt5RR@HR2@wxydcZ#W6lwZ}yztC5Xz+2cbnH+-g9&skOujF16 zBcf}0_?pBJb=$!i#qSu8ZP)k7PjXUJUy5*fWv93|IJmjgedBa{^$o}-DoR1IP^z_o z+YV6Ui&tY9En}FKmxhgWjk9QRt{W3O z{|O}jAU*jP52ZhM*KDG;4bhJl!Fk{jOmhCCyZ(=l^Dl}Ef1#BVHzezn`Tix+qIco3 zV(W{LMMHwu`BkqJ)05c{2AGGqvY#$ZnpM2%p$Ak}?$b_E8yeQC<;emzk=oGBUbdkS z|G3~joP(!|Y!DH`YNonUv#f69bdE-VtZ_To9t{z_mhMcv~E90IJk{q3Ga$qh1KAmo! zT$cRcQKQpMZqrwocz4j+%YTR@rWlxpI`N)v+?owsi!WK-f0f;KlQcrxQ_Y@aQfwW^ zYh|1`9n{Uw)x%BbFn-zA@N&OV_s3q1+k@0+8Qt?xv%33Fmd7t+ZBoPrnV?e{ggjb5 zse~_G8+_))Zhcwvl9W*0_N=dL07sA47p33Rrt$H_whwul>Y8{x@mmCNVwG{X;v@&R zNhUwfG>EMj?C03M7qIj7Z3D1Oy@@|-JEnR58&nf^k#T< zZp+Xo`N&|zDz?3eE^?geK>R5p0uQ6vZ&hDMvfI+NzIQYkOOwgvm!(L#*3jc+x4$VR zq(qwD@+Uc*TMDjO)0$|F(>=%OdxMthB{j#UNOz1~fSE49bzn~#=z_@DDfRk$ULi;UR)33x_|jQx;j!JbTN=l zIFCv)z^NJ~^0#{1E$i;{rof;?$dL2*Ag<~Cw^uM;J`!|=Z5Mg+34sy{6teXZ6Vbb$ zVvzUZYv)yT*BF_=w6@`5(`FtuepNriRL!vYO)m@$hrg~cd=aKPnele4p4Oh4L%?FVYN_XxXf z7uYKO(XEi#^oHUGf%9jHi?P^ft2DkTgo9`o&n4Qzp@(6~w(PmKq!;to1=^mYf}Z1o zo){04JE%_B8H$(kqdB{rj%2tI#Dpc*cDXIDgBMini};X&2wLPa13AwHHmz=ZuC{Ze*2aP zF-4`#9LPyD-*Q0DNLwst$exZ+J`D(Pm@`0lp@42Vlzn`ejLH8PO6%{N&aA&^XTtR0 z6$el-wPedh7B%pbb7gRy2P3q7 z(7kmxOZ)0Z?-yGi)Z?ZfGBwv*YuH#b5XV%my_F<=Bn`^!()e|Xdl zC;=fr!>Ttm@3P9L@8Vyf_s|CeOxv%1-#kz%=v)UPn(gnjyLYnaIulcuBcQzgcanxs z!w%l7!mx2f{g5oA7dM3AUSR~e&m?!QvTEh3-mF5RKE3B3klJ2;L8hQ3C0`lH(2>k; zg*6&-M7qv+Nf;T8E+LYgrmq8$e!Wfa#tIr1)uZWtYtbP@`V%9{vN_{Ztx$`|U#pi9O4nZS@Em$23CCt2-E~To#1Fp9k}S!^GWUBZ`kjzz$+$x?)b0cr z9i@0^1}QRKrhzkeMM)G#s+6#$^_8ACr}@+$(DeW2`HU?)gr9}j)?QDFZ%`}!OhP!R zQ5DCP@S!wQh3`Giu@F)Mk+`2vki0~ok|%-0M^<@dlLbFJ#zBb?o?TJ-(idg^-nhY* zrV{xVW3ol-oxsb$CGOrrh#ZD2E9(oOz%|}Mz6fi|toJJJ%6R$SXZZ#5@%Y;}He`Ng z`ArRwciMD8AKxCBL>@zn*nU#0SU8Sm_VoD0wwHA4b3qcf)#M60;E*=~Bzeg()LD4uYKZS-Bg@S1ekU4GJ2 zvgb-BkH)HLWxqLE*S+msrq0p;7>RW8b`2m?OWNU_{eC4s?_sL*N;u3UF=5{tvqzBz zD}VD1R%eo;qbIbW?tGYbCz*HhAU&$H zK7n6-bC)bs0<(@^9af0GAUd%}zNo=NpC@SXN=h=|VkQ4DY_BO?qqu*iVGS<(65A#t>Ma5^$?J4*hZ| zHOuGfpw_wg+20r~m)H!P-mi`boWClr5j8>03z!QblrF$mu0oPZs4b%1;JrA^^gi6@ zashJJFb8uXXwMoxGi=Pk87kDk!4asmkw#I$7!RCU$!WVh7VxJRF5cwPM(@>~vRwP02W)@^2x;$4;F*EKyICR^-+ z1IAyUbYnM%C}Dg~iKJ^+qk`(nSH2oYj_ae(oE#FMvo4*bTe|e)Ms0-i70M*8bu>t_ zAx_OfTeI5!rVWzu@-t0tT$Cc`mVpZs*{KuZC`AurcuB)~<_{Vg?%-XvF>rO)3^0|Y z52(O|Vr&+J@5&kBh};%yz48)XBw*3l--{mK0oEp z^`lDmVh$#~nALAMf#Kb-uM&T;w5>-;L@aHFf1?PjUxfP>MJccUIHW6+m+4ZK6G zebJiUqqGoP*r~2q@V@c(y7@SF4r#MP*Imx8-_$RQH;Josk9lunysjX%Fn!7tM%Hj~ zB-mhL(-z@wv^s^x(9*)C4O;E$i+;?wQC0FhSBXOI+R{ry-DV*D5DUYN8; z1fb803k8=iZ=*_eh$1N|O5zSuO;)|uSNifV{b^Q9f=|9{fqJ(@dAANeLdInzXJ<7d z*@beCYCW-MV^DWsi&Q1p@2Vk5HctY*y4FDFDB8#=J_%6N+ax}aj{ zn<7fNPQwkFz*LFfBQEMK?m*Dy-Gdal`HOwwjg%iHT1*EJzrlD9DM{>9#o3dwEKzw^ znu&8rM?uU7$0|b-c#d$+NeEECt6DxE%rPi&-MbHz5i!E8(~y&xa||;+4a`+Lvg4$1 z!KQ_st&Uf|Vx3c1=LvSXcynufScOY;A0TmzxNx%B`z5RR*}9Gk4gM6^GT5yMj&Bvum8_K!yr2n#PV9 z8^}+XS1Z>{n`+q$?$W=lbYXu{C0oMEB!O1 z)cG%TYVg1IBmZyh$U^%sEWCeXkUr|r|K<=x{tkKnr6Ktjk?>y)$)>DR3WT$=F#Z4} z=!SoEBugO*?~&Zz6S*2Y>6d9y6?*gdu0H9aOve9bLz1F&NuBFz%#-(eoO2>P zCI-6q>1k_r4_D|2>gjI{$xu54XduFvtd@*B)~Q5F_RHBIfhFU8l>S=3q?d-@@hHKO z;9Yg??{N_+^oRNMNdEkCAC_->>BE2OtB27Ip!k(NyBJ>m&>dVCR%FOVU~t4oFQ%VY zirNZ8ew0;YPM31b6-5$Q7Q{A=ZdqH4<}oyK_Qpsq4GyRyd;DfT*08TQv61kGFBpp3+CztHIat?tjfrM5sYFS|0(=PV^5(^CK4V|GWPB z=Lr9M1@)hf7k{hD{vtjrv2-+We|l-43PZzVncx~E90+G2|Acg^kJ$x>rErg`i6M%e z=Qyup4G)>GN?pc~jL2w`zs@A=5lP^D4|q%SJ4>9j%JF`hA>e%NT8?rr!k8(ILab-q zeC1%>taARXsvgwct^4?4_$CHtuXr)A+t1$ffBYPC#T$h?e zPIFNt=`1iSaW84rI9Cds%}cP^V4iJkt~6(_xEAtiuK zCABvfcZDQXOF$-4Lx8wYG6KylA}#~t;P*Wbw?Jrx;2Rk=DSei3gh1zsIKw zEb0*EitPEZ2=NnXjF8JM>>Xki5nmCvQW!3h){I~+p^wB{v4H*2LNM`59wW{kBc%L; zo!>D{zAxu2bA%lZ^n3=lr2}u5J3F^)O`dk>|5l`3n&@AZ>qRt3c zuF<1z#2W2kq{}DYu=HjXUFEaqAGPMQm%?0Q;D(*Y{xLFvOsBA*Lv}Fo6>F&U)^TDMcff{ zjWhgMcwicHjWqlzQ4NzXVhzV(55acrAtapm2^V(18Pw&uxD5M212>rj{Q_ZvHe3b4 zu347v@_tt(kXYR|w#0hnbLF;$1Q$a)?rZw}1!PD-*!0ac6aFCw>g8h`X{_(T;mg+h z8o|3JYV-D@CoT?H%wrNb=bIG?W?_VbfpJ(ZKQT||$&F*ZdY<=;4Ucj{IahjHkh9XsD;R#r+&$cR+v~%|FHf2+WM$% z?_X6&fMt3&G{)a-zn0n8oxt46tu;-vNEed)!%a?YZvD~9ovqYnH8DB8(FP}Rl%l|E zcE<3jL6$y*>brBNvda_KyhX7bhX7B&9ZbL30+b09Wns`jLf3i)WoiWRS1?%ab>!bS zR294ez;l~%mVS-ri0S=g*y-7YZS~r;KDu)&af5#sO8v>`qXdU(2zJd@LBQLU6_zWM zbvAE?B==Q3=^|e1`Eb~66v|tNGRu#m(sG=67=e!|R>2EsVyVzH!=;WoA*|oKDBPp4 zrpbZEsL5O>Qnp{a(W>Qq4sK4j%2Jh7=glLvfpUZJqg5t)h!R|)gq+)?;6P#dS7kaC z{n}LbflW(emtGRfff!u_X03^R$J8Ms$WSX?`CVt66xNo^-u*Gz#0Z%(X}4d&M?C{f zQwX+gT*wnzPCuxL2I1@qH1MLIbn)!nA*uUlPDFM`AKRnTYzOIR)0wN*!qUM$R9#lz z0l6c{^}J{t8a*@VH2D{R_UG}6{<(GK8RT7y!m<3dxY6-Gd)nY~KuC~=8s(#Bc z1|IHB&jQxISH1M;+$SRy?wp-2rI0cb8Jb9tfpLlf5eN~4DzNj=I2Sp=>@xFtBCfoL zgW`jgL^TXKjV3o()q1dg1B!5ev-=3x<3c73_Wx3=xC641XF&qIDUfp#kbH zj37?ceb8x$t+3nZZp5+*DfwK_(Iw6?5qN^D3YxaqMiNl(X4vhGog^W<)V7#hv)QF- z&1KpG`8iq~Mw?6@^7#nwujdi#)Udf|m)}9il>$Yi%9U$rNx~w5h48r+iwnLV^u(=b z+v#3ZnJ1ztC8G7Cef9E%I-xjt{y@|sxJ03?s45Hr0s`$SGWbGcZ&-!5WCV4jK`_$u zkFdz`QbUJ9ACn)8a~*lbf%>XReeCdkp#qQo z*hsPVM4?_}dBO__#R%$D8Xz`ClY7P*A=os$$r9_6VgubwcqW=LsaT2zd=a?Sk;g1D z_zgWeG$-_$ef*9$-qi{DkObKenjx@obbf=KE$&yVn6!Mlp#hebI^AmDvjSnCB?G1J zNjVN;;1vEJ+-fvGH3DfLxQ9Rptoss#g!|VT{o24Wba%s>`SdayaX@M;%?^uevW@HulNhyd|6=279VBDGpiHWCO`1lDQYkxBW|@fN$*}WsZ8S7oT=_MYdTtNXPCzM&Hk2GwGV)IXs+hVu(s>h%Bnf7j{D#}f2hHQA}ihb58JU3{Zw98 zj30Z#op&taZu@|*cD7cJymaoy_T>=yD3}x^-MQ)ek@ADI@st)ARV2QH7A?#~2w1+M z2FgqApj)P?&)%ZK9?$a}zt!35I?A!gaav(8MF%`g7}@ri5WouQ!sRxAJkL5Cz@$Gh2hE?$xEFlIcA*x}@65U0#@YJzGEP9Qb zeskpb5#cqb4`vZqFPWW_vG>#H8#jRKAR|IsQ|JHQhJgMh-Y9!8T;cgt`VIQ&dc&jD zSb(prCj;y!2gyxx*(CzqwbC+Klf1w=1}74mYX6lWNyhM)>#4iR5;fXHk+vr~f=QP`WpWX?# zdN<4G41LBdMa4}BIBgb~@Zx9t);AJ*c7`s1dOq<`UMv$UkE^%t)W!Q!zXsA&QJk7% zjZ#SeLNE&%eFH}QzM#UMBGh;JPSkEzhM%p1DxTj_NXDdS424$Q-}=^D}|L%xDZ?w?#9Dq{e73P?&`iPGx)wCb)!Gn zC*&YN#+qhfap2`%N1n=%9MT$z^3W+5LxwMoY~LH)?RYQ;iwpAwTZ&RlDrrkx8%paJ zKP1x#8$2`kJDRR8M9Nw2@<-F>9&V5KJCY|x07rKbGK~~MEAL4KqPxvtrYxv^22E#x ziDUH1F^3rBq>ChJJZ||LkuPMoy3JD{au2O=tnu0nLZc3bR#*)VdY~^#TQpm+u%YcG zK2OVFhwX-e$c!ya7NTcDg8QgXR*}WglW**7*?W&m3W<_CB>vLb;22%-*U4 zKZkB-lEz>Qs@`87GyJE_E88&#Cpu1sj9_Wn{cZ;+C$uG{S`-(EV?0Bjctu1+(4xI+ z;3GgC4NiArC4N$u%TfdVWsVJeM`Fp8%fc7*1&p;jB^m%oL`*a!ZrB&h{x?N?FUs{9 zNSh{Die9*fiQNLtktMjLJtI*L;fs>y>cg;)mDV^MNF0P9_Yo0uy2KcgyJz>$B5l8c zi@Ptzu1Y6co3%y_(aEc^WeX<} zUr6Gmgs(lwBMKnBXe?wjTT~c4WYho`gI0$pYrCnF1S5JJeG9=lm@nSXfD26+zcS1v z7D-&SZ6#mOuP=A5fx=A8>Vy#`)UDE{HBv7@f1{8_iLAp(_d$8DzY|(Y`#bqpOkHl2 zsuVwX_t6$aId_LwC>xtCFh7>~k1Trp$zu>QW@k5uyU(#dt$uVzVT0ZCp$DuN+X^gg z*8{x1)@sH!-9Y^c`#I0){qA=VE6%HTGBB3Iv7Xg}Zrr6pukB;= zf(2iCiG?l1GIbH}$5#E5R69V^ujD^vzW<$;>Qz5lm4Cnf_q_7|#3j8WGj)l61c}B6 zm&EnAKtcP^%m2@u^)HmtKT_4-GnJXje`ws@Gyj89I?VPJ%uPN@?_Lj5MTRcL)E2Z> zXw}?U${6RURasq4=p?yB$6Fyq>Y@FE-0B?2LpcyAMRPYLzlZI^@^+9h66|0%2)(!3 zIXRnyl}C6K3UAmMWQITm1fr7h2Es93eu+X`(-OGseG*f=OUMo@1eP%aKP)-L-hU-_ zijmcTcdvcBq;&O?2nIDULh*wk%l6VR3Mgz|Lht35ZfaW}f+PFGj5AbzaT&HU-bg}T zU8ZYhT8!Z2BDEo1VCpo0F=6XlT;nxv61Xb;S_-E>mnVK;fJr5QCJ|fXBM{31w2q(CXk# z)fY*x3d*#Ab_D6ro>9HcyI-$Q*>GsWG(&iFEO%-3SyRsMhc|mkG;hQlJK1H?9UJkp zug%?T0iEAB;0Y=LpXq^UjC43FEL=#rVXUNnO|+w95<8M1n)8F`v`p@-ld|8NV8DYmpTyFUlV$tk9Wq24dx~Et`pBbzYAutFLRU(t3Yx0e`Xqk z<=YRjdy#FU=y)@C3>w!kU3om2Bb1;`%yFSS=H_%QhNBt*W-eXQu+Qu zN_-ULD_4E)YLaEA(X{vHt9Bu`JXEqLDC5Q@wD(lB-CW$tJ(6m5_j?>v=j9qc>aC*1 zH*gOj2%}(9#w!k|EhA47B)Xw>|7(XSB!8r)|7keZOe7tR^AVQwAEznzCp_9uwto?t z|6d~azlhc%6&VLKX5=Q$42wkmT;5R_HA#?UdcWW>Wa&W>)u{l>2_PZUo zmEs-99gUk$Ki@vRMOSBfAB2J%cTkh5=Hk`tUwWGJUVE9#(j=n>T|WK_TM+u3$9ObA z)mPRpJ;W>wpex~#ba$H&_MZpKCtb2)F?a0Gj5U=Xl*-g!#OGi@q@TFJ+wEKWuPP~6 z1%4JvfYK|SblSr_N;N1n>mGn5{K@qc+`AeeqGQ(GH}%s=yY|p;oW?a%eoE@gATyts z!mL$nAdkydM?F`?-Dz!;f(o4XdCz12!Ha<{1H3Hc2PQJ(#}^k< z*0~?Xi4HaExB6p!V@@l&=v*RN4ZM3u>&+@jR!r# z%{LI0Hf*q!i%}gOn-;64IY%2eVpg1aJV}pc#s|+tH#^uJBy>Da^v8C&?-QfnErD3*}89U^^J4>XQiD__#5caRWA4x;R|xo0)uR zZ5oQG3}OYijj3g`z;TAQ({zgDv&Tz@=C@rs4}lN$Li19<{KFn_ViI7c)s84MhE%%=-%-7PaKCTeT1g zuz<<2C#~TTimaAJsuNz2IsUX3jtsO`4xQQQ^h(T2?fzO&H)N4wWajq7N)qI@>K8R- z+UC)Gv9!8;+~PHbY@MZk>_Pdb_LHoGiP8T>Vez9g&>j**L6nUA6m%Y@LUhqJYO-FI5GebI0u3 zOm!er>g0yCgVDzTcKYNq?9^bB`c0MAbU}a>uiPBf4L(A0fI^1jz#JNwS|*Vcl0^ev$rj@G*Ol#j5Tmqz$&% zSe&0w4<4QNOg;pU@D4Z}y9VKAO2BZ)jA|C2PHf>k+FCO(Zz-v@85^+p$5j9al;oc6 zSC>LI`77M1!0A(UH^Bn#ceC9|h~OX(&BL8N%dpes_4QDYqnu9|(B>ZWaJ(>ZV}dB` zI`o_TC=)&Y&kI#3+c|jib*l2MEmS4U%JM$B zM|gf_mJ^X}iCh(z5-ay0+1VJ5x$5HQ|SIrTVj3Uy&GlPay5pnybogb0D6p zAg?miM95bDpr0@{$(jlwL#iF&gHjjULtN_tX~yytK>h@iffv&7%7|6P;g*4MehIfS5Bm854fm(5JQ({{ z(3{x-&QAcva-G=!c@Iu)IQhD$7pji$Fhf0Oz62m{wnj+9@iNb?uGdfooop4@?g! zM}XE)xq7?T7wv{A+~rOZ!Xi|q)7V)1L8mvTH14x4n$ds^B!e%ZZlu3Wuw>}1JIh>R zJX`IAJG59t zSQ|vP^;`DVKmj7ZgwHck@En?A3g+?a z=G8YSaRL;{HUeP<3dLO;jZCGG1*2EV<^tv5)P5&w$TI!`Uj+I;!_Zc*>XFO6-sV^Z zS*h@fdgJIr-gFlEu#P3@W|PITXXiy$*b#Lu{du5krV199l>HDcGt@+k#<0pv0BhrW zJ=$zQkeA9d7mp8)F4^r3$2g2ZfTCat-H>@ivT+ghZ&0SQ&y2fz<(Nzo3UhPvZXxu(s(hEFiB4$4MP+03Y%1{I&hC$h;RPo} z{zu5`IQ_p%IQvfN#Er~n*zb_b}hW4Oi4nr<5Yp&i>#g5sGT632dMmbjx z56>e(Dd_Q%N-gJ8s3W`jLS2_YJstBc4Cu@EMVgHV++5UHPK~*QTg=#QH%QO&AIP-_ z@E&iTz|X&{Cd_w#h4**)40!wb-=I!;TC?%6WREf*GWkgye=)JS`!FtdaL3ut##ni` zw0XandJ{p(I(1FBGz@uj?6?h+y9?7{z_=u-UMdd!+oN~4XK!{K51;M7HFoib4*x+h zdD{t_6Ba=I11&5J9u-Hi`bqiW*`L?Ks^39mIBp+$eU3f{hFIPiI8j6uGS^i?_g)GX zvF2)JP1F5^!sv^(!PM;c6h!4UxGd-P4CcCDd8EJF-K zGw?+tINslWbys~?;R@f0|31V&DzPJpS!2TaKyJI__j3=;f;~-Lp=S1wgU$CXyl zsBNAf=*MD-X2~RMfSbYk!bMq69x7}{v7^s;wOH(=#P2&H@=)zc@k9@`k$mD&);L40 zR^fg{?9L*cF*dWk4of=kB9h58isSEMO+^dllAtgw7Y%JbL8{ph8>eC@k!F=Y4^xP5Xm%q$Y__FXFB4*QIlusGq# zAwUWZw!RN%Us3c2%%m$6*l-Q%+v;>)7ayAc$!OqG6+W*WckZ)ah=Kpp@ta`i!JQ@QJr47#M5>qlGQSf3A%;pFIF3u zGxS>Y#W)%}#j!={+_3YH#4DWAD;#xt_y*k(q!t}DCr6=ap}DQ)Pb8p|s`RV^R#K6s zmRKb9sKzdkVnNwF*-qR?XCJ4da0QXg?Hs@7&0u};oSle3^@L%>y5i2dv_nk zH*zXo>l4{p5D|*YxJF!(5P>;%VqcaszTcS_Kdaf`pT8d2)aD4yKOol|4W4)>bskE| zM7+hpCxpqV_^taqE6^Mth&9ZY9x3qufImrl?~j+Ot%&uZ1hF%+|ys%DemSx-q?Yzz96;Z!k<%KV_oCxes3HUs@p;j~&8ed%;$m^S z24p%EJNnPEt2)1(0VeJ3?oAQ-&&nIOo*&m%G)30mg{;NL*;l01X!c~BM@J!trXL>n zz`pOQ)w=!48sgjg*^gdlutIfw^HlqbZ5$SVrr}y3VQ}JUIor-mmN=_;nlH0*8bG!w z`|>r*D+EUwyY2HP?h4KBuIPEZhfzSxO2-IMO)FyCQqF8HE5LJmTi34wYhCPS8 zox|vzc7#E1p3feX@!cLhh^&g;@@d}04@@8YMY?nEVcx} z(v6Q@@O6J6EUmdg*L05N*9zs+CNFr2gRhd)rU0>B&ll$AWY>m$Q6%GGy@F*u(L_s0 zuuW!ta*<(RgOrX`^DQUOgyN-$6w0!!(81vNdo$n>V+aZ^YmyC0!v&KOh!`wi1<^q6 zgG|9kxIDGcvDfDL(-kNKG$uQ?5I}|#k3Xf5dSPK<%d%?{Bz?8Y))c}2gZIc%#eP%; zSOY$F^}?fro(|D~{&*G%aEeYH%8ct=L%zE$H#;p`=IB4mjMjPT zx>J&xhcZ^HlM;TjOX`%-bB_lxu90OzQ-EGt9drZvlo z|A=8=R&@HT#^GXCo^QQS^ZlS$H}wF^yEQk8j@^2Mz+F-FtogNb+|HlPN2QVP_lKag z@Jn@ooK#^%Z<6-+aeVW-N!A-aaFsTTY6y)VzQn(a$(wdGP(IV}Z9(>dRrLjq)d1>W zbbW9TeT;!hPM;|qT#Dyb&yF|Cit(q!XLtDPKO&ligJs*W#~Nta(cVb&Kbd5njg&eM z036gIr}Ppmo#xc!jUg?j$uzN6&LFEP4z>1C?Nr!q9uTF2Rbh9K~Qig(1KMuh7I_cyMS zuJ-|esi`Ry1OT+Zlw@_UNf*7PSwG^2I)HRtU3@J?ms9GOP7Z2UV%f@WnwgiSHYrSX z;*??a(P9>=Z@4H|EuEa0e%p#DI=`C@>}=4?kYV!AD?L0 zF*Ki44oyk-h~qA9zvT4v42*XfTQt`9ypm;LIK`?Z2j;?}|9N)%HSN!vt)~FyMovEu z-#by*7bQ#u>NCuv>zfd$;~A+Zv?mfyX@$Vbf+7{eQ7dm06kuZgot8(;AfIto=7wY(TUj&p2>QV;(E7;(b1T##y09u+y66x6JqZ(OYS0S&p-kF1~4pV6P|g z+#1?6&HQ-~>X-vym>DMqDjrRxU0=w1&-{4}-y62{(rQbZu_e`E>zrnJII=-@# z7@t$x?fS|J*cGf#n`ZOqu}_oWL0Z_dDmO~1SiTV%GPa@0)R$z35ZeFD=6 zL^~nH2J)R+-FPefc;?IF=LvPoxi7qoGO>IaXRhgvsjY^B_LRN?Jiy=YCH}nUK2*E! z0obDe#_8T!(r-<=Q_a)up=(jtr*hUgs^X!y2ju70M&^D(O%te$Tbz0pqr?=sv}4i9 zut`YY!`h3{zI~T(?+cpG9Jheo3TL>(DRg1kC~zLL2);?lfV)X)?7LV?h34#gFy!g= zeIp~SQek2uY21e+tIOX`p>1(9y{Eg5uZvrMw~>|s#q2B^QMgcZaXG8AILxxrU7!pvZEvl0<4=Qp=P4%T+`W@SbB+9t4txMZZUNJxJ*} zdkT@4;7Gsnla$rZ3aEZ;5&AsIZTz?#+({YRw8%B1uX^PxVs)JMm^^H89ZO2pOw6JJ zcW)r&eO*RC#uyMedDG!R^_rhlA8_uSlnhD#lc8MV3W@1aS;R6>CS{32hdc}-J-6DY zPTABrC&N|=T7r&Ctq-vKWP3%U)1+sJLW{hTVGz+k=LE-P6FUy-t<2`Vo*+xN+CG6N zJiUUT9tt90>K43a41SpVqQLvWT#V^6(ri94_JkR3$2ee>C)2JG#ev;Dj(i)RGneg|=#A?j4tp5J+;{BflWOfcFpO2K5^!{k z+N)SfSxvvD&{hE(0d5j4L5><}oAK>xiJ6e0^2d%kciAyx5e&GF$ucmwCexwxcC|F& zH05ytq+XX(W=*1m@^=&grWBvg{21_bV%X-zn5t{;l>V_4pgD;(svmQNq#uvDrQA*1{9LE9D|zH#hWZMpyk)PapGGH za#P9b+lY*rWH%{#7RM}R4xzBFhiZ}NN;StJ95~G99`w^hE=U_W(}1WXIt+JC;?3sS zjs&W9$Oi+X5fCodbj^;WL!$eiAaB8G*^1F(rqHbiwM@GEt%V#d?K|4f;)6^>v*M#L-KLw!H1*Ia zL+LH@kVK8$TBF$BCA`~)*`6Z>!@i(Jyzb}NPSgW$lCuk!la^PB?+xzcPlr4fA+?!3 z<_ghU`(*mreWO(RHAZM9m(Gw3CZPkdKjw;>K=wk;I}wXaj%VQTBTHVOqb!a)vOA^k zG>>IkA~*bMsC1T?Fg$c+VGz{i3|Twbk5~2_e7w_v%tz_%DPw z`i24cW>Rt*EFP7KiW`K%@@xHjbcDu?)DrVG*Se|MVtwqS&$Sk2OO;Zt?3#PRv=q3r zlW|3ZTG7G3T@8ZZ!pxe+*MD`Oj>0Vg*<&IJA$|3ufh1vblH2DPR|uZ;P>e3<-Za#h zL_EDmqI1_2r@T?ytMosLKZgqpKrTNNS2(A$);uL;EeyKJJ{nR0#j(jq;<$KMTw& zG1bQ`5QC0EQWKQe9}`3bO<(rUL4HC$haEYU6T*&ysw!@T84N8JYisoGE-ra8tB&Go zX5Th13z6b174GGyfXrs-3MMaYp+03`k?E65AO<4FforQJY1FTjKn>Dt(>gb0PjI4N z@#=bJywl3f=}?yY;$UO68+;1*m1XP_f;dvy`svP0;$G`$>=G+g^aUL2wpon@U|A>T-EgTVRHu~)pzUUK%n`5m6Mal365~042*IBWHyOQ z_8l;^$Y#ZGp{R~|@77F-Vp$`GwCuW$c~%POMx^QRNH_U7g+ac?aG$gE?mtb8i0R)} zwAl9fH&7GEY`w$lCn|pbLksenV33T!Wi{+A1D{W z%8V{%`(kr^i}q%d+HrEf)GuNWKutS*)Fu2^`Fds{C`!_>-x#h28NLK93 zc?> zOE%!UDw4p!5zX={BHb9a$pWLas5t#9b^qePUF<6N=+D1*1=g&AJs0TiXVl?kbR zTcKe#tK+P;T-Rkj$3!t82Jnh1_=+{srsQ9K1>>?4a};BW)N5L*7ASmU<;x{^+_%T4 zNKTb52}jT1JW|Gsm#;@OM<&P#YM4jCz`X3pJPloS-GMa1j8(mi`gMm>8rL#_pX(yt z=;R7ZGM73n)PLM|OO*au7~nh}J)41Bk&D+r(BV-fzi1kJYx^8UxoFMf*?|x5wNY=m z^fL@3Jq+wuEOZQv_xpz`<<+%*oZd#|Olk@a8>FBLwP#67;N*0T{WZEmrkgMpIal8B z;15*Uo}#c#u0Pp*y=W@N?Q?xjrL)!3Yc@+An>8$?$B`S~tQuvX5O7lgHz@MtH+EMx zGug93hj8xQWPMsB@aYbf%C-njbBO%(O6?#4Vh1%`G+yi5$<~rp_)Mun=O4ZDWi~!74dTSxKnZ8M9aM_{xlvCU{es@Y7i$Ri5 z7q2~GlLe>u%RjlSpOo%y-gyKv&yW_s{Ye>e`Asd{Bw(|d&m1#7WJwvfWm$P-s-VEi zIpLlYV=lJ^KhaA$gVe?fn=JRv8MPFwVTAa=zvKxN?{_A@n*h6Uw7}YBdvw^OUnehu z!0!tIix;GSrHLq`TCqp4K7Fc#2mM6x7bQ5O!9N!p|7JJx7uCgS77&fM@AY$Y73loh z&-H+lizW2OxhWzm+hJ0mW)cq3r}@J$+P6z*lVK=iWw&*`b(OiD^(0N}c_H+u2Yefg zgj6X=G(S6^V+$N3a^|WWv|XHjKWrx#RX7;gZf=2r#7Q*LwtUEMGt0x>Vk2X@UP@JM z`rc%m@0$1GdN=Fd&%zg2?RPFMse6Gj42fsf<@NpT4tyWqCUQ+WzZaKcd$nGqI-q?0% ziYGbj1*+pR%8kmL{QTQk&FyaeG0a9Pz7O5x zt2RaV_@bl$=Uwu5&IwVvZ7#rZy47+U=f_twY;BGXne7|Bn39}S#_q8IqNetngU72n z@^&|eF01V7lA=7$Nlx>0g7u7xrB~jZ(Vv|YYm@wt8H<71*?GO&2&H?uE)MtyEa&rt zsk6ho6Z29QWns_BrBsA>cSh;Ib$;-=EoJL8Ei3`7+|I$@l2zrqq!-z;mSm)M_0M;p z%Il*&5B138b`Kwxs<++LvpU{yPY4ZsPD2LIa{Q1p(zS(7{g)O6%R>(rCeCUF(4JtO z*4qdCLF5Aujs3bK*SN#PBv{pEm8GYN-NwGfSi5!#<@{=Q+m&Zc&xNy;oE-UHX0yH< z%hv{IG0R#r7x)n%X=LeZWI6f^=~T)OvgM1pMdQ1VoWGs>CR@9&A#`+K$1T~oP%kb& zd~jj^>-F%m_NC^16AH0my)EKfAlS(pm)vlx>tqink`5-qDd}Ow)ItH+^Sjka1m=&E z4hX4LpxeR4d@Ik5QF$|EIj58mNP06QCIx$rn}Iw=6;>V<(0e<+%&IT~R!bY!yKV)4 zcCl)xeMi8PY(`phF&Ba(ZhyAAyyLF$yyy|(lwZnY6t$d{Se&kp`#y8Go5FRLa(!2B zxw9V@$9g$E2=?4Z|Mgh_YX!K9?XuH}%hq`TUWhs)2N@Uq-~7%FN57tGFK><~qAk|4 z-dUVcRvB8HB0VeAbT2WIEn~Z2dmqVY#3Ik6a5uLI!x6~Ba|3wYN(*~1gOW62X2MPA zEScEYt9g5L`RS!u7_C^OjR@)ks*$^e6blim}{8QEgU7}Y1Wk~DXE&O z5IcvQanw$p6$k52)742VqAPzJ2W6&hD7h0mz+kobvHwwobg-zWNw&c+%jp%6wSRjJ z_dv8@Y3$U@(ksw|QNBSmr>j12pg%kY9L?PfAEh~%8lu4^?l6{28vRPs%@XFni(9iP$4)F{V>V}3-0H%m*LgStD*|4>m8KSduuor z+8g*C>#QakbeT`er}aI$8YM95mDA^IIaJGv(?bebkNjOrzY6>C+a%4YAJz3I+xy^brJT4F9bnRDZ z5iIOW6e8R_e86_ICcu6qV%YJ*wyZL=J9g-MrmQorZdq@PWN6$tfBlt?oATS!eZo__ zUYWs$GRCRADjlS@KaIctTX|N6q08g|GVqOQ^9lOlk>lb*zCG^FyZp8Wc${bV9_Bsu zdFuEY^69$?mx_*APW_eP#}7MS#*s~hIR%$vSSwLKF7zsFo}>dPECAU1VtXPW`49HYMRoS$Cw`{F{AbbCqj}CK6N*o z0J9!RH{l_cG{W-gU@)Qrm{G^&iRg}Kjmo;kIcGZ!Y?OP_zrRk?FY^mEDfna5#({5M zk54Q!M!J;##JD@(_}oN!?Tw1s>@cw%4zl09liz= z@)+9Z7V`KF5J?`AV@*6W;4MAW+$X&z82pqn@~t}EzvT2evjIExaBOesLUerQ?R|gL ze{XyLY}oBy+3m;H^R}h^?$3{52$1%?ISIanFzbkezss#{&@WM%ygk0t^t@ModM*L+ z`VMUDIT(!I!lnSd`?$KrfV!Lgcso)F3#H9!rXndW@b!NHF@b*#nJ>U_@ zt7Y_%kNQ{w;cTMoakp=O&{ofQ{~_bM+vGocxb|zN%yRFVbhip$=mu;fd57+6WmLOu z35aKP7d4+dN}u@eUq7D3e5b!>bbN)L<$>lNx@~SbKka^nn7^*NttUF2FHj{!YW`;M z){k!@Yw_&guD5#+ZfCGJ^Rc1b`{r9H|Ju&H)(hMHI}d>X{QzJP?s3Ce3JlD5$3gfB z(GqjE9N2&@W<9Qq0&W&vUHu<7{p~hZ14?{=-(YmrlP9Md-)`e+Hs~!O_nk7zV|LK&8&7UJdy5{| z_WdLve!Jfs^I8A!gW=;d-?+|h_Zu=1D@%=3<#3gmJO;!Pzr@`De8dR1w@ zy1iGB5&4=Hz`>J}CH(8n>dSn?fu*(Ifk!*h!U&wy*70&h;CXDZxJrfNHO!B3?`1^~ z;E_CyyY-N>lALc6v2AWCzW^Im*}(hTDn@zkq1^wW?Ja=g$dWBkTMQO6Gh57Ti&+*k zGc!Zk7F%SI#bhyq#mo#A%VK6`)^E?-ncbQ7?0fs;|Bk4*(H$LC-Bp=+&&`{84r=q1 z@+(%$oh0oc@rl5ZfrK$f6{7j5b;BQZB=NC}4G!BZ*L#t3gR^0%qq1W9E zS5j#Lx*13)SS7{-B~sM{&AHOoTUs5hMvLp?i??$gE%j;Mif?IvFBqLv%b00)Z8@CB zMDx)!o1ZEzEFC3L&SlU4K-SiS_|lwNfVjtlUy1G`-N;Og$mw`&l!K`e+1URUy*fdaCy#JMA@*gO{k3mJ3Vvy zc^WL0UeITG|7|7dGyjf2xgo68+m!q0-EZOZqxH>FGyd8d}YIq8cnkIn2$} zar9(NdR;k*#CBWiD$@Up-7Oo zHmWzZC}u<%>6%VSL14jsizT<9C15})=&;_zD!kc`^jGM*a|v%X%`J*8JbfK7Y7LyZ zy*ky>ecXsnUVc2^_kHZIxIVfg^uiL&_C=_&bhkZRAS_}fxe^FNR3mi#0htzh`AF-y zjgLt%tSl={BN{ZxEX+|jb~&=-#k%)HNN+iYXt5ZZvN~Z*ATp>(uB=Fot2LuUHO~-t z>?=9%%ctrk=p7p_8;X4ixsXZGrM zI59LrrCe^Y4;Qs$^g$y>2n0NhkpSPrDtIR17hy`JEM_6XTXGrS8-w5n_j@KuRxkK! zH>G=2p)?Z9n~Na&YFx(Gvr?{C0TMOMaaXHH)60A~lp0&DY{E4nnrnHC8f@&I4}%-; zmYH@9t_IBy2m2@Ii2@m)SAR4=2Kn-iy9Hlu8ccIem)cgY%lRMF0gnv?*MO)dFLfz$ zq0WA105Ug0>~*364@V|s^|@c^dF4Le@aTm9P;2Z}OgKAlo{@XEx9^hJXyc7Xa2nO_ ztvuCX1@CRO8sgNM9dR{Zdpc$j5Glj1#7pPMEM}Qp5?p}ZE2+WU@- zXz4FSM<(W2`B)&E6^E!)zG=r6Ezpo){m}i?Rw&u67#3YfgA-~RF-AhDLisU8+{8v` zSIxLakUH1$Z5otIR!+T<;&55~)Y_e=DaU=aeAtNYAHX~M-+=c&a5wP(JMg|&EBuHz(bWg|u7hPUdu|w<%*w zsZSN4m|i?Y2y^2>%8*m7I;CE*Z9M2W^<33)ZMF6*@}RQQ9UDZTwX)SNT>rtnZZRxX zU!2O;Q_^4w)rDww_e!|bwesUIKbr8v+Yax2vX$-mrdHlVfw}#X>CP>+nH`eza^QIP z91#;tJz`bHCeCMMz|TYUn{v^d`&aEZjNTu+35PkLFX0n?3=gwQ130`C?euOOFA$u{ zzP}e`n$MZEwU`z>p0WKQFlH-R=+mnl-DeY6Dl6jpBl({6&b{ktz=9kl^Dv46tpP(L z<@ghIjLF?{OLX3VBB5|lUG%pviF*LyCf|B+v)!rY6K}CrWr>gVDBrx;Xhe?pGbgW^ z7v8pFB;7%33%w*S(tO~-(kJcCTe+rlA9t~b>oYvgzY7z8`TV1Oi&gq|<%cBLDK zjvVfC3|1@nGiB{E12DV1b;aEN#87*Te9&9pOggJIGwYbH|BPk}h?JLYTphz*J-zS> zobTRGTDhWvxYxDCD%;n!1ysucy0&KpTR^fLNS}{{yP^VnNMCbxcu0rOAKZ#*7G5)d z!+WplTvW8wT6{X~VHeK%3@ryhF5<}N>B$k8Ev0(6ZcQZuy~l881PtlOXM7;Z+B$p; z=e#EXcKkN5{=5YqnnU0q$E0;@=2WobMtj+6ka6LlIuGmsZGoY*?AZRE9YiA7{Nw^) z=<8KZFSpRQJgZMc(REp!heNem zq>RU9%(eSvgqO#2eaoiqa}(kO-}7^g(^004iUYo2zb1}XRU%g~QjO-v&L8Af*X6;} zlomCr6O^)9`^bFFlC}+1k|UQ(*`=kEU*%q-0R^_|qLgu&;EBq{$sPE%1L%Q}bO&#@ zIl69z2nf&)a!b=DQYM!8?mmA7!j`G<=ZpdIJN z@kslb{?ildL=)0q4B+qI0`Kv{P27?ma;R5MMmN_lc(sn~sdKrxC*%hm&E(sKx)0oF zO>-2P*-4dE!hKSYY)B5|DWb>f4pddXe(j-pw>&(xI--tk)vt^UofT4E{8hkz@&YD4 z+q@tlY<~?-A!agzL1r|&(49oHyG7qvt0=HIT4?%Rq7q|W?UvdP}Zy3CkyC*aL( z$j8onS&BBKyTGcky#x$a=Q9fQJ=Qw1;UWrpwLphUK(G z)1FXc1)m+A_*n~FWkFJ{i9REq$B6dd^+Z;S(ve!yWE(o$O#r+1u_ZL5C+Q}-79I)Pc z`h0kJ5;!QZO6vKNM#m3{Xnk65raf`IG|ScsZJ7MPiDrCYJ^kS>yy4Nd=49w)LU6-Z zG2S!TXuO5`0Cu^K;<2nAM1s`z0D=~tB}S^+=<>jWNb^dd@P|tDXG4QVc?xTs;Zo;l zeXZc<3Nd9G20_V5*P^G3`H5cjZ&_j4<=xxt7EBm9M$wMi72P?=V>KFsgCzwbRemGX z-L%D4HgPfVW~I`OiWIJ6hNt&d){?A(GM9q3(qJ8RZwz#e{ zYPl_&Tl58sT0MH*SwU+$ye3wHNnKj3=kSVaO;$i^n)0Q{`>Vm!n1D(Pgjt z=M%jk+(y}BU*|#&uH{R!Z-U=$x{GR$aeVF%a?1vN@5t&r9{W|)R9`hYTm=v@=&JL- z!?-D%dG29%|Bm*psIgI>fnEsJJ3dYBb)#Nw{XAr7K6%tLH1{7 zXlbNp>S$nN;%4V)rS~5%_AiU_VfU3^TxZVBG=~XU`E~9+<$aXHGQ=%*&RTMVC-`B z4F@Lf#e!+(BB(Qlj#sY&Qax1KX=#)8&9MNjNLLgLWQI&{*5xui9U+u~6w{L>k!ng# z6?$B^4jkm_asj--TlDf3LBsSMJ$Pg*1@$vWGla)iGFW+QBItUdMov!kX#`lninLt# zASMq7I=N(Oq&P<2_A*Jt{)&*N=Jrh^=?K*x`2a4ZsfmnU&DCmtBISZ$o7Q}daZ-FN z-kR2NL!L2V%>2s-%_*wRB6h5W;Ki%OIcfjhZ%L4mNu>nU&|=|m?ks|y6YmD&V$cYZ zsr4{M;>t~fE1mOtYDLYCw4h;uO1@c%m(0I2~8_71gLtPF2Wy8-xPZr zaej4!WHqV1jOUh)_tjFp*CCbIbHDgY)!_d~AAs!dr}P2mKeqM$J8Sr-{=wfE!~d>- z05F6wLKi6ff1-Z?wOoGibLRbd2>u`c5QyG@ox#|`$(i25_Lm|EfAi1&>?Qv}34!-N z{}AABy!y{_2!Hb<{#_0Mk9a?Z5aix-Al~%9m4Nuy-wym+Jo!Tu;io3T-&{COW!@2_ ziQv<#cCbO=&_kYOywG5M5F##@n=}{I8$I7dfm}z567#|jGUw#DF{9LaBCKG{k2vKU z=RsPtC?o5x$pseA_;mIO4?q|aS=oWUH_gyeXuf+>Rdd9Amm%Hce3(^ z9O4j}&XnX(2r25pn$EFbUhHu8YJL>#klJ%h7YZzL%b}EK{?S9T0ep81L-2IS!oW4` zt&QQfMp~1%=3WX@th34sEnA-eD16nVMk#4c18!E)K(Ywf&7Z{0s0_8GNSi17DsULm-qIxx5o91xuNA&tvup0x2Kf1><K_DRvNEX4C1|#P9R0~ATT*aK!u_85OyC&ip5%e=!v<=!B8XfD zrMVn80B98n@f}9OEuybZ?UF$UUxV)P(o~C*d=llZY3rkEXETS?Em(`Fr#TFwj6VpS zNiO&K=L2s~B!tZzol|Gmd;BdHcpAH01$lqnFNH z9(7GndRs%UGM&ICb8#*tAOWjSvvw(p)hf;FyI7oTp!eQX3Z4p!Iz~RBAH$cMlsjyc z6e~22&fL^ntyy+=cm!6T%w6hN7L|vdx0$K<2vC5^WkW9FeyVCD1ftV!B@--(tgnpl zX3sp>BktJ22D82H0Tnq94v{ySn)Q9sJIl`Pog1<)>6`I=F8BM%h{lJr`Ybz7o0i>b z@W+tmns1Ifl`koIDv_UmYqkEDiT+=f0O+R^c$*Y6SucIML6$5hdliyN{OKOprEZlE5F>oq>E~W_zNAe-CnqOd zVc6hzrV^^Ly_pE)h1 z9Eyo8gz)=moV^{A-fWp~CeFj>e8dV7X( zrS`t(o==qR^f0NDsx4;)^HGO$Ku>wm^yn~WRxYc%Aw7e?j6fu^Bq1|<@7m5@uGhTO z{6y#b3Z5lvNl^hp(aYsMxbck!%}Ag}&RXh##jJ2EDp{^_0(BBnvQ0WK&pU*9sWI~n zcUEJLK-P!yjc8{92sYF)_$S^e6oU9vcsEx0V;r*t^{i=uSvVh>hen@Y^4tus1{LgK66_+(JG^ok2eTa~yf9Z?IFug~^^SH%*$!8H2QQ-&eBagYip zTeqR*sAWwW&9Fk8^}cM6dH);9_SJ7B+cdh>a*|y?NwyJ6g|Fe3dmP#ri~W6HQJ2)m z(@O=3kKtf%%#Fdav`1C!NLWXXVUYTTf8|s+H3qV(Zgx5)Xu#!*8R~~_#VoIxtp9B&FZSAG=-IG^F3gf!zvROiKSyV5;Hb z+M_*N z9H>x!el1?jXH35kt~jv%BAx%UhR>eaCDzZXv0q2LzYS4(YX59Z`9rtuHv!=PM7aHV zMj}!SWF+b!r1Lv+{Y&)wQ(IX5zb{jCl;lA%54|?Es=q_ib#to|qOc41$(ld{{KIEg zgSPBL5b1W0Z45^U>-?fbnS?hS;(QcRoA`?KMgy9gTrl`(s&aNq-!VUL>$MlKcB0ED zL@Y??OR$XUZ#x!vq2K($gpK+GfJ$CY3@LXq5ba-F9Ph5*+`-5z2~D=E;}*ckqYpmT z++N8F4;dw4+rIUJ5?2l zh35VHJY~7gU)ib?v-33NvcIU%%6m{Cq?+pv(B*7*QuB;D3QJR924oAh1A|f;NreMv zO&|Rx)e)3Uhh1_$Xv4jSxlPDTl-a(p(ZM>43VG2&P2oR>Uucga1SW4lZO!T;TJja1 zi~wn;|Em|Np$WMrcVSIuwz`?t*X~VASR>xyebxLN=^`S1moO1ud zKx92$Y(;qC(!0txk&q3K=9#WV&=zu)@)6HJ`YG@9U=dc2gGlvU-c|dfQO=A>LpG^A zJ^3L|rM_l9Go#GDY>tgz<0urbeGA#5TbJA;vqQY=@TnYM|$bFG+Wnq_w9q`k3Tr@L4@T+ki1se-tP zu%C+%d9>#dzNl9YKX4pK-bJ!RDL{GRkNw(ViGvb&EPZZlJ^xFsBxOP5f&<7bA3+l{ z*XzFxV*j-IKW6EFwqyOmTyvBcZRa`ADJgC_<<2LTDJ&X8zrJVG%&}Or?R-aWj>2Yc z2=Ofxtck`vsv@y3T54Pl|Dd$f_6n|XhvEE%7tYdAVHuPD4q^_MtJVw-6YSTB5fVY4 zZQhN{Z{JKHX40<#o5wF8@CID`Q2A(vMi|!%!`x*bEOFHX(K!#BS}Ls_#wBo(;I+}O zvQ@Fb7`*Y7bkGb_Jjg?p%W;E&t`gN94w=sE%bV;zQ;852iA1dB(Q=KW4keFmms``rCm*h)& z`ID0J`Gb+~$+vo0=!d1Ep|oUP7%wLv1M%|j4xx)=nm@^AjzlK=`3D`)C2FtxWBI?-9DuwRSE51qjK$3$M|cbo)7SvQ(oxyf zYX2E)8vXsL>T5UKh||>i6vmd=GDr=a5972i7K%8Fy;bY5_+)@9_sRKBALU-_owfVV z$~hw+AH(HP1tkjwd86ZEY~nzYd1Jh_V-4lvKxY$$H(8?lf|-=4c+Ok zlL@8-w0op%i6p~y#tdJO?l*$LFq%nJ>B<)JaDw5ncE+dKa1F){dHAc(0s#huYAKaUBN)xr7xu1d0-mMY zT-ZlIQ=~3F^S85lJ_bJ*gd>V=%%^{u(jZhoTYE52WJtZp9}IsU|4*D;#J{;e~n&4jPvPpt=yiz!~DRWuTalR8RvA)j`MaCs~() zvH*QaRu+m70yJ7HK*d^u#+OY{019aQFbvg>02+nop^orCBg-|^r=MdpDzrK7%gcC5 zdT3S9TOWGp%TJ)usSa9Q12hhyz?`B1zn+qRk4^uU@%dTHt!(1%{Qo-5=)EwdcnyMa zUqN9Il+px#qZRnSUgj?e#$RZnhmW^Aetm-swc=HHMydbi!-r17cQ_6r;M9Q|EbMFV zv5m#BMcnU(3GQOU` zFw~D;VJ2lqV03~3FNHrH3w%B4G>ONXKT{c_>w=eC(_!Q)@UXfFgM^;$yxL=2or`_X zje|ET-((cz^l{>ow)tS8Jl~5-?s4(nCQL`&+yj&PA4k@sP95!g$+?+xX8kWq#Yu&Dh-^$8dIr5%HD_Ox@Bgpg5jCNc4(9}u4 zR2S`v=asb)K(i>u*;`lK8Pe^%O-J%@ULSVBw}bg2cgrWj_012sHY}urtMTJwH;fk2 ztFCd9xLI|TBM@aqlT@LKr2FWg{T+|q7gG+tTwsk|Y(z-JCcl$k_)S?PA~Ss*jLa>B zIhU=BE$eR4;qsr`5*mGzSFAzHR|n9+{C8P4VLRZL=KSZ>g zzAt^Kzp{Jb79(lNzzC?OYa)FM3erIJC0ZriYS`BoNRc1E8lY^GWo*R#)Xr_BlKy6Q zN)MeZeQN4)4A!_%sXV$N>KXN&FKy$l+ClIAk522r@5>pKXtT6l(<2rW(1#_JdpBTI zbY5k95V%F?2~dTqb7-DdP{z+-SSAFB30d(CGmo(RYJFHdKEc3XVvk;q%B;4ZNU4+& zKKo=Y?nvSFICP7c+d#Vw%vCNvmF*F!WQj3!Lu6*FPB;4SN;~a#Nhz4vM_Col$+w;J zE_tJ##xU#55Lj=5%BwS2KYS~2L3>iEa>0p6b+rMjM*QB}ZZsCKR%dl_+NrMn+7=3h zZ7)JsaI!nC%@G#(aL4?$&&y``wg@dOAICZ}mUd(kiYzp26iyGT*#D}>Ikg_jDsI<` z0KY!Hj^%^fnfVDu{!)AxBblYo6f%eXt@^(Ere?@mq@~QO5N5sG{z!y}k@YS1K!BM8 z)%Thk0c;w5z>wz3UrC?B+T*kf)A=Q5cGtNqm>1=Ax7-WB)jm2D99^3D_N8xychrl= z=FO_tnJaA^^I;0b6@0_4@L$UGBb+=)h>dRQN%E;lS7Ex%aoRXy^Q`!yxd#)t$jgmM zkrJdKD9S0c%bnv<5a$V&F)2jvAUn2R>p2={;w6RBR2m}epb=(h$Gi?zHV)eJn2g7q z2RAFKe(w?m&{Jb>qsK*gi0Ku4S588yk<@?7VJy0?{DGRUCVcP83Rk*M{6rFx?o6MI z-m(2OAw!yBN&LDv8y0zF0J$$33x;T|D}?mping4dg3zQM=STY0Cc53AFOU>ChH(Zr zPUp^NM1NlT_7cT+fZXTB&x0NKFFp9*GylJE-ha>hU!xEy1c7GUR8Z9TohRitzXkqv zbMJSj|I6h5Z#n;8Try6@=BEzw(}1#@K;0{J?1Q=}|pz7)!hYC6IwM_v2NIynJ_aF_T||OXw)Ah9^%+ zDj?T0vX0*>QURTw_glXI!UhWP)R?(|`Z6N?8s$o6mbqOcKRaopOI*!Baq#0qEb}x8 zUN{`VplKAXT6oj9@r_d055cZgAtKuB70v>Fy+`yiwPm%VXvNt8$9=hz_M@e9FbP8G zDI85cm{O?1f@J{5=k>;Z{2J&}yc%>1LKb)PywK707@tZcF)>m#|Lwk2Mt3IIiYntUtmOb3?$j*iy@vk-kOTz(LQO@nwC1^Q&36-=}1i?eaL&b)*uJtI)p z&!2U$2{gHXbjn!+BFRRGYO91Y2YuF1S)x!+*5r>foPzM4Lc<0~D}Ff$@7 zNNKS-dxbSuKw>l;tmbaWh}pm=RFfFG1mAyt6ZuAzHeZJ}7atEW-?cq_LH&Gh@H5}f ze)vxJZe73UzCG-`JuDrHRc;v}F9i{l@1G;)tk}@lnR5f$4#(e-B8l$%=+KQkY*T**9p~*Pj8f45NJtKRXFpnhpfjzu(_7QIl*YB)h z3ty7i1K)_n&T2ea!ja`J`UV+*QjsEJ(&ZZ#B;V$hloBu(uAA?_+46Ob5mO~P<~rWk zJ^ivZTVM+4wZ$~s+oCgGQaeR2E);yWto*Oh=yS;nG}UZr!FIM9Xov&ZQMw~_EL#ti(=fNS(@7Iiv0(O zS&4hRV1|*+cSwbz&`j0KuS}STY__N-wbfQ)SF3?tr1vOaIrcR34gRpHmhXhz2TTt& z5uG3a5wBTw^d%qW_;w0+d>ZZ;)VI@`wmPvY-Z8V0bcaI}l5@T*nAt8 z5yF=!@<`1vOI?JXbS9E|sL9ccAR6AM=6)->Dj3hXwxJOjQ=Ps7<%~qAd?yYYa@^}r zOn~~wZNxrCrM{eChB*kvHX>+uR3lq+(nOWTL1D)zH(K8$%TTyLK^Tj%JV}o^CdVmr zwOQBqUL&gKy+d#Rh6zuz7S;^ShSt*;l*cjRxSXf)wn*A3WJ!V}j zqSTWPV}7@7k-7#tZB<*T$rV*y(&`@I=wwFFC+udLzUBs_bk<$ zy$U6~bWGzF(Y1Gl)DplrOF}{ICMXEI#I=66IALC2K4U#(>vDm&L$y~@w#}c8{D}-A z1v2eAn-)X$2b4|8Z6_=*dV&b-94SOyAXRZ2pS60j$d`f)SvS}GPGxOcE(^v+#VM@& zgzyH4NR4Q&@t2F4k1t_??C*iFS*K$TDRJv!-%`8i+eur>VwF{JzDX3Xpuddj3e|_s zO8u0bp9$OHXba^?PWReen5*JTvj;Xq42^^@lq1*-thtf_=?hyj46L_%UkBaMzreG; zSDFs*GEwpsv? z@8m{o0*(iPP26%P!!mYnX^2+WeN75^;8}*~dxxa^bXtsgoCfKo`wk?!iyqr?75ctq z(xPjN&AsOl8CFv`XJ6o7nT5$F6>b|{rCk{5bWl^bDTJ5~R%k}KoU$C$P{oH|6MUhXvt-?83$^T6897w$Bj#U-HcKQkv48|V^!W~<>h)xHP?_1 z$J^l|&lw!+*SZya>AO+V9{hTH(}51=xar`chhH}YWCVKbR<^a&(r~zc*%vI7FUQS z2;e;t|1N;uBcDk{`E%usw8> zn@`Ugqe(R0c~Xe;Eg92nu8@EF3uCsKSo^L!$dTYdE=lo^K>IiD`1?i`sKV-x`1*@h z_y7gz$a&)5)9PCYNRk9gMZmF|Iu-4c3( z_KUjX>t7`h?>SuTzM>j>2L-K1Wyc`iHMq#sEnq=}$+o{!n!qR(+}MsL0#qs4>yM$3 zzt(5MI7B1DrcI=%;?`x=TYarmY}Nj1M0@3t3+g%$Vj^!xU6aqO0B(Pl3i;&ty&5$P zTK!(Uwbfi{Yv%=#*%k6e9U@fN3q3xn+DSd|DK-U5Xy! zzMxv|jzJH--^*Ps-EYRS3=p_RB8s@%esEA=2fOhS{ZX3Hp6~2~e3>;4HZjmz)$KiL z!lf_37m*cpZ^w#(buGSZmb(22HTKjkJ;fnauN7Wvt1_cuCpA;Doz7HWeOFy9t(u#$ z%X5oqt8(u@<^O83#HTbr(=NLD0Uja0WDwpLad!XBuw1H+MVirJG_ZwvbKSr$e{O^G z1D2#1{^U8Npv1_7@qZreuajfHvmE^0qy1<4{*Oodx0_bXztgn2ky22~fhK4dknQmQ zC)@ec-qkNm#^!(IJ>)?09)kAU}M*s(L8k-!$Z|aEnxV@ zg*-8lvC0&0kF3eD3v~S^>U6R-RK7Lc!=rj%F(h7$Ai!hy66eKG>-)Tos%fze<0P?9 z1wfL_lWJ+d*uYo=yX+eaN*t_D@y|w6|U$+DiakCSU`fIATEi8swveJ>bXIq9#y}kR4kdW1wUuwK%TXNZT6rf z`?A}U2tVP@xedds?p>km#mswJM42PSm;j(`e57HC!I{kIA46jyIzP{Hc+~f1iyVdb zb$>7~7(QLUKTN>d2#dAw&`$un^GoRNzsbCNQ^`hZ;1pznHw)uSiuu%}&3;0WrQ->OmGvEO&UOhqHA@H9p^?y_Q z_=WN2sDg+EMUm4qN~S9xf{l{(?cE{Kkd@W@r^y^%QuOw;tJJh3(W>x##yxy>rddSb zVM?I|CHF4n_N9P7+9pw3`VVj{xt2h@0C4^yw+p7g#kpyj(V4~Ni;JOP85t22zSgBj z=I23lK&UkfE6w4i@}%Dko8%L<>$}pYP^W}d;c!b)o!8%yr+_#0pYbwRJwr2vQ*lLQ zjdx+f-&4La%DVg#?g$mWCAOo^&=HoG#c_vY1c5oWfGsTFyIZ&S>@QEiAqL{^Ykr%z zBa1hGbC0|dYnwFk{YP$14iK^g_BiN_D5hJ%4D_jib1z5NjtX5=vmQbg%>=18k6E^Q z~2 zF@j7z6ZX^fy8}OX707wHd<7()%BqO7cQ(|ostTn0Qq;&q71E)ydf~*+rh6YWBqp+y8@@>7!A(a=$0X)_yU9CKcJV1{#Uf-SWN=!$_>jp*cMi9ix83F(OW;4Yipr(J zYN~#8`(g*F@eoV%f7WqTHW=5UDDB3_pkarpTvZJ*ny{{fE*CF+2Y>%CxHt^8C_)9~ z@+Su7>8N7Lu*|^6-dD3|Iiy&x`LZOAkjI=3DN;TW$4O(f}Z{W?9OO)AVA0xMQf5s8J!1SbeNQswV?J(di%!H&mJ;QH*5kz~D zqRbg>yd(zx?I5zF{T)z?M>#A5t5f<^-^K3Nof24qSC-p@rVtR-ie1ND5tCuWHxpVMAXHx;Hwqm zu%0xcO@Ox=*6gZ5m z$G)iU_3`T>e?2_@>$*DKT(o=qsTpy|NYtl7haQ6qN=%er0WV&$QR^;4Rz7L|~BF8%s*&U<4%sa#eyR87kPyAo~ zRw3r9fEwY1ie6T%gv#Yv;a=Qcy+erg1W8vB`7(#iZCteAggPbdt*;i(TS{ykc=72@ zY#nBnS?Z=G7BajX6U3>24~kG}?%{51VuCSxELDL0-e+oW+!Jf_kNAx2sx%~tCQ?sD zg0q+W53kjTt==X@H`YAoCIdh8Xg(h+$u?&bKpKS_w{Q%#wQsqKTU#4CFA?)jR##-YCSe<2*%r;JS5k0Vwyd_y|;@#m|QTwpy zRNLB1Fj()vz|%dihfGjmn8eS*FjM0~wu(gZvi*k7W(6Zw_r5HEaBfoknbdAKb;Rhm zh0ls1CL}<}yYbIb8qq&X!@$HXi=n8$^)!sXV1V?8x&54-D1%jdgCz56bx={LaQH*O zATp{wobXCQ0i7X+2JWu?8~J#ZJurk-j1`OpYzwhd#+e~E;j%?T3S)R%4==Z@k5jsZ z11N4IV_Rk5p3~TL(w<53Y%>V_w|XU+cokVLWOG15g^&XYyHRHb0*;?1wiP&gVxCQx z`mjw;0^<95OFJ}ES!b^A{K4iv6A9!33WHM4&EI`aESG7p31VMq&(Y|y+cox3H6lKV z?6Rx4<@71Rs|6x5rC?Zgz)#$2@h*oD1Rd`@VN> zJ97Y-SV8Msr#JRrbd}duc6K{vv&hG;$I_M4V!wZR{J2PUi^M1X8jflL=p#pKki zp9NtTVlES6y|v!Dp0*FiAK*G*#C11p*4sKyLd7u#R)RX-vk{&O;;3uG0H#L`yY9{e-?!O!cKEO3xY)RuzL=9^^W9GL*yhdi~?da z>#F)O$o=zqNHUqSC+Pd!IQl8Bd#h8Ui+EJM5wXu--mvHEQS01L#?L@vlcRAsUn;3OQ`HOzQGzgZhQHd)jxel3$OMFs?*g**8 z^62fF%F9D*eDHI`ORNZYad6xuwB-d+ym&wIj74%bf{GPsPH4SMNiX}Y7V%YxSDu2e zN8Mjk3!0{v;*P*wBawq8e(SVuPK4Cfv^CxsY0~RF#Vsa42nj4G&ntOQObC4lqz<$T zZX?YnACCceiAXRS-i9*RARW$8XEGQboEU!8^h#&sPxG)OtA}egdi`Az9 ztR+7yigH6?#G1@Gvaex5&v->X!rls@wUKV_K;yl~s;(~HnK7Q{K0X1$9q!aF-$bc( z_ECP|_LMRgy_lpbORLFY0xn9_@Ek<=fVL^m(4G{nB259mD!uf%XaBIgnPhxPoxbAM zmLGxt;rsTY%G|+^%~$k8nNi~9+ahuskmgx1a~O%2zfx5Ay+81GskeXa-T5!@3MIEI z}JDoob!7=^k$i8l_^gVyNED9O}{9x5ItJ^-PYkoNh@ji5J7I7*L`W22jO)V#RmJM7DC9i8j*Mg%zlpbl)g%!FX_gdpx&}0=Yu? zu?Z*IYxhC61kkKb_vOi-qQihEOztR~Qkyf6mNU7kR+Bl?U z8-QG)g};nP+5o=4(^rVf?Cqu=Zpgj5#z!DtIm3OzG%)ZzN@u^%(|rn;>ys|p)nOp)P5fMMy5XDcAq7N-GKut>H#qi&W^JR^`S2`Z!an|iU_jd& zj{{5<3+1M-uV`4I*OHuE1`@%}-l3$LzN(}T#@_&c?C9ofoo91L4uUgT`u-YM^NgB< zJBvXD(d>QRHjfT*uLC{C4H-^)-AO;8RSUs!F9l+hMW5B&r9Z?(y#H9VqioQ_mpY<) z1i^Qb-SqrU{20i)Z&-bMwdDY7OZoX8s?X*{&)HO^UQK2YHcAEWn_xWGmZB=G znZ_MHux%*>w2k5fBaDd&GKalc$6haFH(mU&@+y1(W_xaFNh?bZvba9CF6_;*;PLTc zGpi5}7;zo8p8XVd#H704lOb3)BX)43swM0!yScY+%NEP-rKjA?%gnnC2jbVjM?!4& z#HDt<>x};3Gggcny%?{d=?PvoD`0RR@tr!GE*b21p@omiq?hcudfzhSpd+l{2iU5j z)Zb*G$s@c|YA_a>uERI)lb(?q*_$(Zl~8huXYnC0$3YP6%T0c`A=B*(zr?8izJSjz z`s17JpRH)zwenHHUXxQSevq$z1kmrYUZuUqc8ubl!=rqeFo!U&py*~BTk>8A>j4~^ zms-v?WL=K?T5I8}($v&6A~p%5IQ0&ys;<7#d#DinJeVhtrr9UvhsBEaS%Th811NjZ zN&SJw7oLI)$gK8kgyCN0nk~gSZej0d^ugHGQ#2LI8OseV%DEmDcI5kmodJBTX;RvD z)Kgv$!~LAD{gqLc54<@j*cEOL+-!bOUAAq7?*$4&TDAgPNWf0~yp6^Of=`amWSbn8 zUHDVH(C{_U2iG4pQ!2K;^aVeh*NF`Vt$0L52ESo_Nq;6QQnupB=kS)bGwVHZT~x6^ zt-itsNP;TDZ0yuTwsDA0#<>6l!%EDRSem)$2Z{@k4^XarqMN7lJ`?#Jz6l!mrnKLk zC5gIjNZibz}{;GR(`lL%Au|{T~KV;w$ zw_?E>w#fxAqmpdcCfddI_B3%jKcuwa1R9(%2Xc)(%F!ojBWCNID>4SaaL0=$E9pw9 zUXjLLt@UR#0(uIrXioF3eFeE#T_Ci{W?-(zHfyK@W|m2%&Jv*+Tr2T4>fzZHHpDrH z?Dq64azFWyHmc(j1cdVlL6jc)Ns~IABSKIGy&<1e&ER}iD~IAtT9zV7!YhWvF!>Q0 z?BuP~0E^bpgYC#JD@z#{<=b>W6au`J&=d#j_~ zZ!4C^5QQp=M3BEHCr6ty#&C_pc|L@h5m<3sN)gvLCJ42(tCno5% z8`2Kvc|j3PbkJjKmwtJxjJDzL#2(TU;lT^HhU6rEYAl9Yz#aZ#mXHq2JV%n=oQSn) zjZ6h%ccBYEpy(T*f`M=npUcVs)lS&IUvsh}CmK?beu!1ZE9Qqdbf8SY?POGLwVz3w z55|j><#Q6V zdlLBDY!s+-4m&rEubh*_9@g?-ZguS=vIb~gG7v?0i{H5c9oASaum)biv>wK1QRye# zY(53^E+IuR;ytEH)Mx~@MUjoW^jncs4+o;#t8VeNST33DK6tS`&TX zkohEe-a#$-;Z!l=K(#X1>Rnagft{_CCA%Ckra;2=H7dU0(0g-G&>H%M%$S;onDH%- z8)W6FYjdRmpbtcMCl4g9)!DzZ+}X0CMreA+kc7R0cOABm{#YN3FCyu~lz5~koZ3EK z>XSDx7DQv~O#dlJT)+bzzpXkv9}5vW`H3bl0csJ-wZu74W^|7YHvRwM?5)G<_?k6Q z+}&M*1`QD03GVJr2=1p`stKO<${9m5P2=R23NK?GP12DBCzN!!Wp59m<4;|4zG_ouCTMxfh)$@H@5h$>y zb*f=G@Q4-Dwr|V?S^0_g;XHk&)G74i5M))Jiw{`d6*;dEPkRoow}@GFO{IdjY)#;+ zDU+PxiiWgl(1)z{(u$ol0^_i{C=(ke&oL9GcFyhFoJwov9Ru@GH2JddLpQeduDKbt zkku!jTpjft`sLBXQslx9GxEhDfXoFl{2pw-Od32Bry^d=mj-Dn6&6a?PU)y;qe}g$ zLg*NaRzG+%8`V5kN=oLNYNaoD;!f?`+D8S4i@I4jU4%BjMDz<^dJhb`x@-2Nn{bi^ zx<8a40xjx143X=tKr`P@uX-{BkG?Qu5@%`V(hf1#aDkqAaF^mYB?LEuKMD&;}Jkl=Dm zi=FH&@59|6)Kg5{xKY?Km>OXRmKtmvNVS_wxA@Q^=tmBDI><@mOk-g*Z~K`m2OTF8 z!}hwRVM2}lF-4XTl|7ZxZqU>>z45=eGpYtlx5-O1kDMww zq0iQ;9-irMK?~N=yg&;77QMRsOISkNS99@dLT9Xt!a~;}VGy-Fp@uvHSb%9Eii+wo z5AJa?cZ2fvYO(8>|J!;799!d!2~MHWnHQuh<{!f&x!U}F?SeccuPDp)_FPFC&Da%A zxp{dCyaQgHfwrI7J*04?qewaM;v zyZ#i_I!6D^g&P-BRLQKrG>UflE^1zRMA#f0++;~BidI|QHrlV6Y^Z&vJ}}R8L2{BN zU`3YrcwFMe`wD1rBAQs<$PI1rB4PM*MfYXt3!wS^{WO`!|3mZJFTp_gM+@8$eAMq) zX2T62#1bzn6^-ht>P*LlX&cBZAD+mFelgsr#;?0vK_uVw3L6)-=h~cwKXNN~4kxoL zq&Xif)Q*^8!P+E$7jQ@@2@c6+BEs#VpbKmg9z!Ksi0%ODw{@g&xiv*^`IyR^Ph^ut zBKQje2^nay>VrpFn0O;)eruFBCrpif9>m~oZaO)L^a&N}=hchKaa&a&8YytnH;l9r z=kHdVW2M=i6c6Pt#c46L?Ty+$n^Kq?{W|ADJU1*Hd)eV`ChIPflS*s9%QTpMBc`FQ zS@?jA)A0&8J(tYLOA|t~X74R@<~E2FYUdL9mI!-o#i9IU$JVgk6w_^rnoBASQ_EJs z?$SRjr5jqug@fuf`1^&3?=K;i);gsjUB$EoMY3Iox?fkFQUx;<)nXaj703G|2;OM# z*o^^3gxv7QOaf-BQHy2v;rbBSY|m-q53HriN3XX zMd?JPvld?c2*Ax&&-|-&2a`P)@O_ttBZD0fdcEIPdqcsU`=*O2v7{YdFGABwh+9@K z)cwH?uf$6sqFn2zc~dMx2Z9uHBt+X^+~$y>jOGTv#(Wf+98Q|nub#W&Qw)8XC8C)h z!(EeCetUdr)GM?8k~MgL8R8D4vR|bYl?to+cH~bnBM!xvHnJ( zz2&>}qfPHahxRkB5yHiRE*}}8eUfK#O1e~{f_?ADl#ZKAocfz`_g%fq`bJi(=4E=F z#Th#qQJPKt`(mk&uUQpKKne@(&-hn!75viWl6ZB(>-d(V6kfJR^*(J& zpQGcT{p)QQ*OTYOj7AgsTR#J(4O?2OB2t_-q<*@sTkz9DuTOqUaNpW!np`fT;mWZO z)RH{kZoBlUgzh~%pLX<{;l&o^z?XTG^(7IJKaTtPxt~+6&QJ6;!sHGw6|G(50S?#k z4eN1l!*aK4uobTPEvK}<&zm2n;rriW6{oq3?k^X3?9v?pHoJM z<-T)^F=tOFgLOE!LuZzLF?cz6H-z5TuIBO1#|`+K-c%S5(aT}mrhk?Glb&}(nxMxp z%(*GG`5HbER}~KyCc0ntFRJ_c9NYKMmLWWjy~HSx2O9OtQiZ`5xYs6{2Sz4t!m-2Z z*KMa<2&(+`=gGbHfmLq6OZ#Ekg++kb=OY7mSO{t4hAc!%TutK{jw0wMpyh47CD0f4T5ci6lGA^$y!?ww)&;~gk| zXPCno90jPHg_6lq7TdK>tPPvuSYg>{O%cf0JIcMaQ}G}3OjMvxd9Jl_D{-jGUh*Vm ze}EB0VaeVUN0g0qbR;9kesRUa&WuO%%)7}Cd01;j2|PK#WHJephDGTE@(p%EhG?o4 z4MSNXk|v!a`tamq_h5z4f(JZw93KgOmh@GJ4p$BG2|>Tzxdw`T`c}s0o850|Z30KC zGk%=O#z^^y+5PT92o%`m6q+D7EqhMS+pfhd7T{Nf&E6ZBdM}5<&_@>dkJfQFlG(6G_++<;N=ZC*l z$d^z5RN7+w-}@8(tMKT5yQBYqoC&K(1FV`*5QGp`?aAp%S8UqhFfiJE*m# zV^Mq*iP5BfBRP25LQ84lroww9T0IH+Od6%4k9;CHw7RCi=Mm6$Y0v!yg6F=m-rA_4 zQ248z$J0x&jFSG7jR)IIA-BJ_E`p%6d6Zz9bfamdDeN-#wB@Y(yq_C6p_huYQd|#% zR7@RS(U@*SNECWK#-j4>!TGYqPSm-_?vv_Me95xLY?$0xk0IfY$uD304XIdNL-%7-(s+|w7ldG}ecqIWw>N~-@%p!vMN zE}V6h#R{kH=KmX^2`hW8-{F}8q z%4gw8GVe4$AzBrvfFq-mY#zvth(Rri*uWG(K|%RJ6azkfh=#Jg=^lcqy3xni0ewS7 zGo5<*qip8dPjOkTA8J`^nQK{wED>rX58wy7^%U0A+ON84Y0Qm{;5(v1R!X6>v(bz+ zfZJgygS&O9!LA+g;eIk)xay`lmJTaNKIHW@><#g%w!W%R%&O`Z`{YO*`8aHbjP}K5!YoIw-5!${oYx0f^o-ttE~4` zLfM|pDYvzDwgGlVGVSqm36<0dhz(Tpz<~SS6J~hvB1^~VBhHFP>%HiG$3XkJ+c|gz z?0@gy*}lHNhTd`yUIkO$`!BSUck%leyFi#b?)wu<^K_EE(+mh4_LmP|m2rpHs?+W+ zZee8JKKao3grM3Lx$ui1^SiV{_;B<8Fe6_Bz*ZfRg2QWlFu#?TN#)rHT7#QRUL9R5S7y0o_I%2tyxZ5+b|CUW_5$0iR5H? z^BV&*&B!JC2Kv)cyi18Fhe5o@1!mnm!*BG}ZhvCApm1p18KD?!mrs84kJJjerL`L& z`Y9s5e4x3BOqyU-5d*0szOd8Wc-=vX7@>#?i!_nHx8hAEXhszw{-Ib;NgXI_w|#>y z`eS@&!och|_@%J+-VT7Mg5d|g8GT0>y-?fYP=`CmsobrbtPUtUchD#C;}Lo|z5qP0 zU$E-HI)RRx>nWSiQN?A3$m@o{x;%;CV!uq$#zW(0g10%i?e(IW!A3@{#**F_G$Wrb zPJphAhG*R4(RrrFTc-r1wSWS)?|dd3bQe82*BHL`lRdZ}&;}&!u=~yqy=TxnD|1nV zwNo5?TteFKH2&0OY+uB0mj(*lesQCD-V6ZdVuvYc#r$Ck%7&kRWf*X>3uC9(b-qo1Eo&ft+McdW!&q48ERtBDzc&zJ`q=|Qy8=!&s!bx*uhJ@&E00~Adw0Qm| zUpG?@T3I0-QvwxcZZ;-89(p8BtfP7cXTW~ZY?=v+eKEvtRc|LPofIM+g9TOUFO$>f z0l#M!$vL%m<$h?ee6|`|D#L2nB*#vP4c~dhE=&ae03okB6!Yqwcw?MEMOn|Q*w7_w z(ga9#4+PQ_d!x?F zi6eJEa8I4tWXXTXL2BFW+NXZb>E;$BY-%GvFj5$6Pxs{1kg-nMi5H500q ztaLt|1iC&k6IGnT_d2@fgNvMlsc8JKHMPTaQ+W~H3nf10dWTREbj)n6tP~DLW?l)X zz^(-Cy;j=ZS+lB4P^YUt_opcl8;XP^lRXxg z$Vbtu;5XNamVD>4vb8klwX>Fk`z^_=0pT|XV=;NfRUyC>Mr=`JwYXT5W`vuJD8%Vx z>-u%4jy+y~n(2Z#6UF7EcW^Kj3sA!kFp0RzG*`m^;hv^E{#zN-I4D7lUT#D2_of@~ zrS;QD32S$x3neoaJWt}N3B%p23gu|oG{e$G&L2$xGSh6Mk zsks^yd$_k$BaK4E4YSr4mpL!wnw(VqdDouCmF-P|u~UIvo=+id+Tv0vI(h+w23)^) zsw6LX^}_t}FY3l9`V>N5@_-+oDi=#TPW4Z)O~QZYn_Z=L!0L=#);~mGIzg&ZBcKb#CajAGN_i_-iXO6li5Ve?|Z;}bwC>WWQMun z3``MXuBAO?okN0viIm#*uV9K6)$*8nW3@m#l6O-D0N1 zBbR=tDg6HWo4JrqF)9iO)6t)hm)@&tA8s>Guj&iJT2-$fM3$g$kl@X~v~HJ{rDGN_ z6HAJR^@#u7j7wIJz1X}WAGfPXj30^9o16wqA>D*mVy^zZ>oP1;MRd*o$O82@LHDrw zl-F$^R7$eShn9#cK7MbRBQNX=dLIaAMh`H|D`aIzN(0d36{fG3v3T9%?=63+Tkw1S^D zTWPjSeOF3v`ogiUv1-`Y(AQ-D=dSOvO@p3K=iF-aE1bxg@$sLjta%iMahV-AYeNIQ zVsh*aLQhaIexSkcyhNU;arE5IeP2q)Kea@*v-k=t7^o1@tZJXT>lAyV^b`kw?;MER zD|LrHn#7bM0tg_OzpK|Gf|8^$->J`f25%<4<#AD_$S^(pkQ9egXA+r{oMN)s4Hv_r z8;@a!_w;}6F?mt{r5@poGiq1g%0Iyxrh~BHP1XFCd8REr=H{`f;uX$5TOaS&i@{=C z&)GqPI4L3lw;~uX1HS5hbUG8O?EOKpzOT^Gq|3mR1~|@L7nLf~48VePf~ep5W1!Ii z%JHWKHO%B6ZbiMpO)XN6Zs(n;-G7kzZ8=&>Ml|%b6VVUn`|7T6tjGS?mJT80@l3OY zD^tbJKA5Zpj)pwzcbS7mU~jSR$atZGLq#0ooa5K|qjVNOV+3NQFsq~%bW?oQm3|y7 z!uykW3eY<{UyZco?LIQJe|Een5FwY~P#&sqq+ia5DWJ%ptI4mtMcDLR`8mYBm748* zWp%;C-a+Et&KJ^kE#VTt=<^ij6&18079^sjxdIfe*< z*s!F1F`m$9i?O2k%w7*78jhIU$BjejqlQZEjP8c5Ak~ zCGHp>R<(q9^6IvEU}`wv8Bm6rZa z20CX&A4sGs4jzKKL$%_0o3p|)f7OPsDMYcbY%b$%{gIKlH>1}$?9Yc&LQu!{`8^p1 zPm2AS(AH`~2SUVty8Gp@p5}l)R|a$`^1*7#in(beXcRi4a_u_MYzzfAFNK;+$Oafr zl)b{5+;BklQBE3mFPdp-yJS*rM=(WBb#!OwX~o#^i{u>Lv^ z3vq<9sbWCC7D1Q9A^=&?#|ERW#PE{+cP$@-+X$;^Ttg{`EoN5A0^yvVc~`BRO#P@r z(4OY%lbv_j(&Kk^7w44VEw930PDMZwbz?+AGc*q_RS(7tQL&d z06Abo=X+}&3Z$1)gkcNPQsf_^Ua@v>6hfq_coI?BKN0V5;L9>W79}p9qpO+2B1OJR z#m?R)ai^JTpj=Z%MPO=~wvY+_j}$|x9uLnfo2{g|wvO)z+PBMmb#%*n0V^O&2E`%X ztM1RYx}r{~%q^sJQNc?m9=P%iJ&;7HpkX;Q%HaLVN;?$#B;N8mRj*BnfC z*O_sAp)ufo^bsYFj=(3z)T+6mRd&&H(a%YAc9ES_4BC#KTbTtPzg)x-hpCGa)cMfV zrX&&ep!kVI9TomgYpGE_YZzc^yvY?5=bjh!Be>sLX({u^6D2Bz3Lp;+J?n4}ChbNw z-w$AZQ6gaCK;FlMyoBQ6q|^5L{)tt4%5cLAqIHcR)fL@@-mtr+y!wQJgiGM_{=ni@ zVnSNAX0qUCF^3t5*f|7mx8{3T|E-`*fBlPDTZo%TNm19+6lMikkr+;>bP4^ucqi&0pQo3#6GL1tl$lK`$4}(t+XwtVF`b42C<8?nDo$7h%y|dCyEE#QK~HPGgd~+fC{jD%zZ|q;Gm{MAN>Wtp2IXbgMBYTuga!A?_PG-w?!1o8rx+^iHcuOmN*lwr zze04BQJ@+V$0LCGc2oR)ko zD74_tOCEX`ew&*ggxsg3XIr}HD#8N%5hFgj#Xv5H^boQc!XOT1Fo z*Yxge&ie%MR_bcZM!{%>kfcwZt-y+3Oi=~#!A|8c=rg=^d~@)c6BZctx4d;dkt=-( zwS@h?TRO_RKr<>3p-&Ey@DF)H_3hDl5vv0WVtl6w2I1RL3&Z|di#t)eE%N4X;TYpg z_*=l2@bTfeEyJ7YR8jSKnLF&(?ZS29uib|K%5X^7)vh0V;8 z)-2MjA;VNBjMuv!Ac)UwNbx7i>)AIUWY-4|?%LAA%bghDXi!8gaVW4gEoMTES)t~d z1M<(Rf?2_b?U#;_w=~he(DgO<4GcclHm&!(y7MP*DVM)@oRaOo^aNv~4jh$a#qI4_ zpX51|yRWTqg3`QI#XB?D&)Y9)DhY3#jcV4%MIP$7315+8yfXbpieHMq?jKjZuFU}E z4UEQb$<4?B5DUXwpqhxzUNZlYcy;td{YvT)bKh;NY9Q`gC9BJ+n#dMTIjNPmDKO2n z>Jf3>Ks5YLfxGce&~=z3 zE4-JkeJ3VYDU;^Iv(wW`j?!XwT4y`(V{(a@L)1WfUjG9j{~sa95u{ywO&=j3pq?QAzZ?SpFF^R8+2>jRrRc-|Qo#G) zct1`Ikbjc&d1bdwZ$nTrqf>o^I_42%3Uu|67LyLAzH{}sBIR3kq4|nk$KA;9!ENbb z!O6jR*x3uOjr$1_nICqc?+fm4u@c}zH3J3(4-_Qa5C%%BF+D#^E*2JMRJ0Q&mA>@h z+T&YR+S=iw!KN(Ddoj_{?DKOF$lv1}b-I?75ys)Q-pL zO2|-ek?L(jLRA|J5enTJD^lCqHJ-Lac%zOgHdW2-CbYFABqFjZP&4rh+sfQ>F}ZYG zkr{5w7@>Qs`FcmNF=tKxg=ptF7`?w(nz$kadbH@Uhw7|#bU1%Sc(;n4#}Eli%{+ZP zGXLxoHIkI*@PtHnl5@0=d$73OtlHjNsJI|BG`{OCGs1OyVi^a%Jp-W((>OL83bo3O z7h!q3_aaRAz)X2~H~rp(B_F6gYEtyEX`98yL`FZ}aFMOnUv%vz8b={M6d&U%^u8qn z4EH0lKg@8(5pdd)-yhE+d*4EO8)i!v%vN1Vh_G&LuHE=PctNUC@8<3;o;-4U(}^tDo4-w!%MbmTr=yLVq)KzPkd81XFXpR**5Tww^VnVUo{>e-A^YMu(bpOeJaY%PufTiOAD<@C58&VGT$+gnhl6XX z4E&S{oCP)KAL+r#sz2>mlK=ze1Ow`%7k8CATB*C*W||uEQPiJyUop=gs95L+$1F^> z+UL9NPj9Go{)Cv$}Rm6W~tC=$OcGHN3Dvik0rTy zS{V6uv0iFPztha(KhzwE zX-l_PLE6{Ek&}z1F9TMkP&haSeoSnkq94BA%sL1-w zMU_*ZWD`|Z6jd^pYPzcq%E8!E94STOM4MzFc+cFHQ4o^bM?3Cn4GC$21|E8vF3m@vq2 z7NZ?ot^CL=mSopMc6YWdMC6w|HPq=pFX_u^@p-WILRXXd^NuKlU7^eg=< zlZ1g%wCS%J6Xot^S`7!`AwESbHaDwZweJFwzZQnl?fON)4`{cx;2#exU(q^P3Qghe z{Z11s^IMKWA;$h|`!OwFUrN>jl|lU6_3ENd_*`mGr@9~Duo7$)tVsWrzFNFwCfo7p zmt<7@tI<@CLdJHRTx6I{sMqoFQoVt}JljBacdm2%J<8qAW57NA9m-YA1@TR{t>);Z zBsb+b?M+Rd&z1}sXlKMee7CxF<+mw1o=-V-jq!FG&J%)*O!LbY?S*S{u>&+o6DRi6 zto@HFNE2S5r^_wu(gZdNZBpj@?(MM|A%V^t2BM`|?p6$JpNoL{$ZC)}@*VLk!x_S# zUABufr{TdWbL@QyncL;|NkdW-NZ07&MbjwfA+{u-Uc)-LqEIcFPD@Fww#ptanY#gX z5i%n^+1kV>I3vV?JkXx_*^sI&=>?qAXP~X9RmD8KjbtMcS#mm9n{79ApdCNt-JF?(TQ{oP(4?Mvk-+(>PHnVkN}zV92KPPqTBABrli`|0cZfBKAWTsmIr0ay z5nKxJ_jj-6=hi5Rk22Dbrt%1^UR%uklr7}lcJs8}aG+th>!ssoM6>9oNUkgSRZ%E= zb1haTUKSq-L;V4PeVrrsrG$TI&f#}-5(%vJWuz=|?^HR^j@aLLutS(ZF zwfOLL76^>h8l#`)Grf9>MNKLyPR~L15-x9jj9{&b?*{He>=ycI{q#oUM3hMmTp>}6 zw9LI|JR@IzeIDTCH%qw`&wy_srcv0DTRc|`aVx7syj-9Vj__o8_B%s;d=&M!&nABX z_HtNz(wzNA-!wD&RV7!{GPYDEpe{1OTnLxG*0!C9_oBa1__{Dc!YOP6u76=;bfB8p zaukFsFG3wQHhB%;?33*1{P6KN5bzMfKG8zHyY93{x|6IjqFP7^_KP(>hXs4UfEBBR zDHh&PPS6qW^l0vUXl|eQtAuG6a#Ci1W11>qss*Ez2N3ifJ}emC7*MDJs4w5L3SMkj z(Z*8l>BudoX)d4t9#Jd#yRhEvbG(^?UQH2-kx7=ZM?xQsL1w~cAX8x>>X37>ht%Bb zsLpBwLu{VCw-Su4uRV_;8>c<{-y#eATBz^rC{O*!z)`YW%n>heRZ4o>jq3oKyA#O@ zWA$6P_!~SH7#Rypj0LWwxm!x=x+BB_%SZSLE%bS&dmd`0o*WDqOPjK(pd@x*J7J6h?rQF6cOw6_)s-xWZfy;J8o){bA zhjyp|Ctv0Zas-lrQ@hS}41gzQ8XU0w(CbN(5(_bK`Tc2J^Z_fxLDUncd;JR!;o3mJ zwjI|6GNnG^rX)gTzy!uK2gVx8<~^k^PInK+D~T8h_do!M!I6ZnR`bhCUYikA%r+Dl zegL{5rODs4$@IO#uy^P&M%by%^Cli83FgB*43J4@`hXwrnMT^<1I#^q`FozLOwOdW z;NP__F%5f4KbA9!1?Gw{NLlcZJK>f+Sx;WLmpf4kda*MBZC-==vEP_Nq`J=k)+;s< zb(O{++KaF3?kRfAe+!Z5RVbybX&k*M-}uvH~bjs==s_jc=8DKbrP`E z)#_NOr&Brm{!>vC5ULhXj~O260)rZ8nn;QpVN%SJdtxNN2XDhqv*KL!In}iX zU4GuB9`#oi|(%LQ|xQ8fMZyh6lQ!>VX zQv~5Zla-6)4ETkd(jEXP&%jm((g1Te81}N=@_XK`zYwG^!UHCyAxsCzu?%&p@p0P- z^I;9u|D}~LN%@)PV10Hs1iq#F<=*gYejV^?dh5x3qkNckK)GLUnXCjgM!hMC0KyNX z4BKz-xxv;aNYCCFCmi5FW9+ZktNt%9=Fe0kSr<+hK7~=h3oXe1y2$ZuHkTY4RBrx! zkNo72atVUE5rzawD-phsf&2@&R{)X`bbq~(2hig2yu(?77heCp8&E?GqKV{=#hEY)SzK{Ewt2{A|%|0=A5vk*8A@ z(T8Z&E6V>FA0@IKo!$3ba94eE#}O(8oa4H&ODy_Tw-433Yp#1DOaw>PCni9@{3~my zYFLsFh}XXsTv;)zcz*oeAa8P~^LOk6)@gdWBC*UjXXTzK1D#dH2c!E>t%|%qO((%& zcX?{{y3ra)4*PzqMM+E7UGIIxgdGKP90mVr(BGR25=VjX z3!5AG4&(TqO93$`o@}WFXp(U%fiRLWVqXZ7adL6GFWx-dxljYwaQBb{F0hr*1J|$| z#XKbA*shQR*DwGY$vCP207){AP68dX4~wVZ#*>XN4K?5b>G5s~c@8mf4Y5D-#lN!> zB4+$$9g!sG?M-Xrq3vx&jY4?iSLbE(Yir>4^$X}-eXS%syZIpSCb{vj^2!~seGL|d ziWxs9AMo_-c&(YH05-TBeTCl6-|ZjX&`5Fya=1~S1L*>{f$RHq_?Yo!5IRXtqme(~ z415zTNlqnz#3Lju?8cXf?@8?FYxs({@gVR#a`F_(vG5G(Px7G9sWtBSV7S3`(HbBO z<4b<=2Gc?A`FZOCy3=hV78<~KzozF9!ce}OglGWlgZqYq>1(DG?T`IpH0S{r6%b6! z{;x6q=}k{S@ee#tcFGfxqX4%X1W$I3H#txCuXGo@9rQMQp6t>mK1TtgTNp+d1JfR5VDVzDL3{-e9zTwI7iVNY6e|u`{#utb#tfpZ1@9za&_+3xkn=u&?** zv%R7!J)s3&-&`-!sUBZt6AAA>jXL@tkWEOvR*9bjBz=|P&wZ>s=MEyzsv8{Rm)B&0 z=a>(|2+xgBMr_mLm3R-(P;Y6S`+u*lg>fG|2#pRFW3!=Sz>@==PQrX<4Lwf6x~L@g zzo;EoVmpxEH|7Jj{asOb&ZO{P5giu*^^GR-RrG)4f$#D;lJIT+8QAx(-alsV&;K(i z5PS?+Wx5${;DsLgUGaWX{cqsjXZx_v``#UW-^~;4d)E-=eWzANA$L75NbjT8A>X^> z@3uH;$hWX-|LlSIeaai0cT=H%bW3p3=qvw>>G|hCk>2%v`~2^1CDg#nf#Um7wL_BJ z1HZhYe+pl~ybmJ##}Z@1gEuSPsZY_<08qS2g_ zSN^Tvaof?LaaqUI(_r_^vemHiWlbt)G4BLhlwxPRBQ zpBeo~^SsbpZ3$4)a9h%0xG6R<8I6H4j zr5$15Pri}H`lC`qNya)@1_miuRFybIX&;1E*V||eY7AW$uNYi)t!!<>f!uQ(jd`{A zk@NqIbRdNE%Ib6YqA|~{Oi@-r$(vkhA-z>~EBCZ|N)04eJC5#8yplM0H^1gX8m5>3*#%>om9+^6I(qw{ z;?TJarc6DzjN;y%bUnAE&;WDXxD!Xg(J}=gRiE%<9o&4n;I{%Mn&Io3 z{GvFG>31scrrFewz5eLU(gX}9QnuNshLKN=the8A-Oku`Ro=#}KAQ`r95`mX0g2I% z`f8F2M000__?+D3hUw!+&yB$|H#LPL8JhUDcl&_t_j`8e)fG>}8GFA4_0h`%IHnlf zQ(_Cd1Um-2Pe{V*rV=S&S*+RGAy=WoYNAV+HhoDGMeb-B`%yT2{u7~(t1g8;6|Un+ zXU$WBS}pss_xgv~jQ>t(V}4(A@SmzTy|ZSle~>vq~BO!`Dudzw+btnTQ|3jfnllVCz-U1De+D9 z@4K7+?KIifjDzjox4GP-#VG{SQzyjE0fzjq9qHlWDY0+Bwm5sauBPUwWqvlQx5vx_ zZ~h#hq!J4-ZadTL^1Fp%-znW*Bi)=_>X)n~J@5}FJnL7a)Y&Eg3F2q-t?2%MO-tvl z_u~nRV213$A|{o{IYhzvwWCT8vQUiHtYg;QoTp8Gd85UIN@QR#b=kG=hfwDzqHGhU z*&e5HulF)5Ka{l&!n@ygEdaQMd_%#5=s*By&;2hbtqA+}LJ&n;Xl$f@Iit`0T3o*A z7I|yoTSDZnY$>9R0EcY>Ht%xck%YjC-gwE6ob6}!{{Y+!VQz$?n%aWg8E=B$0XLf6 z)>XtX0Res1!lgec;M*{fN{5<}p4%|yk%1R)_%p|DxY$@NrROYxwaP32HtVb+JDT*= zfTs~nl;GOsnRJmzv^4Hko#UZTTl~bzV{~`nsjl|h+D)Arm(ZN&b6|0nOJJ7pw`=F> z{LG>zm&fpn%}0UakVd)d*j2W@K9a%x&9wc>GTx^A$CB~2$I@tID!E7YW#uyHk$QXG z&84C3XjS_F;=_4{`WXr4G&tnM#^7YEcZ*ntHJpTEFq@+FytWZ!hHc8u#ZN#jo}TXO3Yy6{&-#$pv;hd_MThsC>N8ZdrE~a`4g5SA4kSv6j!Iyq;T^88e*P}uueslLud$mFd=PsBJZAq72+Ont9 z%)Hl!9f`ouZ5p}|9h;Dce^%O*1=_`_@1F1bWVZ(6r=+sJEd)8IMznsaX+3_v#YYYY z+xc!aGlmJGt_N;Xse|S*yb_gEj;C=2m@m?T2H+dM1pVoK?PA}!w28Nab5a8-Oul_e`1-9=Zh;I7ekhJ=~Np5~?38 zB&HITe~I_Et3)@<#1}o9S=arB-;OaZ)5+l-;rpenOoeKtr!XAa<(T`YI7ak?#llfVOrp@EIcyy*0Zq+Sp(pGB;z}&?d`@ z)_h}x`g${%$)NJ_Ljo*T=_d~2p`UcBZqH95K33_dqxEcq%GxAo)X6bKNzcyW_6T7? z)w%gJH@9>h_#r#AQ<}3%n#Meu#BB)+1*P!--wgkLcs;jKj2oDvq6x;xis~c)i#{eU z`*W{ZFFaugfev?|xSzazx{?bX(XJ+^thY8*xK_N?rQ}fVM@Z*-YAn^=fX#T83?9QI ziC+cCqIMnLQcZejkVz=il`8JlfBLL(gsqqbNF7uw>}a>s+vs%+h+?M#ix>?)1j*I` z@lg&XOJZ{{CN`>ajmWOt-$X1frshX1U&N202d#L|f zGJB=dRGq_O&6=|BH~8yklfJ}@i|c{iHQbv&HOpwjxb50S%%nLt74eB9D56y-reaKi zVaiIZgg`#FF=S4ujfU66DYN3M#yyHVFs>Ur3=_*I^B2<_k$Rt|#5k3yXQc=ucLndA zY-_E}jG$nICS#&auKQ!Q3yH114j|hSLCr{!{=o(}D9L1*%|dB2gh6eC;qbMb|HELq z6*#5-tUVinkP0L4V>c@9Q8Sos>aML63w1)e7ArE%;7`Qd_}Sufv$r`@^@2?a&`{L> z%bx}_3fdZZk?XSKVDja$-})EnH)wfwxxsHyd(Wfngr%K9xmZY+aFuX5t%{Y8l3%5TBax)x#9k}G+~rs$fi^qQ zk3W=Wtd<&8rNyj@T`k6V^^U}k16Iu>Xd%CA>HiBTmc5{j1>Az=VbVD4yoXw8F1ca~>qnRJ+X9zxP)YDQf=cxi;K_`+??WuJ|Wr zJH{~Xw(?vj{wm!5(eAZ&6UJ)%v*t-2#|bmyt>c4b6pMzxJ_rc)cw+@L23Mi5l8O4| zA@4j|R5@+uai#zt1(3sm-OnbieRZvM!SY=1r>G;s>6L4HmYI1Cb-R4<7Z%I3Gq^}M z33-ls&ZoPdBey)Qvx2b<%s`1w;t1h~gl}$FlBsgKHm{QQGUGxdu=^!vLl?Y(x6&jyc7Blsv!DBTHJO_4>{_yW>^mTvk$?m*oK4ogUZJF*9Q+MfVF46bJJn}=GbZDEqzmX z{BZt#BY6|l8z&46Jg>7o-vV5Hl<~47 z&%I2JPH;-uf7$DvN1o}CX_2XwInXZeg*I%&;qE_TOp=0)BKelXM)UfO*MA%qi2U$K376TpAasU3YD?X;Nhaz_K+_DR4>P7hMN&%(|R_`J_7 zXm7)WC68Jz54@cg=huiNudZmIRI~M-I8bzt(NJ}57!@e1XMJ>2c(nTML-?Ce_{G>kT7X6o*}Mm=vHm<}=Q3f`@dH|?5*xw%>6d`F zL1X=5VMt)5Z)UsY1SaYj^Hdmq*NNUJ{K}4AIGo+A$Z*S>815lM8Bfd$Ik8^3;_FVZ z@*4WC5PeR-6)e3`DAxRF4kYM(8oI^W+_!)MsD8J=>)>O^fyhNHwA=8dkN{b7nHVQx0l`uo$82Ke*q`wy5D?H`Xjl8Z1wvuo!D74 z@AtVPUkh4<8`-YM$8t1C3h&&5UW=N6y(hCy3*ll1_+~nig<`jN4;tH@Fx)e6=@%~P zT{RJ9aQf|ePcW*Rul+Z?b_YwnK>@*naIEuv`mrF2yP$D{uxWe!3z`7kQf>+?aoMf` zdfMr};8*51#wv2i=3B0-VnT35^xPEy0rsNUZ-{ePwrl`ROTI!aoWnGmaa{pZw6!m7 z3Ugb*MMt~xKd%=CD=khumIjsJ!QrB3bu>JWatZdo2Fx^xNpy8ys{q^JjA?_@o;#jsu z4S_(p4ng1fr}2@VMk!QI`hA$V{NPS6B*cZc8}+}#-*2HxacJNn;y*L(kZy;jc} zx@M}nn!RgF_w0|10cto-Au+#HoQ&e~%z9#ZtW>HctwBcWwXC+0VcaB|9{Y<;EAm6H zN>VcOP%`!B8VQ$sfchFc>smoV4p6w@JC*4pAKH!QiPCN>6e2ZMn1f19Gvsu~SBPEc z>nd>?|Mn$!9;Sjf)@m%`vZokofKsdf$b>Pvu^1N)=mrZ`WZnQG=dqe10DxNd;}lnhAvMM$QSeo7v_d`0~R7WLpN+o+&-bw9W-%$ z%CyC<=@1aX9GUrqX^WZf84dt?nGPN1h6F%f5Z%B|kXP@v#K)qXei#GmCZpw32{nS7Wq`ecv+~>rfaZcf zdD`aY1JdGwP*-62Fir^DtlPGsKEt%weT(4tQGHS(@(7DYA+Qhq7&wh)c09bz^ArbE z^?-;2s;1D+H2? zyCB4>?1O28?gKwiIg^73nqc8`UV{_cBcCr&8A&j?<+*i*Ye1O0w0Usi!@O~hn-R&;;av0wc*&L!-k!1$;Jg;v)pSC7&M(i^|(&_ zY}4*S*BO4&;~LBQ;+#Z#^5>puT+#wF!!X8Lf*|m88pqpLk>TM{82&xGX;HMe3+LUe;#?N z3xsh_^n3)`EFgVw^G$m`diJd#tPiT`osc1Wr?qph54pbb1G-i|zw#UkH@?3@_V#ao z99&^VCcKwrP48X7f;-kf!9ymDGwHF06US+aY(HkYzD?=7$5|VY#l%}fT5N?0+~C87 z3&gqf=!-q-xJ5v2QSVI(j*Oale|DP&tR^c&#NC3VM@EG5qR1&5GTm5T3`sU#JXooagD^z&r7Rf-0q#lP znA$tkS6}ZK559MSxa-Sg1mbb zjdv^aEZ-D&HybX-E}8CnRZJcnr2#N^GJ*uAIXlcY(zZ(;(n!>I>uq1fmhnwNce4g) z(v2DU^lBFq-@keZ7FXSX*=!ojTv!4cl+o&!4jOxvH?QcGZ6z9mG|5!JRi~EAAMjwX zytaa>&l{}`2JB(+t2^6;xGD^o31#Bs0Ca^{We42L*?vc7@i$&F7wM#j-hh3$+Qn2) zr59j@d~!F~f+yA3N{s?J)RFBaNFP^x$#~>Zt8Hm8T~p-3N_l8okE1?Wz3JH`8&*UT!sTXrB90lns7${l4KYEumB2pLZ)!*W+ z8Qy~WlOtuUqrnB!9A;AO8|txZtGcx1)Io@pvT1yU^VPGJbL*z87jF4nCz$Z*Yi)}7 zuAgA!?N+E!`MQ0-{>8zAAxP6ICS~d)nmiZz?m(p?~XklM8DXo zES)9no5%y#$J2tE4-3=9^WOEB*z%M4;>#9%3s+O0wKbB|m1mB}lVL25njWixS+y3u zwe;MlBHn7vCyNuu0fftdV9n)G#w9@|Fk|7it}5QLWKT!wFyG>2vv^w>Wkvw)sH(uS3*A|^FW=7XXrdN7ILok;-h>IQHDV8If=TL--IUSrDZp~p-)(b9bUWw5d(})gAYQ^(b_HI?SmN<6 zr+xrMi`VG5bpwH|-l;A%2a^#fkB&!^>%Jq$;4jPJK|!sc9iT|C`Lx^*Uf>8=n`O07 z324EMIgKs6T(~Q~^0EoL9~uys*A8>KNBiq?41WnPmC9@1SHz<&Ix!>;AUJE^Y%J(RWBwC!|z^;NR;$|AAThk1>BeB=Gw& ze}y0ZS@)yqk0Ymz55y!3VZyC6E4LtU*<+|1zR78>`l9LIXGz6?(xJ<#3sWPXVW>wD znq&SQ{(8jafu}c&x?@sg24{k$dM%II?i5RmoWTrp2)AbuU?~4a*TVfI-6O7{*hh<9 zM(tHizfkBf(VbHu{Ub>~jiw_O(pG9g|3t`5Mn8)5`uWGK9YsmJw~Vl$m`fxX?jz|{ z+AKS)iR=Ac!H^M^vFF&en8+bI`LNJ9HKyHVQBi|DoIJ?>RwPEc+0>5x{U38=DN)EI zx@Y>0FgTxIIXGFl|@bOTe`U2<_Vf&t&`il8X{YcqwjqY{F(&kF6-5{c2@J- z3wTAoPFP*|qJp`K(muxOhz>0x;`1?OyWAT32^SV5N0liOkyZIJX6PwQHc+q0>EMpJ z!_fYyI7hZgCH`JIUEL;!q{oVYry{NWXCDma;YE`t&WX22sp_tX-cK zU&Ps->rG;-gu=KeJMKI1RrHECqwDdN-k6Ilp|IH8#f1yJrrXE|#w)nlBm-WbHz1+D zkTu6M4B)qNRCwE$rUPNPSwr@Ja8LdtIr_aA{fjRA7gF?hx-cM3Pcu9?QmMc+$+}`M zKO{{rMc2<*p&%jEPxtTe!c^2WvYUuM;lfnk*v5wjMx>`?2Mhf}aL7b|4-^*1kH%{|DS*;C~Z5{2y?Kf&WeL@PEJ^hCm|z*TBQV z|A9gQe`$PwOCkOXeflGXxRDWYumEC($sy#ZH~;zd;iJ#rW~cvNr1+=*=Ki zlIkHm}rYnZ;vnBDnp?tFgC8@GW5-9!4Fnq?WU<<)SL zn@~(X@cI=veAvR`#Wk}4c4S2x?Dsi_mIBk=YYU4-o`%oERHTgPl5+}VT@ibNh_k_{2u7&3jQ^yl?UDLhvGp_n7 zy){#+Q zQvs1r)C)@aZ?l=&c&zTt`7Kq0eG-Q$Y!wrRtrL^a_Z?;2Ho8&=Z}MeTP8Hz}()#Q6 z3JI;hf0jfX5iI1_vm5o2_#(bSYP29B_5~jvD7eWSf-=26{+fB62TM^JbhefO&+7eZ zunvFl+KFlXe!}+qjnMZTDhFg)x=uQ_LtbFT$xS#q$kdPNXmz`0k_O7yS@Oef8E1&( z&RIaLT(+PBs0|}2n+R*CJKJJwfIe6MjMclaN`$ET4MtrHB8pw8Hn&zFK3V#fF7;Rw z!>s2s9kX*>ZuwSU4ax23678*w?13~vu?(l-y1V}CBRgm830edO@jhO6x0Y@0ngU=B z`^54%s~FskYV1wMVOd!3U_ffrPwtGX5`9%-@vSyVt=m| zo@eqfq1oML=@Uu2I-_5CdLTZQ%DRU~75cKe)UjN{Z6jFYqwZ!~)jK+DBxV!$0bc?H z=f(r{X;mXLf}1Ulsp@ER-g$~DG7gLp}EJCDiWmK;UqUV`f7w; zPbXuM)*6i;8MTcE3KmQ7S>FpWZwhBn_%!h|@Q|i>T-_p$y@<$!ovIK9iZIM|jcSWf zX^h9E?y`~9y=rmfd-_Lpf57HQFYET3RbQ?!#WJ9DBgU_CunO4Nd?2=ZJ~RxB!)$kY z7i34ScP^4#^zPm>aHol1edn*fFMp#7a~H^EYFb;g7ZARO(s5sZ*4pZXU)p*^M45seuf7BHay7B?9uOrga_=9g^Bey z!vH$Q|D+@T)i}Qj34V_BC)KjzqZ%u+gfPV%3hyyioI&rNQ3w%!$~sdb*?nRO8xQyV z-Suq}Len%XE4wizmq)SIJTVHz&?09`)G5G|L^aI4rLAy9rytOdRyBKq@Z(y^KNhU4kCRJ+DngD{8{P!b)khE4TUlx}|LiWiJ4^n-jYQOkWp12pY^))S#!VS6sNkRsoX8OB-LK2?-Nd7 zjM+R3ploSf3b&KA>`J*n;h`%lR6YzGcJH=hZcLu(nC?xgA~}W9!hClR+j07BZ{Rxh zOH~BoJ=Okzhqi_x>{jA39uKA2jgh6MJcsO%TYX@S6*E9$)S3ehG9r-E{{-*Spt#pL zUSedyvm$%9<9H`}N)$YuOj%e#*~$kX5pjdM%lU_@X>_38!zVhtgh`Gs)j;dG*(k$1 z$}8~2=≠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 z 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%0D7#<2OTrFvHXOY$ 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

    OnQ;W<5Fkg)1-WY) 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

    73?7V>z1rTP3@XJv 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 z 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�cm6-i@-iM4 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

    le!+4eG0*>g(Bw zjqMWQ1Z}mrCO4UH+;xNK1?kv3pq~N(6H0;wco>Cz=oyLO`ATRXEv>_DRj&pT6&bQz zzXVPyb+=iS*A0L1R3$&`ZudbT>{t;g>0U5~t{VWwU(-Yib9&5v_wa? zOADDnUggqMqX{C`o#Cu}z+97`@u+lGyIcLHtNL|c-M{OLPs#4Vf%iQt*ceE^nO#Um^c;3|8Gn0d z+Z(|t@vXB+nrZ2I4peD16c2Gu7S21fn-n0#%^JisR;R9HpztS+mH(3EBlRW0g&Otl zypJUbw4}5DrjHa7a%4UI0~VN2oXHilqk7j?(F=rco9ud0$*^kF`!?CzSY;D)brHBLhgK zD1VxB+zMMvtD&rG4DtOTcM3Jy)}nmPzGjq`1u!2LEVB+ zK@mBY&I`>$o{gDKN-5fgCnm!FT?at!S;AOYdR_$S_=47r&u$E4sW3>3im3z7MOBF< zo0Mq9D6PEomfQq6dJYDcy%j3C=L?yoW0R}mwc+WTG*ea*;COb#HQsTt?VCu#X3_{F zM`WisePY}P0TV>u7s?<0h;{X=R!>1Ym8-pZD>IV0qf#J)*fFEv!BiYmv4E@X?Lg(b z2P344LsM*+50ulV1I(?(Jg#JRx~o4a>nb;2Z-Ym~IXVCmK%ODEHDa{QjV1j7I|F3K z2Rb(Epz=(gm1QM6hm$^a3@l3T8|Lw3w@&a(kVuPOdJ{f)#ay7r*?hIR|6! z{D;2Sk$H51U{@0lt|086{^p=Pw%qf?eeik%dd}BF#wP?}_ETvNdO%Ar`$qpu8ejdB#<#NL%)Iku_6Ea|F#L$+T%Hg z`SIpb{_ncM&mt7w(AdIMU!Pvz#@^Wa|0N`vtt@Z9z<}yL-z41#2LVb%6yPKDP!|eV z7Z8FP41mQBb37YzwXL0!$ewf?;c^5e;)B3-KVCQ(kEs0{@toy4P8Nq)bGI>g{rY^o z>f_2v#L%<-%HuUhd;r5kxfY?LaKw2m-B1SMEC>`2aw9NOF za4|jJzz}nV7RuM^OiNZWyIP;%l7z9BEt}AaB0ABYiJB3ar7ayb*Ml6h%QQuEsDipy zPQree5u1Fg-957rtTmFIL3K&vigJbA$9mXKdm=HH4h~h8cFU9doR~Z6E3Tu0Lbu2R z2+bQM1QN~v71wLyOB^I2)&S?M?RJ1XiH9{oHz~~&Kfy5K1nyF!HUT&NVJ09UWZ0#_ zPzrk{k!ZHS#9vrlcBm}+jOxx@NYUDJ*QE@XonB(kqvBS^ruTGe4K(?XMpyK16-N(S zJ$(>_l@??$K%|5VPq~b&XZH5sT9F3~n14d)1#U6n0zKL~*TOMz)-@L9dl)L4r+}@h zOLf*~#}%qMVV`X4EIWk@^UWpchyB{WNA~uIycWI*VBk>iJovqG3ckc;Z8N+=G-F=cvvf`m2rWXC56x~`5dW3WxOy&e(E8OZ(}!gZEqVh6p#`NXd&on zw0pnh#Wl|Ek)5d8aM*}WUPsiCX~9n`WSJ4O^rcc>O!5NRG3w1yXEaWq#x-7!YgtCY z)wf2xq(>H+Ma0R{BcOMK3nbAOyz+aYh3Ya1swA(j_){=sFeU#h7DPDnPlN+6gKb*Z z5!WDM1zn{xX6GEC>nBh7!Y?FNfQIPz=s3*)OWVeQOA@DiIfkc{YE=xF^Sx3!d{1ai z*C=w<0M)SF*JeA{E`JuYhyUa_!DNKPxi;KrGuiLZ?|{w+_BJ`+Y75XCE0j9Dty9-I z1i0ngdMZO3tx?UGZ*@#=|0wT{hQTx%FyoRapi0adgSJS+Po57f$e^|pK$vKtBckiR z+UGs>Y(35v=0(YM)%QnfcEyXO>;=}EQT?_ex!otke<}{b$sDBQ;6Ol_2tYtw{~rYh z6H{YLTSJ@wKV*+;by??i5zH;!pMjECVwssB6a~{{V6o>%Y6)4wkf>w;;q*5|&UbEf zt+`q(Wn*dFmdh}$56=&nTyBcdeH!-_sl#b+vO284bAC-xX{7K}1iPA`m%4lA{eq9W z_HtDdwC{H0P+uDWm?C;$=W@vkI)`oR=f)(8%n08jD+#v3w?uwfB@t+Jk;_MM(aTSC5zJS9 zXc96%DG)M0)rO&+bB5`b-Bvu|>CT(&TvRzB_La|nK7|Cp=oX}+y~X(zDg5!Pnk9dT z6q;}m&FAW_m}T|S&Bu8#i(HEm2I(jsSM`dj5kz%qsgG8w4zOy?{j^~z@Z;aNaBh#UQ_doODm8SBvI-h|OA@!j8ePm0}muh3~|; zfg95xaWvIY=h+AE`-kvZM9$|}rWa=7L+prE19zIdoxj?LDjH6Ik%zI9uDc-sa%~_O z8mu3h*3w9@K;%aLr<>xUz_APJ_L@jJdjfU!&Jm6(6tHuXoG+eWL#ek1Pdm{j^5+SpGa`z2do5l>O#h z@H}3*HOse9!>??x`k{3nD}*+eH$7DuAeaFFPOZ)CycY{9;-8zcLnXVfA3LQ@OFe}dC|-6zh5yB zbd7=d*%V9^x-6)&!>cgDR+J{iE4u+~v3CbRgXhQlaJuu!G&%DYhO~^MNY!#AvXuAl zSn$m!6T2e01%jAaI4bRT<9c*?$jb2)AU)?(>5t4~cT6?6{1EYfi0+c&k8em-mo$}| z8G{wE8pmkV7fk-nX}gQ_`Z#dNGNtFyr;#a#5zxvKVm3>`w60U=*q#vb?2-WX%-%%) zUcQFmYRlD4(51$WRmYl(Sop;pes3c6r)nFwCk}VF1nSPzsjK5!-HGIG_G!IxQxpTAM6rtBh6UtDi%9sycv+a#tL-Quy7S{QDNT`pb-9O;a5;!et+3a10cSACQa`Qo*L zn29>eEOOH+4dOJ!AVeJ>Q5ep(c_iDlN}QM3S8~r{035Ez)zbHWPU)D>e7nk@KcTIk zEyaJER6=qywX^&m2_=0yXL}q8Cl(I%HI}Xgd#$hXz^j8 zEvwi{g`(;KQ38d6wLI`JbI6@ONgA}S~4(FcZIRgL~!o%|K6=i!!X604=1S zjugc_9%A0ZjXvZS$-=3gS}(5zE0f_&2CgnZ&W4f55S4gz#j zO&I9MscNnk!u`8>!X)i)m$vG=qW{86mrNcM%rfU@k~Tq?#$$0ptJ?hZF;*TPeqPpQ zV(5;$9u+jV)Q9v0io^$$ojqVIrVq|h_ty;Vd)NUKt48JAp3v{Xv)f1n=jIGC zEds?fej@`Tb0Jm?xvuue@owM}`KK{p&z*;Cz8{DnDdwuIH|+_!GCl0mU&f~E3&ouY zP3||8m_l&_t11WWcsn$?g!ByUHm#CB{fCz)ej0l_L2MzFZUrht$ktyc|F{8Es}a#v z*CG{Lqsm0dHTrmNp;dSk`jW$oXSTi;KTK9zMga{SojAD*R zZEE}S_eYl1GIy_%Wb;QKW9FKB=sk}TXX;_6QgszE3|wIPymQR%V6T_V+cIfYv~(jB znR+7al=4dBlErks(*?SAX@3A(!_3=*KQVilOZ5>d-*E&4OopUR8;)mAs9yp9%9Yru z*EB+UzkEg7nBuLmmJ0Z_+6ZC$#?c4oMhlBr`Sd5Zj|+CLP^)zeR}fAPIEor_cS9vLGgXO<)7Ly|$vq(IbeyrIL6GNHO;)0ZPE=_bNL=h%wn~esSrGtpr;_X~CIOMg zsvFJp8>$ZaxH1t)a4||AI~arUCAX6Nuon7*R=%(E;bC`*{7t$15rr|O|8*L* zXhNP~zTNnzYfc@;rJFqj&OLT)kx|O-O_?D<0Ge3A&*B6My`vwA4i%n)w*bs|3>}|> zgFgYHd1xf4fSH2Nc>u7t{|$8&dLMUz4r6XjzV(?)@b@<2g4P$UShu|?BkH#`gyOGN zO<}$frTUB!Pt;#^=cd~=9t1sigiKS*nkV zmHCEFkMqP@HF@NB$nI(elz(L*PB0Lp+>!S)_#+Hy9D+bs*Rc%225yz%hPg&y063O5 z#JO%)DSUyTx=w&i9x6=7$l@j6x(j&cFImu}!F96|gxfFP&m14w9^g0px@(OigkkH0 z4AQ2f8Z@-6Q$s@#E^JQv4H~P7n~$|k`o?OS-qZjuf{obxCSg!T>hj~c{Dxv|D-M~v z{sHl%aaBgx5Ljc$Zj;``@0kAaX(6>%E>7(Rbq?FjtP+4F{z7cuV-_HwhhD1$vwEKD z{>!B5BfK4dT^Eyq-S0`{c;^=iaLgMk4(~hR9`I7CzX(h+gf(1H(auG@FNRSRoJU5|x=H~d!*=gAcCKMx2&7>Xb_b)1tE z5I80iSr?i)XcitM7yJ-V_o#N)6O3xEe~OPx5R92O`zjGP=SM!q^C2h=zmDXShdK~H zvSEci7uTUo#SD+sm*=YT>M2rZb-3|z@NKub@U{RRJ!-?($U)i8HsNdSCq`Uh2mOri z2v<}S;U%Rl&>Q$g84ui2sD+2B(5)SEd zeR>0+@w=Hw%r0}fP@Y9UH&I{XTVQi;@ovD2yacs5Y$l!Vr|F6r-xX%)hUOxsn$YuBeQ#+Lf6w8La)(tquJTUi@g#wE#;N(24DJ>GGB+J zcsqgy6S5r|WGib=T&#C6Fim(b(%pd22i9;jo0y@`ueIV#yB8h+3^9EU!|XtYQ}D>K z^LbgQxFYslnmA8Z*k*4u5usO0QJ4%NFY4LyQKk%0Y@=}J)r6)0(BWsG>IdUT`^QZK(_||Slqy8lewBlO* zdmd9GN&-DbN-ClxVACW7>*Dj|AyFfneLef5zga3PG6>2@h|D_ z#5hZsg0sLFkXg0;?b`1QVspRVJK@CV;bS-F)t@tDK3Zh~ypQ{ck^&MI=tx8% zLb6Mmpu3jfO1KuMI~QJXEHuY728&Z^yZG#i{EkV<4j+!^W<7-GY7*~k%H&?mLpG*K z#R%>Lv4Y~efEw}i9{zYmIl5P^7NcY(qQ3%yX!Aw9%a8qx+`ssx3*Z8U4*z5b04tLz zHTyjvF>3M~fK;L*==jwpEUqUh5==MZfsv+SUZQANQu0t+JG4Gx70+D8Dtn@{-%%kP zgwqAYRVHRv;YH&py=07aR-d32%U~ZWcr8msAJvj#r58uBNcBChrezXEON&~eQ z@bf%lwM?-O@W9|sJ4k0z4&917zGI1Ogsmc~d&X!0Si)SOrJ5IJnd_$O2sYV43+!=P5aK7f%gJe=<}a)7|t0 z_+*gi3h;<4SN(fgfj~LT@*R%Q;cJFDs7H_JG}+NGVOc zsv&S^l{d>5X9t#}I})v{#M8KAW#-_iS~lil1-wfO;giQ|V-qn}Syurr;Q9efh{XOy z?C48?S-$n#g}Si0U+HPU;XTX(G}rFc3b=xi<}9u0C(?@nQQv(5=6Do;PvLBdB)uCl zlT*^kLSF&1&|G|2j25Mp;rT`SpCi|u-#Pr_2ecti{=eC}|1Un(pIdtq)BlzB{BPW; zxFfDPr|Fy7co%d6h(!{S!OO_sY9&w^2^0|pq(VRvf*=?yz-Q(p=8Y@(K(I7ssl0GX z0&qH%f{yLT>q8u4l5Q|fl?fDKzr%2q%aaiJj^f5G;d@??)ef_SsUq&Wm*2%P0Zr89 zQs8B$o}1UU-`(Hr%|2VLH_xr+y^RkOtu*JU|9bclW?XsZW`a#6D~%*OjiiaPOUj`9 zxY5G4?S>BBD-wp+ZOz!aB3t9DO>Cn^J|pRsnLg81u@bOOce4{UPxrG^g_*+KiEf@l zO~2xGu?)+AP7s9${Kc@afnCz_0mA;nnAqSh!TAIJF;a@2Vlk>QVWMC^XRpZiknNC7_Z<94$G`)26`*M2FKNn1mPUC^}o#}%%;Y^`T?3k4}Mon zd}ZHx=M$?nH%3>z`(?bTHi3rWTyvm3PgCpHT+2zX@H51muSv*W0;zs-t>H9#5Ib}b zr+%vX9Dv#*in11^*hd(kH?U&DFlKDOfa%6X+Do)O_~OEVCj(9{_?*%e^CiO&^hNnV zez<j+^kw;AKkh!83uiX>^SsIjPU;G(zU8M`c-&&OV_sazZN&=)kHNbpr@*mK$#xA zCl37)gDPmTqBTs|3kub{{N`D+Y1Nj(z)@7J{pUiEA1Ki}`$ApuPw&rct$jtABfo_m z8bK9XhTyGRVGkfC)dpOV(F)CU_FpAE9lJ_V)G_;w@|qcQc)`3Vz!B|!*_tS4isHnM zv|mIp+*Qzu4S&~Puzssw5QpfJ;)XjdG$!!q4qU6FN2=4eF47llhylu^UX2F>{OwcA znVBPuG-Ik*%QxFT)XbvAs^Lw@(UZAq;Zk&{IB(U%b|b)N;W){IK(V!W(Fr~bKN(|)8H;bQ&Mf;-Mc@?z<4gCyV&Al^zNLNy7H#; zv9j6B-`onTHK=xR5s3%&*&S$Y>1{n0&U2#te##FrMaokT?kJIp^1j#NUcK5+S;*ch zFSFF|+yQ7qJ|RXxv(~B{o+qPoT&ERMY8iP$_0<`ZR8s6*os~3f;I@#<0VbMD-Wcqg zBDd36he{w?o#%>Ma+9qkOSf>200Qr8YI}WNifFOgfIKI=T3#GRew65aTO)nbh9*ZRUjzJkis~q-JBxbM@_igPeH;^MtY?`s zbIkdReulF2q}CmRMc>kz;M3eFxOLw+7^r9zdAW}NHDY6kagpUauLd5?mu>$%XF(0I zUDSMzcwE$MS!rCa0ff<{;rz5A{;vkkujjpf1!PKNDDcT0MJ%#=`@PpOc){eUOCGtF>t{Hf5$zO@?m(<=w0`PI0Ff zv2G*6*djTFKd71EF z%+q2KZKA&S+E14{AF&;tx6y(AFKCbyo;>6Uy}L5gFo;u@Mt1&>0wmR-tN`xiZ`a&K z@9p+QNfvcWWxrz{aEU;AkB?JwkC-O(uCSP+-w$!5eeqY%AycK1)%!)Z)hX1l3#GT22%})UVV4W@(9{#G zATzB?R%}&?#$#W@lyHsz9-Mpo;+VP`wru+8j~8o1%oS8Ihz_e@#Us*?3+bI zw$-_2kWH&pySDw8k)8hq{u~lWW;b`>Vl#8($ID#jWu|~RY>RH5pFcWRHcST?y|7ZU z;r4>}75rQw4$AuixlWQhpCk!~F`#d8ZGnWnWWH#Kh+`q6lIEW$fFvhR5^}go>i(l(EvCSnbAt?h`*b*YgWj^lslw(%6uw^1&p~7p}6AP{S<$#&QS^0;4 zFhQGJ%HWanmAsHg79m^x6C?`*YQh(}2G)`Ac*yR@0w|Ic8x`TPX^8jpL(EjM^SMAD5AjvS9#^ zEPiw}!M?=J!ZuM+8`#o+*u&51?k+a9z@b~%Av?uB=R>rJ7l_b-99s*h}kW2&$=wEvzV^w-nU|R^P~yMI%n!f zZ84viPPqch&q2iv4*YV4%`bb|cyn9}F4!HDt|O@bqi{-e0z?FaJTa{pWoza(wT-if zv{I1Ga>WdZ|6vWtQsalrS_U^Bfr?r13ifo!U<~t0Q`G1j;MF)`Ea^ZhHLM@y!k-gg z&Y25=2Y)sim^$`a5yrb6nHpQv$$Y(D=EhU*L zsG@+Qg>JlBTR@+=-xD-Xd})S`qtRylR*zzXK)2rH;|lapO)ue?c%gSm~(Va z&F2I7)OjW2#bXCgU8H3Ch^*a122H^!Of2S}*GH84T#Mp;$B`3)z1}aR1u5;yb^#tMV@84%~MX@3f{&xWcP9y5!*MPRYjw<&(XL zLvY^-sU0z?owwHP-$^a!K=ZBgT@f_&amsqrxF~XG@}dYu*v|ho7{z?^waOvQJiG_U zKr@Fs9%dKbw*V3CI`_&YuCMYCOSwBT6Z4{4G9|(?7R6fj=cZ&j^+zatlgsl93l-1* z=|UDIEzU8&*KGXt?OoGwfCF%e&1lsq9}r8lb=<3h)V@fUK^qj5gPR$qJmG_YV-AW2 z6u@;`x(BZ^%`x*Rc&o%emG8NpuH963^hTy8PD@di@@ zN$OY}V?QSHx|s^d%AvjP{`E#I{*}c&&C&Y20>0y5aoFf|o0*!;cgl7Vy1e4on#P8r z1FV1L;@fhI2fl(@kBBO~!hNg--ttB>x+fP5c<7ryXpsF&sl3l86&Kgwak?2RcCliYpP2KVUW%QxdErH#$_5aKi88*SecQLsiUEA?J7z- zmhjE=HXwLRY1Ni+1fIK?@0ivrW1RIvgVmlgGl1EPP}Z&>-x6}LM}YuvEBpp6K|f^) ziaVoE>NdhqQB^h$9u>*va;%|GiBPr|L#st%V^I$u_WWg8KNi}3<%kH*s;wJG6~N$4mq#Gl}j+UUjM4T= za^1mv5`iY3r)P#wAHuonvvA{j=sD8&Fs-U z(7|3#@}Zu&Wa)9Y1ZnnVu5-U~;2h_-gZuJKU$4Clt~GvSe*bhd%H7ELOn^cv_aA9%XZY*7E&#nGy;5wXbXCB^KbSn{67T zXx$p5;M6CbogX@GaK^$~bwjGAPEpP^lhInGweGO_gZ%*H>*w_?&Zoc=vxgkR;sZ>t&r`!#(=0UEKH+oG(ov)BnO(8MFHBHl-4WQKnfGS{3FcF-4$s zFKqP{p26=|anGFGl)IJ7oqB%owJ_xwjHI`Q!Z!j+ z#kp_cVIcb z86nfoE}fD23!Ug=Nsf-q8ws++(y%0m%TzF3tE_X{yreWqV4nBa*r9h*UN0E!f{Iqj z?2-uMD?c6fQ!Zn<&y;aOpSZ$hPo;F;xL_&||ZlZsYSuMNxE{PQSkwmhkPL9CJ znMDCuv`&y!UlSvd?v#0Lce&uGA(lX-^!DbTEfdMt9Ly%rFc$tLHgTH%fMlh#Hf#Iy zf3QD)^?P@s%st#W=c>Qga`qdWIxGniLR*Dnrre{!gpA5V4)8)?gAY2+W}YU}xG9W_ zT6#H`XHD|n=FQ7no5g`~1KI9L2TxVSwGjansUTk4MSA)-KBgbZ7fzN$V}uEo zOO>i1R#Rj^sl8`N1F~f-Jc#JJA}U2a6DnGd=@9F_k#6S8voo$ z-!DF|H8-=;P|)NwIl#N*rgGhq11kX!I@LQ`EpNftY7A;(;%unCJeO$!6>sqQWnV*& z6v`t7cX5<-pPZ~J^1H;~#~)cg*_7eeUyyD#W||0T?~)};W@c*essp2_Boz`rrfNJ~ zrcgmRcr0kuWR+yo1Al}+5$;nyqs77VkzbK6wC8SJVBlGL|0X=c=FFlYPd@;{seq|o zkHD7qYgC=(#-0c1w5eN|x?d=q>%qN+F~`P}Q@8tEdc(}}E%*2Xi384XGfX+KdRrGa zy} zMDO1SU2-~7$l zZK^8A(Bf9R7?GYotM9yenFq`qPllsIcrgqFXAO2ck0PLmr>m zR4mQk)keyWBmdq(_ke6kR_MRAg?hNh54OOPa0#91gT2Xj0|TINFvP@xnTLRp-rx%6 z^%x-BYJtQztUwH8%+s5_$;Z^Kr6T*lFP&Zis!kWZLIuL?izN*~_(&pqcEGaoj3w&N z{25;r$s$|QaBme5Qx86WS3pcA7U4J&zek_kDJP^B3A(-Y5T2hQ|NCn8k3i;@50L zl&_hxY&wTMU7D(%mMdLab8YYS~R7oqXE54)*ln3=j^yi$&fE)KS|H|A@el` z%J>X0+z|ZdTOk5S`oVbs0STJ_H|T3veFrCd2U8~(%m1@$<-gd-FqpVq@z@}}5+zE`@RK4~mRtS=^nMI$VEJ>m& z%^GxUkRXkTf3M4~bmEB6ze`J1nX=aFU#37{q-MJR2Fx^LNK!+D19H-H_`bf+d%r8g zmV}5Z`)1r@d=KxQd&?}p^B+GkZ`|R(xN?m%$eJR_(stllhN-f4ySHYSqa*86DvJJ1 zMz*Ka6fIXpHm8)E{A)yYjnsC zInPR~yg>7&ejn@^_p9%962L`-G)xMby^c!@^ShTbe4IVwdGM9s`3*nNIq*}r%mH&9 zGoL1I5M9VHJisu_h`EpC@mugb{lUCbSyaUH?*Qs(ToFGb-vJ&Ukxo7`3PLx-{ zwXIGS)BPW<%5KG$kEYLr&%N_n{X1m`=UY>L(9|K)3P$wp4wo@{g&}Q>%$mkMiS07| zN-6$ji{_f1C4gVK;-!mE3o?d}B=ziaiHhPxXpCtUTlj;@7t+NLYIe{jg5nlML0K4sQrQ^;8Hu24L;+3A&X^9rszJTC3CPP14gh zU$M7qcFUo*DFYVB-j+zD?8-&1h23Z1s?CXCX*|M>6V_DrI?;po)YoSoaQS=0G|BYLk?5U8St+7vsNscrG;&a1Iy!WR_XT2oGt zcgLEg(i%R1+Ptnf;7<%8BN=11DTEnPBw;|(EzYobX;X}sxm6?*$b zB!GQL&h*Sv-SY|WYUY(O0{G0oP(~~_5;F3@W*yVEjPP-{-{m@d(JZp9>($`68?QT+8Tttl&tk&82=?p^nW}jc%+fHxV7^<%aJID&%G2rvlNj!e-~sG zhF$jWpQHM3?W3`_bfL*c3cJ;la@H=blJVCh9k zu>hhr)lxR8kp7rwr<-U$t6Y=rdavh&BR;Mu8!%3sY+Tma$D>b?`oY;bgH(T+;qsR- z%CPoqiaMsMb4MdjB*>%_#}+cWq86~;0N!kooX4g?SVlNQj5o@%QAP?H3$`ez`W!<5fQ|lPB+RgutFLmkPyMpOCBtr2=?n*ad|(~KT4Bl;?~Z&CAKATmylN*``L^vDH7n$>QbV{ zs|05VBx(nEg*|tv%(Fz zoCT@(C;OS>^4dx3vPr#Z7E}K($ZlM%QNa57lvBWBPXDAp(gBu_7&Fm~(JduS&IpKW z7tf!eC=Ej9JJXE?u4+($nmWMaYO|k>Z0A1<)@-+68V_nRLyO;juLx7oW5Bu|t(?66 zG;oU2qz-rpF8I4|(q3)r3fD*-3ps1dFrc<3JFab z39Uo5Ok1M^nqvw=I#1X+S?_We^m5k+ef*yh=@>9$hm&+iSiR6E-?@cOV?D31fI?5o z9k>zZ&4f|gMtVl~jckFd@F?E(j?^cb_}*fBQ{dbxUdhkKm2KKKJ{m@bMRsml9EmiNYOAz(UT`)w-=|@HL?MmkFk7G(NZ_?wS%}Z zF1e4Hw>Az1l6UK03XhOHUtn$F%+J3VL9buh(TOs{D>8^|8W?~=VOJvr2PK!%q2E%l zQ?1+75a*0Xe*$P?s$+s!_IQl@cp&)}57j|mO&tKguFKJ{;aw0aj<53ZXfJ?S2!O7R zH^Vx@Hc2!Z;rce&P?UX>GK48q6L{gw+>TP}Rqvz(R3plm{40>B1yd~CZe^W(ge$)} zH%bqdIciuW8Cd`ocHOUowu>nQhK^4pK7h*&O;7xq%u@XdwoF=gz4RK-T^jXeoGTwh zKAP48pE81@?b@Km)~o44)3rmV=qjPop82Z4%(J)|?dzAWEiBfPabJi}s4x!q6p)nB z@#63R__LYDo&BaFFTmBs9`~`Art)}x2kKZ8tJOE_kAMUp@MTw^LndJR-C;Y4y3a;Ru@44R+8TWUdv6qmzqs@3E+(56ZPKah#8F6Dd}{&>+<4leVX4B|B&x$m>TH_%6Jgz726`V2C zxiPhAeF41j=9Ka_PxOzTCoghuY@dfLHa6gzpuG}Es>SFx($rvczmnI>{3|eLLmG23 zE*T*9z+;--2ScN%HCEW9l;-Tg=tfEL>sGn?IkT?$?XP^|y~R2>x+paI3t}d75UNrq za6)ukQK42pQKl@ez5$3hW(YWA*f=Sxcfa=M`nEuP{A1a+p0t76nO!lo}c?${|2T5kD9tlbN;nB6z_;V0CCwNa2I*#ajwA zOHqr9tTlGN%C-{N#ye#QE4Vu-ICM&E!HXl}IT+T^XQxT9EV3X@M(}i;S5%vjn(k z3Z)&M&>!ibIHd*ye90-u3XlywGk+LN7vJPPY}t#`xRoHHdLg8!V!7WzA`|;HL>!W= zg@`JJ0=xZ3^{LsW;aUO}C~mF_e<#Ypa^w3H_jc9cxNPqw(`^})CW8xemGk)gCp$Ua7L&5Qwe{tmh z90@so*-Euj$U}5mRg?b1snh-Fvh8ivvn>lw7_^ALqmBfU@s@y$LZdm$FRP4RP$r^; zzB9s}t9-Mhopna9xO;g9G(c8kogX)|q(Lpr=TB;go-xK*Fa}veE)CR)Of&$nOlJS! zq(|NYpDatk+{jDn^bWx`yBINawFVxNVvH@d2s$|e^KLQ|IxxCV2IH?B`c*W-6C#r# zu8D08jJ~*~zG89LNx6Z*v-92R_obu7$*DRt!)g4wjvd*TU3Vr zScmm7o9MmfdmWG1|Lu0@V%U$2YwHoTOdiDT<$bRIB zTto>li}-ao(?Bf#+So;*@Kr@IOaV|s-cRDsMD(Truu+!mXayr0LDT?@jnpRR;&+{m za#sLBs>4CX-O#RO>Z>TYhq4txUE@hyb(J!ZBQDHmaWzcT_!uL*T;y`$i4L38=!2AP zS19t~JaK_ zMJPkRIg}MwE2hQokcl9wqiX z2uKBk@O@*0#bZ{lEh2rBMledT6&7@v9tk{%Sz+M+5pY>_PvzT zTRR9;Xb#kC-YB(z;qiWr-bl};%8afEV}XZQ&4{Mdk`7t+<9J)gdlr3QX4+YHA7cGx z%XZNvDu+gj4BA-9Mbo?r>_==1l#W_9?CK1A!ZW{)tze3g(-$w$z)JdgZ%x}8gE%5E zTfg3lLV`XRse$^4K?O+OwJ&m-jYN=&*F1yM<#S2fG zzG<*Z=>nDt*pNob*q(pDjiRTOb7X}L;*KH2#bH3a`Kf^O=a@ZX`D2A}4 zO%1leS%7|v77MG%^v*4vJGOk-a`=D`0?_*dMBf+Uda$udDXUH{;iHn?F*)2(pi!>j#+R9M5VP#1@5gGgV(;U(7ld{Zs|4`o z2-#1sL?Q=oLU_BG zl}CV&Ak6@eD>^LH=euth;!e8m*{thdT1HobHL95b*I-V&AF{O3!2NkQID}2xi$Q-C z#C7XLJ-z0|xK5?BEi>=SKGhfSz4hJ$#ja`DQF`s=;QwVSps(mNZXX; zB${=U0&27l!bEg8%>8{oLA&zdQI`K&U1CQZW)PQ`S6&ID*P_r(E^F@K7LaBFp@G#r z>Vo=|^Kh-Y3*v2F>M#D(ZXqJkTI~y>CyPgo7mD(hr93R$CXj83NoSNPOH%<*4p|pk z9h?B-u)O};Vm**MfB{Ww;6Jov3>)7YJoq9Ym<*Pe5(N0j3PVM{*+#i-m^JyN0U(sm(55~?pI+Jiq z_i;MtBpr2ZTOHd@$F|Lmlj_*EZQJVDHaoV>n=>fa-m3be*0;X*-Sw>6 z&;IQx@eym9&XurJExy|CX}GTr#b_9MC>ha(1mUAT>9Xr^W>0|FPfs@1xGxOJ{a>~X z;ID*{4Sr0TSv&4*95O9}OzttVkqXNHAby*Tx|&8Zl-7D{rtpJF>P0@j))eA@H>B|XO@J>gUXu{L zJM$%ZzPst-&!ibZdI^^WZ;7XmTNd!7mWjeHc99e~_qErpa^2#?h<_u3e?eb5;PL`d z;88B;(M9-i>5G3t>JRTe4t8*tD{n`d5SDOWtiNdw0vJw^aK8f5MAtz{=jd)gOv}>j z>tNF5ZFgIr{5Psw1B~Ee4?A1)Hz@9VA7!I9E=}FJt%@9hnkOhs?gHIF*c!+62qm%T z&%}xsPAU64PUxyvsNcn2%=T1}RDG&(eN-_RYl5h$JyG_U*`M`p<>xQ~-@`cQFWgoy z05KwF`@7HYm{jiIG*%Q+LT~V}3-}b|H4!X?wx~;3eAm|D%p0ZB(bSO%Eme@i@0$V@0Y2piZn|SnOQ4DUNaij`L-6ra+vLM}*gb3rTD$BlfJ3ryZf z0+BHBX}tJ&sD0rJ8OfbYawTGM{cn_~J`$jba_d3ya=xM8Vhp$`D5<-zQ#|5ouO)s; zh~(!3c*&@GPXRB{U^3|R;rIO01sD~78EzIJqbSDOXoK)NYv*bnLN?R$Rfk_t2Waus zPdsat^(s7$!MZ3C=8WQ1cRIc2m%A?%t2kE4D;AWPi*&eT7R#qe-gKQ}$ z)dn2f*0w&_g5O8KxTn+Y*<2~UTB8>M5E4oh91=&}ofiYMyQv+WrzGjs#Fq1A2wvDu zohpu;)oz?uNjm~BInT@jA-TjcWbtAROEV|G>^rhzKg!NufgSczkj|#IrlyB}m&P5a zxM)`U&N(`YT`BXP{GJHOx!2#+KWKA`LTIH+UBA?3xNsbp<64zzW0>$1pZ+HJ7rQE2r3P2zfXKkGj6}g4lu!#H^U@m9 zDs9H#t|l$>LY|T6T9N7f+@BJ_ER=KaT$`7PCyLKo%J5gQ>@o0ErfJ)+Xyn1&xGG%h z6(Y&(tG&n!n~ze_uXK&H=#;G_4l!*=&s-N$S_0O^Frx6D`L%kFp(J>ROEHNw;@gSd z!nE~S=|q$Er=^cXP%vKs@O@c^`7RjU6wLOUJtIdBK0ii-@{5O){5{3@gy`@cp16;u zcSi+z<@Rp0cqjMZ@_ny6Qa$mz3i+!jFD+qxo6bz_#kJmRVEGV+ccQy10|%=?$AZ>8 z_^@z&o6r`3YMJc3**nWA`*cif+_L*x=f2Km{P784kXR+^_7H&YPg~#9kE^esNqY|h zsV-LeNaKR%U#hp(wl$;qSM}#UVT$~#p_%>=m{qw7DC7iBtR!($oL+t04UL`>EM^t% zf|Z+o$4?ZjI_XXj0wzb5YO`%@xL(iA_{NJb9h25Lg^Tc^K{{GNx!JxZ7T z^hSKDL*>Tux~d`SWa`3Rn4l3@rp)@rP>A+D9d%&%O#o z+f&Fbw5st#XrzDCoktV8g=^tqaOUzaAXD27rd&ECbY=CzA)NG<_;`6^7u^cLbJuZE zEcg-Rnd+0(Ma;}_ z)uRsJJ%LCoexpNKhwnr}*u!MPfq_FN!hwy^6~XY<#4f~4EYhM#n5{vccrk=)le*es zjdAouO!a=J!bWD_mt}O>qCJL_kT6=K*5q_Ah;+$xbE>e1DW0gj)`jn*p||QmYm+=9 zI&H`d>&3jQGY(!}AXQMk#Og;^!B8qvkT@i*%z>Vt>)F2TN5}O)yP8|!REn|F4eby+ z@?iFZy+Jg%;f4_j89^bcyfb*Ql%}>MUHkNBE%%6OeB*I$j3yiUUVEO>KHI zE&*^hWs5B7QQT&kU;D(qY5eeTI}6Q@XLqqvXS0k6kTjp&ZLLtKIZ=tXyfs|)g9Lg9 zC1t%VWKEv;7S`4P2iN%@EilsoS0Vevr^?D2GK2TJRvNz%NiP-Z)nu|7mEr8RZ}ZJ- zQqQf*(7W=7`AgBu4u=~pKyAwJ%r(jjQGnG_$j9kGg$9P@T&e1V<|h9W;owQ0gm3Y} z)$xkC)*A}R@g-G1yi#HB3G5p*kyXVrPfepyX`&DoQb9bxe={*ICRgGco)ioSdt{I( z<5kU8p-C*{>)X$5kp3*Myuji5;|b#FRJIceSI!%(f;d&7jU>?ehn)18Ym+#umjobm zzHr838r**l8_UYj{$ss}bo>3?3ZO)NKRs2@dBb~KUNJp3oa$k3G!%a>|A5_7g@27W zde#zRRO90MRV!MwoP^6^b}v0H(yhh3E7P>9${U)snuUb_a%p4oYMA&oD40Ph|Ee3 zZ3AVI8ntn1S;XX626^WhT*cZr63t^VHwfMeXwd1lzB&Zg$cD;$ZoGmONLT<_w3{Tx zmhFm-qU=>P7E_&)7uPG6g*#Q%s&VsU?7mtB!_!7-@G`FBQ0Bb7Z(Qz846J*3l!fUR z*6v%OTEc#K4#y{+MJYT@QMB1`A?yKJyWR9~n@8yTMZafsvmzs-T0Fd;$TWi*Di?HEWOB_?t|j0}rrO8s*8A6Q z}qfnzv1H!Rt$il~Y5E zm00yWUSi|3158s2$}WMhOf61w6|g$8L4U%sn!P$Of*M&eG98s`Nt)TKRU0Oc>awv3 z-}9;!CazWMVW_r|az+;;gY6%hCXW?Ydg5bNnv%aFT_o)`P|LEaRJ(d9Q)Pq%bRSSJ zh{v+xo@KBjYTTc-YmT7LiCHH05Fq0^b62f?l+@f zp<^wh+o6YFqCG)|0m3H+b+ctJU&M1J*X4T-##3;vZn)}>jU7JNC6vTo$)%t!($o#y zd-8%y?My3!9>=yl>xMlS?sf@#sK8u0YO~~SpKSCEWCYYVJW1$CpF=cpcqO_1CV3wFWN}0Ha`tY#L0|B-S*P!q zNL!TrAY8yrEGVcC1ek*)18z|R#@v8iP&QcZqA*7+Qa2gjHzh=ZV%}`DUT^WaGm#%g z-&A}p;9tm;gyvoO_BUYNu@^efG^aRwP-**t->-<60JpTER|qRdDvMTVRnEUS^t#$}gn*lBbb_@5*Al3HIjC;qT2~*ddy(a682^ zp+=VHhzpK)`@;|ce|cUp_t0+t+iMl@6=-4YT>iBX8S-DsV&t7e7|MCVgiHTg;-&vLb6P=*HXhlv%>a<4%%yFxyUd~tVMFp;_IQREK# z{J5`_e%7O!4LEyu_xzZaBkYm+-JFB*;L)8zZjD%5a#?Cu?d*==X&62!RF0BKbHfDW zydb^@N&Ncx{Cp%W8PSH;7m;d3(f&u@2KZB$v|MFCP29zo&?-{b zKXE?QM|Cjk(3N1rDEPTl1J8|-?DLa^<7$7XGC%+9u)-J+^BD62BC5E~+E+0QV^12@ z^^=AVuZFohE;=qyj-0{u78b|p^LQY-+3ZXk#y6NXy%>CaAOMD;p9n=10!R$x_RStp z$Wb1YMszn5`rD3uo(l%n3mnjt2B4beKZjbsYV6UTXZ4^KoTpUGh6#LZ91Qk&6Ygsn zY5nYsff+ZJgqMVCu}2!zFfqXKY|_5dZ;-{%lmrxq-qI-=Ku~ELY-4Z(7ka*y*@l(T>Dcq6QR;UT&?h3)h7=Ty)x5B0!!yKjcF=sc0fJJDU z$LY|FwI+>jR`{5DXYw;kjxzKCj_(+X&G}eX@ny<&^xYH?D#(9adTIwRL@nc3_r=(wpUQZPzRF$gsyPNTZCK#?6!wLFC^Yne=++b!vwmz_mQL>6=Ce^VDqq{(M#oP>_eJmWX7=u7`9A%znn zum~1H7JP*&j|vZkwg0=x9Nq^Y`Nt8nn57S=F4i=bwqziU@Mi2fB%gBvyC7%Lm$s z?+2z*W?bT=GNUSxYGx2pTl2KVQHuL)i%ogh59>|0(ofCdSkC3|5!F7c+)hdr* zix86Oa8B+f@c}*zH;T8j^Z*s{wUQ)OsRW!98`z}rR~mTmxTQ*2WrfOWR6Bm3AhFYO zxAq%_u(R~vkK6?46Ek;5QA_7&Nuwun4cR!(+5`=yO0AnS(T6E}QzY5gsT$7fg&-X* zQ&$%Jbz>@DdAaHE@RAC8_B)w`d%|8pA^=veK=R0FVa&Yrw+N2-QQ#s@(D-|N>q1*A zB1#gpgm+M*JYnxjh5&v81wC7t{!$EiuKhR(sQAx?ae8js@U`&><<`TS+3_Jo$@E9_aQc z?h~E_NA*i)kvIuGH-PIcUowW(LcANz3H<#P5)yy<_QL{a)kCTj8F|kRS#fut8nQb- zXbz3$)i5?XV@rfc4I1TkG!x?v{!w+%ZA8CRV;d5SZ<%5Avd95b+?OpX;;RJCVPEJH z-Q5EG)g|X4p)i*tt66%gZ{Es7%D+S9w-%2Q`dUHf@w;fA1_J(|_NN7X775cIW=6`P zDjOvsT4vXY&JjWDmC`?T)aRj&S-EsjznRfu=(hzd2^+K(*?EeKYpn^ zBm4uUn+}1IK_KO-@gpV>+^KRr1;UNSj5v4$MEvYah%&x#5VZX+$*L$Lge1);&4Sll zDU-w6bjV)8APf*d7h`1cZ%BJkefxU8ZZF$uX+5p`&SUrxt)5o=~^s-FH@TF=tfsgr-?# zWP5Crzo4(YbC$E1cT*hSNqAJ;^UALOnlRnAovArNZ|qqd?s3I!AW#}I-Yn2Cw70IR z%E8AS>U&Oc@Li=4NB()yg3*dpog&mOrc5=G>Q@%&vI)2$t8{-et1RsHj9x`LR`e!) zRgs~6Lm?0`m!OVyQ{YS@KYd1AHP61%2f1jPZzYsoe)Opl98&W=*jM-bzaZepTen(h z(`41f*M`IEq#pbd32##`(e{nFjEnrs?+!V44snm!8vzURns5O0^ya1{pwpEdsT<_7 z^*_i4HmY|umc4LwwN!*b^7>0o8Em`TpPp%B6aj2U=+`ivw(vp*ndR#b3|N`Y44|=u zl64d$xG14&Jc3n;lAtBb$YQSX)R9{>QtI&qBKqkN)ptBSu#E(n1)Sshp+ql`$J=Mf z85Ufg@0aE8)n~#DV@QtObET>Z)D|r$ZBPOYnSU*6A`j2gwa54R2{Bf@M61u&Gj&kQ zumSg_Gy~jm%(oe_aziZhO81&~h0Z9?`EU=v%Uh16m#cARz)an73`=i zXyte-Db~D+hQ=!lV9u z`5~lO3p3CA@kO5(<;X>pxM zY%xJQr$s`cu2wFd*$J$OwziqQUx+O>-Cm0UC30f|>p=k@wG%sF(sQZ2p?_=b_W(Ne z_`JLfd?yFdMwB>;TfKqOzrju3mtGX_l2?8{+&DMl={(3qSoQ)$@V*t(P0gfq)3Mj% z=}&WI19s-cSu|~F2NY;Yb3NCvUF>N;^N14 z^i}(J)Zd+9&(RSdj>^g=FTZ-JSv~}bZ?T%IbVog1D~SYeL`pkh+P2_x6n3 zVzx$5GQ7blF)T{3ODtv9nor9ZB;QNxO33UA2vjCMO(aMM7OePTx`tY^Ys*g8CDU&j zXMLslxMo(ygELa4p6ri&KLIK5f0Hs_K>neOx-8B9UVH}uIUfTBq52nLWc?}R9nDQ` z^#8N=!iJWagVspj!NuH$&e8UNl1Zl-mUcMG&Vv_Y;*Cg9qXEI=wOdfDYC6@T`!xXT z04wu?pFEPN_#gImjf#}S!mF{{sr9-d8k~fq* z%woYAweMh(U-b!<8j5~NO|pO*%%03MjmPwt9v}M2F4JIC9cj>SV$+={zc(uzELD}3 zo}oUUV(xS}W+Wj3&$rQ&U7`cj4^cZM<~(tq$*JvMm2vi-?yd{(q}GE>4&cnURr(!C zeArV`{?y8mru$ZdMXCc_WN%sU33s7SX~M?%aLsW8iuGiI|=4JQ`R?yr0R$PIN0*0Nzd=aDZ~D;arK8 zd3hB!tqq_|I`hpu_ZrdN5a9W3gc%q9`MH zboVua=kSeHMLc8ia|!)V+v~^PLf_EjPFfoZ(6;#TSBo(7g@s7?%2b~anG10oI8Yca`p{}sXF8U`kbaH@|uiJ${(l zcW!yS{IKo^JO66%ZQiWNQYWPcv^Du7A&nwQVlCG>1);*(P?r(o{ zfh;o7OczTRPu?S|!tG7{hhb&g%4hp4Yl}Ru-GaWM(SCs3KHvR7tMUYcqvm*gJF0zT z+mg`cBOS4fLzBNzNt>HL0GBum?IYF$Q|HdcU^jzn+hz04my55dpKZ{i6@`npRO(c% z%Qve1^M_R(F2}q&dtJd?2S>HD%(yoLhDNoIuHv%eh7RYVi*lE)CF}XBd*#;nZj3cT z{$|N>0a#c+?a3EUJ540~UoHhkha^%XDhL<5yu{{bBuw=U4%!0B0Q;B|2go)jdp>&7 z6N5irUu^z*rmm1Tm#jbFXX0QN?rVy|1!evvm@w94yu zyo*DTw$k>yyr(=e%k$=wfcF7~)2A>)8_!g6(ku8Z3$0yQ1xx$-XNHOa@spY)&8WJ) zp|=m23~F>*7q<4|wYxvNwVQ>&P~0fz+5y?a@)2*_nrYO_+9_{S^W^IKLB{!w&BO8u z@5`F$h}V7FWc^F~pqI&->4ew*QHpnZtKDb%zW}j1-rz_%(Z=+MLCSN3&MUltHE|;M zh<9Yra#l*cHMZav%@ucntzpPybiobH6;1v}c!5SDLQNm@RLx7Say>4vy&gBZLW#dq z=d^tY$jZtVy3Iu5nS@LZ;d#XsjMH@dLB^lrdB%}Ktakcc(8PZ1oycoso=!5)3gw_d zRNAorsqQy=~t~Sf@3GwxQd?a=4 zj7av!p*EGV(De^-JpV4Jp$;kB&i~aBw5{_kAYIea<5z?83XPG1WL70fgLI(Aa^eEuh$?*Vw@u#ghkwO< zcVXmweAl7qj6L>QWtOi zpp{d;mTkr4=x%NOr-IIvyL6n+@-y*8fuk`>%7Jcj|T$LbhI-s@$9W5-lQD!6g|&6@C&8Wzmk|@1sq+m9<<(^5iH#U{QFYQv9;eTCMoLZ z&7Nb_UBex|LIv{cYc5flPHArCxg%+v)GY?-)Wu{rUyCzRjZb(2JVm1p6xfc1R;8(p z%hm_H+!52x6AE>d8q`OPR(2tAjProcT+~XgVn@nut*PK0))Uhr%Zo~!4e)w5LJJKtOi-jnC>W1gGm1_24VCvR0g zn8S;>4SdQ?*&YSMp|(lCr{v?L=UY4B;2_WU?+~|TV4Q3Kh> ztFDdN*6|T$+n)qFVpFA>u*-& z(a{X5^K}Jk8z@DfgR5Yud4{5&Cv{kAA(e8zElO&nHI7yBe#|C9b8k0z%gf}Mz`Cbg zL&Kr7G_;BeWm?mEy*4jVVxYvV$oN`%W%?CK*Nm(#L1K0$Z)0U?I&=ZMj_BCvW;)!E zHFehZE>^d@Lh002Y!o}f{M#ABGtD?wXrsD@O3`1dhP(_wh~-+#5GWyOU2fADkJOoW zJsT06*eYA7A4`xYP8vg1;1n@}F5QJP6GwfZuF?6gh5!E?{jNf&%6NSYbGu$M{#pPT zuaiaGC#w#C76eu!m9EUT7MP}j)EwPer0fqFDF3<@C<3g|!(BWZk~T3ZPxOH`D#lY) z<%i-79>aE7x5~$4xrf2Bn5%u|KE+vgvMSBlzOafo@0?m*kB?ZB31?4t<92`U!PkSF zTD)(}LRVIU+j+XPgD-l1|5q+w)9*HZ#uAI&=W+Axw*YR{j{YKO!^gi~3QjxqeIDBu zz|DACYlj)5IfD>hOo-uP%R6|XZQ2-y93^HS)j`CArdI%87LHOxIcxUKProZv%qr29 zx_9FpEflJ|QB_793|;=H$JoWH@WK_LWnSjIeO$`{*B#zC z9o*}qx{D^>)ygUAojcyGy?5Tnou|kVpzX4qbd4SNEX~Hs+MNEZK_SQ>;hFv*Vdv3M zTatO2QU@d(z}AP9=v<0^CwQmwMg!S zs$i$tR}r!QbMgTHIr^u;)(27?eK1?(CeDhBg@@~A39doZ3|6IPx$yhhuq~oX2I_W< z9Ff6COf@@_Ch@fv9&)dCP)WN$a8aKCqdf@;!d&oDPrplu$BzEAq9R(FnkO({buTK6 zxQcz!k4}o3#%_6Jr)vLsD;x%}rib?qVC8{K4DTE9-S)SlM%y))*ZoJ{A*p7QR#@9oY_V zt3>t?K74NCOTp(FGVIE*lC`!itg%^h*=9}k6F_YnR8w#8aI$* zMBV^MkXO1cxUUA}k3C#Nn!LFx@9)n&Vp8AIDBfMgwRqlrpMfzC!m4+b78QelrR}UF z#nqBG+zqTtte0Q!Uh&@8=dLON-_g2Ibb79HIPDK&TDIq6`s>l9`Z62NlUY?xcV25R z(ZA`Oj%4t*43jTD?HWprUZ3zjQD$-P$KCL@%#yP`?Q&*$T7}Se%6X5FM?LMf%bnj2 z%kZ|yj${bZXaIs9TlRl5i!}42J^4qz$Gn!tcZpu>Q__<>CC8sg@KWy%!-?w<8NYWK zRK&Y|+=-_wRPqwO?F#^m{cI)0~cv|La|?^xyRDwPRtUs;XttxFA`< z?UAIys8Ml(wKsw*obMeuk(`#c3tYLnkL?7gI|*rzsce?^Ro%62srdjnycDyWqziMn89sZB&kq=E;ExNU)IqFh`Gpt|00KedBx)) zIX;n%lJWy~S}BzcP$zx7)zn@W6}nvIs=JlnlIvce-|ZA{Tte;o?T)1Cu67Rg$gnLd zQQQ3UiG=B)Y4d?d7v1LidwLY}HHX{#K0}e_Zi-9dljjk)JKeQxYM@JiuvwMMdrhch z>FcKKJCi}zy)MQ-1($yv{?Ui~L4}Ntfy-x&9>j2|cCAC^PBl zV&qjng^%dQKINlfEGy?vZnS@EGe|{(%h*UzXk%?d+>0z zOAuOB)1#}ILS^>A(43fb5M{YtwvReTR3c! z`FM97i_Rvn(o1kVVcuX}8{{5u_lTF2@h`1aU$uD_{0sgKJX73a?iTgOMP4ti-P+4H zW{2Nq+6pM7RBd|aHnU&9ny^7f0Zt4neun!v5~lu5m4Qz$SuEcxe4HiDnC7o?l$d<5 zSqdN#Z@-luDv*5eDM_a$F67v<|H=nIf2 zU&K0w7a)U#i88)@yKQ<@BcbHw$F%LF)DQ9A8;_Nwjp85mwH3s1mG`S;_2KM z_20X}>(C#>cBC&d+#64LxK0_ov&y^l3x$1S)I7dp(v^qbRPLU3_Uw?;sa4$c z(!>=;*$);&_o;tV^xbBn1lFJec4_PNh)hv9)w1?a9YyUN~=-GZfC!mGuZR>LjdYo1&Z?1#f1{S0Gtv3*~cTI25EghTy>tVW7) zPDCc=6IzXBB(}a(0dc7u0Yc{_0qfHS%G^{bj%4PqXpTX}!un9SwUsr~GN@ix@~<5# zReHrL(rwkqlF<~afRE`f={pe8=mLlpO8u{M;KQKEXCdmk^NfP_zv)Bp?8diM<-32z z`S=UG8pYsto~}RPuf{yBy?2-)Z#;X)yNM4^oK!xMX!^xO*)q~z(D3=&L4lYiL48EneTtHlMW_hkd!j z=DhDHTm!x?Q2LpNs=2h-4qJ55;qgAZcHI#Lw{E>L94{>Cz%I0v-7TuBaoGl$qknjv z%~`Fha|{Zz^@q)52$j^lDU$7Q&MDw?XRb268+b4U<^YiYV&42C2jS?%_EY}TP(=FK z`~&r0auA;$A}3>4r~k#2k)SAGv&w+feuD<5YlT*crSaE?qntk)=H=NUVS>&X92^+qARGLCnM+U=-q1ic4C@Gjg=Fq3F?{56L7wTC zZ#pE)4K?`|;Z#H?Bn!Dsu;v>e=yy&tb=0Xp6KpUPg~!A*;Oq~K{L&(j_{k@4F14S@ zANweb@vt4jA{-!^jt5VUgz_Dn9O@UF4O_^>wb4B{}Z}^iEO4FC$hN`M7n)1n(x^UTB$U8bEqUSJS-5@n{ zbU~RIAuxe+F7LSA#AnAjZ4=-ggus_Wjec{LNeu%awKH=GG{bz!v}kjW`#Dh>e(*eA zb<33UVVwMxj1mm4C6*5E^vv2CkkJsAr>O8`? zw66$2M#Q5?)-C^WPYY3Hy3mu83Q^t3z$vk$75cH7-JTRb7q(u`boEb-Z2vJw`*`SK z4L)5!0-vV0f1RWM-n-WHf0?5N@=~(B3`pxQs6bx128;s;2?>%W33_#tw&@H84p%LC z!Qb2Pj6z9eP`GyS*OZ48Hf80IMSBcE5;GzHAQrdT{;jj`tksS^o+N}Doc{W`bgm4t zMG*QAk%30uP-*;rFqxO)9rx~0H9x&HjtOGOPNx;Yj#*&xc+8T(PLT%ski#(=92IG) z8UcfsZU3XMhY(D*{z$61E?}<4!tZ=^*VTunw0cY~3!>t!VrKHQ7%{_e*R|^j>L-5- zhL*uMc;_$2au+W2uXLx@giyFMJ+>kpWY86f0MJZ@%L8Eg};Tg zKwQ$>-gv(6H?v-S{nxNkd{u=;01pC^MEBVj^}oUj@aa=DGIlg{Ft>BEb#VM&{ox!~hbVZ?(NpI8!(U(b7#4}|1HWd^3)eRYhhXc4S67B|<>GgmMc!Y=FG&?* z@nzbYU+f^A4P$!UChgdbkRUo9PAmrCu8$AJfNPsqXsOcEOx%n(`;-Dj(LWEC7(7w# z9f)<((HwF~9K@7qMvy4^sf@9gu`%VvY8*K*;a4FzDrTUT*hkslLDqF}X1SvbnMl}p zz&?DZPh3W+OqHkDHchLezwf7!{novl@yz6?210Cslgirye z2WS{&rC?GXrWZiX8J>o2Ry0Q1X(E01U%_X*A9i29Nv+UW})!D6Jz#0 z0=b}qA-ud%V&A=PZjPVt+FWeU4(|3e0n_81FNbpKB|)+2a7f~H1<(h#kr`z$KVsJv zc}$g7E<{p`q|Lh-Sd8b5QV#0Vw;7sYklzx}x5Bq5cecWwa3V#c1hSfmyI!v`);4}~ zLODMFULfI%O`6R5xI}iE_gL@{6&;Wpc1_u%qz+M|i#`P@>?sQ=dSMtAamu|#1n|Ou zNk=M(M?O~`NXj9I_dJmvY7L*%o*Q!!3JDS=K{zH8BT6+`LC$(z>J`6C;V1n89DhpF zT=w!U`mF#AuyXJyzgQn|G=4CvQgvrf3axn0>8+>So{H}WUnWN^WT+4(;tqbxO85x0 zYvtF^taWW9t<%}Wgc_@gxCPrY1MS<8mZi-`{HRYX0>a%MO!2bz`^O2e5WC34-BJ*^ zq0U#PD8BhH`ONv1!CdXRRe>o#wGg6+IVK%yK#}e5Lf~w7m6oZ~X~Oaex2r6?dQquV z^}-FbCC)DL*o)nbC0qk~6g{U#P z7)u3|A%#xfni6YvgmXDLS@1k)K9ts#r7SM|!8o@ufB4NT(!{^mu&h6{QaeP1405}i zNx{z5`*q=WUAm8ZsVHS)F=Jt03#%t64@Dwz64K~i66*5GTP>ARn<(qHy2 zbg!4bL%{`rDElI6!ffDvNI z0Tc2BuhOkG5sLJ^Oys6~Y6ogtToA+N3rQM-LiMCw)leNt+0-ADx~jvw!Cm^q0D(VA zB4|)G_i%O`71S*7Ur2cn?WH1qKwHvUJIitre*Kj_!%Kw8j8-*Lvjs5cAPqt!57a;g z8;uo)X!`mD-Td|!P4_l3&CQfC;iqOf_V`hs>T0ZvIll(pK3|`~cXeouHuYr~&u-AC z+nHL7TEK-V;R2IS-)#1QJi2PPs68#Ao96CG*a3rsOSPF znyaUkt?C$W^6rN;F|5(eXXzNrJ`-v2*z$*-?>Jta%ksD7?LbJBl5<>cxG%25>*4`ki92%)*pyl zd*621C#UtQ(@2NVg}05WC81aUQzUY~%+Yc(kPc=j>MH)e9M|wJGZAW@s8RfIn+%ONfl~oVb zbVX*MTYQ^$oC5H^Iky2e(Fjpz5LO=c*mNtH)NfF7n%vsBMjy8G3tc?r&qWwzF+SXy z&6wh+F+O8=;~>CX>X+&mk_!jVy6j9$nHtrfldJ$;&E+PfX7@b_wtE(8fI9+B!rI+-=!-48c+uC$gAxVLS6O$(XoyQq)^DpcpmQ}KM>h~Cqw$!y=rlu7~`q{7(< z?0KUtnkQJ!@>ZL;&|k-e0UVT%MrpU%EH&9Gd=X4rW7hIqkM&Y?qR-CfTATK%QXF372U>pv$wqG(A%_*mFAv!{dxY$I zK4j#Emczc&H@RWZ>%A=Snn)2)l(e*q9e29NxK;<(mCs3iGgn&#ndac|;NwJnM)=C* zZ;&#kca$tIk11W-MMFPQ$C(1_)$80(?KKNDpq7pdrGDBJ-A2gnYo}HWO2JF$FPL)H z2Wh~6cJe2h%c?M|6pwlk%aPe$L4bgzUaiR1&V`mHzfkN6Z7cUk{?aDDq8Q^3hX33Vq*7;Z7n&#`IFm&spruo=a)#uz)^OsJE$3MOOuQ zkOxo^u_iE z1c^b59a{ckO55gKqGL&zb+V~wpM&is9tGSpP7)<^!nAcN6(cl#5m80DBg@K-WcgfoUJ; zsv-k;;4gW3{(bK0y5SHW^!dIrJWhAQYr5^!MJ+YTUmmb~0ksf=Em3RJo>q_2f)|_R zHy~P$&`~j*r?(g~C#&EtY_HwSG`Tej=Hw7nwv>sr^cy0@m_I?g0E(W_cF^E??YF7;6l({Z!#w+~0 zA$wO3<++3*MK$J``w>)qRBHzL#ZPjUY!8=RQ?#SnP|4fV=(}6+V{D)sUHRyDg+E%i zMkN%)pA|OUUz$UU0m66uDo9m_Q3 zGxQoTg)z<>`7kQ>yLjLuP&iJ1KMn>}g=CedApTv!7=Cg*boot+XLY7Pg5AN#=^Yy? zg%Q2|SS-`mV&@y8-~qBwjP+n|50`i@fBebspMO5+&O>5@+IXArgQ=W@k?6^Q&2Q<@ zh1G0`qgZPK&~o^S`9B0@n9P!2EU;WD>b_!qfJlRd?1Bq)W9x$=Ok>h_#D5A-$vJVI zWi`blp#~~V-@8f1J+p@k_M`O*hnwi{Q#;OgU*k0YOO39EBuVry^C-^DyKKz6`xEy{ zaa_Iy#spc#l(!?i3vVBC=&UJVxnx%9C{YJqf~~d7x&^tu5WKO9z^s&Vt!R!}A=)R< z_A-~bXa-1c_>(WcymgX=l_Q$zC7g)&i@dAG{XF@qQ}~Lrgoi%2V=3m|1jqLK+16|% z7(`vq*VU?bb9!gYvdH{9(tj*P;KRb<|J5MhY;FGWC%FHo7Wr3-7&%#*n43DgIyl%n z{dW%?mwbQiH--~?&TCgCh>*t>U-lpNKu&_L&p6$zc}HMA0-mN%P|@2GHI$2_lwy5_ zKA$t!7_YFXxg7Q3Hetl*6IdHr8-ahbkq9Qx;NgelH9xtl_`Fq{)VfawmgoCV{-eu4 znRDLE1+y+KRaa>O9Ns~w zqQPTvlrPXg8q`Z>b{BVE%|ByPol8S2;~2+|o+Njz~a9XXsjvF*dG-Unh%DU)X*d9OyDx1^6aPU6lkrm)LqY=BT=P`Fpte z1o**jB2QWIYyI0fv}&ax6op_c&^ z@8p?5`3FMI(5GMdk&YDkTysSrCECO=!|f%349H`6b%{TymB)8vpuzCm4+XW)+sQ62 zNBxlJSgKiYAtjTJx!zJ0wa8>ej0$%I3TP|1WL@-MQU#3Nw)^9ETjX5qC4aY*Fx-~! zHY$RJwGR520-6EoRV)s9koA~^4yMlUl2;0b^!buWA{(}1TKEy+{o!JfB2PzWH(@V- z_ay47XY^mtN+z)R?C`@7=*`d`f@kemzO$YN&Fs~d2!cmNrwY!#@Ua*!q`Sm&v@T~x zQs+N*4Jg7YewW8(tiT`acJ~}((;cjAx2i-h2!w)$1oZpa4S8$S#_X-n0_@klvc3LM z8VeR$s`h!le|9OvLqdh?59IELtwrA3yVMNeppe4^PnJ-Bf2*ai{I2{;gCE!7W(ZF# zzDVJGhvmQ}%g>0$)`wK@A#{#Q0tT)Z5B@=AT_0@dUq6BH7O;$~)e$Vp z)(C?F0w6*E_Aj!v{(b=eVeo-77eB#>?B~!MhoFKiGAzGAG>SAF+^J)|yxfdK;wrl^ z`EBDZ=7km;rH9Qlin7<~#E?v7Wg3yoq|hzBh=^fq``qH1$A+ViVGjgBuRO0fA4Ul~ zbzKbfAmvCL`LGw2cp_j^5`wzu(H{4Vt~OJR3{b#-U2*lqI{nL!Kmp*?wc=?>YCh+6bPx%eU)5*p}G z0B)o0Cf%?}hNnL<$M~MF5ZVfFPFAIFGq!_14yD9 zvoJM95Ff6Ls$H^=4faPcGddT=!K_{Fzm~Qyv2(QZMi9GhLlF)8+XQDZsK5~Y;6wbN zc9qUoMK9{5SH#jGp#tDWKGsor2VtkO0owVQZ%*x-lclA5SbcB;K|xOR-bH8D25=a4 z3Z~wpZbz1*R~=T5$wDq3x4GMMAP3k~67jgjQFS?xJ)(PndB*|MI)TI&s)NYRVAR?$ zE-&u%3)(V3Vy7uY28vGH=HBDoxMOHcJjj$Kzd|1)M$t$5J#-?%0q^Cj=WFWm;N!Kfyio7uD3Qm+6laVoErdtOO-vLAn&SLZZA zuY6iH(*R2wuZ;?s2@D!!aTN zD#r#KWrCesL#D|{hy{_$>bbp|=%0G8EuK0lL@MS6&wRRktz~itbJeL6+eJ|nz|_J{ z^%g&`DvfB0L||NVF;OI+j(*W>OB!E2VhfREweaVTBE=Q!1=gOOzQ1+>xDZ-S;&v0$ zE16+it-_kqbjuIV;HB{rd4gp1kLG_kItUcC=Vx$le;mvR8TDD) z$~!!a1WC%D1!shP-wO?>pqD^SW*vqY#RrIH+j)W>h z990}DFO4tTKuHj?3HgRhp9JKM451M>_Xt1+-bfFU?glz0rP}yo1 z$Ts!}ui(`{)j{g}Zj^NzF(~$S4mH^QGz6ll$;J^9fm2^(@}I;xbIWfwjx_q9r9*gsh1`ZytJM;JReX~-3T42wkOo%AVSO~rUm5&@YShEf^kP|` z>*$Q=k-C>Ui}T3H;-{0LX~p_kc-C#0&pc(>s3F7cqf`%`aNhUgt!*~l1%c1DHQ;fJ z-cvG=$if=}h{@@On{?cj=}+6jfY^1ejEvpR&JMXs1`()0Yxcz6l|#n@qe7{n8ECD^ zXJe>vvKyY8T4*e_{z8T8 zBx9F#WmaFsH&(P82Z*aJt|`Il%2}q&$wczNmK5&c1uLd}C=TUN{{SyE@rKqJeeQsIqWQF< z{0?dWNSJzPWO`?8Hp$ViRWzH|_n2-JYghe*hb65v)#xzjNPm-3jhsiriepD?YKZo* zXzBk)G}i(KlE?c;@p`#?N6Of z*T)&$-7CWl%uOY9wH`8zO#_3a#)~^x%9CUbFDVq?rAFH*lpBg^M_2|};qG$&vu$;U z`Hg*(hhq7ZXp*JR&N5oFpFXp(Y-RS0fUXU?Wu8YL>DRYwU3E(g#8msee}3cqwLW^~ z&s)&)X7M{gO=5=z{wVMCLzY^?kCTL7ZPP+C-z?ko`0qa)GM7&LK_Kp;SOxGkf-$vG z6kaNZ1tTz_S@T=!)N@+RO7iLtM=B0>NA%@(B5#^f>q-R&iNh95%G04yefVEtfJlFg zzRMBw0QRr=kA@zO-y`E9EoJ<3-1v>o5PcJ!S%yemsK7+g1t~XeMG?kE@goT;L%XQW z+z@G&L|VFj8d}E|VL<0%bGp&Zn~;64$Njwmo(zABgqsi%J{JexSiGM?2OsWwupI~W z9`kGj!I^jMqw2Dq#4Uo>cC|__u!p)R`sBG4Xm*Pi<6|IvF?AURZwEf|5)ogfcHNlm|8q@Y{9+cU@;Y{Ba)>ErFwUt5- zjJw-2UOdwg*d~?R>V@5!n{&=;3MF5IP)W{kpCfV|v2I>LgT9qoO-&R6;PONsC?QiD zaUuB=8448cMIJP|x`@zL@DTfHo%<06W*r^$ti82*zu$t`-R?6a=^vMjJwDml_fGM@ z3}K0rMsfz{c*Bh_9v3NO*JPQJUnDyQD{j`#S7t62E4gz|OqFbeQyfGTg^q<#-B!za zPCV!^BxzFkvkrIwmE;59en=zq`#s&D0`)^WO?sx9Bl@rHAvKDtuhcn6tLTDYavmFt zY&d~WlBpJ2y_A?TRgx2jnh&O7-+M(!U^mn7t&?2egWCZsN9Ru`m+)4Xc?D1W+mAgN zp(e!w+f0rVMcim}m`%P~b1qnftvd{xMqF+6*TSq|M#Gb^UiKfrYkB|ILR9Dasnpk9 z>QbYR;MT~wH7KO#XneA#6bw&SbSYfaM{F+h&dR7y zsLTzqf%KRVYLFYF=~+YFG-6#vs!5 z0I>AHU%QOJ^ScKC-`0lJUollHri&<86D1{g-;%qmq=c0cZuwc8HsCxhXsODM;Ju}0 zKu`Z79D|>d&y$lzRhjW)*5;5oC_{Y83wN2Z8_CWO#?BoKTB`3^$UJ$cr8*!z&=q;1 zHFvm7P}Taa(brJDgr%%Br26tlZ5=$nCcX;~sv zy<~FP;r_uGWV0>Mh(P}%5`X0z>W7}Ud3Vc?3S7HEl$|}_b6R z(i{aqyRhv!xpx2NrZUl;sD(%os19(1nVGfaK?`hNO!frl z_38}vtD3O;9-{xN;Pg5B_bAjKZm$qO$!l0I`KTZc;KR}#wH~e3p0dIR)?pp7r;4he zk!EbrmDW(Abl{Jd@Eg1bamF!T%<2+O@45GP^;K1$Xy&?#dRAX|?_jfYshdh<+hclj0Hu)1Z_XD zBf*Ltr=B+mNYV&oeD)UcjxNNDQ(ZC~oA=552)Ax@P3LJ2Tk0r1tnE%9qLWE+AYv#A zqH(d-M!QV;fo{wDDq#A2DW2M;6_;C)^&&zI;M(2qkRI94H!9Y6Xdx@#2_DFbo?6ex z2~G&Fxb=J)&MWHAG!b7y@L=}+ z_HNyeK?cGUXL6#n3YSocoq?|H5`*_pFqQ0bha2L0D=HdJ}G%53l{oStNzY-TmuhZi5} z&A4t6hw%!Rk7Xj>iA6xlNH@S1CHYVLJZGXb*}B1tq#DCWvdQFHhQTzb-^cfYAbu>> zxnR1iW73Tp{hk6ftIwW=&UjZ3kHJW-w330NUgW4ck57#@8MNf)7f`r5D2W0J^xlKp zcC&is5c1#Q80$60-*U#n?|prwvz@=B_lRuia`-V_ciC{yDOUs8-p^*C39s&NGMa}; zFp^ksA`{d!=f}`K`^NBb4D61q4cls2@%uQzZxRiAoqtRxl;u|>ay|zb6616Xv%=ed zCFYiZsw2ccbr|~YGDFM^dPYS9uiDrTfe%lrE9;O#A7$E4x#TY;6&pkg2{m1IWnLc< zZ+4mWp}D2cSPb0Tw;f9g#EzQql2=Jt1e=hL0hGhm8qBou>Jt>mRjc$ZH%2WC;N<5G z8nVALzePYfjnifF`|Uzi*UNR;VH$l$<(yu#Cti8N*GWfzR% zgA2G-mJ=5mDA;(Cc;2n&qyhdn7fwfDw`BeL zOam$NLrd^*c#eAANiZs#)PwtMOvPbP$K+#X!UOA%axNWOJL-2w2Qes@dt(owP$QF_7EoX>&>dhW_i+qc6y5;BYh!Y(e+H;w*U9$gN4un z5Bf10#)^cA=CrSYxmG7I_*m?Nj-7t65Oxmbz|zYUJ-F>yY54_XyuuVk$!<&Tva=kq z4Z_D;An!OWX6-1gSL*Xw_XqD<18LHM{81(o=F){feFk0H+snW8+Y7qCtclJ1vbSox zn$pQYtJUi45zj8rfSRm`dm!4at_;+fH|Dky#%3s%eUI3$IWy@Fwq&D1Y*HwJJNIwB zvej`T7;=!x6eFtcvvDHHo3BEc%_1AZRwvLd!OBZi?5VDd^ZS3WcX8bwJvV_fK zV==C!XQu+~3eky>hzIOy+DO8@u|u>oTBUK6q8qk2u$aRa`cK4^oFU^w0-FhJo>H+d z`}3p5KSAtl{plt;^*5l>7!tL>c;9aOk)S563`$Sb{p!s6l;vFe2IKhrJ)EN<-Q7M# z1avMypGm8vHw`2kR}(MV)!9M}$33=ai-hZnyRHBX^?Z#29s87l(tvXzjJig7+=nqu zBz4W^VebX*QFnXqNpOUpK}pZO?}D`xAEQctUr*=a!uZxl>>{<_W^vU#JWz=AhSf&| zo*ky^CO;E@R{isNsR4$b#vOJdnWO8jmjpD?_nJCjy8Mlg+d1et8@s%0dhm+iRcYLk zcfEk|zDmBm@};eMKRJ&0!^Pi)Pk+KlqdF=NG!!BZ>Iq{GhfGOpi+;llE}@#M)j(L& zzCY!_T&mVO@zv?{w=Jz2?Pxv`n*Y zaC!d&{9h(mR#FkHQ{7O&H+OTaZ>0Z0g!rHCZT~x9^Z&u*K^xFfS!xj&m<-rU4P$|& zXLKPamo}J}l)yGcf5;2EL+$cJKtV|sCQfTJQcnV{xR)!cm9GWPC0H-RbUQ5P?oaML z5tKz1&YNke%{bajT_~z1?E-PLT9>!Y%@7CT&flMXpPuh=rq|3bAGfS)yO!7Av*P?V zyRN^DI0`|=!Ua?&98_>IbkZPRL3m*HeZR4PNj$o7M;__@F9z^m?EU}Qy7@u|x;}N? zp+|6{9qdE((Ld%%IBROw1rJ4bTd{y(Pfso!q>~3B1%gfU%oV@A^@C1cb;Dm1JM{6_ zD)?O`TjTHR6nwQ2mCGFWcQm?JV!!_0iN)me!k7UYc?%rYK7IVYhZEXb8cKQ^b5J`k z=;P0&KLH*K!FO01U5ue(>9_i8>4dwZ>pyEx1yCGwjN1Qxb=wWXEA#UorXfJr%RgI% zN5<{>#=nd&uu^xlv zihj>yjHYG_N8q|#e(Nsle!0^fU6$x9QtCF*eW!RCrybWZ^<7J?x=nYz%uKVtZTKJ$ zNwW&@IRJa9<8#QFd-cNNif5EPh{CwWAthzQDzK==q%B zfvd%D{BhUEgx~H~2a}rjFU*;5f`$XbrD{3YxByAc0w^mwYzK27-q0hw%I0vYReNxY z4-4m$DTC!xq!ggO*Fa`|TM+pXi6N=%IH9YjcB^4JpWG1HUv7G(1f93vFh59AOJ-?j zC`Qg(F5?9LFgL8ZYMu3t02a-9gRPwCbxV2v+NPiIOWH|YjqDdXW52$lqT~KPhC|^a zQSG_C4*mqxQ)vmg+!OU2Ye7=L7Q4e>Pkq0vR8s{Z5(W>4iAoD0?dY5&B0qiw0L#ko?LF6N#9&IxHvTpn!f zEcdD4YFs*H*d=obQa(6Fg<*LkOjx-pju4T6PW@Nv)h-v8Q+)2#*fX%I zOth;kUzczY8NBM!bixta7MrzZG*wI$<}&}CU0Og=w_tK-6z*6w9j*AmgH^-JheOK> zqHn~3a+$roMEZGz=!0h5@upzy`vn(@*Yx)bezdpxWHfu!;vX!rUgO`{n@{``9y=lu zYL!TV-`P-h-5D%x?mWN~wpBa))w@9!j!BkH`Usx(#2JqbJ#C@MHb}LL_PG`7ho-B1 zs2IefXGRFMLB2O?^fuWter(3I$6$SLLaH}3FS&n;$m;6iCrp}yDHijdcxy!<47owz zWb0+WP|oJ;cAgLFl(R6MxgsASn4?^Ei{77Hu0;`MoOylLq5%N$RC!9$9P=d$9b&i# z!lgpNofdhN_JBw(Rrhvn)_RNKtiD(;&Nqheo$CS4@R>4Seb(@Fe&3_f9PWp{Oh-K9H@N%A3;z7$9WHqx36WkS(A+(dTtgz| zTY;=)N6g85F%chSM}!aNFM-Vvr&C5Lv~cn`d_GB5T@4_p@g9(UBMM1uZ zZe{<#swkt|jNjO%yP$vYjoaFh7KCu(gnu?+o6-TBLbAk`&|SHB5nU07ryCZzR7c;X zjxvC6(n-Unm`C`t3E8ucbhuzc;PYqFRmuv+I@^fzTwz|J*z7?O7c0e{hfpmia|4CrA7a{CTX9DRvr9 z^>-H#9P?bkS8UHa_J1xWb&$lgmDo%g@>2I%@8&f63i&#Q&%zOfX^yD@&zr%E^^59$ z^qma*3BoY##UI$DHe9NS`|EKR1RL%pTL~%_)Q_3gw$-CcL+;9Bz~0x@HDB9*zClG@ zE4j7sfvX9#>LcTVtu4%gUr0Ooa@mrp%ElMyL+L-Nc$NVb|K5_Zs7ym7e$?X}ziA6g zNzvL5!E0#={tH?`6Yfvg*R^uQXVBlX+%%57Pw@(Xy;|V!3Dh!U(c5)N!t2o#Tvl%O zxPHk8Q1lVQ{rL`cd_7M5=KQ|Y^Kj$;2IRj5mH86!;#=&9)AVph+z3d&a-5$CF!cbL zXFWU-(>+){|LbdMDxlf#liQCIHR7&LQFO?UXlW8ew$$b*AI~huCObxD9zyYLmRfhX zF>ak^uq5I3Ln7@$=2V8lL^f4I zv1%Xu<4ls+c&KVRcA)2ea!uJB@U=-OEM*M)g|pdq^{v5qL(yl6+PB;#!*kjhYOX=O z2yKAFzX3PwMFlWTU`qyP@39=aN9FZGp@R_AW+;Gbx0RD_BV8Y{g zGkdv+<@z-!t9~qD8WNA2MIm|{w5#_Uf`)rj;0>`WF6cdd-4}gRK=4ZTmPj-v7`Kx( zxU@O>%Rw93(RK@S*LD2)!x9g71NM=0!<~Xw>s*_0)2UI+5+lnplpN*Ya!lD_N@Aul zsTe7Ui?jIJ@G-l=H#WNp=vF=p{pK(6o9wPGc1$!*gzxm7t{hH8Yy}Q~SCr)xZyl1u zh>!LBEM56u2+73;Op+`3>0kQ%z1l93RsF2!<5i^Mg0jr;jO2p^lXa#FC+aK)6Vxh_ zSTb#G$rbyhKbFpcmXm&q&MGslC>oZR2NdUAsc3RB2ftKu$sZE{z~bQaq9@D~TtOD* zS~ZT|fv`#50}5?d0I%<~9SvzpzMORBVDFXia$$D)s4#dAEmKOZfO{k}xV1ENcIh*^ z1!}H^ku=KZ?S>nq4f=co_InFV7p*B(o+C4abYF!UIc?x1CSU3|U4BZqc&lJ&r*szU zKm<9&i0Cs@hL|2!= ztid`)&gTnq6{@Ahr$4CcsQc&2K8ATRu@pzL1{HQ5zmO*Kq%-1!m>pdFg?l`8zfE<% zOCMxjCv!3&zUp9mBg3A8a5S&<4MLRlnwN$ z8Ob`{>8q9oG9XVVX`vRBod&|u_I;Yaz5Nj08Gh<{r4&4XiqI8m3v=RQKF(QKIOB_9 z)QNGXU?HGBKnDma1VXc75A)`w~8iw2)L1R&)B(wxa7AFnX0?sSDHYD$z{=`pRN zD<&c-HsdHpap)hiW5k1PEiOt`0^?1=DQ>p#K?!^bf3ga9#}| zgoM8Yq0IPHGSEa_|1gYDcuL}+_F#IqQ@-~2mP;^`oZ+aH8O>Qf(|E?9Mo*s9K-7eW z<|qBH|C6u;geU2onT%j0y|e8Nc{QFlVtSjpS%_RA(IdLHB7IPc^=Sr);(IgH?3slk4cc2v+*!$v7)9{av=e$Gs#4?IJ?w zwC1`rp4U{)Ehf6azZYo6l0?a+m;uSlJ~`A};G2@EGP0yTwQ-LHo*NG@ij{uxiItd2 zjLFPMktb{}yD3|uf33Umz81y)gKQtuvSO)dOB|SeFV%Y!K&WBMRq|m$hLWaf90`>x zD5?H0`90~rhS`rpcGuDl34x?0!OZI9DjM_o=Z$UyqiQeI`>#@CS%v89bkMH&5q`hoHT1h6iMr@nV+JETwj5r z;w(%_ObOq z^(`Kdfl?=Vw>A)E2%h*6b#}-`eEo`0HbHbQ07>&G<&Y6*C+KHOCpBEpb3q_A^y-xy zSVW7kzG+Cf))i=|=at=M8_^9$8)Uz^cj00eW8U*JR!xh>VMoo4V2^o0EW?NT0`kZL zO5)Nnq2)^>2kyMhJgPIo)v8BI)6S(s(;rUkuV0EhE(7GWZgFL!Rt~5?_t|@{Z*vL{ z$``s0*u@7t3Of&6H0D zxfqStF(E@YXZlxS8tt=15S*_V1EY8%<&oxszraIrw_y1Arm*7;A#+U1Y__<>jd=t} z(~xyQxcum=LrvF3HBtS^7u+;F2*2dPixdXn`(f{QMv__|%~m&1f9aBiS7E4F)>XI$ z1{pV=U>N0`GsMf6-Ysk`vfUXnaHlG?R3K?;-}KX**I$(^3J!Mn#nywB(TetJp0_^Yz~gt9S^B zjX5}r&&LGUcaUP+#KWB^=yVR>WHf$%cSu6wV7fb} zsy*51jf(d}J`icKtB=R(1KN<8x}L2kuN{kqc_ll@Ws$B}{dONO$s%$Ys1&~H*R=Cc z%kG5WFw1gTBmO(i1--yIzc?rqX17W=eH5TNr8SeTH zJIAlVIjsiy+gQz!@H%sP42pU%IttZ#7@70hMm{IS>{8q&ito-I)4Dl^ZL59~@_^|w z{tuJ2b)9>|`ksLN+#PTcBvm(8uZb$265pIFA2>xj6iep7J$=HHN07rO0lV485vqoR z&Jgk&D$atx7@kYiz!5z%H#zyPEi`C}CJxJB(fj8=`LB*iV?M>7gpfGDX)s^W>2S-$ zQ)xhK482C6ekQEXD+L4Y52PP}P)4MhK40o00T^YtcW^@t-HW1%KWUC4v%lT3Wt=@6 zZF@09m@FRRrJ)Fv&E@)QjIY9CG?y%p@otE_rH@klbgl0N9+E9MD_Ur3bvfp?din}z zi1aCW&UshAng1+7F|pSI+j6w`Lp7bR2|1+C6fhQ}JxfVUY0iTGFi-BQ%((NWi#y~g zi6CWk!geHZsEz(!*!N?WNm-5{wk8uqzC^lY&xAIrm$I;9H^K&24%_Z~p}U73TLMl+ zgh?p5Vv(5*K;CGRi#s{it;x@toS~BYQ%_A^PE6m0bFmSbD75}J|3}#Ajf`BV&si`k znYnGq6%^HN(|I5MYhZ*csiOBnH;EL~sk^KX7k$W(3Smdd{krsuLtHq%-4GI4iO}Gc zC&d~2E$*!r*W>ze{h+n#;vkI4q(G{*-o&3Dp4qA$z|zm|A~JjE??nC(cYOD*P7#|( zSd_`Szcr?Lp7sII8~lLJ@pL)1GbVPaOEU2;CN=X#LsHzwm{v>>zS7DaL2iT7M0Jz=iqN71{2C5(N$v6<*A{fODusCZeJw`JZdMe{G+WFk0QL z#_lM>2fxTKrF%2!T6)kjifqVDsfiT?pH%5k0ZlOU@{&~&s^9)}1qJFyUPCHEYfaS| zc$NNnbPU9Kqav!KPE(S6@D~VtPZIg5=7(gc>6lkF8T@8Fj)G;eod{Xt?-EtcA?p|V=5uK7liX)5yBbzO z$~=(~?k&_8#=AdPZ8?~G7oKD}D3aTN4T#!Aa4T`7MFwf02R(@RZjOrBDhi7XZBg+HPe3PD)HBr{I9OiWT@9n`yP%}5bCXu08lW> z=hywR!p?%kO1gA>09mKbC*G6(`;rtOPE=PVNn|~h|LI6h(iTXj+4~Q4@%t@hOJQNl zof>Y(F}klqf?Aor`i%&R$ZPA)Yh?4uOXSLl+yzDC@RNgS3;M z`wZ7Fm(i`lD^ar*(bS!~KkZ(;_7D&{0c#JL2aKf9kz{+y+q7NlCRT2OBCZ1`1>2mi zNtX@wc5TUaT9&Qw;uxz~7jJLmEw1jmDX4sz?dd4dZ3t$3!k^yGB6zX(Y$q?nrf?bA z)U(k@-D`zhdzsE&R4>O#z?ARp)JVn-)K2nh(0Lg)G`O(|N(x(lHnpwl?|Us)7t!#Y)e5XS$;*t`IZor7!~DTB&*xg&9K?lZD#VVEyDB>g^a z?ioUX!KliK>l{)HbjT)1#wE3DS8`gKq0KV1SeG<7D1CWg{WHS~=Z(&6CW!!QVIo}? zy0#RG`siWvpSIX(gw|px$fi(u>cKr0p;Jk3f`|r0Sj27S9{BLOy~h{+6p(cOd`X-(>8F+!4ww z&QB!FiAq@4g!>YMr1G@ch)3j^tq;5@35O=Iltw*&mj1w0tvDxhqC0GSQZ9L-oYX zbZs%9YpCP`;04%1OETF=X5JjI;D&h8t!M>gj>6(@2DIbm2ZnU%tUg9;c}9?Wu2DyU z=Mn8Lqd_rK)h5e`%KpVH=pbK6iPfbKF-qb}TA%O%Bs5Ddx6}U6Bkrg5KwOmQyGJqD z1WD{-ibZOTnb`u4D&8)kyoo)D@+Sq&%v<6)oS1pwmYPXGkvn7}*G z3ukq$AC4$l@JoF(0!^23Hgb7a2g!;q@@Dr*RcX*GA5sNP{LcVv&I6`nTey3x1Y`Qg zfj2+!`Jxzi7AKE+7&l`>xJtC6`{z1t=8?CT=88>s{dnXv5N^zkquSr)F^sqP;lUP zd32dD8VJ{M#WU^cl|w2&*quSB6IobLL|)4r#;!h%nM>vY{ulbH(N(4WKJwlOmhCSD%QQmR-1j+*kq;x|- z_5&(AO?B}W@@Z&FH6yVoXu>p8J(mI*j@Nh490Jw|B|y`a58{=DFC&rBn4G4YwZWrD zOYj}%#p+nLD8G=x_!E*HO5SiUnkw0^=9MGUYD*if<~v_Ad+SB}G=0bAZ84#4qjUji zbrErGBh9Pzw1g3w^nM1W3$qj5K5sW58mq(4?WB40tGAo`@OKEX9BfkqSzm*Q@ZdKM zTXk~fzo!Onu;Uq71|cwl1_Q>07Yl|nx_^r@j}+w`9G?dE+sjdd%Qje3T1B zDC~;O`M8*XO}!j~=I>0){`kD7bk;&f*^;vvERR&w#&#nL29%` zY8>mp!lVV`u}G60mm7_dicybgE~;P!qNPTBK-d%GqoMl79`VKWtGB0NUzx?t{JnzE zwkB?tDz>7-^vi49F2YTgPs$enkr>@u$3GZXOr~Bv40xuEpuCQABM@d!&k9qx&0iJ0 zPK#)AZYJ0Y-$$!fL>DGA>*ND%smvherGmcBC5^6O53E7SF?=a|=VC(`>HO9rW-alN zrVzBS?+|CX7vQ_bU&&`j>>1vw&pSiI$1+1!IK@v~xuJud53V-;y(R^4j5WKDf8iQM z#}?>W^}km>OB`>{k^YRfxIUTb)DQbee|U-%U~P!46<}?W69mM=dbl059W$@R%QCk2 zaN{^bO7laN7Y(z7e@{z`@ofI|LRP=8K? z=lfvb=L>lm@mFy|s)hkhXGI;0*xAMvY<$;veWP%CRAc%f64v9hso-HV3J!u|>KPu& zc8dkbH|=Dz;$XRgL{~RSgiC#ydfNPLQ5stb>P5g$60ccwHaVrOykd)h@3V2;UO|lL z`dc}f*fJV?NToW2-tJQh8w0{VyemYiXPGm3(nc71A#Kf)IbDEZ45#zqpZZg zV7i&TLgKo4JS}qbl(JMJ1--?Oh{;aDBgO~XP#n7ckN$NkwY?r*hJ~TGWyF+IBRg+L z&Ilb{4^h)09X0qWDy86c``7Z$4m_FvHiovzb|W&oPm!NO#V<*Zpbc2>PCa=EMfvC;L1p%2@*Uq71b8 zkEQ?49Nw$wd3BSm<7_$NYw9UK*8b+&H855S7Q|QtSb;*pSMs!n(pkX4HWd^$f?cG5 z8ySsOdsM%`>E24U6x0TfomSpsr^i3;Y5HMb+JA9Xw?5hTb>xWi6tI{QKXR(Vdcy?# zDq5AXI{2y0(v!KDg&)pN)t263pDd@=tlH&2)0QOFfW}>m`lE|}$dNh4tFi`H+Lt!k zxE!J!*mOlIZcDITEBF`|qyi`=s;jv;va<@GZQBKP=U60+2E)Q9$+R=^^1j}4%^p#v z(@O?6dg)Y$&`B2Yt>u{&o+_{trtZA?@gVFCN=R?NQ53C*I=h!T7Y$`^izA3{cpzg( ze>OuRkYLa^Jm?6dg7d8VWI8m76g+L^ef!7%N_{YDM}1`z1BK38Ec<}D)X-N05%!mN z`m=TPSMzcUaqBDc6&H_8pHnD@3gylKUdo1+sfD;JYB<9h=bMlH>h$uVhsPPsV^Y7C zF6$UHZt_3kYY<4FLv&IRe|EZz_6cs2>g8@1Z69Pp7*gZWr)7WgdH5^3y-H`T3 zaS%)5U#u16uJ?vxXU#K(tyCE3>49#b z0`F<%r@e{3WF5r%U33%7;EDU^bDe8^e*J`k)rZ&I^9TMu^fhG z;6xQ6B{>RCGjXqpd2KnEhMXynV|W0M`s|SWk+mNhe|h_qH^OLA@=gSEao*D^3I4F$ z6LOccHJhcJO)gk#c~G4iHIorDmjoE&B92dbn4%`4q&|}zl0>aFOK@!NXfx|tG}Sma z-I)v|H(H1x4)S1l%3f(fG<(rs*=F45E+7* z_b7~~R5L;Fw8Od{&RqY3i1q?0Ek#?2#5O|LxN_Q)O5_K2yi<9Wo$`EMf!=?i651cP zSX4SgA*7k93D-uYW;R5cT%Qin7mspN^fZ3_nx7}eJ&cvYPu>>JLw>;5+L?9Fm(CIY zEj0bkTRIc_x4kM7Fl0*ka?DnQoRu|9Hm-SSp8BPdcAXy8@rYxc;B#N_si` zw#%tREb5rQT4G9?wV94RRr_XTug!`~0?_a8a78iJvqQd%{z9I~Du^k2GO%b&_EpDI zEG1Cng51`fLt_g6kU;>l+3jn;E3a*~$d`8v$c_nxU7zPs4SOJ^*l`<<^~Xzw?u*{6 zE)eM2wr2YC_9EKohY4!W_u@NxLD)7q(mSSej@=Of!YVX-5>+YQz1#1OW#Q=;4VnhN*%`)-XLp zSKNE;{{T`zt-t5{#*>yEllFb#5xsr?UNzOepIJ%T_qVdxKH7C8kbU2!nrh$kc_gs! z)3Qu{`Sx$iHoky1#D`fXf0=LpdKMe=-yJhOFyH=erb)}U?{q}5=i68F&9`qfmTmVx z4{7#%75VJ9L#8tG?M=s6)N&8|*!6>}s&@V4im(-5JYJ?Qk6%lXS{d zc~t$e_e63*z z!=r*WbVm6gH|XXD||^$1SbpHF)Nd{2Wnu!)m!qxI(QHu zo+JHhI=^@a205<2nzACUW=N-TB}{SM$~46*EjYz_P>WK8^4L}tN&B?v3L@Xvyf%dP zNRyl@m?uLxNa`4|nC5Bh7;P8(;}Ds0q2UaN-AHFef40`ZSxcicDEWPPC9>Q`*F%fD z6WB}(50IFqu+M4VN#(X;3vEtM;XslGg6fG)DcFc>>KSTw%+p%G5!~-r;cEK6HE|<% zs`pY0E~gU#J;Nm*>LVZ2Ry+r(mFMd*^>Y{hEK?b8;sq!pe50E1<;h?G1 zeg?hHt*5XyCx-di$8G9?TBfQD?+&YrDe-f0vTp2`i)W8w0U<6xv2Ds`vcLWTdVvb) z3UQYAb@M*Ao?KSDzCVagjh;*N|jPvsCk!`?@=LfW~v> ze{pbm-msN*@hrf0XD!&3JYwkXAo5p1PO26(f`%spyHD4_rEf99W_<}>U8KA^76;gQ zi}O9$nJRI5 z?|9>ydR|t}8$-(ns2__r?kuW^t?&&iIc?GL+l(=tN6mm<7sBR|9OHg7#hSS5p4W>R z;t6}nluh%4p-G9AoM)}p_nOpd=gtTD;yEf_)N!wh7ZvR!yr^Y`z<5#Xbbq|af4KKy z@FJ-(`#hqtiRNFG_(UJJWF^B>{pGy*!43=+`sf+UCudl)fE z7OA_*r~aTk`P7v;LmO-&SVzP5;4bneVo1k>RSfARBV$O&qBk>Ww=H;sk;o3*|J*YQ z5Ct?ee1yZ^H_F9La>U!;{x`ukf1e-`H+QSB&2^ESCV`n3DcrJyV4F8*z&5EsH~0P{ zYjiLw(9M=J4BcGZ!)eMYdV?7fgxuU51?J+cz5d7z*fP4L#>XFs*o@pK!4Y6)D^J4! z@JTaW4HEgz`(&!E^IZ<;eu(bHry%oYoJ{wS8E8B9b#>^fha!UDEm+oFf4On7wyBzz znz4)2RnJ-)6!8|TD?Jo}n9ZiWN~kyqt&HTo1bxIM5=>E>@+j;(O{8J|8>S!>GrV*F z=9S$Np?JF%BNWfW>K0S>%Gm4i{Gif!h0UVi6{O%Ngb~>Aw~0286#QfD4U4-o^fKrk zfd!Rn>GE^z(}@;acP_hBf7AcIg}tN=Z5E<1?4_MlEv=@dw10Al@O%4wv)p#vFQdya z>Yjy{%e0zwDC=YmFcBIhq&i1H;mh}E+^2UEwkF~1ccG$Zq=a6dU-6ts^in}`h@6xz8N*aR2G(yO^f3Mp|n9Y3DWNlDp+`Je+FNlrqp>y-eG%$ z=}$T~e3#bKRa_u{r0EiU=g_1EO!U3@4y=hUc9lx>eL}w`nms7d_XSwJo|>iec*A#_ zR4Z)?Z|SMHEAQVforXlkX`s!z+HN+?i+8B`yaVr8V21N+sQJ7xHMD%*Zhl7}DbKiT zkP^GJW!|xHp7G8-f27z#wRfFcMcOWz{#*525E<(Kx+K$o4e-DppAj$ZkTaSqW^89? zX#^oK=Exv4JUawamhyH!i}Z|gFgkY|M>TqA!)(2ahgpe-nThztZ5*b7hv{=-8jm6V zCzlCKE0kxRhrxr%zW@2)CC}jzA-65Lx`LNHecR%Lmvrave-FY-t{YXnq{eLv<0a!I zPu=GJkDx#dk*>tGMU>F{Uw|hvg%Ff7+(0_+xamdqVk=FBb#F#<)iuUG1By0K0HUUJV~ag>58r?VzDNnwf4vfmYp~ zZN2~{OyrI?aR0R(K&UJ!>@xicsh$M_lTyP#dGyAAU>T%sE0vGSe11^=!b?829xi_# zC6m_sz0Lad{`FmpvflqFk?XzU4qmIrHwRkpe}nES(r5d)M6UPD?f&b1%yw?$duT(% zZ&%j)hue9*&)fQ7yfb904)1hqR`5>jUypaTe}l2jjhi&Qv%Y+`dQ;hWXN|4AP_Cx> z;GLi1CdPQ@oNFKjcegz}-l^j2DO&>K>so&O*i>aWZs?EBXM%$llVl%_Kz~=etup7c zf7{x?2Ql#!mdRtkvB@{}zN~x_UQ=KK+2&tE<*>anT@oe!+9VMqRDzpv%W`)JqNQIf z&d*|PSA)?O?Z%GyO(qV3ls{QIA3*Joe-CWm5zlR6PX&7z20g&eZ{mbK@s;eMIyesc z4jL&P{C*!2>h-y4~(T#T>Z zvdD`|O2kv+j6_rz7!WfzDu->#>+Ors6FPf`?sIr&qZ9}GxLX!^t^xf0uJ*PSf2Brh z0w2W3skDacBJ1oMiN{@aZmne_bG6Y%N+2>`m3bSrVK~JOYpYZpAxeJ!6&&w%XuQ}u zD3!o@y*{#SxIz~Hk&1!ik+z?>e05pn z0p)GE{U^(6KZMI`mQ{YSn955kf0R+aw;20B3dPpH%a8};-=g&j|JL8I7<7S&QRV4C zh1>Ql*!%p18p`sb-+3r>UY;@r~@p@P)8KeQ0J|eLv1f-xE?GLRer+wgkH_^0neYP=L?nK zsW`n>ch0b=gm-=M?0VLqe;sw_3_o4N%BPLyX#BH**Wa&eWw6%gSYe$^_9_nCl*bAy zz=KlvA^7N9@jQ{U1Gb4bN{BCwrCf!#P z@_AD+W)1JkhP7M{3d=`xmNa8TK4%Tt&$u7Hd(FZQuiKVV$o4U6fA_qNv@M1P*g68^ zbziPg@w%R?39p+%94(F4eY)Nsuj{|&fp}df^t;U(QWtL@JDA+_X@pqOY?{^}=(|v& zUTarLOzU4pd75L$9N>=vc~u%Ji~FdMSNeX2yl$;23-Yo+pW^qmr68}KdiVZ`2SQ#S zuG0XmrUe+g3V?b&f38(>e#B_k1dhEWsMnET{va&s=C~8Mhs>dct()np&;+7j67fo_ zCK0cNBKvQ0CHtB*#A^aC%}zdumsjjvE3vk?&k+FIxK;vS*2GVg{GYXaULtWchqsmp z>tO=IQZLhz{;Zs`q`$pDOS)f*T++i#yriQ+BE(l~OXus@f9w}gKX-(B5j&Av(>A-( z)cf}Q;)#dpu#tVyWpXZ_#p5~d@H;{1(3F6e;%<85f`zX($Rocc0gqg}?Vn#(YUqn# z&8=FkxS~6XEizq1RhoP|Hfn=uP))d2E3rzPq#i4zZ1p!9q;sDDO~ksJ1T&t)_Ymg* z6Czg`QOnecf4^ajYaSKhjf%KPIbn&bp+*5p7as7SCm8fC_<^5rGZ6>GkAE{jG7cN) z7rkQ#@IYxKF3$6=u&*}JrBR$Gj0B%uMFug*v-#hbl|ZrWART8KpNdKJ1tj4+JiR2f zc+yR@=bo$yFG3I4Ti-~!tX=7hROBxyCPP%h#kj%Pf6*tal!J=;z_PfzQU;pdr#q_Q zTfs`cQZ(489B-KLhM9+X#^E{!i(&an8EyU5GlK#LOAhGK(vg$(`yCxMyuMPwmyoWd z%Y&pZOWY_avM5(sF)IeHW~T{*zBQv@3DsX=jEwhs<7$&d*ZlzN_EeYyD2+Q4k%a@C z34K^se{a!kXaVlOk@URfLr=IbJtKAWVA7P>w(7q0{F%Y@Jnl6x?Ihn}%39-f|OeCWBm%!i(*b@brXTVlb=`_l7GI@1&COHaXH z4^PkEf9dHNCFyyL=~-Q<(gSO-_Wg-5N@C(yfB6veYH4EbC(q4&=sEeP&-^sg=;7Th zam9T}`uBb&sc5ASNjsO{cYe@c$R~U2w|fEa*HrDzPnIk8CZ5yP*~|93W;}P?)jR+{ zM3VitoV=OY=cG5&2io@3!;&skVn0Tj-1f;i+zQ&I+jJMUtP%cJ>x@ou2`M7*BMpDe393h0bD z05xjdEq$LO@dESwiQM8lX4U$Z`B&=sf3IBHGSi_3<8OKAeDS!Uxn<#T@+_YH>*o=X zIfABR-9O2;nB}qD|Eh`)|03_X4E*}ia*1a>woH#_Z9T8zS;x*wJgdt}wt6cr3xsD) zJ+Iw=}t1ciWygLw2tT%IWxB>oamGt0(VD=Szd0z5t4yQ!q(^uUV|@e>S8|TP~A4*!_c(ox}IE#4`I!oH`MQ0SuC4SCu5>1bCf-am)OHo|i(+VS5gehRc_ zF1wGsONX{$vWa!xJrRi`e_Lt90LN3}=S7NJkdnvv0aodTq69Nk9iuf+H?A7?Ga2U1 zQ(m0@1203##c3IdZ(CPy)!l|N$;bY1e0HHcC*UnFQ5IZ|1D!p*Ig-Ii2kvArgorGU zRmqo*-(qycry8xR%TK!5#aWcFGp@*yv?>P#YOUA6`8*3xvC;4rfBA#kMYYAu)tAVd zr38be*I-+20Uy@Ghq%WnvbTu6;yEw~ch69~aCU~H^Om^ko<>;gg2#^6dxm0$Q&q|q zDvyu9Ut*HSQ_o*BtNC4#h?ah~6$hy0fz3QiY#ww~SuSs%qUGXRB9}|25?(HiP&dD} zM7^IH_8T#0iNrpzf5J8?rnRBf71XM&LpF-cKd@qofsTk&|MLQhydC8X0Q)s%&eKJM zKUD$fDSPRIy$o9_{g-llm0UFS6jJV*q7u@riH8l8n6Ua3_3lV|GgI?`yiMPNs^Z0k ziX8nXSCgZwcy%>4KEohg$DX*jfFrH0qK3tcR}r?5SP}F3e+_N*HC>EaG&eeF7>MB6 zqFC3t=$0pATo*d*2F%T zMQn%v1@PyOfAT5+Pfp4dlZdPIyG5V}o;xXZ+9`1XMg-n^O?dj+NpkP;=@EMB>UF^tGqs@H42Y^0 z+q;e#e+R!Jk9y|`>LrbeJu~60{U=lkJ5ZC>#6g@Qe>_SnsUu5za>+cc#2`zWamf^| zByTa7RQA$OXiPkzlD>yZ;(Ec;545MN`Dq(?`nvXX4nM64PX}sG|4UDu-7wGQ1Py*+ zF%3S=XYgst;N=|e&f+;PxOt(fA;hje9ImFs&%+y5qEg;E_FCrYkDb_V2In+iksej`F@;5yQQEZ{tj7c!FIf& zBH;cd&!a}uZ@rx_QdJ7{QjdFi6MF%nKFC*Ae1DwJo*pDkZ1d7r?AmpVPbFPb=ID$! z14r^`Il?99h|u|ndG0}T3iEY95sVlWBmtkUfAs5Jr(s*LI^uJR94$9HTzFs29-!(@ zwuNu}#hBJagshb`(~g{Q=*Ax1{Im37V#oIOAabM9-)HsUF1h9h2 zf0+KBGMK&u)8;FKiEass`Hr~wtF#@*&w$q_(>{O98)hjo(<) z*?iOETKVZ^n6wme^$ISQ@u|Xdg-p*h@%$z*J#Wu9v8U8~6CDfyKgpW-xq(k$e~kN$ z`xMEe!)Oico{21VTA^s26{L85m})l zR%r5@;zrl_jos+p^UJc|7=O4mN5LOzoRsla*uAS^J_T-Dr|0lBZ=P^nK;TwXkP@ic zJjXv!rTDut(l86#-(ewd#%)VJe}R2ee!>xNG=j{=bL&sY<7}nl%SXhZIqcH{eWVX; zKOI6B{ke;5=)9j<4oQ(cpj+Cm6h#5zCH}v+<^SD3p3?7vrkRvWOWfxF_L81mJNE1< zUO>B}kx@M`_0uoiZwgy zAX&46=SXYz9S<{kz&w`af6+xUYI1BHEWFR>n)LWi*kQ(hJZ0cNcMoy=Ghn$tzlWdK z?L_89Jtd!?VLmrHk9_7kv3655<&OC4Cq1j*o)x6|{PgQ&m&5?&Sp;9@qdTNN^BA(; zWKuXE;~IrNe|zXxy#7lmpWi=iJV@id7DLmVeqIsG-A10*)&!~Ef4>qyyY!1%!x_oC zIvUyEU*mJpFU;rkA4yyGDA2TJT!2{E=3f-`{Wp&NuV3VWH|GCZ=Km4qf4<894C4Q% zKP&t%ko=#^2gybkD*RuA{Qt#=|4k1v{|g?(-`aeV&UWVjZrgSR~ z%R7J>cSofyvM_^ef05<%O49@IC)RaMUjGg}=nk){_6_V2X|%M8>AH6e66eux>RpEK zv_aZl$)LvNxtM)2IZDa+cPXbWSWZ95M>(yl>7$U@dLiBNgA~Z3 zfcnUEw6s22Xa|YR`0;<#M?e4c0DUy<0~qn?IJiKN8wl zmCpEo-oxmdqH}tE)2ExSzWM81X?@dcrk<5IrkB`d{_U zrr8hDHxp++e^B2{n$7GSK7;hl{@nZPoBp$X^i8kXdVRBK6|s5n0b+B#vkIGA?Ikup zJ4>?pRxYzS_ea(@<<3hs{|g!r)n@zXo0I#9zuR*kM&FfTjdGGFC z!sTXBji!V5ki`MkOc6B#li1wK@jD2U#>JM6+*=;cd_(6-GW^4G9+qP{l=f9o3Upx%^Uztw* zk5~I&Ob={M?*HTr>c6k9{}F-v5BKRmmiw=HpZ=p=_*0o3xc|F3>iD_;tGlTG@!bEu zGrIBbe+oSQS^mEd7wg&=i(t%dx`OGtXg&>1D|??A_&#`X$75WlV_i35U6)~z6n|$j z1js4U;z_&7#0DGvJ8Gqgt`&U$FM5AynfxaF)+=sKQ^GIRGx%m*(d&D5obalS3Zm~c z`jLX>xEc>kBjZ{J$@=gw@qqIcd6jMFTh8aje^1;tuICr0FrwN5^zx!~ig#I8fG2sw z37*AvPA#}KodQ`EvEN{EdZljXTYMj~ zs5(u(ya34AF6Pqu!4YGjl9Q+eK>s%7K;e{`EB{R-L{3#RHfr@_i)z3HXx40**B+7^2{ z!0r<_?SHf_dQE?TZ4orx&$g&Joox%7w)tQk%Kw={o6qy7w9Us6$c~6!MjOnn-NcY} zClrS4+)fPHHBB;P<|$@KJS;Hr&oomh{loXaP0{Xu`-buZ$L_xv z;G~m!e%8U})tleU&psj9o6qch;v};7xRyP*eX>4#a9omP?=op;Xh1=RO%_d)nS+>E zm}Hy!JEPp|r^xWYpGIH7(1c=Bdk~7@Q%j{0M(Ty4!voU@+kB^8D;C$PV80Bf|3Bvb1U|;=dmP7Sk_@rL#1di&K@fXV zf?!BUm?5$61huQR%-BOT8H_QSwzS%JwOUnLw7SqxBC#d9kfN5VqE(*h)Y>+7`Jd%J z%S=MwpYP}U|NVY_y)@6@I+=A4tMdr+>oKTNOOfB))!TAh65ep*DX zxS!^FMY*4b@v#==GmAX+(r5C^-q+8(@4J}t#Z58Lh)cuol(Pn%@7=QE@t8`hwY2e= zo_W7))N0|6^N!OiUT&V^k7LOZ{x~0JvMe2_Gx;|=Nieh5DEVn6Mle< z3qN9p;RvN99^lA??Xro>-B2l0mJf%R|2gOQX>b1bde0hffBzplTuR*jr`t>KLNBn# z?O>XYA8~n!S4526LD|B;E)`nDC>rZIy<0X3-{TI-76E#PLK*UFhK3qoLl}6q7JNt( zous3(pK*Np8PJ#c8w&ijPjpd(y0F%Ov}^mQ`I+2&0tTgd^doAc7@WuO$|2>Z!?AsQ z(*a}JJ_1~OfA9f{TuKb-^e#maxI&HZ`;i_n?}Ws#8-tdpPApH~Z;`$;cZH(wMA`X1 z#G#V)oheRVeJ6g!zv?@YY&4-@H|19-&zU+>vM9FLYG(8!duhlyAj~Qs!UeC$6U_b( zmh?P*Qfz9Lbz)EFh{vSop@eeUU`fnBWuSmHHG4W2e?8VoFJ>sumxg$T%kg2H4Q`(_ z$nTdX=J#-RjKTxesSXO#)Qp26sLtkw4Gi?6BJz} z`y#*F$#XaO}|6RtS6%3=SWsSeDLH!YKaD_>eSLW`O}2|x zla2XTO?J!*p8&ZnJq=1wWy5@nQ5@Z-EBJ1JbtDIanSg8QbO0_qw^WG_cRX0`6_fU} zi*)dZfnf48NHcBwgNo{mwNHwQB+qiTk?vnE$A5W?;=e5C_%E+={FnDR{!2EgoGXvZ ze=6s?-6WQV+U58!Kd{Q#&+)YPq|o2;^8&5E<(h_K`x3z07i)n*c}@MHR5nB7Z`nBK zss5I|pcUzw{eS6i`Q@^b{Vf+SQ~fPnI@RAY>Lsz0SgO`CX|6z%8S;T3m zE;rYDDNj#4$2gz7hmi2ihrL;=Ya6Qk#C_l;)!<+Xl9XIB)p@xhabC=5N z2-Tgmlre2ytSCsKK4y^ff3cHp|b@n&%@*zo{R3#WB?7#Mi z<-utN9X{xbqcG5M+8~j%;>gjaou)2zd;&!#3p6HDV46UR@1Mr-f3HZT_4DpgdHs}Z zku0?-aEhVfQQ1lywhs1n6;lH^uH!Fnff!z%R?_?NWZRQQ@)hsP)RIFWFkLe<4d|mc7!WH&Hh*G{~0`Q0oo!qg^BxrVEfQEn8AtAMhD}zGnQ3 zyv9GT`1rHD$Dj9%@lOl$9e=9t_!k!+|6(!zg*^WJXN`Xyk3UZtKU#}}7s}&bhvQ%D zd*8v-d?(4M2|Gy3Zo81Ssgcl;m%ZlGPsv^roG;sJKK#_%e_r#>r~j3`X6`PD{SV>+eY!}F|21E0uUWHGvDdu$ ziLlo^SS;dy%`eGbGiIk^ubKFXu-D`-E*Aeww6SbH#{XKZ#Q$0>;(slAw!H=+e!P(F zHF&>TYByiDf7f9Dy__BEBk|S8_~-PZ+Y{-NxdFInaQt(T_TgNNg=%WMQ@(T<^W}D2 z;tLNObUpF{I$-A%WdZFukWgP^&$+UYsrk@65gUQ+Ib*+6>^U=`E$RDIAA1gz74{sh z1LKfXZfy>Y{Zf3^bU!>D{s_&=04WBJ?Lap-vM*b|~j z{)v+L2K>>Ykk^!!dP7T@F8E)~qN1X|;cqYahrdg_ueEhM;e5bBabN4TtwMB_a9>N7 zcXPLsybC`l%e(2@WqGHHxTl_vtC5nOG0mx^2B!}g_9x6JN9pld zDLJgJwIQ%nc^ifvD6-P^Bg=f0JH?KdQE!^{s=u!I`-P!Nj)NSO%FLk=rtBcGhdycdZn4{mNDPnkZs2Jza^>aAkEdXVI}ZE>8H-zAE%eI&eSe#A3LS4W-n#XP~y88SD= zOrqKsX|tZ}kf7zl9J%EWwup1OAEh5>Gw20*iD(ehCF=_T$?8Cw&Ou=s^DC@`e?1)m zt&z{~Ak(FHY^}3)#C`5;8Oh#PXJR^U5w0VJK-mj&Sejg;AR91v&$lRAr9U!Dy8oxf zf1a(zf1W}1)1jZ1Y(H%}r&#>w+5aB@S-!b!=&@gGPkei`uqPhePxi!qkhWtpX&=>R z3wz?0{fa$t5ZM!d#a)WShGx9hf1fC3JjZ6$jQ7S|(jwe1^5u#N+~Ua<8mnQy{fgD_ zV`%6IGKG#8hu zU9+EN-xKkarG7I>Us}*BTo$0lR^GhV zpu|?*_%oe~Xksg?@eTf$=i{`#Jd~QxkS|IO-YRch>GaF|H63z2PvSY~&PSy*(Xf*? zqH6KvYr40D`oi_;!pUo-5ss!p-p18o(|&QZZ?fCZ?$fnFwyS?EC2g}g(5fQ)>jd~VM(Y~+L>M?4U&6tH<%Gng8$p!;*Rj(w({+%<2rs8Wqe~H4YEm-JCM}) zS2Nz|bq4wG(Yg?3e}Z^4?uv@bD4b_ByZRSlp~8gEOaZp5X(q{7TBoyy!w9d^D`7Fc za7>P0qjQu%WBO@yqx2Z%hr~PZGH_9JA*^P}j!Q7!`qKi0)zoEr9u{)RJd>B!#w5Ye zs4O*_in5`5XtHB&Fj<3CDba3b0EY)sLtB;wI=deC9SXWaZHQ&t>?Ca00tsm!Sfw;P^go>OIuU-{YNOQOLe5 z3bztf;{KEmD!R2Zeic{Sk(=W#oht=K=()#`ufHOX;DSBeBKh8m#QV_i67IL4C?rwo*TlyP$f z!4DV9pK>TNO}2mRFgu5bOFv8%kIny=ry@6au`5#j|EFnAMT+=2YFy$bO;b-r-qL9g zKxSc1hp>-!8FaR>>8X2l)<%}}juComxD@gN`|~*$MFdN8CNc3nm<*#!8y69JS7SPC zK8^Q7e?c$MLbqs_y3kpD&RNmku#@dCP7LVY2PyltWoW6E`as*>AiO$R1HxYu8HBkd zf$;HEvf^Y()t39~q@1Y%CFs}f$cYl)+xTgxI$!-Jqb9Q#lqr}m(q_K2iTPTmc+Yvw zm&G|EB3z1?QcN}ZZzfCCOm0unOx9g>vc8_8e@@mfI-PRtiB53{-uQ{)C@U8d;h#=V-KMifSkgOV#L$3AtSC8`1WOYpuuCh&BxDBi=q7XtVZfF^dB?33_Ik++4V^|rFk?twTV zakc<7Pnn&)Lvy9->6i58+)DvwXF_0b3I5IIrGMtvW&!Oq?D;~Wk0bWumy3#E?l%?O zFDlB``SBvw?*){A+Y2sZS}1wKN}UL-f0&|lS{Tf(wHq#@o!pfJf0A7GEc)Y`beW#n zf{ETTnFM*V*=eVe=+NQ{`UC@v#2&X+gQnhxZ|V0*R4hmoD~t<`vvol~tIuUS=Bv=7 zWS+p?It`CL*PPN{4b;)W$?`PV9|7g;4SZCc+(@jY=?z{iF%Png+2zu6v+=4-DZL;3OTXXFxEyuQEOfOt8#jJq zOy7!^&Ru4-aGH&ld~^Ecdl&(ufAKf*`>~Lv@flcf7JU@5f|rDlLIYp3 z%k6f;+F{(7YkW1=;le_e^t?dPso6!u1)IqTpq80TEtyO$aZD{(ESok_f7$QrneD4l zYyp})XP?Nz19}ei5q;Esfz)L~!VVeJJC_2ce|=2R7}NFUZG_6DM~}zd*pv80o!x7we*h<2N^B%G2^#q3 z6KcSce&mT zpZbXxc)8=KR8Q3L@V`Aq;zDVBa#0cRL|wsYg>jL3Cvm=QSlVs9 zao17(w;4yRH9U=-c1&%Je#-iT89BC4StOGd(N5YnLyyzx!Iz>l5oXsuGYbaYOo|?&yFhG#z^A~-K0 zB9MeqUO)t^MJ}2nz=|v@vAa)y)T8d^EA>VP8#CV2F!Q44NvBEHUq#pb)elI`+av^F z4GVOpk${I#0va+obw7Wfy8D}60E?ON2W>T1f8D07=6mo9s26sdUtGuCCRT-d5h<8_ z-<+3&*TmdQkOIFMO>>FoU!4#SL&mU;@q-sZOH3JqW-gKoNQKX(C{$?7m;?0gUi27w z<%raJ3~RRIMn5$^8{daZH+`-nN5^$~`F_^^K1j&#rv!Mtb%!T;#$ZD#=-0-IpvX84 ze=qGsH<#|=kUAK(ZezvLgi1Qe+Sx+LVT7V!`vN=fAt3mpboa+MdvNf?jWm2 zhsUS&E(e7TONwv=rRlo9tw3t`hMxUlU{t{{`E)So3L!5&yb&{u>@VSHd#Oj;f@^?n zPkAY7IM8sA)Oa{wC~iDLHpUdc&A0wBk=36sQpFWBs-aK$YSi13>V71=&6pPRF_CysqKQtYjw(K@M|v1-U*iTv|3< zYc!iTT=Tvv1_K$2z5L1|&^p=dFbtvxQ z%iqc?9uxp>z>7GczPQBBUX!7D{p*g(0MvVpVyoZ z_!s$!Vj=UBQ9!TEmZ9fk&q?53y8V!8z4DjD)TfBgx15&pzy z4QBJyUr@V{0BA)oMJ50>Sat-$;H4v^ch`;G+vzXMEt9Ptdl~nnAR{LHsjZYi~vS z^j~PlUx_$(_6)Z;dI2#Wf5l5R7zzlD&2H-u#U8@;?35wGp1rU{!W}W33_4V|-4Jq# zg8uqM7fFK#p&NmZeUs0!?xMdW>0z$Kv$#}8!p9~22v2euUS5vcZ9+sSBo@#@4j=jW z5s3c68xbG44Kf7GB?j&MPAMG_i7PqBjJ`3bYs?zPJJD5m05x~8e=xsL_>85ml8w9) z&ETpJP)&&mdRab#EDD)VNkRQSUA)H9p6ZAM>BXA8in5($c|VZ-+>;;^f4O)2jJ^(pY+$UfTatK(32C7JjfGw>}mw_ z_l+VdAl@vO8V|zhe=BEB&xQ4=9NVSsM{P~9?eB+zR04g{@WT7@Ca3%ypoD>gDE{UW zb9(AoowYXL;qv?JDe9Smm3w04%%N0h7z}FTJt8oV4GsOmQ)CF1X)&DT$ATANrEE2v z7eFJlE}as?3VJ%v2_*@!&)pv}rME?ZBWz4lzDwXu7q@ZT+D^xPDzo3#LNjFeXNr)faMa={>d~XF5of{-p(o%jp zjv0rKR-(Zoe{lzi@KfY5N5xGYd0()ApFf|blbb8N~EV@7FI z9-Q5Tjm0m?amiZV>YhnE=EKN~v3l~bzNHLCT3(DY}U6Qo)khm)Lm!$fZEj|~PkP#-~6y+waMh#AfI zgYD?Af~x3gK&<=P6EvB~Azcp=mxMidm&x2sA(erz-{l!|nt^^|`p-t#eu7~?=_g)~ zo(`2gf1zqS3kS(jO$K03Q{ktl2axyDe~7$~&VqTpD_4&8ug7TgpQR&=2n0fBzz!LmVW&0$DW4)V~ zcuH{0DZw%J(M4i&1c_-f)BLzzVVba6#56tMe}c!`hNu+%ME(3JC z2uKs-?MdbO2`&aKmD^`Fkd5sN>W8 zk#%u$mI4{x>f=eco__1T86p6>vBe|c8oH0mWAWJzgjx?jU zc#h?WUfkoiRzWL0KE_Unv!lH5)WBUtnf`o*Ud`M3gs;-y1nP3X^F%udwGj2je~d$V zU$h76|4-5WhfYO1qdRK`qI=*9ddu9Em;<=Z2V7U`$GEP`LUDxKpJBv~@l#(DtUz7j5l&3ADYelhGC|qsC}2hu8Y5BFawpRZ(WN|0U3sgG_Oiq@r^A zwXH9S#oyi%tN(mpzD{pxWn$;)f3i&cBU$z_>Feo^@i$55Ya>m9Hasom07*c$zXa=4 z2JA&Tb!p_83;gouo3i#X5?YhaBzxT-i0q48i*j%2A(T|!qA!wOQi~Zp9p&5~0LECQ z_BWm!$AK#1UWC?*&8V-ft#^B{uL`>_Zfm5gyZlYfOs zc@fP5TORVBesn(;ubF+GrH@Qfg=>;);He~6%8DeHEe-U)mFvjMt_enD1Z`UPEEylrZR`t^Aof~ zl5HJHwh#4upp%{x3Tau1=+TgxkAL|$}w1)j+ZhW2gOJRc^z#z$c>-}ix~>0G{&S9$krWMSvrK=Q?y zK&!#POhC&PVBj675G>6V-20_YL@`1I5+mdtkmmOw_T_Z@NkEmBq}TA~Q}CIiK%8 zB+Fdqa}5_`C1R;xJ?GWZ8OgHR^DRK?$t~GmMd1gF<9j@>e_i98=x28J2uyN@o1N9A z&>nblzRm2~N2`r%ClmO)y_rwzz2wK}tQ;U)#MYUe>wnU4S+$>sC3=VO z1_I<@J-_Rs{6~cTBjgsSoWhT%Q+R1(&wullpg2a_dqdvd5;K#Ec}q|rqxMMw?8JCi zvH&2-c9g&X;hX+C4d&Y=1&|+wG2=CVB>7YfxwL_>e8>-{EPEyo{?;Gsub9R2iS4!Am#Vt5kkHcq6U2gpBIRacnZWaDeYDibZ50oS;5z zt%lL2>$_8mwC?1@Z+E47Jw-U_&a7i?S;W4m2ze>9fG(Y%q<`}?^X7NPW+^?7^K5t3 z4Wb{d#R~(IVsBc@Cpm6NKUj#Zzc1_>skh}NIcJCBPTCdo@hHH;f@I39%t<3~t(r(l zw)JM`>|k2BpY-5Kal+7{5kFh9)Sx@LqT(n{_vBf^c-}=J9oHD>eE&%|UPZDnSDrtB z8L0#2ZPVsbI)9@*9+&S#EcObb!r2U85|-?mD#`Zi*3#@>+C)=*0#)~e>Poy*^sI$} zy0423(P2w~w!_v`qX1Q`Q=o)Ud~B1R{S!vu`rA5EUN#i z>R8mnSKvXPgA)Zy+NV8YC|(1=-J{`$bU8uJW7YVgG#B&6qH6bwnY1`5wg-!?$>xBP z;y*-M9Dje41e_H}@e4sbcL_#)({WtdW9Ic7wDTaE!V+jHTQ;)-D7D_p1{bYH;JMJ>wNif((OM|c3^fXB~+!<2S+XS10* zv1IyFh%a0rJ|M#`q4+Wp&|sTxG7XMbX@3w8+@#mL2k4$cf=BgCf=#=N_<$zYA|k=n za|8*RUM6DcG*8StkYJOSnO@j%6!XP=$|?$}#6@45LnQcJq9Ct_tGRe>y&SEfDCF8| zDw;N5lsO~H;0dgh9gie<3h8EUCx2eP(o^$cOZY1-*4JdpJbKlSp^oWHWN(_6h<~6w zC<M7|Q^djZJ zgu91hkdM9avN>R zksFDg)dC_Tsb?IaoHR2v&fw(Vg(4PMh7>nR7biBnF%#w>rfnPOxTd;GVE3AIwll7s zz=IBYt|Iz`6tR~YvCg83K8|v(K_j7EVXL;IDawviX8kW-)P5jZXH>r76)RSniEot(vC6X2$`X}M9DCCVUuok{>VIj8e$GvxD68r4&e~08 za%W))r~DB<+kD{}3cy+a)>a`L_NBnLfV>Ak9C1Whv*t9rhE} zDIMn+*W|)N6mMK}I6nOQ__W8cCY_X-0?*8htMp{cP2BP%`lzSA=6*=pLZGmW`D7%_ z)th6Jw*arPfq(E=ACPdyZ2$CoGpuLR@Aa~t^qemr-f@m~lsWxi9FFjD2l@O@SmoZS zDo#UwLByoyq3L&nF(Z^r(|C=0{R~_MTGCv_%zROt1O8MLQVWxy$qzaRBNl;ee@nOu z8-c*xF0vOVp<&*EmX(fkV3p2HSTSv#t^HkeIHk^^LZaN~N$#R3v{XWgoL69}MerDHN7R4-Qib4XHBbqpow&7AI zx#@MZjeqVKp|>?n>kwyaXm;AUF2x6&PRhs8W#TIGr0KkVpH%5@e@8F7?15lmq0)LXI?Tp3M+mA3sZ&}?C$SMl?%}%kH zGJ83#mqNAJDwKk&$k-xF8O&vRC%tVMAPhUVWoVIxmp;SZuoK2`6Jgs?bkaSFry~<> z3kfTM%nZ`94)id((SGKh_DpR?2S#A;c7VXW_js#0u6=+`_|l=uCv|DB?8fcW9u^h3 zAAi9A5Yxtt8{}ZyfgDDE#jRG4Hqg*nOvQ+37Fx^ulI371-a9_{koRAA+si?9Z4cSB z{X3+{BFSj~&qEgX$060dT2wk9D%n283SYJtf@w1r{IERVHk+dMnVB@K+n&^8e77EVTJjeq(Wq`qKga zoU%(!SwDb-SZ$IMR#6ed&X*|OJ;J-IBf0E$8WkX%2(~cBFn5(1lf(cz@DS>@+<;kR_Bm56`aIzZ=hIUaNqoYDlOp%|DmsZVRXgs*8orLA_o@7?~Qe(x2|4`ci^-Uw1kEGapR(dk{dJJXRZn*K) z8!75J5w;GmuSu)0UWY`CVoyAhl8^B?Jz*2b#yfz;$`0wH7`fP&Y=3~>foqe?c1ju= z!}OARN@x8Jgs`VFUe~1c^oZV>c*+ucWcHW6oe_8Go>iLwd1D#hCO|~Nhbdczo^Y?U zC97^8ZH&@8M(V74v0x>tlZW1VZ0IScqsL4&F2aG#O!pWXofNL z`mJ)`d&ddtt~z(Omb**l?#5DglXT){ubqqD=to6g;G*@osDF)$PG-omS_;TSH`?)% z|EqvEt%J@=3q@C*jvRVw;*U8VKS6u8Up%$6uvTFJdO=^(%3^)QY3|?SE6y$h`B^(d zE-b`JnyoixmvhZOn_kr4xO^3!9cG%xcFZ#C^NOzVL)1sq5_7J2rcTH-?y3;KOP_Ic zUNGMBgZ#pTm4BuHo8(SP_U9Qg&J`6$K$ zKWg0N-?5&xYDSJVyJKV9F;AA(-P<*?&YopZrk|>OJpKC-uGV&tH_X zo^XG++;V@`?$nntV<;Xq$o&~J@EPQeskU$2@pJ@{z^)fce|1_b4$z{%-Q;;+nM&)> zN1{T}|M&j6o&s0dr{tG{e;+*g_xk^n{#_-sSL!L{F&$mrO1huAj;#e@^VRcM)VbRm z&b-4*Q0O;@TQM3``lTIb(~Q z5d*v7_`-~c9scAMv~LAu*g&U?$(scuvKLw-%&sucEIKNYUTY$pM6QtIMJu3ZbX2hY zmS>;(kT1iSU8d3~m+~1hz{3v6F=kxlqf4`sdO%ZhQWKvjg>_npBhWpJmZQQy<+EmD zkbhrSpvw&u!^?iuxVk#+!XE+@q0uMIj(wT9zoLh3ou*sg(S(?K<1s%w05onwhhbIc zYHs;js_S&Z^(Mf}^(Oi}>{#9JRzMR1-U3BQ>fDF;b@xXwoNKdi9O(x@U>*#_YmM|X z7r=kXPwN=s2hAt(sL2oYN5YbS_fS-rRez7HVBsw1;C3C<9xlpV<)>PsWOIW#RJ;`qUkXt3ly7;?sIZ`iVIJ6$fty{1(Y3!(?$t zpX8(&gF=W-qrFlQ?=hD)qti&j@slTbGqwm_Xq?+OaA`tKyC4ANTqLF;+-I#GHfM)qzA3iO>1JeW2@JMpEQXRU)kX+U#)81S zZ%9>WMr(akG8xbDf?l>xFW(uB27kIW;m=w4rpiQmlr5$jI#pe71meJez;Gq0ee(d> z#A%;{^C>QBayOuS{~*uyYdpE;bdw2oI67lSXDS{R4!=A`bNa$K_%%Grn2}Frybd~> z2M_wCcZk3JJr~S0m(0%w>0lF@gFTH!^JA&Cm=V3T$p57wAwS-6C_eX59e+ObZ2|?| zVeCo@JZFzB2fvRok1aY%L;c-C$oa7cDMHnIkRtR;4~~&@9KiDofx^AHa26Nd!iE2| zP~p>}FnUUQnqr(tF6`vO3%T%qE__lH{()~E^#`Ec4ak%dls-%A8uVc==KWuxRC64f zb8RLusb7)Rh?kz2(%qBGf`16yON(-AKjL?h6Mf#DT$Y_^m70RmjTw*h+M-F$om=P+ zv4gv5S)I%*W|gO49y&BenAm!Aqm0}y@S*#2nnzRbX*An?+3$8`3VGU+NN|NkOhYlu z{WkS{p}wUQTk_v0JHZE4ou}tpy{)EIg_kL-wkM@M(L_{Wy>)z_ml1SpBVJ>6kKhe)HCR`7=pD42 z;TsazbL0Cc?XI{x0+`aR`ao{a1u8QquV-hZ(a=<){fdCsxFQG(t$dqSR_tO-eZhNw zmlnQUc~Xyv0A+q@$*%!(xMKZsRVMJBd{3mPs~5{C)a}@q>VFOq*1jTap4xbm+CQAc z3nC~GIbyM2{VOfdG0o=S6(LVE^zAbS}RzgURW5 zmaG7=cdZAdWesTGe?r&=&e+&4@G(^T)`syfDBt!LzB6^0Cau(PnzXhfXwte2$4P7J zPm`7~f+lTQJ%9L9D8n>{VX{v}*6dpbInlkh6cJWMZt+5Qb$Rarb=~VrkrO^5RAxZq z>gJ^Uc*3NRdI7AQ$F9%Pta0>4tr_oI!T^=k@rm?tU4ivurF3FroC_UFuk%b=KcxVC zborfpc^v!b^1ai}Bw@eAzc%nMiGOY3U$=08)g#zBjDP&C*%PlF9z^jY$IwF)^0?kf z&C(N&I@KKy4dUdEcNtpo)Yu(BAQZ8k9BZIU-e%E*df2`@LTFjKKyjjFcMA{ccOc9C z^Ana?Agop+bvoCt5c=nP;Q}4M8x#U|)Rn33qJcC}Gt-(NKI7_N40H&C8)p)nc!(KL zUnscUN`JGBJ}GvSnI>X~fsXw`dpKKPBHJuUFR8BFb7X1ZRf?yRF;kZ!$=$VnAU&u@ zwDup1GZkrZ>n`;``d#>zeyYa@(kJMYD>ZzNE&sn&n-Ce)?b5fiWU^p=5x^>p5gwQSR&#yS-nXpMWbwwTr#P&9oX zqJKnZ?WUAlPY7Z6uIaTot~KiZ3VQ0)L;sGVVm*fwWnC0KNsq#~8~XvgeeO>blZr1| zg}h+USsTK~Ui=7ykN@CD71+!?m~7BVKZY}AS5ll17P`(jRsZf1MDvE}&baU`aj*(Q z%9e0jkXqX8DJTC(&xs<^_zaId+l}&u+J9CyZJvIVF{8GKNy4}VJ%ShS+fx45g6L)i zXh_;{`wJom@5YEY&OnY-Nem(H5uY~A+U?KA^PAGvv;u)PiKuCBvUvlWKVS2zZOKf1lPq(++w-EoK|~NVS1H_hr^^G1d)^DWQn{^4T9!PHiDl2{DKPX;^JK zTsuqdA2c}Wb}d!OQEU}XvQ;SZkqXwXO`#^RAcs+yp6s%P;#CpT(uJ_?iGQ@9FOj?_ zv(^?Pc-K$8?PTeY5}evry}(2loix`!6M5UcC?YT^w#fP^uJYMLw6=|&uL17W3^&e= z6w7e0li?mp)5^=a3^x^=5JqE8<+?b%(&L%|vOR|Cnz`;4ZCxtZ1nWAvlk|DPI^$|l z6jPF1qhTWx_VcG0p|;SS!G9~fR9GuOnSpH-q)OejbL#8pIoY>5+q=;|^#eUi7V~{4 znBKwF6_OO?1^K#1J;n$(k71Ixl;L|ObgfnZ(_vEMnqH% zq#m{TxL{;8{@Y8AYPcp)#Av=LEm)2x)M6}8aM^vk8cK=7tWaeMg(?{tX)A>tGmY9K zA5^+xu9@UWTWhP4h=22xC065g!e?r{HkM~duTzU|U-z^c?rp4Z=Bt!7L1jEaSubrT z%JS6bS^vDW*R1C&v))X@vQMA&{E}xq-0VyZ<|$t=7N-2gs$$B!miC#UR@Hfi=7}kP z?Q_;p64fc6^of}AXai085cn-U4CN^gGx#+4D`#XhDsjpy%70TnxE4?Klo0+qe72bK z_ev>KzMLL{#DUO!Zwt}Pcea@C6oB9T8T?r3!Yy3dWxoQqllGE<`9^y@$tlyc6x!jp zB9aa31HVA0kazLcMP$plNw%C5HQAPP8SjHUkIoS72;40-132;wj}*0o-CF?-e^=wt zUM6&WKl7kn;?b? zvl*Kp`Vh4DWfR2mdTfHI3&X)I+SB|;IR6z{8{tuMD}Of`8J(tIcaivunu2#Zsu1(> z@_LTOUrlU@J`Ye05$M|WKstv)08{#73T(D^tQDlOOx(z#i!s6oa6tM`Wh9G3Ocv(^ zS#*O&+~2VnFf$~FDY{+AUW$Af^kBTkev$nGDL)G7$35wVs=U{yH^60d;aRmHE2<=!w|s6 z!KW-@fDKtyD87gRHu`T-vC$pArI)HOHY`qCxU82Hgs^p>6_WDJs$%C_p2>y03F-MV zX<1hkC_AwZJ}BfyldNL<0L3%O;g(){D5x!z7PI6~(NT^dxAq~7wW>%Se>2Z6PT^RJ zD1RvyS0nB(haPG*NUt!AN>K&LsA|Oo$;{0#tgV$?S(Xm$qUl`(0&rrID2dYG!iKv=(0wXQbp1XQa`e zpx1KP=9{BAR(~E_>TuV0b(_VLpI`Fi=YK1c-{UE3nfK)97n}S+AF7kz1HL7DrQ(zS zePzw$->D)-SjW$I@*VNslaEU?P5uyd^6mH8bGeRY;)jTdkFU%VU!zFFAlsRsOVA>a zUEaXQ=V1PatK>0?=d@)TIT9vEw9pv?bpJ)8?nG+QzC)|j;ty$HC2IE{@@XO2D1RkY z;H}|CjUa+LplRw$erLQ zl>V-WLh53C>=9^S(Meog9TzQQA4%6M@cyQf$CBvy8&l46iZ#~aIFg7V{SqBlqR(eq zoEqpKm>qEi^oW)N&)=<0;d?ZsN0|-8qUpJhJorMWZ9CCdE%bZz zl%*hAq2|2wg8lyN9qRNqI}BU4VmQOvfUISM)dwdB^I1Hik^Fz8rBL6TXPC21+r;#(L#r4t2MnjB;UwJsOgUi0E`Iio7r5i`GO$ z(P?&$wKlou%?!?q3k}!tr5Q^gk-Ep<=Y0&k-@1*4Y~vxXqklg^AGM+(=d=>R7+dg| z;{XoN{-?z2;5T(2rFDt}CEXQrYXk<(33@ZdpFF7R4&%pC7bZEIhkQ&FYVD44N6KLK z8AFEui_$M;7zO<}fZ^qj7zJ|!Ik~>LUSz|| zd5Vsj-n1OcF~pya{<=uu}n zm5%4KSEEl9Wwz6cn^lTY&Qgx-dB%)tDD_>2-c%xSh=0XlU!g>HRu=MFf5P zLkcX-BBCeX3)n2KfqhjLuSwA{51#NZ5uR=vFnJd3Qc?>@yf@{oR1}vRjQ8c+h~=n< zxLH31D}R~r0_O8&yVB2? zC7u()C>XH2gFW0#P*zQoqtPeaCvibEYOoa4@qc$9GEF>B=}iMRW%w2JL5}@NL^Ga+ z_bD1%$Ql}3Q2FKoy6iL(xpDaa-R*f)cgoRIZJ&0ad${4zct?PV(%OyULWeZtAf$GF zKMrrXbScB9wU0>dnqGkJb+%CQS2Ur&qG2d1s|d9e9y0UOFVxKC^^!q?|aI248w%)#F^gT%rRQq_-map zK?u<`yYdf;iiD466=K?e^?n9#K z>z@-%m;ZvMzt$H4YCO_+{1I=Zi@*QGZ`u}G9H6>3z<0u=C8fCUzUvd&nW zO>}KFu++CEr=m#=k9*C&avpDSGyr6s9k!NcuIyta?D@6%xV2sKzK!0;m zZyC)+&G}sY0n(=*aSK0+JHpp@+sogQ*2^C^k_Blct31+r?1YxdeH(d==_(rZ66Pfvt3;nr-m|)}*$)Ndu@6{ovMbk^ z<}@o4n~|hh+)S*X4tKc2 zSK7(J6Y)323SQPu2%ZOAWPdRi;VRJY9Q^GXxPx9aPjvN%Omt@)`ok zqlve&2eBj=-CZZRtB-V$KBYVj!ec7byoQWe}v45q~L%C}l9D+~3G4 zM<`_oq_{;&KBWu=MBeQwVre-5mQ&3LmLUL(dj{zzA-SA{mn+;OIO!8k8iq+0PWlfg zph;iMIuGy;?A7ikx1`Mo_;S~I+*o$rVHj9}Y9NLh#}Q#mEvHUt-2Oc};0fwtk0 zV#5@(Tx%qx%*2#7a(}JoVN`YHQN0L|JZXxM?1r6=E_)38&(jYQ-JFQ3cJ??-G~xI; z5y>oj0wzX6;(kqay7W;Q5IA_d8ssOsFJHKPbl16;hm-GD1%2 zhMudK(t}e1Y!*ndV@f-@OcKUF>mf!r0w4+3!2F^-kaC(ttA9L@!X}i6jzQUT<$+vo zqLy5s4CGvbb|6pDuV8K3PhKyxi-cLy$qNf>+h07!_i+m;3I+ zKQ@AyZLkTKX?hb{wJzad&A_v?YR#jCA=a6EDgD0Q77r~XO2Acycc2;ItX?pNhENOA zgPf3*oyi=?(UAa|`^#a@%17R~Xo5NA zF=r;`_^CO;m=lCKgD}Tm%_#(Y?yrD39Wf_B&G{K~Xn#WLJ@V&p>X>}^G0(=}pO6P1 z`pdVJX-(PkSoF)j&(gZbG&>g}X?F7QnEb2LG&@ts%M)fNUzwc(oE_ayG&{pk5Jd9q zTt5f1^Qn-3U3hky;nLIQ3C>QwJUhK3d3HY0&W^bY0&`3Aq`h%}^4awJWo^;$@l*Q! za<e88kvu+4yJt!PDzA-yl!YOL%O#U(NG?*&S$*gP;h_vd!=>Kg!|s(Eyd%V+)$Ml4NlQ`=hJv2VGtxR zqJPZJWXZhrKDJ_uhe4N;2i*q;O`+X)KBPgDd?@mUYe8-UG4@N8 zi|yhYbe+A&?)yHxA}>I%{vbg%2VN5M|3FBOhC+H!YS;so9z1>@%#?aSyeZ@2w?eCx<%|`z9GukPxzcaZ2auF({9fJMGj=FIfk>@s=XpzcCEcq<8krMPcH;PjgAq#0j&dkKoyQtewjTCV#Ta z)>NwlKX^$OsA&>4pJ?YfhihK$qIP^ldXq2_f_}hQp-5p0&uftUk4Q!nF6{MTh@M@= z*AwQCyu?d{@hlzx7srpfng*c@s>^msijvsw)|Ql8`M4?ojU47s0PI#g9_Ph{Lcec` zevQ0`DFu*wW+Kf`F*|z(n^6cP(tqqroA2W3liZlzHb|y4$t7|`>o2IScZAln@i`RF zM%4f6abLlDjXYS>(VHh^Vv^d*t#&Zni!Hj6pKzsBSciHLV116Gut`IJS&JD{oLM2es2}61bXVQgGE?K+y)F*iR4og}hdq(^}CSqY~_{ zChWZnZWHeOZE<1|xqmCQEZ$ES(T`5;=Y(jpJ@zwLghg$3n+8~4N|7yPPY!OyVxPioDKpmxR(oqEI95vJ`X~Ab-02`Sw%0+}=Uya*1fR z8+I8WT03`>x-6*0d0pi$@uozyUiq}+W%X5>nYI2sJtustaz4l^a#%kBE98vVvb(*DXHDGMRyo5t@?fUhKD4xs3 zvuZGC!v(87^o~Cx&*vq*85ShemS94^sUg&s`4^u(p?|Tl3JQJ`{k*^v+Pn2rC-l~h zr%mYT8(s+hqMg#Z9S1#Cp3p1RxvweO3BAzjDHED@<7pE*!Mne%YJVYOG}F8%H0B25 zcKn}WLYpgX)eu=dFv~>S7M#-F?ZlKmubtBC*ST=mpEO5RU_99~yr#6Nc1p8F@f#j0 z{(C3`H-A&EfxWr!KPkb#gXb4EQ--T;6=#MciTOC&IauvT;#oiVE*R zk_$ZZ$v!hbK;Wu#TLo9{P_h`l#1lX0InuP}wpH8#j2WwOMEE2P-oZ7DP_wLa-TCCt zCMYD9(R1uie-SZM>35juH?NJ-?~B~;GNg)S@PGSQHTs>dC5rrLg2vrOg~mR}Pd1W8 zsb@gaus^-2BuYHdC&mBiMI^OV0B%8t*~>{57b#D#-j#xVT56@_6neaxIvJxhwTWS0 zfsK8|2fWbr5f9IMpV7KuKWt9?dupDygPE4rSD z0e|-q4X3$@+U8b;Q98UxZKF7XZYW9);*!Z#slkVV8_aAF8{K+3r!|)pKre0K=>dL^qjExO^EW75*-dTOj~CeTnv6$iMKcd~H0HK#r&KeJdrNN)lhCJi>Qjxj7r{%avdP2ZN{Z0qYwt;p2WF=!9@yjOhjP_x8USXU;;2Xc9i@Oty)AJ`7t%lx*@kq)VG?@OLhqN=fCcN;= z!Hn?0y9ym8j;}&zrY>qE`%@NbOMjaas@{K2i8*35yU&vcm??P$9Z2S71n8uLztiMZ z<)$i8Q`w(z8zydJPW(tKII36wJ`>Ew={e@C8Iz}5O%o=h;!l`{skz=WMSmm4nc9BP zXQr%pW^lF=2a%|xouw~`so4`Hdl^kfyL6b2)>mjcmUEqSs*{Zo8r)N7qGQh)*)fg77e-4BK=??{p#*ZqJgz3%?ifW6vc_{u zlewjzaMk@%>U7m#_tf~3pilIt(!#}pj%wM25KqTh0Lt&b3mdALu77gd3dq6(`-tfC z`KHnE2#_Ek#pu2-MyZ58$WyzBWr zwVof>n=R`3d)M=SYJa`Uq&t~9h+Ibt5VWgWaf1Futxy3fBs>1ZI%VY! zy$gR!erh3ogNWZ}1{1#r0IcryI?XIMXhvdTNO{Wt6DsXSsQDnePeTw7^YBEQTj?J} zrEa3sz{ADA%YReyd``ZF$z37&0w=%A$+t1N86+R!1LpZde*I-?Qv&?ma#Rg3PVXjLNtYtwG>L_}bD;%X=mD-7VSGXu%e{Wiy<+?z z&k9Jc$I0h7`7u_Q&J_YV=P~Cz!JGk{bE6#P)U7}{MSqyno^wudP9o>%5c%Ppvxjpg za}LIacbDRv4V>fR9DmIDla@J}_o}p1T-9)S>&jX#r^jhyqC!ehE;04@O`NNUP5jl6 znty1>P2fA)?xPQ=_V1;s_6rPJRm_Q2YyXF8@8sH2DJoMP%Q(6AX0C1JzVU*f`>zMQ zU)0W z{T&N9V+tD>h?7sNn%K!;h2>9!x;7$6EPq^2)R%k5aZ^LNsked^7CBu^8$0b=w=>rb zaqxd$|Y14I^8O+`h5j;La?gev#QSG zs(rcYs}R{6GwX}%k=XdmkMf)O zd8uh1)q>(Lv;E_FZs;R_D%cVVk{4zVPCm}bh!IlYT5<9}oE+^Z6u4TPTr+@@pYsz6 zoPm?$IT;mZQs8d*QL>H&Vp~5FLLs$e1uoG0eM1_~r*&yKzv`(C)Z;5OjuzSSLn$(ah!v?ihBs>M03tK&cP?f-JLk6 z8t1IwoH)#h;GD;L%Gt&_@w9+(&TpJkz&Twp=N8*2g2KgWdCkkf?-L)t4?k6GI$&VE z5K0h72{BJZx0?^|UkH35;D3cu(v;Kw^g=U9kO%&%zz;Z~2>jptH3I)Mz4O{UsGJb^ z5eOKPYWlqZqn*R$nm!F8V!u_EcHsJOgO{@6j4_tgDxGwpV3A-9Kc!H=(wag@>)ljt z>J_BriZg6vi4F2qZkLyl-NjXP2B4-d0vW_$SqAx0c^~~26_<%+WPinlfjm>*t6MJg zaVf2KzAE7Su)HrwwaWVF+cG?<0)?y$##{-c_b+N2crDK7)T?ELUFi&7x*$o< zdKpyQOFjPst87{s?DZP#=Tt@7RI|L#CK_aX^BV?ARKb58vc+n8ja=tN?F;2d`qeI@ zh-=<4YO3O$eX*E&Reyb-tNs?Ki0fiidtp`o;#DVd)h&UFxGq+;32T$rYYF~nqZjfR zXmdpvNr0~(`;%iliV1AR6AOv+p3q&%jVuv|A*=nZQ>!L()ikb};w>=eRfE#sv%rkv zc0T2HMqxYKXduu?AUD#18ySOn3z^X$kWX&VF|IWpCD43+6@RWMfa;;98Sqal4(9k8<)0vbcSnlW%bH6j|IZ;pECJ{HC(F{jh3D;?~FC6$H!2zY|bp zSyOCrf}MHj*#G4Betc!~FUgFv9zue4b4BS306z*AMzCXmN=a2i7JAWzppGO??=Ns(80sPQ$+5f!k zF>mkhkB`gVqHi5%Z_z6F(Vq0Z#9OYh@c*&;x)E(;a@$KN9X z==cPFmme;!Se)phj!6EBlCdh#MIv>!qa3z>MA2J`|iJEt+{{A2Ba>M>AfF^63B z#DIV5{TBneT1a(&!n$>-zY^vy^?Mpn=wqI{=T7i|+V39z+;bCJ5yZx?)?R@>>334Z zJRK{fVO@Eo9TuL5xW}+lV`d=@>ou0rmoO*5Ygj!Qv|lmj`$y`qdLH}tVHvqDzM$dm z@%Smj`tUm%R`*9dtl>ZKuoBETu7#tznI?amd2r6P61Kne&g9e-olJ<=|Dgev@fzSC z*x^zFHssTPXn>zTBv9O#Q~!~6fG_+*IUX_vKU4?!!uS6^z!qHhI@X>1=qUp{{4EV| z)j7;nzpQ_#9DX0IsFAUS0JA&h!BgWixJ*|8L}_~-IT=xm zWoz9n;kHs1=SZ_Bz~UMi1t>dkpHcSbHx$M<0$?a2@8+N{d4T2oX$@&uUYtc^6bDz# zTcX-duGR`8DT$=_IjJp*ypDO~l2dNhhv8OyAVoG{$H5h0v&L}o(Wf<^3$zM9?V_smwu@~vF#^0Fi)*nHxRACj} zq^*KsyuXIzAvM0Y;Z%Pwl@^pduM;SxT}lpeWY!# zmuQbJ+(s$wrIyql#}7$z#hi&K#cT0l(&()-LH{-m&M{Vu>jVGd;9nH{3x|KfbO|E% zE=8c*0M#V_Lxi8fNlsG~0D>eR~>@P0|p?Fj?Kqq~iL!LN~Z!iOLVSFjc(?T9D0`W?HjDLE7 zfM^2czvuGJxO^N-419P)*|CbiN`~G_f2**+_RybHO@P@z`fYzdi;&-QIi-oy9A20k zXYF5@3u1!;!lT$2$=w~`r7s@Adl{0ubMjtJPDJcsG-C=K53KqRJMQ@(QFx~+SNMP{ zbi)b>MI5My<1{=xfZOM==gJFiKo4VId!Ea*?jNMnY_Ub$tYag;)AaB@y}{k_Z**>K zu)e(PdUWz{awLBury)#{uXcl!PI5Ls{I_s3x=|D|xx7IQ07Fh(Hz;^QOwGTAD8La} z4pUfq!0zq8(2jSPJV1^>NsLfG3kKSpe9VKM@KQP)2l_EnTxHJrm2>)Fj_|X)Pd?8< z?Kr1DB6&UlznZ%!3i-Yq89`2Pv5j185Eko~?6`^cx_f^(?&c<{KyV|BF+cu=bqsibCddn~S;43%nMNWpdhND9HdK{j^Wu{U8d)_wkp@^axgiY?721I-jz$ zm1!Aw&l{iw0w|@xYd${GsYf+Wib5`xHK;*G*uq~F@+~I1VqU(ZnTve~`KnZwu)5O~vJgp_p(mXqsu@rOo*|C3%(o6gOg{845WLz0O(fxyfZO_1_ zBd}L_1JRpvR^O(a1(@^QV=WuE*0ffYTdT=+{^UA~vCcZIBLkq)bPEWn1 zv$lVLW@mA;{TWbvr_3`Al819LUY&yES21~z^uZp|f}68u91kiJbffkE4m7c1e{?dq^tQDlHb{D<#AyBK^|_YmQ{!&3(r+J7IKb#{pQX zr7Lw&Y#rhI4WXT{qst4MlRNA?>msUj2HC|h8`g1@6h6^v~ z(u=BCGBb;?pC&Gt{Aa&V2qDYHS>r`k+J0*D@KtVXCp6~BO^imv^?tOB4F*`7+>n1o zSPubkYX;cb#_Ti)7A|E-TT>|5K#H8tkj68ll?0?;BWd^LODz;$6ZQAlgI3g_jG|07 zDNpCvbZ$Zje#Eem={Z0>{X2u0HfiuG~(;Kz~^? z>CE2Y!SKg%F4=JlkTT*cDq{&ygJ+gEFFk|<4^c3zp{2!&8w)?KEQQlNV!>>IAt5%AJ4yZm|C^0jYse74&7ey7V+1DnwA;maqEA;Ah=I8D`tl3R8|zLaKR z?V#6ne|nhtI+06!)^qH_*ByU4^Kkq0zOtF0CfjRJBRB7WZ|PflP{vvcqmz5;0kl0B zT8{fiQL7tVM|Ouc|Jv#ArM=7dC6@jf%%<2Qe)7!UGdl+do9!o1Z0y6$eKwi|q=7=# z^+cWs#O9nquTZ5j<_^jCtW7+<(VnW8XL}ZOEqxBM}A-rNp#LNDcC=n;1taIOFtk>;UWt z?alZUGTnZro(D=6XRly!Adn|5+fAbW5(auJk8;A9a>;`?YHsS}@x2Pllyu@tvSw(= z;u-LcASy8|U@dIDfgXRYQ0Y_!dc{`+bRv`LKnd@Mad3_v`g&9oC{$$XS?Ja_@^|15Irvv z1lMq#5M0dxsO+Ku0o3yd)O%kLP{dpdIZIml1&zTw21}f{&$E9d7#XaB^cG5rvG-Ek zeLp9WF+pj!47O|e!rws1K(1er>o-*D9|e^~D)a36m8Df*5&6%n59E>JUi}3% za`}neNCq}?=yQMZ?z`b#&Pj29@VQoAsqmDS;pxgvy{w7%4s8l4ww&g+VC!?3Z{qKfivyW!8r za`Q*9`QxAYYoDMuY!ca&;NJ9^m;C1Vrb*7Z!T1nVeT-)~fOq&~b^z?LXKhAE+auD3 zVHyfE$3>)yq78At1QUGXlQH~KFPfugMo`M@2;4iQ95LQPO_$e z)S+HfatOU6v6@4Z9xRIAk85dS^pzx6%m{xx@|RT*KU<_H*^6H(cyD@MAU-vyDQ9ie z!&Uxwnk|2Sy!59R_7z)QPfM@*N&0*E9H3Ib8jLtzCLX8hhq_9-M?ZTVz71!1`56r-pN3P>Uo)IHOBl}eMDO7=_Vn`BXJI_~|M$nU>oXqDa6frGFoZ2q zB8&YTg1s?0zQDY6FnszDCk?}UB{?SrV}#??@6&&Y?qRRNq4T2Qv<*mL5IYjO}=a##5&!Esw! zg(5!vPyMVJ2sh;IFazcQgIRp5?i>KUw=3dUf!Amsj?aNi;8zCD^d|i&ax{fKZ8?U# z#YT`9Grx5FprC|Szw$Lip5eic7oC* z%nTnYwRYoWvsa*&r;YT-r)p)R9bILlGniyQZw2zO<(M7#K9A|W-gGBU>aZ1R`N@BZ zM?0;bpwqOi7olntU;fJ^r90?9S4h>|2*3EXT0qsst?Iz|eFt}KiuLAwpRIo%4&{qt zHu}8%gmKM5@{@9$lO_+R^B`L_Adp~kx`M<3oM<*CfVeEsm?@uiAGc4k%{7wp5WEh(aQ1C(OO zSZG%HHOb*lcHB#L-1fGAx!)zKFpW+oTvq;#aM_0b1oi%naQV$|h|5~I!yf=eW4NgF zD-|urMI*RqM=FXZ7Wjg!sVo=W$3-vEpP>7{Qqitdv?kAx>0^J6XIsoYsn~ygW>~+H z9LZTpAmc2K?*NZx$6q*UF58#5r>wt&mq$m+7HeNnw$f9-)LA=5pV#OY7H8{UC@Ae8 z^h9=IPLeY@OL`r8=Qo{6pdQpa6TgIg?yMhhi#PrgQjNFdC7vQl;z~Y+M~CEnN&4!C zpYo<*IIbJ%si$<-1PXzcl0SbTliYTGi9SL0u4IRl?6_QH%PO+vNS~L(t_}rLzpv=| zH8*GCDd;}f5_@FUVWe6~+RmMeUgbE}twfjOl`eb9U3$}>+<){@ug+t%omVN|c|LVM zMRbl$YepS?Li*wp?ti+{|A1%p&zBL3q2SZ98Youlia~LJp!j{8FBE_DB3YCGVIE#= z1qfgP(Q)iK2XMRN;RN6QeNgb6+PO8vr{kljy_aGMOE5f-608DJ!{BYQ=uIG1UMrWd z)~S;1S)h5w(oW7a>;Z6i?#B##O|cILe)+hE2xWdiivLiNeDcxW~u8 zP>(IR$5`$$Ui2tr>_Y7EfS3L+ZQSNBhi`|i#Q2YRKk}EVn)}LMv*Q*aD5f#V2-9-_ z9iE{lU*h}F(9dv&wI^;=S)VAPft1F9yuU>@eULt3t!i;D4wioc0E~1;-&ckj?_zvpw3k|!+MXzCJY=U8DKPA4ph`$g@*3XA% zx4<4b1cN!xp8uF1A_s!#cp3Xxiz(9MG~s1gos=QmdG5pvm4T$62JmteuE`eiMamu^ zA_a6OSHmCCcJ+UlA`D=6Y3+eY@E9?kE*mDf_7(U%&=5z@RBRb7S|PVT$03U=S%e$- z6%f?rc7VoSkrXTa&*KevERBDeUB#1x`o0`*0Mll*m)}bNNwR!Iu?FhsEc%P_X&oa# za{O+zr=V+CBQmx;xD_C*CnfSM>~xgoxa&CW_y$jH7JW$j5|~fieBA}85;F?v*^mIN z#?mT%AJ)>@!s($xj5k;;&zON1WuuRp9qY5;x2L{hFEKk^Tj=;MSMTKBV{?t^>BNPc zlY4(T06sThbReg-T%eGR@oAl))gPdRuUR&3C)t>ZOa8jyfrIy;z(T@I2Pys9?{T*Trl9HdyhMmu;$2=dww{+zlf}s`=HC`P^1TX+~bL}}vj=z7Boa1wB z3q2hrJ#>AC#9^fD`O)0E1AvHQMX>u?rOdt$R-0gZ~{3K(~B{krhC7O*$fl& zlh9y?%Uhw;{d+&Td7R9HbYg#+vV&0-a{F3<&aziOx}Hu4ikBw{_acfsi(gsC)pdWz z=(%-_yK*eXjfZAewWR0iJ=cVOA8*_>N{=ZS=NDHq?mAeQ@Dj)wx2K%Q$Ho$kyIRD% z60w!)qLo?KJQaxkA#b{#3T0ehTn<`0%q?6?dpO)SIzH|3NPguLzJ`Ar?XUY`i+TDa z$9=hd$8qB>eMZi_au!!_J=gVMdr6Ml^j?nR808yRJV#ELy+oO7?s`T1;&P2~_#{)} z7UcB``0Wh2cok+UHgSv5-oOuoksnOYIh}s5yK%XjuEPdB#5oxou+*&2FSWZ)mHD(cVulM(K))#kS@NIdAOT;FP|alWp)nCN^)H0L-M3Iq0z5!0XqQ{yyid>>@Y3Pw!|wx zhX^6T!O`SCK7E_|==D3kKNcnT(eqv867&;1Lmc@%{xK#T#kYTf&(O62wO==esf{;g zA5PE7PQO>zxE!AcFr)6Fr%Tz!jk(5`8ly|XXFT0W#x=R{r?00R{C_I{c+t2fComr$ zvqk0Ay_^J@A?pf_+~Vvk?S6+w-5+{)8;TgAwz2LXxXF>WA@ONT^mF(CAwF#}e(uyU zwwY*%UzTqIK6rlu1Uzew-DzCp-|zT$71VYIObe_ z-nANZ>>iAlFH$2K% zaR?;$fxl*UBrf5-A~mk#KbK`~`<6L94+gaJ)MMjX@Y-YnOfF*O6mkdQP0;$<9W3Lj%0Rr z6E^8!TTP6kc}d37E>I?<#n8F?EXofMtTAu+v(U@a`Fc~aPL7(%^w&_d*w&d{1K&WA zc3RwWn&7wtBR&5bjWqv~483HXC8fQ=dgTE43)OA8Fhece zFhhS07#gbyy}N@G&+;TCt}_NFZ!rcB%rXY2s34(C<^W%HO;n~O--X^ zi{2kG#QU*ioCx{+B&k+kpCmzk^duXadg+MwYcl+SnjSuPcOY57`fK+<(5u2z+|p|$ z?N5<1vim?nio3(B{@xEjEBx^Um?IL+l%;>@JyEotMd8nybg~m7HGdr~pi;xvQPrm` z+wbtv&bvyew#tLGROPR=R3%hY8HuN<)~Y0vp|C;f`x;M#>RKj;$+(!f4E#`F_qb%o#BfVq_efTPMn&PE0??ueiR~~k*)ca1&;P6O zdsTO(r7iT-P$j4y>VXff(pJi6O6(!#1{=<##l1YwzanM+@ z<8HEZe5fTGOQ?F#hx6w7H49pGcJG1QyOoS zAO^F=VrVdFt!O!!!*7w0Nq_I2!Ohvqo zY-O7NoDvr67wONJ$vGquL9;lm5#dO6RWOe8dG_Pk|1$gb)VDYXM1XXD(0NfjG}7!j znxU557c@TcW#ZWZKg&E@V6=Z9F>v&9kg#>UHoF!Wb~{8CY`RNjp>P~1-s0p=@`F z$UYp3ba%B_U21dq++=^J4W_mm;Ty61x4##bjs9L(*7-jL%kfmm(zpQ73`+L_iyrhx zJEPf!5o^tkBp@I7e$3yY_}%gK)WQv3;>c;sCVfT!&v z*0fHrIF8VhaTKLtkC6>~KhA$r1YFpgre+8%M{zhjsn^>G{62pjPb>mL!4=3|0rmt^ zuU9};n58!c`GMMxrt*EO0C{2XWpSnidj?{2a$A1dw(Lq<2^4%qdXmZecThIoJS!_3 zS72=;Rbv=5>*)j>h_$5+tH>43;aa@89J(k71lR%* zs3hlTbP8EK7u|nyFJoA9PlzS2+dVRYr60u2#Ar+G&(^_a=iUp1XpkXS* zhC11n3Rgl0c^OoK1i5qZJuLYptze%>?SP3ro25@zc^C7%jiUNZ#MSMGh^tfph)CP) z7!eVimk<$1faC>4&|jWw#2SKHCLw#c_Ws307&C1ZxANz?#e-AbswEwqm&q z+R7wOvW2<7)8T122qRMzX7rYM=}VzwyZHLBqibA}V@fz(V}wml#jcU&yso6cU|0~R ztswe@^i_YoeA<7`oSqvAl|l>SA_J}Epp`w;Ue`Eac?2u~bQw^0VsQ}VgjdjQoJi-w zC{%xk0$3fI9i=T$zy(63lm>ciEEtCntR6+|aH<~2f!-VLjZJ6@%N`}wXf6E-N<2!c z(V(NOMt{$m(W&J?R(qa(UU!zveTMa?)Kd)SsL;Z$k+2haLbJe%(<8I}s1;;mJU)U| z4NBW!Ec1hPM!OYSa0W#+VWsAE=*QVLO7?%|iOn^xN*5$g7^oywSSj?Hga}2k`Qhk) zqu68|#bxh0h}Gc7UW!dm7b!Ly8fz4r%FD@SvZ53Y!Z`v~qby}TuY1Jo>CqIn6lv$Nhu5z^e=ApUBzk6x=tqPMq>5WT&fPxSWV5u&$E`7|N% zSuL30#@d14)}i0?53;heWFr-U!9jn1SIFmErcTrOM%3;g3S%EKyE;dgt3;w`eTYUB zRj{j~XeGTbcHJFKZ5UcA-So*9-TVqQe$IeyDxjro)e2g9QC!u-^{>WC7FQGA1aVad zezj01ET(sc*CLrz+-?Ac$_tzfj<*^&JIh^P={eG}*5-2hojlSoQ&<8jpZ(xvhY+Sda~B1w`5ks#F|~k284diEspX!7-8H_$v+I*rkDE9@fYx z1Z_ewFpSU8oazUw@7R}QF93byu4*=ouEFMWx^e~IQdBx0e=UC^-Lq?8l5Muqt}Bh#;!*wf@SoH37KZ+Y{1Pf z!iKZ;G5FVtoWpDTEwCN))C73mJIK;Mn)@Rfm_#&$d#&{Q z0k$T%z(Uh2wqSpkE?5BXB3Js^TA7_4%pFY5?*eqz8D_^lPc%^0^>1ZKIvrZxBSI&? zwge<3#lM3p&eE{*55!ur+S{KgP{4hSwGa zZLmQ?DWuc9dSs0kdDAe@GhLdr7zbEdI~dW;0ls1B(|~_%KfqIsN29`16V&xUEKjc} z5eZ>H1{mTFXx|g2G}TTTwFEot9w>dXm?=1t*p+6~7KA)o`K6NmcgaPmgXuZw+&V-H zFd$igQkr21)*`Si+L6D}BCs^x^>)q=)*$g4fY!YW*Q&hkbcx3^%&W}d%5M>HFy z%&wlHp3-~=Jrq3=oEC94LT>|Z4%&2-*z+ST!b80g-Wi903pnY5Qklg9&)pCLXZZ;B zrhvbI^C661bgFm*YS3AwfD$bo9DvMedZP~M5RHG^kq$AnJ?Ri*+mQ}|zv8pLD@BC- z%_8XAjJ{(z)Mytv;k+i9(+~;nR_Y;&djB~u7Zj@oFNvdon65kND*RqPk+m84N}*|t z>>Z1`=1PugTJRZ1Ck~{d3(B!QztR|1NXK)bhhK7gK~yNDA{V;;JQs@NLa%d6*D6z? z9aVq1P`)TslMC(UmR<^_Lc?ovp^c(YAyGlh+gvC$j0zRj;X;c=p&z)=5-!xP9u;~o zf(s25g|=~_F$`1JMpWp}#$2eiD8xskF(z*5m!?!GuLTz}QlWVhpg@FxXA0?)g)gu; zyD^%rkr?Nn3yk0bKZ*k1bAbpbaOVq-M#_H$z7z$vjiytQ_}nLT5`>0T{C=cn|3hn! zby+A@@(ntUZ35KUWf8A88+danjevjO z+`=Aa?R;}=zHwPDZAG|~kol~4USB}g*s4clcCWD?C7md;8Hz{?u-0igY0W$aU@8OPQhH0vhO+ap?8kE1NnF-_ zl^__OmE^$NMYaOmYIZ^unIh_M8p3~0=~?7ive2KycOF4&(*6Mg*K2g_4Pnt=OzL3E zpLG;(ktDfdR$nyel49?&tsQ_^48Ntx(1zonRCYcso%Zv#h2qXhuu=7Q34m{@^Fp2g zGDkR5qR@%O>`crd5$;IbLKZ#eS_Tki!pDPL_hk5X&huA*J~{_xY|C7+v%F2dbYTMy zv0~}|4R@F4K?ql(cfVrBHX(l@+^`u5;kTNQ5RPhwLO7K-a*1=rehX-yc4Ww}D;DvN z?35FBWG)obQ|V#SgHqZe=I9*@irp92_@m7;J6wDv%y90Y#)jc%cJ>J7U+d^LUYF1$ zC#-;7!jqigd5K6cI;kl@}WXLcl<3q_-2vi@&N>;>Byb6(;GvRXN(tw?fA+hTUECkW8b%4tgj zKFUgRj$em9S5opk;TnIklTn41He9L$t=-w$9Z-rR3z6an|E1Bz@V{W(TcVE^74W4J zrH2F2N2S2|+$5^rbv)1Q=GPyJKm=|{gt`89o|281O-iBvFU8Yske<3mXKU{1gNQzg zrEp{X8;Xpt=LuEBb{=VR8~nt=)&`dJRL~4-OG9kJj-DDU?U{ega;6ic#ixxAy=zHN z)RD@6Q`V@XSDx8GSl!{ZUFlkl?U2g20x^(P~5o>sXz+1k<@xQ z*T+l(n%+F^!%I0#Ry^mTv3>YMD#S@oPfgQVD+8aVQ6^|hscF*BoU@K|)+ssbqyuxs zNSi{&3Uhipy|sU?G{q{OJ55L2%1&m?ozPdZkfdRfJq_cO0~q9l@<Lc??Pn9a72rM3JgSlqfl@k0NcZQ;sM5V5d`r*USh`PArF*`R=mdrf zSEJif3m^~oBPO2gY{jXA-d)`7r!1ZmVSe0CSmx7sSH6hrr`w}RnhQx%k6Dy{QjcdXXWil7Y%SB5Y zwx%sYjV!=M##?=sii!pDQgP2JmWr9=uy_q{P{e+%Cj^+8vs7C9U?vPH{YBm?RgrDh zlf1S?VRf>3(ePZR72{H6S}~#{XvO%u0j(I5B4~fbc+x<#VpN89-Q#^$j6rjF#dzNi zlsg=LxJQWF&0~&{(hs`;`k0Ga{IpGYXvM2vAj-1HE_RVUS)DEOngD zn9iAj(sv?CU)kRB&ny(aSJqB7%fJum2o!gwzAb$?gCuXr zUXA4C00f83TE_uZ%CDLw07R*|K}gM*8M4&eKvMIyX-u-!W++l~gCco1NM@pB5WzcF z`RO!fxu{tL&G9`lyWjZ&$b8RqQF=L)rZN+X#haLCaXc!vnXp+&R{q1Xa+o%|{f$<_?C_01(E@+=p#Qk<-`@RDm)Dp{xQ>x_Q@UsGww( zs-RK!(MbLkRCe>ek6U}Gtt_9n>x7M1vp;!%y1yFrVw;Xn8BoP;dP=C+93wHNCj6F4 z%_Nb$c^Xy9L6N*ht^=ZYv%e~e{{w&D(&-s2ir*85H7JX-EOe_NaR;A%IMUzV+J&k(Xz8H<0chM%UG z1~UORDP}55(;70^aZ`kLUJd80rhG@&F`dhuMbVO;ny<6A!?+gCX$4|RlN>jsRU`d$ zJsb(Yg_6s`Rmm(WHNpTF$@<4h9meO+IxhEg`UTO`c7VbC#S;-1@FnE+S~JAq4asnP zHws2PjgFr~qQXgre^8rbc>8~FjSTM%z`L9K$naNZvJC%a2{6(dGttV(C8U)zS+XFn z6+f>`|8t1hk-P!p)qLeEz(H&a0iNItM@1hbx-7@LOhGxm4n#S~UA&_%t!eGY$~jSd z61f)HwxOt4Iaf&Swtg}jWJ=d33km;+Ea9(7qo&ASoO)JYWbv*Q?I(Yx(n!rt+Xk)P zov78j+o{ss49XcrtYHa{svT7&8NY@}b^{B++MXuF&a!wPqRq8dAf?+&z7L-!wCz7g zkDTTs-ycjCix9~75tCSKUYcA?zK5Vh1(4|OM;)?;#oYgdi*KAlTEBYMB~2BYIBG%3 zu@i%h_J8ope#JT>+3|k_w(Oya(bu)-ZE9!-KVULz`5vx->zHHl?;dJKXZO@hyghk1 zK?ujShynkUG-xW&l71L{GKy?_RB$Iu#r0*K)NL}!%AGqk>&r{Lz6>dOeQ7q;2SMj1 zsS99-iA<*ZCly1`-&4eaLy>f|Hlhbsw?WHDBVY2RERL^j2S$H?0V;dWNY|$Ld&fWe zSN+>IxMbb?-N|A-;TJr+;#vL1FU68U>e@dO2n|oZkO66efLw;rxHs_`(|IN9WN9B2 zHv@~MQ88|2yfjhP+if$2 zs=oZO8X#mLd`o}3CiD7W@>10m{l1vaz5vD7c8!MpcsvZV00!^I(6&;AiN%%cF$hyK zb!4rUM)!&1;))wQq)7X}NvX73v{gAv4teLFQ zu}L!D7LR60(rE3$^nh(bT zu^l1VJvxwN_h+FbyR9`yc1xioyBF8c$nMvmH+QCw?4~sWrn=q&klp9u2Zw=%nLH+J zuumpEQ~y2=RM!0S62!M+rwNzk_R8@nx3@SFKai#KpDzmOyhs+rIF&GSWZOLkvpKj0x%;LgR49u`@j$M9JF#u0zB=k8Eso~@scKJ5+E-LWcALj_P5 z#uhiQR3wT_{Xkm06lkE)#AnE_c_kUwZIiX~Ymy?rE{@}OuNEZHspxEcqHE&<_HB?( zbRv;&?VHpg=Gdno)FuIGPa><$7#e5ePi4t9a0~EIc>vr4G-W8Gr0e~CEZ(1w5f*Q1 z=j?y;Pf;I{FW(z0h-#vBkDr5YWVMjt0ck&aVk*@S7sdm0HNws%ENUBw;LQ-u@h(@aI z!)j}Mq?&F5OSL2$P_zLTiatWB-5bx05IL@-{T}M0prRQ@Y%ea*+6jTCn4!`5tk{1R zJ{j#T+lr*%X+pN;vTT#(+RRa2=7mFuhhIli8kz@<8Hv6M=(H@lYl{kK-!cBO!;hC~ z0hCXFAJYQf+f+;o!VCujFKn#P>QJ23_p}oHLj{EH`STdHh_w=_o;6UkBss@t+Uj`{ zQ3g^O6jWCc{$pcUB4PYtT6llYrZ7Q_7*$*VWsVVgTbKpAZllCkQ zWnFC27#4@KQ5<$1MPlOft*SU2S4{m=M0RrlAfEptaCN0~BMG=<$4!E-oq%ue$l~zb zdR_>~ltn;JrN%scJuJyy;D;p12amJRBoH-Mh`{5q_&lApUG#a13>@{bEZBb{>Dex^ z65;OtTnZ9xaY5F>OWw{H#q#!3Kpv2-i_F=v-^@Wzf%6~9jgQ$V!VPDnsJypr1W3;H z!U)j3;UScQH?1@9q!GR)!)TI#AEqc0Fh$<{fBcs!0^fme>D(w5fp>N4<{xBWcOe3K z^Untt$s_}%|DcRO&0k7Pkwt$U?c#5ed|G!9T1}@`ts%69w>U=y%SCJvp639m;a|&= zuJmYfGt!o!X8K|?9Y^`@=CAFM<=nAR8aYS6IWF=}K41E9go>-Q;UMrvjSvTEok_NZ zmHS8>qz#k>*wH5x`M-vd1lWaO5@3CeB*3l(YXsOMXwQAdM}T#Ho&|rHb0$z+0>=|+ri&cyzQZt zH*4&nr8aBqq4z%wfVF=!h3%oQ4lq1Wanat*CLKn-CDg#Zp3wSCwejuajKlgluaS|Zi zeN?j>oiUisd3ND=aYl&NHInB{Hh_d2gaVAzuVkPyMS$@^&!}Cp0P8lK4|j#X(7=^gaeFlqNdA!|U+)EvNa=G}op&L}RrKMoP9TNcSflmGiD z55Ht4Dtu2P58d!X`fv!!!&TC27F8LgGhw_+F#M(2FddCs#}$xKjEeEkU=az zi=Kb3!-3*PGW-{mhPaeTEBcq9yq(_-%^ex|Y~^k2XR_?;F{otaZ4EZFWT3C`Yx0>a z{3;G2;fJ>-NNW=ZUefh`f<95d(zWu8B#6OMZ}WIXAYz9O9#9!J+u_bT`x;rIA& z5`Mi5B>XCtCgEo{knpQnS|j|TpgZ?*MfiUi?XR+Zht>!bfL~7l!m$!@0d&3l;R#etqV!CN|j<#H>IS@HQh0R#+Q6u>}d7~R2TE0A7F;LtLqAT!((NcxT<$|JR+9C~j# z5GlsaGPxmd>ty)|6&^zm2jUr9;583hG>P`?`&feM}?X#59|pfP5g zCE`yM=NAFSjQ2^ZnZlhEob7o#KJkARb6`D8KhT?VARs5^Z#z9;hi|E!#_m*EwGFug z!v-#;R$@+2N#0;2Z!tUckak3ywt>^iDrrvGD)s6^Vrk#o>ZaG^6U9fo2Du$P>P}Gb78F}D}DkFEnw{*J? zw{%|Tb;#Xad&oU72T!-nuH=6LX&2zxQy1_wXPYduQu?yOhNY5yCWglee!R??;qH&<(LB@5t+LEL-KUt$HQN6|zx*fi zUiR@#mVY{ye|{|gbS(e;wDJ#NasQ=}e-2sx^%L^%d6a+sWcinj@=t%jZ+AZ~D&nE0 z_7+1r{a6gu@bQ~oa&XtHVt@-e^8oF2iuicjXn&8dVM?)m&@#v^NV3e8SPm}l2pC|e5qpJ+n?4!r=MK`IpMa+fKPi&&^N*(01KfR59UWXhb zda<6T-9VeP8)&anj%$C)DMyjAe~#=eG)0sR^*qlBHsb?>(P#1@@2YmI|FdkF#ClQAjw{&gOqrqDZQS#O5+>8%x4! z1&04LH}s>s4*SSN{hHAxc)^(sD0bH% zKD;aKF{>MS5dQ~%QG>31h2Hshde90nTNeFih3GGk)#C!`V6wlsZS;F8jtP=>B>T%I z|Ndq{uN0V*{?pk_$O{_Z&{6#Dw-Gw@yc_flw_=809*ZAtYD`fE_ z{1bHN0bS%?@yK6)70K(N0r&7CWj{Uuk$x$O#c{I{FxkH+F=^#ONoiSkRzCw^fvyM> z`TP=k`z^N{k3|jwCI@#yt8fxa*3&)wi^rE`dAbA7?bdk9(@x6~WF_*n zyxX3uSQfpN$etFVL}~EwMZcls}Xx05?W+`7gdYADzwP67Nvk9+&=84 z3b(*SM%t=wzQXN*MVJV8vx)H5tFXNr2vc?~jf7g{LQ)(ZuaV*i3Huj{SC4;Xy;0n= zg`6PH;bL1BYP7>0AZ$Q%~?yUJk|0cq|?!C^xZy*TXo^D2i8JdgKZi1MwA zWDYA39F{M0SibZ;&mtfveF1S;zSN77Xl=cnASU8fHrCA}Z#UW~;F~fq%kjIzkjJ)k z<=bwn)pF7*fXx?yGJ zQ`qmHuD*M?!F>e#jd=?DeV6#ZWxsXZ{)PR9b}P<)jk>Dr=ZI%S26gpizpmZ9E%YzG z4D5%0kN-?cCHDJhF0o(POqu=S=E>|QUUeo8oXi~PoU7r$hVx_&v^Yw8!o~GxKyJ{> z8qU+f4{2W_8oIKi^<9Yb%D=2~ULBtujob`w$sUaYBH5Ja{T|<7j!+q?Mgc8cPIq;U zcG{A5Fa@oKF;)Qx1K>j%oWMJi5V69(1~~eEx=6myG*S3L(q!gId*Xx*{(0ntL-Dfd zG9N}#xQH+|cMgUjKerl(5VK%`{D6B=$PrAUpa$&mV0MOdU_LCsUD%H>6YiD*h#TCp z)G(fjzL|6rw@D|)g<_yWV?v5`iYv>G)+`2E{_F?kQ7j{@C) zkWNVO^ksOq&R5|{M0nUYJErUJ_)vGDEe@JCa?^1(9OfNY0I_SO`54OQh}mHXrJ^~u z5Gf8JcE*(Ex?<&q5!C2Hk}6es3oe*DZy`FDzD2oLhGGZcGhSDOGPujF)rBIGuVM4D<~RmvG-rS;_D7sr!GWE*kSl!h%KDr#e&DZ>K9=_v$1L1$UC%GrbO3lA{ZY9+zomf4ql(+(iicuv<3T z5WL6Rh8NVso0sd6YCIdNjKdbXi@6WO2t-`EBW=C&u=Mlwl*{NJa*MqKs7z!j=Ek^s z%4KvL7dTd$3REk@dyqQyP*FV;pZlmzg5#2+1N+7o@;Q$$c3ui%J4Yvri~3I|7UOw;v@dNcMRxSkm!eOo2B`+{EsYlCvt@&nCH-)4F{4zxGcnkK zOc$J}1AfeLCKfmnB9IYtj1@6%c^R<*A72xd`d79l-*g9r(T6aMc|Qrgs>+yYUg(c_hkglM_gnMI4S(=+@ZVLrb{ zVc|5iU+$w%nVnsNo#tRi@&;otVm4E@4y|dg^$f!<3cCpf>l0xlcbR^B4QB8KlfU{3 z5-DCnhD9c3k`POO+~DXMuKIRcI@LU1M~b|EQaD_1_^!3nz-Jcl;fo=~ z;4A7N9KNOw@>BbFL#k+)GJ8X&bg#p+?1@j||5GLL|0^2)e+Bu!y=q`4{%_~a|Hm}^ ze+>Cwls}>Z% z^Nf#7sND8{DKeo=dI>V2X{wM3Keth20=>KBDbT2x6i8z!kXe#{6lg1x$Ny9c+*PE2U#!aG^*k+9 zS9nDV9B8MMz&lCkcTg1=*;d=L0Ed*Hmc#dzG>TH!B8 zJGNF#jv@X&yHw@x4nEdXrOv>16x@ugp=`LojzdZd1ID&~Fx6Pb_dYz$Uewd97n{;# zB3^iZO0{0}Zw*96aj$@G-fHc|jT^sFmBu&VTRPF^srJDE^6|N?K-wD1WS9ueNo8BB z27x9(4#!;R%hZ+=Jz7!-PRwFb$VXBjo{CZw5@MAer-@bmbCptl15-)Df9 zT1C<3xZfn&LKcO5gd+k5H|ODbWs%u`n2^iyE>ql}JVz>4LNR`fr|`5m90zXMZD(mq z*1^;~H9!aWcg94(hcvep;lEds3q>E@gFSVFUSq<~qc_BkW-V_n94leUf(2()Eyh8~ z`M576zND@WED~Mqh7YNHEAc8TNK0Hor*h+%V2Z+qziRbw4WA|RgUfbSx>$yPoMX>g zc%OO8q0-eA_?F&%jyfAC`9*P~M%vk_jLol)=LK8fAA03(X#sqk{=_hMNrK}xa5=90 z=CS2hn)N>vU5+k7?8h0`O(PA&3mK7Rn;?9tIjpX(_I+5Eyz-L^PUp5E^_s z0zN&JIERwT%D}G8(+=2O1_qef7FxlWY)9bV5Ag3S{JT=b?|*vJPq@W#2Ja!cOlwvE zK5IV5Z1MCWx4CpnYXmF5dCuTmVqkZ5+psf1ymd*WnwZo&0`JF%lNUeMZG zmY)=`bcF79@TNRm89*~^BK;sfko?hPGPyJvi{?j@b0L}^&p<-miF}@U zf(%%YhMQorU^qjrPap$Q4o>#+R(QFIttdIdB?A?;u0l@(-6`h!7z3*9MIp@=2GCOt z8dwgNe4bY&+E;(&g)#Mi7VzIa==>JY?mek~X&kuTRuQJU(E^TJic^I|X@h=_zz_%C zGp8Q_YEC^1(pT3EM}E)GTHTCS#4svl+xaqy+?@?$!KNaVq<i9BkS%$J4)*I-bGv|BLZ|3~O3!JQL^1z&Db| zGeAjdfa4k5%x65en$URuv7;|<%m0hxNjIqDSw8Q-7|*;W#m4i-Tp9Smv&48Zl%#>P z(EqWi&v?RlJPmL>+gkh|j>l<;QM#Fq-Goy&iam?0-*NQDk7?`#;-V{~$Z(lBPZ%zL z9;;;{*=R{T^wC&<)dJi#O64JqCDH->6PZ{5i97I|ZIm!#UIVBsh&dMEJCYoC0C9aA zdm*klfIo7M41Vnw1>$-tNwqLaP_HI9B2N@qgFTUiv|BJ|(%j~Zv|lwyD`2EuVx+|h z+o6gt-}ivD_~|;H@N;M+;ith|fuFr&o{AsG7!^PDTmBb+_*pSh;3p5pXmO1UCLbrL zT^+}T4PJ+pi; zz6Wm=*N@&Mz14O}aJ(cqeg|Matzj|3-85T9^Z4lk^RFsNV(5dq5tJ(jB zJbS-EF?p6ZOCHMdX<~F=DoJ)olD=x_BhUIYppgtr!@InV|Ig%^HvV)Wy-`&fpN&m& znVu}6+r^~u-GOgudn9Rmoh;5$R0Q%WL*8l3dxi7rK^||J^?F2tI91U`Duyk;POeV- zPpsa5kE_Q;pVu^wwxao%+d7hMMQDh^?K5t9R?|i-MI4#q@tdQeCsS^mj~qk4#@RP= zq`VHMwJ!$fj2Tl%1B_V#Kcw@G_{Cq^F1k$Rv9s4A{dpgVJ$5R>kij;@a+RsHcLzl> zJyMuFy0XcGcJ#<%M}W%Adhv`CzWtzXNQPs79VdDP$ip+*!_ausjC!C%Xh*z$k3S86;@L{;Sj<0zQE6^IXeKJnKjJ=jxIvd_%+BMJ z=mf`QOcp1KjKQBL=a6w&;o)OutOIXsz$7RE!{LAyvC*5?g)SRe4PcF@~| zuAqJI;Z`l*im}>1dykd|>2?G;vF=bFeuOQeG_|guX1Gp0ZTPZaAX{mHiTQbd5Duh) zYX%PF6#5qoG4OHL0r;H(P2mkDT2!63EILcB%ES3}7!OBULNlJ4_A?Sa zqO*`{ukAOHh`j~$?|xOr$B1x$;a%_wB7Z_%*}DKyvTg*Sr1~HANUVj7>ouL%ca4-FS5@ScsrdR7OS@}&lBRKfd=(sKCW`5sMYsSVhFbhf>|w>^^9 z_i)*WV=uCGK>w}bgq?>2$XjK^G}&9_S0ET?&v1N%jh=Z$`#k%nAlka(m@f{&F*lw@ zjtsm79GT)?5-#8OD6zk?+@F*C`*W(?->iS{Z!_U|_tXHL(%FhS-toT3Hi$h6CCThE zbf^0QK_4$N(EBN_#7h)^rS`O$o?L5Ok8M1>c^-I)ilpYtF_Y!@g=cF5HU?H^*!67*VMd7v9W;`;@1`yDMPXj&8GaOuEbOgx zzS8kh9lX-9BoMKGaf~Ubb$0L?pTh_ z9Zl-U;Q{YT)7R;Bo-+7wi)7(y`Or+b^hqr?h5`X1D4x2?QP}EQWG@B~92d#Q99H(T zxq3Pct1h*##cB;jNdqnY>Lk|ESpyE$o@ax*WK%6sz1?XqrP(lCh z4UGRn<*e}t$QN$_=;+MUFPrTC8;{XCH=%%-?5AU7_n%q74~hxPe|k-P#F*3y81dk` za=PHI>ZwcnFj2rYFdxq| zBD6*5c&tqr(`I_!(SruX(w!5$IJ4d`fl}v?RF?oWHZ`_zyvJD>s?*e@%1j`jyA}! z^J_AHcTgk>z5`~mEfHaxID%o=_$4efl4~mWz(mAwm*M^=s?@j+-%_M#u(#gpvTHYS z*>yxjxU@Z#{fzO{4sVTz@hga#q4YE~T^);p=3YmxJXeE+YB<`3#tFlDH(5z)xPg?U zGE|YDlCBR-JMC+RS6>Ypj=g0wLfTM~cE2irdL4A5XJRC&8XKv@K$@%@rO17 zQ$L-jhNqs$tA}}~L|!=LN#{@|hSMu@dD3?^S;=@*z1Vq`Dld+MynwlGGFBB9?^mT) zOB7*2s<6JkkPr2Iy{f12f#;l1@r1;Ge|aQOB8B^9zJTAXtuJ^cWTu^+2o42Ey%Rng36iY}9);n=z2 z{sT;?r#dh|-B~ib1XiOQ3ppfkgXfgcWM2F5)q-hY6;+)fr3-_Qd~F*W(2$zSM6!=Qfr z(4>^-#rF>@LA6@y%0B@qu2U#;<;q6Hu{}gy56r74@}@V!c!i;)gdD4XBy_FNBEJ23 z+32UcJOPH5GDkss!g4QZ>fT4 z>cR2u@ifI>yHtNV2l{+}s}lE_E5t{#bB>qz zSc!#fRLD9Pb#gZc6fh0_oEUBk+2TWfq_8GIEr$@p^&i3vcZt{Ml}11#M+q|3<7%@H zP_;IPcvF6Ws>L1h;?w?E?H;eVJEqA3=Z#9lf7qsW6Tr8?T_!ZWv!Iz?i3E*iKt_90 z6f|vUu|6Ue>$_5a*DB23FV~kBYxT+3Mj~%EMVMOmr&(cSg^?Jc@ zm6z{SC}F+sTT}3|-&5A>Bf7n|FT{Ws91cxu2(@_uQST?dL3B7cfIaZk=JVr ztk*M#!Fp}M^Xg%m^?Dfmkg8SW_4;lQG4h0ADkI02#K6sBjfVh7YI@Vjri=@zcOnyzWavbK`N6Vy6}0 z6EEFDVSH&=J^irW-MI))6YffH2Kg(m#g;R8Hzt^(%Y#a(sUypG)fbVR1&jn zzay)89R#@(f=ap%Xm;EuGq!VZu-Q2iqeFBaOy}!=?w2Y&?fxLn#cAdFRD!H5EJpD~ zXYe8vzIE=Mt+k5+kS!r4$h3%Y9!5$|smO6DML4sphvDt5>~s49f;opebjD#{;nKihaSw*xy!){X$Lx&9NcYj_EwMja zyQ94q>r<_Sv*A>&wpX=x%8*}?9x3iyPXKv;l_{70wugq-W3hta7#(fNx|s& zzdDsJ!ySg%Z!qayvH;@|BwoJv>c59`#H~==B`2aYCa!^X(Z|n5{eV6$63b)aXijW@ zSJ<_k9#85QhGT>j={As42Iz%&9FiRS56g1|4qq6Q+qZ3i>35n!w$fra;cHq9_v|A& zUH>(D%Wf=IWG<$<+&LMG#xsxHgb?Eq1@lE2Fe{lW#lYTt_hbb3`E|Il^seLB^EQO1!3MY z${3F77J1PLa_MISezgs-FZKL?hlqU_G0!Hh&mwl&3iXsR=x?Hg|nhH6w&-}#D=@7!8KzVYh_`5NUQ zaZF?4cy1jLN0EU7uk&Po#D74OAv-Ul&!SQe3mod)09fDt0h+v5h_E3eLS9)=Rl6P_ zJN|~p-p9sR9^d;u#{Utc^&tDemqXO6DDgd(P%CkX>Wmh!$u)?>=bioOp0*JEJ6T*F zbjF$Kx(UEnH-rTTr+TZhcq8iR%@X}TaP<&KtC3JXmnT2u3S9-hiOBZ#Sxu%d_moPZK3X_(ug8G7V2(8CU%F~a|~pg z`aTz(%|-ii(al_cv^o{Njz#ey|3of2h>ON@(YLth_ZBRQDDQ0rMbo)xJQw|!{)v2s zi&mjluQD^6rq@8vqsXYKRk`L9tEuJ@ny|<>S5wV1YiNVzsfEgq=oy&-EoA54P~Y

    LJ<4UtY7p~grSI-Fl^8w%TG-8GU zd9I{)JcvQlqHMK+y}-G|oodNsd9ouxRAOy_#$Y0?k%2B~)8OYwPecAulYT@Q!ph5s zcvXNb%SK0kuIu86e_~eP;_Co>t5fOT(%J|R^tMHlXnsUrVrO+^QsiN81oV7E$`0%y z|DrikQW(?gQj$leM4`T8hS?6Jt&<(^>G-X$xe_j^6*c7rs?{I_!Z%nTG?t{t#p`7! zd5i)kG9X;!lL5YKTXs^K>@)bi>WchpAdQ_oKYk%jA-@IOnxMVYNA^vd`hm)^TFA=4g&9n z!DT9OmCz7A9{G}Fah)tDIHp$rln{A5_W3T+c6cl96PrkkS`0&#?X)}Dp9 zv!7HpS+RJ+jKgIx;II`N;ZO&?z>$|oHCSMOc4frUh-BwVfkst$wOn<0@rD|>yB#9? zyq?on6i6aW6CWUbYO!8iNc+?+`oK)1Mo@k3h(yi<>^FV#+qtEO`94+&-)i<7-S&Y+ zz08aHoj>&hOg+M>@Ay+yOx;$--45bz5plu^am-3eBYI&#r`B*a2PQ1j71t;s*Yh5K zYlFUzCabSv6j6&03&XGJkcU$t*}AJe@9KqvEF_%0+ymJHDv4VX(9UEaEn=d+qcF%Z z_A!tWBUNm_9{Gkg zv;~-5qoSaVT&x}$RQ+A9ZcPlS>e8x0wHOj(U|l<_DKN>#1^wdVr0i2=5qaK!Hs*p} zF*GuJRn1W>%raJw6vOU~ezNfUifOg;C_r3^Y*#R5%=j2F6E?gP^%V#=&X~qPKl}2Yh&F zw$F~z*}CAVo!%+w#O*W;v*?yyGn%W#R*e?dX>|i|I#|tSxSD7#KC)MTus%BQL@3BU z44BpxT7ty(z36eYd&o(XJ5xog_*`}I9SU92mQ2l+Au1~9OB0IJ5AU$=*IGFJzu}ZC z4X{D%xS0B8I_`NI|o$*=p9;m7;_ zALZ|JpuC>Sj}9*Xoc~9EdHrO$`w2}7SvM`Pv3w8T>XlnG2a`z^TenQlt`2kg;bFqD z1mMdz1ZDmvu7ljEU-u>+{}ufc{dsRX&Nyz1a?6>5@wqfeb911&QK&6v8tp!x>_mqt z-Yl^}6-)_iP#dP8{nITz;aP;wrH`ga8c+6h{`d-We$w5&qad|R6n>k$h@!91w? zZi%5DWKjxE;)V9CgF5RDeBbea(SFBgwV|>@$v9|E&Y$u_ehbYIJwTVYdT1NSj11wIAiYGdtKfD~NjDnV3@M7Bm3HOYIesC{pL1mEhDH@F-*v4e7WSVPhF zX$$V2?!-GG(vf?62-PS z4e%YmpZv-8OQo=R=kUePkQ@uXPIrgf3AD&j!^Dc^!iud7X4>krrNpkIaHboO)jLQ5 zymFJK1XgYwlI>R|dcVa0meW@5MGIP>yAxmO$wSP45aj*7Sh+8Fm8=iJD1|+-Sifzh zV*P#=>$kZyWc^<3uB{)oU#%&u-y@K`rn|O&=n+wU?>erZXC&L1zoFH^f%um&yr)>g z&QRFXk&5Cwq12)tEa|D9JtXE?SF^wBQdM`8_(QS!V;gdSVg10QfbgTtfZf&@;n}DY z(b5Wk)ElK@!7r=lN?FGS+fhB9jV?qN)~Uwq?r_?Ai)D};5W~0VG$4kMf9z)f0Gtc5 zEkvJu)Be#5cUvS@KGTxke%*i} zx@*9Fq_4}+0(Y&JB>Of|H~x#4mk39ube1rG@|t@5SBB&(jv4iPxBD4z!E`t6rmaOU zm`Tq>sB+JJS*9!B?AmK~{f3X8(YTr&2^Nr>4-%0!SB3wqmyw|tsS}Ui^=;`u$a4u_ z9jPV%B34j5l5Y1FPlMtnr7N%Y0nhwv~=i-Uk9@)-r4(gI9j2rNC5zb~Y~_eB04^ETg4#i&Cs>&5+)AW!HmK%28{X7>P}**&SuRct>Q#-=j%varcLP4?4w z5{gJeu5>fGX6=ax`i=_vjtTmXHQDnFrsSPAz`s1n#KD|~Mq%^=SErqnX3zE6yl5fP zr@)ZQ2foCaw7W+)eT$j)I~O(IU+jldjlLx2F^X;}Qdhkh&Stu|JkRKVX#r0>0*m=6 ze;>o|cli4pelOtf1Nc3gzbgZ(cqa4r^KWX4|JX%s@rS)B7Qe4>O#d1$l+_qm{JIy* zE&hcowD{;;FL6aW-$jNQ^zrts7D z55<#OL0gC|A0}@2>#P<|C-UIS&E)`-=V=KaIrVvc=GUn={OV!=nX`XW2DU{D?HepYZaNT&{=}&+_QKfa zQ*od6_VHh!0ssNf@1#J#JG2i+f3}!wKIrA8ewgmHQ!R_bg{-Xh^`dVknO!r#;(cQVy!(6Fn4_a$u&JC`&3hUw9 z)VFT=e0%Tn_n-3qo4<SLE(6%|F4A!zPrb z4y*5#Xs52*0lBju`$lW-)CO z$@}C*WU6PsA0Gr z3OrxJHWxd1uAB$)*7mIm?cZZ8_^#Wvi)7FeyuMN9L}a?onYyOB9yaK#BjIByewabZ zIyWkkFEkIUyv4;tLozm#E3MFH)RD`PckbF$mx)`T_ts@Mij(IFz@s>aKBUI0yW8V6w5qKW_ zI|;-A)7Zn_eVUWFIK;|GzYITq&b=_5gsfjpt|hsD6bEQ^4qeQK&q@gLPG<%g&X{CTlE~_?NeqQ< zhdg&76*j_hJ6FJ`x)T6$IVar}Ru-13$d`^7$t69mZ>1T$zI6cDTjWZ6m%8&TEh`4v zv?x!;2QEvX-{F9N31=*d6FagfZtTRUWW?BS=q;{Ii!ssl{YnDd{S5qLeH>kXVoWkA zP8yBEi?!N;uzh+(c$0KK$nVjv))pK%r7k%#2<^uDn8o$QVeD@co)*0W5U|!EX$iR` zF?;)9R-@43(FwW6O_<9?TJn#C+=L=;eg5v_a$GFFi=Gp9klzY&CYkP9ZKdHjmm(<1 zMKG}CxRto!?4mQfjhHq4E?IDYxSaE`x@%AH`u0`QucVcHAJS91^i$$l$t zS~^VnrWkU7_Kr!q>N|yJv+SFrWakhRMQ7@#%1-ogUy|0Svg{m2nhKi7K1!!6o(x-3pB55w!v}*vNVx)Hm}izg1S(|T?;oVQ;*zwO zG}+mnj30y7(PP!)yl2mpMxk?X#f_6D<-xqpr|zAEK8hPB)s$?Cke&U5`!ImGmV_P& z`aXnlJHLTR_IyOAaBeYw&!jA&7Iy*(;fFSscO)h5~@lR;=t0pA@Ed)|Sr}Ke2G@V~Q7&M)(oq6Xg=XoORrzQI-38!N3kCM*w z98E#A!R#E2UoF4~ct(w(V>&h@m85+z%zJnOL0|3>hZhKqKF3C-qt)A;_KD z<@@fVq+d;w*QPZxx^j(qYJ|~#Qp!~;%WDexZeOil16XDs=ypIoqpQ$g!~;c&$ctkn zG7)aVoTj zV$57cEB;0I6r9z9yvum2l77jY{3n{LZv3;DJiCDK=22%u9q(y!KhqM2tt`XcU;&6L zC9?B6h$$(5Q%%ZhTol`2OV{S^)&@ZF)k|r0+K?WB2;V+E2KJfo(0N{}gslZiIStwyDz$5l#BOYyy!odkA-Oqnrw{vD2Ww_~HoGg(vJZ=mtW|ATZ)CgD&Movf1aX+j_c%K=#x+=gSbRxBQRRz6h>yX zrhi#BaX9< zE5p7CWhx{)ge4IF>!>~u|LX|rK^8)q|Lsk6ld=hGsGI-P>y%9>>!=?br914ZEra5J z0savQLz}xDrPI)>!?$OVq&uP`aOZkh(Y*=9P4!HvL?lm}gDuNwFOzK3NODak0V?ZF z|CBGm-zIm1V&E-l=#rfi>|0S$4W|bl!AaQm%(ww*?K z%`hqZR%;M)0mkfGqik!<_5!^pgKS)XEqIo2p;y_IskTm~xYHSA$C(;@INJ@FU>>_C zBcW(LUr8+?86>$-c1#1p^K682TAlAiou$VR!}BGmhXtKWYw$z$7+~sDJ12-AEs)&< zi50~#`zf9xBPWs9i1ewdqiA+RlM+3&IgrVkt0n0_F~{l89H(f`d5}-6RY+ogAs_bc zK_JH<df9i+(_iLDSL~0|jp{<(yGMm^?;;kAazkv984a7nF zCTs#Kd(e@JeNztq$|Is*&2kx`q?-RT2oD+5Me3UrKq)bDJe`lyU!e0*_wjT-n*J1fCAnuU<3-)&rAt-I)dknTF-FNF>h<$4_ey`pVZIZh|fM|~-AJK5=G4u!SJ zsBxj>XE_+BQg+TP&%)|eCpP$PoW=&t)ipNg>4)6QoqBdX+L#JP!nmkZ-)B*zOfq+a z%{){({P_+dbmI2NpxI?-&lcBK)%BAg=CW!achF_vt9J;iwef^i^^d22X;mb6;My#! z_*tZzp)eGRLzR;FXf?VO{HvMp2>EI?aTVx^ql&4X>9kPeD3WOO2ka~Dow2k~d!G(k zs0N4hI^jR=iE51Q9|QC7^s82G>P}Qe?*B6M=xqrd%;yd|Jp{a<2DIU67*auf?Vui? z;>wQCtNA4aBb~=QGKc_w$TIzl%Oa7IUYI7YNo$N;6vZ$!-wsBJbXOh-mg+fRr=B%< ze;{u$))Q#oN3rD54&WXpr7f83bNAbleKTQNT@)uAOzBTmg7(iKT=LG?A%(n{ z{`q%aCg+8l0L5cf{5z`PCSqEHHr8Rr;Ena)17c%sR3S_jMA$Gs6XXFnl|kkQfLw++ zKTIVF`@KfmNsX?5A}T^#qpP}B#M|gT8Dj3%^UKsz>ctg8jEcpvxB^ly)S`V@Kj-Hh&puvYKmFqGh7~K0);bo+M!s~e`$L|P`VcUZ!VcZ4W?E+)- z>yY3-;){cQ-JrvKPqJzW zI?RJO9a*^^iqnAuJQorN_=pq`rdM7=7)(iGmL|Xq$<7b1Aw1jQWRK4+SHkuyXWYJj z@3cMsNbt1X*e#~5iT=LZ!}1EZ2j2O__TYK<>VFjW#!D!9mDV-rJiV^nzoc4g7l>hT z*I530iNv!dalptX?hYK)lFv&z_4HmnI}hF>=``W*7rK!==lLo~hF0(@D2n}pqW?2& zzcWA8b8-8I$M_i_``haL7|ECYN27dyS)~%kzr#vW`9`0N(;EE{^Jo4`KzHIsehkWtZ@I>sfi7I@$Xo)$GGH=W@+i zTyv4X6VIuCd_j(k7w*vqAH}oi=Ux4*HmoX>*}nLG`m%m|P+taY08w3MwTJ_Myfp#l zWT`l;SmV^ccZvi2GA0Q)$EOwXIez<2agOH`ytqUy`8BYxV^oRGs36Ze>yVzMoQ7p) zF=<%BuIq({CEaxu<$q||bNhNg8{akj&pN2TIY(*XY228{a>?hLuljsp|I5EFp8tKF z`~6wY`Fx$r{aywCPJ_RA_&y1LeeH+8W$=3}{I!JdkKnH!{K-ILufve`!(Vq;+ez^E za;eWJ-SGJil|UW%_j~xu0Q#8;c@m)HRQP)v{wx>Z561t&MV~JQ{+)5LTznVpzS-6$p>a_apc-IVAVBbe-3E8Aj+{{ zc1$5Ao+~93h58dI$-ebSn*4UYe{@w|6NLpF`)%i)MY5v@I?*Zp%`E+C8k=WM-Z7^N zZG3Ima$v->eCrCZcq)@a&cs*Ai56be0$kGz^z7Q_e*Q5v{~ZU+u7CVS9wQ2c{8nEQ z#{7OG4>|!jk6AkeUZQm%M?JkGfVG#wLLh@rVOx!ZY}Vu{U|S6griCOae~+U(0b6VG zC#`PHM+2o^IBIIg>}rhGv*eX(tWHGwaYx?7H4m6{WV&vs`3LzTx~nkfz$?_$Ry-wN z#t@fU){viL#SoYJqG6CJ#|Y@xTMKGb<{CpFQ_ac`How?ggrIc~How?Ne8s1BED+`w zf%lXZ*qhUv+#%o#J?V?7a%kxX>$^tTe$V3+vCS?jf;Ot%fY5x5F~cFe!aIq%W9~WXwJbLeWfm6>3q&Mxl$&x={43 z5#eYMpgvrHv)}>bU6Sk7uS9FU5|AHq>Bi?4o^{{&m~pBFZ5RmNpyBii;f~K2^2T~U zG*z)bjR}kIYai8Qe}^EQ>G#-2>4kmNlWZS#mTaViUDR1%ZRa$*sEL0dB!0Unv>xQ} zAE_^nr+JxFTeFK=x=pi-(h0k$>mhbgpN|pOZ@Fw2^~>=PB0{^Ux%-%ihWl-z*w8-p zBzHEFo_0nLuE#Isqlu74)C(e{S^$LisbHHZ!A$Ed$UICcf3GjNsq4U|)cRPu6XckZ zi)U4J6xk}F>6f)C*-t&{D6;kovQ;`WTG%S3Ash75WtaSW%%bA**(~b)ZRO3Pl+@1S zsQYJX1zBN@+A0Wrr)S6g`Qv@)_wEk?`dyMAO22dRgXy>0Hm2XOZT}Pfj@?n7e)nz- zq2HXRH2VGFf2sS@Z^Iq`GyRhP7G-3VnbkU)6%s!$P@EUrw9gybqTy=N}HfgRv033IDrlXJgCPTy(@%gnJz zd1hA?)CDBun!DPfvc57a>Hnq?itePtZ4zk{JO(rYf04-qq@BrSE1cHL;tsC?=VtTR z>WiTj->C)tQMWHUM&U&UnuENBA9M6mZB@w>#Bl``IQ9ZP`lq3wMX1fU-;B4J5W8Sq z)y@mF7uV@@Q^*l4b+4giMy^H4%rz@jU_6#8xu!fdR(8gsYNjw@zp?ZR`L%?8(yW#9 z!z8m^e~Q8e|8{8&UJna2_@nba4LbUfp*ByL#{@qX^oHY?7*#e^B`k?wA43CkWBIy9L z?c3sEnP4Qz1fwkncqK@~gJ7I{O|Bu!)vu7#e_=2SC36M7xB=F^)1(Ypj^QKZHM*3U z)>B?3))m&4vFoyV8)ismvk2L z&b8I^tt4O?rNLw!SrI%B-V4v33gP*Q;Q6i`JfBjem9~05)=B8_1{KoP=$uzcGPxU8 zfBuvoi=VUy0R3m4w%~fQNXymG9v9o93@P>|lK!4?uNBK3DbFdGriC%h0O~LfByGZag~O^$Zq+BU)|6N@OJYzDdtoC?A1X1 zwXbQDhprIHjh>c2m|FZZa6_AcD}mAB@R#Fl8BDY~`nA9$Km00BvUNPP4|B}V+#>$t z#9Ca%CTiJ4E$5kFdT~9()CnLxBSiclF*P3K4(w`%tgn^Sk4MqA(}3UPcBg+Le+Sm! zP`&7yGUtaX;!tkoqF2e!VsvdT+JcL|Kt)$pp}qF24Z^pD=Q-$PaWRZ}_W$y)^Z%jF z{r+wP5K(tRfB!fAm$&CsSra;jER{0~&8|H_)7iKeA?>V`ohGuG>K|oMvO2&D#G6`O zl@~ox8*8n8#)kn3Os*>?*XrTqe{-}1t%fp|(|>c3vtd9VAVnp!Lm!vnDxCdRphHe& zd?A@%IFg&ty#~2XMNI@yhs8C%(30$x9UagpN|{xfW>zZGKJ{HJIT|ZYU(msrT{h9= zqI$AZs-)AUFPJ1j;wUz`vnb8SqEPI9MvqFPMXWf_T8tZm#XSiG+0?F(fA4K<%uZ>f zvknXhA!d6)JbDh49S@RMyJ-<-Wpot1;W?_d%S8d(b_`_O4CHGyQYPCrp?9_H>A={2 z#&=YWh^MUsag(DR5r{B%i`nTd6wbCNZ4bjRay(u=Z&f*T8{}@+cp3T+E`x0Z$6%7s zYa16g%A51;xrgmH2FdfDe-`mcn$ji3T$5DjJ4trpBWce&_A1Auuelz%awfbG1gsQ29?^Lc=--f`F_fJS zTe>C=3CH+lzvFniCPqAtH~r&ab&T@b-i_=hE8BC+>^JoCyhk5If3}0ZIxX%mZjkqr zv+Jv%7=LG-h;P*TLB81?yB5bm@_D8*t02wa)D69Lj{Sx~o;MYQ6JUSt$do2QQ-b$3 zKW34+cOgA@2EKEWH~+?w{>}f6r*32b0|Vo58&IE=#rKf!mrb8LwWMxK1i|fVt7Wb1RE8Hbpg{+(f{q@;5r=m}u zjK%5l+GiRWOLl-n^$V=|{LGI*7F|g3oSY_cJ+kNuRg8QQk{4urjQgy60I4G$i;^8l z;i$~N2$(w3Tc7oPY(2a!-je)1wjn!yqz0zkuqa*0RqiddfA=QB^51%9r=;j?dpy0u zbpijs_tc+wPyNbTeISPvB8QzGJ(WU2k-E#y&uMR;69L#!84XpHA%!M)kIKaO&09_O zlQ&GReWq4<8}Ol+snsr%vj}#CBNlgDEuhT^OV{yH^6P&!L>f6@3R^Ztdxt!62V=1x z=amd#I}NT_f4a8Ys7J&cP7fY01H-RT6;4F1wc^a!tg5&!3wKBcojJKzgtZR*xGedD z&tmbTtNEbdPCQWsem=Nb^TvRyE<0~j)9E||c%bq8%D}){G{v$Puh(8~1b|#0ibU}k z9U5PppYFQGmmk!`yr+RaS4w#Q;!fP(IN0_Dhj;Q7f3dx06q>3WW?X)StWhB0JyYpz zkF`3ZQT80EyUhr_?T~QTAK~RBurl(mWT_8iwxoil=2Z!9YHk&7N`3C0qHy%nig_dO zGhu(}byKSYym22jg^etvngeD-P3bUsALyD9g{vaJ{yuas*34Ma8^m}x@~i030T};_ zxftAye|-AlPq*>3+io>Kr|Cm+#xsliDCxV>gmo`P zY=n(0roY>;yRW-}*_8KJxCNb6xobBz+qXuTf8FVgqxb~NxBcfWuB(}@Jr=hcs}3+e zs2Tl0g;6t`}h~7ITTRaO&7?6PD=x*_Gg6Pz=&yw;D>6MULMP61sz>N zkTQXP#RO9qP>ZK994(}KH;RxQb?b^ENS1(bj=eOUdAO1FDKK1R7&Bpr(P|kEvG&z~ zbRvfHTq&9>T=X_`{)U8nZyKbYl#iQ=!iK3 zDBojy7D+YboeTph*V-1hI^DDiCyPDCh#9DjhqA1Xfr+}yeP#sA30E#LLw42^1zmgIgsZex(Nhf%{^R? zYk(ktn9v`&eFng7odh3uU}La8e~m1kEv=c~Pm4jiEL$lRWGv?UmgviM{g&6rU6AU1 zr%*)G&tSnW3C7;nWw=AeW(eh0_4fsm&Xs|3*mBRau)HOC#Q$vQg5=@bG;`Pv`YQDE zzQYpnzTzMBI_TWTykt3c>1h!`&e5pvz6Az!^R3eW#4ajD;7fEXx-ExEfAc#Gj*y)z zXtlEDlPc+r%7hR<8DYV`UMUdbyUKjAp`dmah5gmjMR<{>zyU1sk5`cI4gQgZS7O&L z!#=9oxH8#!GTX}p0o1Y&cUAL!jiJ#qquTXjnj6o>N@OS2OXHjgv}V~!{nF&O3xJ2; z>F@3|$DDVTSZF_Y?GDI7fBU%8J49{fh#*Iy)A@pVdpjriKvMtT)fIgAk=+5l+rwo@ zNGL+q`*vRG5mzQJ;g^*{xT)tD8UbK%ZJ1d1Y802((+hfBJ7U{W$o|k$Xj23oqzWYU zfgezXX^WwNzAnRYn!y)HIH49y$`UFI2z7ZCYA&IO;>M(WLxj$ge~B_*ffGxP)sbmI z(1wHD*Wxw+d(n118}53Ic-J#DGTC#Z5_~*#_Y&^SKXo_-U3U5Ry+$}fVBs(hBTS~T z^aM_UpWoP1u7Vt{l7cci>877w!?^^XJ`DjXtbPpzZ_kRW6;IN)--}7QORqR+hSYz) zs{p?gLq)T*k64Y*e>0t|b!;n%D3tWFw34*OdfEB*1JK8eZ}mD#Bj5L~OKRt>ES@_a zdqDU^K>u1_`|vtD`Y|AS_2f5D#a$gX?Nfj?Lt;&?^r}R(o>k1(?JGt{a!1>g%-w<*X0{~O+e+2+7R0+GDc8_(cTGS_?*z3E zb`K48uu23*AH{MVrJBd;ndBeIpX=and42rH(W+5A4rpZe_j=+^LQZK$eO15G*KPQx z{66}83J6|J1>VHSLB z#h$j8SsRF(lC3yoGolqto>Fc%+E+7ZH`_7<;dVs=9k}c z6i4`bz?C|e=yvM4QzS3)MO=^9m*W?{Eg@T>;XJ91#l}=Rf-!Jt# zW4@she{YhfkonC1N*~m%$-N1gi@Nwr^4GNzm7>AGJ7P$Y3YCvtfMUi9D-VLouER7} zL3M3~o?~$GQ6sypd zNH+Kd;VdAwkN+ztCXg3A7NkGEPK@~`ki{Lrf0S?GIK){Y9Rwmz1Pp0~-d1gbeNJ28 z#$S7}rT$Uq9VJ+``1%)KlD%DdrTa?q!enQWfpfuc!{E$EO_zg%sN2w!oG0r97ry`^*Loq*y2TsM`AS4QhdVGaYEBn?&*-2hP_-V6v7j#;u6EB%t zo8|PwXl)Fl@C5r!V8&BfrpxZ9#3c)3eiHD6C4XiIvSeILn;DBCY|YsEb79SRf3+$- z$;WsK=hUfR(5czE2kGU{&v3i=LX$E#zDQE$Ni28ib9R9zCe;;}L>7i0@v{J~kwFoQ zUV9N0iMGWil26a6CS(LWrO(X^(|Ok5MK?K@m&M8R zC~gF;Sxx+sKP#2(e~_kkSLjr^e^Ddq9*a|zDW{*bbdBDWj#?vI8NcN5&)Yasoeo)i z|2Z2GResJ&J{5De2`@H$*TTFrKizR?p0ffjoqgZP+imJi;43`^zmW9X=j;bw%NDEhb?FzCL7e-hwp`<+NP zr_8`B14G!HTW$#JsDAkIO92uP>-r|t_uS!^N&VA_W4=>@)-s;}!M_^81h4J4bcOjA zaBrnI@MO9d(U_XX$Q)fDdxc~*;k77^wJnat3f+xgi6-SZVzbhzK>dao6#~~Ff>hx5 zaJ~T^{cYmIEAbfRxdZ1Sf3;*eJ&Me@$c!mO%~cDXfev8Dh$qy}%h}v#3=C{)Pc{#^ zM&iwz=ql758Gl`mn}8P`)aGR4^WG73@=7&v=^_81x(uCxy#-BqrjowwggW#yal{*s z3Dg;K#DdMuaVI?ZrO545iOqAA=2ZYzGn%~UT=A05+Y{rUUC{Vye+qQsd7VUYmLc)9 zD3mWa3~qJymzoz&*>N=-Po;ohDts&;Q)+!mbL)Xn{Y^>-d0qy+mMS#MpY27{>@c#W z?lAQN1xhyAkpi32v*7P>A!T<7G>9)%bn3?C<>b=m=)jwq-AC!pRV*UdBpZBmP$;cso&26uIVj23>PV+b|`eC?VI|g$um^Sufa{2Aa^Xd^w@W zTbC0CV)2y&At8dkURWjhC$<)uz0`6~&b5~%$@2!%o0`;z3A9dYO;VZfEH^UF`(*ak zRoS|Hp$FL8cfj5lvHw~Y=nSyur=JOX)J8!S zEiUAB8L+FhRn1C|DW3z|c}uwdcolzzRK?(hS_83)6yx67}EmlXD8P`ncf-$ylkMBC8(rZRpVj zIlN~juued~=JLFyw0?MT*ghiY;*e*5|A*yQZXm_R#;Vg|s0`L!*91PA@NS+rxjL78 zmgn^Ke-A@pbauyZN*MfwyO>xm-w{IwL%eL7xc}idfiZaQfQZj^AO27ryz$UY9={|F zIjVb1t_Z+@Yk{Ux-}x7&V_GRwf1z&uI%IYHNb4DTSHsH856Uls*>e?8 zM{V&w%Hld9b^D(@yhjkbk)+MZzuKCZ>De3IyF(e-$u79U60m(c%w)0A_wB zhb|)LZbw6oP>06}{+3cN!gzX=(&LC`e^($O>_X3%Z5ZUIx)R7I&J)NB2=d6<4Dw6@ z`42c~c}#2v--%1F;?g6y^x5-NI+IG@f5L0gdQ>|6%QG5Cm0>bf*HY-VC1)xAtRj#` z)R!=;I`>ih2=$T4ecYgbB46b`(1^mAGY27B!|p9V<s{RGSEc|`>r_Xoy zl+V}c6#x7G_1{nb$9l#S|NA=He^~IZ@5%pnaF_4@zkvt)?*jcMsXkwgOFrMX@b5^E z&)4*<&-V-bt%tN{&%rnR)dFgr@c+lZy5irPCH!yu3d&Rp`qs*o|I38G6VjJPKmx`3`=CyeGr>LM3Qq;eQ3YAWXc2Z5DDq;3u&%ir{ee z5-(y^NAB#_CMELU?TfaYprE#nSdvcA9!+~)Maa!PC3|kJ{l+8HCIcW(goOfvHgi9cDPbj(f4o`e`3%3uR`Ps+ z|H@k`dEOM6C_OpI7azOLoX&pv-YOzkkgoy!I|z zjXcW^I=W(BC6V`>$jjus7QyxUiM#~PiwVx_DDt8??}$g_p*U4XWN7G{b`Z}t)b5WG?Mwpde5ng>lZcucSO7a?=_cHve=)5ZaT&wfa%8u1} z57V-4(RugMQl~|D^XVhW8)jCz`GfM^abql|yRhvRmi>SKfA>mIyBqJ*$Bv-%XDcY9 zrTzN9fbmcTWnaEe{VEmoRZ;&n|3iP+Hu~OM#H<`R#ARftvNoZM)e;VRqJZR$a^1#!4yfpgIISQ0j zGFQU6(ZfNlBkvrhYho3ZTbaq1Y+q$cmo3Wp9E1_0%;7q<4IT>`>^q z+&cPOzVO>Q_VlcpoRG!3V2rR2&u z2=j&pBrD-0ty+{=y3F`h813{^QdB&3e>i|6n7IyHs$3y6J6G0XYh7IM_speb-a6&% zon42~5TL}|>JS?NTr*3@p}nR3+$kNY9-&f0zq^TawXO6Iae#xgg^pb-pI!Ao?UKMMN}(`t-|fOQ)RF zKj@TG>ja&0CjUXFoSZ-Kl#?4No_8$aq7QIU^*9yn%|(Cs6N~PMr1N*73y5L?)ELV( ze@-5w8f&;lG}kCRjy2Y6jVE!@)m&8JqUVoM(cM&Z12_J>%fG{T+WGz?emn#CG2bFC zJ6!Hb{Hns_?wv$L=E?$$odc)$%IOP|jM=`afHH-$V>9h^2OwdxEh2rvbctWO!*9Ba za@UT4a>WY_=u?COtfI~Nj4%J(a(4rDmojUFDP zUOQ>fsWlf0b^e@cI*te#{%L6$z9LV{bWMxpH|M?M%>})aaF}M-=osz(VL@{pSM5wy zdq;Wjy`V)&t@|5>@vbaoy8fl7K6s~+3w?Ut4yWf4x);K99t-Q2iY@MEC5w`nf7OPf zvB-wt`eGbuBzqrDA7 z6v_(2c0RI*3_9`oQgM&$lz5%(S289D*uw|a|M=eex7~#H1YR|TVS}f4o^Iu6RnTvtJel9FbWoIpr zeZ5iTiy?~GI-8V-DNOY3Dx~~Vr_K<*&zD!>#>8f^FfbWlevh#1&aThN@ zrDb6X?2&Vsz>4uvgl!t3e|=XF^{;L~iNE1`m=fOsp!%gIw{0oCsXH-^K~b{ccjCbH z=t+^z3O6g0{c}tjM>RCt=fvt{XDjY;Ir-WVUb$BiHTI4rU)&K`07*TJhJ|lYkE^dt z)5a@1KB??)f!F@LPR9?R-Ql;w0>LLP!MB<)k45u*E(55R_`^B?e=+*XJ|J9*$*iPy z+Q&qWI2cUm_+*G)oT@_|;%+w%I`<@&p}A0H$u`=k^cJ442b-1t6*#`Orl_0y3*K^+ zZyAG}UN;-cPOf{2>&m}I@bAuKkUBax6J6g0MmoQaFm-{1lC;K>wUrolSXdzBM5!Kz z{m5%{x~PIfR#RVvf7K2Q%W(wfBKd^uD5kZZ8DViJ=0Pn>aw$#RYHZ<#lPB&wF}Ygi zQp`LiGGB*GkN{Rh@daT?<%%TTFBB9GqrXaTs?2)jL4-$FTZ`R2>}(hBw(OG`~Hy zz!jdV{Qlupy+3YyGuYQUv_O9nCF=IMuoB6KZ8D@a5NR7Re@zS4t6BPHg$E&;E<0(e zEyZN_=`Aj=yf7Z})G|jPm@Ar=qHU7ws7Kz|N)z@IMJGQNHK&uOBVAG!Na`+u29Acv z{as#*YkCZ=BoP3YmluVxmCoiIeBhCh4WC`t(&u7tEB0?Rb}KsSRT4MsL9a2^f*3Na z!%O6@(13d@f0-A}I+A8l+LM!+Z3aBsZ_WU51-+Tw=x5t+T#$ih?CkOUerqf3pSCaH za9$P%B=5HIBSU($N4t&<2x$oH;#n*34m{JHgnv-S;oPnA#a4Xsa@ zm8o$092G_0&X1~jL`^m{hb`t;)YVcZ+j5QBSz$A6f9vq6VPj(an_<=H76j(RqCk(z zkog!G5}CW~yo-@$YO|?AXdXhC>AEY7CoD?JVd5ma=v-}hf^C%C{K&;B(bFLcmP<^( zkY2zUV8$`Io zf26?fbBXoUAlDkOWWMO|-53}MDk9I69e5Jv%89$~V&zh6q*`SzbF}9Xr`J3oM4OyNJZdpL7$8ARk4efU0?G%j;?7*E9?uSp`WC*) zOodJk`4)~l)~v)C$TGObgfpLf5SP70Deuq{%s%>^e51;H%Z7PN7C?3LIt7( z)+Bq3pqft;nq3Cmw6*qj1_UF{=sZievp%&Dp!XcP73_g!H4exhMDVL@EtEPOlb#7Z zCcW2~jwf~Y((z>Jemb7?-Al)lH}+CJW6s$cbV4bb1;?LtP-z@j!UvA%d!{BCe}~qr zO7G$O)Cl8BgVCj35#Om!V#7MmSRchR3M=*bB1?R}!SJ^d{{Di$e{cJIzuxiruEXCG zFyNQa0<1#+Mtmrqjfjt7SPz+zLBY{Si9t7u)`=-;wyN1Pftxt)kmv&FI!EIDeA`Q8 z&dj?%IaSZ_``>;`^S^CP)*?rxf7}k>atHWUr_3f?j==&^s_hk+kLtkT9fe`+mx5@+ zfx6`6e`Lo@>H!hE;k8@X(h1tJ&%(FbYBuBdFg*w1iqLWkF}Iq?MeiQQk^ z{fR~tm{7eu0|Rwkp-sKFNIN$JFOz%GrtVqJ-V&c^NQiKl95F^uB2Rpgk-rl52_RtMP)*phBBee(aMB2wW^14>A~#Ya3nzHc|_7C#~r@%rok^seh%O2 zxmiLnOdNuzW9*MO9bdq3e?2b~tLO%a`7}q1aSqVV)@>vA7CA34DsVL7)>QEYC_@Sn zJSrPY(&KOoIZUosF`SL;+)ds-Gm^ws156EL*U(0?>MqKl2K3tdC4Ty2u*i;g*dc7i zaad-clfyO{B$8Sm2^B}*?u+8*^g0Od@JH#pD#u>wc{kXLWB#lVe=m+}XVJ`CTqnzU z#=3`|1`i_gP-uhpAv}xb(Dy-%D`(#xm2k`(1Lxm@^tc;*<%8}QwvPd6)%uuONjZ)Z z^?4lY6@Weo<75#82c{ve7><+h0&8;v%dMjeqo36nWFy}NpRZN>j6iws`$3BJ34VW1 zg9cz51Le()-90zke{UpBt7}>prmH0B;ScRvpH|l@t5ne`x6JEBfPI%cPobYm31e(0RS()`e(}a5u z(NV?zo913POdb^6IphcN0EOs7rC=5YW)k7g3Y_yHm*%vpwyxj67SCh)mJ`*d$A z{>$gvti#tq>MP_Wv-lJy08dbVe}#QpS=`N!{%HULhLJB@3fa~U7I(V>OmbaPf1E)) zER7Elmx-Xhg*^408B9beB63j}78R5np(u1%BR zA2nsFe>fDaqC7WFH^zA{abkOt$>q!?K*C4oJm&yIo4 zgqx^=?=B+_5|s)Cz~e`$+WcjEag`i*Nh_L|4ykH;Zos+2KIycPxHVWMulx=4QAIZg6g{?ZVJ7@ckEmN8$G={zfnHlLV@3=xkD! zEF}}+r6It zYK#Jva-j|G;K)<{`G z)B3IrEipD>o9gq>eg+=;m*JqSaUxdcb5{Zq?I`$GKbb;wW616sBdNNV#i_CZ9q))! z1>r%ILL7uv+tnZrdlwV>SAd6Uf54c|VWn-EN>)_%CR}DtV1BJ4T%N=!Gs9`e5p%>P*2UcCdbW;1cd#FiVwbZYC#H0_X| z`XB}@1E5=I>}c{!?20uSS%S2JB}3#79(+8Kkn4Ga)?8!E5#Ghn%D$Sk!CCH*B>rp| z$uP6;kR<+=Pfr0}g%qQQe_8XaCOb}&JWSO{>OcU(n{LqX{r81IY#8-_0F`GQ$;BD* zdfZ%XHj{m8nRkj{c~AcqpoAyjTkZ8SQ-X)2_}=jvV^PB2-Vn@@R@}pp0Ozuqg&|Wa zaDFZp&hs>dT-th9+x}jg#J*deU$22ZI2i1}_EH0&N5CUwXEUe*f7_|!16u1%IfR;v zA|*dYg3Q~doIekNp2GXs7*p~x>YjX9kxz7iqQ~z+(V`bn73%o2Jc@otDEg&Z4JOI^ zvHI#up~bv!XDT+-wa%Vqac>e(MVkwH2fQyH#rfkdtkd1K!RHT*7sCpAJTauM*oP+uD8FRPT|O~1U$T!k zqO2E*S((jBf0lm@XF#4h?nPe1Z4#as#>a92AMGx~u|Q9*39|pl4kFXm$2$T=-I$}| z_E688KNLv<>2?eryW=BlCJG}9v$d&EJ57B4qW?6(-5?xSi=mr8USK#b(9&e2aT~JZ zwvOZG#gZ=YxIx_eT)`g6t-O13nHH2Zd5^6>a;Upxe=DD%SmWZg(55U2w)YrxCEFyM zMPqV}AVGanbbXeEWiAiGaso4^{i~TVq041=;@WxQ_%Y{MSk!7^0l|B}3T;J;wl)X1 zMRF{~5k^X+2jk6U;r-O$^-`&Q|g3tI@X5Wdkc{wvdA6g$=YV zG~UeHf5N(&z*%eYW2XKEnsDFw1yUl2xt5)+Q0(qhMi@MDF3HdY6~~-WXQXQ~bVq$K z^f+@%&IEP_7ksO2pXY(Tujj)HHt@_DlA)*H^{=n&Xow=R>x9YOuo$qYi(Xta<%&+%t@#1AhH0(t4Tt2G@0BEIT`e(geA!2fffr9P$e?;3Z<) z=GcatkYLn?&$D~)eDUg^>3#33<)SLWH~+d@4Qf zfwB-GPeMe;=N5>0+C=yC3wO=XPHa`MaCdlvpz5#316?K(;UyY>Vt2&GXIR?;wD?eE z7W5v`XvQ^;#sJ7;?SdE_{Sh%JSdIF-(IX!{1qZS3qy9DOuN0yp!4jZfB4Jr z>mvTjr9$CPuJZf9BCss3YaZn`&5xR>7Yy)qdT@0U28d{|!9W^-y|UwNQj-%8#B((? ztImCzap^@8;<9ixXYZoblpUkk%=aZM_t?{XMMjlnXCG$Xx^0APn_D19IfIyo2tlsb z7mugI3Zai;v;)@OGaZdCjH;6Cxze;>@+&>}W@`16is-y3QZac5+1W3jU zNZbU8EvjPLkN^WbC#c)R`m63oLC2m(@%j#nFvH;A4V8EopvB1h%V2h;e>c?eeB3R9 z_3nC;Sn)@Bny}@ZK*H8VX3?+ZX+p+}6G+GyjV_JyCXgkHU()FR3`-gxOan<{Fap~7 z4oe!npJ7R38q^4tF9!JUTbQFhkM!dUjmv_Z%EqbBfMt^E`yehG>9DiiYi-SuH>(EfukbmGUZ zeVMM4nXaqqV-qkOiI!|(#X>hoG`hA!g<&{Xo1S9z#pl7f~<4`>nFcagFBHK(f6?MJ_G2OJ8&sXR?tqv%pbR}BB)OckkQ*rz$B<>kmsmbWIFp%U zYO+m4tSB=jACR3o3Iwoh659JHqvG*UQ9|`4TRP0|!V`g=FdM$rZBH?Uk{*dHXbDC* zCB?Y%$OD`k?Ym)XG`f1nc;`SHrV{}TNeZ?xhuW~VBr_V-)fQorIMcCN=!ed(<=F!L*WfYn)Em!(^xGWl=py$EjX^ z0<1wMn%_S|Onvnj`e)N{_$OW7+}-Hz4U$gslv>8sQmCLaxr=%*UUTu@5^qyiOU7*9 zOj~0#t%m(^e@-2Y`Ga3ms;^VB0e3#jGstuEQDDuye;Q-`G;b02if6H8!!J>|oO*lQOf9)xLvYrW*?3-}Pb=KxWlh^;x zz{2;$>yFpP(87lsv-^R-ab_g5p0>cC0r6LT6C|pPp*6(^wn!Pl#0tU*j|28$#f_M% zwm(HC1>W`MAeB)QkSf0XI#{ZB^=I;42_*a|^z2;-7f#e}@qaYdyrFElXH~6p26dN6`H+@3Usw(|SjE?J%BJUu$y1bKEf+KE8_f|Ne|V z{tVCSf~)>@Qz&ZD?A`3zpPq*6W6=2tC~sJ!m>m% z^`NL4K00s_VRom-rFk|HZiLTTp}{o%6@tm+e>wsa)e45~A-qvi^Uw?hD3~9)K6Zt8 z)qa60`FHrMPoR>4>Lt$j`hK{R46E$fLOXZr2rC_c=F`y1)LC65*g!O9f|nE> zQB$~|4hiXTV*-P-xZ*txZ&Mp**1--?+z4wb!&p#2oE&Kt$7Q_Ge{b1_dO?Z|Y#klq$g*8eW0Do!l*8%=w;V(*y z$0R~h6>Vb7cn}|yVEtIYZdYDHE^H1${AwIEJ~K+Zos1kAe`F{b z*nJ<@hrVyb`UoBjz4=mljvcde81JRup#eh{Y5bE`FXWwUVUgdUY(d-B}%W@6=}9qB>LB$5Vr(RhH)5JCH%85g1F&C zy0W_g+z|T>2}|T#5o@bvRz{gjf6imJYTm6D*L7I34%T&O7Lv_K|Jx|0`lF=aNK9MJ z$(u!T87B`G$zO@&Tf`$qM;URRXsahLo10dmiqf@gMJcLl=|JU<3_pnIvzKu2Ch8(T ze4HC`(Dh%K37ra-s0$v``)!=l^nR1(_Ll-Xdo%b}M?D_UK3SA6ut%dZe@y9$+x-FyR1^8MKPdx})Ir1W)Phyr?V=B$YVR_UOBEdNcaIUdjKHztG>N>6`yp>J z=RLzpbeg@x-scg(+GXr7e^7R!YR+2|zr}cEXB&PJt9C^w8%aEmto|tx7XxoV7w7R} zpdEE#n=3|B4gFTT+|-xb7(upu*~9rLT3E{ZH2BOZ<-KOnFFHay)aBMh9j+z$iyT_s z5BS7{b^0hHPR6jE^JR1%e@V?5PUG5RQZ_^otR?EVLs*9(tCfc`e-m5jX-}udZ47#J z&kG3p@3huk;9H%{t#mRegCa;eS&d-(-i(si<`}47ph?69J|#PUL%w?kIry|8dJRF$ z0s502f9UC|5DCnTE8Tp!xWNCI53B!{5-W;h`;^}FPvqllpYndVFt>Y_nNoA;!}A=} z14^rusZ2FtNacKff15J^k~7g#N}y+{`tw0Df-+`z8*QtGCb*+z$HQTMRR5!x#sHEW zPOxhk&MaZdHq^RK7)En}ha&ZxVp8Hdj~V49JG@;){W}K&q;drj@8MxgDzo%_rD-Np zlc%FHp*)D6=$!9a+_-u_PF!yMPrSu#eLQf`wr@fxba>)Af2R%`PUR+va_>_)TM8fn zVN2KW9*RL{YYXIY^<#}Z`u>EJL6TzlF@NgORgj9{s9gq=%#G^`LZ!7M2nBZ*px|=O zqI{3dT3qLS(MAlt)B&1U>Tec`dxBhWtqwZ>yWIX?5oyJwK~J<+&J?tr`w0 zo%qgndGnG&f2xat4%Ek9V=1mS3@Ungn9f?4c(rrCt%J9Q+Ix^-$uDATBM>^F;(A>K z8$FIfXW_1`Y*$Ybn+(%*RJe85O)FHHK@A`*og>$VNT-5S*;6LthN|N`YT$?vVnBq zcQ4aWe_`T}dJ*Mz3D*9dq8tpty*V3aMaV<+9;F8P?>*!zhH2A}+y=Y&HkKz~2c?G_ zku5$##4&-)AW4DPga$0B?jB4Ve+BXq$44{@+cP4^7nz)ad%;Q|1%Ez>=p{~&>&4vx zay54Zah+Dg^c}6p^Yl+-)_1fb$G&5o+-2N(+Cbq`*QjuPF5Ha^58%Sj zh{6{oTEGVeK!fOAz{{CS=N^)(=p+p+>o?U@aZ$(Yy_(y5f>3{}U ze@y*i7coKmrrmU~tcS#mJRc@O9oV1unpvKvbX@;S?JiQD^F)z)-N{`MU2WSFSc$br zSGNZ8N~Drnem6_>VIlR{oD{P@GuIoV-J}W9;I-O3EemUBIRFI@n*D8t{gZI^_zmz|bRO`SWh|p8^Q2gKyQFNeErdr1VS^M_ORLZ+@-a z1<&Xw!tByvcd>v^_}<|*b5;e~{C^I<)ptdk7T1(Cw7?!kZFc)w(^53=Cybvd>z?yz zFuWsz+8%&ycMZTBAAtAt3hnNqDDxh8L&hJ}o(|jdTKw%r1&x1&cIPqUKexAWWuU#4 z@U4Ep?NwEJb_g`rbA@Jk&^j~J?z?<@F9fwW2HWc!fG;-C;I*%`%k?9c`+ve08yq(I zq9s`U@>?JMz54rj^%dlRN?+6i{ERqFEJ=mVlM{c932u6YO{t18tZkzo|d~=gRv;Br7 zJ7;Ov1|0#^nfP?mJ)~Ie9)Bls?2Y2U8GG#Z!2UOEJMMpdc>jA6FPoN_NI)i!L)&o+ z#4zFL_`g8S%_KTQ-tw%8Vmix?m-wk&G3-H5C1Jn%{dRHWeo`-X6WTT|1>GK;M$Nxd zblRQnK1UCyeUcqYqHK^+h!6}|ORi0F1>`l42O0^7Z#7LcG6;7;<$r0A4pUQqfb@U* zkU9^U#DGkfEef3|m|Yq1W*0hZ8Io&u4T&`uWTcU5$gY<%T;n@H`)}+;TNS{j@OflZ z9f^#zFNsssllboIhZ6xt2-7b#gEBc@VX0}J^@s=i{K5~wXx7P{B@WAZO_kwc$ zxLm!r#NAbI?ZwcQFMp`Kceu%(I^{fCQ8+e`9%C9xg&kB=d)|jZ8j3Nyc(R-aP~CBZ zm9_IW@9Y-r6}S=L%Z79xG_6 zOs~BpZ~kB&J%0ru=2Q*7)gOAZQ5JT1EtlmiSH?lc}E`ZaR!D&Qqj$J4C zo#sy=){`Iz7^?#LUdq+^^>THB^m2a$>E+;C&42I3l!u|IGL?zL>3(s2Ir4qu zXNk>WsEt8vwvP|8shyr^us>V0Q!PNjGrxiKj=lB5uefypY??&DCRfjRi|cu!V3TW5 ztf`=WHM zMz@|8C4WBC#Upj1ZvsyV(_Y`#0i~4=M0QoM*L0W^Zma>c@kSuocWh1uXAY-<-Oj+PkEcUY7?&d zb0wm@L-bGNUzLdRN-70W-e3gmYhA zcd8D(t?Iitx7d-TLbVN~ETE?}z}c&=M1L)@$hQ4sqt>D?g; zU4LbTHztVjRsnvr_WvkVYy3?0zvLJp*`XeQJs+?9okiAW7^M6ou|##$#cASn^&YEqJ%jb- zZvU<0GLOX5lH=q>al*EZDq4Bme()EM8okI_;jjV(pC@pf3vpZnNJ@s|2D;AT#D zJwJt|S5VYyl`VmXzIQj{{@;VS2c9Uz1715aq~uH1+3M@vSqESZe!ZKI)vEOHzkl9c zq?CWXJG6k_q9k_@eZ9NvG#g1Kbc6Kde0sg>5^1fv1zzt0m`_0;#1BvF1OpW?o3ZnS zMuwSQ&zGdfb%-)588NaG4~#2d0O&`FY$h^dU>veznNH__e@u2-*hp{D2x`34FT3$T zrv?x7PrCmz`Um>Og7O1>F`ouHpnqHFKz}*KgEFNC2D)6NrKJW2>aA=qln}}a&1gP4 zNi68%VB%g=ml5~s_aSkw*~^5A@hzQrygZ3ZZ{gA=E*;CImuaQHP@DW9v28uBHhJVF~eQ7G1 z4GMxVyZ*FBo9r{A^zb#Snk9J($Z3CS1Ob9Vzl|g)*amyi31*B-L-`djNHr{#O!V@Y z9&XRqGR=STHgXH?A5(xFJ`Rurw0Ua-3m@eF2fo#W?*D-tvQvV{0jnXFti@`#y7{qW z&iwLN(tA5$No%N`sZ5B%TYm(^l0_%je7$Mc0G7NW(&}{$UcYcKH+!Tdw+!Ao8D)w$OK03 zJZRLrzMQ^-^b2LMOT@4Z!%CcCWj2~9Sz|FC`qyZ@Ws6=Bg+blAtBXaxI*&ej0deQf z9-eT_TYJJ{b&8gTE_jl+Wu=*wS;y0`sf*}ZrZkV*I#rSvWsStfdQy2Tf;Yc__?u8V zXs4xme}G*Uw^q-aU4J!u2ZmRDqdxELaY9k^XV-wDhLlpzrQ*KM8?(APnShR=w(1gB>>vaRd52@l$89X8crdHeN z{fujeC3$?Y?R!m^Rqm)$@%$v2UBA)%+yR01(h-A&+rrtSKHQOzjJ;dLAM{JGB>}u^Pp+XYE1C(#xnq{;UgM z^uwB48zEJ-2*?q!7T1f#wgD&$gbODk!@H8RHrr9PxC<#Np|xhD8^~v`7!8jQlYwIs z$|nK~oyfR##tA^ZcAtVef9pycY@2*h#r&9CA$QlWP2W;zZ3vRo=9hm^lfRZVq9Hz4us!< zCP+`w8%;N>;ZnknN8pF1?F;d4i}*1XHo+)1pMN*mPn9L)dgTd=P4-;9DLGGeWRdaz zVC;B5!aTWAX}*AY4|h1Z5$2mPzbGhwQy|~F3X$x35~CKt^9>phJkRfW&i_ulV965V z(mC``WYH2f{au15t|sB)f^!QOeU6K|x#&k+^e-yfG@RJ^wNCgL$rp6r5V$`?mOH@c z`hOj$Reepz>CWH{0`R<>@6k60$y0dmwS(-6%hV=U1Up2jB0EXPMgypZQBpT$!;wvf z`grx^D3Tp6LfQiL!et)Wa|@P zIA&7=`Ni^@s*a-RU&?E)n%n~<5SrJf8f@phOQ2`<>xaedybpl%K8RYh2M`2xv6gW* zjG4JNnS%{tq)}TZL0Uy&tnZ-d#%rXpFsD894K0zUc|K&X9^ZBrr3+{q$Oma=c7IK? zdo~i;MIy3wozd&yOHm*W#A1T6pcm1paqa{n)J)gxn1Ek?i|e-EHGjxx*DW@_3&@M))jDkvgIyVCYt0 z;!tjst)slAub$#Qxx-)m77Dhf$>NO!j2xfT#xuB3tXAsw6r{X=>|D1d^*4_5px@@|rhw zncDpTk@)$=MB?cC116}^8-J`EdP`W~qPdKx6*=iEkXXU1q=s|Nm0a_Eu6brL)qLj- zQF9><5${fUIK30ZaL_sTe?J^V0JD8I#(pi)303HE)l!#OT83FM#4&nQr5CQV$)<0! zmsimFC%OCcWhT##vZWyT8bHoQ-A_II@fB@jGlJASjUU$3Jok#oeb)U-Jx8&|$=I+~RQ;xm{J+rvNlU$)XS14J`#|5qsuT{X8|DL|= z^R3|>pD*kG@HgfESbtCZ8|eFgS3d*(@X^@)?MLhv;?Y%6XS&+z7eIR>;rURH9ILo-uw@24(YCI>dgmrI@dP38-Iv|?(DbAWG4p;9$8F6 zmMbHdDd}!I765CY$9q&!G%zVuymi&z+mfv^p%#O`-Jm10_lW<3(9j*X$z@EUU5p@l zIsnm314HDv$=<_H;2bNd%9V$#vystd5GlP2=bO}iZ>A9HN>1R zkzi`6P1=fyCx7a##C;_!!l(uh3GVTJ$XqWd-`~jg;wEDt=?)k?b+?ccHss3P!aP-8~ZMPAcEs!M5C89qgfD8$$e8 zf%tkDPv`O-MTw3k6r{DK=O>l0t1!`(G0@dJ@qgvIdRBDRFnDAwu-_T2cw`e?#T3>zO=iP2xdf?uBB72@>N-hLSR0i**v)sj!9*xqh=V*A@3CFzK)xwrI_>3GOYmgsF zG}`#eTNQgLvVDZ`w}ruY--hAG;B>#;TF-vfow>GG6OQpE-xSiW_`C;TSFN^_cGWfW zXjfgafOggM^Y|)z0iM~C3?u?{YpLxa-G6yM-d995XK~G!xaLZ(IduUasBBzU-xA|u zmQ{4#L){D=r*QPgP`;7?s^`V%Qx0!tYVH5%*g)KGZ1ih9llE+zA~tYY}Q0H4`e z=iuu!don)U$6YyH2+bC%swUc%!`L_q@|Js%&)|YT9!n zTs`AGU-A{|@d8?Mmy?#f68W`@+~lMsudxu3B~M2SUb8v;pb7GzJ7x9HOMg0ciclMm zm8nP}@}ee~ZNco~I1B_@5q|jfn;EVhW{fWMyX(3MmA^jM)^oqBignuk? z@%B??Rq~83_~KN({nXu%1b>75)NL(6UfZkf1S2%n7VSM*} z^B1zkN{>r2D%(|0?bJbU|mZh<(8AaZg({Y9} zV4YsX>9IW>IyJUoG=D9&0W>8xvq|ZKv56Mc(dJ;RIPcQPXSd0XtO~9%2P8uE|F^qyU6IsFY{t23WR$g-raCGxaVLH~!oXNg5 z%2sT&-{@y;U_=-GE#SW|**3$Wnq1nuBU^tErt>xm{H}Klet*{p{H}@~%%nm(4SQe1 z>Cd@Ely4nnQL+kY?j30Oga^hWE!j}So%ozxuUj9+2Tj!w&#qSX5vI)ybNZ~$sj1D; zI$+MU0WJ{BBC7$&6YR6*rs!lBMh@_r$za(UK_X&|w+8lH7>CBxn#j05E}(D=*2Hht z!Bj)9IdLQ`jDN;;Pm3pyI?H*!CcH!2=v~%-Bia!bVL2G$+#+1h39i145U_uB zET8(!a>gIB0|O$H@I2ZV?5n&=9BP~X@|e-Cc5*D9U!g(lAjqZhnPx0_JHwDoHSl3% z@KLg}`(2#$e%2wlh+|+4WoKLTKjL4fr{05g8v={JYJV#+%MsbcEUjcP6}dQ@nC1Mr zyg#$m}KwMXawk zX<|idll>8$wZGWuZ0Af$|0J{pr>AUa!ikzAG+81Y!Noip!_ql4hDTqcF+BGgjbY8p z$nYQ634i79RxbJ?7j4N!yK~XkUc;hK@ZRumBVpP~Jt$nQGgrGpJ4<8)S8GDm&?3lN zfcD;8v>F%P!A1Y%-RChXI#S0T&{7k*=*iiv&*7p!anZ-A=qNn1yu>Q#^7lmpP_6qw zBXRtgsAq3sCB5P$*-4J8m7%dXmvj@H%|>|tHh%1=A&h1Epqdjy5m_6w*!?MaAl0fwhAh{wxNt_t%_m$>Uhow zel`qRffU(sfTn+Tl-jeg00Sisiu9FuWVRoSr~NIlPr?Va`fpMFeo=_>iVPd*GAmJbylDSO;PY-orfi{pvIOO5wSv901~U{c>~h zMq{1}YZN1s<7d2Q`G78y{Cwwy#`kfhUh#dzV7gNtUti3|8iR(cjSbeu0MAEuG6fs= zOcBlN=8!Rq6`i`{J;=UCjmCBBsa$*oAJH+kdN(BX@d#3hcmEH4I&It=TYtvqJ;Ovbt`$X2*$U zZNokL^;#RJVniET{On|VmcNac%eN8h2kmve0FA+NKI;<^P;mVbuhm<(ggiXX-}LAJ zcy-D*y`zEFbSG|lcB8z@RqW>^HC2PLzQ3VO0T_RcDc8^}e?xdJKrmtypMPA~Wy9oo z$LI(Yc@=q$7QGl6`~>4*j04s*wVqMlGPJ>j-;!(Af5p$# z{&+By6)mhUSP>ct({NW*wtx1upNyS==Cr)bx9SMU59>6@dj_U(!Gq->Pp+>`;R>A= zwAnhEt_|1w&jBW%`(+Sn%MzwF0{#K=ZwW}f*HHe?1&P<63-W)_?5Qwn{Wz5Wua>0$ zlxna>%4;I9prdGx*E>A><|x}BvE*U6l3*-SsI$Lk=hL4UdyH%vSWCJh{hv3m(wTS;ySlQ zP~1X1U)Qgy)2#rQHsQZ%vhx9oj!-#)L28MOx}RxOeCT^=KmA4V1-DiX z@l9SdnN+9Ib6{-ZysA+mM@XlOIL5fMo(yE0u0v==RDaD_(z_81#a)^B(+AV^I`vIK zn@{jlO;mt3ujRkcVWPZIhpus~UGSQ~7)=I&-Hn^d==cQl^k@w+PhYb=OAq+nywnGT zXms^%(p1}n(2*f-MP=DB1PY`%e70JizWgOSdN3e{I0jBkNqbCn-Nn%? z#SPFsT~G5&xbZ>_vXDrhACK3)KzDfMJ03S6>VGH78fjL#t5+V-^9b#QQ8clct}dQ~ z)djA~djI%K_i@*ydD%1rKUc>Ym{GO)9BoMi9v@~GyO(XS4nzyE4vz-bp<&H(>u{wu zufs#Q4!EXJzB6?iGS;5ZUnKURE&n4mLzcf;b+TG*3?~TmZ)0}%ZiFu7d~^%23W2#> zD}VUngn(HbRSuZ30+<>I%y$nEQr7WyQ-6&L>1<6kq!nsiUaJd%^Mh&#Cq3nHWBvq} zBuIGxy<|(BjIg|{tx}Fo+{6()y7KTGs3qk`QL+=A5aVYA8v+5) z42yuRBuz5N&ME+rYLWHiHkdi6`fMGctACj;sn?@4n*vfw?m%==R&&Xt>Yp$p#{Be# zXrMPS%G;Pb@caU}tFDzpW@UL*8sIW33~=!SqS4JE18gjp8{oAE!~owR_`k<)D;Prt zH;v&Q)I_c6mxZjSY+_*Z)!Z88ntw}cK10u;X9{cRg)cy(o=0oHktM%&nu1QGzJI!k zw)Qhqpqm>|($fI_3>4Q08Rohw{>3lB?V>3od>tJ2do=}Yy`c6jEZtAn6n8f?zv=`MNelzSoQ@#iGG<#uMfRw%M)UDOU5`X`RvNXZv z`4Y;hUsn%-^G)6lpNAz-UzJ6j2Sd=JW_j4o$O0`cGc~KNYA{+{*WDK_S|f}nZ`cc^ z0GOU_R6h079|$QjUm&E&ok&PA_XR?V%@YwRrlDn$3rV4%H<{0i5gi0(mG2w?pJ~QT zcs}rO%;wbo+~lq2smT|)$$y7}oBRly>`WXmwF#Hr&853@X&sk7Nu__l(r9O-HGqQt`TLxxo7jQQIshh&vXwOdh3dl4)} zoedyiLOuLX1GS)P2!tz{@ZX*U5H63@m{Q0Jx35}mh4nSW3Y!Jt_kXU=E1Y?M!Z&Ha z83;HK-+P1j?y1iUviUoj;%A?uDgNU{n&M^8(G>5(cpy0&af-jt=?Lv>o7|glSvRK< zik(;WfO9?a9qnkX(I!Frp%W!l>u-WXys9g=K>!o^{g}_^%$@!Oj^%^X^xYqJiijW% z={Qc_lu~Omq+6aPNPjyrq}QJ%NIxJ*F;)PG(7mf@^X##pV#uDMqeI(ebsJJlLGOql zOl=J%)OJ-uR;CUcy;K3TQ!8ooS{AYsEs3ZAf5uf0;E(M1m5ENnp`fi-09D^Mns^qZL$8} z@cKW)>;F8j|1&hJD`-}4Amjf6?>s9-giOr90_usXOk%SGQ#8491yf|K7DQqL zE1n*ZOx~4*WMVZ|u$@okhzLYuKULD}7U;MeZzFYVBK9GASh#ahvIeCfTZ;(F(Q!r@GLNYSd19ahuVl(?1Gt3 z|C(kVJ+;HkKScx>+3abW`GOa4=JRpp+uZe!zC3!oBx#rs!geZG7HmfyQYmCMy0NxO z@FNd8OjbLF7O77<{K_WnVWUO)0(<6`JqNCmr&pp~6n_D}iVzd|@J-HB29d)H@ma z_s-51_?C1JF7a4w@!rOO12m+Al{FJHzMb|AzX5~w8RyT5!K0ZH{^vlyn;Tnnx=Y2- z3%U?jJAZ0+1o}J;*H&S#A!v$i8v`SV4H-cq)9Q`^+6a~aN~kNLvL{aBdp-&E3b|pl zDP%ZGtnD!hIG(iX&~|W1T~SklW0mbeGhQO679ksVod=fq2x79*KG<^I`(IhEH#8}c z-wr^vT5d`D-15fiWbIc~939Uam<6cf-(hE-IH2punX~&hih_eB)sUSw;Q^`yFxNv)hwB)4svD@|!o*vFL3ndBnxY@2 z9{Yj_?X|H)Xg7)8BG->4LYw?75*jM%JzH=72m4jLUn7f$3wq(6r8BC2k{$c4)y+yb zwSRpSPQ101P*@XrZik|9P>#U-f-rvgz6JjEe9PzJQH@Hs(XDcKzE%EO0PpBePq=FQ zw>QiALj7HoM+J!;5+6DS@jXX$hC6U8DEtFQTN3g_! zVtHK+p0Pq1O?HX6=_7~fk#A@NMMp(3M}I*d;IIb0>fz4@{+|ut=debueKao|0OpHB5H$C|ix}8PZf+g#Bb?oYjd) zbLc>mXl|;c7j7u%08+D%8Vue}{Jm4|S@6GZtIvi}9W zV~q0+aioRKbhSV^kHn=1Bzz20T7TiY@Yg;iqDmM;M0J9RYWx@?s!0>XOYisjanc%} zr1P!|y8p8%iJLn?eWhXJOuVQl@g1-zsoOA#^s~MLT2LzE!pG>PyHM#CNAn^ zV1@l*P5gN;+|W(+b7W4UUjt;;*T?U zya)RPkN5cUz>hcxwXiU@$S&wGhWS} zZ+doWAuOt7s{=jCW^I>#86*B(!PB}ub^3CCrR%zb{&K>fTP|Md9)IHOCq?#ioIOa( zUR#+2!dgl62Kw^^{3kKI4^qZiqwkPKX}2Olkj5qWP0qMd?{*n&<= z!pEXTZzXDRLQso+f`3|kD5%8;f?6zD=5KK(x7a{y@ly*_P*lt_pznuKT4#% zh3E8EE6aTN<2C%TaTfoWfj_z*;~y{JkEgB+v>C+>b$r^O+x#y+_LxPemr+b8md3fe zXG1r;ZgV$nIV}g%rri<#R3D_o#NHq3*@E4*Rc(2T%YWYqW2<(x(FO*mOVmE% zx1Gpl)y2c9M9iw~2Dgzzo&*zL;@oJHfpn(BMDF{XJA`w8pUk<*B6k+&_U7DyR?e+2 zaz}A)C(eCq8t2|E<=iyRZOXY9ot%3@4S12Z}IGm(3i zGy{pNdVf;xuHl^P6uE_*yM^oiI)rnd7P;SW?$4Y%uMg*%Meah*{ep9EzRkI9MD9zR z`#R^o)t_@CMeYF3eT8%X9Lc$tOE|Y9=Z@jry{~cZK9O6Sa|dwl+{K*xv&b!B6AB~e z{xyShmx$cMoZIRdGR?5{M9NLiHDH5OMY8O5EE+ z+}i`>0yFWmFDPW+es%W0QlQ7`4DXUJ1TiQ>3e~z|hVek-Bj`WFF4Pt2g*&mmJ?4bMGZpm0MHk`p(!C3fPAK7eqc z57Bwq%*7T!af-Rv{W`$$A|4o9Wvui+NWo`vuJFkBfF;LgtVDjilpyQb3TN@MFMs+~ z8ffG(N)G=6|FPe!G6znUH>ze;F+G1|oJrc|jW#`76x9;id;T!|-en4FxPB?$8;sZZ zA}&8-kwS)8?n zkM`R|3H5c6J&Ln`;_P3v>`5ZKJAY??#@U}}*#kv(ENQ1wd*Uu)&9Jze_kgd2W1Cr$ zJg1tk3Gi=Hj3{f|4Gr=t+=BBYX4q%NMd&i!j>Y zohyIBQIsO9Lixj2MfrtXJ|?LAhobz;T>eFDe}z_l1egE!i9q=mM0q2Z|9`#;l%KAZ zZ_DKm1eH$_mH#2Ae05R&6lJA;1zBp0R(>~^cLkOI;~JM=#pR3o zKza3wDE}dspA=O7J5heFXdlbxXysqv@_mEK&l2Saa``?8&wQ zAM0s{rGKKkm?S*trolhzZGR)lqt@Q&2ANCs;8F=(st=a>O_XYaf(VyN;8K0L)aO|0 zM;VXriP)`FAoq%gcF`> zMchcaLjEYv{DVH54&{e`12rXli0e`5#-?G%cyUHQp0J;LdWQNZ2DTJ<&s?anUXT-% zV!n-WVMUKvX8haSh?01qC8wg5<*S2X9@hJV0VfuSJgTk_s{RmE_q2q$pFx6l?<$a)hc{W@A>>`0_i+}T=Z}=en1sPki&GQ^C z1IKZ^3@OFSkdH0}%MOUZ-O2xcXCLeDkz;sT`8ev*v`g$C*8g1Pain+J7^D2=k@TV( ztEOJXeUl0w^X{wo{oDXv4*hsqj#W>JMEPrbi)V^ikOtpF03DGumY*l6|J!F!OtF5nS5AtkXym+?no2;Gfo#TL4 zJakbCcFq&zpg3_=GQJ6@Bqii#cTL3@5z=8iT@ZRq6myzS3p=uyd|!p@2_YVXdfr<1 ztk=lm1z{;ott}klA~+>Wc6>mu58Cxk)?6VE^!qn)&wu0r+qdZxN*46=IdZLygVq;X zV%Ko?d`Vt|*|rO6s)n@hO5!qhB>EFpnQ5e5dRv;Ya$#) z)9Z!e-$KH_>K0c%h)DsgYUP!LZvuDfKvcK8F7euR(13_#AjBi*HW!#vwxJtaE!4wh zH4=(bsDB4U8Eb;b#dj9oF7!IsaZV?$dD--VLxN$XP0uyf`lv;Kp`zlqI=(tzLrM6! zxDl58NK|A5eothw0klHI5ZwUu; zX*UY9S;Af+8!`oXmfQ_~^;OFc;>^4J{y83-y?=AjKbV?6o+A$>;jjnZWt#jQQatJS z&MSz%*bfJgRzb!U#-WTW_*55tveTXuIdqgDwUZWirs^lR#EV33Przt)FCxwD_c*BJ zjFWSE!jByIVS5BJ*K+1!&Q#~LfFB=VW7uU8^uZf$pO(@a`avEvoRApF1uP^WYcwR)={B z%mD}{p8B9s_4o61yt;xAPk;=lY>J>4Du4MgC36v7_0}-Fa8d?Dsdb)1haglPA00Ku zM@Mnwm3(0*4a;5~1FcR|LFRu@Ert%E40?cUs81Abo%MmYkLC2;xDmQjf5Zl^UEoP< z36pSxC&6|DCUiZ8tacD;XWl^HC*j%2I*@Oa)F+#geDF;JluFVQ>99gdbY#*7^8 z66aITJ833Ty$sEFv6!}|6Cb;$Lv1zn91pFs7Q#abKl?DNkm)yU2k1q+G1AdMoCZLn zWw%jF2|v7_L$+#xFU+0=ix&!C1Ajk!Zz=@eJjD;6S|4F)EnvBD7GPO*_8wRszaK0+ zybMcCgk>lE@a7;axn73l3Ltgp{K4_1I`&RJuWxq@@_Ak9VeLlLCKsnI{`_#J;+oVg4!+s)Xk43HW+vfHYj z$VER?>?x%FSp>=3M6LQagZ&_uL@$0{|1RuBO4X9TgCv|${`fJ${yUkERO}4Gej&o* z9+GQuk1RB~8?LG?;WbGyjDPIokuB6Ge3IQBTl`Gb&cnyQG4ACb<`0NhaboYan)hEwL0q(mh2Z;`;#*E|neVZ@RBC;@=n?h{vLgjWK4Y#5K1b$D@Ngu>j7}s*}-r7bk7N zq{*C=!%5#`(r8Zl0)PDxSzKpP6S49%2`#oa#D@H_5L$)<5_#U_U}@JL($+wa!I!6T z>f8R*)|mPv2{?XJwV1PXAdJCl5w|TzedsqjWRS}VsQj_N@-B?a90#ct_}4|Mkw&nM zaWTJ1+QDY^X(67qAn|NFsAyTt{xkEE{b1Z?8LzePV^=mc3k69uSp z$6*knqWacJNgNH;8mG&jM;hRP;(g+yfYjc_NR_qEVuioF6a9yc;xkh46ZyO|%qqRm zx3@Rizu8Gwg@5l5;Yd5G9!=Kwb?F}aWqkOR(}JxEub$+ZtNspYaMBs6LQewF^jL2C zr&3(P=(U5W>3NT{hrY-8HT~n<_}kF9cYVe23B`HHopn&%#WQA|imL#>tDO=vNWpSl z+wEBgb=LmmlOjzg=G;0A<~!|SnD4Lt614+!z1Z%b>wlIfB(iaf>Emi}Bd~Upb8yfb zafXM($z@C1Ft$YU_JQhiSy9}HUXMgKp*f746hkBIR5xhyemM~`Xv5D^Awr$l~3p867c}?`htXQ9|S>B&kbYCEEg| z;kL(Nbbrwp|Fktzm10xXE++yD8+A`Kuk_&ksY8&&2wYudt{z_FF@pEtAnowV9&iGj zTs?7$xOfyUp-M~-xOmsZ$J>PItV00yPY88}oK(}+3m0Iy%of6xwWsR!ne zaC;b6vn~utJYuva(Bs8q59`2T&jYqv72rLI!he^yHH`bQ)*3e%gQ2V+qv#<38&)J) zmFf&p=L!sJCr*gen>+fa1kzJI(GkR%vk&nht{!>Cssm>d8PqCoKgRHIabf~@uE72q0&=oZVg;13!^6cqA)k#{_@5@&m6;w6H0$VCR zx$A;w$S+T`)&uKz(CTjqs$XVtT~ixz{eOqCelD$4*VK*iVLGv|yAx*&g>A9U@t|AP zA85m$9%afq7p5NiL$th1+e*-}`y|Lb8-|Ra4^9j^nN!kW8_$&&g+aLuF}#;sT;o>+ z>#N{YB#uMC+ELSz=dIqyUHxBLpfFPm`H<`#h#37aZfI!JsXH#9=q3p#!6TQWFn>7p zD2JkiPsDc3?ybomer8dNl%-_zR_mn1Hg6VX{EEJ=2LI48zdFw43($UFrNKX>;`vR8 z9@?-#I$LhCZ;QxG&X*VB0~T*nO)B)h0AD$LG{`FSK4vb+MI-}`2)}cP8DNAYz`2B? zOxG!&ZKYbUlsSg>OvUd}EnYnftAFTi61d&TDpUs^qYJ(q)dU}E*P{X23l{w_MtDoL z;ZfqnUO1?S8(V1n;Jv}HzHK4P8?N3yLai0D1>wI(xo!S+j(_FyuOsja15EVrJ9?bm z9wh1qL+FikQ(cEgWz{w-DSuGd0(JRO#s}|d#Ev()(PA=j?cwA2m@>Zzx_<$S-+0Y|J%M&GSc{WlEyg@bV06r^XvbAwKFWeFKUK~uR)60=M6k^uy*t{_ zx+6#9{^w>D{kUw<=2EpD-q#K^?Pkji>@)HpP@X!kkV13Bj z`2qu|Kf(hG=YbtoPk&`-987i&Lu#=c;!A+(u%NrA(}LE&NT@KW4^7#X{)7rC0~r-+ zvf<|4-vAYQX-){6ClrPFQ(=dLuizkU?KSUA9)P~8ANroqo_g`O0N;uCdpXR+eYsd2 zdZCPBz#gZ~D6zN|iIV(qus}8Z#sbGQ5ogN8lNitCF9WS`ITxG&U0RS143G@x0!+2_n2Lgz9aG30W=qH8)*7~t3Y=@|4!YR z)HR|Hlz5RpqkpgmUA+g%7=*k5Ec9&~Ep&4lb2^15Yzx`mYCvqIvBAXlKghQNo+JGU z9z!rZ%`|vg1i|y^5kEXtg5Y_c;aS-~0MCa91Uygwckm42aE|0Iar>hI-D(betG9n6 zSSpqDj7hUK1{`>`v4)33p-*)@bmosIi?Lu!B+1rJF@Hv&EovG@2{Omzsdeoq(Se!4 zq|Azl5@BX3M(p7Iq|D#cSlF80Utg6b&I1w|N#QvKj#bR2(&M7w6rQKY^AEl!q8moy zUBC8YdDg@zmKnI}TF2w+rf%J@&9Pr%HYu5^8cTS8Lj4f()hG8eiWy+T#hHz496YlC zY(SI0Y4_+9U;clcb&8wLVnk8+;r#`5iZA@mN3;)rE2rOt@x}5Es0zsIGvp0Sq+$45 z5*mh+{sG)LNCQY#rTvm{=S)JmT9^7JecH)=0Q(pFf?to{{4R%lTIcK2KK3B)A>D3GRP(8r*@+JB{J)sG9c$ko$Yl zbbAE&pW@KTUf%FtG!C9@g8+EI-{>9fkT%)A-*~dyAEe2y;J(J4aY4-XT8auAdAwJU zyb)kW?gIq!WYTLE6yS3wbuN)6AR1)UQ!+0&i>$5fH}$qo#IuwR>Z`l&`n)N4{;jW_ ze^07iifMm3E`C7599JX!QM_P&9h1z8{VJ*XN6a_oGwMydS0CvmY(o z=NErCuc-SDXy*U355=Bn@?x;9EEQl0DX_$U?>EXj+4e11im7z&WfYi3Fy#w&=?Tz<8d;IXt4}tIBeGFF>0pHDdhVO#_d@1GOlNml+O?BQb0o!Cg zB;Ttx1T??&BFE@BP15ZXCZdzNCX#<{pD~foE@Mtd9f`M%cHz6E(Dy#*r}GtbSRM6Ug{s;B9xaJUf$Wlo;A0zDe@>p&O%fUI6G8id1kM>T)cEG4V5 zL+_9GoY=h=u1%>mQvGu`9})(kvjnw>2lOINbwS2T(p?92@S8p1i-GqDv_Y) zI)j6s>-5GeA-65ZL}pkzbooy2buRng>-1wT1H+wPCroEcCSUC7%J}c#0OcBwK9@1} z$vU>;;^2Bia`0(R>29rJf2e>i6RREwaZ*Gc`ah_zKRD`3<~ zAH>qP_i%DMe{us9Ue9o{ljstyKG1^7uTVb^m<+Sk1fawDC3s+x=VR^h7Vg)!9(O3PPgXocpJ zn37SP;8PQeq=3a0g)>V$cuDeGp$^X%kDb2Nh4^^Z0V`sUi~khz5S}0v<_UG`PSM~L z;V5_fPF}sg%IM{}b)3aDJ{KKP$9SHR{039=seQDfTCCGdr;ek`5Ar+9WfuF(EY-?5 zma~$vn00dBVU2%J_5K>m{58Jt*Z4lThGVrhF4>9hiao2D3#g5YG@GYMKE|=gBF(m` z7r9|7^&|^-OxFvwvd@UJrwX;QW5nTpZ=n>6VmZcNldcI9v%z7r7g(H)n0!ELf3pkEhr>;JO|h2s{)k# z#}{%9T)jg&aSuf1`MqLEh3e`BY$*JJniL#8VZU#2l3$-rPYc-Sl&2Y;{m`54+k{vj z#^GKf56d;mH63wC?ZyR;xRvm4+?DE*aXx=%y1t8}z1p=gZZY|Ug~CgjCNLE6Omyv5o)tJLm>l{dNb+6N%H)c#wZXX>YMbnUusYO39eV7d<$NLflvK z^7-(X;4o3R%-d=8p;_9rqZ7uFkTUfmH~!^zrgd_0t4`etEOoT7>#Ld1=*MV!tc=n0 z_6{u-N57ZdC8&Sz2u9Uy=ow-E4nL}H7H$)^U@3CNaf4lPc+k$Wg8Q!+v+E#8xrG$4 zcpiW4mcY5x)UAB+q@>!%8rWT-&x*pWwHlhp9L<&3r1LVO&GsGQfbUa%c{m@(WQRvb zB5;CFGg0X}mZk2-B39`G&XYRzMww}M*N+8*lNK=nUIe&ewl1Hw$gu-VD;}FT)r(UCW?vnfC2BzmHdABkCRDe zcbw#GSSxQLoYNA7B4Q}E+cuwB?eyO;q7-!kd<%e6_fs<_GKadyNWi#OqG^zw|Dp+M zecJN3saJL|3dL@}$DRx3x+x2(;ZN~)R!e<)3y+`*oq+yDed}3!G%Xw4~XnRXWJ$w zCGwGK!D@1KC#sR?+h%wfl9tX!{$?##-R(SliN(Q` zs$sm#T!NFkkcDu}GBU$wHvxY$JdCDM?yL?Z&~;`{X9%iE86KfVry}||SI}?!aAH%= z+*09ljD>tR{Z@>DLwOrw#6}pjbEPP|=nrB{B_?;nD#-?&wf~W|@_ZaRd_% zB~j1UI{w&radfo9sZirLily%PFy+}JoC zZnEfblZ6P~_zW<&{#$=(*iq<NiuJK5%WqzpA>9(Egsfynm@pvtVkvfYP!pE$ z9%z0PzkxL|9M&Y0Jtqcf!rIxS42?iL*~&pAHm@2_e|Zw~oq~T3Jm^mf{tcc(=SB`Z zHGU*f$=mE$Z!Np`+R2XfPCkcJ@+4BpVe$o=+J#F`;Le?4`2v0Q!YR7NuU;%zI$rI!PBqh!%yGRCYYYO0s`qP(LBaOLkd^+&4rBcUXVr z2qOA}sF$==?GgjpswVKQZr?yiOqPTZiFAllhp*G*7C?U!L_$@!$uGYru45_FF;1Ks z?l7TQW7xGJl`n=gOY%wC(VeMO^==}mK;*N6x_i+2 zq`!lApaXxkmNtX4Z{p+=$(WToUef3lN8dF-sOXq1m`Lwb4iM>5E1y_p^m)eP{$Ry%OI(7_P^2gIv-P>GLU;P+$`+LO3ph zLVXYpbzRNKgM5~e2L;j&mFbv+)=UY250`RSdx?LxvkxP#Y_o2K?~w`oy#^56HQc}) z{9Tf)j;m)@(^M?hww*bYzHB}*w$#V9;yciJhO!!y)m5v-+LIqpz`2ym!H8 z*jZI9m(vD7c}Ct1l1RpuV2q&+61x`?)41oHSjMkeh5L?o}}BBVmrMbdn9D%5}=hXMsO1cnM!V;FJQkdAaap1FPu0Fz+)kO~jQ&hh6@6=-` z&k`q0_J9ezPBg(Z;#x*D8Ojnkq8`brjN1tyyL>_5Gg+9G5!A76GxUE2s7Z@F1gI?74eiZX+ zfbKjOaG3Ew(_&QPrXGJGKQhrHNAs(L(HypKbSS2E#isiG7&_HIU4a(A;k|kDKx!k<3F_mO7tnt)*vZ(MS0;+Qm^+tKDer2n_vi_(9Ui)zqOs zN%zF}`Q7X)F}vFD!oCAZpDQ>xNM>z6dN@QXL84~`aLLd8cE^yPUL zPlhE<)D;_KrzB}Nj14oW^%K;3GPZ6Nt$)PY4zeUa4`lpDUqHSsnx|n$ymly?9-&pg zg;(*3qIyd`3mtz;%#sd?|FZggE9}%72Pe`3HK2`{pdn^io}gjOnvu9 z7Hyibeimo_^NTG1z7Ux4gr0#jMspn0m>*zh-6Lf2Mwv5-}GVhsq|K4X6^2iZ! zu~?w439xswxYJc{9~VovhBdfCu{>HFa3&ycc$8F_8O5v~afi3;5x~9r@U0I0ftQ!= zD=?}qPDXz%-gT_c2{u2F0mC@)xZHdtW^x@-2mFY)bF%Ys;e{d&M&|7lbUk+J2bz}o zr5d4p0yL~X|1E&F3Kil#zZFL{0sN;zEB-Z-((B?!)84dN)rfnV!!jbgRn2pEFe_C_ zh$}&E`r|heg-P>wKJEwP@IDNc<}_n(MNq<%%=&+TA(_N7zNGh^(Q(YR{v1gxqy1<$ zyPZ~<`QJBu_PwKREq|kSxR38X{)q<&Y(fFCX-P#vL^I2L@xcBh_++G&Ov033u&&!U(to(ytsek8tNkg2TE9t#Z_|&Ri zV?uu}eoaeGcU^_Cq7{j0Z1n{uX`kyiZb;E^49x z?JWP*mN2nRz+m+GuVKNv=12@w_|#?IgK(CtjIF4Stcq---ITiA2I}PMU_3(9Vk&V!_ z=Obj=@!v4kFG>P}^ow<`l`}ux< z|E^E+uR9*8iyEcab80A9`LMO|BTT+ zfz`4fJc{NsyWv8KXjAwm9%7-Avsj4Zt2Y*+l5hD)f_E$=f8Q~H)gRjDDx9;|e?rv! z+~}u}4cCfdZGwn^OY<_c3zkKGcOCCcOGaK~%pUb4W)`O3(B}4DbJ!Hg@aje1tKpBq zt0&=A{~O`}>W_!dl*cq3M-YDu%mX{h6zi*FgpW$p8l%ue9JvwX7n3Gb(=-u?W&tKy zPgyd`QIc{1503hurObT7#NykSF+Rv1W^uR0911{b?a^?(1H5=O(&DPI-zxXT(JfdP zQ2gtF;+~bttDg!gIhqhG;Zj#3v>kpVj;=O26ol1k#C&O#;OKHtE`5KJg5#!Tv%>UI zlvW%up=HG*g2K9Y|4z$d>6ks)NJ^%8C z7=#9Q5}pg*5aBIP9}9m&^kc%vtZGG*{}o(swyib#8*{eCCQgb<%E$CAWtBxvUe9&~ z#2UcjS>t|@GHGH*Rk`JS-uLpP|Ez0##XG1Tf@B4@(@k<8hhHv=4cg^ z9`w=Po*)P2qSYrfGuXM~9kP9Z?(J>iX&pV8;VGN!z@Al!Ril62F4%uU9j}oZb9@ht zt@C_~O)5v%_(nnvIDW#9O0NHPHV-g_8WY2%cse*a$`Vmf_0sXZbvW^@UcpG357S2-Q*B0TFiC> zAKN{k{VaG^nty*v<9g;lYYzV>*mvOfg=gjJCrkmmV=hR4Z8-hxmAkn^F7pQJ8j0aG zak{?wSRm$T%9yhYNF%oMy78&eO7JKD<19UW%Rhfht>9VNvs%P-EC0XElItTe zOWXg4S?Uj9DKl3Q4OvCjjA`qo%!MQlq`CV$9}09?Wz>9yLXbbPb=deS`}2Ws|A|6 z^7w#@`;~tWIGJ`RY!o>$5@|h-Axv3>>n7gXT}qpu4egWu~8^Yr=fQSA&rlx-jTY+`>fZH?!QzxQu-y#v(indkL`{ewYJ zUg3vtiu7oQ;}?yAe>qtM?GN?0A1$s%-5E0O#aS11vF-Vl80hCvQDp{6gQas&Nm#zq z!{WRPu&cN5mT~zbV_-=qUKNzzJ~HZxC*!LfA8E6eC@xUn!W*?sK*!<1x+Tbr2-Z)) zBf)>dUdvg8(%?se{cFcC22^(Tz)pJvz=2DkCKU5Vkuqb0^{bx{&~+z$*G?-|j6r_e)F;?wAzh zjm2S6feJ5N#mlCAwnDI^$5>AnbKFx+*}s3B^(@x7KYei-=qQ`OrR^t(c}2<-tK1D1 z=U)Gnbnd~WcB8hf>EeD@8M3Gtqn10qQ0-*DorWaqt*gO4Ny0RER%&wnH%rw=qM#_( zIP$r3Br-FPqpA0Sl_jww8*?L$)|LR(AOS*A%b#zw32B` z*hhkiwYyp+yprne$ z84$EH4o1H0Q3gbG&5pons}xBOpA>^{lwX-&&z3D?1Q^Gb{96ZNpdlSLopkLS@wt zEA#}lCBUj4N0k9is+2j9=U@r<*p1CCm#FdVu-xRlxG?yROM7{%JS@`I{2YIrxjJ9l zg8C#p-n^9O#9q(G)iv?23K}-4Z;SCnuka7mah%Yx>I$Q74ZlQp_7U`;;wGSOS5d>zn|RcmQ6zh*AcnJ8$HlFqLMyLbbI_D|AQC<`C^ zEH~;lNitWRLvv8mHyaH!m>hpGo=2hD9Hs7Z-8|6oq*TzsPK~cp3YYl-q~_L(<}%Xe z8yt_TTPp~Ve_7@SnVMU#Y*|KIXg;j=`xV5tYQ3B{+;TzeoZYoAgOG%lhoLHeEarW# zOj%5HbRE*U>2Mp*dpd*_GqVv(I@DYI7fMda$6W-wu(`(uW>%o(MPV99bpG8~Q7 z1lCvm8b@cyy1GDtx-S-=rOXBa$X`_;zv9CFf`$DX*ZkuvI(@P^WK>plI(_EU5vNZ* zqN>b%P|lf)F?-OprS5+R8owuH1{r-;DPvpsCB}o{S!uPD=savD0t6L7ot8_Ek<*Dd8$tg%e2 z;x6sWp${HL_%ANe1Nnqe4`h3z9!RsEz-KaX(}3*5zXXsq0Z4TK6TR@KFhs?`P_}># z*oG6RYu{mv8C?-0{1QquO&eE%rmu={$x z;E5@=6S@fugbVla8P8&_y$UD?u*G@oNmjW_WDhxBL5xHB*J!ThIEjtmi@yBA{tFqf zVbBug(*^8!xJ8)>A3fjuV?Wng=qG97J`%E!Foo~#X}kFDUW2vqJz~km%<)JJ@P+e< zf?9uEruMNSoz`j6rk+>w<_rG)#~_hXRE@bvq*?5nsEd44Qukh?c3){jk=y1g#&?XU zCz3MX^55M_v*RPXD-C*Ly3U{{rXS$sf5}=(CH_7Aay@-tELW5F^ve}K%Bk z9_P;9jiHnO?zeREPe!e!JFL}r7`!!X7X0z4{ddmO7z*ceXpl4ZCe`oF^|x^Sr?~!= zZ>hfdJEP7VtuwD`6jyL@1rt};$`uZOD=NHz6{>NCtF8HF%oUE%pRl*N!l`d{5H^1T z2-WAWP^B$gsWDet$(06hrO)-1F1vlhI*Mj+H`s>a4X%G~J=Gt^^=oncmQ)`>BwOU3 zTr``Dw&kLi)>F}r`mSdCy9!6)Nc|$Vj4>(2^UCz|F6DpD9gJ>CLjly~t%ScQ3hsm7HU|2O=CG1Zsm!&^ zbRU~9c)R0v3zDU|?9YQVpsV_}kzBl?b;rjxcat@t7?!~FA^b6_6hi>^{P&^(AZ{Dx zQ@h_=-1Vk$(MecTY4tX7(Ch+weIC1Ly9P$Gm*MGoMol$4f{B2V{0{!@9BF@Zjf=9m zMmB?y?LCTY$VuQq7VCHrdqs4!uc@A6V*us-cLXC6V|~1(f2`rUvEF)IKi0`EZLDn{=ds#Q zcC^gJV{KxSV;fTkrp`6cd2z23{VJ0l0smjBsK64GgrM z@YmxsU>T|@FF|olU)-zAc-6Bmv6>CN#P0s)*AKH{Qjy7TP;d#Jm3Q7|$@%xfZTbN5 zC-9;(S$XbAjwytLXxv%5IlZ}``bma{HVkxLawbSm(19Th2To?BfD{U zB1L=*G?m0psLRb*NvD7F3T&X89Dh?8`3`LidhY!W&*DDnGoey>q6)vFZq9WU2#%4G zeCMDg;@bkk?}If9d=`!FR+hU;ncqv9GucSiUfG=9u`jzFd#WJ00pIb{PYE#L^=)(EM^+<7deL!hpZ z@3kyufXEzT*gZcWQ1yD$SjL7-+P+dY>kQFzvAZx`1}z+H^=8iI3thaj7)WFa!dPE zG+g6p8UChrXLn3i=lcAy&S7fy{$34i5B}`Rc46GwWBz~Ey7^nH=5NhHLN%_w7ORH} zw_nBSmlD+W62hnEJGS02%EYW}oTDYyK?Un=+VV#DrYxVMGqBE>77i!#ay-`irl3EnY1bjYIY1_= zuRT3rGf{u6&KYybqB)WM{g(R++9x7YU^;YA)1tHph6Ug1q!{(^VWO^R7o|CFNY|e} zbKZXl@41UQbLpA7U^VyebF@}k_*-#o!N~WscCIUFq>zx+l&B^88v{#un@BpZfP9_is7`ZhHN?hzqEAo%<%Cie!~Pe3b~(Q4V;P%y$EVYsXYE4`2G?P-+q#c(>wwm2EX-{Bp__pFF)zGtl^ z>iHwziXAnTPiONLm1C?0HsXx~L7LUv#My*O zQ}-iqkyz&796IfvJ#8fCdP=(h=YyP3qe*{=X1z{xu$eNtUxrEO4~=-jl(Dn<)O#H3 z$)>gkboM!}U^ZTywX=Por*Mk=r4PLRbBr8_XSedrEO8shL#u-+AK;UmHOc!jGkT!k zQImD~?0t(0vIjtVG2doyRK6Ye)Kk`BL-Gppd82^8E64^r^9YG0s12L^^3h1tciDej zMYtZ}cm%e})XfqLA4vyy zo^m`xoSx;G?>I)@)5*~|BW+G+$3SYv>Cgw?UVjOQ}NxEom zCz|NsNojMpoNym-)}2sL6Qe$Pq7`d8QmB>#@1u9oiuEODnSC?FN+lhQ)Lf%su(r6X z_R8pvv~xC11h4^IU-J`N_kS?i&EDk6-p)7tQj`X4Q^H0&TXQt`s2dnIVO+T2u}VzxFSGTN?C7IBGn1Nud5gN|n>Q(Q zJI*r-s`Xp86P~o}T`9Kgwi$vSS#%$#iQ1*qZ0cM0IS@w`r$}3|TbXi~VM00f3#jcRGL56D|J;l<7H`Q%pPS<9Svx{c97LeZKRxgl4F2uo25nD&Clj;zi`Yt548 z^jn`aCv}eUE+A0S+|++LNpt(Hhpw4b4|tY@Hrg+4|7A>A0%4|=ia46Ew{XCQqA%Tx;8OR5=k=CKS}+&G|uT4Xk59{jr zhSx-0N-^&cl?x~d4DBYIbIJK8eDc&%HZj8KK8#0Wx>fL69my^`AJ-=AxbCJq;kKJ} zC;a6m-3d?ML}7J=CfA8-K=05~N*>oNRFlWO zv_p4wp}3VwoylSvUNZ`t+JsxRM3jN&i9J85^mK?az1eQzuvVb8k=0mGriE6fE=S=| zvc48fLM3MMk;U?mGgvlF*j8lhl!|X?Idi2<7GV&>hYR$@G^6m7-iIaEzb+iE@t1$W zp2g1A3mlrW^*-Tjy`sAue@n@EgRdRu{7&vZkNWBBn9}AcGZ<*cIN_9iN@EyZoKV@m z5=Ua2%5AmqXPDjNU>fm)NY?hc5Vw2*Mb(#u)~Mih8fT8*A^7d7`tWfxrZQ2HO^0&* zf`tiid4bziv%uRGwwE5*p1m1)zE3d`ep)ECbS$FgCn z9|y`!4QPTc2fXk*@$;rBV&Qkv!slXkxH`(xNf=Bxoz%*hW6Zge)<193M^=A1H572* zzVhQ#qqrT%98%s|!;5}MaWTY>(Nt*h)Y2~bGUqVHNG^Fw58fd5R-~`p%KZCoC2taA zz+euYH`U8Xi@Q=CClKJk6rTgWUmZJVGR1L|O(%ZxFS-Rox|O-;@)Vk=d~IQ~l&+JJ zJo%y>nHKrmv1cnOlZ_?g*=m3BzA41mFgsnK;IQ~%J_mDkz;l8jg2+x!7m=NJZV}mO zah1rmpA1avQ9hh~OrCTZ5W2aC3>=+@Dvdxz4w+IkX8Q zg7+pD{gtE@5fNPUTQ0iu3Kq3gAcD7fqAntMN&O0mSW?xAQ6fKkOksbjIx5O9e^RCh z=h~{crXS$GA6b;D_I!<`CQoh)^5rlskuUD1l5m+VEFa@EaE}q7{VpNVyJ2JPRTJ59 z3D>rVgOnz9Fy8o9?YxeHAt_Hz^y^JZCZ)js3h6#(r1YxGw`$P9kF~xZV@l-9fm6My zSk$>NjJdMU2q83g4*h@7<)|=i`cZ>t1Dqnt$FKU~DQi9%o=}3PvL2pV{|3)v0-n1Q zHF$DP2SHYlExKK)^GXRFjXfH#X04E0+y%?)iH5!VM>y@> zeTd<`UP0NRPlxl-#Ilp!`}5(*ruQUPSeDmt!kw@Vn|kgQhV*G(-DS6Ubzhl)e@&@a z3mM+>NX2)0YLNVk=#I(EEjqsT;hAo|=`16T1YoOlI8s$5O^_EjzoCE2~hDh~@ML)NeP zhVV)_=~k7XmvK#s>{Y1kijs34vVOIogiVyVG){C}(cxHUbTn3~k0&Mxx(-(+jN{mc zcc2-7Bb0t@V*<)YB0EpUl?PbABV z4<}-j#@ztZjhA4pQ{b)Ig5{h_;zT;Jl~*T}j8}gu^06Tk`)RheaMy5>!X0tzg6*Tx z64)a52`8UVcS6!Fx+FOXi^E={Dj2iun&ezTY9~s@7EnnxbFZnbJtsIKQm8!r@{uBm_MpJ2^!1c=0;~9CMuyio}u?eN!(^y^g%O;|n=t{)? zr9Xed3*~iaR_%yPeDBdhJ#G>~(|j7)WYNDC%0MV@EhL zRFAz(;-opvI2IWN{aL}mo&HeHRMo^o_D5+KaD1N>N<629cWlL>*Wa1aWXIi6@0%$JWQMGQ@-NRmB*wtl329~mj z__*Zki0-{LL%83T)Nc!%!v`<1N6mjdpS#v|AxX>yI;8%k1@Usn4xA6*%|YCOP7s!_ z*+WJ^iAmEb9O08R*%lO=0rVE%?emto_+@1-D>OJwSkZIs>UBEHH zY)n2IEHY-Um`^$)1+^8GjRJoYFqEuPZ451v6%$2~`vbmgI>xt90+A$Vd2~+bAxtx# z9cR=M7nsKxd8K9<1ZvJV_-Bpc&;hCZ{(@#4qI`nn2v5rlDpw-v6mHGAqe~f$Py#3C z9-B-XiusP_FJiII+RjxgveARmndn_Yvryt#9=U|ZT=>2PzYpj4ufTs*M|l%^Qbvvz zOMqvn7&a!B&HRKElA=!$jy@r`JXNoKi7qjJQAWhDzL)3{bN;fCVzOXX6+HDu5#c@c zt&Z?w{3LbuT{cY2#9=)D0&K4-d`^tw#((s%MZpzn{I-W0U&=Qm_E20r%C|z=4kFJj zo9mu{7YSJkk}ukgz_foB2z|Ltd2JM5i>pJALEPg+fLxh6O59gl>LJE_AZh^x89Oc( z7k!So7hx1)zw6iAzW~q5>M?ZpjK=|%H_&ryzZiYOSelruZv>U^i>dBn`&?!cufq5? zjieHvtk>zIZRE9kv~=WZJd%P0KsF8r=cvVDq?E@_8GJ;jC!c@L9Rs`l{t|b4$MY7( zzcX>5u#2<;8_v-RI4;r(3^|P}@I9|U1VE_fJa|Za9bY~X-4Wdsj_5ky=#S`MJ;b`~ zecmVEt4X?%n{pQnPf6kDCyovXf%Ol2vvy!GU#doOdN=(ETUCuC1y|Dr6MN-(1d~)D zzrtC+F3M5ECXau#aEoZX8L57ZblyF(weOvj`3`CAdxXLPOlgBV70#kdD{Jdga_rCJ zoEsg35yHl_T~l%hzQ3Vcxidxm`@=xNydQ%-YQdavrrlrhEl{@N;9V5M{SO@f2!OFJ z4$R%Tb$a_@l5-^iPyCMSfbdgjT~UkkZI9L>@s&fRkd;Um=O=>838quz$&_U)a|m7+jJu`GwTs>qVp$}y~79sgo&WQSjnn` zSa{5Okgy?$t+*vZ!*b!AIV+q4RE7HjR!?JL@|%BL`s8`qTR*C_w`yOYz4e2tqi&mr z35=3W3%-EHh4520#}?auL~6OMs$S5RQ5x;m^~OCs`j4S z2h9}@ur{Yzpaoi625KY&^(OrZTUv#qbym@lfw9n>nuh8RS8_hy)B2L)Y~4s^;BUPK z`{gV6q4XchlR00#38mrcFUm(#`KhA(PAq?)h7_=mm)le(j1c+7Y`3c|Gittt0KEyA6VR@tS?hpYju@wl&N$jEsww32d$@8jIK3dAZfzvn> z<#5vTyyOQLvOMlN*89g4dgr$mdL)06&;SqUkUSl*pZUXxCB)m)%uu$73x1b!M^s61 zO$j&Wb&U+cZB^BOgG(Jo3KE+Zv`|CvKE;$E=L=5Fx1aumoj*$?2jCwEU0rnHV+ASg&>3Wm>UhbTm3zS@MEeR$_`>r?DG~>OEvH36SIN33VRVz!r6@n_so`v6N`XO`3W zkfkqmk`R*3YC8MYW$ya-|(fc3m}R97wce zOp9ukEG0jnxRH!z%jXfAJ)h#TM~5f7rbkDb3-c1~6)33`PC-W65rcodF)m30o-yv& zXU{NtXAfiFY5a7504AV@xtPFQ`G@yu)X0Ry!o`$=t_ZiWZbJXF0(P95z{OYIqfy;H zML4_ZG~w)%rwM1foE8pPpEJ%L!1mCB+n+BPElpz%rK-b!^?LpK95$y7IVy~=@g({k z`0NgY=@u9T*pTyy;I4l?cVwU)^NCJ`L*U#wMd18703`?1n&UfbUKc`5 zy?+VA1M9GDkWo1C0E|F$zfits)WsdYL`DIG$&@EO8aI6~cWa zrRwiwg;ZdZzh_|s@PMO?%qaSV4XgM?xMrC)kG$jE_39oDrdxl#68bmt;fPDiXAAtE z^2^0!r0UE0^7eC_`rHavb)j2pfHH|U`U?)M5V81>_Unj&Oe13ol^rsP%A&{;-`^=( zy804Xtf3cMeW_x;A)=;#OBKV>b{<)(EHQ_aCN3etsf;qr#-f4dB1@LsuRy8Jq3j*a6%&7jhA$iphST^MZOPOxMm&ET5{* zep}mLsQ*BbJ+vYZj3NtmWy>I@I)CBTH16QUk*HMtre7&}uq9(=xWQhouxn&E>F8eY zbqYTw=^!Y>o;}ikXAd&yBb`3Kt7Z+Ql^4HBOpF^V(; zq~i887ULz4*@2w8?6HCV_&txar=zCVKQ$mgufGReM;%C(J4pM@9&!QQFl51 zl5%>WX5WFb1`?lr`X*ynfwHy_<6bHi-8itc?Ci5Sd_|;x=w>hXFH^(+cOTa94`B`e zWTD~DhtjI%7<_p^85;gI{WXV?yDN1nes&m%EUn^SHy}{OzmayI=WEe0wDX<69ecL& zQvWjiQ8ju^Sec-_GLUhpwamwELz3E~B)-U(ytTL=F2GQVMd1me?WZvc*Kg6@u^ywn zv+D%yoy=o@w09o;llM*?_F-xCEWo<6Bs{2p|H}~I|6!5q?fo#w04SSCOr%8~7KP+~ z646q*-dFe$xY?1i1u(JRhw$?@61GHpZwwrltJcmqW3=R+39-o2jWoQi{7#P=4NYqhRiH$`CORa^W=>Oy!{-s;2QykL={5IO`G z)e2tw4qC3QN>6~!lLehzTCR1n4EtS5_S`cgQ`PsNJCR?UdG)5)p{uCGc#z2?GYB{D zbH|l`m>f^gdZUz8+PXqpzlZ0)gY(nu+GlqC#%b&ni`Y#j*!FP6cJ<3QOWO+J-w}&D zY|n4Sq@l~NV#5QS&e)aEF6!;X;~sf!}H<-ZWqm4n>1vlWTu`eLy5*#lXS z2RKw~j!voTAawH_5%4*t*!{J;9V&*Hd55Sk2*d#MGpeIaP%J=^;N} z#Jt^YAhYh+3Q$-1vL{_C9^?n(4zJC;Tlv|jK8jW7r8K9yQAFw!6${|KGKnjH?&ONI zP`(+-X%24N>)-_#3-#baE4iUex`qIpn~CEy=6lLp-A=Y~#&GjW6PsZ3P9mX9<6ky; zbiU+#$Dl+B4G8{|EiG8)o-}iTL}r9 z%2D61YTwG8(7s7dR7Wb;y9=IwF!pdB@`NjOJfU8~rCXx6Q;S9B!om_cwp*ugd@$gG z0<-nmr(yPBxcNlF3EiP{ltoIuMnQA>6?hL?v?%;8q$Vd3gQt6iQx0cV@HG=p!;dMn zc7RJHH*!_i2w8bDWJqYnLlPCM$4-)Tn~ z^La;ghv`v2yYKbR_tOhJkG%GYbdDxeyTUi{HC84*74SI38#vLZ>4^_S^awk;|NVWL z3ZqVKI+hn_lQOZJFrEU^cM-FofGhqVw&3WZ~_ds}NgOyX;La~=a zBz);b0l*T>4AR~r0!gJmVRwpjAWegzDxCl%rvG`ELe-F}hR^2vv|qk8gs1eUOFX50 zEG4G26{>}NlT&bo8IVXeopxOkbGu!MvKT2Iv1S3K39sJw5U34*7}RGN)E;_J3!tX5 z*ygiu<@p;k>tE+jy2SIhy6gYZ{DpJi79#^S_cj6b8T|>{d|L-p2Lvj}R&xFd(#8BS zJpFm{W_x(@YIZF-c@}rVgAah7jN;7>1O{*MuLA#9bx;K(RC~LXv}a0H&%@2!zn;GNT%+T!h#NpD&Uf!=_q3z%>+yx~E3UmgmM?J; z;^z}2xDI2jis2%o!@^`9k(orYFxDD2IiU|U=P3^lPr?I#8R5vLp6_W_jH8ls2a#&z zp`v^_F3^rlApLO<%Uk4n4RQR=I z?XCQlQygrJqceJa(HZ-}uJzPUaotv*19C~J>-e+Hbrypl*0NFud_#Lm+|V9{muhnq zLL^#AZrWIXp;h{lEaM`6W)tJ%w{)wN3e%)STa7+`S0IlZJ9b*IA=TR?XF-smY+6AE1zjp*Edlhx2mjhP z2!2Be_<^5?xgXxhU>F``m>cSz_)}tfamtybkc@eJ*f%+a~_-;^giegK));Hkr+)D1= zKc(M=-g!SrS%;wef=Lo`{!*6sI$43<9|KGs9nibf0LmXMOq$RAcgINT)W5XtV8-2P z(p&F;8Azw}J%#dUJKtj5?LANSFMzhFf38`gxkPBM5_DCiFli37S>EE^;kfMI^cZiX zk$t-fijmyS8b z!ZaX>V$p@B-)Us8mbpjDL}e;8==ej8MM{C009|<;#bu{OF#FNsi)Uj@4h*fMv@i$d zQ2>{^yI44e%cc|ag2a8&b&95JY9)(%n31N<;Ze$I5af{Bct?8sR4Frq{h=28MI)bo zcK|l(-~JZmd590kEUurWtg4xZq&Wl09JjlXme+AXwPLG{$)I`5&yJzYf7}Sri?Zg7W;pf{C>VTuzp#6{-5+;axD0} zn%6Hc6MDCggIH9%*+;5_-MxrbHqy~7qL&9XdMQc(z05&+85S#-qL&4QN$)a$z0{}} z(#ryOw-Xt621;)o;fwEbBAJ!vS&Y}cXMhY!&N#I6=w&nnwin;rF2&RC3l=2tGW;c< z84JA2%;Dg(@y(^oBB&AH$k9-cO5R?!Btdry4Xj2Nbadw(-^C+aIh-Kwtq18`OXzu; z_S2YO@TLLZRP@SadKsVgpYULRl;Zd_DHBuml!E8S&H|pn#sGNQ>f!0k@HmnImK~=E zmgn{XELM2$X{}X>Db}jk>jG)`+yzT9|6%8g<^{pTa0ZtB7y7!UNKmj}c-EwC;Td;< z#P(r&^8~}x>t`e_n^RE?WP?_-=lJqW>=TyYBjN$#bf|LwBvnb~4~I5?H#Z2!gme7i z%b&%EH0C>+K}9u*udz8?qyuM&U9^|T+xR_1-e&J%@>a~`?Rp2O7RJ?FT)X)2>FfP}u6tM3_mc4ZKk2{ZSnzk_;u87m`Z5pKNmxy|!>-U}Blhr{ zaG$8@^VbsG6{|bv1|wm4<3xsc;FRYqBjYz)j0e0I#38QX_YNs5JoC`hy%u+8!0-1F zzdc*cbWc?==DV2``RZ1BL@N>XJ9nn@i!#K+pp#|h+eoHDix?VYgpyJ^#;>_HCyYqlBQ z)*g_)H9%wDU`&pGDFg#t=0;obmw z%3#!}U~oM0vOlFv#8}3zTuWY#m*kSgUV9r$#vQM{C2AKdpf%j<~dNFn0b_-@NOq46xt18 zF$_hQ9SB8#hGJ8!e@EX$6$euYCCEo1P6YWV#GxP`g~(&&MP2SE4>y?W4%$EJ+FKpO z;(Qnnz*`=8no#@+1marE@j&`uPVWe;%!D9zgefk6W+EYF4##fdc37ky$jIO^1Q$e?Aq%-+^ z-A})lX0Ky)cQsmFJJat0lLjNN8*OzbMH}IhLq(1R%@M?m!`F~#Aa@mj+&!wEz>Scx z(}*GUh~iayT5xK&X^ZR>AC+!*v^Cjh5P_+Gj@l|HygQK7T57%hz*F9JH0F@`_CKhj zq@3^%v|5xj(RIvb^q@A;()=)t$|5Blv&bn0*0^7+QqNy3u9O0}6l1-*S2(l`68uKk`EF-%Xh6zQ8=o<^GWZ%u;t8o`?=;4Sul zBv?`Ib*-d{jGRF8?vCA#TgG)45PRN}KE(F?!lNv-8c$lA{|2Dgq@fgEZ20!0bAL)c$L91M-XJDrus*#y?x$A{V-<2gF+x}a|-CojL1S^(Nb4M9~Ec2eM33Z!me0g<}HTi5{MC*l=M zKM=3*h!$NJ0|a^=htiL6=})=z1CGV}`xYu4{*x$OlZ|c%wFJb$gs}5}Cjo6({r`b~ zyLHbuA5sS6TWQa=%lNLndlt%N6#sAit}mmU=^X_DGraVS6OI_9da?X(0w2a$$_c*tWQAuHThAEyZE~D4QK7xkevx zr4}Gl}SLH1)hwgE*AtcJE<~{fyoku`i86 zEm@w~dxQdjVX($i@VXDYhIi7olq0Un(Mj;PfDIS6umb9i)s>^{MothpDfEh7D%heg zS{XSD9U$LVzYy{@%O>QzLRqB424%Bme=D-JgG?Cp8ug`I^uZ>7D!PMGexbL+mlEM-0&h2cj)3ypl+RfxN@-kje zXp-wRvL&}uj2Enb&3^|(NRg86TQj^ydt3Ow*U=G3e5J`6iC^<0S&3&g_u12xFbYBI z3^r*Fm7KeYeM?1ClKdYj60!1Q3sDm<$hqV(Z3$0LDVCKBp zglNB}r~L@@F`SQ`21A26B&jde@O(?@guj0iIrJy|#n8QfyFv^c?sd2DC6pcc-iWa< z#uQ^Qa;}^Mco$}iDR6wQh8Q`?O-wVR0U@;yUDYQV-;|=#%!pfdVB*fNc#-xEU{xkgWo8G^i?IRDOvsW{(=0R zIFJpr^8~biquNP|piM%08io-4(V#aj|JT{TGz~Nx*#?>oWjSo?vL@mi41${8{xJ$u zb^Un?%(Hh0?dcYdAcOZX{O&}Hl1KJ8_-W=e8x(%Mn=*qt6 ze}w&B5W(*F!9ST}u<@^8%c(;ikj(O%J+x0BfVe+*J``}IWBsHi}vTD<+y0aY%IEtcmLZko9e;)B(o`-{w}6#bW5tffQ3 z&l7`x4EAuC|LyRgY-~mbVH0g~?AhVL7}3Cpi$ z@MrHpuS0>WlGB8VAUh<~nE?1&16HpZJSe6|SyB-j%4c~-BSc6M0i#6~gF!u4j^aO| z{dVh>{tWQZ@T}xD;o6Nv?eZ(}Obm&CR_(2d-+IeRAK3ILFf0L+ZmFVted?zzbY zbAr{m6@5MZHBM~n7f0k)E6*WXR-w6U{Sujb+Gxvqr$TI^x@F;+vI& zH-%dBb|DzN-^xjuS4>pro424&n5grNsMEY0eTy6=WYYMpk@yxyX?`O%Zu3i{H*aGm z!`qmPAnKP;1KM2Uv(e0-a-|$a6~4{_=(EN~vWP-gG&CP-e$4CTNh8i8JQSNFBcgmX zAUZ0j^2b?Bm63dZzYovKM-90Djum*wHu=>kYsT(tC^E^t8fYXa@tejp>Zx zjvFe?Zd8E-aac0$1d(HhMe2NKGio?u4q4?Xp%yudVjakB_gm$*?dT+a8%d1IUJz-) z3~wYD$~9Tyes}Cw4~vs(a~<6|*SWlg4Qhw-JgxQ4Yhv+#`Mz-Y%5uz?5Vu2euB6Cd zc~M#>(m#|ouzA#b<$Nd2g9Cihc!>63S~9>$bem3^$X5X8evCVJqmF*q&aLHmhR{k1 zImEbpDKmx^Htg0|{jvDUcXXUCgX-!Wt&$veAfQnDZ!t-w$+z7bjupfx5+0OF^@$iY z#DRVK2;;VYqdHMC_%)Y_HDR1=nljdxwO+LS{Ca4+oQY_uIu>bZp^1vxN)?r`=fotd!LR?Mq7;Lx;B{zs|4?mO^ z^^8;#=d~3Ed3%dbG-pFW6LYle7a^f+@d7CR2~9+Qu-8!y7VU;qH924Tr5=*O@Z@|! zKWm!Gf~c1tqNBkC(f6Zis1&3qb`AVcme%z{gbDL}5Umm6f7?55UCCHX-afDqF(E4I5pBBxjQ#mNI0dtvAf*V|AfdN+d?g^4%eAt|EJ7i#z0m z?hZ*enTtyHEiY&0Sd0S>9-o6`2pRx#l$=j#WF1++K=9@ATPUNhAmlgQ9;NY-3%(Fe zhkyBA<$pta;hjhyYe~`?*_1m91Lm~G(VeY-#ZE=v7&!^#AAF}D?61=)xYV-3$~+b1 zTUIpUg=PJ7q&PDV!-KN>5hiV21WqMEKk4mZ-4%|Hq;##XS#Xg$*3{Am_OoAWhD1QA zzvV@kRa+py%VaUU8%Z;Hcq(DFDOahITPuKIyiFQb%?Gzp9dyhcov;3I2R)UD8sB<< z+0P>@@T^o9Adf^h9 z@Fu9rqZu}`6v@Lm z&+^xnn}Rvy!N;`Ai_(XDjjRvJ|gf<->44frzVlnXN zq{k(b8>sVOcuCCqXAnS$)~fh_PTh|fo|i0CTQFO*akd)5WKd8p4vQH~F6)^8j{8{f z5s3g^`iw*XJ3k^3z_Cv#zeEKgSh$o$MaOc{j$Cvp7yV)#7JWnu;-1SzCRi@V09GH@y80K#y%Vhsc4N1&pii!Fs(QhAr_(& zt(qm=7N?>^DF<(~WTa&S7K}!5s`~}>8zvKj^~nDMgLWYCX!PZhE!U z*9!R6dkl6yw}*Cc0`G089fP7`2rUDK(57OweJ3)h5d;kHk; zP%P%Py_nbbmuX(@Pr;mK)0{qaoNR4UjK%oN@=IBBio!XyvB)Q{pEwELDPPw>bN~Ao z_7@IrBfKuU$3>O*@Y6;5m9Xf0+AB@>@eX89fD!v>ui!6p_P%noSMtN5(#Cu22LSMH zgMVi67yq3pFNs=0gM=TxrImeZIj!uZk7;FpUsz5nJL_Xy*$U+Z!JN-U zD{)Z^7fs-zQ>bV~MuHtxe3o~jqq6j=h0>fw29~qpiN^^8ek1woVS3(2db}I-d^^dN zawLhvhR8we(Q(UKimG$Qc&JqSnAFrp;)>}rS-AJcISkGlN+Pxpqp@S1M6Z0Q&(HkF7(YahS znv2GLNQX{2aX#6&XdV|G#zpUZKt=nlqC-cU?uJ}+ITvlqMfY>j@++}uU7qf~VIm2I zir$1{{zcy18t>(rj$y&$bu~ zP_`W(O)!na%VVG;{Dn$*(}M4TuU~+1TBU9A(P{*VIpLwQc%YUVmTu|qBqCquzox0| zw2IQoy7pS(dX=Nptqip43lmEWJiq!3={U$bAd{MJ)HS~yBd52nMhs(#ZcbJa0L!t} zlQBwvX)??Yo$hXtno&+@^bO?@P_inDgFhpL&HOS9Mzx8FOitsYJxTOOZA0uWJUoUE z(k6I{f+yjuYH_FJkeMjJ2^^}q3f(T$Q`jO-Pzmq`W0yi^d#4I#0$joYluSPlpnT(2 z*9o7zHq|e$y{a5OqRq<;f_HZkI`F0yD6fToiE)gf_j%6aGn%2hAV$toC_pEfP}0Yw zQ;{jgTLeN}YJuaA6xRdw$q-F=+c?-z)^g9RM0bjC;882yq`x=eCQ+hLHVn-=66Vch zm3}JKL^L$9jd%Km5}#ZZSkqR0H$V#0>f`Sh2eZZvw!U2_6ns6L8Fdc}4EImc3HVZf z#kW)Ztz9pjfX^(xRisO8#F5Ya0=}c4vw*L@C~|?TS548$8-v8R`V>@nlF=GhXpgYE zyLip%GrVa4C;ADY&~LZZb&8CD)BHxjFs}84F3nF`-2K)g)?k~fb{Tl(ehXp@M5d6! z9J1>y{z2Eokjy=fYc}^(Z{{AGlw6d59ZoP&@;^3sMKJ{RsTsQt^;--xr_@9eNYay$ zL^CH&-A}6j9827GAcEM}JBYHxNWM|mnx*0=~*2TbD~ctgd1q!u-TID%W3 z*$*&2i{}`XEW&t5ck?tMB_%-L!=VZiqym;P%3mHv@S*W}VY7mLyt`RHD1f+MII z-E!0NS*}tG4|23Tw~V}hr-X$Hc#K|-PRw@jk=TZQ?ehQFdHDb0VWm67kQ_0vJN|+~P0(t6fz3-T%$Mr;5scKUBP534hl-q|AEV`>)FQ zuD#m~<#s%zjlbdj1Kqa;cS@JRXoTO3_dn>qAJskYFQaYk-AO1{D9WP!WXZOx-Ys<> zkz<47kspffMf{L|y(RNPHP8H3;-@UMF(1*PstRi%Bz1r~fl*wXzS+L$lAPa8As z9om=+79c~tpghMv3G&@vsLLdOf8ltwdJ0eQA*t%x6V&d1RBrd?JZkqbZnp`y`!uy{ z4HfKv3Kz}iqTWSR^zJ+=TKRn}+AUPD|Bbll3NCttiyq*jq3=;T!cc;?pHZ;?CF5Ts zyp<5%m{j%BO#=0o)zqkk8{Nu{zQK*Y^DZ{pN9+G%E?SR^F5sd)x#%1kRbTG^SAz&L z`cVI>Ug$M{&>(B(@vG{M@tEgXjE@TyF}P(y4%cvD4cA$3M5wPM;zYvrj|f#T-c0%f;DuTgi%{a; zh?CuYZT`llU*YV1{Z)Hv@)-o`3mBcL8-S62KqHHioLxy5WIAd^e1wNQe0UPqB7;`S z4lG{6A%?0FG@*`WIrLa=^;$c4^(?>ogiHO6uR4@_VN!n)%6 zgjwTk(V988nyc%Io!D{qmtJ&*M(W^gzPO0(y3fGTN z`z!wT8-9!8Z{0p*g-IKttF2;*uEw<`x@wN)r~~cTcXZl4B#!mfI2OW&b4{6lv(DC@ zPc^sBp_)zRlcPaR*bGjhu;20ON)8L2l$^$mE#cAEFCuU!YYi))5bOps2xOsS!RQl6UlYOS%4wF(H zW?h+omn_3L$EtG=C)BaZDF$1A+?nZ>VsdP8ccghTD=g=C(Z!9YTzli;ob)__9Twi@ z_LYuzx#t&A|5>WS`2|SpG2)T;4hA8GLQi)Qd0WOtl7Ibu!iy^lv}`Cg*BPrT2WtER zHT=0?^`{L(JCC59amM3>wM<%0Yx&cgtbC%oLfG{;X)S~2;aXPKc!t`4Ty!B9Ro|te zySZo)o!Md9nSEs$6@8J5ZsVfMxaegnT7}Q-h5)OIS)@wF2h-ul;2^(o>>ELTs+`5tO6FQ>$RwT+hEbTJ~ll~i(FN5SAdL&=(|$lsX#l@z&hG}XR78I!yA zC{^)=cS*0A;<^U2=D7{?+z9o5NkWO-6U&r;mt=zM#+nCZ%v;%oMJa&^%J$nlvN_7U z+dS5xdT?4H9df;x4qq_AFHZO{6SX=rTlI7*Eo2)6c|fbn|ZF2FFN#m4U7f?38I1b0 zESN`lD{GkUViz{paCDaWAbAF>eFEs(aVeqemJCAIlf;*YUCJPIEuM?$`b~MU32JcB zcev>HTr`)9-lYA1vcA071nLqhI*Nd{#SW=#+_;Qi5YhWOHSkk zWA?xjg?2(N=ocxgZzW^qA(Y^zi0EUg#ofnfYkt>eyeP7N$aRC&=;4lT!CvRrtge$O z&5NzZ-96p$t#B-z(x!SomKaVt-Nu)5X?zN&YR-eVQYSmVL`jQACM0HX7JhFAx2U8QzW+7 zi2>N0Tlu?xat&a&8Ly2o=OvkpspM6!ZZY6^9&bZNjxbBmdN+5CHgtF$zyUvZ2P>Vk z8E;~?lDWwSShbij^AYa(24UQHMR~yTYWpiha!x5uJSB`fV3o0g;~>oPlZo0!D3pPi z#KSDM5#BidUVjn2o-4v$J?7mZ^$nidQ2SO#pS=@*)K-4KX(&5K%$U63G)f+j;=1HH z4cJ`geZuDV)7hy)CTz}6XK9iwajsJ?9s%#t zM@HU%rVKeI5ka1lns+KRl!`|w_8Xoh5s5HI)~(t;@>E7_f(sV$FG+J7o83v#KgGvP zsV8OSSf$mwCe^^H_x#P@rL2*(6v>%?&8P|MwzDv4HpbucRN#0$&=!<=#_aBjZB!6# zymkRNpyW*NjAkYLMKJC;wP3H3EM?6g%!YD*GcTCa?+Z1tN}1@022ZdTryDgB zfn!>Hpr55I*b5l{3S$8xEFNscmv5pFx+n)bYEDCxin%9?Lg&@0Ud}%B+z%x3E5KPz z!RI*49a)X^LECn^Ejbx?9+loAyC8Q2dHRhEnM=C0x!sNHjp=tLJ1PQniBjfigMiL| z9h=kIh#&*ai8z>mC-Z99aWoodHc3P$OPSx|-UEQl=`&D0gJELS6$ak`1I8!K>0hkH zJEZwmyP%hE(PNHw*s7x`ju~z!mexiJ8Y)K&f^OB8)a!)@P-c|0FvnwFZ$zjZ?L6&Z zaCsRyIT=NdP6@YQ^wh*&*tfJg_qE!8>y4gTR5H;nQS;>qMte|9j+O{O7pML=n8>XE zAN;#hT=x5wy1%-3tQeIl;Y}BC{%CFHzKWA;YP%pfs4bcpfmWe%LbVRCi{*CEio~t_aD`gwq_q;~Z>5UAmBUxLl{%yh#Oh&O zeL7dar;X!okgvMruf9-J|C1~mWB-{?;}A{6aTCfrqKQrZChpGhHPKr%v6P$mj+;0) zhngt7Oig^HHDUKRan#>L712b0e{Ny|H?fDC_@0}1O=}{?-$ahTiJz}<6V=&7b5tCj z8?B+0_1wyMZl$g^9Uh~vmCyXGI7KVJ7`55_n5(zq>i^6W)xY#tU*fOcMO2?h9uNud z!WX6THLAHotN9v#n~vYEF`|5nj55Hyex3{!^Z}s_GSNyh| zzfID<1@X7G_${5k4b#4zXU$YS{5Fceb=SV_t#rtmX{%d@n&+iYo`TdjdeqBR& zzn8+@NpWK6DI$bRu!sO8f64mEp^_Eun+zW0#3KkxFj&zoK7L!(a|hy&ZlddpD0SYV{h^doFaXk#HUT6@W`}IgUt~-y7Jh z!5uqarpu3FzRm(B56eyF%B)_0OuRn9ujh%^)dNfaS)E_sCsN{n7zl`;@e~{rhgk&K z)Jc1uk#BML%T{{f3)G&WHozh~a+K&xBn7L3JfmHt?`p07Ng8z1 z@wbBwo*4lxJbF?1$XyWB_S;}#w2_9f92($l8aBlP54nDznjG!XQyQ(;uDZBowaX9OMXf#ST0rtWN3)d*sPfG*9K6k*Vu&spZ(j zhNzPH_$iXHE6<)6qkd6D4wYj&YLLwkWm;)vY7-m3TlrLf5x2-l_K})`dP-OFdJ^aS zp)66@+1#Y8Q4G4AkcpS5bX_Nzajr+d^zn-DsW%we79I{ehISPta1JxFYWIu31qjWJ z8tVO-N%r#VIYfrim|KDw>=+enfW9A7w1wanPboRDget~!r3{_8x)F`9_~-APSf1ub zam-IchjQwF5j1$f~Tjer6s)ZgwuO?*^)Ls7DWW;*dUnpKgui$>0t+df9TS%#0Tebm?9^3CnX=osX@Dy z@zj0VI(EYN4T!I&3jh8Me(yeyYn+;6gY9K=V}|BalydT}vgW+FZ_%&y=f%Et$F{)B zx$CU5%!f7;&f`3UM0=BD#}SL1x{6gLhKs&BrgDgJe<)*pbvkf^Iq1M{kzrpChZjjO zh2P2`h$OPM9Pb&Q$C6w;i3bTP2&A-5sk0wM*0BKBr z3)5#}x#iS+buEf=kE@ujTUqL_-X5#>zF_bN5yp#DUNQ>G3_iOZckK09OkV5$%{@hE zJuUl-@+g{=q`#@)KOy8Bqul(Zn zhQYJ)@dcu$sWwc!Dfe4%aUODvP*M1x?D>nx^O6R1xTv*Bch~Jn4sa1>ZjF?#Dtx(J zA1PYc(ThY)l4EkBT?Rp}he&_(FX;4VOZTTQG4hAUu*` zIiVwekF3qR0dNVn(1J&T4gQTG*Q;2Yep_58;WzNT&(@(qzNZR$Qp|@cpizOrj)_Ip z`qb+7NUhZZ-3AoxKm)IpY(S2EClb$p|Fj%~y$!VUQGKm}oH85eU9y1^SY?B)ib;)Y zA}Zmz*Xt}HEo`Bpvy`@d702@f1i}f9@qIpa7ALmex_UT}gwNb(+Zy_Fu)HG`ZP%%3EqLhs$bzB0V9=8O*DS2mqUZ50fvw zdzKio8wz%yym$tXXDYn%P|~mSfZXW`VOllE9-&0ouWdQfh4Z^De+xpPd$$JPk)pVL znK6g_`3jX>Ha2s#f;mXbB+lg243f7L)1R;!Gf~Kx!I7gkA)GU)^&L3GP_z7u5_Oi( zqwov*d@6hgGyWVB;(Pc1p}K zEzqzb;}15xJ*gzXpaHcI?HrkV>=Tutr-f1O$t`H*q0~Jq*oK*CR4gaw5GmsX>EUS7 zWS?%4yN9Qz9Wh9m3(?d$ZZA7#s`uF=chKX)nD1GX;lG|nCPWpW8};!}X7sv{a|ha> z*QF{|$y7>qgtH;Fzx_{tMf=W=u>CCh*1;lA3Rj!Jv-0sN0&zV|6V8RB8YX-bdEvq( zCuy%Ri~<~R!DncPy@_b$JZ`U*BEK9RYK=Q#b2+jlC&uDaC-FU~f4b4I&4g1iRv-w_ z`u(SbNii@znO_-jQ(cxaH}X;PSUQK5I)2(<@aOybz`z=SPoWim6@!rQa-(5!;TC*S zUOy`iiW+{m*4`)aG1ro-cC;9CEeG$=67bBkt*e}TBs0fuf@yJ7g^PvrP7u%0ylZ^1 zJ@=R|GyHU;L7mEu)=K@e3^WBL#R&8D-pB|x=%>N%zyzGBFa>>PYEv-kj1RJ(PZ|PU z@b;Zy+R_O9S7!2m*?07m!FPy|z2;gd#A%Z1Rm`ApY>0(xPxCFMEi<_{XRsm22dDUm zeT+`cL|?ECj^QPn48Ec5g&Kg~C-39%( zJ0+0(19Gs2^Bi>%9R3OpW7l;{1zdtCz(<5|spWPtl*%T5E!`9B5jDNJ2Fsh%0G43@ zi)w?`((g^<&{ygA220NULc-n!@%L-uj|(YxQp_PG=ag9f4qm!15G%alJjfUT+Q;;iiTQAsHw#O z%8z1g4BrrQ=ysttUCx74r;^20#kc8WgMFJ`$^`OYz|D>rz1>lr_PsL?MkM+q!_^pwcl{SDM0RIs^jrnrjL zPYi)mrJu$Pys>M&!Fc)h39(Y+sMkE3jM>15G+JDk%KH>inqxM(nKk2qH$_Ui0vDLf z<91U@+!ffR$0g?`1TpT4Cop7uai%n&2`=L22o@@n&h-d zRDPs?|Hl_%Qc`F_W>_+WrivHh^YKzn2b@u=M10&=IX*afYK}-*-Ka?2sqH!Pe-mH53kA>8H_Q%CIwtni7AAan zqTqBZdyk6`AJP5_Cev`2QKxF2eZqItAm3wu54O2l!|!lQ9v!N%d^1wXO&_DnT}FpG zzhhvD&}?Q7&6b=EG?SEbUS-fmadp55*tX#D>p9HZPEhvCVb)!7pd(>=b4Hr*+>g9aX>E$(S(&g$c-YtFKIYMHZao@(Z-QJye= zbJiG7s5$FJPp~=bWj}^y{%O#xYh&)Qb?rp#CYp>>f?=UO<#5_y!C_8pt|+{}83oA4 zcuo-;h;kX(4?1q|%!znZx_(oB{he7J=qdYmoJ^RB)l8Ns^rcv(XxuomWXZ^d*Aik` zUD&M5MV>v5-$J6H7w*l^GNuG-E{}(+W@c)t0LR8!AI0tihU;O(; z_gvOHwT$oh@7P1$|1bZp>Yfjm@m>G!pMUAUjQr;59S1vFTQc&Da5{`=M9Fcqd|vm+ zf?#TWDFAywguko6LJ{=eO$c!)@u`l=f5^a_Sfw7JR7wB@LeT%XLjwjm-DQcZ{`U75%03z`)$f+ zVu0S?_hjhvpW`;nVR+L!P6N6u^netINXlF)e#R#_E>rrHIm|qG8kN+ia(|!BfA{4U z8YOKD&L~Q=56LK+W{=7!8tmwRC3Y0!xEysn=D>K<@aY8}ax)yuH#okpJazTst0>0z zzQ+WAJn!h|5$Qb`t?`5G$)3mJ`#L)2B_E-q!dNI0i^I_b zJXZQ|bWV9@#=l{&6L0s$l-9YVsz(p8g8lBV%zeT|aTgvr-7#w=z#bSMmorW(|Lo%R ztH9AlJiP{INH3u2f0)Sug+tBZ zWzj_Dt=k`?S2f|4N4#os3}s+&ATQh@G7^@^XTH0fA-yATNSkQ_e?zMq*S*r~KaUtt zvazF!%^Ko=x*G}X95|9LqP=W=%uj*&;#){rtrIf~r?x@MwT$gvEK``Y3AWi8Pqh;G zi5K7If2K4)KdFZ2X^L;2e}m~B_}y#Gdpa=1Pquiem)-N z(7<2Yxq<4iAuhm%fAAoOl@fOz_Cr;_JZi~dp&}?Md9VlOBfVk4{gCh~ita!70#INN zuF|4hSALoCs&W4mYIc)u)2i-%QR~9)82|DRE3OdPr*)^09O%G6*O5gzf{vL!s-rP4 zt6u>ed;0)VtP&Y+2*2c>Q877%xrz3Ag}G4<;Jjv9JRxuxf3;Q?0u4doJ+!+phw_8! ziN0^-)wMTratp3e{D?HcwOd&+WUnKRN#J`bt#g9ieakai;rk|j0-HTjrq5|UZvj=mJ1w$ zy|mj|01U7py#tW1ZO9V-WWbxL`%`?a&)<1US?59wq3y7O_c0PLKjlh%#GmiB1pWH$ zzvscPj8RhqdvU z3zN3O08e|WmTdoLOY@u7=BFmrP%{k%kpy-JzkAI=WBWsS8CKf7JEX3`YWx#3Kma9^ zoS1CZf8ySX>tS(k#1SY9525KK9!R-pKUrH#BVAyx<>^5go8k5KNZ)HmoGaflYbPQ_ zV2}v+D}+lUGHwJq*~{ZBNg{OcFe zs26yS`ZXq7_TzDEDeV^JE3srh-NTKZKVXbY$I}??FA?9gnEr&deu4O=4_{)3g<%|m zdGB7>d234Kk70rWN1Af80MF}))nkkX%>)!Rh_~?d$fGF2I9NcE3&nJhwt(d1BR+P~ ze~ZjX94{csFc4nN5wG(3RWiJqCSGmiS5Lz8wx{vd_+f#VY9IaHZ5W15zw|YozdAgg zz6e7KLmBZ>Ae24)P___I4l5u;48qNdMxM7LG|K!HK%(5(L%gs)f!>%h_$dJR!+i{2 zLynA#u8}c&{1T!tq#hx#lAd6#y|VI|e_34xR@`WJtrU#di&0k_?y<&Qf2~4HPD)(v zlps1kMgWv4aoZh@0n`-dA^TGpm5OHWV2UdrMjEompg9!sX!`P3_=K4awNLKY+lU0N zJsAJW|9*^~-UFIB3++#fVdm`>f>UL4zQLE;z=7uL`)X)Y_sENy3&!+(jDuK$e_!jdHLutzX6PZ~8nE8b}+=Q}!8D+~9sJea~Dvi}0x z4ate^t#U|ts*KF3KleKuEMx9>jt|PY-=F*0Cs<~2u=+7IQ!f+82RjM?Us}VTwLUWo z5isRv66p``0Z3CdpXcaljzQ6tH8lCvAG9MO*`KWdkm zpMzul$fi%KYpZn{X1{=E-*MF9N;?X(Ga1IDNMeX`XKfKs-I>_lB8LRCe^rKW@U zlh2GfPyV0KfT!kWj`zX*`VAcEnmr_)ZAc(guyjZ{?Wn}p9QMlCzsC>&FJ@T3RZS1C zz!ucJBO8ed$$DF0%9X+S{|R%@zrx&%VGb$@^NoChd3?1%n44)ZKe9)k(3sB`;KczZ zK-ERLfC`JYN9~O(l2+tIe-)IncbIi4n|8txBFrc(52@zoa`K$biZRAGs*Ihz{Eq{* z$BcwquwWuN6#P2Lzc3Y5o^v>qYD-kxw3dS3IA4G_dCphSSAPFHDUF=#=sji(YERSnX*RvcfAK?}FCJ5ze>p00 zQ3KETwpO?SXY8d!f8++(#mI_<*|;4N?jb(U4q-jS6X6<>>Ngs;YBjiMsozu3mV{P^ z;l*3;6!UFoSg@v#A{ENjMa3AXdd?Su9(}W%e=ifie}XxKoxSRXV78T#@MVoW>QjD! z?Gc?AJ5eo1Mr;XNe}MB;YHPh+5AyfM4mvZa!>P|;JDsSrsZZi_f9~jsfR4V{O&vX= zbreVT-abkEdn}1p-wa|75OXW!Igh}fRATr%D}Ik) zbf+4X-8%#s?rhWm1`>*qWjExJHoFD9UC|oxAfYp#*!V!GQ?5$ z)@IbzqJfmu@~9F~@PLK%J8+!xrvpiC6nlOQ)w#fRdIi=wb3oL2$6yd=0DYqq1Wxla z$~V!`#SLq3RAOoVilauT4K0^mc4{ zy7;%-S)5dBJG0o2sjt#)EOyOsfUVv(Zas~{e`4NNu50_YyH_NMm`d?`DghK~9I0eX zt1F5ip8e5mW65xl5WW{QrPd@#Td+}#g)V*_>Q$iGS-`V1s-iYKi@O=wp&b^CXx~5CK1-};kju;o2}kU6`3u$i@Vm4vp)L$ORefViS@a06UJ-cjYOs~$Rf|klQiG{Jv>fbfdDkdtxyui} z3!FdR4YdDBBDVj?zqkL>kD~p_e~G^KSC`Y;&&2l6Zz;R|)KqML%jSP=f0)+(6MpzR z``Yh}?Z5eu_W$mP?GO6*_Psxd_BVC(wSUf}wOUH#`rY&_jZAK0qNWMhHFiTxS93e{kxyjjsM~OkMZ|ExK#h1&D!{V{V&A+C;booN9g)Le-rf3{;v%5^?z<) zsqt(5uQzJ_C(`&g{&)W?2I|KD@ct+J`yW@Te^0hHeqaA8a#xf7hyGjY`affQX#eH> z{oflkV4}^RWM$8~(fhjRSP!e|Z1%2Kf5VDAm7blQw=||7~gf|3m)?y8h1? z9@>9RfB%(Ak6-J5f4$cz`aeDl$N&9*_rI&ZZu}4L|HJ;i{@?3gYW!K+_mO+Szk&VVfBg18`j=y$?@PyxoX^Ki z#Ktnu_m}hOyov3rJ8!<;pg(V(^7Y&Tdw%`fhn+X$`})Uw{lP=W+r>ZL4yDFBZG#wZ z&V8-dGpVTm`mgaqm4Ev9`=9vm{`dFs^}nM}$^P$sFZxgP^`DOYXRQD4{?l~*U%&s* z{`>p;?_R3^e`#9(Irp^w8_@XwhyG3a@jtx(lh69k+h1nH-n6*T5wKsr#g&p{lbck*@yRA{Z!#Sze@JouHDhv$>w--lU*KubDLuZ8 z!EOuWr>z;gnprdQy!IYe*%6u|JHknxenUC4ffSslFicMTG<(JP*Bsl@rv*)OWOtIX zLfTYLj8AiHM+eRb%%)*=B}bwOFZ_*CZAOEkyF26)i@WWvW+Wa+D^Qw#BV-Uq4VuPf zU~lvje{1p_{IR-|qG44`Df9}H?_E`%+aPq^Q;o{GuSIQ+S#yUP$g{bw0H{{iFUrr~ zk>M(X;N_wXQT8_OdkW}&BAll)>4cciq!UpwC4#f#6@N%ix|n~lgGku(gXm)Z z`XIWPzdHyo<``&?LOjKA(R41_j*Ir-qO++ex~EWxr*d4h9~Z66MH_R`NmO(mU-#p_ ze-z_XM+6vX>f+e|9?rZ24aBv#SJoocJo6dKX^z_wte3Da*GZ-Lb6%7R!rsL5gfjMX zgKz;f@V!0BEoA-TQLT`)owFkj}fB=uU!tfUp-~$+Nv;|PQeiLvWq^fH^ zFEhVGFPq%*haRW_ygcJoO{G)sBY5Mff7LlXzA0KyI8r=g0_+DSh1%qi;Ut7Ut1SDL zc2RSS>zG-}>WWBJ36N^LIejMJ)DN9uD>cQf1P$36kUd7mj%JvH+>sSiGVTga+(nD) zD5i@K_~IQNIi^hd(aRDS+t?Ot;4D`*;I~tP4Z_UNE6sbGcH%9o>j6bjmt*r%e{f`g z@bwG^dl$BU$=J>GA=N5R4z@Qi9FM6iW4^%k=-UTKMXMBCjK5|KMoF+-uU3j! ziDwM$q@=6IghYPiPXWQqq8fCk-sHUb&V8 zqP&I+%e3DM*x$#y@%|ppf17(J{6stJs0PRKU+PiP@w|Cm&Z*Ql?-`+Z{J+IP|Tib7Cf3_+bWgq>F7<<(n zTc;mRzUlcJv;Fp{*1)5W8d@5wEI{XyhhvD~IpOpMA@b3`~NfMs0 z^3kyairV6?Y2nb|KFJ^GtoiN}oxea}{o59*&eQEDbf2KcSZ}!!lJE1UY<-oc?ai%u@4hdVY8!-nh_3@kqMV}W|lK|e% zEkEc(E%)Y@AE%Z_aLZqRg83EJ>Dm+egANH}vDFd2VH?D--(Jn|Hzf;;*w2n3?^^HT zb+XH%*x+4`1yP`q!zr#}Pc`IkyHZtTm-?#^IMPe*|WK2J>_J6Xxur1G7AW zxqoe0{IF&p>jmm^=?Q8mtq&QK#vD=xXuxu8l1Y7xBCw8f=M&t4uh;Nv#p0lO4(=5g z&gUWh342_!BvHnFDzw+L40Ho@R5It47st~?pS5=~m$DDjN_g2oy(gF05`s-di9+F6 zs2UV9ax;%*f0Of6W7s^gSG6m~m(NnX4V&vaOw!qp1MJ!#V*jHw_?Y;kRJDqsOnoWi z`!G5r6RLF~OJ7F~#qzOWt4zhoOeI=joONoALXhagKV1G)m?}P^j1mPR{a+7!Dzu;4 z&iOJKy?YB0K`wv9!#`+q-Sqrf2EHq!KN9fw2w)yHfA~@NrRB{Hx3_^MlDkH&OLSDl zHO}D8=di{c_f%O|!em-I8UdgVNrXr*^(KsT)1RdneVL`_c%C|rdLCvf56 zTzC=}{$3P*k@2`A!0uU83ZL+{hC1%CaHh;0Xp^T5N6lRgXnS@N$Iq|1icBx<5$H4> zO;cGPf2T4N2IRql&xwL}R+7)7<4;u26JB@61(2r=gq?Z+SG-|9bA?Fou*;+m)A$tc z@YaF)OEM09@?%YF=;*6VScN9A)1whOM?;LtJ#ZWH4Q$>bb>X}saApk01#e`{C~stQ z3gz}k!mO=4xpsS%eXBLs?xTK2NxP5tyQJawf8V{({$Z6~zoyS$02msZO=EiLvXN~{ z;sNjSf|UG^#Feie8~rG?R|%W2*pF{ zVqJc~30h`1D#KMPTCYd$#rMe8N+>pVb&c3 zTzwrUZE;u9j!BzrlY(6NP4Gj4;ZJzK8!P2rs5t9_;l5;;b;b+ex`;puB<-9@-2*EVOINuPBWO;x0~f4u0Inz1LuQwbo#5AY+&>Yg5LOm_8*vgUO~ zYcPX3R}F%X<;@v)f}~9J39*iZ(szuKGlDFA;MUqaPw7UJ-POY3ABBksXI9U#B0QD^!prZ)T;j#eQ zhE;RVR-APnSD?ag0NWQDJh>Nwlo&ri_E!lQbn+L#)R<4*hxocjGt~d{`M~ba5*iQ? z#v8M?BN})<_IuLwSj8qH@gKszf8Dg)U{KMY08jyNVaijm@}VlG_DOM#4Y#_6Sv(^V zzTGf=&3EEEb79x0M0*!_Y;BdhT3|r!J?)`ZxcW0?0ZJ|qzSmq_lxYUfiJox$EIy3E zVhG2E6=dWUc93?aH)6SpySeK?Piwd)WZX46Iw7qa#Drg2v)=1fhJD1lf3?GMZerpJ zopVrt{k&_p^5jQs@bdi1()O8jULe78G~i2wo~Cs$qn$`+qGy#X{){)`di_v;qT-*3 zE%<8%pM68fP{(xn0?QVm#YhCF-G_V+f)cgKqD%Q+RH$fky&4I{qTsyuF(^wu80m*{KQ9)d-b)hn3z`}ti_xGo!pq*D| zBKMX;J6`%27(WQdcN^}FXHL_FvqB4D2zJe90k&^BT_B&aWTaigfAk^lgrw$hHXK`S z(EOgDKPb;D3-?Y_U&8Col$zkL4}2$`pT9WXfmnve*3(^gST|xBMs(w(t=*Vq7|$$2 z<)!5GT2{UYd003ZjlE@HS0m&}Zz-wEME*d(_4Ctc{cMv%f>Su#(ybElj84aJW zYKG5&TSsk(Bh2=De=X#3QMka`Tz67RUPsj<%gC5(@n71+7g%B9XD^}5ASG_De*6NA zSzI#Sk~Y3B{!k=WjGPNY?&N=G60zU`&0Q%47%}|a#Re^CW6ku0Au!7Z`*YTe>Cxea znIqKia0?t+Y|zEY(QF2ven!JDr;(A$e-DDa z@)1TLe~DbkL$NUi*;g{@%F+8bcEUJ1S*1B{R}Iqm_{0f)1uxg_KF!I z)kvU9LnJg?B;$97P47JEp_0wdZq5QLe zr>OZ-o}wS|$4f|qzXL35{1jnX&1Ax|o%AQHYcgTkzGSq`L_o~hqY&4ILxmf$RN?O= zs_-6HsL2&J>ne=K3Qs_VT&}QzD?HB?usT%uPFLXt-auCXT=imcS^0z*pV4bwd3%AN ze;ADdU9Bu`KzDb)Y>OMo=LO}Z1?)mwjNjz22Pcv2U^v3j>pd-S{p7Uu`Z`J+Rj^TP z&#?VaTo5JlgS3RQx0Owv8cvxaG$`g7#0lldri<8i<@URrKZqm9q_8Z744FBM%vELC zA`U+@Zz`Y8xn$SaJH&@6R z_AbBR$WdE(kzaM>`#GvMi!}GZ(rU9NZE0&yVLEmoc=usvc{T^wo15uG zW?w4P>|cV|ZAp%uup1uTX-Ac#?-TjnofrzgUkx{>7wf`}d6fe+wx2)fhC(+FM0&T!%^_4)z1Yj}YCRqh(49q47;&q*e~;ZgRf$HZsr;8{5* z5N!~Vs-cM}=x%D2yI3q8Oc$O+f1T6Mw0$+!cg1^9F0V@>5fynxYxCTp?bFX0Q{*vG zR(VD!`sG45e>dfBszW!&;8~f@-7L!S1g$qpSvQlUtQ?lW+gz%0@}*)xwl0Z?8>!@I zI0J#55bXzcBs?omEnpy_SbG5C1==|nFv*!SqbbH)bhL@t6LV;t5#3Fbe-0;FWJ7xU z369Em8MC^2yrAd)bohiv_4#6~=?VAItL;ISxZms>Eb?@0r(=4@3HC?uhlPJQPI#j9 z`a;ozzQhl{ZokF6fH8!!JIq8*&eNZ;yJjLMl{zt_DU7gJ!?slW2FTR>_SN#tM2+=N z)Up1i1$-?~-gt)|BC$}IfATW^%Ih4-Gc~Q5R<)U~>fU#Sr-LuM=&D3xpg>aRzcK4l zdvZ^^4cL0+52N1;(3x}3=WLTL9`l_0d{5|LZltFpT0!>;e6+b270{m*`{>Wc9CAfB zIl9ms#WV`0`=r}>ls>z$aqUXb$Na3hkGa3{-F(_3QHaViMNlMge-NP_$NOM{NRN_1ecY{(6^4g45agyK{i2~xkSYw&zOY{)pxB3NlDsOg0UK2KLJ(2Zdc&XVljM^m~R zJu9n43h^A5U=&&VjtDvSI5e6;u>uTslR3R-`;d&Sw473A4U}8Kn;^9!^FfhEwdvgj zbXvW{7-!VM zTTsqIoZq{8qNU8^xBKC3r}XKqy~7+WEbgsXW7{xf_E)^i2UEmu!_(;ZPA}*1ONU1k zRYvm*$+;Cd@o4{1HD?|TxasfOfbVuj|3{ewA@E`M??&N=b=pxC1tYU|;wI9ZRmaaO zQ=jDXw;E3Ie};)Dk~7(2nTPX^Oq;q)dhm~1(1Vv`Jv|sA|2I9@;`Y%4JaS4?gFyWh zf;h7o(4{El$@zr6DU=9U?$Zp;|67T4{(EXdZ><%Kpb9U4O!PAaeie!O#oGb)976tW z)&d^63NlX9IhIib7d8~z+T2a1VTOjd3v@->0>;%>ekR9TW-|o2JxDa$QH=1`c3k<+&E)LGPIupfrinhk2M^*3{`&7Hwg$ zB~uge1L3oyQQhP4!YAhEdMoohp|=Zil?H(L+9%cWmceitHs@#X?|bp@3>rCk{rRx; z{KW%H#>{30#~{jN9Gi6nh++>6TjD%q?}fM|el8I>M=6M;em#vjg=F&a0wU(ho3HwR-KF5j9 z;XG?fQ>;d8Txu2g!KRBuzf8)8U ze$bWGl{%39Wb1fFD}9|LvW3yPP1D0*!lb05SOO(^PB(fd`^5BX=jh_U1*EK$bd9vr zHNxF&pu5~0UPjLvScY*;*${wbH&Iq%aavl54NSB$8~7-j)+`5ltBxbL&V;sHZ8uj_ zS&mc4a-0f*)kbIHJPHUTXDhVse{+;j(3ZHL&bkyD%E@lY-mlg{jjby{_pE|oUl0e_ zM=#MvE22ynLun`HDIdN`JGlw@Rl17dn7))n2U+YJwcL#TaXwM)1=@*PAUV+)pHJ1$f4~St=JaQV zaSpU$_7w;m;;lExcd2*=o|Q9BJ`=t(u%ND?SL~e^*vl3N81ojfV71QhPO-bVN*6CX zuU6yFpFYJbU_bG>srY>JP5N9})PBl^H}NLw<{-*Kz6WnoaTg?K4joD+*M4LUqp;!@ zt~l^1F&~)6g)I!yX9I5Be;UNsRp!{!Kl1gPt>U?1O!>Z*N39TzOruI7yzaNcTnLe;A5cq71~0La)FK zjs1l%1u?-L8x^a?!+CiY%*p8oUaogu86|ojs_SYWOs<7fP6hTit#p41pAo8?5>uPv ze$nt#Z42C8TkLHDfBJ2o4xo41Y5*NiH*gkgMTU*%K|+iww3l&dYrRQ}y?me6=s;h! zPoSD7){`KLClCkge`GM*E}{-c`>HkcRT~f0ltWI8CVZa|SJ~xcjQ%I1O#Y4bJ>BJi zt1>nEMcee(;9ho3W2UkG>NolCJNP%FC`5Xjav}a`x(cO+NzV6Ry5_!Zx&pt_?+kOK z?ariUgS-fvX%lg~K3roqZM=mM-`d1preB2>eq*77R_JIzf1&;ULb19+o8k4`6e+wFhF#z2mi54TK|K$5dB;%_i(vv)2e-AMTJbog5s&Sa(Zz;F;PZ*}NF{~Mc)R;mfa<&9Z_b$Ev3^d-5{j$qJBf17J~6kbfmWcu@ST$>@v25b79 zJP{D_$Zgt4 zpOSk?19Hq#)#QO07@|HD3vv*<*uLMP(OhaiqIY@*#s_v(hu3MFh=wWS=@s5|Q`)1& zwDQR%eH-YqEPj?0(ceuUI7Tibgv%k}hVII!xqsD=mDDLSwkz_T)F1|L{& zmSb&QYm3X-OsjwiE~2n_EL6Q#mF*v!i5j0$4Qy7lcc3cr|KjU|a>x~#3zMST8)4HK ze{(W&TDY7^#8z#^4wSw#3GFCiJ0Nz-$o{RZFaFWM>46zNMkzdU?=><0JnrXF=H`3R zNc>4;yT0lLbxENQ6=gRznBpq3Vk|uKvwf6~vsh>gyxaVG!L0PhBQbay%jsz{q&b*G z0S7mb=9 zUMvg36|%&2j>NE{QqnaQZwKAnA!)Q*Fm9ktZb8{aDq)NxO7xkLkYA5@>X%FmTNF-p zYh~Hl4KuHtm1AB|2{Yd`1Q~0@Tpx8f3I9? zWyp7e>58U9celV6SR#TMZoschaonnf_d_SaPr=+OKB|pvsO8n6cdP~%`hvN&E2wJ5wKQqS23$t ztQDS>w+UK%eJWI#7-_UuM-^Qaf92FvF>lWjV@AWH#1^+`?Pp+XI`~m zjbRV4m!ofx#v6I@)SX6-dD2BQ%x_|#cqgG#N$ekvBA&*8+b`E)V@Jaje}F!2w?l$= z1I4?d$)qY^I}+KHyVFNw?Df@U_b|h8k4TL8w|1wFnV)@+W9QA8tV0H^OL>3NXkrQ1`}DJZ}}etA+j>_V|Z zQs!aWK?&0-%h^UmEv52gf5Z#8TT_>k6Rqmh_jNnXpZmuCG(yxG8hGzp@-Te+3$p)2 z_~E)-7s*fDJt?y>bFWI?8wSnT^MW7Q8@@pknX?@)2(5YJET(sE?#~K?vEpEgTQZ5i z%_q>alc{3I9XcwH(c;vIyC_j_IivW2SGR97r?LQkEWEbH?UI}?f6(u++fleTZP6H7 zUF~}hwSR?p@8Uhs`yW5nCd0EbXDVZDJv2pg6`2dWMgp#WsG(&!WQ+?O0xgT~CV)5W`e~%Fm-`tM+ z89d8c;B5R+RHi>2@P{whT**1a7n0wZ^N=fLpS>4K{9L~)W8d(L!LHlIro9#9l}ON#y*8e==q&iS8O;rC6|r?vK=0m)l1N zR2B&qW0bxsJeXE+1lpq`5pH6Ul5oGADw*#g{TTyaM-cW`I^X9Ic%KQwl@+ZJ4bdLa z@vD&ItVimy+Q@hEJySKAqH=dCUCJ7~R@dT=kF;duf1QO{`Wg^J*)R5Aiy*GFP&<0w zVxgc_PDUlu(ru_@GU8$1!So6JXiaX-v2Q-c8PWDk;^8*(Yo?}CxrV{|vv{_Hu(07a z?V#`Z80N)(4dA{>Y&o1vd=`*HY&0IoMD-zobXk3+E{3iq%@uw5H8VfCvzg3>ol-|FX+xOM5Z=S zR!$6uJHBkX^P@IjH()C&f4&O)e>WC7GEuNXe_mzBM85vtdzI>0Gm4EF1zyV%GV#wy z+h?$sGpE~t!-b<|)~9r(!MMB1SCf5Ln$JJyE6oS=N|X;r^d5-r0csy&E3bMw!LFzo z0(1V+WdDY0F;UFcW5h!7hH}SVVfmlB<~}Dpsw=?k`>JN3#dG(}WFaKAH`Ln$>8H02 zfA2xZd5e2mi1Nd$qCdXC!IiL2Fcw85QNFa}{w+V*yt`}A)8^et4T6zzfL+2ROK1_o{?Z%Nr7@ZbuY5>~KRO)#j#1sxNXZ@fq0u zvIh^bH;N=T$gTq|S{8Au>ldKTc&q0P`~%!b?3JvjwUIIhqGNzO1(^6k%qbyde=0On z$E7*9N%tIo0+~3a=_Ii#w}J#MtZ_mxcRRPBJTci|bpuUtCFiHO=!y&EC>%v`H($dJ z#ty_~SGq8Eh^%cQob+Adn<$)g2=$@j3tymaG^Maq_?dl=;kN#VMNTO|i`mR%#Rw3IoM6IWM( z-%9TZM7EvdP`1kD-d9Aq0bK4)_^mV-1k( z6}t8eDh=Lwi;Uqg7`~7Rf)ZX;dcMkDRqa$)!1dTy4|7F`YQMaqnM-0|3$oZB0H+6D zkLtgo-B?;8iG?<16_Ucs#4$`eRqxQOEfsq>eO zGw9U$Zv6Eh>U__5!+)9gBnIm9NtbKK`%{!M3@I0@@|QJ6^~UZ1f0cdF%SgVawWhLd zH2nA4A0u`D-SI>sqZ@1Leps1+>YHDt0!_36e|SC$@E2yoH5yh$W%xKckkE+B+GZ%+ ze`X9+Z1^tbXbJc5lKyEAF(JTs88&y5(BdGU3BmmbfC2}`G2>KZ2s9x$g&)5YACJ?N zKh%T(Rh1QT&C~PR{rx#;$Xs)4Y%*N2I3RcFBzEX-XNdlKzUS8b)x?4 z&+9D*t`y_`=MPq&<-mqle3k>Bz2dVR$bUsx4n(o#0A;Q$X*r;BW?++Pqc9#ozjI}S z&Ul~;ytoQ4JP9#5p19;Wmy(@-S>&*t8_0w4SNsFZDOI})Ga9huB?^WW?g(f-Kq5<2 z;N!iIM8zY}s8)^@ z;QVgTE&&`sho}J=7I;Qda!GYR$(u3lC3=;qA|I;dEID^6$_tFiRawP+u)Hu3V0~br z^7v@c5oNIh?q$=5WQ(DmLksZZXuW`p?z_JRnhBI6e*`iqKSOo16b=lkS*qG~II0QF zFiFDNAqm({SJ#0)V*!iih@axR@2PFg>neohng+hfi#m2X0ELdLefR`i_pQcAH*NrA z`90|0vrlJFq|skIQNO(Bk4>=(7y0;D+D%n3HbsDg(3bK<=_^GNL*}YY3|Xg0V#pTO z=4<#Af4)6?Mxld{U%#g7FJ9MQYwT~FzrR3-=Wg8JvRc&NQ10(gE$Z(D(VvhtObhIf z?SIFV+5eAs{r#_pXT>vywNY~C_PI(>#%ZG;g8Xs>L2ZU0iXrI55PTeoEU3)=-y2yX zY;W1|g9v~Q0)WSD?${^p1`&ddWf-DaPgBl`J#`Hp`+hr_e7 zY&3yf5kU6OX7EY~!PAl9nMMm7HaUXe$*+ml7pG-oVpB#{_b)6^ixbXH!47+A(IhKO-vR85Balz&29X_mVJ9ZW`XCd@?g zKz~0lQ0ONL23tXd&uMFM*L#2icb!yXNAh@IC?{kkLgRG;hZZS5&Mt?k#k;nTe>O_n z3M_Kk62z6k?}-_Gl+1Kf+6Sqv`L6W(mp;V|tfw+$I4LF7YBX`9=fG(U&x7e=(JmQ9cQ8bNgOY)1B{gJ}(XmYgIj$xB{OJgFN!P13T_-Uq9=l5=o% z&;twO3I+v}=5$LiA&ns&E(qI3e~1~LW#DP&`|CMun$x1YV;_&;4Bt^B=z!KqVXiz+ zhRZg2{1SVjd4mz}0Iyhm?u_A*b1`#13tD@9z%J71!@0q%fRtw8j+)Ty#m_YWf5z4T0PMvq zIT*{sw`br1+~uU#YnHN(koRZuDrD~(A1@XeV}aElI21Fz{$-DcRi6(RKHIM))Fo+&);C9gV)_-;mG2v$AkF z<6tZ)o%@6Xg9TTy`BLURf3XjdD}~18lrNQaD&;FBi#{uIt!9A4(-8-UCHj4-teG#6 zb}^wU+-kMvzAW9`bKD&1FK5E$R#Q0ni19s?ho!AjR>A%dW5~>LM8c;J7mH8Mk@!x^ zEP#4SwN&gZWsb$U2fM)8^yMjcv;#CpdQ}ye-T9}Rl)DlVqXt8Nb_nCnaGbho{{#YL0Y&2_KByKvT6t}!A>LGROi?_3=fywmss`?*+Xu7 z8gcedYeqREO9Nu(e}j{L+g?F=bQsb39`GR?r-8K0u4788%IxG&Q~MBe2;N5WTYF{n z-UY_jSxHl+W+0~Re}Kl+$s`55tu4UDXCHWlZzYSXJ{%^@0#eYd5H)m4*bpK6I&q&( z1nMKo!ev0Lm9sBPwq_NhKU3_^szx??K%1q_gQ3rLSWk{^2)8TJgucT9+f~ZB5zKe4 z9Ljs(b&}0f`nM+sv&_Md#v#MlC%>-_{KDQ3XvB%+y*uHZ&2mEkO3~s;kbw3qv zcb%#D1kpvZQK&cs6|aT;KPx^`diuG^ekx9Ta-o}dgcGCFDGLT^N_g@Fq2%*}MDqDt zskjC1>GpHqf1$LEV{$Ou#iATn@|XDFd>j=;*y9p|M!XE3bys+p|pn#t7)DpR#+u2!C_Jy%7?G<=8EjA{y3vv9Sg zT&-3Ws)mg~wMJA;@Y~a#!vu07PNE--2=QRL?y~@W?V7*F7 zqhZX-f7pS(&;aOSsE?nae48gMem)S_z*TV?bH*1?b77bEMn?sU9Fg@2#g>yJc46~y ziODjM&SBjE4keX>MT4lQtQGx$i(U((7)VN*DB1{%hGRs<*gx@;95L||E-{!(IKus= z;Gu){!8bJc<(cg>E(E2j)BF487wAJRawfm6e>?^YDtB*>A;~iK1bLdEUFm9VQuacZ z%CiFknevP?4_w{bml<$G>o50eP{svgs#>9c8UAww4}84T&lf+VHHiXK)l|$?CYxrg zHj0qPT6~RE^=`ia`37*$Fo-B!LbO4G#b-xehlv?V06@jD4?C%R{ zi@E{KVSn9E^J!2v4)L?J9S1PAZ56=I#thcjS%6B37=Y!6g~#}VYbtl3InRm!|J0e0 zVtldvh{^i!CQK+xT-k zRsIhlnyLbpz8VtudOP`mPf#BTG6Wcj?POmSo7{%Z(nTSpYYW9#s#x(aE#dfCO_sF+ z&3_kU)9pgCM$c?V=6gNKe6NKt-)pR$Q|@|p5|{IF^#Y2^SNG@R${s=?0?=wN(aWbF zM+|V18CKjWo9k1ww4j5q)kQuC$B4>~kidhm3bt$&A2UMOfG=5Zzh`6PFziZMI6zzs z$Yf0U>N&LG8}RQoeBV|ilX}cXrClJm z_-Ihl9Jn4E*emHt^2m8xX2*sZoVp8HmaqEqc)ADahZ;t;{|*rUy=OJ|!+)+T zb;$Gzvbgv9ku;4N%6f|r`WID(XJx+tbskAeyP(+)#<@+2J8z$%)O(gSwRWlv)zDn0 zFIHRJ*JrL%_rsFfsK1WUS(w+GT(~h@4jGWO_=i#9r(S*ovRdNZrd~P&GIzae1wj-x zjBWz~2A{vd7p1lU`gJ2OML0`6&3|$ivXOh4`jl`t@XKoliZf5dTbzlByARIC=*|6l1%z1DV$mn^}rgtxkgJ-Uu%#WBCf+oNK%%am|&v|MaZja5z5JZTan?F8~sj0 z_oC~uJv0qPzoV9nyJMxdH}ksIUFfXP2vn>(d|ySNJ6>fqvqX7<${Qa<6Vj}QT_;hd&+U|Nfg7eS*Zxd zf%lP&ONs0ugw{o_dlZ?q+}!f<@lvLnWNngjInq6RpS%wKWn1!+(YOZoSK23e$?Jk> zhE_3q6@MF+POGpAS0To$%|h&7pMc%B#4mz-!bY5pmk@QbXOFmRmG zvIpJKFI^&%eIBT@`US7DA%yRd-}L1DpM$KtyKi&|MT*2@xoHm$9bIjV8OTU@kohN! z2dz#v@*tWguY!O0cRdb3gO%>t%Hb4l^*vf5q<>9t7fTq8hCPKA^oBr0J*BKkAtKWn z;NpmXIZ8X5w&;YDp+3*;)|Z&l{AkfA%_V`u;ZQ|Ah4d@K8{`tFCceJoC7xT)G|aQ*q1oIE zM}MAYIJYYF>~8}nB6o#$uR*)lEb%3sZ5PLG==Io~0%@Xsl(U8G;am{030F2^doik-0v8h(|1 z`9+GE^%i$LrMFSKSVVyl)Jj^m4KvxhQhzbdSH8`44l`Daw#jMv){ML;^N-!K|Ysg#0luB3*c-Q}bv*Q~Ctr_Fg?m2${OyT)FF=OWe!QFL;+pTQk1 zubDMtx7YEVO&*;OE4AL57lQ6@hM#b6C~LZk*4dtK7t+imxR$IkvRr0fcUs?dB7cd` zDyxeE94e7ru(*>Dib8}5?h=jONh{#`^crow$|rbCDR6_1?PDZoW?Vxx8Tq~{91^Sw zS+C3^MZg|D{#{n;n4;=YGy&)hm2m2ptYNCPKqHpFLWjy-XwEa}c?l;(Yx{J=pLd#M_*5l2(Y1ZR%Y<;}P!kxSc@PUJ(aSGGs136fd;wn-q z_Mx=q_E%tLmZ+3o*`4q@FcnIAINuFtvhYPqO0U+WMD&9Zl&|X1b5DHEJ%9564S9eO z`$iRv7{&Xkj_4}KexMQzl5;9?X2=g;pgnZ$Z)kL05^J7D;aus$)&ABM8C9`PG|)Y4 zC>sv%mJp#dWuFMbl{Ap{!t@#ZGU9x0?IN)gqMn80aqvUw7o(R7+@m+$g!Ph!_!?2CMvA}S2&~#?H7vM zXx2qibPNKh-1B_?;@IfaPMQX=8F>>VlQh6nU#ZoJpK2)WI&r^EsGR+%&-O-d;HdOA z6SPRI@-41lT)$&5h<_!t1m!%xz&yY47hz-N2Z&P14P=B(iO&0a~$3P!uw%p8XbQ~!utoBCbQ2}x$l`(NFI)wl?q zs^14O&Lt$#X%0B?9?6Lwctar z68bmw5@B#kK8XeZZwkr3J}Wf+P8uh$O25;{@w8_A-v~)xeL)+hr%yFPAu<@?@5&AX zDyDXm+r<`jKD3<)YySybd~K7piQEqpseZ>gozQbZ+J8u%@QoxzN-kD=vlHL#GlY^c zBcaX=B4VQpJoV9^(AQpfZ0~vT4g2rrj{k=|3!)O~K)_w{sGlQ-b)P^QT;$3OUaxku zcmjFGtl;=YjuYha0QXQD@#D#2IbULC1eL7KPgvb)M&&1fxw|Xmg61W4QQ6oT8H|t% zopy&b!+%U(M$E|ZZuh*93oJNdUyth;hSNQ@hBBig&*oGlYn*;9!NNlDmyyEL4Ma}M z!Kj~TWo>hvfdebWr7CL*xmY)};&olZ4ToE2N`erK?Yb`l&e0jNz^n`Ot`E?uT!9Ln zztEec1>)|7XUOzmMx7t)leF#p?WTA-sv zL^B?{OEja}9ikb1?+VG#eG^%Z!+FQ0Kj+f-?@;N#il}r~t#mD5ygWdl6E2>j($l&0 zelDHGrT@4iO5bF9^azYYtqVtoKi`aqnc<6-<8f(1jnm2mSSL$@0Y1Oh5I#k@G;BHv z?SCr42^u@Al1ma_({XiHcJX?3oc~XJ4;oj*zF;Gtp*tuBer|PI+rUZj+6I2)wAjEL zMrnm;6tO=ho^@#x$IOTQYkv~4Bsh%ruDu)nc&f;^Z%=x5o82rHOnH~^2051h-7iqkl4K_ z2F_QnqXiOY;J!pI{7jyq}rUXtia z?jYou$kW(W;(E?uL{`}1<&YD(09TlDM5T~fIi?In%5bQpy*BrOt9=G&$(?XVm<3}9 zyAy^2pq}~|IC)n*nQb&BFBAM~Zw%kN-Yy-|UL6&W+F^Zi`|~$!c$pS2fn~NKEln{2O9A#1_&{Jy7EH@x;_wpHv-YCuExw&w`kHMz5~^X zXNG2T2aWcZ3TP`QgdC^Ue}Dfbt^PBF(P0HQY4wl&LoxKSXOLn|iER(PZ7EYeZR(fF zn^^7%bKV>G&(0zuJW%gJJ9x^=!A->a-1LOSTankVgxk1bs`_Re5rV3v+Nf5@w|!G# zM#)bZzUDt{r%TdYDj$IlC()$~SnsDe<$~4qz*AAnziDqs_*jSWaeumr1m3_F6q~(A zU}63=yLOk3bzkCs5zrTQlmuJCCMO&L$UWiyNu&OnQGb+eN!tS{F5U;HH2lY%c1Z67 zv!m>I;bvrMS-Fh1mtBCPbF7y#R|t;l>-KagJe!`-=trD$D|)Wklo+8^#Yza1kVvEH8zi9gsz$mM0|9>w)6j2QBQ9%bJkRSmP z79kQOWFdo-#Uvn#FivK^WCkWP!z_UyL7qS#7(&r!eb!oQt@T-Jt+i^cwH7xPwHBAE z&lUF>;@(!RRq{W-bME)eH%nOFdw*I_esjOOFXx_n?z#64#)+bU{n3vG|6!&YpM2I! zz0|P!JXX1F{(l~1t&LOIy737T1ncgJZjd~ysE6byqdtn$tgwDW8&YaHcvI^qG=_G( z%wwqOGaf_7$r#%D8IPf9U&;7fz!jhq3+G#-DPT`GB-U8;x<4c^oCb zLH6i$S%1PH%Wh=37FoW8Gj={@Z0oz<_4h;XqcXbb1^k|5{@(aFexGIf@BJ-)A8&r& z`ZL}b9CZP5iL)ilAq!IsbiazfFoPTC9o!f3S8i$VC*0Cw{?09Z>nGgO!Okze#LSEe z@e`hSznU(SiJL79UyDwrHn`}@9IY+Me~9y(4t+zcMRW~S!!=Xc@HV9I_oo_%S4obm z=>N~c9I>N1(Q+fzpQaCR&n1=nH!pIzD?jFP-zJsR{V|vOx{oRg)ccaU%wAIz@=?e9*X3$FjvmiaFV?zSBs4JfYhvKSn=M9Phvs&sgnKzWw0FLy9li>I1! zM(wA}qbP?M^}LVRvyuwBlM4C?6?A9bw*O+sElB}+$a)fxA59aGn^{1vgMj=3^@qMn zs({ei^a>dHiJG7nW_()oi8=pI&J>}CkL3U-NC37HuycTyWshSIh3R{WB7XP^VSgYJ z>DknM`tBM)o+jyUefjMBQ61Gv`m@gbUi+4>z+b8VFIBTHOJJ9o^TXm2w%RD+q3}}Q zd9Wk6Ld|F#9XD*@$8!JAWaAy2zT@Skp6F2(k3dAPN|mo~eU6)Z+J0{CYj{))5A5gW zUbYU4g}u_)f1PB;`0#+|Ve(0=Sbtx>=swn9Zs$q~nGxn8RyC&V_oD zS0^s5OrSRB@%7~kp$5y_G@q@za$oLBPjEvYtFe17P`^LeuSR32*cgpg{bX%#YDV$UW{<%=ugCrR@s@N%u}PsBBq)^S*I^mOco zimCz&Ay$itw9$JU-lNhSISJL)LynT{(NwWuOVzvij=>#!)vGLd8-JnUUthlCHyC>* zC~DoNk5`{y?M04Ri7S6b?fuazYkM~&6#qD7b$Savn&3gP<6M49cPrjYeU=AO-v>O9 z_9S>96?}*h)WVCj;ZI1It>+5!C?78&elH=ef zZiVL?2O9q~X|kvBe-CQ9c71t0gG+HxL->I0T$cCURHy&ei8`Hv{`}Ip79Oxk@qjIO zttavCGG?#qR1IKWoAo2K4ep)k%J{T~>JIO+^KibCK1U;G#cvXo)F z!w3<7^;{mUJ7~0?o}>0|?v}0C2WvO&$=ke^FO^Em4oqCP@p6C?rO~(fu0f)~uAQ|v zZ|k4=#|tp0N`J`KPu00fFwa2=`L2oGj-p3vXVs3#+q9mw-)}mKFeMYduy^Eo*!=J* znkVz?aFc2E9et;=vUtPex#T#M=J9^9TTDKCG03qc5k20q4UT=MNx3XZ%g;y`9IUYT3 zLGO_FSt1=gpE5i`S~@=RtA5!s;OFoLFWtc}sd3q>cjJi4-q-`UtK?egwr@nz`{wbK z$G$qH0)NTp66O9b!&eD>jb|BWC|KgB6WHUn43EG3kh}4$@ibJ*zT=zh5Grp|@ptkj z+WizVVPjq(yU%%>PQ-#^eXnh)Uh=kR(nc|BRY-Y#A* z7q9!?X0IFBDr3|Z z?=>$%FWD2neLU}PW3!nC|Bl$CzOmTf79YI}_m=Fzt3j=4zSx9#<#>7L8Be40esc~N zs%JL!ma&7Ax8N*NSKPe?eZ=!b+P24g&rzjJ2AMdRuc!F^0eO}vZ_}^g|L5!#$isxkNnoy}_P8dQapZ z@x1>%@qCn6L0>(FGrr1_iH%p_G=IXm+$HoESZ+r$be>e~)+e~w ze}A2eJxYo_=?yM+^&4t`0+v|3Yd1}N?-bvkzRSKf@%`kx%C|>q$uk-Xuz&33wXC=J zLUZH!MKc&-tHZaUVXQtw_~r= zmnhHF^L9VB8P8+jb;gCf6xlOIv@b6uJK4Ok>J(erDkfY0XW~Aiok0Sx9*r zZ}K{Nh*!;{Av2S>MYK?EG=JmcBe657P#gT|68XpPa7U!kSeBg2ZLwnVyePx-hwpF| z=TM0%b{)-|na>c5+KxT$Zf^dZ+2yg%p$UDEO)_yHs<*&3M9!jY>Ar`TmfO^}cz52$ z4X~ORleh8cA)?v7l@GL6?`C#(Km0v1c*BlIHheuR@88b{>vIp;=zqxB*T0VzK^~iC z+VEbj)|7Rd`d80SU84MR-3)WL2g?iq;W#my-Gx$G^VS^NIlgT&}IQ*m) zR_V9%b=m(rn~Hy5PO|C#9RqVi_1;4JhFv+hPriENd(h)j(cAd;Y#1OVu95b z)@sbH7w?FlMo}f88GmfsRZT3YZ^%yi^N5(jc0U-ulR91Ebe^@T?-acWBh%-JD}Vc{ zbipxf%rtkXI^@~EU1|05Hhl(;_ahwk@t?(gI<}&=XVl0Qq7qF!hod86dzcu;N6S8r zUQ*XnH$oaaS$+0dd)8e-byVAP%KYW1i!!N;Tn#6edUGd2Y=6kBA|ZVGC;PZ|-W$d8 z=8jz&_YXD#-1RtHV8QBuc=#r$GZI^QnOwKGZquH1E72;B-md{mpnn`j=ANZ zh+tp#AA`Ow*F8s5j(2tR?tGLD|# zf5z&D3pfQf2BWn_U2m|k&HnfL)^7M$PIT2*uhqIA zubo9azxNL!6Wn5!7TP|0Pt~pwmLgLD?=g%0!Pz{zQh&;H)JQqP*1aQd(?pmFOLs_H z%|T9li<2YXm0RUC^>(y2p~n8|Oi_d+KIY>zx#xJ(Sw=pEPVD9zq^D0J+()TTcL4lS zteN+!b4c?r6do7Ry6O?;_bZT2{RK7f0AJik%?e)H}BEd8AWq=Rp`W5GBNRJ);kEcWSQ zC&Z_pf#%IU^$|JYb2fcCL47(yJ`Gl%hLr4B`ncLxO~0=xxxWhgy1#15juH=nIC_gO zx%In#M_%=Q?#B2S|F5P4{l-f`;B9Ou9`8Rx4S#~a$O6-`rO>e@G?cCD;3+K6e3kqqy#pMJUsz$R<{ zXr#P;t@ACnvc4?;#~-+RO`&AtD^6E>?8IM1$@;aP!xy4Rai*x^Y$}1Eb+YOC4o&hp z?0*cy<$5lCzA)P^V)R>7UV27tdRQ`lf*OV>_&4!u@|As#+83J-|2=tPXPpOY2W8aU zA0Ic;ded?~%Dy4DhDwoB@>-wG^wxi-c(a_%`shrY%}U$OVbjr<`kqPAN8=dh>##FF zO=O^B_}n$xf@GKCwen%ir5?0n?>jRoZ&5$mP=56vpvjsP zU!h5)xwSp{B$~f+TJqU6?UwKO*|e11luAkOudi`>U-O^gxvw(=$bVh4-hLiEEp;~~ ztGq{9>3@i|;`}5Y`Y_*rwB>K{eGTe9gR{jJkGjBLACk+GU8AJ4jWYW5w<(?Nu76WA zY=>V{-6D2|(my@L+#L^FV==R#8@Is3xW*tGkx&FR?J2}BZET*h<#mVRZcn|aYU~k4xV7J(>`W~>1Z`}NI zd*2U@ciSm67GCEVHYSBs)r((c-hXeAJQFvaf}66r1F*l?D{Q%tKd`-oaXwz&2!5K6 zVEpkxnHqMqTF%IaZT!ZG%%@+W_uCIB`!~L2x5qn_tB+qR?9IIluaC@nGH+uIOS(VC ze8S&v9%S4aKI)ZUCXX>cLpXkPzD(LP*i!iGx}GaX@GkpHgVnvTtIZR{H-EwZ%cmvJ zva5Hk zIp?tdL`@F4aNR{?=ts3ZKNj&L_te4Ci#9zZ@3wV1`M4{sqT;Jg=Xl~TYu1M|PN#Ge zzYwe8NAH(?f1Is9?<97*TbvrH7stn*#P7Kv+4wgns%`-7PW-VG%`Q6q7s)PKL^$p_ zMI9I8Bj>9|@M>;GPJim{ZvA(V&obo`r+q4}c1q{GawskU;43e3SKc|ud;wJ_93Og0 z=9}xaJv`%k7xfKR|(go0FI#w(AZF_G1b5xuk|jDA+h_uq!3lWpar96bW{1 zt7NjBgY9Y+O>sMdZ9a*E)gp^0Lz4OWr1bk#O#SW)j-Ki7F2EH6xwkFBTQf5qJq53_ z!#o;IGvfiuLPkow3G>oi(;-pPjnW zQ}=LJs{WDaE`P#ZY1NOoD{Z|QU8!1(o4y;)msjLN)J%$|-6t68K2r~G$YU_jDX!h} zd2P?C{N$B2CC}G>b)a_E?sXGu^M3t#?ch}-kk6%wOEqTEuU%ra;0Z5K3qCSjS`hn} z=6{!QFQA^DqCEN3=j}#%GwfSPrlKSp(vtjV?X1t%O}FR$dQa`(h7nRV#F3s_n)p1< zcQLh^(ckbqC0sq+G)JY6-z_#i-uXP51!;eLoarOOz8RLBeCN{Q;ViH%qY?J|#jxd= zf!XZ%<1wQWcMGDqN$_83&ss-$+j#D!dVjK0J=rfY~g-LDMTx&7jIi^ zRbtgV&lY;P4LaU+jT6BMMgNzpZ?ZjSa|$ElXD5Z$H{~w z%81zFaU|o#{ireVD_$^Bw0G`~>;&VI6dl3M)n_xpy03Ka39^F30Iuhkx}Z zeeSEb_spR@RXiu!QB?I+#~O-v>!JqTP7<0y3B~>s??7B^6lnvBw4TDnmmaGo=d)pw zvkLn3i_>)$E1#3|AMjsn`2UnuW;;cZ#pyhIG440T19yGbQaqE5cq~>$647(RD5Cd< zsfcdph@RjL@}4C&lIk~6$S9ljoPT$$)XZa2GuJILH~SOEawo}&=1Ijuah>4DgGpxC zJo|w4k%yA!?O$D)k7u^F?bKuwX7d>^z?`)&ZyVO-b+i6nx8?o1JjW+>MgPEl$K%H- zhII^Yl005F>w~;ryb)&aoo|zs%6k{~P8&xfW>r3VA3v#c|F?>1V(rWJBY$E$@_y`v z#1c89b;cs4F*09TJ9#hH$sdoQI@x=Ss*`I)BKv5e(O}E}qD*^!Kwc8ZOJtkO&!vA6 zLG6pgM-p7B%L_{2JI8gN9}T284g}( zT3{_6rbcb2jM}`--|=GPvVXB@L-$`ibnlg+```A#myM;d`-Gg3$C=`^RafXea|9Pq zYPfoT_%kim5xntP8W-XCe+(sd{72*5(54^B#bUo`F)HG%KT{2FB~OX$6A4x1wRw$d_MQKxp=i0F}KI3`YDsp5c zvl-(V=40Dx;WFz}oCnTxyn(Z`e-@7WG{4B5Nal9q9ZI?&URbo-KC5O#-llWZu5;~{ zy1kBB|LpeId#lFU#610PwHqGKchJC1UK%xs!bbCOhVR_!y??cj?i*|$TtkxA6njt0 z*nAr7FWU#VjKyHz9e?HR17gGR5>mxR$A-s;I%ak6h~0x*Zg)t7PG~Y3;_|0)JM2+L z^;Ts(bBq1di_*Enmrrx^{Dc<#@q2SEZ3C5k?lTt|u`dvRt8&ExB6qp@<+P_!P5Tq| z!Wb?xKOA@pAAi14_eSNeH$Ut~PTjepJImYD)Gt?{{${A!s7b%?WCZv^Z|;zC7LKOe zHi$(YzOY8lB4h1%wi*mKi?aTejOMSM^=Nl9Zl;)jwCKj7JZW~nqOI$w>!p>LWq$x` zu6*Jif3pvc%6oKWU&$>3CH5^N-~@6~ zSlfHFWp8$bMPN(0-)AvSfzjf5HkY>PXMAA{m3E)Cv?V++aKLowK6_7nrnL2VcPZun zX?xG25x6FS4~~9G>w${jkHRAPjX`|AYa+hIck>C$U3@0@p$4NU7wl1+h_7P(!-|rx z<>KwM>wjsC{cn~dq4e8sxxatIt`Q|)#z$b@$?_;p`hBclQNb@-zy&{snwh4R-s;cH zLeD-*n)ohmV)`I&3eCSN`KHkMgyZXSx`t@?Jqcy`bmGm$xKgWn$PqMrX!i2#ni@h4AZep$1yErI)Uj#rjwXX zVOq*`8q*m}XEH5gI-BVnrgNFjV_LzOt(ZDQKObP?0VOfO}68PjD< zFK61y)Wfumsh8<;rhcXYrXi+brctJyOn+B1UBh%O({)VOGrfxGMyB6mx|!+KOt&)K z#&kQ=Ynfih^m?W@FujrKO-yfQdJEHAncl|qcBXeQy_4x(Oz&oT57T>@-pBL-rVlcG zi0Q*jA7Q$K>0?ZvV7im(Zl+H$eTM0?O!qQYA% zGM&e?ifIkgTBZw_I+)foZDiWSw10)^BBqO(Udr?`rpuUK&a{=OhiMyAFVp2r{Y(Q) zLrlX=qf9%Qu4cN1=~|}in677f71NDOzsGbl)2o?oWx9>&cBa=dy^iViOmAR%Bh#Ch z-puqCrnfS^jp^-7?_hc-)4Q17&Ga6o_cFbY=>tq3Wcm=(hnYUYbO+PNn14RObSKl@ zOrK)<4AW6=XVF@1;WdrUuI8fUtn=|@aIVfq=6c8uX8H}&Z4BbQsg)m>$n`1k)3lp3L-Aruj_IU^WIBoI6o00rOs6rO!E`3mGN!Yc&S5&2={%-YOlz3dGF`yb!L*)f zBhx0PEld|NUCi`Srk62Y#`JQgtxP>k+n9QpE@$dz8eke?8fF@0+R1b^(=|-jGF``X zJ=3e0Ze;pBrkj~w&2%f%ZA`Z_y_V^9Os{8p1JfIs-o*4~rnfM?m4E4NOmAm;2h%&5 z-o^B8ruQ(tm+5^>A7J_*(}$Qo%=8haJD5Jk^a-XrneHa)#Z`}qt4P-Hjs;o`)P>hV z0zlUQd4PTibScmiK#f3e1JwX&IQ9#P#XAnD6sQ8I5C~TeCC&oEHeljpp#K0G26Q)& z2DBIGOOgP+?*n}V^nWj)cYsdDt>3Qzl>j{pG#}^*AScj6KoKBZOyRv6=yst00=fz4 z5uj^fO>pv!?S1X={t3giH~5@;UKe*nz{`UTJ=pg#eP z1$qJK44^N7MgSc}Bmv?*69^Z$cxM2?i?VZiW4^gp-~dsfY5k}jX-XoH9)u%I1vJZ(jd_W1ieE7d(PfxfSQ2b z1F8k;2bu$PI#!6&fTjUW0CE7?fR+QD3bY>RIH2o*1_9j(^ffhw_feovfL;N552z35 zRiJ*Ly+Efy6Mwc7s2J#Bp!q=e0$mPt2hcj8n}Kctx(;Y35ITtWEui&4UjcOjoiL1$ zA7~;_E063bIY2i8T?&MA z`rcJQ-vhcHXf4pMfx zeIIBxkcJIKm>+xdfv`^WP6finVcrXQyAj9(1VdAACy)lT8R*L#)D;je4)gvI2#*tZ zUj}*w=yRZFfsQ!={10dh5H3#i&H%axs2=EcAb&T|O+Z%wT?=#_&}N{!fYt#$3WWP& zy{`h{GA{2oK$ioJJQ4g4XgZJss09dDW_VWt%>>#GGzsWlAWSUYy+CIGeGD`LC=b>I zFy;471cEJ**ADarP#X{)-u7M%guM^%?LfGp!Mg_t))L+X5R`4+At!5ctE+bu5VR29 zQh%UZf#w6j(AFCU!i}BYYk{EQ@cs&D4bYQ7A)xnwpmXpZeG2#=kPWDba|%?;IR%;n zv=(R@&<}tn0Nn><19}eVRG`m+jswa)75tBNERNn$)5~+Tist@;x(jl&?Or%0KEUk= zqkvuqnhx|lkOOEpP#6d&0=>9bIB_2kOn+k%cLL$Y&crQ1xFZN+$w9I9ZqQ0Nn_5DbT$@c=N&g3{VZwyFjyn@UB^+6zCL42e{|Kdk)Z9K+}M* z-R{K|e2HN|mjS^v+G{%<{r>==5}=QOE(Cf9$OH5W5bOvO&jQ^H^aRlFfF1(c3x9ME zkPUT<%_Z-7KsNz7fN(RX_cEZ(KtUi}eCOQ^gs0}bKL%P3v=iuZpcjD_0lf|60J;Xax}7gz~Njx&de#5Nw3KHvw$~`X$gBpdCOV zpcjGKfZheV4CqYQ7dHWQ0@VU-0-6JK9nduPHxm6HXfe!~adObB1Dy)=6C3(J&>$G} z4+1&~=<9C@jRE=us08Rept(S=0yO~b1zH9K>tJsO(8EC8K=%Um0^uz+?|)4|Hv|0= z=sKW>fUXAm3($I?PtmHKK)I(8@&kLBd4}|OHykDUeUIHpcJwF3959l$VOMqZn z zkOwFVbScn(05t;L1ylp{JkV^QPk~B-PC_3q1eybM7SQEDCj)&CXc*AlKpN0vKwtio z&|iT*0>aFZc!!YF>5DY_UD38+xT7Jw$QAav0#Uhh6AS38L%KVvdu$=)b&Te8b-H|h zSF6wOi*}_(sjaB2sqp)QZdWuIu8;ZsT4ha@E9$BY>#nGNu`lYK*A>+x^})(usEfWe zhJztJ9PM)WBGIHDgvk1_CLHWoT<1{Vo1unFQ0Z*!ih8MK!eLjJR^KdtO=m7&eKY^DI_l!6TO7?I z;#2a6>7hQ>(SNFk>7xSXhh{xWuAoULDKfbV2*#qeV4E%M3ba$oL0cr|_S$>_kG@(9 z1w%HyBNXkjMf8<1J>b^0P*;>{k^cDgKzr1y`LxEahSuekWfUZ;hXXFZO%I2IVftw+ zh}c|FqGbi1GWw$xFG;Nu^5ctglLkF{xNNCbM-}O(dVdbKE_Y8(^*gCUb44Q5PpIg& zHtLu<#To4gQG=sXM|6K1WeNeCRWERAE44~jAP|h&Ji41wu%)HGic+?rG{ruTjoQnS zJ+z6LJ8_~y(g+zalL(PDk6b+z(pia-GcVTGriTkVizu_L7$X|zjoQH`@z{dwJ7V)i zY{+^f7Jmu_!!$CrmT(umMT16hT!e!*e~=tK$ghOdJX&;(FVGgG6r2jp)mG?THcwEO zIQ7-&xa4$rZD*|*>0d`yH4=s@=b~hLP;wo(q-Yxhc>Sqh6FwnM#QH_|v;dNVtqR~kogQ?A_8V_}$xhF z=7kR!M(XDg@FMZq7-XN$#%MUL^CmwIJgUv$JhTfbU{Pwk+Qng42%W(d4#ol=Dp`Z2 zzZ;%H@|U|lhCq7mY;KgoWc7!?RDX0$c(Qn}h}h{*J4Jl>wb4p*`3hf0s3sV0 z_O%CG(O6hdtq}H6?1~hVudFrVcKJzI@awkG<+l2T4o5b2Ex9#)bj~f)=F)!!O=Y&u zATi;vP6-Dl+FEH!@|eG=+B$h!?<|=y_kt;NXKHf|&_Mq*>3T-bbJ;knW>=$ZiGK@s zd`xyOTf{7*iITySPKvM4AX^m-d(6I{-ou-N;c(YPTZnpKv<>5?gX)$?S!-8uSZ_nX z^f2{0_3DB(mPjYs+Q|nwX%#dQf)T>jBwdsrGq~wD>A@I7G-zTWTTPAKR%x%XEh+FU zRo!47>cA;tRFrjpZTozGuz%I%=O`-u^c{8Xp5$~&(6Go(PN(K{);C-Hl8ee# z8wnJ)jITB~M+W!isEcMt6=>NNPO1BD>K!TuOgTQ6A1qy(Q)M{C^D>{-N(0TWYaLud zXFDe+1I0(o$kjn@zQPxBk}sVyMNQE#u3@yVVcc4uk&-(YAZeG_a`QZn3x7rIOU27LMlpVx>Mwud+AySKJd?Gf|WJcy>$(TyYWmSE}7w}VkQ|m75 zT1y{NB2`7RMs3cY6t72jVSly33?oAGi0)wtkGK`hs#%*uIzh2ESD zRo13FrMWxXlz&Qi?p*$w=|9zHL`k2f7sJ8yL4Q}d!XA5|6YD2bU8a+ysCDSXu{BauoCkC zf&IbYiiIKeQpgcGNy4kAVNsZjyQl~&4#e&YP_LqSiU+A75v8O#?_ens2P5IZ%rA+7 zStSiDjFpHH3J0S>cYn|yDaz^-OGD*TGVdXWBCUYMvLG?Fu#aUnUH|}C#S!7f74s^q zs%z%g+812tsH<;iyr{XUW#OWW7hiIztJO^`v)$`kzQW%T2!>XMBhgsrs?}X)qh7liE`*HFlRQJ$=xwO z1Vm<2Bn5H5>d-wtI7;@FUzaE+bgubEmoLoXY+6T4woRGMn5Oh77QbM?K9;VTkvW~R zvXrKB@)S!sl@TbpLH(Ly*~GMYLFNDtr9 z6M-v`CA2JId4Ih`x!|FcEj5+X^t3EqCB1?CSwH#$+2SqZbr!KAYG_m3ha0MezN81C zSkjZs9>uw46y`i%zLFrST21@iTK0+&S&w^LL6gm$zVx(?zSIFszER^zK``odnewGO z*b$;Unzhf-6uYGx74Sf&%tEBiSnOI_0D?e$zcw{NCl6GXpCW($U^HSyv??N5uvNEC z| zP0lA+V=0DLgOAR7ebs<#S(@O*S7l0gr&CGNPU;HJl9zBVP2SM3_@AZ+9K3&B+}bf$tqd9$jmKr+ALq83|5NU*;IAV$JUq?Ve4?U z``k%}R1liOzSNSC*UNKweW7w`0;k2%N!=%cB@|}P`euk>D|D@yhetCymB0!=4JNI| z=l9F+5(|GWwcx21Jk5fqi~hHIbu{dvh*caZKTA`8PEGweE%m30uZ8lCTsE}Lqdv+% zxf!Wns&5@3zpt$;xv+;ThpjXO77SR385I#jOD%3K81?CnkTT$wqLp?8+uIQrid)~@ zgn`_ocaY3c#s;GrKTz-G9V}+%X>-3IAKI*JWEAJ7tDY1Z6 zuC7Q8_1lPM7un0IZBb55dOH;*+_f;`YS%U1iLmo1ME+7o6}LN$CSq#f+a9f;ok6?C z;}gU43e`~MK2Nvtqm+IunI2hcI!rBh`^+EH%H1pJN9BCfLOK2A{FQq=-GotAz-}!^ zEAW5&IW@mu8>B5MRl%p1uXJ}W)eLPYuUo+0)glm+i<^VFwYiYH=1wVtbS{aswRKM^ z^_7-V{xw##6qi7LPx0W>%xS7E7=(JGP8;oYb?QlO+iA$pOMLjZR9mvd*jrGVSxEU* zt7TJ`Qr@ap#$5igB`#L0%h;=k+OdT|-w%Hhxa1IlOAZ#e^bmnd4;FapAp%c5Sm0@g z2t4gzfio(s^nX=j>7kFT%F;t0S)HYaKC((n4}H*Dn|`R!(-B%4gT&gXi>3s%EirJ0 zmTIGqEJ(>g+a@EA*|IoL;2Hm$p>W<|1TN%}OzTFeJvF|s@Tq^@6gz}a6;f$U2JU}` zmJ|oxZ1nn>{+YAyJ!rh0C0yJLUhu(r)bQ=ok+ zq2(}5-sRfpkR~7uXEc3?Yak>UsIfb$Gk2ljIw3VvhqF>aFsD1q4ni9(B%Df$&$>2g z3z--H?Tkq!Q>K5A)S|mQP!uzuyaHoGu!C0N1SmfKBA-*;SA~f+2*tY6 zbdTsd^&?lr$t8V&{n2)9f&FM5X+)jUV2Le1SBBozL4Gm@K zLti}E0=k$%wCc9{APi^17KI@4n2m2(;4bHcoPciHts+RHX4~teeI~ z(2`OBf0qra6&-)7(Byc9##D7*-U~4+&)SLpuOiJDrT=HSElAC(In=Tw&_?3ufRP7+ z$uBN*oFlFONmjuPl4^Oxl$LpHbx}?s8_2GKTggGqO?q4U2EV9QXiUgg5)d#GGq1Mb zRKDKW&}?69!#7cHf)OY|3c^S-hLm5001}TVc_qnY>nVSpn~WVgeiA2wZNw+)Dk^Q& zJmD93Eb^1uUTTYk^){!OT-pqej|0r>tQj+eVN^wt#yWqtOEh?|RE;nfrMEk{Rg>xK zh-DTE=)_v5E_G)+tw1XJtYsR_dvP@G8@rUQQ56sFMb>nn37?%(Dq|{7b1i5}YLSgy z5o(eq!!mz~*SEYsB$Hk%PvE+_gOcneX3nwQ6LeD~RY7+wbzCIvDY*Sr4UkvrC}{Rc z%_*JV;=O?8EDQk35v?Y4=;l4PiblJwu*2nUXtuFQa#3nSn%z%h*&Tf<8KbfjOf^w* zDbu7GrKtu<2eD_0u~i7o3*fNW6QXiqaA(^OC;5M>cn(H1tX7NXM7$KaI~GmW1h(c( zZsBr6U1`fO&!Y8gMU1*o*tdpj)*jV6%9ptv%R24dB$~*UGfh%z48`10$!ox}<(btR zvlJ>LtHCl3OZBmx-=1v_2BstH`HYIKT;40Gr zW_99H*ifW(xB^jMB;wMj3sSQLqM9#Kueb9Szow=ySa3EZlTb4e29u)wKGQ$EI-^m*l-gR(~;=}3W*^_v?$Jg$oj=eUJG&GSOLf_JwD#@|yn`P3~ zn57!OoQ9=b%A6?{>5<~(26AyAB1wN7WXa!PIkupdzAAQOY+FX*MD;`Wr1Vn=U@7?{ zUoKxD!%_Ck)!!qEo+mV4;D4(yv8x!8iUwc6W2_5OYtu;VaMUIl(H=r^!uze3DyKQn zScMf0lv9gx=l`27W}t}E7FO<9INN$@-~~eSKnsL|$Pq6Onh&x(5DU1B#Q}dSaZCYk zVMAGFN3t8nxJd&WqgVJkU13d|ZJ*Z=i~4o+sX57C1dX0rY+5C;j|^uLEnOau(-kF# z*cyxKX+K$bohWmaEFlU*VM;qnT#`I06DRs>1Tb`;vT#cp0-9?$r__pA>B@JjON0$~ zM^k+eLsIq|thVq)q-^R(vp;_rOCYBF$K z97CkBnsT<}$P%IkW(}aIX=4GYqYOi_>{&q12@sbw?Ibe|%w)l7Sh4YZTpzTwK|y4g zkzrkoHd1ZAM0L$w$g~rqs@1cW%S_g4=6~c>?L6{wCK+j_9hoN<7NLLAD05g3L6pF_ z-Px*E#N9B4{)k!cwk45w~N*vYq(jm}d!FgX`XHwb3mZy-iw>VOL)T}6}? zmv)Zo>#%M{%&gs$5U3ulA(AS8S@S2^$`r(iiOg4LvNHP!eRpA((kPUiVu^)l4%TT^ zT}jh1&HD|JhP4e^^I?C-V$bm5W9v{Oi)rzjqBFdi+DKRk*~U*&?@^u?eW%4TK|eTpd|bN#0OX;eI#3RuCJ zEmjpIIX7TVfxTLXiw%BZA*H9mTOYu9wV`i5dzbJN=YB7doGM${N zNf~dRI7${oGwsUR$kaS3(-Go%RUN3a4qy>Mq)7}jSi|nkmKs}t@o*Xvwqm5; zz+0?n3hdiQuyA)qivl=wr!5S4T{yNyb)(KwBA;c@qbBpp=Kz|lX3S}>M)r?XOIA`k zBb%Bmm@%)Q^DB%02y4M6W~ld#MZbkBz`i5whz zeLRev(V*#;O&y$JnUP_V?{{^n`wwvTAlBg&O`o$3R;$?t{{(|Q65n%HI-6UX7FM=6 z=V_v}HmAl=kUAn;$NDY0D|J#d)e72P*T@xVZlix$5BM5m8S@JdI9UgCf$Mw`F(oh< z1&gD~GF}~tkCY`>&a#lUXam);T6CR5d!m?dBv%gCTNdU?ua+acmY5F_$cP^{NKLqc zqWq$Zx}n-y2^(5xWsNwd{_^{~aU6txvt4p|w-#Pz`Ar{FepyV@z4RXrlPi&2*a!;` zhG2ir!zcvy<&+b>PUa+;Jwc{F)kCqH$PT=2GyCnrK#C3u2ZN1+>)E@k@??Z>2?lL# z`l>X6CN-ud)Vs@w15KtW2!EGmY!RVDsoAeYTjtZ2b(&K~N>rR&hbzz}ZIY7M5~RSf zUmV7b6JnYs2Ff(S()!ZM0Rw6~AbF_S^aX$8HS5&Q1DX0fM9fr$9gl(W1@7^}4VnG5 zy5zJSO{I)0=GnD{^%vGRTwHGz-fd}yS60(1;TGhQU0J4lktC%8@xqu_8%Hd>2~((0 zD;3^!N=pmh55APiqKw07og&%hO4si2r^C_%iO<>QKChVzCGXD3=tinBBeD|)QwV=Z z0qVjSQ`ji8Sw92wX34-_jn8P2b`ntNYw++iS*#$Fa&*viB1(=d(|}dQks-$O1dbax zQjcUIvxXNK%KHKyr#X|d36Qylfa!e7%3tHdvK_5HJxyo9N&~E%b>o1dAq{Bt&2s7| zHGp!R#Fg&xK@F3w1Ie8X++S%n(Pn>RN->O+q&Y)#j4jKwjmcEQ0fmKEJ7eaNdympc z(>j`uVbNcUr9|=;g@N`d1DNG39V$hv;d}?p^OfTv1j&Ih>2W;pQ%@bK^&AW*^@yoB zR7VX-dOrN!Ml=4<)A4 zqTKH(I%0<74D;C+Jxme1cn@-td0xoM9?h;| zZ2n8evox4lP3dO6snJ-D!e?JXNY*T7LfPXnjfL2Mkrp8KZA@dD+bI$#$*H~$9}Q$@ zYnPJ^vyCq@<2ro-2oPE%*4}@vM|i6~xj~PCMpLbpln^NmgL@uaI;UWk&U=vMyx~_# z^u=>h@{)lt+%hNxjI(jt=$)4fc+f!Q6BLN|@4g_?gH@@8FWmSox8 z+Jo4EDh(PBt|4>ruEMV%2?#pZ7NpTuV@7tH7kha<|J zij0Q5(^w91x#19O6B)~hIH}4oYg-Pk8{%fN{~t-cV3grFojuSb!zgp)sUC3zv5L&k z=D$%*EdWFWHlwHFwfTQm(}-7B;91-aWs~tqeTXFu7;JKvja<;gYuOGGIB2<VrtLAYO^J*NNfkh3Hk%jeD)inT(ElrYb}p)JYDR_D zRV;Q^I2;WZS65~EXs>rRRbRBw-jwZY$rR_5tgaojy=zrw^3b=>ugpn{!E4Hc*l^|JnO|_70!Dx0htib4k_=muAgb_EC|2NR(2} z)H-+GLc61i*rB7kqPZISmil0nZ5OqMc?)QwX>NaRsI*tKAQ)l${Q6Ayrs|doVyX2F z^=ewm@PWzbVBaN%?BO&v-%ri~zR$++c*0J+d9wx|BV`p0 zBzS+P#iYanm5NC1LaK{eHJLCo4Xe_BljzLWN2WzPG)C%rFr}7Kn=^(HDqFH?&X69O zHtjs^V%@a@DY4j<(RV5rHZ@h#^uO#1!|Jg7obKeE*y^-^#?^zxCvGJ7=@H}fS{5hK zj7VH5Cqz_H~Oh*5odBE)^bUmsO>5| z9`h6%wz>jQbz5b-9%XM1zNuVyce(v~MGO}lvZZAsE{qBDH7)6`PG~jL9aYo%ptvyY z<27_Jm7aO<%vy1#OQS66HM7xiEezrkomFK`vdGCe7n!C{a8s88k)y>+@#Gf|tQxY` zfUA8OzfuGl8>mADgaD^__T>Qof2=}oh_l6!nrJV|v} zx`V`SWR8bma%reGz~r!u$_8w~aY%q#ydpx37S{)Qlr?pG7B@9O(wwOqqqkKCxzj{b ze<_ui0jw*GaG{|S#p;Pwjwo04`VE=4+t}^e7M%11tt6ftz>N8vlm3@C^3I}o# z$H8h;t|pYSE0YmkoT}YEXh+k8{0>Hu!9?ldk~kt1q{@?beGcVsDdY33z(IIol3&8gSSdz92^%pkS}X%u((0z^YFA=CW+wdy=Ew~-cw7GIdJx+pTDo_}a4 zOXu09G0u2PsPVSKP%vUEDY6{)%&?fW1hpoj!j=|gJNwdj2@5RqXzlN)c2-nXHB~n^ zXS2yvgSugDmvNgimrO2LmWEW==beNWGxI(6+ugLazpeicq-W=w z_v_4=ne&)gpSy`Uuc?H`^XWvTB=)2Q3&M4HNvA&x`Dt}Eq$ek?$>mX&O(ha|jol=4 zRBveBM6yn*&mv)|#5#=1B&0rQNHH6euxP3qRW)y9f^Q`$w5@-oBY-_IpN&b|XO9^n zrncy@49i%1+J0gaoptuYk$QhX}Q@X4ibwY)fKZr+r%u6`v;puQ6JdO>h8 z>*TU+5XX#Sad5(BgiH_v3Q zeO5PNMwB^sPJ4eylTA6jB9&8#c=rZW3f?>u&|N%_o@@~FrUjaiKW=#qD&^U zVKeKCtP^ZKG8cga@c{-|R)nf-Mp8{l*fg@KH86hB4G;_9IyjU-lms?aOd`PUNU3Ec zuq(%xl^~fFr7b|PE?Yf!GVKjYx2odbmyxSxWHg7H5)5(jI=~W=8blO=UX)O5RpCIZCflBZduwAK5^cOY>DEOAcaA$F+&+1RE=sAZPOukfo@9Hog1k0 zfr1xl9uB3`Iaj4_exA&8bUOqK%POq^7{?+RTc>}CmXvr3tq(ED%ZR7B{SqHR1i ztvKOC_W@-MgcT03YrcBiOt>UzHS1&6V%M=s6w)YOMFI{L>qaLz)6ycGN+T<)lI-c| zi+6wblAx$M{`NZXS0>NrDw{r;YM^9^HW#LEVB!#dv~<7d*+Ur>lg*Q{s+nCixgsdl zIo+i$r=z1k6FY5XGumK)IRL+~cVSDEMh7yIvQRdLG)EKNTF9FcrMMk%RwMx#p`NsG zyvGtaQ{1gx$oDL@y2H3RWt?nRSavRTR~&y;*#c4QRk200^xp`@)=V%Dh-j!{XH#>U zRf>R0jpd~M3CCAzgs^|6D0@%+$>|LpZcYBUw0h!wm^ZFA=k8-iV;F4pPF#sMCILyu zi80mM3pMf+cP#l^7o0kA+vqlCeI)%;zvdKnZa>mxI-(E_zyth9+SV z3SN_vs^;O8i`d+mOMx7e2%^xRSLuJw#-@A-xiR}v$cZ^V9>{KSxxl(Rkh8lZ&2na< z?RV9lFspSqm|B}+>u8%lMF^^U(3z?H!s@m!MJ`l#`;pT z5%>3JYni)lQYV7iy%mGMP5YI;%WZ0NUzk?9yR0&-HX0jmBgDUeWDfh2mYsj2Xl|u- zA1`%FVJgvlh?_>1Q6Ye7sX~|3PeE!gnt2;U$**sicN& z!UsrOs2=W%#52?@TIQ6&EI+YMpLLYjomDV|&&5?Rj)-SgDl|dNw$4C-AC|8OJ2PTp zhsOORo%JHFkcrtj8S}0+O?-d2s+!vvDY+Sua+s(%A{OoMj>%nI9s<(w?h6vql05kC1fi#&dc3B~SVAEU$sc4PclgZ^@tAYw8k7qjM!IhAfs87se0cy)(x|W32m$xlq z9qy}Ll7e%|V&+`rc611pGm?kATZ|BNSE9p#jfrNc^eCi~d43Ix3rByHOX!kzT40>T z0aLdHutSax8D-E!-xbn;uuaX)tOYSOU4C_|)eS$XiPIC}8?M2b^9|{cS8EEhv8#six~ff6wdb%D|(d zg)1OObnnY|ruQgb^^I)?C@ZgGjHzIZY!xi5Wic_Ml& z+Gbhf!5$I@N<=-!IU!tFK&Q`Bg&HBYr{1JH6i+U)VOzpxUY9J;*K6Eju1HK-w;egs zYIN6Z(-8;dk<5RLELPnAk3+0BHwK{kg3S3DOOtk+y1&<29SYRQ)e+8^g)1#L7FDV~ zTImd|PO(o|w+cP0=kRVl8(TxV=Y;IP)Sl;+B3Ct^_s|Nq8E=A&h_O6f3i;|#uU;uS zgXCM!!Uf?v$NZB|xH(^NRjcVsn)+};RL$t#G$XochE{*`r02XO$J$*zY7MU}$8#b{ znn5)#Z(4h{#Bf6-iwF0)hd81tsoGV+oZJPr>+X&80qty;?ZQvCXA7IQK)d9sOd#Jn zSbs7juuNE_6PG>)@|+xZA({JCbrZwoob7~X6m5ooicC6q&uNd6rt0uP=sizzbg?d6hrKg zm3A~DmURAT7;Fg{yJn3CKB1)ft6)c8_*m%LY;){cdEBk{TQY!)NmNH=2wx#DQ=&T$2_`x-B1!ZI8f@XrG65Ct|R*MB|z6NM97Wf+P!3 z#%|pJCd6u?4^L^Ll(K)RxzzOknVp-|LWc>Qy1B>_1(7XdGwKL6UR4Eru!o* zuZVTYDcBc_WS}Db&_JOn4Gz+?#k(jHE(>*O$d#&f^{MAG5~H@R*EB<{WeRRagSbjm zC-+8cy;z#yV5!(H5bDQw%%@n$^wFNeUnu^2^70jJ*&N9*(SrVL993;P>4e!*)02O` zTx>-uQR=cI9Z(Y4)JQ3P$2WUqwex!=@(h#g8EfJhsX?qOmR%Q%B_+*TYtg#h(&j1r zH9F1?_ILuP$D}^XjLmYb*#2Nqp<;~QNLrmfWGcy0rL#mSsGNP!6-TIpR;VnK8{38o zg}Pd*F|&@UNV=115T(~6OBzb(a}|GltM=45y-`^bzXgB;FBFiLR247*UiKROF_t0 zG@fgI8I7*>i(TqRGU_S8V?2MVsvJ!5vfx?OLQC}Qg{sERivxj-oa}m@`ZTG}gh7jL z@JY^o*|W{kM;3gMm%>s&E7*!e3rJi9kXaWR?podx7F-J0V_kjm=xQ-p#51Xi0=s9& z1#45R9ios{OX_JvF*a5N!EpuXPBBo?kwFiVKyDeYB4vo=TTt@z%wO$_fpn?Lkf?pB`l$$&5UODDDl` zBJ~g}K0>7wN@`n|#)TE{jxDt~@j%m5YN?*wQmI!Yc{C=IcdU`x_~_nBmEMnVusohx6hBdMYNNSH#E)?#6NeLP#H}~RagV$0ebY7iQR{%!u}&VF1Rg`wS{Gi8)v`qi zt0-EH6vjw~+m@WBxr*^VJi{Gx>tHeCZpsnLSQ6g`%R4hy?Fk?%-A`t z$2G4C6DL|v7!H3ilJox*bgiylMcmQ=Oo%`Sh`DP?HNjLYSE3RVU6fyVYnn;|~<=vE2l;|89 z{4`r}M`}hBkw}cMNJ6Kx#ttCK#Fd)*g*HI&7~N`PUM8mR=$_vxDARMxBAIN5(2wV; zthkYzEtNCnQNialUnfW1O97wOVI>>qlD$u6=-hv;Ig7Pk$u{{?qGbp0Y?=GDz!H+I zjZ~5_g+UDBR1v%2{!-+j4%-4|Q-ILtopU;N#PPQ8p!oiskDIeyOqyDDYmdipQ8e0~ z(t_EJ+Sz7V5z(ck>m%LSDtzlMWbNnVrR`F6o`{I!Ifqpt|FLZjqlz=Ci$`bl7kbC> zsF8m#)8iG>uFNqBmCp2cDQZ}?+Gz|HD%!N?S}L{Gpp#=+E$Z&*V?~x0(1`0YJ=7sB zRHf`fO7t2d9(63`tu8YytfR3>Dr@avQd6(E>CDv5@DM+76^%nf{GB9`1=W7ux@%qRuqsbCMOA4d{H*4vhTESF=JzMN1c$sV zPq#>#+mbe~Jc97DuXSNw!=^Mi*c?C;HU9=2!7?N#i z{geS`wR$-BsQ9Q#I37(#@cSklm5k#}1*0H+Cv#=%;)y7}UL)UNDzR4TV9)|x6q(KM z>Ptl+UM9PcIWy4jn}BE(bBuqh2uV{r6*GCTvU;oKP-Zsvm^_n4wAC>!7L~j-E*e67 zn@yF&71cqNND-kOI$u6Wg;!{gmH9U>Ml0VbesvI@#1Aht(C;|V~9 zf??JptT(>87mYcgL9OvtaGpnB2;#$WVx{_t%14CExupUH<;O*B#lI9RHn(*`drWsP zPA|!FsI&6wTqL~;wws!kujQg!PA^!+w!NxiZh`CF>xtf+MF)Q)mvW|;w0GP4)+QEi z^{HABHeq=$PV0oUnpS}65GA7=ag;=jWsliyzS(1pYDjZD(ssZo;6wCV8Y}ypE;RtwnBoT5XRUavcrHYEACg zY#O<_U^H$)#Vj4#tYz*H%(AhdR8FsS@2~POd%AolsF#1+v(imyNomkEBoZHFN^h^& zmhg~*M^+crBM+Gn=6ydc^(S`d>m0q#ltpEE`(fSZifYDB8XekR>`{SLd^6!*_IjeRK&QpoVk?ztHU8$&|FrsjfCEm$6 zg)?@Jn6X|msG8-&QKy`(&D}J>bMcKxp++(tSt6i1B-bO8OcpK^#>nlU_!bEbZcY~-zss64Wv%42(`o>A9i z+G4ON(Mz?Ayo}V0p_aJQVjE)7MSb19Fuh1iRL)oDlV!bI<-{7G$ViDQX_G=(uT(Oc zX-}!^uX+Y+8+BA!AL5y%7xqUI^>jUD(=l2v&3z{l)>}B0i9bsL5%x|pqM_6`@OoSmrY3;Sm~Gq->I-VSId6NgpQ(NRweO-|xPS%IVK8SU`R zj<4(N6^KUFPs!^}zKE3r3a_kyLw>VetEn?bJ#|Iz>AqB}K~$}tB=+IVCi)+yp5&)# zbaauF(vZBq&Kb5?Ae4H=%}~$CRtg~+Ibz}^f<{cKhgc!v)!SoWuC1R$x~lRKJ8H3DVeNp->5IUM&J!USTd(E?5ROb9 z&MkvY_DLWcrze9mYiIqP892jIj`n{8+2!gx`}9Sbm&0Ddm6qi_YgKGJlvkL){w^hk_RQX3s&nD zq<=vh1SVr$sZ@eW?2YtMO@TI86QR#S;7BNss25t<0F1b?WeaqH#F&JqF`9kqT4X@I zXOzOBw3T@U>5^fw0Wk-C+zNl#Wpy&XF=o*Lc#tRhKwo`32nAOd`E7#7XaQ?oq>tV@ z>uE+e_gJ>zZT*8O^oAm~0oy9q(_A7*I4C;5NVH&E%uH?w%W93Pkh1e17m`zpS zOl5sNrzXx2S%KWe3Zy_AQbgLCE0e4gIm+diD8-fzGVsh~M4H&OkCceef{00otCis7We!|~Y zBj`h$5X8e@5*w&^Xgz;W|BR`~0;iK_rINAh78)j&F98yVc0-sb9<*^%1*@x6O-aNg z9wL?T*5+g1&gz}SNmB|bCq<%YGt{Wp`BS~I5kX8W>vZFX(lf`NaxC!UC%*}6ic6a%i$ zhpqC+V?XhTXAHRmFW#_7$Zx_=nW@5D!fxmWc}HCj(^Kq8n5|l2WLVUW(3p(i=Wi3N z>??`go=m0+Az&xv-H1pRcIoDxWpO-kArULOIMWsbY8II$7H?2JYaNfR)mx7*$%#hs zz~I=WqVcHLS2|^_aGkoGlh#^Gi=pf5EeU3lXjVh+eIR$WFp`dR$FpL4S{qY$R#G5d zA4!E=KpcODFDVfg*<)~h73#u0KE`rCTBM0PNY3+|&nR-@{-#V1H49^g`hrF#nAatWs8xyrS8pz^w%Oo7FTs+Gi-RmEIu4?^Ou3*4a$D!ETRbvcmYH zK&zseuC>@GwWizZ+9()i6-yXNi!?X3$~4i%bWwkK{7DUU_48N*!DEzv&Rm4xWowrS_0Q@||3cwT%GNA7~3Tm*@ zSWQ9`^vT$Q!fjxE=c$_MA3FE7j@+Y=QIw)YS;KUXi8GyD$hvLS#`ZMKtu0y^>)d%(gP{87t({w^!f`sa*~U_~_B<%@B4rbF!5L?4w#E;G zpo>pZzoCb_p+|H#$xg>kYG7+m6g_g0q-=lYEQm+XIWdF1keQ1!XkM|&+l{>_aUrUI zSTG%aPd{(%bciusr`tRo5c2d3r;9gppfKR4GHx(EJ{_p7H2|bVv+1*@3q=Ie&%1Cs zZWD0e7eD*EQawFDHVL14!-9e~GwB){>W@)BU#@)eVfk~cQGJu(Sb{SN&Lwza1Ehb) z-V{O_3wnAs$C=Zej2}0z(*ASi%(`ql1vKo+*x?}RxxL{4~(!n-+JnMgY>n$4N{w^EH0#qs|_#rl&FzK zY>-7r9g14E*{OXylyWmi#)NKCe0o6pdH7hkL08eu)0hdzvbB*!E%ZlxZKTg;ace~Suvl&2xe7k_z}{2Y30kKn0U?w ziG|sF#HocmH(Z`WpBhkO^hv89*BGihqdgB7NZ zgyB4%=|y=PX}!eKw-?t_# zX1siyUWe~5j@jnmv&I6@&Zg73`?^3>iBLc3_4UAT$@7jW9%--huFrq-y@B9j_-o7) zXSwb73XkwJ2)4mrd!9Vb9!DL!;V(+Rdu-q1w%-YlbQcoLz+aYruXV-QShW0-E4ja? zOYO(?pUSiTQ?&k5u>Mnd)_=;j{!Mwsu^(wEml5{WsD2Z*r~wrqcQ^xxB7op8Dmq zabKm6Ao6yi4MROnp~y3vA~|zBGm8tVS}Q+sDONmJmwD%+nS*~@6X{N6IwET$aUq&m zC9FNygoU~1ny|3z|K z;+biiDQ;nSnc5XYMgn~z!+@y1JfT|v`}vJjemf0}*M?f9Ho9cWrjuBj|FaDFDfZyl zdg!EDTm4-2tE+!(R;!hewX{Pms|+zM+cVnAsEi?GB83szFrM;bJv}igSCEOXf!-G; zOHp((goo(WslGT=dR?mTg4*!%9;#*}f%lagtb=mKvceOgy9#*^6S9|FBQH$);;ZB0 zZo_fRmNyz*F^Av=#t*sT3HEh+w%AWJ1LV6+mF$F*V_AR4?2zw!%6gZyDIL}~1M;jN z`V_QON-U%k{i|ok>AEG7hRIDf8*4+Mrc^d2^^~a#fvio9Ar(Yd3ZbTWml!B~gNnxb zYDv<#QO=;M+S=OcnovesQ5Ne2#~+J}3&Vt&a9;$bw7A~u=}**#1fPa?{cA8%NWEXx zIvJijssw*np8RyGzfZ=fR&z{ECRDvz<+5xq7OaqPK~aJn@oJbJq{Cg_LeccM-<~qo z7wg{8ort*}oT_Y>rIqwOQz>L_lJ{MC^WGWNRUyqDF6p(oX~UNnCt=0YeUC!Mm@Bc@S2S($N-R9N17 zs$S~AM^x|X&^TyaYqlCWdIl;@VpEWxQb8RRN+uk56EC=;N_L6qjl>m^KOx5dg;O~+uN7wU)^h0#R+R!P4AG0$qIS-n)8{)l?GIc>Zl>L z)enDP>1pxHh0!4|r^zGxD^nA;S+`$+hRpOA%cebj&vZwU9W=ogVCT!0u1KLx0c@CD zrDEHh>?^||fl#7R3-4R|2<1vksnS{f%Gwa1;7WVV#4WSDe8dD=3*kB; z29JfK=V6Y2%#(+r)?Se8n(-D9 z7Da@-ix6xZau*X4{5D(Tk*-WCf!by;0H=a;`CGP96>@}KKVx4f85^adG!tlPO~U-z z{B9x=Uy});jW@MbX~VL$x#hJ;u92!eD-K_XXnm{6LhL63f2abGbt7735idG>Za`l>6G-YCCq@=y1JJsTPTgoEOJq!jmZs}CW~<(b zLppV>Yrd+H6Erv0Zodp&ZFql$kVLgTK9j7kHj*Mas&SufZba zdyo?UNHVw35ON?F%#SP>)sQyx)>uy?at{-ygDC8DRNB75Gk>vQ3O#?7t99R}7J7IC zoGb)A6Hj(0(3lb?@9cCI-`T0<>1(XVXFNcLkZfL^L}3O|xJOEy%SvIsRjy!))}qCs zR6?3kNm}+sgsKXWS=3%A{Meutd#!q77x5fQz-(JwCLBd(EjTN{O!tU@nT67%$vW<& zUm{71vRxyby?0QPLH9pO?^UED0a2V z7JYnrTG5Lx{QcFtPkZNro;?BI(fB*0J5RVy@^yC3S$O{sSUGt^KG3A-$@6z&2lwA_ zo!hUnqw(*h(!rUhF3;BrGuF)X4!#oixK!vAM7H0|$iJ%;>#cLZb{g?S^oUXU&+JM6 z5BC*jPj(fCl*Nr2w!7beJ|!<*==l6GVb8v=4XgH(#oaIO`8Vr*a_M$i|2Vw(Y2yAD z#TyS0MorLq5aCh`(A(y2>3kE~lY&k;hQ4&{ujbrkuT8?0y?4 zJOa9whq?Z{fn zb?|N<-9EYo9r|_1x7$``^L_iR%y*6_o>-NvR6X$D7$zL(394d^Iu<@Ur;#09Z8hSeP-XG^iKuZ1A!7D;0RSRRW zL~6Z>$eWWo=fZKDv9s|Hgqa@YSP|AD>}L{)ju-mkd@(zrwkhJUcy~U!qs8 z+Y$AlU*yg39!p7ftXh(g6StRq-_pt<^sm+sK^i3-RTLl zK`+nVKRb9srz$Ef(X?{fXU~klbefo>*lPdVqp;tZcgEC*erTZXD=EocTl|x)ByZXG zJu@l~Qt-$*DSLJ?kdW6eaOYNe=&{ASAMxk*jb8n8sw^D;_V$&?rZNu?(3-~A@SLs~ z&8LdUD=*zWKYk_DJZf-n14>^sQ@^h^wkZFult{rprZ}O#)xz}#GBYd- zeYC6v8sE(OCUTMS<=LO6tPF;v^J5^BA5XWd51Xn_>X}Ib4j6fhoYCV) zq9UIl=H6CHr#XBqt*LoMgaVX@VVSc7&(bzuoR0q+zWUO0=p=OFNqLLZuMA^n%l+Gm z!4BfgPxqG^Qxb-}n;y6P-Kcths`gRVV*00K8ynrHt5bdZFD*`e^tyPG5vtqi@+k1( zfK~si+hrcW=*z1ep}9S^M!Wt;XIqc7$_$0&x@4vp%?>y*v91|vwfpM#>&zK+$nXA{ z;(CK|kFEEoz1Hi<>n;Oj(mnoQh#xc7L$E#PLcJ@YGP*Od$}Jk@KU7K_GcbIo^riNS z(|P+PyWh`U{syFPhRHlWYNr%qSP|f4Sd&rs{bAFEOC|=SgoY7?@UL-}fcwX-hx#%R zrazOt9n)C(`kOwDoqrzO%vCTA-fBEvbN#`MX-mHkTd=DLsZxEjlX!pl^UDUZIsDQ# zm(z+ivnCtg9{=m$STWR}u7%mZ?QGk8ejh8o=D|-z1HY6Z6ioA!%gy1E=;wts$I~~! zhj25G4C$`lf1CC{{L(mFDj@_oH*cKWJ$LeH#T!UNNX?JVt@oXSopPHDtuj>PMS5=@ zDgPF?-fJkFV>tZz(}5cuH;|vtL9RZ1RjienUh-@IxuEthi>}w|HuX6MsMeyQ?6+5f z5&@Qy~9c(t(LOzxx{JbN~JN_~fbmAJd=F zPL%;NMK7{W)a^Yk1<%+jt9}$A_dRm_aAxp$_|<=U)bk}i_E;dw>7JQ$XMVs3(sS_> zh6g8O>Pq(9P<Z!fezNhmDSpnBErp)xS2u0AI zSuH#XGx0~yy45|{c4z3%JUmr6%XImcTT_Oj1xnE>I&+Isnfr9aa3B*yKsD}rK0`0L z+3&))mEqZ=eNtTQZ70=-FU~Q-UNU3Hj&)W^pKmtr{w56FuLFs_zP^zbIy3iecH=?E zl7?d;^D?D$^lV1a=1~Au!0Umwjw<=jct}Oo1`~51%zbTAn(bi5tSA@ai5<>@3(h2e zozve}`NMuEP;qK*NV%gJz?7$cgN=dDgdu66fPhRO_c4Vv24lOaux|LyTu7KyOF$DP zTo4wmnr&#PtP8@RwNv0DByS|Elr#It6nEttV3>UEfPi(w*htrC4`N2Wkb`<6#B-5f z|HwSHoqqP$x3i$BnEKr`86)v>bSf#rZL}f{{dRWkRprbSUnPJ|1Xk>a5c$BA?}~wG zbTZ1;|J!1{b@;?#xhP5AD4o3!#n{TGxU%u;f-7WhPf zj_+mrJ-RPByi|Yj3Cl0?R05tTZ~e2kGBHkj^7hyqF1J>>XU**LT+IHp{m4th1Azs4 z1pk$1zbWx6hXGA?C5rPL#8n41{iyF@?CPHpWb+;pWJ{p*eIg+4xcPIFU3VRtMGpFs zY5eoCV|g__(f^Ks;?hLn^cv?(@hD&2v|w5dTunKcUenYkOl8&S&e2ns(jHM>rP=4+ zjZedqwTTxS_j%o&V<564jQ<>8A27IeXJk5qL(T<$ValtO%NO~7K8e=bxU-iBx7hS- zzvuIPbkc@u+0IrH6_`Ce>kl;^)!B7>5MezXct6;uyaeghYwu|Nagl4Zd!`)L?#}q4 zHcW;c4y4i($+|D;FQ9X2v91!qmbsjmLB|O1D8S`=eCthW6k{1lJ4=Hsl6wU3%YrNa z5`f_<$5Ru+?C40njIE-UgL!!`aa(xC02x^)Q?p`a!2X+yZ_k&$Js4_f)UkDi*Yi+_Kg>5XbF?DIif}@dEF(Qe};D# z@uHnV?>&j%02P%D!qYa#GgF&53rAdd0W?Dy9DFN6;4^hsA%NesX5-7*D;JBnp+#J^ zGeBky^(>m{FL-M7uS2hh2 zCuAj$}SM0ANx64d+RtG zJ3+Vaxr^rqWIe-ifV~pSWKgm#Jvg=V>LKoiy;BcO!p1T0Qxz zr!*Aab*#F^`_|{Q46~wztKPVZ*VGCImdNB!v(1WMHA*9nuzV6Jl$~TRful{8F`PTk z58V|Jj5TQ50H-o7c!xUJA1+Gch@EW^xCqX_&4O_8@fr~I){>Y0j+u0ZcDGaw2{+d6 zyMK$Sr^{-5zOZ2!2QB2w{2-x7?Z@Qt;b8H29HF>2X3jHDe0^)f5DBr|A}U=)tU!FO@) zog~mItvJKk3wKJ{!b9vmX7DEY=#gU-&{z1nbK5V(moVGHpsku^M7jZ|!HQ!l zx2_7AhJaRnP}(WVeH#Vw3zS}0lkEr?Kpjtb8K2FCBJjM;8oezW^py{buZ;Lzy_c-l z==EBBmYgwjrZe)}ch`Me3of4h;wyRze2-mjGw_#buO8R&_hVU)YDx5YN3LWpGxI~v zG(GD>_9EFWnP>al*7~_bW7NBkWU-Y%9ef$@njcb0SIr-D&Po!=Tl_U&&3^@ONk!MW z+mVsD{fr@rZII%};<1-^TBf9f*0zDok0*NdIIu)3ieVSgBSoZyT_7tCi4bdA%@&S5 z-;4f0<((f*k4$|5G5vvMX7i&vd8Uf-UtZLFbpt5onEC4U8YnB7C|gYsI`7URN~N$4 zLiBl|t%wXLs@_(PP2pn!BdrFFyA3izNC0TDFajlr5&Bh7_}&~DrwrAJdA^dnmta{ zt_LW`m8}tlY_|9suhtLJ2TCB0ZAV4h#&K5~gHM?gZeqE-ZM6F1y=DbUCTrvP>Qp0u-ji@{?O;xqFZDdgx2L z6AFl_*Pch_l;bI@{G%0sYQ7W{P*1SjNcsGuF0ZD<{ zbCAyn;HK9cYfa7L`_8Yy-PaqRpo1~q)%Q9}PnhDe1>MJ6ah=k6)Dp3ir14-~n|2oe(=<$E7&y@O5(NjU5;*Rp43 z*M(e}v`Dd37r07S3$*5!Y3}!=y2(-Q_p8YPEnS{Uq+q+8arrAME0zh;j%uG~4vF!y z@z?ldK=-Td6PEm?%p^jnC&hTj=5X!4G`??q9~v}CRDyIQw6#A_`kQ(?AiLh5y3;JO z&Ud9S__KbiUxLT}jQo}0gk*2saq;T1@tYKW7y8RX2pIk3DWJ5ZB0A3-nuQeJI*dJP3EXll6K*-4$s^9wU3i^3yw;RUCuQvEh}V>X=g;W z3GI8u$9YXm~D4^iJ3{x-oCw% z784ZS2C?AFiS)H9G<#S38SkHulljvPP+hJ}UHFbT;eM#~mMK8K*SYMQ_3gKbf3?zJ z`!luo{tGItsk5G{1?}wiFl~y0Dx7cA<02trAof-&6p!%JqNpvH`kS{>1+JJiCNM>n z9bzP3V%BmpJPzIBPG)9D8qE6lsBOI@ZBCmK$S6TZO1^K$Hh7 zZ`e%W5rTHlq$2F6Cgs3Cdtd0AcE0%~YrFvGmjF)+#!pIat)*1^ET}K1eCsNK&1Rdw z{`^8x1>{s?XCW99@LD6m@9LtoC!k*r+PE$mvM;x;cs()m!k^P;aN;|`3Y&V_?~)V3 zQu(i3mwEse;eF4hfB!Y*oDYo`|4rZXo?MnqEIS&RXOAV=L8?24JnTF@?7W~|8Bcao zx*ar>l87FrpmBkCrm#vK*hD9OUvDDVzIdcP+DDc-$>;w-a4ufqH?VxGn|$jw z@$fIvy6TM@%u&b=;pjei!0GnNUx9p%@DyyS@AcqhBu_1awlCqtT0%{|LI}R-Xy>@E z3s-mtVck1{IRQ*a`^TC07EtWQDQPAxlJRu!+vD_nd}Q?r!^rB-siK}*oTHK%T)7Rd zvE&L;g6&${N+o#u&Iv04w^fs4xoUqm?%sL_OEqJQ{8Qw+u0Z0}m;_6`2s69h&k@w_ zx7G{w58qEOlbt_ZpTu(14Kp))$r=-_w+t0BKbUN5Q<}GKw{xePqNXVZ@PA|piwRn=g>R4NSzzkr z|As5bO2JczCv1)ak=A7CsEyWNk^Q1LykHUCZeME5>$UM;S*&PZdQ>ZqPc~zPgdk}% zxMCf^UJ{CA{Y!hP%a5=l4hBUF>}(pybj$vu9|Mm!EBvEN21{|03hZ9&h;nm8uW@DP z)(_>b+mNSuGxJNv@5$*CQaGXbjXl5D53b3!*Z7Akn**Il$<>|1UnuU2wNN|u%;I+*d$tu2z_A6QTjc*ubbxGO#>J1E)zu6>hWn(Iv1uzRgR8^w2~CmEu$tj3PErK#Q``^h2mr$H}o2n{-_A#Q%0hFknRnuNj`_|xPz%1}NOE6`6i%E#1-_b-y$ z##q-EK;FVQoeQVU3*(zSLyrDT@;eqJ=f7|@Lp9kpB&#_=)&H&*aQ@l)6UeQ|TUux- z)2Ki#%-3EGZ%Oi6M6bqmLei4-p{sRIg}cm5!WQ>05SztcMHm-Gfp1|0_y(o zJ=(|EYPY1k1tW-US0|M$bl?GnlOlnvaaD?j-|6;tKA}233N~BCADZl*M#R7~-2$(VnVndFaQ3V7F^`dE#&hDYt(ixL8 zVXD6Yj>#IRQDdW7;9s68H95=>s%)4DwADC4+B|_LLKV~y91YQ7z=i%tl*rTlACV~o zzT4`B*K60{M4DM^BPM}o1dv26B&vgr3Y+TMJb4wrvM>(uX%--?bU(T7MB%t)1w*ZH z04EY3D*Aityh^%t$>g|&`k09S*L|c&m3GVtO;{RsZHAi)w`(9Kn6h#9JlQaR-~0ka z;zJ}`*W4QSJ!Z151c#GO=J3&_ZTMnl-SBh^&?G+-K(kJt)&g*8{1B;GreJ?NbS9DN zszuQ&@$u(_J*-x4!22ZCAX5sO)|ngT6B-QZjJ_kcDMuDr#83#^Y7?(6M>%)9ymn7PWN5_t)>Z)U> zLo6sDnGgx!;W=XlNmSZw+unizbW>%|B_A`@T64+A4u`a0%n*vTQjjZw)s3^#K2b?{ zk@H7g%#@Kp8&wu)I~oZH%=DSFlO?t8X}^VuEV-H?R`w>l7v9K^=#lmhZ+IZKzsBI< zIHU7Q=ZFXOiFklLLfHDnkGe`Ae!hhVsUsnE z8RQpkqMNDUpP#bY^g3S*3t{<-*`w;x&Z7M!pxvmXHg#|R4c(l-_ z;iBy3b4vM5BlYuOFx8n)`n`honi3tO*6Qc(?yzR-m>`WXO!jgpYbq2Xk zo?D*Gz59d1n~Oa10(%84H*ty@kwlS~I_7lMo~obJwdd183yQ*?Bf1u-7O-x863Hp4 zNQj`9e=yn@ZzS&H7-EFKFO((@dA(5{>al0#Kr{q@2%j$QbCznAz`9cS(j!=bIzqSRMWRi4Ph@h)-F#kY(F)2W(P7a$$lEXKN zO*vETlTh+(RXka&#UaETA0@t{bjIQ_>2lJL_#Zi&$G(DiH}P)@HYi^(9+Ffb=3^g{ zO*$+@(TbMEv&10|RPiK$Ag7_juug*SVH@E|4&t&p7MUcMqzIv9@gv%!C#i>$yoD5m zM)qiEMIXm6i%&U)SmWXH6ZX_JAxClU6H<>5?+o>RQm5X*LOZHhl3!A-SpUKLY?6VH zmw2&rb(-%h(&?l;1?&sbIU%@Sv^gHovv8n3NU|1hu?tbgj{xE=jz@oK`3d7o#WbC( zUyy8)(#5N^>Yw@Q;c4Qx#C=?-PDvy36HX!Oc)uiBIYchWO$azkJ(z^qgGkr%I=PG{ z?M(t{Up*BfgJ%lm$=}nCHpA=V58$_iz&iCQBx#{Ev8hv3pCs8mhzt@z4B|*tOllHu zasK7V!XHQi+{Dl8T|GfPkR&bSdT{hS)h4M~h$R-hKUx@XpR`MLGRanmqGu5xzGZ|r zObQe0*Q?L)mBiPIpBC2@KjL|Mxsc>3)Fh@WR&~(Aj(R6)L;?Gp6q!WaU!P2p70=qk zR>W^zM)imVYex&>wUeUcv3aCqAy65IYLJ9GzyS8(J;Ym1WnXNR!*_{sGe}`VFzxyR zQj<`;bC8c*p;L$zUM)#a{+?E}AwDvRERT4(QGIN5aE--YHJmd=PrXA&^ z6bes;WY6>+{nEB>5f@H6grK`iI{gtcf4hhE2`rb*BVj_D7T zdvLL!A>}Z=H8NXymCU9O7d4=^yxb4O-vrT6ydoAHXy=C@4|;_DzZ6!_IiqG&?gX^j z3&DQlb`in-h(i`ezH+Cp+^VP-u6yB+}^m*7<)KYpw1Iv<^$|>Zv zG;YU#A~u{Fj9T;O0?h!K>jfmBVE^TOm-hc-nc#*Fy~|s3bY26ER6@JSbQ0tb@7?~T zI?Xvw7zJ6y>*k+=TJQFapm-J;U#E*L^qNV}8MZco-!x zDHV5#T{}fy2Y`4oWP!+vTElILG8q47<^PLl6-|I&Y- z1d$%b0a>=P$S-&MCV6TQ7ye%m^#6hY8N30-??C>!qQ9cIFz7F68Vr%JjDqcs1;83} zW~VB?m&eA1@$TESc47Y4GXB3!6Bb39vS z`BP$4(qH1RDij~$iGyRjjfR>s@GSdI|9=b+ol zgHQ*q(GQ*!6LyeSF~>9O3q+=E;=q#!6@FlL{b|EC&@RYp$a`M_iE`Pz_aPg=OSa-( zzqXBsjEDN}%>l<>pt)DJIHeHl~hwMbTMU!C% zG&s)F?6%8m#Gjd=!1@^$={6UOVWTc?!EM}MSpQIjrNB!=qVBpgZ1+NpT^TYGQN$+| zRM6hDyZwKs=e)y7espq;oEGXrqzQ>2GoAZK&?usDvpa3*zW+PN|?AJ+^@a&#su7 z=V3{QMMcL)O*5Oa+a{YbJHZcBgXhGdbW;#f2&y<3C1QM#!L zi*Y?ECM4q|H`amOxe1ClPKr`kiODG3yvqZ}5d}aVo(u8M zz8srKb1qrjux!*9#(AHXdw&h^3k?c-eR$}=VfWuJgG_=_bxq4na|SQxwx2ru$U@-G zg@MvTYV$K%j~*zhT=$zziD3Wv{wPBA6lA}ChPjzocMCb5N9c_~Tb93kmoj`D4lL!+ zc|d<$TroZN$i-0Wx6+=88rTazY;NAR{sR-wl?)Bxn@^so_x!QvreEBBT|iv@=aDQp znrHKepMUt-_PSG-P>V{mIKwYh&6H99fUWHW#$s!>UgqFt3qYqKUHj1j8{+jy?1sUb zJ;Z10tpqhzB!M+dtLz4rywrP$7|q=CrFe{{A3FBrtq+do8<-V)+ZQTZoQ62iaQnsw zN52=b_fB&a0#}NN^G~Y*bhAD>AaJdS_&olf=gYF)|SLn@~Hj6T&cgkFCC2N1vuFQdg#+`BD!$TFki;yzgUUJ1J$h_yj zFenpOaO>3SU+Wdb_Bn8z zCoYYA73a+R^s`B7{`f_oHI%N>?+MU}RS9|pQ9*y?rsFJf=F@6_v_05^f4)(3K3;T8 zaK3RLBknd*pxDj|U5XS&FpS6KbTA2@FGg3Big1F?rf(&p1@dUHQe)=%jkj={N z{~-YtVxSBF*dZZQ+(oeKbfyGUk>URq_}E54*t-%%klX38(5#}WkSSbxtGNTtfg>ON z>Nznsr%l!&KC}I`ELN70*m}Y*1;&1pHGW@0R_%^W{;}t<>!QtCn;OJ$gbnH0njKPc z`8VgzuoE1r13=}CqBbhT*m)_|t-_EX)jXFVBLfS|gy>BwA!|6LkhQ49 zBPn4x(?m>3kqUKCP0@A_@vsch}qwxwO2Ru5n3u8x58z%3{)J{(Jy|jPv2w+7 zx1$=o_=ub}`n)IG-*}^@KWG996n>_3ZHO0R-b|b~qed=z(3M-0&%j@Ob$ju3NQ!a% z4B4sEqZK0v4EueJKn)%F-Opy{{Db!W!`<6jW367znSu*aE+Zzn5*8E!{;&kSwkOmu z?|;}lw~kb|=VD>*2_s|6-V$VvnUcE&rA{fN1@bwO_=DZ?$Y32fO!5#UbSZLmNWbAd z1$!ZV?DA0zH825q!nWN_-NKVBQ0!*`z86l#@W3;t^(Z`%mCmlBqaiI*;xYz>n5d2R zU4ktXCavmX(%2o>+S&ApNtA-JF;BXDFNKVfpEF&{sq%oFKUWXE)?MBYN*rPOUzAO0kv6xy4Q0twL6I5qDt>NGqYfg&VP=p@{bl*pQ0FbO>V`6W6P_>jxoy%TN!Pf zl>rnxd0DM4tyXbIuUDS9iBKu@1n>H`zmLKLAU%4qld6lr8Xu}mLWx0N6!AzVu$`H-HqRRFBv z>a_Xi@I%hib*45UkK59v>JnXzZNfja0Y7@g*`BG6N8A|0`g(m}-4F<6G|vbdTr7ZW z6}Y8LLO@KW%1{2fFgyOtvfug`ck~|H;1eCh)3~*T++ir6jLGtPKNFa}5Bfd?!kxpM z;Ie8S@G;C%)j{qv{;Z|d>s)Lbu)J26G4gZyi>o(F`$FMbU?U~a5)Yr~AEWr!~qn8tve9Dt|Lk?ZTu8)(+jMa72&IpAyD1SiKx=-fq;&w2;F(OiTK89T~0R zV{3m218?OSDfX{wVx6YfQ(^%F#F^QkW-)$dBb2{p&lS_OS^#&FTmkElYm_Oucv zVXnO=I4Y6|cuY6o+V-uDiM=4yPcHo#sOS^r6H?l?+%K8HOZe(4H2b4c@@f-5k0)iG z2>THt$)Kwgi}sTx)uSgZk5C(FbzuFP_{8G#a?vtN(0b62DddP@(D%OB{v;~2_PX5(yy@y z9|=J+?UJwseP}RmZ$HN>y0&e3o7fryHG^NYz@aY+_|#2d-A^%XJoWVpDYGYF7cGcs zN{K*0rIqIH+t~Wr7PGJ3?Qvt+UJ}vkeYqPyGQddPqvhk95kAZ}nzsb5#vMdShq+nc z!0v??qJLfB_%CUUJf2HCwUFjEFiA%}le z^cMnC;iq-V#)4~SoJlG@OgNWtl2~j@2;H&YslOas8oPgcC3*9~4=eX+9q&y#n*#m* zvq^#gzxH@CFYeoh2pZVzuiKnk>+#xbII?k^t<0e5=Dz@&f=t9Yn zGqF=EKzslg(TM`Ee7NIzhw>omhC@LxRy7> zss4VoYlx$J4NxB9NLqo*S)$?R&y$JaYj&*LR%!3zt&3&{n5soh&1xIxvRAXixqn2@ zE-PHa{el$#IrSy@&6Zpxuy{SI|Kj4rVJX$bw_$aa*?IPZF{(vT12HPA&XM+m@!nSG zH(`2>fHOULN#k*UT5y+D&YyxWEpH>hm4QJVr)76F+;04LHd+fO<@sR9;4 z))Dl2E-3qc_FZk3RuB-$KeNdu>d$<^l#;g>8z8YhsA9>ttcfphtl9`sgbB~aCEl}= zTNR1Xy(tyC_gQiK8C2{KHPhpH`C=V&j*{E?I^kN7Kd<{BZMe`A;B zB!mF45!B6*xv~+`Eq7qj(JMI`G$+$-vr8|ly-BW|^>K5;&=ze^*cynDw1uCdYiqV{ zK@$*S8?xD(6Ki{VMZfUM>0$a0EY30_lX>=*Ub@O2FpgwSgD+j(7#9g z#zHXS?DmSNUnllg$CBf#O6ji_oAqMhz~d?4?+C?oxVh_LXo#xs`awuN8dY@!|QpCY{69`JfXhZ%ZBSg-p!z>k)WqtY^0Y;%er zv5MPMeV0JEVux5}#+sgu(0a@1yI1HS&1+*UnH)&0+2DBo)|%^H!$ZvnA)EjpFqz_c zuOm+A1%csq7?w;?Khz$^D)StyeN85#_x7Gfr+0=;B9ShBf5{DAn%CB`RcMgg)juTK zQ>EgO>kG5!y(=Q<<=UqhG|uhOamMvOCN_Fz$DL!{AOz#}qmL1s9na&oXtF@`=qQQi z!ao6j-1`i!O7~;$_#ZzOEdyZpkw=l7r)`5Ggzuedy(1@Mr#&}{lBPNi#eNqd)S5Y< z`sbI6B{^RSmI5Ky9Ip`Ofe+No+D~_{gu^R0-qUQ>bQHTnEMxaH>rUqf|I0p{a%0^J4<8>BLJL8-lQLZ7VLPI(-yv;$0AAUZN}V+B01d7cuSD>9Q8 zN82@<(9?ZH>D_3_3pm$#ujxMCUTpjebDmIiMNa__FlBVB!MUXRnR6hnB8dh;h#?GS z`qJ_6R=Bbc)USjfAjy zg0SsrkO)X^eE~SdM8(p81FRitWdR9fjb-}d^Wqs}ZOL9F9Ay{-h(!yVgx1U~H38=U zp(!gNmZudUM%8+|+Ky8)K|DtBlIjqQA-uAx>k>Fk>iWOFD7(`tL}8oL^MP!>;kXwh z^9)eR_ACKf0Oyr5a-5P7?1Asu3FM{{UhZyF# zU?#Kk^)Juf(m%{;t4u78UOwXBvB-6=pTW#d`1`7_T>Hg2*i>m8H)L_TIk!dO$0|4L zeO28(l=HuR68h!wAGyMP;#aslI~(9t75#Sd)*POIF)u-Xx)CkUF|cuNtRbwT)Q-nDKn3Fv=g+M!jLm3;h`N-VSq|;>`<5FP2#+mj1`*WL zP=|+{c}}p34xV3W5~IFq|2=EMV-m3v-m{BQ#l0^Jg=fzki5IZo@ ziCUf}qLZ;NnJn)^NN`UY0gNP*=_a-~8sl^_F@k^-WksiYb(!CyYz)S);274zil1@> z^?DC;sK;5in)ej=b2CN$5~=a$j`Qkf*)x4pTmYTInfBW2N~Gv}W-{sHV0#`S-G?wU zumeC+*k**ypDu8|CB^*Wnv)|v4w&9e2j_)v&RhR*IGMNs z=3|a^Gp~8=Z|5Hcuh+`#=3v1k&XI#kPbkh(K|9qUY&*+U)cp3$Z14-mT{ zIzbN*sY8p7g~fEI-Nqz!Yq>7+uMGNby-0OLD~mu?MV~C>`Vh(T@Dtbs3rN%Li4+S+ z+P#T%3kdGE&8|f7UankMV00#0tA&5v(UZkX{mPR9W*9b=0~t8Izv&G8qgm6$&YDNF zvf^ygj5Kf1s z)yJntardnhrp$yFx3|CZQan#^Etezm#|&5QL{tP1&9XHf%|zK#e7Z%0Y5nNUB}?W4 zIIi50oe2B01!UdWc^lQA*G!935BZDf$e)VyMC^vZ#7QxRGeG)_>lm%`fMaeyuEmFX zM0SKeYe1znP*~Kx>_0~P7}k%GfJe+XxhZUURMIU;z>B3R5k7UL!3zxyu0JsyMJyT5 z=|qDjrdPqprL-qgOR`fb;Voq-xH570>JHcr!v+p7$gb`nxz(7GVi&@VSl0ofI#0Pw zIq8^Hcyrkqf(R_hX8vw$Lz=v7yw|#McY40h7PA3PQOC(lP>N)>2p;G4nRmL|wP5B0 zS9$S!IU^^{*er7}FxtfRY77V_hgI@UpdMfN_I!LZl+b!ap_e^<-5=>*cnWMY)907~ zk3-4ryfsoBj}94z`m9Af;pC&BG!_of@f$fY3fIu`nX{RY`QST)L>4eTod=z2il?^7 z#x-PdQz5{^mWC+W*%+4dxNEUJOTE+(H02d!OYR~lWfkw9B_2uBh8-_sIa|*tMXPVz zdq)rM=pkk9bMk55jMUZ?0VN}zEbZedtoY-VwevV9N5);&qh@U#x-Y(qQkc~?H(R~3 zi2<<$w^&kU`g0pndE=Dlqpn?{dj6F3qddI&i)VEv&E*ERRHZp|{!~Gfwk@^upi|XE z+4BFi8!>LS*58$tIU!L?wx^a7>$D1hcgvM_09ISRcJ+H8HjCeEPIYyDN>E?GEUC2V;z+JfTIa*?euAVCu zVW2ARd)-QNwgdgVg(JAxv!_!h*F02XFs(Ogc}tA0wXYi?wFK-TGUFWj*k!Qk_-BCG zqWzH=u~<=3r#&a~uR-#+3cvkYhy{$GXMrwZF5Sc#0SH5l=&6!vLVsWi4 zKDf`cnuf6CXF2N=H$~YPY5GBiFc7dfOf;e*@&6AZ|K%&>SNn`bU0yS-*=HAqt&36FsYkx ziA}`KdwCF_ll{RfG2A6R-x0K*M(U^PWk9l-O&DdwX3@iPh2I4lH0fEmqb zFW;pdTj)-o9@z|hPZDQYh#2|y5vl|lT6Vw1bhC7J!3>0I@_tYJWRlMPv-+&S6lWSR zk8cS|AZL98)Ruu%<(B02z!w`QTbfu8-q=XOlyAixv0*gZIul-Xa55;LnN&P3gQg8_ z(hzI9cQbna9q&V^e>~7~Ba6f0Z|1biu1v;uu-VSzGRR2FTYuwAyuo@X(i~f=Uto?dLJ3Ps+>f`uCN~TRxm|4>@t}e zbF2-pyND?5Ph%bhEwm%@Wodqp-v56;s+&SaEAn2M9C<@p7eC z3g;F~!XE3Gz49L>cD+iuuKU`szIP%xtB8S{1)e@rxuY0RYNAn(`-QNWr zhTZtqnRTD|YoPg!BU>!yh3ZEx#(!_lXU8}2Ql3Z0i@L4w$hw!#H|IbTPiOze%0(PO z6exrZl{a*cmbmx-(2qQ;aHHn?eTOfv@WuV3eKMot+Th@*@^D>m>~E=tpMMRiB=6t0 z#+=gvHh8qZy>iI5TZ{X`-L~rCqw$yZEfS(%-hBGu#0GgSt1Di{;R$9_o#dGR#9L4pwDO4ha5;eL za3Jr&+S&_rJSHK}Mk?>yfb-4UzR_it{dxVPhbtAfA2$yJQ^%QG1)*(@#iO4e#nbYd z>`SWn2e2dFLxJAzXzST=gdzSdATQ@Yl`gRURr8e`94p z=?ZDK3Ld(q*||Ot|AsewG4J$1ijQsY@VxYxj(?H1e)uJ)GDvNn=YrBzsn06satDHf z9vP^S(xf|IVq{lW{HPw#~C=tFPi8=w=_k|8D5~(ceNKY0_&) zYL@9@Q;W6J{a=8gNNIljv$Vq9+=C&P$}?{__AG_^emU*z(-flT_FSmQu-vqc``pvo zxb0$`Xz3M|@d!tSg zoiKPu$PKKe^ZgdpkXPHfk-SySwNgvIvT?o9*}`vraN*)QUuy)2x*u>?* z7;~%OTYf6lZflS2pEkUIA6oE@JAYtnHn^px#K!Xx`Eo{wo_itrcAk!S*6v;2__N(b ziAtR-BPo?Oaj7W}QrhU$Ris(?r(R82-vzVN2UZqe?W#BzT;KY{RNEwX10RNQS{|pw zb(18le0IsErT}k0QGusJRi#8VD`IOPAfw2*y}-@jO4(T1+f*Nc(*QH2zUSvI;6?b6 zcJ<2#k0T3TRB#1De?Oe2n2uk8YHI(=*4|TTUA!a|k^QTA`o}c~W=&A&BWU)|-a@je zTWNc!`e`HGjHQt1i(R3u<260*LEn}A#CAWk%V&56h zf3hu~86Yx?m3(s?Det}w#yQ0{sW$72EzeiRc*MhBuTvR^5T~ttmY-HAtqD3 zJp65BQCSNx^wI6w*ocvL{b?1!zipR81G?XGOszL(qDSf#(<5Bao7LG?*z%0Ah-%#m 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ÿ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�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�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

    ;I%NhE7g~|Iqs0|E~3mTDG4A2KBvK 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%0AW^;u+ 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≠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

    291>gGH%X#uZxoRHXSqOLp7T2-rde0XD(* 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 Iv{vj7(n?Rpgo;;O{?rS3?J-tAay7#OoiaE;~e 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 S=6ue4S9j+LNxK;hfBQes)@ri= diff --git a/src/info.plist b/src/info.plist index d40c353..4614f07 100644 --- a/src/info.plist +++ b/src/info.plist @@ -2553,7 +2553,7 @@ Edit the `ZOTERO_DIR` variable to point to Zotero 5's data directory if you aren note OneUpdater xpos - 470 + 355 ypos 475 diff --git a/src/lib/.DS_Store b/src/lib/.DS_Store index ad2e5aafa85ec7fa43513530df934b64267700e6..698e5d3423167f2002b0ce1edc4a521572900a41 100644 GIT binary patch literal 36868 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 T@hOh<|MAHlv`_y3wg3OWX5pCQ diff --git a/src/lib/AVFoundation/__init__.py b/src/lib/AVFoundation/__init__.py deleted file mode 100644 index 4a6b084..0000000 --- a/src/lib/AVFoundation/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Python mapping for the AVFoundation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreAudio -import CoreMedia -import Foundation -import objc -from AVFoundation import _metadata -import AVFoundation._AVFoundation -from AVFoundation._inlines import _inline_list_ - -sys.modules["AVFoundation"] = mod = objc.ObjCLazyModule( - "AVFoundation", - "com.apple.avfoundation", - objc.pathForFramework("/System/Library/Frameworks/AVFoundation.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, # noqa: F405 - "__loader__": globals().get("__loader__", None), - }, - (AVFoundation._AVFoundation, CoreAudio, CoreMedia, Foundation), -) - - -del sys.modules["AVFoundation._metadata"] diff --git a/src/lib/AVFoundation/_metadata.py b/src/lib/AVFoundation/_metadata.py deleted file mode 100644 index b888405..0000000 --- a/src/lib/AVFoundation/_metadata.py +++ /dev/null @@ -1,6780 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:02:58 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "AVAudio3DPoint": objc.createStructType( - "AVFoundation.AVAudio3DPoint", b"{AVAudio3DPoint=fff}", ["x", "y", "z"] - ), - "AVAudioConverterPrimeInfo": objc.createStructType( - "AVFoundation.AVAudioConverterPrimeInfo", - b"{AVAudioConverterPrimeInfo=II}", - ["leadingFrames", "trailingFrames"], - ), - "AVSampleCursorSyncInfo": objc.createStructType( - "AVFoundation.AVSampleCursorSyncInfo", - b"{_AVSampleCursorSyncInfo=ZZZ}", - ["sampleIsFullSync", "sampleIsPartialSync", "sampleIsDroppable"], - ), - "AVCaptureWhiteBalanceChromaticityValues": objc.createStructType( - "AVFoundation.AVCaptureWhiteBalanceChromaticityValues", - b"{_AVCaptureWhiteBalanceChromaticityValues=ff}", - ["x", "y"], - ), - "AVAudio3DVectorOrientation": objc.createStructType( - "AVFoundation.AVAudio3DVectorOrientation", - b"{AVAudio3DVectorOrientation={AVAudio3DPoint=fff}{AVAudio3DPoint=fff}}", - ["forward", "up"], - ), - "AVCaptionDimension": objc.createStructType( - "AVFoundation.AVCaptionDimension", - b"{AVCaptionDimension=dq}", - ["value", "units"], - ), - "AVPixelAspectRatio": objc.createStructType( - "AVFoundation.AVPixelAspectRatio", - b"{_AVPixelAspectRatio=qq}", - ["horizontalSpacing", "verticalSpacing"], - ), - "AVCaptureWhiteBalanceTemperatureAndTintValues": objc.createStructType( - "AVFoundation.AVCaptureWhiteBalanceTemperatureAndTintValues", - b"{_AVCaptureWhiteBalanceTemperatureAndTintValues=ff}", - ["temperature", "tint"], - ), - "AVAudio3DAngularOrientation": objc.createStructType( - "AVFoundation.AVAudio3DAngularOrientation", - b"{AVAudio3DAngularOrientation=fff}", - ["yaw", "pitch", "roll"], - ), - "AVSampleCursorStorageRange": objc.createStructType( - "AVFoundation.AVSampleCursorStorageRange", - b"{_AVSampleCursorStorageRange=qq}", - ["offset", "length"], - ), - "AVSampleCursorDependencyInfo": objc.createStructType( - "AVFoundation.AVSampleCursorDependencyInfo", - b"{_AVSampleCursorDependencyInfo=ZZZZZZ}", - [ - "sampleIndicatesWhetherItHasDependentSamples", - "sampleHasDependentSamples", - "sampleIndicatesWhetherItDependsOnOthers", - "sampleDependsOnOthers", - "sampleIndicatesWhetherItHasRedundantCoding", - "sampleHasRedundantCoding", - ], - ), - "AVCaptionPoint": objc.createStructType( - "AVFoundation.AVCaptionPoint", - b"{AVCaptionPoint={AVCaptionDimension=dq}{AVCaptionDimension=dq}}", - ["x", "y"], - ), - "AVBeatRange": objc.createStructType( - "AVFoundation.AVBeatRange", b"{_AVBeatRange=dd}", ["start", "length"] - ), - "AVSampleCursorChunkInfo": objc.createStructType( - "AVFoundation.AVSampleCursorChunkInfo", - b"{_AVSampleCursorChunkInfo=qZZZ}", - [ - "chunkSampleCount", - "chunkHasUniformSampleSizes", - "chunkHasUniformSampleDurations", - "chunkHasUniformFormatDescriptions", - ], - ), - "AVEdgeWidths": objc.createStructType( - "AVFoundation.AVEdgeWidths", - b"{_AVEdgeWidths=dddd}", - ["left", "top", "right", "bottom"], - ), - "AVSampleCursorAudioDependencyInfo": objc.createStructType( - "AVFoundation.AVSampleCursorAudioDependencyInfo", - b"{_AVSampleCursorAudioDependencyInfo=Zq}", - ["audioSampleIsIndependentlyDecodable", "audioSamplePacketRefreshCount"], - ), - "AVCaptureWhiteBalanceGains": objc.createStructType( - "AVFoundation.AVCaptureWhiteBalanceGains", - b"{_AVCaptureWhiteBalanceGains=fff}", - ["redGain", "greenGain", "blueGain"], - ), - "AVCaptionSize": objc.createStructType( - "AVFoundation.AVCaptionSize", - b"{AVCaptionSize={AVCaptionDimension=dq}{AVCaptionDimension=dq}}", - ["width", "height"], - ), - } -) -constants = """$AVAssetChapterMetadataGroupsDidChangeNotification$AVAssetContainsFragmentsDidChangeNotification$AVAssetDownloadTaskMediaSelectionKey$AVAssetDownloadTaskMediaSelectionPrefersMultichannelKey$AVAssetDownloadTaskMinimumRequiredMediaBitrateKey$AVAssetDownloadTaskMinimumRequiredPresentationSizeKey$AVAssetDownloadTaskPrefersHDRKey$AVAssetDownloadTaskPrefersLosslessAudioKey$AVAssetDownloadedAssetEvictionPriorityDefault$AVAssetDownloadedAssetEvictionPriorityImportant$AVAssetDurationDidChangeNotification$AVAssetExportPreset1280x720$AVAssetExportPreset1920x1080$AVAssetExportPreset3840x2160$AVAssetExportPreset640x480$AVAssetExportPreset960x540$AVAssetExportPresetAppleM4A$AVAssetExportPresetAppleM4V1080pHD$AVAssetExportPresetAppleM4V480pSD$AVAssetExportPresetAppleM4V720pHD$AVAssetExportPresetAppleM4VAppleTV$AVAssetExportPresetAppleM4VCellular$AVAssetExportPresetAppleM4VWiFi$AVAssetExportPresetAppleM4ViPod$AVAssetExportPresetAppleProRes422LPCM$AVAssetExportPresetAppleProRes4444LPCM$AVAssetExportPresetHEVC1920x1080$AVAssetExportPresetHEVC1920x1080WithAlpha$AVAssetExportPresetHEVC3840x2160$AVAssetExportPresetHEVC3840x2160WithAlpha$AVAssetExportPresetHEVC7680x4320$AVAssetExportPresetHEVCHighestQuality$AVAssetExportPresetHEVCHighestQualityWithAlpha$AVAssetExportPresetHighestQuality$AVAssetExportPresetLowQuality$AVAssetExportPresetMediumQuality$AVAssetExportPresetPassthrough$AVAssetImageGeneratorApertureModeCleanAperture$AVAssetImageGeneratorApertureModeEncodedPixels$AVAssetImageGeneratorApertureModeProductionAperture$AVAssetMediaSelectionGroupsDidChangeNotification$AVAssetResourceLoadingRequestStreamingContentKeyRequestRequiresPersistentKey$AVAssetTrackSegmentsDidChangeNotification$AVAssetTrackTimeRangeDidChangeNotification$AVAssetTrackTrackAssociationsDidChangeNotification$AVAssetWasDefragmentedNotification$AVAssetWriterInputMediaDataLocationBeforeMainMediaDataNotInterleaved$AVAssetWriterInputMediaDataLocationInterleavedWithMainMediaData$AVAudioBitRateStrategy_Constant$AVAudioBitRateStrategy_LongTermAverage$AVAudioBitRateStrategy_Variable$AVAudioBitRateStrategy_VariableConstrained$AVAudioEngineConfigurationChangeNotification$AVAudioFileTypeKey$AVAudioSessionCategoryAmbient$AVAudioSessionCategoryAudioProcessing$AVAudioSessionCategoryMultiRoute$AVAudioSessionCategoryPlayAndRecord$AVAudioSessionCategoryPlayback$AVAudioSessionCategoryRecord$AVAudioSessionCategorySoloAmbient$AVAudioSessionInterruptionNotification$AVAudioSessionInterruptionOptionKey$AVAudioSessionInterruptionTypeKey$AVAudioSessionInterruptionWasSuspendedKey$AVAudioSessionLocationLower$AVAudioSessionLocationUpper$AVAudioSessionMediaServicesWereLostNotification$AVAudioSessionMediaServicesWereResetNotification$AVAudioSessionModeDefault$AVAudioSessionModeGameChat$AVAudioSessionModeMeasurement$AVAudioSessionModeMoviePlayback$AVAudioSessionModeSpokenAudio$AVAudioSessionModeVideoChat$AVAudioSessionModeVideoRecording$AVAudioSessionModeVoiceChat$AVAudioSessionModeVoicePrompt$AVAudioSessionOrientationBack$AVAudioSessionOrientationBottom$AVAudioSessionOrientationFront$AVAudioSessionOrientationLeft$AVAudioSessionOrientationRight$AVAudioSessionOrientationTop$AVAudioSessionPolarPatternCardioid$AVAudioSessionPolarPatternOmnidirectional$AVAudioSessionPolarPatternStereo$AVAudioSessionPolarPatternSubcardioid$AVAudioSessionPortAVB$AVAudioSessionPortAirPlay$AVAudioSessionPortBluetoothA2DP$AVAudioSessionPortBluetoothHFP$AVAudioSessionPortBluetoothLE$AVAudioSessionPortBuiltInMic$AVAudioSessionPortBuiltInReceiver$AVAudioSessionPortBuiltInSpeaker$AVAudioSessionPortCarAudio$AVAudioSessionPortDisplayPort$AVAudioSessionPortFireWire$AVAudioSessionPortHDMI$AVAudioSessionPortHeadphones$AVAudioSessionPortHeadsetMic$AVAudioSessionPortLineIn$AVAudioSessionPortLineOut$AVAudioSessionPortPCI$AVAudioSessionPortThunderbolt$AVAudioSessionPortUSBAudio$AVAudioSessionPortVirtual$AVAudioSessionRouteChangeNotification$AVAudioSessionRouteChangePreviousRouteKey$AVAudioSessionRouteChangeReasonKey$AVAudioSessionSilenceSecondaryAudioHintNotification$AVAudioSessionSilenceSecondaryAudioHintTypeKey$AVAudioTimePitchAlgorithmLowQualityZeroLatency$AVAudioTimePitchAlgorithmSpectral$AVAudioTimePitchAlgorithmTimeDomain$AVAudioTimePitchAlgorithmVarispeed$AVAudioUnitComponentManagerRegistrationsChangedNotification$AVAudioUnitComponentTagsDidChangeNotification$AVAudioUnitManufacturerNameApple$AVAudioUnitTypeEffect$AVAudioUnitTypeFormatConverter$AVAudioUnitTypeGenerator$AVAudioUnitTypeMIDIProcessor$AVAudioUnitTypeMixer$AVAudioUnitTypeMusicDevice$AVAudioUnitTypeMusicEffect$AVAudioUnitTypeOfflineEffect$AVAudioUnitTypeOutput$AVAudioUnitTypePanner$AVCaptionConversionAdjustmentTypeTimeRange$AVCaptionConversionWarningTypeExcessMediaData$AVCaptionMediaSubTypeKey$AVCaptionMediaTypeKey$AVCaptionTimeCodeFrameDurationKey$AVCaptionUseDropFrameTimeCodeKey$AVCaptureDeviceSubjectAreaDidChangeNotification$AVCaptureDeviceTypeBuiltInDualCamera$AVCaptureDeviceTypeBuiltInDualWideCamera$AVCaptureDeviceTypeBuiltInDuoCamera$AVCaptureDeviceTypeBuiltInLiDARDepthCamera$AVCaptureDeviceTypeBuiltInMicrophone$AVCaptureDeviceTypeBuiltInTelephotoCamera$AVCaptureDeviceTypeBuiltInTripleCamera$AVCaptureDeviceTypeBuiltInTrueDepthCamera$AVCaptureDeviceTypeBuiltInUltraWideCamera$AVCaptureDeviceTypeBuiltInWideAngleCamera$AVCaptureDeviceTypeExternalUnknown$AVCaptureDeviceWasConnectedNotification$AVCaptureDeviceWasDisconnectedNotification$AVCaptureExposureDurationCurrent@{_CMTime=qiIq}$AVCaptureExposureTargetBiasCurrent@f$AVCaptureISOCurrent@f$AVCaptureInputPortFormatDescriptionDidChangeNotification$AVCaptureLensPositionCurrent@f$AVCaptureMaxAvailableTorchLevel@f$AVCaptureSessionDidStartRunningNotification$AVCaptureSessionDidStopRunningNotification$AVCaptureSessionErrorKey$AVCaptureSessionInterruptionEndedNotification$AVCaptureSessionInterruptionReasonKey$AVCaptureSessionInterruptionSystemPressureStateKey$AVCaptureSessionPreset1280x720$AVCaptureSessionPreset1920x1080$AVCaptureSessionPreset320x240$AVCaptureSessionPreset352x288$AVCaptureSessionPreset3840x2160$AVCaptureSessionPreset640x480$AVCaptureSessionPreset960x540$AVCaptureSessionPresetHigh$AVCaptureSessionPresetInputPriority$AVCaptureSessionPresetLow$AVCaptureSessionPresetMedium$AVCaptureSessionPresetPhoto$AVCaptureSessionPresetiFrame1280x720$AVCaptureSessionPresetiFrame960x540$AVCaptureSessionRuntimeErrorNotification$AVCaptureSessionWasInterruptedNotification$AVCaptureSystemPressureLevelCritical$AVCaptureSystemPressureLevelFair$AVCaptureSystemPressureLevelNominal$AVCaptureSystemPressureLevelSerious$AVCaptureSystemPressureLevelShutdown$AVCaptureWhiteBalanceGainsCurrent@{_AVCaptureWhiteBalanceGains=fff}$AVChannelLayoutKey$AVContentKeyRequestProtocolVersionsKey$AVContentKeyRequestRequiresValidationDataInSecureTokenKey$AVContentKeyRequestRetryReasonReceivedObsoleteContentKey$AVContentKeyRequestRetryReasonReceivedResponseWithExpiredLease$AVContentKeyRequestRetryReasonTimedOut$AVContentKeySessionServerPlaybackContextOptionProtocolVersions$AVContentKeySessionServerPlaybackContextOptionServerChallenge$AVContentKeySystemAuthorizationToken$AVContentKeySystemClearKey$AVContentKeySystemFairPlayStreaming$AVCoordinatedPlaybackSuspensionReasonAudioSessionInterrupted$AVCoordinatedPlaybackSuspensionReasonCoordinatedPlaybackNotPossible$AVCoordinatedPlaybackSuspensionReasonPlayingInterstitial$AVCoordinatedPlaybackSuspensionReasonStallRecovery$AVCoordinatedPlaybackSuspensionReasonUserActionRequired$AVCoordinatedPlaybackSuspensionReasonUserIsChangingCurrentTime$AVCoreAnimationBeginTimeAtZero@d$AVEncoderAudioQualityForVBRKey$AVEncoderAudioQualityKey$AVEncoderBitDepthHintKey$AVEncoderBitRateKey$AVEncoderBitRatePerChannelKey$AVEncoderBitRateStrategyKey$AVErrorDeviceKey$AVErrorDiscontinuityFlagsKey$AVErrorFileSizeKey$AVErrorFileTypeKey$AVErrorMediaSubTypeKey$AVErrorMediaTypeKey$AVErrorPIDKey$AVErrorPersistentTrackIDKey$AVErrorPresentationTimeStampKey$AVErrorRecordingSuccessfullyFinishedKey$AVErrorTimeKey$AVFileType3GPP$AVFileType3GPP2$AVFileTypeAC3$AVFileTypeAIFC$AVFileTypeAIFF$AVFileTypeAMR$AVFileTypeAVCI$AVFileTypeAppleM4A$AVFileTypeAppleM4V$AVFileTypeAppleiTT$AVFileTypeCoreAudioFormat$AVFileTypeDNG$AVFileTypeEnhancedAC3$AVFileTypeHEIC$AVFileTypeHEIF$AVFileTypeJPEG$AVFileTypeMPEG4$AVFileTypeMPEGLayer3$AVFileTypeProfileMPEG4AppleHLS$AVFileTypeProfileMPEG4CMAFCompliant$AVFileTypeQuickTimeMovie$AVFileTypeSCC$AVFileTypeSunAU$AVFileTypeTIFF$AVFileTypeWAVE$AVFormatIDKey$AVFoundationErrorDomain$AVFragmentedMovieContainsMovieFragmentsDidChangeNotification$AVFragmentedMovieDurationDidChangeNotification$AVFragmentedMovieTrackSegmentsDidChangeNotification$AVFragmentedMovieTrackTimeRangeDidChangeNotification$AVFragmentedMovieTrackTotalSampleDataLengthDidChangeNotification$AVFragmentedMovieWasDefragmentedNotification$AVLayerVideoGravityResize$AVLayerVideoGravityResizeAspect$AVLayerVideoGravityResizeAspectFill$AVLinearPCMBitDepthKey$AVLinearPCMIsBigEndianKey$AVLinearPCMIsFloatKey$AVLinearPCMIsNonInterleaved$AVMediaCharacteristicAudible$AVMediaCharacteristicContainsAlphaChannel$AVMediaCharacteristicContainsHDRVideo$AVMediaCharacteristicContainsOnlyForcedSubtitles$AVMediaCharacteristicDescribesMusicAndSoundForAccessibility$AVMediaCharacteristicDescribesVideoForAccessibility$AVMediaCharacteristicDubbedTranslation$AVMediaCharacteristicEasyToRead$AVMediaCharacteristicFrameBased$AVMediaCharacteristicIsAuxiliaryContent$AVMediaCharacteristicIsMainProgramContent$AVMediaCharacteristicIsOriginalContent$AVMediaCharacteristicLanguageTranslation$AVMediaCharacteristicLegible$AVMediaCharacteristicTranscribesSpokenDialogForAccessibility$AVMediaCharacteristicUsesWideGamutColorSpace$AVMediaCharacteristicVisual$AVMediaCharacteristicVoiceOverTranslation$AVMediaTypeAudio$AVMediaTypeClosedCaption$AVMediaTypeDepthData$AVMediaTypeMetadata$AVMediaTypeMetadataObject$AVMediaTypeMuxed$AVMediaTypeSubtitle$AVMediaTypeText$AVMediaTypeTimecode$AVMediaTypeVideo$AVMetadata3GPUserDataKeyAlbumAndTrack$AVMetadata3GPUserDataKeyAuthor$AVMetadata3GPUserDataKeyCollection$AVMetadata3GPUserDataKeyCopyright$AVMetadata3GPUserDataKeyDescription$AVMetadata3GPUserDataKeyGenre$AVMetadata3GPUserDataKeyKeywordList$AVMetadata3GPUserDataKeyLocation$AVMetadata3GPUserDataKeyMediaClassification$AVMetadata3GPUserDataKeyMediaRating$AVMetadata3GPUserDataKeyPerformer$AVMetadata3GPUserDataKeyRecordingYear$AVMetadata3GPUserDataKeyThumbnail$AVMetadata3GPUserDataKeyTitle$AVMetadata3GPUserDataKeyUserRating$AVMetadataCommonIdentifierAccessibilityDescription$AVMetadataCommonIdentifierAlbumName$AVMetadataCommonIdentifierArtist$AVMetadataCommonIdentifierArtwork$AVMetadataCommonIdentifierAssetIdentifier$AVMetadataCommonIdentifierAuthor$AVMetadataCommonIdentifierContributor$AVMetadataCommonIdentifierCopyrights$AVMetadataCommonIdentifierCreationDate$AVMetadataCommonIdentifierCreator$AVMetadataCommonIdentifierDescription$AVMetadataCommonIdentifierFormat$AVMetadataCommonIdentifierLanguage$AVMetadataCommonIdentifierLastModifiedDate$AVMetadataCommonIdentifierLocation$AVMetadataCommonIdentifierMake$AVMetadataCommonIdentifierModel$AVMetadataCommonIdentifierPublisher$AVMetadataCommonIdentifierRelation$AVMetadataCommonIdentifierSoftware$AVMetadataCommonIdentifierSource$AVMetadataCommonIdentifierSubject$AVMetadataCommonIdentifierTitle$AVMetadataCommonIdentifierType$AVMetadataCommonKeyAccessibilityDescription$AVMetadataCommonKeyAlbumName$AVMetadataCommonKeyArtist$AVMetadataCommonKeyArtwork$AVMetadataCommonKeyAuthor$AVMetadataCommonKeyContributor$AVMetadataCommonKeyCopyrights$AVMetadataCommonKeyCreationDate$AVMetadataCommonKeyCreator$AVMetadataCommonKeyDescription$AVMetadataCommonKeyFormat$AVMetadataCommonKeyIdentifier$AVMetadataCommonKeyLanguage$AVMetadataCommonKeyLastModifiedDate$AVMetadataCommonKeyLocation$AVMetadataCommonKeyMake$AVMetadataCommonKeyModel$AVMetadataCommonKeyPublisher$AVMetadataCommonKeyRelation$AVMetadataCommonKeySoftware$AVMetadataCommonKeySource$AVMetadataCommonKeySubject$AVMetadataCommonKeyTitle$AVMetadataCommonKeyType$AVMetadataExtraAttributeBaseURIKey$AVMetadataExtraAttributeInfoKey$AVMetadataExtraAttributeValueURIKey$AVMetadataFormatHLSMetadata$AVMetadataFormatID3Metadata$AVMetadataFormatISOUserData$AVMetadataFormatQuickTimeMetadata$AVMetadataFormatQuickTimeUserData$AVMetadataFormatUnknown$AVMetadataFormatiTunesMetadata$AVMetadataID3MetadataKeyAlbumSortOrder$AVMetadataID3MetadataKeyAlbumTitle$AVMetadataID3MetadataKeyAttachedPicture$AVMetadataID3MetadataKeyAudioEncryption$AVMetadataID3MetadataKeyAudioSeekPointIndex$AVMetadataID3MetadataKeyBand$AVMetadataID3MetadataKeyBeatsPerMinute$AVMetadataID3MetadataKeyComments$AVMetadataID3MetadataKeyCommercial$AVMetadataID3MetadataKeyCommercialInformation$AVMetadataID3MetadataKeyCommerical$AVMetadataID3MetadataKeyComposer$AVMetadataID3MetadataKeyConductor$AVMetadataID3MetadataKeyContentGroupDescription$AVMetadataID3MetadataKeyContentType$AVMetadataID3MetadataKeyCopyright$AVMetadataID3MetadataKeyCopyrightInformation$AVMetadataID3MetadataKeyDate$AVMetadataID3MetadataKeyEncodedBy$AVMetadataID3MetadataKeyEncodedWith$AVMetadataID3MetadataKeyEncodingTime$AVMetadataID3MetadataKeyEncryption$AVMetadataID3MetadataKeyEqualization$AVMetadataID3MetadataKeyEqualization2$AVMetadataID3MetadataKeyEventTimingCodes$AVMetadataID3MetadataKeyFileOwner$AVMetadataID3MetadataKeyFileType$AVMetadataID3MetadataKeyGeneralEncapsulatedObject$AVMetadataID3MetadataKeyGroupIdentifier$AVMetadataID3MetadataKeyInitialKey$AVMetadataID3MetadataKeyInternationalStandardRecordingCode$AVMetadataID3MetadataKeyInternetRadioStationName$AVMetadataID3MetadataKeyInternetRadioStationOwner$AVMetadataID3MetadataKeyInvolvedPeopleList_v23$AVMetadataID3MetadataKeyInvolvedPeopleList_v24$AVMetadataID3MetadataKeyLanguage$AVMetadataID3MetadataKeyLeadPerformer$AVMetadataID3MetadataKeyLength$AVMetadataID3MetadataKeyLink$AVMetadataID3MetadataKeyLyricist$AVMetadataID3MetadataKeyMPEGLocationLookupTable$AVMetadataID3MetadataKeyMediaType$AVMetadataID3MetadataKeyModifiedBy$AVMetadataID3MetadataKeyMood$AVMetadataID3MetadataKeyMusicCDIdentifier$AVMetadataID3MetadataKeyMusicianCreditsList$AVMetadataID3MetadataKeyOfficialArtistWebpage$AVMetadataID3MetadataKeyOfficialAudioFileWebpage$AVMetadataID3MetadataKeyOfficialAudioSourceWebpage$AVMetadataID3MetadataKeyOfficialInternetRadioStationHomepage$AVMetadataID3MetadataKeyOfficialPublisherWebpage$AVMetadataID3MetadataKeyOriginalAlbumTitle$AVMetadataID3MetadataKeyOriginalArtist$AVMetadataID3MetadataKeyOriginalFilename$AVMetadataID3MetadataKeyOriginalLyricist$AVMetadataID3MetadataKeyOriginalReleaseTime$AVMetadataID3MetadataKeyOriginalReleaseYear$AVMetadataID3MetadataKeyOwnership$AVMetadataID3MetadataKeyPartOfASet$AVMetadataID3MetadataKeyPayment$AVMetadataID3MetadataKeyPerformerSortOrder$AVMetadataID3MetadataKeyPlayCounter$AVMetadataID3MetadataKeyPlaylistDelay$AVMetadataID3MetadataKeyPopularimeter$AVMetadataID3MetadataKeyPositionSynchronization$AVMetadataID3MetadataKeyPrivate$AVMetadataID3MetadataKeyProducedNotice$AVMetadataID3MetadataKeyPublisher$AVMetadataID3MetadataKeyRecommendedBufferSize$AVMetadataID3MetadataKeyRecordingDates$AVMetadataID3MetadataKeyRecordingTime$AVMetadataID3MetadataKeyRelativeVolumeAdjustment$AVMetadataID3MetadataKeyRelativeVolumeAdjustment2$AVMetadataID3MetadataKeyReleaseTime$AVMetadataID3MetadataKeyReverb$AVMetadataID3MetadataKeySeek$AVMetadataID3MetadataKeySetSubtitle$AVMetadataID3MetadataKeySignature$AVMetadataID3MetadataKeySize$AVMetadataID3MetadataKeySubTitle$AVMetadataID3MetadataKeySynchronizedLyric$AVMetadataID3MetadataKeySynchronizedTempoCodes$AVMetadataID3MetadataKeyTaggingTime$AVMetadataID3MetadataKeyTermsOfUse$AVMetadataID3MetadataKeyTime$AVMetadataID3MetadataKeyTitleDescription$AVMetadataID3MetadataKeyTitleSortOrder$AVMetadataID3MetadataKeyTrackNumber$AVMetadataID3MetadataKeyUniqueFileIdentifier$AVMetadataID3MetadataKeyUnsynchronizedLyric$AVMetadataID3MetadataKeyUserText$AVMetadataID3MetadataKeyUserURL$AVMetadataID3MetadataKeyYear$AVMetadataISOUserDataKeyAccessibilityDescription$AVMetadataISOUserDataKeyCopyright$AVMetadataISOUserDataKeyDate$AVMetadataISOUserDataKeyTaggedCharacteristic$AVMetadataIcyMetadataKeyStreamTitle$AVMetadataIcyMetadataKeyStreamURL$AVMetadataIdentifier3GPUserDataAlbumAndTrack$AVMetadataIdentifier3GPUserDataAuthor$AVMetadataIdentifier3GPUserDataCollection$AVMetadataIdentifier3GPUserDataCopyright$AVMetadataIdentifier3GPUserDataDescription$AVMetadataIdentifier3GPUserDataGenre$AVMetadataIdentifier3GPUserDataKeywordList$AVMetadataIdentifier3GPUserDataLocation$AVMetadataIdentifier3GPUserDataMediaClassification$AVMetadataIdentifier3GPUserDataMediaRating$AVMetadataIdentifier3GPUserDataPerformer$AVMetadataIdentifier3GPUserDataRecordingYear$AVMetadataIdentifier3GPUserDataThumbnail$AVMetadataIdentifier3GPUserDataTitle$AVMetadataIdentifier3GPUserDataUserRating$AVMetadataIdentifierID3MetadataAlbumSortOrder$AVMetadataIdentifierID3MetadataAlbumTitle$AVMetadataIdentifierID3MetadataAttachedPicture$AVMetadataIdentifierID3MetadataAudioEncryption$AVMetadataIdentifierID3MetadataAudioSeekPointIndex$AVMetadataIdentifierID3MetadataBand$AVMetadataIdentifierID3MetadataBeatsPerMinute$AVMetadataIdentifierID3MetadataComments$AVMetadataIdentifierID3MetadataCommercial$AVMetadataIdentifierID3MetadataCommercialInformation$AVMetadataIdentifierID3MetadataCommerical$AVMetadataIdentifierID3MetadataComposer$AVMetadataIdentifierID3MetadataConductor$AVMetadataIdentifierID3MetadataContentGroupDescription$AVMetadataIdentifierID3MetadataContentType$AVMetadataIdentifierID3MetadataCopyright$AVMetadataIdentifierID3MetadataCopyrightInformation$AVMetadataIdentifierID3MetadataDate$AVMetadataIdentifierID3MetadataEncodedBy$AVMetadataIdentifierID3MetadataEncodedWith$AVMetadataIdentifierID3MetadataEncodingTime$AVMetadataIdentifierID3MetadataEncryption$AVMetadataIdentifierID3MetadataEqualization$AVMetadataIdentifierID3MetadataEqualization2$AVMetadataIdentifierID3MetadataEventTimingCodes$AVMetadataIdentifierID3MetadataFileOwner$AVMetadataIdentifierID3MetadataFileType$AVMetadataIdentifierID3MetadataGeneralEncapsulatedObject$AVMetadataIdentifierID3MetadataGroupIdentifier$AVMetadataIdentifierID3MetadataInitialKey$AVMetadataIdentifierID3MetadataInternationalStandardRecordingCode$AVMetadataIdentifierID3MetadataInternetRadioStationName$AVMetadataIdentifierID3MetadataInternetRadioStationOwner$AVMetadataIdentifierID3MetadataInvolvedPeopleList_v23$AVMetadataIdentifierID3MetadataInvolvedPeopleList_v24$AVMetadataIdentifierID3MetadataLanguage$AVMetadataIdentifierID3MetadataLeadPerformer$AVMetadataIdentifierID3MetadataLength$AVMetadataIdentifierID3MetadataLink$AVMetadataIdentifierID3MetadataLyricist$AVMetadataIdentifierID3MetadataMPEGLocationLookupTable$AVMetadataIdentifierID3MetadataMediaType$AVMetadataIdentifierID3MetadataModifiedBy$AVMetadataIdentifierID3MetadataMood$AVMetadataIdentifierID3MetadataMusicCDIdentifier$AVMetadataIdentifierID3MetadataMusicianCreditsList$AVMetadataIdentifierID3MetadataOfficialArtistWebpage$AVMetadataIdentifierID3MetadataOfficialAudioFileWebpage$AVMetadataIdentifierID3MetadataOfficialAudioSourceWebpage$AVMetadataIdentifierID3MetadataOfficialInternetRadioStationHomepage$AVMetadataIdentifierID3MetadataOfficialPublisherWebpage$AVMetadataIdentifierID3MetadataOriginalAlbumTitle$AVMetadataIdentifierID3MetadataOriginalArtist$AVMetadataIdentifierID3MetadataOriginalFilename$AVMetadataIdentifierID3MetadataOriginalLyricist$AVMetadataIdentifierID3MetadataOriginalReleaseTime$AVMetadataIdentifierID3MetadataOriginalReleaseYear$AVMetadataIdentifierID3MetadataOwnership$AVMetadataIdentifierID3MetadataPartOfASet$AVMetadataIdentifierID3MetadataPayment$AVMetadataIdentifierID3MetadataPerformerSortOrder$AVMetadataIdentifierID3MetadataPlayCounter$AVMetadataIdentifierID3MetadataPlaylistDelay$AVMetadataIdentifierID3MetadataPopularimeter$AVMetadataIdentifierID3MetadataPositionSynchronization$AVMetadataIdentifierID3MetadataPrivate$AVMetadataIdentifierID3MetadataProducedNotice$AVMetadataIdentifierID3MetadataPublisher$AVMetadataIdentifierID3MetadataRecommendedBufferSize$AVMetadataIdentifierID3MetadataRecordingDates$AVMetadataIdentifierID3MetadataRecordingTime$AVMetadataIdentifierID3MetadataRelativeVolumeAdjustment$AVMetadataIdentifierID3MetadataRelativeVolumeAdjustment2$AVMetadataIdentifierID3MetadataReleaseTime$AVMetadataIdentifierID3MetadataReverb$AVMetadataIdentifierID3MetadataSeek$AVMetadataIdentifierID3MetadataSetSubtitle$AVMetadataIdentifierID3MetadataSignature$AVMetadataIdentifierID3MetadataSize$AVMetadataIdentifierID3MetadataSubTitle$AVMetadataIdentifierID3MetadataSynchronizedLyric$AVMetadataIdentifierID3MetadataSynchronizedTempoCodes$AVMetadataIdentifierID3MetadataTaggingTime$AVMetadataIdentifierID3MetadataTermsOfUse$AVMetadataIdentifierID3MetadataTime$AVMetadataIdentifierID3MetadataTitleDescription$AVMetadataIdentifierID3MetadataTitleSortOrder$AVMetadataIdentifierID3MetadataTrackNumber$AVMetadataIdentifierID3MetadataUniqueFileIdentifier$AVMetadataIdentifierID3MetadataUnsynchronizedLyric$AVMetadataIdentifierID3MetadataUserText$AVMetadataIdentifierID3MetadataUserURL$AVMetadataIdentifierID3MetadataYear$AVMetadataIdentifierISOUserDataAccessibilityDescription$AVMetadataIdentifierISOUserDataCopyright$AVMetadataIdentifierISOUserDataDate$AVMetadataIdentifierISOUserDataTaggedCharacteristic$AVMetadataIdentifierIcyMetadataStreamTitle$AVMetadataIdentifierIcyMetadataStreamURL$AVMetadataIdentifierQuickTimeMetadataAccessibilityDescription$AVMetadataIdentifierQuickTimeMetadataAlbum$AVMetadataIdentifierQuickTimeMetadataArranger$AVMetadataIdentifierQuickTimeMetadataArtist$AVMetadataIdentifierQuickTimeMetadataArtwork$AVMetadataIdentifierQuickTimeMetadataAuthor$AVMetadataIdentifierQuickTimeMetadataAutoLivePhoto$AVMetadataIdentifierQuickTimeMetadataCameraFrameReadoutTime$AVMetadataIdentifierQuickTimeMetadataCameraIdentifier$AVMetadataIdentifierQuickTimeMetadataCollectionUser$AVMetadataIdentifierQuickTimeMetadataComment$AVMetadataIdentifierQuickTimeMetadataComposer$AVMetadataIdentifierQuickTimeMetadataContentIdentifier$AVMetadataIdentifierQuickTimeMetadataCopyright$AVMetadataIdentifierQuickTimeMetadataCreationDate$AVMetadataIdentifierQuickTimeMetadataCredits$AVMetadataIdentifierQuickTimeMetadataDescription$AVMetadataIdentifierQuickTimeMetadataDetectedCatBody$AVMetadataIdentifierQuickTimeMetadataDetectedDogBody$AVMetadataIdentifierQuickTimeMetadataDetectedFace$AVMetadataIdentifierQuickTimeMetadataDetectedHumanBody$AVMetadataIdentifierQuickTimeMetadataDetectedSalientObject$AVMetadataIdentifierQuickTimeMetadataDirectionFacing$AVMetadataIdentifierQuickTimeMetadataDirectionMotion$AVMetadataIdentifierQuickTimeMetadataDirector$AVMetadataIdentifierQuickTimeMetadataDisplayName$AVMetadataIdentifierQuickTimeMetadataEncodedBy$AVMetadataIdentifierQuickTimeMetadataGenre$AVMetadataIdentifierQuickTimeMetadataInformation$AVMetadataIdentifierQuickTimeMetadataIsMontage$AVMetadataIdentifierQuickTimeMetadataKeywords$AVMetadataIdentifierQuickTimeMetadataLivePhotoVitalityScore$AVMetadataIdentifierQuickTimeMetadataLivePhotoVitalityScoringVersion$AVMetadataIdentifierQuickTimeMetadataLocationBody$AVMetadataIdentifierQuickTimeMetadataLocationDate$AVMetadataIdentifierQuickTimeMetadataLocationHorizontalAccuracyInMeters$AVMetadataIdentifierQuickTimeMetadataLocationISO6709$AVMetadataIdentifierQuickTimeMetadataLocationName$AVMetadataIdentifierQuickTimeMetadataLocationNote$AVMetadataIdentifierQuickTimeMetadataLocationRole$AVMetadataIdentifierQuickTimeMetadataMake$AVMetadataIdentifierQuickTimeMetadataModel$AVMetadataIdentifierQuickTimeMetadataOriginalArtist$AVMetadataIdentifierQuickTimeMetadataPerformer$AVMetadataIdentifierQuickTimeMetadataPhonogramRights$AVMetadataIdentifierQuickTimeMetadataPreferredAffineTransform$AVMetadataIdentifierQuickTimeMetadataProducer$AVMetadataIdentifierQuickTimeMetadataPublisher$AVMetadataIdentifierQuickTimeMetadataRatingUser$AVMetadataIdentifierQuickTimeMetadataSoftware$AVMetadataIdentifierQuickTimeMetadataSpatialOverCaptureQualityScore$AVMetadataIdentifierQuickTimeMetadataSpatialOverCaptureQualityScoringVersion$AVMetadataIdentifierQuickTimeMetadataTitle$AVMetadataIdentifierQuickTimeMetadataVideoOrientation$AVMetadataIdentifierQuickTimeMetadataYear$AVMetadataIdentifierQuickTimeMetadataiXML$AVMetadataIdentifierQuickTimeUserDataAccessibilityDescription$AVMetadataIdentifierQuickTimeUserDataAlbum$AVMetadataIdentifierQuickTimeUserDataArranger$AVMetadataIdentifierQuickTimeUserDataArtist$AVMetadataIdentifierQuickTimeUserDataAuthor$AVMetadataIdentifierQuickTimeUserDataChapter$AVMetadataIdentifierQuickTimeUserDataComment$AVMetadataIdentifierQuickTimeUserDataComposer$AVMetadataIdentifierQuickTimeUserDataCopyright$AVMetadataIdentifierQuickTimeUserDataCreationDate$AVMetadataIdentifierQuickTimeUserDataCredits$AVMetadataIdentifierQuickTimeUserDataDescription$AVMetadataIdentifierQuickTimeUserDataDirector$AVMetadataIdentifierQuickTimeUserDataDisclaimer$AVMetadataIdentifierQuickTimeUserDataEncodedBy$AVMetadataIdentifierQuickTimeUserDataFullName$AVMetadataIdentifierQuickTimeUserDataGenre$AVMetadataIdentifierQuickTimeUserDataHostComputer$AVMetadataIdentifierQuickTimeUserDataInformation$AVMetadataIdentifierQuickTimeUserDataKeywords$AVMetadataIdentifierQuickTimeUserDataLocationISO6709$AVMetadataIdentifierQuickTimeUserDataMake$AVMetadataIdentifierQuickTimeUserDataModel$AVMetadataIdentifierQuickTimeUserDataOriginalArtist$AVMetadataIdentifierQuickTimeUserDataOriginalFormat$AVMetadataIdentifierQuickTimeUserDataOriginalSource$AVMetadataIdentifierQuickTimeUserDataPerformers$AVMetadataIdentifierQuickTimeUserDataPhonogramRights$AVMetadataIdentifierQuickTimeUserDataProducer$AVMetadataIdentifierQuickTimeUserDataProduct$AVMetadataIdentifierQuickTimeUserDataPublisher$AVMetadataIdentifierQuickTimeUserDataSoftware$AVMetadataIdentifierQuickTimeUserDataSpecialPlaybackRequirements$AVMetadataIdentifierQuickTimeUserDataTaggedCharacteristic$AVMetadataIdentifierQuickTimeUserDataTrack$AVMetadataIdentifierQuickTimeUserDataTrackName$AVMetadataIdentifierQuickTimeUserDataURLLink$AVMetadataIdentifierQuickTimeUserDataWarning$AVMetadataIdentifierQuickTimeUserDataWriter$AVMetadataIdentifieriTunesMetadataAccountKind$AVMetadataIdentifieriTunesMetadataAcknowledgement$AVMetadataIdentifieriTunesMetadataAlbum$AVMetadataIdentifieriTunesMetadataAlbumArtist$AVMetadataIdentifieriTunesMetadataAppleID$AVMetadataIdentifieriTunesMetadataArranger$AVMetadataIdentifieriTunesMetadataArtDirector$AVMetadataIdentifieriTunesMetadataArtist$AVMetadataIdentifieriTunesMetadataArtistID$AVMetadataIdentifieriTunesMetadataAuthor$AVMetadataIdentifieriTunesMetadataBeatsPerMin$AVMetadataIdentifieriTunesMetadataComposer$AVMetadataIdentifieriTunesMetadataConductor$AVMetadataIdentifieriTunesMetadataContentRating$AVMetadataIdentifieriTunesMetadataCopyright$AVMetadataIdentifieriTunesMetadataCoverArt$AVMetadataIdentifieriTunesMetadataCredits$AVMetadataIdentifieriTunesMetadataDescription$AVMetadataIdentifieriTunesMetadataDirector$AVMetadataIdentifieriTunesMetadataDiscCompilation$AVMetadataIdentifieriTunesMetadataDiscNumber$AVMetadataIdentifieriTunesMetadataEQ$AVMetadataIdentifieriTunesMetadataEncodedBy$AVMetadataIdentifieriTunesMetadataEncodingTool$AVMetadataIdentifieriTunesMetadataExecProducer$AVMetadataIdentifieriTunesMetadataGenreID$AVMetadataIdentifieriTunesMetadataGrouping$AVMetadataIdentifieriTunesMetadataLinerNotes$AVMetadataIdentifieriTunesMetadataLyrics$AVMetadataIdentifieriTunesMetadataOnlineExtras$AVMetadataIdentifieriTunesMetadataOriginalArtist$AVMetadataIdentifieriTunesMetadataPerformer$AVMetadataIdentifieriTunesMetadataPhonogramRights$AVMetadataIdentifieriTunesMetadataPlaylistID$AVMetadataIdentifieriTunesMetadataPredefinedGenre$AVMetadataIdentifieriTunesMetadataProducer$AVMetadataIdentifieriTunesMetadataPublisher$AVMetadataIdentifieriTunesMetadataRecordCompany$AVMetadataIdentifieriTunesMetadataReleaseDate$AVMetadataIdentifieriTunesMetadataSoloist$AVMetadataIdentifieriTunesMetadataSongID$AVMetadataIdentifieriTunesMetadataSongName$AVMetadataIdentifieriTunesMetadataSoundEngineer$AVMetadataIdentifieriTunesMetadataThanks$AVMetadataIdentifieriTunesMetadataTrackNumber$AVMetadataIdentifieriTunesMetadataTrackSubTitle$AVMetadataIdentifieriTunesMetadataUserComment$AVMetadataIdentifieriTunesMetadataUserGenre$AVMetadataKeySpaceAudioFile$AVMetadataKeySpaceCommon$AVMetadataKeySpaceHLSDateRange$AVMetadataKeySpaceID3$AVMetadataKeySpaceISOUserData$AVMetadataKeySpaceIcy$AVMetadataKeySpaceQuickTimeMetadata$AVMetadataKeySpaceQuickTimeUserData$AVMetadataKeySpaceiTunes$AVMetadataObjectTypeAztecCode$AVMetadataObjectTypeCatBody$AVMetadataObjectTypeCodabarCode$AVMetadataObjectTypeCode128Code$AVMetadataObjectTypeCode39Code$AVMetadataObjectTypeCode39Mod43Code$AVMetadataObjectTypeCode93Code$AVMetadataObjectTypeDataMatrixCode$AVMetadataObjectTypeDogBody$AVMetadataObjectTypeEAN13Code$AVMetadataObjectTypeEAN8Code$AVMetadataObjectTypeFace$AVMetadataObjectTypeGS1DataBarCode$AVMetadataObjectTypeGS1DataBarExpandedCode$AVMetadataObjectTypeGS1DataBarLimitedCode$AVMetadataObjectTypeHumanBody$AVMetadataObjectTypeITF14Code$AVMetadataObjectTypeInterleaved2of5Code$AVMetadataObjectTypeMicroPDF417Code$AVMetadataObjectTypeMicroQRCode$AVMetadataObjectTypePDF417Code$AVMetadataObjectTypeQRCode$AVMetadataObjectTypeSalientObject$AVMetadataObjectTypeUPCECode$AVMetadataQuickTimeMetadataKeyAccessibilityDescription$AVMetadataQuickTimeMetadataKeyAlbum$AVMetadataQuickTimeMetadataKeyArranger$AVMetadataQuickTimeMetadataKeyArtist$AVMetadataQuickTimeMetadataKeyArtwork$AVMetadataQuickTimeMetadataKeyAuthor$AVMetadataQuickTimeMetadataKeyCameraFrameReadoutTime$AVMetadataQuickTimeMetadataKeyCameraIdentifier$AVMetadataQuickTimeMetadataKeyCollectionUser$AVMetadataQuickTimeMetadataKeyComment$AVMetadataQuickTimeMetadataKeyComposer$AVMetadataQuickTimeMetadataKeyContentIdentifier$AVMetadataQuickTimeMetadataKeyCopyright$AVMetadataQuickTimeMetadataKeyCreationDate$AVMetadataQuickTimeMetadataKeyCredits$AVMetadataQuickTimeMetadataKeyDescription$AVMetadataQuickTimeMetadataKeyDirectionFacing$AVMetadataQuickTimeMetadataKeyDirectionMotion$AVMetadataQuickTimeMetadataKeyDirector$AVMetadataQuickTimeMetadataKeyDisplayName$AVMetadataQuickTimeMetadataKeyEncodedBy$AVMetadataQuickTimeMetadataKeyGenre$AVMetadataQuickTimeMetadataKeyInformation$AVMetadataQuickTimeMetadataKeyIsMontage$AVMetadataQuickTimeMetadataKeyKeywords$AVMetadataQuickTimeMetadataKeyLocationBody$AVMetadataQuickTimeMetadataKeyLocationDate$AVMetadataQuickTimeMetadataKeyLocationISO6709$AVMetadataQuickTimeMetadataKeyLocationName$AVMetadataQuickTimeMetadataKeyLocationNote$AVMetadataQuickTimeMetadataKeyLocationRole$AVMetadataQuickTimeMetadataKeyMake$AVMetadataQuickTimeMetadataKeyModel$AVMetadataQuickTimeMetadataKeyOriginalArtist$AVMetadataQuickTimeMetadataKeyPerformer$AVMetadataQuickTimeMetadataKeyPhonogramRights$AVMetadataQuickTimeMetadataKeyProducer$AVMetadataQuickTimeMetadataKeyPublisher$AVMetadataQuickTimeMetadataKeyRatingUser$AVMetadataQuickTimeMetadataKeySoftware$AVMetadataQuickTimeMetadataKeyTitle$AVMetadataQuickTimeMetadataKeyYear$AVMetadataQuickTimeMetadataKeyiXML$AVMetadataQuickTimeUserDataKeyAccessibilityDescription$AVMetadataQuickTimeUserDataKeyAlbum$AVMetadataQuickTimeUserDataKeyArranger$AVMetadataQuickTimeUserDataKeyArtist$AVMetadataQuickTimeUserDataKeyAuthor$AVMetadataQuickTimeUserDataKeyChapter$AVMetadataQuickTimeUserDataKeyComment$AVMetadataQuickTimeUserDataKeyComposer$AVMetadataQuickTimeUserDataKeyCopyright$AVMetadataQuickTimeUserDataKeyCreationDate$AVMetadataQuickTimeUserDataKeyCredits$AVMetadataQuickTimeUserDataKeyDescription$AVMetadataQuickTimeUserDataKeyDirector$AVMetadataQuickTimeUserDataKeyDisclaimer$AVMetadataQuickTimeUserDataKeyEncodedBy$AVMetadataQuickTimeUserDataKeyFullName$AVMetadataQuickTimeUserDataKeyGenre$AVMetadataQuickTimeUserDataKeyHostComputer$AVMetadataQuickTimeUserDataKeyInformation$AVMetadataQuickTimeUserDataKeyKeywords$AVMetadataQuickTimeUserDataKeyLocationISO6709$AVMetadataQuickTimeUserDataKeyMake$AVMetadataQuickTimeUserDataKeyModel$AVMetadataQuickTimeUserDataKeyOriginalArtist$AVMetadataQuickTimeUserDataKeyOriginalFormat$AVMetadataQuickTimeUserDataKeyOriginalSource$AVMetadataQuickTimeUserDataKeyPerformers$AVMetadataQuickTimeUserDataKeyPhonogramRights$AVMetadataQuickTimeUserDataKeyProducer$AVMetadataQuickTimeUserDataKeyProduct$AVMetadataQuickTimeUserDataKeyPublisher$AVMetadataQuickTimeUserDataKeySoftware$AVMetadataQuickTimeUserDataKeySpecialPlaybackRequirements$AVMetadataQuickTimeUserDataKeyTaggedCharacteristic$AVMetadataQuickTimeUserDataKeyTrack$AVMetadataQuickTimeUserDataKeyTrackName$AVMetadataQuickTimeUserDataKeyURLLink$AVMetadataQuickTimeUserDataKeyWarning$AVMetadataQuickTimeUserDataKeyWriter$AVMetadataiTunesMetadataKeyAccountKind$AVMetadataiTunesMetadataKeyAcknowledgement$AVMetadataiTunesMetadataKeyAlbum$AVMetadataiTunesMetadataKeyAlbumArtist$AVMetadataiTunesMetadataKeyAppleID$AVMetadataiTunesMetadataKeyArranger$AVMetadataiTunesMetadataKeyArtDirector$AVMetadataiTunesMetadataKeyArtist$AVMetadataiTunesMetadataKeyArtistID$AVMetadataiTunesMetadataKeyAuthor$AVMetadataiTunesMetadataKeyBeatsPerMin$AVMetadataiTunesMetadataKeyComposer$AVMetadataiTunesMetadataKeyConductor$AVMetadataiTunesMetadataKeyContentRating$AVMetadataiTunesMetadataKeyCopyright$AVMetadataiTunesMetadataKeyCoverArt$AVMetadataiTunesMetadataKeyCredits$AVMetadataiTunesMetadataKeyDescription$AVMetadataiTunesMetadataKeyDirector$AVMetadataiTunesMetadataKeyDiscCompilation$AVMetadataiTunesMetadataKeyDiscNumber$AVMetadataiTunesMetadataKeyEQ$AVMetadataiTunesMetadataKeyEncodedBy$AVMetadataiTunesMetadataKeyEncodingTool$AVMetadataiTunesMetadataKeyExecProducer$AVMetadataiTunesMetadataKeyGenreID$AVMetadataiTunesMetadataKeyGrouping$AVMetadataiTunesMetadataKeyLinerNotes$AVMetadataiTunesMetadataKeyLyrics$AVMetadataiTunesMetadataKeyOnlineExtras$AVMetadataiTunesMetadataKeyOriginalArtist$AVMetadataiTunesMetadataKeyPerformer$AVMetadataiTunesMetadataKeyPhonogramRights$AVMetadataiTunesMetadataKeyPlaylistID$AVMetadataiTunesMetadataKeyPredefinedGenre$AVMetadataiTunesMetadataKeyProducer$AVMetadataiTunesMetadataKeyPublisher$AVMetadataiTunesMetadataKeyRecordCompany$AVMetadataiTunesMetadataKeyReleaseDate$AVMetadataiTunesMetadataKeySoloist$AVMetadataiTunesMetadataKeySongID$AVMetadataiTunesMetadataKeySongName$AVMetadataiTunesMetadataKeySoundEngineer$AVMetadataiTunesMetadataKeyThanks$AVMetadataiTunesMetadataKeyTrackNumber$AVMetadataiTunesMetadataKeyTrackSubTitle$AVMetadataiTunesMetadataKeyUserComment$AVMetadataiTunesMetadataKeyUserGenre$AVMovieReferenceRestrictionsKey$AVMovieShouldSupportAliasDataReferencesKey$AVNumberOfChannelsKey$AVOutputSettingsPreset1280x720$AVOutputSettingsPreset1920x1080$AVOutputSettingsPreset3840x2160$AVOutputSettingsPreset640x480$AVOutputSettingsPreset960x540$AVOutputSettingsPresetHEVC1920x1080$AVOutputSettingsPresetHEVC1920x1080WithAlpha$AVOutputSettingsPresetHEVC3840x2160$AVOutputSettingsPresetHEVC3840x2160WithAlpha$AVOutputSettingsPresetHEVC7680x4320$AVPlaybackCoordinatorOtherParticipantsDidChangeNotification$AVPlaybackCoordinatorSuspensionReasonsDidChangeNotification$AVPlayerAvailableHDRModesDidChangeNotification$AVPlayerEligibleForHDRPlaybackDidChangeNotification$AVPlayerInterstitialEventMonitorCurrentEventDidChangeNotification$AVPlayerInterstitialEventMonitorEventsDidChangeNotification$AVPlayerInterstitialEventObserverCurrentEventDidChangeNotification$AVPlayerItemDidPlayToEndTimeNotification$AVPlayerItemFailedToPlayToEndTimeErrorKey$AVPlayerItemFailedToPlayToEndTimeNotification$AVPlayerItemLegibleOutputTextStylingResolutionDefault$AVPlayerItemLegibleOutputTextStylingResolutionSourceAndRulesOnly$AVPlayerItemMediaSelectionDidChangeNotification$AVPlayerItemNewAccessLogEntryNotification$AVPlayerItemNewErrorLogEntryNotification$AVPlayerItemPlaybackStalledNotification$AVPlayerItemRecommendedTimeOffsetFromLiveDidChangeNotification$AVPlayerItemTimeJumpedNotification$AVPlayerItemTimeJumpedOriginatingParticipantKey$AVPlayerItemTrackVideoFieldModeDeinterlaceFields$AVPlayerRateDidChangeNotification$AVPlayerRateDidChangeOriginatingParticipantKey$AVPlayerRateDidChangeReasonAppBackgrounded$AVPlayerRateDidChangeReasonAudioSessionInterrupted$AVPlayerRateDidChangeReasonKey$AVPlayerRateDidChangeReasonSetRateCalled$AVPlayerRateDidChangeReasonSetRateFailed$AVPlayerWaitingDuringInterstitialEventReason$AVPlayerWaitingForCoordinatedPlaybackReason$AVPlayerWaitingToMinimizeStallsReason$AVPlayerWaitingWhileEvaluatingBufferingRateReason$AVPlayerWaitingWithNoItemToPlayReason$AVRouteDetectorMultipleRoutesDetectedDidChangeNotification$AVSampleBufferAudioRendererFlushTimeKey$AVSampleBufferAudioRendererOutputConfigurationDidChangeNotification$AVSampleBufferAudioRendererWasFlushedAutomaticallyNotification$AVSampleBufferDisplayLayerFailedToDecodeNotification$AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey$AVSampleBufferDisplayLayerOutputObscuredDueToInsufficientExternalProtectionDidChangeNotification$AVSampleBufferDisplayLayerRequiresFlushToResumeDecodingDidChangeNotification$AVSampleBufferRenderSynchronizerRateDidChangeNotification$AVSampleRateConverterAlgorithmKey$AVSampleRateConverterAlgorithm_Mastering$AVSampleRateConverterAlgorithm_MinimumPhase$AVSampleRateConverterAlgorithm_Normal$AVSampleRateConverterAudioQualityKey$AVSampleRateKey$AVSemanticSegmentationMatteTypeGlasses$AVSemanticSegmentationMatteTypeHair$AVSemanticSegmentationMatteTypeSkin$AVSemanticSegmentationMatteTypeTeeth$AVSpeechSynthesisIPANotationAttribute$AVSpeechSynthesisVoiceIdentifierAlex$AVSpeechUtteranceDefaultSpeechRate@f$AVSpeechUtteranceMaximumSpeechRate@f$AVSpeechUtteranceMinimumSpeechRate@f$AVStreamingKeyDeliveryContentKeyType$AVStreamingKeyDeliveryPersistentContentKeyType$AVTrackAssociationTypeAudioFallback$AVTrackAssociationTypeChapterList$AVTrackAssociationTypeForcedSubtitlesOnly$AVTrackAssociationTypeMetadataReferent$AVTrackAssociationTypeSelectionFollower$AVTrackAssociationTypeTimecode$AVURLAssetAllowsCellularAccessKey$AVURLAssetAllowsConstrainedNetworkAccessKey$AVURLAssetAllowsExpensiveNetworkAccessKey$AVURLAssetHTTPCookiesKey$AVURLAssetPreferPreciseDurationAndTimingKey$AVURLAssetReferenceRestrictionsKey$AVURLAssetShouldSupportAliasDataReferencesKey$AVURLAssetURLRequestAttributionKey$AVVideoAllowFrameReorderingKey$AVVideoAllowWideColorKey$AVVideoApertureModeCleanAperture$AVVideoApertureModeEncodedPixels$AVVideoApertureModeProductionAperture$AVVideoAppleProRAWBitDepthKey$AVVideoAverageBitRateKey$AVVideoAverageNonDroppableFrameRateKey$AVVideoCleanApertureHeightKey$AVVideoCleanApertureHorizontalOffsetKey$AVVideoCleanApertureKey$AVVideoCleanApertureVerticalOffsetKey$AVVideoCleanApertureWidthKey$AVVideoCodecAppleProRes422$AVVideoCodecAppleProRes4444$AVVideoCodecH264$AVVideoCodecHEVC$AVVideoCodecJPEG$AVVideoCodecKey$AVVideoCodecTypeAppleProRes422$AVVideoCodecTypeAppleProRes422HQ$AVVideoCodecTypeAppleProRes422LT$AVVideoCodecTypeAppleProRes422Proxy$AVVideoCodecTypeAppleProRes4444$AVVideoCodecTypeH264$AVVideoCodecTypeHEVC$AVVideoCodecTypeHEVCWithAlpha$AVVideoCodecTypeJPEG$AVVideoColorPrimariesKey$AVVideoColorPrimaries_EBU_3213$AVVideoColorPrimaries_ITU_R_2020$AVVideoColorPrimaries_ITU_R_709_2$AVVideoColorPrimaries_P3_D65$AVVideoColorPrimaries_SMPTE_C$AVVideoColorPropertiesKey$AVVideoCompressionPropertiesKey$AVVideoDecompressionPropertiesKey$AVVideoEncoderSpecificationKey$AVVideoExpectedSourceFrameRateKey$AVVideoH264EntropyModeCABAC$AVVideoH264EntropyModeCAVLC$AVVideoH264EntropyModeKey$AVVideoHeightKey$AVVideoMaxKeyFrameIntervalDurationKey$AVVideoMaxKeyFrameIntervalKey$AVVideoPixelAspectRatioHorizontalSpacingKey$AVVideoPixelAspectRatioKey$AVVideoPixelAspectRatioVerticalSpacingKey$AVVideoProfileLevelH264Baseline30$AVVideoProfileLevelH264Baseline31$AVVideoProfileLevelH264Baseline41$AVVideoProfileLevelH264BaselineAutoLevel$AVVideoProfileLevelH264High40$AVVideoProfileLevelH264High41$AVVideoProfileLevelH264HighAutoLevel$AVVideoProfileLevelH264Main30$AVVideoProfileLevelH264Main31$AVVideoProfileLevelH264Main32$AVVideoProfileLevelH264Main41$AVVideoProfileLevelH264MainAutoLevel$AVVideoProfileLevelKey$AVVideoQualityKey$AVVideoRangeHLG$AVVideoRangePQ$AVVideoRangeSDR$AVVideoScalingModeFit$AVVideoScalingModeKey$AVVideoScalingModeResize$AVVideoScalingModeResizeAspect$AVVideoScalingModeResizeAspectFill$AVVideoTransferFunctionKey$AVVideoTransferFunction_ITU_R_2100_HLG$AVVideoTransferFunction_ITU_R_709_2$AVVideoTransferFunction_SMPTE_240M_1995$AVVideoTransferFunction_SMPTE_ST_2084_PQ$AVVideoWidthKey$AVVideoYCbCrMatrixKey$AVVideoYCbCrMatrix_ITU_R_2020$AVVideoYCbCrMatrix_ITU_R_601_4$AVVideoYCbCrMatrix_ITU_R_709_2$AVVideoYCbCrMatrix_SMPTE_240M_1995$""" -enums = """$AVAUDIOENGINE_HAVE_AUAUDIOUNIT@1$AVAUDIOENGINE_HAVE_MUSICPLAYER@1$AVAUDIOFORMAT_HAVE_CMFORMATDESCRIPTION@1$AVAUDIOIONODE_HAVE_AUDIOUNIT@1$AVAUDIONODE_HAVE_AUAUDIOUNIT@1$AVAUDIOUNITCOMPONENT_HAVE_AUDIOCOMPONENT@1$AVAUDIOUNIT_HAVE_AUDIOUNIT@1$AVAssetExportSessionStatusCancelled@5$AVAssetExportSessionStatusCompleted@3$AVAssetExportSessionStatusExporting@2$AVAssetExportSessionStatusFailed@4$AVAssetExportSessionStatusUnknown@0$AVAssetExportSessionStatusWaiting@1$AVAssetImageGeneratorCancelled@2$AVAssetImageGeneratorFailed@1$AVAssetImageGeneratorSucceeded@0$AVAssetReaderStatusCancelled@4$AVAssetReaderStatusCompleted@2$AVAssetReaderStatusFailed@3$AVAssetReaderStatusReading@1$AVAssetReaderStatusUnknown@0$AVAssetReferenceRestrictionDefaultPolicy@2$AVAssetReferenceRestrictionForbidAll@65535$AVAssetReferenceRestrictionForbidCrossSiteReference@4$AVAssetReferenceRestrictionForbidLocalReferenceToLocal@8$AVAssetReferenceRestrictionForbidLocalReferenceToRemote@2$AVAssetReferenceRestrictionForbidNone@0$AVAssetReferenceRestrictionForbidRemoteReferenceToLocal@1$AVAssetSegmentTypeInitialization@1$AVAssetSegmentTypeSeparable@2$AVAssetWriterStatusCancelled@4$AVAssetWriterStatusCompleted@2$AVAssetWriterStatusFailed@3$AVAssetWriterStatusUnknown@0$AVAssetWriterStatusWriting@1$AVAudio3DMixingPointSourceInHeadModeBypass@1$AVAudio3DMixingPointSourceInHeadModeMono@0$AVAudio3DMixingRenderingAlgorithmAuto@7$AVAudio3DMixingRenderingAlgorithmEqualPowerPanning@0$AVAudio3DMixingRenderingAlgorithmHRTF@2$AVAudio3DMixingRenderingAlgorithmHRTFHQ@6$AVAudio3DMixingRenderingAlgorithmSoundField@3$AVAudio3DMixingRenderingAlgorithmSphericalHead@1$AVAudio3DMixingRenderingAlgorithmStereoPassThrough@5$AVAudio3DMixingSourceModeAmbienceBed@3$AVAudio3DMixingSourceModeBypass@1$AVAudio3DMixingSourceModePointSource@2$AVAudio3DMixingSourceModeSpatializeIfMono@0$AVAudioConverterInputStatus_EndOfStream@2$AVAudioConverterInputStatus_HaveData@0$AVAudioConverterInputStatus_NoDataNow@1$AVAudioConverterOutputStatus_EndOfStream@2$AVAudioConverterOutputStatus_Error@3$AVAudioConverterOutputStatus_HaveData@0$AVAudioConverterOutputStatus_InputRanDry@1$AVAudioConverterPrimeMethod_None@2$AVAudioConverterPrimeMethod_Normal@1$AVAudioConverterPrimeMethod_Pre@0$AVAudioEngineManualRenderingErrorInitialized@-80801$AVAudioEngineManualRenderingErrorInvalidMode@-80800$AVAudioEngineManualRenderingErrorNotRunning@-80802$AVAudioEngineManualRenderingModeOffline@0$AVAudioEngineManualRenderingModeRealtime@1$AVAudioEngineManualRenderingStatusCannotDoInCurrentContext@2$AVAudioEngineManualRenderingStatusError@-1$AVAudioEngineManualRenderingStatusInsufficientDataFromInputNode@1$AVAudioEngineManualRenderingStatusSuccess@0$AVAudioEnvironmentDistanceAttenuationModelExponential@1$AVAudioEnvironmentDistanceAttenuationModelInverse@2$AVAudioEnvironmentDistanceAttenuationModelLinear@3$AVAudioEnvironmentOutputTypeAuto@0$AVAudioEnvironmentOutputTypeBuiltInSpeakers@2$AVAudioEnvironmentOutputTypeExternalSpeakers@3$AVAudioEnvironmentOutputTypeHeadphones@1$AVAudioOtherFormat@0$AVAudioPCMFormatFloat32@1$AVAudioPCMFormatFloat64@2$AVAudioPCMFormatInt16@3$AVAudioPCMFormatInt32@4$AVAudioPlayerNodeBufferInterrupts@2$AVAudioPlayerNodeBufferInterruptsAtLoop@4$AVAudioPlayerNodeBufferLoops@1$AVAudioPlayerNodeCompletionDataConsumed@0$AVAudioPlayerNodeCompletionDataPlayedBack@2$AVAudioPlayerNodeCompletionDataRendered@1$AVAudioQualityHigh@96$AVAudioQualityLow@32$AVAudioQualityMax@127$AVAudioQualityMedium@64$AVAudioQualityMin@0$AVAudioRoutingArbitrationCategoryPlayAndRecord@1$AVAudioRoutingArbitrationCategoryPlayAndRecordVoice@2$AVAudioRoutingArbitrationCategoryPlayback@0$AVAudioSessionActivationOptionNone@0$AVAudioSessionCategoryOptionAllowAirPlay@64$AVAudioSessionCategoryOptionAllowBluetooth@4$AVAudioSessionCategoryOptionAllowBluetoothA2DP@32$AVAudioSessionCategoryOptionDefaultToSpeaker@8$AVAudioSessionCategoryOptionDuckOthers@2$AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers@17$AVAudioSessionCategoryOptionMixWithOthers@1$AVAudioSessionIOTypeAggregated@1$AVAudioSessionIOTypeNotSpecified@0$AVAudioSessionInterruptionFlags_ShouldResume@1$AVAudioSessionInterruptionOptionShouldResume@1$AVAudioSessionInterruptionTypeBegan@1$AVAudioSessionInterruptionTypeEnded@0$AVAudioSessionPortOverrideNone@0$AVAudioSessionPortOverrideSpeaker@1936747378$AVAudioSessionPromptStyleNone@1852796517$AVAudioSessionPromptStyleNormal@1852992876$AVAudioSessionPromptStyleShort@1936224884$AVAudioSessionRecordPermissionDenied@1684369017$AVAudioSessionRecordPermissionGranted@1735552628$AVAudioSessionRecordPermissionUndetermined@1970168948$AVAudioSessionRouteChangeReasonCategoryChange@3$AVAudioSessionRouteChangeReasonNewDeviceAvailable@1$AVAudioSessionRouteChangeReasonNoSuitableRouteForCategory@7$AVAudioSessionRouteChangeReasonOldDeviceUnavailable@2$AVAudioSessionRouteChangeReasonOverride@4$AVAudioSessionRouteChangeReasonRouteConfigurationChange@8$AVAudioSessionRouteChangeReasonUnknown@0$AVAudioSessionRouteChangeReasonWakeFromSleep@6$AVAudioSessionRouteSharingPolicyDefault@0$AVAudioSessionRouteSharingPolicyIndependent@2$AVAudioSessionRouteSharingPolicyLongForm@1$AVAudioSessionRouteSharingPolicyLongFormAudio@1$AVAudioSessionRouteSharingPolicyLongFormVideo@3$AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation@1$AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation@1$AVAudioSessionSilenceSecondaryAudioHintTypeBegin@1$AVAudioSessionSilenceSecondaryAudioHintTypeEnd@0$AVAudioSpatializationFormatMonoAndStereo@3$AVAudioSpatializationFormatMonoStereoAndMultichannel@7$AVAudioSpatializationFormatMultichannel@4$AVAudioSpatializationFormatNone@0$AVAudioStereoOrientationLandscapeLeft@4$AVAudioStereoOrientationLandscapeRight@3$AVAudioStereoOrientationNone@0$AVAudioStereoOrientationPortrait@1$AVAudioStereoOrientationPortraitUpsideDown@2$AVAudioUnitDistortionPresetDrumsBitBrush@0$AVAudioUnitDistortionPresetDrumsBufferBeats@1$AVAudioUnitDistortionPresetDrumsLoFi@2$AVAudioUnitDistortionPresetMultiBrokenSpeaker@3$AVAudioUnitDistortionPresetMultiCellphoneConcert@4$AVAudioUnitDistortionPresetMultiDecimated1@5$AVAudioUnitDistortionPresetMultiDecimated2@6$AVAudioUnitDistortionPresetMultiDecimated3@7$AVAudioUnitDistortionPresetMultiDecimated4@8$AVAudioUnitDistortionPresetMultiDistortedCubed@10$AVAudioUnitDistortionPresetMultiDistortedFunk@9$AVAudioUnitDistortionPresetMultiDistortedSquared@11$AVAudioUnitDistortionPresetMultiEcho1@12$AVAudioUnitDistortionPresetMultiEcho2@13$AVAudioUnitDistortionPresetMultiEchoTight1@14$AVAudioUnitDistortionPresetMultiEchoTight2@15$AVAudioUnitDistortionPresetMultiEverythingIsBroken@16$AVAudioUnitDistortionPresetSpeechAlienChatter@17$AVAudioUnitDistortionPresetSpeechCosmicInterference@18$AVAudioUnitDistortionPresetSpeechGoldenPi@19$AVAudioUnitDistortionPresetSpeechRadioTower@20$AVAudioUnitDistortionPresetSpeechWaves@21$AVAudioUnitEQFilterTypeBandPass@5$AVAudioUnitEQFilterTypeBandStop@6$AVAudioUnitEQFilterTypeHighPass@2$AVAudioUnitEQFilterTypeHighShelf@8$AVAudioUnitEQFilterTypeLowPass@1$AVAudioUnitEQFilterTypeLowShelf@7$AVAudioUnitEQFilterTypeParametric@0$AVAudioUnitEQFilterTypeResonantHighPass@4$AVAudioUnitEQFilterTypeResonantHighShelf@10$AVAudioUnitEQFilterTypeResonantLowPass@3$AVAudioUnitEQFilterTypeResonantLowShelf@9$AVAudioUnitReverbPresetCathedral@8$AVAudioUnitReverbPresetLargeChamber@7$AVAudioUnitReverbPresetLargeHall@4$AVAudioUnitReverbPresetLargeHall2@12$AVAudioUnitReverbPresetLargeRoom@2$AVAudioUnitReverbPresetLargeRoom2@9$AVAudioUnitReverbPresetMediumChamber@6$AVAudioUnitReverbPresetMediumHall@3$AVAudioUnitReverbPresetMediumHall2@10$AVAudioUnitReverbPresetMediumHall3@11$AVAudioUnitReverbPresetMediumRoom@1$AVAudioUnitReverbPresetPlate@5$AVAudioUnitReverbPresetSmallRoom@0$AVAuthorizationStatusAuthorized@3$AVAuthorizationStatusDenied@2$AVAuthorizationStatusNotDetermined@0$AVAuthorizationStatusRestricted@1$AVCaptionAnimationCharacterReveal@1$AVCaptionAnimationNone@0$AVCaptionConversionValidatorStatusCompleted@2$AVCaptionConversionValidatorStatusStopped@3$AVCaptionConversionValidatorStatusUnknown@0$AVCaptionConversionValidatorStatusValidating@1$AVCaptionDecorationLineThrough@2$AVCaptionDecorationNone@0$AVCaptionDecorationOverline@4$AVCaptionDecorationUnderline@1$AVCaptionFontStyleItalic@2$AVCaptionFontStyleNormal@1$AVCaptionFontStyleUnknown@0$AVCaptionFontWeightBold@2$AVCaptionFontWeightNormal@1$AVCaptionFontWeightUnknown@0$AVCaptionRegionDisplayAlignmentAfter@2$AVCaptionRegionDisplayAlignmentBefore@0$AVCaptionRegionDisplayAlignmentCenter@1$AVCaptionRegionScrollNone@0$AVCaptionRegionScrollRollUp@1$AVCaptionRegionWritingModeLeftToRightAndTopToBottom@0$AVCaptionRegionWritingModeTopToBottomAndRightToLeft@2$AVCaptionRubyAlignmentCenter@1$AVCaptionRubyAlignmentDistributeSpaceAround@3$AVCaptionRubyAlignmentDistributeSpaceBetween@2$AVCaptionRubyAlignmentStart@0$AVCaptionRubyPositionAfter@1$AVCaptionRubyPositionBefore@0$AVCaptionTextAlignmentCenter@2$AVCaptionTextAlignmentEnd@1$AVCaptionTextAlignmentLeft@3$AVCaptionTextAlignmentRight@4$AVCaptionTextAlignmentStart@0$AVCaptionTextCombineAll@-1$AVCaptionTextCombineFourDigits@4$AVCaptionTextCombineNone@0$AVCaptionTextCombineOneDigit@1$AVCaptionTextCombineThreeDigits@3$AVCaptionTextCombineTwoDigits@2$AVCaptionUnitsTypeCells@1$AVCaptionUnitsTypePercent@2$AVCaptionUnitsTypeUnspecified@0$AVCaptureAutoFocusRangeRestrictionFar@2$AVCaptureAutoFocusRangeRestrictionNear@1$AVCaptureAutoFocusRangeRestrictionNone@0$AVCaptureAutoFocusSystemContrastDetection@1$AVCaptureAutoFocusSystemNone@0$AVCaptureAutoFocusSystemPhaseDetection@2$AVCaptureCenterStageControlModeApp@1$AVCaptureCenterStageControlModeCooperative@2$AVCaptureCenterStageControlModeUser@0$AVCaptureColorSpace_HLG_BT2020@2$AVCaptureColorSpace_P3_D65@1$AVCaptureColorSpace_sRGB@0$AVCaptureDevicePositionBack@1$AVCaptureDevicePositionFront@2$AVCaptureDevicePositionUnspecified@0$AVCaptureDeviceTransportControlsNotPlayingMode@0$AVCaptureDeviceTransportControlsPlayingMode@1$AVCaptureExposureModeAutoExpose@1$AVCaptureExposureModeContinuousAutoExposure@2$AVCaptureExposureModeCustom@3$AVCaptureExposureModeLocked@0$AVCaptureFlashModeAuto@2$AVCaptureFlashModeOff@0$AVCaptureFlashModeOn@1$AVCaptureFocusModeAutoFocus@1$AVCaptureFocusModeContinuousAutoFocus@2$AVCaptureFocusModeLocked@0$AVCaptureLensStabilizationStatusActive@2$AVCaptureLensStabilizationStatusOff@1$AVCaptureLensStabilizationStatusOutOfRange@3$AVCaptureLensStabilizationStatusUnavailable@4$AVCaptureLensStabilizationStatusUnsupported@0$AVCaptureMicrophoneModeStandard@0$AVCaptureMicrophoneModeVoiceIsolation@2$AVCaptureMicrophoneModeWideSpectrum@1$AVCaptureOutputDataDroppedReasonDiscontinuity@3$AVCaptureOutputDataDroppedReasonLateData@1$AVCaptureOutputDataDroppedReasonNone@0$AVCaptureOutputDataDroppedReasonOutOfBuffers@2$AVCapturePhotoQualityPrioritizationBalanced@2$AVCapturePhotoQualityPrioritizationQuality@3$AVCapturePhotoQualityPrioritizationSpeed@1$AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditionExposureModeChanged@4$AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditionFocusModeChanged@2$AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditionNone@0$AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditionVideoZoomChanged@1$AVCapturePrimaryConstituentDeviceSwitchingBehaviorAuto@1$AVCapturePrimaryConstituentDeviceSwitchingBehaviorLocked@3$AVCapturePrimaryConstituentDeviceSwitchingBehaviorRestricted@2$AVCapturePrimaryConstituentDeviceSwitchingBehaviorUnsupported@0$AVCaptureSessionInterruptionReasonAudioDeviceInUseByAnotherClient@2$AVCaptureSessionInterruptionReasonVideoDeviceInUseByAnotherClient@3$AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableDueToSystemPressure@5$AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableInBackground@1$AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableWithMultipleForegroundApps@4$AVCaptureSystemPressureFactorDepthModuleTemperature@4$AVCaptureSystemPressureFactorNone@0$AVCaptureSystemPressureFactorPeakPower@2$AVCaptureSystemPressureFactorSystemTemperature@1$AVCaptureSystemUserInterfaceMicrophoneModes@2$AVCaptureSystemUserInterfaceVideoEffects@1$AVCaptureTorchModeAuto@2$AVCaptureTorchModeOff@0$AVCaptureTorchModeOn@1$AVCaptureVideoOrientationLandscapeLeft@4$AVCaptureVideoOrientationLandscapeRight@3$AVCaptureVideoOrientationPortrait@1$AVCaptureVideoOrientationPortraitUpsideDown@2$AVCaptureVideoStabilizationModeAuto@-1$AVCaptureVideoStabilizationModeCinematic@2$AVCaptureVideoStabilizationModeCinematicExtended@3$AVCaptureVideoStabilizationModeOff@0$AVCaptureVideoStabilizationModeStandard@1$AVCaptureWhiteBalanceModeAutoWhiteBalance@1$AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance@2$AVCaptureWhiteBalanceModeLocked@0$AVContentAuthorizationBusy@4$AVContentAuthorizationCancelled@2$AVContentAuthorizationCompleted@1$AVContentAuthorizationNotAvailable@5$AVContentAuthorizationNotPossible@6$AVContentAuthorizationTimedOut@3$AVContentAuthorizationUnknown@0$AVContentKeyRequestStatusCancelled@4$AVContentKeyRequestStatusFailed@5$AVContentKeyRequestStatusReceivedResponse@1$AVContentKeyRequestStatusRenewed@2$AVContentKeyRequestStatusRequestingResponse@0$AVContentKeyRequestStatusRetried@3$AVDelegatingPlaybackCoordinatorRateChangeOptionPlayImmediately@1$AVDelegatingPlaybackCoordinatorSeekOptionResumeImmediately@1$AVDepthDataAccuracyAbsolute@1$AVDepthDataAccuracyRelative@0$AVDepthDataQualityHigh@1$AVDepthDataQualityLow@0$AVErrorAirPlayControllerRequiresInternet@-11856$AVErrorAirPlayReceiverRequiresInternet@-11857$AVErrorApplicationIsNotAuthorized@-11836$AVErrorApplicationIsNotAuthorizedToUseDevice@-11852$AVErrorCompositionTrackSegmentsNotContiguous@-11824$AVErrorContentIsNotAuthorized@-11835$AVErrorContentIsProtected@-11831$AVErrorContentIsUnavailable@-11863$AVErrorContentKeyRequestCancelled@-11879$AVErrorContentNotUpdated@-11866$AVErrorCreateContentKeyRequestFailed@-11860$AVErrorDecodeFailed@-11821$AVErrorDecoderNotFound@-11833$AVErrorDecoderTemporarilyUnavailable@-11839$AVErrorDeviceAlreadyUsedByAnotherSession@-11804$AVErrorDeviceInUseByAnotherApplication@-11815$AVErrorDeviceLockedForConfigurationByAnotherProcess@-11817$AVErrorDeviceNotConnected@-11814$AVErrorDeviceWasDisconnected@-11808$AVErrorDiskFull@-11807$AVErrorDisplayWasDisabled@-11845$AVErrorEncoderNotFound@-11834$AVErrorEncoderTemporarilyUnavailable@-11840$AVErrorExportFailed@-11820$AVErrorExternalPlaybackNotSupportedForAsset@-11870$AVErrorFailedToLoadMediaData@-11849$AVErrorFailedToParse@-11853$AVErrorFileAlreadyExists@-11823$AVErrorFileFailedToParse@-11829$AVErrorFileFormatNotRecognized@-11828$AVErrorFileTypeDoesNotSupportSampleReferences@-11854$AVErrorFormatUnsupported@-11864$AVErrorIncompatibleAsset@-11848$AVErrorIncorrectlyConfigured@-11875$AVErrorInvalidCompositionTrackSegmentDuration@-11825$AVErrorInvalidCompositionTrackSegmentSourceDuration@-11827$AVErrorInvalidCompositionTrackSegmentSourceStartTime@-11826$AVErrorInvalidOutputURLPathExtension@-11843$AVErrorInvalidSourceMedia@-11822$AVErrorInvalidVideoComposition@-11841$AVErrorMalformedDepth@-11865$AVErrorMaximumDurationReached@-11810$AVErrorMaximumFileSizeReached@-11811$AVErrorMaximumNumberOfSamplesForFileFormatReached@-11813$AVErrorMaximumStillImageCaptureRequestsExceeded@-11830$AVErrorMediaChanged@-11809$AVErrorMediaDiscontinuity@-11812$AVErrorNoCompatibleAlternatesForExternalDisplay@-11868$AVErrorNoDataCaptured@-11805$AVErrorNoImageAtTime@-11832$AVErrorNoLongerPlayable@-11867$AVErrorNoSourceTrack@-11869$AVErrorOperationCancelled@-11878$AVErrorOperationNotAllowed@-11862$AVErrorOperationNotSupportedForAsset@-11838$AVErrorOperationNotSupportedForPreset@-11871$AVErrorOutOfMemory@-11801$AVErrorRecordingAlreadyInProgress@-11859$AVErrorReferenceForbiddenByReferencePolicy@-11842$AVErrorRosettaNotInstalled@-11877$AVErrorScreenCaptureFailed@-11844$AVErrorSegmentStartedWithNonSyncSample@-11876$AVErrorServerIncorrectlyConfigured@-11850$AVErrorSessionConfigurationChanged@-11806$AVErrorSessionHardwareCostOverage@-11872$AVErrorSessionNotRunning@-11803$AVErrorTorchLevelUnavailable@-11846$AVErrorUndecodableMediaData@-11855$AVErrorUnknown@-11800$AVErrorUnsupportedDeviceActiveFormat@-11873$AVErrorUnsupportedOutputSettings@-11861$AVErrorVideoCompositorFailed@-11858$AVKeyValueStatusCancelled@4$AVKeyValueStatusFailed@3$AVKeyValueStatusLoaded@2$AVKeyValueStatusLoading@1$AVKeyValueStatusUnknown@0$AVMovieWritingAddMovieHeaderToDestination@0$AVMovieWritingTruncateDestinationToMovieHeaderOnly@1$AVMusicSequenceLoadSMF_ChannelsToTracks@1$AVMusicSequenceLoadSMF_PreserveTracks@0$AVMusicTrackLoopCountForever@-1$AVPlayerActionAtItemEndAdvance@0$AVPlayerActionAtItemEndNone@2$AVPlayerActionAtItemEndPause@1$AVPlayerAudiovisualBackgroundPlaybackPolicyAutomatic@1$AVPlayerAudiovisualBackgroundPlaybackPolicyContinuesIfPossible@3$AVPlayerAudiovisualBackgroundPlaybackPolicyPauses@2$AVPlayerHDRModeDolbyVision@4$AVPlayerHDRModeHDR10@2$AVPlayerHDRModeHLG@1$AVPlayerInterstitialEventRestrictionConstrainsSeekingForwardInPrimaryContent@1$AVPlayerInterstitialEventRestrictionDefaultPolicy@0$AVPlayerInterstitialEventRestrictionNone@0$AVPlayerInterstitialEventRestrictionRequiresPlaybackAtPreferredRateForAdvancement@4$AVPlayerItemStatusFailed@2$AVPlayerItemStatusReadyToPlay@1$AVPlayerItemStatusUnknown@0$AVPlayerLooperStatusCancelled@3$AVPlayerLooperStatusFailed@2$AVPlayerLooperStatusReady@1$AVPlayerLooperStatusUnknown@0$AVPlayerStatusFailed@2$AVPlayerStatusReadyToPlay@1$AVPlayerStatusUnknown@0$AVPlayerTimeControlStatusPaused@0$AVPlayerTimeControlStatusPlaying@2$AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate@1$AVQueuedSampleBufferRenderingStatusFailed@2$AVQueuedSampleBufferRenderingStatusRendering@1$AVQueuedSampleBufferRenderingStatusUnknown@0$AVSampleBufferRequestDirectionForward@1$AVSampleBufferRequestDirectionNone@0$AVSampleBufferRequestDirectionReverse@-1$AVSampleBufferRequestModeImmediate@0$AVSampleBufferRequestModeOpportunistic@2$AVSampleBufferRequestModeScheduled@1$AVSpeechBoundaryImmediate@0$AVSpeechBoundaryWord@1$AVSpeechSynthesisVoiceGenderFemale@2$AVSpeechSynthesisVoiceGenderMale@1$AVSpeechSynthesisVoiceGenderUnspecified@0$AVSpeechSynthesisVoiceQualityDefault@1$AVSpeechSynthesisVoiceQualityEnhanced@2$AVVariantPreferenceNone@0$AVVariantPreferenceScalabilityToLosslessAudio@1$AVVideoFieldModeBoth@0$AVVideoFieldModeBottomOnly@2$AVVideoFieldModeDeinterlace@3$AVVideoFieldModeTopOnly@1$""" -misc.update( - { - "AVPlayerAudiovisualBackgroundPlaybackPolicy": NewType( - "AVPlayerAudiovisualBackgroundPlaybackPolicy", int - ), - "AVSpeechSynthesisVoiceGender": NewType("AVSpeechSynthesisVoiceGender", int), - "AVAudioSessionIOType": NewType("AVAudioSessionIOType", int), - "AVPlayerItemStatus": NewType("AVPlayerItemStatus", int), - "AVAudioSessionRouteSharingPolicy": NewType( - "AVAudioSessionRouteSharingPolicy", int - ), - "AVAssetImageGeneratorResult": NewType("AVAssetImageGeneratorResult", int), - "AVAssetSegmentType": NewType("AVAssetSegmentType", int), - "AVSampleBufferRequestDirection": NewType( - "AVSampleBufferRequestDirection", int - ), - "AVCaptureVideoOrientation": NewType("AVCaptureVideoOrientation", int), - "AVAudioEngineManualRenderingStatus": NewType( - "AVAudioEngineManualRenderingStatus", int - ), - "AVAssetReferenceRestrictions": NewType("AVAssetReferenceRestrictions", int), - "AVCaptionTextCombine": NewType("AVCaptionTextCombine", int), - "AVQueuedSampleBufferRenderingStatus": NewType( - "AVQueuedSampleBufferRenderingStatus", int - ), - "AVAudioPlayerNodeBufferOptions": NewType( - "AVAudioPlayerNodeBufferOptions", int - ), - "AVCaptureVideoStabilizationMode": NewType( - "AVCaptureVideoStabilizationMode", int - ), - "AVDepthDataAccuracy": NewType("AVDepthDataAccuracy", int), - "AVAudio3DMixingSourceMode": NewType("AVAudio3DMixingSourceMode", int), - "AVCaptionRegionScroll": NewType("AVCaptionRegionScroll", int), - "AVAudioQuality": NewType("AVAudioQuality", int), - "AVError": NewType("AVError", int), - "AVAudioEnvironmentOutputType": NewType("AVAudioEnvironmentOutputType", int), - "AVSpeechBoundary": NewType("AVSpeechBoundary", int), - "AVSampleBufferRequestMode": NewType("AVSampleBufferRequestMode", int), - "AVCaptureFocusMode": NewType("AVCaptureFocusMode", int), - "AVAssetReaderStatus": NewType("AVAssetReaderStatus", int), - "AVAudioSessionPortOverride": NewType("AVAudioSessionPortOverride", int), - "AVCaptionFontWeight": NewType("AVCaptionFontWeight", int), - "AVKeyValueStatus": NewType("AVKeyValueStatus", int), - "AVAudio3DMixingPointSourceInHeadMode": NewType( - "AVAudio3DMixingPointSourceInHeadMode", int - ), - "AVAudioConverterOutputStatus": NewType("AVAudioConverterOutputStatus", int), - "AVCaptionRegionWritingMode": NewType("AVCaptionRegionWritingMode", int), - "AVCaptureSessionInterruptionReason": NewType( - "AVCaptureSessionInterruptionReason", int - ), - "AVCaptureTorchMode": NewType("AVCaptureTorchMode", int), - "AVAssetWriterStatus": NewType("AVAssetWriterStatus", int), - "AVDelegatingPlaybackCoordinatorRateChangeOptions": NewType( - "AVDelegatingPlaybackCoordinatorRateChangeOptions", int - ), - "AVContentAuthorizationStatus": NewType("AVContentAuthorizationStatus", int), - "AVAudioConverterInputStatus": NewType("AVAudioConverterInputStatus", int), - "AVCaptureDeviceTransportControlsPlaybackMode": NewType( - "AVCaptureDeviceTransportControlsPlaybackMode", int - ), - "AVAudioSessionRouteChangeReason": NewType( - "AVAudioSessionRouteChangeReason", int - ), - "AVPlayerLooperStatus": NewType("AVPlayerLooperStatus", int), - "AVAudioSessionInterruptionReason": NewType( - "AVAudioSessionInterruptionReason", int - ), - "AVSpeechSynthesisVoiceQuality": NewType("AVSpeechSynthesisVoiceQuality", int), - "AVMusicSequenceLoadOptions": NewType("AVMusicSequenceLoadOptions", int), - "AVCaptionRubyAlignment": NewType("AVCaptionRubyAlignment", int), - "AVCaptureSystemPressureFactors": NewType( - "AVCaptureSystemPressureFactors", int - ), - "AVMovieWritingOptions": NewType("AVMovieWritingOptions", int), - "AVCaptionRubyPosition": NewType("AVCaptionRubyPosition", int), - "AVAudioEngineManualRenderingMode": NewType( - "AVAudioEngineManualRenderingMode", int - ), - "AVPlayerHDRMode": NewType("AVPlayerHDRMode", int), - "AVAudioUnitEQFilterType": NewType("AVAudioUnitEQFilterType", int), - "AVAudioRoutingArbitrationCategory": NewType( - "AVAudioRoutingArbitrationCategory", int - ), - "AVCaptureSystemUserInterface": NewType("AVCaptureSystemUserInterface", int), - "AVAudioConverterPrimeMethod": NewType("AVAudioConverterPrimeMethod", int), - "AVAudioEnvironmentDistanceAttenuationModel": NewType( - "AVAudioEnvironmentDistanceAttenuationModel", int - ), - "AVAudioUnitReverbPreset": NewType("AVAudioUnitReverbPreset", int), - "AVCaptionUnitsType": NewType("AVCaptionUnitsType", int), - "AVCaptionDecoration": NewType("AVCaptionDecoration", int), - "AVCaptionTextAlignment": NewType("AVCaptionTextAlignment", int), - "AVAudioSessionPromptStyle": NewType("AVAudioSessionPromptStyle", int), - "AVAudio3DMixingRenderingAlgorithm": NewType( - "AVAudio3DMixingRenderingAlgorithm", int - ), - "AVCaptionAnimation": NewType("AVCaptionAnimation", int), - "AVCaptureFlashMode": NewType("AVCaptureFlashMode", int), - "AVCapturePrimaryConstituentDeviceSwitchingBehavior": NewType( - "AVCapturePrimaryConstituentDeviceSwitchingBehavior", int - ), - "AVAudioSessionInterruptionOptions": NewType( - "AVAudioSessionInterruptionOptions", int - ), - "AVCaptureExposureMode": NewType("AVCaptureExposureMode", int), - "AVAuthorizationStatus": NewType("AVAuthorizationStatus", int), - "AVAudioSessionCategoryOptions": NewType("AVAudioSessionCategoryOptions", int), - "AVAudioSpatializationFormats": NewType("AVAudioSpatializationFormats", int), - "AVAudioSessionRecordPermission": NewType( - "AVAudioSessionRecordPermission", int - ), - "AVDelegatingPlaybackCoordinatorSeekOptions": NewType( - "AVDelegatingPlaybackCoordinatorSeekOptions", int - ), - "AVCapturePhotoQualityPrioritization": NewType( - "AVCapturePhotoQualityPrioritization", int - ), - "AVCaptionRegionDisplayAlignment": NewType( - "AVCaptionRegionDisplayAlignment", int - ), - "AVCaptureCenterStageControlMode": NewType( - "AVCaptureCenterStageControlMode", int - ), - "AVAudioPlayerNodeCompletionCallbackType": NewType( - "AVAudioPlayerNodeCompletionCallbackType", int - ), - "AVCaptureLensStabilizationStatus": NewType( - "AVCaptureLensStabilizationStatus", int - ), - "AVAudioSessionSetActiveOptions": NewType( - "AVAudioSessionSetActiveOptions", int - ), - "AVPlayerTimeControlStatus": NewType("AVPlayerTimeControlStatus", int), - "AVVariantPreferences": NewType("AVVariantPreferences", int), - "AVVideoFieldMode": NewType("AVVideoFieldMode", int), - "AVPlayerInterstitialEventRestrictions": NewType( - "AVPlayerInterstitialEventRestrictions", int - ), - "AVCaptureWhiteBalanceMode": NewType("AVCaptureWhiteBalanceMode", int), - "AVCaptureAutoFocusSystem": NewType("AVCaptureAutoFocusSystem", int), - "AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions": NewType( - "AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions", - int, - ), - "AVAudioSessionActivationOptions": NewType( - "AVAudioSessionActivationOptions", int - ), - "AVCaptureMicrophoneMode": NewType("AVCaptureMicrophoneMode", int), - "AVMusicTrackLoopCount": NewType("AVMusicTrackLoopCount", int), - "AVCaptureOutputDataDroppedReason": NewType( - "AVCaptureOutputDataDroppedReason", int - ), - "AVCaptureAutoFocusRangeRestriction": NewType( - "AVCaptureAutoFocusRangeRestriction", int - ), - "AVCaptionFontStyle": NewType("AVCaptionFontStyle", int), - "AVAudioSessionSilenceSecondaryAudioHintType": NewType( - "AVAudioSessionSilenceSecondaryAudioHintType", int - ), - "AVCaptureDevicePosition": NewType("AVCaptureDevicePosition", int), - "AVAudioCommonFormat": NewType("AVAudioCommonFormat", int), - "AVCaptureColorSpace": NewType("AVCaptureColorSpace", int), - "AVContentKeyRequestStatus": NewType("AVContentKeyRequestStatus", int), - "AVPlayerActionAtItemEnd": NewType("AVPlayerActionAtItemEnd", int), - "AVAudioSessionInterruptionType": NewType( - "AVAudioSessionInterruptionType", int - ), - "AVPlayerStatus": NewType("AVPlayerStatus", int), - "AVAudioStereoOrientation": NewType("AVAudioStereoOrientation", int), - "AVAssetExportSessionStatus": NewType("AVAssetExportSessionStatus", int), - "AVCaptionConversionValidatorStatus": NewType( - "AVCaptionConversionValidatorStatus", int - ), - "AVAudioEngineManualRenderingError": NewType( - "AVAudioEngineManualRenderingError", int - ), - "AVDepthDataQuality": NewType("AVDepthDataQuality", int), - } -) -misc.update( - { - "AVContentKeyRequestRetryReason": NewType( - "AVContentKeyRequestRetryReason", str - ), - "AVPlayerWaitingReason": NewType("AVPlayerWaitingReason", str), - "AVPlayerItemLegibleOutputTextStylingResolution": NewType( - "AVPlayerItemLegibleOutputTextStylingResolution", str - ), - "AVAssetImageGeneratorApertureMode": NewType( - "AVAssetImageGeneratorApertureMode", str - ), - "AVTrackAssociationType": NewType("AVTrackAssociationType", str), - "AVContentKeySystem": NewType("AVContentKeySystem", str), - "AVOutputSettingsPreset": NewType("AVOutputSettingsPreset", str), - "AVCaptureSystemPressureLevel": NewType("AVCaptureSystemPressureLevel", str), - "AVCaptureDeviceType": NewType("AVCaptureDeviceType", str), - "AVFileTypeProfile": NewType("AVFileTypeProfile", str), - "AVCaptureSessionPreset": NewType("AVCaptureSessionPreset", str), - "AVVideoApertureMode": NewType("AVVideoApertureMode", str), - "AVAssetDownloadedAssetEvictionPriority": NewType( - "AVAssetDownloadedAssetEvictionPriority", str - ), - "AVCaptionSettingsKey": NewType("AVCaptionSettingsKey", str), - "AVSemanticSegmentationMatteType": NewType( - "AVSemanticSegmentationMatteType", str - ), - "AVContentKeySessionServerPlaybackContextOption": NewType( - "AVContentKeySessionServerPlaybackContextOption", str - ), - "AVPlayerRateDidChangeReason": NewType("AVPlayerRateDidChangeReason", str), - "AVCaptionConversionAdjustmentType": NewType( - "AVCaptionConversionAdjustmentType", str - ), - "AVAssetWriterInputMediaDataLocation": NewType( - "AVAssetWriterInputMediaDataLocation", str - ), - "AVLayerVideoGravity": NewType("AVLayerVideoGravity", str), - "AVCoordinatedPlaybackSuspensionReason": NewType( - "AVCoordinatedPlaybackSuspensionReason", str - ), - "AVVideoCodecType": NewType("AVVideoCodecType", str), - "AVCaptionConversionWarningType": NewType( - "AVCaptionConversionWarningType", str - ), - "AVAudioTimePitchAlgorithm": NewType("AVAudioTimePitchAlgorithm", str), - "AVVideoRange": NewType("AVVideoRange", str), - "AVMetadataFormat": NewType("AVMetadataFormat", str), - "AVMetadataObjectType": NewType("AVMetadataObjectType", str), - } -) -misc.update({}) -functions = { - "AVMakeBeatRange": (b"{_AVBeatRange=dd}dd", "", {"inline": True}), - "AVAudioMake3DPoint": (b"{AVAudio3DPoint=fff}fff",), - "AVMakeRectWithAspectRatioInsideRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGSize=dd}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "AVCaptionPointMake": ( - b"{AVCaptionPoint={AVCaptionDimension=dq}{AVCaptionDimension=dq}}{AVCaptionDimension=dq}{AVCaptionDimension=dq}", - ), - "AVAudioMake3DVector": (b"{AVAudio3DPoint=fff}fff",), - "AVAudioMake3DVectorOrientation": ( - b"{AVAudio3DVectorOrientation={AVAudio3DPoint=fff}{AVAudio3DPoint=fff}}{AVAudio3DPoint=fff}{AVAudio3DPoint=fff}", - ), - "AVCaptionDimensionMake": (b"{AVCaptionDimension=dq}dq",), - "AVSampleBufferAttachContentKey": ( - b"Z^{opaqueCMSampleBuffer=}@^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "AVAudioMake3DAngularOrientation": (b"{AVAudio3DAngularOrientation=fff}fff",), - "AVCaptionSizeMake": ( - b"{AVCaptionSize={AVCaptionDimension=dq}{AVCaptionDimension=dq}}{AVCaptionDimension=dq}{AVCaptionDimension=dq}", - ), -} -aliases = { - "AVAudioSessionRouteSharingPolicyLongForm": "AVAudioSessionRouteSharingPolicyLongFormAudio", - "AVAudio3DVector": "AVAudio3DPoint", - "AVLinearPCMIsNonInterleavedKey": "AVLinearPCMIsNonInterleaved", - "AVAssetReferenceRestrictionDefaultPolicy": "AVAssetReferenceRestrictionForbidLocalReferenceToRemote", - "AVPlayerInterstitialEventRestrictionDefaultPolicy": "AVPlayerInterstitialEventRestrictionNone", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"AVAsset", b"canContainFragments", {"retval": {"type": "Z"}}) - r(b"AVAsset", b"containsFragments", {"retval": {"type": "Z"}}) - r(b"AVAsset", b"copyCGImageAtTime:actualTime:error:", {"retval": {"type": "Z"}}) - r(b"AVAsset", b"duration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVAsset", - b"findCompatibleTrackForCompositionTrack:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"findUnusedTrackIDWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"i"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVAsset", b"hasProtectedContent", {"retval": {"type": b"Z"}}) - r(b"AVAsset", b"isCompatibleWithAirPlayVideo", {"retval": {"type": "Z"}}) - r(b"AVAsset", b"isCompatibleWithSavedPhotosAlbum", {"retval": {"type": b"Z"}}) - r(b"AVAsset", b"isComposable", {"retval": {"type": b"Z"}}) - r(b"AVAsset", b"isExportable", {"retval": {"type": b"Z"}}) - r(b"AVAsset", b"isPlayable", {"retval": {"type": b"Z"}}) - r(b"AVAsset", b"isReadable", {"retval": {"type": b"Z"}}) - r( - b"AVAsset", - b"loadChapterMetadataGroupsBestMatchingPreferredLanguages:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadChapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadMediaSelectionGroupForMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadMetadataForFormat:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAsset", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVAsset", b"minimumTimeOffsetFromLive", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVAsset", b"overallDurationHint", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVAsset", b"providesPreciseDurationAndTiming", {"retval": {"type": b"Z"}}) - r(b"AVAssetCache", b"isPlayableOffline", {"retval": {"type": b"Z"}}) - r( - b"AVAssetDownloadConfiguration", - b"optimizesAuxiliaryContentConfigurations", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetDownloadConfiguration", - b"setOptimizesAuxiliaryContentConfigurations:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetDownloadURLSession", - b"dataTaskWithRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"dataTaskWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"downloadTaskWithRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"downloadTaskWithResumeData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"downloadTaskWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"uploadTaskWithRequest:fromData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetDownloadURLSession", - b"uploadTaskWithRequest:fromFile:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetExportSession", - b"canPerformMultiplePassesOverSourceMediaData", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetExportSession", - b"determineCompatibilityOfExportPreset:withAsset:outputFileType:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVAssetExportSession", - b"determineCompatibleFileTypesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVAssetExportSession", - b"estimateMaximumDurationWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetExportSession", - b"estimateOutputFileLengthWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetExportSession", - b"exportAsynchronouslyWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"AVAssetExportSession", b"maxDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVAssetExportSession", - b"setCanPerformMultiplePassesOverSourceMediaData:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetExportSession", - b"setShouldOptimizeForNetworkUse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetExportSession", - b"setTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVAssetExportSession", - b"shouldOptimizeForNetworkUse", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetExportSession", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVAssetImageGenerator", - b"appliesPreferredTrackTransform", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetImageGenerator", - b"copyCGImageAtTime:actualTime:error:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"^{_CMTime=qiIq}"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"AVAssetImageGenerator", - b"generateCGImagesAsynchronouslyForTimes:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - 2: {"type": b"^{__CGImage}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"AVAssetImageGenerator", - b"requestedTimeToleranceAfter", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetImageGenerator", - b"requestedTimeToleranceBefore", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetImageGenerator", - b"setAppliesPreferredTrackTransform:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetImageGenerator", - b"setRequestedTimeToleranceAfter:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetImageGenerator", - b"setRequestedTimeToleranceBefore:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetReader", - b"assetReaderWithAsset:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVAssetReader", b"canAddOutput:", {"retval": {"type": b"Z"}}) - r( - b"AVAssetReader", - b"initWithAsset:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAssetReader", - b"setTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r(b"AVAssetReader", b"startReading", {"retval": {"type": b"Z"}}) - r( - b"AVAssetReader", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r(b"AVAssetReaderOutput", b"alwaysCopiesSampleData", {"retval": {"type": b"Z"}}) - r( - b"AVAssetReaderOutput", - b"setAlwaysCopiesSampleData:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetReaderOutput", - b"setSupportsRandomAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVAssetReaderOutput", b"supportsRandomAccess", {"retval": {"type": b"Z"}}) - r( - b"AVAssetResourceLoader", - b"preloadsEligibleContentKeys", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetResourceLoader", - b"setPreloadsEligibleContentKeys:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetResourceLoadingContentInformationRequest", - b"isByteRangeAccessSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetResourceLoadingContentInformationRequest", - b"setByteRangeAccessSupported:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetResourceLoadingDataRequest", - b"requestsAllDataToEndOfResource", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAssetResourceLoadingRequest", b"isCancelled", {"retval": {"type": b"Z"}}) - r(b"AVAssetResourceLoadingRequest", b"isFinished", {"retval": {"type": b"Z"}}) - r( - b"AVAssetResourceLoadingRequest", - b"persistentContentKeyFromKeyVendorResponse:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAssetResourceLoadingRequest", - b"streamingContentKeyRequestDataForApp:contentIdentifier:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"AVAssetResourceLoadingRequestor", - b"providesExpiredSessionReports", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetSegmentReportSampleInformation", - b"isSyncSample", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetSegmentReportSampleInformation", - b"presentationTimeStamp", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetSegmentTrackReport", - b"duration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetSegmentTrackReport", - b"earliestPresentationTimeStamp", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVAssetTrack", b"canProvideSampleCursors", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"hasAudioSampleDependencies", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"hasMediaCharacteristic:", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"isDecodable", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"isPlayable", {"retval": {"type": b"Z"}}) - r(b"AVAssetTrack", b"isSelfContained", {"retval": {"type": b"Z"}}) - r( - b"AVAssetTrack", - b"loadAssociatedTracksOfType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetTrack", - b"loadMetadataForFormat:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAssetTrack", - b"loadSamplePresentationTimeForTrackTime:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"AVAssetTrack", - b"loadSegmentForTrackTime:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"AVAssetTrack", - b"makeSampleCursorWithPresentationTimeStamp:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVAssetTrack", b"minFrameDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVAssetTrack", b"requiresFrameReordering", {"retval": {"type": b"Z"}}) - r( - b"AVAssetTrack", - b"samplePresentationTimeForTrackTime:", - { - "retval": {"type": b"{_CMTime=qiIq}"}, - "arguments": {2: {"type": b"{_CMTime=qiIq}"}}, - }, - ) - r( - b"AVAssetTrack", - b"segmentForTrackTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetTrack", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r(b"AVAssetTrackSegment", b"isEmpty", {"retval": {"type": b"Z"}}) - r( - b"AVAssetTrackSegment", - b"timeMapping", - { - "retval": { - "type": b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}" - } - }, - ) - r( - b"AVAssetWriter", - b"assetWriterWithURL:fileType:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVAssetWriter", b"canAddInput:", {"retval": {"type": b"Z"}}) - r(b"AVAssetWriter", b"canAddInputGroup:", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriter", - b"canApplyOutputSettings:forMediaType:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetWriter", - b"endSessionAtSourceTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVAssetWriter", b"finishWriting", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriter", - b"finishWritingWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAssetWriter", - b"initWithURL:fileType:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAssetWriter", - b"initialSegmentStartTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetWriter", - b"movieFragmentInterval", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVAssetWriter", b"overallDurationHint", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVAssetWriter", - b"preferredOutputSegmentInterval", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVAssetWriter", b"producesCombinableFragments", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriter", - b"setInitialSegmentStartTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetWriter", - b"setMovieFragmentInterval:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetWriter", - b"setOverallDurationHint:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetWriter", - b"setPreferredOutputSegmentInterval:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetWriter", - b"setProducesCombinableFragments:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetWriter", - b"setShouldOptimizeForNetworkUse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVAssetWriter", b"shouldOptimizeForNetworkUse", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriter", - b"startSessionAtSourceTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVAssetWriter", b"startWriting", {"retval": {"type": b"Z"}}) - r(b"AVAssetWriterInput", b"appendSampleBuffer:", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriterInput", - b"canAddTrackAssociationWithTrackOfInput:type:", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAssetWriterInput", b"canPerformMultiplePasses", {"retval": {"type": b"Z"}}) - r(b"AVAssetWriterInput", b"expectsMediaDataInRealTime", {"retval": {"type": b"Z"}}) - r(b"AVAssetWriterInput", b"isReadyForMoreMediaData", {"retval": {"type": b"Z"}}) - r(b"AVAssetWriterInput", b"marksOutputTrackAsEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVAssetWriterInput", - b"performsMultiPassEncodingIfSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetWriterInput", - b"preferredMediaChunkDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAssetWriterInput", - b"requestMediaDataWhenReadyOnQueue:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAssetWriterInput", - b"respondToEachPassDescriptionOnQueue:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAssetWriterInput", - b"setExpectsMediaDataInRealTime:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetWriterInput", - b"setMarksOutputTrackAsEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetWriterInput", - b"setPerformsMultiPassEncodingIfSupported:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAssetWriterInput", - b"setPreferredMediaChunkDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAssetWriterInputCaptionAdaptor", - b"appendCaption:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetWriterInputCaptionAdaptor", - b"appendCaptionGroup:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetWriterInputMetadataAdaptor", - b"appendTimedMetadataGroup:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAssetWriterInputPixelBufferAdaptor", - b"appendPixelBuffer:withPresentationTime:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVAsynchronousCIImageFilteringRequest", - b"compositionTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVAsynchronousVideoCompositionRequest", - b"compositionTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVAudioBuffer", b"data", {"retval": {"c_array_of_variable_length": True}}) - r( - b"AVAudioBuffer", - b"packetDescriptions", - {"retval": {"c_array_of_variable_length": True}}, - ) - r(b"AVAudioChannelLayout", b"isEqual:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioConverter", - b"convertToBuffer:error:withInputFromBlock:", - { - "arguments": { - 3: {"type_modifier": b"o"}, - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"I"}, - 2: {"type": sel32or64(b"o^i", b"o^q")}, - }, - } - }, - } - }, - ) - r( - b"AVAudioConverter", - b"convertToBuffer:fromBuffer:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioConverter", b"dither", {"retval": {"type": b"Z"}}) - r(b"AVAudioConverter", b"downmix", {"retval": {"type": b"Z"}}) - r(b"AVAudioConverter", b"setDither:", {"arguments": {2: {"type": b"Z"}}}) - r(b"AVAudioConverter", b"setDownmix:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVAudioEngine", - b"connectMIDI:to:format:block:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"C"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": b"n^v", "c_array_length_in_arg": 3}, - }, - } - } - } - }, - ) - r( - b"AVAudioEngine", - b"connectMIDI:toNodes:format:block:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"C"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": b"n^v", "c_array_length_in_arg": 3}, - }, - } - } - } - }, - ) - r( - b"AVAudioEngine", - b"enableManualRenderingMode:format:maximumFrameCount:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioEngine", b"isAutoShutdownEnabled", {"retval": {"type": b"Z"}}) - r(b"AVAudioEngine", b"isInManualRenderingMode", {"retval": {"type": b"Z"}}) - r(b"AVAudioEngine", b"isRunning", {"retval": {"type": b"Z"}}) - r( - b"AVAudioEngine", - b"manualRenderingBlock", - { - "retval": { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"I"}, - 2: {"type": b"o^{AudioBufferList=L[1{AudioBuffer=LL^v}]}"}, - 3: {"type": b"o^i"}, - }, - } - } - }, - ) - r( - b"AVAudioEngine", - b"renderOffline:toBuffer:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioEngine", b"setAutoShutdownEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVAudioEngine", - b"startAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioEnvironmentReverbParameters", b"enable", {"retval": {"type": b"Z"}}) - r( - b"AVAudioEnvironmentReverbParameters", - b"setEnable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioFile", - b"initForReading:commonFormat:interleaved:error:", - {"arguments": {4: {"type": b"Z"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"initForReading:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"initForWriting:settings:commonFormat:interleaved:error:", - {"arguments": {5: {"type": b"Z"}, 6: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"initForWriting:settings:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"readIntoBuffer:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"readIntoBuffer:frameCount:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFile", - b"writeFromBuffer:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioFormat", - b"initWithCommonFormat:sampleRate:channels:interleaved:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"AVAudioFormat", - b"initWithCommonFormat:sampleRate:interleaved:channelLayout:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"AVAudioFormat", - b"initWithStreamDescription:", - {"arguments": {2: {"type_modifier": b"n"}}}, - ) - r( - b"AVAudioFormat", - b"initWithStreamDescription:channelLayout:", - {"arguments": {2: {"type_modifier": b"n"}}}, - ) - r(b"AVAudioFormat", b"isEqual:", {"retval": {"type": b"Z"}}) - r(b"AVAudioFormat", b"isInterleaved", {"retval": {"type": b"Z"}}) - r(b"AVAudioFormat", b"isStandard", {"retval": {"type": b"Z"}}) - r( - b"AVAudioFormat", - b"streamDescription", - {"retval": {"c_array_of_fixed_length": 1}}, - ) - r(b"AVAudioIONode", b"isVoiceProcessingEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVAudioIONode", - b"setVoiceProcessingEnabled:error:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"Z"}, 3: {"type_modifier": b"o"}}, - }, - ) - r(b"AVAudioInputNode", b"isVoiceProcessingAGCEnabled", {"retval": {"type": b"Z"}}) - r(b"AVAudioInputNode", b"isVoiceProcessingBypassed", {"retval": {"type": b"Z"}}) - r(b"AVAudioInputNode", b"isVoiceProcessingInputMuted", {"retval": {"type": b"Z"}}) - r( - b"AVAudioInputNode", - b"setManualRenderingInputPCMFormat:inputBlock:", - { - "retval": {"type": b"Z"}, - "arguments": { - 3: { - "callable": { - "retval": { - "type": b"^{AudioBufferList=L[1{AudioBuffer=LL^v}]}" - }, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"I"}}, - } - } - }, - }, - ) - r( - b"AVAudioInputNode", - b"setVoiceProcessingAGCEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioInputNode", - b"setVoiceProcessingBypassed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioInputNode", - b"setVoiceProcessingInputMuted:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioMixInputParameters", - b"getVolumeRampForTime:startVolume:endVolume:timeRange:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: { - "type": b"^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"AVAudioNode", - b"installTapOnBus:bufferSize:format:block:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAudioPCMBuffer", - b"initWithPCMFormat:bufferListNoCopy:deallocator:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - }, - } - } - } - }, - ) - r(b"AVAudioPlayer", b"enableRate", {"retval": {"type": b"Z"}}) - r( - b"AVAudioPlayer", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioPlayer", - b"initWithContentsOfURL:fileTypeHint:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioPlayer", - b"initWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioPlayer", - b"initWithData:fileTypeHint:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioPlayer", b"isMeteringEnabled", {"retval": {"type": b"Z"}}) - r(b"AVAudioPlayer", b"isPlaying", {"retval": {"type": b"Z"}}) - r(b"AVAudioPlayer", b"play", {"retval": {"type": b"Z"}}) - r(b"AVAudioPlayer", b"playAtTime:", {"retval": {"type": b"Z"}}) - r(b"AVAudioPlayer", b"prepareToPlay", {"retval": {"type": b"Z"}}) - r(b"AVAudioPlayer", b"setEnableRate:", {"arguments": {2: {"type": b"Z"}}}) - r(b"AVAudioPlayer", b"setMeteringEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"AVAudioPlayerNode", b"isPlaying", {"retval": {"type": b"Z"}}) - r( - b"AVAudioPlayerNode", - b"loadFromURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioPlayerNode", - b"scheduleBuffer:atTime:options:completionCallbackType:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleBuffer:atTime:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleBuffer:completionCallbackType:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleBuffer:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleFile:atTime:completionCallbackType:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleFile:atTime:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleSegment:startingFrame:frameCount:atTime:completionCallbackType:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"AVAudioPlayerNode", - b"scheduleSegment:startingFrame:frameCount:atTime:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"AVAudioRecorder", b"deleteRecording", {"retval": {"type": b"Z"}}) - r( - b"AVAudioRecorder", - b"initWithURL:format:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioRecorder", - b"initWithURL:settings:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioRecorder", b"isMeteringEnabled", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"isRecording", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"prepareToRecord", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"record", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"recordAtTime:", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"recordAtTime:forDuration:", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"recordForDuration:", {"retval": {"type": b"Z"}}) - r(b"AVAudioRecorder", b"setMeteringEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVAudioRoutingArbiter", - b"beginArbitrationWithCategory:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAudioSequencer", - b"beatsForHostTime:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioSequencer", - b"dataWithSMPTEResolution:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioSequencer", - b"hostTimeForBeats:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioSequencer", b"isPlaying", {"retval": {"type": "Z"}}) - r( - b"AVAudioSequencer", - b"loadFromData:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioSequencer", - b"loadFromURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioSequencer", - b"startAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioSequencer", - b"writeToURL:SMPTEResolution:replaceExisting:error:", - { - "retval": {"type": "Z"}, - "arguments": {4: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"AVAudioSession", - b"activateWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAudioSession", - b"allowHapticsAndSystemSoundsDuringRecording", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAudioSession", b"inputIsAvailable", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"isInputAvailable", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"isInputGainSettable", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"isOtherAudioPlaying", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"overrideOutputAudioPort:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSession", - b"requestRecordPermission:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"AVAudioSession", - b"secondaryAudioShouldBeSilencedHint", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSession", - b"setActive:error:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioSession", - b"setActive:withFlags:error:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioSession", - b"setActive:withOptions:error:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVAudioSession", - b"setAggregatedIOPreference:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSession", - b"setAllowHapticsAndSystemSoundsDuringRecording:error:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVAudioSession", b"setCategory:error:", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"setCategory:mode:options:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSession", - b"setCategory:mode:routeSharingPolicy:options:error:", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAudioSession", b"setCategory:withOptions:error:", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"setInputDataSource:error:", {"retval": {"type": b"Z"}}) - r(b"AVAudioSession", b"setInputGain:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSession", - b"setMode:error:", - {"retval": {"type": b"Z"}, "arguments": {1: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioSession", b"setOutputDataSource:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSession", - b"setPreferredHardwareSampleRate:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSession", - b"setPreferredIOBufferDuration:error:", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAudioSession", b"setPreferredInput:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSession", - b"setPreferredInputNumberOfChannels:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSession", - b"setPreferredInputOrientation:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSession", - b"setPreferredOutputNumberOfChannels:error:", - {"retval": {"type": b"Z"}}, - ) - r(b"AVAudioSession", b"setPreferredSampleRate:error:", {"retval": {"type": b"Z"}}) - r( - b"AVAudioSessionDataSourceDescription", - b"setPreferredPolarPattern:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSessionPortDescription", - b"hasHardwareVoiceCallProcessing", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSessionPortDescription", - b"setPreferredDataSource:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioSinkNode", - b"initWithReceiverBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}" - }, - 2: {"type": b"I"}, - 3: {"type": b"n^^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - }, - } - } - } - }, - ) - r( - b"AVAudioSourceNode", - b"initWithFormat:renderBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVAudioSourceNode", - b"initWithRenderBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"o^Z"}, - 2: { - "type": b"n^^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}" - }, - 3: {"type": b"I"}, - 4: {"type": b"o^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - }, - } - } - } - }, - ) - r( - b"AVAudioTime", - b"initWithAudioTimeStamp:sampleRate:", - {"arguments": {2: {"type_modifier": b"n"}}}, - ) - r(b"AVAudioTime", b"isHostTimeValid", {"retval": {"type": b"Z"}}) - r(b"AVAudioTime", b"isSampleTimeValid", {"retval": {"type": b"Z"}}) - r( - b"AVAudioTime", - b"timeWithAudioTimeStamp:sampleRate:", - {"arguments": {2: {"type_modifier": b"n"}}}, - ) - r( - b"AVAudioUnit", - b"instantiateWithComponentDescription:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVAudioUnit", - b"loadAudioUnitPresetAtURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioUnitComponent", b"hasCustomView", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitComponent", b"hasMIDIInput", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitComponent", b"hasMIDIOutput", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitComponent", b"isSandboxSafe", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitComponent", b"passesAUVal", {"retval": {"type": b"Z"}}) - r( - b"AVAudioUnitComponent", - b"supportsNumberInputChannels:outputChannels:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVAudioUnitComponentManager", - b"componentsPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"AVAudioUnitEQFilterParameters", b"bypass", {"retval": {"type": b"Z"}}) - r( - b"AVAudioUnitEQFilterParameters", - b"setBypass:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVAudioUnitEffect", b"bypass", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitEffect", b"setBypass:", {"arguments": {2: {"type": b"Z"}}}) - r(b"AVAudioUnitGenerator", b"bypass", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitGenerator", b"setBypass:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVAudioUnitSampler", - b"loadAudioFilesAtURLs:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioUnitSampler", - b"loadInstrumentAtURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVAudioUnitSampler", - b"loadSoundBankInstrumentAtURL:program:bankMSB:bankLSB:error:", - {"retval": {"type": b"Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"AVAudioUnitTimeEffect", b"bypass", {"retval": {"type": b"Z"}}) - r(b"AVAudioUnitTimeEffect", b"setBypass:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCameraCalibrationData", - b"extrinsicMatrix", - {"retval": {"type": b"{_matrix_float4x3=?}"}}, - ) - r( - b"AVCameraCalibrationData", - b"intrinsicMatrix", - {"retval": {"type": b"{_matrix_float3x3=?}"}}, - ) - r( - b"AVCaption", - b"backgroundColorAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"decorationAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"fontStyleAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"fontWeightAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"initWithText:timeRange:", - {"arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r(b"AVCaption", b"rubyAtIndex:range:", {"arguments": {3: {"type_modifier": b"o"}}}) - r( - b"AVCaption", - b"textColorAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"textCombineAtIndex:range:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaption", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVCaptionConversionTimeRangeAdjustment", - b"durationOffset", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptionConversionTimeRangeAdjustment", - b"startTimeOffset", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptionConversionValidator", - b"captionConversionValidatorWithCaptions:timeRange:conversionSettings:", - {"arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCaptionConversionValidator", - b"initWithCaptions:timeRange:conversionSettings:", - {"arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCaptionConversionValidator", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVCaptionConversionValidator", - b"validateCaptionConversionWithWarningHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"AVCaptionFormatConformer", - b"conformedCaptionForCaption:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaptionFormatConformer", - b"conformsCaptionsToTimeRange", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptionFormatConformer", - b"setConformsCaptionsToTimeRange:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptionGroup", - b"initWithCaptions:timeRange:", - {"arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCaptionGroup", - b"initWithTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCaptionGroup", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVCaptionGrouper", - b"flushAddedCaptionsIntoGroupsUpToTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptionRenderer", - b"captionSceneChangesInRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCaptionRenderer", - b"renderInContext:forTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVCaptionRendererScene", b"hasActiveCaptions", {"retval": {"type": b"Z"}}) - r(b"AVCaptionRendererScene", b"needsPeriodicRefresh", {"retval": {"type": b"Z"}}) - r( - b"AVCaptionRendererScene", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r(b"AVCaptureAudioChannel", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureAudioChannel", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCaptureConnection", - b"automaticallyAdjustsVideoMirroring", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"enablesVideoStabilizationWhenAvailable", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureConnection", b"isActive", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureConnection", - b"isCameraIntrinsicMatrixDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"isCameraIntrinsicMatrixDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureConnection", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureConnection", b"isVideoFieldModeSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureConnection", - b"isVideoMaxFrameDurationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"isVideoMinFrameDurationSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureConnection", b"isVideoMirrored", {"retval": {"type": b"Z"}}) - r(b"AVCaptureConnection", b"isVideoMirroringSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureConnection", - b"isVideoOrientationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"isVideoStabilizationEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"isVideoStabilizationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureConnection", - b"setAutomaticallyAdjustsVideoMirroring:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureConnection", - b"setCameraIntrinsicMatrixDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVCaptureConnection", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCaptureConnection", - b"setEnablesVideoStabilizationWhenAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureConnection", - b"setVideoMaxFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureConnection", - b"setVideoMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVCaptureConnection", b"setVideoMirrored:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCaptureConnection", - b"videoMaxFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureConnection", - b"videoMinFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDepthDataOutput", - b"alwaysDiscardsLateDepthData", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDepthDataOutput", b"isFilteringEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDepthDataOutput", - b"setAlwaysDiscardsLateDepthData:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDepthDataOutput", - b"setFilteringEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"activeDepthDataMinFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDevice", - b"activeMaxExposureDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDevice", - b"activeVideoMaxFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDevice", - b"activeVideoMinFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"isCenterStageSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"isCenterStageActive", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"isCenterStageEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"automaticallyAdjustsVideoHDREnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"automaticallyEnablesLowLightBoostWhenAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"chromaticityValuesForDeviceWhiteBalanceGains:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceChromaticityValues=ff}"}, - "arguments": {2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - }, - ) - r( - b"AVCaptureDevice", - b"deviceWhiteBalanceGains", - {"retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - ) - r( - b"AVCaptureDevice", - b"deviceWhiteBalanceGainsForChromaticityValues:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceChromaticityValues=ff}"} - }, - }, - ) - r( - b"AVCaptureDevice", - b"deviceWhiteBalanceGainsForTemperatureAndTintValues:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceTemperatureAndTintValues=ff}"} - }, - }, - ) - r(b"AVCaptureDevice", b"exposureDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVCaptureDevice", - b"grayWorldDeviceWhiteBalanceGains", - {"retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - ) - r(b"AVCaptureDevice", b"hasFlash", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"hasMediaType:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"hasTorch", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isAdjustingExposure", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isAdjustingFocus", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isAdjustingWhiteBalance", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"isAutoFocusRangeRestrictionSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDevice", b"isConnected", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isExposureModeSupported:", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"isExposurePointOfInterestSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDevice", b"isFlashActive", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isFlashAvailable", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isFlashModeSupported:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isFocusModeSupported:", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"isFocusPointOfInterestSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"isGeometricDistortionCorrectionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"isGeometricDistortionCorrectionSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDevice", b"isGlobalToneMappingEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isInUseByAnotherApplication", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"isLockingFocusWithCustomLensPositionSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"isLockingWhiteBalanceWithCustomDeviceGainsSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDevice", b"isLowLightBoostEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isLowLightBoostSupported", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isPortraitEffectActive", {"retval": {"type": "Z"}}) - r(b"AVCaptureDevice", b"isPortraitEffectEnabled", {"retval": {"type": "Z"}}) - r(b"AVCaptureDevice", b"isRampingVideoZoom", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isSmoothAutoFocusEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isSmoothAutoFocusSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"isSubjectAreaChangeMonitoringEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDevice", b"isSuspended", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isTorchActive", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isTorchAvailable", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isTorchModeSupported:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isVideoHDREnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isVirtualDevice", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDevice", b"isWhiteBalanceModeSupported:", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDevice", - b"lockForConfiguration:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaptureDevice", - b"requestAccessForMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"AVCaptureDevice", - b"setActiveDepthDataMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureDevice", - b"setActiveMaxExposureDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureDevice", - b"setActiveVideoMaxFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureDevice", - b"setActiveVideoMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureDevice", - b"setCenterStageEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setAutomaticallyAdjustsVideoHDREnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setAutomaticallyEnablesLowLightBoostWhenAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setExposureModeCustomWithDuration:ISO:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r( - b"AVCaptureDevice", - b"setExposureTargetBias:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - } - } - }, - ) - r( - b"AVCaptureDevice", - b"setFocusModeLockedWithLensPosition:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - } - } - }, - ) - r( - b"AVCaptureDevice", - b"setGeometricDistortionCorrectionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setGlobalToneMappingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setSmoothAutoFocusEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setSubjectAreaChangeMonitoringEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDevice", - b"setTorchModeOnWithLevel:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVCaptureDevice", b"setVideoHDREnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCaptureDevice", - b"setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:", - { - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r( - b"AVCaptureDevice", - b"supportsAVCaptureSessionPreset:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDevice", - b"temperatureAndTintValuesForDeviceWhiteBalanceGains:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceTemperatureAndTintValues=ff}"}, - "arguments": {2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - }, - ) - r(b"AVCaptureDevice", b"transportControlsSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDeviceFormat", - b"highResolutionStillImageDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"isGlobalToneMappingSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"isHighPhotoQualitySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"isHighestPhotoQualitySupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDeviceFormat", b"isMultiCamSupported", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDeviceFormat", b"isPortraitEffectSupported", {"retval": {"type": "Z"}}) - r( - b"AVCaptureDeviceFormat", - b"isPortraitEffectsMatteStillImageDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureDeviceFormat", b"isVideoBinned", {"retval": {"type": b"Z"}}) - r(b"AVCaptureDeviceFormat", b"isVideoHDRSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureDeviceFormat", - b"isVideoStabilizationModeSupported:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"isVideoStabilizationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"maxExposureDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDeviceFormat", - b"minExposureDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureDeviceInput", - b"deviceInputWithDevice:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaptureDeviceInput", - b"initWithDevice:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVCaptureDeviceInput", - b"setUnifiedAutoExposureDefaultsEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureDeviceInput", - b"setVideoMinFrameDurationOverride:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureDeviceInput", - b"unifiedAutoExposureDefaultsEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureDeviceInput", - b"videoMinFrameDurationOverride", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVCaptureFileOutput", b"isRecording", {"retval": {"type": b"Z"}}) - r(b"AVCaptureFileOutput", b"isRecordingPaused", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureFileOutput", - b"maxRecordedDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureFileOutput", - b"recordedDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureFileOutput", - b"setMaxRecordedDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVCaptureInputPort", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCaptureInputPort", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVCaptureManualExposureBracketedStillImageSettings", - b"exposureDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureManualExposureBracketedStillImageSettings", - b"manualExposureSettingsWithExposureDuration:ISO:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureMetadataInput", - b"appendTimedMetadataGroup:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"isPrimaryConstituentDeviceSwitchingBehaviorForRecordingEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"movieFragmentInterval", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"recordsVideoOrientationAndMirroringChangesAsMetadataTrackForConnection:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"setMovieFragmentInterval:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"setPrimaryConstituentDeviceSwitchingBehaviorForRecordingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureMovieFileOutput", - b"setRecordsVideoOrientationAndMirroringChanges:asMetadataTrackForConnection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVCaptureMultiCamSession", b"isMultiCamSupported", {"retval": {"type": b"Z"}}) - r(b"AVCapturePhoto", b"isRawPhoto", {"retval": {"type": b"Z"}}) - r(b"AVCapturePhoto", b"timestamp", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVCapturePhotoBracketSettings", - b"isLensStabilizationEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoBracketSettings", - b"setLensStabilizationEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVCapturePhotoOutput", b"isAppleProRAWEnabled", {"retval": {"type": b"Z"}}) - r(b"AVCapturePhotoOutput", b"isAppleProRAWPixelFormat:", {"retval": {"type": b"Z"}}) - r(b"AVCapturePhotoOutput", b"isAppleProRAWSupported", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoOutput", - b"isAutoRedEyeReductionSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCapturePhotoOutput", b"isBayerRAWPixelFormat:", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoOutput", - b"isCameraCalibrationDataDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isContentAwareDistortionCorrectionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isContentAwareDistortionCorrectionSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isDepthDataDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isDepthDataDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isDualCameraDualPhotoDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isDualCameraDualPhotoDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isDualCameraFusionSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCapturePhotoOutput", b"isFlashScene", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoOutput", - b"isHighResolutionCaptureEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isLensStabilizationDuringBracketedCaptureSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isLivePhotoAutoTrimmingEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCapturePhotoOutput", b"isLivePhotoCaptureEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoOutput", - b"isLivePhotoCaptureSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isLivePhotoCaptureSuspended", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isPortraitEffectsMatteDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isPortraitEffectsMatteDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isStillImageStabilizationScene", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isStillImageStabilizationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isVirtualDeviceConstituentPhotoDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isVirtualDeviceConstituentPhotoDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"isVirtualDeviceFusionSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoOutput", - b"setAppleProRAWEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setContentAwareDistortionCorrectionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setDepthDataDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setDualCameraDualPhotoDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setHighResolutionCaptureEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setLivePhotoAutoTrimmingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setLivePhotoCaptureEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setLivePhotoCaptureSuspended:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setPortraitEffectsMatteDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoOutput", - b"setPreparedPhotoSettingsArray:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVCapturePhotoOutput", - b"setVirtualDeviceConstituentPhotoDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVCapturePhotoSettings", b"embedsDepthDataInPhoto", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoSettings", - b"embedsPortraitEffectsMatteInPhoto", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"embedsSemanticSegmentationMattesInPhoto", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isAutoContentAwareDistortionCorrectionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isAutoDualCameraFusionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isAutoRedEyeReductionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isAutoStillImageStabilizationEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isAutoVirtualDeviceFusionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isCameraCalibrationDataDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isDepthDataDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCapturePhotoSettings", b"isDepthDataFiltered", {"retval": {"type": b"Z"}}) - r( - b"AVCapturePhotoSettings", - b"isDualCameraDualPhotoDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isHighResolutionPhotoEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"isPortraitEffectsMatteDeliveryEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCapturePhotoSettings", - b"setAutoContentAwareDistortionCorrectionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setAutoDualCameraFusionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setAutoRedEyeReductionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setAutoStillImageStabilizationEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setAutoVirtualDeviceFusionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setCameraCalibrationDataDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setDepthDataDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setDepthDataFiltered:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setDualCameraDualPhotoDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setEmbedsDepthDataInPhoto:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setEmbedsPortraitEffectsMatteInPhoto:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setEmbedsSemanticSegmentationMattesInPhoto:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setHighResolutionPhotoEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCapturePhotoSettings", - b"setPortraitEffectsMatteDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"dimensionsForSemanticSegmentationMatteOfType:", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"embeddedThumbnailDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"isContentAwareDistortionCorrectionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"isDualCameraFusionEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureResolvedPhotoSettings", b"isFlashEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureResolvedPhotoSettings", - b"isRedEyeReductionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"isStillImageStabilizationEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"isVirtualDeviceFusionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"livePhotoMovieDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"photoDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"photoProcessingTimeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"portraitEffectsMatteDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"previewDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"rawEmbeddedThumbnailDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r( - b"AVCaptureResolvedPhotoSettings", - b"rawPhotoDimensions", - {"retval": {"type": b"{_CMVideoDimensions=ii}"}}, - ) - r(b"AVCaptureScreenInput", b"capturesCursor", {"retval": {"type": b"Z"}}) - r(b"AVCaptureScreenInput", b"capturesMouseClicks", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureScreenInput", - b"minFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVCaptureScreenInput", b"removesDuplicateFrames", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureScreenInput", - b"setCapturesCursor:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureScreenInput", - b"setCapturesMouseClicks:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureScreenInput", - b"setMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureScreenInput", - b"setRemovesDuplicateFrames:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureSession", - b"automaticallyConfiguresApplicationAudioSession", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureSession", - b"automaticallyConfiguresCaptureDeviceForWideColor", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureSession", b"canAddConnection:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureSession", b"canAddInput:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureSession", b"canAddOutput:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureSession", b"canSetSessionPreset:", {"retval": {"type": b"Z"}}) - r(b"AVCaptureSession", b"isInterrupted", {"retval": {"type": b"Z"}}) - r(b"AVCaptureSession", b"isRunning", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureSession", - b"setAutomaticallyConfiguresApplicationAudioSession:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureSession", - b"setAutomaticallyConfiguresCaptureDeviceForWideColor:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureSession", - b"setUsesApplicationAudioSession:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVCaptureSession", b"usesApplicationAudioSession", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureStillImageOutput", - b"automaticallyEnablesStillImageStabilizationWhenAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"captureStillImageAsynchronouslyFromConnection:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVCaptureStillImageOutput", - b"captureStillImageBracketAsynchronouslyFromConnection:withSettingsArray:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVCaptureStillImageOutput", - b"isCapturingStillImage", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"isHighResolutionStillImageOutputEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"isLensStabilizationDuringBracketedCaptureEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"isLensStabilizationDuringBracketedCaptureSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"isStillImageStabilizationActive", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"isStillImageStabilizationSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureStillImageOutput", - b"prepareToCaptureStillImageBracketFromConnection:withSettingsArray:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVCaptureStillImageOutput", - b"setAutomaticallyEnablesStillImageStabilizationWhenAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureStillImageOutput", - b"setHighResolutionStillImageOutputEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureStillImageOutput", - b"setLensStabilizationDuringBracketedCaptureEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureSynchronizedData", - b"timestamp", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureSynchronizedDepthData", - b"depthDataWasDropped", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureSynchronizedSampleBufferData", - b"sampleBufferWasDropped", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"alwaysDiscardsLateVideoFrames", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"automaticallyConfiguresOutputBufferDimensions", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"deliversPreviewSizedOutputBuffers", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"minFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"setAlwaysDiscardsLateVideoFrames:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"setAutomaticallyConfiguresOutputBufferDimensions:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"setDeliversPreviewSizedOutputBuffers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureVideoDataOutput", - b"setMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCaptureVideoPreviewLayer", - b"automaticallyAdjustsMirroring", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureVideoPreviewLayer", b"isMirrored", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureVideoPreviewLayer", - b"isMirroringSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVCaptureVideoPreviewLayer", - b"isOrientationSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"AVCaptureVideoPreviewLayer", b"isPreviewing", {"retval": {"type": b"Z"}}) - r( - b"AVCaptureVideoPreviewLayer", - b"setAutomaticallyAdjustsMirroring:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVCaptureVideoPreviewLayer", - b"setMirrored:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVComposition", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVComposition", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVComposition", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVCompositionTrack", - b"segmentForTrackTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVCompositionTrackSegment", - b"compositionTrackSegmentWithTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCompositionTrackSegment", - b"compositionTrackSegmentWithURL:trackID:sourceTimeRange:targetTimeRange:", - { - "arguments": { - 4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 5: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - } - }, - ) - r( - b"AVCompositionTrackSegment", - b"initWithTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVCompositionTrackSegment", - b"initWithURL:trackID:sourceTimeRange:targetTimeRange:", - { - "arguments": { - 4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 5: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - } - }, - ) - r(b"AVCompositionTrackSegment", b"isEmpty", {"retval": {"type": b"Z"}}) - r( - b"AVContentKeyRequest", - b"canProvidePersistableContentKey", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVContentKeyRequest", - b"makeStreamingContentKeyRequestDataForApp:contentIdentifier:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVContentKeyRequest", - b"persistableContentKeyFromKeyVendorResponse:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVContentKeyRequest", b"renewsExpiringResponseData", {"retval": {"type": b"Z"}}) - r( - b"AVContentKeyRequest", - b"respondByRequestingPersistableContentKeyRequestAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"AVContentKeySession", - b"invalidateAllPersistableContentKeysForApp:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVContentKeySession", - b"invalidatePersistableContentKey:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVContentKeySession", - b"makeSecureTokenForExpirationDateOfPersistableContentKey:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVCoordinatedPlaybackParticipant", b"isReadyToPlay", {"retval": {"type": b"Z"}}) - r( - b"AVCoordinatedPlaybackSuspension", - b"endProposingNewTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVDelegatingPlaybackCoordinator", - b"coordinateSeekToTime:options:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVDelegatingPlaybackCoordinatorPauseCommand", - b"shouldBufferInAnticipationOfPlayback", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVDelegatingPlaybackCoordinatorPlayCommand", - b"hostClockTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVDelegatingPlaybackCoordinatorPlayCommand", - b"itemTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVDelegatingPlaybackCoordinatorSeekCommand", - b"itemTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVDelegatingPlaybackCoordinatorSeekCommand", - b"shouldBufferInAnticipationOfPlayback", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVDepthData", - b"depthDataByReplacingDepthDataMapWithPixelBuffer:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVDepthData", - b"depthDataFromDictionaryRepresentation:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVDepthData", - b"dictionaryRepresentationForAuxiliaryDataType:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"AVDepthData", b"isDepthDataFiltered", {"retval": {"type": b"Z"}}) - r( - b"AVFragmentedAsset", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVFragmentedAsset", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVFragmentedAsset", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVFragmentedMovie", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVFragmentedMovie", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVFragmentedMovie", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVFrameRateRange", b"maxFrameDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVFrameRateRange", b"minFrameDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVMIDIPlayer", - b"initWithContentsOfURL:soundBankURL:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMIDIPlayer", - b"initWithData:soundBankURL:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVMIDIPlayer", b"isPlaying", {"retval": {"type": b"Z"}}) - r( - b"AVMIDIPlayer", - b"play:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVMediaSelection", - b"mediaSelectionCriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup:", - {"retval": {"type": "Z"}}, - ) - r(b"AVMediaSelectionGroup", b"allowsEmptySelection", {"retval": {"type": b"Z"}}) - r(b"AVMediaSelectionOption", b"hasMediaCharacteristic:", {"retval": {"type": b"Z"}}) - r(b"AVMediaSelectionOption", b"isPlayable", {"retval": {"type": b"Z"}}) - r(b"AVMetadataFaceObject", b"hasRollAngle", {"retval": {"type": b"Z"}}) - r(b"AVMetadataFaceObject", b"hasYawAngle", {"retval": {"type": b"Z"}}) - r(b"AVMetadataItem", b"duration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVMetadataItem", - b"loadValuesAsynchronouslyForKeys:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVMetadataItem", - b"metadataItemWithPropertiesOfMetadataItem:valueLoadingHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVMetadataItem", - b"statusOfValueForKey:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVMetadataItem", b"time", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVMetadataObject", b"duration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVMetadataObject", b"time", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVMovie", b"canContainMovieFragments", {"retval": {"type": b"Z"}}) - r(b"AVMovie", b"containsMovieFragments", {"retval": {"type": "Z"}}) - r(b"AVMovie", b"isCompatibleWithFileType:", {"retval": {"type": b"Z"}}) - r( - b"AVMovie", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMovie", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMovie", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMovie", - b"movieHeaderWithFileType:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVMovie", - b"writeMovieHeaderToURL:fileType:options:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"AVMovieTrack", - b"mediaDecodeTimeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVMovieTrack", - b"mediaPresentationTimeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r(b"AVMusicTrack", b"isLoopingEnabled", {"retval": {"type": "Z"}}) - r(b"AVMusicTrack", b"isMuted", {"retval": {"type": "Z"}}) - r(b"AVMusicTrack", b"isSoloed", {"retval": {"type": "Z"}}) - r(b"AVMusicTrack", b"setLoopingEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"AVMusicTrack", b"setMuted:", {"arguments": {2: {"type": "Z"}}}) - r(b"AVMusicTrack", b"setSoloed:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AVMutableAudioMixInputParameters", - b"setVolume:atTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableAudioMixInputParameters", - b"setVolumeRampFromStartVolume:toEndVolume:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableCaption", - b"setTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableCaption", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVMutableComposition", - b"insertEmptyTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableComposition", - b"insertTimeRange:ofAsset:atTime:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"AVMutableComposition", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableComposition", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableComposition", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableComposition", - b"removeTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableComposition", - b"scaleTimeRange:toDuration:", - { - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r( - b"AVMutableCompositionTrack", - b"insertEmptyTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableCompositionTrack", - b"insertTimeRange:ofTrack:atTime:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"AVMutableCompositionTrack", - b"insertTimeRanges:ofTracks:atTime:error:", - { - "retval": {"type": b"Z"}, - "arguments": {4: {"type": b"{_CMTime=qiIq}"}, 5: {"type_modifier": b"o"}}, - }, - ) - r(b"AVMutableCompositionTrack", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"AVMutableCompositionTrack", - b"removeTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableCompositionTrack", - b"scaleTimeRange:toDuration:", - { - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r(b"AVMutableCompositionTrack", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVMutableCompositionTrack", - b"validateTrackSegments:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVMutableMetadataItem", b"duration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVMutableMetadataItem", - b"setDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableMetadataItem", - b"setTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVMutableMetadataItem", b"time", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVMutableMovie", - b"initWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"initWithSettingsFromMovie:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"initWithURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"insertEmptyTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableMovie", - b"insertTimeRange:ofAsset:atTime:copySampleData:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type": "Z"}, - 6: {"type_modifier": b"o"}, - }, - }, - ) - r(b"AVMutableMovie", b"interleavingPeriod", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVMutableMovie", b"isModified", {"retval": {"type": "Z"}}) - r( - b"AVMutableMovie", - b"loadTrackWithTrackID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableMovie", - b"loadTracksWithMediaCharacteristic:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableMovie", - b"loadTracksWithMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVMutableMovie", - b"movieWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"movieWithSettingsFromMovie:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"movieWithURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovie", - b"removeTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableMovie", - b"scaleTimeRange:toDuration:", - { - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r( - b"AVMutableMovie", - b"setInterleavingPeriod:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVMutableMovie", b"setModified:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AVMutableMovieTrack", - b"appendSampleBuffer:decodeTime:presentationTime:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 3: {"type": b"^{_CMTime=qiIq}", "type_modifier": b"o"}, - 4: {"type": b"^{_CMTime=qiIq}", "type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r(b"AVMutableMovieTrack", b"hasProtectedContent", {"retval": {"type": "Z"}}) - r( - b"AVMutableMovieTrack", - b"insertEmptyTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableMovieTrack", - b"insertMediaTimeRange:intoTimeRange:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - }, - }, - ) - r( - b"AVMutableMovieTrack", - b"insertTimeRange:ofTrack:atTime:copySampleData:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type": "Z"}, - 6: {"type_modifier": b"o"}, - }, - }, - ) - r(b"AVMutableMovieTrack", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"AVMutableMovieTrack", b"isModified", {"retval": {"type": "Z"}}) - r( - b"AVMutableMovieTrack", - b"movieWithURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVMutableMovieTrack", - b"preferredMediaChunkDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVMutableMovieTrack", - b"removeTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableMovieTrack", - b"scaleTimeRange:toDuration:", - { - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r(b"AVMutableMovieTrack", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"AVMutableMovieTrack", b"setModified:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AVMutableMovieTrack", - b"setPreferredMediaChunkDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableTimedMetadataGroup", - b"setTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableTimedMetadataGroup", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVMutableVideoComposition", - b"frameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVMutableVideoComposition", - b"setFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableVideoComposition", - b"videoCompositionWithAsset:applyingCIFiltersWithHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"AVMutableVideoCompositionInstruction", - b"enablePostProcessing", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVMutableVideoCompositionInstruction", - b"setEnablePostProcessing:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVMutableVideoCompositionInstruction", - b"setTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableVideoCompositionInstruction", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setCropRectangle:atTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setCropRectangleRampFromStartCropRectangle:toEndCropRectangle:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setOpacity:atTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setOpacityRampFromStartOpacity:toEndOpacity:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setTransform:atTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVMutableVideoCompositionLayerInstruction", - b"setTransformRampFromStartTransform:toEndTransform:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVOutputSettingsAssistant", - b"setSourceVideoAverageFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVOutputSettingsAssistant", - b"setSourceVideoMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVOutputSettingsAssistant", - b"sourceVideoAverageFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVOutputSettingsAssistant", - b"sourceVideoMinFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlaybackCoordinator", - b"expectedItemTimeAtHostTime:", - { - "retval": {"type": b"{_CMTime=qiIq}"}, - "arguments": {2: {"type": b"{_CMTime=qiIq}"}}, - }, - ) - r( - b"AVPlaybackCoordinator", - b"pauseSnapsToMediaTimeOfOriginator", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPlaybackCoordinator", - b"setPauseSnapsToMediaTimeOfOriginator:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayer", - b"addBoundaryTimeObserverForTimes:queue:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVPlayer", - b"addPeriodicTimeObserverForInterval:queue:usingBlock:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r(b"AVPlayer", b"allowsExternalPlayback", {"retval": {"type": "Z"}}) - r( - b"AVPlayer", - b"appliesMediaSelectionCriteriaAutomatically", - {"retval": {"type": b"Z"}}, - ) - r(b"AVPlayer", b"automaticallyWaitsToMinimizeStalling", {"retval": {"type": b"Z"}}) - r(b"AVPlayer", b"currentTime", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVPlayer", b"eligibleForHDRPlayback", {"retval": {"type": b"Z"}}) - r(b"AVPlayer", b"isClosedCaptionDisplayEnabled", {"retval": {"type": b"Z"}}) - r(b"AVPlayer", b"isExternalPlaybackActive", {"retval": {"type": "Z"}}) - r(b"AVPlayer", b"isMuted", {"retval": {"type": b"Z"}}) - r( - b"AVPlayer", - b"outputObscuredDueToInsufficientExternalProtection", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPlayer", - b"prerollAtRate:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"AVPlayer", - b"preventsDisplaySleepDuringVideoPlayback", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPlayer", - b"seekToDate:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"AVPlayer", b"seekToTime:", {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}) - r( - b"AVPlayer", - b"seekToTime:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - } - }, - ) - r( - b"AVPlayer", - b"seekToTime:toleranceBefore:toleranceAfter:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r( - b"AVPlayer", - b"seekToTime:toleranceBefore:toleranceAfter:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - } - }, - ) - r(b"AVPlayer", b"setAllowsExternalPlayback:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AVPlayer", - b"setAppliesMediaSelectionCriteriaAutomatically:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayer", - b"setAutomaticallyWaitsToMinimizeStalling:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayer", - b"setClosedCaptionDisplayEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVPlayer", b"setMuted:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVPlayer", - b"setPreventsDisplaySleepDuringVideoPlayback:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayer", - b"setRate:time:atHostTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}, 4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVPlayer", - b"setUsesExternalPlaybackWhileExternalScreenIsActive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayer", - b"usesExternalPlaybackWhileExternalScreenIsActive", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPlayerInterstitialEvent", - b"interstitialEventWithPrimaryItem:identifier:date:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:", - {"arguments": {7: {"type": b"{_CMTime=qiIq}"}, 8: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVPlayerInterstitialEvent", - b"interstitialEventWithPrimaryItem:identifier:time:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:", - { - "arguments": { - 4: {"type": b"{_CMTime=qiIq}"}, - 7: {"type": b"{_CMTime=qiIq}"}, - 8: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r( - b"AVPlayerInterstitialEvent", - b"playoutLimit", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlayerInterstitialEvent", - b"resumptionOffset", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVPlayerInterstitialEvent", b"time", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVPlayerInterstitialEventController", - b"cancelCurrentEventWithResumptionOffset:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVPlayerItem", b"appliesPerFrameHDRDisplayMetadata", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItem", - b"automaticallyHandlesInterstitialEvents", - {"retval": {"type": "Z"}}, - ) - r( - b"AVPlayerItem", - b"automaticallyPreservesTimeOffsetFromLive", - {"retval": {"type": b"Z"}}, - ) - r(b"AVPlayerItem", b"canPlayFastForward", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canPlayFastReverse", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canPlayReverse", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canPlaySlowForward", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canPlaySlowReverse", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canStepBackward", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"canStepForward", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItem", - b"canUseNetworkResourcesForLiveStreamingWhilePaused", - {"retval": {"type": "Z"}}, - ) - r( - b"AVPlayerItem", - b"configuredTimeOffsetFromLive", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVPlayerItem", b"currentTime", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"AVPlayerItem", b"duration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVPlayerItem", - b"forwardPlaybackEndTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlayerItem", - b"isApplicationAuthorizedForPlayback", - {"retval": {"type": b"Z"}}, - ) - r(b"AVPlayerItem", b"isAudioSpatializationAllowed", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItem", - b"isAuthorizationRequiredForPlayback", - {"retval": {"type": b"Z"}}, - ) - r(b"AVPlayerItem", b"isContentAuthorizedForPlayback", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"isPlaybackBufferEmpty", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"isPlaybackBufferFull", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItem", b"isPlaybackLikelyToKeepUp", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItem", - b"recommendedTimeOffsetFromLive", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlayerItem", - b"requestContentAuthorizationAsynchronouslyWithTimeoutInterval:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVPlayerItem", - b"reversePlaybackEndTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"AVPlayerItem", b"seekToDate:", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItem", - b"seekToDate:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - } - }, - }, - ) - r(b"AVPlayerItem", b"seekToTime:", {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}) - r( - b"AVPlayerItem", - b"seekToTime:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - } - }, - ) - r( - b"AVPlayerItem", - b"seekToTime:toleranceBefore:toleranceAfter:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"{_CMTime=qiIq}"}, - 4: {"type": b"{_CMTime=qiIq}"}, - } - }, - ) - r( - b"AVPlayerItem", - b"seekToTime:toleranceBefore:toleranceAfter:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"AVPlayerItem", - b"seekingWaitsForVideoCompositionRendering", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPlayerItem", - b"setAppliesPerFrameHDRDisplayMetadata:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerItem", - b"setAudioSpatializationAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerItem", - b"setAutomaticallyHandlesInterstitialEvents:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVPlayerItem", - b"setAutomaticallyPreservesTimeOffsetFromLive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerItem", - b"setCanUseNetworkResourcesForLiveStreamingWhilePaused:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVPlayerItem", - b"setConfiguredTimeOffsetFromLive:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVPlayerItem", - b"setForwardPlaybackEndTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVPlayerItem", - b"setReversePlaybackEndTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVPlayerItem", - b"setSeekingWaitsForVideoCompositionRendering:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerItem", - b"setStartsOnFirstEligibleVariant:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVPlayerItem", b"startsOnFirstEligibleVariant", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerItemOutput", - b"itemTimeForCVTimeStamp:", - { - "retval": {"type": b"{_CMTime=qiIq}"}, - "arguments": { - 2: {"type": b"{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}"} - }, - }, - ) - r( - b"AVPlayerItemOutput", - b"itemTimeForHostTime:", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlayerItemOutput", - b"itemTimeForMachAbsoluteTime:", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVPlayerItemOutput", - b"setSuppressesPlayerRendering:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVPlayerItemOutput", b"suppressesPlayerRendering", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItemTrack", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"AVPlayerItemTrack", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVPlayerItemVideoOutput", - b"copyPixelBufferForItemTime:itemTimeForDisplay:", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"^{_CMTime=qiIq}", "type_modifier": b"o"}, - }, - }, - ) - r( - b"AVPlayerItemVideoOutput", - b"hasNewPixelBufferForItemTime:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"AVPlayerLayer", b"isReadyForDisplay", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerLooper", - b"initWithPlayer:templateItem:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVPlayerLooper", - b"playerLooperWithPlayer:templateItem:timeRange:", - {"arguments": {4: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVPortraitEffectsMatte", - b"dictionaryRepresentationForAuxiliaryDataType:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"AVPortraitEffectsMatte", - b"portraitEffectsMatteByReplacingPortraitEffectsMatteWithPixelBuffer:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVPortraitEffectsMatte", - b"portraitEffectsMatteFromDictionaryRepresentation:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVQueuePlayer", b"canInsertItem:afterItem:", {"retval": {"type": b"Z"}}) - r(b"AVRouteDetector", b"isRouteDetectionEnabled", {"retval": {"type": "Z"}}) - r(b"AVRouteDetector", b"multipleRoutesDetected", {"retval": {"type": "Z"}}) - r( - b"AVRouteDetector", - b"setRouteDetectionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVSampleBufferAudioRenderer", - b"flushFromSourceTime:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - }, - } - }, - ) - r(b"AVSampleBufferAudioRenderer", b"isMuted", {"retval": {"type": b"Z"}}) - r(b"AVSampleBufferAudioRenderer", b"setMuted:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVSampleBufferDisplayLayer", - b"isReadyForMoreMediaData", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSampleBufferDisplayLayer", - b"outputObscuredDueToInsufficientExternalProtection", - {"retval": {"type": "Z"}}, - ) - r(b"AVSampleBufferDisplayLayer", b"preventsCapture", {"retval": {"type": "Z"}}) - r( - b"AVSampleBufferDisplayLayer", - b"preventsDisplaySleepDuringVideoPlayback", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSampleBufferDisplayLayer", - b"requestMediaDataWhenReadyOnQueue:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVSampleBufferDisplayLayer", - b"requiresFlushToResumeDecoding", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSampleBufferDisplayLayer", - b"setOutputObscuredDueToInsufficientExternalProtection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVSampleBufferDisplayLayer", - b"setPreventsCapture:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVSampleBufferDisplayLayer", - b"setPreventsDisplaySleepDuringVideoPlayback:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVSampleBufferGenerator", - b"notifyOfDataReadyForSampleBuffer:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"addBoundaryTimeObserverForTimes:queue:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"addPeriodicTimeObserverForInterval:queue:usingBlock:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"currentTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"delaysRateChangeUntilHasSufficientMediaData", - {"retval": {"type": "Z"}}, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"removeRenderer:atTime:completionHandler:", - { - "arguments": { - 3: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - }, - } - }, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"setDelaysRateChangeUntilHasSufficientMediaData:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"setRate:time:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVSampleBufferRenderSynchronizer", - b"setRate:time:atHostTime:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}, 4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVSampleBufferRequest", - b"overrideTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVSampleBufferRequest", - b"setOverrideTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"AVSampleCursor", - b"currentChunkInfo", - {"retval": {"type": b"{_AVSampleCursorChunkInfo=qZZZ}"}}, - ) - r( - b"AVSampleCursor", - b"currentChunkStorageRange", - {"retval": {"type": b"{_AVSampleCursorStorageRange=qq}"}}, - ) - r( - b"AVSampleCursor", - b"currentSampleAudioDependencyInfo", - {"retval": {"type": b"{_AVSampleCursorAudioDependencyInfo=Zq}"}}, - ) - r( - b"AVSampleCursor", - b"currentSampleDependencyInfo", - {"retval": {"type": b"{_AVSampleCursorDependencyInfo=ZZZZZZ}"}}, - ) - r( - b"AVSampleCursor", - b"currentSampleDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVSampleCursor", - b"currentSampleStorageRange", - {"retval": {"type": b"{_AVSampleCursorStorageRange=qq}"}}, - ) - r( - b"AVSampleCursor", - b"currentSampleSyncInfo", - {"retval": {"type": b"{_AVSampleCursorSyncInfo=ZZZ}"}}, - ) - r(b"AVSampleCursor", b"decodeTimeStamp", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVSampleCursor", - b"presentationTimeStamp", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVSampleCursor", - b"samplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThanCursor:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSampleCursor", - b"samplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThanCursor:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSampleCursor", - b"stepByDecodeTime:wasPinned:", - { - "retval": {"type": b"{_CMTime=qiIq}"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"^Z", "type_modifier": b"o"}, - }, - }, - ) - r( - b"AVSampleCursor", - b"stepByPresentationTime:wasPinned:", - { - "retval": {"type": b"{_CMTime=qiIq}"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type": b"^Z", "type_modifier": b"o"}, - }, - }, - ) - r( - b"AVSemanticSegmentationMatte", - b"semanticSegmentationMatteByReplacingSemanticSegmentationMatteWithPixelBuffer:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVSemanticSegmentationMatte", - b"semanticSegmentationMatteFromImageSourceAuxiliaryDataType:dictionaryRepresentation:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVSpeechSynthesizer", b"continueSpeaking", {"retval": {"type": "Z"}}) - r(b"AVSpeechSynthesizer", b"isPaused", {"retval": {"type": "Z"}}) - r(b"AVSpeechSynthesizer", b"isSpeaking", {"retval": {"type": "Z"}}) - r( - b"AVSpeechSynthesizer", - b"makeSecureTokenForExpirationDateOfPersistableContentKey:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVSpeechSynthesizer", b"mixToTelephonyUplink", {"retval": {"type": b"Z"}}) - r(b"AVSpeechSynthesizer", b"pauseSpeakingAtBoundary:", {"retval": {"type": "Z"}}) - r( - b"AVSpeechSynthesizer", - b"setMixToTelephonyUplink:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVSpeechSynthesizer", b"setPaused:", {"arguments": {2: {"type": "Z"}}}) - r(b"AVSpeechSynthesizer", b"setSpeaking:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AVSpeechSynthesizer", - b"setUsesApplicationAudioSession:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVSpeechSynthesizer", b"stopSpeakingAtBoundary:", {"retval": {"type": "Z"}}) - r( - b"AVSpeechSynthesizer", - b"usesApplicationAudioSession", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSpeechSynthesizer", - b"writeUtterance:toBufferCallback:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"AVSpeechUtterance", - b"prefersAssistiveTechnologySettings", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVSpeechUtterance", - b"setPrefersAssistiveTechnologySettings:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVTimedMetadataGroup", - b"initWithItems:timeRange:", - {"arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"AVTimedMetadataGroup", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVURLAsset", - b"findCompatibleTrackForCompositionTrack:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"AVURLAsset", b"isPlayableExtendedMIMEType:", {"retval": {"type": b"Z"}}) - r( - b"AVURLAsset", - b"mayRequireContentKeysForMediaDataProcessing", - {"retval": {"type": b"Z"}}, - ) - r(b"AVVideoComposition", b"frameDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"AVVideoComposition", - b"isValidForAsset:timeRange:validationDelegate:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - }, - ) - r( - b"AVVideoComposition", - b"videoCompositionWithAsset:applyingCIFiltersWithHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"AVVideoCompositionInstruction", - b"enablePostProcessing", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVVideoCompositionInstruction", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"AVVideoCompositionLayerInstruction", - b"getCropRectangleRampForTime:startCropRectangle:endCropRectangle:timeRange:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: { - "type": b"^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"AVVideoCompositionLayerInstruction", - b"getOpacityRampForTime:startOpacity:endOpacity:timeRange:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: { - "type": b"^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"AVVideoCompositionLayerInstruction", - b"getTransformRampForTime:startTransform:endTransform:timeRange:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: { - "type": b"^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"AVVideoCompositionRenderContext", - b"edgeWidths", - {"retval": {"type": b"{_AVEdgeWidths=dddd}"}}, - ) - r( - b"AVVideoCompositionRenderContext", - b"highQualityRendering", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVVideoCompositionRenderContext", - b"pixelAspectRatio", - {"retval": {"type": b"{_AVPixelAspectRatio=qq}"}}, - ) - r( - b"AVVideoCompositionRenderHint", - b"endCompositionTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"AVVideoCompositionRenderHint", - b"startCompositionTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"NSCoder", b"decodeCMTimeForKey:", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"NSCoder", - b"decodeCMTimeMappingForKey:", - { - "retval": { - "type": b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}" - } - }, - ) - r( - b"NSCoder", - b"decodeCMTimeRangeForKey:", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"NSCoder", - b"encodeCMTime:forKey:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"NSCoder", - b"encodeCMTimeMapping:forKey:", - { - "arguments": { - 2: { - "type": b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}" - } - } - }, - ) - r( - b"NSCoder", - b"encodeCMTimeRange:forKey:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"NSObject", - b"URLSession:aggregateAssetDownloadTask:didCompleteForMediaSelection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 5: {"type": b"@"}, - 6: {"type": "{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 7: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:aggregateAssetDownloadTask:willDownloadToURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:assetDownloadTask:didFinishDownloadingToURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:assetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 5: {"type": b"@"}, - 6: {"type": "{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:assetDownloadTask:didResolveMediaSelection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:assetDownloadTask:willDownloadVariants:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"anticipateRenderingUsingHint:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"assetWriter:didOutputSegmentData:segmentType:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"assetWriter:didOutputSegmentData:segmentType:segmentReport:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"audioPlayerDecodeErrorDidOccur:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"audioPlayerDidFinishPlaying:successfully:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"audioRecorderDidFinishRecording:successfully:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"audioRecorderEncodeErrorDidOccur:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"beginInterruption", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"canConformColorOfSourceFrames", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"cancelAllPendingVideoCompositionRequests", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"captionAdaptor:didVendCaption:skippingUnsupportedSourceSyntaxElements:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didCapturePhotoForResolvedSettings:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didDropSampleBuffer:fromConnection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{opaqueCMSampleBuffer=}"}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishCaptureForResolvedSettings:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishProcessingLivePhotoToMovieFileAtURL:duration:photoDisplayTime:resolvedSettings:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type": b"{_CMTime=qiIq}"}, - 6: {"type": b"@"}, - 7: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishProcessingPhoto:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{opaqueCMSampleBuffer=}"}, - 4: {"type": b"^{opaqueCMSampleBuffer=}"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishProcessingRawPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{opaqueCMSampleBuffer=}"}, - 4: {"type": b"^{opaqueCMSampleBuffer=}"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishRecordingLivePhotoMovieForEventualFileAtURL:resolvedSettings:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didOutputMetadataObjects:fromConnection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didOutputSampleBuffer:fromConnection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{opaqueCMSampleBuffer=}"}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutput:didPauseRecordingToOutputFileAtURL:fromConnections:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didResumeRecordingToOutputFileAtURL:fromConnections:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:didStartRecordingToOutputFileAtURL:fromConnections:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:willBeginCaptureForResolvedSettings:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:willCapturePhotoForResolvedSettings:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"captureOutput:willFinishRecordingToOutputFileAtURL:fromConnections:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"captureOutputShouldProvideSampleAccurateRecordingStart:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"containsTweening", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"contentKeySession:contentKeyRequest:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:contentKeyRequestDidSucceed:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:didProvideContentKey:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:didProvideContentKeyRequest:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:didProvidePersistableContentKeyRequest:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:didProvideRenewingContentKeyRequest:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:didUpdatePersistableContentKey:forContentKeyIdentifier:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySession:shouldRetryContentKeyRequest:reason:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contentKeySessionContentProtectionSessionIdentifierDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"contentKeySessionDidGenerateExpiredSessionReport:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"dataOutputSynchronizer:didOutputSynchronizedDataCollection:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"depthDataOutput:didDropDepthData:timestamp:connection:reason:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type": b"@"}, - 6: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"depthDataOutput:didOutputDepthData:timestamp:connection:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{_CMTime=qiIq}"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"destinationForMixer:bus:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"enablePostProcessing", - {"required": True, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"endInterruption", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"endInterruptionWithFlags:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"enqueueSampleBuffer:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"^{opaqueCMSampleBuffer=}"}}, - }, - ) - r(b"NSObject", b"flush", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"hasSufficientMediaDataForReliablePlaybackStart", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"inputIsAvailableChanged:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"isAssociatedWithFragmentMinder", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"isReadyForMoreMediaData", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"{_CMTime=qiIq}"}, - }, - }, - ) - r( - b"NSObject", - b"loadValuesAsynchronouslyForKeys:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"mayRequireContentKeysForMediaDataProcessing", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"metadataCollector:didCollectDateRangeMetadataGroups:indexesOfNewGroups:indexesOfModifiedGroups:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"metadataOutput:didOutputTimedMetadataGroups:fromPlayerItemTrack:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"obstruction", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"occlusion", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"outputMediaDataWillChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outputSequenceWasFlushed:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"pan", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"passthroughTrackID", {"required": True, "retval": {"type": b"i"}}) - r( - b"NSObject", - b"playbackCoordinator:didIssueBufferingCommand:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playbackCoordinator:didIssuePauseCommand:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playbackCoordinator:didIssuePlayCommand:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playbackCoordinator:didIssueSeekCommand:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playbackCoordinator:identifierForPlayerItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"playbackCoordinator:interstitialTimeRangesForPlayerItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pointSourceInHeadMode", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"position", - {"required": True, "retval": {"type": b"{AVAudio3DPoint=fff}"}}, - ) - r( - b"NSObject", - b"prerollForRenderingUsingHint:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"rate", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"renderContextChanged:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"renderingAlgorithm", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"replacementAppleProRAWCompressionSettingsForPhoto:defaultSettings:maximumBitDepth:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"replacementDepthDataForPhoto:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementEmbeddedThumbnailPixelBufferWithPhotoFormat:forPhoto:", - { - "required": False, - "retval": {"type": b"^{__CVBuffer=}"}, - "arguments": {2: {"type": b"^@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"replacementMetadataForPhoto:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementPortraitEffectsMatteForPhoto:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementSemanticSegmentationMatteOfType:forPhoto:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"requestMediaDataWhenReadyOnQueue:usingBlock:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"requiredPixelBufferAttributesForRenderContext", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"requiredSourceSampleDataTrackIDs", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"requiredSourceTrackIDs", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"resourceLoader:didCancelAuthenticationChallenge:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"resourceLoader:didCancelLoadingRequest:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"resourceLoader:shouldWaitForLoadingOfRequestedResource:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"resourceLoader:shouldWaitForRenewalOfRequestedResource:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"resourceLoader:shouldWaitForResponseToAuthenticationChallenge:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"reverbBlend", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"setObstruction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setOcclusion:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setPan:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setPointSourceInHeadMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setPosition:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{AVAudio3DPoint=fff}"}}, - }, - ) - r( - b"NSObject", - b"setRate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setRenderingAlgorithm:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"setReverbBlend:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setSourceMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setVolume:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r(b"NSObject", b"sourceMode", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"sourcePixelBufferAttributes", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"speechSynthesizer:didCancelSpeechUtterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didContinueSpeechUtterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didFinishSpeechUtterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didPauseSpeechUtterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didStartSpeechUtterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:willSpeakRangeOfSpeechString:utterance:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"startVideoCompositionRequest:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"statusOfValueForKey:error:", - { - "required": True, - "retval": {"type": b"q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"stopRequestingMediaData", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"supportsHDRSourceFrames", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsWideColorSourceFrames", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"timeRange", - { - "required": True, - "retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - }, - ) - r( - b"NSObject", - b"timebase", - {"required": True, "retval": {"type": b"^{OpaqueCMTimebase=}"}}, - ) - r( - b"NSObject", - b"videoComposition:shouldContinueValidatingAfterFindingEmptyTimeRange:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - }, - }, - ) - r( - b"NSObject", - b"videoComposition:shouldContinueValidatingAfterFindingInvalidTimeRangeInInstruction:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"videoComposition:shouldContinueValidatingAfterFindingInvalidTrackIDInInstruction:layerInstruction:asset:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"videoComposition:shouldContinueValidatingAfterFindingInvalidValueForKey:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"volume", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSValue", - b"CMTimeMappingValue", - { - "retval": { - "type": b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}" - } - }, - ) - r( - b"NSValue", - b"CMTimeRangeValue", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r(b"NSValue", b"CMTimeValue", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r(b"NSValue", b"valueWithCMTime:", {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}) - r( - b"NSValue", - b"valueWithCMTimeMapping:", - { - "arguments": { - 2: { - "type": b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}" - } - } - }, - ) - r( - b"NSValue", - b"valueWithCMTimeRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) - r( - b"null", - b"activeDepthDataMinFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"null", b"activeMaxExposureDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"null", - b"automaticallyAdjustsFaceDrivenAutoExposureEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"automaticallyAdjustsFaceDrivenAutoFocusEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"automaticallyAdjustsVideoHDREnabled", {"retval": {"type": b"Z"}}) - r( - b"null", - b"automaticallyEnablesLowLightBoostWhenAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"captureStillImageBracketAsynchronouslyFromConnection:withSettingsArray:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"chromaticityValuesForDeviceWhiteBalanceGains:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceChromaticityValues=ff}"}, - "arguments": {2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - }, - ) - r( - b"null", - b"deviceWhiteBalanceGains", - {"retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - ) - r( - b"null", - b"deviceWhiteBalanceGainsForChromaticityValues:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceChromaticityValues=ff}"} - }, - }, - ) - r( - b"null", - b"deviceWhiteBalanceGainsForTemperatureAndTintValues:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceTemperatureAndTintValues=ff}"} - }, - }, - ) - r(b"null", b"exposureDuration", {"retval": {"type": b"{_CMTime=qiIq}"}}) - r( - b"null", - b"grayWorldDeviceWhiteBalanceGains", - {"retval": {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - ) - r(b"null", b"hasFlash", {"retval": {"type": b"Z"}}) - r(b"null", b"hasTorch", {"retval": {"type": b"Z"}}) - r(b"null", b"isAdjustingExposure", {"retval": {"type": b"Z"}}) - r(b"null", b"isAdjustingFocus", {"retval": {"type": b"Z"}}) - r(b"null", b"isAdjustingWhiteBalance", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutoFocusRangeRestrictionSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isCenterStageActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isCenterStageEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isCenterStageSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isDepthDataDeliveryEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isDepthDataDeliverySupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isExposureModeSupported:", {"retval": {"type": b"Z"}}) - r(b"null", b"isExposurePointOfInterestSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isFaceDrivenAutoExposureEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isFaceDrivenAutoFocusEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isFlashActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isFlashAvailable", {"retval": {"type": b"Z"}}) - r(b"null", b"isFlashModeSupported:", {"retval": {"type": b"Z"}}) - r(b"null", b"isFocusModeSupported:", {"retval": {"type": b"Z"}}) - r(b"null", b"isFocusPointOfInterestSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isGeometricDistortionCorrectionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isGeometricDistortionCorrectionSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isGlobalToneMappingEnabled", {"retval": {"type": b"Z"}}) - r( - b"null", - b"isLensStabilizationDuringBracketedCaptureEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"isLensStabilizationDuringBracketedCaptureSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"isLockingFocusWithCustomLensPositionSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"isLockingWhiteBalanceWithCustomDeviceGainsSupported", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"isLowLightBoostEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isLowLightBoostSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isMultiCamSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isPortraitEffectActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isPortraitEffectEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isPortraitEffectSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isPortraitEffectsMatteDeliveryEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isPortraitEffectsMatteDeliverySupported", {"retval": {"type": b"Z"}}) - r( - b"null", - b"isPortraitEffectsMatteStillImageDeliverySupported", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"isRampingVideoZoom", {"retval": {"type": b"Z"}}) - r(b"null", b"isSmoothAutoFocusEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isSmoothAutoFocusSupported", {"retval": {"type": b"Z"}}) - r(b"null", b"isSubjectAreaChangeMonitoringEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isTorchActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isTorchAvailable", {"retval": {"type": b"Z"}}) - r(b"null", b"isTorchModeSupported:", {"retval": {"type": b"Z"}}) - r(b"null", b"isVideoHDREnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isVirtualDevice", {"retval": {"type": b"Z"}}) - r(b"null", b"isWhiteBalanceModeSupported:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"mayRequireContentKeysForMediaDataProcessing", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"prepareToCaptureStillImageBracketFromConnection:withSettingsArray:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"requestAccessForMediaType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"null", - b"setActiveDepthDataMinFrameDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"null", - b"setActiveMaxExposureDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"null", - b"setAutomaticallyAdjustsFaceDrivenAutoExposureEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticallyAdjustsFaceDrivenAutoFocusEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticallyAdjustsVideoHDREnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticallyEnablesLowLightBoostWhenAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setCenterStageEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setDepthDataDeliveryEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setExposureModeCustomWithDuration:ISO:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r( - b"null", - b"setExposureTargetBias:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - } - } - }, - ) - r(b"null", b"setFaceDrivenAutoExposureEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setFaceDrivenAutoFocusEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setFocusModeLockedWithLensPosition:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - } - } - }, - ) - r( - b"null", - b"setGeometricDistortionCorrectionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setGlobalToneMappingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setLensStabilizationDuringBracketedCaptureEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setPortraitEffectsMatteDeliveryEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setSmoothAutoFocusEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setSubjectAreaChangeMonitoringEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setTorchModeOnWithLevel:error:", {"retval": {"type": b"Z"}}) - r(b"null", b"setVideoHDREnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:", - { - "arguments": { - 2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ) - r( - b"null", - b"temperatureAndTintValuesForDeviceWhiteBalanceGains:", - { - "retval": {"type": b"{_AVCaptureWhiteBalanceTemperatureAndTintValues=ff}"}, - "arguments": {2: {"type": b"{_AVCaptureWhiteBalanceGains=fff}"}}, - }, - ) - r(b"null", b"transportControlsSupported", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AVKit/__init__.py b/src/lib/AVKit/__init__.py deleted file mode 100644 index 962bf49..0000000 --- a/src/lib/AVKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the AddressBook framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import Quartz -from AVKit import _AVKit, _metadata - -sys.modules["AVKit"] = mod = objc.ObjCLazyModule( - "AVKit", - "com.apple.AVKit", - objc.pathForFramework("/System/Library/Frameworks/AVKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_AVKit, Cocoa, Quartz), -) - - -del sys.modules["AVKit._metadata"] -del sys.modules["AVKit._AVKit"] diff --git a/src/lib/AVKit/_metadata.py b/src/lib/AVKit/_metadata.py deleted file mode 100644 index 45007a2..0000000 --- a/src/lib/AVKit/_metadata.py +++ /dev/null @@ -1,388 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:23:34 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$AVCaptureViewControlsStyleDefault@0$AVCaptureViewControlsStyleFloating@1$AVCaptureViewControlsStyleInline@0$AVCaptureViewControlsStyleInlineDeviceSelection@2$AVPlayerViewControlsStyleDefault@1$AVPlayerViewControlsStyleFloating@2$AVPlayerViewControlsStyleInline@1$AVPlayerViewControlsStyleMinimal@3$AVPlayerViewControlsStyleNone@0$AVPlayerViewTrimCancelButton@1$AVPlayerViewTrimOKButton@0$AVRoutePickerViewButtonStateActive@2$AVRoutePickerViewButtonStateActiveHighlighted@3$AVRoutePickerViewButtonStateNormal@0$AVRoutePickerViewButtonStateNormalHighlighted@1$""" -misc.update( - { - "AVCaptureViewControlsStyle": NewType("AVCaptureViewControlsStyle", int), - "AVPlayerViewTrimResult": NewType("AVPlayerViewTrimResult", int), - "AVRoutePickerViewButtonState": NewType("AVRoutePickerViewButtonState", int), - "AVPlayerViewControlsStyle": NewType("AVPlayerViewControlsStyle", int), - } -) -misc.update({}) -aliases = { - "AVKIT_ONLY_EXTERN": "AVKIT_EXTERN", - "AVPlayerViewControlsStyleDefault": "AVPlayerViewControlsStyleInline", - "AVCaptureViewControlsStyleDefault": "AVCaptureViewControlsStyleInline", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AVCaptureView", - b"setSession:showVideoPreview:showAudioPreview:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"AVPictureInPictureController", - b"canStartPictureInPictureAutomaticallyFromInline", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"canStopPictureInPicture", - {"retval": {"type": "Z"}}, - ) - r( - b"AVPictureInPictureController", - b"isPictureInPictureActive", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"isPictureInPicturePossible", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"isPictureInPictureSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"isPictureInPictureSuspended", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"requiresLinearPlayback", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVPictureInPictureController", - b"setCanStartPictureInPictureAutomaticallyFromInline:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPictureInPictureController", - b"setRequiresLinearPlayback:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVPlayerView", b"allowsPictureInPicturePlayback", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerView", - b"beginTrimmingWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r(b"AVPlayerView", b"canBeginTrimming", {"retval": {"type": b"Z"}}) - r(b"AVPlayerView", b"isReadyForDisplay", {"retval": {"type": b"Z"}}) - r( - b"AVPlayerView", - b"setAllowsPictureInPicturePlayback:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerView", - b"setShowsFrameSteppingButtons:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerView", - b"setShowsFullScreenToggleButton:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AVPlayerView", - b"setShowsSharingServiceButton:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVPlayerView", b"setShowsTimecodes:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVPlayerView", - b"setUpdatesNowPlayingInfoCenter:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"AVPlayerView", b"showsFrameSteppingButtons", {"retval": {"type": b"Z"}}) - r(b"AVPlayerView", b"showsFullScreenToggleButton", {"retval": {"type": b"Z"}}) - r(b"AVPlayerView", b"showsSharingServiceButton", {"retval": {"type": b"Z"}}) - r(b"AVPlayerView", b"showsTimecodes", {"retval": {"type": b"Z"}}) - r(b"AVPlayerView", b"updatesNowPlayingInfoCenter", {"retval": {"type": "Z"}}) - r(b"AVRoutePickerView", b"isRoutePickerButtonBordered", {"retval": {"type": "Z"}}) - r( - b"AVRoutePickerView", - b"setRoutePickerButtonBordered:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"captureView:startRecordingToFileOutput:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:didTransitionToRenderSize:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_CMVideoDimensions=ii}"}}, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:failedToStartPictureInPictureWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:setPlaying:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:skipByInterval:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"pictureInPictureController:skipInterval:completionHandler:", - { - "arguments": { - 3: {"type": "{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - } - }, - ) - r( - b"NSObject", - b"pictureInPictureControllerDidStartPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pictureInPictureControllerDidStopPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pictureInPictureControllerIsPlaybackPaused:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pictureInPictureControllerShouldProhibitBackgroundAudioPlayback:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pictureInPictureControllerTimeRangeForPlayback:", - { - "required": True, - "retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pictureInPictureControllerWillStartPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pictureInPictureControllerWillStopPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerView:failedToStartPictureInPictureWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"playerView:restoreUserInterfaceForFullScreenExitWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playerView:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playerViewDidEnterFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewDidExitFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewDidStartPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewDidStopPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewShouldAutomaticallyDismissAtPictureInPictureStart:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewWillEnterFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewWillExitFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewWillStartPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"playerViewWillStopPictureInPicture:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"routePickerViewDidEndPresentingRoutes:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"routePickerViewWillBeginPresentingRoutes:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Accessibility/__init__.py b/src/lib/Accessibility/__init__.py deleted file mode 100644 index f39870a..0000000 --- a/src/lib/Accessibility/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -""" -Python mapping for the Accessibility framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Quartz -import objc -from . import _metadata -from . import _Accessibility - -sys.modules["Accessibility"] = mod = objc.ObjCLazyModule( - "Accessibility", - "com.apple.Accessibility", - objc.pathForFramework("/System/Library/Frameworks/Accessibility.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Accessibility, Quartz), -) - -for cls in ( - "AXNumericDataAxisDescriptor", - "AXDataPointValue", - "AXDataPoint", - "AXChartDescriptor", -): - try: - getattr(mod, cls).__objc_final__ = True - except AttributeError: - pass - -del sys.modules["Accessibility._metadata"] diff --git a/src/lib/Accessibility/_metadata.py b/src/lib/Accessibility/_metadata.py deleted file mode 100644 index 98f74c3..0000000 --- a/src/lib/Accessibility/_metadata.py +++ /dev/null @@ -1,196 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:24:10 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$AXMFiHearingDevicePairedUUIDsDidChangeNotification$AXMFiHearingDeviceStreamingEarDidChangeNotification$""" -enums = """$AXChartContentDirectionBottomToTop@3$AXChartContentDirectionLeftToRight@0$AXChartContentDirectionRadialClockwise@4$AXChartContentDirectionRadialCounterClockwise@5$AXChartContentDirectionRightToLeft@1$AXChartContentDirectionTopToBottom@2$AXCustomContentImportanceDefault@0$AXCustomContentImportanceHigh@1$AXHearingDeviceEarBoth@6$AXHearingDeviceEarLeft@2$AXHearingDeviceEarNone@0$AXHearingDeviceEarRight@4$AXScaleTypeLinear@0$AXScaleTypeLn@2$AXScaleTypeLog10@1$""" -misc.update( - { - "AXChartDescriptorContentDirection": NewType( - "AXChartDescriptorContentDirection", int - ), - "AXHearingDeviceEar": NewType("AXHearingDeviceEar", int), - "AXNumericDataAxisDescriptorScale": NewType( - "AXNumericDataAxisDescriptorScale", int - ), - "AXCustomContentImportance": NewType("AXCustomContentImportance", int), - } -) -misc.update({}) -functions = { - "AXMFiHearingDevicePairedUUIDs": (b"@",), - "AXSupportsBidirectionalAXMFiHearingDeviceStreaming": (b"Z",), - "AXNameFromColor": (b"@^{CGColor=}",), - "AXMFiHearingDeviceStreamingEar": (b"Q",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AXDataSeriesDescriptor", - b"initWithAttributedName:isContinuous:dataPoints:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"AXDataSeriesDescriptor", - b"initWithName:isContinuous:dataPoints:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"AXDataSeriesDescriptor", b"isContinuous", {"retval": {"type": b"Z"}}) - r( - b"AXDataSeriesDescriptor", - b"setIsContinuous:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AXNumericDataAxisDescriptor", - b"initWithAttributedTitle:lowerBound:upperBound:gridlinePositions:valueDescriptionProvider:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"d"}}, - } - } - } - }, - ) - r( - b"AXNumericDataAxisDescriptor", - b"initWithTitle:lowerBound:upperBound:gridlinePositions:valueDescriptionProvider:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"d"}}, - } - } - } - }, - ) - r( - b"AXNumericDataAxisDescriptor", - b"setValueDescriptionProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"accessibilityBrailleMapRenderRegion", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"accessibilityBrailleMapRenderer", - { - "required": True, - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - ) - r( - b"NSObject", - b"accessibilityChartDescriptor", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCustomContent", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"attributedTitle", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"setAccessibilityBrailleMapRenderRegion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityBrailleMapRenderer:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"setAccessibilityChartDescriptor:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCustomContent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAttributedTitle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setTitle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"title", {"required": True, "retval": {"type": b"@"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Accounts/__init__.py b/src/lib/Accounts/__init__.py deleted file mode 100644 index c99f865..0000000 --- a/src/lib/Accounts/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Accounts framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Accounts import _metadata - -sys.modules["Accounts"] = mod = objc.ObjCLazyModule( - "Accounts", - "com.apple.Accounts", - objc.pathForFramework("/System/Library/Frameworks/Accounts.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["Accounts._metadata"] diff --git a/src/lib/Accounts/_metadata.py b/src/lib/Accounts/_metadata.py deleted file mode 100644 index 681cfe9..0000000 --- a/src/lib/Accounts/_metadata.py +++ /dev/null @@ -1,142 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:26:11 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ACAccountStoreDidChangeNotification$ACAccountTypeIdentifierFacebook$ACAccountTypeIdentifierLinkedIn$ACAccountTypeIdentifierSinaWeibo$ACAccountTypeIdentifierTencentWeibo$ACAccountTypeIdentifierTwitter$ACErrorDomain$ACFacebookAppIdKey$ACFacebookAppVersionKey$ACFacebookAudienceEveryone$ACFacebookAudienceFriends$ACFacebookAudienceKey$ACFacebookAudienceOnlyMe$ACFacebookPermissionGroupKey$ACFacebookPermissionGroupRead$ACFacebookPermissionGroupReadWrite$ACFacebookPermissionGroupWrite$ACFacebookPermissionsKey$ACLinkedInAppIdKey$ACLinkedInPermissionsKey$ACTencentWeiboAppIdKey$""" -enums = """$ACAccountCredentialRenewResultFailed@2$ACAccountCredentialRenewResultRejected@1$ACAccountCredentialRenewResultRenewed@0$ACErrorAccessDeniedByProtectionPolicy@10$ACErrorAccessInfoInvalid@8$ACErrorAccountAlreadyExists@5$ACErrorAccountAuthenticationFailed@3$ACErrorAccountMissingRequiredProperty@2$ACErrorAccountNotFound@6$ACErrorAccountTypeInvalid@4$ACErrorClientPermissionDenied@9$ACErrorCoreDataSaveFailed@18$ACErrorCredentialItemNotExpired@23$ACErrorCredentialItemNotFound@22$ACErrorCredentialNotFound@11$ACErrorDeniedByPlugin@17$ACErrorFailedSerializingAccountInfo@19$ACErrorFetchCredentialFailed@12$ACErrorInvalidClientBundleID@16$ACErrorInvalidCommand@20$ACErrorMissingTransportMessageID@21$ACErrorPermissionDenied@7$ACErrorRemoveCredentialFailed@14$ACErrorStoreCredentialFailed@13$ACErrorUnknown@1$ACErrorUpdatingNonexistentAccount@15$""" -misc.update( - { - "ACAccountCredentialRenewResult": NewType( - "ACAccountCredentialRenewResult", int - ), - "ACErrorCode": NewType("ACErrorCode", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"ACAccountStore", - b"removeAccount:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ACAccountStore", - b"renewCredentialsForAccount:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ACAccountStore", - b"requestAccessToAccountsWithType:options:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ACAccountStore", - b"requestAccessToAccountsWithType:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ACAccountStore", - b"saveAccount:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"ACAccountType", b"accessGranted", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AdServices/__init__.py b/src/lib/AdServices/__init__.py deleted file mode 100644 index 28dd699..0000000 --- a/src/lib/AdServices/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AdServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AdServices import _metadata - -sys.modules["AdServices"] = mod = objc.ObjCLazyModule( - "AdServices", - "com.apple.AdServices", - objc.pathForFramework("/System/Library/Frameworks/AdServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["AdServices._metadata"] diff --git a/src/lib/AdServices/_metadata.py b/src/lib/AdServices/_metadata.py deleted file mode 100644 index ee0e216..0000000 --- a/src/lib/AdServices/_metadata.py +++ /dev/null @@ -1,49 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:26:40 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$AAAttributionErrorDomain$""" -enums = """$AAAttributionErrorCodeInternalError@2$AAAttributionErrorCodeNetworkError@1$AAAttributionErrorCodePlatformNotSupported@3$""" -misc.update({"AAAttributionErrorCode": NewType("AAAttributionErrorCode", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AAAttribution", - b"attributionTokenWithError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AdSupport/__init__.py b/src/lib/AdSupport/__init__.py deleted file mode 100644 index 34e0a7c..0000000 --- a/src/lib/AdSupport/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AdSupport framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AdSupport import _metadata - -sys.modules["AdSupport"] = mod = objc.ObjCLazyModule( - "AdSupport", - "com.apple.AdSupport", - objc.pathForFramework("/System/Library/Frameworks/AdSupport.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["AdSupport._metadata"] diff --git a/src/lib/AdSupport/_metadata.py b/src/lib/AdSupport/_metadata.py deleted file mode 100644 index 3a6ea18..0000000 --- a/src/lib/AdSupport/_metadata.py +++ /dev/null @@ -1,49 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:26:56 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"ASIdentifierManager", - b"isAdvertisingTrackingEnabled", - {"retval": {"type": "Z"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AddressBook/__init__.py b/src/lib/AddressBook/__init__.py deleted file mode 100644 index 35cab10..0000000 --- a/src/lib/AddressBook/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the AddressBook framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AddressBook import _metadata -from AddressBook import _AddressBook - -sys.modules["AddressBook"] = mod = objc.ObjCLazyModule( - "AddressBook", - "com.apple.AddressBook.framework", - objc.pathForFramework("/System/Library/Frameworks/AddressBook.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_AddressBook, Foundation), -) - - -del sys.modules["AddressBook._metadata"] diff --git a/src/lib/AddressBook/_metadata.py b/src/lib/AddressBook/_metadata.py deleted file mode 100644 index 6715d34..0000000 --- a/src/lib/AddressBook/_metadata.py +++ /dev/null @@ -1,568 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:27:20 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "ABRecordRef": objc.createStructType( - "AddressBook.ABRecordRef", - b"{__ABBookflags=b1b1b1b1b1b1b1b1b1b1b1b21}", - [ - "hasUnsavedChanges", - "readOnly", - "importMe", - "needConversion", - "cleanedUp", - "importTips", - "restoreFromMetaData", - "prefsNeedSync", - "waitingForReset", - "enforcesConstraints", - "tracksAllSources", - "_reserved", - ], - ), - "ABAddressBookRef": objc.createStructType( - "AddressBook.ABAddressBookRef", b"{__ABAddressBookRef=}", [] - ), - "ABMutableMultiValueRef": objc.createStructType( - "AddressBook.ABMutableMultiValueRef", b"{__ABMultiValue=}", [] - ), - "ABActionEnabledCallback": objc.createStructType( - "AddressBook.ABActionEnabledCallback", b"{__ABMultiValue=}", [] - ), - "ABPickerAttributes": objc.createStructType( - "AddressBook.ABPickerAttributes", b"{OpaqueABPicker=}", [] - ), - "ABGroupRef": objc.createStructType( - "AddressBook.ABGroupRef", b"{__ABGroup=}", [] - ), - "ABSearchElementRef": objc.createStructType( - "AddressBook.ABSearchElementRef", b"{__ABSearchElementRef=}", [] - ), - "ABPersonRef": objc.createStructType( - "AddressBook.ABPersonRef", b"{__ABPerson=}", [] - ), - "ABMultiValueRef": objc.createStructType( - "AddressBook.ABMultiValueRef", b"{__ABMultiValue=}", [] - ), - "ABPeoplePickerSelectionBehavior": objc.createStructType( - "AddressBook.ABPeoplePickerSelectionBehavior", - b"{__ABBookflags=b1b1b1b1b1b1b1b1b1b1b1b21}", - [ - "hasUnsavedChanges", - "readOnly", - "importMe", - "needConversion", - "cleanedUp", - "importTips", - "restoreFromMetaData", - "prefsNeedSync", - "waitingForReset", - "enforcesConstraints", - "tracksAllSources", - "_reserved", - ], - ), - "ABPickerRef": objc.createStructType( - "AddressBook.ABPickerRef", b"{OpaqueABPicker=}", [] - ), - } -) -constants = """$ABAddressBookErrorDomain$ABMultiValueIdentifiersErrorKey$ABPeoplePickerDisplayedPropertyDidChangeNotification$ABPeoplePickerGroupSelectionDidChangeNotification$ABPeoplePickerNameSelectionDidChangeNotification$ABPeoplePickerValueSelectionDidChangeNotification$kABAIMHomeLabel$kABAIMInstantProperty$kABAIMMobileMeLabel$kABAIMWorkLabel$kABAddressCityKey$kABAddressCountryCodeKey$kABAddressCountryKey$kABAddressHomeLabel$kABAddressProperty$kABAddressStateKey$kABAddressStreetKey$kABAddressWorkLabel$kABAddressZIPKey$kABAlternateBirthdayComponentsProperty$kABAnniversaryLabel$kABAssistantLabel$kABBirthdayComponentsProperty$kABBirthdayProperty$kABBrotherLabel$kABCalendarURIsProperty$kABChildLabel$kABCreationDateProperty$kABDatabaseChangedExternallyNotification$kABDatabaseChangedNotification$kABDeletedRecords$kABDepartmentProperty$kABEmailHomeLabel$kABEmailMobileMeLabel$kABEmailProperty$kABEmailWorkLabel$kABFatherLabel$kABFirstNamePhoneticProperty$kABFirstNameProperty$kABFriendLabel$kABGroupNameProperty$kABHomeLabel$kABHomePageLabel$kABHomePageProperty$kABICQHomeLabel$kABICQInstantProperty$kABICQWorkLabel$kABInsertedRecords$kABInstantMessageProperty$kABInstantMessageServiceAIM$kABInstantMessageServiceFacebook$kABInstantMessageServiceGaduGadu$kABInstantMessageServiceGoogleTalk$kABInstantMessageServiceICQ$kABInstantMessageServiceJabber$kABInstantMessageServiceKey$kABInstantMessageServiceMSN$kABInstantMessageServiceQQ$kABInstantMessageServiceSkype$kABInstantMessageServiceYahoo$kABInstantMessageUsernameKey$kABJabberHomeLabel$kABJabberInstantProperty$kABJabberWorkLabel$kABJobTitleProperty$kABLastNamePhoneticProperty$kABLastNameProperty$kABMSNHomeLabel$kABMSNInstantProperty$kABMSNWorkLabel$kABMaidenNameProperty$kABManagerLabel$kABMiddleNamePhoneticProperty$kABMiddleNameProperty$kABMobileMeLabel$kABModificationDateProperty$kABMotherLabel$kABNicknameProperty$kABNoteProperty$kABOrganizationPhoneticProperty$kABOrganizationProperty$kABOtherDateComponentsProperty$kABOtherDatesProperty$kABOtherLabel$kABParentLabel$kABPartnerLabel$kABPersonFlags$kABPhoneHomeFAXLabel$kABPhoneHomeLabel$kABPhoneMainLabel$kABPhoneMobileLabel$kABPhonePagerLabel$kABPhoneProperty$kABPhoneWorkFAXLabel$kABPhoneWorkLabel$kABPhoneiPhoneLabel$kABRelatedNamesProperty$kABSisterLabel$kABSocialProfileProperty$kABSocialProfileServiceFacebook$kABSocialProfileServiceFlickr$kABSocialProfileServiceKey$kABSocialProfileServiceLinkedIn$kABSocialProfileServiceMySpace$kABSocialProfileServiceSinaWeibo$kABSocialProfileServiceTencentWeibo$kABSocialProfileServiceTwitter$kABSocialProfileServiceYelp$kABSocialProfileURLKey$kABSocialProfileUserIdentifierKey$kABSocialProfileUsernameKey$kABSpouseLabel$kABSuffixProperty$kABTitleProperty$kABUIDProperty$kABURLsProperty$kABUpdatedRecords$kABWorkLabel$kABYahooHomeLabel$kABYahooInstantProperty$kABYahooWorkLabel$""" -deprecated_constants = { - "kABMSNInstantProperty": "10.7", - "kABMSNHomeLabel": "10.7", - "kABICQInstantProperty": "10.7", - "kABJabberWorkLabel": "10.7", - "kABYahooInstantProperty": "10.7", - "kABMSNWorkLabel": "10.7", - "kABAIMWorkLabel": "10.7", - "kABYahooWorkLabel": "10.7", - "kABAIMInstantProperty": "10.7", - "kABJabberInstantProperty": "10.7", - "kABICQWorkLabel": "10.7", - "kABYahooHomeLabel": "10.7", - "kABHomePageProperty": "10.4", - "kABICQHomeLabel": "10.7", - "kABJabberHomeLabel": "10.7", - "kABAIMHomeLabel": "10.7", - "kABAIMMobileMeLabel": "10.7", -} -enums = """$ABAddRecordsError@1001$ABMultipleValueSelection@2$ABNoValueSelection@0$ABPropertyReadOnlyError@1014$ABPropertyUnsupportedBySourceError@1013$ABPropertyValueValidationError@1012$ABRemoveRecordsError@1002$ABSingleValueSelection@1$kABArrayProperty@5$kABBitsInBitFieldMatch@11$kABContainsSubString@7$kABContainsSubStringCaseInsensitive@8$kABDataProperty@7$kABDateComponentsProperty@8$kABDateProperty@4$kABDefaultNameOrdering@0$kABDictionaryProperty@6$kABDoesNotContainSubString@12$kABDoesNotContainSubStringCaseInsensitive@13$kABEqual@0$kABEqualCaseInsensitive@6$kABErrorInProperty@0$kABFirstNameFirst@32$kABGreaterThan@4$kABGreaterThanOrEqual@5$kABIntegerProperty@2$kABLastNameFirst@16$kABLessThan@2$kABLessThanOrEqual@3$kABMultiArrayProperty@261$kABMultiDataProperty@263$kABMultiDateComponentsProperty@264$kABMultiDateProperty@260$kABMultiDictionaryProperty@262$kABMultiIntegerProperty@258$kABMultiRealProperty@259$kABMultiStringProperty@257$kABMultiValueMask@256$kABNameOrderingMask@56$kABNotEqual@1$kABNotEqualCaseInsensitive@14$kABNotWithinIntervalAroundToday@19$kABNotWithinIntervalAroundTodayYearless@20$kABNotWithinIntervalFromToday@23$kABNotWithinIntervalFromTodayYearless@24$kABPickerAllowGroupSelection@4$kABPickerAllowMultipleSelection@8$kABPickerMultipleValueSelection@2$kABPickerSingleValueSelection@1$kABPrefixMatch@9$kABPrefixMatchCaseInsensitive@10$kABRealProperty@3$kABSearchAnd@0$kABSearchOr@1$kABShowAsCompany@1$kABShowAsMask@7$kABShowAsPerson@0$kABShowAsResource@2$kABShowAsRoom@3$kABStringProperty@1$kABSuffixMatch@15$kABSuffixMatchCaseInsensitive@16$kABWithinIntervalAroundToday@17$kABWithinIntervalAroundTodayYearless@18$kABWithinIntervalFromToday@21$kABWithinIntervalFromTodayYearless@22$kEventABPeoplePickerDisplayedPropertyChanged@4$kEventABPeoplePickerGroupDoubleClicked@5$kEventABPeoplePickerGroupSelectionChanged@1$kEventABPeoplePickerNameDoubleClicked@6$kEventABPeoplePickerNameSelectionChanged@2$kEventABPeoplePickerValueSelectionChanged@3$kEventClassABPeoplePicker@1633841264$kEventParamABPickerRef@1633841264$""" -misc.update( - { - "_ABPropertyType": NewType("_ABPropertyType", int), - "_ABSearchComparison": NewType("_ABSearchComparison", int), - "_ABSearchConjunction": NewType("_ABSearchConjunction", int), - } -) -misc.update({}) -functions = { - "ABMultiValueReplaceValue": (b"B^{__ABMultiValue=}@q",), - "ABPickerSetDelegate": (b"v^{OpaqueABPicker=}^{OpaqueHIObjectRef=}",), - "ABAddRecord": (b"B^{__ABAddressBookRef=}@",), - "ABPickerClearSearchField": (b"v^{OpaqueABPicker=}",), - "ABPickerSelectGroup": (b"v^{OpaqueABPicker=}^{__ABGroup=}B",), - "ABCopyDefaultCountryCode": ( - b"^{__CFString=}^{__ABAddressBookRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerGetAttributes": (b"I^{OpaqueABPicker=}",), - "ABSave": (b"B^{__ABAddressBookRef=}",), - "ABPersonCreateWithVCardRepresentation": ( - b"^{__ABPerson=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABGroupAddMember": (b"B^{__ABGroup=}^{__ABPerson=}",), - "ABPersonCreateSearchElement": ( - b"^{__ABSearchElementRef=}^{__CFString=}^{__CFString=}^{__CFString=}@q", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueRemove": (b"B^{__ABMultiValue=}q",), - "ABSearchElementMatchesRecord": (b"B^{__ABSearchElementRef=}@",), - "ABRecordCopyRecordType": ( - b"^{__CFString=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerSelectIdentifier": (b"v^{OpaqueABPicker=}^{__ABPerson=}^{__CFString=}B",), - "ABMultiValueCopyPrimaryIdentifier": ( - b"^{__CFString=}^{__ABMultiValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueIndexForIdentifier": (b"q^{__ABMultiValue=}^{__CFString=}",), - "ABPickerSelectRecord": (b"v^{OpaqueABPicker=}@B",), - "ABMultiValueCreateMutableCopy": ( - b"^{__ABMultiValue=}^{__ABMultiValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABRecordRemoveValue": (b"B@^{__CFString=}",), - "ABPickerCopySelectedGroups": ( - b"^{__CFArray=}^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueCopyIdentifierAtIndex": ( - b"^{__CFString=}^{__ABMultiValue=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABCancelLoadingImageDataForTag": (b"vq",), - "ABCopyArrayOfMatchingRecords": ( - b"^{__CFArray=}^{__ABAddressBookRef=}^{__ABSearchElementRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerRemoveProperty": (b"v^{OpaqueABPicker=}^{__CFString=}",), - "ABMultiValueCount": (b"q^{__ABMultiValue=}",), - "ABPickerCopySelectedIdentifiers": ( - b"^{__CFArray=}^{OpaqueABPicker=}^{__ABPerson=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABGroupCreate": (b"^{__ABGroup=}", "", {"retval": {"already_cfretained": True}}), - "ABMultiValueCreateCopy": ( - b"^{__ABMultiValue=}^{__ABMultiValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueAdd": ( - b"B^{__ABMultiValue=}@^{__CFString=}^^{__CFString}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "ABHasUnsavedChanges": (b"B^{__ABAddressBookRef=}",), - "ABMultiValueReplaceLabel": (b"B^{__ABMultiValue=}^{__CFString=}q",), - "ABGroupCopyParentGroups": ( - b"^{__CFArray=}^{__ABGroup=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABGroupSetDistributionIdentifier": ( - b"B^{__ABGroup=}^{__ABPerson=}^{__CFString=}^{__CFString=}", - ), - "ABPickerDeselectRecord": (b"v^{OpaqueABPicker=}@",), - "ABGroupCreateSearchElement": ( - b"^{__ABSearchElementRef=}^{__CFString=}^{__CFString=}^{__CFString=}@q", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABCopyRecordTypeFromUniqueId": ( - b"^{__CFString=}^{__ABAddressBookRef=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABRemoveRecord": (b"B^{__ABAddressBookRef=}@",), - "ABGroupCopyDistributionIdentifier": ( - b"^{__CFString=}^{__ABGroup=}^{__ABPerson=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPersonCopyImageData": ( - b"^{__CFData=}^{__ABPerson=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerDeselectGroup": (b"v^{OpaqueABPicker=}^{__ABGroup=}",), - "ABGroupRemoveGroup": (b"B^{__ABGroup=}^{__ABGroup=}",), - "ABRemoveProperties": (b"q^{__ABAddressBookRef=}^{__CFString=}^{__CFArray=}",), - "ABGroupCopyArrayOfAllSubgroups": ( - b"^{__CFArray=}^{__ABGroup=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueCreate": ( - b"^{__ABMultiValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerSelectInAddressBook": (b"v^{OpaqueABPicker=}",), - "ABGroupCopyArrayOfAllMembers": ( - b"^{__CFArray=}^{__ABGroup=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABSearchElementCreateWithConjunction": ( - b"^{__ABSearchElementRef=}q^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueCopyValueAtIndex": (b"@^{__ABMultiValue=}q",), - "ABPersonSetImageData": (b"B^{__ABPerson=}^{__CFData=}",), - "ABCreateFormattedAddressFromDictionary": ( - b"^{__CFString=}^{__ABAddressBookRef=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABRecordSetValue": (b"B@^{__CFString=}@",), - "ABPickerGetDelegate": (b"^{OpaqueHIObjectRef=}^{OpaqueABPicker=}",), - "ABPersonCreate": (b"^{__ABPerson=}", "", {"retval": {"already_cfretained": True}}), - "ABCopyArrayOfAllPeople": ( - b"^{__CFArray=}^{__ABAddressBookRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerCopyProperties": ( - b"^{__CFArray=}^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABMultiValueSetPrimaryIdentifier": (b"B^{__ABMultiValue=}^{__CFString=}",), - "ABPickerCopyDisplayedProperty": ( - b"^{__CFString=}^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerCopySelectedRecords": ( - b"^{__CFArray=}^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABGroupAddGroup": (b"B^{__ABGroup=}^{__ABGroup=}",), - "ABLocalizedPropertyOrLabel": (b"@@",), - "ABMultiValueCreateMutable": ( - b"^{__ABMultiValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABRecordCreateCopy": (b"@@", "", {"retval": {"already_cfretained": True}}), - "ABGetMe": (b"^{__ABPerson=}^{__ABAddressBookRef=}",), - "ABPickerSetFrame": ( - b"v^{OpaqueABPicker=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "ABAddPropertiesAndTypes": ( - b"q^{__ABAddressBookRef=}^{__CFString=}^{__CFDictionary=}", - ), - "ABCopyRecordForUniqueId": ( - b"@^{__ABAddressBookRef=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABSetMe": (b"v^{__ABAddressBookRef=}^{__ABPerson=}",), - "ABRecordCopyValue": (b"@@^{__CFString=}",), - "ABTypeOfProperty": (b"q^{__ABAddressBookRef=}^{__CFString=}^{__CFString=}",), - "ABMultiValueInsert": ( - b"B^{__ABMultiValue=}@^{__CFString=}q^^{__CFString}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "ABPickerAddProperty": (b"v^{OpaqueABPicker=}^{__CFString=}",), - "ABMultiValueCopyLabelAtIndex": ( - b"^{__CFString=}^{__ABMultiValue=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerChangeAttributes": (b"v^{OpaqueABPicker=}II",), - "ABPickerDeselectAll": (b"v^{OpaqueABPicker=}",), - "ABBeginLoadingImageDataForClient": ( - b"q^{__ABPerson=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFData=}"}, - 1: {"type": b"l"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "ABGetSharedAddressBook": (b"^{__ABAddressBookRef=}",), - "ABRecordIsReadOnly": (b"B@",), - "ABPickerIsVisible": (b"B^{OpaqueABPicker=}",), - "ABRecordCopyUniqueId": ( - b"^{__CFString=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABCopyArrayOfAllGroups": ( - b"^{__CFArray=}^{__ABAddressBookRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerCreate": ( - b"^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABGroupRemoveMember": (b"B^{__ABGroup=}^{__ABPerson=}",), - "ABPickerDeselectIdentifier": (b"v^{OpaqueABPicker=}^{__ABPerson=}^{__CFString=}",), - "ABPickerSetColumnTitle": (b"v^{OpaqueABPicker=}^{__CFString=}^{__CFString=}",), - "ABPickerCopySelectedValues": ( - b"^{__CFArray=}^{OpaqueABPicker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerGetFrame": ( - b"v^{OpaqueABPicker=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "ABMultiValuePropertyType": (b"q^{__ABMultiValue=}",), - "ABPersonCopyVCardRepresentation": ( - b"^{__CFData=}^{__ABPerson=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABCopyArrayOfPropertiesForRecordType": ( - b"^{__CFArray=}^{__ABAddressBookRef=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerCopyColumnTitle": ( - b"^{__CFString=}^{OpaqueABPicker=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerSetVisibility": (b"v^{OpaqueABPicker=}B",), - "ABPersonCopyParentGroups": ( - b"^{__CFArray=}^{__ABPerson=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABCopyLocalizedPropertyOrLabel": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ABPickerEditInAddressBook": (b"v^{OpaqueABPicker=}",), - "ABPickerSetDisplayedProperty": (b"v^{OpaqueABPicker=}^{__CFString=}",), -} -cftypes = [ - ("ABAddressBookRef", b"^{__ABAddressBookRef=}", None, "ABAddressBook"), - ("ABGroupRef", b"^{__ABGroup=}", None, "ABGroup"), - ("ABMultiValueRef", b"^{__ABMultiValue=}", None, "ABMultiValue"), - ("ABMutableMultiValueRef", b"^{__ABMultiValue=}", None, "ABMutableMultiValue"), - ("ABPersonRef", b"^{__ABPerson=}", None, "ABPerson"), - ("ABSearchElementRef", b"^{__ABSearchElementRef=}", None, "ABSearchElement"), - ("ABPickerRef", b"^{OpaqueABPicker}", None, "ABPeoplePickerView"), -] -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"ABAddressBook", b"addRecord:", {"retval": {"type": "Z"}}) - r( - b"ABAddressBook", - b"addRecord:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"ABAddressBook", b"hasUnsavedChanges", {"retval": {"type": "Z"}}) - r(b"ABAddressBook", b"removeRecord:", {"retval": {"type": "Z"}}) - r( - b"ABAddressBook", - b"removeRecord:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"ABAddressBook", b"save", {"retval": {"type": "Z"}}) - r( - b"ABAddressBook", - b"saveAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"ABGroup", b"addMember:", {"retval": {"type": "Z"}}) - r(b"ABGroup", b"addSubgroup:", {"retval": {"type": "Z"}}) - r(b"ABGroup", b"removeMember:", {"retval": {"type": "Z"}}) - r(b"ABGroup", b"removeSubgroup:", {"retval": {"type": "Z"}}) - r( - b"ABGroup", - b"setDistributionIdentifier:forProperty:person:", - {"retval": {"type": "Z"}}, - ) - r(b"ABMutableMultiValue", b"removeValueAndLabelAtIndex:", {"retval": {"type": "Z"}}) - r( - b"ABMutableMultiValue", - b"replaceLabelAtIndex:withLabel:", - {"retval": {"type": "Z"}}, - ) - r( - b"ABMutableMultiValue", - b"replaceValueAtIndex:withValue:", - {"retval": {"type": "Z"}}, - ) - r(b"ABMutableMultiValue", b"setPrimaryIdentifier:", {"retval": {"type": "Z"}}) - r(b"ABPeoplePickerView", b"allowsGroupSelection", {"retval": {"type": "Z"}}) - r(b"ABPeoplePickerView", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r( - b"ABPeoplePickerView", - b"selectGroup:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"ABPeoplePickerView", - b"selectIdentifier:forPerson:byExtendingSelection:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"ABPeoplePickerView", - b"selectRecord:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"ABPeoplePickerView", - b"setAllowsGroupSelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ABPeoplePickerView", - b"setAllowsMultipleSelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ABPeoplePickerView", - b"setGroupDoubleAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"ABPeoplePickerView", - b"setNameDoubleAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"ABPerson", b"setImageData:", {"retval": {"type": "Z"}}) - r(b"ABPersonView", b"editing", {"retval": {"type": "Z"}}) - r(b"ABPersonView", b"setEditing:", {"arguments": {2: {"type": "Z"}}}) - r( - b"ABPersonView", - b"setShouldShowLinkedPeople:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"ABPersonView", b"shouldShowLinkedPeople", {"retval": {"type": b"Z"}}) - r(b"ABRecord", b"isReadOnly", {"retval": {"type": "Z"}}) - r(b"ABRecord", b"removeValueForProperty:", {"retval": {"type": "Z"}}) - r(b"ABRecord", b"setValue:forProperty:", {"retval": {"type": "Z"}}) - r( - b"ABRecord", - b"setValue:forProperty:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"ABSearchElement", b"matchesRecord:", {"retval": {"type": "Z"}}) - r(b"NSObject", b"actionProperty", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"consumeImageData:forTag:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"performActionForPerson:identifier:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"shouldEnableActionForPerson:identifier:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"titleForPerson:identifier:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "ABActionDelegate": objc.informal_protocol( - "ABActionDelegate", - [ - objc.selector( - None, - b"shouldEnableActionForPerson:identifier:", - b"Z@:@@", - isRequired=False, - ), - objc.selector(None, b"actionProperty", b"@@:", isRequired=False), - objc.selector( - None, b"performActionForPerson:identifier:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"titleForPerson:identifier:", b"@@:@@", isRequired=False - ), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/AppKit/__init__.py b/src/lib/AppKit/__init__.py deleted file mode 100644 index 8a69399..0000000 --- a/src/lib/AppKit/__init__.py +++ /dev/null @@ -1,187 +0,0 @@ -""" -Python mapping for the AppKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -# Manually written wrappers: -import Foundation -import objc -from AppKit import _metadata -from AppKit._inlines import _inline_list_ - - -def _setup_conveniences(): - def fontdescriptor_get(self, key, default=None): - value = self.objectForKey_(key) - if value is None: - return default - return value - - def fontdescriptor_getitem(self, key, default=None): - value = self.objectForKey_(key) - if value is None: - raise KeyError(key) - return value - - objc.addConvenienceForClass( - "NSFontDescriptor", - (("__getitem__", fontdescriptor_getitem), ("get", fontdescriptor_get)), - ) - - -_setup_conveniences() - - -def NSDictionaryOfVariableBindings(*names): - """ - Return a dictionary with the given names and there values. - """ - import sys - - variables = sys._getframe(1).f_locals - - return {nm: variables[nm] for nm in names} - - -sys.modules["AppKit"] = mod = objc.ObjCLazyModule( - "AppKit", - "com.apple.AppKit", - objc.pathForFramework("/System/Library/Frameworks/AppKit.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "NSDictionaryOfVariableBindings": NSDictionaryOfVariableBindings, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - -# NSApp is a global variable that can be changed in ObjC, -# somewhat emulate that (it is *not* possible to assign to -# NSApp in Python) -from AppKit._nsapp import NSApp # isort:skip # noqa: E402 - -mod.NSApp = NSApp - -import AppKit._AppKit # isort:skip # noqa: E402 - -for nm in dir(AppKit._AppKit): - setattr(mod, nm, getattr(AppKit._AppKit, nm)) - -# Fix types for a number of character constants -mod.NSEnterCharacter = chr(mod.NSEnterCharacter) -mod.NSBackspaceCharacter = chr(mod.NSBackspaceCharacter) -mod.NSTabCharacter = chr(mod.NSTabCharacter) -mod.NSNewlineCharacter = chr(mod.NSNewlineCharacter) -mod.NSFormFeedCharacter = chr(mod.NSFormFeedCharacter) -mod.NSCarriageReturnCharacter = chr(mod.NSCarriageReturnCharacter) -mod.NSBackTabCharacter = chr(mod.NSBackTabCharacter) -mod.NSDeleteCharacter = chr(mod.NSDeleteCharacter) -mod.NSLineSeparatorCharacter = chr(mod.NSLineSeparatorCharacter) -mod.NSParagraphSeparatorCharacter = chr(mod.NSParagraphSeparatorCharacter) - - -for nm in [ - "NSUpArrowFunctionKey", - "NSDownArrowFunctionKey", - "NSLeftArrowFunctionKey", - "NSRightArrowFunctionKey", - "NSF1FunctionKey", - "NSF2FunctionKey", - "NSF3FunctionKey", - "NSF4FunctionKey", - "NSF5FunctionKey", - "NSF6FunctionKey", - "NSF7FunctionKey", - "NSF8FunctionKey", - "NSF9FunctionKey", - "NSF10FunctionKey", - "NSF11FunctionKey", - "NSF12FunctionKey", - "NSF13FunctionKey", - "NSF14FunctionKey", - "NSF15FunctionKey", - "NSF16FunctionKey", - "NSF17FunctionKey", - "NSF18FunctionKey", - "NSF19FunctionKey", - "NSF20FunctionKey", - "NSF21FunctionKey", - "NSF22FunctionKey", - "NSF23FunctionKey", - "NSF24FunctionKey", - "NSF25FunctionKey", - "NSF26FunctionKey", - "NSF27FunctionKey", - "NSF28FunctionKey", - "NSF29FunctionKey", - "NSF30FunctionKey", - "NSF31FunctionKey", - "NSF32FunctionKey", - "NSF33FunctionKey", - "NSF34FunctionKey", - "NSF35FunctionKey", - "NSInsertFunctionKey", - "NSDeleteFunctionKey", - "NSHomeFunctionKey", - "NSBeginFunctionKey", - "NSEndFunctionKey", - "NSPageUpFunctionKey", - "NSPageDownFunctionKey", - "NSPrintScreenFunctionKey", - "NSScrollLockFunctionKey", - "NSPauseFunctionKey", - "NSSysReqFunctionKey", - "NSBreakFunctionKey", - "NSResetFunctionKey", - "NSStopFunctionKey", - "NSMenuFunctionKey", - "NSUserFunctionKey", - "NSSystemFunctionKey", - "NSPrintFunctionKey", - "NSClearLineFunctionKey", - "NSClearDisplayFunctionKey", - "NSInsertLineFunctionKey", - "NSDeleteLineFunctionKey", - "NSInsertCharFunctionKey", - "NSDeleteCharFunctionKey", - "NSPrevFunctionKey", - "NSNextFunctionKey", - "NSSelectFunctionKey", - "NSExecuteFunctionKey", - "NSUndoFunctionKey", - "NSRedoFunctionKey", - "NSFindFunctionKey", - "NSHelpFunctionKey", - "NSModeSwitchFunctionKey", -]: - try: - setattr(mod, nm, chr(getattr(mod, nm))) - except AttributeError: - pass - -try: - mod.NSImageNameApplicationIcon -except AttributeError: - mod.NSImageNameApplicationIcon = "NSApplicationIcon" - -if objc.arch == "arm64": - # XXX: Temporary adjustment until the metadata - # is updated - mod.NSImageResizingModeStretch = 1 - mod.NSImageResizingModeTile = 0 - - mod.NSTextAlignmentCenter = 1 - mod.NSTextAlignmentRight = 2 - -mod.NSRightTextAlignment = mod.NSTextAlignmentRight -mod.NSCenterTextAlignment = mod.NSTextAlignmentCenter - - -del sys.modules["AppKit._metadata"] diff --git a/src/lib/AppKit/_metadata.py b/src/lib/AppKit/_metadata.py deleted file mode 100644 index e7fc285..0000000 --- a/src/lib/AppKit/_metadata.py +++ /dev/null @@ -1,23328 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Wed Feb 23 12:13:08 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "NSDirectionalEdgeInsets": objc.createStructType( - "AppKit.NSDirectionalEdgeInsets", - b"{NSDirectionalEdgeInsets=dddd}", - ["top", "leading", "bottom", "trailing"], - ), - "NSOpenGLPixelFormatAuxiliary": objc.createStructType( - "AppKit.NSOpenGLPixelFormatAuxiliary", b"{_CGLPixelFormatObject=}", [] - ), - "NSScreenAuxiliaryOpaque": objc.createStructType( - "AppKit.NSScreenAuxiliaryOpaque", b"{NSScreenAuxiliary=}", [] - ), - "NSOpenGLContextAuxiliary": objc.createStructType( - "AppKit.NSOpenGLContextAuxiliary", b"{_CGLContextObject=}", [] - ), - } -) -constants = """$NSAbortModalException$NSAbortPrintingException$NSAboutPanelOptionApplicationIcon$NSAboutPanelOptionApplicationName$NSAboutPanelOptionApplicationVersion$NSAboutPanelOptionCredits$NSAboutPanelOptionVersion$NSAccessibilityActivationPointAttribute$NSAccessibilityAllowedValuesAttribute$NSAccessibilityAlternateUIVisibleAttribute$NSAccessibilityAnnotationElement$NSAccessibilityAnnotationLabel$NSAccessibilityAnnotationLocation$NSAccessibilityAnnotationTextAttribute$NSAccessibilityAnnouncementKey$NSAccessibilityAnnouncementRequestedNotification$NSAccessibilityApplicationActivatedNotification$NSAccessibilityApplicationDeactivatedNotification$NSAccessibilityApplicationHiddenNotification$NSAccessibilityApplicationRole$NSAccessibilityApplicationShownNotification$NSAccessibilityAscendingSortDirectionValue$NSAccessibilityAttachmentTextAttribute$NSAccessibilityAttributedStringForRangeParameterizedAttribute$NSAccessibilityAutocorrectedTextAttribute$NSAccessibilityBackgroundColorTextAttribute$NSAccessibilityBoundsForRangeParameterizedAttribute$NSAccessibilityBrowserRole$NSAccessibilityBusyIndicatorRole$NSAccessibilityButtonRole$NSAccessibilityCancelAction$NSAccessibilityCancelButtonAttribute$NSAccessibilityCellForColumnAndRowParameterizedAttribute$NSAccessibilityCellRole$NSAccessibilityCenterTabStopMarkerTypeValue$NSAccessibilityCentimetersUnitValue$NSAccessibilityCheckBoxRole$NSAccessibilityChildrenAttribute$NSAccessibilityClearButtonAttribute$NSAccessibilityCloseButtonAttribute$NSAccessibilityCloseButtonSubrole$NSAccessibilityCollectionListSubrole$NSAccessibilityColorWellRole$NSAccessibilityColumnCountAttribute$NSAccessibilityColumnHeaderUIElementsAttribute$NSAccessibilityColumnIndexRangeAttribute$NSAccessibilityColumnRole$NSAccessibilityColumnTitlesAttribute$NSAccessibilityColumnsAttribute$NSAccessibilityComboBoxRole$NSAccessibilityConfirmAction$NSAccessibilityContainsProtectedContentAttribute$NSAccessibilityContentListSubrole$NSAccessibilityContentsAttribute$NSAccessibilityCreatedNotification$NSAccessibilityCriticalValueAttribute$NSAccessibilityCustomTextAttribute$NSAccessibilityDecimalTabStopMarkerTypeValue$NSAccessibilityDecrementAction$NSAccessibilityDecrementArrowSubrole$NSAccessibilityDecrementButtonAttribute$NSAccessibilityDecrementPageSubrole$NSAccessibilityDefaultButtonAttribute$NSAccessibilityDefinitionListSubrole$NSAccessibilityDeleteAction$NSAccessibilityDescendingSortDirectionValue$NSAccessibilityDescriptionAttribute$NSAccessibilityDescriptionListSubrole$NSAccessibilityDialogSubrole$NSAccessibilityDisclosedByRowAttribute$NSAccessibilityDisclosedRowsAttribute$NSAccessibilityDisclosingAttribute$NSAccessibilityDisclosureLevelAttribute$NSAccessibilityDisclosureTriangleRole$NSAccessibilityDocumentAttribute$NSAccessibilityDrawerCreatedNotification$NSAccessibilityDrawerRole$NSAccessibilityEditedAttribute$NSAccessibilityEnabledAttribute$NSAccessibilityErrorCodeExceptionInfo$NSAccessibilityException$NSAccessibilityExpandedAttribute$NSAccessibilityExtrasMenuBarAttribute$NSAccessibilityFilenameAttribute$NSAccessibilityFirstLineIndentMarkerTypeValue$NSAccessibilityFloatingWindowSubrole$NSAccessibilityFocusedAttribute$NSAccessibilityFocusedUIElementAttribute$NSAccessibilityFocusedUIElementChangedNotification$NSAccessibilityFocusedWindowAttribute$NSAccessibilityFocusedWindowChangedNotification$NSAccessibilityFontFamilyKey$NSAccessibilityFontNameKey$NSAccessibilityFontSizeKey$NSAccessibilityFontTextAttribute$NSAccessibilityForegroundColorTextAttribute$NSAccessibilityFrontmostAttribute$NSAccessibilityFullScreenButtonAttribute$NSAccessibilityFullScreenButtonSubrole$NSAccessibilityGridRole$NSAccessibilityGroupRole$NSAccessibilityGrowAreaAttribute$NSAccessibilityGrowAreaRole$NSAccessibilityHandleRole$NSAccessibilityHandlesAttribute$NSAccessibilityHeadIndentMarkerTypeValue$NSAccessibilityHeaderAttribute$NSAccessibilityHelpAttribute$NSAccessibilityHelpTagCreatedNotification$NSAccessibilityHelpTagRole$NSAccessibilityHiddenAttribute$NSAccessibilityHorizontalOrientationValue$NSAccessibilityHorizontalScrollBarAttribute$NSAccessibilityHorizontalUnitDescriptionAttribute$NSAccessibilityHorizontalUnitsAttribute$NSAccessibilityHorizontialUnitDescriptionAttribute$NSAccessibilityHorizontialUnitsAttribute$NSAccessibilityIdentifierAttribute$NSAccessibilityImageRole$NSAccessibilityInchesUnitValue$NSAccessibilityIncrementAction$NSAccessibilityIncrementArrowSubrole$NSAccessibilityIncrementButtonAttribute$NSAccessibilityIncrementPageSubrole$NSAccessibilityIncrementorRole$NSAccessibilityIndexAttribute$NSAccessibilityInsertionPointLineNumberAttribute$NSAccessibilityLabelUIElementsAttribute$NSAccessibilityLabelValueAttribute$NSAccessibilityLanguageTextAttribute$NSAccessibilityLayoutAreaRole$NSAccessibilityLayoutChangedNotification$NSAccessibilityLayoutItemRole$NSAccessibilityLayoutPointForScreenPointParameterizedAttribute$NSAccessibilityLayoutSizeForScreenSizeParameterizedAttribute$NSAccessibilityLeftTabStopMarkerTypeValue$NSAccessibilityLevelIndicatorRole$NSAccessibilityLineForIndexParameterizedAttribute$NSAccessibilityLinkRole$NSAccessibilityLinkTextAttribute$NSAccessibilityLinkedUIElementsAttribute$NSAccessibilityListItemIndexTextAttribute$NSAccessibilityListItemLevelTextAttribute$NSAccessibilityListItemPrefixTextAttribute$NSAccessibilityListRole$NSAccessibilityMainAttribute$NSAccessibilityMainWindowAttribute$NSAccessibilityMainWindowChangedNotification$NSAccessibilityMarkedMisspelledTextAttribute$NSAccessibilityMarkerGroupUIElementAttribute$NSAccessibilityMarkerTypeAttribute$NSAccessibilityMarkerTypeDescriptionAttribute$NSAccessibilityMarkerUIElementsAttribute$NSAccessibilityMarkerValuesAttribute$NSAccessibilityMatteContentUIElementAttribute$NSAccessibilityMatteHoleAttribute$NSAccessibilityMatteRole$NSAccessibilityMaxValueAttribute$NSAccessibilityMenuBarAttribute$NSAccessibilityMenuBarItemRole$NSAccessibilityMenuBarRole$NSAccessibilityMenuButtonRole$NSAccessibilityMenuItemRole$NSAccessibilityMenuRole$NSAccessibilityMinValueAttribute$NSAccessibilityMinimizeButtonAttribute$NSAccessibilityMinimizeButtonSubrole$NSAccessibilityMinimizedAttribute$NSAccessibilityMisspelledTextAttribute$NSAccessibilityModalAttribute$NSAccessibilityMovedNotification$NSAccessibilityNextContentsAttribute$NSAccessibilityNumberOfCharactersAttribute$NSAccessibilityOrderedByRowAttribute$NSAccessibilityOrientationAttribute$NSAccessibilityOutlineRole$NSAccessibilityOutlineRowSubrole$NSAccessibilityOverflowButtonAttribute$NSAccessibilityPageRole$NSAccessibilityParentAttribute$NSAccessibilityPicasUnitValue$NSAccessibilityPickAction$NSAccessibilityPlaceholderValueAttribute$NSAccessibilityPointsUnitValue$NSAccessibilityPopUpButtonRole$NSAccessibilityPopoverRole$NSAccessibilityPositionAttribute$NSAccessibilityPressAction$NSAccessibilityPreviousContentsAttribute$NSAccessibilityPriorityKey$NSAccessibilityProgressIndicatorRole$NSAccessibilityProxyAttribute$NSAccessibilityRTFForRangeParameterizedAttribute$NSAccessibilityRadioButtonRole$NSAccessibilityRadioGroupRole$NSAccessibilityRaiseAction$NSAccessibilityRangeForIndexParameterizedAttribute$NSAccessibilityRangeForLineParameterizedAttribute$NSAccessibilityRangeForPositionParameterizedAttribute$NSAccessibilityRatingIndicatorSubrole$NSAccessibilityRelevanceIndicatorRole$NSAccessibilityRequiredAttribute$NSAccessibilityResizedNotification$NSAccessibilityRightTabStopMarkerTypeValue$NSAccessibilityRoleAttribute$NSAccessibilityRoleDescriptionAttribute$NSAccessibilityRowCollapsedNotification$NSAccessibilityRowCountAttribute$NSAccessibilityRowCountChangedNotification$NSAccessibilityRowExpandedNotification$NSAccessibilityRowHeaderUIElementsAttribute$NSAccessibilityRowIndexRangeAttribute$NSAccessibilityRowRole$NSAccessibilityRowsAttribute$NSAccessibilityRulerMarkerRole$NSAccessibilityRulerRole$NSAccessibilityScreenPointForLayoutPointParameterizedAttribute$NSAccessibilityScreenSizeForLayoutSizeParameterizedAttribute$NSAccessibilityScrollAreaRole$NSAccessibilityScrollBarRole$NSAccessibilitySearchButtonAttribute$NSAccessibilitySearchFieldSubrole$NSAccessibilitySearchMenuAttribute$NSAccessibilitySectionListSubrole$NSAccessibilitySecureTextFieldSubrole$NSAccessibilitySelectedAttribute$NSAccessibilitySelectedCellsAttribute$NSAccessibilitySelectedCellsChangedNotification$NSAccessibilitySelectedChildrenAttribute$NSAccessibilitySelectedChildrenChangedNotification$NSAccessibilitySelectedChildrenMovedNotification$NSAccessibilitySelectedColumnsAttribute$NSAccessibilitySelectedColumnsChangedNotification$NSAccessibilitySelectedRowsAttribute$NSAccessibilitySelectedRowsChangedNotification$NSAccessibilitySelectedTextAttribute$NSAccessibilitySelectedTextChangedNotification$NSAccessibilitySelectedTextRangeAttribute$NSAccessibilitySelectedTextRangesAttribute$NSAccessibilityServesAsTitleForUIElementsAttribute$NSAccessibilityShadowTextAttribute$NSAccessibilitySharedCharacterRangeAttribute$NSAccessibilitySharedFocusElementsAttribute$NSAccessibilitySharedTextUIElementsAttribute$NSAccessibilitySheetCreatedNotification$NSAccessibilitySheetRole$NSAccessibilityShowAlternateUIAction$NSAccessibilityShowDefaultUIAction$NSAccessibilityShowMenuAction$NSAccessibilityShownMenuAttribute$NSAccessibilitySizeAttribute$NSAccessibilitySliderRole$NSAccessibilitySortButtonRole$NSAccessibilitySortButtonSubrole$NSAccessibilitySortDirectionAttribute$NSAccessibilitySplitGroupRole$NSAccessibilitySplitterRole$NSAccessibilitySplittersAttribute$NSAccessibilityStandardWindowSubrole$NSAccessibilityStaticTextRole$NSAccessibilityStrikethroughColorTextAttribute$NSAccessibilityStrikethroughTextAttribute$NSAccessibilityStringForRangeParameterizedAttribute$NSAccessibilityStyleRangeForIndexParameterizedAttribute$NSAccessibilitySubroleAttribute$NSAccessibilitySuperscriptTextAttribute$NSAccessibilitySwitchSubrole$NSAccessibilitySystemDialogSubrole$NSAccessibilitySystemFloatingWindowSubrole$NSAccessibilitySystemWideRole$NSAccessibilityTabButtonSubrole$NSAccessibilityTabGroupRole$NSAccessibilityTableRole$NSAccessibilityTableRowSubrole$NSAccessibilityTabsAttribute$NSAccessibilityTailIndentMarkerTypeValue$NSAccessibilityTextAlignmentAttribute$NSAccessibilityTextAreaRole$NSAccessibilityTextAttachmentSubrole$NSAccessibilityTextFieldRole$NSAccessibilityTextLinkSubrole$NSAccessibilityTimelineSubrole$NSAccessibilityTitleAttribute$NSAccessibilityTitleChangedNotification$NSAccessibilityTitleUIElementAttribute$NSAccessibilityToggleSubrole$NSAccessibilityToolbarButtonAttribute$NSAccessibilityToolbarButtonSubrole$NSAccessibilityToolbarRole$NSAccessibilityTopLevelUIElementAttribute$NSAccessibilityUIElementDestroyedNotification$NSAccessibilityUIElementsKey$NSAccessibilityURLAttribute$NSAccessibilityUnderlineColorTextAttribute$NSAccessibilityUnderlineTextAttribute$NSAccessibilityUnitDescriptionAttribute$NSAccessibilityUnitsAttribute$NSAccessibilityUnitsChangedNotification$NSAccessibilityUnknownMarkerTypeValue$NSAccessibilityUnknownOrientationValue$NSAccessibilityUnknownRole$NSAccessibilityUnknownSortDirectionValue$NSAccessibilityUnknownSubrole$NSAccessibilityUnknownUnitValue$NSAccessibilityValueAttribute$NSAccessibilityValueChangedNotification$NSAccessibilityValueDescriptionAttribute$NSAccessibilityValueIndicatorRole$NSAccessibilityVerticalOrientationValue$NSAccessibilityVerticalScrollBarAttribute$NSAccessibilityVerticalUnitDescriptionAttribute$NSAccessibilityVerticalUnitsAttribute$NSAccessibilityVisibleCellsAttribute$NSAccessibilityVisibleCharacterRangeAttribute$NSAccessibilityVisibleChildrenAttribute$NSAccessibilityVisibleColumnsAttribute$NSAccessibilityVisibleNameKey$NSAccessibilityVisibleRowsAttribute$NSAccessibilityWarningValueAttribute$NSAccessibilityWindowAttribute$NSAccessibilityWindowCreatedNotification$NSAccessibilityWindowDeminiaturizedNotification$NSAccessibilityWindowMiniaturizedNotification$NSAccessibilityWindowMovedNotification$NSAccessibilityWindowResizedNotification$NSAccessibilityWindowRole$NSAccessibilityWindowsAttribute$NSAccessibilityZoomButtonAttribute$NSAccessibilityZoomButtonSubrole$NSAlignmentBinding$NSAllRomanInputSourcesLocaleIdentifier$NSAllowsEditingMultipleValuesSelectionBindingOption$NSAllowsNullArgumentBindingOption$NSAlternateImageBinding$NSAlternateTitleBinding$NSAlwaysPresentsApplicationModalAlertsBindingOption$NSAnimateBinding$NSAnimationDelayBinding$NSAnimationProgressMark$NSAnimationProgressMarkNotification$NSAnimationTriggerOrderIn$NSAnimationTriggerOrderOut$NSAntialiasThresholdChangedNotification$NSApp$NSAppKitIgnoredException$NSAppKitVersionNumber@d$NSAppKitVirtualMemoryException$NSAppearanceDocumentAttribute$NSAppearanceNameAccessibilityHighContrastAqua$NSAppearanceNameAccessibilityHighContrastDarkAqua$NSAppearanceNameAccessibilityHighContrastVibrantDark$NSAppearanceNameAccessibilityHighContrastVibrantLight$NSAppearanceNameAqua$NSAppearanceNameDarkAqua$NSAppearanceNameLightContent$NSAppearanceNameVibrantDark$NSAppearanceNameVibrantLight$NSApplicationDidBecomeActiveNotification$NSApplicationDidChangeOcclusionStateNotification$NSApplicationDidChangeScreenParametersNotification$NSApplicationDidFinishLaunchingNotification$NSApplicationDidFinishRestoringWindowsNotification$NSApplicationDidHideNotification$NSApplicationDidResignActiveNotification$NSApplicationDidUnhideNotification$NSApplicationDidUpdateNotification$NSApplicationFileType$NSApplicationLaunchIsDefaultLaunchKey$NSApplicationLaunchRemoteNotificationKey$NSApplicationLaunchUserNotificationKey$NSApplicationProtectedDataDidBecomeAvailableNotification$NSApplicationProtectedDataWillBecomeUnavailableNotification$NSApplicationWillBecomeActiveNotification$NSApplicationWillFinishLaunchingNotification$NSApplicationWillHideNotification$NSApplicationWillResignActiveNotification$NSApplicationWillTerminateNotification$NSApplicationWillUnhideNotification$NSApplicationWillUpdateNotification$NSArgumentBinding$NSAttachmentAttributeName$NSAttributedStringBinding$NSAuthorDocumentAttribute$NSBackgroundColorAttributeName$NSBackgroundColorDocumentAttribute$NSBackingPropertyOldColorSpaceKey$NSBackingPropertyOldScaleFactorKey$NSBadBitmapParametersException$NSBadComparisonException$NSBadRTFColorTableException$NSBadRTFDirectiveException$NSBadRTFFontTableException$NSBadRTFStyleSheetException$NSBaseURLDocumentOption$NSBaselineOffsetAttributeName$NSBlack@d$NSBottomMarginDocumentAttribute$NSBrowserColumnConfigurationDidChangeNotification$NSBrowserIllegalDelegateException$NSCalibratedBlackColorSpace$NSCalibratedRGBColorSpace$NSCalibratedWhiteColorSpace$NSCategoryDocumentAttribute$NSCharacterEncodingDocumentAttribute$NSCharacterEncodingDocumentOption$NSCharacterShapeAttributeName$NSCocoaVersionDocumentAttribute$NSCollectionElementKindInterItemGapIndicator$NSCollectionElementKindSectionFooter$NSCollectionElementKindSectionHeader$NSColorListDidChangeNotification$NSColorListIOException$NSColorListNotEditableException$NSColorPanelColorDidChangeNotification$NSColorPboardType$NSComboBoxSelectionDidChangeNotification$NSComboBoxSelectionIsChangingNotification$NSComboBoxWillDismissNotification$NSComboBoxWillPopUpNotification$NSCommentDocumentAttribute$NSCompanyDocumentAttribute$NSConditionallySetsEditableBindingOption$NSConditionallySetsEnabledBindingOption$NSConditionallySetsHiddenBindingOption$NSContentArrayBinding$NSContentArrayForMultipleSelectionBinding$NSContentBinding$NSContentDictionaryBinding$NSContentHeightBinding$NSContentObjectBinding$NSContentObjectsBinding$NSContentPlacementTagBindingOption$NSContentSetBinding$NSContentValuesBinding$NSContentWidthBinding$NSContextHelpModeDidActivateNotification$NSContextHelpModeDidDeactivateNotification$NSContinuouslyUpdatesValueBindingOption$NSControlTextDidBeginEditingNotification$NSControlTextDidChangeNotification$NSControlTextDidEndEditingNotification$NSControlTintDidChangeNotification$NSConvertedDocumentAttribute$NSCopyrightDocumentAttribute$NSCreatesSortDescriptorBindingOption$NSCreationTimeDocumentAttribute$NSCriticalValueBinding$NSCursorAttributeName$NSCustomColorSpace$NSDarkGray@d$NSDataBinding$NSDefaultAttributesDocumentAttribute$NSDefaultAttributesDocumentOption$NSDefaultTabIntervalDocumentAttribute$NSDefinitionPresentationTypeDictionaryApplication$NSDefinitionPresentationTypeKey$NSDefinitionPresentationTypeOverlay$NSDeletesObjectsOnRemoveBindingsOption$NSDeviceBitsPerSample$NSDeviceBlackColorSpace$NSDeviceCMYKColorSpace$NSDeviceColorSpaceName$NSDeviceIsPrinter$NSDeviceIsScreen$NSDeviceRGBColorSpace$NSDeviceResolution$NSDeviceSize$NSDeviceWhiteColorSpace$NSDirectionalEdgeInsetsZero@{NSDirectionalEdgeInsets=dddd}$NSDirectoryFileType$NSDisplayNameBindingOption$NSDisplayPatternBindingOption$NSDisplayPatternTitleBinding$NSDisplayPatternValueBinding$NSDocFormatTextDocumentType$NSDocumentEditedBinding$NSDocumentTypeDocumentAttribute$NSDocumentTypeDocumentOption$NSDoubleClickArgumentBinding$NSDoubleClickTargetBinding$NSDragPboard$NSDraggingException$NSDraggingImageComponentIconKey$NSDraggingImageComponentLabelKey$NSDrawerDidCloseNotification$NSDrawerDidOpenNotification$NSDrawerWillCloseNotification$NSDrawerWillOpenNotification$NSEditableBinding$NSEditorDocumentAttribute$NSEnabledBinding$NSEventTrackingRunLoopMode$NSExcludedElementsDocumentAttribute$NSExcludedKeysBinding$NSExpansionAttributeName$NSFileContentsPboardType$NSFileTypeDocumentAttribute$NSFileTypeDocumentOption$NSFilenamesPboardType$NSFilesPromisePboardType$NSFilesystemFileType$NSFilterPredicateBinding$NSFindPanelCaseInsensitiveSearch$NSFindPanelSearchOptionsPboardType$NSFindPanelSubstringMatch$NSFindPboard$NSFontAttributeName$NSFontBinding$NSFontBoldBinding$NSFontCascadeListAttribute$NSFontCharacterSetAttribute$NSFontCollectionActionKey$NSFontCollectionAllFonts$NSFontCollectionDidChangeNotification$NSFontCollectionDisallowAutoActivationOption$NSFontCollectionFavorites$NSFontCollectionIncludeDisabledFontsOption$NSFontCollectionNameKey$NSFontCollectionOldNameKey$NSFontCollectionRecentlyUsed$NSFontCollectionRemoveDuplicatesOption$NSFontCollectionUser$NSFontCollectionVisibilityKey$NSFontCollectionWasHidden$NSFontCollectionWasRenamed$NSFontCollectionWasShown$NSFontColorAttribute$NSFontDescriptorSystemDesignDefault$NSFontDescriptorSystemDesignMonospaced$NSFontDescriptorSystemDesignRounded$NSFontDescriptorSystemDesignSerif$NSFontFaceAttribute$NSFontFamilyAttribute$NSFontFamilyNameBinding$NSFontFeatureSelectorIdentifierKey$NSFontFeatureSettingsAttribute$NSFontFeatureTypeIdentifierKey$NSFontFixedAdvanceAttribute$NSFontIdentityMatrix@^d$NSFontItalicBinding$NSFontMatrixAttribute$NSFontNameAttribute$NSFontNameBinding$NSFontPboard$NSFontPboardType$NSFontSetChangedNotification$NSFontSizeAttribute$NSFontSizeBinding$NSFontSlantTrait$NSFontSymbolicTrait$NSFontTextStyleBody$NSFontTextStyleCallout$NSFontTextStyleCaption1$NSFontTextStyleCaption2$NSFontTextStyleFootnote$NSFontTextStyleHeadline$NSFontTextStyleLargeTitle$NSFontTextStyleSubheadline$NSFontTextStyleTitle1$NSFontTextStyleTitle2$NSFontTextStyleTitle3$NSFontTraitsAttribute$NSFontUnavailableException$NSFontVariationAttribute$NSFontVariationAxisDefaultValueKey$NSFontVariationAxisIdentifierKey$NSFontVariationAxisMaximumValueKey$NSFontVariationAxisMinimumValueKey$NSFontVariationAxisNameKey$NSFontVisibleNameAttribute$NSFontWeightBlack@d$NSFontWeightBold@d$NSFontWeightHeavy@d$NSFontWeightLight@d$NSFontWeightMedium@d$NSFontWeightRegular@d$NSFontWeightSemibold@d$NSFontWeightThin@d$NSFontWeightTrait$NSFontWeightUltraLight@d$NSFontWidthTrait$NSForegroundColorAttributeName$NSFullScreenModeAllScreens$NSFullScreenModeApplicationPresentationOptions$NSFullScreenModeSetting$NSFullScreenModeWindowLevel$NSGeneralPboard$NSGlyphInfoAttributeName$NSGraphicsContextDestinationAttributeName$NSGraphicsContextPDFFormat$NSGraphicsContextPSFormat$NSGraphicsContextRepresentationFormatAttributeName$NSGridViewSizeForContent@d$NSHTMLPboardType$NSHTMLTextDocumentType$NSHandlesContentAsCompoundValueBindingOption$NSHeaderTitleBinding$NSHiddenBinding$NSHyphenationFactorDocumentAttribute$NSIllegalSelectorException$NSImageBinding$NSImageCacheException$NSImageColorSyncProfileData$NSImageCompressionFactor$NSImageCompressionMethod$NSImageCurrentFrame$NSImageCurrentFrameDuration$NSImageDitherTransparency$NSImageEXIFData$NSImageFallbackBackgroundColor$NSImageFrameCount$NSImageGamma$NSImageHintCTM$NSImageHintInterpolation$NSImageHintUserInterfaceLayoutDirection$NSImageIPTCData$NSImageInterlaced$NSImageLoopCount$NSImageNameActionTemplate$NSImageNameAddTemplate$NSImageNameAdvanced$NSImageNameApplicationIcon$NSImageNameBluetoothTemplate$NSImageNameBonjour$NSImageNameBookmarksTemplate$NSImageNameCaution$NSImageNameColorPanel$NSImageNameColumnViewTemplate$NSImageNameComputer$NSImageNameDotMac$NSImageNameEnterFullScreenTemplate$NSImageNameEveryone$NSImageNameExitFullScreenTemplate$NSImageNameFlowViewTemplate$NSImageNameFolder$NSImageNameFolderBurnable$NSImageNameFolderSmart$NSImageNameFollowLinkFreestandingTemplate$NSImageNameFontPanel$NSImageNameGoBackTemplate$NSImageNameGoForwardTemplate$NSImageNameGoLeftTemplate$NSImageNameGoRightTemplate$NSImageNameHomeTemplate$NSImageNameIChatTheaterTemplate$NSImageNameIconViewTemplate$NSImageNameInfo$NSImageNameInvalidDataFreestandingTemplate$NSImageNameLeftFacingTriangleTemplate$NSImageNameListViewTemplate$NSImageNameLockLockedTemplate$NSImageNameLockUnlockedTemplate$NSImageNameMenuMixedStateTemplate$NSImageNameMenuOnStateTemplate$NSImageNameMobileMe$NSImageNameMultipleDocuments$NSImageNameNetwork$NSImageNamePathTemplate$NSImageNamePreferencesGeneral$NSImageNameQuickLookTemplate$NSImageNameRefreshFreestandingTemplate$NSImageNameRefreshTemplate$NSImageNameRemoveTemplate$NSImageNameRevealFreestandingTemplate$NSImageNameRightFacingTriangleTemplate$NSImageNameShareTemplate$NSImageNameSlideshowTemplate$NSImageNameSmartBadgeTemplate$NSImageNameStatusAvailable$NSImageNameStatusNone$NSImageNameStatusPartiallyAvailable$NSImageNameStatusUnavailable$NSImageNameStopProgressFreestandingTemplate$NSImageNameStopProgressTemplate$NSImageNameTouchBarAddDetailTemplate$NSImageNameTouchBarAddTemplate$NSImageNameTouchBarAlarmTemplate$NSImageNameTouchBarAudioInputMuteTemplate$NSImageNameTouchBarAudioInputTemplate$NSImageNameTouchBarAudioOutputMuteTemplate$NSImageNameTouchBarAudioOutputVolumeHighTemplate$NSImageNameTouchBarAudioOutputVolumeLowTemplate$NSImageNameTouchBarAudioOutputVolumeMediumTemplate$NSImageNameTouchBarAudioOutputVolumeOffTemplate$NSImageNameTouchBarBookmarksTemplate$NSImageNameTouchBarColorPickerFill$NSImageNameTouchBarColorPickerFont$NSImageNameTouchBarColorPickerStroke$NSImageNameTouchBarCommunicationAudioTemplate$NSImageNameTouchBarCommunicationVideoTemplate$NSImageNameTouchBarComposeTemplate$NSImageNameTouchBarDeleteTemplate$NSImageNameTouchBarDownloadTemplate$NSImageNameTouchBarEnterFullScreenTemplate$NSImageNameTouchBarExitFullScreenTemplate$NSImageNameTouchBarFastForwardTemplate$NSImageNameTouchBarFolderCopyToTemplate$NSImageNameTouchBarFolderMoveToTemplate$NSImageNameTouchBarFolderTemplate$NSImageNameTouchBarGetInfoTemplate$NSImageNameTouchBarGoBackTemplate$NSImageNameTouchBarGoDownTemplate$NSImageNameTouchBarGoForwardTemplate$NSImageNameTouchBarGoUpTemplate$NSImageNameTouchBarHistoryTemplate$NSImageNameTouchBarIconViewTemplate$NSImageNameTouchBarListViewTemplate$NSImageNameTouchBarMailTemplate$NSImageNameTouchBarNewFolderTemplate$NSImageNameTouchBarNewMessageTemplate$NSImageNameTouchBarOpenInBrowserTemplate$NSImageNameTouchBarPauseTemplate$NSImageNameTouchBarPlayPauseTemplate$NSImageNameTouchBarPlayTemplate$NSImageNameTouchBarPlayheadTemplate$NSImageNameTouchBarQuickLookTemplate$NSImageNameTouchBarRecordStartTemplate$NSImageNameTouchBarRecordStopTemplate$NSImageNameTouchBarRefreshTemplate$NSImageNameTouchBarRemoveTemplate$NSImageNameTouchBarRewindTemplate$NSImageNameTouchBarRotateLeftTemplate$NSImageNameTouchBarRotateRightTemplate$NSImageNameTouchBarSearchTemplate$NSImageNameTouchBarShareTemplate$NSImageNameTouchBarSidebarTemplate$NSImageNameTouchBarSkipAhead15SecondsTemplate$NSImageNameTouchBarSkipAhead30SecondsTemplate$NSImageNameTouchBarSkipAheadTemplate$NSImageNameTouchBarSkipBack15SecondsTemplate$NSImageNameTouchBarSkipBack30SecondsTemplate$NSImageNameTouchBarSkipBackTemplate$NSImageNameTouchBarSkipToEndTemplate$NSImageNameTouchBarSkipToStartTemplate$NSImageNameTouchBarSlideshowTemplate$NSImageNameTouchBarTagIconTemplate$NSImageNameTouchBarTextBoldTemplate$NSImageNameTouchBarTextBoxTemplate$NSImageNameTouchBarTextCenterAlignTemplate$NSImageNameTouchBarTextItalicTemplate$NSImageNameTouchBarTextJustifiedAlignTemplate$NSImageNameTouchBarTextLeftAlignTemplate$NSImageNameTouchBarTextListTemplate$NSImageNameTouchBarTextRightAlignTemplate$NSImageNameTouchBarTextStrikethroughTemplate$NSImageNameTouchBarTextUnderlineTemplate$NSImageNameTouchBarUserAddTemplate$NSImageNameTouchBarUserGroupTemplate$NSImageNameTouchBarUserTemplate$NSImageNameTouchBarVolumeDownTemplate$NSImageNameTouchBarVolumeUpTemplate$NSImageNameTrashEmpty$NSImageNameTrashFull$NSImageNameUser$NSImageNameUserAccounts$NSImageNameUserGroup$NSImageNameUserGuest$NSImageProgressive$NSImageRGBColorTable$NSImageRepRegistryDidChangeNotification$NSIncludedKeysBinding$NSInitialKeyBinding$NSInitialValueBinding$NSInkTextPboardType$NSInsertsNullPlaceholderBindingOption$NSInterfaceStyleDefault$NSInvokesSeparatelyWithArrayObjectsBindingOption$NSIsIndeterminateBinding$NSKernAttributeName$NSKeywordsDocumentAttribute$NSLabelBinding$NSLeftMarginDocumentAttribute$NSLigatureAttributeName$NSLightGray@d$NSLinkAttributeName$NSLocalizedKeyDictionaryBinding$NSMacSimpleTextDocumentType$NSManagedObjectContextBinding$NSManagerDocumentAttribute$NSMarkedClauseSegmentAttributeName$NSMaxValueBinding$NSMaxWidthBinding$NSMaximumRecentsBinding$NSMenuDidAddItemNotification$NSMenuDidBeginTrackingNotification$NSMenuDidChangeItemNotification$NSMenuDidEndTrackingNotification$NSMenuDidRemoveItemNotification$NSMenuDidSendActionNotification$NSMenuItemImportFromDeviceIdentifier$NSMenuWillSendActionNotification$NSMinValueBinding$NSMinWidthBinding$NSMixedStateImageBinding$NSModalPanelRunLoopMode$NSModificationTimeDocumentAttribute$NSMultipleTextSelectionPboardType$NSMultipleValuesMarker$NSMultipleValuesPlaceholderBindingOption$NSNamedColorSpace$NSNibLoadingException$NSNibOwner$NSNibTopLevelObjects$NSNoSelectionMarker$NSNoSelectionPlaceholderBindingOption$NSNotApplicableMarker$NSNotApplicablePlaceholderBindingOption$NSNullPlaceholderBindingOption$NSObliquenessAttributeName$NSObservedKeyPathKey$NSObservedObjectKey$NSOffStateImageBinding$NSOfficeOpenXMLTextDocumentType$NSOnStateImageBinding$NSOpenDocumentTextDocumentType$NSOptionsKey$NSOutlineViewColumnDidMoveNotification$NSOutlineViewColumnDidResizeNotification$NSOutlineViewDisclosureButtonKey$NSOutlineViewItemDidCollapseNotification$NSOutlineViewItemDidExpandNotification$NSOutlineViewItemWillCollapseNotification$NSOutlineViewItemWillExpandNotification$NSOutlineViewSelectionDidChangeNotification$NSOutlineViewSelectionIsChangingNotification$NSOutlineViewShowHideButtonKey$NSPDFPboardType$NSPICTPboardType$NSPPDIncludeNotFoundException$NSPPDIncludeStackOverflowException$NSPPDIncludeStackUnderflowException$NSPPDParseException$NSPaperSizeDocumentAttribute$NSParagraphStyleAttributeName$NSPasteboardCommunicationException$NSPasteboardNameDrag$NSPasteboardNameFind$NSPasteboardNameFont$NSPasteboardNameGeneral$NSPasteboardNameRuler$NSPasteboardTypeColor$NSPasteboardTypeFileURL$NSPasteboardTypeFindPanelSearchOptions$NSPasteboardTypeFont$NSPasteboardTypeHTML$NSPasteboardTypeMultipleTextSelection$NSPasteboardTypePDF$NSPasteboardTypePNG$NSPasteboardTypeRTF$NSPasteboardTypeRTFD$NSPasteboardTypeRuler$NSPasteboardTypeSound$NSPasteboardTypeString$NSPasteboardTypeTIFF$NSPasteboardTypeTabularText$NSPasteboardTypeTextFinderOptions$NSPasteboardTypeURL$NSPasteboardURLReadingContentsConformToTypesKey$NSPasteboardURLReadingFileURLsOnlyKey$NSPatternColorSpace$NSPlainFileType$NSPlainTextDocumentType$NSPopUpButtonCellWillPopUpNotification$NSPopUpButtonWillPopUpNotification$NSPopoverCloseReasonDetachToWindow$NSPopoverCloseReasonKey$NSPopoverCloseReasonStandard$NSPopoverDidCloseNotification$NSPopoverDidShowNotification$NSPopoverWillCloseNotification$NSPopoverWillShowNotification$NSPositioningRectBinding$NSPostScriptPboardType$NSPredicateBinding$NSPredicateFormatBindingOption$NSPreferredScrollerStyleDidChangeNotification$NSPrefixSpacesDocumentAttribute$NSPrintAllPages$NSPrintAllPresetsJobStyleHint$NSPrintBottomMargin$NSPrintCancelJob$NSPrintCopies$NSPrintDetailedErrorReporting$NSPrintFaxCoverSheetName$NSPrintFaxHighResolution$NSPrintFaxJob$NSPrintFaxModem$NSPrintFaxNumber$NSPrintFaxReceiverNames$NSPrintFaxReceiverNumbers$NSPrintFaxReturnReceipt$NSPrintFaxSendTime$NSPrintFaxTrimPageEnds$NSPrintFaxUseCoverSheet$NSPrintFirstPage$NSPrintFormName$NSPrintHeaderAndFooter$NSPrintHorizontalPagination$NSPrintHorizontallyCentered$NSPrintJobDisposition$NSPrintJobFeatures$NSPrintJobSavingFileNameExtensionHidden$NSPrintJobSavingURL$NSPrintLastPage$NSPrintLeftMargin$NSPrintManualFeed$NSPrintMustCollate$NSPrintNoPresetsJobStyleHint$NSPrintOperationExistsException$NSPrintOrientation$NSPrintPackageException$NSPrintPagesAcross$NSPrintPagesDown$NSPrintPagesPerSheet$NSPrintPanelAccessorySummaryItemDescriptionKey$NSPrintPanelAccessorySummaryItemNameKey$NSPrintPaperFeed$NSPrintPaperName$NSPrintPaperSize$NSPrintPhotoJobStyleHint$NSPrintPreviewJob$NSPrintPrinter$NSPrintPrinterName$NSPrintReversePageOrder$NSPrintRightMargin$NSPrintSaveJob$NSPrintSavePath$NSPrintScalingFactor$NSPrintSelectionOnly$NSPrintSpoolJob$NSPrintTime$NSPrintTopMargin$NSPrintVerticalPagination$NSPrintVerticallyCentered$NSPrintingCommunicationException$NSRTFDPboardType$NSRTFDTextDocumentType$NSRTFPboardType$NSRTFPropertyStackOverflowException$NSRTFTextDocumentType$NSRaisesForNotApplicableKeysBindingOption$NSReadOnlyDocumentAttribute$NSRecentSearchesBinding$NSRepresentedFilenameBinding$NSRightMarginDocumentAttribute$NSRowHeightBinding$NSRuleEditorPredicateComparisonModifier$NSRuleEditorPredicateCompoundType$NSRuleEditorPredicateCustomSelector$NSRuleEditorPredicateLeftExpression$NSRuleEditorPredicateOperatorType$NSRuleEditorPredicateOptions$NSRuleEditorPredicateRightExpression$NSRuleEditorRowsDidChangeNotification$NSRulerPboard$NSRulerPboardType$NSRulerViewUnitCentimeters$NSRulerViewUnitInches$NSRulerViewUnitPicas$NSRulerViewUnitPoints$NSScreenColorSpaceDidChangeNotification$NSScrollViewDidEndLiveMagnifyNotification$NSScrollViewDidEndLiveScrollNotification$NSScrollViewDidLiveScrollNotification$NSScrollViewWillStartLiveMagnifyNotification$NSScrollViewWillStartLiveScrollNotification$NSSelectedIdentifierBinding$NSSelectedIndexBinding$NSSelectedLabelBinding$NSSelectedObjectBinding$NSSelectedObjectsBinding$NSSelectedTagBinding$NSSelectedValueBinding$NSSelectedValuesBinding$NSSelectionIndexPathsBinding$NSSelectionIndexesBinding$NSSelectorNameBindingOption$NSSelectsAllWhenSettingContentBindingOption$NSShadowAttributeName$NSSharingServiceNameAddToAperture$NSSharingServiceNameAddToIPhoto$NSSharingServiceNameAddToSafariReadingList$NSSharingServiceNameCloudSharing$NSSharingServiceNameComposeEmail$NSSharingServiceNameComposeMessage$NSSharingServiceNamePostImageOnFlickr$NSSharingServiceNamePostOnFacebook$NSSharingServiceNamePostOnLinkedIn$NSSharingServiceNamePostOnSinaWeibo$NSSharingServiceNamePostOnTencentWeibo$NSSharingServiceNamePostOnTwitter$NSSharingServiceNamePostVideoOnTudou$NSSharingServiceNamePostVideoOnVimeo$NSSharingServiceNamePostVideoOnYouku$NSSharingServiceNameSendViaAirDrop$NSSharingServiceNameUseAsDesktopPicture$NSSharingServiceNameUseAsFacebookProfileImage$NSSharingServiceNameUseAsLinkedInProfileImage$NSSharingServiceNameUseAsTwitterProfileImage$NSShellCommandFileType$NSSliderAccessoryWidthDefault@d$NSSliderAccessoryWidthWide@d$NSSortDescriptorsBinding$NSSoundPboardType$NSSourceTextScalingDocumentAttribute$NSSourceTextScalingDocumentOption$NSSpeechCharacterModeProperty$NSSpeechCommandDelimiterProperty$NSSpeechCommandPrefix$NSSpeechCommandSuffix$NSSpeechCurrentVoiceProperty$NSSpeechDictionaryAbbreviations$NSSpeechDictionaryEntryPhonemes$NSSpeechDictionaryEntrySpelling$NSSpeechDictionaryLocaleIdentifier$NSSpeechDictionaryModificationDate$NSSpeechDictionaryPronunciations$NSSpeechErrorCount$NSSpeechErrorNewestCharacterOffset$NSSpeechErrorNewestCode$NSSpeechErrorOldestCharacterOffset$NSSpeechErrorOldestCode$NSSpeechErrorsProperty$NSSpeechInputModeProperty$NSSpeechModeLiteral$NSSpeechModeNormal$NSSpeechModePhoneme$NSSpeechModeText$NSSpeechNumberModeProperty$NSSpeechOutputToFileURLProperty$NSSpeechPhonemeInfoExample$NSSpeechPhonemeInfoHiliteEnd$NSSpeechPhonemeInfoHiliteStart$NSSpeechPhonemeInfoOpcode$NSSpeechPhonemeInfoSymbol$NSSpeechPhonemeSymbolsProperty$NSSpeechPitchBaseProperty$NSSpeechPitchModProperty$NSSpeechRateProperty$NSSpeechRecentSyncProperty$NSSpeechResetProperty$NSSpeechStatusNumberOfCharactersLeft$NSSpeechStatusOutputBusy$NSSpeechStatusOutputPaused$NSSpeechStatusPhonemeCode$NSSpeechStatusProperty$NSSpeechSynthesizerInfoIdentifier$NSSpeechSynthesizerInfoProperty$NSSpeechSynthesizerInfoVersion$NSSpeechVolumeProperty$NSSpellCheckerDidChangeAutomaticCapitalizationNotification$NSSpellCheckerDidChangeAutomaticDashSubstitutionNotification$NSSpellCheckerDidChangeAutomaticPeriodSubstitutionNotification$NSSpellCheckerDidChangeAutomaticQuoteSubstitutionNotification$NSSpellCheckerDidChangeAutomaticSpellingCorrectionNotification$NSSpellCheckerDidChangeAutomaticTextCompletionNotification$NSSpellCheckerDidChangeAutomaticTextReplacementNotification$NSSpellingStateAttributeName$NSSplitViewControllerAutomaticDimension@d$NSSplitViewDidResizeSubviewsNotification$NSSplitViewItemUnspecifiedDimension@d$NSSplitViewWillResizeSubviewsNotification$NSStrikethroughColorAttributeName$NSStrikethroughStyleAttributeName$NSStringPboardType$NSStrokeColorAttributeName$NSStrokeWidthAttributeName$NSSubjectDocumentAttribute$NSSuperscriptAttributeName$NSSystemColorsDidChangeNotification$NSTIFFException$NSTIFFPboardType$NSTabColumnTerminatorsAttributeName$NSTableViewColumnDidMoveNotification$NSTableViewColumnDidResizeNotification$NSTableViewRowViewKey$NSTableViewSelectionDidChangeNotification$NSTableViewSelectionIsChangingNotification$NSTabularTextPboardType$NSTargetBinding$NSTargetTextScalingDocumentOption$NSTextAlternativesAttributeName$NSTextAlternativesSelectedAlternativeStringNotification$NSTextCheckingDocumentAuthorKey$NSTextCheckingDocumentTitleKey$NSTextCheckingDocumentURLKey$NSTextCheckingOrthographyKey$NSTextCheckingQuotesKey$NSTextCheckingReferenceDateKey$NSTextCheckingReferenceTimeZoneKey$NSTextCheckingRegularExpressionsKey$NSTextCheckingReplacementsKey$NSTextCheckingSelectedRangeKey$NSTextColorBinding$NSTextContentStorageUnsupportedAttributeAddedNotification$NSTextContentTypeOneTimeCode$NSTextContentTypePassword$NSTextContentTypeUsername$NSTextDidBeginEditingNotification$NSTextDidChangeNotification$NSTextDidEndEditingNotification$NSTextEffectAttributeName$NSTextEffectLetterpressStyle$NSTextEncodingNameDocumentAttribute$NSTextEncodingNameDocumentOption$NSTextFinderCaseInsensitiveKey$NSTextFinderMatchingTypeKey$NSTextInputContextKeyboardSelectionDidChangeNotification$NSTextLayoutSectionOrientation$NSTextLayoutSectionRange$NSTextLayoutSectionsAttribute$NSTextLineTooLongException$NSTextListMarkerBox$NSTextListMarkerCheck$NSTextListMarkerCircle$NSTextListMarkerDecimal$NSTextListMarkerDiamond$NSTextListMarkerDisc$NSTextListMarkerHyphen$NSTextListMarkerLowercaseAlpha$NSTextListMarkerLowercaseHexadecimal$NSTextListMarkerLowercaseLatin$NSTextListMarkerLowercaseRoman$NSTextListMarkerOctal$NSTextListMarkerSquare$NSTextListMarkerUppercaseAlpha$NSTextListMarkerUppercaseHexadecimal$NSTextListMarkerUppercaseLatin$NSTextListMarkerUppercaseRoman$NSTextMovementUserInfoKey$NSTextNoSelectionException$NSTextReadException$NSTextScalingDocumentAttribute$NSTextSizeMultiplierDocumentOption$NSTextStorageDidProcessEditingNotification$NSTextStorageWillProcessEditingNotification$NSTextViewDidChangeSelectionNotification$NSTextViewDidChangeTypingAttributesNotification$NSTextViewDidSwitchToNSLayoutManagerNotification$NSTextViewWillChangeNotifyingTextViewNotification$NSTextViewWillSwitchToNSLayoutManagerNotification$NSTextWriteException$NSTimeoutDocumentOption$NSTitleBinding$NSTitleDocumentAttribute$NSToolTipAttributeName$NSToolTipBinding$NSToolbarCloudSharingItemIdentifier$NSToolbarCustomizeToolbarItemIdentifier$NSToolbarDidRemoveItemNotification$NSToolbarFlexibleSpaceItemIdentifier$NSToolbarPrintItemIdentifier$NSToolbarSeparatorItemIdentifier$NSToolbarShowColorsItemIdentifier$NSToolbarShowFontsItemIdentifier$NSToolbarSidebarTrackingSeparatorItemIdentifier$NSToolbarSpaceItemIdentifier$NSToolbarToggleSidebarItemIdentifier$NSToolbarWillAddItemNotification$NSTopMarginDocumentAttribute$NSTouchBarItemIdentifierCandidateList$NSTouchBarItemIdentifierCharacterPicker$NSTouchBarItemIdentifierFixedSpaceLarge$NSTouchBarItemIdentifierFixedSpaceSmall$NSTouchBarItemIdentifierFlexibleSpace$NSTouchBarItemIdentifierOtherItemsProxy$NSTouchBarItemIdentifierTextAlignment$NSTouchBarItemIdentifierTextColorPicker$NSTouchBarItemIdentifierTextFormat$NSTouchBarItemIdentifierTextList$NSTouchBarItemIdentifierTextStyle$NSTrackingAttributeName$NSTransparentBinding$NSTypeIdentifierAddressText$NSTypeIdentifierDateText$NSTypeIdentifierPhoneNumberText$NSTypeIdentifierTransitInformationText$NSTypedStreamVersionException$NSURLPboardType$NSUnderlineByWordMask@Q$NSUnderlineColorAttributeName$NSUnderlineStrikethroughMask@Q$NSUnderlineStyleAttributeName$NSUserActivityDocumentURLKey$NSUsesScreenFontsDocumentAttribute$NSVCardPboardType$NSValidatesImmediatelyBindingOption$NSValueBinding$NSValuePathBinding$NSValueTransformerBindingOption$NSValueTransformerNameBindingOption$NSValueURLBinding$NSVerticalGlyphFormAttributeName$NSViewAnimationEffectKey$NSViewAnimationEndFrameKey$NSViewAnimationFadeInEffect$NSViewAnimationFadeOutEffect$NSViewAnimationStartFrameKey$NSViewAnimationTargetKey$NSViewBoundsDidChangeNotification$NSViewDidUpdateTrackingAreasNotification$NSViewFocusDidChangeNotification$NSViewFrameDidChangeNotification$NSViewGlobalFrameDidChangeNotification$NSViewModeDocumentAttribute$NSViewNoInstrinsicMetric@d$NSViewNoIntrinsicMetric@d$NSViewSizeDocumentAttribute$NSViewZoomDocumentAttribute$NSVisibleBinding$NSVoiceAge$NSVoiceDemoText$NSVoiceGender$NSVoiceGenderFemale$NSVoiceGenderMale$NSVoiceGenderNeuter$NSVoiceGenderNeutral$NSVoiceIdentifier$NSVoiceIndividuallySpokenCharacters$NSVoiceLanguage$NSVoiceLocaleIdentifier$NSVoiceName$NSVoiceSupportedCharacters$NSWarningValueBinding$NSWebArchiveTextDocumentType$NSWebPreferencesDocumentOption$NSWebResourceLoadDelegateDocumentOption$NSWhite@d$NSWidthBinding$NSWindowDidBecomeKeyNotification$NSWindowDidBecomeMainNotification$NSWindowDidChangeBackingPropertiesNotification$NSWindowDidChangeOcclusionStateNotification$NSWindowDidChangeScreenNotification$NSWindowDidChangeScreenProfileNotification$NSWindowDidDeminiaturizeNotification$NSWindowDidEndLiveResizeNotification$NSWindowDidEndSheetNotification$NSWindowDidEnterFullScreenNotification$NSWindowDidEnterVersionBrowserNotification$NSWindowDidExitFullScreenNotification$NSWindowDidExitVersionBrowserNotification$NSWindowDidExposeNotification$NSWindowDidMiniaturizeNotification$NSWindowDidMoveNotification$NSWindowDidResignKeyNotification$NSWindowDidResignMainNotification$NSWindowDidResizeNotification$NSWindowDidUpdateNotification$NSWindowServerCommunicationException$NSWindowWillBeginSheetNotification$NSWindowWillCloseNotification$NSWindowWillEnterFullScreenNotification$NSWindowWillEnterVersionBrowserNotification$NSWindowWillExitFullScreenNotification$NSWindowWillExitVersionBrowserNotification$NSWindowWillMiniaturizeNotification$NSWindowWillMoveNotification$NSWindowWillStartLiveResizeNotification$NSWordMLTextDocumentType$NSWordTablesReadException$NSWordTablesWriteException$NSWorkspaceAccessibilityDisplayOptionsDidChangeNotification$NSWorkspaceActiveSpaceDidChangeNotification$NSWorkspaceApplicationKey$NSWorkspaceCompressOperation$NSWorkspaceCopyOperation$NSWorkspaceDecompressOperation$NSWorkspaceDecryptOperation$NSWorkspaceDesktopImageAllowClippingKey$NSWorkspaceDesktopImageFillColorKey$NSWorkspaceDesktopImageScalingKey$NSWorkspaceDestroyOperation$NSWorkspaceDidActivateApplicationNotification$NSWorkspaceDidChangeFileLabelsNotification$NSWorkspaceDidDeactivateApplicationNotification$NSWorkspaceDidHideApplicationNotification$NSWorkspaceDidLaunchApplicationNotification$NSWorkspaceDidMountNotification$NSWorkspaceDidPerformFileOperationNotification$NSWorkspaceDidRenameVolumeNotification$NSWorkspaceDidTerminateApplicationNotification$NSWorkspaceDidUnhideApplicationNotification$NSWorkspaceDidUnmountNotification$NSWorkspaceDidWakeNotification$NSWorkspaceDuplicateOperation$NSWorkspaceEncryptOperation$NSWorkspaceLaunchConfigurationAppleEvent$NSWorkspaceLaunchConfigurationArchitecture$NSWorkspaceLaunchConfigurationArguments$NSWorkspaceLaunchConfigurationEnvironment$NSWorkspaceLinkOperation$NSWorkspaceMoveOperation$NSWorkspaceRecycleOperation$NSWorkspaceScreensDidSleepNotification$NSWorkspaceScreensDidWakeNotification$NSWorkspaceSessionDidBecomeActiveNotification$NSWorkspaceSessionDidResignActiveNotification$NSWorkspaceVolumeLocalizedNameKey$NSWorkspaceVolumeOldLocalizedNameKey$NSWorkspaceVolumeOldURLKey$NSWorkspaceVolumeURLKey$NSWorkspaceWillLaunchApplicationNotification$NSWorkspaceWillPowerOffNotification$NSWorkspaceWillSleepNotification$NSWorkspaceWillUnmountNotification$NSWritingDirectionAttributeName$""" -enums = """$NS16BitBigEndianBitmapFormat@1024$NS16BitLittleEndianBitmapFormat@256$NS32BitBigEndianBitmapFormat@2048$NS32BitLittleEndianBitmapFormat@512$NSAWTEventType@16$NSAboveBottom@4$NSAboveTop@1$NSAcceleratorButton@8$NSAccessibilityAnnotationPositionEnd@2$NSAccessibilityAnnotationPositionFullRange@0$NSAccessibilityAnnotationPositionStart@1$NSAccessibilityCustomRotorSearchDirectionNext@1$NSAccessibilityCustomRotorSearchDirectionPrevious@0$NSAccessibilityCustomRotorTypeAnnotation@2$NSAccessibilityCustomRotorTypeAny@1$NSAccessibilityCustomRotorTypeAudiograph@21$NSAccessibilityCustomRotorTypeBoldText@3$NSAccessibilityCustomRotorTypeCustom@0$NSAccessibilityCustomRotorTypeHeading@4$NSAccessibilityCustomRotorTypeHeadingLevel1@5$NSAccessibilityCustomRotorTypeHeadingLevel2@6$NSAccessibilityCustomRotorTypeHeadingLevel3@7$NSAccessibilityCustomRotorTypeHeadingLevel4@8$NSAccessibilityCustomRotorTypeHeadingLevel5@9$NSAccessibilityCustomRotorTypeHeadingLevel6@10$NSAccessibilityCustomRotorTypeImage@11$NSAccessibilityCustomRotorTypeItalicText@12$NSAccessibilityCustomRotorTypeLandmark@13$NSAccessibilityCustomRotorTypeLink@14$NSAccessibilityCustomRotorTypeList@15$NSAccessibilityCustomRotorTypeMisspelledWord@16$NSAccessibilityCustomRotorTypeTable@17$NSAccessibilityCustomRotorTypeTextField@18$NSAccessibilityCustomRotorTypeUnderlinedText@19$NSAccessibilityCustomRotorTypeVisitedLink@20$NSAccessibilityOrientationHorizontal@2$NSAccessibilityOrientationUnknown@0$NSAccessibilityOrientationVertical@1$NSAccessibilityPriorityHigh@90$NSAccessibilityPriorityLow@10$NSAccessibilityPriorityMedium@50$NSAccessibilityRulerMarkerTypeIndentFirstLine@7$NSAccessibilityRulerMarkerTypeIndentHead@5$NSAccessibilityRulerMarkerTypeIndentTail@6$NSAccessibilityRulerMarkerTypeTabStopCenter@3$NSAccessibilityRulerMarkerTypeTabStopDecimal@4$NSAccessibilityRulerMarkerTypeTabStopLeft@1$NSAccessibilityRulerMarkerTypeTabStopRight@2$NSAccessibilityRulerMarkerTypeUnknown@0$NSAccessibilitySortDirectionAscending@1$NSAccessibilitySortDirectionDescending@2$NSAccessibilitySortDirectionUnknown@0$NSAccessibilityUnitsCentimeters@2$NSAccessibilityUnitsInches@1$NSAccessibilityUnitsPicas@4$NSAccessibilityUnitsPoints@3$NSAccessibilityUnitsUnknown@0$NSAddTraitFontAction@2$NSAdobeCNS1CharacterCollection@1$NSAdobeGB1CharacterCollection@2$NSAdobeJapan1CharacterCollection@3$NSAdobeJapan2CharacterCollection@4$NSAdobeKorea1CharacterCollection@5$NSAlertAlternateReturn@0$NSAlertDefaultReturn@1$NSAlertErrorReturn@-2$NSAlertFirstButtonReturn@1000$NSAlertOtherReturn@-1$NSAlertSecondButtonReturn@1001$NSAlertStyleCritical@2$NSAlertStyleInformational@1$NSAlertStyleWarning@0$NSAlertThirdButtonReturn@1002$NSAllScrollerParts@2$NSAlphaFirstBitmapFormat@1$NSAlphaNonpremultipliedBitmapFormat@2$NSAlphaShiftKeyMask@65536$NSAlternateKeyMask@524288$NSAnimationBlocking@0$NSAnimationEaseIn@1$NSAnimationEaseInOut@0$NSAnimationEaseOut@2$NSAnimationEffectDisappearingItemDefault@0$NSAnimationEffectPoof@10$NSAnimationLinear@3$NSAnimationNonblocking@1$NSAnimationNonblockingThreaded@2$NSAnyEventMask@18446744073709551615$NSAnyType@0$NSAppKitDefined@13$NSAppKitDefinedMask@8192$NSAppKitVersionNumber10_0@577$NSAppKitVersionNumber10_1@620$NSAppKitVersionNumber10_10@1343$NSAppKitVersionNumber10_10_2@1344$NSAppKitVersionNumber10_10_3@1347$NSAppKitVersionNumber10_10_4@1348$NSAppKitVersionNumber10_10_5@1348$NSAppKitVersionNumber10_10_Max@1349$NSAppKitVersionNumber10_11@1404.0$NSAppKitVersionNumber10_11_1@1404.13$NSAppKitVersionNumber10_11_2@1404.34$NSAppKitVersionNumber10_11_3@1404.34$NSAppKitVersionNumber10_12@1504$NSAppKitVersionNumber10_12_1@1504.6$NSAppKitVersionNumber10_12_2@1504.76$NSAppKitVersionNumber10_13@1561$NSAppKitVersionNumber10_13_1@1561.1$NSAppKitVersionNumber10_13_2@1561.2$NSAppKitVersionNumber10_13_4@1561.4$NSAppKitVersionNumber10_14@1671.0$NSAppKitVersionNumber10_14_1@1671.1$NSAppKitVersionNumber10_14_2@1671.2$NSAppKitVersionNumber10_14_3@1671.3$NSAppKitVersionNumber10_14_4@1671.4$NSAppKitVersionNumber10_14_5@1671.5$NSAppKitVersionNumber10_15@1894$NSAppKitVersionNumber10_15_1@1894.1$NSAppKitVersionNumber10_15_2@1894.2$NSAppKitVersionNumber10_15_3@1894.3$NSAppKitVersionNumber10_15_4@1894.4$NSAppKitVersionNumber10_15_5@1894.5$NSAppKitVersionNumber10_15_6@1894.6$NSAppKitVersionNumber10_2@663$NSAppKitVersionNumber10_3@743$NSAppKitVersionNumber10_4@824$NSAppKitVersionNumber10_5@949$NSAppKitVersionNumber10_6@1038$NSAppKitVersionNumber10_7@1138$NSAppKitVersionNumber10_8@1187$NSAppKitVersionNumber10_9@1265$NSAppKitVersionNumber11_0@2022$NSAppKitVersionNumber11_1@2022.2$NSAppKitVersionNumber11_2@2022.3$NSAppKitVersionNumber11_3@2022.4$NSAppKitVersionNumber11_4@2022.5$NSApplicationActivateAllWindows@1$NSApplicationActivateIgnoringOtherApps@2$NSApplicationActivatedEventType@1$NSApplicationActivationPolicyAccessory@1$NSApplicationActivationPolicyProhibited@2$NSApplicationActivationPolicyRegular@0$NSApplicationDeactivatedEventType@2$NSApplicationDefined@15$NSApplicationDefinedMask@32768$NSApplicationDelegateReplyCancel@1$NSApplicationDelegateReplyFailure@2$NSApplicationDelegateReplySuccess@0$NSApplicationOcclusionStateVisible@2$NSApplicationPresentationAutoHideDock@1$NSApplicationPresentationAutoHideMenuBar@4$NSApplicationPresentationAutoHideToolbar@2048$NSApplicationPresentationDefault@0$NSApplicationPresentationDisableAppleMenu@16$NSApplicationPresentationDisableCursorLocationAssistance@4096$NSApplicationPresentationDisableForceQuit@64$NSApplicationPresentationDisableHideApplication@256$NSApplicationPresentationDisableMenuBarTransparency@512$NSApplicationPresentationDisableProcessSwitching@32$NSApplicationPresentationDisableSessionTermination@128$NSApplicationPresentationFullScreen@1024$NSApplicationPresentationHideDock@2$NSApplicationPresentationHideMenuBar@8$NSAscendingPageOrder@1$NSAtBottom@5$NSAtTop@2$NSAutoPagination@0$NSAutosaveAsOperation@5$NSAutosaveElsewhereOperation@3$NSAutosaveInPlaceOperation@4$NSAutosaveOperation@3$NSBMPFileType@1$NSBackTabCharacter@25$NSBackgroundStyleDark@1$NSBackgroundStyleEmphasized@1$NSBackgroundStyleLight@0$NSBackgroundStyleLowered@3$NSBackgroundStyleNormal@0$NSBackgroundStyleRaised@2$NSBackgroundTab@1$NSBackingStoreBuffered@2$NSBackingStoreNonretained@1$NSBackingStoreRetained@0$NSBackspaceCharacter@8$NSBacktabTextMovement@18$NSBeginFunctionKey@63274$NSBelowBottom@6$NSBelowTop@3$NSBevelLineJoinStyle@2$NSBezelBorder@2$NSBezelStyleCircular@7$NSBezelStyleDisclosure@5$NSBezelStyleHelpButton@9$NSBezelStyleInline@15$NSBezelStyleRecessed@13$NSBezelStyleRegularSquare@2$NSBezelStyleRoundRect@12$NSBezelStyleRounded@1$NSBezelStyleRoundedDisclosure@14$NSBezelStyleShadowlessSquare@6$NSBezelStyleSmallSquare@10$NSBezelStyleTexturedRounded@11$NSBezelStyleTexturedSquare@8$NSBezierPathElementClosePath@3$NSBezierPathElementCurveTo@2$NSBezierPathElementLineTo@1$NSBezierPathElementMoveTo@0$NSBitmapFormatAlphaFirst@1$NSBitmapFormatAlphaNonpremultiplied@2$NSBitmapFormatFloatingPointSamples@4$NSBitmapFormatSixteenBitBigEndian@1024$NSBitmapFormatSixteenBitLittleEndian@256$NSBitmapFormatThirtyTwoBitBigEndian@2048$NSBitmapFormatThirtyTwoBitLittleEndian@512$NSBitmapImageFileTypeBMP@1$NSBitmapImageFileTypeGIF@2$NSBitmapImageFileTypeJPEG@3$NSBitmapImageFileTypeJPEG2000@5$NSBitmapImageFileTypePNG@4$NSBitmapImageFileTypeTIFF@0$NSBlueControlTint@1$NSBoldFontMask@2$NSBorderlessWindowMask@0$NSBottomTabsBezelBorder@2$NSBoxCustom@4$NSBoxOldStyle@3$NSBoxPrimary@0$NSBoxSecondary@1$NSBoxSeparator@2$NSBreakFunctionKey@63282$NSBrowserAutoColumnResizing@1$NSBrowserDropAbove@1$NSBrowserDropOn@0$NSBrowserNoColumnResizing@0$NSBrowserUserColumnResizing@2$NSButtLineCapStyle@0$NSButtonTypeAccelerator@8$NSButtonTypeMomentaryChange@5$NSButtonTypeMomentaryLight@0$NSButtonTypeMomentaryPushIn@7$NSButtonTypeMultiLevelAccelerator@9$NSButtonTypeOnOff@6$NSButtonTypePushOnPushOff@1$NSButtonTypeRadio@4$NSButtonTypeSwitch@3$NSButtonTypeToggle@2$NSCMYKColorSpaceModel@2$NSCMYKModeColorPanel@2$NSCancelButton@0$NSCancelTextMovement@23$NSCarriageReturnCharacter@13$NSCellAllowsMixedState@16$NSCellChangesContents@14$NSCellDisabled@0$NSCellEditable@3$NSCellHasImageHorizontal@12$NSCellHasImageOnLeftOrBottom@13$NSCellHasOverlappingImage@11$NSCellHighlighted@5$NSCellHitContentArea@1$NSCellHitEditableTextArea@2$NSCellHitNone@0$NSCellHitTrackableArea@4$NSCellIsBordered@10$NSCellIsInsetButton@15$NSCellLightsByBackground@9$NSCellLightsByContents@6$NSCellLightsByGray@7$NSCellState@1$NSCenterTabStopType@2$NSCenterTextAlignment@2$NSChangeAutosaved@4$NSChangeBackgroundCell@8$NSChangeBackgroundCellMask@8$NSChangeCleared@2$NSChangeDiscardable@256$NSChangeDone@0$NSChangeGrayCell@4$NSChangeGrayCellMask@4$NSChangeReadOtherContents@3$NSChangeRedone@5$NSChangeUndone@1$NSCircularBezelStyle@7$NSCircularSlider@1$NSClearControlTint@7$NSClearDisplayFunctionKey@63290$NSClearLineFunctionKey@63289$NSClipPagination@2$NSClockAndCalendarDatePickerStyle@1$NSClosableWindowMask@2$NSClosePathBezierPathElement@3$NSCloudKitSharingServiceAllowPrivate@2$NSCloudKitSharingServiceAllowPublic@1$NSCloudKitSharingServiceAllowReadOnly@16$NSCloudKitSharingServiceAllowReadWrite@32$NSCloudKitSharingServiceStandard@0$NSCollectionElementCategoryDecorationView@2$NSCollectionElementCategoryInterItemGap@3$NSCollectionElementCategoryItem@0$NSCollectionElementCategorySupplementaryView@1$NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuous@1$NSCollectionLayoutSectionOrthogonalScrollingBehaviorContinuousGroupLeadingBoundary@2$NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPaging@4$NSCollectionLayoutSectionOrthogonalScrollingBehaviorGroupPagingCentered@5$NSCollectionLayoutSectionOrthogonalScrollingBehaviorNone@0$NSCollectionLayoutSectionOrthogonalScrollingBehaviorPaging@3$NSCollectionUpdateActionDelete@1$NSCollectionUpdateActionInsert@0$NSCollectionUpdateActionMove@3$NSCollectionUpdateActionNone@4$NSCollectionUpdateActionReload@2$NSCollectionViewDropBefore@1$NSCollectionViewDropOn@0$NSCollectionViewItemHighlightAsDropTarget@3$NSCollectionViewItemHighlightForDeselection@2$NSCollectionViewItemHighlightForSelection@1$NSCollectionViewItemHighlightNone@0$NSCollectionViewScrollDirectionHorizontal@1$NSCollectionViewScrollDirectionVertical@0$NSCollectionViewScrollPositionBottom@4$NSCollectionViewScrollPositionCenteredHorizontally@16$NSCollectionViewScrollPositionCenteredVertically@2$NSCollectionViewScrollPositionLeadingEdge@64$NSCollectionViewScrollPositionLeft@8$NSCollectionViewScrollPositionNearestHorizontalEdge@512$NSCollectionViewScrollPositionNearestVerticalEdge@256$NSCollectionViewScrollPositionNone@0$NSCollectionViewScrollPositionRight@32$NSCollectionViewScrollPositionTop@1$NSCollectionViewScrollPositionTrailingEdge@128$NSColorListModeColorPanel@5$NSColorPanelAllModesMask@65535$NSColorPanelCMYKModeMask@4$NSColorPanelColorListModeMask@32$NSColorPanelCrayonModeMask@128$NSColorPanelCustomPaletteModeMask@16$NSColorPanelGrayModeMask@1$NSColorPanelHSBModeMask@8$NSColorPanelModeCMYK@2$NSColorPanelModeColorList@5$NSColorPanelModeCrayon@7$NSColorPanelModeCustomPalette@4$NSColorPanelModeGray@0$NSColorPanelModeHSB@3$NSColorPanelModeNone@-1$NSColorPanelModeRGB@1$NSColorPanelModeWheel@6$NSColorPanelRGBModeMask@2$NSColorPanelWheelModeMask@64$NSColorRenderingIntentAbsoluteColorimetric@1$NSColorRenderingIntentDefault@0$NSColorRenderingIntentPerceptual@3$NSColorRenderingIntentRelativeColorimetric@2$NSColorRenderingIntentSaturation@4$NSColorSpaceModelCMYK@2$NSColorSpaceModelDeviceN@4$NSColorSpaceModelGray@0$NSColorSpaceModelIndexed@5$NSColorSpaceModelLAB@3$NSColorSpaceModelPatterned@6$NSColorSpaceModelRGB@1$NSColorSpaceModelUnknown@-1$NSColorSystemEffectDeepPressed@2$NSColorSystemEffectDisabled@3$NSColorSystemEffectNone@0$NSColorSystemEffectPressed@1$NSColorSystemEffectRollover@4$NSColorTypeCatalog@2$NSColorTypeComponentBased@0$NSColorTypePattern@1$NSCommandKeyMask@1048576$NSCompositeClear@0$NSCompositeColor@27$NSCompositeColorBurn@20$NSCompositeColorDodge@19$NSCompositeCopy@1$NSCompositeDarken@17$NSCompositeDestinationAtop@9$NSCompositeDestinationIn@7$NSCompositeDestinationOut@8$NSCompositeDestinationOver@6$NSCompositeDifference@23$NSCompositeExclusion@24$NSCompositeHardLight@22$NSCompositeHighlight@12$NSCompositeHue@25$NSCompositeLighten@18$NSCompositeLuminosity@28$NSCompositeMultiply@14$NSCompositeOverlay@16$NSCompositePlusDarker@11$NSCompositePlusLighter@13$NSCompositeSaturation@26$NSCompositeScreen@15$NSCompositeSoftLight@21$NSCompositeSourceAtop@5$NSCompositeSourceIn@3$NSCompositeSourceOut@4$NSCompositeSourceOver@2$NSCompositeXOR@10$NSCompositingOperationClear@0$NSCompositingOperationColor@27$NSCompositingOperationColorBurn@20$NSCompositingOperationColorDodge@19$NSCompositingOperationCopy@1$NSCompositingOperationDarken@17$NSCompositingOperationDestinationAtop@9$NSCompositingOperationDestinationIn@7$NSCompositingOperationDestinationOut@8$NSCompositingOperationDestinationOver@6$NSCompositingOperationDifference@23$NSCompositingOperationExclusion@24$NSCompositingOperationHardLight@22$NSCompositingOperationHighlight@12$NSCompositingOperationHue@25$NSCompositingOperationLighten@18$NSCompositingOperationLuminosity@28$NSCompositingOperationMultiply@14$NSCompositingOperationOverlay@16$NSCompositingOperationPlusDarker@11$NSCompositingOperationPlusLighter@13$NSCompositingOperationSaturation@26$NSCompositingOperationScreen@15$NSCompositingOperationSoftLight@21$NSCompositingOperationSourceAtop@5$NSCompositingOperationSourceIn@3$NSCompositingOperationSourceOut@4$NSCompositingOperationSourceOver@2$NSCompositingOperationXOR@10$NSCompressedFontMask@512$NSCondensedFontMask@64$NSContentsCellMask@1$NSContinuousCapacityLevelIndicatorStyle@1$NSControlCharacterActionContainerBreak@32$NSControlCharacterActionHorizontalTab@4$NSControlCharacterActionLineBreak@8$NSControlCharacterActionParagraphBreak@16$NSControlCharacterActionWhitespace@2$NSControlCharacterActionZeroAdvancement@1$NSControlGlyph@16777215$NSControlKeyMask@262144$NSControlSizeLarge@3$NSControlSizeMini@2$NSControlSizeRegular@0$NSControlSizeSmall@1$NSControlStateMixed@-1$NSControlStateOff@0$NSControlStateOn@1$NSControlStateValueMixed@-1$NSControlStateValueOff@0$NSControlStateValueOn@1$NSCorrectionIndicatorTypeDefault@0$NSCorrectionIndicatorTypeGuesses@2$NSCorrectionIndicatorTypeReversion@1$NSCorrectionResponseAccepted@1$NSCorrectionResponseEdited@4$NSCorrectionResponseIgnored@3$NSCorrectionResponseNone@0$NSCorrectionResponseRejected@2$NSCorrectionResponseReverted@5$NSCrayonModeColorPanel@7$NSCriticalAlertStyle@2$NSCriticalRequest@0$NSCursorPointingDevice@2$NSCursorUpdate@17$NSCursorUpdateMask@131072$NSCurveToBezierPathElement@2$NSCustomPaletteModeColorPanel@4$NSDatePickerElementFlagEra@256$NSDatePickerElementFlagHourMinute@12$NSDatePickerElementFlagHourMinuteSecond@14$NSDatePickerElementFlagTimeZone@16$NSDatePickerElementFlagYearMonth@192$NSDatePickerElementFlagYearMonthDay@224$NSDatePickerModeRange@1$NSDatePickerModeSingle@0$NSDatePickerStyleClockAndCalendar@1$NSDatePickerStyleTextField@2$NSDatePickerStyleTextFieldAndStepper@0$NSDecimalTabStopType@3$NSDefaultControlTint@0$NSDefaultTokenStyle@0$NSDeleteCharFunctionKey@63294$NSDeleteCharacter@127$NSDeleteFunctionKey@63272$NSDeleteLineFunctionKey@63292$NSDescendingPageOrder@-1$NSDeviceIndependentModifierFlagsMask@4294901760$NSDeviceNColorSpaceModel@4$NSDirectSelection@0$NSDirectionalRectEdgeAll@15$NSDirectionalRectEdgeBottom@4$NSDirectionalRectEdgeLeading@2$NSDirectionalRectEdgeNone@0$NSDirectionalRectEdgeTop@1$NSDirectionalRectEdgeTrailing@8$NSDisclosureBezelStyle@5$NSDiscreteCapacityLevelIndicatorStyle@2$NSDisplayGamutP3@2$NSDisplayGamutSRGB@1$NSDisplayWindowRunLoopOrdering@600000$NSDocModalWindowMask@64$NSDockWindowLevel@20$NSDoubleType@6$NSDownArrowFunctionKey@63233$NSDownTextMovement@22$NSDragOperationAll@15$NSDragOperationAll_Obsolete@15$NSDragOperationCopy@1$NSDragOperationDelete@32$NSDragOperationEvery@18446744073709551615$NSDragOperationGeneric@4$NSDragOperationLink@2$NSDragOperationMove@16$NSDragOperationNone@0$NSDragOperationPrivate@8$NSDraggingContextOutsideApplication@0$NSDraggingContextWithinApplication@1$NSDraggingFormationDefault@0$NSDraggingFormationList@3$NSDraggingFormationNone@1$NSDraggingFormationPile@2$NSDraggingFormationStack@4$NSDraggingItemEnumerationClearNonenumeratedImages@65536$NSDraggingItemEnumerationConcurrent@1$NSDrawerClosedState@0$NSDrawerClosingState@3$NSDrawerOpenState@2$NSDrawerOpeningState@1$NSEndFunctionKey@63275$NSEnterCharacter@3$NSEraDatePickerElementFlag@256$NSEraserPointingDevice@3$NSEvenOddWindingRule@1$NSEventButtonMaskPenLowerSide@2$NSEventButtonMaskPenTip@1$NSEventButtonMaskPenUpperSide@4$NSEventGestureAxisHorizontal@1$NSEventGestureAxisNone@0$NSEventGestureAxisVertical@2$NSEventMaskAny@18446744073709551615$NSEventMaskAppKitDefined@8192$NSEventMaskApplicationDefined@32768$NSEventMaskBeginGesture@524288$NSEventMaskChangeMode@274877906944$NSEventMaskCursorUpdate@131072$NSEventMaskDirectTouch@137438953472$NSEventMaskEndGesture@1048576$NSEventMaskFlagsChanged@4096$NSEventMaskGesture@536870912$NSEventMaskKeyDown@1024$NSEventMaskKeyUp@2048$NSEventMaskLeftMouseDown@2$NSEventMaskLeftMouseDragged@64$NSEventMaskLeftMouseUp@4$NSEventMaskMagnify@1073741824$NSEventMaskMouseEntered@256$NSEventMaskMouseExited@512$NSEventMaskMouseMoved@32$NSEventMaskOtherMouseDown@33554432$NSEventMaskOtherMouseDragged@134217728$NSEventMaskOtherMouseUp@67108864$NSEventMaskPeriodic@65536$NSEventMaskPressure@17179869184$NSEventMaskRightMouseDown@8$NSEventMaskRightMouseDragged@128$NSEventMaskRightMouseUp@16$NSEventMaskRotate@262144$NSEventMaskScrollWheel@4194304$NSEventMaskSmartMagnify@4294967296$NSEventMaskSwipe@2147483648$NSEventMaskSystemDefined@16384$NSEventMaskTabletPoint@8388608$NSEventMaskTabletProximity@16777216$NSEventModifierFlagCapsLock@65536$NSEventModifierFlagCommand@1048576$NSEventModifierFlagControl@262144$NSEventModifierFlagDeviceIndependentFlagsMask@4294901760$NSEventModifierFlagFunction@8388608$NSEventModifierFlagHelp@4194304$NSEventModifierFlagNumericPad@2097152$NSEventModifierFlagOption@524288$NSEventModifierFlagShift@131072$NSEventPhaseBegan@1$NSEventPhaseCancelled@16$NSEventPhaseChanged@4$NSEventPhaseEnded@8$NSEventPhaseMayBegin@32$NSEventPhaseNone@0$NSEventPhaseStationary@2$NSEventSubtypeApplicationActivated@1$NSEventSubtypeApplicationDeactivated@2$NSEventSubtypeMouseEvent@0$NSEventSubtypePowerOff@1$NSEventSubtypeScreenChanged@8$NSEventSubtypeTabletPoint@1$NSEventSubtypeTabletProximity@2$NSEventSubtypeTouch@3$NSEventSubtypeWindowExposed@0$NSEventSubtypeWindowMoved@4$NSEventSwipeTrackingClampGestureAmount@2$NSEventSwipeTrackingLockDirection@1$NSEventTypeAppKitDefined@13$NSEventTypeApplicationDefined@15$NSEventTypeBeginGesture@19$NSEventTypeChangeMode@38$NSEventTypeCursorUpdate@17$NSEventTypeDirectTouch@37$NSEventTypeEndGesture@20$NSEventTypeFlagsChanged@12$NSEventTypeGesture@29$NSEventTypeKeyDown@10$NSEventTypeKeyUp@11$NSEventTypeLeftMouseDown@1$NSEventTypeLeftMouseDragged@6$NSEventTypeLeftMouseUp@2$NSEventTypeMagnify@30$NSEventTypeMouseEntered@8$NSEventTypeMouseExited@9$NSEventTypeMouseMoved@5$NSEventTypeOtherMouseDown@25$NSEventTypeOtherMouseDragged@27$NSEventTypeOtherMouseUp@26$NSEventTypePeriodic@16$NSEventTypePressure@34$NSEventTypeQuickLook@33$NSEventTypeRightMouseDown@3$NSEventTypeRightMouseDragged@7$NSEventTypeRightMouseUp@4$NSEventTypeRotate@18$NSEventTypeScrollWheel@22$NSEventTypeSmartMagnify@32$NSEventTypeSwipe@31$NSEventTypeSystemDefined@14$NSEventTypeTabletPoint@23$NSEventTypeTabletProximity@24$NSExclude10_4ElementsIconCreationOption@4$NSExcludeQuickDrawElementsIconCreationOption@2$NSExecuteFunctionKey@63298$NSExpandedFontMask@32$NSF10FunctionKey@63245$NSF11FunctionKey@63246$NSF12FunctionKey@63247$NSF13FunctionKey@63248$NSF14FunctionKey@63249$NSF15FunctionKey@63250$NSF16FunctionKey@63251$NSF17FunctionKey@63252$NSF18FunctionKey@63253$NSF19FunctionKey@63254$NSF1FunctionKey@63236$NSF20FunctionKey@63255$NSF21FunctionKey@63256$NSF22FunctionKey@63257$NSF23FunctionKey@63258$NSF24FunctionKey@63259$NSF25FunctionKey@63260$NSF26FunctionKey@63261$NSF27FunctionKey@63262$NSF28FunctionKey@63263$NSF29FunctionKey@63264$NSF2FunctionKey@63237$NSF30FunctionKey@63265$NSF31FunctionKey@63266$NSF32FunctionKey@63267$NSF33FunctionKey@63268$NSF34FunctionKey@63269$NSF35FunctionKey@63270$NSF3FunctionKey@63238$NSF4FunctionKey@63239$NSF5FunctionKey@63240$NSF6FunctionKey@63241$NSF7FunctionKey@63242$NSF8FunctionKey@63243$NSF9FunctionKey@63244$NSFPCurrentField@134$NSFPPreviewButton@131$NSFPPreviewField@128$NSFPRevertButton@130$NSFPSetButton@132$NSFPSizeField@129$NSFPSizeTitle@133$NSFileHandlingPanelCancelButton@0$NSFileHandlingPanelOKButton@1$NSFileWrapperReadingImmediate@1$NSFileWrapperReadingWithoutMapping@2$NSFileWrapperWritingAtomic@1$NSFileWrapperWritingWithNameUpdating@2$NSFindFunctionKey@63301$NSFindPanelActionNext@2$NSFindPanelActionPrevious@3$NSFindPanelActionReplace@5$NSFindPanelActionReplaceAll@4$NSFindPanelActionReplaceAllInSelection@8$NSFindPanelActionReplaceAndFind@6$NSFindPanelActionSelectAll@9$NSFindPanelActionSelectAllInSelection@10$NSFindPanelActionSetFindString@7$NSFindPanelActionShowFindPanel@1$NSFindPanelSubstringMatchTypeContains@0$NSFindPanelSubstringMatchTypeEndsWith@3$NSFindPanelSubstringMatchTypeFullWord@2$NSFindPanelSubstringMatchTypeStartsWith@1$NSFitPagination@1$NSFixedPitchFontMask@1024$NSFlagsChanged@12$NSFlagsChangedMask@4096$NSFloatType@3$NSFloatingPointSamplesBitmapFormat@4$NSFloatingWindowLevel@3$NSFocusRingAbove@2$NSFocusRingBelow@1$NSFocusRingOnly@0$NSFocusRingTypeDefault@0$NSFocusRingTypeExterior@2$NSFocusRingTypeNone@1$NSFontAntialiasedIntegerAdvancementsRenderingMode@3$NSFontAntialiasedRenderingMode@1$NSFontAssetDownloadError@66304$NSFontAssetRequestOptionUsesStandardUI@1$NSFontBoldTrait@2$NSFontClarendonSerifsClass@1073741824$NSFontCollectionApplicationOnlyMask@1$NSFontCollectionVisibilityComputer@4$NSFontCollectionVisibilityProcess@1$NSFontCollectionVisibilityUser@2$NSFontCondensedTrait@64$NSFontDefaultRenderingMode@0$NSFontDescriptorClassClarendonSerifs@1073741824$NSFontDescriptorClassFreeformSerifs@1879048192$NSFontDescriptorClassMask@4026531840$NSFontDescriptorClassModernSerifs@805306368$NSFontDescriptorClassOldStyleSerifs@268435456$NSFontDescriptorClassOrnamentals@2415919104$NSFontDescriptorClassSansSerif@2147483648$NSFontDescriptorClassScripts@2684354560$NSFontDescriptorClassSlabSerifs@1342177280$NSFontDescriptorClassSymbolic@3221225472$NSFontDescriptorClassTransitionalSerifs@536870912$NSFontDescriptorClassUnknown@0$NSFontDescriptorTraitBold@2$NSFontDescriptorTraitCondensed@64$NSFontDescriptorTraitEmphasized@2$NSFontDescriptorTraitExpanded@32$NSFontDescriptorTraitItalic@1$NSFontDescriptorTraitLooseLeading@65536$NSFontDescriptorTraitMonoSpace@1024$NSFontDescriptorTraitTightLeading@32768$NSFontDescriptorTraitUIOptimized@4096$NSFontDescriptorTraitVertical@2048$NSFontErrorMaximum@66335$NSFontErrorMinimum@66304$NSFontExpandedTrait@32$NSFontFamilyClassMask@4026531840$NSFontFreeformSerifsClass@1879048192$NSFontIntegerAdvancementsRenderingMode@2$NSFontItalicTrait@1$NSFontModernSerifsClass@805306368$NSFontMonoSpaceTrait@1024$NSFontOldStyleSerifsClass@268435456$NSFontOrnamentalsClass@2415919104$NSFontPanelAllEffectsModeMask@1048320$NSFontPanelAllModesMask@4294967295$NSFontPanelCollectionModeMask@4$NSFontPanelDocumentColorEffectModeMask@2048$NSFontPanelFaceModeMask@1$NSFontPanelModeMaskAllEffects@1048320$NSFontPanelModeMaskCollection@4$NSFontPanelModeMaskDocumentColorEffect@2048$NSFontPanelModeMaskFace@1$NSFontPanelModeMaskShadowEffect@4096$NSFontPanelModeMaskSize@2$NSFontPanelModeMaskStrikethroughEffect@512$NSFontPanelModeMaskTextColorEffect@1024$NSFontPanelModeMaskUnderlineEffect@256$NSFontPanelModesMaskAllModes@4294967295$NSFontPanelModesMaskStandardModes@65535$NSFontPanelShadowEffectModeMask@4096$NSFontPanelSizeModeMask@2$NSFontPanelStandardModesMask@65535$NSFontPanelStrikethroughEffectModeMask@512$NSFontPanelTextColorEffectModeMask@1024$NSFontPanelUnderlineEffectModeMask@256$NSFontSansSerifClass@2147483648$NSFontScriptsClass@2684354560$NSFontSlabSerifsClass@1342177280$NSFontSymbolicClass@3221225472$NSFontTransitionalSerifsClass@536870912$NSFontUIOptimizedTrait@4096$NSFontUnknownClass@0$NSFontVerticalTrait@2048$NSFormFeedCharacter@12$NSFullScreenWindowMask@16384$NSFullSizeContentViewWindowMask@32768$NSFunctionKeyMask@8388608$NSGIFFileType@2$NSGestureRecognizerStateBegan@1$NSGestureRecognizerStateCancelled@4$NSGestureRecognizerStateChanged@2$NSGestureRecognizerStateEnded@3$NSGestureRecognizerStateFailed@5$NSGestureRecognizerStatePossible@0$NSGestureRecognizerStateRecognized@3$NSGlyphAttributeBidiLevel@2$NSGlyphAttributeElastic@1$NSGlyphAttributeInscribe@5$NSGlyphAttributeSoft@0$NSGlyphInscribeAbove@2$NSGlyphInscribeBase@0$NSGlyphInscribeBelow@1$NSGlyphInscribeOverBelow@4$NSGlyphInscribeOverstrike@3$NSGlyphPropertyControlCharacter@2$NSGlyphPropertyElastic@4$NSGlyphPropertyNonBaseCharacter@8$NSGlyphPropertyNull@1$NSGradientConcaveStrong@2$NSGradientConcaveWeak@1$NSGradientConvexStrong@4$NSGradientConvexWeak@3$NSGradientDrawsAfterEndingLocation@2$NSGradientDrawsBeforeStartingLocation@1$NSGradientNone@0$NSGraphiteControlTint@6$NSGrayColorSpaceModel@0$NSGrayModeColorPanel@0$NSGridCellPlacementBottom@3$NSGridCellPlacementCenter@4$NSGridCellPlacementFill@5$NSGridCellPlacementInherited@0$NSGridCellPlacementLeading@2$NSGridCellPlacementNone@1$NSGridCellPlacementTop@2$NSGridCellPlacementTrailing@3$NSGridRowAlignmentFirstBaseline@2$NSGridRowAlignmentInherited@0$NSGridRowAlignmentLastBaseline@3$NSGridRowAlignmentNone@1$NSGrooveBorder@3$NSHSBModeColorPanel@3$NSHUDWindowMask@8192$NSHapticFeedbackPatternAlignment@1$NSHapticFeedbackPatternGeneric@0$NSHapticFeedbackPatternLevelChange@2$NSHapticFeedbackPerformanceTimeDefault@0$NSHapticFeedbackPerformanceTimeDrawCompleted@2$NSHapticFeedbackPerformanceTimeNow@1$NSHeavierFontAction@5$NSHelpButtonBezelStyle@9$NSHelpFunctionKey@63302$NSHelpKeyMask@4194304$NSHighlightModeMatrix@1$NSHomeFunctionKey@63273$NSHorizontalRuler@0$NSHourMinuteDatePickerElementFlag@12$NSHourMinuteSecondDatePickerElementFlag@14$NSIdentityMappingCharacterCollection@0$NSIllegalTextMovement@0$NSImageAbove@5$NSImageAlignBottom@5$NSImageAlignBottomLeft@6$NSImageAlignBottomRight@7$NSImageAlignCenter@0$NSImageAlignLeft@4$NSImageAlignRight@8$NSImageAlignTop@1$NSImageAlignTopLeft@2$NSImageAlignTopRight@3$NSImageBelow@4$NSImageCacheAlways@1$NSImageCacheBySize@2$NSImageCacheDefault@0$NSImageCacheNever@3$NSImageCellType@2$NSImageFrameButton@4$NSImageFrameGrayBezel@2$NSImageFrameGroove@3$NSImageFrameNone@0$NSImageFramePhoto@1$NSImageInterpolationDefault@0$NSImageInterpolationHigh@3$NSImageInterpolationLow@2$NSImageInterpolationMedium@4$NSImageInterpolationNone@1$NSImageLayoutDirectionLeftToRight@2$NSImageLayoutDirectionRightToLeft@3$NSImageLayoutDirectionUnspecified@-1$NSImageLeading@7$NSImageLeft@2$NSImageLoadStatusCancelled@1$NSImageLoadStatusCompleted@0$NSImageLoadStatusInvalidData@2$NSImageLoadStatusReadError@4$NSImageLoadStatusUnexpectedEOF@3$NSImageOnly@1$NSImageOverlaps@6$NSImageRepLoadStatusCompleted@-6$NSImageRepLoadStatusInvalidData@-4$NSImageRepLoadStatusReadingHeader@-2$NSImageRepLoadStatusUnexpectedEOF@-5$NSImageRepLoadStatusUnknownType@-1$NSImageRepLoadStatusWillNeedAllData@-3$NSImageRepMatchesDevice@0$NSImageRight@3$NSImageScaleAxesIndependently@1$NSImageScaleNone@2$NSImageScaleProportionallyDown@0$NSImageScaleProportionallyUpOrDown@3$NSImageSymbolScaleLarge@3$NSImageSymbolScaleMedium@2$NSImageSymbolScaleSmall@1$NSImageTrailing@8$NSIndexedColorSpaceModel@5$NSInformationalAlertStyle@1$NSInformationalRequest@10$NSInlineBezelStyle@15$NSInsertCharFunctionKey@63293$NSInsertFunctionKey@63271$NSInsertLineFunctionKey@63291$NSIntType@1$NSItalicFontMask@1$NSJPEG2000FileType@5$NSJPEGFileType@3$NSJustifiedTextAlignment@3$NSKeyDown@10$NSKeyDownMask@1024$NSKeyUp@11$NSKeyUpMask@2048$NSLABColorSpaceModel@3$NSLAYOUTANCHOR_H@1$NSLAYOUTCONSTRAINT_H@1$NSLandscapeOrientation@1$NSLayoutAttributeBaseline@11$NSLayoutAttributeBottom@4$NSLayoutAttributeCenterX@9$NSLayoutAttributeCenterY@10$NSLayoutAttributeFirstBaseline@12$NSLayoutAttributeHeight@8$NSLayoutAttributeLastBaseline@11$NSLayoutAttributeLeading@5$NSLayoutAttributeLeft@1$NSLayoutAttributeNotAnAttribute@0$NSLayoutAttributeRight@2$NSLayoutAttributeTop@3$NSLayoutAttributeTrailing@6$NSLayoutAttributeWidth@7$NSLayoutConstraintOrientationHorizontal@0$NSLayoutConstraintOrientationVertical@1$NSLayoutFormatAlignAllBaseline@2048$NSLayoutFormatAlignAllBottom@16$NSLayoutFormatAlignAllCenterX@512$NSLayoutFormatAlignAllCenterY@1024$NSLayoutFormatAlignAllFirstBaseline@4096$NSLayoutFormatAlignAllLastBaseline@2048$NSLayoutFormatAlignAllLeading@32$NSLayoutFormatAlignAllLeft@2$NSLayoutFormatAlignAllRight@4$NSLayoutFormatAlignAllTop@8$NSLayoutFormatAlignAllTrailing@64$NSLayoutFormatAlignmentMask@65535$NSLayoutFormatDirectionLeadingToTrailing@0$NSLayoutFormatDirectionLeftToRight@65536$NSLayoutFormatDirectionMask@196608$NSLayoutFormatDirectionRightToLeft@131072$NSLayoutPriorityDefaultHigh@750$NSLayoutPriorityDefaultLow@250$NSLayoutPriorityDragThatCanResizeWindow@510$NSLayoutPriorityDragThatCannotResizeWindow@490$NSLayoutPriorityFittingSizeCompression@50$NSLayoutPriorityRequired@1000$NSLayoutPriorityWindowSizeStayPut@500$NSLayoutRelationEqual@0$NSLayoutRelationGreaterThanOrEqual@1$NSLayoutRelationLessThanOrEqual@-1$NSLeftArrowFunctionKey@63234$NSLeftMouseDown@1$NSLeftMouseDownMask@2$NSLeftMouseDragged@6$NSLeftMouseDraggedMask@64$NSLeftMouseUp@2$NSLeftMouseUpMask@4$NSLeftTabStopType@0$NSLeftTabsBezelBorder@1$NSLeftTextAlignment@0$NSLeftTextMovement@19$NSLevelIndicatorPlaceholderVisibilityAlways@1$NSLevelIndicatorPlaceholderVisibilityAutomatic@0$NSLevelIndicatorPlaceholderVisibilityWhileEditing@2$NSLevelIndicatorStyleContinuousCapacity@1$NSLevelIndicatorStyleDiscreteCapacity@2$NSLevelIndicatorStyleRating@3$NSLevelIndicatorStyleRelevancy@0$NSLighterFontAction@6$NSLineBorder@1$NSLineBreakByCharWrapping@1$NSLineBreakByClipping@2$NSLineBreakByTruncatingHead@3$NSLineBreakByTruncatingMiddle@5$NSLineBreakByTruncatingTail@4$NSLineBreakByWordWrapping@0$NSLineBreakStrategyHangulWordPriority@2$NSLineBreakStrategyNone@0$NSLineBreakStrategyPushOut@1$NSLineBreakStrategyStandard@65535$NSLineCapStyleButt@0$NSLineCapStyleRound@1$NSLineCapStyleSquare@2$NSLineDoesntMove@0$NSLineJoinStyleBevel@2$NSLineJoinStyleMiter@0$NSLineJoinStyleRound@1$NSLineMovesDown@3$NSLineMovesLeft@1$NSLineMovesRight@2$NSLineMovesUp@4$NSLineSeparatorCharacter@8232$NSLineSweepDown@2$NSLineSweepLeft@0$NSLineSweepRight@1$NSLineSweepUp@3$NSLineToBezierPathElement@1$NSLinearSlider@0$NSListModeMatrix@2$NSMacintoshInterfaceStyle@3$NSMainMenuWindowLevel@24$NSMediaLibraryAudio@1$NSMediaLibraryImage@2$NSMediaLibraryMovie@4$NSMenuFunctionKey@63285$NSMenuPropertyItemAccessibilityDescription@32$NSMenuPropertyItemAttributedTitle@2$NSMenuPropertyItemEnabled@16$NSMenuPropertyItemImage@8$NSMenuPropertyItemKeyEquivalent@4$NSMenuPropertyItemTitle@1$NSMiniControlSize@2$NSMiniaturizableWindowMask@4$NSMiterLineJoinStyle@0$NSMixedState@-1$NSModalPanelWindowLevel@8$NSModalResponseAbort@-1001$NSModalResponseCancel@0$NSModalResponseContinue@-1002$NSModalResponseOK@1$NSModalResponseStop@-1000$NSModeSwitchFunctionKey@63303$NSMomentaryChangeButton@5$NSMomentaryLight@7$NSMomentaryLightButton@0$NSMomentaryPushButton@0$NSMomentaryPushInButton@7$NSMouseEntered@8$NSMouseEnteredMask@256$NSMouseEventSubtype@0$NSMouseExited@9$NSMouseExitedMask@512$NSMouseMoved@5$NSMouseMovedMask@32$NSMoveToBezierPathElement@0$NSMultiLevelAcceleratorButton@9$NSNarrowFontMask@16$NSNativeShortGlyphPacking@5$NSNaturalTextAlignment@4$NSNewlineCharacter@10$NSNextFunctionKey@63296$NSNextStepInterfaceStyle@1$NSNoBorder@0$NSNoCellMask@0$NSNoFontChangeAction@0$NSNoImage@0$NSNoInterfaceStyle@0$NSNoModeColorPanel@-1$NSNoScrollerParts@0$NSNoTabsBezelBorder@4$NSNoTabsLineBorder@5$NSNoTabsNoBorder@6$NSNoTitle@0$NSNoUnderlineStyle@0$NSNonStandardCharacterSetFontMask@8$NSNonZeroWindingRule@0$NSNonactivatingPanelMask@128$NSNormalWindowLevel@0$NSNullCellType@0$NSNullGlyph@0$NSNumericPadKeyMask@2097152$NSOKButton@1$NSOPENGL_CURRENT_VERSION@1$NSOffState@0$NSOnOffButton@6$NSOnState@1$NSOnlyScrollerArrows@1$NSOpenGLCPCurrentRendererID@309$NSOpenGLCPGPUFragmentProcessing@311$NSOpenGLCPGPUVertexProcessing@310$NSOpenGLCPHasDrawable@314$NSOpenGLCPMPSwapsInFlight@315$NSOpenGLCPRasterizationEnable@221$NSOpenGLCPReclaimResources@308$NSOpenGLCPStateValidation@301$NSOpenGLCPSurfaceBackingSize@304$NSOpenGLCPSurfaceOpacity@236$NSOpenGLCPSurfaceOrder@235$NSOpenGLCPSurfaceSurfaceVolatile@306$NSOpenGLCPSwapInterval@222$NSOpenGLCPSwapRectangle@200$NSOpenGLCPSwapRectangleEnable@201$NSOpenGLContextParameterCurrentRendererID@309$NSOpenGLContextParameterGPUFragmentProcessing@311$NSOpenGLContextParameterGPUVertexProcessing@310$NSOpenGLContextParameterHasDrawable@314$NSOpenGLContextParameterMPSwapsInFlight@315$NSOpenGLContextParameterRasterizationEnable@221$NSOpenGLContextParameterReclaimResources@308$NSOpenGLContextParameterStateValidation@301$NSOpenGLContextParameterSurfaceBackingSize@304$NSOpenGLContextParameterSurfaceOpacity@236$NSOpenGLContextParameterSurfaceOrder@235$NSOpenGLContextParameterSurfaceSurfaceVolatile@306$NSOpenGLContextParameterSwapInterval@222$NSOpenGLContextParameterSwapRectangle@200$NSOpenGLContextParameterSwapRectangleEnable@201$NSOpenGLGOClearFormatCache@502$NSOpenGLGOFormatCacheSize@501$NSOpenGLGOResetLibrary@504$NSOpenGLGORetainRenderers@503$NSOpenGLGOUseBuildCache@506$NSOpenGLPFAAccelerated@73$NSOpenGLPFAAcceleratedCompute@97$NSOpenGLPFAAccumSize@14$NSOpenGLPFAAllRenderers@1$NSOpenGLPFAAllowOfflineRenderers@96$NSOpenGLPFAAlphaSize@11$NSOpenGLPFAAuxBuffers@7$NSOpenGLPFAAuxDepthStencil@57$NSOpenGLPFABackingStore@76$NSOpenGLPFAClosestPolicy@74$NSOpenGLPFAColorFloat@58$NSOpenGLPFAColorSize@8$NSOpenGLPFACompliant@83$NSOpenGLPFADepthSize@12$NSOpenGLPFADoubleBuffer@5$NSOpenGLPFAFullScreen@54$NSOpenGLPFAMPSafe@78$NSOpenGLPFAMaximumPolicy@52$NSOpenGLPFAMinimumPolicy@51$NSOpenGLPFAMultiScreen@81$NSOpenGLPFAMultisample@59$NSOpenGLPFANoRecovery@72$NSOpenGLPFAOffScreen@53$NSOpenGLPFAOpenGLProfile@99$NSOpenGLPFAPixelBuffer@90$NSOpenGLPFARemotePixelBuffer@91$NSOpenGLPFARendererID@70$NSOpenGLPFARobust@75$NSOpenGLPFASampleAlpha@61$NSOpenGLPFASampleBuffers@55$NSOpenGLPFASamples@56$NSOpenGLPFAScreenMask@84$NSOpenGLPFASingleRenderer@71$NSOpenGLPFAStencilSize@13$NSOpenGLPFAStereo@6$NSOpenGLPFASupersample@60$NSOpenGLPFATripleBuffer@3$NSOpenGLPFAVirtualScreenCount@128$NSOpenGLPFAWindow@80$NSOpenGLProfileVersion3_2Core@12800$NSOpenGLProfileVersion4_1Core@16640$NSOpenGLProfileVersionLegacy@4096$NSOtherMouseDown@25$NSOtherMouseDownMask@33554432$NSOtherMouseDragged@27$NSOtherMouseDraggedMask@134217728$NSOtherMouseUp@26$NSOtherMouseUpMask@67108864$NSOtherTextMovement@0$NSOutlineViewDropOnItemIndex@-1$NSPDFPanelRequestsParentDirectory@16777216$NSPDFPanelShowsOrientation@8$NSPDFPanelShowsPaperSize@4$NSPNGFileType@4$NSPageControllerTransitionStyleHorizontalStrip@2$NSPageControllerTransitionStyleStackBook@1$NSPageControllerTransitionStyleStackHistory@0$NSPageDownFunctionKey@63277$NSPageUpFunctionKey@63276$NSPaperOrientationLandscape@1$NSPaperOrientationPortrait@0$NSParagraphSeparatorCharacter@8233$NSPasteboardContentsCurrentHostOnly@1$NSPasteboardReadingAsData@0$NSPasteboardReadingAsKeyedArchive@4$NSPasteboardReadingAsPropertyList@2$NSPasteboardReadingAsString@1$NSPasteboardWritingPromised@512$NSPathStyleNavigationBar@1$NSPathStylePopUp@2$NSPathStyleStandard@0$NSPatternColorSpaceModel@6$NSPauseFunctionKey@63280$NSPenLowerSideMask@2$NSPenPointingDevice@1$NSPenTipMask@1$NSPenUpperSideMask@4$NSPeriodic@16$NSPeriodicMask@65536$NSPickerTouchBarItemControlRepresentationAutomatic@0$NSPickerTouchBarItemControlRepresentationCollapsed@2$NSPickerTouchBarItemControlRepresentationExpanded@1$NSPickerTouchBarItemSelectionModeMomentary@2$NSPickerTouchBarItemSelectionModeSelectAny@1$NSPickerTouchBarItemSelectionModeSelectOne@0$NSPlainTextTokenStyle@1$NSPointingDeviceTypeCursor@2$NSPointingDeviceTypeEraser@3$NSPointingDeviceTypePen@1$NSPointingDeviceTypeUnknown@0$NSPopUpArrowAtBottom@2$NSPopUpArrowAtCenter@1$NSPopUpMenuWindowLevel@101$NSPopUpNoArrow@0$NSPopoverAppearanceHUD@1$NSPopoverAppearanceMinimal@0$NSPopoverBehaviorApplicationDefined@0$NSPopoverBehaviorSemitransient@2$NSPopoverBehaviorTransient@1$NSPortraitOrientation@0$NSPositiveDoubleType@7$NSPositiveFloatType@4$NSPositiveIntType@2$NSPosterFontMask@256$NSPowerOffEventType@1$NSPressedTab@2$NSPressureBehaviorPrimaryAccelerator@3$NSPressureBehaviorPrimaryClick@1$NSPressureBehaviorPrimaryDeepClick@5$NSPressureBehaviorPrimaryDeepDrag@6$NSPressureBehaviorPrimaryDefault@0$NSPressureBehaviorPrimaryGeneric@2$NSPressureBehaviorUnknown@-1$NSPrevFunctionKey@63295$NSPrintFunctionKey@63288$NSPrintPanelShowsCopies@1$NSPrintPanelShowsOrientation@8$NSPrintPanelShowsPageRange@2$NSPrintPanelShowsPageSetupAccessory@256$NSPrintPanelShowsPaperSize@4$NSPrintPanelShowsPreview@131072$NSPrintPanelShowsPrintSelection@32$NSPrintPanelShowsScaling@16$NSPrintRenderingQualityBest@0$NSPrintRenderingQualityResponsive@1$NSPrintScreenFunctionKey@63278$NSPrinterTableError@2$NSPrinterTableNotFound@1$NSPrinterTableOK@0$NSPrintingCancelled@0$NSPrintingFailure@3$NSPrintingPaginationModeAutomatic@0$NSPrintingPaginationModeClip@2$NSPrintingPaginationModeFit@1$NSPrintingReplyLater@2$NSPrintingSuccess@1$NSProgressIndicatorBarStyle@0$NSProgressIndicatorPreferredAquaThickness@12$NSProgressIndicatorPreferredLargeThickness@18$NSProgressIndicatorPreferredSmallThickness@10$NSProgressIndicatorPreferredThickness@14$NSProgressIndicatorSpinningStyle@1$NSProgressIndicatorStyleBar@0$NSProgressIndicatorStyleSpinning@1$NSPushInCell@2$NSPushInCellMask@2$NSPushOnPushOffButton@1$NSRGBColorSpaceModel@1$NSRGBModeColorPanel@1$NSRadioButton@4$NSRadioModeMatrix@0$NSRangeDateMode@1$NSRatingLevelIndicatorStyle@3$NSRecessedBezelStyle@13$NSRectAlignmentBottom@5$NSRectAlignmentBottomLeading@4$NSRectAlignmentBottomTrailing@6$NSRectAlignmentLeading@3$NSRectAlignmentNone@0$NSRectAlignmentTop@1$NSRectAlignmentTopLeading@2$NSRectAlignmentTopTrailing@8$NSRectAlignmentTrailing@7$NSRedoFunctionKey@63300$NSRegularControlSize@0$NSRegularSquareBezelStyle@2$NSRelevancyLevelIndicatorStyle@0$NSRemoteNotificationTypeAlert@4$NSRemoteNotificationTypeBadge@1$NSRemoteNotificationTypeNone@0$NSRemoteNotificationTypeSound@2$NSRemoveTraitFontAction@7$NSResetCursorRectsRunLoopOrdering@700000$NSResetFunctionKey@63283$NSResizableWindowMask@8$NSReturnTextMovement@16$NSRightArrowFunctionKey@63235$NSRightMouseDown@3$NSRightMouseDownMask@8$NSRightMouseDragged@7$NSRightMouseDraggedMask@128$NSRightMouseUp@4$NSRightMouseUpMask@16$NSRightTabStopType@1$NSRightTabsBezelBorder@3$NSRightTextAlignment@1$NSRightTextMovement@20$NSRoundLineCapStyle@1$NSRoundLineJoinStyle@1$NSRoundRectBezelStyle@12$NSRoundedBezelStyle@1$NSRoundedDisclosureBezelStyle@14$NSRoundedTokenStyle@2$NSRuleEditorNestingModeCompound@2$NSRuleEditorNestingModeList@1$NSRuleEditorNestingModeSimple@3$NSRuleEditorNestingModeSingle@0$NSRuleEditorRowTypeCompound@1$NSRuleEditorRowTypeSimple@0$NSRunAbortedResponse@-1001$NSRunContinuesResponse@-1002$NSRunStoppedResponse@-1000$NSSaveAsOperation@1$NSSaveOperation@0$NSSaveToOperation@2$NSScaleNone@2$NSScaleProportionally@0$NSScaleToFit@1$NSScreenChangedEventType@8$NSScreenSaverWindowLevel@1000$NSScrollElasticityAllowed@2$NSScrollElasticityAutomatic@0$NSScrollElasticityNone@1$NSScrollLockFunctionKey@63279$NSScrollViewFindBarPositionAboveContent@1$NSScrollViewFindBarPositionAboveHorizontalRuler@0$NSScrollViewFindBarPositionBelowContent@2$NSScrollWheel@22$NSScrollWheelMask@4194304$NSScrollerArrowsDefaultSetting@0$NSScrollerArrowsMaxEnd@0$NSScrollerArrowsMinEnd@1$NSScrollerArrowsNone@2$NSScrollerDecrementArrow@1$NSScrollerDecrementLine@4$NSScrollerDecrementPage@1$NSScrollerIncrementArrow@0$NSScrollerIncrementLine@5$NSScrollerIncrementPage@3$NSScrollerKnob@2$NSScrollerKnobSlot@6$NSScrollerKnobStyleDark@1$NSScrollerKnobStyleDefault@0$NSScrollerKnobStyleLight@2$NSScrollerNoPart@0$NSScrollerStyleLegacy@0$NSScrollerStyleOverlay@1$NSScrubberAlignmentCenter@3$NSScrubberAlignmentLeading@1$NSScrubberAlignmentNone@0$NSScrubberAlignmentTrailing@2$NSScrubberModeFixed@0$NSScrubberModeFree@1$NSSearchFieldClearRecentsMenuItemTag@1002$NSSearchFieldNoRecentsMenuItemTag@1003$NSSearchFieldRecentsMenuItemTag@1001$NSSearchFieldRecentsTitleMenuItemTag@1000$NSSegmentDistributionFill@1$NSSegmentDistributionFillEqually@2$NSSegmentDistributionFillProportionally@3$NSSegmentDistributionFit@0$NSSegmentStyleAutomatic@0$NSSegmentStyleCapsule@5$NSSegmentStyleRoundRect@3$NSSegmentStyleRounded@1$NSSegmentStyleSeparated@8$NSSegmentStyleSmallSquare@6$NSSegmentStyleTexturedRounded@2$NSSegmentStyleTexturedSquare@4$NSSegmentSwitchTrackingMomentary@2$NSSegmentSwitchTrackingMomentaryAccelerator@3$NSSegmentSwitchTrackingSelectAny@1$NSSegmentSwitchTrackingSelectOne@0$NSSelectByCharacter@0$NSSelectByParagraph@2$NSSelectByWord@1$NSSelectFunctionKey@63297$NSSelectedTab@0$NSSelectingNext@1$NSSelectingPrevious@2$NSSelectionAffinityDownstream@1$NSSelectionAffinityUpstream@0$NSServiceApplicationLaunchFailedError@66561$NSServiceApplicationNotFoundError@66560$NSServiceErrorMaximum@66817$NSServiceErrorMinimum@66560$NSServiceInvalidPasteboardDataError@66563$NSServiceMalformedServiceDictionaryError@66564$NSServiceMiscellaneousError@66800$NSServiceRequestTimedOutError@66562$NSShadowlessSquareBezelStyle@6$NSSharingContentScopeFull@2$NSSharingContentScopeItem@0$NSSharingContentScopePartial@1$NSSharingServiceErrorMaximum@67327$NSSharingServiceErrorMinimum@67072$NSSharingServiceNotConfiguredError@67072$NSShiftKeyMask@131072$NSShowControlGlyphs@1$NSShowInvisibleGlyphs@2$NSSingleDateMode@0$NSSingleUnderlineStyle@1$NSSizeDownFontAction@4$NSSizeUpFontAction@3$NSSliderTypeCircular@1$NSSliderTypeLinear@0$NSSmallCapsFontMask@128$NSSmallControlSize@1$NSSmallIconButtonBezelStyle@2$NSSmallSquareBezelStyle@10$NSSpecialPageOrder@0$NSSpeechImmediateBoundary@0$NSSpeechSentenceBoundary@2$NSSpeechWordBoundary@1$NSSpellingStateGrammarFlag@2$NSSpellingStateSpellingFlag@1$NSSplitViewDividerStylePaneSplitter@3$NSSplitViewDividerStyleThick@1$NSSplitViewDividerStyleThin@2$NSSplitViewItemBehaviorContentList@2$NSSplitViewItemBehaviorDefault@0$NSSplitViewItemBehaviorSidebar@1$NSSplitViewItemCollapseBehaviorDefault@0$NSSplitViewItemCollapseBehaviorPreferResizingSiblingsWithFixedSplitView@2$NSSplitViewItemCollapseBehaviorPreferResizingSplitViewWithFixedSiblings@1$NSSplitViewItemCollapseBehaviorUseConstraints@3$NSSpringLoadingContinuousActivation@2$NSSpringLoadingDisabled@0$NSSpringLoadingEnabled@1$NSSpringLoadingHighlightEmphasized@2$NSSpringLoadingHighlightNone@0$NSSpringLoadingHighlightStandard@1$NSSpringLoadingNoHover@4$NSSquareLineCapStyle@2$NSSquareStatusItemLength@-2$NSStackViewDistributionEqualCentering@4$NSStackViewDistributionEqualSpacing@3$NSStackViewDistributionFill@0$NSStackViewDistributionFillEqually@1$NSStackViewDistributionFillProportionally@2$NSStackViewDistributionGravityAreas@-1$NSStackViewGravityBottom@3$NSStackViewGravityCenter@2$NSStackViewGravityLeading@1$NSStackViewGravityTop@1$NSStackViewGravityTrailing@3$NSStackViewVisibilityPriorityDetachOnlyIfNecessary@900$NSStackViewVisibilityPriorityMustHold@1000$NSStackViewVisibilityPriorityNotVisible@0$NSStatusItemBehaviorRemovalAllowed@2$NSStatusItemBehaviorTerminationOnRemoval@4$NSStatusWindowLevel@25$NSStopFunctionKey@63284$NSStringDrawingDisableScreenFontSubstitution@4$NSStringDrawingOneShot@16$NSStringDrawingTruncatesLastVisibleLine@32$NSStringDrawingUsesDeviceMetrics@8$NSStringDrawingUsesFontLeading@2$NSStringDrawingUsesLineFragmentOrigin@1$NSSubmenuWindowLevel@3$NSSwitchButton@3$NSSysReqFunctionKey@63281$NSSystemDefined@14$NSSystemDefinedMask@16384$NSSystemFunctionKey@63287$NSTIFFCompressionCCITTFAX3@3$NSTIFFCompressionCCITTFAX4@4$NSTIFFCompressionJPEG@6$NSTIFFCompressionLZW@5$NSTIFFCompressionNEXT@32766$NSTIFFCompressionNone@1$NSTIFFCompressionOldJPEG@32865$NSTIFFCompressionPackBits@32773$NSTIFFFileType@0$NSTabCharacter@9$NSTabPositionBottom@3$NSTabPositionLeft@2$NSTabPositionNone@0$NSTabPositionRight@4$NSTabPositionTop@1$NSTabTextMovement@17$NSTabViewBorderTypeBezel@2$NSTabViewBorderTypeLine@1$NSTabViewBorderTypeNone@0$NSTabViewControllerTabStyleSegmentedControlOnBottom@1$NSTabViewControllerTabStyleSegmentedControlOnTop@0$NSTabViewControllerTabStyleToolbar@2$NSTabViewControllerTabStyleUnspecified@-1$NSTableColumnAutoresizingMask@1$NSTableColumnNoResizing@0$NSTableColumnUserResizingMask@2$NSTableRowActionEdgeLeading@0$NSTableRowActionEdgeTrailing@1$NSTableViewAnimationEffectFade@1$NSTableViewAnimationEffectGap@2$NSTableViewAnimationEffectNone@0$NSTableViewAnimationSlideDown@32$NSTableViewAnimationSlideLeft@48$NSTableViewAnimationSlideRight@64$NSTableViewAnimationSlideUp@16$NSTableViewDashedHorizontalGridLineMask@8$NSTableViewDraggingDestinationFeedbackStyleGap@2$NSTableViewDraggingDestinationFeedbackStyleNone@-1$NSTableViewDraggingDestinationFeedbackStyleRegular@0$NSTableViewDraggingDestinationFeedbackStyleSourceList@1$NSTableViewDropAbove@1$NSTableViewDropOn@0$NSTableViewFirstColumnOnlyAutoresizingStyle@5$NSTableViewGridNone@0$NSTableViewLastColumnOnlyAutoresizingStyle@4$NSTableViewNoColumnAutoresizing@0$NSTableViewReverseSequentialColumnAutoresizingStyle@3$NSTableViewRowActionStyleDestructive@1$NSTableViewRowActionStyleRegular@0$NSTableViewRowSizeStyleCustom@0$NSTableViewRowSizeStyleDefault@-1$NSTableViewRowSizeStyleLarge@3$NSTableViewRowSizeStyleMedium@2$NSTableViewRowSizeStyleSmall@1$NSTableViewSelectionHighlightStyleNone@-1$NSTableViewSelectionHighlightStyleRegular@0$NSTableViewSelectionHighlightStyleSourceList@1$NSTableViewSequentialColumnAutoresizingStyle@2$NSTableViewSolidHorizontalGridLineMask@2$NSTableViewSolidVerticalGridLineMask@1$NSTableViewStyleAutomatic@0$NSTableViewStyleFullWidth@1$NSTableViewStyleInset@2$NSTableViewStylePlain@4$NSTableViewStyleSourceList@3$NSTableViewUniformColumnAutoresizingStyle@1$NSTabletPoint@23$NSTabletPointEventSubtype@1$NSTabletPointMask@8388608$NSTabletProximity@24$NSTabletProximityEventSubtype@2$NSTabletProximityMask@16777216$NSTerminateCancel@0$NSTerminateLater@2$NSTerminateNow@1$NSTextAlignmentCenter@2$NSTextAlignmentJustified@3$NSTextAlignmentLeft@0$NSTextAlignmentNatural@4$NSTextAlignmentRight@1$NSTextBlockAbsoluteValueType@0$NSTextBlockBaselineAlignment@3$NSTextBlockBorder@0$NSTextBlockBottomAlignment@2$NSTextBlockHeight@4$NSTextBlockMargin@1$NSTextBlockMaximumHeight@6$NSTextBlockMaximumWidth@2$NSTextBlockMiddleAlignment@1$NSTextBlockMinimumHeight@5$NSTextBlockMinimumWidth@1$NSTextBlockPadding@-1$NSTextBlockPercentageValueType@1$NSTextBlockTopAlignment@0$NSTextBlockWidth@0$NSTextCellType@1$NSTextContentManagerEnumerationOptionsNone@0$NSTextContentManagerEnumerationOptionsReverse@1$NSTextElementProviderEnumerationOptionsNone@0$NSTextElementProviderEnumerationOptionsReverse@1$NSTextFieldAndStepperDatePickerStyle@0$NSTextFieldDatePickerStyle@2$NSTextFieldRoundedBezel@1$NSTextFieldSquareBezel@0$NSTextFinderActionHideFindInterface@11$NSTextFinderActionHideReplaceInterface@13$NSTextFinderActionNextMatch@2$NSTextFinderActionPreviousMatch@3$NSTextFinderActionReplace@5$NSTextFinderActionReplaceAll@4$NSTextFinderActionReplaceAllInSelection@8$NSTextFinderActionReplaceAndFind@6$NSTextFinderActionSelectAll@9$NSTextFinderActionSelectAllInSelection@10$NSTextFinderActionSetSearchString@7$NSTextFinderActionShowFindInterface@1$NSTextFinderActionShowReplaceInterface@12$NSTextFinderMatchingTypeContains@0$NSTextFinderMatchingTypeEndsWith@3$NSTextFinderMatchingTypeFullWord@2$NSTextFinderMatchingTypeStartsWith@1$NSTextInputTraitTypeDefault@0$NSTextInputTraitTypeNo@1$NSTextInputTraitTypeYes@2$NSTextLayoutFragmentEnumerationOptionsEnsuresExtraLineFragment@8$NSTextLayoutFragmentEnumerationOptionsEnsuresLayout@4$NSTextLayoutFragmentEnumerationOptionsEstimatesSize@2$NSTextLayoutFragmentEnumerationOptionsNone@0$NSTextLayoutFragmentEnumerationOptionsReverse@1$NSTextLayoutFragmentStateCalculatedUsageBounds@2$NSTextLayoutFragmentStateEstimatedUsageBounds@1$NSTextLayoutFragmentStateLayoutAvailable@3$NSTextLayoutFragmentStateNone@0$NSTextLayoutManagerSegmentOptionsHeadSegmentExtended@4$NSTextLayoutManagerSegmentOptionsMiddleFragmentsExcluded@2$NSTextLayoutManagerSegmentOptionsNone@0$NSTextLayoutManagerSegmentOptionsRangeNotRequired@1$NSTextLayoutManagerSegmentOptionsTailSegmentExtended@8$NSTextLayoutManagerSegmentOptionsUpstreamAffinity@16$NSTextLayoutManagerSegmentTypeHighlight@2$NSTextLayoutManagerSegmentTypeSelection@1$NSTextLayoutManagerSegmentTypeStandard@0$NSTextLayoutOrientationHorizontal@0$NSTextLayoutOrientationVertical@1$NSTextListPrependEnclosingMarker@1$NSTextMovementBacktab@18$NSTextMovementCancel@23$NSTextMovementDown@22$NSTextMovementLeft@19$NSTextMovementOther@0$NSTextMovementReturn@16$NSTextMovementRight@20$NSTextMovementTab@17$NSTextMovementUp@21$NSTextReadInapplicableDocumentTypeError@65806$NSTextReadWriteErrorMaximum@66303$NSTextReadWriteErrorMinimum@65792$NSTextScalingStandard@0$NSTextScalingiOS@1$NSTextSelectionAffinityDownstream@1$NSTextSelectionAffinityUpstream@0$NSTextSelectionGranularityCharacter@0$NSTextSelectionGranularityLine@3$NSTextSelectionGranularityParagraph@2$NSTextSelectionGranularitySentence@4$NSTextSelectionGranularityWord@1$NSTextSelectionNavigationDestinationCharacter@0$NSTextSelectionNavigationDestinationContainer@5$NSTextSelectionNavigationDestinationDocument@6$NSTextSelectionNavigationDestinationLine@2$NSTextSelectionNavigationDestinationParagraph@4$NSTextSelectionNavigationDestinationSentence@3$NSTextSelectionNavigationDestinationWord@1$NSTextSelectionNavigationDirectionBackward@1$NSTextSelectionNavigationDirectionDown@5$NSTextSelectionNavigationDirectionForward@0$NSTextSelectionNavigationDirectionLeft@3$NSTextSelectionNavigationDirectionRight@2$NSTextSelectionNavigationDirectionUp@4$NSTextSelectionNavigationLayoutOrientationHorizontal@0$NSTextSelectionNavigationLayoutOrientationVertical@1$NSTextSelectionNavigationModifierExtend@1$NSTextSelectionNavigationModifierMultiple@4$NSTextSelectionNavigationModifierVisual@2$NSTextSelectionNavigationWritingDirectionLeftToRight@0$NSTextSelectionNavigationWritingDirectionRightToLeft@1$NSTextStorageEditedAttributes@1$NSTextStorageEditedCharacters@2$NSTextTableAutomaticLayoutAlgorithm@0$NSTextTableFixedLayoutAlgorithm@1$NSTextWriteInapplicableDocumentTypeError@66062$NSTextWritingDirectionEmbedding@0$NSTextWritingDirectionOverride@2$NSTexturedBackgroundWindowMask@256$NSTexturedRoundedBezelStyle@11$NSTexturedSquareBezelStyle@8$NSThickSquareBezelStyle@3$NSThickerSquareBezelStyle@4$NSTickMarkAbove@1$NSTickMarkBelow@0$NSTickMarkLeft@1$NSTickMarkPositionAbove@1$NSTickMarkPositionBelow@0$NSTickMarkPositionLeading@1$NSTickMarkPositionTrailing@0$NSTickMarkRight@0$NSTimeZoneDatePickerElementFlag@16$NSTitlebarSeparatorStyleAutomatic@0$NSTitlebarSeparatorStyleLine@2$NSTitlebarSeparatorStyleNone@1$NSTitlebarSeparatorStyleShadow@3$NSTitledWindowMask@1$NSToggleButton@2$NSTokenStyleDefault@0$NSTokenStyleNone@1$NSTokenStylePlainSquared@4$NSTokenStyleRounded@2$NSTokenStyleSquared@3$NSToolbarDisplayModeDefault@0$NSToolbarDisplayModeIconAndLabel@1$NSToolbarDisplayModeIconOnly@2$NSToolbarDisplayModeLabelOnly@3$NSToolbarItemGroupControlRepresentationAutomatic@0$NSToolbarItemGroupControlRepresentationCollapsed@2$NSToolbarItemGroupControlRepresentationExpanded@1$NSToolbarItemGroupSelectionModeMomentary@2$NSToolbarItemGroupSelectionModeSelectAny@1$NSToolbarItemGroupSelectionModeSelectOne@0$NSToolbarItemVisibilityPriorityHigh@1000$NSToolbarItemVisibilityPriorityLow@-1000$NSToolbarItemVisibilityPriorityStandard@0$NSToolbarItemVisibilityPriorityUser@2000$NSToolbarSizeModeDefault@0$NSToolbarSizeModeRegular@1$NSToolbarSizeModeSmall@2$NSTopTabsBezelBorder@0$NSTornOffMenuWindowLevel@3$NSTouchBarItemPriorityHigh@1000.0$NSTouchBarItemPriorityLow@-1000.0$NSTouchBarItemPriorityNormal@0.0$NSTouchEventSubtype@3$NSTouchPhaseAny@18446744073709551615$NSTouchPhaseBegan@1$NSTouchPhaseCancelled@16$NSTouchPhaseEnded@8$NSTouchPhaseMoved@2$NSTouchPhaseStationary@4$NSTouchPhaseTouching@7$NSTouchTypeDirect@0$NSTouchTypeIndirect@1$NSTouchTypeMaskDirect@1$NSTouchTypeMaskIndirect@2$NSTrackModeMatrix@3$NSTrackingActiveAlways@128$NSTrackingActiveInActiveApp@64$NSTrackingActiveInKeyWindow@32$NSTrackingActiveWhenFirstResponder@16$NSTrackingAssumeInside@256$NSTrackingCursorUpdate@4$NSTrackingEnabledDuringMouseDrag@1024$NSTrackingInVisibleRect@512$NSTrackingMouseEnteredAndExited@1$NSTrackingMouseMoved@2$NSTypesetterBehavior_10_2@2$NSTypesetterBehavior_10_2_WithCompatibility@1$NSTypesetterBehavior_10_3@3$NSTypesetterBehavior_10_4@4$NSTypesetterContainerBreakAction@32$NSTypesetterHorizontalTabAction@4$NSTypesetterLatestBehavior@-1$NSTypesetterLineBreakAction@8$NSTypesetterOriginalBehavior@0$NSTypesetterParagraphBreakAction@16$NSTypesetterWhitespaceAction@2$NSTypesetterZeroAdvancementAction@1$NSUnboldFontMask@4$NSUnderlinePatternDash@512$NSUnderlinePatternDashDot@768$NSUnderlinePatternDashDotDot@1024$NSUnderlinePatternDot@256$NSUnderlinePatternSolid@0$NSUnderlineStyleByWord@32768$NSUnderlineStyleDouble@9$NSUnderlineStyleNone@0$NSUnderlineStylePatternDash@512$NSUnderlineStylePatternDashDot@768$NSUnderlineStylePatternDashDotDot@1024$NSUnderlineStylePatternDot@256$NSUnderlineStylePatternSolid@0$NSUnderlineStyleSingle@1$NSUnderlineStyleThick@2$NSUndoFunctionKey@63299$NSUnifiedTitleAndToolbarWindowMask@4096$NSUnitalicFontMask@16777216$NSUnknownColorSpaceModel@-1$NSUnknownPageOrder@2$NSUnknownPointingDevice@0$NSUnscaledWindowMask@2048$NSUpArrowFunctionKey@63232$NSUpTextMovement@21$NSUpdateWindowsRunLoopOrdering@500000$NSUserFunctionKey@63286$NSUserInterfaceLayoutDirectionLeftToRight@0$NSUserInterfaceLayoutDirectionRightToLeft@1$NSUserInterfaceLayoutOrientationHorizontal@0$NSUserInterfaceLayoutOrientationVertical@1$NSUtilityWindowMask@16$NSVariableStatusItemLength@-1$NSVerticalRuler@1$NSViaPanelFontAction@1$NSViewControllerTransitionAllowUserInteraction@4096$NSViewControllerTransitionCrossfade@1$NSViewControllerTransitionNone@0$NSViewControllerTransitionSlideBackward@384$NSViewControllerTransitionSlideDown@32$NSViewControllerTransitionSlideForward@320$NSViewControllerTransitionSlideLeft@64$NSViewControllerTransitionSlideRight@128$NSViewControllerTransitionSlideUp@16$NSViewHeightSizable@16$NSViewLayerContentsPlacementBottom@8$NSViewLayerContentsPlacementBottomLeft@9$NSViewLayerContentsPlacementBottomRight@7$NSViewLayerContentsPlacementCenter@3$NSViewLayerContentsPlacementLeft@10$NSViewLayerContentsPlacementRight@6$NSViewLayerContentsPlacementScaleAxesIndependently@0$NSViewLayerContentsPlacementScaleProportionallyToFill@2$NSViewLayerContentsPlacementScaleProportionallyToFit@1$NSViewLayerContentsPlacementTop@4$NSViewLayerContentsPlacementTopLeft@11$NSViewLayerContentsPlacementTopRight@5$NSViewLayerContentsRedrawBeforeViewResize@3$NSViewLayerContentsRedrawCrossfade@4$NSViewLayerContentsRedrawDuringViewResize@2$NSViewLayerContentsRedrawNever@0$NSViewLayerContentsRedrawOnSetNeedsDisplay@1$NSViewMaxXMargin@4$NSViewMaxYMargin@32$NSViewMinXMargin@1$NSViewMinYMargin@8$NSViewNotSizable@0$NSViewWidthSizable@2$NSVisualEffectBlendingModeBehindWindow@0$NSVisualEffectBlendingModeWithinWindow@1$NSVisualEffectMaterialAppearanceBased@0$NSVisualEffectMaterialContentBackground@18$NSVisualEffectMaterialDark@2$NSVisualEffectMaterialFullScreenUI@15$NSVisualEffectMaterialHUDWindow@13$NSVisualEffectMaterialHeaderView@10$NSVisualEffectMaterialLight@1$NSVisualEffectMaterialMediumLight@8$NSVisualEffectMaterialMenu@5$NSVisualEffectMaterialPopover@6$NSVisualEffectMaterialSelection@4$NSVisualEffectMaterialSheet@11$NSVisualEffectMaterialSidebar@7$NSVisualEffectMaterialTitlebar@3$NSVisualEffectMaterialToolTip@17$NSVisualEffectMaterialUltraDark@9$NSVisualEffectMaterialUnderPageBackground@22$NSVisualEffectMaterialUnderWindowBackground@21$NSVisualEffectMaterialWindowBackground@12$NSVisualEffectStateActive@1$NSVisualEffectStateFollowsWindowActiveState@0$NSVisualEffectStateInactive@2$NSWantsBidiLevels@4$NSWarningAlertStyle@0$NSWheelModeColorPanel@6$NSWindingRuleEvenOdd@1$NSWindingRuleNonZero@0$NSWindowAbove@1$NSWindowAnimationBehaviorAlertPanel@5$NSWindowAnimationBehaviorDefault@0$NSWindowAnimationBehaviorDocumentWindow@3$NSWindowAnimationBehaviorNone@2$NSWindowAnimationBehaviorUtilityWindow@4$NSWindowBackingLocationDefault@0$NSWindowBackingLocationMainMemory@2$NSWindowBackingLocationVideoMemory@1$NSWindowBelow@-1$NSWindowCloseButton@0$NSWindowCollectionBehaviorCanJoinAllSpaces@1$NSWindowCollectionBehaviorDefault@0$NSWindowCollectionBehaviorFullScreenAllowsTiling@2048$NSWindowCollectionBehaviorFullScreenAuxiliary@256$NSWindowCollectionBehaviorFullScreenDisallowsTiling@4096$NSWindowCollectionBehaviorFullScreenNone@512$NSWindowCollectionBehaviorFullScreenPrimary@128$NSWindowCollectionBehaviorIgnoresCycle@64$NSWindowCollectionBehaviorManaged@4$NSWindowCollectionBehaviorMoveToActiveSpace@2$NSWindowCollectionBehaviorParticipatesInCycle@32$NSWindowCollectionBehaviorStationary@16$NSWindowCollectionBehaviorTransient@8$NSWindowDepthOnehundredtwentyeightBitRGB@544$NSWindowDepthSixtyfourBitRGB@528$NSWindowDepthTwentyfourBitRGB@520$NSWindowDocumentIconButton@4$NSWindowDocumentVersionsButton@6$NSWindowExposedEventType@0$NSWindowFullScreenButton@7$NSWindowListOrderedFrontToBack@1$NSWindowMiniaturizeButton@1$NSWindowMovedEventType@4$NSWindowNumberListAllApplications@1$NSWindowNumberListAllSpaces@16$NSWindowOcclusionStateVisible@2$NSWindowOut@0$NSWindowSharingNone@0$NSWindowSharingReadOnly@1$NSWindowSharingReadWrite@2$NSWindowStyleMaskBorderless@0$NSWindowStyleMaskClosable@2$NSWindowStyleMaskDocModalWindow@64$NSWindowStyleMaskFullScreen@16384$NSWindowStyleMaskFullSizeContentView@32768$NSWindowStyleMaskHUDWindow@8192$NSWindowStyleMaskMiniaturizable@4$NSWindowStyleMaskNonactivatingPanel@128$NSWindowStyleMaskResizable@8$NSWindowStyleMaskTexturedBackground@256$NSWindowStyleMaskTitled@1$NSWindowStyleMaskUnifiedTitleAndToolbar@4096$NSWindowStyleMaskUtilityWindow@16$NSWindowTabbingModeAutomatic@0$NSWindowTabbingModeDisallowed@2$NSWindowTabbingModePreferred@1$NSWindowTitleHidden@1$NSWindowTitleVisible@0$NSWindowToolbarButton@3$NSWindowToolbarStyleAutomatic@0$NSWindowToolbarStyleExpanded@1$NSWindowToolbarStylePreference@2$NSWindowToolbarStyleUnified@3$NSWindowToolbarStyleUnifiedCompact@4$NSWindowUserTabbingPreferenceAlways@1$NSWindowUserTabbingPreferenceInFullScreen@2$NSWindowUserTabbingPreferenceManual@0$NSWindowZoomButton@2$NSWindows95InterfaceStyle@2$NSWorkspaceAuthorizationInvalidError@67328$NSWorkspaceAuthorizationTypeCreateSymbolicLink@0$NSWorkspaceAuthorizationTypeReplaceFile@2$NSWorkspaceAuthorizationTypeSetAttributes@1$NSWorkspaceErrorMaximum@67455$NSWorkspaceErrorMinimum@67328$NSWorkspaceLaunchAllowingClassicStartup@131072$NSWorkspaceLaunchAndHide@1048576$NSWorkspaceLaunchAndHideOthers@2097152$NSWorkspaceLaunchAndPrint@2$NSWorkspaceLaunchAsync@65536$NSWorkspaceLaunchDefault@65536$NSWorkspaceLaunchInhibitingBackgroundOnly@128$NSWorkspaceLaunchNewInstance@524288$NSWorkspaceLaunchPreferringClassic@262144$NSWorkspaceLaunchWithErrorPresentation@64$NSWorkspaceLaunchWithoutActivation@512$NSWorkspaceLaunchWithoutAddingToRecents@256$NSWritingDirectionEmbedding@0$NSWritingDirectionLeftToRight@0$NSWritingDirectionNatural@-1$NSWritingDirectionOverride@2$NSWritingDirectionRightToLeft@1$NSYearMonthDatePickerElementFlag@192$NSYearMonthDayDatePickerElementFlag@224$NS_USER_ACTIVITY_SUPPORTED@1$""" -misc.update( - { - "NSImageResizingModeStretch": selAorI(1, 0), - "NSAttachmentCharacter": "\ufffc", - "NSImageResizingModeTile": selAorI(0, 1), - } -) -misc.update( - { - "NSLineBreakStrategy": NewType("NSLineBreakStrategy", int), - "NSTokenStyle": NewType("NSTokenStyle", int), - "NSTableViewDraggingDestinationFeedbackStyle": NewType( - "NSTableViewDraggingDestinationFeedbackStyle", int - ), - "NSWindowAnimationBehavior": NewType("NSWindowAnimationBehavior", int), - "NSWritingDirection": NewType("NSWritingDirection", int), - "NSPopoverAppearance": NewType("NSPopoverAppearance", int), - "NSWindowTitleVisibility": NewType("NSWindowTitleVisibility", int), - "NSGradientType": NewType("NSGradientType", int), - "NSBackingStoreType": NewType("NSBackingStoreType", int), - "NSCellAttribute": NewType("NSCellAttribute", int), - "NSTextFinderMatchingType": NewType("NSTextFinderMatchingType", int), - "NSViewControllerTransitionOptions": NewType( - "NSViewControllerTransitionOptions", int - ), - "NSLayoutRelation": NewType("NSLayoutRelation", int), - "NSImageFrameStyle": NewType("NSImageFrameStyle", int), - "NSFontAction": NewType("NSFontAction", int), - "NSGridRowAlignment": NewType("NSGridRowAlignment", int), - "NSLevelIndicatorStyle": NewType("NSLevelIndicatorStyle", int), - "NSToolbarDisplayMode": NewType("NSToolbarDisplayMode", int), - "NSFocusRingType": NewType("NSFocusRingType", int), - "NSSpeechBoundary": NewType("NSSpeechBoundary", int), - "NSFontRenderingMode": NewType("NSFontRenderingMode", int), - "NSVisualEffectState": NewType("NSVisualEffectState", int), - "NSTableColumnResizingOptions": NewType("NSTableColumnResizingOptions", int), - "NSSpellingState": NewType("NSSpellingState", int), - "NSAccessibilityUnits": NewType("NSAccessibilityUnits", int), - "NSTextLayoutFragmentEnumerationOptions": NewType( - "NSTextLayoutFragmentEnumerationOptions", int - ), - "NSEventSwipeTrackingOptions": NewType("NSEventSwipeTrackingOptions", int), - "NSFontPanelModeMask": NewType("NSFontPanelModeMask", int), - "NSCollectionViewScrollDirection": NewType( - "NSCollectionViewScrollDirection", int - ), - "NSLineMovementDirection": NewType("NSLineMovementDirection", int), - "NSDisplayGamut": NewType("NSDisplayGamut", int), - "NSFindPanelAction": NewType("NSFindPanelAction", int), - "NSImageSymbolScale": NewType("NSImageSymbolScale", int), - "NSPageControllerTransitionStyle": NewType( - "NSPageControllerTransitionStyle", int - ), - "NSTextSelectionNavigationDestination": NewType( - "NSTextSelectionNavigationDestination", int - ), - "NSPointingDeviceType": NewType("NSPointingDeviceType", int), - "NSScrubberMode": NewType("NSScrubberMode", int), - "NSCellType": NewType("NSCellType", int), - "NSTableViewRowActionStyle": NewType("NSTableViewRowActionStyle", int), - "NSEventGestureAxis": NewType("NSEventGestureAxis", int), - "NSTableViewGridLineStyle": NewType("NSTableViewGridLineStyle", int), - "NSTabViewBorderType": NewType("NSTabViewBorderType", int), - "NSTextBlockVerticalAlignment": NewType("NSTextBlockVerticalAlignment", int), - "NSTabPosition": NewType("NSTabPosition", int), - "NSImageLoadStatus": NewType("NSImageLoadStatus", int), - "NSTouchTypeMask": NewType("NSTouchTypeMask", int), - "NSWindowToolbarStyle": NewType("NSWindowToolbarStyle", int), - "NSCollectionViewItemHighlightState": NewType( - "NSCollectionViewItemHighlightState", int - ), - "NSGestureRecognizerState": NewType("NSGestureRecognizerState", int), - "NSAlertStyle": NewType("NSAlertStyle", int), - "NSLevelIndicatorPlaceholderVisibility": NewType( - "NSLevelIndicatorPlaceholderVisibility", int - ), - "NSCellStyleMask": NewType("NSCellStyleMask", int), - "NSPathStyle": NewType("NSPathStyle", int), - "NSLineBreakMode": NewType("NSLineBreakMode", int), - "NSUsableScrollerParts": NewType("NSUsableScrollerParts", int), - "NSDraggingItemEnumerationOptions": NewType( - "NSDraggingItemEnumerationOptions", int - ), - "NSSplitViewItemCollapseBehavior": NewType( - "NSSplitViewItemCollapseBehavior", int - ), - "NSTitlebarSeparatorStyle": NewType("NSTitlebarSeparatorStyle", int), - "NSFontAssetRequestOptions": NewType("NSFontAssetRequestOptions", int), - "NSEventButtonMask": NewType("NSEventButtonMask", int), - "NSBitmapFormat": NewType("NSBitmapFormat", int), - "NSRuleEditorNestingMode": NewType("NSRuleEditorNestingMode", int), - "NSTextBlockLayer": NewType("NSTextBlockLayer", int), - "NSBoxType": NewType("NSBoxType", int), - "NSAnimationCurve": NewType("NSAnimationCurve", int), - "NSPickerTouchBarItemControlRepresentation": NewType( - "NSPickerTouchBarItemControlRepresentation", int - ), - "NSWindowNumberListOptions": NewType("NSWindowNumberListOptions", int), - "NSDraggingContext": NewType("NSDraggingContext", int), - "NSMatrixMode": NewType("NSMatrixMode", int), - "NSSelectionDirection": NewType("NSSelectionDirection", int), - "NSColorRenderingIntent": NewType("NSColorRenderingIntent", int), - "NSImageLayoutDirection": NewType("NSImageLayoutDirection", int), - "NSApplicationOcclusionState": NewType("NSApplicationOcclusionState", int), - "NSWindowCollectionBehavior": NewType("NSWindowCollectionBehavior", int), - "NSControlCharacterAction": NewType("NSControlCharacterAction", int), - "NSSplitViewDividerStyle": NewType("NSSplitViewDividerStyle", int), - "NSTableViewStyle": NewType("NSTableViewStyle", int), - "NSTextLayoutManagerSegmentType": NewType( - "NSTextLayoutManagerSegmentType", int - ), - "NSTextLayoutOrientation": NewType("NSTextLayoutOrientation", int), - "NSTextTabType": NewType("NSTextTabType", int), - "NSTableViewRowSizeStyle": NewType("NSTableViewRowSizeStyle", int), - "NSBrowserColumnResizingType": NewType("NSBrowserColumnResizingType", int), - "NSDatePickerStyle": NewType("NSDatePickerStyle", int), - "NSFontTraitMask": NewType("NSFontTraitMask", int), - "NSSelectionAffinity": NewType("NSSelectionAffinity", int), - "NSWindowStyleMask": NewType("NSWindowStyleMask", int), - "NSSegmentSwitchTracking": NewType("NSSegmentSwitchTracking", int), - "NSOpenGLContextParameter": NewType("NSOpenGLContextParameter", int), - "NSTextContentManagerEnumerationOptions": NewType( - "NSTextContentManagerEnumerationOptions", int - ), - "NSRuleEditorRowType": NewType("NSRuleEditorRowType", int), - "NSColorSystemEffect": NewType("NSColorSystemEffect", int), - "NSAnimationBlockingMode": NewType("NSAnimationBlockingMode", int), - "NSTextTableLayoutAlgorithm": NewType("NSTextTableLayoutAlgorithm", int), - "NSEventSubtype": NewType("NSEventSubtype", int), - "NSSharingContentScope": NewType("NSSharingContentScope", int), - "NSTextAlignment": NewType("NSTextAlignment", int), - "NSTextSelectionNavigationModifier": NewType( - "NSTextSelectionNavigationModifier", int - ), - "NSPaperOrientation": NewType("NSPaperOrientation", int), - "NSPDFPanelOptions": NewType("NSPDFPanelOptions", int), - "NSApplicationTerminateReply": NewType("NSApplicationTerminateReply", int), - "NSWindowOcclusionState": NewType("NSWindowOcclusionState", int), - "NSCollectionElementCategory": NewType("NSCollectionElementCategory", int), - "NSColorPanelOptions": NewType("NSColorPanelOptions", int), - "NSApplicationDelegateReply": NewType("NSApplicationDelegateReply", int), - "NSScrubberAlignment": NewType("NSScrubberAlignment", int), - "NSCellHitResult": NewType("NSCellHitResult", int), - "NSAccessibilitySortDirection": NewType("NSAccessibilitySortDirection", int), - "NSPasteboardReadingOptions": NewType("NSPasteboardReadingOptions", int), - "NSSegmentDistribution": NewType("NSSegmentDistribution", int), - "NSImageScaling": NewType("NSImageScaling", int), - "NSStringDrawingOptions": NewType("NSStringDrawingOptions", int), - "NSBrowserDropOperation": NewType("NSBrowserDropOperation", int), - "NSDrawerState": NewType("NSDrawerState", int), - "NSDragOperation": NewType("NSDragOperation", int), - "NSViewLayerContentsPlacement": NewType("NSViewLayerContentsPlacement", int), - "NSApplicationPrintReply": NewType("NSApplicationPrintReply", int), - "NSTextFieldBezelStyle": NewType("NSTextFieldBezelStyle", int), - "NSCharacterCollection": NewType("NSCharacterCollection", int), - "NSEventMask": NewType("NSEventMask", int), - "NSToolbarItemGroupSelectionMode": NewType( - "NSToolbarItemGroupSelectionMode", int - ), - "NSScrollerPart": NewType("NSScrollerPart", int), - "NSWindowUserTabbingPreference": NewType("NSWindowUserTabbingPreference", int), - "NSMediaLibrary": NewType("NSMediaLibrary", int), - "NSLayoutFormatOptions": NewType("NSLayoutFormatOptions", int), - "NSBorderType": NewType("NSBorderType", int), - "NSWindingRule": NewType("NSWindingRule", int), - "NSControlTint": NewType("NSControlTint", int), - "NSTouchPhase": NewType("NSTouchPhase", int), - "NSTextLayoutManagerSegmentOptions": NewType( - "NSTextLayoutManagerSegmentOptions", int - ), - "NSWindowListOptions": NewType("NSWindowListOptions", int), - "NSWindowDepth": NewType("NSWindowDepth", int), - "NSUnderlineStyle": NewType("NSUnderlineStyle", int), - "NSFontDescriptorSymbolicTraits": NewType( - "NSFontDescriptorSymbolicTraits", int - ), - "NSFindPanelSubstringMatchType": NewType("NSFindPanelSubstringMatchType", int), - "NSAccessibilityAnnotationPosition": NewType( - "NSAccessibilityAnnotationPosition", int - ), - "NSTextLayoutFragmentState": NewType("NSTextLayoutFragmentState", int), - "NSScrollerKnobStyle": NewType("NSScrollerKnobStyle", int), - "NSEventPhase": NewType("NSEventPhase", int), - "NSDocumentChangeType": NewType("NSDocumentChangeType", int), - "NSWindowButton": NewType("NSWindowButton", int), - "NSDatePickerElementFlags": NewType("NSDatePickerElementFlags", int), - "NSRequestUserAttentionType": NewType("NSRequestUserAttentionType", int), - "NSDatePickerMode": NewType("NSDatePickerMode", int), - "NSImageResizingMode": NewType("NSImageResizingMode", int), - "NSStackViewGravity": NewType("NSStackViewGravity", int), - "NSBackgroundStyle": NewType("NSBackgroundStyle", int), - "NSTextBlockValueType": NewType("NSTextBlockValueType", int), - "NSTrackingAreaOptions": NewType("NSTrackingAreaOptions", int), - "NSPopUpArrowPosition": NewType("NSPopUpArrowPosition", int), - "NSTextSelectionNavigationDirection": NewType( - "NSTextSelectionNavigationDirection", int - ), - "NSPrintRenderingQuality": NewType("NSPrintRenderingQuality", int), - "NSApplicationActivationOptions": NewType( - "NSApplicationActivationOptions", int - ), - "NSCollectionViewDropOperation": NewType("NSCollectionViewDropOperation", int), - "NSCellImagePosition": NewType("NSCellImagePosition", int), - "NSPrintPanelOptions": NewType("NSPrintPanelOptions", int), - "NSLayoutAttribute": NewType("NSLayoutAttribute", int), - "NSTypesetterBehavior": NewType("NSTypesetterBehavior", int), - "NSTickMarkPosition": NewType("NSTickMarkPosition", int), - "NSWindowBackingLocation": NewType("NSWindowBackingLocation", int), - "NSTableViewDropOperation": NewType("NSTableViewDropOperation", int), - "NSProgressIndicatorThickness": NewType("NSProgressIndicatorThickness", int), - "NSApplicationPresentationOptions": NewType( - "NSApplicationPresentationOptions", int - ), - "NSMenuProperties": NewType("NSMenuProperties", int), - "NSTextSelectionGranularity": NewType("NSTextSelectionGranularity", int), - "NSPrintingPaginationMode": NewType("NSPrintingPaginationMode", int), - "NSTextInputTraitType": NewType("NSTextInputTraitType", int), - "NSAnimationEffect": NewType("NSAnimationEffect", int), - "NSVisualEffectMaterial": NewType("NSVisualEffectMaterial", int), - "NSCollectionLayoutSectionOrthogonalScrollingBehavior": NewType( - "NSCollectionLayoutSectionOrthogonalScrollingBehavior", int - ), - "NSTabState": NewType("NSTabState", int), - "NSDraggingFormation": NewType("NSDraggingFormation", int), - "NSLayoutConstraintOrientation": NewType("NSLayoutConstraintOrientation", int), - "NSSpringLoadingOptions": NewType("NSSpringLoadingOptions", int), - "NSGradientDrawingOptions": NewType("NSGradientDrawingOptions", int), - "NSSliderType": NewType("NSSliderType", int), - "NSAccessibilityCustomRotorType": NewType( - "NSAccessibilityCustomRotorType", int - ), - "NSTextMovement": NewType("NSTextMovement", int), - "NSAutoresizingMaskOptions": NewType("NSAutoresizingMaskOptions", int), - "NSTabViewControllerTabStyle": NewType("NSTabViewControllerTabStyle", int), - "NSToolbarItemGroupControlRepresentation": NewType( - "NSToolbarItemGroupControlRepresentation", int - ), - "NSPickerTouchBarItemSelectionMode": NewType( - "NSPickerTouchBarItemSelectionMode", int - ), - "NSScrollViewFindBarPosition": NewType("NSScrollViewFindBarPosition", int), - "NSRemoteNotificationType": NewType("NSRemoteNotificationType", int), - "NSTextBlockDimension": NewType("NSTextBlockDimension", int), - "NSEventType": NewType("NSEventType", int), - "NSSaveOperationType": NewType("NSSaveOperationType", int), - "NSPopoverBehavior": NewType("NSPopoverBehavior", int), - "NSFontCollectionVisibility": NewType("NSFontCollectionVisibility", int), - "NSPrintingPageOrder": NewType("NSPrintingPageOrder", int), - "NSTIFFCompression": NewType("NSTIFFCompression", int), - "NSTouchType": NewType("NSTouchType", int), - "NSViewLayerContentsRedrawPolicy": NewType( - "NSViewLayerContentsRedrawPolicy", int - ), - "NSBitmapImageFileType": NewType("NSBitmapImageFileType", int), - "NSMultibyteGlyphPacking": NewType("NSMultibyteGlyphPacking", int), - "NSSpringLoadingHighlight": NewType("NSSpringLoadingHighlight", int), - "NSScrollElasticity": NewType("NSScrollElasticity", int), - "NSCompositingOperation": NewType("NSCompositingOperation", int), - "NSTableViewColumnAutoresizingStyle": NewType( - "NSTableViewColumnAutoresizingStyle", int - ), - "NSTabViewType": NewType("NSTabViewType", int), - "NSScrollerStyle": NewType("NSScrollerStyle", int), - "NSLineCapStyle": NewType("NSLineCapStyle", int), - "NSAccessibilityPriorityLevel": NewType("NSAccessibilityPriorityLevel", int), - "NSStatusItemBehavior": NewType("NSStatusItemBehavior", int), - "NSImageRepLoadStatus": NewType("NSImageRepLoadStatus", int), - "NSColorSpaceModel": NewType("NSColorSpaceModel", int), - "NSPasteboardWritingOptions": NewType("NSPasteboardWritingOptions", int), - "NSTitlePosition": NewType("NSTitlePosition", int), - "NSAccessibilityOrientation": NewType("NSAccessibilityOrientation", int), - "NSTextScalingType": NewType("NSTextScalingType", int), - "NSGlyphInscription": NewType("NSGlyphInscription", int), - "NSTypesetterControlCharacterAction": NewType( - "NSTypesetterControlCharacterAction", int - ), - "NSWindowOrderingMode": NewType("NSWindowOrderingMode", int), - "NSPasteboardContentsOptions": NewType("NSPasteboardContentsOptions", int), - "NSImageAlignment": NewType("NSImageAlignment", int), - "NSRulerOrientation": NewType("NSRulerOrientation", int), - "NSFocusRingPlacement": NewType("NSFocusRingPlacement", int), - "NSTableViewSelectionHighlightStyle": NewType( - "NSTableViewSelectionHighlightStyle", int - ), - "NSSegmentStyle": NewType("NSSegmentStyle", int), - "NSUserInterfaceLayoutOrientation": NewType( - "NSUserInterfaceLayoutOrientation", int - ), - "NSGlyphProperty": NewType("NSGlyphProperty", int), - "NSWritingDirectionFormatType": NewType("NSWritingDirectionFormatType", int), - "NSAccessibilityRulerMarkerType": NewType( - "NSAccessibilityRulerMarkerType", int - ), - "NSTextStorageEditActions": NewType("NSTextStorageEditActions", int), - "NSColorPanelMode": NewType("NSColorPanelMode", int), - "NSControlSize": NewType("NSControlSize", int), - "NSPressureBehavior": NewType("NSPressureBehavior", int), - "NSTextSelectionNavigationWritingDirection": NewType( - "NSTextSelectionNavigationWritingDirection", int - ), - "NSTextFinderAction": NewType("NSTextFinderAction", int), - "NSCollectionViewScrollPosition": NewType( - "NSCollectionViewScrollPosition", int - ), - "NSWorkspaceAuthorizationType": NewType("NSWorkspaceAuthorizationType", int), - "NSCollectionUpdateAction": NewType("NSCollectionUpdateAction", int), - "NSWindowSharingType": NewType("NSWindowSharingType", int), - "NSCloudKitSharingServiceOptions": NewType( - "NSCloudKitSharingServiceOptions", int - ), - "NSPrinterTableStatus": NewType("NSPrinterTableStatus", int), - "NSScrollerArrow": NewType("NSScrollerArrow", int), - "NSHapticFeedbackPattern": NewType("NSHapticFeedbackPattern", int), - "NSTextListOptions": NewType("NSTextListOptions", int), - "NSStackViewDistribution": NewType("NSStackViewDistribution", int), - "NSWindowTabbingMode": NewType("NSWindowTabbingMode", int), - "NSColorType": NewType("NSColorType", int), - "NSAccessibilityCustomRotorSearchDirection": NewType( - "NSAccessibilityCustomRotorSearchDirection", int - ), - "NSUserInterfaceLayoutDirection": NewType( - "NSUserInterfaceLayoutDirection", int - ), - "NSVisualEffectBlendingMode": NewType("NSVisualEffectBlendingMode", int), - "NSLineSweepDirection": NewType("NSLineSweepDirection", int), - "NSRectAlignment": NewType("NSRectAlignment", int), - "NSLineJoinStyle": NewType("NSLineJoinStyle", int), - "NSEventModifierFlags": NewType("NSEventModifierFlags", int), - "NSProgressIndicatorStyle": NewType("NSProgressIndicatorStyle", int), - "NSWorkspaceIconCreationOptions": NewType( - "NSWorkspaceIconCreationOptions", int - ), - "NSImageInterpolation": NewType("NSImageInterpolation", int), - "NSDirectionalRectEdge": NewType("NSDirectionalRectEdge", int), - "NSTextSelectionNavigationLayoutOrientation": NewType( - "NSTextSelectionNavigationLayoutOrientation", int - ), - "NSImageCacheMode": NewType("NSImageCacheMode", int), - "NSTableRowActionEdge": NewType("NSTableRowActionEdge", int), - "NSHapticFeedbackPerformanceTime": NewType( - "NSHapticFeedbackPerformanceTime", int - ), - "NSSplitViewItemBehavior": NewType("NSSplitViewItemBehavior", int), - "NSTextSelectionAffinity": NewType("NSTextSelectionAffinity", int), - "NSFontCollectionOptions": NewType("NSFontCollectionOptions", int), - "NSButtonType": NewType("NSButtonType", int), - "NSScrollArrowPosition": NewType("NSScrollArrowPosition", int), - "NSSelectionGranularity": NewType("NSSelectionGranularity", int), - "NSPrintingOrientation": NewType("NSPrintingOrientation", int), - "NSBezelStyle": NewType("NSBezelStyle", int), - "NSCorrectionResponse": NewType("NSCorrectionResponse", int), - "NSWorkspaceLaunchOptions": NewType("NSWorkspaceLaunchOptions", int), - "NSOpenGLGlobalOption": NewType("NSOpenGLGlobalOption", int), - "NSCorrectionIndicatorType": NewType("NSCorrectionIndicatorType", int), - "NSBezierPathElement": NewType("NSBezierPathElement", int), - "NSApplicationActivationPolicy": NewType("NSApplicationActivationPolicy", int), - "NSTableViewAnimationOptions": NewType("NSTableViewAnimationOptions", int), - "NSGridCellPlacement": NewType("NSGridCellPlacement", int), - "NSToolbarSizeMode": NewType("NSToolbarSizeMode", int), - } -) -misc.update( - { - "NSAccessibilitySortDirectionValue": NewType( - "NSAccessibilitySortDirectionValue", str - ), - "NSSpeechPropertyKey": NewType("NSSpeechPropertyKey", str), - "NSToolbarItemVisibilityPriority": NewType( - "NSToolbarItemVisibilityPriority", int - ), - "NSDefinitionOptionKey": NewType("NSDefinitionOptionKey", str), - "NSFontCollectionName": NewType("NSFontCollectionName", str), - "NSAccessibilityAttributeName": NewType("NSAccessibilityAttributeName", str), - "NSDraggingImageComponentKey": NewType("NSDraggingImageComponentKey", str), - "NSAppearanceName": NewType("NSAppearanceName", str), - "NSWorkspaceFileOperationName": NewType("NSWorkspaceFileOperationName", str), - "NSFontDescriptorVariationKey": NewType("NSFontDescriptorVariationKey", str), - "NSPasteboardName": NewType("NSPasteboardName", str), - "NSStackViewVisibilityPriority": NewType( - "NSStackViewVisibilityPriority", float - ), - "NSFontDescriptorTraitKey": NewType("NSFontDescriptorTraitKey", str), - "NSBindingInfoKey": NewType("NSBindingInfoKey", str), - "NSTextLayoutSectionKey": NewType("NSTextLayoutSectionKey", str), - "NSPrintPanelJobStyleHint": NewType("NSPrintPanelJobStyleHint", str), - "NSAboutPanelOptionKey": NewType("NSAboutPanelOptionKey", str), - "NSAccessibilityParameterizedAttributeName": NewType( - "NSAccessibilityParameterizedAttributeName", str - ), - "NSWorkspaceLaunchConfigurationKey": NewType( - "NSWorkspaceLaunchConfigurationKey", str - ), - "NSFontCollectionActionTypeKey": NewType("NSFontCollectionActionTypeKey", str), - "NSPasteboardTypeTextFinderOptionKey": NewType( - "NSPasteboardTypeTextFinderOptionKey", str - ), - "NSTouchBarItemIdentifier": NewType("NSTouchBarItemIdentifier", str), - "NSAccessibilityRole": NewType("NSAccessibilityRole", str), - "NSTextListMarkerFormat": NewType("NSTextListMarkerFormat", str), - "NSAttributedStringDocumentAttributeKey": NewType( - "NSAttributedStringDocumentAttributeKey", str - ), - "NSFontCollectionMatchingOptionKey": NewType( - "NSFontCollectionMatchingOptionKey", str - ), - "NSRulerViewUnitName": NewType("NSRulerViewUnitName", str), - "NSGraphicsContextRepresentationFormatName": NewType( - "NSGraphicsContextRepresentationFormatName", str - ), - "NSPopoverCloseReasonValue": NewType("NSPopoverCloseReasonValue", str), - "NSPasteboardTypeFindPanelSearchOptionKey": NewType( - "NSPasteboardTypeFindPanelSearchOptionKey", str - ), - "NSSpeechMode": NewType("NSSpeechMode", str), - "NSViewAnimationEffectName": NewType("NSViewAnimationEffectName", str), - "NSAttributedStringDocumentReadingOptionKey": NewType( - "NSAttributedStringDocumentReadingOptionKey", str - ), - "NSModalResponse": NewType("NSModalResponse", int), - "NSAccessibilityRulerUnitValue": NewType("NSAccessibilityRulerUnitValue", str), - "NSTextContentType": NewType("NSTextContentType", str), - "NSFontDescriptorSystemDesign": NewType("NSFontDescriptorSystemDesign", str), - "NSSpeechCommandDelimiterKey": NewType("NSSpeechCommandDelimiterKey", str), - "NSBindingOption": NewType("NSBindingOption", str), - "NSTextTabOptionKey": NewType("NSTextTabOptionKey", str), - "NSAccessibilityAnnotationAttributeKey": NewType( - "NSAccessibilityAnnotationAttributeKey", str - ), - "NSFontDescriptorFeatureKey": NewType("NSFontDescriptorFeatureKey", str), - "NSPrinterTypeName": NewType("NSPrinterTypeName", str), - "NSImageHintKey": NewType("NSImageHintKey", str), - "NSWindowLevel": NewType("NSWindowLevel", int), - "NSSpeechDictionaryKey": NewType("NSSpeechDictionaryKey", str), - "NSUserInterfaceItemIdentifier": NewType("NSUserInterfaceItemIdentifier", str), - "NSAccessibilitySubrole": NewType("NSAccessibilitySubrole", str), - "NSAccessibilityFontAttributeKey": NewType( - "NSAccessibilityFontAttributeKey", str - ), - "NSSliderAccessoryWidth": NewType("NSSliderAccessoryWidth", float), - "NSWorkspaceDesktopImageOptionKey": NewType( - "NSWorkspaceDesktopImageOptionKey", str - ), - "NSLayoutPriority": NewType("NSLayoutPriority", float), - "NSSpeechSynthesizerVoiceName": NewType("NSSpeechSynthesizerVoiceName", str), - "NSTextEffectStyle": NewType("NSTextEffectStyle", str), - "NSDefinitionPresentationType": NewType("NSDefinitionPresentationType", str), - "NSAccessibilityActionName": NewType("NSAccessibilityActionName", str), - "NSToolbarItemIdentifier": NewType("NSToolbarItemIdentifier", str), - "NSFontTextStyleOptionKey": NewType("NSFontTextStyleOptionKey", str), - "NSTextCheckingOptionKey": NewType("NSTextCheckingOptionKey", str), - "NSFontTextStyle": NewType("NSFontTextStyle", str), - "NSAccessibilityRulerMarkerTypeValue": NewType( - "NSAccessibilityRulerMarkerTypeValue", str - ), - "NSFontCollectionUserInfoKey": NewType("NSFontCollectionUserInfoKey", str), - "NSViewFullScreenModeOptionKey": NewType("NSViewFullScreenModeOptionKey", str), - "NSFontDescriptorAttributeName": NewType("NSFontDescriptorAttributeName", str), - "NSPrintInfoAttributeKey": NewType("NSPrintInfoAttributeKey", str), - "NSPrintJobDispositionValue": NewType("NSPrintJobDispositionValue", str), - "NSSpeechStatusKey": NewType("NSSpeechStatusKey", str), - "NSVoiceAttributeKey": NewType("NSVoiceAttributeKey", str), - "NSPasteboardType": NewType("NSPasteboardType", str), - "NSViewAnimationKey": NewType("NSViewAnimationKey", str), - "NSSpeechPhonemeInfoKey": NewType("NSSpeechPhonemeInfoKey", str), - "NSFontWeight": NewType("NSFontWeight", float), - "NSSpeechSynthesizerInfoKey": NewType("NSSpeechSynthesizerInfoKey", str), - "NSBindingName": NewType("NSBindingName", str), - "NSGraphicsContextAttributeKey": NewType("NSGraphicsContextAttributeKey", str), - "NSAccessibilityNotificationUserInfoKey": NewType( - "NSAccessibilityNotificationUserInfoKey", str - ), - "NSAttributedStringDocumentType": NewType( - "NSAttributedStringDocumentType", str - ), - "NSAppKitVersion": NewType("NSAppKitVersion", float), - "NSAccessibilityNotificationName": NewType( - "NSAccessibilityNotificationName", str - ), - "NSTouchBarItemPriority": NewType("NSTouchBarItemPriority", float), - "NSVoiceGenderName": NewType("NSVoiceGenderName", str), - "NSPrintPanelAccessorySummaryKey": NewType( - "NSPrintPanelAccessorySummaryKey", str - ), - "NSControlStateValue": NewType("NSControlStateValue", int), - "NSAccessibilityOrientationValue": NewType( - "NSAccessibilityOrientationValue", str - ), - "NSDeviceDescriptionKey": NewType("NSDeviceDescriptionKey", str), - "NSBitmapImageRepPropertyKey": NewType("NSBitmapImageRepPropertyKey", str), - "NSPrinterPaperName": NewType("NSPrinterPaperName", str), - "NSSharingServiceName": NewType("NSSharingServiceName", str), - "NSColorSpaceName": NewType("NSColorSpaceName", str), - "NSSpeechErrorKey": NewType("NSSpeechErrorKey", str), - "NSRuleEditorPredicatePartKey": NewType("NSRuleEditorPredicatePartKey", str), - "NSPasteboardReadingOptionKey": NewType("NSPasteboardReadingOptionKey", str), - } -) -misc.update( - { - "NSAppKitVersionNumber10_4_1": 824.1, - "NSAppKitVersionNumber10_4_3": 824.23, - "NSAppKitVersionNumber10_3_9": 743.36, - "NSAppKitVersionNumber10_4_4": 824.33, - "NSAppKitVersionNumber10_4_7": 824.41, - "NSAppKitVersionNumber10_3_2": 743.14, - "NSAppKitVersionNumber10_3_3": 743.2, - "NSAppKitVersionNumber10_3_7": 743.33, - "NSAppKitVersionNumber10_3_5": 743.24, - "NSAppKitVersionNumberWithDockTilePlugInSupport": 1001.0, - "NSAppKitVersionNumberWithCursorSizeSupport": 682.0, - "NSAppKitVersionNumber10_5_2": 949.27, - "NSAppKitVersionNumber10_5_3": 949.33, - "NSAppKitVersionNumberWithCustomSheetPosition": 686.0, - "NSAppKitVersionNumber10_2_3": 663.6, - "NSAppKitVersionNumberWithDirectionalTabs": 631.0, - "NSAppKitVersionNumberWithColumnResizingBrowser": 685.0, - "NSAppKitVersionNumberWithDeferredWindowDisplaySupport": 1019.0, - "NSAppKitVersionNumberWithContinuousScrollingBrowser": 680.0, - "NSAppKitVersionNumberWithPatternColorLeakFix": 641.0, - "NSAppKitVersionNumber10_7_4": 1138.47, - "NSAppKitVersionNumber10_7_2": 1138.23, - "NSAppKitVersionNumber10_7_3": 1138.32, - } -) -functions = { - "NSRectClipList": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}q", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "NSApplicationLoad": (b"Z",), - "NSCountWindows": (b"v^q", "", {"arguments": {0: {"type_modifier": "o"}}}), - "NSGetAlertPanel": ( - b"@@@@@@", - "", - {"arguments": {1: {"printf_format": True}}, "variadic": True}, - ), - "NSApplicationMain": (b"ii^^c",), - "NSOpenGLGetVersion": ( - b"v^i^i", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "NSAccessibilityActionDescription": (b"@@",), - "NSRunAlertPanelRelativeToWindow": ( - b"q@@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSTouchTypeMaskFromType": (b"Qq", "", {"inline": True}), - "NSDrawLightBezel": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSDrawNinePartImage": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}@@@@@@@@@QdZ",), - "NSOpenGLSetOption": (b"vIi",), - "NSRectClip": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSDottedFrameRect": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSDrawBitmap": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}qqqqqqZZ@[5^C]",), - "NSConvertGlyphsToPackedGlyphs": (b"q^IqQ^c",), - "NSGetFileType": (b"@@",), - "NSDirectionalEdgeInsetsMake": (b"{NSDirectionalEdgeInsets=dddd}dddd",), - "NSWindowList": ( - b"vq^q", - "", - {"arguments": {1: {"c_array_length_in_arg": 0, "type_modifier": "o"}}}, - ), - "NSAccessibilityRaiseBadArgumentException": (b"v@@@",), - "NSAccessibilityUnignoredDescendant": (b"@@",), - "NSRectFill": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSGetCriticalAlertPanel": ( - b"@@@@@@", - "", - {"arguments": {1: {"printf_format": True}}, "variadic": True}, - ), - "NSAccessibilityFrameInView": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}@{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSDrawThreePartImage": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}@@@ZQdZ",), - "NSAccessibilityRoleDescription": (b"@@@",), - "NSRunCriticalAlertPanel": ( - b"q@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSFrameRect": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSDrawColorTiledRects": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}^Q^@q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - } - }, - ), - "NSBeginCriticalAlertSheet": ( - b"v@@@@@@::^v@", - "", - { - "arguments": { - 9: {"printf_format": True}, - 6: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - }, - "variadic": True, - }, - ), - "NSBeginAlertSheet": ( - b"v@@@@@@::^v@", - "", - { - "arguments": { - 9: {"printf_format": True}, - 6: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - }, - "variadic": True, - }, - ), - "NSCountWindowsForContext": ( - b"vq^q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "NSGetWindowServerMemory": ( - b"qq^q^q^@", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "NSShowAnimationEffect": ( - b"vQ{CGPoint=dd}{CGSize=dd}@:^v", - "", - {"arguments": {4: {"sel_of_type": b"v@:^v"}}}, - ), - "NSRunCriticalAlertPanelRelativeToWindow": ( - b"q@@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSAccessibilityUnignoredChildren": (b"@@",), - "NSRectFillListUsingOperation": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}qQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "NSCreateFilenamePboardType": (b"@@", "", {"retval": {"already_cfretained": True}}), - "NSInterfaceStyleForKey": (b"Q@@",), - "NSAvailableWindowDepths": ( - b"^i", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "NSBeginInformationalAlertSheet": ( - b"v@@@@@@::^v@", - "", - { - "arguments": { - 9: {"printf_format": True}, - 6: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - }, - "variadic": True, - }, - ), - "NSUnregisterServicesProvider": (b"v@",), - "NSEventMaskFromType": (b"QQ",), - "NSRectFillUsingOperation": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}Q",), - "NSBitsPerSampleFromDepth": (b"qi",), - "NSEnableScreenUpdates": (b"v",), - "NSDrawDarkBezel": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSRunInformationalAlertPanelRelativeToWindow": ( - b"q@@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSPerformService": (b"Z@@",), - "NSGetFileTypes": (b"@@",), - "NSDrawWhiteBezel": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSReleaseAlertPanel": (b"v@",), - "NSAccessibilityUnignoredAncestor": (b"@@",), - "NSAccessibilityPostNotificationWithUserInfo": (b"v@@@",), - "NSSetFocusRingStyle": (b"vQ",), - "NSAccessibilityPostNotification": (b"v@@",), - "NSDrawTiledRects": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}^Q^dq", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - } - }, - ), - "NSAccessibilityPointInView": (b"{CGPoint=dd}@{CGPoint=dd}",), - "NSUpdateDynamicServices": (b"v",), - "NSIsControllerMarker": (b"Z@",), - "NSDrawButton": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSSetShowsServicesMenuItem": (b"q@Z",), - "NSOpenGLGetOption": (b"vI^i", "", {"arguments": {1: {"type_modifier": "o"}}}), - "NSCreateFileContentsPboardType": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSCopyBits": ( - b"vq{CGRect={CGPoint=dd}{CGSize=dd}}{CGPoint=dd}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSDisableScreenUpdates": (b"v",), - "NSEdgeInsetsMake": (b"{NSEdgeInsets=dddd}dddd",), - "NSReadPixel": (b"@{CGPoint=dd}",), - "NSWindowListForContext": ( - b"vqq^q", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "NSAccessibilityRoleDescriptionForUIElement": (b"@@",), - "NSDrawWindowBackground": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSShowsServicesMenuItem": (b"Z@",), - "NSPlanarFromDepth": (b"Zi",), - "NSHighlightRect": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSFrameRectWithWidthUsingOperation": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}dQ",), - "NSRectFillListWithColorsUsingOperation": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}^@qQ", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - } - }, - ), - "NSDrawGroove": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSNumberOfColorComponents": (b"q@",), - "NSFrameRectWithWidth": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}d",), - "NSEraseRect": (b"v{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSRectFillListWithColors": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}^@q", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - } - }, - ), - "NSBestDepth": (b"i@qqZ^Z", "", {"arguments": {4: {"type_modifier": "o"}}}), - "NSColorSpaceFromDepth": (b"@i",), - "NSBeep": (b"v",), - "NSAccessibilitySetMayContainProtectedContent": (b"ZZ",), - "NSBitsPerPixelFromDepth": (b"qi",), - "NSAccessibilityUnignoredChildrenForOnlyChild": (b"@@",), - "NSDrawGrayBezel": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSRectFillList": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}q", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "NSRunAlertPanel": ( - b"q@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSGetInformationalAlertPanel": ( - b"@@@@@@", - "", - {"arguments": {1: {"printf_format": True}}, "variadic": True}, - ), - "NSRectFillListWithGrays": ( - b"v^{CGRect={CGPoint=dd}{CGSize=dd}}^dq", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - } - }, - ), - "NSRunInformationalAlertPanel": ( - b"q@@@@@", - "", - {"arguments": {1: {"printf_format": 1}}, "variadic": True}, - ), - "NSRegisterServicesProvider": (b"v@@",), -} -aliases = { - "NSLayoutFormatAlignAllLastBaseline": "NSLayoutFormatAlignAllBaseline", - "NSImageRepRegistryChangedNotification": "NSImageRepRegistryDidChangeNotification", - "NSDragOperationAll": "NSDragOperationAll_Obsolete", - "NSTickMarkRight": "NSTickMarkBelow", - "NSModalPanelWindowLevel": "kCGModalPanelWindowLevel", - "NSSubmenuWindowLevel": "kCGTornOffMenuWindowLevel", - "NSTickMarkPositionTrailing": "NSTickMarkPositionBelow", - "NSGestureRecognizerStateRecognized": "NSGestureRecognizerStateEnded", - "NSLayoutFormatAlignAllBaseline": "NSLayoutFormatAlignAllLastBaseline", - "NSGridCellPlacementBottom": "NSGridCellPlacementTrailing", - "NSTornOffMenuWindowLevel": "kCGTornOffMenuWindowLevel", - "NSPopUpMenuWindowLevel": "kCGPopUpMenuWindowLevel", - "NSLayoutAttributeBaseline": "NSLayoutAttributeLastBaseline", - "NSGridCellPlacementTop": "NSGridCellPlacementLeading", - "NSMainMenuWindowLevel": "kCGMainMenuWindowLevel", - "NSDraggingItemEnumerationConcurrent": "NSEnumerationConcurrent", - "NSScreenSaverWindowLevel": "kCGScreenSaverWindowLevel", - "NSEventDurationForever": "DBL_MAX", - "APPKIT_PRIVATE_EXTERN": "__private_extern__", - "NSLayoutAttributeLastBaseline": "NSLayoutAttributeBaseline", - "IBAction": "void", - "NSFileHandlingPanelCancelButton": "NSModalResponseCancel", - "NSWorkspaceLaunchDefault": "NSWorkspaceLaunchAsync", - "NSNormalWindowLevel": "kCGNormalWindowLevel", - "NSFileHandlingPanelOKButton": "NSModalResponseOK", - "NSIMAGE_UNAVAILABLE_MACCATALYST": "TARGET_OS_IPHONE", - "NSFloatingWindowLevel": "kCGFloatingWindowLevel", - "NSTickMarkPositionLeading": "NSTickMarkPositionAbove", - "NSDockWindowLevel": "kCGDockWindowLevel", - "NSTickMarkLeft": "NSTickMarkAbove", - "NSStackViewSpacingUseDefault": "FLT_MAX", - "NSStatusWindowLevel": "kCGStatusWindowLevel", - "NSFontDescriptorTraitEmphasized": "NSFontDescriptorTraitBold", -} -misc.update( - { - "NSModalSession": objc.createOpaquePointerType( - "NSModalSession", b"^{_NSModalSession}" - ) - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CIImage", - b"drawAtPoint:fromRect:operation:fraction:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"CIImage", - b"drawInRect:fromRect:operation:fraction:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r(b"NSATSTypesetter", b"bidiProcessingEnabled", {"retval": {"type": "Z"}}) - r( - b"NSATSTypesetter", - b"boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 6: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSATSTypesetter", - b"characterRangeForGlyphRange:actualGlyphRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSATSTypesetter", - b"deleteGlyphsInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSATSTypesetter", - b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o", "c_array_length_in_arg": 2, "type": "^I"}, - 4: {"type_modifier": b"o", "c_array_length_in_arg": 2, "type": "^Q"}, - 5: {"type_modifier": b"o", "c_array_length_in_arg": 2, "type": "^Q"}, - 6: {"type": "^Z", "type_modifier": b"o", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"NSATSTypesetter", - b"getLineFragmentRect:usedRect:forParagraphSeparatorGlyphRange:atProposedOrigin:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSATSTypesetter", - b"glyphRangeForCharacterRange:actualCharacterRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSATSTypesetter", - b"layoutParagraphAtPoint:", - {"arguments": {2: {"type_modifier": b"N"}}}, - ) - r( - b"NSATSTypesetter", - b"lineFragmentRectForProposedRect:remainingRect:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSATSTypesetter", - b"lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSATSTypesetter", - b"paragraphGlyphRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSATSTypesetter", - b"paragraphSeparatorGlyphRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSATSTypesetter", - b"paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSATSTypesetter", - b"paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSATSTypesetter", - b"setAttachmentSize:forGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setBidiLevels:forGlyphRange:", - { - "arguments": { - 2: {"type": "^z", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setBidiProcessingEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSATSTypesetter", - b"setDrawsOutsideLineFragment:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setHardInvalidation:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"f", b"d")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setLocation:withAdvancements:forStartOfGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setNotShownAttribute:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSATSTypesetter", - b"setParagraphGlyphRange:separatorGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r(b"NSATSTypesetter", b"setUsesFontLeading:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSATSTypesetter", - b"shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSATSTypesetter", - b"shouldBreakLineByWordBeforeCharacterAtIndex:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSATSTypesetter", - b"substituteGlyphsInRange:withGlyphs:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 2}, - } - }, - ) - r(b"NSATSTypesetter", b"usesFontLeading", {"retval": {"type": "Z"}}) - r( - b"NSATSTypesetter", - b"willSetLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 5: {"type": sel32or64(b"^f", b"^d"), "type_modifier": b"N"}, - } - }, - ) - r( - b"NSAccessibilityCustomAction", - b"handler", - { - "retval": { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSAccessibilityCustomAction", - b"initWithName:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSAccessibilityCustomAction", - b"initWithName:target:selector:", - {"arguments": {4: {"sel_of_type": b"Z@:"}}}, - ) - r( - b"NSAccessibilityCustomAction", - b"setHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSActionCell", - b"setAction:", - {"retval": {"type": "v"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSActionCell", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSActionCell", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSActionCell", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSActionCell", - b"setFloatingPointFormat:left:right:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSAlert", - b"alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:", - {"arguments": {6: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSAlert", - b"beginSheetModalForWindow:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSAlert", - b"beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 5: {"type": "^v"}, - } - }, - ) - r(b"NSAlert", b"setShowsHelp:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSAlert", b"setShowsSuppressionButton:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSAlert", b"showsHelp", {"retval": {"type": "Z"}}) - r(b"NSAlert", b"showsSuppressionButton", {"retval": {"type": "Z"}}) - r(b"NSAnimation", b"isAnimating", {"retval": {"type": "Z"}}) - r(b"NSAnimationContext", b"allowsImplicitAnimation", {"retval": {"type": b"Z"}}) - r( - b"NSAnimationContext", - b"completionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSAnimationContext", - b"runAnimationGroup:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSAnimationContext", - b"runAnimationGroup:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"NSAnimationContext", - b"setAllowsImplicitAnimation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSAnimationContext", - b"setCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSAppearance", b"allowsVibrancy", {"retval": {"type": b"Z"}}) - r( - b"NSAppearance", - b"performAsCurrentDrawingAppearance:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSApplication", - b"activateIgnoringOtherApps:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSApplication", - b"addWindowsItem:title:filename:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSApplication", - b"beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 5: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 6: {"type": "^v"}, - } - }, - ) - r( - b"NSApplication", - b"changeWindowsItem:title:filename:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSApplication", - b"detachDrawingThread:toTarget:withObject:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSApplication", - b"enumerateWindowsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"NSApplication", b"isActive", {"retval": {"type": "Z"}}) - r( - b"NSApplication", - b"isAutomaticCustomizeTouchBarMenuItemEnabled", - {"retval": {"type": "Z"}}, - ) - r(b"NSApplication", b"isFullKeyboardAccessEnabled", {"retval": {"type": "Z"}}) - r(b"NSApplication", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSApplication", b"isProtectedDataAvailable", {"retval": {"type": "Z"}}) - r( - b"NSApplication", - b"isRegisteredForRemoteNotifications", - {"retval": {"type": b"Z"}}, - ) - r(b"NSApplication", b"isRunning", {"retval": {"type": "Z"}}) - r( - b"NSApplication", - b"makeWindowsPerform:inOrder:", - {"arguments": {2: {"sel_of_type": b"v@:"}, 3: {"type": "Z"}}}, - ) - r( - b"NSApplication", - b"nextEventMatchingMask:untilDate:inMode:dequeue:", - {"arguments": {5: {"type": "Z"}}}, - ) - r(b"NSApplication", b"postEvent:atStart:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSApplication", - b"replyToApplicationShouldTerminate:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSApplication", - b"restoreWindowWithIdentifier:state:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSApplication", - b"searchString:inUserInterfaceItemString:searchRange:foundRange:", - { - "retval": {"type": "Z"}, - "arguments": { - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"NSApplication", - b"sendAction:to:from:", - {"retval": {"type": "Z"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSApplication", b"setActivationPolicy:", {"retval": {"type": "Z"}}) - r( - b"NSApplication", - b"setAutomaticCustomizeTouchBarMenuItemEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSApplication", b"setWindowsNeedUpdate:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSApplication", - b"targetForAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSApplication", - b"targetForAction:to:from:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSApplication", - b"tryToPerform:with:", - {"retval": {"type": "Z"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSArrayController", b"addSelectedObjects:", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"addSelectionIndexes:", {"retval": {"type": "Z"}}) - r( - b"NSArrayController", - b"alwaysUsesMultipleValuesMarker", - {"retval": {"type": "Z"}}, - ) - r( - b"NSArrayController", - b"automaticallyRearrangesObjects", - {"retval": {"type": "Z"}}, - ) - r(b"NSArrayController", b"avoidsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"canInsert", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"canSelectNext", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"canSelectPrevious", {"retval": {"type": "Z"}}) - r( - b"NSArrayController", - b"clearsFilterPredicateOnInsertion", - {"retval": {"type": "Z"}}, - ) - r(b"NSArrayController", b"preservesSelection", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"removeSelectedObjects:", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"removeSelectionIndexes:", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"selectsInsertedObjects", {"retval": {"type": "Z"}}) - r( - b"NSArrayController", - b"setAlwaysUsesMultipleValuesMarker:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSArrayController", - b"setAutomaticallyRearrangesObjects:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSArrayController", - b"setAvoidsEmptySelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSArrayController", - b"setClearsFilterPredicateOnInsertion:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSArrayController", - b"setPreservesSelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSArrayController", b"setSelectedObjects:", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"setSelectionIndex:", {"retval": {"type": "Z"}}) - r(b"NSArrayController", b"setSelectionIndexes:", {"retval": {"type": "Z"}}) - r( - b"NSArrayController", - b"setSelectsInsertedObjects:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSAttributedString", - b"RTFDFileWrapperFromRange:documentAttributes:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"RTFDFromRange:documentAttributes:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"RTFFromRange:documentAttributes:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"URLAtIndex:effectiveRange:", - { - "arguments": { - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - } - } - }, - ) - r( - b"NSAttributedString", - b"boundingRectWithSize:options:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r(b"NSAttributedString", b"containsAttachments", {"retval": {"type": "Z"}}) - r(b"NSAttributedString", b"containsAttachmentsInRange:", {"retval": {"type": "Z"}}) - r( - b"NSAttributedString", - b"dataFromRange:documentAttributes:error:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSAttributedString", - b"docFormatFromRange:documentAttributes:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"doubleClickAtIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSAttributedString", - b"drawAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSAttributedString", - b"drawInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSAttributedString", - b"drawWithRect:options:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSAttributedString", - b"fileWrapperFromRange:documentAttributes:error:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSAttributedString", - b"fontAttributesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"initWithData:options:documentAttributes:error:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithDocFormat:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithHTML:baseURL:documentAttributes:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithHTML:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithHTML:options:documentAttributes:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithPath:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithRTF:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithRTFD:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithRTFDFileWrapper:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithURL:documentAttributes:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithURL:options:documentAttributes:error:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"lineBreakBeforeIndex:withinRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"lineBreakByHyphenatingBeforeIndex:withinRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"nextWordFromIndex:forward:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSAttributedString", - b"rangeOfTextBlock:atIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSAttributedString", - b"rangeOfTextList:atIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSAttributedString", - b"rangeOfTextTable:atIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSAttributedString", - b"rulerAttributesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"size", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithArcFromPoint:toPoint:radius:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithArcWithCenter:radius:startAngle:endAngle:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithArcWithCenter:radius:startAngle:endAngle:clockwise:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 6: {"type": "Z"}, - } - }, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithGlyphs:count:inFont:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithOvalInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithPackedGlyphs:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithPoints:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"appendBezierPathWithRoundedRect:xRadius:yRadius:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"bezierPathWithOvalInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"bezierPathWithRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"bezierPathWithRoundedRect:xRadius:yRadius:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"bounds", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSBezierPath", b"cachesBezierPath", {"retval": {"type": "Z"}}) - r( - b"NSBezierPath", - b"clipRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"containsPoint:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSBezierPath", - b"controlPointBounds", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSBezierPath", - b"currentPoint", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSBezierPath", - b"curveToPoint:controlPoint1:controlPoint2:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSBezierPath", - b"drawPackedGlyphs:atPoint:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - }, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSBezierPath", - b"elementAtIndex:associatedPoints:", - {"arguments": {3: {"type_modifier": b"o", "c_array_of_variable_length": True}}}, - ) - r( - b"NSBezierPath", - b"fillRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBezierPath", - b"getLineDash:count:phase:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type_modifier": b"N"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSBezierPath", b"isEmpty", {"retval": {"type": "Z"}}) - r( - b"NSBezierPath", - b"lineToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSBezierPath", - b"moveToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSBezierPath", - b"relativeCurveToPoint:controlPoint1:controlPoint2:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSBezierPath", - b"relativeLineToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSBezierPath", - b"relativeMoveToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSBezierPath", - b"setAssociatedPoints:atIndex:", - { - "arguments": { - 2: {"c_array_of_variable_length": True}, - 3: {"type": sel32or64(b"i", b"q")}, - } - }, - ) - r(b"NSBezierPath", b"setCachesBezierPath:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSBezierPath", - b"setLineDash:count:phase:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSBezierPath", - b"strokeLineFromPoint:toPoint:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSBezierPath", - b"strokeRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSBitmapImageRep", b"CGImage", {"retval": {"type": "^{CGImage=}"}}) - r( - b"NSBitmapImageRep", - b"bitmapData", - {"retval": {"type": "^v", "c_array_of_variable_length": True}}, - ) - r(b"NSBitmapImageRep", b"canBeCompressedUsing:", {"retval": {"type": "Z"}}) - r( - b"NSBitmapImageRep", - b"getBitmapDataPlanes:", - {"arguments": {2: {"type": "^*", "c_array_of_variable_length": True}}}, - ) - r( - b"NSBitmapImageRep", - b"getCompression:factor:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"NSBitmapImageRep", - b"getPixel:atX:y:", - {"arguments": {2: {"type_modifier": b"o", "c_array_of_variable_length": True}}}, - ) - r( - b"NSBitmapImageRep", - b"getTIFFCompressionTypes:count:", - { - "arguments": { - 2: { - "type": sel32or64(b"^^I", b"^^Q"), - "type_modifier": b"o", - "c_array_length_in_arg": 3, - }, - 3: { - "type": sel32or64(b"^i", b"^q"), - "type_modifier": b"o", - "c_array_length_in_arg": 3, - }, - } - }, - ) - r( - b"NSBitmapImageRep", - b"incrementalLoadFromData:complete:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSBitmapImageRep", - b"initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:", - {"arguments": {2: {"type": "^*"}, 7: {"type": b"Z"}, 8: {"type": b"Z"}}}, - ) - r( - b"NSBitmapImageRep", - b"initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bytesPerRow:bitsPerPixel:", - {"arguments": {2: {"type": "^*"}, 7: {"type": b"Z"}, 8: {"type": b"Z"}}}, - ) - r( - b"NSBitmapImageRep", - b"initWithCGImage:", - {"arguments": {2: {"type": "^{CGImage=}"}}}, - ) - r( - b"NSBitmapImageRep", - b"initWithFocusedViewRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSBitmapImageRep", b"isPlanar", {"retval": {"type": "Z"}}) - r( - b"NSBitmapImageRep", - b"setPixel:atX:y:", - { - "arguments": { - 2: { - "type": sel32or64(b"^I", b"^Q"), - "type_modifier": b"n", - "c_array_of_variable_length": True, - } - } - }, - ) - r( - b"NSBox", - b"borderRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSBox", - b"contentViewMargins", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSBox", b"isTransparent", {"retval": {"type": "Z"}}) - r( - b"NSBox", - b"setContentViewMargins:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSBox", - b"setFrameFromContentFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSBox", b"setTransparent:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSBox", - b"titleRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSBrowser", b"acceptsArrowKeys", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"allowsBranchSelection", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"allowsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"allowsTypeSelect", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"autohidesScroller", {"retval": {"type": "Z"}}) - r( - b"NSBrowser", - b"canDragRowsWithIndexes:inColumn:withEvent:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSBrowser", - b"draggingImageForRowsWithIndexes:inColumn:withEvent:offset:", - {"arguments": {5: {"type_modifier": b"N"}}}, - ) - r( - b"NSBrowser", - b"drawTitleOfColumn:inRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSBrowser", - b"editItemAtIndexPath:withEvent:select:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSBrowser", - b"frameOfColumn:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSBrowser", - b"frameOfInsideOfColumn:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSBrowser", - b"getRow:column:forPoint:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}, - }, - ) - r(b"NSBrowser", b"hasHorizontalScroller", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"isLeafItem:", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"isLoaded", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"isTitled", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"prefersAllColumnUserResizing", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"reusesColumns", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"sendAction", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"sendsActionOnArrowKeys", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"separatesColumns", {"retval": {"type": "Z"}}) - r(b"NSBrowser", b"setAcceptsArrowKeys:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setAllowsBranchSelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setAllowsEmptySelection:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSBrowser", - b"setAllowsMultipleSelection:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSBrowser", - b"setAllowsTypeSelect:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSBrowser", b"setAutohidesScroller:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setDoubleAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r( - b"NSBrowser", - b"setDraggingSourceOperationMask:forLocal:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSBrowser", b"setHasHorizontalScroller:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setPath:", {"retval": {"type": "Z"}}) - r( - b"NSBrowser", - b"setPrefersAllColumnUserResizing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSBrowser", b"setReusesColumns:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setSendsActionOnArrowKeys:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"setSeparatesColumns:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSBrowser", - b"setTakesTitleFromPreviousColumn:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSBrowser", b"setTitled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBrowser", b"takesTitleFromPreviousColumn", {"retval": {"type": "Z"}}) - r( - b"NSBrowser", - b"titleFrameOfColumn:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSBrowserCell", b"isLeaf", {"retval": {"type": "Z"}}) - r(b"NSBrowserCell", b"isLoaded", {"retval": {"type": "Z"}}) - r( - b"NSBrowserCell", - b"setLeaf:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSBrowserCell", - b"setLoaded:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSBundle", - b"loadNibFile:externalNameTable:withZone:", - {"retval": {"type": "Z"}, "arguments": {4: {"type": "^{_NSZone=}"}}}, - ) - r(b"NSBundle", b"loadNibNamed:owner:", {"retval": {"type": "Z"}}) - r( - b"NSBundle", - b"loadNibNamed:owner:topLevelObjects:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSButton", b"allowsMixedState", {"retval": {"type": "Z"}}) - r( - b"NSButton", - b"buttonWithImage:target:action:", - {"arguments": {4: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButton", - b"buttonWithTitle:image:target:action:", - {"arguments": {5: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButton", - b"buttonWithTitle:target:action:", - {"arguments": {4: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButton", - b"checkboxWithTitle:target:action:", - {"arguments": {4: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButton", - b"getPeriodicDelay:interval:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r(b"NSButton", b"hasDestructiveAction", {"retval": {"type": b"Z"}}) - r(b"NSButton", b"highlight:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSButton", b"imageHugsTitle", {"retval": {"type": "Z"}}) - r(b"NSButton", b"isBordered", {"retval": {"type": "Z"}}) - r(b"NSButton", b"isSpringLoaded", {"retval": {"type": b"Z"}}) - r(b"NSButton", b"isTransparent", {"retval": {"type": "Z"}}) - r(b"NSButton", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) - r( - b"NSButton", - b"radioButtonWithTitle:target:action:", - {"arguments": {4: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSButton", b"setAllowsMixedState:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSButton", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSButton", b"setHasDestructiveAction:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSButton", b"setImageHugsTitle:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSButton", - b"setShowsBorderOnlyWhileMouseInside:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSButton", b"setSpringLoaded:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSButton", b"setTransparent:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSButton", b"showsBorderOnlyWhileMouseInside", {"retval": {"type": "Z"}}) - r( - b"NSButtonCell", - b"drawBezelWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSButtonCell", - b"drawImage:withFrame:inView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSButtonCell", - b"drawTitle:withFrame:inView:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSButtonCell", - b"getPeriodicDelay:interval:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r(b"NSButtonCell", b"imageDimsWhenDisabled", {"retval": {"type": "Z"}}) - r(b"NSButtonCell", b"isOpaque", {"retval": {"type": "Z"}}) - r(b"NSButtonCell", b"isTransparent", {"retval": {"type": "Z"}}) - r(b"NSButtonCell", b"setImageDimsWhenDisabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSButtonCell", - b"setShowsBorderOnlyWhileMouseInside:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSButtonCell", b"setTransparent:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSButtonCell", b"showsBorderOnlyWhileMouseInside", {"retval": {"type": "Z"}}) - r( - b"NSButtonTouchBarItem", - b"buttonTouchBarItemWithIdentifier:image:target:action:", - {"arguments": {5: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButtonTouchBarItem", - b"buttonTouchBarItemWithIdentifier:title:image:target:action:", - {"arguments": {6: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSButtonTouchBarItem", - b"buttonTouchBarItemWithIdentifier:title:target:action:", - {"arguments": {5: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSButtonTouchBarItem", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"NSButtonTouchBarItem", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSCachedImageRep", - b"initWithSize:depth:separate:alpha:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 4: {"type": "Z"}, - 5: {"type": "Z"}, - } - }, - ) - r( - b"NSCachedImageRep", - b"initWithWindow:rect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCachedImageRep", - b"rect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSCandidateListTouchBarItem", b"allowsCollapsing", {"retval": {"type": "Z"}}) - r( - b"NSCandidateListTouchBarItem", - b"allowsTextInputContextCandidates", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCandidateListTouchBarItem", - b"attributedStringForCandidate", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - }, - ) - r( - b"NSCandidateListTouchBarItem", - b"isCandidateListVisible", - {"retval": {"type": "Z"}}, - ) - r(b"NSCandidateListTouchBarItem", b"isCollapsed", {"retval": {"type": "Z"}}) - r( - b"NSCandidateListTouchBarItem", - b"setAllowsCollapsing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCandidateListTouchBarItem", - b"setAllowsTextInputContextCandidates:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCandidateListTouchBarItem", - b"setAttributedStringForCandidate:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSCandidateListTouchBarItem", - b"setCandidateListVisible:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCandidateListTouchBarItem", - b"setCollapsed:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCandidateListTouchBarItem", - b"updateWithInsertionPointVisibility:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSCell", b"acceptsFirstResponder", {"retval": {"type": "Z"}}) - r(b"NSCell", b"action", {"retval": {"type": ":", "sel_of_type": b"v@:@"}}) - r(b"NSCell", b"allowsEditingTextAttributes", {"retval": {"type": "Z"}}) - r(b"NSCell", b"allowsMixedState", {"retval": {"type": "Z"}}) - r(b"NSCell", b"allowsUndo", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"calcDrawInfo:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"cellSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSCell", - b"cellSizeForBounds:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSCell", - b"continueTracking:at:inView:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSCell", - b"drawInteriorWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"drawWithExpansionFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"drawWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"drawingRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSCell", - b"editWithFrame:inView:editor:delegate:event:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"expansionFrameWithFrame:inView:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSCell", - b"getPeriodicDelay:interval:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r(b"NSCell", b"hasValidObjectValue", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"highlight:withFrame:inView:", - { - "arguments": { - 2: {"type": "Z"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSCell", - b"highlightColorWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"hitTestForEvent:inRect:ofView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"imageRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSCell", b"importsGraphics", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isBezeled", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isBordered", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isContinuous", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isEnabled", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"isEntryAcceptable:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "@"}}}, - ) - r(b"NSCell", b"isHighlighted", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isOpaque", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isScrollable", {"retval": {"type": "Z"}}) - r(b"NSCell", b"isSelectable", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"menuForEvent:inRect:ofView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSCell", b"prefersTrackingUntilMouseUp", {"retval": {"type": b"Z"}}) - r(b"NSCell", b"refusesFirstResponder", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"resetCursorRect:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCell", - b"selectWithFrame:inView:editor:delegate:start:length:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSCell", b"sendsActionOnEndEditing", {"retval": {"type": "Z"}}) - r(b"NSCell", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSCell", b"setAllowsEditingTextAttributes:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setAllowsMixedState:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setAllowsUndo:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCell", - b"setAttributedStringValue:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "@"}}}, - ) - r(b"NSCell", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setContinuous:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCell", - b"setFloatingPointFormat:left:right:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSCell", b"setHighlighted:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setImportsGraphics:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setRefusesFirstResponder:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setScrollable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setSelectable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setSendsActionOnEndEditing:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setShowsFirstResponder:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setTruncatesLastVisibleLine:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setUsesSingleLineMode:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"setWraps:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCell", b"showsFirstResponder", {"retval": {"type": "Z"}}) - r( - b"NSCell", - b"startTrackingAt:inView:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSCell", - b"stopTracking:at:inView:mouseIsUp:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": "Z"}, - } - }, - ) - r( - b"NSCell", - b"titleRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSCell", - b"trackMouse:inRect:ofView:untilMouseUp:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": "Z"}, - }, - }, - ) - r(b"NSCell", b"truncatesLastVisibleLine", {"retval": {"type": "Z"}}) - r(b"NSCell", b"usesSingleLineMode", {"retval": {"type": "Z"}}) - r(b"NSCell", b"wantsNotificationForMarkedText", {"retval": {"type": "Z"}}) - r(b"NSCell", b"wraps", {"retval": {"type": "Z"}}) - r(b"NSClipView", b"automaticallyAdjustsContentInsets", {"retval": {"type": b"Z"}}) - r(b"NSClipView", b"autoscroll:", {"retval": {"type": "Z"}}) - r(b"NSClipView", b"copiesOnScroll", {"retval": {"type": "Z"}}) - r( - b"NSClipView", - b"documentRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSClipView", - b"documentVisibleRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSClipView", b"drawsBackground", {"retval": {"type": "Z"}}) - r( - b"NSClipView", - b"onstrainScrollPoint:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSClipView", - b"scrollToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSClipView", - b"setAutomaticallyAdjustsContentInsets:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSClipView", b"setCopiesOnScroll:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSClipView", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCollectionLayoutAnchor", b"isAbsoluteOffset", {"retval": {"type": b"Z"}}) - r(b"NSCollectionLayoutAnchor", b"isFractionalOffset", {"retval": {"type": b"Z"}}) - r( - b"NSCollectionLayoutBoundarySupplementaryItem", - b"extendsBoundary", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCollectionLayoutBoundarySupplementaryItem", - b"pinToVisibleBounds", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCollectionLayoutBoundarySupplementaryItem", - b"setExtendsBoundary:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSCollectionLayoutBoundarySupplementaryItem", - b"setPinToVisibleBounds:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSCollectionLayoutDimension", b"isAbsolute", {"retval": {"type": b"Z"}}) - r(b"NSCollectionLayoutDimension", b"isEstimated", {"retval": {"type": b"Z"}}) - r(b"NSCollectionLayoutDimension", b"isFractionalHeight", {"retval": {"type": b"Z"}}) - r(b"NSCollectionLayoutDimension", b"isFractionalWidth", {"retval": {"type": b"Z"}}) - r( - b"NSCollectionLayoutGroup", - b"customGroupWithLayoutSize:itemProvider:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSCollectionLayoutSection", - b"initWithSectionProvider:configuration:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionLayoutSection", - b"setSupplementariesFollowContentInsets:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSCollectionLayoutSection", - b"setVisibleItemsInvalidationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionLayoutSection", - b"supplementariesFollowContentInsets", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCollectionLayoutSection", - b"visibleItemsInvalidationHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r(b"NSCollectionLayoutSpacing", b"isFixedSpacing", {"retval": {"type": b"Z"}}) - r(b"NSCollectionLayoutSpacing", b"isFlexibleSpacing", {"retval": {"type": b"Z"}}) - r(b"NSCollectionView", b"allowsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSCollectionView", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r( - b"NSCollectionView", - b"backgroundViewScrollsWithContent", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionView", - b"draggingImageForItemsAtIndexPaths:withEvent:offset:", - {"arguments": {4: {"type_modifier": b"N"}}}, - ) - r( - b"NSCollectionView", - b"draggingImageForItemsAtIndexes:withEvent:offset:", - {"arguments": {4: {"type_modifier": b"N"}}}, - ) - r( - b"NSCollectionView", - b"frameForItemAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSCollectionView", b"isFirstResponder", {"retval": {"type": "Z"}}) - r(b"NSCollectionView", b"isSelectable", {"retval": {"type": "Z"}}) - r( - b"NSCollectionView", - b"maxItemSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSCollectionView", - b"minItemSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSCollectionView", - b"performBatchUpdates:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - }, - } - }, - ) - r( - b"NSCollectionView", - b"setAllowsEmptySelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionView", - b"setAllowsMultipleSelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionView", - b"setBackgroundViewScrollsWithContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionView", - b"setDraggingSourceOperationMask:forLocal:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSCollectionView", - b"setMaxItemSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSCollectionView", - b"setMinItemSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSCollectionView", b"setSelectable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCollectionViewCompositionalLayout", - b"initWithSectionProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionViewCompositionalLayout", - b"initWithSectionProvider:configuration:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionViewDiffableDataSource", - b"applySnapshot:animatingDifferences:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSCollectionViewDiffableDataSource", - b"initWithCollectionView:itemProvider:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionViewDiffableDataSource", - b"setSupplementaryViewProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSCollectionViewDiffableDataSource", - b"supplementaryViewProvider", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"NSCollectionViewFlowLayout", - b"invalidateFlowLayoutDelegateMetrics", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"sectionAtIndexIsCollapsed:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"sectionFootersPinToVisibleBounds", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"sectionHeadersPinToVisibleBounds", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"setSectionFootersPinToVisibleBounds:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"setSectionHeadersPinToVisibleBounds:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionViewFlowLayout", - b"shouldInvalidateLayoutForBoundsChange:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayoutInvalidationContext", - b"invalidateFlowLayoutAttributes", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayoutInvalidationContext", - b"invalidateFlowLayoutDelegateMetrics", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewFlowLayoutInvalidationContext", - b"setInvalidateFlowLayoutAttributes:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionViewFlowLayoutInvalidationContext", - b"setInvalidateFlowLayoutDelegateMetrics:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSCollectionViewItem", b"isSelected", {"retval": {"type": "Z"}}) - r(b"NSCollectionViewItem", b"setSelected:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCollectionViewLayout", - b"shouldInvalidateLayoutForBoundsChange:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewLayout", - b"shouldInvalidateLayoutForPreferredLayoutAttributes:withOriginalAttributes:", - {"retval": {"type": "Z"}}, - ) - r(b"NSCollectionViewLayoutAttributes", b"isHidden", {"retval": {"type": "Z"}}) - r( - b"NSCollectionViewLayoutAttributes", - b"setHidden:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSCollectionViewLayoutInvalidationContext", - b"invalidateDataSourceCounts", - {"retval": {"type": "Z"}}, - ) - r( - b"NSCollectionViewLayoutInvalidationContext", - b"invalidateEverything", - {"retval": {"type": "Z"}}, - ) - r( - b"NSColor", - b"colorWithColorSpace:components:count:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 4}}}, - ) - r( - b"NSColor", - b"colorWithName:dynamicProvider:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSColor", - b"drawSwatchInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSColor", - b"getComponents:", - { - "arguments": { - 2: { - "type": sel32or64(b"^f", b"^d"), - "type_modifier": b"o", - "c_array_of_variable_length": True, - } - } - }, - ) - r( - b"NSColor", - b"getCyan:magenta:yellow:black:alpha:", - { - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSColor", - b"getHue:saturation:brightness:alpha:", - { - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSColor", - b"getRed:green:blue:alpha:", - { - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSColor", - b"getWhite:alpha:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r(b"NSColor", b"ignoresAlpha", {"retval": {"type": b"Z"}}) - r(b"NSColor", b"setIgnoresAlpha:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSColorList", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSColorList", b"writeToFile:", {"retval": {"type": "Z"}}) - r( - b"NSColorList", - b"writeToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSColorPanel", b"dragColor:withEvent:fromView:", {"retval": {"type": "Z"}}) - r(b"NSColorPanel", b"isContinuous", {"retval": {"type": "Z"}}) - r(b"NSColorPanel", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSColorPanel", b"setContinuous:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSColorPanel", b"setShowsAlpha:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSColorPanel", b"sharedColorPanelExists", {"retval": {"type": b"Z"}}) - r(b"NSColorPanel", b"showsAlpha", {"retval": {"type": "Z"}}) - r( - b"NSColorPicker", - b"minContentSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSColorPickerTouchBarItem", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSColorPickerTouchBarItem", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSColorPickerTouchBarItem", - b"setShowsAlpha:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSColorPickerTouchBarItem", b"showsAlpha", {"retval": {"type": "Z"}}) - r( - b"NSColorSampler", - b"showSamplerWithSelectionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSColorSpace", b"CGColorSpace", {"retval": {"type": "^{CGColorSpace=}"}}) - r( - b"NSColorSpace", - b"colorSyncProfile", - {"retval": {"type": "^{OpaqueCMProfileRef=}"}}, - ) - r( - b"NSColorSpace", - b"initWithCGColorSpace:", - {"arguments": {2: {"type": "^{CGColorSpace=}"}}}, - ) - r( - b"NSColorSpace", - b"initWithColorSyncProfile:", - {"arguments": {2: {"type": "^{OpaqueCMProfileRef=}"}}}, - ) - r(b"NSColorWell", b"activate:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSColorWell", - b"drawWellInside:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSColorWell", b"isActive", {"retval": {"type": "Z"}}) - r(b"NSColorWell", b"isBordered", {"retval": {"type": "Z"}}) - r(b"NSColorWell", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBox", b"completes", {"retval": {"type": "Z"}}) - r(b"NSComboBox", b"hasVerticalScroller", {"retval": {"type": "Z"}}) - r( - b"NSComboBox", - b"intercellSpacing", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSComboBox", b"isButtonBordered", {"retval": {"type": "Z"}}) - r(b"NSComboBox", b"setButtonBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBox", b"setCompletes:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBox", b"setHasVerticalScroller:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSComboBox", - b"setIntercellSpacing:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSComboBox", b"setUsesDataSource:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBox", b"usesDataSource", {"retval": {"type": "Z"}}) - r(b"NSComboBoxCell", b"completes", {"retval": {"type": "Z"}}) - r(b"NSComboBoxCell", b"hasVerticalScroller", {"retval": {"type": "Z"}}) - r( - b"NSComboBoxCell", - b"intercellSpacing", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSComboBoxCell", b"isButtonBordered", {"retval": {"type": "Z"}}) - r(b"NSComboBoxCell", b"setButtonBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBoxCell", b"setCompletes:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBoxCell", b"setHasVerticalScroller:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSComboBoxCell", - b"setIntercellSpacing:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSComboBoxCell", b"setUsesDataSource:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSComboBoxCell", b"usesDataSource", {"retval": {"type": "Z"}}) - r(b"NSControl", b"abortEditing", {"retval": {"type": "Z"}}) - r(b"NSControl", b"action", {"retval": {"type": ":", "sel_of_type": b"v@:@"}}) - r(b"NSControl", b"allowsExpansionToolTips", {"retval": {"type": b"Z"}}) - r(b"NSControl", b"ignoresMultiClick", {"retval": {"type": "Z"}}) - r( - b"NSControl", - b"initWithFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSControl", b"isContinuous", {"retval": {"type": "Z"}}) - r(b"NSControl", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSControl", b"isHighlighted", {"retval": {"type": b"Z"}}) - r(b"NSControl", b"refusesFirstResponder", {"retval": {"type": "Z"}}) - r( - b"NSControl", - b"sendAction:to:", - {"retval": {"type": "Z"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSControl", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSControl", b"setAllowsExpansionToolTips:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSControl", b"setContinuous:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSControl", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSControl", - b"setFloatingPointFormat:left:right:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSControl", b"setHighlighted:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSControl", b"setIgnoresMultiClick:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSControl", b"setRefusesFirstResponder:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSControl", b"setUsesSingleLineMode:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSControl", b"usesSingleLineMode", {"retval": {"type": b"Z"}}) - r(b"NSController", b"commitEditing", {"retval": {"type": "Z"}}) - r( - b"NSController", - b"commitEditingWithDelegate:didCommitSelector:contextInfo:", - {"arguments": {3: {"type": ":", "sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r(b"NSController", b"isEditing", {"retval": {"type": "Z"}}) - r( - b"NSCursor", - b"hotSpot", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSCursor", - b"initWithImage:foregroundColorHint:backgroundColorHint:hotSpot:", - {"arguments": {5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSCursor", - b"initWithImage:hotSpot:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSCursor", b"isSetOnMouseEntered", {"retval": {"type": "Z"}}) - r(b"NSCursor", b"isSetOnMouseExited", {"retval": {"type": "Z"}}) - r(b"NSCursor", b"setHiddenUntilMouseMoves:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCursor", b"setOnMouseEntered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSCursor", b"setOnMouseExited:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCustomImageRep", - b"drawingHandler", - { - "retval": { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - } - } - }, - ) - r( - b"NSCustomImageRep", - b"initWithDrawSelector:delegate:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSCustomImageRep", - b"initWithSize:flipped:drawingHandler:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - } - }, - } - }, - ) - r(b"NSDatePicker", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSDatePicker", b"isBezeled", {"retval": {"type": "Z"}}) - r(b"NSDatePicker", b"isBordered", {"retval": {"type": "Z"}}) - r(b"NSDatePicker", b"presentsCalendarOverlay", {"retval": {"type": "Z"}}) - r(b"NSDatePicker", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSDatePicker", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSDatePicker", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSDatePicker", - b"setPresentsCalendarOverlay:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSDatePickerCell", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSDatePickerCell", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSDictionaryControllerKeyValuePair", - b"isExplicitlyIncluded", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSDockTile", - b"performActivityWithSynchronousWaiting:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSDockTile", b"setShowsApplicationBadge:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSDockTile", b"showsApplicationBadge", {"retval": {"type": "Z"}}) - r( - b"NSDockTile", - b"size", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSDocument", b"allowsDocumentSharing", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"autosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"autosaveWithImplicitCancellability:completionHandler:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r(b"NSDocument", b"autosavesDrafts", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"autosavesInPlace", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"autosavingIsImplicitlyCancellable", {"retval": {"type": b"Z"}}) - r( - b"NSDocument", - b"canAsynchronouslyWriteToURL:ofType:forSaveOperation:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSDocument", - b"canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r(b"NSDocument", b"canConcurrentlyReadDocumentsOfType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"checkAutosavingSafetyAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"continueActivityUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"continueAsynchronousWorkOnMainThreadUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSDocument", b"dataOfType:error:", {"arguments": {3: {"type_modifier": b"o"}}}) - r( - b"NSDocument", - b"duplicateAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"duplicateDocumentWithDelegate:didDuplicateSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": b"v@Z^v"}, 4: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"fileAttributesToWriteToURL:ofType:forSaveOperation:originalContentsURL:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"fileNameExtensionWasHiddenInLastRunSavePanel", - {"retval": {"type": "Z"}}, - ) - r( - b"NSDocument", - b"fileWrapperOfType:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"hasUnautosavedChanges", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"hasUndoManager", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"initForURL:withContentsOfURL:ofType:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"initWithContentsOfURL:ofType:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"initWithType:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"isBrowsingVersions", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"isDocumentEdited", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"isDraft", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"isEntireFileLoaded", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"isInViewingMode", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"isLocked", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"isNativeType:", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"keepBackupFile", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"loadDataRepresentation:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"loadFileWrapperRepresentation:ofType:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSDocument", - b"lockDocumentWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"lockWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"moveDocumentWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"moveToURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"performActivityWithSynchronousWaiting:usingBlock:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"NSDocument", - b"performAsynchronousFileAccessUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": b"@?", - }, - }, - } - } - } - }, - ) - r( - b"NSDocument", - b"performSynchronousFileAccessUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSDocument", b"preparePageLayout:", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"prepareSavePanel:", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"presentError:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"presentError:modalForWindow:delegate:didPresentSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:Z^v"}, 6: {"type": "^v"}}}, - ) - r(b"NSDocument", b"preservesVersions", {"retval": {"type": b"Z"}}) - r( - b"NSDocument", - b"printDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:", - { - "arguments": { - 3: {"type": "Z"}, - 5: {"sel_of_type": b"v@:@Z^v"}, - 6: {"type": "^v"}, - } - }, - ) - r( - b"NSDocument", - b"printOperationWithSettings:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"printShowingPrintPanel:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSDocument", - b"readFromData:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"readFromFile:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"readFromFileWrapper:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"readFromURL:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"readFromURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"restoreDocumentWindowWithIdentifier:state:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSDocument", - b"revertToContentsOfURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"revertToSavedFromFile:ofType:", {"retval": {"type": "Z"}}) - r(b"NSDocument", b"revertToSavedFromURL:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": b"v@:@Z^v"}, 5: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"runModalPrintOperation:delegate:didRunSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": b"v@:@Z^v"}, 5: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": b"v@:@Z^v"}, 5: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"saveDocumentWithDelegate:didSaveSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"saveToFile:saveOperation:delegate:didSaveSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:@Z^v"}, 6: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"saveToURL:ofType:forSaveOperation:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:", - {"arguments": {6: {"sel_of_type": b"v@:@Z^v"}, 7: {"type": "^v"}}}, - ) - r( - b"NSDocument", - b"saveToURL:ofType:forSaveOperation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"setDraft:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSDocument", b"setHasUndoManager:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSDocument", - b"shareDocumentWithSharingService:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r(b"NSDocument", b"shouldChangePrintInfo:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"shouldCloseWindowController:delegate:shouldCloseSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": b"v@:@Z^v"}, 5: {"type": "^v"}}}, - ) - r(b"NSDocument", b"shouldRunSavePanelWithAccessoryView", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"stopBrowsingVersionsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"unlockDocumentWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSDocument", - b"unlockWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSDocument", b"usesUbiquitousStorage", {"retval": {"type": b"Z"}}) - r(b"NSDocument", b"validateUserInterfaceItem:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"writeSafelyToURL:ofType:forSaveOperation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSDocument", b"writeToFile:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"writeToFile:ofType:originalFile:saveOperation:", - {"retval": {"type": "Z"}}, - ) - r(b"NSDocument", b"writeToURL:ofType:", {"retval": {"type": "Z"}}) - r( - b"NSDocument", - b"writeToURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"writeToURL:ofType:forSaveOperation:originalContentsURL:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocument", - b"writeWithBackupToFile:ofType:saveOperation:", - {"retval": {"type": "Z"}}, - ) - r(b"NSDocumentController", b"allowsAutomaticShareMenu", {"retval": {"type": "Z"}}) - r( - b"NSDocumentController", - b"beginOpenPanel:forTypes:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSDocumentController", - b"beginOpenPanelWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSDocumentController", - b"closeAllDocumentsWithDelegate:didCloseAllSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r( - b"NSDocumentController", - b"duplicateDocumentWithContentsOfURL:copying:displayName:error:", - {"arguments": {3: {"type": b"Z"}, 5: {"type_modifier": b"o"}}}, - ) - r(b"NSDocumentController", b"hasEditedDocuments", {"retval": {"type": "Z"}}) - r( - b"NSDocumentController", - b"makeDocumentForURL:withContentsOfURL:ofType:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"makeDocumentWithContentsOfURL:ofType:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"makeUntitledDocumentOfType:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"openDocumentWithContentsOfFile:display:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSDocumentController", - b"openDocumentWithContentsOfURL:display:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSDocumentController", - b"openDocumentWithContentsOfURL:display:completionHandler:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSDocumentController", - b"openDocumentWithContentsOfURL:display:error:", - {"arguments": {3: {"type": "Z"}, 4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"openUntitledDocumentAndDisplay:error:", - {"arguments": {2: {"type": "Z"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"openUntitledDocumentOfType:display:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSDocumentController", b"presentError:", {"retval": {"type": "Z"}}) - r( - b"NSDocumentController", - b"presentError:modalForWindow:delegate:didPresentSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:Z^v"}, 6: {"type": "^v"}}}, - ) - r( - b"NSDocumentController", - b"reopenDocumentForURL:withContentsOfURL:display:completionHandler:", - { - "arguments": { - 4: {"type": b"Z"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSDocumentController", - b"reopenDocumentForURL:withContentsOfURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDocumentController", - b"reviewUnsavedDocumentsWithAlertTitle:cancellable:delegate:didReviewAllSelector:contextInfo:", - { - "arguments": { - 3: {"type": "Z"}, - 5: {"sel_of_type": b"v@:@Z^v"}, - 6: {"type": "^v"}, - } - }, - ) - r( - b"NSDocumentController", - b"setAllowsAutomaticShareMenu:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSDocumentController", b"setShouldCreateUI:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSDocumentController", b"shouldCreateUI", {"retval": {"type": "Z"}}) - r( - b"NSDocumentController", - b"typeForContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSDocumentController", b"validateUserInterfaceItem:", {"retval": {"type": "Z"}}) - r( - b"NSDraggingItem", - b"imageComponentsProvider", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSDraggingItem", - b"setImageComponentsProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSDraggingSession", - b"animatesToStartingPositionsOnCancelOrFail", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSDraggingSession", - b"enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSDraggingSession", - b"setAnimatesToStartingPositionsOnCancelOrFail:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSDrawer", - b"contentSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSDrawer", - b"initWithContentSize:preferredEdge:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSDrawer", - b"maxContentSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSDrawer", - b"minContentSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSDrawer", - b"setContentSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSDrawer", - b"setMaxContentSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSDrawer", - b"setMinContentSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSEPSImageRep", - b"boundingBox", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSEvent", b"CGEvent", {"retval": {"type": "^{__CGEvent=}"}}) - r( - b"NSEvent", - b"addGlobalMonitorForEventsMatchingMask:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSEvent", - b"addLocalMonitorForEventsMatchingMask:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSEvent", - b"enterExitEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:trackingNumber:userData:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 10: {"type": "^v"}, - } - }, - ) - r(b"NSEvent", b"eventRef", {"retval": {"type": "r^{OpaqueEventRef=}"}}) - r(b"NSEvent", b"eventWithCGEvent:", {"arguments": {2: {"type": "^{__CGEvent=}"}}}) - r( - b"NSEvent", - b"eventWithEventRef:", - {"arguments": {2: {"type": "^{OpaqueEventRef=}"}}}, - ) - r(b"NSEvent", b"hasPreciseScrollingDeltas", {"retval": {"type": b"Z"}}) - r(b"NSEvent", b"isARepeat", {"retval": {"type": "Z"}}) - r(b"NSEvent", b"isDirectionInvertedFromDevice", {"retval": {"type": b"Z"}}) - r(b"NSEvent", b"isEnteringProximity", {"retval": {"type": "Z"}}) - r(b"NSEvent", b"isMouseCoalescingEnabled", {"retval": {"type": "Z"}}) - r(b"NSEvent", b"isSwipeTrackingFromScrollEventsEnabled", {"retval": {"type": b"Z"}}) - r( - b"NSEvent", - b"keyEventWithType:location:modifierFlags:timestamp:windowNumber:context:characters:charactersIgnoringModifiers:isARepeat:keyCode:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 10: {"type": "Z"}, - } - }, - ) - r( - b"NSEvent", - b"locationInWindow", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSEvent", - b"mouseEventWithType:location:modifierFlags:timestamp:windowNumber:context:eventNumber:clickCount:pressure:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSEvent", - b"mouseLocation", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSEvent", - b"otherEventWithType:location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSEvent", b"setMouseCoalescingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSEvent", - b"tilt", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSEvent", - b"trackSwipeEventWithOptions:dampenAmountThresholdMin:max:usingHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"f", b"d")}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"Z"}, - 4: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"NSEvent", b"userData", {"retval": {"type": "^v"}}) - r( - b"NSFilePromiseReceiver", - b"receivePromisedFilesAtDestination:options:operationQueue:reader:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileWrapper", - b"initWithURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileWrapper", b"isDirectory", {"retval": {"type": "Z"}}) - r(b"NSFileWrapper", b"isRegularFile", {"retval": {"type": "Z"}}) - r(b"NSFileWrapper", b"isSymbolicLink", {"retval": {"type": "Z"}}) - r(b"NSFileWrapper", b"matchesContentsOfURL:", {"retval": {"type": "Z"}}) - r(b"NSFileWrapper", b"needsToBeUpdatedFromPath:", {"retval": {"type": "Z"}}) - r( - b"NSFileWrapper", - b"readFromURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileWrapper", b"updateFromPath:", {"retval": {"type": "Z"}}) - r( - b"NSFileWrapper", - b"writeToFile:atomically:updateFilenames:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r( - b"NSFileWrapper", - b"writeToURL:options:originalContentsURL:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSFont", - b"advancementForGlyph:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSFont", - b"boundingRectForFont", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSFont", - b"boundingRectForGlyph:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSFont", - b"fontWithName:matrix:", - {"arguments": {3: {"c_array_of_fixed_length": 6, "type_modifier": b"n"}}}, - ) - r( - b"NSFont", - b"getAdvancements:forCGGlyphs:count:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSFont", - b"getAdvancements:forGlyphs:count:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSFont", - b"getAdvancements:forPackedGlyphs:length:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 4}, - 3: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - "c_array_length_in_arg": 4, - }, - } - }, - ) - r( - b"NSFont", - b"getBoundingRects:forCGGlyphs:count:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSFont", - b"getBoundingRects:forGlyphs:count:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r(b"NSFont", b"glyphIsEncoded:", {"retval": {"type": "Z"}}) - r(b"NSFont", b"isBaseFont", {"retval": {"type": "Z"}}) - r(b"NSFont", b"isFixedPitch", {"retval": {"type": "Z"}}) - r(b"NSFont", b"isVertical", {"retval": {"type": b"Z"}}) - r(b"NSFont", b"matrix", {"retval": {"c_array_of_fixed_length": 6}}) - r( - b"NSFont", - b"maximumAdvancement", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSFont", - b"positionOfGlyph:forCharacter:struckOverRect:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": { - 3: {"type": "S"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSFont", - b"positionOfGlyph:precededByGlyph:isNominal:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {4: {"type": "^Z", "type_modifier": b"o"}}, - }, - ) - r( - b"NSFont", - b"positionOfGlyph:struckOverGlyph:metricsExist:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {4: {"type": "^Z", "type_modifier": b"o"}}, - }, - ) - r( - b"NSFont", - b"positionOfGlyph:struckOverRect:metricsExist:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "^Z", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSFont", - b"positionOfGlyph:withRelation:toBaseGlyph:totalAdvancement:metricsExist:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": { - 5: {"type_modifier": b"o"}, - 6: {"type": "^Z", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSFont", - b"positionsForCompositeSequence:numberOfGlyphs:pointArray:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"o", "c_array_length_in_arg": 3}, - } - }, - ) - r( - b"NSFontAssetRequest", - b"downloadFontAssetsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFontCollection", - b"hideFontCollectionWithName:visibility:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFontCollection", - b"renameFontCollectionWithName:visibility:toName:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSFontCollection", - b"showFontCollection:withName:visibility:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSFontDescriptor", b"requiresFontAssetRequest", {"retval": {"type": "Z"}}) - r( - b"NSFontDescriptor", - b"setRequiresFontAssetRequest:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSFontManager", b"addCollection:options:", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"convertWeight:ofFont:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFontManager", b"fontMenu:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFontManager", b"fontNamed:hasTraits:", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"fontPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFontManager", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"isMultiple", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"removeCollection:", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"sendAction", {"retval": {"type": "Z"}}) - r(b"NSFontManager", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSFontManager", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSFontManager", - b"setSelectedAttributes:isMultiple:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSFontManager", - b"setSelectedFont:isMultiple:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSFontPanel", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSFontPanel", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFontPanel", b"setPanelFont:isMultiple:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSFontPanel", b"setWorksWhenModal:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSFontPanel", b"sharedFontPanelExists", {"retval": {"type": "Z"}}) - r(b"NSFontPanel", b"worksWhenModal", {"retval": {"type": "Z"}}) - r(b"NSForm", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSForm", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSForm", - b"setFrameSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSFormCell", b"isOpaque", {"retval": {"type": "Z"}}) - r( - b"NSFormCell", - b"titleWidth:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSGestureRecognizer", - b"canBePreventedByGestureRecognizer:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSGestureRecognizer", - b"canPreventGestureRecognizer:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSGestureRecognizer", b"delaysKeyEvents", {"retval": {"type": b"Z"}}) - r(b"NSGestureRecognizer", b"delaysMagnificationEvents", {"retval": {"type": b"Z"}}) - r( - b"NSGestureRecognizer", - b"delaysOtherMouseButtonEvents", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSGestureRecognizer", - b"delaysPrimaryMouseButtonEvents", - {"retval": {"type": b"Z"}}, - ) - r(b"NSGestureRecognizer", b"delaysRotationEvents", {"retval": {"type": b"Z"}}) - r( - b"NSGestureRecognizer", - b"delaysSecondaryMouseButtonEvents", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSGestureRecognizer", - b"initWithTarget:action:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSGestureRecognizer", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"NSGestureRecognizer", - b"setAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysKeyEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysMagnificationEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysOtherMouseButtonEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysPrimaryMouseButtonEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysRotationEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSGestureRecognizer", - b"setDelaysSecondaryMouseButtonEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSGestureRecognizer", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSGestureRecognizer", - b"shouldBeRequiredToFailByGestureRecognizer:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSGestureRecognizer", - b"shouldRequireFailureOfGestureRecognizer:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSGlyphGenerator", - b"generateGlyphsForGlyphStorage:desiredNumberOfCharacters:glyphIndex:characterIndex:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"NSGradient", - b"drawFromCenter:radius:toCenter:radius:options:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"f", b"d")}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSGradient", - b"drawFromPoint:toPoint:options:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSGradient", - b"drawInBezierPath:relativeCenterPosition:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSGradient", - b"drawInRect:angle:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSGradient", - b"drawInRect:relativeCenterPosition:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSGradient", - b"getColor:location:atIndex:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"NSGradient", - b"initWithColors:atLocations:colorSpace:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 2}}}, - ) - r( - b"NSGradient", - b"initWithColorsAndLocations:", - {"suggestion": "use initWithColors:atLocation:colorSpace:", "variadic": True}, - ) - r(b"NSGraphicsContext", b"currentContextDrawingToScreen", {"retval": {"type": "Z"}}) - r(b"NSGraphicsContext", b"focusStack", {"retval": {"type": "^v"}}) - r( - b"NSGraphicsContext", - b"graphicsContextWithCGContext:flipped:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSGraphicsContext", - b"graphicsContextWithGraphicsPort:flipped:", - {"arguments": {2: {"type": "^{CGContext=}"}, 3: {"type": "Z"}}}, - ) - r(b"NSGraphicsContext", b"graphicsPort", {"retval": {"type": "^{CGContext=}"}}) - r(b"NSGraphicsContext", b"isDrawingToScreen", {"retval": {"type": "Z"}}) - r(b"NSGraphicsContext", b"isFlipped", {"retval": {"type": "Z"}}) - r( - b"NSGraphicsContext", - b"patternPhase", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r(b"NSGraphicsContext", b"setFocusStack:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSGraphicsContext", - b"setPatternPhase:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSGraphicsContext", b"setShouldAntialias:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSGraphicsContext", b"shouldAntialias", {"retval": {"type": "Z"}}) - r(b"NSGridColumn", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSGridColumn", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSGridRow", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSGridRow", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSGridView", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSGridView", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSGroupTouchBarItem", b"prefersEqualWidths", {"retval": {"type": "Z"}}) - r( - b"NSGroupTouchBarItem", - b"setPrefersEqualWidths:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSHelpManager", b"isContextHelpModeActive", {"retval": {"type": "Z"}}) - r(b"NSHelpManager", b"registerBooksInBundle:", {"retval": {"type": b"Z"}}) - r(b"NSHelpManager", b"setContextHelpModeActive:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSHelpManager", - b"showContextHelpForObject:locationHint:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSImage", - b"CGImageForProposedRect:context:hints:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"o", - } - } - }, - ) - r( - b"NSImage", - b"alignmentRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSImage", - b"bestRepresentationForRect:context:hints:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSImage", b"cacheDepthMatchesImageDepth", {"retval": {"type": "Z"}}) - r(b"NSImage", b"canInitWithPasteboard:", {"retval": {"type": "Z"}}) - r( - b"NSImage", - b"compositeToPoint:fromRect:operation:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSImage", - b"compositeToPoint:fromRect:operation:fraction:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSImage", - b"compositeToPoint:operation:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSImage", - b"compositeToPoint:operation:fraction:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSImage", - b"dissolveToPoint:fraction:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSImage", - b"dissolveToPoint:fromRect:fraction:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSImage", - b"drawAtPoint:fromRect:operation:fraction:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSImage", - b"drawInRect:fromRect:operation:fraction:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSImage", - b"drawInRect:fromRect:operation:fraction:respectFlipped:hints:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"NSImage", - b"drawRepresentation:inRect:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSImage", - b"hitTestRect:withImageDestinationRect:context:hints:flipped:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"NSImage", - b"hitTestRect:withImageDestinationRect:context_hints:flipped:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSImage", - b"imageWithSize:flipped:drawingHandler:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - } - }, - } - }, - ) - r( - b"NSImage", - b"initWithCGImage:size:", - {"arguments": {3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSImage", - b"initWithIconRef:", - {"arguments": {2: {"type": "^{OpaqueIconRef=}"}}}, - ) - r( - b"NSImage", - b"initWithSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSImage", b"isCachedSeparately", {"retval": {"type": "Z"}}) - r(b"NSImage", b"isDataRetained", {"retval": {"type": "Z"}}) - r(b"NSImage", b"isFlipped", {"retval": {"type": "Z"}}) - r(b"NSImage", b"isTemplate", {"retval": {"type": "Z"}}) - r(b"NSImage", b"isValid", {"retval": {"type": "Z"}}) - r(b"NSImage", b"lockFocusFlipped:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"matchesOnMultipleResolution", {"retval": {"type": "Z"}}) - r(b"NSImage", b"matchesOnlyOnBestFittingAxis", {"retval": {"type": b"Z"}}) - r(b"NSImage", b"prefersColorMatch", {"retval": {"type": "Z"}}) - r(b"NSImage", b"scalesWhenResized", {"retval": {"type": "Z"}}) - r( - b"NSImage", - b"setAlignmentRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSImage", b"setCacheDepthMatchesImageDepth:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setCachedSeparately:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setDataRetained:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setFlipped:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setMatchesOnMultipleResolution:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSImage", - b"setMatchesOnlyOnBestFittingAxis:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSImage", b"setName:", {"retval": {"type": "Z"}}) - r(b"NSImage", b"setPrefersColorMatch:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setScalesWhenResized:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSImage", - b"setSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSImage", b"setTemplate:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImage", b"setUsesEPSOnResolutionMismatch:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSImage", - b"size", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSImage", b"usesEPSOnResolutionMismatch", {"retval": {"type": "Z"}}) - r( - b"NSImageRep", - b"CGImageForProposedRect:context:hints:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - } - } - }, - ) - r(b"NSImageRep", b"canInitWithData:", {"retval": {"type": "Z"}}) - r(b"NSImageRep", b"canInitWithPasteboard:", {"retval": {"type": "Z"}}) - r(b"NSImageRep", b"draw", {"retval": {"type": "Z"}}) - r( - b"NSImageRep", - b"drawAtPoint:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSImageRep", - b"drawInRect:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSImageRep", - b"drawInRect:fromRect:operation:fraction:respectFlipped:hints:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": "Z"}, - }, - }, - ) - r(b"NSImageRep", b"hasAlpha", {"retval": {"type": "Z"}}) - r(b"NSImageRep", b"isOpaque", {"retval": {"type": "Z"}}) - r(b"NSImageRep", b"setAlpha:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImageRep", b"setOpaque:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSImageRep", - b"setSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSImageRep", - b"size", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSImageView", b"allowsCutCopyPaste", {"retval": {"type": "Z"}}) - r(b"NSImageView", b"animates", {"retval": {"type": "Z"}}) - r(b"NSImageView", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSImageView", b"setAllowsCutCopyPaste:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImageView", b"setAnimates:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSImageView", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSInputManager", b"handleMouseEvent:", {"retval": {"type": "Z"}}) - r( - b"NSInputManager", - b"markedTextSelectionChanged:client:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSInputManager", - b"wantsToDelayTextChangeNotifications", - {"retval": {"type": "Z"}}, - ) - r(b"NSInputManager", b"wantsToHandleMouseEvents", {"retval": {"type": "Z"}}) - r(b"NSInputManager", b"wantsToInterpretAllKeystrokes", {"retval": {"type": "Z"}}) - r( - b"NSItemProvider", - b"loadItemForTypeIdentifier:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadObjectOfClass:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"registerItemForTypeIdentifier:loadHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "args": { - 0: {"type": "^@"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - "retval": {"type": "v"}, - }, - "type": b"@?", - }, - 2: {"type": b"#"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSLayoutAnchor", b"hasAmbiguousLayout", {"retval": {"type": b"Z"}}) - r(b"NSLayoutConstraint", b"isActive", {"retval": {"type": b"Z"}}) - r(b"NSLayoutConstraint", b"setActive:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSLayoutConstraint", - b"setShouldBeArchived:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSLayoutConstraint", b"shouldBeArchived", {"retval": {"type": b"Z"}}) - r(b"NSLayoutGuide", b"hasAmbiguousLayout", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"CGGlyphAtIndex:isValidIndex:", - {"arguments": {3: {"type": "^Z", "type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"addTemporaryAttribute:value:forCharacterRange:", - {"arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"addTemporaryAttributes:forCharacterRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSLayoutManager", b"allowsNonContiguousLayout", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"attachmentSizeForGlyphAtIndex:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSLayoutManager", b"backgroundLayoutEnabled", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"boundingRectForGlyphRange:inTextContainer:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSLayoutManager", - b"boundsRectForTextBlock:atIndex:effectiveRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {4: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSLayoutManager", - b"boundsRectForTextBlock:glyphRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSLayoutManager", - b"characterIndexForPoint:inTextContainer:fractionOfDistanceBetweenInsertionPoints:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSLayoutManager", - b"characterRangeForGlyphRange:actualGlyphRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSLayoutManager", - b"deleteGlyphsInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"drawBackgroundForGlyphRange:atPoint:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"drawGlyphsForGlyphRange:atPoint:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"drawStrikethroughForGlyphRange:strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 7: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 7: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"drawsOutsideLineFragmentForGlyphAtIndex:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSLayoutManager", - b"ensureGlyphsForCharacterRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"ensureGlyphsForGlyphRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"ensureLayoutForBoundingRect:inTextContainer:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSLayoutManager", - b"ensureLayoutForCharacterRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"ensureLayoutForGlyphRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"enumerateEnclosingRectsForGlyphRange:withinSelectedGlyphRange:inTextContainer:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSLayoutManager", - b"enumerateLineFragmentsForGlyphRange:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSLayoutManager", - b"extraLineFragmentRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSLayoutManager", - b"extraLineFragmentUsedRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSLayoutManager", - b"fillBackgroundRectArray:count:forCharacterRange:color:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - "c_array_length_in_arg": 3, - }, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"fractionOfDistanceThroughGlyphForPoint:inTextContainer:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSLayoutManager", - b"getFirstUnlaidCharacterIndex:glyphIndex:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"getGlyphs:range:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 4: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 5: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 6: {"type": "^Z", "type_modifier": b"o", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"NSLayoutManager", - b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:bidiLevels:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 4: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 5: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 6: {"type": "^Z", "type_modifier": b"o", "c_array_length_in_arg": 2}, - 7: {"type": "^C", "type_modifier": b"o", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"NSLayoutManager", - b"getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels:", - { - "arguments": { - 3: {"type": "^I", "type_modifier": b"o", "c_array_length_in_arg": 2}, - 4: {"type": "^I", "type_modifier": b"o", "c_array_length_in_arg": 2}, - 5: {"type": "^I", "type_modifier": b"o", "c_array_length_in_arg": 2}, - 6: {"type": "^I", "type_modifier": b"o", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"NSLayoutManager", - b"getLineFragmentInsertionPointsForCharacterAtIndex:alternatePositions:inDisplayOrder:positions:characterIndexes:", - { - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 5: {"type": sel32or64(b"r^f", b"r^d"), "type_modifier": b"o"}, - 6: {"type": sel32or64(b"^I", b"^Q"), "type_modifier": b"o"}, - } - }, - ) - r( - b"NSLayoutManager", - b"glyphAtIndex:isValidIndex:", - {"arguments": {3: {"type": "^Z", "type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"glyphIndexForPoint:inTextContainer:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSLayoutManager", - b"glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"null_accepted": False, "type_modifier": b"o"}, - } - }, - ) - r( - b"NSLayoutManager", - b"glyphRangeForBoundingRect:inTextContainer:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSLayoutManager", - b"glyphRangeForBoundingRectWithoutAdditionalLayout:inTextContainer:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSLayoutManager", - b"glyphRangeForCharacterRange:actualCharacterRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSLayoutManager", - b"glyphRangeForTextContainer:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r(b"NSLayoutManager", b"hasNonContiguousLayout", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"insertGlyphs:length:forStartingGlyphAtIndex:characterIndex:", - { - "arguments": { - 2: {"type": "^I", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSLayoutManager", - b"invalidateDisplayForCharacterRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"invalidateDisplayForGlyphRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"invalidateGlyphsForCharacterRange:changeInLength:actualCharacterRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - } - }, - ) - r( - b"NSLayoutManager", - b"invalidateGlyphsOnLayoutInvalidationForGlyphRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"invalidateLayoutForCharacterRange:actualCharacterRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - } - }, - ) - r( - b"NSLayoutManager", - b"invalidateLayoutForCharacterRange:isSoft:actualCharacterRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": "Z"}, - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - } - }, - ) - r(b"NSLayoutManager", b"isValidGlyphIndex:", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"layoutManagerOwnsFirstResponderInWindow:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSLayoutManager", - b"layoutRectForTextBlock:atIndex:effectiveRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - } - }, - }, - ) - r( - b"NSLayoutManager", - b"layoutRectForTextBlock:glyphRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSLayoutManager", - b"limitsLayoutForSuspiciousContents", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSLayoutManager", - b"lineFragmentRectForGlyphAtIndex:effectiveRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - } - }, - }, - ) - r( - b"NSLayoutManager", - b"lineFragmentRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSLayoutManager", - b"lineFragmentUsedRectForGlyphAtIndex:effectiveRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSLayoutManager", - b"lineFragmentUsedRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSLayoutManager", - b"locationForGlyphAtIndex:", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSLayoutManager", - b"notShownAttributeForGlyphAtIndex:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSLayoutManager", - b"rangeOfNominallySpacedGlyphsContainingIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSLayoutManager", - b"rectArrayForCharacterRange:withinSelectedCharacterRange:inTextContainer:rectCount:", - { - "retval": {"c_array_length_in_arg": 5}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSLayoutManager", - b"rectArrayForGlyphRange:withinSelectedGlyphRange:inTextContainer:rectCount:", - { - "retval": {"c_array_length_in_arg": 5}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSLayoutManager", - b"removeTemporaryAttribute:forCharacterRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"rulerAccessoryViewForTextView:paragraphStyle:ruler:enabled:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setAllowsNonContiguousLayout:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setAttachmentSize:forGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"setBackgroundLayoutEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setBoundsRect:forTextBlock:glyphRange:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"setDrawsOutsideLineFragment:forGlyphAtIndex:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setExtraLineFragmentRect:usedRect:textContainer:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSLayoutManager", - b"setGlyphs:properties:characterIndexes:font:forGlyphRange:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 6}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 6}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 6}, - } - }, - ) - r( - b"NSLayoutManager", - b"setLayoutRect:forTextBlock:glyphRange:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"setLimitsLayoutForSuspiciousContents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSLayoutManager", - b"setLineFragmentRect:forGlyphRange:usedRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSLayoutManager", - b"setLocation:forStartOfGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"setLocations:startingGlyphIndexes:count:forGlyphRange:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"setNotShownAttribute:forGlyphAtIndex:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setShowsControlCharacters:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setShowsInvisibleCharacters:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"setTemporaryAttributes:forCharacterRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"setTextContainer:forGlyphRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSLayoutManager", - b"setUsesDefaultHyphenation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSLayoutManager", b"setUsesFontLeading:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSLayoutManager", b"setUsesScreenFonts:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSLayoutManager", - b"showAttachmentCell:inRect:characterIndex:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSLayoutManager", - b"showCGGlyphs:positions:count:font:matrix:attributes:inContext:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSLayoutManager", - b"showCGGlyphs:positions:count:font:textMatrix:attributes:inContext:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSLayoutManager", - b"showPackedGlyphs:length:glyphRange:atPoint:font:color:printingAdjustment:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - }, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 8: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - } - }, - ) - r(b"NSLayoutManager", b"showsControlCharacters", {"retval": {"type": "Z"}}) - r(b"NSLayoutManager", b"showsInvisibleCharacters", {"retval": {"type": "Z"}}) - r( - b"NSLayoutManager", - b"strikethroughGlyphRange:strikethroughType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 6: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"temporaryAttribute:atCharacterIndex:effectiveRange:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"temporaryAttribute:atCharacterIndex:longestEffectiveRange:inRange:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"temporaryAttributesAtCharacterIndex:effectiveRange:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"temporaryAttributesAtCharacterIndex:longestEffectiveRange:inRange:", - { - "arguments": { - 3: {"type_modifier": b"o"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"textContainerForGlyphAtIndex:effectiveRange:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSLayoutManager", - b"textContainerForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:", - {"arguments": {3: {"type_modifier": b"o"}, 4: {"type": "Z"}}}, - ) - r( - b"NSLayoutManager", - b"textStorage:edited:range:changeInLength:invalidatedRange:", - { - "arguments": { - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 6: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSLayoutManager", - b"usedRectForTextContainer:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSLayoutManager", b"usesDefaultHyphenation", {"retval": {"type": b"Z"}}) - r(b"NSLayoutManager", b"usesFontLeading", {"retval": {"type": "Z"}}) - r(b"NSLayoutManager", b"usesScreenFonts", {"retval": {"type": "Z"}}) - r(b"NSLevelIndicator", b"drawsTieredCapacityLevels", {"retval": {"type": "Z"}}) - r(b"NSLevelIndicator", b"isEditable", {"retval": {"type": "Z"}}) - r( - b"NSLevelIndicator", - b"rectOfTickMarkAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSLevelIndicator", - b"setDrawsTieredCapacityLevels:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSLevelIndicator", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSLevelIndicatorCell", - b"rectOfTickMarkAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSMatrix", b"acceptsFirstMouse:", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"allowsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"autorecalculatesCellSize", {"retval": {"type": b"Z"}}) - r(b"NSMatrix", b"autosizesCells", {"retval": {"type": "Z"}}) - r( - b"NSMatrix", - b"cellFrameAtRow:column:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSMatrix", - b"cellSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSMatrix", b"context:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSMatrix", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"drawsCellBackground", {"retval": {"type": "Z"}}) - r( - b"NSMatrix", - b"getNumberOfRows:columns:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMatrix", - b"getRow:column:forPoint:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSMatrix", - b"getRow:column:ofCell:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}, - }, - ) - r(b"NSMatrix", b"highlightCell:atRow:column:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMatrix", - b"initWithFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMatrix", - b"initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMatrix", - b"initWithFrame:mode:prototype:numberOfRows:numberOfColumns:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMatrix", - b"intercellSpacing", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSMatrix", b"isAutoscroll", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"isSelectionByRect", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"selectCellWithTag:", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"sendAction", {"retval": {"type": "Z"}}) - r( - b"NSMatrix", - b"sendAction:to:forAllCells:", - {"arguments": {2: {"sel_of_type": b"Z@:@"}, 4: {"type": "Z"}}}, - ) - r(b"NSMatrix", b"setAllowsEmptySelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMatrix", b"setAutorecalculatesCellSize:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSMatrix", b"setAutoscroll:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMatrix", b"setAutosizesCells:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMatrix", - b"setCellSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSMatrix", b"setDoubleAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSMatrix", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMatrix", b"setDrawsCellBackground:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMatrix", - b"setIntercellSpacing:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSMatrix", b"setScrollable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMatrix", b"setSelectionByRect:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMatrix", - b"setSelectionFrom:to:anchor:highlight:", - {"arguments": {5: {"type": "Z"}}}, - ) - r(b"NSMatrix", b"setTabKeyTraversesCells:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMatrix", b"setValidateSize:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMatrix", - b"sortUsingFunction:context:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - }, - 3: {"type": "@"}, - } - }, - ) - r( - b"NSMatrix", - b"sortUsingSelector:", - {"arguments": {2: {"sel_of_type": sel32or64(b"i@:@", b"q@:@")}}}, - ) - r(b"NSMatrix", b"tabKeyTraversesCells", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"textShouldBeginEditing:", {"retval": {"type": "Z"}}) - r(b"NSMatrix", b"textShouldEndEditing:", {"retval": {"type": "Z"}}) - r(b"NSMediaLibraryBrowserController", b"isVisible", {"retval": {"type": b"Z"}}) - r( - b"NSMediaLibraryBrowserController", - b"setVisible:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSMenu", - b"addItemWithTitle:action:keyEquivalent:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSMenu", b"allowsContextMenuPlugIns", {"retval": {"type": "Z"}}) - r(b"NSMenu", b"autoenablesItems", {"retval": {"type": "Z"}}) - r( - b"NSMenu", - b"indexOfItemWithTarget:andAction:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSMenu", - b"insertItemWithTitle:action:keyEquivalent:atIndex:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSMenu", b"isAttached", {"retval": {"type": "Z"}}) - r(b"NSMenu", b"isTornOff", {"retval": {"type": "Z"}}) - r( - b"NSMenu", - b"locationForSubmenu:", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r(b"NSMenu", b"menuBarVisible", {"retval": {"type": "Z"}}) - r(b"NSMenu", b"menuChangedMessagesEnabled", {"retval": {"type": "Z"}}) - r(b"NSMenu", b"menuZone", {"retval": {"type": "^{_NSZone=}"}}) - r(b"NSMenu", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) - r( - b"NSMenu", - b"popUpMenuPositioningItem:atLocation:inView:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r(b"NSMenu", b"setAllowsContextMenuPlugIns:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenu", b"setAutoenablesItems:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenu", b"setMenuBarVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenu", b"setMenuChangedMessagesEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenu", b"setMenuZone:", {"arguments": {2: {"type": "^{_NSZone=}"}}}) - r(b"NSMenu", b"setShowsStateColumn:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenu", b"showsStateColumn", {"retval": {"type": "Z"}}) - r( - b"NSMenuItem", - b"allowsAutomaticKeyEquivalentLocalization", - {"retval": {"type": "Z"}}, - ) - r( - b"NSMenuItem", - b"allowsAutomaticKeyEquivalentMirroring", - {"retval": {"type": "Z"}}, - ) - r(b"NSMenuItem", b"allowsKeyEquivalentWhenHidden", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"hasSubmenu", {"retval": {"type": "Z"}}) - r( - b"NSMenuItem", - b"initWithTitle:action:keyEquivalent:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSMenuItem", b"isAlternate", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"isHiddenOrHasHiddenAncestor", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"isHighlighted", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"isSeparatorItem", {"retval": {"type": "Z"}}) - r(b"NSMenuItem", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r( - b"NSMenuItem", - b"setAllowsAutomaticKeyEquivalentLocalization:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSMenuItem", - b"setAllowsAutomaticKeyEquivalentMirroring:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSMenuItem", - b"setAllowsKeyEquivalentWhenHidden:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSMenuItem", b"setAlternate:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenuItem", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenuItem", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenuItem", b"setUsesUserKeyEquivalents:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSMenuItem", b"usesUserKeyEquivalents", {"retval": {"type": b"Z"}}) - r( - b"NSMenuItemCell", - b"drawBorderAndBackgroundWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"drawImageWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"drawKeyEquivalentWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"drawSeparatorItemWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"drawStateImageWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"drawTitleWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuItemCell", - b"keyEquivalentRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSMenuItemCell", - b"keyEquivalentWidth", - {"retval": {"type": sel32or64(b"f", b"d")}}, - ) - r(b"NSMenuItemCell", b"needsDisplay", {"retval": {"type": "Z"}}) - r(b"NSMenuItemCell", b"needsSizing", {"retval": {"type": "Z"}}) - r(b"NSMenuItemCell", b"setNeedsDisplay:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenuItemCell", b"setNeedsSizing:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMenuItemCell", - b"stateImageRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSMenuItemCell", - b"titleRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSMenuToolbarItem", b"setShowsIndicator:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSMenuToolbarItem", b"showsIndicator", {"retval": {"type": b"Z"}}) - r( - b"NSMenuView", - b"indexOfItemAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSMenuView", - b"initWithFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSMenuView", - b"innerRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSMenuView", b"isAttached", {"retval": {"type": "Z"}}) - r(b"NSMenuView", b"isHorizontal", {"retval": {"type": "Z"}}) - r(b"NSMenuView", b"isTornOff", {"retval": {"type": "Z"}}) - r( - b"NSMenuView", - b"locationForSubmenu:", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r(b"NSMenuView", b"needsSizing", {"retval": {"type": "Z"}}) - r( - b"NSMenuView", - b"rectOfItemAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSMenuView", b"setHorizontal:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMenuView", b"setNeedsSizing:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMenuView", - b"setWindowFrameForAttachingToRect:onScreen:preferredEdge:popUpSelectedItem:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSMenuView", b"trackWithEvent:", {"retval": {"type": "Z"}}) - r(b"NSMovie", b"QTMovie", {"retval": {"type": "^^{MovieType}"}}) - r(b"NSMovie", b"canInitWithPasteboard:", {"retval": {"type": "Z"}}) - r(b"NSMovie", b"initWithMovie:", {"arguments": {2: {"type": "^^{MovieType}"}}}) - r(b"NSMovie", b"initWithURL:byReference:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSMovieView", b"isControllerVisible", {"retval": {"type": "Z"}}) - r(b"NSMovieView", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSMovieView", b"isMuted", {"retval": {"type": "Z"}}) - r(b"NSMovieView", b"isPlaying", {"retval": {"type": "Z"}}) - r( - b"NSMovieView", - b"movieController", - {"retval": {"type": "^{ComponentInstanceRecord=[1l]}"}}, - ) - r( - b"NSMovieView", - b"movieRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSMovieView", b"playsEveryFrame", {"retval": {"type": "Z"}}) - r(b"NSMovieView", b"playsSelectionOnly", {"retval": {"type": "Z"}}) - r(b"NSMovieView", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMovieView", b"setMuted:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMovieView", b"setPlaysEveryFrame:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSMovieView", b"setPlaysSelectionOnly:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSMovieView", - b"showController:adjustingSize:", - {"arguments": {2: {"type": "Z"}, 3: {"type": "Z"}}}, - ) - r( - b"NSMovieView", - b"sizeForMagnification:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSMutableAttributedString", - b"applyFontTraits:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"fixAttachmentAttributeInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"fixAttributesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"fixFontAttributeInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"fixParagraphStyleAttributeInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"readFromData:options:documentAttributes:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSMutableAttributedString", - b"readFromData:options:documentAttributes:error:", - { - "retval": {"type": "Z"}, - "arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSMutableAttributedString", - b"readFromURL:options:documentAttributes:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSMutableAttributedString", - b"readFromURL:options:documentAttributes:error:", - { - "retval": {"type": "Z"}, - "arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSMutableAttributedString", - b"setAlignment:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"setBaseWritingDirection:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"subscriptRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"superscriptRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"unscriptRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableParagraphStyle", - b"allowsDefaultTighteningForTruncation", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSMutableParagraphStyle", - b"setAllowsDefaultTighteningForTruncation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSMutableParagraphStyle", - b"setUsesDefaultHyphenation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSMutableParagraphStyle", b"usesDefaultHyphenation", {"retval": {"type": b"Z"}}) - r(b"NSNib", b"instantiateNibWithExternalNameTable:", {"retval": {"type": "Z"}}) - r( - b"NSNib", - b"instantiateNibWithOwner:topLevelObjects:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSNib", - b"instantiateWithOwner:topLevelObjects:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"accessibilityActionDescription:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"accessibilityActionNames", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityActivationPoint", - {"required": True, "retval": {"type": b"{CGPoint=dd}"}}, - ) - r( - b"NSObject", - b"accessibilityAllowedValues", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityApplicationFocusedUIElement", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityArrayAttributeCount:", - {"retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityArrayAttributeValues:index:maxCount:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"accessibilityAttributeNames", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityAttributeValue:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityAttributeValue:forParameter:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityAttributedStringForRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityCancelButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCellForColumn:row:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"q"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessibilityChildren", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityChildrenInNavigationOrder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityClearButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCloseButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityColumnCount", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityColumnHeaderUIElements", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityColumnIndexRange", - {"required": True, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r( - b"NSObject", - b"accessibilityColumnTitles", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityColumns", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityContents", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCriticalValue", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCustomActions", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityCustomRotors", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityDecrementButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityDefaultButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityDisclosedByRow", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityDisclosedRows", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityDisclosureLevel", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityDocument", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityElementWithToken:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityExtrasMenuBar", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityFilename", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityFocusedUIElement", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityFocusedWindow", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityFrame", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"accessibilityFrameForRange:", - { - "required": True, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityFullScreenButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityGrowArea", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityHandles", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityHeader", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityHeaderGroup", - {"required": False, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityHelp", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityHitTest:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSObject", - b"accessibilityHorizontalScrollBar", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityHorizontalUnitDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityHorizontalUnits", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityIncrementButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityIndex", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"accessibilityIndexOfChild:", - {"retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityInsertionPointLineNumber", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityIsAttributeSettable:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"accessibilityIsIgnored", {"retval": {"type": "Z"}}) - r(b"NSObject", b"accessibilityLabel", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityLabelUIElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityLabelValue", - {"required": True, "retval": {"type": b"f"}}, - ) - r( - b"NSObject", - b"accessibilityLayoutPointForScreenPoint:", - { - "required": True, - "retval": {"type": b"{CGPoint=dd}"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityLayoutSizeForScreenSize:", - { - "required": True, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": {2: {"type": b"{CGSize=dd}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityLineForIndex:", - {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"accessibilityLinkedUIElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMainWindow", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMarkerGroupUIElement", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMarkerTypeDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMarkerUIElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMarkerValues", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMaxValue", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMenuBar", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMinValue", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityMinimizeButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityNextContents", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityNotifiesWhenDestroyed", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"accessibilityNumberOfCharacters", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityOrientation", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityOverflowButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityParameterizedAttributeNames", - {"retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityParent", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityPerformAction:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilityPerformCancel", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformConfirm", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformDecrement", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformDelete", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformIncrement", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformPick", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformPress", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformRaise", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformShowAlternateUI", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformShowDefaultUI", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPerformShowMenu", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accessibilityPlaceholderValue", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityPreviousContents", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityProxy", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityRTFForRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityRangeForIndex:", - { - "required": True, - "retval": {"type": b"{_NSRange=QQ}"}, - "arguments": {2: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessibilityRangeForLine:", - { - "required": True, - "retval": {"type": b"{_NSRange=QQ}"}, - "arguments": {2: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessibilityRangeForPosition:", - { - "required": True, - "retval": {"type": b"{_NSRange=QQ}"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityRangeInTargetElementWithToken:", - { - "required": False, - "retval": {"type": b"{_NSRange=QQ}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"accessibilityRole", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityRoleDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityRowCount", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityRowHeaderUIElements", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityRowIndexRange", - {"required": True, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r(b"NSObject", b"accessibilityRows", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityRulerMarkerType", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityScreenPointForLayoutPoint:", - { - "required": True, - "retval": {"type": b"{CGPoint=dd}"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityScreenSizeForLayoutSize:", - { - "required": True, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": {2: {"type": b"{CGSize=dd}"}}, - }, - ) - r( - b"NSObject", - b"accessibilitySearchButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySearchMenu", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedCells", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedChildren", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedColumns", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedRows", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedText", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedTextRange", - {"required": True, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r( - b"NSObject", - b"accessibilitySelectedTextRanges", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityServesAsTitleForUIElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySetOverrideValue:forAttribute:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilitySetValue:forAttribute:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"accessibilitySharedCharacterRange", - {"required": True, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r( - b"NSObject", - b"accessibilitySharedFocusElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySharedTextUIElements", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityShownMenu", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilitySortDirection", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilitySplitters", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityStringForRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"accessibilityStyleRangeForIndex:", - { - "required": True, - "retval": {"type": b"{_NSRange=QQ}"}, - "arguments": {2: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessibilitySubrole", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityTabs", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"accessibilityTitle", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityTitleUIElement", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityToolbarButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityTopLevelUIElement", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityURL", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityUnitDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityUnits", {"required": True, "retval": {"type": b"q"}}) - r(b"NSObject", b"accessibilityValue", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityValueDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVerticalScrollBar", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVerticalUnitDescription", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVerticalUnits", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"accessibilityVisibleCells", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVisibleCharacterRange", - {"required": False, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r( - b"NSObject", - b"accessibilityVisibleChildren", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVisibleColumns", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityVisibleRows", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityWarningValue", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"accessibilityWindow", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accessibilityWindows", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accessibilityZoomButton", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"action", {"required": True, "retval": {"type": ":"}}) - r( - b"NSObject", - b"activeCompressionOptions", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"activeConversationChanged:toNewConversation:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"activeConversationWillChange:fromOldConversation:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"addAnnotations:range:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"adjustedRangeFromRange:forEditingTextSelection:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"alertShowHelp:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"allowsMultipleSelection", - {"required": False, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"alpha", {"required": True, "retval": {"type": b"d"}}) - r( - b"NSObject", - b"alphaControlAddedOrRemoved:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"anchoringViewForSharingService:showRelativeToRect:preferredEdge:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 4: {"type": b"^Q"}, - }, - }, - ) - r( - b"NSObject", - b"animateDismissalOfViewController:fromViewController:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"animatePresentationOfViewController:fromViewController:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"animatesToDestination", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"animation:didReachProgressMark:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "f"}}, - }, - ) - r( - b"NSObject", - b"animation:valueForProgress:", - { - "required": False, - "retval": {"type": "f"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "f"}}, - }, - ) - r( - b"NSObject", - b"animationDidEnd:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"animationDidStop:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"animationForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"animationShouldStart:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"animations", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"animator", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"annotatedSubstringForProposedRange:actualRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"{_NSRange=QQ}"}, - 3: {"type": b"^{_NSRange=QQ}", "type_modifier": b"o"}, - }, - }, - ) - r(b"NSObject", b"appearance", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"application:continueUserActivity:restorationHandler:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"application:delegateHandlesKey:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didDecodeRestorableState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didFailToContinueUserActivityWithType:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didFailToRegisterForRemoteNotificationsWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didReceiveRemoteNotification:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didRegisterForRemoteNotificationsWithDeviceToken:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:didUpdateUserActivity:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:handlerForIntent:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:openFile:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:openFileWithoutUI:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:openFiles:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:openTempFile:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:openURLs:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:printFile:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"application:printFiles:", {"retval": {"type": "v"}}) - r( - b"NSObject", - b"application:printFiles:withSettings:showPrintPanels:", - { - "required": False, - "retval": {"type": "I"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"application:userDidAcceptCloudKitShareWithMetadata:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:willContinueUserActivityWithType:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:willEncodeRestorableState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"application:willPresentError:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"applicationDidBecomeActive:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidChangeOcclusionState:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidChangeScreenParameters:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidFinishLaunching:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidHide:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidResignActive:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidUnhide:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDidUpdate:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationDockMenu:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationOpenUntitledFile:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationProtectedDataDidBecomeAvailable:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationProtectedDataWillBecomeUnavailable:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationShouldAutomaticallyLocalizeKeyEquivalents:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationShouldHandleReopen:hasVisibleWindows:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"applicationShouldOpenUntitledFile:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationShouldTerminate:", - {"required": False, "retval": {"type": "I"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationShouldTerminateAfterLastWindowClosed:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationSupportsSecureRestorableState:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillBecomeActive:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillFinishLaunching:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillHide:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillResignActive:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillTerminate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillUnhide:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applicationWillUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applyLayoutAttributes:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"attachColorList:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"attachment", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"attachmentBoundsForAttributes:location:textContainer:proposedLineFragment:position:", - { - "required": True, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 6: {"type": b"{CGPoint=dd}"}, - }, - }, - ) - r( - b"NSObject", - b"attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:", - { - "required": True, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r(b"NSObject", b"attributedString", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"attributedSubstringForProposedRange:actualRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"NSObject", - b"attributedSubstringFromRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r(b"NSObject", b"autocorrectionType", {"required": False, "retval": {"type": b"q"}}) - r(b"NSObject", b"awakeFromNib", {"retval": {"type": b"v"}}) - r( - b"NSObject", - b"baseWritingDirectionAtLocation:", - {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"baselineDeltaForCharacterAtIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"bind:toObject:withKeyPath:options:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"bounds", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"browser:acceptDrop:atRow:column:dropOperation:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"i", b"q")}, - 6: {"type": "I"}, - }, - }, - ) - r( - b"NSObject", - b"browser:canDragRowsWithIndexes:inColumn:withEvent:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"browser:child:ofItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:createRowsForColumn:inMatrix:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"browser:didChangeLastColumn:toColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"browser:draggingImageForRowsWithIndexes:inColumn:withEvent:offset:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"@"}, - 6: {"type": sel32or64(b"N^{_NSPoint=ff}", b"N^{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"browser:headerViewControllerForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:heightOfRow:inColumn:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:isColumnValid:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"browser:isLeafItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:inColumn:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:nextTypeSelectMatchFromRow:toRow:inColumn:forString:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"i", b"q")}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"browser:numberOfChildrenOfItem:", - { - "required": False, - "retval": {"type": b"q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:numberOfRowsInColumn:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"browser:objectValueForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:previewViewControllerForLeafItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:selectCellWithString:inColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:selectRow:inColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:selectionIndexesForProposedSelection:inColumn:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"browser:setObjectValue:forItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:shouldEditItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:shouldShowCellExpansionForRow:column:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:shouldSizeColumn:forUserResize:toWidth:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": "Z"}, - 5: {"type": sel32or64(b"f", b"d")}, - }, - }, - ) - r( - b"NSObject", - b"browser:shouldTypeSelectForEvent:withCurrentSearchString:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:sizeToFitWidthOfColumn:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"browser:titleOfColumn:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"browser:typeSelectStringForRow:inColumn:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:validateDrop:proposedRow:column:dropOperation:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^q", "type_modifier": b"N"}, - 5: {"type": b"^q", "type_modifier": b"N"}, - 6: {"type": b"^Q", "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"browser:willDisplayCell:atRow:column:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"browser:writeRowsWithIndexes:inColumn:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"browserColumnConfigurationDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"browserDidScroll:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"browserWillScroll:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"buttonToolTip", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"canBeDisabled", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"cancelOperation:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"candidateListTouchBarItem", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"candidateListTouchBarItem:beginSelectingCandidateAtIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"candidateListTouchBarItem:changeSelectionFromCandidateAtIndex:toIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"candidateListTouchBarItem:changedCandidateListVisibility:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"candidateListTouchBarItem:endSelectingCandidateAtIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"capitalizeWord:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cellBaselineOffset", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - ) - r( - b"NSObject", - b"cellFrameForTextContainer:proposedLineFragment:glyphPosition:characterIndex:", - { - "required": True, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"cellSize", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - ) - r(b"NSObject", b"center", {"required": True, "retval": {"type": b"{CGPoint=dd}"}}) - r( - b"NSObject", - b"centerSelectionInVisibleArea:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"changeCaseOfLetter:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"changeColor:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"changeFont:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"changeSpelling:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"characterIndexForPoint:", - { - "required": True, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSObject", - b"cloudShareForUserInterfaceItem:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"collectionView:acceptDrop:index:dropOperation:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:acceptDrop:indexPath:dropOperation:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:canDragItemsAtIndexPaths:withEvent:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:canDragItemsAtIndexes:withEvent:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:cancelPrefetchingForItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:didChangeItemsAtIndexPaths:toHighlightState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:didDeselectItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:didEndDisplayingItem:forRepresentedObjectAtIndexPath:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:didSelectItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:draggingImageForItemsAtIndexPaths:withEvent:offset:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "type": sel32or64(b"^{_NSPoint=ff}", b"^{CGPoint=dd}"), - "type_modifier": b"N", - }, - }, - }, - ) - r( - b"NSObject", - b"collectionView:draggingImageForItemsAtIndexes:withEvent:offset:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "type": sel32or64(b"^{_NSPoint=ff}", b"^{CGPoint=dd}"), - "type_modifier": b"N", - }, - }, - }, - ) - r( - b"NSObject", - b"collectionView:draggingSession:endedAtPoint:dragOperation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:draggingSession:endedAtPoint:draggingOperation:", - { - "arguments": { - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": sel32or64(b"i", b"q")}, - } - }, - ) - r( - b"NSObject", - b"collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:itemForRepresentedObjectAtIndexPath:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:layout:insetForSectionAtIndex:", - { - "required": False, - "retval": { - "type": sel32or64(b"{NSEdgeInsets=ffff}", b"{NSEdgeInsets=dddd}") - }, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:layout:minimumInteritemSpacingForSectionAtIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:layout:minimumLineSpacingForSectionAtIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:layout:referenceSizeForFooterInSection:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:layout:referenceSizeForHeaderInSection:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:layout:sizeForItemAtIndexPath:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexes:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:numberOfItemsInSection:", - { - "required": True, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"collectionView:pasteboardWriterForItemAtIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"collectionView:pasteboardWriterForItemAtIndexPath:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:prefetchItemsAtIndexPaths:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:shouldChangeItemsAtIndexPaths:toHighlightState:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:shouldDeselectItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:shouldSelectItemsAtIndexPaths:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:transitionLayoutForOldLayout:newLayout:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:updateDraggingItemsForDrag:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:validateDrop:proposedIndex:dropOperation:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"N"}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:validateDrop:proposedIndexPath:dropOperation:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"N"}, - 5: {"type": b"^q"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:viewForSupplementaryElementOfKind:atIndexPath:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:willDisplayItem:forRepresentedObjectAtIndexPath:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:willDisplaySupplementaryView:forElementKind:atIndexPath:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"collectionView:writeItemsAtIndexPaths:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"collectionView:writeItemsAtIndexes:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"comboBox:completedString:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"comboBox:indexOfItemWithStringValue:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"comboBox:objectValueForItemAtIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"comboBoxCell:completedString:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"comboBoxCell:indexOfItemWithStringValue:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"comboBoxCell:objectValueForItemAtIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"comboBoxSelectionDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"comboBoxSelectionIsChanging:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"comboBoxWillDismiss:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"comboBoxWillPopUp:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"commitEditing", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"commitEditingAndReturnError:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"commitEditingWithDelegate:didCommitSelector:contextInfo:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": ":", "sel_of_type": b"v@:@Z^v"}, - 4: {"type": "^v"}, - }, - }, - ) - r( - b"NSObject", - b"compare:", - {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"complete:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"compressWithPrioritizedCompressionOptions:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"concludeDragOperation:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"confinementRectForMenu:onScreen:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"container", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"contentInsets", - {"required": True, "retval": {"type": b"{NSDirectionalEdgeInsets=dddd}"}}, - ) - r( - b"NSObject", - b"contentSize", - {"required": True, "retval": {"type": b"{CGSize=dd}"}}, - ) - r(b"NSObject", b"contentType", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"contentView", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"contentViewAtIndex:effectiveCharacterRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"o^{_NSRange=II}", b"o^{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"control:didFailToFormatString:errorDescription:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"control:didFailToValidatePartialString:errorDescription:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"control:isValidObject:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"control:textShouldBeginEditing:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"control:textShouldEndEditing:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"control:textView:completions:forPartialWordRange:indexOfSelectedItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 6: { - "null_accepted": False, - "type": sel32or64(b"^i", b"^q"), - "type_modifier": b"N", - }, - }, - }, - ) - r( - b"NSObject", - b"control:textView:doCommandBySelector:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": ":", "sel_of_type": b"v@:@"}, - }, - }, - ) - r( - b"NSObject", - b"controlTextDidBeginEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"controlTextDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"controlTextDidEndEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"conversationIdentifier", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r(b"NSObject", b"currentMode", {"required": True, "retval": {"type": "i"}}) - r( - b"NSObject", - b"customWindowsToEnterFullScreenForWindow:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"customWindowsToEnterFullScreenForWindow:onScreen:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"customWindowsToExitFullScreenForWindow:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"dataDetectionType", {"required": False, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"datePickerCell:validateProposedDateValue:timeInterval:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^@", "type_modifier": b"N"}, - 4: {"type": sel32or64(b"^f", b"^d"), "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"defaultAnimationForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"defaultPlaceholderForMarker:withBinding:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteBackward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteBackwardByDecomposingPreviousCharacter:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteForward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteToBeginningOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteToBeginningOfParagraph:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteToEndOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteToEndOfParagraph:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteToMark:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteWordBackward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deleteWordForward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"detachColorList:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"detachableWindowForPopover:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didBeginInteractingWithScrubber:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didCancelInteractingWithScrubber:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didFinishInteractingWithScrubber:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didReplaceCharacters", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"didTransitionFromLayout:toLayout:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"discardEditing", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"doCommandBySelector:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": ":", "sel_of_type": b"v@:@"}}, - }, - ) - r( - b"NSObject", - b"doCommandBySelector:client:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": ":", "sel_of_type": b"v@:@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"dockMenu", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"documentRange", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"draggedImage", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"draggedImage:beganAt:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"draggedImage:endedAt:deposited:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"draggedImage:endedAt:operation:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"draggedImage:movedTo:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"draggedImageLocation", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - ) - r( - b"NSObject", - b"draggingDestinationWindow", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"draggingEnded:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"draggingEntered:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"draggingExited:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"draggingFormation", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"draggingLocation", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - ) - r(b"NSObject", b"draggingPasteboard", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"draggingSequenceNumber", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r( - b"NSObject", - b"draggingSession:endedAtPoint:operation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGPoint=dd}"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"draggingSession:movedToPoint:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"draggingSession:sourceOperationMaskForDraggingContext", - { - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"draggingSession:sourceOperationMaskForDraggingContext:", - { - "required": True, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"draggingSession:willBeginAtPoint:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{CGPoint=dd}"}}, - }, - ) - r(b"NSObject", b"draggingSource", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"draggingSourceOperationMask", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"draggingSourceOperationMaskForLocal:", - {"retval": {"type": sel32or64(b"I", b"Q")}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"draggingUpdated:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"drawCharactersInRange:forContentView:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"drawWithFrame:inView:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"drawWithFrame:inView:characterIndex:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"drawWithFrame:inView:characterIndex:layoutManager:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"drawerDidClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerDidOpen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerShouldClose:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerShouldOpen:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerWillClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerWillOpen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"drawerWillResizeContents:toSize:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"drawsVerticallyForCharacterAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r(b"NSObject", b"editable", {"retval": {"type": b"Z"}}) - r(b"NSObject", b"effectiveAppearance", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"effectiveContentInsets", - {"required": True, "retval": {"type": b"{NSDirectionalEdgeInsets=dddd}"}}, - ) - r( - b"NSObject", - b"effectiveContentSize", - {"required": True, "retval": {"type": b"{CGSize=dd}"}}, - ) - r( - b"NSObject", - b"enumerateCaretOffsetsInLineFragmentAtLocation:usingBlock:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"Z"}, - 4: {"type": b"o^Z"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"enumerateContainerBoundariesFromLocation:reverse:usingBlock:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - 3: {"type": b"o^Z"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"enumerateSubstringsFromLocation:options:usingBlock:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"o^Z"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"enumerateTextElementsFromLocation:options:usingBlock:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"exposeBinding:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"exposedBindings", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"filePromiseProvider:fileNameForType:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"filePromiseProvider:writePromiseToURL:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"findBarView", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"findBarViewDidChangeHeight", - {"required": True, "retval": {"type": b"v"}}, - ) - r(b"NSObject", b"findBarVisible", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"firstRectForCharacterRange:", - { - "required": True, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSObject", - b"firstRectForCharacterRange:actualRange:", - { - "required": True, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"NSObject", - b"firstSelectedRange", - {"required": False, "retval": {"type": b"{_NSRange=QQ}"}}, - ) - r( - b"NSObject", - b"fontManager:willIncludeFont:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"fractionOfDistanceThroughGlyphForPoint:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSObject", - b"frame", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"gestureRecognizer:shouldAttemptToRecognizeWithEvent:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"gestureRecognizer:shouldReceiveTouch:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"gestureRecognizer:shouldRequireFailureOfGestureRecognizer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"gestureRecognizerShouldBegin:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"grammarCheckingType", - {"required": False, "retval": {"type": b"q"}}, - ) - r(b"NSObject", b"hasMarkedText", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"highlight:withFrame:inView:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "Z"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"hyphenCharacterForGlyphAtIndex:", - {"retval": {"type": "i"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"hyphenationFactorForGlyphAtIndex:", - {"retval": {"type": "f"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r(b"NSObject", b"identifier", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"ignoreModifierKeysForDraggingSession:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"ignoreModifierKeysWhileDragging", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"ignoreSpelling:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"image:didLoadPartOfRepresentation:withValidRows:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"image:didLoadRepresentation:withStatus:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"image:didLoadRepresentationHeader:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"image:willLoadRepresentation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"imageDidNotDraw:inRect:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"imageForBounds:attributes:location:textContainer:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"imageForBounds:textContainer:characterIndex:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"indent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"indexPath", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"infoForBinding:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"initWithPasteboardPropertyList:ofType:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"initWithPickerMask:colorPanel:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"inputClientBecomeActive:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inputClientDisabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inputClientEnabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inputClientResignActive:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertBacktab:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertContainerBreak:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertDoubleQuoteIgnoringSubstitution:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertGlyphs:length:forStartingGlyphAtIndex:characterIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^I", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"insertLineBreak:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertNewButtonImage:in:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": "@"}, 3: {"type": "@"}}, - }, - ) - r( - b"NSObject", - b"insertNewline:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertNewlineIgnoringFieldEditor:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertParagraphSeparator:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertSingleQuoteIgnoringSubstitution:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertTab:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertTabIgnoringFieldEditor:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"insertText:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": "@"}}}, - ) - r( - b"NSObject", - b"insertText:client:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": "@"}, 3: {"type": "@"}}, - }, - ) - r( - b"NSObject", - b"insertText:replacementRange:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": "@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"ioCommandBySelector:", - {"arguments": {2: {"type": ":", "sel_of_type": b"v@:@"}}}, - ) - r( - b"NSObject", - b"isAccessibilityAlternateUIVisible", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityDisclosed", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityEdited", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityElement", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityEnabled", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityExpanded", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityFocused", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityFrontmost", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityHidden", - {"required": True, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"isAccessibilityMain", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"isAccessibilityMinimized", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityModal", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityOrderedByRow", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityProtectedContent", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilityRequired", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"isAccessibilitySelected", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"isAccessibilitySelectorAllowed:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b":"}}}, - ) - r(b"NSObject", b"isContentDiscarded", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isEditable", {"required": False, "retval": {"type": "Z"}}) - r(b"NSObject", b"isExplicitlyIncluded", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isFindBarVisible", {"required": True, "retval": {"type": "Z"}}) - r(b"NSObject", b"isHidden", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isSelectable", {"required": False, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"itemsForSharingServicePickerToolbarItem:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"itemsForSharingServicePickerTouchBarItem:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"key", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"keyPathsForValuesAffectingPreview", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"layer:shouldInheritContentsScale:fromWindow:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"layoutManager:boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": b"@"}, - 5: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 7: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:didCompleteLayoutForTextContainer:atEnd:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"layoutManager:lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldBreakLineByWordBeforeCharacterAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^S"}, - 4: {"type": b"^q"}, - 5: {"type": b"^Q"}, - 6: {"type": b"@"}, - 7: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldGenerateGlyphs:properties:characterIndexes:forGlyphRange:", - { - "arguments": { - 3: {"type": "n^S", "c_array_length_in_arg": 6}, - 4: {"type": sel32or64(b"n^I", b"n^Q"), "c_array_length_in_arg": 6}, - 5: {"type": sel32or64(b"n^I", b"n^Q"), "c_array_length_in_arg": 6}, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSObject", - b"layoutManager:shouldSetLineFragmentRect:lineFragmentUsedRect:baselineOffset:inTextContainer:forGlyphRange:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"N^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"N^{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: { - "type": sel32or64( - b"N^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"N^{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"N^f", b"N^d")}, - 6: {"type": b"@"}, - 7: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldUseAction:forControlCharacterAtIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:shouldUseTemporaryAttributes:forDrawingToScreen:atCharacterIndex:effectiveRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "Z"}, - 5: {"type": sel32or64(b"I", b"Q")}, - 6: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - }, - ) - r( - b"NSObject", - b"layoutManager:textContainer:didChangeGeometryFromSize:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"layoutManagerDidInvalidateLayout:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"layoutOptions", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"layoutOrientation", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"lineFragmentRangeForPoint:inContainerAtLocation:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"linkDetectionType", {"required": False, "retval": {"type": b"q"}}) - r(b"NSObject", b"listener:shouldAcceptNewConnection:", {"retval": {"type": "Z"}}) - r(b"NSObject", b"localizedKey", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"localizedSummaryItems", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"localizedTitlesForItem:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"locationFromLocation:withOffset:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"lowercaseWord:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeBaseWritingDirectionLeftToRight:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeBaseWritingDirectionNatural:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeBaseWritingDirectionRightToLeft:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeTextWritingDirectionLeftToRight:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeTextWritingDirectionNatural:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeTextWritingDirectionRightToLeft:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"markedRange", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - ) - r( - b"NSObject", - b"markedTextAbandoned:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"markedTextSelectionChanged:client:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"menu:updateItem:atIndex:shouldCancel:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"menu:willHighlightItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"menuDidClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"menuHasKeyEquivalent:forEvent:target:action:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - 5: {"type": "^:", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"menuNeedsUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"menuWillOpen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"minContentSize", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - ) - r( - b"NSObject", - b"minimumSizeWithPrioritizedCompressionOptions:", - { - "required": True, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mouseDownOnCharacterIndex:atCoordinate:withModifier:client:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"mouseDraggedOnCharacterIndex:atCoordinate:withModifier:client:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"mouseUpOnCharacterIndex:atCoordinate:withModifier:client:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"moveBackward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveBackwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveDown:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveDownAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveForward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveForwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveLeft:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveLeftAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveParagraphBackwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveParagraphForwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveRight:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveRightAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfDocument:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfDocumentAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfLineAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfParagraph:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToBeginningOfParagraphAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfDocument:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfDocumentAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfLineAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfParagraph:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToEndOfParagraphAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToLeftEndOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToLeftEndOfLineAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToRightEndOfLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveToRightEndOfLineAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveUp:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveUpAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordBackward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordBackwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordForward:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordForwardAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordLeft:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordLeftAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordRight:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"moveWordRightAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"name", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"namesOfPromisedFilesDroppedAtDestination:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfItemsForScrubber:", - { - "required": True, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfItemsInComboBox:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfItemsInComboBoxCell:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfItemsInMenu:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfRowsInTableView:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfSectionsInCollectionView:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"numberOfValidItemsForDrop", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"objectDidBeginEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"objectDidEndEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"offsetFromLocation:toLocation:", - { - "required": False, - "retval": {"type": b"q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"operationQueueForFilePromiseProvider:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"optionDescriptionsForBinding:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"optionsForSharingService:shareProvider:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:acceptDrop:item:childIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:child:ofItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:dataCellForTableColumn:item:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:didAddRowView:forRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"outlineView:didClickTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:didDragTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:didRemoveRowView:forRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"outlineView:draggingSession:endedAtPoint:", - {"arguments": {4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSObject", - b"outlineView:draggingSession:endedAtPoint:operation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:draggingSession:willBeginAtPoint:", - {"arguments": {4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSObject", - b"outlineView:draggingSession:willBeginAtPoint:forItems:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:heightOfRowByItem:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:isGroupItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:isItemExpandable:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:itemForPersistentObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:mouseDownInHeaderOfTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:nextTypeSelectMatchFromItem:toItem:forString:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:numberOfChildrenOfItem:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:objectValueForTableColumn:byItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:pasteboardWriterForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:persistentObjectForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:rowViewForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:selectionIndexesForProposedSelection:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:setObjectValue:forTableColumn:byItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:shouldCollapseItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldEditTableColumn:item:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldExpandItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldReorderColumn:toColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:shouldSelectItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldSelectTableColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldShowCellExpansionForTableColumn:item:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldShowOutlineCellForItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:shouldTrackCell:forTableColumn:item:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:shouldTypeSelectForEvent:withCurrentSearchString:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:sizeToFitWidthOfColumn:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"outlineView:sortDescriptorsDidChange:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:tintConfigurationForItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:toolTipForCell:rect:tableColumn:item:mouseLocation:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:typeSelectStringForTableColumn:item:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:updateDraggingItemsForDrag:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:validateDrop:proposedItem:proposedChildIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:viewForTableColumn:item:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineView:willDisplayCell:forTableColumn:item:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:willDisplayOutlineCell:forTableColumn:item:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"outlineView:writeItems:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"outlineViewColumnDidMove:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewColumnDidResize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewItemDidCollapse:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewItemDidExpand:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewItemWillCollapse:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewItemWillExpand:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewSelectionDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"outlineViewSelectionIsChanging:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageController:didTransitionToObject:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pageController:frameForObject:", - { - "required": False, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pageController:identifierForObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pageController:prepareViewController:withObject:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pageController:viewControllerForIdentifier:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pageControllerDidEndLiveTransition:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageControllerWillStartLiveTransition:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageDown:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageDownAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageUp:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pageUpAndModifySelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"panel:compareFilename:with:caseSensitive:", - { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"panel:didChangeToDirectoryURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"panel:directoryDidChange:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"panel:isValidFilename:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"panel:shouldEnableURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"panel:shouldShowFilename:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"panel:userEnteredFilename:confirmed:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"panel:validateURL:error:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"panel:willExpand:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"panelSelectionDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pasteboard:item:provideDataForType:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pasteboard:provideDataForType:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pasteboardChangedOwner:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pasteboardFinishedWithDataProvider:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pasteboardPropertyListForType:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"pathCell:willDisplayOpenPanel:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathCell:willPopUpMenu:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:acceptDrop:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:shouldDragItem:withPasteboard:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:shouldDragPathComponentCell:withPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:validateDrop:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:willDisplayOpenPanel:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pathControl:willPopUpMenu:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"performActionForItem:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"performDragOperation:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"performEditingTransactionForTextStorage:usingBlock:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"performFeedbackPattern:performanceTime:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"q"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"performSegueWithIdentifier:sender:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"popoverDidClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverDidDetach:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverDidShow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverShouldClose:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverShouldDetach:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverWillClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverWillShow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"preferredLayoutAttributesFittingAttributes:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"prepareForDragOperation:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"prepareForInterfaceBuilder", {"retval": {"type": b"v"}}) - r(b"NSObject", b"prepareForReuse", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"prepareForSegue:sender:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"processEditingForTextStorage:edited:range:changeInLength:invalidateRange:", - { - "arguments": { - 3: {"type": "q"}, - 4: {"type": "{_NSRange=QQ}"}, - 5: {"type": "q"}, - 6: {"type": "{_NSRange=QQ}"}, - } - }, - ) - r( - b"NSObject", - b"processEditingForTextStorage:edited:range:changeInLength:invalidatedRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"{_NSRange=QQ}"}, - 5: {"type": b"q"}, - 6: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"provideNewButtonImage", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"provideNewView:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"quickLookPreviewItems:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"readSelectionFromPasteboard:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"readableTypesForPasteboard:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"readingOptionsForType:pasteboard:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"rectsForCharacterInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSObject", - b"rectsForCharacterRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"remoteObjectProxyWithErrorHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"removeAnnotation:range:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"replaceCharactersInRange:withAnnotatedString:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"replaceCharactersInRange:withString:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"replaceContentsInRange:withTextElements:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"representedElementCategory", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"representedElementKind", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"resetSpringLoading", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"restoreUserActivityState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"restoreWindowWithIdentifier:state:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"rootItemForBrowser:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rotor:resultForSearchParameters:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"ruleEditor:child:forCriterion:withRowType:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"ruleEditor:displayValueForCriterion:inRow:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"ruleEditor:numberOfChildrenForCriterion:withRowType:", - { - "required": True, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"ruleEditor:predicatePartsForCriterion:withDisplayValue:inRow:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"ruleEditorRowsDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:didAddMarker:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:didMoveMarker:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:didRemoveMarker:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:handleMouseDown:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:locationForPoint:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"rulerView:pointForLocation:", - { - "retval": {"type": b"{CGPoint=dd}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"rulerView:pointForlocation:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {3: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"rulerView:shouldAddMarker:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:shouldMoveMarker:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:shouldRemoveMarker:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rulerView:willAddMarker:atLocation:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"f", b"d")}, - }, - }, - ) - r( - b"NSObject", - b"rulerView:willMoveMarker:toLocation:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"f", b"d")}, - }, - }, - ) - r( - b"NSObject", - b"rulerView:willSetClientView:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollLineDown:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollLineUp:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollPageDown:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollPageUp:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollRangeToVisible:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"scrollToBeginningOfDocument:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrollToEndOfDocument:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scrubber:didChangeVisibleRange:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"scrubber:didHighlightItemAtIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"scrubber:didSelectItemAtIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"scrubber:layout:sizeForItemAtIndex:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"scrubber:viewForItemAtIndex:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"searchFieldDidEndSearching:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"searchFieldDidStartSearching:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"searchForItemsWithSearchString:resultLimit:matchedItemHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"sectionCollapseButton", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"selectAll:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"selectAndShowRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"selectLine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"selectParagraph:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"selectToMark:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"selectWord:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"selectable", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"selectedRange", - { - "required": True, - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - ) - r(b"NSObject", b"selectedRanges", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"selectionShouldChangeInOutlineView:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"selectionShouldChangeInTableView:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityActivationPoint:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityAllowedValues:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityAlternateUIVisible:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityApplicationFocusedUIElement:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCancelButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityChildren:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityChildrenInNavigationOrder:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityClearButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCloseButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityColumnCount:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityColumnHeaderUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityColumnIndexRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityColumnTitles:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityColumns:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityContents:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCriticalValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCustomActions:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityCustomRotors:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDecrementButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDefaultButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDisclosed:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDisclosedByRow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDisclosedRows:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDisclosureLevel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityDocument:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityEdited:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityElement:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityEnabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityExpanded:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityExtrasMenuBar:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityFilename:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityFocused:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityFocusedWindow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityFrontmost:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityFullScreenButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityGrowArea:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHandles:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHeader:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHelp:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHidden:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHorizontalScrollBar:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHorizontalUnitDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityHorizontalUnits:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityIdentifier:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityIncrementButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityIndex:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityInsertionPointLineNumber:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityLabel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityLabelUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityLabelValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setAccessibilityLinkedUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMain:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMainWindow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMarkerGroupUIElement:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMarkerTypeDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMarkerUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMarkerValues:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMaxValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMenuBar:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMinValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMinimizeButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityMinimized:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityModal:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityNextContents:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityNumberOfCharacters:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityOrderedByRow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityOrientation:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityOverflowButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityParent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityPlaceholderValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityPreviousContents:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityProtectedContent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityProxy:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRequired:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRole:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRoleDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRowCount:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRowHeaderUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRowIndexRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityRows:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityRulerMarkerType:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySearchButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySearchMenu:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelected:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedCells:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedChildren:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedColumns:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedRows:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedText:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySelectedTextRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilitySelectedTextRanges:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityServesAsTitleForUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySharedCharacterRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilitySharedFocusElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySharedTextUIElements:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityShownMenu:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySortDirection:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySplitters:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilitySubrole:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityTabs:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityTitle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityTitleUIElement:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityToolbarButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityTopLevelUIElement:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityURL:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityUnitDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityUnits:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityValueDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVerticalScrollBar:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVerticalUnitDescription:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVerticalUnits:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVisibleCells:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVisibleCharacterRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAccessibilityVisibleChildren:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVisibleColumns:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityVisibleRows:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityWarningValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityWindow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityWindows:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAccessibilityZoomButton:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAllowsMultipleSelection:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAlpha:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r( - b"NSObject", - b"setAnimatesToDestination:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setAnimations:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAnnotations:range:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setAppearance:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAttachment:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAutocorrectionType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setCenter:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"setColor:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setContentType:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setDataDetectionType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setDefaultPlaceholder:forMarker:withBinding:", - { - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"setDockTile:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setDraggingFormation:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setEditable:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setFindBarView:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setFindBarVisible:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"setFirstSelectedRange:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"{_NSRange=QQ}"}}}, - ) - r( - b"NSObject", - b"setGrammarCheckingType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setHidden:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setIdentifier:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setIntAttribute:value:forGlyphAtIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": sel32or64(b"i", b"q")}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"setKey:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setLinkDetectionType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setLocalizedKey:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setMark:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setMarkedText:selectedRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"setMarkedText:selectedRange:replacementRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"setMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "i"}}}, - ) - r( - b"NSObject", - b"setNumberOfValidItemsForDrop:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setSectionCollapseButton:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setSelectable:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setSelectedRanges:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setSmartDashesType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setSmartInsertDeleteType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setSmartQuotesType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setSpellCheckingType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setString:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setTextCompletionType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setTextReplacementType:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setTextStorage:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setVisibleCharacterRanges:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setZIndex:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"sharingService:didCompleteForItems:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:didFailToShareItems:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:didSaveShare:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:didShareItems:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:didStopSharing:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:sourceFrameOnScreenForShareItem:", - { - "required": False, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingService:sourceWindowForShareItems:sharingContentScope:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"^q"}}, - }, - ) - r( - b"NSObject", - b"sharingService:transitionImageForShareItem:contentRect:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"sharingService:willShareItems:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingServicePicker:delegateForSharingService:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingServicePicker:didChooseSharingService:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sharingServicePicker:sharingServicesForItems:proposedSharingServices:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"shouldPerformSegueWithIdentifier:sender:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"shouldReplaceCharactersInRanges:withStrings:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"showAllHelpTopicsForSearchString:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"showRelativeToRect:ofView:preferredEdge:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"I", b"Q")}, - } - }, - ) - r( - b"NSObject", - b"slideDraggedImageTo:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r(b"NSObject", b"smartDashesType", {"required": False, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"smartInsertDeleteType", - {"required": False, "retval": {"type": b"q"}}, - ) - r(b"NSObject", b"smartQuotesType", {"required": False, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"sound:didFinishPlaying:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"speechRecognizer:didRecognizeCommand:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didEncounterErrorAtIndex:ofString:message:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didEncounterSyncMessage:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:didFinishSpeaking:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:willSpeakPhoneme:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "s"}}, - }, - ) - r( - b"NSObject", - b"speechSynthesizer:willSpeakWord:ofString:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"@"}, - }, - }, - ) - r(b"NSObject", b"spellCheckingType", {"required": False, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"splitView:additionalEffectiveRectOfDividerAtIndex:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"splitView:canCollapseSubview:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"splitView:constrainMaxCoordinate:ofSubviewAt:", - { - "required": False, - "retval": {"type": b"d"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"splitView:constrainMinCoordinate:ofSubviewAt:", - { - "required": False, - "retval": {"type": b"d"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"splitView:constrainSplitPosition:ofSubviewAt:", - { - "required": False, - "retval": {"type": b"d"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"splitView:effectiveRect:forDrawnRect:ofDividerAtIndex:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:onstrainMaxCoordinate:ofSubviewAt:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 3: {"type": sel32or64(b"f", b"d")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:onstrainMinCoordinate:ofSubviewAt:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 3: {"type": sel32or64(b"f", b"d")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:onstrainSplitPosition:ofSubviewAt:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": { - 3: {"type": sel32or64(b"f", b"d")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:resizeSubviewsWithOldSize:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:shouldAdjustSizeOfSubview:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"splitView:shouldCollapseSubview:forDoubleClickOnDividerAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"splitView:shouldHideDividerAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"splitViewDidResizeSubviews:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"splitViewWillResizeSubviews:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"springLoadingActivated:draggingInfo:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "Z"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"springLoadingEntered:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"springLoadingExited:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"springLoadingHighlight", - {"required": True, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"springLoadingHighlightChanged:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"springLoadingUpdated:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"stackView:didReattachViews:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"stackView:willDetachViews:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"string", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"stringAtIndex:effectiveRange:endsWithSearchBoundary:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"^{_NSRange=QQ}"}, - 4: {"type": b"^Z"}, - }, - }, - ) - r( - b"NSObject", - b"stringAtIndex:effectiveRange:endswithSearchBoundary:", - { - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"o^{_NSRange=II}", b"o^{_NSRange=QQ}")}, - 4: {"type": "o^Z"}, - } - }, - ) - r(b"NSObject", b"stringLength", {"required": False, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"supportsMode:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": "i"}}}, - ) - r( - b"NSObject", - b"swapWithMark:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"synchronizeToBackingStore:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"tabView:didSelectTabViewItem:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tabView:shouldSelectTabViewItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tabView:willSelectTabViewItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tabViewDidChangeNumberOfTabViewItems:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tableView:acceptDrop:row:dropOperation:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:dataCellForTableColumn:row:", - { - "required": False, - "retval": {"type": "@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:didAddRowView:forRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"tableView:didClickTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:didDragTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:didRemoveRowView:forRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"tableView:draggingSession:endedAtPoint:operation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"tableView:draggingSession:willBeginAtPoint:forRowIndexes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"tableView:heightOfRow:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"tableView:isGroupRow:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"tableView:mouseDownInHeaderOfTableColumn:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:nextTypeSelectMatchFromRow:toRow:forString:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"tableView:objectValueForTableColumn:row:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:pasteboardWriterForRow:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"tableView:rowActionsForRow:edge:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:rowViewForRow:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"tableView:selectionIndexesForProposedSelection:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:setObjectValue:forTableColumn:row:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:shouldEditTableColumn:row:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:shouldReorderColumn:toColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:shouldSelectRow:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"tableView:shouldSelectTableColumn:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:shouldShowCellExpansionForTableColumn:row:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:shouldTrackCell:forTableColumn:row:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:shouldTypeSelectForEvent:withCurrentSearchString:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:sizeToFitWidthOfColumn:", - { - "required": False, - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"tableView:sortDescriptorsDidChange:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:toolTipForCell:rect:tableColumn:row:mouseLocation:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 5: {"type": b"@"}, - 6: {"type": sel32or64(b"i", b"q")}, - 7: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:typeSelectStringForTableColumn:row:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:updateDraggingItemsForDrag:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:validateDrop:proposedRow:proposedDropOperation:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:viewForTableColumn:row:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"tableView:willDisplayCell:forTableColumn:row:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"tableView:writeRows:toPasteboard:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableView:writeRowsWithIndexes:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tableViewColumnDidMove:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tableViewColumnDidResize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tableViewSelectionDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tableViewSelectionIsChanging:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tag", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r( - b"NSObject", - b"terminate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"textCompletionType", {"required": False, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"textContentManager:shouldEnumerateTextElement:options:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"textContentManager:textElementAtLocation:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textContentStorage:textParagraphWithRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"textDidBeginEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textDidEndEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textField:textView:candidates:forSelectedRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textField:textView:candidatesForSelectedRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textField:textView:shouldSelectCandidateAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textLayoutManager:renderingAttributesForLink:atLocation:defaultAttributes:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"textLayoutManager:shouldBreakLineBeforeLocation:hyphenating:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"textLayoutManager:textLayoutFragmentForLocation:inTextElement:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textLayoutOrientationAtLocation:", - {"required": False, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textRangeForSelectionGranularity:enclosingLocation:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"q"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textReplacementType", - {"required": False, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"textShouldBeginEditing:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textShouldEndEditing:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"textStorage", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"textStorage:didProcessEditing:range:changeInLength:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"textStorage:willProcessEditing:range:changeInLength:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"textStorageDidProcessEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textStorageWillProcessEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textView:URLForContentsOfTextAttachment:atIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"textView:candidates:forSelectedRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textView:candidatesForSelectedRange:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textView:clickedOnCell:inRect:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"textView:clickedOnCell:inRect:atIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:clickedOnLink:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:clickedOnLink:atIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:completions:forPartialWordRange:indexOfSelectedItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"textView:didCheckTextInRange:types:options:results:orthography:wordCount:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: {"type": b"@"}, - 8: {"type": sel32or64(b"i", b"q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:doCommandBySelector:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": ":", "sel_of_type": b"v@:@"}}, - }, - ) - r( - b"NSObject", - b"textView:doubleClickedOnCell:inRect:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"textView:doubleClickedOnCell:inRect:atIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:draggedCell:inRect:event:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"textView:draggedCell:inRect:event:atIndex:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": b"@"}, - 6: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:menu:forEvent:atIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:shouldChangeTextInRange:replacementString:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"textView:shouldChangeTextInRanges:replacementStrings:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:shouldChangeTypingAttributes:toAttributes:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:shouldSelectCandidateAtIndex:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"textView:shouldSetSpellingState:range:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textView:shouldUpdateTouchBarItemIdentifiers:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:willChangeSelectionFromCharacterRange:toCharacterRange:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSObject", - b"textView:willChangeSelectionFromCharacterRanges:toCharacterRanges:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:willCheckTextInRange:options:types:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"textView:willDisplayToolTip:forCharacterAtIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:willShowSharingServicePicker:forItems:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textView:writablePasteboardTypesForCell:atIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"textView:writeCell:atIndex:toPasteboard:type:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"textViewDidChangeSelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textViewDidChangeTypingAttributes:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textViewportLayoutController:configureRenderingSurfaceForTextLayoutFragment:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"textViewportLayoutControllerDidLayout:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"textViewportLayoutControllerWillLayout:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenField:displayStringForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:editingStringForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:hasMenuForRepresentedObject:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:menuForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:readFromPasteboard:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:representedObjectForEditingString:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:shouldAddObjects:atIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"tokenField:styleForRepresentedObject:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenField:writeRepresentedObjects:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:completionsForSubstring:indexOfToken:indexOfSelectedItem:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:displayStringForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:editingStringForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:hasMenuForRepresentedObject:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:menuForRepresentedObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:readFromPasteboard:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:representedObjectForEditingString:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:shouldAddObjects:atIndex:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:styleForRepresentedObject:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenFieldCell:writeRepresentedObjects:toPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"toolbarAllowedItemIdentifiers:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"toolbarDefaultItemIdentifiers:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"toolbarDidRemoveItem:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"toolbarSelectableItemIdentifiers:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"toolbarWillAddItem:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"touchBar", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"touchBar:makeItemForIdentifier:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"trackMouse:inRect:ofView:atCharacterIndex:untilMouseUp:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"I", b"Q")}, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"trackMouse:inRect:ofView:untilMouseUp:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"transpose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"transposeWords:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"unbind:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"undoManagerForTextView:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"unmarkText", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"updateDraggingItemsForDrag:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"uppercaseWord:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"validAttributesForMarkedText", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"validModesForFontPanel:", - { - "required": False, - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"validateMenuItem:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"validateToolbarItem:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"validateUserInterfaceItem:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"value", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"valueClassForBinding:", - {"retval": {"type": "#"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"view:stringForToolTip:point:userData:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "i"}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": "^v"}, - }, - }, - ) - r( - b"NSObject", - b"viewForRange:firstRect:actualRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"{_NSRange=QQ}"}, - 3: { - "type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - "type_modifier": b"o", - }, - 4: {"type": b"^{_NSRange=QQ}", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"viewProviderForParentView:location:textContainer:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"viewSizeChanged:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"viewportBoundsForTextViewportLayoutController:", - { - "required": True, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"visibleCharacterRanges", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"wantsPeriodicDraggingUpdates", - {"required": False, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"wantsToDelayTextChangeNotifications", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"wantsToHandleMouseEvents", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"wantsToInterpretAllKeystrokes", - {"required": True, "retval": {"type": "Z"}}, - ) - r(b"NSObject", b"wantsToTrackMouse", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"wantsToTrackMouseForEvent:inRect:ofView:atCharacterIndex:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"willTransitionFromLayout:toLayout:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"window:didDecodeRestorableState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"window:shouldDragDocumentWithEvent:from:withPasteboard:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"window:shouldPopUpDocumentPathMenu:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"window:startCustomAnimationToEnterFullScreenOnScreen:withDuration:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"window:startCustomAnimationToEnterFullScreenWithDuration:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"window:startCustomAnimationToExitFullScreenWithDuration:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"window:willEncodeRestorableState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"window:willPositionSheet:usingRect:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"window:willResizeForVersionBrowserWithMaxPreferredSize:maxAllowedSize:", - { - "required": False, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGSize=dd}"}, - 4: {"type": b"{CGSize=dd}"}, - }, - }, - ) - r( - b"NSObject", - b"window:willUseFullScreenContentSize:", - { - "required": False, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{CGSize=dd}"}}, - }, - ) - r( - b"NSObject", - b"window:willUseFullScreenPresentationOptions:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"windowDidBecomeKey:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidBecomeMain:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidChangeBackingProperties:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidChangeOcclusionState:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidChangeScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidChangeScreenProfile:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidDeminiaturize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidEndLiveResize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidEndSheet:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidEnterFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidEnterVersionBrowser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidExitFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidExitVersionBrowser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidExpose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidFailToEnterFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidFailToExitFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidMiniaturize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidMove:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidResignKey:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidResignMain:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidResize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowDidUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowLevel", - {"required": False, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r( - b"NSObject", - b"windowShouldClose:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowShouldZoom:toFrame:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"windowWillBeginSheet:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillEnterFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillEnterVersionBrowser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillExitFullScreen:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillExitVersionBrowser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillMiniaturize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillMove:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillResize:toSize:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - }, - }, - ) - r( - b"NSObject", - b"windowWillReturnFieldEditor:toObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"windowWillReturnUndoManager:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillStartLiveResize:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"windowWillUseStandardFrame:defaultFrame:", - { - "required": False, - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": b"@"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r( - b"NSObject", - b"writableTypesForPasteboard:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"writeSelectionToPasteboard:types:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"writingOptionsForType:pasteboard:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"yank:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"zIndex", {"required": True, "retval": {"type": b"q"}}) - r(b"NSObjectController", b"automaticallyPreparesContent", {"retval": {"type": "Z"}}) - r(b"NSObjectController", b"canAdd", {"retval": {"type": "Z"}}) - r(b"NSObjectController", b"canRemove", {"retval": {"type": "Z"}}) - r( - b"NSObjectController", - b"fetchWithRequest:merge:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r(b"NSObjectController", b"isEditable", {"retval": {"type": "Z"}}) - r( - b"NSObjectController", - b"setAutomaticallyPreparesContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSObjectController", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSObjectController", - b"setUsesLazyFetching:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSObjectController", b"usesLazyFetching", {"retval": {"type": "Z"}}) - r(b"NSObjectController", b"validateUserInterfaceItem:", {"retval": {"type": "Z"}}) - r(b"NSOpenGLContext", b"CGLContextObj", {"retval": {"type": "^{_CGLContextObj}"}}) - r( - b"NSOpenGLContext", - b"getValues:forParameter:", - {"arguments": {2: {"type": "^i"}}}, - ) - r( - b"NSOpenGLContext", - b"setOffScreen:width:height:rowbytes:", - {"arguments": {2: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"NSOpenGLContext", - b"setValues:forParameter:", - {"arguments": {2: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"NSOpenGLLayer", - b"canDrawInOpenGLContext:pixelFormat:forLayerTime:displayTime:", - { - "retval": {"type": "Z"}, - "arguments": { - 5: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - } - }, - }, - ) - r( - b"NSOpenGLLayer", - b"drawInOpenGLContext:pixelFormat:forLayerTime:displayTime:", - { - "arguments": { - 5: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSOpenGLPixelFormat", - b"CGLPixelFormatObj", - {"retval": {"type": "^{_CGLPixelFormatObject}"}}, - ) - r( - b"NSOpenGLPixelFormat", - b"getValues:forAttribute:forVirtualScreen:", - {"arguments": {2: {"type": "^i", "type_modifier": b"o"}}}, - ) - r( - b"NSOpenGLPixelFormat", - b"initWithAttributes:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "r^I", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSOpenGLView", - b"initWithFrame:pixelFormat:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSOpenGLView", - b"setWantsBestResolutionOpenGLSurface:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSOpenGLView", - b"setWantsExtendedDynamicRangeOpenGLSurface:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSOpenGLView", b"wantsBestResolutionOpenGLSurface", {"retval": {"type": b"Z"}}) - r( - b"NSOpenGLView", - b"wantsExtendedDynamicRangeOpenGLSurface", - {"retval": {"type": b"Z"}}, - ) - r(b"NSOpenPanel", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r( - b"NSOpenPanel", - b"beginForDirectory:file:types:modelessDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 6: {"type": ":", "sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"type": "^v"}, - } - }, - ) - r( - b"NSOpenPanel", - b"beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 7: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 8: {"type": "^v"}, - } - }, - ) - r(b"NSOpenPanel", b"canChooseDirectories", {"retval": {"type": "Z"}}) - r(b"NSOpenPanel", b"canChooseFiles", {"retval": {"type": "Z"}}) - r(b"NSOpenPanel", b"canDownloadUbiquitousContents", {"retval": {"type": b"Z"}}) - r(b"NSOpenPanel", b"canResolveUbiquitousConflicts", {"retval": {"type": b"Z"}}) - r(b"NSOpenPanel", b"isAccessoryViewDisclosed", {"retval": {"type": "Z"}}) - r(b"NSOpenPanel", b"resolvesAliases", {"retval": {"type": "Z"}}) - r(b"NSOpenPanel", b"setAccessoryViewDisclosed:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSOpenPanel", b"setAllowsMultipleSelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSOpenPanel", b"setCanChooseDirectories:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSOpenPanel", b"setCanChooseFiles:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSOpenPanel", - b"setCanDownloadUbiquitousContents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSOpenPanel", - b"setCanResolveUbiquitousConflicts:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSOpenPanel", b"setResolvesAliases:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSOutlineView", b"autoresizesOutlineColumn", {"retval": {"type": "Z"}}) - r(b"NSOutlineView", b"autosaveExpandedItems", {"retval": {"type": "Z"}}) - r( - b"NSOutlineView", - b"collapseItem:collapseChildren:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOutlineView", - b"expandItem:expandChildren:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOutlineView", - b"frameOfOutlineCellAtRow:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSOutlineView", b"indentationMarkerFollowsCell", {"retval": {"type": "Z"}}) - r(b"NSOutlineView", b"isExpandable:", {"retval": {"type": "Z"}}) - r(b"NSOutlineView", b"isItemExpanded:", {"retval": {"type": "Z"}}) - r( - b"NSOutlineView", - b"reloadItem:reloadChildren:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOutlineView", - b"setAutoresizesOutlineColumn:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSOutlineView", b"setAutosaveExpandedItems:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSOutlineView", - b"setIndentationMarkerFollowsCell:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSOutlineView", - b"setStronglyReferencesItems:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSOutlineView", - b"shouldCollapseAutoExpandedItemsForDeposited:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSOutlineView", b"stronglyReferencesItems", {"retval": {"type": "Z"}}) - r( - b"NSPDFImageRep", - b"bounds", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSPDFInfo", b"isFileExtensionHidden", {"retval": {"type": b"Z"}}) - r(b"NSPDFInfo", b"setFileExtensionHidden:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSPDFPanel", - b"beginSheetWithPDFInfo:modalForWindow:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSPICTImageRep", - b"boundingBox", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSPageLayout", - b"beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo:", - { - "arguments": { - 5: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 6: {"type": "^v"}, - } - }, - ) - r(b"NSPanel", b"becomesKeyOnlyIfNeeded", {"retval": {"type": "Z"}}) - r(b"NSPanel", b"isFloatingPanel", {"retval": {"type": "Z"}}) - r(b"NSPanel", b"setBecomesKeyOnlyIfNeeded:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPanel", b"setFloatingPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPanel", b"setWorksWhenModal:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPanel", b"worksWhenModal", {"retval": {"type": "Z"}}) - r( - b"NSParagraphStyle", - b"allowsDefaultTighteningForTruncation", - {"retval": {"type": "Z"}}, - ) - r(b"NSParagraphStyle", b"usesDefaultHyphenation", {"retval": {"type": "Z"}}) - r( - b"NSPasteboard", - b"canReadItemWithDataConformingToTypes:", - {"retval": {"type": "Z"}}, - ) - r(b"NSPasteboard", b"canReadObjectForClasses:options:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"setData:forType:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"setPropertyList:forType:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"setString:forType:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"writeFileContents:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"writeFileWrapper:", {"retval": {"type": "Z"}}) - r(b"NSPasteboard", b"writeObjects:", {"retval": {"type": "Z"}}) - r(b"NSPasteboardItem", b"setData:forType:", {"retval": {"type": "Z"}}) - r(b"NSPasteboardItem", b"setDataProvider:forTypes:", {"retval": {"type": "Z"}}) - r(b"NSPasteboardItem", b"setPropertyList:forType:", {"retval": {"type": "Z"}}) - r(b"NSPasteboardItem", b"setString:forType:", {"retval": {"type": "Z"}}) - r( - b"NSPathCell", - b"mouseEntered:withFrame:inView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPathCell", - b"mouseExited:withFrame:inView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPathCell", - b"pathComponentCellAtPoint:withFrame:inView:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSPathCell", - b"rectOfPathComponentCell:withFrame:inView:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSPathCell", - b"setDoubleAction:", - {"retval": {"type": "v"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSPathControl", b"isEditable", {"retval": {"type": b"Z"}}) - r( - b"NSPathControl", - b"setDoubleAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSPathControl", - b"setDraggingSourceOperationMask:forLocal:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSPathControl", b"setEditable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSPersistentDocument", - b"configurePersistentStoreCoordinatorForURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentDocument", - b"configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentDocument", - b"readFromURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentDocument", - b"revertToContentsOfURL:ofType:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentDocument", - b"writeToURL:ofType:forSaveOperation:originalContentsURL:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"NSPickerTouchBarItem", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"NSPickerTouchBarItem", b"isEnabledAtIndex:", {"retval": {"type": b"Z"}}) - r( - b"NSPickerTouchBarItem", - b"pickerTouchBarItemWithIdentifier:images:selectionMode:target:action:", - {"arguments": {6: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSPickerTouchBarItem", - b"pickerTouchBarItemWithIdentifier:labels:selectionMode:target:action:", - {"arguments": {6: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSPickerTouchBarItem", - b"setAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSPickerTouchBarItem", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSPickerTouchBarItem", - b"setEnabled:atIndex:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSPopUpButton", b"autoenablesItems", {"retval": {"type": "Z"}}) - r( - b"NSPopUpButton", - b"indexOfItemWithTarget:andAction:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSPopUpButton", - b"initWithFrame:pullsDown:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSPopUpButton", b"pullsDown", {"retval": {"type": "Z"}}) - r(b"NSPopUpButton", b"selectItemWithTag:", {"retval": {"type": "Z"}}) - r(b"NSPopUpButton", b"setAutoenablesItems:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopUpButton", b"setPullsDown:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopUpButtonCell", b"altersStateOfSelectedItem", {"retval": {"type": "Z"}}) - r( - b"NSPopUpButtonCell", - b"attachPopUpWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSPopUpButtonCell", b"autoenablesItems", {"retval": {"type": "Z"}}) - r( - b"NSPopUpButtonCell", - b"indexOfItemWithTarget:andAction:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSPopUpButtonCell", - b"initTextCell:pullsDown:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSPopUpButtonCell", - b"performClickWithFrame:inView:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSPopUpButtonCell", b"pullsDown", {"retval": {"type": "Z"}}) - r(b"NSPopUpButtonCell", b"selectItemWithTag:", {"retval": {"type": "Z"}}) - r( - b"NSPopUpButtonCell", - b"setAltersStateOfSelectedItem:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPopUpButtonCell", b"setAutoenablesItems:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopUpButtonCell", b"setPullsDown:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopUpButtonCell", b"setUsesItemFromMenu:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopUpButtonCell", b"usesItemFromMenu", {"retval": {"type": "Z"}}) - r(b"NSPopover", b"animates", {"retval": {"type": b"Z"}}) - r(b"NSPopover", b"isDetached", {"retval": {"type": "Z"}}) - r(b"NSPopover", b"isShown", {"retval": {"type": b"Z"}}) - r(b"NSPopover", b"setAnimates:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSPopover", b"setDetached:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPopover", b"setShown:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPopoverTouchBarItem", - b"setShowsCloseButton:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPopoverTouchBarItem", b"showsCloseButton", {"retval": {"type": "Z"}}) - r(b"NSPrintInfo", b"PMPageFormat", {"retval": {"type": "^{OpaquePMPageFormat=}"}}) - r( - b"NSPrintInfo", - b"PMPrintSession", - {"retval": {"type": "^{OpaquePMPrintSession=}"}}, - ) - r( - b"NSPrintInfo", - b"PMPrintSettings", - {"retval": {"type": "^{OpaquePMPrintSettings=}"}}, - ) - r( - b"NSPrintInfo", - b"imageablePageBounds", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSPrintInfo", b"isHorizontallyCentered", {"retval": {"type": "Z"}}) - r(b"NSPrintInfo", b"isSelectionOnly", {"retval": {"type": "Z"}}) - r(b"NSPrintInfo", b"isVerticallyCentered", {"retval": {"type": "Z"}}) - r( - b"NSPrintInfo", - b"paperSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSPrintInfo", b"setHorizontallyCentered:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPrintInfo", - b"setPaperSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSPrintInfo", b"setSelectionOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPrintInfo", b"setVerticallyCentered:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPrintInfo", - b"sizeForPaperName:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSPrintOperation", - b"EPSOperationWithView:insideRect:toData:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPrintOperation", - b"EPSOperationWithView:insideRect:toData:printInfo:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPrintOperation", - b"EPSOperationWithView:insideRect:toPath:printInfo:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPrintOperation", - b"PDFOperationWithView:insideRect:toData:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPrintOperation", - b"PDFOperationWithView:insideRect:toData:printInfo:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSPrintOperation", - b"PDFOperationWithView:insideRect:toPath:printInfo:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSPrintOperation", b"canSpawnSeparateThread", {"retval": {"type": "Z"}}) - r(b"NSPrintOperation", b"deliverResult", {"retval": {"type": "Z"}}) - r(b"NSPrintOperation", b"isCopyingOperation", {"retval": {"type": "Z"}}) - r( - b"NSPrintOperation", - b"pageRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r(b"NSPrintOperation", b"runOperation", {"retval": {"type": "Z"}}) - r( - b"NSPrintOperation", - b"runOperationModalForWindow:delegate:didRunSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": b"v@:@Z^v"}, 5: {"type": "^v"}}}, - ) - r( - b"NSPrintOperation", - b"setCanSpawnSeparateThread:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPrintOperation", b"setShowPanels:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPrintOperation", b"setShowsPrintPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPrintOperation", b"setShowsProgressPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSPrintOperation", b"showPanels", {"retval": {"type": "Z"}}) - r(b"NSPrintOperation", b"showsPrintPanel", {"retval": {"type": "Z"}}) - r(b"NSPrintOperation", b"showsProgressPanel", {"retval": {"type": "Z"}}) - r( - b"NSPrintPanel", - b"beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo:", - { - "arguments": { - 5: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 6: {"type": "^v"}, - } - }, - ) - r(b"NSPrinter", b"acceptsBinary", {"retval": {"type": "Z"}}) - r(b"NSPrinter", b"booleanForKey:inTable:", {"retval": {"type": "Z"}}) - r( - b"NSPrinter", - b"imageRectForPaper:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSPrinter", b"isColor", {"retval": {"type": "Z"}}) - r(b"NSPrinter", b"isFontAvailable:", {"retval": {"type": "Z"}}) - r(b"NSPrinter", b"isKey:inTable:", {"retval": {"type": "Z"}}) - r(b"NSPrinter", b"isOutputStackInReverseOrder", {"retval": {"type": "Z"}}) - r( - b"NSPrinter", - b"pageSizeForPaper:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSPrinter", - b"printerWithName:domain:includeUnavailable:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSPrinter", - b"rectForKey:inTable:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSPrinter", - b"sizeForKey:inTable:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSProgressIndicator", b"isBezeled", {"retval": {"type": "Z"}}) - r(b"NSProgressIndicator", b"isDisplayedWhenStopped", {"retval": {"type": "Z"}}) - r(b"NSProgressIndicator", b"isIndeterminate", {"retval": {"type": "Z"}}) - r(b"NSProgressIndicator", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSProgressIndicator", - b"setDisplayedWhenStopped:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSProgressIndicator", b"setIndeterminate:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSProgressIndicator", - b"setUsesThreadedAnimation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSProgressIndicator", b"usesThreadedAnimation", {"retval": {"type": "Z"}}) - r(b"NSQuickDrawView", b"qdPort", {"retval": {"type": "^v"}}) - r(b"NSResponder", b"acceptsFirstResponder", {"retval": {"type": "Z"}}) - r(b"NSResponder", b"becomeFirstResponder", {"retval": {"type": "Z"}}) - r( - b"NSResponder", - b"doCommandBySelector:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSResponder", b"noResponderFor:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSResponder", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) - r(b"NSResponder", b"performMnemonic:", {"retval": {"type": "Z"}}) - r(b"NSResponder", b"presentError:", {"retval": {"type": "Z"}}) - r( - b"NSResponder", - b"presentError:modalForWindow:delegate:didPresentSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:Z^v"}, 6: {"type": "^v"}}}, - ) - r(b"NSResponder", b"resignFirstResponder", {"retval": {"type": "Z"}}) - r(b"NSResponder", b"shouldBeTreatedAsInkEvent:", {"retval": {"type": "Z"}}) - r( - b"NSResponder", - b"supplementalTargetForAction:sender:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSResponder", - b"tryToPerform:with:", - {"retval": {"type": "Z"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSResponder", - b"validateProposedFirstResponder:forEvent:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSResponder", b"wantsForwardedScrollEventsForAxis:", {"retval": {"type": b"Z"}}) - r( - b"NSResponder", - b"wantsScrollEventsForSwipeTrackingOnAxis:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSRuleEditor", b"canRemoveAllRows", {"retval": {"type": "Z"}}) - r( - b"NSRuleEditor", - b"insertRowAtIndex:withType:asSubrowOfRow:animate:", - {"arguments": {5: {"type": "Z"}}}, - ) - r(b"NSRuleEditor", b"isEditable", {"retval": {"type": "Z"}}) - r( - b"NSRuleEditor", - b"removeRowsAtIndexes:includeSubrows:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSRuleEditor", - b"selectRowIndexes:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSRuleEditor", b"setCanRemoveAllRows:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSRuleEditor", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSRulerMarker", - b"drawRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSRulerMarker", - b"imageOrigin", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSRulerMarker", - b"imageRectInRuler", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSRulerMarker", - b"initWithRulerView:markerLocation:image:imageOrigin:", - {"arguments": {5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSRulerMarker", b"isDragging", {"retval": {"type": "Z"}}) - r(b"NSRulerMarker", b"isMovable", {"retval": {"type": "Z"}}) - r(b"NSRulerMarker", b"isRemovable", {"retval": {"type": "Z"}}) - r( - b"NSRulerMarker", - b"setImageOrigin:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSRulerMarker", b"setMovable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSRulerMarker", b"setRemovable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSRulerMarker", - b"trackMouse:adding:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSRulerView", - b"drawHashMarksAndLabelsInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSRulerView", - b"drawMarkersInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSRulerView", b"isFlipped", {"retval": {"type": "Z"}}) - r(b"NSRulerView", b"trackMarker:withMouseEvent:", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"activateWithOptions:", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"forceTerminate", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"hide", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"isActive", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"isFinishedLaunching", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"isTerminated", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"ownsMenuBar", {"retval": {"type": b"Z"}}) - r(b"NSRunningApplication", b"terminate", {"retval": {"type": "Z"}}) - r(b"NSRunningApplication", b"unhide", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"allowsOtherFileTypes", {"retval": {"type": "Z"}}) - r( - b"NSSavePanel", - b"beginForDirectory:file:types:modelessDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 6: {"type": ":", "sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"type": "^v"}, - } - }, - ) - r( - b"NSSavePanel", - b"beginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 6: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"type": "^v"}, - } - }, - ) - r( - b"NSSavePanel", - b"beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "arguments": { - 7: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 8: {"type": "^v"}, - } - }, - ) - r( - b"NSSavePanel", - b"beginSheetModalForWindow:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSSavePanel", - b"beginWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r(b"NSSavePanel", b"canCreateDirectories", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"canSelectHiddenExtension", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"isExpanded", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"isExtensionHidden", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"setAllowsOtherFileTypes:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSavePanel", b"setCanCreateDirectories:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSavePanel", - b"setCanSelectHiddenExtension:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSavePanel", b"setExtensionHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSavePanel", b"setShowsHiddenFiles:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSavePanel", b"setShowsTagField:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSSavePanel", - b"setTreatsFilePackagesAsDirectories:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSavePanel", b"showsHiddenFiles", {"retval": {"type": "Z"}}) - r(b"NSSavePanel", b"showsTagField", {"retval": {"type": b"Z"}}) - r(b"NSSavePanel", b"treatsFilePackagesAsDirectories", {"retval": {"type": "Z"}}) - r(b"NSScreen", b"canRepresentDisplayGamut:", {"retval": {"type": "Z"}}) - r( - b"NSScreen", - b"frame", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSScreen", b"screensHaveSeparateSpaces", {"retval": {"type": b"Z"}}) - r( - b"NSScreen", - b"supportedWindowDepths", - {"retval": {"c_array_delimited_by_null": True}}, - ) - r( - b"NSScreen", - b"visibleFrame", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSScrollView", b"allowsMagnification", {"retval": {"type": b"Z"}}) - r(b"NSScrollView", b"autohidesScrollers", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"automaticallyAdjustsContentInsets", {"retval": {"type": b"Z"}}) - r( - b"NSScrollView", - b"contentSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSScrollView", - b"contentSizeForFrameSize:hasHorizontalScroller:hasVerticalScroller:borderType:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 3: {"type": "Z"}, - 4: {"type": "Z"}, - }, - }, - ) - r( - b"NSScrollView", - b"documentVisibleRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSScrollView", b"drawsBackground", {"retval": {"type": "Z"}}) - r( - b"NSScrollView", - b"frameSizeForContentSize:hasHorizontalScroller:hasVerticalScroller:borderType:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 3: {"type": "Z"}, - 4: {"type": "Z"}, - }, - }, - ) - r(b"NSScrollView", b"hasHorizontalRuler", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"hasHorizontalScroller", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"hasVerticalRuler", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"hasVerticalScroller", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"rulersVisible", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"scrollsDynamically", {"retval": {"type": "Z"}}) - r(b"NSScrollView", b"setAllowsMagnification:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSScrollView", b"setAutohidesScrollers:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSScrollView", - b"setAutomaticallyAdjustsContentInsets:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSScrollView", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setHasHorizontalRuler:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setHasHorizontalScroller:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setHasVerticalRuler:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setHasVerticalScroller:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setRulersVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrollView", b"setScrollsDynamically:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSScrollView", - b"setUsesPredominantAxisScrolling:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSScrollView", b"usesPredominantAxisScrolling", {"retval": {"type": b"Z"}}) - r(b"NSScroller", b"drawArrow:highlight:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSScroller", - b"drawKnobSlotInRect:highlight:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSScroller", b"highlight:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScroller", b"isCompatibleWithOverlayScrollers", {"retval": {"type": b"Z"}}) - r( - b"NSScroller", - b"rectForPart:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSScroller", - b"testPart:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSScrubber", b"floatsSelectionViews", {"retval": {"type": "Z"}}) - r(b"NSScrubber", b"isContinuous", {"retval": {"type": "Z"}}) - r( - b"NSScrubber", - b"performSequentialBatchUpdates:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSScrubber", b"setContinuous:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrubber", b"setFloatsSelectionViews:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSScrubber", - b"setShowsAdditionalContentIndicators:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSScrubber", b"setShowsArrowButtons:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrubber", b"showsAdditionalContentIndicators", {"retval": {"type": "Z"}}) - r(b"NSScrubber", b"showsArrowButtons", {"retval": {"type": "Z"}}) - r(b"NSScrubberArrangedView", b"isHighlighted", {"retval": {"type": "Z"}}) - r(b"NSScrubberArrangedView", b"isSelected", {"retval": {"type": "Z"}}) - r(b"NSScrubberArrangedView", b"setHighlighted:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSScrubberArrangedView", b"setSelected:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSScrubberLayout", - b"automaticallyMirrorsInRightToLeftLayout", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScrubberLayout", - b"shouldInvalidateLayoutForChangeFromVisibleRect:toVisibleRect:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScrubberLayout", - b"shouldInvalidateLayoutForHighlightChange", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScrubberLayout", - b"shouldInvalidateLayoutForSelectionChange", - {"retval": {"type": "Z"}}, - ) - r(b"NSSearchField", b"centersPlaceholder", {"retval": {"type": "Z"}}) - r( - b"NSSearchField", - b"rectForCancelButtonWhenCentered:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSearchField", - b"rectForSearchButtonWhenCentered:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSearchField", - b"rectForSearchTextWhenCentered:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSearchField", b"sendsSearchStringImmediately", {"retval": {"type": b"Z"}}) - r(b"NSSearchField", b"sendsWholeSearchString", {"retval": {"type": b"Z"}}) - r(b"NSSearchField", b"setCentersPlaceholder:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSearchField", - b"setSendsSearchStringImmediately:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSSearchField", - b"setSendsWholeSearchString:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSSearchFieldCell", - b"cancelButtonRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSSearchFieldCell", - b"searchButtonRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSSearchFieldCell", - b"searchTextRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSSearchFieldCell", b"sendsSearchStringImmediately", {"retval": {"type": "Z"}}) - r(b"NSSearchFieldCell", b"sendsWholeSearchString", {"retval": {"type": "Z"}}) - r( - b"NSSearchFieldCell", - b"setSendsSearchStringImmediately:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSearchFieldCell", - b"setSendsWholeSearchString:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSearchToolbarItem", - b"resignsFirstResponderWithCancel", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSearchToolbarItem", - b"setResignsFirstResponderWithCancel:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSSecureTextFieldCell", b"echosBullets", {"retval": {"type": "Z"}}) - r(b"NSSecureTextFieldCell", b"setEchosBullets:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSegmentedCell", - b"drawSegment:inFrame:withView:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSSegmentedCell", b"isEnabledForSegment:", {"retval": {"type": "Z"}}) - r(b"NSSegmentedCell", b"isSelectedForSegment:", {"retval": {"type": "Z"}}) - r(b"NSSegmentedCell", b"selectSegmentWithTag:", {"retval": {"type": "Z"}}) - r(b"NSSegmentedCell", b"setEnabled:forSegment:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSegmentedCell", b"setSelected:forSegment:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSegmentedControl", b"isEnabledForSegment:", {"retval": {"type": "Z"}}) - r(b"NSSegmentedControl", b"isSelectedForSegment:", {"retval": {"type": "Z"}}) - r(b"NSSegmentedControl", b"isSpringLoaded", {"retval": {"type": b"Z"}}) - r( - b"NSSegmentedControl", - b"segmentedControlWithImages:trackingMode:target:action:", - {"arguments": {5: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSSegmentedControl", - b"segmentedControlWithLabels:trackingMode:target:action:", - {"arguments": {5: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSSegmentedControl", b"selectSegmentWithTag:", {"retval": {"type": "Z"}}) - r( - b"NSSegmentedControl", - b"setEnabled:forSegment:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSegmentedControl", - b"setSelected:forSegment:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSegmentedControl", - b"setShowsMenuIndicator:forSegment:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSegmentedControl", b"setSpringLoaded:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSSegmentedControl", - b"showsMenuIndicatorForSegment:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSSet", - b"enumerateIndexPathsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSShadow", - b"setShadowOffset:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSShadow", - b"shadowOffset", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSSharingService", b"canPerformWithItems:", {"retval": {"type": b"Z"}}) - r( - b"NSSharingService", - b"initWithTitle:image:alternateImage:handler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSSharingServicePickerTouchBarItem", b"isEnabled", {"retval": {"type": "Z"}}) - r( - b"NSSharingServicePickerTouchBarItem", - b"setEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"growGlyphCaches:fillGlyphInfo:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"layoutControlGlyphForLineFragment:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"layoutGlyphsInHorizontalLineFragment:baseline:", - {"arguments": {2: {"type_modifier": b"N"}, 3: {"type_modifier": b"N"}}}, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"layoutGlyphsInLayoutManager:startingAtGlyphIndex:maxNumberOfLineFragments:nextGlyphIndex:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"typesetterLaidOneGlyph:", - {"arguments": {2: {"type_modifier": b"N"}}}, - ) - r( - b"NSSimpleHorizontalTypesetter", - b"willSetLineFragmentRect:forGlyphRange:usedRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - } - }, - ) - r(b"NSSlider", b"acceptsFirstMouse:", {"retval": {"type": "Z"}}) - r(b"NSSlider", b"allowsTickMarkValuesOnly", {"retval": {"type": "Z"}}) - r( - b"NSSlider", - b"indexOfTickMarkAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSSlider", b"isVertical", {"retval": {"type": "Z"}}) - r( - b"NSSlider", - b"rectOfTickMarkAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSSlider", b"setAllowsTickMarkValuesOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSlider", b"setVertical:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSlider", - b"sliderWithValue:minValue:maxValue:target:action:", - {"arguments": {6: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSSliderAccessory", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSSliderAccessory", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSliderAccessoryBehavior", - b"behaviorWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSSliderCell", b"allowsTickMarkValuesOnly", {"retval": {"type": "Z"}}) - r(b"NSSliderCell", b"barRectFlipped:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSSliderCell", - b"drawBarInside:flipped:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r( - b"NSSliderCell", - b"drawKnob:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSSliderCell", - b"indexOfTickMarkAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSSliderCell", b"isVertical", {"retval": {"type": "Z"}}) - r( - b"NSSliderCell", - b"knobRectFlipped:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": "Z"}}, - }, - ) - r(b"NSSliderCell", b"prefersTrackingUntilMouseUp", {"retval": {"type": "Z"}}) - r( - b"NSSliderCell", - b"rectOfTickMarkAtIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSSliderCell", - b"setAllowsTickMarkValuesOnly:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSliderCell", b"setVertical:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSliderCell", - b"trackRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSSound", - b"canInitWithPasteboard:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "@"}}}, - ) - r( - b"NSSound", - b"initWithContentsOfFile:byReference:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSSound", - b"initWithContentsOfURL:byReference:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSSound", b"isPlaying", {"retval": {"type": "Z"}}) - r(b"NSSound", b"loops", {"retval": {"type": "Z"}}) - r(b"NSSound", b"name", {"retval": {"type": "@"}}) - r(b"NSSound", b"pause", {"retval": {"type": "Z"}}) - r(b"NSSound", b"play", {"retval": {"type": "Z"}}) - r(b"NSSound", b"resume", {"retval": {"type": "Z"}}) - r(b"NSSound", b"setLoops:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSound", b"setName:", {"retval": {"type": "Z"}}) - r(b"NSSound", b"stop", {"retval": {"type": "Z"}}) - r(b"NSSpeechRecognizer", b"blocksOtherRecognizers", {"retval": {"type": "Z"}}) - r(b"NSSpeechRecognizer", b"listensInForegroundOnly", {"retval": {"type": "Z"}}) - r( - b"NSSpeechRecognizer", - b"setBlocksOtherRecognizers:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSSpeechRecognizer", - b"setListensInForegroundOnly:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSpeechSynthesizer", b"isAnyApplicationSpeaking", {"retval": {"type": b"Z"}}) - r(b"NSSpeechSynthesizer", b"isSpeaking", {"retval": {"type": "Z"}}) - r( - b"NSSpeechSynthesizer", - b"objectForProperty:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSSpeechSynthesizer", - b"setObject:forProperty:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSSpeechSynthesizer", - b"setUsesFeedbackWindow:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSpeechSynthesizer", b"setVoice:", {"retval": {"type": "Z"}}) - r(b"NSSpeechSynthesizer", b"startSpeakingString:", {"retval": {"type": "Z"}}) - r(b"NSSpeechSynthesizer", b"startSpeakingString:toURL:", {"retval": {"type": "Z"}}) - r(b"NSSpeechSynthesizer", b"usesFeedbackWindow", {"retval": {"type": "Z"}}) - r(b"NSSpeechSynthesizer", b"voice", {"retval": {"type": "@"}}) - r(b"NSSpellChecker", b"automaticallyIdentifiesLanguages", {"retval": {"type": "Z"}}) - r( - b"NSSpellChecker", - b"checkGrammarOfString:startingAt:language:wrap:inSpellDocumentWithTag:details:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {5: {"type": "Z"}, 7: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSSpellChecker", - b"checkSpellingOfString:startingAt:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSSpellChecker", - b"checkSpellingOfString:startingAt:language:wrap:inSpellDocumentWithTag:wordCount:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {5: {"type": "Z"}, 7: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSSpellChecker", - b"checkString:range:types:options:inSpellDocumentWithTag:orthography:wordCount:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 7: {"type_modifier": b"o"}, - 8: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSSpellChecker", - b"completionsForPartialWordRange:inString:language:inSpellDocumentWithTag:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSSpellChecker", - b"deletesAutospaceBetweenString:andString:language:", - {"retval": {"type": "Z"}}, - ) - r(b"NSSpellChecker", b"hasLearnedWord:", {"retval": {"type": "Z"}}) - r(b"NSSpellChecker", b"isAutomaticCapitalizationEnabled", {"retval": {"type": "Z"}}) - r( - b"NSSpellChecker", - b"isAutomaticDashSubstitutionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSpellChecker", - b"isAutomaticPeriodSubstitutionEnabled", - {"retval": {"type": "Z"}}, - ) - r( - b"NSSpellChecker", - b"isAutomaticQuoteSubstitutionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSpellChecker", - b"isAutomaticSpellingCorrectionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSpellChecker", - b"isAutomaticTextCompletionEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSpellChecker", - b"isAutomaticTextReplacementEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSpellChecker", - b"preventsAutocorrectionBeforeString:language:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSSpellChecker", - b"requestCandidatesForSelectedRange:inString:types:options:inSpellDocumentWithTag:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSSpellChecker", - b"requestCheckingOfString:range:types:options:inSpellDocumentWithTag:completionHandler:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - } - }, - } - }, - ) - r( - b"NSSpellChecker", - b"setAutomaticallyIdentifiesLanguages:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSSpellChecker", b"setLanguage:", {"retval": {"type": "Z"}}) - r(b"NSSpellChecker", b"sharedSpellCheckerExists", {"retval": {"type": b"Z"}}) - r( - b"NSSpellChecker", - b"showCorrectionIndicatorOfType:primaryString:alternativeStrings:forStringInRect:view:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSSpellChecker", b"unlearnWord:", {"arguments": {2: {"type": "@"}}}) - r(b"NSSplitView", b"arrangesAllSubviews", {"retval": {"type": "Z"}}) - r( - b"NSSplitView", - b"drawDividerInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSSplitView", b"isPaneSplitter", {"retval": {"type": "Z"}}) - r(b"NSSplitView", b"isSpringLoaded", {"retval": {"type": "Z"}}) - r(b"NSSplitView", b"isSubviewCollapsed:", {"retval": {"type": "Z"}}) - r(b"NSSplitView", b"isVertical", {"retval": {"type": "Z"}}) - r(b"NSSplitView", b"setArrangesAllSubviews:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSplitView", b"setIsPaneSplitter:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSSplitView", b"setVertical:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSSplitViewController", - b"splitView:canCollapseSubview:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSplitViewController", - b"splitView:shouldCollapseSubview:forDoubleClickOnDividerAtIndex:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSplitViewController", - b"splitView:shouldHideDividerAtIndex:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSSplitViewController", - b"validateUserInterfaceItem:", - {"retval": {"type": "Z"}}, - ) - r(b"NSSplitViewItem", b"allowsFullHeightLayout", {"retval": {"type": b"Z"}}) - r(b"NSSplitViewItem", b"canCollapse", {"retval": {"type": b"Z"}}) - r(b"NSSplitViewItem", b"isCollapsed", {"retval": {"type": b"Z"}}) - r(b"NSSplitViewItem", b"isSpringLoaded", {"retval": {"type": "Z"}}) - r( - b"NSSplitViewItem", - b"setAllowsFullHeightLayout:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSSplitViewItem", b"setCanCollapse:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSSplitViewItem", b"setCollapsed:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSSplitViewItem", b"setSpringLoaded:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStackView", b"detachesHiddenViews", {"retval": {"type": "Z"}}) - r(b"NSStackView", b"hasEqualSpacing", {"retval": {"type": b"Z"}}) - r(b"NSStackView", b"setDetachesHiddenViews:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStackView", b"setHasEqualSpacing:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSStatusBar", b"isVertical", {"retval": {"type": "Z"}}) - r(b"NSStatusBarButton", b"appearsDisabled", {"retval": {"type": b"Z"}}) - r(b"NSStatusBarButton", b"setAppearsDisabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSStatusItem", - b"drawStatusBarBackgroundInRect:withHighlight:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSStatusItem", b"highlightMode", {"retval": {"type": "Z"}}) - r(b"NSStatusItem", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSStatusItem", b"isVisible", {"retval": {"type": "Z"}}) - r(b"NSStatusItem", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r( - b"NSStatusItem", - b"setDoubleAction:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSStatusItem", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStatusItem", b"setHighlightMode:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStatusItem", b"setVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStepper", b"autorepeat", {"retval": {"type": "Z"}}) - r(b"NSStepper", b"setAutorepeat:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStepper", b"setValueWraps:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStepper", b"valueWraps", {"retval": {"type": "Z"}}) - r(b"NSStepperCell", b"autorepeat", {"retval": {"type": "Z"}}) - r(b"NSStepperCell", b"setAutorepeat:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStepperCell", b"setValueWraps:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSStepperCell", b"valueWraps", {"retval": {"type": "Z"}}) - r( - b"NSStepperTouchBarItem", - b"stepperTouchBarItemWithIdentifier:drawingHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 2: {"type": b"d"}, - }, - } - } - } - }, - ) - r( - b"NSStoryboard", - b"instantiateControllerWithIdentifier:creator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSStoryboard", - b"instantiateInitialControllerWithCreator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSStoryboardSegue", - b"initWithIdentifier:source:destination:performHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSStoryboardSegue", - b"performHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSStoryboardSegue", - b"segueWithIdentifier:source:destination:performHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSStoryboardSegue", - b"setPerformHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSString", - b"boundingRectWithSize:options:attributes:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSString", - b"drawAtPoint:withAttributes:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSString", - b"drawInRect:withAttributes:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSString", - b"drawWithRect:options:attributes:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSString", - b"sizeWithAttributes:", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSTabView", b"allowsTruncatedLabels", {"retval": {"type": "Z"}}) - r( - b"NSTabView", - b"contentRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSTabView", b"drawsBackground", {"retval": {"type": "Z"}}) - r( - b"NSTabView", - b"minimumSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSTabView", b"setAllowsTruncatedLabels:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTabView", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTabView", - b"tabViewItemAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSTabViewController", - b"canPropagateSelectedChildViewControllerTitle", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTabViewController", - b"setCanPropagateSelectedChildViewControllerTitle:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTabViewController", - b"tabView:shouldSelectTabViewItem:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTabViewController", - b"toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NSTabViewItem", - b"drawLabel:inRect:", - { - "arguments": { - 2: {"type": "Z"}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSTabViewItem", - b"sizeOfLabel:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": "Z"}}, - }, - ) - r(b"NSTableColumn", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSTableColumn", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSTableColumn", b"isResizable", {"retval": {"type": "Z"}}) - r(b"NSTableColumn", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableColumn", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableColumn", b"setResizable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTableHeaderCell", - b"drawSortIndicatorWithFrame:inView:ascending:priority:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "Z"}, - } - }, - ) - r( - b"NSTableHeaderCell", - b"sortIndicatorRectForBounds:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSTableHeaderView", - b"columnAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSTableHeaderView", - b"headerRectOfColumn:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSTableRowView", b"isEmphasized", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isFloating", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isGroupRowStyle", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isNextRowSelected", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isPreviousRowSelected", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isSelected", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"isTargetForDropOperation", {"retval": {"type": b"Z"}}) - r(b"NSTableRowView", b"setEmphasized:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTableRowView", b"setFloating:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTableRowView", b"setGroupRowStyle:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTableRowView", b"setNextRowSelected:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTableRowView", b"setPreviousRowSelected:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTableRowView", b"setSelected:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSTableRowView", - b"setTargetForDropOperation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTableView", b"allowsColumnReordering", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"allowsColumnResizing", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"allowsColumnSelection", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"allowsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"allowsTypeSelect", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"autoresizesAllColumnsToFit", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"autosaveTableColumns", {"retval": {"type": "Z"}}) - r( - b"NSTableView", - b"canDragRowsWithIndexes:atPoint:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSTableView", - b"columnAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSTableView", - b"columnIndexesInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTableView", - b"columnsInRect:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSTableView", - b"dragImageForRows:event:dragImageOffset:", - {"arguments": {4: {"type_modifier": b"N"}}}, - ) - r( - b"NSTableView", - b"dragImageForRowsWithIndexes:tableColumns:event:offset:", - {"arguments": {5: {"type_modifier": b"N"}}}, - ) - r( - b"NSTableView", - b"drawBackgroundInClipRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTableView", - b"drawGridInClipRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTableView", - b"drawRow:clipRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSTableView", b"drawsGrid", {"retval": {"type": "Z"}}) - r( - b"NSTableView", - b"editColumn:row:withEvent:select:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"NSTableView", - b"enumerateAvailableRowViewsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r(b"NSTableView", b"floatsGroupRows", {"retval": {"type": b"Z"}}) - r( - b"NSTableView", - b"frameOfCellAtColumn:row:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSTableView", - b"highlightSelectionInClipRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTableView", - b"intercellSpacing", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSTableView", b"isColumnSelected:", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"isRowSelected:", {"retval": {"type": "Z"}}) - r( - b"NSTableView", - b"rectOfColumn:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSTableView", - b"rectOfRow:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSTableView", b"rowActionsVisible", {"retval": {"type": "Z"}}) - r( - b"NSTableView", - b"rowAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSTableView", - b"rowViewAtRow:makeIfNecessary:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSTableView", - b"rowsInRect:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSTableView", - b"selectColumn:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSTableView", - b"selectColumnIndexes:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSTableView", - b"selectRow:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSTableView", - b"selectRowIndexes:byExtendingSelection:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSTableView", b"setAllowsColumnReordering:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setAllowsColumnResizing:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setAllowsColumnSelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setAllowsEmptySelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setAllowsMultipleSelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setAllowsTypeSelect:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTableView", - b"setAutoresizesAllColumnsToFit:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTableView", b"setAutosaveTableColumns:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setDoubleAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r( - b"NSTableView", - b"setDraggingSourceOperationMask:forLocal:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSTableView", b"setDrawsGrid:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setFloatsGroupRows:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSTableView", - b"setIntercellSpacing:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSTableView", b"setRowActionsVisible:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTableView", - b"setUsesAlternatingRowBackgroundColors:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTableView", b"setUsesAutomaticRowHeights:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTableView", b"setUsesStaticContents:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSTableView", - b"setVerticalMotionCanBeginDrag:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTableView", b"shouldFocusCell:atColumn:row:", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"textShouldBeginEditing:", {"retval": {"type": b"Z"}}) - r(b"NSTableView", b"textShouldEndEditing:", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"usesAlternatingRowBackgroundColors", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"usesAutomaticRowHeights", {"retval": {"type": "Z"}}) - r(b"NSTableView", b"usesStaticContents", {"retval": {"type": b"Z"}}) - r(b"NSTableView", b"verticalMotionCanBeginDrag", {"retval": {"type": "Z"}}) - r( - b"NSTableView", - b"viewAtColumn:row:makeIfNecessary:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NSTableViewDiffableDataSource", - b"applySnapshot:animatingDifferences:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSTableViewDiffableDataSource", - b"applySnapshot:animatingDifferences:completion:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"NSTableViewDiffableDataSource", - b"initWithTableView:cellProvider:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSTableViewDiffableDataSource", - b"rowViewProvider", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"NSTableViewDiffableDataSource", - b"setRowViewProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSTableViewDiffableDataSource", - b"setSectionHeaderViewProvider:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSTableViewRowAction", - b"rowActionWithStyle:title:handler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - }, - } - } - } - }, - ) - r( - b"NSText", - b"RTFDFromRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"RTFFromRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSText", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSText", b"importsGraphics", {"retval": {"type": "Z"}}) - r(b"NSText", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSText", b"isFieldEditor", {"retval": {"type": "Z"}}) - r(b"NSText", b"isHorizontallyResizable", {"retval": {"type": "Z"}}) - r(b"NSText", b"isRichText", {"retval": {"type": "Z"}}) - r(b"NSText", b"isRulerVisible", {"retval": {"type": "Z"}}) - r(b"NSText", b"isSelectable", {"retval": {"type": "Z"}}) - r(b"NSText", b"isVerticallyResizable", {"retval": {"type": "Z"}}) - r( - b"NSText", - b"maxSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSText", - b"minSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSText", b"readRTFDFromFile:", {"retval": {"type": "Z"}}) - r( - b"NSText", - b"replaceCharactersInRange:withRTF:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"replaceCharactersInRange:withRTFD:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"replaceCharactersInRange:withString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"scrollRangeToVisible:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"selectedRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r(b"NSText", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"setFieldEditor:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSText", - b"setFont:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSText", b"setHorizontallyResizable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"setImportsGraphics:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSText", - b"setMaxSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSText", - b"setMinSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSText", b"setRichText:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"setSelectable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSText", - b"setSelectedRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSText", - b"setTextColor:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSText", b"setUsesFontPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"setVerticallyResizable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSText", b"usesFontPanel", {"retval": {"type": "Z"}}) - r( - b"NSText", - b"writeRTFDToFile:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r(b"NSTextAttachment", b"allowsTextAttachmentView", {"retval": {"type": b"Z"}}) - r( - b"NSTextAttachment", - b"setAllowsTextAttachmentView:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTextAttachment", b"usesTextAttachmentView", {"retval": {"type": b"Z"}}) - r( - b"NSTextAttachmentCell", - b"setWantsToTrackMouse:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextAttachmentCell", b"wantsToTrackMouse", {"retval": {"type": "Z"}}) - r( - b"NSTextAttachmentViewProvider", - b"setTracksTextAttachmentViewBounds:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextAttachmentViewProvider", - b"tracksTextAttachmentViewBounds", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextBlock", - b"boundsRectForContentRect:inRect:textContainer:characterRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSTextBlock", - b"drawBackgroundWithFrame:inView:characterRange:layoutManager:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTextBlock", - b"rectForLayoutAtPoint:inRect:textContainer:characterRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSTextCheckingController", - b"menuAtIndex:clickedOnSelection:effectiveRange:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSTextContainer", - b"containerSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSTextContainer", - b"containsPoint:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r(b"NSTextContainer", b"heightTracksTextView", {"retval": {"type": "Z"}}) - r( - b"NSTextContainer", - b"initWithContainerSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSTextContainer", - b"isSimpleRectangularTextContainer", - {"retval": {"type": "Z"}}, - ) - r( - b"NSTextContainer", - b"lineFragmentRectForProposedRect:atIndex:writingDirection:remainingRect", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSTextContainer", - b"lineFragmentRectForProposedRect:atIndex:writingDirection:remainingRect:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSTextContainer", - b"lineFragmentRectForProposedRect:sweepDirection:movementDirection:remainingRect:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSTextContainer", - b"setContainerSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSTextContainer", - b"setHeightTracksTextView:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextContainer", b"setWidthTracksTextView:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextContainer", b"widthTracksTextView", {"retval": {"type": "Z"}}) - r( - b"NSTextContentManager", - b"automaticallySynchronizesTextLayoutManagers", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextContentManager", - b"automaticallySynchronizesToBackingStore", - {"retval": {"type": b"Z"}}, - ) - r(b"NSTextContentManager", b"hasEditingTransaction", {"retval": {"type": b"Z"}}) - r( - b"NSTextContentManager", - b"performEditingTransactionUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSTextContentManager", - b"setAutomaticallySynchronizesTextLayoutManagers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextContentManager", - b"setAutomaticallySynchronizesToBackingStore:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextContentManager", - b"synchronizeTextLayoutManagers:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSTextContentStorage", - b"adjustedRangeFromRange:forEditingTextSelection:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"NSTextField", b"acceptsFirstResponder", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"allowsCharacterPickerTouchBarItem", {"retval": {"type": "Z"}}) - r( - b"NSTextField", - b"allowsDefaultTighteningForTruncation", - {"retval": {"type": "Z"}}, - ) - r(b"NSTextField", b"allowsEditingTextAttributes", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"importsGraphics", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"isAutomaticTextCompletionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"isBezeled", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"isBordered", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"isSelectable", {"retval": {"type": "Z"}}) - r( - b"NSTextField", - b"setAllowsCharacterPickerTouchBarItem:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextField", - b"setAllowsDefaultTighteningForTruncation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextField", - b"setAllowsEditingTextAttributes:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextField", - b"setAutomaticTextCompletionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextField", b"setBezeled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setBordered:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setImportsGraphics:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setSelectable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextField", b"setTextColor:", {"arguments": {2: {"type": "@"}}}) - r(b"NSTextField", b"textShouldBeginEditing:", {"retval": {"type": "Z"}}) - r(b"NSTextField", b"textShouldEndEditing:", {"retval": {"type": "Z"}}) - r(b"NSTextFieldCell", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSTextFieldCell", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextFieldCell", - b"setWantsNotificationForMarkedText:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextFinder", b"findIndicatorNeedsUpdate", {"retval": {"type": b"Z"}}) - r( - b"NSTextFinder", - b"incrementalSearchingShouldDimContentView", - {"retval": {"type": b"Z"}}, - ) - r(b"NSTextFinder", b"isIncrementalSearchingEnabled", {"retval": {"type": b"Z"}}) - r( - b"NSTextFinder", - b"setFindIndicatorNeedsUpdate:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextFinder", - b"setIncrementalSearchingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextFinder", - b"setIncrementalSearchingShouldDimContentView:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTextFinder", b"validateAction:", {"retval": {"type": b"Z"}}) - r(b"NSTextInputContext", b"acceptsGlyphInfo", {"retval": {"type": "Z"}}) - r(b"NSTextInputContext", b"handleEvent:", {"retval": {"type": "Z"}}) - r(b"NSTextInputContext", b"setAcceptsGlyphInfo:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextLayoutManager", - b"enumerateRenderingAttributesFromLocation:reverse:usingBlock:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSTextLayoutManager", - b"enumerateTextLayoutFragmentsFromLocation:options:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSTextLayoutManager", - b"enumerateTextSegmentsInRange:type:options:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 3: {"type": b"d"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSTextLayoutManager", - b"limitsLayoutForSuspiciousContents", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextLayoutManager", - b"setLimitsLayoutForSuspiciousContents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextLayoutManager", - b"setRenderingAttributesValidator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSTextLayoutManager", - b"setUsesFontLeading:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextLayoutManager", - b"setUsesHyphenation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTextLayoutManager", b"usesFontLeading", {"retval": {"type": b"Z"}}) - r(b"NSTextLayoutManager", b"usesHyphenation", {"retval": {"type": b"Z"}}) - r(b"NSTextRange", b"containsLocation:", {"retval": {"type": b"Z"}}) - r(b"NSTextRange", b"containsRange:", {"retval": {"type": b"Z"}}) - r(b"NSTextRange", b"intersectsWithTextRange:", {"retval": {"type": b"Z"}}) - r(b"NSTextRange", b"isEmpty", {"retval": {"type": b"Z"}}) - r(b"NSTextRange", b"isEqualToTextRange:", {"retval": {"type": b"Z"}}) - r(b"NSTextSelection", b"isLogical", {"retval": {"type": b"Z"}}) - r(b"NSTextSelection", b"isTransient", {"retval": {"type": b"Z"}}) - r(b"NSTextSelection", b"setLogical:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSTextSelectionNavigation", - b"allowsNonContiguousRanges", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextSelectionNavigation", - b"deletionRangesForTextSelection:direction:destination:allowsDecomposition:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"NSTextSelectionNavigation", - b"destinationSelectionForTextSelection:direction:destination:extending:confined:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"NSTextSelectionNavigation", - b"rotatesCoordinateSystemForLayoutOrientation", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextSelectionNavigation", - b"setAllowsNonContiguousRanges:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextSelectionNavigation", - b"setRotatesCoordinateSystemForLayoutOrientation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextSelectionNavigation", - b"textSelectionsInteractingAtPoint:inContainerAtLocation:anchors:modifiers:selecting:bounds:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"NSTextStorage", - b"edited:range:changeInLength:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextStorage", - b"editedRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTextStorage", - b"ensureAttributesAreFixedInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSTextStorage", b"fixesAttributesLazily", {"retval": {"type": "Z"}}) - r( - b"NSTextStorage", - b"invalidateAttributesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextTable", - b"boundsRectForBlock:contentRect:inRect:textContainer:characterRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r(b"NSTextTable", b"collapsesBorders", {"retval": {"type": "Z"}}) - r( - b"NSTextTable", - b"drawBackgroundForBlock:withFrame:inView:characterRange:layoutManager:", - { - "retval": {"type": "v"}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r(b"NSTextTable", b"hidesEmptyCells", {"retval": {"type": "Z"}}) - r( - b"NSTextTable", - b"rectForBlock:layoutAtPoint:inRect:textContainer:characterRange:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 6: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r(b"NSTextTable", b"setCollapsesBorders:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextTable", b"setHidesEmptyCells:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"acceptsGlyphInfo", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"allowsCharacterPickerTouchBarItem", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"allowsDocumentBackgroundColorChange", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"allowsImageEditing", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"allowsUndo", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"characterIndexForInsertionAtPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSTextView", - b"completionsForPartialWordRange:indexOfSelectedItem:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSTextView", b"displaysLinkToolTips", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"dragImageForSelectionWithEvent:origin:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSTextView", - b"dragSelectionWithEvent:offset:slideBack:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 4: {"type": "Z"}, - }, - }, - ) - r( - b"NSTextView", - b"drawInsertionPointInRect:color:turnedOn:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "Z"}, - } - }, - ) - r( - b"NSTextView", - b"drawViewBackgroundInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSTextView", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"importsGraphics", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"initWithFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTextView", - b"initWithFrame:textContainer:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTextView", - b"insertCompletion:forPartialWordRange:movement:isFinal:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": "Z"}, - } - }, - ) - r(b"NSTextView", b"isAutomaticDashSubstitutionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isAutomaticDataDetectionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isAutomaticLinkDetectionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isAutomaticQuoteSubstitutionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isAutomaticSpellingCorrectionEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isAutomaticTextCompletionEnabled", {"retval": {"type": b"Z"}}) - r(b"NSTextView", b"isAutomaticTextReplacementEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isCoalescingUndo", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isContinuousSpellCheckingEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isEditable", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isFieldEditor", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isGrammarCheckingEnabled", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isIncrementalSearchingEnabled", {"retval": {"type": b"Z"}}) - r(b"NSTextView", b"isRichText", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isRulerVisible", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"isSelectable", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"performValidatedReplacementInRange:withAttributedString:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSTextView", - b"rangeForUserCharacterAttributeChange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTextView", - b"rangeForUserCompletion", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTextView", - b"rangeForUserParagraphAttributeChange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTextView", - b"rangeForUserTextChange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r(b"NSTextView", b"readSelectionFromPasteboard:", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"readSelectionFromPasteboard:type:", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"rulerView:shouldAddMarker:", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"rulerView:shouldMoveMarker:", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"rulerView:shouldRemoveMarker:", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"rulerView:willMoveMarker:toLocation:", - { - "retval": {"type": sel32or64(b"f", b"d")}, - "arguments": {4: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSTextView", - b"selectionRangeForProposedRange:granularity:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r(b"NSTextView", b"setAcceptsGlyphInfo:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"setAlignment:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"setAllowsCharacterPickerTouchBarItem:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAllowsDocumentBackgroundColorChange:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextView", b"setAllowsImageEditing:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setAllowsUndo:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"setAutomaticDashSubstitutionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticDataDetectionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticLinkDetectionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticQuoteSubstitutionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticSpellingCorrectionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticTextCompletionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextView", - b"setAutomaticTextReplacementEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"setBaseWritingDirection:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"setConstrainedFrameSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSTextView", - b"setContinuousSpellCheckingEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTextView", b"setDisplaysLinkToolTips:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setFieldEditor:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setGrammarCheckingEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setImportsGraphics:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"setIncrementalSearchingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTextView", - b"setNeedsDisplayInRect:avoidAdditionalLayout:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSTextView", b"setRichText:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setRulerVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setSelectable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"setSelectedRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"setSelectedRange:affinity:stillSelecting:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": "Z"}, - } - }, - ) - r( - b"NSTextView", - b"setSelectedRanges:affinity:stillSelecting:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"NSTextView", b"setSmartInsertDeleteEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"setSpellingState:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"setTextContainerInset:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSTextView", - b"setUsesAdaptiveColorMappingForDarkAppearance:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTextView", b"setUsesFindBar:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSTextView", b"setUsesFindPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setUsesFontPanel:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTextView", b"setUsesInspectorBar:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSTextView", - b"setUsesRolloverButtonForSelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTextView", b"setUsesRuler:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTextView", - b"shouldChangeTextInRange:replacementString:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSTextView", - b"shouldChangeTextInRanges:replacementStrings:", - {"retval": {"type": "Z"}}, - ) - r(b"NSTextView", b"shouldDrawInsertionPoint", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"showFindIndicatorForRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"smartDeleteRangeForProposedRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSTextView", - b"smartInsertAfterStringForString:replacingRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextView", - b"smartInsertBeforeStringForString:replacingRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSTextView", b"smartInsertDeleteEnabled", {"retval": {"type": "Z"}}) - r( - b"NSTextView", - b"smartInsertForString:replacingRange:beforeString:afterString:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSTextView", b"stronglyReferencesTextStorage", {"retval": {"type": b"Z"}}) - r( - b"NSTextView", - b"textContainerInset", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSTextView", - b"textContainerOrigin", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSTextView", - b"updateInsertionPointStateAndRestartTimer:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTextView", - b"usesAdaptiveColorMappingForDarkAppearance", - {"retval": {"type": b"Z"}}, - ) - r(b"NSTextView", b"usesFindBar", {"retval": {"type": b"Z"}}) - r(b"NSTextView", b"usesFindPanel", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"usesFontPanel", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"usesInspectorBar", {"retval": {"type": b"Z"}}) - r(b"NSTextView", b"usesRolloverButtonForSelection", {"retval": {"type": b"Z"}}) - r(b"NSTextView", b"usesRuler", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"writeSelectionToPasteboard:type:", {"retval": {"type": "Z"}}) - r(b"NSTextView", b"writeSelectionToPasteboard:types:", {"retval": {"type": "Z"}}) - r(b"NSTintConfiguration", b"adaptsToUserAccentColor", {"retval": {"type": b"Z"}}) - r( - b"NSTitlebarAccessoryViewController", - b"automaticallyAdjustsSize", - {"retval": {"type": "Z"}}, - ) - r(b"NSTitlebarAccessoryViewController", b"isHidden", {"retval": {"type": "Z"}}) - r( - b"NSTitlebarAccessoryViewController", - b"setAutomaticallyAdjustsSize:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTitlebarAccessoryViewController", - b"setHidden:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSToolbar", b"allowsExtensionItems", {"retval": {"type": b"Z"}}) - r(b"NSToolbar", b"allowsUserCustomization", {"retval": {"type": "Z"}}) - r(b"NSToolbar", b"autosavesConfiguration", {"retval": {"type": "Z"}}) - r(b"NSToolbar", b"customizationPaletteIsRunning", {"retval": {"type": "Z"}}) - r(b"NSToolbar", b"isVisible", {"retval": {"type": "Z"}}) - r(b"NSToolbar", b"setAllowsExtensionItems:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSToolbar", b"setAllowsUserCustomization:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSToolbar", b"setAutosavesConfiguration:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSToolbar", b"setShowsBaselineSeparator:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSToolbar", b"setVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSToolbar", b"showsBaselineSeparator", {"retval": {"type": "Z"}}) - r(b"NSToolbarItem", b"allowsDuplicatesInToolbar", {"retval": {"type": "Z"}}) - r(b"NSToolbarItem", b"autovalidates", {"retval": {"type": "Z"}}) - r(b"NSToolbarItem", b"isBordered", {"retval": {"type": b"Z"}}) - r(b"NSToolbarItem", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSToolbarItem", b"isNavigational", {"retval": {"type": b"Z"}}) - r( - b"NSToolbarItem", - b"maxSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSToolbarItem", - b"minSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSToolbarItem", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"NSToolbarItem", b"setAutovalidates:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSToolbarItem", b"setBordered:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSToolbarItem", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSToolbarItem", - b"setMaxSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSToolbarItem", - b"setMinSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSToolbarItem", b"setNavigational:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSToolbarItemGroup", - b"groupWithItemIdentifier:images:selectionMode:labels:target:action:", - {"arguments": {7: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSToolbarItemGroup", - b"groupWithItemIdentifier:titles:selectionMode:labels:target:action:", - {"arguments": {7: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSToolbarItemGroup", b"isSelectedAtIndex:", {"retval": {"type": b"Z"}}) - r( - b"NSToolbarItemGroup", - b"setSelected:atIndex:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSTouch", - b"deviceSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSTouch", b"isResting", {"retval": {"type": "Z"}}) - r( - b"NSTouchBar", - b"isAutomaticCustomizeTouchBarMenuItemEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"NSTouchBar", b"isVisible", {"retval": {"type": "Z"}}) - r( - b"NSTouchBar", - b"setAutomaticCustomizeTouchBarMenuItemEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSTouchBar", b"setVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTouchBarItem", b"isVisible", {"retval": {"type": "Z"}}) - r(b"NSTouchBarItem", b"setVisible:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTrackingArea", - b"initWithRect:options:owner:userInfo:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTrackingArea", - b"rect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSTreeController", b"addSelectionIndexPaths:", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"alwaysUsesMultipleValuesMarker", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"avoidsEmptySelection", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"canAddChild", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"canInsert", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"canInsertChild", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"preservesSelection", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"removeSelectionIndexPaths:", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"selectsInsertedObjects", {"retval": {"type": "Z"}}) - r( - b"NSTreeController", - b"setAlwaysUsesMultipleValuesMarker:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSTreeController", - b"setAvoidsEmptySelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTreeController", b"setPreservesSelection:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSTreeController", b"setSelectionIndexPath:", {"retval": {"type": "Z"}}) - r(b"NSTreeController", b"setSelectionIndexPaths:", {"retval": {"type": "Z"}}) - r( - b"NSTreeController", - b"setSelectsInsertedObjects:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSTreeNode", b"isLeaf", {"retval": {"type": "Z"}}) - r( - b"NSTreeNode", - b"sortWithSortDescriptors:recursively:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSTypesetter", b"bidiProcessingEnabled", {"retval": {"type": "Z"}}) - r( - b"NSTypesetter", - b"boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 6: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSTypesetter", - b"characterRangeForGlyphRange:actualGlyphRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSTypesetter", - b"deleteGlyphsInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTypesetter", - b"endLineWithGlyphRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTypesetter", - b"getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:bidiLevels:", - { - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 4: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 5: {"type_modifier": b"o", "c_array_length_in_arg": 2}, - 6: {"type": "^Z", "type_modifier": b"o", "c_array_length_in_arg": 2}, - 7: {"type": "^C", "type_modifier": b"o", "c_array_length_in_arg": 2}, - }, - }, - ) - r( - b"NSTypesetter", - b"getLineFragmentRect:usedRect:forParagraphSeparatorGlyphRange:atProposedOrigin:", - { - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSTypesetter", - b"getLineFragmentRect:usedRect:remainingRect:forStartingGlyphAtIndex:proposedRect:lineSpacing:paragraphSpacingBefore:paragraphSpacingAfter:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 3: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 6: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSTypesetter", - b"glyphRangeForCharacterRange:actualCharacterRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSTypesetter", - b"layoutCharactersInRange:forLayoutManager:maximumNumberOfLineFragments:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSTypesetter", - b"layoutGlyphsInLayoutManager:startingAtGlyphIndex:maxNumberOfLineFragments:nextGlyphIndex:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSTypesetter", - b"layoutParagraphAtPoint:", - {"arguments": {2: {"type_modifier": b"N"}}}, - ) - r( - b"NSTypesetter", - b"lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTypesetter", - b"paragraphCharacterRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTypesetter", - b"paragraphGlyphRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTypesetter", - b"paragraphSeparatorCharacterRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTypesetter", - b"paragraphSeparatorGlyphRange", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSTypesetter", - b"paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTypesetter", - b"paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:", - { - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSTypesetter", - b"printingAdjustmentInLayoutManager:forNominallySpacedGlyphRange:packedGlyphs:count:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - "c_array_length_in_arg": 5, - }, - }, - }, - ) - r( - b"NSTypesetter", - b"setAttachmentSize:forGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTypesetter", - b"setBidiLevels:forGlyphRange:", - { - "arguments": { - 2: {"type": "^z", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r(b"NSTypesetter", b"setBidiProcessingEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTypesetter", - b"setDrawsOutsideLineFragment:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTypesetter", - b"setHardInvalidation:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTypesetter", - b"setLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - } - }, - ) - r( - b"NSTypesetter", - b"setLocation:withAdvancements:forStartOfGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTypesetter", - b"setNotShownAttribute:forGlyphRange:", - { - "arguments": { - 2: {"type": "Z"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSTypesetter", - b"setParagraphGlyphRange:separatorGlyphRange:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r(b"NSTypesetter", b"setUsesFontLeading:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSTypesetter", - b"shouldBreakLineByHyphenatingBeforeCharacterAtIndex:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSTypesetter", - b"shouldBreakLineByWordBeforeCharacterAtIndex:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSTypesetter", - b"substituteGlyphsInRange:withGlyphs:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 2}, - } - }, - ) - r(b"NSTypesetter", b"usesFontLeading", {"retval": {"type": "Z"}}) - r( - b"NSTypesetter", - b"willSetLineFragmentRect:forGlyphRange:usedRect:baselineOffset:", - { - "arguments": { - 2: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"N", - }, - 5: {"type": sel32or64(b"^f", b"^d"), "type_modifier": b"N"}, - } - }, - ) - r(b"NSUndoManager", b"groupsByEvent", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"setGroupsByEvent:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSUserDefaultsController", b"appliesImmediately", {"retval": {"type": "Z"}}) - r(b"NSUserDefaultsController", b"hasUnappliedChanges", {"retval": {"type": "Z"}}) - r( - b"NSUserDefaultsController", - b"setAppliesImmediately:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSUserInterfaceCompressionOptions", - b"containsOptions:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSUserInterfaceCompressionOptions", - b"intersectsOptions:", - {"retval": {"type": "Z"}}, - ) - r(b"NSUserInterfaceCompressionOptions", b"isEmpty", {"retval": {"type": "Z"}}) - r( - b"NSUserInterfaceCompressionOptions", - b"setEmpty:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSView", b"acceptsFirstMouse:", {"retval": {"type": "Z"}}) - r(b"NSView", b"acceptsTouchEvents", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"addCursorRect:cursor:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"addToolTipRect:owner:userData:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "^v"}, - } - }, - ) - r( - b"NSView", - b"addTrackingRect:owner:userData:assumeInside:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "^v"}, - 5: {"type": "Z"}, - } - }, - ) - r( - b"NSView", - b"adjustPageHeightNew:top:bottom:limit:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSView", - b"adjustPageWidthNew:left:right:limit:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSView", - b"adjustScroll:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSView", b"alignmentRectInsets", {"retval": {"type": b"{NSEdgeInsets=dddd}"}}) - r(b"NSView", b"allowsVibrancy", {"retval": {"type": b"Z"}}) - r(b"NSView", b"autoresizesSubviews", {"retval": {"type": "Z"}}) - r(b"NSView", b"autoscroll:", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"beginPageInRect:atPlacement:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - } - }, - ) - r( - b"NSView", - b"bitmapImageRepForCachingDisplayInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"bounds", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSView", - b"cacheDisplayInRect:toBitmapImageRep:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSView", b"canBecomeKeyView", {"retval": {"type": "Z"}}) - r(b"NSView", b"canDraw", {"retval": {"type": "Z"}}) - r(b"NSView", b"canDrawConcurrently", {"retval": {"type": "Z"}}) - r(b"NSView", b"canDrawSubviewsIntoLayer", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"centerScanRect:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSView", b"context:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSView", - b"convertPoint:fromView:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSView", - b"convertPoint:toView:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSView", - b"convertPointFromBase:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSView", - b"convertPointToBase:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSView", - b"convertRect:fromView:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSView", - b"convertRect:toView:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSView", - b"convertRectFromBase:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSView", - b"convertRectToBase:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSView", - b"convertSize:fromView:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSView", - b"convertSize:toView:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSView", - b"convertSizeFromBase:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSView", - b"convertSizeToBase:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSView", - b"dataWithEPSInsideRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"dataWithPDFInsideRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"displayIfNeededInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"displayIfNeededInRectIgnoringOpacity:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"displayRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"displayRectIgnoringOpacity:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"displayRectIgnoringOpacity:inContext:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"dragFile:fromRect:slideBack:event:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 4: {"type": "Z"}, - }, - }, - ) - r( - b"NSView", - b"dragImage:at:offset:event:pasteboard:source:slideBack:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 8: {"type": "Z"}, - } - }, - ) - r( - b"NSView", - b"dragPromisedFilesOfTypes:fromRect:source:slideBack:event:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSView", - b"drawPageBorderWithSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSView", - b"drawRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"drawSheetBorderWithSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSView", b"enterFullScreenMode:withOptions:", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"frame", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSView", - b"getRectsBeingDrawn:count:", - { - "arguments": { - 2: {"type": sel32or64(b"^^{_NSRect}", b"^^{CGRect}")}, - 3: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - } - }, - ) - r( - b"NSView", - b"getRectsExposedDuringLiveResize:count:", - { - "arguments": { - 2: { - "c_array_of_fixed_length": 4, - "type": sel32or64( - b"^{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": b"o", - }, - 3: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - } - }, - ) - r(b"NSView", b"hasAmbiguousLayout", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"hitTest:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSView", b"inLiveResize", {"retval": {"type": "Z"}}) - r(b"NSView", b"isCompatibleWithResponsiveScrolling", {"retval": {"type": b"Z"}}) - r(b"NSView", b"isDescendantOf:", {"retval": {"type": "Z"}}) - r(b"NSView", b"isDrawingFindIndicator", {"retval": {"type": b"Z"}}) - r(b"NSView", b"isFlipped", {"retval": {"type": "Z"}}) - r(b"NSView", b"isHidden", {"retval": {"type": "Z"}}) - r(b"NSView", b"isHiddenOrHasHiddenAncestor", {"retval": {"type": "Z"}}) - r(b"NSView", b"isHorizontalContentSizeConstraintActive", {"retval": {"type": b"Z"}}) - r(b"NSView", b"isInFullScreenMode", {"retval": {"type": "Z"}}) - r(b"NSView", b"isOpaque", {"retval": {"type": "Z"}}) - r(b"NSView", b"isRotatedFromBase", {"retval": {"type": "Z"}}) - r(b"NSView", b"isRotatedOrScaledFromBase", {"retval": {"type": "Z"}}) - r(b"NSView", b"isVerticalContentSizeConstraintActive", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"knowsPageRange:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"NSView", b"layerUsesCoreImageFilters", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"locationOfPrintRect:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSView", b"lockFocusIfCanDraw", {"retval": {"type": "Z"}}) - r(b"NSView", b"lockFocusIfCanDrawInContext:", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"mouse:inRect:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 3: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - }, - ) - r(b"NSView", b"mouseDownCanMoveWindow", {"retval": {"type": "Z"}}) - r(b"NSView", b"needsDisplay", {"retval": {"type": "Z"}}) - r(b"NSView", b"needsLayout", {"retval": {"type": b"Z"}}) - r(b"NSView", b"needsPanelToBecomeKey", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"needsToDrawRect:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSView", b"needsUpdateConstraints", {"retval": {"type": b"Z"}}) - r(b"NSView", b"performKeyEquivalent:", {"retval": {"type": "Z"}}) - r(b"NSView", b"performMnemonic:", {"retval": {"type": "Z"}}) - r(b"NSView", b"postsBoundsChangedNotifications", {"retval": {"type": "Z"}}) - r(b"NSView", b"postsFrameChangedNotifications", {"retval": {"type": "Z"}}) - r(b"NSView", b"preservesContentDuringLiveResize", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"rectForPage:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSView", - b"rectPreservedDuringLiveResize", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSView", - b"removeCursorRect:cursor:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSView", b"requiresConstraintBasedLayout", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"resizeSubviewsWithOldSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSView", - b"resizeWithOldSuperviewSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSView", b"rulerView:shouldAddMarker:", {"retval": {"type": "Z"}}) - r(b"NSView", b"rulerView:shouldMoveMarker:", {"retval": {"type": "Z"}}) - r(b"NSView", b"rulerView:shouldRemoveMarker:", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"scaleUnitSquareToSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSView", - b"scrollClipView:toPoint:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"scrollPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"scrollRect:by:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - } - }, - ) - r( - b"NSView", - b"scrollRectToVisible:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSView", b"setAcceptsTouchEvents:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSView", b"setAutoresizesSubviews:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSView", - b"setBounds:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"setBoundsOrigin:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"setBoundsSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSView", b"setCanDrawConcurrently:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSView", b"setCanDrawSubviewsIntoLayer:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSView", - b"setFrame:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"setFrameOrigin:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"setFrameSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSView", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSView", - b"setHorizontalContentSizeConstraintActive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSView", - b"setKeyboardFocusRingNeedsDisplayInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSView", b"setLayerUsesCoreImageFilters:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSView", b"setNeedsDisplay:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSView", - b"setNeedsDisplayInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSView", b"setNeedsLayout:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSView", b"setNeedsUpdateConstraints:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSView", - b"setPostsBoundsChangedNotifications:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSView", - b"setPostsFrameChangedNotifications:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSView", - b"setTranslatesAutoresizingMaskIntoConstraints:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSView", - b"setVerticalContentSizeConstraintActive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSView", - b"setWantsBestResolutionOpenGLSurface:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSView", - b"setWantsExtendedDynamicRangeOpenGLSurface:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSView", b"setWantsLayer:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSView", b"setWantsRestingTouches:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSView", b"shouldDelayWindowOrderingForEvent:", {"retval": {"type": "Z"}}) - r(b"NSView", b"shouldDrawColor", {"retval": {"type": "Z"}}) - r( - b"NSView", - b"showDefinitionForAttributedString:atPoint:", - {"arguments": {3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"showDefinitionForAttributedString:range:options:baselineOriginProvider:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 5: { - "callable": { - "retval": { - "type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}") - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - } - }, - } - }, - ) - r( - b"NSView", - b"sortSubviewsUsingFunction:context:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "^?", - "callable_retained": False, - }, - 3: {"type": "@"}, - } - }, - ) - r( - b"NSView", - b"translateOriginToPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSView", - b"translateRectsNeedingDisplayInRect:by:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - } - }, - ) - r( - b"NSView", - b"translatesAutoresizingMaskIntoConstraints", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSView", - b"visibleRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSView", b"wantsBestResolutionOpenGLSurface", {"retval": {"type": b"Z"}}) - r(b"NSView", b"wantsDefaultClipping", {"retval": {"type": "Z"}}) - r(b"NSView", b"wantsExtendedDynamicRangeOpenGLSurface", {"retval": {"type": "Z"}}) - r(b"NSView", b"wantsLayer", {"retval": {"type": "Z"}}) - r(b"NSView", b"wantsRestingTouches", {"retval": {"type": "Z"}}) - r(b"NSView", b"wantsUpdateLayer", {"retval": {"type": b"Z"}}) - r( - b"NSView", - b"writeEPSInsideRect:toPasteboard:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSView", - b"writePDFInsideRect:toPasteboard:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSViewController", b"commitEditing", {"retval": {"type": "Z"}}) - r( - b"NSViewController", - b"commitEditingWithDelegate:didCommitSelector:contextInfo:", - {"arguments": {3: {"type": ":", "sel_of_type": b"v@:@Z^v"}, 4: {"type": "^v"}}}, - ) - r(b"NSViewController", b"isViewLoaded", {"retval": {"type": b"Z"}}) - r( - b"NSViewController", - b"transitionFromViewController:toViewController:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSVisualEffectView", b"isEmphasized", {"retval": {"type": "Z"}}) - r(b"NSVisualEffectView", b"setEmphasized:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"acceptsMouseMovedEvents", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"allowsAutomaticWindowTabbing", {"retval": {"type": b"Z"}}) - r(b"NSWindow", b"allowsConcurrentViewDrawing", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"allowsToolTipsWhenApplicationIsInactive", - {"retval": {"type": "Z"}}, - ) - r( - b"NSWindow", - b"animationResizeTime:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSWindow", b"areCursorRectsEnabled", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"aspectRatio", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"autorecalculatesContentBorderThicknessForEdge:", - {"retval": {"type": "Z"}}, - ) - r(b"NSWindow", b"autorecalculatesKeyViewLoop", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"beginCriticalSheet:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSWindow", - b"beginSheet:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSWindow", - b"cacheImageInRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSWindow", b"canBeVisibleOnAllSpaces", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canBecomeKeyWindow", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canBecomeMainWindow", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canBecomeVisibleWithoutLogin", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canHide", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canRepresentDisplayGamut:", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"canStoreColor", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"cascadeTopLeftFromPoint:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSWindow", - b"contentAspectRatio", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"contentMaxSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"contentMinSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"contentRectForFrameRect:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSWindow", - b"contentRectForFrameRect:styleMask:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSWindow", - b"contentResizeIncrements", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"convertBaseToScreen:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSWindow", - b"convertScreenToBase:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSWindow", - b"dataWithEPSInsideRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSWindow", - b"dataWithPDFInsideRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r(b"NSWindow", b"displaysWhenScreenProfileChanges", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"dragImage:at:offset:event:pasteboard:source:slideBack:", - { - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - 8: {"type": "Z"}, - } - }, - ) - r(b"NSWindow", b"fieldEditor:forObject:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"frame", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSWindow", - b"frameRectForContentRect:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r( - b"NSWindow", - b"frameRectForContentRect:styleMask:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r(b"NSWindow", b"hasCloseBox", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"hasDynamicDepthLimit", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"hasShadow", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"hasTitleBar", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"hidesOnDeactivate", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"ignoresMouseEvents", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"inLiveResize", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"initWithContentRect:styleMask:backing:defer:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": "Z"}, - } - }, - ) - r( - b"NSWindow", - b"initWithContentRect:styleMask:backing:defer:screen:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 5: {"type": "Z"}, - } - }, - ) - r( - b"NSWindow", - b"initWithWindowRef:", - {"arguments": {2: {"type": "^{OpaqueWindowPtr=}"}}}, - ) - r(b"NSWindow", b"isAutodisplay", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isDocumentEdited", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isExcludedFromWindowsMenu", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isFloatingPanel", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isFlushWindowDisabled", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isKeyWindow", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isMainWindow", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isMiniaturizable", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isMiniaturized", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isModalPanel", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isMovable", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isMovableByWindowBackground", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isOnActiveSpace", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isOneShot", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isOpaque", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isReleasedWhenClosed", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isResizable", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isRestorable", {"retval": {"type": b"Z"}}) - r(b"NSWindow", b"isSheet", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isVisible", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isZoomable", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"isZoomed", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"makeFirstResponder:", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"maxSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"minSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSWindow", - b"mouseLocationOutsideOfEventStream", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSWindow", - b"nextEventMatchingMask:untilDate:inMode:dequeue:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"onstrainFrameRect:toScreen:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - }, - ) - r(b"NSWindow", b"postEvent:atStart:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSWindow", b"preservesContentDuringLiveResize", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"preventsApplicationTerminationWhenModal", - {"retval": {"type": "Z"}}, - ) - r( - b"NSWindow", - b"resizeIncrements", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r(b"NSWindow", b"setAcceptsMouseMovedEvents:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setAllowsAutomaticWindowTabbing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"setAllowsConcurrentViewDrawing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"setAllowsToolTipsWhenApplicationIsInactive:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"setAspectRatio:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSWindow", b"setAutodisplay:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setAutorecalculatesContentBorderThickness:forEdge:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"setAutorecalculatesKeyViewLoop:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSWindow", b"setCanBeVisibleOnAllSpaces:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setCanBecomeVisibleWithoutLogin:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSWindow", b"setCanHide:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setContentAspectRatio:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setContentMaxSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setContentMinSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setContentResizeIncrements:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setContentSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setDisplaysWhenScreenProfileChanges:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSWindow", b"setDocumentEdited:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setDynamicDepthLimit:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setExcludedFromWindowsMenu:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setFrame:display:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - } - }, - ) - r( - b"NSWindow", - b"setFrame:display:animate:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - 3: {"type": "Z"}, - 4: {"type": "Z"}, - } - }, - ) - r(b"NSWindow", b"setFrameAutosaveName:", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"setFrameOrigin:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSWindow", - b"setFrameTopLeftPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSWindow", b"setFrameUsingName:", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"setFrameUsingName:force:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r(b"NSWindow", b"setHasShadow:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setHidesOnDeactivate:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setIgnoresMouseEvents:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setIsMiniaturized:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setIsVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setIsZoomed:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setMaxSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSWindow", - b"setMinSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSWindow", b"setMovable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setMovableByWindowBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setOneShot:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setOpaque:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setPreservesContentDuringLiveResize:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindow", - b"setPreventsApplicationTerminationWhenModal:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSWindow", b"setReleasedWhenClosed:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setResizeIncrements:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSWindow", b"setRestorable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSWindow", b"setShowsResizeIndicator:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"setShowsToolbarButton:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindow", - b"setTitlebarAppearsTransparent:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSWindow", b"setViewsNeedDisplay:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"showsResizeIndicator", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"showsToolbarButton", {"retval": {"type": "Z"}}) - r(b"NSWindow", b"titlebarAppearsTransparent", {"retval": {"type": b"Z"}}) - r( - b"NSWindow", - b"trackEventsMatchingMask:timeout:mode:handler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSWindow", - b"tryToPerform:with:", - {"retval": {"type": "Z"}, "arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSWindow", b"useOptimizedDrawing:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindow", b"viewsNeedDisplay", {"retval": {"type": "Z"}}) - r( - b"NSWindow", - b"windowNumberAtPoint:belowWindowWithNumber:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r(b"NSWindow", b"windowRef", {"retval": {"type": "^{OpaqueWindowPtr=}"}}) - r(b"NSWindow", b"worksWhenModal", {"retval": {"type": "Z"}}) - r(b"NSWindowController", b"isWindowLoaded", {"retval": {"type": "Z"}}) - r(b"NSWindowController", b"setDocumentEdited:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWindowController", - b"setShouldCascadeWindows:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSWindowController", - b"setShouldCloseDocument:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSWindowController", b"shouldCascadeWindows", {"retval": {"type": "Z"}}) - r(b"NSWindowController", b"shouldCloseDocument", {"retval": {"type": "Z"}}) - r(b"NSWindowTabGroup", b"isOverviewVisible", {"retval": {"type": "Z"}}) - r(b"NSWindowTabGroup", b"isTabBarVisible", {"retval": {"type": "Z"}}) - r(b"NSWindowTabGroup", b"setOverviewVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSWindowTabGroup", b"setTabBarVisible:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSWorkspace", - b"accessibilityDisplayShouldDifferentiateWithoutColor", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspace", - b"accessibilityDisplayShouldIncreaseContrast", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspace", - b"accessibilityDisplayShouldInvertColors", - {"retval": {"type": "Z"}}, - ) - r( - b"NSWorkspace", - b"accessibilityDisplayShouldReduceMotion", - {"retval": {"type": "Z"}}, - ) - r( - b"NSWorkspace", - b"accessibilityDisplayShouldReduceTransparency", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspace", - b"duplicateURLs:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSWorkspace", b"fileSystemChanged", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"filenameExtension:isValidForType:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"type": "^Z", "type_modifier": b"o"}, - 4: {"type": "^Z", "type_modifier": b"o"}, - 5: {"type": "^Z", "type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - 7: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSWorkspace", - b"getInfoForFile:application:type:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}, - }, - ) - r(b"NSWorkspace", b"isFilePackageAtPath:", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"isSwitchControlEnabled", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"isVoiceOverEnabled", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"launchAppWithBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifier:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSWorkspace", b"launchApplication:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"launchApplication:showIcon:autolaunch:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r( - b"NSWorkspace", - b"launchApplicationAtURL:options:configuration:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSWorkspace", - b"openApplicationAtURL:configuration:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSWorkspace", b"openFile:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"openFile:fromImage:at:inView:", - { - "retval": {"type": "Z"}, - "arguments": {4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r(b"NSWorkspace", b"openFile:withApplication:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"openFile:withApplication:andDeactivate:", - {"retval": {"type": "Z"}, "arguments": {4: {"type": "Z"}}}, - ) - r(b"NSWorkspace", b"openTempFile:", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"openURL:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"openURL:configuration:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"openURL:options:configuration:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSWorkspace", - b"openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSWorkspace", - b"openURLs:withApplicationAtURL:configuration:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"openURLs:withApplicationAtURL:options:configuration:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSWorkspace", - b"performFileOperation:source:destination:files:tag:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSWorkspace", - b"recycleURLs:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"requestAuthorizationOfType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"selectFile:inFileViewerRootedAtPath:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSWorkspace", - b"setDefaultApplicationAtURL:toOpenContentType:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"setDefaultApplicationAtURL:toOpenContentTypeOfFileAtURL:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"setDefaultApplicationAtURL:toOpenFileAtURL:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"setDefaultApplicationAtURL:toOpenURLsWithScheme:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSWorkspace", - b"setDesktopImageURL:forScreen:options:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSWorkspace", b"setIcon:forFile:options:", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"showSearchResultsForQueryString:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"slideImage:from:to:", - { - "retval": {"type": "v"}, - "arguments": { - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - }, - }, - ) - r(b"NSWorkspace", b"type:conformsToType:", {"retval": {"type": "Z"}}) - r(b"NSWorkspace", b"typeOfFile:error:", {"arguments": {3: {"type_modifier": b"o"}}}) - r(b"NSWorkspace", b"unmountAndEjectDeviceAtPath:", {"retval": {"type": "Z"}}) - r( - b"NSWorkspace", - b"unmountAndEjectDeviceAtURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSWorkspace", b"userDefaultsChanged", {"retval": {"type": "Z"}}) - r(b"NSWorkspaceOpenConfiguration", b"activates", {"retval": {"type": b"Z"}}) - r(b"NSWorkspaceOpenConfiguration", b"addsToRecentItems", {"retval": {"type": b"Z"}}) - r( - b"NSWorkspaceOpenConfiguration", - b"allowsRunningApplicationSubstitution", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"createsNewApplicationInstance", - {"retval": {"type": b"Z"}}, - ) - r(b"NSWorkspaceOpenConfiguration", b"hides", {"retval": {"type": b"Z"}}) - r(b"NSWorkspaceOpenConfiguration", b"hidesOthers", {"retval": {"type": b"Z"}}) - r(b"NSWorkspaceOpenConfiguration", b"isForPrinting", {"retval": {"type": b"Z"}}) - r( - b"NSWorkspaceOpenConfiguration", - b"promptsUserIfNeeded", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"requiresUniversalLinks", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setActivates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setAddsToRecentItems:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setAllowsRunningApplicationSubstitution:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setCreatesNewApplicationInstance:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setForPrinting:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSWorkspaceOpenConfiguration", b"setHides:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSWorkspaceOpenConfiguration", - b"setHidesOthers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setPromptsUserIfNeeded:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSWorkspaceOpenConfiguration", - b"setRequiresUniversalLinks:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"abortEditing", {"retval": {"type": b"Z"}}) - r(b"null", b"acceptsArrowKeys", {"retval": {"type": b"Z"}}) - r(b"null", b"acceptsBinary", {"retval": {"type": b"Z"}}) - r(b"null", b"acceptsFirstResponder", {"retval": {"type": b"Z"}}) - r(b"null", b"acceptsGlyphInfo", {"retval": {"type": b"Z"}}) - r(b"null", b"acceptsMouseMovedEvents", {"retval": {"type": b"Z"}}) - r( - b"null", - b"accessibilityDisplayShouldDifferentiateWithoutColor", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"accessibilityDisplayShouldIncreaseContrast", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"accessibilityDisplayShouldInvertColors", {"retval": {"type": b"Z"}}) - r(b"null", b"accessibilityDisplayShouldReduceMotion", {"retval": {"type": b"Z"}}) - r( - b"null", - b"accessibilityDisplayShouldReduceTransparency", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"accessibilityIsAttributeSettable:", {"retval": {"type": b"Z"}}) - r(b"null", b"accessibilityIsIgnored", {"retval": {"type": b"Z"}}) - r(b"null", b"accessibilityNotifiesWhenDestroyed", {"retval": {"type": b"Z"}}) - r( - b"null", - b"accessibilitySetOverrideValue:forAttribute:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"addWindowsItem:title:filename:", {"arguments": {4: {"type": b"Z"}}}) - r( - b"null", - b"alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:", - {"variadic": True}, - ) - r(b"null", b"allowsCharacterPickerTouchBarItem", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsDocumentBackgroundColorChange", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsEditingTextAttributes", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsExpansionToolTips", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsImageEditing", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsMixedState", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsTickMarkValuesOnly", {"retval": {"type": b"Z"}}) - r(b"null", b"allowsUndo", {"retval": {"type": b"Z"}}) - r(b"null", b"application:delegateHandlesKey:", {"retval": {"type": b"Z"}}) - r(b"null", b"areCursorRectsEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"arrangesAllSubviews", {"retval": {"type": b"Z"}}) - r(b"null", b"autoresizesAllColumnsToFit", {"retval": {"type": b"Z"}}) - r(b"null", b"booleanForKey:inTable:", {"retval": {"type": b"Z"}}) - r(b"null", b"cacheDepthMatchesImageDepth", {"retval": {"type": b"Z"}}) - r(b"null", b"cachesBezierPath", {"retval": {"type": b"Z"}}) - r(b"null", b"canBePreventedByGestureRecognizer:", {"retval": {"type": b"Z"}}) - r(b"null", b"canBecomeKeyView", {"retval": {"type": b"Z"}}) - r(b"null", b"canPreventGestureRecognizer:", {"retval": {"type": b"Z"}}) - r(b"null", b"canStoreColor", {"retval": {"type": b"Z"}}) - r(b"null", b"centersPlaceholder", {"retval": {"type": b"Z"}}) - r(b"null", b"changeWindowsItem:title:filename:", {"arguments": {4: {"type": b"Z"}}}) - r(b"null", b"commitEditing", {"retval": {"type": b"Z"}}) - r( - b"null", - b"commitEditingAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"configurePersistentStoreCoordinatorForURL:ofType:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"null", b"copiesOnScroll", {"retval": {"type": b"Z"}}) - r(b"null", b"displaysLinkToolTips", {"retval": {"type": b"Z"}}) - r( - b"null", - b"dragFile:fromRect:slideBack:event:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}}, - ) - r( - b"null", - b"dragImage:at:offset:event:pasteboard:source:slideBack:", - {"arguments": {8: {"type": b"Z"}}}, - ) - r( - b"null", - b"dragPromisedFilesOfTypes:fromRect:source:slideBack:event:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type": b"Z"}}}, - ) - r( - b"null", - b"dragSelectionWithEvent:offset:slideBack:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}}, - ) - r(b"null", b"draggedImage:endedAt:deposited:", {"arguments": {4: {"type": b"Z"}}}) - r( - b"null", - b"draggingSourceOperationMaskForLocal:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"drawArrow:highlight:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"null", - b"drawStatusBarBackgroundInRect:withHighlight:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"null", b"drawsBackground", {"retval": {"type": b"Z"}}) - r(b"null", b"drawsGrid", {"retval": {"type": b"Z"}}) - r(b"null", b"enterFullScreenMode:withOptions:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"enumerateIndexPathsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"null", - b"fetchWithRequest:merge:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r(b"null", b"fileSystemChanged", {"retval": {"type": b"Z"}}) - r(b"null", b"filenameExtension:isValidForType:", {"retval": {"type": b"Z"}}) - r(b"null", b"fontManager:willIncludeFont:", {"retval": {"type": b"Z"}}) - r(b"null", b"fontNamed:hasTraits:", {"retval": {"type": b"Z"}}) - r(b"null", b"getInfoForFile:application:type:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"graphicsContextWithGraphicsPort:flipped:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"null", b"hasAmbiguousLayout", {"retval": {"type": b"Z"}}) - r(b"null", b"hasCloseBox", {"retval": {"type": b"Z"}}) - r(b"null", b"hasEqualSpacing", {"retval": {"type": b"Z"}}) - r(b"null", b"hasHorizontalRuler", {"retval": {"type": b"Z"}}) - r(b"null", b"hasTitleBar", {"retval": {"type": b"Z"}}) - r(b"null", b"hasVerticalRuler", {"retval": {"type": b"Z"}}) - r(b"null", b"highlight:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"highlightMode", {"retval": {"type": b"Z"}}) - r(b"null", b"ignoreModifierKeysWhileDragging", {"retval": {"type": b"Z"}}) - r(b"null", b"ignoresMouseEvents", {"retval": {"type": b"Z"}}) - r(b"null", b"importsGraphics", {"retval": {"type": b"Z"}}) - r( - b"null", - b"insertCompletion:forPartialWordRange:movement:isFinal:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"null", b"instantiateNibWithExternalNameTable:", {"retval": {"type": b"Z"}}) - r(b"null", b"instantiateNibWithOwner:topLevelObjects:", {"retval": {"type": b"Z"}}) - r(b"null", b"isAttached", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutodisplay", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticDashSubstitutionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticDataDetectionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticLinkDetectionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticQuoteSubstitutionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticSpellingCorrectionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticTextCompletionEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isAutomaticTextReplacementEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isCachedSeparately", {"retval": {"type": b"Z"}}) - r(b"null", b"isCoalescingUndo", {"retval": {"type": b"Z"}}) - r(b"null", b"isColor", {"retval": {"type": b"Z"}}) - r(b"null", b"isContinuousSpellCheckingEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isDataRetained", {"retval": {"type": b"Z"}}) - r(b"null", b"isDrawingFindIndicator", {"retval": {"type": b"Z"}}) - r(b"null", b"isEditable", {"retval": {"type": b"Z"}}) - r(b"null", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isEntryAcceptable:", {"retval": {"type": b"Z"}}) - r(b"null", b"isFieldEditor", {"retval": {"type": b"Z"}}) - r(b"null", b"isFlipped", {"retval": {"type": b"Z"}}) - r(b"null", b"isFloatingPanel", {"retval": {"type": b"Z"}}) - r(b"null", b"isFlushWindowDisabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isFontAvailable:", {"retval": {"type": b"Z"}}) - r(b"null", b"isFullKeyboardAccessEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isGrammarCheckingEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isHorizontalContentSizeConstraintActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isInFullScreenMode", {"retval": {"type": b"Z"}}) - r(b"null", b"isIncrementalSearchingEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isKey:inTable:", {"retval": {"type": b"Z"}}) - r(b"null", b"isMiniaturizable", {"retval": {"type": b"Z"}}) - r(b"null", b"isModalPanel", {"retval": {"type": b"Z"}}) - r(b"null", b"isOneShot", {"retval": {"type": b"Z"}}) - r(b"null", b"isOutputStackInReverseOrder", {"retval": {"type": b"Z"}}) - r(b"null", b"isPaneSplitter", {"retval": {"type": b"Z"}}) - r(b"null", b"isRegisteredForRemoteNotifications", {"retval": {"type": b"Z"}}) - r(b"null", b"isResizable", {"retval": {"type": b"Z"}}) - r(b"null", b"isRestorable", {"retval": {"type": b"Z"}}) - r(b"null", b"isRichText", {"retval": {"type": b"Z"}}) - r(b"null", b"isRulerVisible", {"retval": {"type": b"Z"}}) - r(b"null", b"isSelectable", {"retval": {"type": b"Z"}}) - r(b"null", b"isSetOnMouseEntered", {"retval": {"type": b"Z"}}) - r(b"null", b"isSetOnMouseExited", {"retval": {"type": b"Z"}}) - r(b"null", b"isSwitchControlEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isTornOff", {"retval": {"type": b"Z"}}) - r(b"null", b"isVertical", {"retval": {"type": b"Z"}}) - r(b"null", b"isVerticalContentSizeConstraintActive", {"retval": {"type": b"Z"}}) - r(b"null", b"isVoiceOverEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"isZoomable", {"retval": {"type": b"Z"}}) - r(b"null", b"knowsPageRange:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"launchAppWithBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifier:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"launchApplication:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"launchApplication:showIcon:autolaunch:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"null", - b"launchApplicationAtURL:options:configuration:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"layer:shouldInheritContentsScale:fromWindow:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"loadDataRepresentation:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"loadFileWrapperRepresentation:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"loadNibFile:externalNameTable:withZone:", {"retval": {"type": b"Z"}}) - r(b"null", b"loadNibNamed:owner:", {"retval": {"type": b"Z"}}) - r(b"null", b"loadNibNamed:owner:topLevelObjects:", {"retval": {"type": b"Z"}}) - r(b"null", b"makeWindowsPerform:inOrder:", {"arguments": {3: {"type": b"Z"}}}) - r(b"null", b"menuChangedMessagesEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"needsUpdateConstraints", {"retval": {"type": b"Z"}}) - r( - b"null", - b"nextEventMatchingMask:untilDate:inMode:dequeue:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"null", - b"openDocumentWithContentsOfFile:display:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"null", - b"openDocumentWithContentsOfURL:display:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"null", - b"openDocumentWithContentsOfURL:display:error:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"null", b"openFile:", {"retval": {"type": b"Z"}}) - r(b"null", b"openFile:fromImage:at:inView:", {"retval": {"type": b"Z"}}) - r(b"null", b"openFile:withApplication:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"openFile:withApplication:andDeactivate:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}}, - ) - r(b"null", b"openTempFile:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"openURL:options:configuration:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"openURLs:withApplicationAtURL:options:configuration:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"openUntitledDocumentOfType:display:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"null", - b"panel:compareFilename:with:caseSensitive:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"null", b"panel:isValidFilename:", {"retval": {"type": b"Z"}}) - r(b"null", b"panel:shouldShowFilename:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"performFileOperation:source:destination:files:tag:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"performMnemonic:", {"retval": {"type": b"Z"}}) - r(b"null", b"postEvent:atStart:", {"arguments": {3: {"type": b"Z"}}}) - r(b"null", b"presentError:", {"retval": {"type": b"Z"}}) - r(b"null", b"printShowingPrintPanel:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"printerWithName:domain:includeUnavailable:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"null", b"readFromFile:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"readFromURL:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"readSelectionFromPasteboard:", {"retval": {"type": b"Z"}}) - r(b"null", b"readSelectionFromPasteboard:type:", {"retval": {"type": b"Z"}}) - r(b"null", b"rectForCancelButtonWhenCentered:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"rectForSearchButtonWhenCentered:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"rectForSearchTextWhenCentered:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"refusesFirstResponder", {"retval": {"type": b"Z"}}) - r( - b"null", - b"registerCloudKitShareWithPreparationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@?"}}, - } - } - } - }, - ) - r( - b"null", - b"reopenDocumentForURL:withContentsOfURL:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"requestAuthorizationOfType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"null", b"requiresConstraintBasedLayout", {"retval": {"type": b"Z"}}) - r( - b"null", - b"restoreDocumentWindowWithIdentifier:state:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"restoreWindowWithIdentifier:state:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - }, - ) - r(b"null", b"revertToSavedFromFile:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"revertToSavedFromURL:ofType:", {"retval": {"type": b"Z"}}) - r(b"null", b"rulerView:shouldAddMarker:", {"retval": {"type": b"Z"}}) - r(b"null", b"rulerView:shouldMoveMarker:", {"retval": {"type": b"Z"}}) - r(b"null", b"rulerView:shouldRemoveMarker:", {"retval": {"type": b"Z"}}) - r(b"null", b"rulersVisible", {"retval": {"type": b"Z"}}) - r(b"null", b"saveToURL:ofType:forSaveOperation:error:", {"retval": {"type": b"Z"}}) - r(b"null", b"scalesWhenResized", {"retval": {"type": b"Z"}}) - r( - b"null", - b"searchString:inUserInterfaceItemString:searchRange:foundRange:", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"selectColumn:byExtendingSelection:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"null", b"selectRow:byExtendingSelection:", {"arguments": {3: {"type": b"Z"}}}) - r(b"null", b"sendAction:to:from:", {"retval": {"type": b"Z"}}) - r(b"null", b"setAcceptsArrowKeys:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAcceptsGlyphInfo:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAcceptsMouseMovedEvents:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setAllowsCharacterPickerTouchBarItem:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAllowsDocumentBackgroundColorChange:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setAllowsEditingTextAttributes:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAllowsExpansionToolTips:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAllowsImageEditing:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAllowsMixedState:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAllowsTickMarkValuesOnly:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAllowsUndo:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setArrangesAllSubviews:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAutodisplay:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setAutomaticDashSubstitutionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setAutomaticDataDetectionEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setAutomaticLinkDetectionEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setAutomaticQuoteSubstitutionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticSpellingCorrectionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticTextCompletionEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setAutomaticTextReplacementEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setAutoresizesAllColumnsToFit:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setCacheDepthMatchesImageDepth:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setCachedSeparately:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setCachesBezierPath:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setCentersPlaceholder:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setContinuousSpellCheckingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setCopiesOnScroll:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setDataRetained:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setDesktopImageURL:forScreen:options:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"null", b"setDisplaysLinkToolTips:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setDrawsBackground:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setDrawsGrid:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setEditable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setFieldEditor:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setFlipped:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setFloatingPointFormat:left:right:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setGrammarCheckingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setHasEqualSpacing:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setHasHorizontalRuler:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setHasVerticalRuler:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setHighlightMode:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setHorizontalContentSizeConstraintActive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setIgnoresMouseEvents:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setImportsGraphics:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setIncrementalSearchingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setIsMiniaturized:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setIsPaneSplitter:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setIsVisible:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setIsZoomed:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setMenuChangedMessagesEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setNeedsUpdateConstraints:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setOnMouseEntered:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setOnMouseExited:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setOneShot:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setRefusesFirstResponder:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setResizable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setRestorable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setRichText:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setRulerVisible:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setRulersVisible:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setScalesWhenResized:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setSelectable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setSelectedRange:affinity:stillSelecting:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"null", - b"setSelectedRanges:affinity:stillSelecting:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"null", b"setShouldAntialias:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setShouldCreateUI:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setShowPanels:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setShowsFirstResponder:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setShowsResizeIndicator:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setSmartInsertDeleteEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setTabKeyTraversesCells:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setTranslatesAutoresizingMaskIntoConstraints:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setUsesFindBar:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setUsesFindPanel:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setUsesFontPanel:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setUsesInspectorBar:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setUsesLazyFetching:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setUsesRolloverButtonForSelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"setUsesRuler:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"setUsesSingleLineMode:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setVerticalContentSizeConstraintActive:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setWantsBestResolutionOpenGLSurface:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"setWantsExtendedDynamicRangeOpenGLSurface:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"shouldAntialias", {"retval": {"type": b"Z"}}) - r( - b"null", - b"shouldBeRequiredToFailByGestureRecognizer:", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"shouldChangeTextInRange:replacementString:", - {"retval": {"type": b"Z"}}, - ) - r( - b"null", - b"shouldChangeTextInRanges:replacementStrings:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"shouldCreateUI", {"retval": {"type": b"Z"}}) - r(b"null", b"shouldDrawColor", {"retval": {"type": b"Z"}}) - r(b"null", b"shouldFocusCell:atColumn:row:", {"retval": {"type": b"Z"}}) - r(b"null", b"shouldInvalidateLayoutForBoundsChange:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"shouldInvalidateLayoutForPreferredLayoutAttributes:withOriginalAttributes:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"shouldRequireFailureOfGestureRecognizer:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"showDefinitionForAttributedString:range:options:baselineOriginProvider:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"{CGPoint=dd}"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_NSRange=QQ}"}, - }, - } - } - } - }, - ) - r(b"null", b"showPanels", {"retval": {"type": b"Z"}}) - r(b"null", b"showsFirstResponder", {"retval": {"type": b"Z"}}) - r(b"null", b"showsResizeIndicator", {"retval": {"type": b"Z"}}) - r(b"null", b"smartInsertDeleteEnabled", {"retval": {"type": b"Z"}}) - r(b"null", b"tabKeyTraversesCells", {"retval": {"type": b"Z"}}) - r(b"null", b"tableView:writeRows:toPasteboard:", {"retval": {"type": b"Z"}}) - r(b"null", b"textShouldBeginEditing:", {"retval": {"type": b"Z"}}) - r(b"null", b"textShouldEndEditing:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"trackEventsMatchingMask:timeout:mode:handler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"null", - b"transitionFromViewController:toViewController:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"null", b"translatesAutoresizingMaskIntoConstraints", {"retval": {"type": b"Z"}}) - r(b"null", b"tryToPerform:with:", {"retval": {"type": b"Z"}}) - r(b"null", b"type:conformsToType:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"updateInsertionPointStateAndRestartTimer:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"null", b"useOptimizedDrawing:", {"arguments": {2: {"type": b"Z"}}}) - r(b"null", b"userDefaultsChanged", {"retval": {"type": b"Z"}}) - r(b"null", b"usesFindBar", {"retval": {"type": b"Z"}}) - r(b"null", b"usesFindPanel", {"retval": {"type": b"Z"}}) - r(b"null", b"usesFontPanel", {"retval": {"type": b"Z"}}) - r(b"null", b"usesInspectorBar", {"retval": {"type": b"Z"}}) - r(b"null", b"usesLazyFetching", {"retval": {"type": b"Z"}}) - r(b"null", b"usesRolloverButtonForSelection", {"retval": {"type": b"Z"}}) - r(b"null", b"usesRuler", {"retval": {"type": b"Z"}}) - r(b"null", b"usesSingleLineMode", {"retval": {"type": b"Z"}}) - r(b"null", b"validateMenuItem:", {"retval": {"type": b"Z"}}) - r(b"null", b"validateProposedFirstResponder:forEvent:", {"retval": {"type": b"Z"}}) - r(b"null", b"wantsBestResolutionOpenGLSurface", {"retval": {"type": b"Z"}}) - r(b"null", b"wantsExtendedDynamicRangeOpenGLSurface", {"retval": {"type": b"Z"}}) - r(b"null", b"wantsNotificationForMarkedText", {"retval": {"type": b"Z"}}) - r(b"null", b"writeFileContents:", {"retval": {"type": b"Z"}}) - r(b"null", b"writeFileWrapper:", {"retval": {"type": b"Z"}}) - r(b"null", b"writeSelectionToPasteboard:type:", {"retval": {"type": b"Z"}}) - r(b"null", b"writeSelectionToPasteboard:types:", {"retval": {"type": b"Z"}}) - r(b"null", b"writeToFile:ofType:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"writeToFile:ofType:originalFile:saveOperation:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"writeToURL:ofType:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"writeWithBackupToFile:ofType:saveOperation:", - {"retval": {"type": b"Z"}}, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "NSSavePanelDelegateDeprecated": objc.informal_protocol( - "NSSavePanelDelegateDeprecated", - [ - objc.selector( - None, - b"panel:compareFilename:with:caseSensitive:", - b"q@:@@@Z", - isRequired=False, - ), - objc.selector( - None, b"panel:directoryDidChange:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"panel:shouldShowFilename:", b"Z@:@@", isRequired=False - ), - objc.selector(None, b"panel:isValidFilename:", b"Z@:@@", isRequired=False), - ], - ), - "NSAccessibilityAdditions": objc.informal_protocol( - "NSAccessibilityAdditions", - [ - objc.selector( - None, - b"accessibilitySetOverrideValue:forAttribute:", - b"Z@:@@", - isRequired=False, - ) - ], - ), - "NSApplicationScriptingDelegation": objc.informal_protocol( - "NSApplicationScriptingDelegation", - [ - objc.selector( - None, b"application:delegateHandlesKey:", b"Z@:@@", isRequired=False - ) - ], - ), - "NSNibAwaking": objc.informal_protocol( - "NSNibAwaking", - [ - objc.selector(None, b"awakeFromNib", b"v@:", isRequired=False), - objc.selector( - None, b"prepareForInterfaceBuilder", b"v@:", isRequired=False - ), - ], - ), - "NSToolTipOwner": objc.informal_protocol( - "NSToolTipOwner", - [ - objc.selector( - None, - b"view:stringForToolTip:point:userData:", - b"@@:@q{CGPoint=dd}^v", - isRequired=False, - ) - ], - ), - "NSDraggingDestination": objc.informal_protocol( - "NSDraggingDestination", - [ - objc.selector(None, b"draggingEntered:", b"Q@:@", isRequired=False), - objc.selector(None, b"draggingUpdated:", b"Q@:@", isRequired=False), - objc.selector(None, b"draggingExited:", b"v@:@", isRequired=False), - objc.selector(None, b"prepareForDragOperation:", b"Z@:@", isRequired=False), - objc.selector(None, b"performDragOperation:", b"Z@:@", isRequired=False), - objc.selector(None, b"concludeDragOperation:", b"v@:@", isRequired=False), - objc.selector(None, b"draggingEnded:", b"v@:@", isRequired=False), - objc.selector( - None, b"wantsPeriodicDraggingUpdates", b"Z@:", isRequired=False - ), - ], - ), - "NSOutlineViewNotifications": objc.informal_protocol( - "NSOutlineViewNotifications", - [ - objc.selector( - None, b"outlineViewSelectionDidChange:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewColumnDidMove:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewColumnDidResize:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewSelectionIsChanging:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewItemWillExpand:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewItemDidExpand:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewItemWillCollapse:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"outlineViewItemDidCollapse:", b"v@:@", isRequired=False - ), - ], - ), - "NSDraggingSource": objc.informal_protocol( - "NSDraggingSource", - [ - objc.selector( - None, b"draggingSourceOperationMaskForLocal:", b"Q@:Z", isRequired=False - ), - objc.selector( - None, - b"namesOfPromisedFilesDroppedAtDestination:", - b"@@:@", - isRequired=False, - ), - objc.selector( - None, b"draggedImage:beganAt:", b"v@:@{CGPoint=dd}", isRequired=False - ), - objc.selector( - None, - b"draggedImage:endedAt:operation:", - b"v@:@{CGPoint=dd}Q", - isRequired=False, - ), - objc.selector( - None, b"draggedImage:movedTo:", b"v@:@{CGPoint=dd}", isRequired=False - ), - objc.selector( - None, b"ignoreModifierKeysWhileDragging", b"Z@:", isRequired=False - ), - ], - ), - "NSPasteboardOwner": objc.informal_protocol( - "NSPasteboardOwner", - [ - objc.selector( - None, b"pasteboard:provideDataForType:", b"v@:@@", isRequired=False - ), - objc.selector(None, b"pasteboardChangedOwner:", b"v@:@", isRequired=False), - ], - ), - "NSAccessibility": objc.informal_protocol( - "NSAccessibility", - [ - objc.selector( - None, b"accessibilityAttributeValue:", b"@@:@", isRequired=False - ), - objc.selector( - None, - b"accessibilityParameterizedAttributeNames", - b"@@:", - isRequired=False, - ), - objc.selector( - None, b"accessibilityArrayAttributeCount:", b"Q@:@", isRequired=False - ), - objc.selector( - None, b"accessibilityIsAttributeSettable:", b"Z@:@", isRequired=False - ), - objc.selector( - None, - b"accessibilityAttributeValue:forParameter:", - b"@@:@@", - isRequired=False, - ), - objc.selector( - None, - b"accessibilityArrayAttributeValues:index:maxCount:", - b"@@:@QQ", - isRequired=False, - ), - objc.selector(None, b"accessibilityActionNames", b"@@:", isRequired=False), - objc.selector( - None, b"accessibilityAttributeNames", b"@@:", isRequired=False - ), - objc.selector( - None, b"accessibilityNotifiesWhenDestroyed", b"Z@:", isRequired=False - ), - objc.selector( - None, b"accessibilityIndexOfChild:", b"Q@:@", isRequired=False - ), - objc.selector( - None, b"accessibilityPerformAction:", b"v@:@", isRequired=False - ), - objc.selector(None, b"accessibilityIsIgnored", b"Z@:", isRequired=False), - objc.selector( - None, b"accessibilityActionDescription:", b"@@:@", isRequired=False - ), - objc.selector( - None, b"accessibilityHitTest:", b"@@:{CGPoint=dd}", isRequired=False - ), - objc.selector( - None, b"accessibilitySetValue:forAttribute:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"accessibilityFocusedUIElement", b"@@:", isRequired=False - ), - ], - ), - "NSRulerMarkerClientViewDelegation": objc.informal_protocol( - "NSRulerMarkerClientViewDelegation", - [ - objc.selector( - None, b"rulerView:didRemoveMarker:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"rulerView:shouldRemoveMarker:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, b"rulerView:shouldMoveMarker:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, - b"rulerView:locationForPoint:", - b"d@:@{CGPoint=dd}", - isRequired=False, - ), - objc.selector( - None, - b"rulerView:willAddMarker:atLocation:", - b"d@:@@d", - isRequired=False, - ), - objc.selector( - None, b"rulerView:didMoveMarker:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"rulerView:pointForLocation:", - b"{CGPoint=dd}@:@d", - isRequired=False, - ), - objc.selector( - None, b"rulerView:handleMouseDown:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"rulerView:willMoveMarker:toLocation:", - b"d@:@@d", - isRequired=False, - ), - objc.selector(None, b"rulerView:didAddMarker:", b"v@:@@", isRequired=False), - objc.selector( - None, b"rulerView:shouldAddMarker:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, b"rulerView:willSetClientView:", b"v@:@@", isRequired=False - ), - ], - ), - "NSFontPanelValidationAdditions": objc.informal_protocol( - "NSFontPanelValidationAdditions", - [objc.selector(None, b"validModesForFontPanel:", b"Q@:@", isRequired=False)], - ), - "NSToolbarItemValidation": objc.informal_protocol( - "NSToolbarItemValidation", - [objc.selector(None, b"validateToolbarItem:", b"Z@:@", isRequired=False)], - ), - "NSKeyValueBindingCreation": objc.informal_protocol( - "NSKeyValueBindingCreation", - [ - objc.selector( - None, - b"bind:toObject:withKeyPath:options:", - b"v@:@@@@", - isRequired=False, - ), - objc.selector(None, b"exposeBinding:", b"v@:@", isRequired=False), - objc.selector(None, b"valueClassForBinding:", b"#@:@", isRequired=False), - objc.selector(None, b"unbind:", b"v@:@", isRequired=False), - objc.selector(None, b"infoForBinding:", b"@@:@", isRequired=False), - objc.selector(None, b"exposedBindings", b"@@:", isRequired=False), - objc.selector( - None, b"optionDescriptionsForBinding:", b"@@:@", isRequired=False - ), - ], - ), - "NSDictionaryControllerKeyValuePair": objc.informal_protocol( - "NSDictionaryControllerKeyValuePair", - [ - objc.selector(None, b"setKey:", b"v@:@", isRequired=False), - objc.selector(None, b"setLocalizedKey:", b"v@:@", isRequired=False), - objc.selector(None, b"value", b"@@:", isRequired=False), - objc.selector(None, b"isExplicitlyIncluded", b"Z@:", isRequired=False), - objc.selector(None, b"setValue:", b"v@:@", isRequired=False), - objc.selector(None, b"key", b"@@:", isRequired=False), - objc.selector(None, b"localizedKey", b"@@:", isRequired=False), - ], - ), - "NSEditor": objc.informal_protocol( - "NSEditor", - [ - objc.selector(None, b"discardEditing", b"v@:", isRequired=False), - objc.selector(None, b"commitEditing", b"Z@:", isRequired=False), - objc.selector( - None, - b"commitEditingWithDelegate:didCommitSelector:contextInfo:", - b"v@:@:^v", - isRequired=False, - ), - objc.selector( - None, b"commitEditingAndReturnError:", b"Z@:^@", isRequired=False - ), - ], - ), - "NSFontManagerDelegate": objc.informal_protocol( - "NSFontManagerDelegate", - [ - objc.selector( - None, b"fontManager:willIncludeFont:", b"Z@:@@", isRequired=False - ) - ], - ), - "NSControlSubclassNotifications": objc.informal_protocol( - "NSControlSubclassNotifications", - [ - objc.selector(None, b"controlTextDidChange:", b"v@:@", isRequired=False), - objc.selector( - None, b"controlTextDidBeginEditing:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"controlTextDidEndEditing:", b"v@:@", isRequired=False - ), - ], - ), - "NSServicesRequests": objc.informal_protocol( - "NSServicesRequests", - [ - objc.selector( - None, b"readSelectionFromPasteboard:", b"Z@:@", isRequired=False - ), - objc.selector( - None, b"writeSelectionToPasteboard:types:", b"Z@:@@", isRequired=False - ), - ], - ), - "NSTableViewDataSourceDeprecated": objc.informal_protocol( - "NSTableViewDataSourceDeprecated", - [ - objc.selector( - None, b"tableView:writeRows:toPasteboard:", b"Z@:@@@", isRequired=False - ) - ], - ), - "NSPlaceholders": objc.informal_protocol( - "NSPlaceholders", - [ - objc.selector( - None, - b"setDefaultPlaceholder:forMarker:withBinding:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"defaultPlaceholderForMarker:withBinding:", - b"@@:@@", - isRequired=False, - ), - ], - ), - "NSDeprecatedTextStorageDelegateInterface": objc.informal_protocol( - "NSDeprecatedTextStorageDelegateInterface", - [ - objc.selector( - None, b"textStorageWillProcessEditing:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"textStorageDidProcessEditing:", b"v@:@", isRequired=False - ), - ], - ), - "NSDraggingSourceDeprecated": objc.informal_protocol( - "NSDraggingSourceDeprecated", - [ - objc.selector( - None, - b"namesOfPromisedFilesDroppedAtDestination:", - b"@@:@", - isRequired=False, - ), - objc.selector( - None, - b"draggedImage:endedAt:operation:", - b"v@:@{CGPoint=dd}Q", - isRequired=False, - ), - objc.selector( - None, b"draggedImage:beganAt:", b"v@:@{CGPoint=dd}", isRequired=False - ), - objc.selector( - None, - b"draggedImage:endedAt:deposited:", - b"v@:@{CGPoint=dd}Z", - isRequired=False, - ), - objc.selector( - None, b"draggingSourceOperationMaskForLocal:", b"Q@:Z", isRequired=False - ), - objc.selector( - None, b"draggedImage:movedTo:", b"v@:@{CGPoint=dd}", isRequired=False - ), - objc.selector( - None, b"ignoreModifierKeysWhileDragging", b"Z@:", isRequired=False - ), - ], - ), - "NSColorPanelResponderMethod": objc.informal_protocol( - "NSColorPanelResponderMethod", - [objc.selector(None, b"changeColor:", b"v@:@", isRequired=False)], - ), - "NSMenuValidation": objc.informal_protocol( - "NSMenuValidation", - [objc.selector(None, b"validateMenuItem:", b"Z@:@", isRequired=False)], - ), - "NSEditorRegistration": objc.informal_protocol( - "NSEditorRegistration", - [ - objc.selector(None, b"objectDidEndEditing:", b"v@:@", isRequired=False), - objc.selector(None, b"objectDidBeginEditing:", b"v@:@", isRequired=False), - ], - ), - "NSFontManagerResponderMethod": objc.informal_protocol( - "NSFontManagerResponderMethod", - [objc.selector(None, b"changeFont:", b"v@:@", isRequired=False)], - ), - "NSLayerDelegateContentsScaleUpdating": objc.informal_protocol( - "NSLayerDelegateContentsScaleUpdating", - [ - objc.selector( - None, - b"layer:shouldInheritContentsScale:fromWindow:", - b"Z@:@d@", - isRequired=False, - ) - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/AppKit/_nsapp.py b/src/lib/AppKit/_nsapp.py deleted file mode 100644 index a86d591..0000000 --- a/src/lib/AppKit/_nsapp.py +++ /dev/null @@ -1,29 +0,0 @@ -import objc -from AppKit import __bundle__ - - -class _NSApp: - """ - Helper class to emulate NSApp in Python. - """ - - def __getrealapp(self): - d = {} - objc.loadBundleVariables(__bundle__, d, [("NSApp", b"@")]) - return d.get("NSApp") - - __class__ = property(lambda self: self.__getrealapp().__class__) - - def __getattr__(self, name): - return getattr(self.__getrealapp(), name) - - def __setattr__(self, name, value): - return setattr(self.__getrealapp(), name, value) - - def __call__(self): - # Compatibility with previous versions. - return self.__getrealapp() - - -NSApp = _NSApp() -del _NSApp diff --git a/src/lib/AppTrackingTransparency/__init__.py b/src/lib/AppTrackingTransparency/__init__.py deleted file mode 100644 index 70ee141..0000000 --- a/src/lib/AppTrackingTransparency/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the AppTrackingTransparency framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AppTrackingTransparency import _metadata - -sys.modules["AppTrackingTransparency"] = mod = objc.ObjCLazyModule( - "AppTrackingTransparency", - "com.apple.AppTrackingTransparency", - objc.pathForFramework( - "/System/Library/Frameworks/AppTrackingTransparency.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["AppTrackingTransparency._metadata"] diff --git a/src/lib/AppTrackingTransparency/_metadata.py b/src/lib/AppTrackingTransparency/_metadata.py deleted file mode 100644 index e16b402..0000000 --- a/src/lib/AppTrackingTransparency/_metadata.py +++ /dev/null @@ -1,64 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:27:38 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$AppTrackingTransparencyVersionNumber@d$AppTrackingTransparencyVersionString@*$""" -enums = """$ATTrackingManagerAuthorizationStatusAuthorized@3$ATTrackingManagerAuthorizationStatusDenied@2$ATTrackingManagerAuthorizationStatusNotDetermined@0$ATTrackingManagerAuthorizationStatusRestricted@1$""" -misc.update( - { - "ATTrackingManagerAuthorizationStatus": NewType( - "ATTrackingManagerAuthorizationStatus", int - ) - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"ATTrackingManager", - b"requestTrackingAuthorizationWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Q"}}, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AppleScriptKit/__init__.py b/src/lib/AppleScriptKit/__init__.py deleted file mode 100644 index 34933c8..0000000 --- a/src/lib/AppleScriptKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AppleScriptKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import objc -from AppleScriptKit import _metadata - -sys.modules["AppleScriptKit"] = mod = objc.ObjCLazyModule( - "AppleScriptKit", - "com.apple.AppleScriptKit", - objc.pathForFramework("/System/Library/Frameworks/AppleScriptKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (AppKit,), -) - - -del sys.modules["AppleScriptKit._metadata"] diff --git a/src/lib/AppleScriptKit/_metadata.py b/src/lib/AppleScriptKit/_metadata.py deleted file mode 100644 index 53e4dea..0000000 --- a/src/lib/AppleScriptKit/_metadata.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:27:54 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -expressions = {} - -# END OF FILE diff --git a/src/lib/AppleScriptObjC/__init__.py b/src/lib/AppleScriptObjC/__init__.py deleted file mode 100644 index a081322..0000000 --- a/src/lib/AppleScriptObjC/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AppleScriptObjC framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AppleScriptObjC import _metadata - -sys.modules["AppleScriptObjC"] = mod = objc.ObjCLazyModule( - "AppleScriptObjC", - "com.apple.AppleScriptObjC", - objc.pathForFramework("/System/Library/Frameworks/AppleScriptObjC.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["AppleScriptObjC._metadata"] diff --git a/src/lib/AppleScriptObjC/_metadata.py b/src/lib/AppleScriptObjC/_metadata.py deleted file mode 100644 index 0dcd116..0000000 --- a/src/lib/AppleScriptObjC/_metadata.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:28:08 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -expressions = {} - -# END OF FILE diff --git a/src/lib/ApplicationServices/__init__.py b/src/lib/ApplicationServices/__init__.py deleted file mode 100644 index 41759c2..0000000 --- a/src/lib/ApplicationServices/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the ApplicationServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreText -import HIServices -import objc -import Quartz.CoreGraphics -import Quartz.ImageIO - -# import ATS -# import ColorSync -# import LangAnalysis -# import PrintCore -# import QD -# import SpeechSynthesis - -sys.modules["ApplicationServices"] = mod = objc.ObjCLazyModule( - "ApplicationServices", - "com.apple.ApplicationServices", - objc.pathForFramework("/System/Library/Frameworks/ApplicationServices.framework"), - {}, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Quartz.ImageIO, Quartz.CoreGraphics, HIServices, CoreText), -) diff --git a/src/lib/AudioVideoBridging/__init__.py b/src/lib/AudioVideoBridging/__init__.py deleted file mode 100644 index 98e9ba1..0000000 --- a/src/lib/AudioVideoBridging/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AudioVideoBridging framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from . import _metadata - -sys.modules["AudioVideoBridging"] = mod = objc.ObjCLazyModule( - "AudioVideoBridging", - "com.apple.AudioVideoBridging", - objc.pathForFramework("/System/Library/Frameworks/AudioVideoBridging.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["AudioVideoBridging._metadata"] diff --git a/src/lib/AudioVideoBridging/_metadata.py b/src/lib/AudioVideoBridging/_metadata.py deleted file mode 100644 index b9dafa8..0000000 --- a/src/lib/AudioVideoBridging/_metadata.py +++ /dev/null @@ -1,277 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:28:54 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$AVBErrorDomain$AVBNullEUI64@Q$""" -enums = """$AVB17221ACMPFlagsClassB@1$AVB17221ACMPFlagsEncryptedPDU@32$AVB17221ACMPFlagsFastConnect@2$AVB17221ACMPFlagsNone@0$AVB17221ACMPFlagsSavedState@4$AVB17221ACMPFlagsStreamingConnectedListenersValid@128$AVB17221ACMPFlagsStreamingNoStreamReservationProtocol@256$AVB17221ACMPFlagsStreamingTalkerFailed@64$AVB17221ACMPFlagsStreamingUsingUDP@512$AVB17221ACMPFlagsStreamingWait@8$AVB17221ACMPFlagsSupportsEncrypted@16$AVB17221ACMPMessageTypeConnectRXCommand@6$AVB17221ACMPMessageTypeConnectRXResponse@7$AVB17221ACMPMessageTypeConnectTXCommand@0$AVB17221ACMPMessageTypeConnectTXResponse@1$AVB17221ACMPMessageTypeDisconnectRXCommand@8$AVB17221ACMPMessageTypeDisconnectRXResponse@9$AVB17221ACMPMessageTypeDisconnectTXCommand@2$AVB17221ACMPMessageTypeDisconnectTXResponse@3$AVB17221ACMPMessageTypeGetRXStateCommand@10$AVB17221ACMPMessageTypeGetRXStateResponse@11$AVB17221ACMPMessageTypeGetTXConnectionCommand@12$AVB17221ACMPMessageTypeGetTXConnectionResponse@13$AVB17221ACMPMessageTypeGetTXStateCommand@4$AVB17221ACMPMessageTypeGetTXStateResponse@5$AVB17221ACMPStatusControllerNotAuthorized@16$AVB17221ACMPStatusIncompatibleRequest@17$AVB17221ACMPStatusListenerCanOnlyListenOnce@19$AVB17221ACMPStatusListenerExclusive@8$AVB17221ACMPStatusListenerInvalidConnection@18$AVB17221ACMPStatusListenerMisbehaving@14$AVB17221ACMPStatusListenerTalkerTimeout@7$AVB17221ACMPStatusListenerUnknownID@1$AVB17221ACMPStatusNoSuchConnection@11$AVB17221ACMPStatusNotConnected@10$AVB17221ACMPStatusNotSupported@31$AVB17221ACMPStatusSRPFace@15$AVB17221ACMPStatusStateUnavailable@9$AVB17221ACMPStatusSuccess@0$AVB17221ACMPStatusTalkerDestMACFail@3$AVB17221ACMPStatusTalkerExclusive@6$AVB17221ACMPStatusTalkerMisbehaving@13$AVB17221ACMPStatusTalkerNoBandwidth@5$AVB17221ACMPStatusTalkerNoStreamIndex@4$AVB17221ACMPStatusTalkerUnknownID@2$AVB17221ACMPStatusUnableToSendMessage@12$AVB17221ADPControllerCapabilitiesHasLayer3Proxy@2$AVB17221ADPControllerCapabilitiesImplemented@1$AVB17221ADPEntityCapabilitiesACMPAcquireWithAEM@262144$AVB17221ADPEntityCapabilitiesACMPAuthenticateWithAEM@524288$AVB17221ADPEntityCapabilitiesAEMAuthenticationRequired@4096$AVB17221ADPEntityCapabilitiesAEMAuthenticationSupported@2048$AVB17221ADPEntityCapabilitiesAEMIdenitifyControlIndexValid@16384$AVB17221ADPEntityCapabilitiesAEMInterfaceIndexValid@32768$AVB17221ADPEntityCapabilitiesAEMPersistentAcquireSupported@8192$AVB17221ADPEntityCapabilitiesAEMSupported@8$AVB17221ADPEntityCapabilitiesASSupported@1024$AVB17221ADPEntityCapabilitiesAddressAccessSupported@2$AVB17221ADPEntityCapabilitiesAssociationIDSupported@32$AVB17221ADPEntityCapabilitiesAssociationIDValid@64$AVB17221ADPEntityCapabilitiesClassASupported@256$AVB17221ADPEntityCapabilitiesClassBSupported@512$AVB17221ADPEntityCapabilitiesDFUMode@1$AVB17221ADPEntityCapabilitiesEFUMode@1$AVB17221ADPEntityCapabilitiesEntityNotReady@131072$AVB17221ADPEntityCapabilitiesGPTPSupported@1024$AVB17221ADPEntityCapabilitiesGatewayEntity@4$AVB17221ADPEntityCapabilitiesGeneralControllerIgnore@65536$AVB17221ADPEntityCapabilitiesLegacyAVC@16$AVB17221ADPEntityCapabilitiesMultiplePTPInstances@16777216$AVB17221ADPEntityCapabilitiesSupportsUDPv4ATDECC@1048576$AVB17221ADPEntityCapabilitiesSupportsUDPv4Streaming@2097152$AVB17221ADPEntityCapabilitiesSupportsUDPv6ATDECC@4194304$AVB17221ADPEntityCapabilitiesSupportsUDPv6Streaming@8388608$AVB17221ADPEntityCapabilitiesVendorUniqueSupported@128$AVB17221ADPListenerCapabilitiesHasAudioSink@16384$AVB17221ADPListenerCapabilitiesHasControlSink@1024$AVB17221ADPListenerCapabilitiesHasMIDISink@8192$AVB17221ADPListenerCapabilitiesHasMediaClockSink@2048$AVB17221ADPListenerCapabilitiesHasOtherSink@512$AVB17221ADPListenerCapabilitiesHasSMPTESink@4096$AVB17221ADPListenerCapabilitiesHasVideoSink@32768$AVB17221ADPListenerCapabilitiesImplemented@1$AVB17221ADPTalkerCapabilitiesHasAudioSource@16384$AVB17221ADPTalkerCapabilitiesHasControlSource@1024$AVB17221ADPTalkerCapabilitiesHasMIDISource@8192$AVB17221ADPTalkerCapabilitiesHasMediaClockSource@2048$AVB17221ADPTalkerCapabilitiesHasOtherSource@512$AVB17221ADPTalkerCapabilitiesHasSMPTESource@4096$AVB17221ADPTalkerCapabilitiesHasVideoSource@32768$AVB17221ADPTalkerCapabilitiesImplemented@1$AVB17221AECPAddressAccessTLVModeExecute@2$AVB17221AECPAddressAccessTLVModeRead@0$AVB17221AECPAddressAccessTLVModeWrite@1$AVB17221AECPMessageTypeAEMCommand@0$AVB17221AECPMessageTypeAEMResponse@1$AVB17221AECPMessageTypeAddressAccessCommand@2$AVB17221AECPMessageTypeAddressAccessResponse@3$AVB17221AECPMessageTypeLegacyAVCCommand@4$AVB17221AECPMessageTypeLegacyAVCResponse@5$AVB17221AECPMessageTypeVendorUniqueCommand@6$AVB17221AECPMessageTypeVendorUniqueResponse@7$AVB17221AECPStatusAVCFailure@2$AVB17221AECPStatusAddressAccessAddressInvalid@4$AVB17221AECPStatusAddressAccessAddressTooHigh@3$AVB17221AECPStatusAddressAccessAddressTooLow@2$AVB17221AECPStatusAddressAccessDataInvalid@6$AVB17221AECPStatusAddressAccessTLVInvalid@5$AVB17221AECPStatusAddressAccessUnsupported@7$AVB17221AECPStatusBadArguments@7$AVB17221AECPStatusEntityAcquired@4$AVB17221AECPStatusEntityLocked@3$AVB17221AECPStatusEntityMisbehaving@10$AVB17221AECPStatusInProgress@9$AVB17221AECPStatusInsufficientPrivileges@6$AVB17221AECPStatusNoResources@8$AVB17221AECPStatusNoSuchDescriptor@2$AVB17221AECPStatusNotAuthorized@5$AVB17221AECPStatusNotImplemented@1$AVB17221AECPStatusNotSupported@11$AVB17221AECPStatusStreamIsRunning@12$AVB17221AECPStatusSuccess@0$AVB17221AEMCommandTypeAbortOperation@53$AVB17221AEMCommandTypeAcquireEntity@0$AVB17221AEMCommandTypeAddAudioMapping@44$AVB17221AEMCommandTypeAddSensorMapping@50$AVB17221AEMCommandTypeAddVideoMapping@47$AVB17221AEMCommandTypeAuthenticate@65$AVB17221AEMCommandTypeAuthenticateAddKey@55$AVB17221AEMCommandTypeAuthenticateAddKeyToChain@59$AVB17221AEMCommandTypeAuthenticateAddToken@63$AVB17221AEMCommandTypeAuthenticateDeleteKey@56$AVB17221AEMCommandTypeAuthenticateDeleteKeyFromChain@60$AVB17221AEMCommandTypeAuthenticateDeleteToken@64$AVB17221AEMCommandTypeAuthenticateGetIdentity@62$AVB17221AEMCommandTypeAuthenticateGetKey@58$AVB17221AEMCommandTypeAuthenticateGetKeyList@57$AVB17221AEMCommandTypeAuthenticateGetKeychainList@61$AVB17221AEMCommandTypeControllerAvailable@3$AVB17221AEMCommandTypeDeauthenticate@66$AVB17221AEMCommandTypeDecrementControl@27$AVB17221AEMCommandTypeDeregisterUnsolicitedNotification@37$AVB17221AEMCommandTypeDisableStreamEncryption@70$AVB17221AEMCommandTypeDisableTransportSecurity@68$AVB17221AEMCommandTypeEnableStreamEncryption@69$AVB17221AEMCommandTypeEnableTransportSecurity@67$AVB17221AEMCommandTypeEntityAvailable@2$AVB17221AEMCommandTypeGetASPath@40$AVB17221AEMCommandTypeGetAVBInfo@39$AVB17221AEMCommandTypeGetAssociationID@19$AVB17221AEMCommandTypeGetAudioMap@43$AVB17221AEMCommandTypeGetClockSource@23$AVB17221AEMCommandTypeGetConfiguration@7$AVB17221AEMCommandTypeGetControl@25$AVB17221AEMCommandTypeGetCounters@41$AVB17221AEMCommandTypeGetDynamicInfo@75$AVB17221AEMCommandTypeGetMatrix@33$AVB17221AEMCommandTypeGetMaxTransitTime@77$AVB17221AEMCommandTypeGetMemoryObjectLength@72$AVB17221AEMCommandTypeGetMixer@31$AVB17221AEMCommandTypeGetName@17$AVB17221AEMCommandTypeGetPTPInstanceExtendedInfo@82$AVB17221AEMCommandTypeGetPTPInstanceGrandmasterInfo@83$AVB17221AEMCommandTypeGetPTPInstanceInfo@81$AVB17221AEMCommandTypeGetPTPInstancePathCount@84$AVB17221AEMCommandTypeGetPTPInstancePathTrace@85$AVB17221AEMCommandTypeGetPTPInstancePerformanceMonitoringCount@86$AVB17221AEMCommandTypeGetPTPInstancePerformanceMonitoringRecord@87$AVB17221AEMCommandTypeGetPTPPortCurrentIntervals@91$AVB17221AEMCommandTypeGetPTPPortInfo@95$AVB17221AEMCommandTypeGetPTPPortInitialIntervals@89$AVB17221AEMCommandTypeGetPTPPortOverrides@97$AVB17221AEMCommandTypeGetPTPPortPDelayMonitoringCount@98$AVB17221AEMCommandTypeGetPTPPortPDelayMonitoringRecord@99$AVB17221AEMCommandTypeGetPTPPortPerformanceMonitoringCount@100$AVB17221AEMCommandTypeGetPTPPortPerformanceMonitoringRecord@101$AVB17221AEMCommandTypeGetPTPPortRemoteIntervals@93$AVB17221AEMCommandTypeGetPathLatency@102$AVB17221AEMCommandTypeGetSamplingRate@21$AVB17221AEMCommandTypeGetSamplingRateRange@79$AVB17221AEMCommandTypeGetSensorFormat@13$AVB17221AEMCommandTypeGetSensorMap@49$AVB17221AEMCommandTypeGetSignalSelector@29$AVB17221AEMCommandTypeGetStreamBackup@74$AVB17221AEMCommandTypeGetStreamFormat@9$AVB17221AEMCommandTypeGetStreamInfo@15$AVB17221AEMCommandTypeGetVideoFormat@11$AVB17221AEMCommandTypeGetVideoMap@46$AVB17221AEMCommandTypeIdentifyNotification@38$AVB17221AEMCommandTypeIncrementControl@26$AVB17221AEMCommandTypeLockEntity@1$AVB17221AEMCommandTypeOperationStatus@54$AVB17221AEMCommandTypeReadDescriptor@4$AVB17221AEMCommandTypeReboot@42$AVB17221AEMCommandTypeRegisterUnsolicitedNotification@36$AVB17221AEMCommandTypeRemoveAudioMapping@45$AVB17221AEMCommandTypeRemoveSensorMapping@51$AVB17221AEMCommandTypeRemoveVideoMapping@48$AVB17221AEMCommandTypeSetAssociationID@18$AVB17221AEMCommandTypeSetClockSource@22$AVB17221AEMCommandTypeSetConfiguration@6$AVB17221AEMCommandTypeSetControl@24$AVB17221AEMCommandTypeSetMatrix@32$AVB17221AEMCommandTypeSetMaxTransitTime@76$AVB17221AEMCommandTypeSetMemoryObjectLength@71$AVB17221AEMCommandTypeSetMixer@30$AVB17221AEMCommandTypeSetName@16$AVB17221AEMCommandTypeSetPTPInstanceInfo@80$AVB17221AEMCommandTypeSetPTPPortInfo@94$AVB17221AEMCommandTypeSetPTPPortInitialIntervals@88$AVB17221AEMCommandTypeSetPTPPortOverrides@96$AVB17221AEMCommandTypeSetPTPPortRemoteIntervals@92$AVB17221AEMCommandTypeSetSampingRateRange@78$AVB17221AEMCommandTypeSetSamplingRate@20$AVB17221AEMCommandTypeSetSensorFormat@12$AVB17221AEMCommandTypeSetSignalSelector@28$AVB17221AEMCommandTypeSetStreamBackup@73$AVB17221AEMCommandTypeSetStreamFormat@8$AVB17221AEMCommandTypeSetStreamInfo@14$AVB17221AEMCommandTypeSetVideoFormat@10$AVB17221AEMCommandTypeStartOperation@52$AVB17221AEMCommandTypeStartStreaming@34$AVB17221AEMCommandTypeStopStreaming@35$AVB17221AEMCommandTypeWriteDescriptor@5$AVB17221EntityPropertyChangedASGrandmasterID@2048$AVB17221EntityPropertyChangedAssociationID@32768$AVB17221EntityPropertyChangedAvailableIndex@1024$AVB17221EntityPropertyChangedControllerCapabilities@512$AVB17221EntityPropertyChangedEntityCapabilities@16$AVB17221EntityPropertyChangedEntityID@2$AVB17221EntityPropertyChangedEntityType@65536$AVB17221EntityPropertyChangedGPTPDomainNumber@524288$AVB17221EntityPropertyChangedGPTPGrandmasterID@2048$AVB17221EntityPropertyChangedGUID@2$AVB17221EntityPropertyChangedIdentifyControlIndex@131072$AVB17221EntityPropertyChangedInterfaceIndex@262144$AVB17221EntityPropertyChangedListenerCapabilities@256$AVB17221EntityPropertyChangedListenerStreamSinks@128$AVB17221EntityPropertyChangedMACAddress@4096$AVB17221EntityPropertyChangedModelID@8$AVB17221EntityPropertyChangedTalkerCapabilities@64$AVB17221EntityPropertyChangedTalkerStreamSources@32$AVB17221EntityPropertyChangedTimeToLive@1$AVB17221EntityPropertyChangedVendorID@4$AVBMACAddressSize@6$""" -misc.update( - { - "AVB17221ADPListenerCapabilities": NewType( - "AVB17221ADPListenerCapabilities", int - ), - "AVB17221ACMPMessageType": NewType("AVB17221ACMPMessageType", int), - "AVB17221ACMPStatusCode": NewType("AVB17221ACMPStatusCode", int), - "AVB17221EntityPropertyChanged": NewType("AVB17221EntityPropertyChanged", int), - "AVB17221AECPStatusCode": NewType("AVB17221AECPStatusCode", int), - "AVB17221AECPAddressAccessTLVMode": NewType( - "AVB17221AECPAddressAccessTLVMode", int - ), - "AVB17221ADPTalkerCapabilities": NewType("AVB17221ADPTalkerCapabilities", int), - "AVB17221AECPMessageType": NewType("AVB17221AECPMessageType", int), - "AVB17221ADPEntityCapabilities": NewType("AVB17221ADPEntityCapabilities", int), - "AVB17221ADPControllerCapabilities": NewType( - "AVB17221ADPControllerCapabilities", int - ), - "AVB17221AEMCommandType": NewType("AVB17221AEMCommandType", int), - "AVB17221ACMPFlags": NewType("AVB17221ACMPFlags", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AVB17221ACMPInterface", - b"sendACMPCommandMessage:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - }, - ) - r( - b"AVB17221ACMPInterface", - b"sendACMPResponseMessage:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AVB17221ACMPInterface", b"setHandler:forEntityID:", {"retval": {"type": b"Z"}}) - r(b"AVB17221AECPAEMMessage", b"isControllerRequest", {"retval": {"type": b"Z"}}) - r(b"AVB17221AECPAEMMessage", b"isUnsolicited", {"retval": {"type": b"Z"}}) - r( - b"AVB17221AECPAEMMessage", - b"setControllerRequest:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AVB17221AECPAEMMessage", b"setUnsolicited:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVB17221AECPInterface", - b"sendCommand:toMACAddress:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - }, - ) - r( - b"AVB17221AECPInterface", - b"sendResponse:toMACAddress:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"AVB17221AECPInterface", - b"setCommandHandler:forEntityID:", - {"retval": {"type": b"Z"}}, - ) - r( - b"AVB17221AECPInterface", - b"setResponseHandler:forControllerEntityID:", - {"retval": {"type": b"Z"}}, - ) - r(b"AVB17221Entity", b"isLocalEntity", {"retval": {"type": b"Z"}}) - r(b"AVB17221Entity", b"setLocalEntity:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"AVB17221EntityDiscovery", - b"addLocalEntity:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVB17221EntityDiscovery", - b"changeEntityWithEntityID:toNewGPTPGrandmasterID:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AVB17221EntityDiscovery", b"discoverEntities", {"retval": {"type": b"Z"}}) - r(b"AVB17221EntityDiscovery", b"discoverEntity:", {"retval": {"type": b"Z"}}) - r( - b"AVB17221EntityDiscovery", - b"removeLocalEntity:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AVBCentralManager", - b"streamingEnabledInterfacesOnly", - {"retval": {"type": b"Z"}}, - ) - r(b"AVBInterface", b"isAVBCapableInterfaceNamed:", {"retval": {"type": b"Z"}}) - r(b"AVBInterface", b"isAVBEnabledOnInterfaceNamed:", {"retval": {"type": b"Z"}}) - r(b"AVBMACAddress", b"bytes", {"retval": {"c_array_of_fixed_length": 6}}) - r( - b"AVBMACAddress", - b"initWithBytes:", - {"arguments": {2: {"c_array_of_fixed_length": 6, "type_modifier": b"n"}}}, - ) - r(b"AVBMACAddress", b"isMulticast", {"retval": {"type": b"Z"}}) - r(b"AVBMACAddress", b"setMulticast:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSObject", - b"ACMPDidReceiveCommand:onInterface:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"ACMPDidReceiveResponse:onInterface:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"AECPDidReceiveCommand:onInterface:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"AECPDidReceiveResponse:onInterface:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didAddLocalEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didAddRemoteEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didRediscoverLocalEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didRediscoverRemoteEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didRemoveLocalEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didRemoveRemoteEntity:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didUpdateLocalEntity:changedProperties:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didUpdateRemoteEntity:changedProperties:on17221EntityDiscovery:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = { - "kAVB17221EntityPropertyChangedShouldntChangeMask": "(AVB17221EntityPropertyChangedEntityID | AVB17221EntityPropertyChangedVendorID | AVB17221EntityPropertyChangedModelID | AVB17221EntityPropertyChangedTalkerStreamSources | AVB17221EntityPropertyChangedTalkerCapabilities | AVB17221EntityPropertyChangedListenerStreamSinks | AVB17221EntityPropertyChangedListenerCapabilities | AVB17221EntityPropertyChangedControllerCapabilities | AVB17221EntityPropertyChangedMACAddress | AVB17221EntityPropertyChangedAssociationID | AVB17221EntityPropertyChangedEntityType | AVB17221EntityPropertyChangedIdentifyControlIndex | AVB17221EntityPropertyChangedInterfaceIndex)", - "kAVB17221EntityPropertyChangedCanChangeMask": "(AVB17221EntityPropertyChangedTimeToLive | AVB17221EntityPropertyChangedAvailableIndex | AVB17221EntityPropertyChangedGPTPGrandmasterID | AVB17221EntityPropertyChangedGPTPDomainNumber | AVB17221EntityPropertyChangedEntityCapabilities )", -} - -# END OF FILE diff --git a/src/lib/AuthenticationServices/__init__.py b/src/lib/AuthenticationServices/__init__.py deleted file mode 100644 index 57a1ef1..0000000 --- a/src/lib/AuthenticationServices/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the AuthenticationServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from AuthenticationServices import _AuthenticationServices, _metadata - -sys.modules["AuthenticationServices"] = mod = objc.ObjCLazyModule( - "AuthenticationServices", - "com.apple.AuthenticationServices", - objc.pathForFramework( - "/System/Library/Frameworks/AuthenticationServices.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_AuthenticationServices, Foundation), -) - - -del sys.modules["AuthenticationServices._metadata"] diff --git a/src/lib/AuthenticationServices/_metadata.py b/src/lib/AuthenticationServices/_metadata.py deleted file mode 100644 index 9fc21fb..0000000 --- a/src/lib/AuthenticationServices/_metadata.py +++ /dev/null @@ -1,515 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:20:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ASAuthorizationAppleIDProviderCredentialRevokedNotification$ASAuthorizationCustomMethodOther$ASAuthorizationCustomMethodRestorePurchase$ASAuthorizationCustomMethodVideoSubscriberAccount$ASAuthorizationErrorDomain$ASAuthorizationOperationImplicit$ASAuthorizationOperationLogin$ASAuthorizationOperationLogout$ASAuthorizationOperationRefresh$ASAuthorizationProviderAuthorizationOperationConfigurationRemoved$ASAuthorizationPublicKeyCredentialAttestationKindDirect$ASAuthorizationPublicKeyCredentialAttestationKindEnterprise$ASAuthorizationPublicKeyCredentialAttestationKindIndirect$ASAuthorizationPublicKeyCredentialAttestationKindNone$ASAuthorizationPublicKeyCredentialResidentKeyPreferenceDiscouraged$ASAuthorizationPublicKeyCredentialResidentKeyPreferencePreferred$ASAuthorizationPublicKeyCredentialResidentKeyPreferenceRequired$ASAuthorizationPublicKeyCredentialUserVerificationPreferenceDiscouraged$ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred$ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired$ASAuthorizationScopeEmail$ASAuthorizationScopeFullName$ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportBluetooth$ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportNFC$ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportUSB$ASCredentialIdentityStoreErrorDomain$ASExtensionErrorDomain$ASExtensionLocalizedFailureReasonErrorKey$ASWebAuthenticationSessionErrorDomain$""" -enums = """$ASAuthorizationAppleIDButtonStyleBlack@2$ASAuthorizationAppleIDButtonStyleWhite@0$ASAuthorizationAppleIDButtonStyleWhiteOutline@1$ASAuthorizationAppleIDButtonTypeContinue@1$ASAuthorizationAppleIDButtonTypeDefault@0$ASAuthorizationAppleIDButtonTypeSignIn@0$ASAuthorizationAppleIDButtonTypeSignUp@2$ASAuthorizationAppleIDProviderCredentialAuthorized@1$ASAuthorizationAppleIDProviderCredentialNotFound@2$ASAuthorizationAppleIDProviderCredentialRevoked@0$ASAuthorizationAppleIDProviderCredentialTransferred@3$ASAuthorizationErrorCanceled@1001$ASAuthorizationErrorFailed@1004$ASAuthorizationErrorInvalidResponse@1002$ASAuthorizationErrorNotHandled@1003$ASAuthorizationErrorNotInteractive@1005$ASAuthorizationErrorUnknown@1000$ASCOSEAlgorithmIdentifierES256@-7$ASCOSEEllipticCurveIdentifierP256@1$ASCredentialIdentityStoreErrorCodeInternalError@0$ASCredentialIdentityStoreErrorCodeStoreBusy@2$ASCredentialIdentityStoreErrorCodeStoreDisabled@1$ASCredentialServiceIdentifierTypeDomain@0$ASCredentialServiceIdentifierTypeURL@1$ASExtensionErrorCodeCredentialIdentityNotFound@101$ASExtensionErrorCodeFailed@0$ASExtensionErrorCodeUserCanceled@1$ASExtensionErrorCodeUserInteractionRequired@100$ASUserDetectionStatusLikelyReal@2$ASUserDetectionStatusUnknown@1$ASUserDetectionStatusUnsupported@0$ASWebAuthenticationSessionErrorCodeCanceledLogin@1$ASWebAuthenticationSessionErrorCodePresentationContextInvalid@3$ASWebAuthenticationSessionErrorCodePresentationContextNotProvided@2$""" -misc.update( - { - "ASAuthorizationAppleIDButtonType": NewType( - "ASAuthorizationAppleIDButtonType", int - ), - "ASUserDetectionStatus": NewType("ASUserDetectionStatus", int), - "ASAuthorizationAppleIDProviderCredentialState": NewType( - "ASAuthorizationAppleIDProviderCredentialState", int - ), - "ASCredentialServiceIdentifierType": NewType( - "ASCredentialServiceIdentifierType", int - ), - "ASCredentialIdentityStoreErrorCode": NewType( - "ASCredentialIdentityStoreErrorCode", int - ), - "ASExtensionErrorCode": NewType("ASExtensionErrorCode", int), - "ASAuthorizationAppleIDButtonStyle": NewType( - "ASAuthorizationAppleIDButtonStyle", int - ), - "ASAuthorizationError": NewType("ASAuthorizationError", int), - "ASWebAuthenticationSessionErrorCode": NewType( - "ASWebAuthenticationSessionErrorCode", int - ), - } -) -misc.update( - { - "ASAuthorizationPublicKeyCredentialUserVerificationPreference": NewType( - "ASAuthorizationPublicKeyCredentialUserVerificationPreference", str - ), - "ASAuthorizationProviderAuthorizationOperation": NewType( - "ASAuthorizationProviderAuthorizationOperation", str - ), - "ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport": NewType( - "ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport", str - ), - "ASAuthorizationScope": NewType("ASAuthorizationScope", str), - "ASAuthorizationPublicKeyCredentialResidentKeyPreference": NewType( - "ASAuthorizationPublicKeyCredentialResidentKeyPreference", str - ), - "ASCOSEEllipticCurveIdentifier": NewType("ASCOSEEllipticCurveIdentifier", int), - "ASAuthorizationPublicKeyCredentialAttestationKind": NewType( - "ASAuthorizationPublicKeyCredentialAttestationKind", str - ), - "ASAuthorizationOpenIDOperation": NewType( - "ASAuthorizationOpenIDOperation", str - ), - "ASAuthorizationCustomMethod": NewType("ASAuthorizationCustomMethod", str), - "ASCOSEAlgorithmIdentifier": NewType("ASCOSEAlgorithmIdentifier", int), - } -) -misc.update({}) -functions = { - "ASAuthorizationAllSupportedPublicKeyCredentialDescriptorTransports": (b"@",) -} -aliases = { - "ASAuthorizationAppleIDButtonTypeDefault": "ASAuthorizationAppleIDButtonTypeSignIn" -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"ASAccountAuthenticationModificationExtensionContext", - b"getSignInWithAppleUpgradeAuthorizationWithState:nonce:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASAuthorizationAppleIDProvider", - b"getCredentialStateForUserID:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASAuthorizationProviderExtensionAuthorizationRequest", - b"isCallerManaged", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASAuthorizationProviderExtensionAuthorizationRequest", - b"isUserInterfaceEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASAuthorizationProviderExtensionAuthorizationRequest", - b"presentAuthorizationViewControllerWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASAuthorizationSingleSignOnProvider", - b"canPerformAuthorization", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASAuthorizationSingleSignOnRequest", - b"isUserInterfaceEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASAuthorizationSingleSignOnRequest", - b"setUserInterfaceEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"ASCredentialIdentityStore", - b"getCredentialIdentityStoreStateWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ASCredentialIdentityStore", - b"removeAllCredentialIdentitiesWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASCredentialIdentityStore", - b"removeCredentialIdentities:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASCredentialIdentityStore", - b"replaceCredentialIdentitiesWithIdentities:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASCredentialIdentityStore", - b"saveCredentialIdentities:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"ASCredentialIdentityStoreState", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"ASCredentialIdentityStoreState", - b"supportsIncrementalUpdates", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASCredentialProviderExtensionContext", - b"completeRequestReturningItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"ASCredentialProviderExtensionContext", - b"completeRequestWithSelectedCredential:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r(b"ASWebAuthenticationSession", b"canStart", {"retval": {"type": "Z"}}) - r( - b"ASWebAuthenticationSession", - b"initWithURL:callbackURLScheme:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ASWebAuthenticationSession", - b"prefersEphemeralWebBrowserSession", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASWebAuthenticationSession", - b"setPrefersEphemeralWebBrowserSession:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"ASWebAuthenticationSession", b"start", {"retval": {"type": b"Z"}}) - r( - b"ASWebAuthenticationSessionRequest", - b"shouldUseEphemeralSession", - {"retval": {"type": b"Z"}}, - ) - r( - b"ASWebAuthenticationSessionWebBrowserSessionManager", - b"wasLaunchedByAuthenticationServices", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"accountAuthenticationModificationController:didFailRequest:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"accountAuthenticationModificationController:didSuccessfullyCompleteRequest:withUserInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"allowedCredentials", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"attestationPreference", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"authenticationSessionRequest:didCancelWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"authenticationSessionRequest:didCompleteWithCallbackURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"authorizationController:didCompleteWithAuthorization:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"authorizationController:didCompleteWithCustomMethod:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"authorizationController:didCompleteWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"beginAuthorizationWithRequest:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"beginHandlingWebAuthenticationSessionRequest:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cancelAuthorizationWithRequest:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cancelWebAuthenticationSessionRequest:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"challenge", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"credentialID", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"displayName", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"name", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"presentationAnchorForAccountAuthenticationModificationController:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentationAnchorForAuthorizationController:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentationAnchorForWebAuthenticationSession:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rawAttestationObject", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"rawAuthenticatorData", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"rawClientDataJSON", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"relyingPartyIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"setAllowedCredentials:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAttestationPreference:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setChallenge:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setCredentialID:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setDisplayName:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setName:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setRelyingPartyIdentifier:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setUserID:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setUserVerificationPreference:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"signature", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"userID", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"userVerificationPreference", - {"required": True, "retval": {"type": b"@"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/AutomaticAssessmentConfiguration/__init__.py b/src/lib/AutomaticAssessmentConfiguration/__init__.py deleted file mode 100644 index f2d8c31..0000000 --- a/src/lib/AutomaticAssessmentConfiguration/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the AutomaticAssessmentConfiguration framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from . import _metadata -from . import _AutomaticAssessmentConfiguration - -sys.modules["AutomaticAssessmentConfiguration"] = mod = objc.ObjCLazyModule( - "AutomaticAssessmentConfiguration", - "com.apple.AutomaticAssessmentConfiguration", - objc.pathForFramework( - "/System/Library/Frameworks/AutomaticAssessmentConfiguration.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_AutomaticAssessmentConfiguration, Foundation), -) - -del sys.modules["AutomaticAssessmentConfiguration._metadata"] diff --git a/src/lib/AutomaticAssessmentConfiguration/_metadata.py b/src/lib/AutomaticAssessmentConfiguration/_metadata.py deleted file mode 100644 index 0f2beb6..0000000 --- a/src/lib/AutomaticAssessmentConfiguration/_metadata.py +++ /dev/null @@ -1,242 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:30:00 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$AEAssessmentErrorDomain$""" -enums = """$AEAssessmentErrorUnknown@1$AEAutocorrectModeNone@0$AEAutocorrectModePunctuation@2$AEAutocorrectModeSpelling@1$""" -misc.update( - { - "AEAutocorrectMode": NewType("AEAutocorrectMode", int), - "AEAssessmentErrorCode": NewType("AEAssessmentErrorCode", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AEAssessmentApplication", - b"requiresSignatureValidation", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentApplication", - b"setRequiresSignatureValidation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"allowsAccessibilitySpeech", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentConfiguration", - b"allowsActivityContinuation", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentConfiguration", - b"allowsContinuousPathKeyboard", - {"retval": {"type": b"Z"}}, - ) - r(b"AEAssessmentConfiguration", b"allowsDictation", {"retval": {"type": b"Z"}}) - r( - b"AEAssessmentConfiguration", - b"allowsKeyboardShortcuts", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentConfiguration", - b"allowsPasswordAutoFill", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentConfiguration", - b"allowsPredictiveKeyboard", - {"retval": {"type": b"Z"}}, - ) - r(b"AEAssessmentConfiguration", b"allowsSpellCheck", {"retval": {"type": b"Z"}}) - r( - b"AEAssessmentConfiguration", - b"setAllowsAccessibilitySpeech:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsActivityContinuation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsContinuousPathKeyboard:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsDictation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsKeyboardShortcuts:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsPasswordAutoFill:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsPredictiveKeyboard:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentConfiguration", - b"setAllowsSpellCheck:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentParticipantConfiguration", - b"allowsNetworkAccess", - {"retval": {"type": b"Z"}}, - ) - r( - b"AEAssessmentParticipantConfiguration", - b"setAllowsNetworkAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"AEAssessmentSession", - b"beginSessionWithConfiguration:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"AEAssessmentSession", - b"endWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"AEAssessmentSession", - b"invalidationHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r(b"AEAssessmentSession", b"isActive", {"retval": {"type": "Z"}}) - r( - b"AEAssessmentSession", - b"setInvalidationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"assessmentSession:failedToBeginWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"assessmentSession:failedToUpdateToConfiguration:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"assessmentSession:wasInterruptedWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"assessmentSessionDidBegin:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"assessmentSessionDidEnd:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"assessmentSessionDidUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Automator/__init__.py b/src/lib/Automator/__init__.py deleted file mode 100644 index ed9d7c5..0000000 --- a/src/lib/Automator/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Automator framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import objc -from Automator import _metadata - -sys.modules["Automator"] = objc.ObjCLazyModule( - "Automator", - "com.apple.AutomatorFramework", - objc.pathForFramework("/System/Library/Frameworks/Automator.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "objc": objc, - "__loader__": globals().get("__loader__", None), - }, - (AppKit,), -) - - -del sys.modules["Automator._metadata"] diff --git a/src/lib/Automator/_metadata.py b/src/lib/Automator/_metadata.py deleted file mode 100644 index 9ba39b0..0000000 --- a/src/lib/Automator/_metadata.py +++ /dev/null @@ -1,185 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:30:15 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$AMActionApplicationResourceError@-206$AMActionApplicationVersionResourceError@-207$AMActionArchitectureMismatchError@-202$AMActionExceptionError@-213$AMActionExecutionError@-212$AMActionFailedGatekeeperError@-217$AMActionFileResourceError@-208$AMActionInitializationError@-211$AMActionInsufficientDataError@-215$AMActionIsDeprecatedError@-216$AMActionLicenseResourceError@-209$AMActionLinkError@-205$AMActionLoadError@-204$AMActionMalwareError@-221$AMActionNotLoadableError@-201$AMActionPropertyListInvalidError@-214$AMActionQuarantineError@-219$AMActionRequiredActionResourceError@-210$AMActionRuntimeMismatchError@-203$AMActionSignatureCorruptError@-218$AMActionThirdPartyActionsNotAllowedError@-222$AMActionXPCError@-223$AMActionXProtectError@-220$AMConversionFailedError@-302$AMConversionNoDataError@-301$AMConversionNotPossibleError@-300$AMLogLevelDebug@0$AMLogLevelError@3$AMLogLevelInfo@1$AMLogLevelWarn@2$AMNoSuchActionError@-200$AMUserCanceledError@-128$AMWorkflowActionsNotLoadedError@-113$AMWorkflowNewerActionVersionError@-111$AMWorkflowNewerVersionError@-100$AMWorkflowNoEnabledActionsError@-114$AMWorkflowOlderActionVersionError@-112$AMWorkflowPropertyListInvalidError@-101$""" -misc.update( - { - "AMErrorCode": NewType("AMErrorCode", int), - "AMLogLevel": NewType("AMLogLevel", int), - } -) -misc.update( - { - "AMAutomatorErrorDomain": "com.apple.Automator", - "AMActionErrorKey": "AMActionErrorKey", - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"AMAction", b"ignoresInput", {"retval": {"type": "Z"}}) - r( - b"AMAction", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AMAction", - b"initWithDefinition:fromArchive:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"AMAction", b"isStopped", {"retval": {"type": "Z"}}) - r( - b"AMAction", - b"logMessageWithLevel:format:", - {"arguments": {3: {"printf_format": True}}, "variadic": True}, - ) - r(b"AMAction", b"runWithInput:error:", {"arguments": {3: {"type_modifier": b"o"}}}) - r( - b"AMAction", - b"runWithInput:fromAction:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AMBundleAction", b"hasView", {"retval": {"type": "Z"}}) - r( - b"AMBundleAction", - b"initWithDefinition:fromArchive:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"AMShellScriptAction", b"remapLineEndings", {"retval": {"type": "Z"}}) - r( - b"AMWorkflow", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"AMWorkflow", - b"runWorkflowAtURL:withInput:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"AMWorkflow", b"setValue:forVariableWithName:", {"retval": {"type": "Z"}}) - r( - b"AMWorkflow", - b"writeToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"AMWorkflowController", b"canRun", {"retval": {"type": "Z"}}) - r(b"AMWorkflowController", b"isPaused", {"retval": {"type": "Z"}}) - r(b"AMWorkflowController", b"isRunning", {"retval": {"type": "Z"}}) - r(b"AMWorkflowView", b"isEditable", {"retval": {"type": "Z"}}) - r(b"AMWorkflowView", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"AMWorkspace", - b"runWorkflowAtPath:withInput:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"workflowController:didError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"workflowController:didRunAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"workflowController:willRunAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"workflowControllerDidRun:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"workflowControllerDidStop:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"workflowControllerWillRun:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"workflowControllerWillStop:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "AMWorkflowControllerDelegate": objc.informal_protocol( - "AMWorkflowControllerDelegate", - [ - objc.selector( - None, b"workflowControllerDidStop:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"workflowControllerWillRun:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"workflowController:willRunAction:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"workflowControllerDidRun:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"workflowController:didRunAction:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"workflowControllerWillStop:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"workflowController:didError:", b"v@:@@", isRequired=False - ), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/BusinessChat/__init__.py b/src/lib/BusinessChat/__init__.py deleted file mode 100644 index 48d1db1..0000000 --- a/src/lib/BusinessChat/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the BusinessChat framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import objc -from BusinessChat import _metadata - -sys.modules["BusinessChat"] = mod = objc.ObjCLazyModule( - "BusinessChat", - "com.apple.icloud.messages.apps.businessframework", - objc.pathForFramework("/System/Library/Frameworks/BusinessChat.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (AppKit,), -) - - -del sys.modules["BusinessChat._metadata"] diff --git a/src/lib/BusinessChat/_metadata.py b/src/lib/BusinessChat/_metadata.py deleted file mode 100644 index b875c68..0000000 --- a/src/lib/BusinessChat/_metadata.py +++ /dev/null @@ -1,40 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:22:56 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$BCParameterNameBody$BCParameterNameGroup$BCParameterNameIntent$""" -enums = """$BCChatButtonStyleDark@1$BCChatButtonStyleLight@0$""" -misc.update({"BCChatButtonStyle": NewType("BCChatButtonStyle", int)}) -misc.update({"BCParameterName": NewType("BCParameterName", str)}) -misc.update({}) -expressions = {} - -# END OF FILE diff --git a/src/lib/CFNetwork/__init__.py b/src/lib/CFNetwork/__init__.py deleted file mode 100644 index 13f55db..0000000 --- a/src/lib/CFNetwork/__init__.py +++ /dev/null @@ -1,52 +0,0 @@ -""" -Python mapping for the CFNetwork framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import os -import sys - -import CFNetwork._manual -import CoreFoundation -import objc -from CFNetwork import _metadata - - -def CFSocketStreamSOCKSGetError(err): - return err.error & 0xFFFF - - -def CFSocketStreamSOCKSGetErrorSubdomain(err): - return (err.error >> 16) & 0xFFFF - - -frameworkPath = "/System/Library/Frameworks/CFNetwork.framework" -if not os.path.exists(frameworkPath): - frameworkPath = "/System/Library/Frameworks/CoreServices.framework" - - -sys.modules["CFNetwork"] = mod = objc.ObjCLazyModule( - "CFNetwork", - "com.apple.CFNetwork", - objc.pathForFramework(frameworkPath), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "CFSocketStreamSOCKSGetError": CFSocketStreamSOCKSGetError, - "CFSocketStreamSOCKSGetErrorSubdomain": CFSocketStreamSOCKSGetErrorSubdomain, - }, - (CoreFoundation,), -) - - -for nm in dir(CFNetwork._manual): - setattr(mod, nm, getattr(CFNetwork._manual, nm)) - - -del sys.modules["CFNetwork._metadata"] diff --git a/src/lib/CFNetwork/_metadata.py b/src/lib/CFNetwork/_metadata.py deleted file mode 100644 index b0de2d5..0000000 --- a/src/lib/CFNetwork/_metadata.py +++ /dev/null @@ -1,531 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:30:45 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kCFDNSServiceFailureKey$kCFErrorDomainCFNetwork$kCFErrorDomainWinSock$kCFFTPResourceGroup$kCFFTPResourceLink$kCFFTPResourceModDate$kCFFTPResourceMode$kCFFTPResourceName$kCFFTPResourceOwner$kCFFTPResourceSize$kCFFTPResourceType$kCFFTPStatusCodeKey$kCFGetAddrInfoFailureKey$kCFHTTPAuthenticationAccountDomain$kCFHTTPAuthenticationPassword$kCFHTTPAuthenticationSchemeBasic$kCFHTTPAuthenticationSchemeDigest$kCFHTTPAuthenticationSchemeKerberos$kCFHTTPAuthenticationSchemeNTLM$kCFHTTPAuthenticationSchemeNegotiate$kCFHTTPAuthenticationSchemeNegotiate2$kCFHTTPAuthenticationSchemeOAuth1$kCFHTTPAuthenticationSchemeXMobileMeAuthToken$kCFHTTPAuthenticationUsername$kCFHTTPVersion1_0$kCFHTTPVersion1_1$kCFHTTPVersion2_0$kCFHTTPVersion3_0$kCFNetworkProxiesExceptionsList$kCFNetworkProxiesExcludeSimpleHostnames$kCFNetworkProxiesFTPEnable$kCFNetworkProxiesFTPPassive$kCFNetworkProxiesFTPPort$kCFNetworkProxiesFTPProxy$kCFNetworkProxiesGopherEnable$kCFNetworkProxiesGopherPort$kCFNetworkProxiesGopherProxy$kCFNetworkProxiesHTTPEnable$kCFNetworkProxiesHTTPPort$kCFNetworkProxiesHTTPProxy$kCFNetworkProxiesHTTPSEnable$kCFNetworkProxiesHTTPSPort$kCFNetworkProxiesHTTPSProxy$kCFNetworkProxiesProxyAutoConfigEnable$kCFNetworkProxiesProxyAutoConfigJavaScript$kCFNetworkProxiesProxyAutoConfigURLString$kCFNetworkProxiesProxyAutoDiscoveryEnable$kCFNetworkProxiesRTSPEnable$kCFNetworkProxiesRTSPPort$kCFNetworkProxiesRTSPProxy$kCFNetworkProxiesSOCKSEnable$kCFNetworkProxiesSOCKSPort$kCFNetworkProxiesSOCKSProxy$kCFProxyAutoConfigurationHTTPResponseKey$kCFProxyAutoConfigurationJavaScriptKey$kCFProxyAutoConfigurationURLKey$kCFProxyHostNameKey$kCFProxyPasswordKey$kCFProxyPortNumberKey$kCFProxyTypeAutoConfigurationJavaScript$kCFProxyTypeAutoConfigurationURL$kCFProxyTypeFTP$kCFProxyTypeHTTP$kCFProxyTypeHTTPS$kCFProxyTypeKey$kCFProxyTypeNone$kCFProxyTypeSOCKS$kCFProxyUsernameKey$kCFSOCKSNegotiationMethodKey$kCFSOCKSStatusCodeKey$kCFSOCKSVersionKey$kCFStreamErrorDomainFTP@i$kCFStreamErrorDomainHTTP@i$kCFStreamErrorDomainMach@i$kCFStreamErrorDomainNetDB@i$kCFStreamErrorDomainNetServices@i$kCFStreamErrorDomainSOCKS@i$kCFStreamErrorDomainSSL@i$kCFStreamErrorDomainSystemConfiguration@i$kCFStreamErrorDomainWinSock@q$kCFStreamNetworkServiceType$kCFStreamNetworkServiceTypeAVStreaming$kCFStreamNetworkServiceTypeBackground$kCFStreamNetworkServiceTypeCallSignaling$kCFStreamNetworkServiceTypeResponsiveAV$kCFStreamNetworkServiceTypeResponsiveData$kCFStreamNetworkServiceTypeVideo$kCFStreamNetworkServiceTypeVoIP$kCFStreamNetworkServiceTypeVoice$kCFStreamPropertyAllowConstrainedNetworkAccess$kCFStreamPropertyAllowExpensiveNetworkAccess$kCFStreamPropertyConnectionIsCellular$kCFStreamPropertyConnectionIsExpensive$kCFStreamPropertyFTPAttemptPersistentConnection$kCFStreamPropertyFTPFetchResourceInfo$kCFStreamPropertyFTPFileTransferOffset$kCFStreamPropertyFTPPassword$kCFStreamPropertyFTPProxy$kCFStreamPropertyFTPProxyHost$kCFStreamPropertyFTPProxyPassword$kCFStreamPropertyFTPProxyPort$kCFStreamPropertyFTPProxyUser$kCFStreamPropertyFTPResourceSize$kCFStreamPropertyFTPUsePassiveMode$kCFStreamPropertyFTPUserName$kCFStreamPropertyHTTPAttemptPersistentConnection$kCFStreamPropertyHTTPFinalRequest$kCFStreamPropertyHTTPFinalURL$kCFStreamPropertyHTTPProxy$kCFStreamPropertyHTTPProxyHost$kCFStreamPropertyHTTPProxyPort$kCFStreamPropertyHTTPRequestBytesWrittenCount$kCFStreamPropertyHTTPResponseHeader$kCFStreamPropertyHTTPSProxyHost$kCFStreamPropertyHTTPSProxyPort$kCFStreamPropertyHTTPShouldAutoredirect$kCFStreamPropertyNoCellular$kCFStreamPropertyProxyLocalBypass$kCFStreamPropertySOCKSPassword$kCFStreamPropertySOCKSProxy$kCFStreamPropertySOCKSProxyHost$kCFStreamPropertySOCKSProxyPort$kCFStreamPropertySOCKSUser$kCFStreamPropertySOCKSVersion$kCFStreamPropertySSLContext$kCFStreamPropertySSLPeerCertificates$kCFStreamPropertySSLPeerTrust$kCFStreamPropertySSLSettings$kCFStreamPropertyShouldCloseNativeSocket$kCFStreamPropertySocketExtendedBackgroundIdleMode$kCFStreamPropertySocketRemoteHost$kCFStreamPropertySocketRemoteNetService$kCFStreamPropertySocketSecurityLevel$kCFStreamSSLAllowsAnyRoot$kCFStreamSSLAllowsExpiredCertificates$kCFStreamSSLAllowsExpiredRoots$kCFStreamSSLCertificates$kCFStreamSSLIsServer$kCFStreamSSLLevel$kCFStreamSSLPeerName$kCFStreamSSLValidatesCertificateChain$kCFStreamSocketSOCKSVersion4$kCFStreamSocketSOCKSVersion5$kCFStreamSocketSecurityLevelNegotiatedSSL$kCFStreamSocketSecurityLevelNone$kCFStreamSocketSecurityLevelSSLv2$kCFStreamSocketSecurityLevelSSLv3$kCFStreamSocketSecurityLevelTLSv1$kCFURLErrorFailingURLErrorKey$kCFURLErrorFailingURLStringErrorKey$""" -enums = """$kCFErrorHTTPAuthenticationTypeUnsupported@300$kCFErrorHTTPBadCredentials@301$kCFErrorHTTPBadProxyCredentials@307$kCFErrorHTTPBadURL@305$kCFErrorHTTPConnectionLost@302$kCFErrorHTTPParseFailure@303$kCFErrorHTTPProxyConnectionFailure@306$kCFErrorHTTPRedirectionLoopDetected@304$kCFErrorHTTPSProxyConnectionFailure@310$kCFErrorPACFileAuth@309$kCFErrorPACFileError@308$kCFFTPErrorUnexpectedStatusCode@200$kCFHTTPCookieCannotParseCookieFile@-4000$kCFHostAddresses@0$kCFHostErrorHostNotFound@1$kCFHostErrorUnknown@2$kCFHostNames@1$kCFHostReachability@2$kCFNetDiagnosticConnectionDown@-66557$kCFNetDiagnosticConnectionIndeterminate@-66558$kCFNetDiagnosticConnectionUp@-66559$kCFNetDiagnosticErr@-66560$kCFNetDiagnosticNoErr@0$kCFNetServiceErrorBadArgument@-72004$kCFNetServiceErrorCancel@-72005$kCFNetServiceErrorCollision@-72001$kCFNetServiceErrorDNSServiceFailure@-73000$kCFNetServiceErrorInProgress@-72003$kCFNetServiceErrorInvalid@-72006$kCFNetServiceErrorNotFound@-72002$kCFNetServiceErrorTimeout@-72007$kCFNetServiceErrorUnknown@-72000$kCFNetServiceFlagIsDefault@4$kCFNetServiceFlagIsDomain@2$kCFNetServiceFlagIsRegistrationDomain@4$kCFNetServiceFlagMoreComing@1$kCFNetServiceFlagNoAutoRename@1$kCFNetServiceFlagRemove@8$kCFNetServiceMonitorTXT@1$kCFNetServicesErrorBadArgument@-72004$kCFNetServicesErrorCancel@-72005$kCFNetServicesErrorCollision@-72001$kCFNetServicesErrorInProgress@-72003$kCFNetServicesErrorInvalid@-72006$kCFNetServicesErrorMissingRequiredConfiguration@-72008$kCFNetServicesErrorNotFound@-72002$kCFNetServicesErrorTimeout@-72007$kCFNetServicesErrorUnknown@-72000$kCFSOCKS4ErrorIdConflict@112$kCFSOCKS4ErrorIdentdFailed@111$kCFSOCKS4ErrorRequestFailed@110$kCFSOCKS4ErrorUnknownStatusCode@113$kCFSOCKS5ErrorBadCredentials@122$kCFSOCKS5ErrorBadResponseAddr@121$kCFSOCKS5ErrorBadState@120$kCFSOCKS5ErrorNoAcceptableMethod@124$kCFSOCKS5ErrorUnsupportedNegotiationMethod@123$kCFSOCKSErrorUnknownClientVersion@100$kCFSOCKSErrorUnsupportedServerVersion@101$kCFStreamErrorHTTPAuthenticationBadPassword@-1002$kCFStreamErrorHTTPAuthenticationBadUserName@-1001$kCFStreamErrorHTTPAuthenticationTypeUnsupported@-1000$kCFStreamErrorHTTPBadURL@-3$kCFStreamErrorHTTPParseFailure@-1$kCFStreamErrorHTTPRedirectionLoop@-2$kCFStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod@311$kCFStreamErrorSOCKS4IdConflict@93$kCFStreamErrorSOCKS4IdentdFailed@92$kCFStreamErrorSOCKS4RequestFailed@91$kCFStreamErrorSOCKS4SubDomainResponse@2$kCFStreamErrorSOCKS5BadResponseAddr@1$kCFStreamErrorSOCKS5BadState@2$kCFStreamErrorSOCKS5SubDomainMethod@4$kCFStreamErrorSOCKS5SubDomainResponse@5$kCFStreamErrorSOCKS5SubDomainUserPass@3$kCFStreamErrorSOCKSSubDomainNone@0$kCFStreamErrorSOCKSSubDomainVersionCode@1$kCFStreamErrorSOCKSUnknownClientVersion@3$kCFStreamSocketSecurityNone@0$kCFStreamSocketSecuritySSLv2@1$kCFStreamSocketSecuritySSLv23@3$kCFStreamSocketSecuritySSLv3@2$kCFStreamSocketSecurityTLSv1@4$kCFURLErrorAppTransportSecurityRequiresSecureConnection@-1022$kCFURLErrorBackgroundSessionInUseByAnotherProcess@-996$kCFURLErrorBackgroundSessionWasDisconnected@-997$kCFURLErrorBadServerResponse@-1011$kCFURLErrorBadURL@-1000$kCFURLErrorCallIsActive@-1019$kCFURLErrorCancelled@-999$kCFURLErrorCannotCloseFile@-3002$kCFURLErrorCannotConnectToHost@-1004$kCFURLErrorCannotCreateFile@-3000$kCFURLErrorCannotDecodeContentData@-1016$kCFURLErrorCannotDecodeRawData@-1015$kCFURLErrorCannotFindHost@-1003$kCFURLErrorCannotLoadFromNetwork@-2000$kCFURLErrorCannotMoveFile@-3005$kCFURLErrorCannotOpenFile@-3001$kCFURLErrorCannotParseResponse@-1017$kCFURLErrorCannotRemoveFile@-3004$kCFURLErrorCannotWriteToFile@-3003$kCFURLErrorClientCertificateRejected@-1205$kCFURLErrorClientCertificateRequired@-1206$kCFURLErrorDNSLookupFailed@-1006$kCFURLErrorDataLengthExceedsMaximum@-1103$kCFURLErrorDataNotAllowed@-1020$kCFURLErrorDownloadDecodingFailedMidStream@-3006$kCFURLErrorDownloadDecodingFailedToComplete@-3007$kCFURLErrorFileDoesNotExist@-1100$kCFURLErrorFileIsDirectory@-1101$kCFURLErrorFileOutsideSafeArea@-1104$kCFURLErrorHTTPTooManyRedirects@-1007$kCFURLErrorInternationalRoamingOff@-1018$kCFURLErrorNetworkConnectionLost@-1005$kCFURLErrorNoPermissionsToReadFile@-1102$kCFURLErrorNotConnectedToInternet@-1009$kCFURLErrorRedirectToNonExistentLocation@-1010$kCFURLErrorRequestBodyStreamExhausted@-1021$kCFURLErrorResourceUnavailable@-1008$kCFURLErrorSecureConnectionFailed@-1200$kCFURLErrorServerCertificateHasBadDate@-1201$kCFURLErrorServerCertificateHasUnknownRoot@-1203$kCFURLErrorServerCertificateNotYetValid@-1204$kCFURLErrorServerCertificateUntrusted@-1202$kCFURLErrorTimedOut@-1001$kCFURLErrorUnknown@-998$kCFURLErrorUnsupportedURL@-1002$kCFURLErrorUserAuthenticationRequired@-1013$kCFURLErrorUserCancelledAuthentication@-1012$kCFURLErrorZeroByteResource@-1014$kSOCKS5NoAcceptableMethod@255$""" -misc.update( - { - "CFNetServicesError": NewType("CFNetServicesError", int), - "CFNetServiceBrowserFlags": NewType("CFNetServiceBrowserFlags", int), - "CFStreamErrorHTTP": NewType("CFStreamErrorHTTP", int), - "CFNetServiceMonitorType": NewType("CFNetServiceMonitorType", int), - "CFStreamErrorHTTPAuthentication": NewType( - "CFStreamErrorHTTPAuthentication", int - ), - "CFNetServiceRegisterFlags": NewType("CFNetServiceRegisterFlags", int), - "CFNetDiagnosticStatusValues": NewType("CFNetDiagnosticStatusValues", int), - "CFHostInfoType": NewType("CFHostInfoType", int), - "CFNetworkErrors": NewType("CFNetworkErrors", int), - } -) -misc.update({}) -functions = { - "CFNetworkExecuteProxyAutoConfigurationURL": ( - b"^{__CFRunLoopSource=}^{__CFURL=}^{__CFURL=}^?^{_CFStreamClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{__CFArray=}"}, - 2: {"type": b"^{__CFError=}"}, - }, - } - } - } - }, - ), - "CFHTTPAuthenticationRequiresOrderedRequests": (b"Z^{_CFHTTPAuthentication=}",), - "CFHTTPAuthenticationCreateFromResponse": ( - b"^{_CFHTTPAuthentication=}^{__CFAllocator=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceBrowserGetTypeID": (b"Q",), - "CFHostCreateWithName": ( - b"^{__CFHost=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHostGetAddressing": ( - b"^{__CFArray=}^{__CFHost=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFHTTPMessageSetBody": (b"v^{__CFHTTPMessage=}^{__CFData=}",), - "CFHTTPAuthenticationGetTypeID": (b"Q",), - "CFNetDiagnosticCreateWithStreams": ( - b"^{__CFNetDiagnostic=}^{__CFAllocator=}^{__CFReadStream=}^{__CFWriteStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSocketStreamSOCKSGetError": (b"i^{_CFStreamError=qi}",), - "CFHostCreateWithAddress": ( - b"^{__CFHost=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceBrowserSearchForDomains": ( - b"Z^{__CFNetServiceBrowser=}Z^{_CFStreamError=qi}", - ), - "CFNetServiceUnscheduleFromRunLoop": ( - b"v^{__CFNetService=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFNetServiceMonitorStop": (b"v^{__CFNetServiceMonitor=}^{_CFStreamError=qi}",), - "CFNetworkCopySystemProxySettings": ( - b"^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHostGetReachability": ( - b"^{__CFData=}^{__CFHost=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFHTTPMessageIsHeaderComplete": (b"Z^{__CFHTTPMessage=}",), - "CFHTTPMessageGetTypeID": (b"Q",), - "CFNetServiceMonitorGetTypeID": (b"Q",), - "CFNetServiceGetPortNumber": (b"i^{__CFNetService=}",), - "CFHTTPMessageCreateRequest": ( - b"^{__CFHTTPMessage=}^{__CFAllocator=}^{__CFString=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceCreateCopy": ( - b"^{__CFNetService=}^{__CFAllocator=}^{__CFNetService=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceGetName": (b"^{__CFString=}^{__CFNetService=}",), - "CFHTTPMessageCopyRequestMethod": ( - b"^{__CFString=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPAuthenticationCopyRealm": ( - b"^{__CFString=}^{_CFHTTPAuthentication=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceMonitorInvalidate": (b"v^{__CFNetServiceMonitor=}",), - "CFNetServiceGetProtocolSpecificInformation": (b"@^{__CFNetService=}",), - "CFNetServiceCancel": (b"v^{__CFNetService=}",), - "CFNetServiceMonitorCreate": ( - b"^{__CFNetServiceMonitor=}^{__CFAllocator=}^{__CFNetService=}^?^{CFNetServiceClientContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFNetServiceMonitor=}"}, - 1: {"type": b"^{__CFNetService=}"}, - 2: {"type": b"i"}, - 3: {"type": b"^{__CFData=}"}, - 4: {"type": b"^{_CFStreamError=qi}"}, - 5: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFWriteStreamCreateWithFTPURL": ( - b"^{__CFWriteStream=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceBrowserUnscheduleFromRunLoop": ( - b"v^{__CFNetServiceBrowser=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFHTTPMessageCopyRequestURL": ( - b"^{__CFURL=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPMessageCopyVersion": ( - b"^{__CFString=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceCreate": ( - b"^{__CFNetService=}^{__CFAllocator=}^{__CFString=}^{__CFString=}^{__CFString=}i", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceMonitorUnscheduleFromRunLoop": ( - b"v^{__CFNetServiceMonitor=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFHostScheduleWithRunLoop": (b"v^{__CFHost=}^{__CFRunLoop=}^{__CFString=}",), - "CFNetServiceMonitorStart": (b"Z^{__CFNetServiceMonitor=}i^{_CFStreamError=qi}",), - "CFHostGetNames": ( - b"^{__CFArray=}^{__CFHost=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFNetDiagnosticCopyNetworkStatusPassively": ( - b"q^{__CFNetDiagnostic=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CFHTTPMessageCopyResponseStatusLine": ( - b"^{__CFString=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetDiagnosticDiagnoseProblemInteractively": (b"q^{__CFNetDiagnostic=}",), - "CFHTTPMessageAddAuthentication": ( - b"Z^{__CFHTTPMessage=}^{__CFHTTPMessage=}^{__CFString=}^{__CFString=}^{__CFString=}Z", - ), - "CFNetworkExecuteProxyAutoConfigurationScript": ( - b"^{__CFRunLoopSource=}^{__CFString=}^{__CFURL=}^?^{_CFStreamClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{__CFArray=}"}, - 2: {"type": b"^{__CFError=}"}, - }, - } - } - } - }, - ), - "CFNetDiagnosticCreateWithURL": ( - b"^{__CFNetDiagnostic=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceGetDomain": (b"^{__CFString=}^{__CFNetService=}",), - "CFFTPCreateParsedResourceListing": ( - b"q^{__CFAllocator=}n^vq^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CFNetServiceGetTypeID": (b"Q",), - "CFHTTPMessageCreateEmpty": ( - b"^{__CFHTTPMessage=}^{__CFAllocator=}Z", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPMessageAppendBytes": ( - b"Z^{__CFHTTPMessage=}^vq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CFHostCancelInfoResolution": (b"v^{__CFHost=}i",), - "CFNetServiceBrowserSearchForServices": ( - b"Z^{__CFNetServiceBrowser=}^{__CFString=}^{__CFString=}^{_CFStreamError=qi}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFHTTPAuthenticationIsValid": ( - b"Z^{_CFHTTPAuthentication=}^{_CFStreamError=qi}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFHTTPAuthenticationAppliesToRequest": ( - b"Z^{_CFHTTPAuthentication=}^{__CFHTTPMessage=}", - ), - "CFNetServiceBrowserInvalidate": (b"v^{__CFNetServiceBrowser=}",), - "CFNetServiceGetAddressing": (b"^{__CFArray=}^{__CFNetService=}",), - "CFHTTPMessageSetHeaderFieldValue": ( - b"v^{__CFHTTPMessage=}^{__CFString=}^{__CFString=}", - ), - "CFNetServiceBrowserStopSearch": ( - b"v^{__CFNetServiceBrowser=}^{_CFStreamError=qi}", - ), - "CFHTTPMessageApplyCredentials": ( - b"Z^{__CFHTTPMessage=}^{_CFHTTPAuthentication=}^{__CFString=}^{__CFString=}^{_CFStreamError=qi}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CFHTTPReadStreamSetRedirectsAutomatically": (b"v^{__CFReadStream=}Z",), - "CFNetServiceRegisterWithOptions": ( - b"Z^{__CFNetService=}Q^{_CFStreamError=qi}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFHTTPAuthenticationCopyMethod": ( - b"^{__CFString=}^{_CFHTTPAuthentication=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceBrowserCreate": ( - b"^{__CFNetServiceBrowser=}^{__CFAllocator=}^?^{CFNetServiceClientContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFNetServiceBrowser=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"@"}, - 3: {"type": b"^{_CFStreamError=qi}"}, - 4: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFNetServiceGetTargetHost": (b"^{__CFString=}^{__CFNetService=}",), - "CFNetworkCopyProxiesForAutoConfigurationScript": ( - b"^{__CFArray=}^{__CFString=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFNetServiceCreateDictionaryWithTXTData": ( - b"^{__CFDictionary=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceRegister": (b"Z^{__CFNetService=}^{_CFStreamError=qi}",), - "CFHTTPMessageCopySerializedMessage": ( - b"^{__CFData=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHostCreateCopy": ( - b"^{__CFHost=}^{__CFAllocator=}^{__CFHost=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPAuthenticationRequiresAccountDomain": (b"Z^{_CFHTTPAuthentication=}",), - "CFNetServiceSetTXTData": (b"Z^{__CFNetService=}^{__CFData=}",), - "CFNetworkCopyProxiesForURL": ( - b"^{__CFArray=}^{__CFURL=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFReadStreamCreateForStreamedHTTPRequest": ( - b"^{__CFReadStream=}^{__CFAllocator=}^{__CFHTTPMessage=}^{__CFReadStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFReadStreamCreateForHTTPRequest": ( - b"^{__CFReadStream=}^{__CFAllocator=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPMessageCreateCopy": ( - b"^{__CFHTTPMessage=}^{__CFAllocator=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceGetType": (b"^{__CFString=}^{__CFNetService=}",), - "CFNetServiceScheduleWithRunLoop": ( - b"v^{__CFNetService=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFHTTPMessageCopyHeaderFieldValue": ( - b"^{__CFString=}^{__CFHTTPMessage=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceGetTXTData": (b"^{__CFData=}^{__CFNetService=}",), - "CFHostStartInfoResolution": ( - b"Z^{__CFHost=}i^{_CFStreamError=qi}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFHTTPAuthenticationRequiresUserNameAndPassword": (b"Z^{_CFHTTPAuthentication=}",), - "CFNetDiagnosticSetName": (b"v^{__CFNetDiagnostic=}^{__CFString=}",), - "CFNetServiceCreateTXTDataWithDictionary": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFReadStreamCreateWithFTPURL": ( - b"^{__CFReadStream=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceSetClient": ( - b"Z^{__CFNetService=}^?^{CFNetServiceClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFNetService=}"}, - 1: {"type": b"^{_CFStreamError=qi}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CFNetServiceMonitorScheduleWithRunLoop": ( - b"v^{__CFNetServiceMonitor=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFHostUnscheduleFromRunLoop": (b"v^{__CFHost=}^{__CFRunLoop=}^{__CFString=}",), - "CFHTTPMessageApplyCredentialDictionary": ( - b"Z^{__CFHTTPMessage=}^{_CFHTTPAuthentication=}^{__CFDictionary=}^{_CFStreamError=qi}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFHTTPMessageIsRequest": (b"Z^{__CFHTTPMessage=}",), - "CFNetServiceResolve": (b"Z^{__CFNetService=}^{_CFStreamError=qi}",), - "CFHTTPMessageCopyBody": ( - b"^{__CFData=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceBrowserScheduleWithRunLoop": ( - b"v^{__CFNetServiceBrowser=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFHTTPMessageCreateResponse": ( - b"^{__CFHTTPMessage=}^{__CFAllocator=}q^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHostGetTypeID": (b"Q",), - "CFHTTPMessageCopyAllHeaderFields": ( - b"^{__CFDictionary=}^{__CFHTTPMessage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHTTPMessageGetResponseStatusCode": (b"q^{__CFHTTPMessage=}",), - "CFHTTPAuthenticationCopyDomains": ( - b"^{__CFArray=}^{_CFHTTPAuthentication=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNetServiceSetProtocolSpecificInformation": (b"v^{__CFNetService=}@",), - "CFSocketStreamSOCKSGetErrorSubdomain": (b"i^{_CFStreamError=qi}",), - "CFStreamCreatePairWithSocketToCFHost": ( - b"v^{__CFAllocator=}^{__CFHost=}i^^{__CFReadStream=}^^{__CFWriteStream=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"already_cfretained": True, "type_modifier": "o"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CFStreamCreatePairWithSocketToNetService": ( - b"v^{__CFAllocator=}^{__CFNetService=}^^{__CFReadStream=}^^{__CFWriteStream=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"already_cfretained": True, "type_modifier": "o"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CFNetServiceResolveWithTimeout": ( - b"Z^{__CFNetService=}d^{_CFStreamError=qi}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFHostSetClient": ( - b"Z^{__CFHost=}^?^{CFHostClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFHost=}"}, - 1: {"type": b"i"}, - 2: {"type": b"^{_CFStreamError=qi}"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), -} -cftypes = [ - ("CFHTTPMessageRef", b"^{__CFHTTPMessage=}", "CFHTTPMessageGetTypeID", None), - ("CFHostRef", b"^{__CFHost=}", "CFHostGetTypeID", None), - ("CFNetDiagnosticRef", b"^{__CFNetDiagnostic=}", "CFNetDiagnosticGetTypeID", None), - ( - "CFNetServiceBrowserRef", - b"^{__CFNetServiceBrowser=}", - "CFNetServiceBrowserGetTypeID", - None, - ), - ( - "CFNetServiceMonitorRef", - b"^{__CFNetServiceMonitor=}", - "CFNetServiceMonitorGetTypeID", - None, - ), - ("CFNetServiceRef", b"^{__CFNetService=}", "CFNetServiceGetTypeID", None), - ( - "CFHTTPAuthenticationRef", - b"^{_CFHTTPAuthentication}", - "CFHTTPAuthenticationGetTypeID", - None, - ), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/CFOpenDirectory/__init__.py b/src/lib/CFOpenDirectory/__init__.py deleted file mode 100644 index ad26fd6..0000000 --- a/src/lib/CFOpenDirectory/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the CFOpenDirectory framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import Foundation -import objc -from CFOpenDirectory import _metadata - -# This actually loads the OpenDirectory framework instead of the embedded -# CFOpenDirectory framework -sys.modules["CFOpenDirectory"] = mod = objc.ObjCLazyModule( - "CFOpenDirectory", - "com.apple.OpenDirectory", - objc.pathForFramework("/System/Library/Frameworks/OpenDirectory.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation, Foundation), -) - - -del sys.modules["CFOpenDirectory._metadata"] diff --git a/src/lib/CFOpenDirectory/_metadata.py b/src/lib/CFOpenDirectory/_metadata.py deleted file mode 100644 index df66eca..0000000 --- a/src/lib/CFOpenDirectory/_metadata.py +++ /dev/null @@ -1,880 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:13:32 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kODAttributeTypeAccessControlEntry$kODAttributeTypeAddressLine1$kODAttributeTypeAddressLine2$kODAttributeTypeAddressLine3$kODAttributeTypeAdminLimits$kODAttributeTypeAdvertisedServices$kODAttributeTypeAlias$kODAttributeTypeAllAttributes$kODAttributeTypeAllTypes$kODAttributeTypeAltSecurityIdentities$kODAttributeTypeAreaCode$kODAttributeTypeAttrListRefCount$kODAttributeTypeAttrListRefs$kODAttributeTypeAttrListValueRefCount$kODAttributeTypeAttrListValueRefs$kODAttributeTypeAuthCredential$kODAttributeTypeAuthMethod$kODAttributeTypeAuthenticationAuthority$kODAttributeTypeAuthenticationHint$kODAttributeTypeAuthorityRevocationList$kODAttributeTypeAutomaticSearchPath$kODAttributeTypeAutomountInformation$kODAttributeTypeBirthday$kODAttributeTypeBootParams$kODAttributeTypeBuildVersion$kODAttributeTypeBuilding$kODAttributeTypeCACertificate$kODAttributeTypeCapacity$kODAttributeTypeCertificateRevocationList$kODAttributeTypeCity$kODAttributeTypeComment$kODAttributeTypeCompany$kODAttributeTypeComputers$kODAttributeTypeConfigAvailable$kODAttributeTypeConfigFile$kODAttributeTypeContactGUID$kODAttributeTypeContactPerson$kODAttributeTypeCopyTimestamp$kODAttributeTypeCoreFWVersion$kODAttributeTypeCountry$kODAttributeTypeCreationTimestamp$kODAttributeTypeCrossCertificatePair$kODAttributeTypeCustomSearchPath$kODAttributeTypeDNSDomain$kODAttributeTypeDNSName$kODAttributeTypeDNSNameServer$kODAttributeTypeDataStamp$kODAttributeTypeDateRecordCreated$kODAttributeTypeDepartment$kODAttributeTypeDirRefCount$kODAttributeTypeDirRefs$kODAttributeTypeEMailAddress$kODAttributeTypeEMailContacts$kODAttributeTypeENetAddress$kODAttributeTypeExpire$kODAttributeTypeFWVersion$kODAttributeTypeFaxNumber$kODAttributeTypeFirstName$kODAttributeTypeFullName$kODAttributeTypeFunctionalState$kODAttributeTypeGUID$kODAttributeTypeGroup$kODAttributeTypeGroupMembers$kODAttributeTypeGroupMembership$kODAttributeTypeGroupServices$kODAttributeTypeHTML$kODAttributeTypeHardwareUUID$kODAttributeTypeHomeDirectory$kODAttributeTypeHomeDirectoryQuota$kODAttributeTypeHomeDirectorySoftQuota$kODAttributeTypeHomeLocOwner$kODAttributeTypeHomePhoneNumber$kODAttributeTypeIMHandle$kODAttributeTypeIPAddress$kODAttributeTypeIPAddressAndENetAddress$kODAttributeTypeIPv6Address$kODAttributeTypeInternetAlias$kODAttributeTypeJPEGPhoto$kODAttributeTypeJobTitle$kODAttributeTypeKDCAuthKey$kODAttributeTypeKDCConfigData$kODAttributeTypeKerberosRealm$kODAttributeTypeKerberosServices$kODAttributeTypeKeywords$kODAttributeTypeLDAPReadReplicas$kODAttributeTypeLDAPSearchBaseSuffix$kODAttributeTypeLDAPWriteReplicas$kODAttributeTypeLastName$kODAttributeTypeLocalOnlySearchPath$kODAttributeTypeLocaleRelay$kODAttributeTypeLocaleSubnets$kODAttributeTypeLocation$kODAttributeTypeMCXFlags$kODAttributeTypeMCXSettings$kODAttributeTypeMIME$kODAttributeTypeMailAttribute$kODAttributeTypeMapCoordinates$kODAttributeTypeMapGUID$kODAttributeTypeMapURI$kODAttributeTypeMetaAmbiguousName$kODAttributeTypeMetaAugmentedAttributes$kODAttributeTypeMetaAutomountMap$kODAttributeTypeMetaNodeLocation$kODAttributeTypeMetaRecordName$kODAttributeTypeMiddleName$kODAttributeTypeMobileNumber$kODAttributeTypeModificationTimestamp$kODAttributeTypeNFSHomeDirectory$kODAttributeTypeNTDomainComputerAccount$kODAttributeTypeNamePrefix$kODAttributeTypeNameSuffix$kODAttributeTypeNativeOnly$kODAttributeTypeNestedGroups$kODAttributeTypeNetGroupTriplet$kODAttributeTypeNetGroups$kODAttributeTypeNetworkInterfaces$kODAttributeTypeNetworkNumber$kODAttributeTypeNickName$kODAttributeTypeNodeOptions$kODAttributeTypeNodePath$kODAttributeTypeNodeRefCount$kODAttributeTypeNodeRefs$kODAttributeTypeNodeSASLRealm$kODAttributeTypeNote$kODAttributeTypeNumTableList$kODAttributeTypeOperatingSystem$kODAttributeTypeOperatingSystemVersion$kODAttributeTypeOrganizationInfo$kODAttributeTypeOrganizationName$kODAttributeTypeOriginalHomeDirectory$kODAttributeTypeOriginalNFSHomeDirectory$kODAttributeTypeOriginalNodeName$kODAttributeTypeOwner$kODAttributeTypeOwnerGUID$kODAttributeTypePGPPublicKey$kODAttributeTypePIDValue$kODAttributeTypePagerNumber$kODAttributeTypeParentLocales$kODAttributeTypePassword$kODAttributeTypePasswordPlus$kODAttributeTypePasswordPolicyOptions$kODAttributeTypePasswordServerList$kODAttributeTypePasswordServerLocation$kODAttributeTypePhoneContacts$kODAttributeTypePhoneNumber$kODAttributeTypePicture$kODAttributeTypePlugInInfo$kODAttributeTypePluginIndex$kODAttributeTypePort$kODAttributeTypePostalAddress$kODAttributeTypePostalAddressContacts$kODAttributeTypePostalCode$kODAttributeTypePresetUserIsAdmin$kODAttributeTypePrimaryComputerGUID$kODAttributeTypePrimaryComputerList$kODAttributeTypePrimaryGroupID$kODAttributeTypePrimaryLocale$kODAttributeTypePrimaryNTDomain$kODAttributeTypePrintServiceInfoText$kODAttributeTypePrintServiceInfoXML$kODAttributeTypePrintServiceUserData$kODAttributeTypePrinter1284DeviceID$kODAttributeTypePrinterLPRHost$kODAttributeTypePrinterLPRQueue$kODAttributeTypePrinterMakeAndModel$kODAttributeTypePrinterType$kODAttributeTypePrinterURI$kODAttributeTypePrinterXRISupported$kODAttributeTypeProcessName$kODAttributeTypeProfiles$kODAttributeTypeProfilesTimestamp$kODAttributeTypeProtocolNumber$kODAttributeTypeProtocols$kODAttributeTypePwdAgingPolicy$kODAttributeTypeRPCNumber$kODAttributeTypeReadOnlyNode$kODAttributeTypeRealUserID$kODAttributeTypeRecRefCount$kODAttributeTypeRecRefs$kODAttributeTypeRecordName$kODAttributeTypeRecordType$kODAttributeTypeRelationships$kODAttributeTypeRelativeDNPrefix$kODAttributeTypeResourceInfo$kODAttributeTypeResourceType$kODAttributeTypeSMBAcctFlags$kODAttributeTypeSMBGroupRID$kODAttributeTypeSMBHome$kODAttributeTypeSMBHomeDrive$kODAttributeTypeSMBKickoffTime$kODAttributeTypeSMBLogoffTime$kODAttributeTypeSMBLogonTime$kODAttributeTypeSMBPWDLastSet$kODAttributeTypeSMBPrimaryGroupSID$kODAttributeTypeSMBProfilePath$kODAttributeTypeSMBRID$kODAttributeTypeSMBSID$kODAttributeTypeSMBScriptPath$kODAttributeTypeSMBUserWorkstations$kODAttributeTypeSchema$kODAttributeTypeSearchPath$kODAttributeTypeSearchPolicy$kODAttributeTypeServiceType$kODAttributeTypeServicesLocator$kODAttributeTypeSetupAdvertising$kODAttributeTypeSetupAutoRegister$kODAttributeTypeSetupLocation$kODAttributeTypeSetupOccupation$kODAttributeTypeStandardOnly$kODAttributeTypeState$kODAttributeTypeStreet$kODAttributeTypeSubNodes$kODAttributeTypeTimePackage$kODAttributeTypeTimeToLive$kODAttributeTypeTotalRefCount$kODAttributeTypeTotalSize$kODAttributeTypeTrustInformation$kODAttributeTypeURL$kODAttributeTypeUniqueID$kODAttributeTypeUserCertificate$kODAttributeTypeUserPKCS12Data$kODAttributeTypeUserSMIMECertificate$kODAttributeTypeUserShell$kODAttributeTypeVFSDumpFreq$kODAttributeTypeVFSLinkDir$kODAttributeTypeVFSOpts$kODAttributeTypeVFSPassNo$kODAttributeTypeVFSType$kODAttributeTypeVersion$kODAttributeTypeWeblogURI$kODAttributeTypeXMLPlist$kODAuthenticationType2WayRandom$kODAuthenticationType2WayRandomChangePasswd$kODAuthenticationTypeAPOP$kODAuthenticationTypeCRAM_MD5$kODAuthenticationTypeChangePasswd$kODAuthenticationTypeClearText$kODAuthenticationTypeClearTextReadOnly$kODAuthenticationTypeCrypt$kODAuthenticationTypeDIGEST_MD5$kODAuthenticationTypeDeleteUser$kODAuthenticationTypeGetEffectivePolicy$kODAuthenticationTypeGetGlobalPolicy$kODAuthenticationTypeGetKerberosPrincipal$kODAuthenticationTypeGetPolicy$kODAuthenticationTypeGetUserData$kODAuthenticationTypeGetUserName$kODAuthenticationTypeKerberosTickets$kODAuthenticationTypeMPPEMasterKeys$kODAuthenticationTypeMPPEPrimaryKeys$kODAuthenticationTypeMSCHAP2$kODAuthenticationTypeNTLMv2$kODAuthenticationTypeNTLMv2WithSessionKey$kODAuthenticationTypeNewUser$kODAuthenticationTypeNewUserWithPolicy$kODAuthenticationTypeNodeNativeClearTextOK$kODAuthenticationTypeNodeNativeNoClearText$kODAuthenticationTypeReadSecureHash$kODAuthenticationTypeSMBNTv2UserSessionKey$kODAuthenticationTypeSMBWorkstationCredentialSessionKey$kODAuthenticationTypeSMB_LM_Key$kODAuthenticationTypeSMB_NT_Key$kODAuthenticationTypeSMB_NT_UserSessionKey$kODAuthenticationTypeSMB_NT_WithUserSessionKey$kODAuthenticationTypeSecureHash$kODAuthenticationTypeSetCertificateHashAsCurrent$kODAuthenticationTypeSetGlobalPolicy$kODAuthenticationTypeSetLMHash$kODAuthenticationTypeSetNTHash$kODAuthenticationTypeSetPassword$kODAuthenticationTypeSetPasswordAsCurrent$kODAuthenticationTypeSetPolicy$kODAuthenticationTypeSetPolicyAsCurrent$kODAuthenticationTypeSetUserData$kODAuthenticationTypeSetUserName$kODAuthenticationTypeSetWorkstationPassword$kODAuthenticationTypeWithAuthorizationRef$kODAuthenticationTypeWriteSecureHash$kODBackOffSeconds$kODErrorDomainFramework$kODModuleConfigOptionConnectionIdleDisconnect$kODModuleConfigOptionConnectionSetupTimeout$kODModuleConfigOptionManInTheMiddle$kODModuleConfigOptionPacketEncryption$kODModuleConfigOptionPacketSigning$kODModuleConfigOptionQueryTimeout$kODNodeOptionsQuerySkippedSubnode$kODPolicyAttributeCreationTime$kODPolicyAttributeCurrentDate$kODPolicyAttributeCurrentDayOfWeek$kODPolicyAttributeCurrentTime$kODPolicyAttributeCurrentTimeOfDay$kODPolicyAttributeDaysUntilExpiration$kODPolicyAttributeEnableAtTimeOfDay$kODPolicyAttributeEnableOnDate$kODPolicyAttributeEnableOnDayOfWeek$kODPolicyAttributeExpiresAtTimeOfDay$kODPolicyAttributeExpiresEveryNDays$kODPolicyAttributeExpiresOnDate$kODPolicyAttributeExpiresOnDayOfWeek$kODPolicyAttributeFailedAuthentications$kODPolicyAttributeLastAuthenticationTime$kODPolicyAttributeLastFailedAuthenticationTime$kODPolicyAttributeLastPasswordChangeTime$kODPolicyAttributeMaximumFailedAuthentications$kODPolicyAttributeNewPasswordRequiredTime$kODPolicyAttributePassword$kODPolicyAttributePasswordHashes$kODPolicyAttributePasswordHistory$kODPolicyAttributePasswordHistoryDepth$kODPolicyAttributeRecordName$kODPolicyAttributeRecordType$kODPolicyCategoryAuthentication$kODPolicyCategoryPasswordChange$kODPolicyCategoryPasswordContent$kODPolicyKeyContent$kODPolicyKeyContentDescription$kODPolicyKeyEvaluationDetails$kODPolicyKeyIdentifier$kODPolicyKeyParameters$kODPolicyKeyPolicySatisfied$kODPolicyTypeAccountExpiresOnDate$kODPolicyTypeAccountMaximumFailedLogins$kODPolicyTypeAccountMaximumMinutesOfNonUse$kODPolicyTypeAccountMaximumMinutesUntilDisabled$kODPolicyTypeAccountMinutesUntilFailedLoginReset$kODPolicyTypePasswordCannotBeAccountName$kODPolicyTypePasswordChangeRequired$kODPolicyTypePasswordHistory$kODPolicyTypePasswordMaximumAgeInMinutes$kODPolicyTypePasswordMaximumNumberOfCharacters$kODPolicyTypePasswordMinimumNumberOfCharacters$kODPolicyTypePasswordRequiresAlpha$kODPolicyTypePasswordRequiresMixedCase$kODPolicyTypePasswordRequiresNumeric$kODPolicyTypePasswordRequiresSymbol$kODPolicyTypePasswordSelfModification$kODRecordTypeAFPServer$kODRecordTypeAliases$kODRecordTypeAttributeTypes$kODRecordTypeAugments$kODRecordTypeAutoServerSetup$kODRecordTypeAutomount$kODRecordTypeAutomountMap$kODRecordTypeBootp$kODRecordTypeCertificateAuthorities$kODRecordTypeComputerGroups$kODRecordTypeComputerLists$kODRecordTypeComputers$kODRecordTypeConfiguration$kODRecordTypeEthernets$kODRecordTypeFTPServer$kODRecordTypeFileMakerServers$kODRecordTypeGroups$kODRecordTypeHostServices$kODRecordTypeHosts$kODRecordTypeLDAPServer$kODRecordTypeLocations$kODRecordTypeMounts$kODRecordTypeNFS$kODRecordTypeNetDomains$kODRecordTypeNetGroups$kODRecordTypeNetworks$kODRecordTypePeople$kODRecordTypePresetComputerGroups$kODRecordTypePresetComputerLists$kODRecordTypePresetComputers$kODRecordTypePresetGroups$kODRecordTypePresetUsers$kODRecordTypePrintService$kODRecordTypePrintServiceUser$kODRecordTypePrinters$kODRecordTypeProtocols$kODRecordTypeQTSServer$kODRecordTypeQueryInformation$kODRecordTypeRPC$kODRecordTypeRecordTypes$kODRecordTypeResources$kODRecordTypeSMBServer$kODRecordTypeServer$kODRecordTypeServices$kODRecordTypeSharePoints$kODRecordTypeUsers$kODRecordTypeWebServer$kODSessionDefault@^{__ODSession=}$kODSessionProxyAddress$kODSessionProxyPassword$kODSessionProxyPort$kODSessionProxyUsername$""" -enums = """$kODErrorCredentialsAccountDisabled@5301$kODErrorCredentialsAccountExpired@5302$kODErrorCredentialsAccountInactive@5303$kODErrorCredentialsAccountLocked@5305$kODErrorCredentialsAccountNotFound@5300$kODErrorCredentialsAccountTemporarilyLocked@5304$kODErrorCredentialsContactMaster@5204$kODErrorCredentialsContactPrimary@5204$kODErrorCredentialsInvalid@5000$kODErrorCredentialsInvalidComputer@5501$kODErrorCredentialsInvalidLogonHours@5500$kODErrorCredentialsMethodNotSupported@5100$kODErrorCredentialsNotAuthorized@5101$kODErrorCredentialsOperationFailed@5103$kODErrorCredentialsParameterError@5102$kODErrorCredentialsPasswordChangeRequired@5401$kODErrorCredentialsPasswordChangeTooSoon@5407$kODErrorCredentialsPasswordExpired@5400$kODErrorCredentialsPasswordNeedsDigit@5406$kODErrorCredentialsPasswordNeedsLetter@5405$kODErrorCredentialsPasswordQualityFailed@5402$kODErrorCredentialsPasswordTooLong@5404$kODErrorCredentialsPasswordTooShort@5403$kODErrorCredentialsPasswordUnrecoverable@5408$kODErrorCredentialsServerCommunicationError@5205$kODErrorCredentialsServerError@5202$kODErrorCredentialsServerNotFound@5201$kODErrorCredentialsServerTimeout@5203$kODErrorCredentialsServerUnreachable@5200$kODErrorDaemonError@10002$kODErrorNodeConnectionFailed@2100$kODErrorNodeDisabled@2002$kODErrorNodeUnknownHost@2200$kODErrorNodeUnknownName@2000$kODErrorNodeUnknownType@2001$kODErrorPluginError@10001$kODErrorPluginOperationNotSupported@10000$kODErrorPluginOperationTimeout@10003$kODErrorPolicyOutOfRange@6001$kODErrorPolicyUnsupported@6000$kODErrorQueryInvalidMatchType@3100$kODErrorQuerySynchronize@3000$kODErrorQueryTimeout@3102$kODErrorQueryUnsupportedMatchType@3101$kODErrorRecordAlreadyExists@4102$kODErrorRecordAttributeNotFound@4201$kODErrorRecordAttributeUnknownType@4200$kODErrorRecordAttributeValueNotFound@4203$kODErrorRecordAttributeValueSchemaError@4202$kODErrorRecordInvalidType@4101$kODErrorRecordNoLongerExists@4104$kODErrorRecordParameterError@4100$kODErrorRecordPermissionError@4001$kODErrorRecordReadOnlyNode@4000$kODErrorRecordTypeDisabled@4103$kODErrorSessionDaemonNotRunning@1002$kODErrorSessionDaemonRefused@1003$kODErrorSessionLocalOnlyDaemonInUse@1000$kODErrorSessionNormalDaemonInUse@1001$kODErrorSessionProxyCommunicationError@1100$kODErrorSessionProxyIPUnreachable@1102$kODErrorSessionProxyUnknownHost@1103$kODErrorSessionProxyVersionMismatch@1101$kODErrorSuccess@0$kODExpirationTimeExpired@0$kODExpirationTimeNeverExpires@-1$kODMatchAny@1$kODMatchBeginsWith@8194$kODMatchContains@8196$kODMatchEndsWith@8195$kODMatchEqualTo@8193$kODMatchGreaterThan@8198$kODMatchInsensitiveBeginsWith@8450$kODMatchInsensitiveContains@8452$kODMatchInsensitiveEndsWith@8451$kODMatchInsensitiveEqualTo@8449$kODMatchLessThan@8199$kODNodeTypeAuthentication@8705$kODNodeTypeConfigure@8706$kODNodeTypeContacts@8708$kODNodeTypeLocalNodes@8704$kODNodeTypeNetwork@8709$""" -misc.update({"ODFrameworkErrors": NewType("ODFrameworkErrors", int)}) -misc.update({}) -functions = { - "ODNodeCopySubnodeNames": ( - b"^{__CFArray=}^{_ODNode=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordVerifyPasswordExtended": ( - b"B^{_ODRecord=}@^{__CFArray=}^^{__CFArray}^^{_ODContext}^^{__CFError}", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - 5: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - } - }, - ), - "ODNodeCustomFunction": ( - b"@^{__ODNode=}^{__CFString=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordSetPolicy": ( - b"B^{__ODRecord=}@@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODNodeCreateCopy": ( - b"^{_ODNode=}^{__CFAllocator=}^{_ODNode=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeGetTypeID": (b"Q",), - "ODNodeCustomCall": ( - b"^{__CFData=}^{_ODNode=}q^{__CFData=}^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordDelete": ( - b"B^{_ODRecord=}^^{__CFError}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordSetNodeCredentials": ( - b"B^{_ODRecord=}^{__CFString=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCopySupportedPolicies": ( - b"^{__CFDictionary=}^{__ODNode=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODRecordCopySupportedPolicies": ( - b"^{__CFDictionary=}^{__ODRecord=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODRecordGetRecordName": (b"^{__CFString=}^{_ODRecord=}",), - "ODNodeRemovePolicy": ( - b"B^{__ODNode=}@^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODNodeCopyUnreachableSubnodeNames": ( - b"^{__CFArray=}^{_ODNode=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordSecondsUntilAuthenticationsExpire": (b"q^{__ODRecord=}",), - "ODQuerySetCallback": ( - b"v^{_ODQuery=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__ODQuery=}"}, - 1: {"type": b"@"}, - 2: {"type": b"^{__CFError=}"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "ODNodeSetCredentialsExtended": ( - b"B^{_ODNode=}@@^{__CFArray=}^^{__CFArray}^^{_ODContext}^^{__CFError}", - "", - { - "arguments": { - 6: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordPasswordChangeAllowed": ( - b"B^{__ODRecord=}^{__CFString=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordSetPolicies": ( - b"B^{__ODRecord=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODNodePasswordContentCheck": ( - b"B^{__ODNode=}^{__CFString=}^{__CFString=}^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODQuerySynchronize": (b"v^{_ODQuery=}",), - "ODRecordSecondsUntilPasswordExpires": (b"q^{__ODRecord=}",), - "ODSessionCopyNodeNames": ( - b"^{__CFArray=}^{__CFAllocator=}^{_ODSessionRef=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeCopySupportedAttributes": ( - b"^{__CFArray=}^{_ODNode=}@^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordGetRecordType": (b"^{__CFString=}^{_ODRecord=}",), - "ODRecordAddMember": ( - b"B^{_ODRecord=}^{_ODRecord=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordCopyAccountPolicies": ( - b"^{__CFDictionary=}^{__ODRecord=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODNodeCopyRecord": ( - b"^{_ODRecord=}^{_ODNode=}@^{__CFString=}@^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODQueryScheduleWithRunLoop": (b"v^{_ODQuery=}^{__CFRunLoop=}^{__CFString=}",), - "ODNodeGetName": (b"^{__CFString=}^{_ODNode=}",), - "ODSessionCreate": ( - b"^{_ODSessionRef=}^{__CFAllocator=}^{__CFDictionary=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordContainsMember": ( - b"B^{_ODRecord=}^{_ODRecord=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordAddAccountPolicy": ( - b"B^{__ODRecord=}^{__CFDictionary=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordRemovePolicy": ( - b"B^{__ODRecord=}@^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODQueryCreateWithNodeType": ( - b"^{_ODQuery=}^{__CFAllocator=}I@@I@@q^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeCopySupportedRecordTypes": ( - b"^{__CFArray=}^{_ODNode=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordWillPasswordExpire": (b"B^{__ODRecord=}Q",), - "ODQuerySetDispatchQueue": (b"v^{_ODQuery=}^{dispatch_queue_s=}",), - "ODRecordVerifyPassword": ( - b"B^{_ODRecord=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCopyDetails": ( - b"^{__CFDictionary=}^{_ODNode=}^{__CFArray=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODQueryCreateWithNode": ( - b"^{_ODQuery=}^{__CFAllocator=}^{_ODNode=}@@I@@q^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODContextGetTypeID": (b"Q",), - "ODNodeRemoveAccountPolicy": ( - b"B^{__ODNode=}^{__CFDictionary=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODNodeCopyAccountPolicies": ( - b"^{__CFDictionary=}^{__ODNode=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODRecordCopyPasswordPolicy": ( - b"^{__CFDictionary=}^{__CFAllocator=}^{_ODRecord=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeSetCredentials": ( - b"B^{_ODNode=}@^{__CFString=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCreateRecord": ( - b"^{_ODRecord=}^{_ODNode=}@^{__CFString=}^{__CFDictionary=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordGetTypeID": (b"Q",), - "ODNodeSetAccountPolicies": ( - b"B^{__ODNode=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordCopyValues": ( - b"^{__CFArray=}^{_ODRecord=}@^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordSetValue": ( - b"B^{_ODRecord=}@@^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCopyPolicies": ( - b"^{__CFDictionary=}^{__ODNode=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODNodeSetPolicy": ( - b"B^{__ODNode=}@@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordSetNodeCredentialsExtended": ( - b"B^{_ODRecord=}@@^{__CFArray=}^^{__CFArray}^^{_ODContext}^^{__CFError}", - "", - { - "arguments": { - 4: {"type_modifier": "o"}, - 5: {"type_modifier": "o"}, - 6: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - } - }, - ), - "ODQueryGetTypeID": (b"Q",), - "ODRecordSetNodeCredentialsUsingKerberosCache": ( - b"B^{_ODRecord=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCreateWithName": ( - b"^{_ODNode=}^{__CFAllocator=}^{_ODSessionRef=}^{__CFString=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeSetPolicies": ( - b"B^{__ODNode=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordRemoveAccountPolicy": ( - b"B^{__ODRecord=}^{__CFDictionary=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordRemoveValue": ( - b"B^{_ODRecord=}@@^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODSessionGetTypeID": (b"Q",), - "ODRecordCopyDetails": ( - b"^{__CFDictionary=}^{_ODRecord=}^{__CFArray=}^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODNodeSetCredentialsUsingKerberosCache": ( - b"B^{_ODNode=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordChangePassword": ( - b"B^{_ODRecord=}^{__CFString=}^{__CFString=}^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODQueryCopyResults": ( - b"^{__CFArray=}^{_ODQuery=}B^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordSynchronize": ( - b"B^{_ODRecord=}^^{__CFError}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordRemoveMember": ( - b"B^{_ODRecord=}^{_ODRecord=}^^{__CFError}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODNodeCreateWithNodeType": ( - b"^{_ODNode=}^{__CFAllocator=}^{_ODSessionRef=}I^^{__CFError}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "ODRecordWillAuthenticationsExpire": (b"B^{__ODRecord=}Q",), - "ODRecordCopyEffectivePolicies": ( - b"^{__CFDictionary=}^{__ODRecord=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODRecordCopyPolicies": ( - b"^{__CFDictionary=}^{__ODRecord=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ODQueryUnscheduleFromRunLoop": (b"v^{_ODQuery=}^{__CFRunLoop=}^{__CFString=}",), - "ODRecordSetAccountPolicies": ( - b"B^{__ODRecord=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODRecordAddValue": ( - b"B^{_ODRecord=}@@^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "ODRecordAuthenticationAllowed": ( - b"B^{__ODRecord=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ODNodeAddAccountPolicy": ( - b"B^{__ODNode=}^{__CFDictionary=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), -} -aliases = {"kODErrorCredentialsContactMaster": "kODErrorCredentialsContactPrimary"} -cftypes = [ - ("ODContextRef", b"^{__ODContext=}", "ODContextGetTypeID", None), - ("ODNodeRef", b"^{__ODNode=}", "ODNodeGetTypeID", None), - ("ODQueryRef", b"^{__ODQuery=}", "ODQueryGetTypeID", None), - ("ODRecordRef", b"^{__ODRecord=}", "ODRecordGetTypeID", None), - ("ODSessionRef", b"^{__ODSession=}", "ODSessionGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/CalendarStore/__init__.py b/src/lib/CalendarStore/__init__.py deleted file mode 100644 index d902c0c..0000000 --- a/src/lib/CalendarStore/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the CalendarStore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CalendarStore import _metadata - -sys.modules["CalendarStore"] = objc.ObjCLazyModule( - "CalendarStore", - "com.apple.CalendarStore", - objc.pathForFramework("/System/Library/Frameworks/CalendarStore.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "objc": objc, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CalendarStore._metadata"] diff --git a/src/lib/CalendarStore/_metadata.py b/src/lib/CalendarStore/_metadata.py deleted file mode 100644 index c262233..0000000 --- a/src/lib/CalendarStore/_metadata.py +++ /dev/null @@ -1,82 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:31:02 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CalAlarmActionDisplay$CalAlarmActionEmail$CalAlarmActionProcedure$CalAlarmActionSound$CalAttendeeStatusAccepted$CalAttendeeStatusDeclined$CalAttendeeStatusNeedsAction$CalAttendeeStatusTentative$CalCalendarStoreErrorDomain$CalCalendarTypeBirthday$CalCalendarTypeCalDAV$CalCalendarTypeExchange$CalCalendarTypeIMAP$CalCalendarTypeLocal$CalCalendarTypeSubscription$CalCalendarsChangedExternallyNotification$CalCalendarsChangedNotification$CalDefaultRecurrenceInterval@Q$CalDeletedRecordsKey$CalEventsChangedExternallyNotification$CalEventsChangedNotification$CalInsertedRecordsKey$CalSenderProcessIDKey$CalTasksChangedExternallyNotification$CalTasksChangedNotification$CalUpdatedRecordsKey$CalUserUIDKey$""" -enums = """$CalCalendarNotEditableError@1025$CalCalendarNotInRepository@1027$CalCalendarTitleNotUniqueError@1028$CalDateInvalidError@1026$CalPriorityHigh@1$CalPriorityLow@9$CalPriorityMedium@5$CalPriorityNone@0$CalRecurrenceDaily@0$CalRecurrenceMonthly@2$CalRecurrenceWeekly@1$CalRecurrenceYearly@3$CalSpanAllEvents@2$CalSpanFutureEvents@1$CalSpanThisEvent@0$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CalCalendar", b"isEditable", {"retval": {"type": "Z"}}) - r(b"CalCalendarItem", b"hasAlarm", {"retval": {"type": "Z"}}) - r( - b"CalCalendarStore", - b"removeCalendar:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CalCalendarStore", - b"removeEvent:span:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CalCalendarStore", - b"removeTask:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CalCalendarStore", - b"saveCalendar:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CalCalendarStore", - b"saveEvent:span:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CalCalendarStore", - b"saveTask:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CalEvent", b"isAllDay", {"retval": {"type": "Z"}}) - r(b"CalEvent", b"isDetached", {"retval": {"type": "Z"}}) - r(b"CalEvent", b"setIsAllDay:", {"arguments": {2: {"type": "Z"}}}) - r(b"CalRecurrenceEnd", b"usesEndDate", {"retval": {"type": "Z"}}) - r(b"CalTask", b"isCompleted", {"retval": {"type": "Z"}}) - r(b"CalTask", b"setIsCompleted:", {"arguments": {2: {"type": "Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CallKit/__init__.py b/src/lib/CallKit/__init__.py deleted file mode 100644 index f8d427b..0000000 --- a/src/lib/CallKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the CallKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CallKit import _metadata - -sys.modules["CallKit"] = mod = objc.ObjCLazyModule( - "CallKit", - "com.apple.CallKit", - objc.pathForFramework("/System/Library/Frameworks/CallKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CallKit._metadata"] diff --git a/src/lib/CallKit/_metadata.py b/src/lib/CallKit/_metadata.py deleted file mode 100644 index fb13f04..0000000 --- a/src/lib/CallKit/_metadata.py +++ /dev/null @@ -1,380 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:31:11 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CXErrorDomain$CXErrorDomainCallDirectoryManager$CXErrorDomainIncomingCall$CXErrorDomainNotificationServiceExtension$CXErrorDomainRequestTransaction$""" -enums = """$CXCallDirectoryEnabledStatusDisabled@1$CXCallDirectoryEnabledStatusEnabled@2$CXCallDirectoryEnabledStatusUnknown@0$CXCallDirectoryPhoneNumberMax@9223372036854775806$CXCallEndedReasonAnsweredElsewhere@4$CXCallEndedReasonDeclinedElsewhere@5$CXCallEndedReasonFailed@1$CXCallEndedReasonRemoteEnded@2$CXCallEndedReasonUnanswered@3$CXErrorCodeCallDirectoryManagerErrorCurrentlyLoading@7$CXErrorCodeCallDirectoryManagerErrorDuplicateEntries@4$CXErrorCodeCallDirectoryManagerErrorEntriesOutOfOrder@3$CXErrorCodeCallDirectoryManagerErrorExtensionDisabled@6$CXErrorCodeCallDirectoryManagerErrorLoadingInterrupted@2$CXErrorCodeCallDirectoryManagerErrorMaximumEntriesExceeded@5$CXErrorCodeCallDirectoryManagerErrorNoExtensionFound@1$CXErrorCodeCallDirectoryManagerErrorUnexpectedIncrementalRemoval@8$CXErrorCodeCallDirectoryManagerErrorUnknown@0$CXErrorCodeIncomingCallErrorCallUUIDAlreadyExists@2$CXErrorCodeIncomingCallErrorFilteredByBlockList@4$CXErrorCodeIncomingCallErrorFilteredByDoNotDisturb@3$CXErrorCodeIncomingCallErrorUnentitled@1$CXErrorCodeIncomingCallErrorUnknown@0$CXErrorCodeInvalidArgument@2$CXErrorCodeMissingVoIPBackgroundMode@3$CXErrorCodeNotificationServiceExtensionErrorInvalidClientProcess@1$CXErrorCodeNotificationServiceExtensionErrorMissingNotificationFilteringEntitlement@2$CXErrorCodeNotificationServiceExtensionErrorUnknown@0$CXErrorCodeRequestTransactionErrorCallUUIDAlreadyExists@5$CXErrorCodeRequestTransactionErrorEmptyTransaction@3$CXErrorCodeRequestTransactionErrorInvalidAction@6$CXErrorCodeRequestTransactionErrorMaximumCallGroupsReached@7$CXErrorCodeRequestTransactionErrorUnentitled@1$CXErrorCodeRequestTransactionErrorUnknown@0$CXErrorCodeRequestTransactionErrorUnknownCallProvider@2$CXErrorCodeRequestTransactionErrorUnknownCallUUID@4$CXErrorCodeUnentitled@1$CXErrorCodeUnknownError@0$CXHandleTypeEmailAddress@3$CXHandleTypeGeneric@1$CXHandleTypePhoneNumber@2$CXPlayDTMFCallActionTypeHardPause@3$CXPlayDTMFCallActionTypeSingleTone@1$CXPlayDTMFCallActionTypeSoftPause@2$""" -misc.update( - { - "CXPlayDTMFCallActionType": NewType("CXPlayDTMFCallActionType", int), - "CXErrorCodeCallDirectoryManagerError": NewType( - "CXErrorCodeCallDirectoryManagerError", int - ), - "CXCallDirectoryEnabledStatus": NewType("CXCallDirectoryEnabledStatus", int), - "CXHandleType": NewType("CXHandleType", int), - "CXErrorCodeIncomingCallError": NewType("CXErrorCodeIncomingCallError", int), - "CXErrorCodeRequestTransactionError": NewType( - "CXErrorCodeRequestTransactionError", int - ), - "CXErrorCode": NewType("CXErrorCode", int), - "CXCallEndedReason": NewType("CXCallEndedReason", int), - "CXErrorCodeNotificationServiceExtensionError": NewType( - "CXErrorCodeNotificationServiceExtensionError", int - ), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CXAction", b"isComplete", {"retval": {"type": b"Z"}}) - r(b"CXCall", b"hasConnected", {"retval": {"type": b"Z"}}) - r(b"CXCall", b"hasEnded", {"retval": {"type": b"Z"}}) - r(b"CXCall", b"isEqualToCall:", {"retval": {"type": b"Z"}}) - r(b"CXCall", b"isOnHold", {"retval": {"type": b"Z"}}) - r(b"CXCall", b"isOutgoing", {"retval": {"type": b"Z"}}) - r( - b"CXCallController", - b"requestTransaction:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CXCallController", - b"requestTransactionWithAction:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CXCallController", - b"requestTransactionWithActions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CXCallDirectoryExtensionContext", - b"completeRequestReturningItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"CXCallDirectoryExtensionContext", - b"completeRequestWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r(b"CXCallDirectoryExtensionContext", b"isIncremental", {"retval": {"type": b"Z"}}) - r( - b"CXCallDirectoryManager", - b"getEnabledStatusForExtensionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CXCallDirectoryManager", - b"openSettingsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CXCallDirectoryManager", - b"reloadExtensionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"CXCallUpdate", b"hasVideo", {"retval": {"type": b"Z"}}) - r(b"CXCallUpdate", b"setHasVideo:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXCallUpdate", b"setSupportsDTMF:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXCallUpdate", b"setSupportsGrouping:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXCallUpdate", b"setSupportsHolding:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXCallUpdate", b"setSupportsUngrouping:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXCallUpdate", b"supportsDTMF", {"retval": {"type": b"Z"}}) - r(b"CXCallUpdate", b"supportsGrouping", {"retval": {"type": b"Z"}}) - r(b"CXCallUpdate", b"supportsHolding", {"retval": {"type": b"Z"}}) - r(b"CXCallUpdate", b"supportsUngrouping", {"retval": {"type": b"Z"}}) - r(b"CXHandle", b"isEqualToHandle:", {"retval": {"type": b"Z"}}) - r( - b"CXProvider", - b"reportNewIncomingCallWithUUID:update:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CXProvider", - b"reportNewIncomingVoIPPushPayload:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"CXProviderConfiguration", b"includesCallsInRecents", {"retval": {"type": b"Z"}}) - r( - b"CXProviderConfiguration", - b"setIncludesCallsInRecents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CXProviderConfiguration", - b"setSupportsVideo:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CXProviderConfiguration", b"supportsVideo", {"retval": {"type": b"Z"}}) - r( - b"CXSetHeldCallAction", - b"initWithCallUUID:onHold:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"CXSetHeldCallAction", b"isOnHold", {"retval": {"type": b"Z"}}) - r(b"CXSetHeldCallAction", b"setOnHold:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CXSetMutedCallAction", - b"initWithCallUUID:muted:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"CXSetMutedCallAction", b"isMuted", {"retval": {"type": b"Z"}}) - r(b"CXSetMutedCallAction", b"setMuted:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXStartCallAction", b"isVideo", {"retval": {"type": b"Z"}}) - r(b"CXStartCallAction", b"setVideo:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CXTransaction", b"isComplete", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"callObserver:callChanged:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:didActivateAudioSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:didDeactivateAudioSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:executeTransaction:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performAnswerCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performEndCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performPlayDTMFCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performSetGroupCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performSetHeldCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performSetMutedCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:performStartCallAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provider:timedOutPerformingAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"providerDidBegin:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"providerDidReset:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"requestFailedForExtensionContext:withError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ClassKit/__init__.py b/src/lib/ClassKit/__init__.py deleted file mode 100644 index f189b6b..0000000 --- a/src/lib/ClassKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the ClassKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from ClassKit import _metadata -from ClassKit import _ClassKit - -sys.modules["ClassKit"] = mod = objc.ObjCLazyModule( - "ClassKit", - "com.apple.ClassKit", - objc.pathForFramework("/System/Library/Frameworks/ClassKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_ClassKit, Foundation), -) - - -del sys.modules["ClassKit._metadata"] diff --git a/src/lib/ClassKit/_metadata.py b/src/lib/ClassKit/_metadata.py deleted file mode 100644 index b580c50..0000000 --- a/src/lib/ClassKit/_metadata.py +++ /dev/null @@ -1,229 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:04:16 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CLSContextTopicArtsAndMusic$CLSContextTopicComputerScienceAndEngineering$CLSContextTopicHealthAndFitness$CLSContextTopicLiteracyAndWriting$CLSContextTopicMath$CLSContextTopicScience$CLSContextTopicSocialScience$CLSContextTopicWorldLanguage$CLSErrorCodeDomain$CLSErrorObjectKey$CLSErrorSuccessfulObjectsKey$CLSErrorUnderlyingErrorsKey$CLSPredicateKeyPathDateCreated$CLSPredicateKeyPathIdentifier$CLSPredicateKeyPathParent$CLSPredicateKeyPathTitle$CLSPredicateKeyPathTopic$CLSPredicateKeyPathUniversalLinkURL$""" -enums = """$CLSBinaryValueTypeCorrectIncorrect@3$CLSBinaryValueTypePassFail@1$CLSBinaryValueTypeTrueFalse@0$CLSBinaryValueTypeYesNo@2$CLSContextTypeApp@1$CLSContextTypeAudio@14$CLSContextTypeBook@11$CLSContextTypeChallenge@7$CLSContextTypeChapter@2$CLSContextTypeCourse@16$CLSContextTypeCustom@17$CLSContextTypeDocument@13$CLSContextTypeExercise@9$CLSContextTypeGame@12$CLSContextTypeLesson@10$CLSContextTypeLevel@4$CLSContextTypeNone@0$CLSContextTypePage@5$CLSContextTypeQuiz@8$CLSContextTypeSection@3$CLSContextTypeTask@6$CLSContextTypeVideo@15$CLSErrorCodeAuthorizationDenied@4$CLSErrorCodeClassKitUnavailable@1$CLSErrorCodeDatabaseInaccessible@5$CLSErrorCodeInvalidAccountCredentials@10$CLSErrorCodeInvalidArgument@2$CLSErrorCodeInvalidCreate@7$CLSErrorCodeInvalidModification@3$CLSErrorCodeInvalidUpdate@8$CLSErrorCodeLimits@6$CLSErrorCodeNone@0$CLSErrorCodePartialFailure@9$CLSProgressReportingCapabilityKindBinary@2$CLSProgressReportingCapabilityKindDuration@0$CLSProgressReportingCapabilityKindPercent@1$CLSProgressReportingCapabilityKindQuantity@3$CLSProgressReportingCapabilityKindScore@4$""" -misc.update( - { - "CLSBinaryValueType": NewType("CLSBinaryValueType", int), - "CLSErrorCode": NewType("CLSErrorCode", int), - "CLSContextType": NewType("CLSContextType", int), - "CLSProgressReportingCapabilityKind": NewType( - "CLSProgressReportingCapabilityKind", int - ), - } -) -misc.update({"CLSContextTopic": NewType("CLSContextTopic", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CLSActivity", - b"contextsMatchingPredicate:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CLSActivity", b"isStarted", {"retval": {"type": b"Z"}}) - r(b"CLSBinaryItem", b"setValue:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CLSBinaryItem", b"value", {"retval": {"type": b"Z"}}) - r( - b"CLSContext", - b"descendantMatchingIdentifierPath:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CLSContext", b"isActive", {"retval": {"type": b"Z"}}) - r(b"CLSContext", b"isAssignable", {"retval": {"type": b"Z"}}) - r(b"CLSContext", b"setAssignable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CLSDataStore", - b"contextsMatchingIdentifierPath:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLSDataStore", - b"fetchActivityForURL:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLSDataStore", - b"saveWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"createContextForIdentifier:parentContext:parentIdentifierPath:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateDescendantsOfContext:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSUserActivity", b"isClassKitDeepLink", {"retval": {"type": b"Z"}}) - r( - b"null", - b"contextsMatchingIdentifierPath:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"contextsMatchingPredicate:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"fetchActivityForURL:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"null", b"isStarted", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CloudKit/__init__.py b/src/lib/CloudKit/__init__.py deleted file mode 100644 index 328c77f..0000000 --- a/src/lib/CloudKit/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the CloudKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Accounts -import CoreData -import CoreLocation -import Foundation -import objc -from CloudKit import _metadata - -sys.modules["CloudKit"] = mod = objc.ObjCLazyModule( - "CloudKit", - "com.apple.CloudKit", - objc.pathForFramework("/System/Library/Frameworks/CloudKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreData, CoreLocation, Accounts, Foundation), -) - - -del sys.modules["CloudKit._metadata"] diff --git a/src/lib/CloudKit/_metadata.py b/src/lib/CloudKit/_metadata.py deleted file mode 100644 index 8c138cc..0000000 --- a/src/lib/CloudKit/_metadata.py +++ /dev/null @@ -1,2441 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:31:33 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CKAccountChangedNotification$CKCurrentUserDefaultName$CKErrorDomain$CKErrorRetryAfterKey$CKErrorUserDidResetEncryptedDataKey$CKOwnerDefaultName$CKPartialErrorsByItemIDKey$CKQueryOperationMaximumResults@Q$CKRecordChangedErrorAncestorRecordKey$CKRecordChangedErrorClientRecordKey$CKRecordChangedErrorServerRecordKey$CKRecordNameZoneWideShare$CKRecordParentKey$CKRecordShareKey$CKRecordTypeShare$CKRecordTypeUserRecord$CKRecordZoneDefaultName$CKShareThumbnailImageDataKey$CKShareTitleKey$CKShareTypeKey$""" -enums = """$CKAccountStatusAvailable@1$CKAccountStatusCouldNotDetermine@0$CKAccountStatusNoAccount@3$CKAccountStatusRestricted@2$CKAccountStatusTemporarilyUnavailable@4$CKApplicationPermissionStatusCouldNotComplete@1$CKApplicationPermissionStatusDenied@2$CKApplicationPermissionStatusGranted@3$CKApplicationPermissionStatusInitialState@0$CKApplicationPermissionUserDiscoverability@1$CKDatabaseScopePrivate@2$CKDatabaseScopePublic@1$CKDatabaseScopeShared@3$CKErrorAccountTemporarilyUnavailable@36$CKErrorAlreadyShared@30$CKErrorAssetFileModified@17$CKErrorAssetFileNotFound@16$CKErrorAssetNotAvailable@35$CKErrorBadContainer@5$CKErrorBadDatabase@24$CKErrorBatchRequestFailed@22$CKErrorChangeTokenExpired@21$CKErrorConstraintViolation@19$CKErrorIncompatibleVersion@18$CKErrorInternalError@1$CKErrorInvalidArguments@12$CKErrorLimitExceeded@27$CKErrorManagedAccountRestricted@32$CKErrorMissingEntitlement@8$CKErrorNetworkFailure@4$CKErrorNetworkUnavailable@3$CKErrorNotAuthenticated@9$CKErrorOperationCancelled@20$CKErrorPartialFailure@2$CKErrorParticipantMayNeedVerification@33$CKErrorPermissionFailure@10$CKErrorQuotaExceeded@25$CKErrorReferenceViolation@31$CKErrorRequestRateLimited@7$CKErrorResultsTruncated@13$CKErrorServerRecordChanged@14$CKErrorServerRejectedRequest@15$CKErrorServerResponseLost@34$CKErrorServiceUnavailable@6$CKErrorTooManyParticipants@29$CKErrorUnknownItem@11$CKErrorUserDeletedZone@28$CKErrorZoneBusy@23$CKErrorZoneNotFound@26$CKNotificationTypeDatabase@4$CKNotificationTypeQuery@1$CKNotificationTypeReadNotification@3$CKNotificationTypeRecordZone@2$CKOperationGroupTransferSizeGigabytes@5$CKOperationGroupTransferSizeHundredsOfGigabytes@7$CKOperationGroupTransferSizeHundredsOfMegabytes@4$CKOperationGroupTransferSizeKilobytes@1$CKOperationGroupTransferSizeMegabytes@2$CKOperationGroupTransferSizeTensOfGigabytes@6$CKOperationGroupTransferSizeTensOfMegabytes@3$CKOperationGroupTransferSizeUnknown@0$CKQueryNotificationReasonRecordCreated@1$CKQueryNotificationReasonRecordDeleted@3$CKQueryNotificationReasonRecordUpdated@2$CKQuerySubscriptionOptionsFiresOnRecordCreation@1$CKQuerySubscriptionOptionsFiresOnRecordDeletion@4$CKQuerySubscriptionOptionsFiresOnRecordUpdate@2$CKQuerySubscriptionOptionsFiresOnce@8$CKRecordSaveAllKeys@2$CKRecordSaveChangedKeys@1$CKRecordSaveIfServerRecordUnchanged@0$CKRecordZoneCapabilityAtomic@2$CKRecordZoneCapabilityFetchChanges@1$CKRecordZoneCapabilitySharing@4$CKRecordZoneCapabilityZoneWideSharing@8$CKReferenceActionDeleteSelf@1$CKReferenceActionNone@0$CKShareParticipantAcceptanceStatusAccepted@2$CKShareParticipantAcceptanceStatusPending@1$CKShareParticipantAcceptanceStatusRemoved@3$CKShareParticipantAcceptanceStatusUnknown@0$CKShareParticipantPermissionNone@1$CKShareParticipantPermissionReadOnly@2$CKShareParticipantPermissionReadWrite@3$CKShareParticipantPermissionUnknown@0$CKShareParticipantRoleOwner@1$CKShareParticipantRolePrivateUser@3$CKShareParticipantRolePublicUser@4$CKShareParticipantRoleUnknown@0$CKShareParticipantTypeOwner@1$CKShareParticipantTypePrivateUser@3$CKShareParticipantTypePublicUser@4$CKShareParticipantTypeUnknown@0$CKSubscriptionOptionsFiresOnRecordCreation@1$CKSubscriptionOptionsFiresOnRecordDeletion@4$CKSubscriptionOptionsFiresOnRecordUpdate@2$CKSubscriptionOptionsFiresOnce@8$CKSubscriptionTypeDatabase@3$CKSubscriptionTypeQuery@1$CKSubscriptionTypeRecordZone@2$""" -misc.update( - { - "CKRecordSavePolicy": NewType("CKRecordSavePolicy", int), - "CKSubscriptionType": NewType("CKSubscriptionType", int), - "CKDatabaseScope": NewType("CKDatabaseScope", int), - "CKAccountStatus": NewType("CKAccountStatus", int), - "CKApplicationPermissions": NewType("CKApplicationPermissions", int), - "CKShareParticipantRole": NewType("CKShareParticipantRole", int), - "CKApplicationPermissionStatus": NewType("CKApplicationPermissionStatus", int), - "CKShareParticipantAcceptanceStatus": NewType( - "CKShareParticipantAcceptanceStatus", int - ), - "CKErrorCode": NewType("CKErrorCode", int), - "CKShareParticipantType": NewType("CKShareParticipantType", int), - "CKQueryNotificationReason": NewType("CKQueryNotificationReason", int), - "CKRecordZoneCapabilities": NewType("CKRecordZoneCapabilities", int), - "CKQuerySubscriptionOptions": NewType("CKQuerySubscriptionOptions", int), - "CKNotificationType": NewType("CKNotificationType", int), - "CKOperationGroupTransferSize": NewType("CKOperationGroupTransferSize", int), - "CKReferenceAction": NewType("CKReferenceAction", int), - "CKShareParticipantPermission": NewType("CKShareParticipantPermission", int), - } -) -misc.update({}) -aliases = {"CK_UNIT_TESTS_EXTERN": "CK_EXTERN"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CKAcceptSharesOperation", - b"acceptSharesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKAcceptSharesOperation", - b"perShareCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKAcceptSharesOperation", - b"setAcceptSharesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKAcceptSharesOperation", - b"setPerShareCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"acceptShareMetadata:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"accountStatusWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverAllContactUserInfosWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverAllIdentitiesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverUserIdentityWithEmailAddress:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverUserIdentityWithPhoneNumber:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverUserIdentityWithUserRecordID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverUserInfoWithEmailAddress:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"discoverUserInfoWithUserRecordID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchAllLongLivedOperationIDsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchLongLivedOperationWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchShareMetadataWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchShareParticipantWithEmailAddress:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchShareParticipantWithPhoneNumber:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchShareParticipantWithUserRecordID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"fetchUserRecordIDWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"requestApplicationPermission:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKContainer", - b"statusForApplicationPermission:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"deleteRecordWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"deleteRecordZoneWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"deleteSubscriptionWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"fetchAllRecordZonesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"fetchAllSubscriptionsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"fetchRecordWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"fetchRecordZoneWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"fetchSubscriptionWithID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"performQuery:inZoneWithID:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"saveRecord:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"saveRecordZone:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDatabase", - b"saveSubscription:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDiscoverAllContactsOperation", - b"discoverAllContactsCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKDiscoverAllContactsOperation", - b"setDiscoverAllContactsCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKDiscoverAllUserIdentitiesOperation", - b"discoverAllUserIdentitiesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKDiscoverAllUserIdentitiesOperation", - b"setDiscoverAllUserIdentitiesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKDiscoverAllUserIdentitiesOperation", - b"setUserIdentityDiscoveredBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKDiscoverAllUserIdentitiesOperation", - b"userIdentityDiscoveredBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKDiscoverUserIdentitiesOperation", - b"discoverUserIdentitiesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKDiscoverUserIdentitiesOperation", - b"setDiscoverUserIdentitiesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKDiscoverUserIdentitiesOperation", - b"setUserIdentityDiscoveredBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKDiscoverUserIdentitiesOperation", - b"userIdentityDiscoveredBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKDiscoverUserInfosOperation", - b"discoverUserInfosCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKDiscoverUserInfosOperation", - b"setDiscoverUserInfosCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"changeTokenUpdatedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r(b"CKFetchDatabaseChangesOperation", b"fetchAllChanges", {"retval": {"type": "Z"}}) - r( - b"CKFetchDatabaseChangesOperation", - b"fetchDatabaseChangesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"recordZoneWithIDChangedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"recordZoneWithIDWasDeletedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"recordZoneWithIDWasDeletedDueToUserEncryptedDataResetBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"recordZoneWithIDWasPurgedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setChangeTokenUpdatedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setFetchAllChanges:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setFetchDatabaseChangesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setRecordZoneWithIDChangedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setRecordZoneWithIDWasDeletedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setRecordZoneWithIDWasDeletedDueToUserEncryptedDataResetBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchDatabaseChangesOperation", - b"setRecordZoneWithIDWasPurgedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchNotificationChangesOperation", - b"fetchNotificationChangesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r(b"CKFetchNotificationChangesOperation", b"moreComing", {"retval": {"type": b"Z"}}) - r( - b"CKFetchNotificationChangesOperation", - b"notificationChangedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchNotificationChangesOperation", - b"setFetchNotificationChangesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchNotificationChangesOperation", - b"setNotificationChangedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"CKFetchRecordChangesOperation", b"fetchAllChanges", {"retval": {"type": "Z"}}) - r( - b"CKFetchRecordChangesOperation", - b"fetchRecordChangesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r(b"CKFetchRecordChangesOperation", b"moreComing", {"retval": {"type": b"Z"}}) - r( - b"CKFetchRecordChangesOperation", - b"perRecordProgressBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"recordChangedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"recordWithIDWasDeletedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"serverChangeTokenFetchedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"setFetchAllChanges:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CKFetchRecordChangesOperation", - b"setFetchRecordChangesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"setPerRecordProgressBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"setRecordChangedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"setRecordWithIDWasDeletedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchRecordChangesOperation", - b"setServerChangeTokenFetchedBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"fetchAllChanges", - {"retval": {"type": "Z"}}, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"fetchRecordZoneChangesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"recordChangedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"recordWasChangedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"recordWithIDWasDeletedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"recordZoneChangeTokensUpdatedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"recordZoneFetchCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Z"}, - 5: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setFetchAllChanges:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setFetchRecordZoneChangesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setRecordChangedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setRecordWasChangedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setRecordWithIDWasDeletedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setRecordZoneChangeTokensUpdatedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordZoneChangesOperation", - b"setRecordZoneFetchCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Z"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordZonesOperation", - b"fetchRecordZonesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZonesOperation", - b"perRecordZoneCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordZonesOperation", - b"setFetchRecordZonesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordZonesOperation", - b"setPerRecordZoneCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"fetchRecordsCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"perRecordCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"perRecordProgressBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"setFetchRecordsCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"setPerRecordCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchRecordsOperation", - b"setPerRecordProgressBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - } - }, - ) - r( - b"CKFetchShareMetadataOperation", - b"fetchShareMetadataCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchShareMetadataOperation", - b"perShareMetadataBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchShareMetadataOperation", - b"setFetchShareMetadataCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchShareMetadataOperation", - b"setPerShareMetadataBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchShareMetadataOperation", - b"setShouldFetchRootRecord:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CKFetchShareMetadataOperation", - b"shouldFetchRootRecord", - {"retval": {"type": "Z"}}, - ) - r( - b"CKFetchShareParticipantsOperation", - b"fetchShareParticipantsCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchShareParticipantsOperation", - b"perShareParticipantCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchShareParticipantsOperation", - b"setFetchShareParticipantsCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchShareParticipantsOperation", - b"setPerShareParticipantCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchShareParticipantsOperation", - b"setShareParticipantFetchedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKFetchShareParticipantsOperation", - b"shareParticipantFetchedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKFetchSubscriptionsOperation", - b"fetchSubscriptionCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchSubscriptionsOperation", - b"setFetchSubscriptionCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKFetchSubscriptionsOperation", - b"setPerSubscriptionCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CKFetchWebAuthTokenOperation", - b"fetchWebAuthTokenCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKFetchWebAuthTokenOperation", - b"setFetchWebAuthTokenCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKMarkNotificationsReadOperation", - b"markNotificationsReadCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKMarkNotificationsReadOperation", - b"setMarkNotificationsReadCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifyBadgeOperation", - b"modifyBadgeCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKModifyBadgeOperation", - b"setModifyBadgeCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKModifyRecordZonesOperation", - b"modifyRecordZonesCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifyRecordZonesOperation", - b"setModifyRecordZonesCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifyRecordZonesOperation", - b"setPerRecordZoneDeleteBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CKModifyRecordZonesOperation", - b"setPerRecordZoneSaveBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CKModifyRecordsOperation", b"atomic", {"retval": {"type": b"Z"}}) - r( - b"CKModifyRecordsOperation", - b"modifyRecordsCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"perRecordCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"perRecordDeleteBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"perRecordProgressBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"perRecordSaveBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r(b"CKModifyRecordsOperation", b"setAtomic:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CKModifyRecordsOperation", - b"setModifyRecordsCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"setPerRecordCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"setPerRecordDeleteBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"setPerRecordProgressBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - } - }, - ) - r( - b"CKModifyRecordsOperation", - b"setPerRecordSaveBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"modifySubscriptionsCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"perSubscriptionDeleteBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"perSubscriptionSaveBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"setModifySubscriptionsCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"setPerSubscriptionDeleteBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKModifySubscriptionsOperation", - b"setPerSubscriptionSaveBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CKNotification", b"isPruned", {"retval": {"type": b"Z"}}) - r(b"CKNotificationInfo", b"setShouldBadge:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CKNotificationInfo", - b"setShouldSendContentAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CKNotificationInfo", - b"setShouldSendMutableContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CKNotificationInfo", b"shouldBadge", {"retval": {"type": b"Z"}}) - r(b"CKNotificationInfo", b"shouldSendContentAvailable", {"retval": {"type": b"Z"}}) - r(b"CKNotificationInfo", b"shouldSendMutableContent", {"retval": {"type": "Z"}}) - r(b"CKOperation", b"allowsCellularAccess", {"retval": {"type": b"Z"}}) - r(b"CKOperation", b"isLongLived", {"retval": {"type": "Z"}}) - r( - b"CKOperation", - b"longLivedOperationWasPersistedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"CKOperation", b"setAllowsCellularAccess:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CKOperation", b"setLongLived:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CKOperation", - b"setLongLivedOperationWasPersistedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CKOperation", b"setUsesBackgroundSession:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CKOperation", b"usesBackgroundSession", {"retval": {"type": b"Z"}}) - r(b"CKOperationConfiguration", b"allowsCellularAccess", {"retval": {"type": "Z"}}) - r(b"CKOperationConfiguration", b"isLongLived", {"retval": {"type": "Z"}}) - r( - b"CKOperationConfiguration", - b"setAllowsCellularAccess:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CKOperationConfiguration", b"setLongLived:", {"arguments": {2: {"type": "Z"}}}) - r(b"CKQueryNotification", b"isPublicDatabase", {"retval": {"type": b"Z"}}) - r( - b"CKQueryOperation", - b"queryCompletionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKQueryOperation", - b"recordFetchedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CKQueryOperation", - b"recordMatchedBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"CKQueryOperation", - b"setQueryCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CKQueryOperation", - b"setRecordFetchedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CKQueryOperation", - b"setRecordMatchedBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CKUserIdentity", b"hasiCloudAccount", {"retval": {"type": "Z"}}) - r(b"NSObject", b"allKeys", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"changedKeys", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"objectForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"objectForKeyedSubscript:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setObject:forKey:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"setObject:forKeyedSubscript:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Cocoa/__init__.py b/src/lib/Cocoa/__init__.py deleted file mode 100644 index 7ca9982..0000000 --- a/src/lib/Cocoa/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Python mapping for the Cocoa framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import AppKit -import Foundation -import objc - -mod = objc.ObjCLazyModule( - "Cocoa", - None, - None, - {}, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (AppKit, Foundation), -) -sys.modules["Cocoa"] = mod diff --git a/src/lib/Collaboration/__init__.py b/src/lib/Collaboration/__init__.py deleted file mode 100644 index c940198..0000000 --- a/src/lib/Collaboration/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Collaboration framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Collaboration import _metadata - -sys.modules["Collaboration"] = objc.ObjCLazyModule( - "Collaboration", - "com.apple.Collaboration", - objc.pathForFramework("/System/Library/Frameworks/Collaboration.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["Collaboration._metadata"] diff --git a/src/lib/Collaboration/_metadata.py b/src/lib/Collaboration/_metadata.py deleted file mode 100644 index 59ca99a..0000000 --- a/src/lib/Collaboration/_metadata.py +++ /dev/null @@ -1,103 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:43:10 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CBIdentity", b"CSIdentity", {"retval": {"type": "^{__CSIdentity=}"}}) - r(b"CBIdentity", b"UUIDString", {"deprecated": 1011}) - r( - b"CBIdentity", - b"identityWithCSIdentity:", - {"arguments": {2: {"type": "^{__CSIdentity=}"}}}, - ) - r(b"CBIdentity", b"identityWithUUIDString:authority:", {"deprecated": 1011}) - r(b"CBIdentity", b"isHidden", {"retval": {"type": "Z"}}) - r(b"CBIdentity", b"isMemberOfGroup:", {"retval": {"type": "Z"}}) - r(b"CBIdentity", b"members", {"deprecated": 1011}) - r( - b"CBIdentityAuthority", - b"CSIdentityAuthority", - {"retval": {"type": "^{__CSIdentityAuthority=}"}}, - ) - r( - b"CBIdentityAuthority", - b"identityAuthorityWithCSIdentityAuthority:", - {"arguments": {2: {"type": "^{__CSIdentityAuthority=}"}}}, - ) - r(b"CBIdentityPicker", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r( - b"CBIdentityPicker", - b"runModalForWindow:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"I"}}, - } - } - } - }, - ) - r( - b"CBIdentityPicker", - b"runModalForWindow:modalDelegate:didEndSelector:contextInfo:", - { - "deprecated": 1011, - "arguments": { - 4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 5: {"type": "^v"}, - }, - }, - ) - r( - b"CBIdentityPicker", - b"setAllowsMultipleSelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CBUserIdentity", b"authenticateWithPassword:", {"retval": {"type": "Z"}}) - r( - b"CBUserIdentity", - b"certificate", - {"retval": {"type": "^{OpaqueSecCertificateRef=}"}}, - ) - r(b"CBUserIdentity", b"isEnabled", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ColorSync/__init__.py b/src/lib/ColorSync/__init__.py deleted file mode 100644 index 848e321..0000000 --- a/src/lib/ColorSync/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the ColorSync framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import objc -from ColorSync import _metadata - -sys.modules["ColorSync"] = mod = objc.ObjCLazyModule( - "ColorSync", - "com.apple.ColorSync", - objc.pathForFramework("/System/Library/Frameworks/ColorSync.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation,), -) - - -del sys.modules["ColorSync._metadata"] diff --git a/src/lib/ColorSync/_metadata.py b/src/lib/ColorSync/_metadata.py deleted file mode 100644 index 4330abe..0000000 --- a/src/lib/ColorSync/_metadata.py +++ /dev/null @@ -1,418 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:43:24 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "ColorSyncMD5": objc.createStructType( - "ColorSync.ColorSyncMD5", b"{_ColorSyncMD5=[16C]}", ["digest"] - ) - } -) -constants = """$kCMMApplyTransformProcName$kCMMCreateTransformPropertyProcName$kCMMInitializeLinkProfileProcName$kCMMInitializeTransformProcName$kColorSyncACESCGLinearProfile$kColorSyncAdobeRGB1998Profile$kColorSyncBestQuality$kColorSyncBlackPointCompensation$kColorSyncCameraDeviceClass$kColorSyncConversion1DLut$kColorSyncConversion3DLut$kColorSyncConversionBPC$kColorSyncConversionChannelID$kColorSyncConversionGridPoints$kColorSyncConversionInpChan$kColorSyncConversionMatrix$kColorSyncConversionNDLut$kColorSyncConversionOutChan$kColorSyncConversionParamCurve0$kColorSyncConversionParamCurve1$kColorSyncConversionParamCurve2$kColorSyncConversionParamCurve3$kColorSyncConversionParamCurve4$kColorSyncConvertQuality$kColorSyncConvertThreadCount$kColorSyncConvertUseExtendedRange$kColorSyncConvertUseVectorUnit$kColorSyncCustomProfiles$kColorSyncDCIP3Profile$kColorSyncDeviceClass$kColorSyncDeviceDefaultProfileID$kColorSyncDeviceDescription$kColorSyncDeviceDescriptions$kColorSyncDeviceHostScope$kColorSyncDeviceID$kColorSyncDeviceModeDescription$kColorSyncDeviceModeDescriptions$kColorSyncDeviceProfileID$kColorSyncDeviceProfileIsCurrent$kColorSyncDeviceProfileIsDefault$kColorSyncDeviceProfileIsFactory$kColorSyncDeviceProfileURL$kColorSyncDeviceProfilesNotification$kColorSyncDeviceRegisteredNotification$kColorSyncDeviceUnregisteredNotification$kColorSyncDeviceUserScope$kColorSyncDisplayDeviceClass$kColorSyncDisplayDeviceProfilesNotification$kColorSyncDisplayP3Profile$kColorSyncDraftQuality$kColorSyncExtendedRange$kColorSyncFactoryProfiles$kColorSyncFixedPointRange$kColorSyncGenericCMYKProfile$kColorSyncGenericGrayGamma22Profile$kColorSyncGenericGrayProfile$kColorSyncGenericLabProfile$kColorSyncGenericRGBProfile$kColorSyncGenericXYZProfile$kColorSyncITUR2020Profile$kColorSyncITUR709Profile$kColorSyncNormalQuality$kColorSyncPreferredCMM$kColorSyncPrinterDeviceClass$kColorSyncProfile$kColorSyncProfileCacheSeed$kColorSyncProfileClass$kColorSyncProfileColorSpace$kColorSyncProfileComputerDomain$kColorSyncProfileDescription$kColorSyncProfileHeader$kColorSyncProfileHostScope$kColorSyncProfileMD5Digest$kColorSyncProfilePCS$kColorSyncProfileRepositoryChangeNotification$kColorSyncProfileURL$kColorSyncProfileUserDomain$kColorSyncProfileUserScope$kColorSyncROMMRGBProfile$kColorSyncRegistrationUpdateWindowServer$kColorSyncRenderingIntent$kColorSyncRenderingIntentAbsolute$kColorSyncRenderingIntentPerceptual$kColorSyncRenderingIntentRelative$kColorSyncRenderingIntentSaturation$kColorSyncRenderingIntentUseProfileHeader$kColorSyncSRGBProfile$kColorSyncScannerDeviceClass$kColorSyncSigAToB0Tag$kColorSyncSigAToB1Tag$kColorSyncSigAToB2Tag$kColorSyncSigAbstractClass$kColorSyncSigBToA0Tag$kColorSyncSigBToA1Tag$kColorSyncSigBToA2Tag$kColorSyncSigBlueColorantTag$kColorSyncSigBlueTRCTag$kColorSyncSigCmykData$kColorSyncSigColorSpaceClass$kColorSyncSigCopyrightTag$kColorSyncSigDeviceMfgDescTag$kColorSyncSigDeviceModelDescTag$kColorSyncSigDisplayClass$kColorSyncSigGamutTag$kColorSyncSigGrayData$kColorSyncSigGrayTRCTag$kColorSyncSigGreenColorantTag$kColorSyncSigGreenTRCTag$kColorSyncSigInputClass$kColorSyncSigLabData$kColorSyncSigLinkClass$kColorSyncSigMediaBlackPointTag$kColorSyncSigMediaWhitePointTag$kColorSyncSigNamedColor2Tag$kColorSyncSigNamedColorClass$kColorSyncSigOutputClass$kColorSyncSigPreview0Tag$kColorSyncSigPreview1Tag$kColorSyncSigPreview2Tag$kColorSyncSigProfileDescriptionTag$kColorSyncSigProfileSequenceDescTag$kColorSyncSigRedColorantTag$kColorSyncSigRedTRCTag$kColorSyncSigRgbData$kColorSyncSigTechnologyTag$kColorSyncSigViewingCondDescTag$kColorSyncSigViewingConditionsTag$kColorSyncSigXYZData$kColorSyncTranformInfo$kColorSyncTransformCodeFragmentMD5$kColorSyncTransformCodeFragmentType$kColorSyncTransformCreator$kColorSyncTransformDeviceToDevice$kColorSyncTransformDeviceToPCS$kColorSyncTransformDstSpace$kColorSyncTransformFullConversionData$kColorSyncTransformGamutCheck$kColorSyncTransformInfo$kColorSyncTransformPCSToDevice$kColorSyncTransformPCSToPCS$kColorSyncTransformParametricConversionData$kColorSyncTransformProfileSequnce$kColorSyncTransformSimplifiedConversionData$kColorSyncTransformSrcSpace$kColorSyncTransformTag$kColorSyncWaitForCacheReply$""" -enums = """$COLORSYNC_MD5_LENGTH@16$kColorSync10BitInteger@8$kColorSync16BitFloat@4$kColorSync16BitInteger@3$kColorSync1BitGamut@1$kColorSync32BitFloat@7$kColorSync32BitInteger@5$kColorSync32BitNamedColorIndex@6$kColorSync8BitInteger@2$kColorSyncAlphaFirst@4$kColorSyncAlphaInfoMask@31$kColorSyncAlphaLast@3$kColorSyncAlphaNone@0$kColorSyncAlphaNoneSkipFirst@6$kColorSyncAlphaNoneSkipLast@5$kColorSyncAlphaPremultipliedFirst@2$kColorSyncAlphaPremultipliedLast@1$kColorSyncByteOrder16Big@12288$kColorSyncByteOrder16Little@4096$kColorSyncByteOrder32Big@16384$kColorSyncByteOrder32Little@8192$kColorSyncByteOrderDefault@0$kColorSyncByteOrderMask@28672$""" -misc.update( - { - "ColorSyncAlphaInfo": NewType("ColorSyncAlphaInfo", int), - "ColorSyncDataDepth": NewType("ColorSyncDataDepth", int), - } -) -misc.update( - { - "COLORSYNC_PROFILE_INSTALL_ENTITLEMENT": b"com.apple.developer.ColorSync.profile.install" - } -) -functions = { - "ColorSyncProfileCopyDescriptionString": ( - b"^{__CFString=}^{ColorSyncProfile=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncCMMCopyLocalizedName": ( - b"^{__CFString=}^{ColorSyncCMM=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCreateLink": ( - b"^{ColorSyncProfile=}^{__CFArray=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncCreateCodeFragment": ( - b"@^{__CFArray=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCreateDisplayTransferTablesFromVCGT": ( - b"^{__CFData=}^{ColorSyncProfile=}n^L", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"comment": "Unclear if this is correct"}}, - }, - ), - "CGDisplayGetDisplayIDFromUUID": (b"I^{__CFUUID=}",), - "ColorSyncProfileCreateDeviceProfile": ( - b"^{ColorSyncProfile=}^{__CFString=}^{__CFUUID=}@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"comment": "CFTypeRef"}}, - }, - ), - "ColorSyncProfileCopyHeader": ( - b"^{__CFData=}^{ColorSyncProfile=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCopyTagSignatures": ( - b"^{__CFArray=}^{ColorSyncProfile=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncCMMGetTypeID": (b"Q",), - "ColorSyncProfileCreateWithURL": ( - b"^{ColorSyncProfile=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ColorSyncProfileVerify": ( - b"B^{ColorSyncProfile=}^^{__CFError=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - } - }, - ), - "ColorSyncProfileIsMatrixBased": (b"B^{ColorSyncProfile=}",), - "ColorSyncTransformConvert": ( - b"B^{ColorSyncTransform=}QQ^vIIQ^vIIQ^{__CFDictionary=}", - "", - { - "arguments": { - 3: {"type_modifier": "o", "c_array_of_variable_length": True}, - 7: {"type_modifier": "n", "c_array_of_variable_length": True}, - } - }, - ), - "ColorSyncCMMCreate": ( - b"^{ColorSyncCMM=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncTransformGetProfileSequence": (b"^{__CFArray=}^{ColorSyncTransform=}",), - "ColorSyncProfileCreateWithDisplayID": ( - b"^{ColorSyncProfile=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCreateMutableCopy": ( - b"^{ColorSyncProfile=}^{ColorSyncProfile=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayCreateUUIDFromDisplayID": ( - b"^{__CFUUID=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileInstall": ( - b"B^{ColorSyncProfile=}^{__CFString=}^{__CFString=}^^{__CFError=}", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ColorSyncProfileSetTag": (b"v^{ColorSyncProfile=}^{__CFString=}^{__CFData=}",), - "ColorSyncTransformCreate": ( - b"^{ColorSyncTransform=}^{__CFArray=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCopyTag": ( - b"^{__CFData=}^{ColorSyncProfile=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncIterateDeviceProfiles": ( - b"v^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": b"^{__CFDictionary=}"}, - 1: {"type": b"^v"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "ColorSyncProfileGetURL": ( - b"^{__CFURL=}^{ColorSyncProfile=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ColorSyncTransformSetProperty": (b"v^{ColorSyncTransform=}@@",), - "ColorSyncProfileUninstall": ( - b"B^{ColorSyncProfile=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ColorSyncUnregisterDevice": (b"B^{__CFString=}^{__CFUUID=}",), - "ColorSyncDeviceCopyDeviceInfo": ( - b"^{__CFDictionary=}^{__CFString=}^{__CFUUID=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileCreateMutable": ( - b"^{ColorSyncProfile=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncIterateInstalledProfiles": ( - b"v^?N^I^v^^{__CFError=}", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": b"^{__CFDictionary=}"}, - 1: {"type": b"^v"}, - }, - }, - "callable_retained": False, - }, - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - } - }, - ), - "ColorSyncProfileIsPQBased": (b"B^{ColorSyncProfile=}",), - "ColorSyncProfileCopyData": ( - b"^{__CFData=}^{ColorSyncProfile=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ColorSyncIterateInstalledCMMs": ( - b"v^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": b"^{ColorSyncCMM=}"}, - 1: {"type": b"^v"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "ColorSyncDeviceSetCustomProfiles": ( - b"B^{__CFString=}^{__CFUUID=}^{__CFDictionary=}", - ), - "ColorSyncProfileIsHLGBased": (b"B^{ColorSyncProfile=}",), - "ColorSyncCMMGetBundle": (b"^{__CFBundle=}^{ColorSyncCMM=}",), - "ColorSyncIterateInstalledProfilesWithOptions": ( - b"v^?^I^v^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": b"^{__CFDictionary=}"}, - 1: {"type": b"^v"}, - }, - } - }, - 1: {"type_modifier": "N"}, - 4: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - } - }, - ), - "ColorSyncProfileGetTypeID": (b"Q",), - "ColorSyncProfileCreateWithName": ( - b"^{ColorSyncProfile=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncTransformGetTypeID": (b"Q",), - "ColorSyncProfileGetDisplayTransferFormulaFromVCGT": ( - b"B^{ColorSyncProfile=}o^fo^fo^fo^fo^fo^fo^fo^fo^f", - ), - "ColorSyncProfileIsWideGamut": (b"B^{ColorSyncProfile=}",), - "ColorSyncRegisterDevice": (b"B^{__CFString=}^{__CFUUID=}^{__CFDictionary=}",), - "ColorSyncProfileEstimateGammaWithDisplayID": ( - b"fi^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ColorSyncProfileGetMD5": (b"{_ColorSyncMD5=[16C]}^{ColorSyncProfile=}",), - "ColorSyncProfileRemoveTag": (b"v^{ColorSyncProfile=}^{__CFString=}",), - "ColorSyncProfileContainsTag": ( - b"B^{ColorSyncProfile=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncProfileEstimateGamma": ( - b"f^{ColorSyncProfile=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "ColorSyncProfileCreate": ( - b"^{ColorSyncProfile=}^{__CFData=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "ColorSyncProfileSetHeader": (b"v^{ColorSyncProfile=}^{__CFData=}",), - "ColorSyncTransformCopyProperty": ( - b"@^{ColorSyncTransform=}@^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ColorSyncCMMCopyCMMIdentifier": ( - b"^{__CFString=}^{ColorSyncCMM=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "CSEXTERN_DESKTOP": "CSEXTERN", - "ColorSyncMutableProfileRef": "ColorSyncProfileRef", - "CS_UNAVAILABLE_PUBLIC_EMBEDDED": "CS_UNAVAILABLE_EMBEDDED", -} -cftypes = [ - ("ColorSyncCMMRef", b"^{ColorSyncCMM=}", "ColorSyncCMMGetTypeID", None), - ("ColorSyncProfileRef", b"^{ColorSyncProfile=}", "ColorSyncProfileGetTypeID", None), - ( - "ColorSyncTransformRef", - b"^{ColorSyncTransform=}", - "ColorSyncTransformGetTypeID", - None, - ), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/Contacts/__init__.py b/src/lib/Contacts/__init__.py deleted file mode 100644 index 505b001..0000000 --- a/src/lib/Contacts/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the Contacts framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Contacts import _metadata -from Contacts import _Contacts - -sys.modules["Contacts"] = mod = objc.ObjCLazyModule( - "Contacts", - "com.apple.Contacts.framework", - objc.pathForFramework("/System/Library/Frameworks/Contacts.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Contacts, Foundation), -) - - -del sys.modules["Contacts._metadata"] diff --git a/src/lib/Contacts/_metadata.py b/src/lib/Contacts/_metadata.py deleted file mode 100644 index 9a5f4d2..0000000 --- a/src/lib/Contacts/_metadata.py +++ /dev/null @@ -1,241 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:43:34 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CNContactBirthdayKey$CNContactDatesKey$CNContactDepartmentNameKey$CNContactEmailAddressesKey$CNContactFamilyNameKey$CNContactGivenNameKey$CNContactIdentifierKey$CNContactImageDataAvailableKey$CNContactImageDataKey$CNContactInstantMessageAddressesKey$CNContactJobTitleKey$CNContactMiddleNameKey$CNContactNamePrefixKey$CNContactNameSuffixKey$CNContactNicknameKey$CNContactNonGregorianBirthdayKey$CNContactNoteKey$CNContactOrganizationNameKey$CNContactPhoneNumbersKey$CNContactPhoneticFamilyNameKey$CNContactPhoneticGivenNameKey$CNContactPhoneticMiddleNameKey$CNContactPhoneticOrganizationNameKey$CNContactPostalAddressesKey$CNContactPreviousFamilyNameKey$CNContactPropertyAttribute$CNContactPropertyNotFetchedExceptionName$CNContactRelationsKey$CNContactSocialProfilesKey$CNContactStoreDidChangeNotification$CNContactThumbnailImageDataKey$CNContactTypeKey$CNContactUrlAddressesKey$CNContainerIdentifierKey$CNContainerNameKey$CNContainerTypeKey$CNErrorDomain$CNErrorUserInfoAffectedRecordIdentifiersKey$CNErrorUserInfoAffectedRecordsKey$CNErrorUserInfoKeyPathsKey$CNErrorUserInfoValidationErrorsKey$CNGroupIdentifierKey$CNGroupNameKey$CNInstantMessageAddressServiceKey$CNInstantMessageAddressUsernameKey$CNInstantMessageServiceAIM$CNInstantMessageServiceFacebook$CNInstantMessageServiceGaduGadu$CNInstantMessageServiceGoogleTalk$CNInstantMessageServiceICQ$CNInstantMessageServiceJabber$CNInstantMessageServiceMSN$CNInstantMessageServiceQQ$CNInstantMessageServiceSkype$CNInstantMessageServiceYahoo$CNLabelContactRelationAssistant$CNLabelContactRelationAunt$CNLabelContactRelationAuntFathersBrothersWife$CNLabelContactRelationAuntFathersElderBrothersWife$CNLabelContactRelationAuntFathersElderSister$CNLabelContactRelationAuntFathersSister$CNLabelContactRelationAuntFathersYoungerBrothersWife$CNLabelContactRelationAuntFathersYoungerSister$CNLabelContactRelationAuntMothersBrothersWife$CNLabelContactRelationAuntMothersElderSister$CNLabelContactRelationAuntMothersSister$CNLabelContactRelationAuntMothersYoungerSister$CNLabelContactRelationAuntParentsElderSister$CNLabelContactRelationAuntParentsSister$CNLabelContactRelationAuntParentsYoungerSister$CNLabelContactRelationBoyfriend$CNLabelContactRelationBrother$CNLabelContactRelationBrotherInLaw$CNLabelContactRelationBrotherInLawElderSistersHusband$CNLabelContactRelationBrotherInLawHusbandsBrother$CNLabelContactRelationBrotherInLawHusbandsSistersHusband$CNLabelContactRelationBrotherInLawSistersHusband$CNLabelContactRelationBrotherInLawSpousesBrother$CNLabelContactRelationBrotherInLawWifesBrother$CNLabelContactRelationBrotherInLawWifesSistersHusband$CNLabelContactRelationBrotherInLawYoungerSistersHusband$CNLabelContactRelationChild$CNLabelContactRelationChildInLaw$CNLabelContactRelationCoBrotherInLaw$CNLabelContactRelationCoFatherInLaw$CNLabelContactRelationCoMotherInLaw$CNLabelContactRelationCoParentInLaw$CNLabelContactRelationCoSiblingInLaw$CNLabelContactRelationCoSisterInLaw$CNLabelContactRelationColleague$CNLabelContactRelationCousin$CNLabelContactRelationCousinFathersBrothersDaughter$CNLabelContactRelationCousinFathersBrothersSon$CNLabelContactRelationCousinFathersSistersDaughter$CNLabelContactRelationCousinFathersSistersSon$CNLabelContactRelationCousinGrandparentsSiblingsChild$CNLabelContactRelationCousinGrandparentsSiblingsDaughter$CNLabelContactRelationCousinGrandparentsSiblingsSon$CNLabelContactRelationCousinMothersBrothersDaughter$CNLabelContactRelationCousinMothersBrothersSon$CNLabelContactRelationCousinMothersSistersDaughter$CNLabelContactRelationCousinMothersSistersSon$CNLabelContactRelationCousinOrSiblingsChild$CNLabelContactRelationCousinParentsSiblingsChild$CNLabelContactRelationCousinParentsSiblingsDaughter$CNLabelContactRelationCousinParentsSiblingsSon$CNLabelContactRelationDaughter$CNLabelContactRelationDaughterInLaw$CNLabelContactRelationDaughterInLawOrSisterInLaw$CNLabelContactRelationDaughterInLawOrStepdaughter$CNLabelContactRelationElderBrother$CNLabelContactRelationElderBrotherInLaw$CNLabelContactRelationElderCousin$CNLabelContactRelationElderCousinFathersBrothersDaughter$CNLabelContactRelationElderCousinFathersBrothersSon$CNLabelContactRelationElderCousinFathersSistersDaughter$CNLabelContactRelationElderCousinFathersSistersSon$CNLabelContactRelationElderCousinMothersBrothersDaughter$CNLabelContactRelationElderCousinMothersBrothersSon$CNLabelContactRelationElderCousinMothersSiblingsDaughterOrFathersSistersDaughter$CNLabelContactRelationElderCousinMothersSiblingsSonOrFathersSistersSon$CNLabelContactRelationElderCousinMothersSistersDaughter$CNLabelContactRelationElderCousinMothersSistersSon$CNLabelContactRelationElderCousinParentsSiblingsDaughter$CNLabelContactRelationElderCousinParentsSiblingsSon$CNLabelContactRelationElderSibling$CNLabelContactRelationElderSiblingInLaw$CNLabelContactRelationElderSister$CNLabelContactRelationElderSisterInLaw$CNLabelContactRelationEldestBrother$CNLabelContactRelationEldestSister$CNLabelContactRelationFather$CNLabelContactRelationFatherInLaw$CNLabelContactRelationFatherInLawHusbandsFather$CNLabelContactRelationFatherInLawOrStepfather$CNLabelContactRelationFatherInLawWifesFather$CNLabelContactRelationFemaleCousin$CNLabelContactRelationFemaleFriend$CNLabelContactRelationFemalePartner$CNLabelContactRelationFriend$CNLabelContactRelationGirlfriend$CNLabelContactRelationGirlfriendOrBoyfriend$CNLabelContactRelationGrandaunt$CNLabelContactRelationGrandchild$CNLabelContactRelationGrandchildOrSiblingsChild$CNLabelContactRelationGranddaughter$CNLabelContactRelationGranddaughterDaughtersDaughter$CNLabelContactRelationGranddaughterOrNiece$CNLabelContactRelationGranddaughterSonsDaughter$CNLabelContactRelationGrandfather$CNLabelContactRelationGrandfatherFathersFather$CNLabelContactRelationGrandfatherMothersFather$CNLabelContactRelationGrandmother$CNLabelContactRelationGrandmotherFathersMother$CNLabelContactRelationGrandmotherMothersMother$CNLabelContactRelationGrandnephew$CNLabelContactRelationGrandnephewBrothersGrandson$CNLabelContactRelationGrandnephewSistersGrandson$CNLabelContactRelationGrandniece$CNLabelContactRelationGrandnieceBrothersGranddaughter$CNLabelContactRelationGrandnieceSistersGranddaughter$CNLabelContactRelationGrandparent$CNLabelContactRelationGrandson$CNLabelContactRelationGrandsonDaughtersSon$CNLabelContactRelationGrandsonOrNephew$CNLabelContactRelationGrandsonSonsSon$CNLabelContactRelationGranduncle$CNLabelContactRelationGreatGrandchild$CNLabelContactRelationGreatGrandchildOrSiblingsGrandchild$CNLabelContactRelationGreatGranddaughter$CNLabelContactRelationGreatGrandfather$CNLabelContactRelationGreatGrandmother$CNLabelContactRelationGreatGrandparent$CNLabelContactRelationGreatGrandson$CNLabelContactRelationHusband$CNLabelContactRelationMaleCousin$CNLabelContactRelationMaleFriend$CNLabelContactRelationMalePartner$CNLabelContactRelationManager$CNLabelContactRelationMother$CNLabelContactRelationMotherInLaw$CNLabelContactRelationMotherInLawHusbandsMother$CNLabelContactRelationMotherInLawOrStepmother$CNLabelContactRelationMotherInLawWifesMother$CNLabelContactRelationNephew$CNLabelContactRelationNephewBrothersSon$CNLabelContactRelationNephewBrothersSonOrHusbandsSiblingsSon$CNLabelContactRelationNephewOrCousin$CNLabelContactRelationNephewSistersSon$CNLabelContactRelationNephewSistersSonOrWifesSiblingsSon$CNLabelContactRelationNiece$CNLabelContactRelationNieceBrothersDaughter$CNLabelContactRelationNieceBrothersDaughterOrHusbandsSiblingsDaughter$CNLabelContactRelationNieceOrCousin$CNLabelContactRelationNieceSistersDaughter$CNLabelContactRelationNieceSistersDaughterOrWifesSiblingsDaughter$CNLabelContactRelationParent$CNLabelContactRelationParentInLaw$CNLabelContactRelationParentsElderSibling$CNLabelContactRelationParentsSibling$CNLabelContactRelationParentsSiblingFathersElderSibling$CNLabelContactRelationParentsSiblingFathersSibling$CNLabelContactRelationParentsSiblingFathersYoungerSibling$CNLabelContactRelationParentsSiblingMothersElderSibling$CNLabelContactRelationParentsSiblingMothersSibling$CNLabelContactRelationParentsSiblingMothersYoungerSibling$CNLabelContactRelationParentsYoungerSibling$CNLabelContactRelationPartner$CNLabelContactRelationSibling$CNLabelContactRelationSiblingInLaw$CNLabelContactRelationSiblingsChild$CNLabelContactRelationSister$CNLabelContactRelationSisterInLaw$CNLabelContactRelationSisterInLawBrothersWife$CNLabelContactRelationSisterInLawElderBrothersWife$CNLabelContactRelationSisterInLawHusbandsBrothersWife$CNLabelContactRelationSisterInLawHusbandsSister$CNLabelContactRelationSisterInLawSpousesSister$CNLabelContactRelationSisterInLawWifesBrothersWife$CNLabelContactRelationSisterInLawWifesSister$CNLabelContactRelationSisterInLawYoungerBrothersWife$CNLabelContactRelationSon$CNLabelContactRelationSonInLaw$CNLabelContactRelationSonInLawOrBrotherInLaw$CNLabelContactRelationSonInLawOrStepson$CNLabelContactRelationSpouse$CNLabelContactRelationStepbrother$CNLabelContactRelationStepchild$CNLabelContactRelationStepdaughter$CNLabelContactRelationStepfather$CNLabelContactRelationStepmother$CNLabelContactRelationStepparent$CNLabelContactRelationStepsister$CNLabelContactRelationStepson$CNLabelContactRelationTeacher$CNLabelContactRelationUncle$CNLabelContactRelationUncleFathersBrother$CNLabelContactRelationUncleFathersElderBrother$CNLabelContactRelationUncleFathersElderSistersHusband$CNLabelContactRelationUncleFathersSistersHusband$CNLabelContactRelationUncleFathersYoungerBrother$CNLabelContactRelationUncleFathersYoungerSistersHusband$CNLabelContactRelationUncleMothersBrother$CNLabelContactRelationUncleMothersElderBrother$CNLabelContactRelationUncleMothersSistersHusband$CNLabelContactRelationUncleMothersYoungerBrother$CNLabelContactRelationUncleParentsBrother$CNLabelContactRelationUncleParentsElderBrother$CNLabelContactRelationUncleParentsYoungerBrother$CNLabelContactRelationWife$CNLabelContactRelationYoungerBrother$CNLabelContactRelationYoungerBrotherInLaw$CNLabelContactRelationYoungerCousin$CNLabelContactRelationYoungerCousinFathersBrothersDaughter$CNLabelContactRelationYoungerCousinFathersBrothersSon$CNLabelContactRelationYoungerCousinFathersSistersDaughter$CNLabelContactRelationYoungerCousinFathersSistersSon$CNLabelContactRelationYoungerCousinMothersBrothersDaughter$CNLabelContactRelationYoungerCousinMothersBrothersSon$CNLabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaughter$CNLabelContactRelationYoungerCousinMothersSiblingsSonOrFathersSistersSon$CNLabelContactRelationYoungerCousinMothersSistersDaughter$CNLabelContactRelationYoungerCousinMothersSistersSon$CNLabelContactRelationYoungerCousinParentsSiblingsDaughter$CNLabelContactRelationYoungerCousinParentsSiblingsSon$CNLabelContactRelationYoungerSibling$CNLabelContactRelationYoungerSiblingInLaw$CNLabelContactRelationYoungerSister$CNLabelContactRelationYoungerSisterInLaw$CNLabelContactRelationYoungestBrother$CNLabelContactRelationYoungestSister$CNLabelDateAnniversary$CNLabelEmailiCloud$CNLabelHome$CNLabelOther$CNLabelPhoneNumberAppleWatch$CNLabelPhoneNumberHomeFax$CNLabelPhoneNumberMain$CNLabelPhoneNumberMobile$CNLabelPhoneNumberOtherFax$CNLabelPhoneNumberPager$CNLabelPhoneNumberWorkFax$CNLabelPhoneNumberiPhone$CNLabelSchool$CNLabelURLAddressHomePage$CNLabelWork$CNPostalAddressCityKey$CNPostalAddressCountryKey$CNPostalAddressISOCountryCodeKey$CNPostalAddressLocalizedPropertyNameAttribute$CNPostalAddressPostalCodeKey$CNPostalAddressPropertyAttribute$CNPostalAddressStateKey$CNPostalAddressStreetKey$CNPostalAddressSubAdministrativeAreaKey$CNPostalAddressSubLocalityKey$CNSocialProfileServiceFacebook$CNSocialProfileServiceFlickr$CNSocialProfileServiceGameCenter$CNSocialProfileServiceKey$CNSocialProfileServiceLinkedIn$CNSocialProfileServiceMySpace$CNSocialProfileServiceSinaWeibo$CNSocialProfileServiceTencentWeibo$CNSocialProfileServiceTwitter$CNSocialProfileServiceYelp$CNSocialProfileURLStringKey$CNSocialProfileUserIdentifierKey$CNSocialProfileUsernameKey$""" -enums = """$CNAuthorizationStatusAuthorized@3$CNAuthorizationStatusDenied@2$CNAuthorizationStatusNotDetermined@0$CNAuthorizationStatusRestricted@1$CNContactDisplayNameOrderFamilyNameFirst@2$CNContactDisplayNameOrderGivenNameFirst@1$CNContactDisplayNameOrderUserDefault@0$CNContactFormatterStyleFullName@0$CNContactFormatterStylePhoneticFullName@1$CNContactSortOrderFamilyName@3$CNContactSortOrderGivenName@2$CNContactSortOrderNone@0$CNContactSortOrderUserDefault@1$CNContactTypeOrganization@1$CNContactTypePerson@0$CNContainerTypeCardDAV@3$CNContainerTypeExchange@2$CNContainerTypeLocal@1$CNContainerTypeUnassigned@0$CNEntityTypeContacts@0$CNErrorCodeAuthorizationDenied@100$CNErrorCodeChangeHistoryExpired@603$CNErrorCodeChangeHistoryInvalidAnchor@604$CNErrorCodeChangeHistoryInvalidFetchRequest@605$CNErrorCodeClientIdentifierCollision@602$CNErrorCodeClientIdentifierDoesNotExist@601$CNErrorCodeClientIdentifierInvalid@600$CNErrorCodeCommunicationError@1$CNErrorCodeContainmentCycle@202$CNErrorCodeContainmentScope@203$CNErrorCodeDataAccessError@2$CNErrorCodeFeatureDisabledByUser@103$CNErrorCodeInsertedRecordAlreadyExists@201$CNErrorCodeNoAccessableWritableContainers@101$CNErrorCodeParentContainerNotWritable@207$CNErrorCodeParentRecordDoesNotExist@204$CNErrorCodePolicyViolation@500$CNErrorCodePredicateInvalid@400$CNErrorCodeRecordDoesNotExist@200$CNErrorCodeRecordIdentifierInvalid@205$CNErrorCodeRecordNotWritable@206$CNErrorCodeUnauthorizedKeys@102$CNErrorCodeVCardMalformed@700$CNErrorCodeVCardSummarizationError@701$CNErrorCodeValidationConfigurationError@302$CNErrorCodeValidationMultipleErrors@300$CNErrorCodeValidationTypeMismatch@301$CNPostalAddressFormatterStyleMailingAddress@0$""" -misc.update( - { - "CNEntityType": NewType("CNEntityType", int), - "CNContactType": NewType("CNContactType", int), - "CNContactDisplayNameOrder": NewType("CNContactDisplayNameOrder", int), - "CNErrorCode": NewType("CNErrorCode", int), - "CNAuthorizationStatus": NewType("CNAuthorizationStatus", int), - "CNContactFormatterStyle": NewType("CNContactFormatterStyle", int), - "CNContactSortOrder": NewType("CNContactSortOrder", int), - "CNPostalAddressFormatterStyle": NewType("CNPostalAddressFormatterStyle", int), - "CNContainerType": NewType("CNContainerType", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CNChangeHistoryFetchRequest", - b"includeGroupChanges", - {"retval": {"type": b"Z"}}, - ) - r(b"CNChangeHistoryFetchRequest", b"mutableObjects", {"retval": {"type": b"Z"}}) - r( - b"CNChangeHistoryFetchRequest", - b"setIncludeGroupChanges:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CNChangeHistoryFetchRequest", - b"setMutableObjects:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CNChangeHistoryFetchRequest", - b"setShouldUnifyResults:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CNChangeHistoryFetchRequest", b"shouldUnifyResults", {"retval": {"type": b"Z"}}) - r(b"CNContact", b"areKeysAvailable:", {"retval": {"type": "Z"}}) - r(b"CNContact", b"imageDataAvailable", {"retval": {"type": b"Z"}}) - r(b"CNContact", b"isKeyAvailable:", {"retval": {"type": "Z"}}) - r(b"CNContact", b"isUnifiedWithContactWithIdentifier:", {"retval": {"type": "Z"}}) - r(b"CNContactFetchRequest", b"mutableObjects", {"retval": {"type": "Z"}}) - r( - b"CNContactFetchRequest", - b"setMutableObjects:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CNContactFetchRequest", b"setUnifyResults:", {"arguments": {2: {"type": "Z"}}}) - r(b"CNContactFetchRequest", b"unifyResults", {"retval": {"type": "Z"}}) - r( - b"CNContactStore", - b"containersMatchingPredicate:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"enumerateContactsWithFetchRequest:error:usingBlock:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"type_modifier": b"o"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - }, - }, - }, - ) - r( - b"CNContactStore", - b"enumeratorForChangeHistoryFetchRequest:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"enumeratorForContactFetchRequest:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"executeSaveRequest:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"groupsMatchingPredicate:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"requestAccessForEntityType:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CNContactStore", - b"unifiedContactWithIdentifier:keysToFetch:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"unifiedContactsMatchingPredicate:keysToFetch:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactStore", - b"unifiedMeContactWithKeysToFetch:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactVCardSerialization", - b"contactsWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CNContactVCardSerialization", - b"dataWithContacts:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CNPhoneNumber", b"init", {"deprecated": 1013}) - r(b"CNPhoneNumber", b"new", {"deprecated": 1013}) - r( - b"CNSaveRequest", - b"setShouldRefetchContacts:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CNSaveRequest", b"shouldRefetchContacts", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"visitAddContactEvent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitAddGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitAddMemberToGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitAddSubgroupToGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitDeleteContactEvent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitDeleteGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitDropEverythingEvent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitRemoveMemberFromGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitRemoveSubgroupFromGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitUpdateContactEvent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"visitUpdateGroupEvent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ContactsUI/__init__.py b/src/lib/ContactsUI/__init__.py deleted file mode 100644 index acdf00b..0000000 --- a/src/lib/ContactsUI/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the ContactsUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import Contacts -import objc -from ContactsUI import _metadata -from ContactsUI import _ContactsUI - -sys.modules["ContactsUI"] = mod = objc.ObjCLazyModule( - "ContactsUI", - "com.apple.ContactsUI.framework", - objc.pathForFramework("/System/Library/Frameworks/ContactsUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_ContactsUI, AppKit, Contacts), -) - - -del sys.modules["ContactsUI._metadata"] diff --git a/src/lib/ContactsUI/_metadata.py b/src/lib/ContactsUI/_metadata.py deleted file mode 100644 index ec348ef..0000000 --- a/src/lib/ContactsUI/_metadata.py +++ /dev/null @@ -1,72 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:43:50 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"contactPicker:didSelectContact:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contactPicker:didSelectContactProperty:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contactPickerDidClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"contactPickerWillClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreAudio/__init__.py b/src/lib/CoreAudio/__init__.py deleted file mode 100644 index 648114f..0000000 --- a/src/lib/CoreAudio/__init__.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -Python mapping for the CoreAudio framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreAudio._CoreAudio -import Foundation -import objc -from CoreAudio import _metadata -from CoreAudio._inlines import _inline_list_ - -sys.modules["CoreAudio"] = mod = objc.ObjCLazyModule( - "CoreAudio", - "com.apple.CoreAudio", - objc.pathForFramework("/System/Library/Frameworks/CoreAudio.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CoreAudio._metadata"] - - -for nm in dir(CoreAudio._CoreAudio): - setattr(mod, nm, getattr(CoreAudio._CoreAudio, nm)) diff --git a/src/lib/CoreAudio/_metadata.py b/src/lib/CoreAudio/_metadata.py deleted file mode 100644 index 17464ae..0000000 --- a/src/lib/CoreAudio/_metadata.py +++ /dev/null @@ -1,852 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:43:59 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "AudioClassDescription": objc.createStructType( - "CoreAudio.AudioClassDescription", - b"{AudioClassDescription=III}", - ["mType", "mSubType", "mManufacturer"], - ), - "AudioStreamPacketDescription": objc.createStructType( - "CoreAudio.AudioStreamPacketDescription", - b"{AudioStreamPacketDescription=qII}", - ["mStartOffset", "mVariableFramesInPacket", "mDataByteSize"], - ), - "AudioStreamRangedDescription": objc.createStructType( - "CoreAudio.AudioStreamRangedDescription", - b"{AudioStreamRangedDescription={AudioStreamBasicDescription=dIIIIIIII}{AudioValueRange=dd}}", - ["mFormat", "mSampleRateRange"], - ), - "AudioChannelDescription": objc.createStructType( - "CoreAudio.AudioChannelDescription", - b"{AudioChannelDescription=II[3f]}", - ["mChannelLabel", "mChannelFlags", "mCoordinates"], - ), - "AudioChannelLayout": objc.createStructType( - "CoreAudio.AudioChannelLayout", - b"{AudioChannelLayout=III[1{AudioChannelDescription=II[3f]}]}", - [ - "mChannelLayoutTag", - "mChannelBitmap", - "mNumberChannelDescriptions", - "mChannelDescriptions", - ], - ), - "AudioFormatListItem": objc.createStructType( - "CoreAudio.AudioFormatListItem", - b"{AudioFormatListItem={AudioStreamBasicDescription=dIIIIIIII}I}", - ["mASBD", "mChannelLayoutTag"], - ), - "SMPTETime": objc.createStructType( - "CoreAudio.SMPTETime", - b"{SMPTETime=ssIIIssss}", - [ - "mSubframes", - "mSubframeDivisor", - "mCounter", - "mType", - "mFlags", - "mHours", - "mMinutes", - "mSeconds", - "mFrames", - ], - ), - "AudioValueRange": objc.createStructType( - "CoreAudio.AudioValueRange", - b"{AudioValueRange=dd}", - ["mMinimum", "mMaximum"], - ), - "AudioTimeStamp": objc.createStructType( - "CoreAudio.AudioTimeStamp", - b"{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - [ - "mSampleTime", - "mHostTime", - "mRateScalar", - "mWordClockTime", - "mSMPTETime", - "mFlags", - "mReserved", - ], - ), - "AudioHardwareIOProcStreamUsage": objc.createStructType( - "CoreAudio.AudioHardwareIOProcStreamUsage", - b"{AudioHardwareIOProcStreamUsage=^vI[1I]}", - ["mIOProc", "mNumberStreams", "mStreamIsOn"], - ), - "AudioStreamBasicDescription": objc.createStructType( - "CoreAudio.AudioStreamBasicDescription", - b"{AudioStreamBasicDescription=dIIIIIIII}", - [ - "mSampleRate", - "mFormatID", - "mFormatFlags", - "mBytesPerPacket", - "mFramesPerPacket", - "mBytesPerFrame", - "mChannelsPerFrame", - "mBitsPerChannel", - "mReserved", - ], - ), - "AudioObjectPropertyAddress": objc.createStructType( - "CoreAudio.AudioObjectPropertyAddress", - b"{AudioObjectPropertyAddress=III}", - ["mSelector", "mScope", "mElement"], - ), - } -) -constants = """$$""" -enums = """$AVAudioSessionErrorCodeBadParam@-50$AVAudioSessionErrorCodeCannotInterruptOthers@560557684$AVAudioSessionErrorCodeCannotStartPlaying@561015905$AVAudioSessionErrorCodeCannotStartRecording@561145187$AVAudioSessionErrorCodeExpiredSession@561210739$AVAudioSessionErrorCodeIncompatibleCategory@560161140$AVAudioSessionErrorCodeInsufficientPriority@561017449$AVAudioSessionErrorCodeIsBusy@560030580$AVAudioSessionErrorCodeMediaServicesFailed@1836282486$AVAudioSessionErrorCodeMissingEntitlement@1701737535$AVAudioSessionErrorCodeNone@0$AVAudioSessionErrorCodeResourceNotAvailable@561145203$AVAudioSessionErrorCodeSessionNotActive@1768841571$AVAudioSessionErrorCodeSiriIsRecording@1936290409$AVAudioSessionErrorCodeUnspecified@2003329396$CA_PREFER_FIXED_POINT@0$COREAUDIOTYPES_VERSION@20150414$kAppleLosslessFormatFlag_16BitSourceData@1$kAppleLosslessFormatFlag_20BitSourceData@2$kAppleLosslessFormatFlag_24BitSourceData@3$kAppleLosslessFormatFlag_32BitSourceData@4$kAudioAggregateDeviceClassID@1633773415$kAudioAggregateDevicePropertyActiveSubDeviceList@1634169456$kAudioAggregateDevicePropertyClockDevice@1634755428$kAudioAggregateDevicePropertyComposition@1633906541$kAudioAggregateDevicePropertyFullSubDeviceList@1735554416$kAudioAggregateDevicePropertyMainSubDevice@1634562932$kAudioAggregateDevicePropertyMasterSubDevice@1634562932$kAudioBooleanControlClassID@1953458028$kAudioBooleanControlPropertyValue@1650685548$kAudioBootChimeVolumeControlClassID@1886544237$kAudioBoxClassID@1633841016$kAudioBoxPropertyAcquired@1652060014$kAudioBoxPropertyAcquisitionFailed@1652060006$kAudioBoxPropertyBoxUID@1651861860$kAudioBoxPropertyClockDeviceList@1650682915$kAudioBoxPropertyDeviceList@1650751011$kAudioBoxPropertyHasAudio@1651007861$kAudioBoxPropertyHasMIDI@1651010921$kAudioBoxPropertyHasVideo@1651013225$kAudioBoxPropertyIsProtected@1651536495$kAudioBoxPropertyTransportType@1953653102$kAudioChannelBit_Center@4$kAudioChannelBit_CenterSurround@256$kAudioChannelBit_CenterTopRear@33554432$kAudioChannelBit_LFEScreen@8$kAudioChannelBit_Left@1$kAudioChannelBit_LeftCenter@64$kAudioChannelBit_LeftSurround@16$kAudioChannelBit_LeftSurroundDirect@512$kAudioChannelBit_LeftTopMiddle@2097152$kAudioChannelBit_LeftTopRear@16777216$kAudioChannelBit_Right@2$kAudioChannelBit_RightCenter@128$kAudioChannelBit_RightSurround@32$kAudioChannelBit_RightSurroundDirect@1024$kAudioChannelBit_RightTopMiddle@8388608$kAudioChannelBit_RightTopRear@67108864$kAudioChannelBit_TopBackCenter@65536$kAudioChannelBit_TopBackLeft@32768$kAudioChannelBit_TopBackRight@131072$kAudioChannelBit_TopCenterSurround@2048$kAudioChannelBit_VerticalHeightCenter@8192$kAudioChannelBit_VerticalHeightLeft@4096$kAudioChannelBit_VerticalHeightRight@16384$kAudioChannelCoordinates_Azimuth@0$kAudioChannelCoordinates_BackFront@1$kAudioChannelCoordinates_Distance@2$kAudioChannelCoordinates_DownUp@2$kAudioChannelCoordinates_Elevation@1$kAudioChannelCoordinates_LeftRight@0$kAudioChannelFlags_AllOff@0$kAudioChannelFlags_Meters@4$kAudioChannelFlags_RectangularCoordinates@1$kAudioChannelFlags_SphericalCoordinates@2$kAudioChannelLabel_Ambisonic_W@200$kAudioChannelLabel_Ambisonic_X@201$kAudioChannelLabel_Ambisonic_Y@202$kAudioChannelLabel_Ambisonic_Z@203$kAudioChannelLabel_BeginReserved@4026531840$kAudioChannelLabel_BinauralLeft@208$kAudioChannelLabel_BinauralRight@209$kAudioChannelLabel_Center@3$kAudioChannelLabel_CenterSurround@9$kAudioChannelLabel_CenterSurroundDirect@44$kAudioChannelLabel_CenterTopRear@53$kAudioChannelLabel_ClickTrack@304$kAudioChannelLabel_DialogCentricMix@43$kAudioChannelLabel_Discrete@400$kAudioChannelLabel_Discrete_0@65536$kAudioChannelLabel_Discrete_1@65537$kAudioChannelLabel_Discrete_10@65546$kAudioChannelLabel_Discrete_11@65547$kAudioChannelLabel_Discrete_12@65548$kAudioChannelLabel_Discrete_13@65549$kAudioChannelLabel_Discrete_14@65550$kAudioChannelLabel_Discrete_15@65551$kAudioChannelLabel_Discrete_2@65538$kAudioChannelLabel_Discrete_3@65539$kAudioChannelLabel_Discrete_4@65540$kAudioChannelLabel_Discrete_5@65541$kAudioChannelLabel_Discrete_6@65542$kAudioChannelLabel_Discrete_65535@131071$kAudioChannelLabel_Discrete_7@65543$kAudioChannelLabel_Discrete_8@65544$kAudioChannelLabel_Discrete_9@65545$kAudioChannelLabel_EndReserved@4294967294$kAudioChannelLabel_ForeignLanguage@305$kAudioChannelLabel_HOA_ACN@500$kAudioChannelLabel_HOA_ACN_0@131072$kAudioChannelLabel_HOA_ACN_1@131073$kAudioChannelLabel_HOA_ACN_10@131082$kAudioChannelLabel_HOA_ACN_11@131083$kAudioChannelLabel_HOA_ACN_12@131084$kAudioChannelLabel_HOA_ACN_13@131085$kAudioChannelLabel_HOA_ACN_14@131086$kAudioChannelLabel_HOA_ACN_15@131087$kAudioChannelLabel_HOA_ACN_2@131074$kAudioChannelLabel_HOA_ACN_3@131075$kAudioChannelLabel_HOA_ACN_4@131076$kAudioChannelLabel_HOA_ACN_5@131077$kAudioChannelLabel_HOA_ACN_6@131078$kAudioChannelLabel_HOA_ACN_65024@196096$kAudioChannelLabel_HOA_ACN_7@131079$kAudioChannelLabel_HOA_ACN_8@131080$kAudioChannelLabel_HOA_ACN_9@131081$kAudioChannelLabel_HOA_N3D@196608$kAudioChannelLabel_Haptic@45$kAudioChannelLabel_HeadphonesLeft@301$kAudioChannelLabel_HeadphonesRight@302$kAudioChannelLabel_HearingImpaired@40$kAudioChannelLabel_LFE2@37$kAudioChannelLabel_LFEScreen@4$kAudioChannelLabel_Left@1$kAudioChannelLabel_LeftCenter@7$kAudioChannelLabel_LeftSurround@5$kAudioChannelLabel_LeftSurroundDirect@10$kAudioChannelLabel_LeftTopMiddle@49$kAudioChannelLabel_LeftTopRear@52$kAudioChannelLabel_LeftTotal@38$kAudioChannelLabel_LeftWide@35$kAudioChannelLabel_MS_Mid@204$kAudioChannelLabel_MS_Side@205$kAudioChannelLabel_Mono@42$kAudioChannelLabel_Narration@41$kAudioChannelLabel_RearSurroundLeft@33$kAudioChannelLabel_RearSurroundRight@34$kAudioChannelLabel_Right@2$kAudioChannelLabel_RightCenter@8$kAudioChannelLabel_RightSurround@6$kAudioChannelLabel_RightSurroundDirect@11$kAudioChannelLabel_RightTopMiddle@51$kAudioChannelLabel_RightTopRear@54$kAudioChannelLabel_RightTotal@39$kAudioChannelLabel_RightWide@36$kAudioChannelLabel_TopBackCenter@17$kAudioChannelLabel_TopBackLeft@16$kAudioChannelLabel_TopBackRight@18$kAudioChannelLabel_TopCenterSurround@12$kAudioChannelLabel_Unknown@4294967295$kAudioChannelLabel_Unused@0$kAudioChannelLabel_UseCoordinates@100$kAudioChannelLabel_VerticalHeightCenter@14$kAudioChannelLabel_VerticalHeightLeft@13$kAudioChannelLabel_VerticalHeightRight@15$kAudioChannelLabel_XY_X@206$kAudioChannelLabel_XY_Y@207$kAudioChannelLayoutTag_AAC_3_0@7471107$kAudioChannelLayoutTag_AAC_4_0@7602180$kAudioChannelLayoutTag_AAC_5_0@7864325$kAudioChannelLayoutTag_AAC_5_1@8126470$kAudioChannelLayoutTag_AAC_6_0@9240582$kAudioChannelLayoutTag_AAC_6_1@9306119$kAudioChannelLayoutTag_AAC_7_0@9371655$kAudioChannelLayoutTag_AAC_7_1@8323080$kAudioChannelLayoutTag_AAC_7_1_B@11993096$kAudioChannelLayoutTag_AAC_7_1_C@12058632$kAudioChannelLayoutTag_AAC_Octagonal@9437192$kAudioChannelLayoutTag_AAC_Quadraphonic@7077892$kAudioChannelLayoutTag_AC3_1_0_1@9764866$kAudioChannelLayoutTag_AC3_2_1_1@10027012$kAudioChannelLayoutTag_AC3_3_0@9830403$kAudioChannelLayoutTag_AC3_3_0_1@9961476$kAudioChannelLayoutTag_AC3_3_1@9895940$kAudioChannelLayoutTag_AC3_3_1_1@10092549$kAudioChannelLayoutTag_Ambisonic_B_Format@7012356$kAudioChannelLayoutTag_Atmos_5_1_2@12713992$kAudioChannelLayoutTag_Atmos_5_1_4@12779530$kAudioChannelLayoutTag_Atmos_7_1_2@12845066$kAudioChannelLayoutTag_Atmos_7_1_4@12582924$kAudioChannelLayoutTag_Atmos_9_1_6@12648464$kAudioChannelLayoutTag_AudioUnit_4@7077892$kAudioChannelLayoutTag_AudioUnit_5@7143429$kAudioChannelLayoutTag_AudioUnit_5_0@7733253$kAudioChannelLayoutTag_AudioUnit_5_1@7929862$kAudioChannelLayoutTag_AudioUnit_6@7208966$kAudioChannelLayoutTag_AudioUnit_6_0@9109510$kAudioChannelLayoutTag_AudioUnit_6_1@8192007$kAudioChannelLayoutTag_AudioUnit_7_0@9175047$kAudioChannelLayoutTag_AudioUnit_7_0_Front@9699335$kAudioChannelLayoutTag_AudioUnit_7_1@8388616$kAudioChannelLayoutTag_AudioUnit_7_1_Front@8257544$kAudioChannelLayoutTag_AudioUnit_8@7274504$kAudioChannelLayoutTag_BeginReserved@4026531840$kAudioChannelLayoutTag_Binaural@6946818$kAudioChannelLayoutTag_Cube@7340040$kAudioChannelLayoutTag_DTS_3_1@11010052$kAudioChannelLayoutTag_DTS_4_1@11075589$kAudioChannelLayoutTag_DTS_6_0_A@11141126$kAudioChannelLayoutTag_DTS_6_0_B@11206662$kAudioChannelLayoutTag_DTS_6_0_C@11272198$kAudioChannelLayoutTag_DTS_6_1_A@11337735$kAudioChannelLayoutTag_DTS_6_1_B@11403271$kAudioChannelLayoutTag_DTS_6_1_C@11468807$kAudioChannelLayoutTag_DTS_6_1_D@11927559$kAudioChannelLayoutTag_DTS_7_0@11534343$kAudioChannelLayoutTag_DTS_7_1@11599880$kAudioChannelLayoutTag_DTS_8_0_A@11665416$kAudioChannelLayoutTag_DTS_8_0_B@11730952$kAudioChannelLayoutTag_DTS_8_1_A@11796489$kAudioChannelLayoutTag_DTS_8_1_B@11862025$kAudioChannelLayoutTag_DVD_0@6553601$kAudioChannelLayoutTag_DVD_1@6619138$kAudioChannelLayoutTag_DVD_10@8912900$kAudioChannelLayoutTag_DVD_11@8978437$kAudioChannelLayoutTag_DVD_12@7929862$kAudioChannelLayoutTag_DVD_13@7536644$kAudioChannelLayoutTag_DVD_14@7667717$kAudioChannelLayoutTag_DVD_15@8912900$kAudioChannelLayoutTag_DVD_16@8978437$kAudioChannelLayoutTag_DVD_17@7929862$kAudioChannelLayoutTag_DVD_18@9043973$kAudioChannelLayoutTag_DVD_19@7733253$kAudioChannelLayoutTag_DVD_2@8585219$kAudioChannelLayoutTag_DVD_20@7995398$kAudioChannelLayoutTag_DVD_3@8650756$kAudioChannelLayoutTag_DVD_4@8716291$kAudioChannelLayoutTag_DVD_5@8781828$kAudioChannelLayoutTag_DVD_6@8847365$kAudioChannelLayoutTag_DVD_7@7405571$kAudioChannelLayoutTag_DVD_8@7536644$kAudioChannelLayoutTag_DVD_9@7667717$kAudioChannelLayoutTag_DiscreteInOrder@9633792$kAudioChannelLayoutTag_EAC3_6_1_A@10289159$kAudioChannelLayoutTag_EAC3_6_1_B@10354695$kAudioChannelLayoutTag_EAC3_6_1_C@10420231$kAudioChannelLayoutTag_EAC3_7_1_A@10485768$kAudioChannelLayoutTag_EAC3_7_1_B@10551304$kAudioChannelLayoutTag_EAC3_7_1_C@10616840$kAudioChannelLayoutTag_EAC3_7_1_D@10682376$kAudioChannelLayoutTag_EAC3_7_1_E@10747912$kAudioChannelLayoutTag_EAC3_7_1_F@10813448$kAudioChannelLayoutTag_EAC3_7_1_G@10878984$kAudioChannelLayoutTag_EAC3_7_1_H@10944520$kAudioChannelLayoutTag_EAC_6_0_A@10158086$kAudioChannelLayoutTag_EAC_7_0_A@10223623$kAudioChannelLayoutTag_Emagic_Default_7_1@8454152$kAudioChannelLayoutTag_EndReserved@4294901759$kAudioChannelLayoutTag_HOA_ACN_N3D@12517376$kAudioChannelLayoutTag_HOA_ACN_SN3D@12451840$kAudioChannelLayoutTag_Hexagonal@7208966$kAudioChannelLayoutTag_ITU_1_0@6553601$kAudioChannelLayoutTag_ITU_2_0@6619138$kAudioChannelLayoutTag_ITU_2_1@8585219$kAudioChannelLayoutTag_ITU_2_2@8650756$kAudioChannelLayoutTag_ITU_3_0@7405571$kAudioChannelLayoutTag_ITU_3_1@7536644$kAudioChannelLayoutTag_ITU_3_2@7667717$kAudioChannelLayoutTag_ITU_3_2_1@7929862$kAudioChannelLayoutTag_ITU_3_4_1@8388616$kAudioChannelLayoutTag_Logic_4_0_C@12910596$kAudioChannelLayoutTag_Logic_6_0_B@12976134$kAudioChannelLayoutTag_Logic_6_1_B@13041671$kAudioChannelLayoutTag_Logic_6_1_D@13107207$kAudioChannelLayoutTag_Logic_7_1_B@13172744$kAudioChannelLayoutTag_Logic_Atmos_7_1_4_B@13238284$kAudioChannelLayoutTag_Logic_Atmos_7_1_6@13303822$kAudioChannelLayoutTag_MPEG_1_0@6553601$kAudioChannelLayoutTag_MPEG_2_0@6619138$kAudioChannelLayoutTag_MPEG_3_0_A@7405571$kAudioChannelLayoutTag_MPEG_3_0_B@7471107$kAudioChannelLayoutTag_MPEG_4_0_A@7536644$kAudioChannelLayoutTag_MPEG_4_0_B@7602180$kAudioChannelLayoutTag_MPEG_5_0_A@7667717$kAudioChannelLayoutTag_MPEG_5_0_B@7733253$kAudioChannelLayoutTag_MPEG_5_0_C@7798789$kAudioChannelLayoutTag_MPEG_5_0_D@7864325$kAudioChannelLayoutTag_MPEG_5_1_A@7929862$kAudioChannelLayoutTag_MPEG_5_1_B@7995398$kAudioChannelLayoutTag_MPEG_5_1_C@8060934$kAudioChannelLayoutTag_MPEG_5_1_D@8126470$kAudioChannelLayoutTag_MPEG_6_1_A@8192007$kAudioChannelLayoutTag_MPEG_7_1_A@8257544$kAudioChannelLayoutTag_MPEG_7_1_B@8323080$kAudioChannelLayoutTag_MPEG_7_1_C@8388616$kAudioChannelLayoutTag_MatrixStereo@6750210$kAudioChannelLayoutTag_MidSide@6815746$kAudioChannelLayoutTag_Mono@6553601$kAudioChannelLayoutTag_Octagonal@7274504$kAudioChannelLayoutTag_Pentagonal@7143429$kAudioChannelLayoutTag_Quadraphonic@7077892$kAudioChannelLayoutTag_SMPTE_DTV@8519688$kAudioChannelLayoutTag_Stereo@6619138$kAudioChannelLayoutTag_StereoHeadphones@6684674$kAudioChannelLayoutTag_TMH_10_2_full@9568277$kAudioChannelLayoutTag_TMH_10_2_std@9502736$kAudioChannelLayoutTag_Unknown@4294901760$kAudioChannelLayoutTag_UseChannelBitmap@65536$kAudioChannelLayoutTag_UseChannelDescriptions@0$kAudioChannelLayoutTag_WAVE_4_0_B@12124164$kAudioChannelLayoutTag_WAVE_5_0_B@12189701$kAudioChannelLayoutTag_WAVE_5_1_B@12255238$kAudioChannelLayoutTag_WAVE_6_1@12320775$kAudioChannelLayoutTag_WAVE_7_1@12386312$kAudioChannelLayoutTag_XY@6881282$kAudioClipLightControlClassID@1668049264$kAudioClockDeviceClassID@1633905771$kAudioClockDevicePropertyAvailableNominalSampleRates@1853059619$kAudioClockDevicePropertyClockDomain@1668049764$kAudioClockDevicePropertyControlList@1668575852$kAudioClockDevicePropertyDeviceIsAlive@1818850926$kAudioClockDevicePropertyDeviceIsRunning@1735354734$kAudioClockDevicePropertyDeviceUID@1668639076$kAudioClockDevicePropertyLatency@1819569763$kAudioClockDevicePropertyNominalSampleRate@1853059700$kAudioClockDevicePropertyTransportType@1953653102$kAudioClockSourceControlClassID@1668047723$kAudioClockSourceControlPropertyItemKind@1668049771$kAudioClockSourceItemKindInternal@1768846368$kAudioControlClassID@1633907820$kAudioControlPropertyElement@1667591277$kAudioControlPropertyScope@1668506480$kAudioControlPropertyVariant@1668702578$kAudioDataDestinationControlClassID@1684370292$kAudioDataSourceControlClassID@1685287523$kAudioDeviceClassID@1633969526$kAudioDevicePermissionsError@560492391$kAudioDeviceProcessorOverload@1870030194$kAudioDevicePropertyActualSampleRate@1634955892$kAudioDevicePropertyAvailableNominalSampleRates@1853059619$kAudioDevicePropertyBufferFrameSize@1718839674$kAudioDevicePropertyBufferFrameSizeRange@1718843939$kAudioDevicePropertyBufferSize@1651730810$kAudioDevicePropertyBufferSizeRange@1651735075$kAudioDevicePropertyChannelCategoryName@1667460717$kAudioDevicePropertyChannelCategoryNameCFString@1818452846$kAudioDevicePropertyChannelName@1667788397$kAudioDevicePropertyChannelNameCFString@1818454126$kAudioDevicePropertyChannelNominalLineLevel@1852601964$kAudioDevicePropertyChannelNominalLineLevelNameForID@1668181110$kAudioDevicePropertyChannelNominalLineLevelNameForIDCFString@1818455660$kAudioDevicePropertyChannelNominalLineLevels@1852601891$kAudioDevicePropertyChannelNumberName@1668181613$kAudioDevicePropertyChannelNumberNameCFString@1818455662$kAudioDevicePropertyClipLight@1668049264$kAudioDevicePropertyClockDevice@1634755428$kAudioDevicePropertyClockDomain@1668049764$kAudioDevicePropertyClockSource@1668510307$kAudioDevicePropertyClockSourceKindForID@1668506475$kAudioDevicePropertyClockSourceNameForID@1668506478$kAudioDevicePropertyClockSourceNameForIDCFString@1818456942$kAudioDevicePropertyClockSources@1668506403$kAudioDevicePropertyConfigurationApplication@1667330160$kAudioDevicePropertyDataSource@1936945763$kAudioDevicePropertyDataSourceKindForID@1936941931$kAudioDevicePropertyDataSourceNameForID@1936941934$kAudioDevicePropertyDataSourceNameForIDCFString@1819501422$kAudioDevicePropertyDataSources@1936941859$kAudioDevicePropertyDeviceCanBeDefaultDevice@1684434036$kAudioDevicePropertyDeviceCanBeDefaultSystemDevice@1936092276$kAudioDevicePropertyDeviceHasChanged@1684629094$kAudioDevicePropertyDeviceIsAlive@1818850926$kAudioDevicePropertyDeviceIsRunning@1735354734$kAudioDevicePropertyDeviceIsRunningSomewhere@1735356005$kAudioDevicePropertyDeviceManufacturer@1835101042$kAudioDevicePropertyDeviceManufacturerCFString@1819107691$kAudioDevicePropertyDeviceName@1851878757$kAudioDevicePropertyDeviceNameCFString@1819173229$kAudioDevicePropertyDeviceUID@1969841184$kAudioDevicePropertyDriverShouldOwniSub@1769174370$kAudioDevicePropertyHighPassFilterSetting@1751740518$kAudioDevicePropertyHighPassFilterSettingNameForID@1667787120$kAudioDevicePropertyHighPassFilterSettingNameForIDCFString@1751740524$kAudioDevicePropertyHighPassFilterSettings@1751740451$kAudioDevicePropertyHogMode@1869180523$kAudioDevicePropertyIOCycleUsage@1852012899$kAudioDevicePropertyIOProcStreamUsage@1937077093$kAudioDevicePropertyIOStoppedAbnormally@1937010788$kAudioDevicePropertyIOThreadOSWorkgroup@1869838183$kAudioDevicePropertyIcon@1768124270$kAudioDevicePropertyIsHidden@1751737454$kAudioDevicePropertyJackIsConnected@1784767339$kAudioDevicePropertyLatency@1819569763$kAudioDevicePropertyListenback@1819504226$kAudioDevicePropertyModelUID@1836411236$kAudioDevicePropertyMute@1836414053$kAudioDevicePropertyNominalSampleRate@1853059700$kAudioDevicePropertyPhantomPower@1885888878$kAudioDevicePropertyPhaseInvert@1885893481$kAudioDevicePropertyPlayThru@1953002101$kAudioDevicePropertyPlayThruDestination@1835295859$kAudioDevicePropertyPlayThruDestinationNameForID@1835295854$kAudioDevicePropertyPlayThruDestinationNameForIDCFString@1835295843$kAudioDevicePropertyPlayThruDestinations@1835295779$kAudioDevicePropertyPlayThruSolo@1953002099$kAudioDevicePropertyPlayThruStereoPan@1836281966$kAudioDevicePropertyPlayThruStereoPanChannels@1836281891$kAudioDevicePropertyPlayThruVolumeDecibels@1836475490$kAudioDevicePropertyPlayThruVolumeDecibelsToScalar@1836462707$kAudioDevicePropertyPlayThruVolumeDecibelsToScalarTransferFunction@1836479590$kAudioDevicePropertyPlayThruVolumeRangeDecibels@1836475427$kAudioDevicePropertyPlayThruVolumeScalar@1836479331$kAudioDevicePropertyPlayThruVolumeScalarToDecibels@1836462692$kAudioDevicePropertyPlugIn@1886156135$kAudioDevicePropertyPreferredChannelLayout@1936879204$kAudioDevicePropertyPreferredChannelsForStereo@1684236338$kAudioDevicePropertyProcessMute@1634758765$kAudioDevicePropertyRegisterBufferList@1919055206$kAudioDevicePropertyRelatedDevices@1634429294$kAudioDevicePropertySafetyOffset@1935763060$kAudioDevicePropertyScopeInput@1768845428$kAudioDevicePropertyScopeOutput@1869968496$kAudioDevicePropertyScopePlayThrough@1886679669$kAudioDevicePropertySolo@1936682095$kAudioDevicePropertyStereoPan@1936744814$kAudioDevicePropertyStereoPanChannels@1936748067$kAudioDevicePropertyStreamConfiguration@1936482681$kAudioDevicePropertyStreamFormat@1936092532$kAudioDevicePropertyStreamFormatMatch@1936092525$kAudioDevicePropertyStreamFormatSupported@1936092479$kAudioDevicePropertyStreamFormats@1936092451$kAudioDevicePropertyStreams@1937009955$kAudioDevicePropertySubMute@1936553332$kAudioDevicePropertySubVolumeDecibels@1937140836$kAudioDevicePropertySubVolumeDecibelsToScalar@1935946358$kAudioDevicePropertySubVolumeDecibelsToScalarTransferFunction@1937142886$kAudioDevicePropertySubVolumeRangeDecibels@1937138723$kAudioDevicePropertySubVolumeScalar@1937140845$kAudioDevicePropertySubVolumeScalarToDecibels@1937125988$kAudioDevicePropertySupportsMixing@1835628607$kAudioDevicePropertyTalkback@1952541794$kAudioDevicePropertyTransportType@1953653102$kAudioDevicePropertyUsesVariableBufferFrameSizes@1986425722$kAudioDevicePropertyVolumeDecibels@1987013732$kAudioDevicePropertyVolumeDecibelsToScalar@1684157046$kAudioDevicePropertyVolumeDecibelsToScalarTransferFunction@1986229350$kAudioDevicePropertyVolumeRangeDecibels@1986290211$kAudioDevicePropertyVolumeScalar@1987013741$kAudioDevicePropertyVolumeScalarToDecibels@1983013986$kAudioDeviceStartTimeDontConsultDeviceFlag@2$kAudioDeviceStartTimeDontConsultHALFlag@4$kAudioDeviceStartTimeIsInputFlag@1$kAudioDeviceTransportTypeAVB@1700886114$kAudioDeviceTransportTypeAggregate@1735554416$kAudioDeviceTransportTypeAirPlay@1634300528$kAudioDeviceTransportTypeAutoAggregate@1718055536$kAudioDeviceTransportTypeBluetooth@1651275109$kAudioDeviceTransportTypeBluetoothLE@1651271009$kAudioDeviceTransportTypeBuiltIn@1651274862$kAudioDeviceTransportTypeDisplayPort@1685090932$kAudioDeviceTransportTypeFireWire@825440564$kAudioDeviceTransportTypeHDMI@1751412073$kAudioDeviceTransportTypePCI@1885563168$kAudioDeviceTransportTypeThunderbolt@1953002862$kAudioDeviceTransportTypeUSB@1970496032$kAudioDeviceTransportTypeUnknown@0$kAudioDeviceTransportTypeVirtual@1986622068$kAudioDeviceUnknown@0$kAudioDeviceUnsupportedFormatError@560226676$kAudioEndPointClassID@1701733488$kAudioEndPointDeviceClassID@1701078390$kAudioEndPointDevicePropertyComposition@1633906541$kAudioEndPointDevicePropertyEndPointList@1634169456$kAudioEndPointDevicePropertyIsPrivate@1886546294$kAudioFormat60958AC3@1667326771$kAudioFormatAC3@1633889587$kAudioFormatAES3@1634038579$kAudioFormatALaw@1634492791$kAudioFormatAMR@1935764850$kAudioFormatAMR_WB@1935767394$kAudioFormatAppleIMA4@1768775988$kAudioFormatAppleLossless@1634492771$kAudioFormatAudible@1096107074$kAudioFormatDVIIntelIMA@1836253201$kAudioFormatEnhancedAC3@1700998451$kAudioFormatFLAC@1718378851$kAudioFormatFlagIsAlignedHigh@16$kAudioFormatFlagIsBigEndian@2$kAudioFormatFlagIsFloat@1$kAudioFormatFlagIsNonInterleaved@32$kAudioFormatFlagIsNonMixable@64$kAudioFormatFlagIsPacked@8$kAudioFormatFlagIsSignedInteger@4$kAudioFormatFlagsAreAllClear@2147483648$kAudioFormatFlagsAudioUnitCanonical@41$kAudioFormatFlagsCanonical@9$kAudioFormatFlagsNativeEndian@0$kAudioFormatFlagsNativeFloatPacked@9$kAudioFormatLinearPCM@1819304813$kAudioFormatMACE3@1296122675$kAudioFormatMACE6@1296122678$kAudioFormatMIDIStream@1835623529$kAudioFormatMPEG4AAC@1633772320$kAudioFormatMPEG4AAC_ELD@1633772389$kAudioFormatMPEG4AAC_ELD_SBR@1633772390$kAudioFormatMPEG4AAC_ELD_V2@1633772391$kAudioFormatMPEG4AAC_HE@1633772392$kAudioFormatMPEG4AAC_HE_V2@1633772400$kAudioFormatMPEG4AAC_LD@1633772396$kAudioFormatMPEG4AAC_Spatial@1633772403$kAudioFormatMPEG4CELP@1667591280$kAudioFormatMPEG4HVXC@1752594531$kAudioFormatMPEG4TwinVQ@1953986161$kAudioFormatMPEGD_USAC@1970495843$kAudioFormatMPEGLayer1@778924081$kAudioFormatMPEGLayer2@778924082$kAudioFormatMPEGLayer3@778924083$kAudioFormatMicrosoftGSM@1836253233$kAudioFormatOpus@1869641075$kAudioFormatParameterValueStream@1634760307$kAudioFormatQDesign@1363430723$kAudioFormatQDesign2@1363430706$kAudioFormatQUALCOMM@1365470320$kAudioFormatTimeCode@1953066341$kAudioFormatULaw@1970037111$kAudioFormatiLBC@1768710755$kAudioHardwareBadDeviceError@560227702$kAudioHardwareBadObjectError@560947818$kAudioHardwareBadPropertySizeError@561211770$kAudioHardwareBadStreamError@561214578$kAudioHardwareIllegalOperationError@1852797029$kAudioHardwareNoError@0$kAudioHardwareNotReadyError@1852990585$kAudioHardwareNotRunningError@1937010544$kAudioHardwarePowerHintFavorSavingPower@1$kAudioHardwarePowerHintNone@0$kAudioHardwarePropertyBootChimeVolumeDecibels@1650620004$kAudioHardwarePropertyBootChimeVolumeDecibelsToScalar@1650733686$kAudioHardwarePropertyBootChimeVolumeDecibelsToScalarTransferFunction@1651930214$kAudioHardwarePropertyBootChimeVolumeRangeDecibels@1650615331$kAudioHardwarePropertyBootChimeVolumeScalar@1650620019$kAudioHardwarePropertyBootChimeVolumeScalarToDecibels@1651913316$kAudioHardwarePropertyBoxList@1651472419$kAudioHardwarePropertyClockDeviceList@1668049699$kAudioHardwarePropertyDefaultInputDevice@1682533920$kAudioHardwarePropertyDefaultOutputDevice@1682929012$kAudioHardwarePropertyDefaultSystemOutputDevice@1934587252$kAudioHardwarePropertyDeviceForUID@1685416292$kAudioHardwarePropertyDevices@1684370979$kAudioHardwarePropertyHogModeIsAllowed@1752131442$kAudioHardwarePropertyIsInitingOrExiting@1768845172$kAudioHardwarePropertyMixStereoToMono@1937010031$kAudioHardwarePropertyPlugInForBundleID@1885954665$kAudioHardwarePropertyPlugInList@1886152483$kAudioHardwarePropertyPowerHint@1886353256$kAudioHardwarePropertyProcessIsAudible@1886221684$kAudioHardwarePropertyProcessIsMain@1835100526$kAudioHardwarePropertyProcessIsMaster@1835103092$kAudioHardwarePropertyRunLoop@1919839344$kAudioHardwarePropertyServiceRestarted@1936880500$kAudioHardwarePropertySleepingIsAllowed@1936483696$kAudioHardwarePropertyTranslateBundleIDToPlugIn@1651074160$kAudioHardwarePropertyTranslateBundleIDToTransportManager@1953325673$kAudioHardwarePropertyTranslateUIDToBox@1969841250$kAudioHardwarePropertyTranslateUIDToClockDevice@1969841251$kAudioHardwarePropertyTranslateUIDToDevice@1969841252$kAudioHardwarePropertyTransportManagerList@1953326883$kAudioHardwarePropertyUnloadingIsAllowed@1970170980$kAudioHardwarePropertyUserIDChanged@1702193508$kAudioHardwarePropertyUserSessionIsActiveOrHeadless@1970496882$kAudioHardwareUnknownPropertyError@2003332927$kAudioHardwareUnspecifiedError@2003329396$kAudioHardwareUnsupportedOperationError@1970171760$kAudioHighPassFilterControlClassID@1751740518$kAudioISubOwnerControlClassID@1635017576$kAudioJackControlClassID@1784767339$kAudioLFEMuteControlClassID@1937072749$kAudioLFEVolumeControlClassID@1937072758$kAudioLevelControlClassID@1818588780$kAudioLevelControlPropertyConvertDecibelsToScalar@1818453107$kAudioLevelControlPropertyConvertScalarToDecibels@1818456932$kAudioLevelControlPropertyDecibelRange@1818453106$kAudioLevelControlPropertyDecibelValue@1818453110$kAudioLevelControlPropertyDecibelsToScalarTransferFunction@1818457190$kAudioLevelControlPropertyScalarValue@1818456950$kAudioLevelControlTranferFunction10Over1@13$kAudioLevelControlTranferFunction11Over1@14$kAudioLevelControlTranferFunction12Over1@15$kAudioLevelControlTranferFunction1Over2@2$kAudioLevelControlTranferFunction1Over3@1$kAudioLevelControlTranferFunction2Over1@5$kAudioLevelControlTranferFunction3Over1@6$kAudioLevelControlTranferFunction3Over2@4$kAudioLevelControlTranferFunction3Over4@3$kAudioLevelControlTranferFunction4Over1@7$kAudioLevelControlTranferFunction5Over1@8$kAudioLevelControlTranferFunction6Over1@9$kAudioLevelControlTranferFunction7Over1@10$kAudioLevelControlTranferFunction8Over1@11$kAudioLevelControlTranferFunction9Over1@12$kAudioLevelControlTranferFunctionLinear@0$kAudioLineLevelControlClassID@1852601964$kAudioListenbackControlClassID@1819504226$kAudioMuteControlClassID@1836414053$kAudioObjectClassID@1634689642$kAudioObjectClassIDWildcard@707406378$kAudioObjectPropertyBaseClass@1650682995$kAudioObjectPropertyClass@1668047219$kAudioObjectPropertyControlList@1668575852$kAudioObjectPropertyCreator@1869638759$kAudioObjectPropertyElementCategoryName@1818452846$kAudioObjectPropertyElementMain@0$kAudioObjectPropertyElementMaster@0$kAudioObjectPropertyElementName@1818454126$kAudioObjectPropertyElementNumberName@1818455662$kAudioObjectPropertyElementWildcard@4294967295$kAudioObjectPropertyFirmwareVersion@1719105134$kAudioObjectPropertyIdentify@1768187246$kAudioObjectPropertyListenerAdded@1818850145$kAudioObjectPropertyListenerRemoved@1818850162$kAudioObjectPropertyManufacturer@1819107691$kAudioObjectPropertyModelName@1819111268$kAudioObjectPropertyName@1819173229$kAudioObjectPropertyOwnedObjects@1870098020$kAudioObjectPropertyOwner@1937007734$kAudioObjectPropertyScopeGlobal@1735159650$kAudioObjectPropertyScopeInput@1768845428$kAudioObjectPropertyScopeOutput@1869968496$kAudioObjectPropertyScopePlayThrough@1886679669$kAudioObjectPropertyScopeWildcard@707406378$kAudioObjectPropertySelectorWildcard@707406378$kAudioObjectPropertySerialNumber@1936618861$kAudioObjectSystemObject@1$kAudioObjectUnknown@0$kAudioPhantomPowerControlClassID@1885888878$kAudioPhaseInvertControlClassID@1885893481$kAudioPlugInClassID@1634757735$kAudioPlugInCreateAggregateDevice@1667327847$kAudioPlugInDestroyAggregateDevice@1684105063$kAudioPlugInPropertyBoxList@1651472419$kAudioPlugInPropertyBundleID@1885956452$kAudioPlugInPropertyClockDeviceList@1668049699$kAudioPlugInPropertyDeviceList@1684370979$kAudioPlugInPropertyTranslateUIDToBox@1969841250$kAudioPlugInPropertyTranslateUIDToClockDevice@1969841251$kAudioPlugInPropertyTranslateUIDToDevice@1969841252$kAudioPropertyWildcardChannel@4294967295$kAudioPropertyWildcardPropertyID@707406378$kAudioPropertyWildcardSection@255$kAudioSelectorControlClassID@1936483188$kAudioSelectorControlItemKindSpacer@1936745330$kAudioSelectorControlPropertyAvailableItems@1935892841$kAudioSelectorControlPropertyCurrentItem@1935893353$kAudioSelectorControlPropertyItemKind@1668049771$kAudioSelectorControlPropertyItemName@1935894894$kAudioSliderControlClassID@1936483442$kAudioSliderControlPropertyRange@1935962738$kAudioSliderControlPropertyValue@1935962742$kAudioSoloControlClassID@1936682095$kAudioStereoPanControlClassID@1936744814$kAudioStereoPanControlPropertyPanningChannels@1936745315$kAudioStereoPanControlPropertyValue@1936745334$kAudioStreamClassID@1634956402$kAudioStreamPropertyAvailablePhysicalFormats@1885762657$kAudioStreamPropertyAvailableVirtualFormats@1936092513$kAudioStreamPropertyDirection@1935960434$kAudioStreamPropertyIsActive@1935762292$kAudioStreamPropertyLatency@1819569763$kAudioStreamPropertyOwningDevice@1937007734$kAudioStreamPropertyPhysicalFormat@1885762592$kAudioStreamPropertyPhysicalFormatMatch@1885762669$kAudioStreamPropertyPhysicalFormatSupported@1885762623$kAudioStreamPropertyPhysicalFormats@1885762595$kAudioStreamPropertyStartingChannel@1935894638$kAudioStreamPropertyTerminalType@1952805485$kAudioStreamPropertyVirtualFormat@1936092532$kAudioStreamTerminalTypeDigitalAudioInterface@1936745574$kAudioStreamTerminalTypeDisplayPort@1685090932$kAudioStreamTerminalTypeHDMI@1751412073$kAudioStreamTerminalTypeHeadphones@1751412840$kAudioStreamTerminalTypeHeadsetMicrophone@1752000867$kAudioStreamTerminalTypeLFESpeaker@1818649971$kAudioStreamTerminalTypeLine@1818848869$kAudioStreamTerminalTypeMicrophone@1835623282$kAudioStreamTerminalTypeReceiverMicrophone@1919773027$kAudioStreamTerminalTypeReceiverSpeaker@1920168043$kAudioStreamTerminalTypeSpeaker@1936747378$kAudioStreamTerminalTypeTTY@1953790303$kAudioStreamTerminalTypeUnknown@0$kAudioStreamUnknown@0$kAudioSubDeviceClassID@1634956642$kAudioSubDeviceDriftCompensationHighQuality@96$kAudioSubDeviceDriftCompensationLowQuality@32$kAudioSubDeviceDriftCompensationMaxQuality@127$kAudioSubDeviceDriftCompensationMediumQuality@64$kAudioSubDeviceDriftCompensationMinQuality@0$kAudioSubDevicePropertyDriftCompensation@1685218932$kAudioSubDevicePropertyDriftCompensationQuality@1685218929$kAudioSubDevicePropertyExtraLatency@2020373603$kAudioSystemObjectClassID@1634957683$kAudioTalkbackControlClassID@1952541794$kAudioTimeStampHostTimeValid@2$kAudioTimeStampNothingValid@0$kAudioTimeStampRateScalarValid@4$kAudioTimeStampSMPTETimeValid@16$kAudioTimeStampSampleHostTimeValid@3$kAudioTimeStampSampleTimeValid@1$kAudioTimeStampWordClockTimeValid@8$kAudioTransportManagerClassID@1953656941$kAudioTransportManagerCreateEndPointDevice@1667523958$kAudioTransportManagerDestroyEndPointDevice@1684301174$kAudioTransportManagerPropertyEndPointList@1701733411$kAudioTransportManagerPropertyTranslateUIDToEndPoint@1969841253$kAudioTransportManagerPropertyTransportType@1953653102$kAudioVolumeControlClassID@1986817381$kAudio_BadFilePathError@561017960$kAudio_FileNotFoundError@-43$kAudio_FilePermissionError@-54$kAudio_MemFullError@-108$kAudio_ParamError@-50$kAudio_TooManyFilesOpenError@-42$kAudio_UnimplementedError@-4$kLinearPCMFormatFlagIsAlignedHigh@16$kLinearPCMFormatFlagIsBigEndian@2$kLinearPCMFormatFlagIsFloat@1$kLinearPCMFormatFlagIsNonInterleaved@32$kLinearPCMFormatFlagIsNonMixable@64$kLinearPCMFormatFlagIsPacked@8$kLinearPCMFormatFlagIsSignedInteger@4$kLinearPCMFormatFlagsAreAllClear@2147483648$kLinearPCMFormatFlagsSampleFractionMask@8064$kLinearPCMFormatFlagsSampleFractionShift@7$kMPEG4Object_AAC_LC@2$kMPEG4Object_AAC_LTP@4$kMPEG4Object_AAC_Main@1$kMPEG4Object_AAC_SBR@5$kMPEG4Object_AAC_SSR@3$kMPEG4Object_AAC_Scalable@6$kMPEG4Object_CELP@8$kMPEG4Object_HVXC@9$kMPEG4Object_TwinVQ@7$kSMPTETimeRunning@2$kSMPTETimeType2398@11$kSMPTETimeType24@0$kSMPTETimeType25@1$kSMPTETimeType2997@4$kSMPTETimeType2997Drop@5$kSMPTETimeType30@3$kSMPTETimeType30Drop@2$kSMPTETimeType50@10$kSMPTETimeType5994@7$kSMPTETimeType5994Drop@9$kSMPTETimeType60@6$kSMPTETimeType60Drop@8$kSMPTETimeUnknown@0$kSMPTETimeValid@1$""" -misc.update( - { - "AudioHardwarePowerHint": NewType("AudioHardwarePowerHint", int), - "AudioLevelControlTransferFunction": NewType( - "AudioLevelControlTransferFunction", int - ), - } -) -misc.update( - { - "kAudioAggregateDeviceMainSubDeviceKey": b"master", - "kAudioEndPointInputChannelsKey": b"channels-in", - "kAudioEndPointOutputChannelsKey": b"channels-out", - "kAudioAggregateDeviceNameKey": b"name", - "kAudioSubDeviceExtraOutputLatencyKey": b"latency-out", - "kAudioAggregateDeviceMasterSubDeviceKey": b"master", - "kAudioSubDeviceUIDKey": b"uid", - "kAudioSubDeviceExtraInputLatencyKey": b"latency-in", - "kAudioEndPointDeviceEndPointListKey": b"endpoints", - "kAudioEndPointDeviceMainEndPointKey": b"main", - "kAudioEndPointDeviceUIDKey": b"uid", - "kAudioAggregateDeviceClockDeviceKey": b"clock", - "kAudioEndPointDeviceNameKey": b"name", - "kAudioEndPointDeviceIsPrivateKey": b"private", - "kAudioSubDeviceOutputChannelsKey": b"channels-out", - "kAudioEndPointNameKey": b"name", - "kAudioSubDeviceDriftCompensationQualityKey": b"drift quality", - "kAudioSubDeviceDriftCompensationKey": b"drift", - "kAudioEndPointDeviceMasterEndPointKey": b"master", - "kAudioSubDeviceNameKey": b"name", - "kAudioHardwareRunLoopMode": b"com.apple.audio.CoreAudio", - "kAudioAggregateDeviceUIDKey": b"uid", - "kAudioSubDeviceInputChannelsKey": b"channels-in", - "kAudioAggregateDeviceSubDeviceListKey": b"subdevices", - "kAudioAggregateDeviceIsStackedKey": b"stacked", - "kAudioAggregateDeviceIsPrivateKey": b"private", - "kAudioEndPointUIDKey": b"uid", - } -) -functions = { - "AudioDeviceSetProperty": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}IZII^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 6: {"c_array_length_in_arg": 5, "type_modifier": "n"}, - } - }, - ), - "AudioDeviceRemovePropertyListener": ( - b"iIIZI^?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"Z"}, - 3: {"type": b"I"}, - 4: {"type": b"^v"}, - }, - } - } - } - }, - ), - "FillOutAudioTimeStampWithSampleAndHostTime": ( - b"vo^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}dQ", - ), - "AudioObjectRemovePropertyListenerBlock": ( - b"iI^{AudioObjectPropertyAddress=III}@@?", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: { - "type": "n^{AudioObjectPropertyAddress=III}", - "c_array_length_in_arg": 1, - }, - }, - } - }, - } - }, - ), - "AudioGetHostClockMinimumTimeDelta": (b"I", "", {"variadic": True}), - "AudioHardwareGetProperty": ( - b"iI^I^v", - "", - { - "arguments": { - 1: {"type_modifier": "N"}, - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - } - }, - ), - "AudioDeviceStartAtTime": ( - b"iI^?^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}I", - "", - {"arguments": {2: {"type_modifier": "N"}}}, - ), - "AudioConvertHostTimeToNanos": (b"QQ",), - "AudioDeviceGetProperty": ( - b"iIIZI^I^v", - "", - { - "arguments": { - 4: {"type_modifier": "N"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "o"}, - } - }, - ), - "AudioHardwareDevicesDied": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}I^I", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "AudioObjectAddPropertyListenerBlock": ( - b"iI^{AudioObjectPropertyAddress=III}@@?", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: { - "type": "n^{AudioObjectPropertyAddress=III}", - "c_array_length_in_arg": 1, - }, - }, - } - }, - } - }, - ), - "AudioHardwareClaimAudioDeviceID": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "AudioObjectSetPropertyData": ( - b"iI^{AudioObjectPropertyAddress=III}I^vI^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - } - }, - ), - "AudioObjectAddPropertyListener": ( - b"iI^{AudioObjectPropertyAddress=III}^?^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"n^{AudioObjectPropertyAddress=III}"}, - 3: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "AudioHardwareAddRunLoopSource": (b"i^{__CFRunLoopSource=}",), - "AudioStreamSetProperty": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}III^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - } - }, - ), - "AudioStreamAddPropertyListener": ( - b"iIII^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"I"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "AudioHardwareDevicePropertyChanged": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}IIZI", - ), - "AudioStreamGetPropertyInfo": ( - b"iIII^I^Z", - "", - {"arguments": {3: {"type_modifier": "o"}, 4: {"type_modifier": "o"}}}, - ), - "AudioHardwareDevicesCreated": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}I^I", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "AudioGetCurrentHostTime": (b"Q", "", {"variadic": True}), - "AudioObjectCreate": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "o"}}, - }, - ), - "AudioConvertNanosToHostTime": (b"QQ",), - "AudioObjectRemovePropertyListener": ( - b"iI^{AudioObjectPropertyAddress=III}^?^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"n^{AudioObjectPropertyAddress=III}"}, - 3: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "AudioDeviceGetNearestStartTime": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}I", - "", - {"arguments": {1: {"type_modifier": "N"}}}, - ), - "AudioStreamRemovePropertyListener": ( - b"iIII^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"I"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "AudioDeviceStop": (b"iI^?",), - "AudioHardwareGetPropertyInfo": ( - b"iI^I^Z", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "AudioHardwareStreamPropertyChanged": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}IIII", - ), - "AudioHardwareUnload": (b"i", "", {"variadic": True}), - "AudioStreamGetProperty": ( - b"iIII^I^v", - "", - { - "arguments": { - 3: {"type_modifier": "N"}, - 4: {"c_array_length_in_arg": 3, "type_modifier": "o"}, - } - }, - ), - "AudioHardwareClaimAudioStreamID": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}I^I", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "FillOutAudioTimeStampWithSampleTime": ( - b"vo^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}d", - ), - "CalculateLPCMFlags": (b"IIIBBB",), - "AudioHardwareCreateAggregateDevice": ( - b"i^{__CFDictionary=}^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "AudioHardwareDestroyAggregateDevice": (b"iI",), - "AudioDeviceAddIOProc": ( - b"iI^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 2: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 3: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 4: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 5: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 6: {"type": b"^v"}, - }, - } - } - } - }, - ), - "FillOutAudioTimeStampWithHostTime": ( - b"vo^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}Q", - ), - "AudioObjectGetPropertyData": ( - b"iI^{AudioObjectPropertyAddress=III}I^v^I^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"type_modifier": "N"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "o"}, - } - }, - ), - "FillOutASBDForLPCM": (b"vo^{AudioStreamBasicDescription=dIIIIIIII}dIIIBBB",), - "AudioObjectShow": (b"vI",), - "AudioObjectPropertiesChanged": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^{AudioObjectPropertyAddress=III}", - "", - {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "AudioHardwareSetProperty": ( - b"iII^v", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "IsAudioFormatNativeEndian": (b"Bn^{AudioStreamBasicDescription=dIIIIIIII}",), - "AudioHardwareRemoveRunLoopSource": (b"i^{__CFRunLoopSource=}",), - "AudioDeviceGetCurrentTime": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "AudioChannelLayoutTag_GetNumberOfChannels": (b"II",), - "AudioHardwareStreamsCreated": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^I", - "", - {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "AudioGetHostClockFrequency": (b"d", "", {"variadic": True}), - "AudioDeviceStart": (b"iI^?",), - "AudioDeviceCreateIOProcIDWithBlock": ( - b"i^^?I@@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "o"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: { - "type": "n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}" - }, - 2: {"type": "^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 3: { - "type": "n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}" - }, - 4: {"type": "^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 5: { - "type": "N^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}" - }, - }, - } - }, - }, - }, - ), - "AudioDeviceRemoveIOProc": ( - b"iI^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 2: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 3: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 4: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 5: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 6: {"type": b"^v"}, - }, - } - } - } - }, - ), - "AudioDeviceAddPropertyListener": ( - b"iIIZI^?^v", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"Z"}, - 3: {"type": b"I"}, - 4: {"type": b"^v"}, - }, - } - } - } - }, - ), - "AudioObjectHasProperty": ( - b"ZI^{AudioObjectPropertyAddress=III}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "AudioHardwareRemovePropertyListener": ( - b"iI^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": b"I"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "AudioDeviceGetPropertyInfo": ( - b"iIIZI^I^Z", - "", - {"arguments": {4: {"type_modifier": "o"}, 5: {"type_modifier": "o"}}}, - ), - "AudioObjectsPublishedAndDied": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^II^I", - "", - { - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - } - }, - ), - "AudioDeviceRead": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}^{AudioBufferList=I[1{AudioBuffer=II^v}]}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "AudioHardwareStreamsDied": ( - b"i^^{AudioHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^I", - "", - {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "AudioObjectIsPropertySettable": ( - b"iI^{AudioObjectPropertyAddress=III}^Z", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "AudioHardwareAddPropertyListener": ( - b"iI^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": b"I"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "AudioDeviceTranslateTime": ( - b"iI^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "AudioDeviceCreateIOProcID": ( - b"iI^?^v^^?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 2: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 3: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 4: {"type": b"^{AudioBufferList=I[1{AudioBuffer=II^v}]}"}, - 5: { - "type": sel32or64( - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssLLLssss}LL}", - b"n^{AudioTimeStamp=dQdQ{SMPTETime=ssIIIssss}II}", - ) - }, - 6: {"type": b"^v"}, - }, - } - }, - 3: {"type_modifier": "o"}, - }, - }, - ), - "AudioObjectGetPropertyDataSize": ( - b"iI^{AudioObjectPropertyAddress=III}I^v^I", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": (2, 4), "type_modifier": "n"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "AudioDeviceDestroyIOProcID": (b"iI^?",), -} -aliases = { - "kAudioChannelLayoutTag_ITU_2_0": "kAudioChannelLayoutTag_Stereo", - "kAudioChannelLayoutTag_Logic_Stereo": "kAudioChannelLayoutTag_Stereo", - "kAudioChannelLayoutTag_WAVE_5_0_A": "kAudioChannelLayoutTag_MPEG_5_0_A", - "kAudioChannelLayoutTag_DVD_19": "kAudioChannelLayoutTag_MPEG_5_0_B", - "kAudioChannelLayoutTag_DVD_12": "kAudioChannelLayoutTag_MPEG_5_1_A", - "kAudioChannelLayoutTag_DVD_13": "kAudioChannelLayoutTag_DVD_8", - "kAudioChannelLayoutTag_DVD_16": "kAudioChannelLayoutTag_DVD_11", - "kAudioChannelLayoutTag_DVD_17": "kAudioChannelLayoutTag_DVD_12", - "kAudioChannelLayoutTag_DVD_14": "kAudioChannelLayoutTag_DVD_9", - "kAudioChannelLayoutTag_DVD_15": "kAudioChannelLayoutTag_DVD_10", - "kAudioChannelLayoutTag_MPEG_1_0": "kAudioChannelLayoutTag_Mono", - "kAudioChannelLayoutTag_DVD_0": "kAudioChannelLayoutTag_Mono", - "kAudioChannelBit_CenterTopMiddle": "kAudioChannelBit_TopCenterSurround", - "kAudioObjectPropertyElementMaster": "kAudioObjectPropertyElementMain", - "kAudioChannelLayoutTag_Logic_7_1_SDDS_B": "kAudioChannelLayoutTag_MPEG_7_1_B", - "kAudioChannelLayoutTag_Logic_7_1_SDDS_C": "kAudioChannelLayoutTag_Emagic_Default_7_1", - "kAudioDeviceUnknown": "kAudioObjectUnknown", - "kAudioChannelLayoutTag_Logic_7_1_SDDS_A": "kAudioChannelLayoutTag_MPEG_7_1_A", - "kAudioStreamUnknown": "kAudioObjectUnknown", - "kAudioChannelLayoutTag_AAC_Quadraphonic": "kAudioChannelLayoutTag_Quadraphonic", - "kAudioChannelLayoutTag_DVD_20": "kAudioChannelLayoutTag_MPEG_5_1_B", - "kAudioChannelLayoutTag_Logic_7_1_A": "kAudioChannelLayoutTag_AudioUnit_7_1", - "kLinearPCMFormatFlagIsNonMixable": "kAudioFormatFlagIsNonMixable", - "kAudioChannelLayoutTag_Logic_7_1_C": "kAudioChannelLayoutTag_MPEG_7_1_C", - "kAudioChannelLayoutTag_Logic_Quadraphonic": "kAudioChannelLayoutTag_Quadraphonic", - "kAudioChannelLayoutTag_MPEG_2_0": "kAudioChannelLayoutTag_Stereo", - "kAudioClockSourceControlPropertyItemKind": "kAudioSelectorControlPropertyItemKind", - "kAudioChannelLayoutTag_ITU_3_2_1": "kAudioChannelLayoutTag_MPEG_5_1_A", - "kAudioChannelLayoutTag_Logic_6_0_A": "kAudioChannelLayoutTag_AAC_6_0", - "kAudioChannelLayoutTag_Logic_6_0_C": "kAudioChannelLayoutTag_AudioUnit_6_0", - "kAudioChannelLayoutTag_ITU_3_4_1": "kAudioChannelLayoutTag_MPEG_7_1_C", - "kAudioChannelLayoutTag_WAVE_4_0_A": "kAudioChannelLayoutTag_ITU_2_2", - "kAudioChannelBit_CenterTopFront": "kAudioChannelBit_VerticalHeightCenter", - "kAudioChannelLayoutTag_AudioUnit_4": "kAudioChannelLayoutTag_Quadraphonic", - "kAudioChannelLayoutTag_AudioUnit_5": "kAudioChannelLayoutTag_Pentagonal", - "kAudioChannelLayoutTag_AudioUnit_6": "kAudioChannelLayoutTag_Hexagonal", - "kAudioChannelLayoutTag_WAVE_5_1_A": "kAudioChannelLayoutTag_MPEG_5_1_A", - "kAudioChannelLayoutTag_AudioUnit_8": "kAudioChannelLayoutTag_Octagonal", - "kAudioChannelLayoutTag_Logic_5_1_C": "kAudioChannelLayoutTag_MPEG_5_1_C", - "kAudioChannelLayoutTag_Logic_5_1_A": "kAudioChannelLayoutTag_MPEG_5_1_A", - "kAudioChannelLayoutTag_AudioUnit_6_1": "kAudioChannelLayoutTag_MPEG_6_1_A", - "kAudioChannelLayoutTag_Logic_5_1_D": "kAudioChannelLayoutTag_MPEG_5_1_D", - "kAudioAggregateDevicePropertyMasterSubDevice": "kAudioAggregateDevicePropertyMainSubDevice", - "kAudioStreamPropertyOwningDevice": "kAudioObjectPropertyOwner", - "kAudioChannelLayoutTag_Logic_Atmos_7_1_2": "kAudioChannelLayoutTag_Atmos_7_1_2", - "kAudioChannelLabel_CenterTopMiddle": "kAudioChannelLabel_TopCenterSurround", - "kLinearPCMFormatFlagIsPacked": "kAudioFormatFlagIsPacked", - "kAudioChannelLayoutTag_Logic_5_0_A": "kAudioChannelLayoutTag_MPEG_5_0_A", - "kAudioChannelLayoutTag_ITU_1_0": "kAudioChannelLayoutTag_Mono", - "kAudioChannelLayoutTag_DVD_1": "kAudioChannelLayoutTag_Stereo", - "kAudioDevicePropertyScopeOutput": "kAudioObjectPropertyScopeOutput", - "kAudioChannelLayoutTag_DVD_3": "kAudioChannelLayoutTag_ITU_2_2", - "kAudioChannelLayoutTag_DVD_7": "kAudioChannelLayoutTag_MPEG_3_0_A", - "kAudioChannelLayoutTag_DVD_8": "kAudioChannelLayoutTag_MPEG_4_0_A", - "kAudioChannelLayoutTag_DVD_9": "kAudioChannelLayoutTag_MPEG_5_0_A", - "kAudioChannelLayoutTag_Logic_Mono": "kAudioChannelLayoutTag_Mono", - "kLinearPCMFormatFlagIsNonInterleaved": "kAudioFormatFlagIsNonInterleaved", - "kAudioChannelLayoutTag_AudioUnit_7_1": "kAudioChannelLayoutTag_MPEG_7_1_C", - "kLinearPCMFormatFlagsAreAllClear": "kAudioFormatFlagsAreAllClear", - "kAudioDevicePropertyScopePlayThrough": "kAudioObjectPropertyScopePlayThrough", - "kAudioChannelLayoutTag_Logic_Atmos_5_1_4": "kAudioChannelLayoutTag_Atmos_5_1_4", - "kAudioChannelLayoutTag_Logic_Atmos_5_1_2": "kAudioChannelLayoutTag_Atmos_5_1_2", - "kAudioChannelLayoutTag_Logic_4_0_B": "kAudioChannelLayoutTag_MPEG_4_0_B", - "kAudioChannelLabel_CenterTopFront": "kAudioChannelLabel_VerticalHeightCenter", - "kAudioChannelLayoutTag_Logic_4_0_A": "kAudioChannelLayoutTag_MPEG_4_0_A", - "kAudioChannelLabel_HOA_SN3D": "kAudioChannelLabel_HOA_ACN_0", - "kAudioChannelLayoutTag_AAC_4_0": "kAudioChannelLayoutTag_MPEG_4_0_B", - "kAudioChannelLayoutTag_Logic_5_0_C": "kAudioChannelLayoutTag_MPEG_5_0_C", - "kAudioChannelLayoutTag_AAC_3_0": "kAudioChannelLayoutTag_MPEG_3_0_B", - "kAudioStreamPropertyLatency": "kAudioDevicePropertyLatency", - "kAudioChannelLayoutTag_Logic_5_0_B": "kAudioChannelLayoutTag_MPEG_5_0_B", - "kAudioChannelLayoutTag_DVD_2": "kAudioChannelLayoutTag_ITU_2_1", - "kAudioDevicePropertyChannelCategoryNameCFString": "kAudioObjectPropertyElementCategoryName", - "kAudioChannelLayoutTag_WAVE_2_1": "kAudioChannelLayoutTag_DVD_4", - "kAudioChannelLayoutTag_AudioUnit_7_1_Front": "kAudioChannelLayoutTag_MPEG_7_1_A", - "kAudioChannelLabel_RightTopFront": "kAudioChannelLabel_VerticalHeightRight", - "kAudioDevicePropertyDeviceNameCFString": "kAudioObjectPropertyName", - "kAudioChannelLayoutTag_AAC_7_1": "kAudioChannelLayoutTag_MPEG_7_1_B", - "kAudioPropertyWildcardChannel": "kAudioObjectPropertyElementWildcard", - "kAudioChannelLayoutTag_Logic_5_0_D": "kAudioChannelLayoutTag_MPEG_5_0_D", - "kAudioDevicePropertyScopeInput": "kAudioObjectPropertyScopeInput", - "kAudioDevicePropertyChannelNameCFString": "kAudioObjectPropertyElementName", - "kAudioChannelBit_RightTopFront": "kAudioChannelBit_VerticalHeightRight", - "kLinearPCMFormatFlagIsAlignedHigh": "kAudioFormatFlagIsAlignedHigh", - "kAudioDevicePropertyDeviceManufacturerCFString": "kAudioObjectPropertyManufacturer", - "kAudioChannelLayoutTag_ITU_3_2": "kAudioChannelLayoutTag_MPEG_5_0_A", - "kAudioChannelLayoutTag_ITU_3_0": "kAudioChannelLayoutTag_MPEG_3_0_A", - "kAudioChannelLayoutTag_ITU_3_1": "kAudioChannelLayoutTag_MPEG_4_0_A", - "kAudioChannelLayoutTag_Logic_5_1_B": "kAudioChannelLayoutTag_MPEG_5_1_B", - "kLinearPCMFormatFlagIsFloat": "kAudioFormatFlagIsFloat", - "kAudioDevicePropertyChannelNumberNameCFString": "kAudioObjectPropertyElementNumberName", - "kAudioPropertyWildcardPropertyID": "kAudioObjectPropertySelectorWildcard", - "kAudioChannelLayoutTag_AudioUnit_5_0": "kAudioChannelLayoutTag_MPEG_5_0_B", - "kAudioChannelLayoutTag_AudioUnit_5_1": "kAudioChannelLayoutTag_MPEG_5_1_A", - "kAudioChannelLayoutTag_Logic_Atmos_7_1_4_A": "kAudioChannelLayoutTag_Atmos_7_1_4", - "kLinearPCMFormatFlagIsSignedInteger": "kAudioFormatFlagIsSignedInteger", - "kAudioChannelLayoutTag_WAVE_3_0": "kAudioChannelLayoutTag_MPEG_3_0_A", - "kLinearPCMFormatFlagIsBigEndian": "kAudioFormatFlagIsBigEndian", - "kAudioChannelLayoutTag_AAC_5_1": "kAudioChannelLayoutTag_MPEG_5_1_D", - "kAudioChannelLayoutTag_AAC_5_0": "kAudioChannelLayoutTag_MPEG_5_0_D", - "kAudioChannelBit_LeftTopFront": "kAudioChannelBit_VerticalHeightLeft", - "kAudioChannelLabel_LeftTopFront": "kAudioChannelLabel_VerticalHeightLeft", - "kAudioChannelLayoutTag_Logic_6_1_A": "kAudioChannelLayoutTag_AAC_6_1", - "kAudioChannelLayoutTag_Logic_6_1_C": "kAudioChannelLayoutTag_MPEG_6_1_A", -} -misc.update( - { - "AudioHardwarePlugInRef": objc.createOpaquePointerType( - "AudioHardwarePlugInRef", b"^{AudioHardwarePlugInInterface=}" - ) - } -) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreAudioKit/__init__.py b/src/lib/CoreAudioKit/__init__.py deleted file mode 100644 index 2c9ef89..0000000 --- a/src/lib/CoreAudioKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CoreAudioKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreAudio -import Foundation -import objc -from CoreAudioKit import _metadata - -sys.modules["CoreAudioKit"] = mod = objc.ObjCLazyModule( - "CoreAudio", - "com.apple.CoreAudioKit", - objc.pathForFramework("/System/Library/Frameworks/CoreAudioKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreAudio, Foundation), -) - - -del sys.modules["CoreAudioKit._metadata"] diff --git a/src/lib/CoreAudioKit/_metadata.py b/src/lib/CoreAudioKit/_metadata.py deleted file mode 100644 index 6a41c2d..0000000 --- a/src/lib/CoreAudioKit/_metadata.py +++ /dev/null @@ -1,99 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:44:09 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$AUViewParametersDisplayFlag@4$AUViewPropertiesDisplayFlag@2$AUViewTitleDisplayFlag@1$""" -misc.update({"AUGenericViewDisplayFlags": NewType("AUGenericViewDisplayFlags", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"AUAudioUnit", - b"requestViewControllerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"AUAudioUnitViewConfiguration", b"hostHasController", {"retval": {"type": b"Z"}}) - r( - b"AUAudioUnitViewConfiguration", - b"initWithWidth:height:hostHasController:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"AUGenericView", - b"setShowsExpertParameters:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"AUGenericView", b"showsExpertParameters", {"retval": {"type": b"Z"}}) - r( - b"CANetworkBrowserWindowController", - b"isAVBSupported", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"customViewPersistentData", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"setCustomViewPersistentData:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"null", - b"requestViewControllerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreBluetooth/__init__.py b/src/lib/CoreBluetooth/__init__.py deleted file mode 100644 index 8f22c7a..0000000 --- a/src/lib/CoreBluetooth/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CloudKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreBluetooth import _CoreBluetooth, _metadata - -sys.modules["CoreBluetooth"] = mod = objc.ObjCLazyModule( - "CoreBluetooth", - "com.apple.CoreBluetooth", - objc.pathForFramework("/System/Library/Frameworks/CoreBluetooth.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreBluetooth, Foundation), -) - - -del sys.modules["CoreBluetooth._metadata"] -del sys.modules["CoreBluetooth._CoreBluetooth"] diff --git a/src/lib/CoreBluetooth/_metadata.py b/src/lib/CoreBluetooth/_metadata.py deleted file mode 100644 index 5cba520..0000000 --- a/src/lib/CoreBluetooth/_metadata.py +++ /dev/null @@ -1,432 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:24:16 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CBATTErrorDomain$CBAdvertisementDataIsConnectable$CBAdvertisementDataLocalNameKey$CBAdvertisementDataManufacturerDataKey$CBAdvertisementDataOverflowServiceUUIDsKey$CBAdvertisementDataServiceDataKey$CBAdvertisementDataServiceUUIDsKey$CBAdvertisementDataSolicitedServiceUUIDsKey$CBAdvertisementDataTxPowerLevelKey$CBCentralManagerOptionRestoreIdentifierKey$CBCentralManagerOptionShowPowerAlertKey$CBCentralManagerRestoredStatePeripheralsKey$CBCentralManagerRestoredStateScanOptionsKey$CBCentralManagerRestoredStateScanServicesKey$CBCentralManagerScanOptionAllowDuplicatesKey$CBCentralManagerScanOptionSolicitedServiceUUIDsKey$CBConnectPeripheralOptionEnableTransportBridgingKey$CBConnectPeripheralOptionNotifyOnConnectionKey$CBConnectPeripheralOptionNotifyOnDisconnectionKey$CBConnectPeripheralOptionNotifyOnNotificationKey$CBConnectPeripheralOptionRequiresANCS$CBConnectPeripheralOptionStartDelayKey$CBConnectionEventMatchingOptionPeripheralUUIDs$CBConnectionEventMatchingOptionServiceUUIDs$CBErrorDomain$CBPeripheralManagerOptionRestoreIdentifierKey$CBPeripheralManagerOptionShowPowerAlertKey$CBPeripheralManagerRestoredStateAdvertisementDataKey$CBPeripheralManagerRestoredStateServicesKey$CBUUIDAppearanceString$CBUUIDCharacteristicAggregateFormatString$CBUUIDCharacteristicExtendedPropertiesString$CBUUIDCharacteristicFormatString$CBUUIDCharacteristicUserDescriptionString$CBUUIDCharacteristicValidRangeString$CBUUIDClientCharacteristicConfigurationString$CBUUIDDeviceNameString$CBUUIDGenericAccessProfileString$CBUUIDGenericAttributeProfileString$CBUUIDL2CAPPSMCharacteristicString$CBUUIDPeripheralPreferredConnectionParametersString$CBUUIDPeripheralPrivacyFlagString$CBUUIDReconnectionAddressString$CBUUIDServerCharacteristicConfigurationString$CBUUIDServiceChangedString$""" -enums = """$CBATTErrorAttributeNotFound@10$CBATTErrorAttributeNotLong@11$CBATTErrorInsufficientAuthentication@5$CBATTErrorInsufficientAuthorization@8$CBATTErrorInsufficientEncryption@15$CBATTErrorInsufficientEncryptionKeySize@12$CBATTErrorInsufficientResources@17$CBATTErrorInvalidAttributeValueLength@13$CBATTErrorInvalidHandle@1$CBATTErrorInvalidOffset@7$CBATTErrorInvalidPdu@4$CBATTErrorPrepareQueueFull@9$CBATTErrorReadNotPermitted@2$CBATTErrorRequestNotSupported@6$CBATTErrorSuccess@0$CBATTErrorUnlikelyError@14$CBATTErrorUnsupportedGroupType@16$CBATTErrorWriteNotPermitted@3$CBAttributePermissionsReadEncryptionRequired@4$CBAttributePermissionsReadable@1$CBAttributePermissionsWriteEncryptionRequired@8$CBAttributePermissionsWriteable@2$CBCentralManagerFeatureExtendedScanAndConnect@1$CBCentralManagerStatePoweredOff@4$CBCentralManagerStatePoweredOn@5$CBCentralManagerStateResetting@1$CBCentralManagerStateUnauthorized@3$CBCentralManagerStateUnknown@0$CBCentralManagerStateUnsupported@2$CBCharacteristicPropertyAuthenticatedSignedWrites@64$CBCharacteristicPropertyBroadcast@1$CBCharacteristicPropertyExtendedProperties@128$CBCharacteristicPropertyIndicate@32$CBCharacteristicPropertyIndicateEncryptionRequired@512$CBCharacteristicPropertyNotify@16$CBCharacteristicPropertyNotifyEncryptionRequired@256$CBCharacteristicPropertyRead@2$CBCharacteristicPropertyWrite@8$CBCharacteristicPropertyWriteWithoutResponse@4$CBCharacteristicWriteWithResponse@0$CBCharacteristicWriteWithoutResponse@1$CBConnectionEventPeerConnected@1$CBConnectionEventPeerDisconnected@0$CBErrorAlreadyAdvertising@9$CBErrorConnectionFailed@10$CBErrorConnectionLimitReached@11$CBErrorConnectionTimeout@6$CBErrorEncryptionTimedOut@15$CBErrorInvalidHandle@2$CBErrorInvalidParameters@1$CBErrorNotConnected@3$CBErrorOperationCancelled@5$CBErrorOperationNotSupported@13$CBErrorOutOfSpace@4$CBErrorPeerRemovedPairingInformation@14$CBErrorPeripheralDisconnected@7$CBErrorTooManyLEPairedDevices@16$CBErrorUUIDNotAllowed@8$CBErrorUnknown@0$CBErrorUnknownDevice@12$CBErrorUnkownDevice@12$CBManagerAuthorizationAllowedAlways@3$CBManagerAuthorizationDenied@2$CBManagerAuthorizationNotDetermined@0$CBManagerAuthorizationRestricted@1$CBManagerStatePoweredOff@4$CBManagerStatePoweredOn@5$CBManagerStateResetting@1$CBManagerStateUnauthorized@3$CBManagerStateUnknown@0$CBManagerStateUnsupported@2$CBPeripheralAuthorizationStatusAuthorized@3$CBPeripheralAuthorizationStatusDenied@2$CBPeripheralAuthorizationStatusNotDetermined@0$CBPeripheralAuthorizationStatusRestricted@1$CBPeripheralManagerAuthorizationStatusAuthorized@3$CBPeripheralManagerAuthorizationStatusDenied@2$CBPeripheralManagerAuthorizationStatusNotDetermined@0$CBPeripheralManagerAuthorizationStatusRestricted@1$CBPeripheralManagerConnectionLatencyHigh@2$CBPeripheralManagerConnectionLatencyLow@0$CBPeripheralManagerConnectionLatencyMedium@1$CBPeripheralManagerStatePoweredOff@4$CBPeripheralManagerStatePoweredOn@5$CBPeripheralManagerStateResetting@1$CBPeripheralManagerStateUnauthorized@3$CBPeripheralManagerStateUnknown@0$CBPeripheralManagerStateUnsupported@2$CBPeripheralStateConnected@2$CBPeripheralStateConnecting@1$CBPeripheralStateDisconnected@0$CBPeripheralStateDisconnecting@3$""" -misc.update( - { - "CBCentralManagerFeature": NewType("CBCentralManagerFeature", int), - "CBError": NewType("CBError", int), - "CBPeripheralManagerState": NewType("CBPeripheralManagerState", int), - "CBManagerAuthorization": NewType("CBManagerAuthorization", int), - "CBConnectionEvent": NewType("CBConnectionEvent", int), - "CBCharacteristicProperties": NewType("CBCharacteristicProperties", int), - "CBATTError": NewType("CBATTError", int), - "CBPeripheralState": NewType("CBPeripheralState", int), - "CBCharacteristicWriteType": NewType("CBCharacteristicWriteType", int), - "CBPeripheralManagerConnectionLatency": NewType( - "CBPeripheralManagerConnectionLatency", int - ), - "CBManagerState": NewType("CBManagerState", int), - "CBAttributePermissions": NewType("CBAttributePermissions", int), - "CBPeripheralManagerAuthorizationStatus": NewType( - "CBPeripheralManagerAuthorizationStatus", int - ), - "CBCentralManagerState": NewType("CBCentralManagerState", int), - } -) -misc.update( - {"CBConnectionEventMatchingOption": NewType("CBConnectionEventMatchingOption", str)} -) -misc.update({}) -aliases = { - "CBCentralManagerStateUnknown": "CBManagerStateUnknown", - "CBPeripheralManagerStatePoweredOff": "CBManagerStatePoweredOff", - "CBCentralManagerStatePoweredOn": "CBManagerStatePoweredOn", - "CBCentralManagerStatePoweredOff": "CBManagerStatePoweredOff", - "CBPeripheralManagerStateUnauthorized": "CBManagerStateUnauthorized", - "CBPeripheralManagerStatePoweredOn": "CBManagerStatePoweredOn", - "CBCentralManagerStateUnsupported": "CBManagerStateUnsupported", - "CBCentralManagerStateUnauthorized": "CBManagerStateUnauthorized", - "CBPeripheralManagerStateUnknown": "CBManagerStateUnknown", - "CBPeripheralManagerStateResetting": "CBManagerStateResetting", - "CBPeripheralManagerStateUnsupported": "CBManagerStateUnsupported", - "CBCentralManagerStateResetting": "CBManagerStateResetting", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CBCentralManager", b"isScanning", {"retval": {"type": "Z"}}) - r(b"CBCentralManager", b"supportsFeatures:", {"retval": {"type": b"Z"}}) - r(b"CBCharacteristic", b"isBroadcasted", {"retval": {"type": b"Z"}}) - r(b"CBCharacteristic", b"isNotifying", {"retval": {"type": b"Z"}}) - r(b"CBMutableService", b"initWithType:primary:", {"arguments": {3: {"type": b"Z"}}}) - r(b"CBMutableService", b"isPrimary", {"retval": {"type": b"Z"}}) - r(b"CBMutableService", b"setIsPrimary:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CBPeripheral", b"ancsAuthorized", {"retval": {"type": b"Z"}}) - r(b"CBPeripheral", b"canSendWriteWithoutResponse", {"retval": {"type": "Z"}}) - r(b"CBPeripheral", b"isConnected", {"retval": {"type": b"Z"}}) - r( - b"CBPeripheral", - b"setNotifyValue:forCharacteristic:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CBPeripheralManager", b"isAdvertising", {"retval": {"type": b"Z"}}) - r( - b"CBPeripheralManager", - b"publishL2CAPChannelWithEncryption:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CBPeripheralManager", - b"updateValue:forCharacteristic:onSubscribedCentrals:", - {"retval": {"type": b"Z"}}, - ) - r(b"CBService", b"isPrimary", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"centralManager:connectionEventDidOccur:forPeripheral:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didConnectPeripheral:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didDisconnectPeripheral:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didDiscoverPeripheral:advertisementData:RSSI:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"centralManager:didFailToConnectPeripheral:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didRetrieveConnectedPeripherals:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didRetrievePeripherals:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:didUpdateANCSAuthorizationForPeripheral:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManager:willRestoreState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"centralManagerDidUpdateState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"peripheral:didDiscoverCharacteristicsForService:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didDiscoverDescriptorsForCharacteristic:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didDiscoverIncludedServicesForService:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didDiscoverServices:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didModifyServices:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didOpenL2CAPChannel:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didReadRSSI:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didUpdateNotificationStateForCharacteristic:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didUpdateValueForCharacteristic:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didUpdateValueForDescriptor:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didWriteValueForCharacteristic:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheral:didWriteValueForDescriptor:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralDidInvalidateServices:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"peripheralDidUpdateName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"peripheralDidUpdateRSSI:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralIsReadyToSendWriteWithoutResponse:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"peripheralManager:central:didSubscribeToCharacteristic:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:central:didUnsubscribeFromCharacteristic:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didAddService:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didOpenL2CAPChannel:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "S"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didPublishL2CAPChannel:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "S"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didReceiveReadRequest:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didReceiveWriteRequests:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:didUnpublishL2CAPChannel:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "S"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManager:willRestoreState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManagerDidStartAdvertising:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"peripheralManagerDidUpdateState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"peripheralManagerIsReadyToUpdateSubscribers:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreData/__init__.py b/src/lib/CoreData/__init__.py deleted file mode 100644 index a9c16b6..0000000 --- a/src/lib/CoreData/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the CoreData framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreData import _metadata -from CoreData import _CoreData - -sys.modules["CoreData"] = objc.ObjCLazyModule( - "CoreData", - "com.apple.CoreData", - objc.pathForFramework("/System/Library/Frameworks/CoreData.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_CoreData, Foundation), -) - -from CoreData import _convenience # isort: ignore # noqa: E402, F401 - -del sys.modules["CoreData._metadata"] diff --git a/src/lib/CoreData/_convenience.py b/src/lib/CoreData/_convenience.py deleted file mode 100644 index 52153d8..0000000 --- a/src/lib/CoreData/_convenience.py +++ /dev/null @@ -1,62 +0,0 @@ -""" -This adds some useful conveniences to NSManagedObject and subclasses thereof - -These conveniences try to enable KVO by default on NSManagedObject instances, -this no longer works on Leopard due to the way NSManagedObject is implemented -there (it generates accessor methods at runtime, which interferes with the -implementation in this file). -""" -__all__ = () -import os - -from Foundation import NSObject -from objc import addConvenienceForClass, super - -# XXX: This is fairly crude, need further research. -# This code basically tries to outsmart tricks that -# CoreData plays, and that's asking for problems. -if os.uname()[2] < "13.": - - def _first_python(cls): - if "__objc_python_subclass__" in cls.__dict__: - return cls - return None - -else: - - def _first_python(cls): - for cls in cls.mro(): # noqa: B020 - if "__objc_python_subclass__" in cls.__dict__: - return cls - return None - - -def NSMOsetValue_ForKey_(self, name, value): - try: - first = _first_python(self.__class__) - if first is not None: - super(first, self).setValue_forKey_(value, name) - else: - self.setValue_forKey_(value, name) - - except KeyError: - NSObject.__setattr__(self, name, value) - - -def NSMOgetValueForKey_(self, name): - try: - first = _first_python(self.__class__) - if first is not None: - return super(first, self).valueForKey_(name) - else: - return self.valueForKey_(name) - - except KeyError: - raise AttributeError(name) - - -if os.uname()[2] < "13." or True: - addConvenienceForClass( - "NSManagedObject", - (("__setattr__", NSMOsetValue_ForKey_), ("__getattr__", NSMOgetValueForKey_)), - ) diff --git a/src/lib/CoreData/_metadata.py b/src/lib/CoreData/_metadata.py deleted file mode 100644 index 3704a7c..0000000 --- a/src/lib/CoreData/_metadata.py +++ /dev/null @@ -1,1105 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:44:30 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NSAddedPersistentStoresKey$NSAffectedObjectsErrorKey$NSAffectedStoresErrorKey$NSBinaryExternalRecordType$NSBinaryStoreInsecureDecodingCompatibilityOption$NSBinaryStoreSecureDecodingClasses$NSBinaryStoreType$NSCoreDataCoreSpotlightDelegateIndexDidUpdateNotification$NSCoreDataCoreSpotlightExporter$NSCoreDataVersionNumber@d$NSDeletedObjectIDsKey$NSDeletedObjectsKey$NSDetailedErrorsKey$NSEntityNameInPathKey$NSErrorMergePolicy$NSExternalRecordExtensionOption$NSExternalRecordsDirectoryOption$NSExternalRecordsFileFormatOption$NSIgnorePersistentStoreVersioningOption$NSInMemoryStoreType$NSInferMappingModelAutomaticallyOption$NSInsertedObjectIDsKey$NSInsertedObjectsKey$NSInvalidatedAllObjectsKey$NSInvalidatedObjectIDsKey$NSInvalidatedObjectsKey$NSManagedObjectContextDidMergeChangesObjectIDsNotification$NSManagedObjectContextDidSaveNotification$NSManagedObjectContextDidSaveObjectIDsNotification$NSManagedObjectContextObjectsDidChangeNotification$NSManagedObjectContextQueryGenerationKey$NSManagedObjectContextWillSaveNotification$NSMergeByPropertyObjectTrumpMergePolicy$NSMergeByPropertyStoreTrumpMergePolicy$NSMigratePersistentStoresAutomaticallyOption$NSMigrationDestinationObjectKey$NSMigrationEntityMappingKey$NSMigrationEntityPolicyKey$NSMigrationManagerKey$NSMigrationPropertyMappingKey$NSMigrationSourceObjectKey$NSModelPathKey$NSObjectURIKey$NSOverwriteMergePolicy$NSPersistentCloudKitContainerEventChangedNotification$NSPersistentCloudKitContainerEventUserInfoKey$NSPersistentHistoryTokenKey$NSPersistentHistoryTrackingKey$NSPersistentStoreConnectionPoolMaxSizeKey$NSPersistentStoreCoordinatorStoresDidChangeNotification$NSPersistentStoreCoordinatorStoresWillChangeNotification$NSPersistentStoreCoordinatorWillRemoveStoreNotification$NSPersistentStoreDidImportUbiquitousContentChangesNotification$NSPersistentStoreFileProtectionKey$NSPersistentStoreForceDestroyOption$NSPersistentStoreOSCompatibility$NSPersistentStoreRebuildFromUbiquitousContentOption$NSPersistentStoreRemoteChangeNotification$NSPersistentStoreRemoteChangeNotificationPostOptionKey$NSPersistentStoreRemoveUbiquitousMetadataOption$NSPersistentStoreSaveConflictsErrorKey$NSPersistentStoreTimeoutOption$NSPersistentStoreURLKey$NSPersistentStoreUbiquitousContainerIdentifierKey$NSPersistentStoreUbiquitousContentNameKey$NSPersistentStoreUbiquitousContentURLKey$NSPersistentStoreUbiquitousPeerTokenOption$NSPersistentStoreUbiquitousTransitionTypeKey$NSReadOnlyPersistentStoreOption$NSRefreshedObjectIDsKey$NSRefreshedObjectsKey$NSRemovedPersistentStoresKey$NSRollbackMergePolicy$NSSQLiteAnalyzeOption$NSSQLiteErrorDomain$NSSQLiteManualVacuumOption$NSSQLitePragmasOption$NSSQLiteStoreType$NSStoreModelVersionHashesKey$NSStoreModelVersionIdentifiersKey$NSStorePathKey$NSStoreTypeKey$NSStoreUUIDInPathKey$NSStoreUUIDKey$NSUUIDChangedPersistentStoresKey$NSUpdatedObjectIDsKey$NSUpdatedObjectsKey$NSValidateXMLStoreOption$NSValidationKeyErrorKey$NSValidationObjectErrorKey$NSValidationPredicateErrorKey$NSValidationValueErrorKey$NSXMLExternalRecordType$NSXMLStoreType$""" -enums = """$NSAddEntityMappingType@2$NSBatchDeleteRequestType@7$NSBatchDeleteResultTypeCount@2$NSBatchDeleteResultTypeObjectIDs@1$NSBatchDeleteResultTypeStatusOnly@0$NSBatchInsertRequestResultTypeCount@2$NSBatchInsertRequestResultTypeObjectIDs@1$NSBatchInsertRequestResultTypeStatusOnly@0$NSBatchInsertRequestType@5$NSBatchUpdateRequestType@6$NSBinaryDataAttributeType@1000$NSBooleanAttributeType@800$NSCascadeDeleteRule@2$NSConfinementConcurrencyType@0$NSCopyEntityMappingType@4$NSCoreDataError@134060$NSCoreDataVersionNumber10_10@526.0$NSCoreDataVersionNumber10_10_2@526.1$NSCoreDataVersionNumber10_10_3@526.2$NSCoreDataVersionNumber10_11@640.0$NSCoreDataVersionNumber10_11_3@641.3$NSCountResultType@4$NSCustomEntityMappingType@1$NSDateAttributeType@900$NSDecimalAttributeType@400$NSDenyDeleteRule@3$NSDictionaryResultType@2$NSDoubleAttributeType@500$NSEntityMigrationPolicyError@134170$NSErrorMergePolicyType@0$NSExternalRecordImportError@134200$NSFetchIndexElementTypeBinary@0$NSFetchIndexElementTypeRTree@1$NSFetchRequestExpressionType@50$NSFetchRequestType@1$NSFetchedResultsChangeDelete@2$NSFetchedResultsChangeInsert@1$NSFetchedResultsChangeMove@3$NSFetchedResultsChangeUpdate@4$NSFloatAttributeType@600$NSInferredMappingModelError@134190$NSInteger16AttributeType@100$NSInteger32AttributeType@200$NSInteger64AttributeType@300$NSMainQueueConcurrencyType@2$NSManagedObjectConstraintMergeError@133021$NSManagedObjectConstraintValidationError@1551$NSManagedObjectContextLockingError@132000$NSManagedObjectExternalRelationshipError@133010$NSManagedObjectIDResultType@1$NSManagedObjectMergeError@133020$NSManagedObjectReferentialIntegrityError@133000$NSManagedObjectResultType@0$NSManagedObjectValidationError@1550$NSMergeByPropertyObjectTrumpMergePolicyType@2$NSMergeByPropertyStoreTrumpMergePolicyType@1$NSMigrationCancelledError@134120$NSMigrationConstraintViolationError@134111$NSMigrationError@134110$NSMigrationManagerDestinationStoreError@134160$NSMigrationManagerSourceStoreError@134150$NSMigrationMissingMappingModelError@134140$NSMigrationMissingSourceModelError@134130$NSNoActionDeleteRule@0$NSNullifyDeleteRule@1$NSObjectIDAttributeType@2000$NSOverwriteMergePolicyType@3$NSPersistentCloudKitContainerEventResultTypeCountEvents@1$NSPersistentCloudKitContainerEventResultTypeEvents@0$NSPersistentCloudKitContainerEventTypeExport@2$NSPersistentCloudKitContainerEventTypeImport@1$NSPersistentCloudKitContainerEventTypeSetup@0$NSPersistentCloudKitContainerSchemaInitializationOptionsDryRun@2$NSPersistentCloudKitContainerSchemaInitializationOptionsNone@0$NSPersistentCloudKitContainerSchemaInitializationOptionsPrintSchema@4$NSPersistentHistoryChangeTypeDelete@2$NSPersistentHistoryChangeTypeInsert@0$NSPersistentHistoryChangeTypeUpdate@1$NSPersistentHistoryResultTypeChangesOnly@4$NSPersistentHistoryResultTypeCount@2$NSPersistentHistoryResultTypeObjectIDs@1$NSPersistentHistoryResultTypeStatusOnly@0$NSPersistentHistoryResultTypeTransactionsAndChanges@5$NSPersistentHistoryResultTypeTransactionsOnly@3$NSPersistentHistoryTokenExpiredError@134301$NSPersistentStoreCoordinatorLockingError@132010$NSPersistentStoreIncompatibleSchemaError@134020$NSPersistentStoreIncompatibleVersionHashError@134100$NSPersistentStoreIncompleteSaveError@134040$NSPersistentStoreInvalidTypeError@134000$NSPersistentStoreOpenError@134080$NSPersistentStoreOperationError@134070$NSPersistentStoreSaveConflictsError@134050$NSPersistentStoreSaveError@134030$NSPersistentStoreTimeoutError@134090$NSPersistentStoreTypeMismatchError@134010$NSPersistentStoreUbiquitousTransitionTypeAccountAdded@1$NSPersistentStoreUbiquitousTransitionTypeAccountRemoved@2$NSPersistentStoreUbiquitousTransitionTypeContentRemoved@3$NSPersistentStoreUbiquitousTransitionTypeInitialImportCompleted@4$NSPersistentStoreUnsupportedRequestTypeError@134091$NSPrivateQueueConcurrencyType@1$NSRemoveEntityMappingType@3$NSRollbackMergePolicyType@4$NSSQLiteError@134180$NSSaveRequestType@2$NSSnapshotEventMergePolicy@64$NSSnapshotEventRefresh@32$NSSnapshotEventRollback@16$NSSnapshotEventUndoDeletion@4$NSSnapshotEventUndoInsertion@2$NSSnapshotEventUndoUpdate@8$NSStatusOnlyResultType@0$NSStringAttributeType@700$NSTransformEntityMappingType@5$NSTransformableAttributeType@1800$NSURIAttributeType@1200$NSUUIDAttributeType@1100$NSUndefinedAttributeType@0$NSUndefinedEntityMappingType@0$NSUpdatedObjectIDsResultType@1$NSUpdatedObjectsCountResultType@2$NSValidationDateTooLateError@1630$NSValidationDateTooSoonError@1640$NSValidationInvalidDateError@1650$NSValidationInvalidURIError@1690$NSValidationMissingMandatoryPropertyError@1570$NSValidationMultipleErrorsError@1560$NSValidationNumberTooLargeError@1610$NSValidationNumberTooSmallError@1620$NSValidationRelationshipDeniedDeleteError@1600$NSValidationRelationshipExceedsMaximumCountError@1590$NSValidationRelationshipLacksMinimumCountError@1580$NSValidationStringPatternMatchingError@1680$NSValidationStringTooLongError@1660$NSValidationStringTooShortError@1670$""" -misc.update( - { - "NSPersistentStoreUbiquitousTransitionType": NewType( - "NSPersistentStoreUbiquitousTransitionType", int - ), - "NSPersistentStoreRequestType": NewType("NSPersistentStoreRequestType", int), - "NSPersistentCloudKitContainerEventType": NewType( - "NSPersistentCloudKitContainerEventType", int - ), - "NSMergePolicyType": NewType("NSMergePolicyType", int), - "NSAttributeType": NewType("NSAttributeType", int), - "NSBatchDeleteRequestResultType": NewType( - "NSBatchDeleteRequestResultType", int - ), - "NSSnapshotEventType": NewType("NSSnapshotEventType", int), - "NSManagedObjectContextConcurrencyType": NewType( - "NSManagedObjectContextConcurrencyType", int - ), - "NSPersistentCloudKitContainerSchemaInitializationOptions": NewType( - "NSPersistentCloudKitContainerSchemaInitializationOptions", int - ), - "NSFetchIndexElementType": NewType("NSFetchIndexElementType", int), - "NSPersistentHistoryResultType": NewType("NSPersistentHistoryResultType", int), - "NSPersistentHistoryChangeType": NewType("NSPersistentHistoryChangeType", int), - "NSEntityMappingType": NewType("NSEntityMappingType", int), - "NSBatchInsertRequestResultType": NewType( - "NSBatchInsertRequestResultType", int - ), - "NSPersistentCloudKitContainerEventResultType": NewType( - "NSPersistentCloudKitContainerEventResultType", int - ), - "NSFetchedResultsChangeType": NewType("NSFetchedResultsChangeType", int), - "NSFetchRequestResultType": NewType("NSFetchRequestResultType", int), - "NSBatchUpdateRequestResultType": NewType( - "NSBatchUpdateRequestResultType", int - ), - "NSDeleteRule": NewType("NSDeleteRule", int), - } -) -misc.update( - { - "NSCoreDataVersionNumber10_10_3": 526.2, - "NSCoreDataVersionNumber10_10_2": 526.1, - "NSCoreDataVersionNumber_iPhoneOS_3_2": 310.2, - "NSCoreDataVersionNumber_iPhoneOS_3_1": 248.0, - "NSCoreDataVersionNumber10_7_2": 358.12, - "NSCoreDataVersionNumber10_11_3": 641.3, - "NSCoreDataVersionNumber10_7_4": 358.14, - "NSCoreDataVersionNumber_iPhoneOS_9_3": 641.6, - "NSCoreDataVersionNumber_iPhoneOS_9_2": 641.4, - "NSCoreDataVersionNumber10_8": 407.5, - "NSCoreDataVersionNumber10_9": 481.0, - "NSCoreDataVersionNumber10_5_3": 186.0, - "NSCoreDataVersionNumber10_6": 246.0, - "NSCoreDataVersionNumber10_7": 358.4, - "NSCoreDataVersionNumber10_4": 46.0, - "NSCoreDataVersionNumber10_5": 185.0, - "NSCoreDataVersionNumber10_8_2": 407.7, - "NSCoreDataVersionNumber10_10": 526.0, - "NSCoreDataVersionNumber10_11": 640.0, - "NSCoreDataVersionNumber10_6_3": 251.0, - "NSCoreDataVersionNumber10_6_2": 250.0, - "NSCoreDataVersionNumber10_4_3": 77.0, - "NSCoreDataVersionNumber10_7_3": 358.13, - "NSCoreDataVersionNumber10_9_2": 481.1, - "NSCoreDataVersionNumber10_9_3": 481.3, - "NSCoreDataVersionNumber_iPhoneOS_5_0": 386.1, - "NSCoreDataVersionNumber_iPhoneOS_5_1": 386.5, - "NSCoreDataVersionNumber_iPhoneOS_8_3": 519.15, - "NSCoreDataVersionNumber_iPhoneOS_8_0": 519.0, - "NSCoreDataVersionNumber_iPhoneOS_7_0": 479.1, - "NSCoreDataVersionNumber_iPhoneOS_7_1": 479.3, - "NSCoreDataVersionNumber_iPhoneOS_3_0": 241.0, - "NSCoreDataVersionNumber_iPhoneOS_6_1": 419.1, - "NSCoreDataVersionNumber_iPhoneOS_6_0": 419.0, - "NSCoreDataVersionNumber_iPhoneOS_9_0": 640.0, - "NSCoreDataVersionNumber_iPhoneOS_4_3": 320.17, - "NSCoreDataVersionNumber_iPhoneOS_4_2": 320.15, - "NSCoreDataVersionNumber_iPhoneOS_4_1": 320.11, - "NSCoreDataVersionNumber_iPhoneOS_4_0": 320.5, - } -) -aliases = {"COREDATA_PRIVATE_EXTERN": "__private_extern__"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSAsynchronousFetchRequest", - b"completionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSAsynchronousFetchRequest", - b"initWithFetchRequest:completionBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSAtomicStore", - b"load:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSAtomicStore", - b"save:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"NSAttributeDescription", b"allowsCloudEncryption", {"retval": {"type": b"Z"}}) - r( - b"NSAttributeDescription", - b"allowsExternalBinaryDataStorage", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSAttributeDescription", - b"preservesValueInHistoryOnDeletion", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSAttributeDescription", - b"setAllowsCloudEncryption:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSAttributeDescription", - b"setAllowsExternalBinaryDataStorage:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSAttributeDescription", - b"setPreservesValueInHistoryOnDeletion:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSBatchInsertRequest", - b"batchInsertRequestWithEntityName:dictionaryHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"batchInsertRequestWithEntityName:managedObjectHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"dictionaryHandler", - { - "retval": { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"initWithEntity:dictionaryHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"initWithEntity:managedObjectHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"initWithEntityName:dictionaryHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"initWithEntityName:managedObjectHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"managedObjectHandler", - { - "retval": { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"setDictionaryHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBatchInsertRequest", - b"setManagedObjectHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSBatchUpdateRequest", b"includesSubentities", {"retval": {"type": b"Z"}}) - r( - b"NSBatchUpdateRequest", - b"setIncludesSubentities:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSCoreDataCoreSpotlightDelegate", - b"deleteSpotlightIndexWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSCoreDataCoreSpotlightDelegate", - b"isIndexingEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCoreDataCoreSpotlightDelegate", - b"searchableIndex:reindexAllSearchableItemsWithAcknowledgementHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSCoreDataCoreSpotlightDelegate", - b"searchableIndex:reindexSearchableItemsWithIdentifiers:acknowledgementHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSEntityDescription", b"isAbstract", {"retval": {"type": "Z"}}) - r(b"NSEntityDescription", b"isKindOfEntity:", {"retval": {"type": "Z"}}) - r(b"NSEntityDescription", b"setAbstract:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSEntityMigrationPolicy", - b"beginEntityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"createDestinationInstancesForSourceInstance:entityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"createRelationshipsForDestinationInstance:entityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"endEntityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"endInstanceCreationForEntityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"endRelationshipCreationForEntityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSEntityMigrationPolicy", - b"performCustomValidationForEntityMapping:manager:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFetchIndexElementDescription", b"isAscending", {"retval": {"type": "Z"}}) - r( - b"NSFetchIndexElementDescription", - b"setAscending:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSFetchRequest", b"execute:", {"arguments": {2: {"type_modifier": b"o"}}}) - r(b"NSFetchRequest", b"includesPendingChanges", {"retval": {"type": "Z"}}) - r(b"NSFetchRequest", b"includesPropertyValues", {"retval": {"type": "Z"}}) - r(b"NSFetchRequest", b"includesSubentities", {"retval": {"type": "Z"}}) - r(b"NSFetchRequest", b"returnsDistinctResults", {"retval": {"type": "Z"}}) - r(b"NSFetchRequest", b"returnsObjectsAsFaults", {"retval": {"type": "Z"}}) - r( - b"NSFetchRequest", - b"setIncludesPendingChanges:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSFetchRequest", - b"setIncludesPropertyValues:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSFetchRequest", b"setIncludesSubentities:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSFetchRequest", - b"setReturnsDistinctResults:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSFetchRequest", - b"setReturnsObjectsAsFaults:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSFetchRequest", - b"setShouldRefreshRefetchedObjects:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSFetchRequest", b"shouldRefreshRefetchedObjects", {"retval": {"type": b"Z"}}) - r( - b"NSFetchRequestExpression", - b"expressionForFetch:context:countOnly:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"NSFetchRequestExpression", b"isCountOnlyRequest", {"retval": {"type": "Z"}}) - r( - b"NSFetchedResultsController", - b"performFetch:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSIncrementalStore", - b"executeRequest:withContext:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSIncrementalStore", - b"loadMetadata:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSIncrementalStore", - b"newValueForRelationship:forObjectWithID:withContext:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSIncrementalStore", - b"newValuesForObjectWithID:withContext:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSIncrementalStore", - b"obtainPermanentIDsForObjects:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObject", - b"contextShouldIgnoreUnmodeledPropertyChanges", - {"retval": {"type": b"Z"}}, - ) - r(b"NSManagedObject", b"hasChanges", {"retval": {"type": b"Z"}}) - r(b"NSManagedObject", b"hasFaultForRelationshipNamed:", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"hasPersistentChangedValues", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"isDeleted", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"isFault", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"isInserted", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"isUpdated", {"retval": {"type": "Z"}}) - r(b"NSManagedObject", b"observationInfo", {"retval": {"type": "^v"}}) - r(b"NSManagedObject", b"setObservationInfo:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSManagedObject", - b"validateForDelete:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObject", - b"validateForInsert:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObject", - b"validateForUpdate:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObject", - b"validateValue:forKey:error:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type_modifier": b"N"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSManagedObjectContext", - b"automaticallyMergesChangesFromParent", - {"retval": {"type": "Z"}}, - ) - r( - b"NSManagedObjectContext", - b"countForFetchRequest:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"executeFetchRequest:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"executeRequest:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"existingObjectWithID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSManagedObjectContext", b"hasChanges", {"retval": {"type": "Z"}}) - r( - b"NSManagedObjectContext", - b"observeValueForKeyPath:ofObject:change:context:", - {"arguments": {5: {"type": "^v"}}}, - ) - r( - b"NSManagedObjectContext", - b"obtainPermanentIDsForObjects:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"performBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSManagedObjectContext", - b"performBlockAndWait:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSManagedObjectContext", - b"propagatesDeletesAtEndOfEvent", - {"retval": {"type": "Z"}}, - ) - r( - b"NSManagedObjectContext", - b"refreshObject:mergeChanges:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSManagedObjectContext", b"retainsRegisteredObjects", {"retval": {"type": "Z"}}) - r( - b"NSManagedObjectContext", - b"save:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"setAutomaticallyMergesChangesFromParent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSManagedObjectContext", - b"setPropagatesDeletesAtEndOfEvent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSManagedObjectContext", - b"setQueryGenerationFromToken:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSManagedObjectContext", - b"setRetainsRegisteredObjects:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSManagedObjectContext", - b"setShouldDeleteInaccessibleFaults:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSManagedObjectContext", - b"shouldDeleteInaccessibleFaults", - {"retval": {"type": "Z"}}, - ) - r( - b"NSManagedObjectContext", - b"shouldHandleInaccessibleFault:forObjectID:triggeredByProperty:", - {"retval": {"type": "Z"}}, - ) - r(b"NSManagedObjectContext", b"tryLock", {"retval": {"type": "Z"}}) - r(b"NSManagedObjectID", b"isTemporaryID", {"retval": {"type": "Z"}}) - r( - b"NSManagedObjectModel", - b"isConfiguration:compatibleWithStoreMetadata:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSMappingModel", - b"inferredMappingModelForSourceModel:destinationModel:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSMergePolicy", - b"resolveConflicts:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMergePolicy", - b"resolveConstraintConflicts:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMergePolicy", - b"resolveOptimisticLockingVersionConflicts:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMigrationManager", - b"migrateStoreFromURL:type:options:withMappingModel:toDestinationURL:destinationType:destinationOptions:error:", - {"retval": {"type": "Z"}, "arguments": {9: {"type_modifier": b"o"}}}, - ) - r( - b"NSMigrationManager", - b"setUsesStoreSpecificMigrationManager:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSMigrationManager", - b"usesStoreSpecificMigrationManager", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"controller:didChangeContentWithDifference:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"controller:didChangeContentWithSnapshot:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"I", b"Q")}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"controller:didChangeSection:atIndex:forChangeType:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"controller:sectionIndexTitleForSectionName:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"controllerDidChangeContent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"controllerWillChangeContent:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"indexTitle", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"name", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"numberOfObjects", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"objects", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSPersistentCloudKitContainer", - b"acceptShareInvitationsFromMetadata:intoPersistentStore:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentCloudKitContainer", - b"canDeleteRecordForManagedObjectWithID:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"canModifyManagedObjectsInStore:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"canUpdateRecordForManagedObjectWithID:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"fetchParticipantsMatchingLookupInfos:intoPersistentStore:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentCloudKitContainer", - b"fetchSharesInPersistentStore:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"fetchSharesMatchingObjectIDs:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"initializeCloudKitSchemaWithOptions:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentCloudKitContainer", - b"persistUpdatedShare:inPersistentStore:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentCloudKitContainer", - b"purgeObjectsAndRecordsInZoneWithID:inPersistentStore:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentCloudKitContainer", - b"shareManagedObjects:toShare:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSPersistentCloudKitContainerEvent", b"succeeded", {"retval": {"type": b"Z"}}) - r( - b"NSPersistentContainer", - b"loadPersistentStoresWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentContainer", - b"performBackgroundTask:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSPersistentStore", b"isReadOnly", {"retval": {"type": "Z"}}) - r(b"NSPersistentStore", b"loadMetadata", {"retval": {"type": "Z"}}) - r( - b"NSPersistentStore", - b"loadMetadata:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStore", - b"metadataForPersistentStoreWithURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStore", - b"migrationManagerClass", - {"retval": {"type_modifier": b"o"}}, - ) - r( - b"NSPersistentStore", - b"setMetadata:forPersistentStoreWithURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSPersistentStore", b"setReadOnly:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPersistentStoreCoordinator", - b"addPersistentStoreWithDescription:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPersistentStoreCoordinator", - b"addPersistentStoreWithType:configuration:URL:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"destroyPersistentStoreAtURL:withType:options:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"executeRequest:withContext:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"importStoreWithIdentifier:fromExternalRecordsDirectory:toURL:options:withType:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"metadataForPersistentStoreOfType:URL:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"metadataForPersistentStoreOfType:URL:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"metadataForPersistentStoreWithURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"migratePersistentStore:toURL:options:withType:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"performBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSPersistentStoreCoordinator", - b"performBlockAndWait:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSPersistentStoreCoordinator", - b"removePersistentStore:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"removeUbiquitousContentAndPersistentStoreAtURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"replacePersistentStoreAtURL:destinationOptions:withPersistentStoreFromURL:sourceOptions:storeType:error:", - {"retval": {"type": "Z"}, "arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"setMetadata:forPersistentStoreOfType:URL:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"setMetadata:forPersistentStoreOfType:URL:options:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"setURL:forPersistentStore:", - {"retval": {"type": "Z"}}, - ) - r(b"NSPersistentStoreCoordinator", b"tryLock", {"retval": {"type": "Z"}}) - r(b"NSPersistentStoreDescription", b"isReadOnly", {"retval": {"type": "Z"}}) - r( - b"NSPersistentStoreDescription", - b"setReadOnly:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPersistentStoreDescription", - b"setShouldAddStoreAsynchronously:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPersistentStoreDescription", - b"setShouldInferMappingModelAutomatically:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPersistentStoreDescription", - b"setShouldMigrateStoreAutomatically:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPersistentStoreDescription", - b"shouldAddStoreAsynchronously", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPersistentStoreDescription", - b"shouldInferMappingModelAutomatically", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPersistentStoreDescription", - b"shouldMigrateStoreAutomatically", - {"retval": {"type": "Z"}}, - ) - r(b"NSPropertyDescription", b"isIndexed", {"retval": {"type": "Z"}}) - r(b"NSPropertyDescription", b"isIndexedBySpotlight", {"retval": {"type": "Z"}}) - r(b"NSPropertyDescription", b"isOptional", {"retval": {"type": "Z"}}) - r(b"NSPropertyDescription", b"isStoredInExternalRecord", {"retval": {"type": "Z"}}) - r(b"NSPropertyDescription", b"isTransient", {"retval": {"type": "Z"}}) - r(b"NSPropertyDescription", b"setIndexed:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPropertyDescription", - b"setIndexedBySpotlight:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPropertyDescription", b"setOptional:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPropertyDescription", - b"setStoredInExternalRecord:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPropertyDescription", b"setTransient:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSRelationshipDescription", b"isOrdered", {"retval": {"type": b"Z"}}) - r(b"NSRelationshipDescription", b"isToMany", {"retval": {"type": "Z"}}) - r(b"NSRelationshipDescription", b"setOrdered:", {"arguments": {2: {"type": b"Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreFoundation/__init__.py b/src/lib/CoreFoundation/__init__.py deleted file mode 100644 index e2a70ac..0000000 --- a/src/lib/CoreFoundation/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Python mapping for the CoreFoundation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import objc -from CoreFoundation import _metadata -from CoreFoundation._inlines import _inline_list_ - -sys.modules["CoreFoundation"] = mod = objc.ObjCLazyModule( - "CoreFoundation", - "com.apple.CoreFoundation", - objc.pathForFramework("/System/Library/Frameworks/CoreFoundation.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (), -) - - -import CoreFoundation._CoreFoundation # isort:skip # noqa: E402 - -for nm in dir(CoreFoundation._CoreFoundation): - setattr(mod, nm, getattr(CoreFoundation._CoreFoundation, nm)) - -import CoreFoundation._static # isort:skip # noqa: E402 - -for nm in dir(CoreFoundation._static): - setattr(mod, nm, getattr(CoreFoundation._static, nm)) - - -del sys.modules["CoreFoundation._metadata"] diff --git a/src/lib/CoreFoundation/_metadata.py b/src/lib/CoreFoundation/_metadata.py deleted file mode 100644 index bead2ee..0000000 --- a/src/lib/CoreFoundation/_metadata.py +++ /dev/null @@ -1,3418 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:35:42 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CFXMLEntityInfo": objc.createStructType( - "CoreFoundation.CFXMLEntityInfo", - b"{_CFXMLEntityInfo=q^{__CFString=}{_CFXMLExternalID=^{__CFURL=}^{__CFString=}}^{__CFString=}}", - ["entityType", "replacementText", "entityID", "notationName"], - ), - "CFXMLElementInfo": objc.createStructType( - "CoreFoundation.CFXMLElementInfo", - b"{_CFXMLElementInfo=^{__CFDictionary=}^{__CFArray=}Z[3c]}", - ["attributes", "attributeOrder", "isEmpty", "_reserved"], - ), - "CFXMLAttributeListDeclarationInfo": objc.createStructType( - "CoreFoundation.CFXMLAttributeListDeclarationInfo", - b"{_CFXMLAttributeListDeclarationInfo=q^{_CFXMLAttributeDeclarationInfo=^{__CFString=}^{__CFString=}^{__CFString=}}}", - ["numberOfAttributes", "attributes"], - ), - "CFXMLElementTypeDeclarationInfo": objc.createStructType( - "CoreFoundation.CFXMLElementTypeDeclarationInfo", - b"{_CFXMLElementTypeDeclarationInfo=^{__CFString=}}", - ["contentDescription"], - ), - "CFGregorianDate": objc.createStructType( - "CoreFoundation.CFGregorianDate", - b"{_CFGregorianDate=iccccd}", - ["year", "month", "day", "hour", "minute", "second"], - ), - "CFXMLExternalID": objc.createStructType( - "CoreFoundation.CFXMLExternalID", - b"{_CFXMLExternalID=^{__CFURL=}^{__CFString=}}", - ["systemID", "publicID"], - ), - "CFUUIDBytes": objc.createStructType( - "CoreFoundation.CFUUIDBytes", - b"{_CFUUIDBytes=CCCCCCCCCCCCCCCC}", - [ - "byte0", - "byte1", - "byte2", - "byte3", - "byte4", - "byte5", - "byte6", - "byte7", - "byte8", - "byte9", - "byte10", - "byte11", - "byte12", - "byte13", - "byte14", - "byte15", - ], - ), - "CFXMLAttributeDeclarationInfo": objc.createStructType( - "CoreFoundation.CFXMLAttributeDeclarationInfo", - b"{_CFXMLAttributeDeclarationInfo=^{__CFString=}^{__CFString=}^{__CFString=}}", - ["attributeName", "typeString", "defaultString"], - ), - "CFSwappedFloat32": objc.createStructType( - "CoreFoundation.CFSwappedFloat32", b"{_CFSwappedFloat32=I}", ["v"] - ), - "CFSwappedFloat64": objc.createStructType( - "CoreFoundation.CFSwappedFloat64", b"{_CFSwappedFloat64=Q}", ["v"] - ), - "CFXMLDocumentTypeInfo": objc.createStructType( - "CoreFoundation.CFXMLDocumentTypeInfo", - b"{_CFXMLDocumentTypeInfo={_CFXMLExternalID=^{__CFURL=}^{__CFString=}}}", - ["externalID"], - ), - "CFStreamError": objc.createStructType( - "CoreFoundation.CFStreamError", b"{_CFStreamError=qi}", ["domain", "error"] - ), - "CFXMLEntityReferenceInfo": objc.createStructType( - "CoreFoundation.CFXMLEntityReferenceInfo", - b"{_CFXMLEntityReferenceInfo=q}", - ["entityType"], - ), - "CFXMLProcessingInstructionInfo": objc.createStructType( - "CoreFoundation.CFXMLProcessingInstructionInfo", - b"{_CFXMLProcessingInstructionInfo=^{__CFString=}}", - ["dataString"], - ), - "CFRange": objc.createStructType( - "CoreFoundation.CFRange", b"{_CFRange=qq}", ["location", "length"] - ), - "CFSocketSignature": objc.createStructType( - "CoreFoundation.CFSocketSignature", - b"{_CFSocketSignature=iii^{__CFData=}}", - ["protocolFamily", "socketType", "protocol", "address"], - ), - "CFXMLDocumentInfo": objc.createStructType( - "CoreFoundation.CFXMLDocumentInfo", - b"{_CFXMLDocumentInfo=^{__CFURL=}I}", - ["sourceURL", "encoding"], - ), - "CFGregorianUnits": objc.createStructType( - "CoreFoundation.CFGregorianUnits", - b"{_CFGregorianUnits=iiiiid}", - ["years", "months", "days", "hours", "minutes", "seconds"], - ), - "CFXMLNotationInfo": objc.createStructType( - "CoreFoundation.CFXMLNotationInfo", - b"{_CFXMLNotationInfo={_CFXMLExternalID=^{__CFURL=}^{__CFString=}}}", - ["externalID"], - ), - } -) -constants = """$kCFAbsoluteTimeIntervalSince1904@d$kCFAbsoluteTimeIntervalSince1970@d$kCFAllocatorDefault@^{__CFAllocator=}$kCFAllocatorMalloc@^{__CFAllocator=}$kCFAllocatorMallocZone@^{__CFAllocator=}$kCFAllocatorNull@^{__CFAllocator=}$kCFAllocatorSystemDefault@^{__CFAllocator=}$kCFAllocatorUseContext@^{__CFAllocator=}$kCFBooleanFalse@^{__CFBoolean=}$kCFBooleanTrue@^{__CFBoolean=}$kCFBuddhistCalendar$kCFBundleDevelopmentRegionKey$kCFBundleExecutableKey$kCFBundleIdentifierKey$kCFBundleInfoDictionaryVersionKey$kCFBundleLocalizationsKey$kCFBundleNameKey$kCFBundleVersionKey$kCFChineseCalendar$kCFCoreFoundationVersionNumber@d$kCFDateFormatterAMSymbol$kCFDateFormatterCalendar$kCFDateFormatterCalendarName$kCFDateFormatterDefaultDate$kCFDateFormatterDefaultFormat$kCFDateFormatterDoesRelativeDateFormattingKey$kCFDateFormatterEraSymbols$kCFDateFormatterGregorianStartDate$kCFDateFormatterIsLenient$kCFDateFormatterLongEraSymbols$kCFDateFormatterMonthSymbols$kCFDateFormatterPMSymbol$kCFDateFormatterQuarterSymbols$kCFDateFormatterShortMonthSymbols$kCFDateFormatterShortQuarterSymbols$kCFDateFormatterShortStandaloneMonthSymbols$kCFDateFormatterShortStandaloneQuarterSymbols$kCFDateFormatterShortStandaloneWeekdaySymbols$kCFDateFormatterShortWeekdaySymbols$kCFDateFormatterStandaloneMonthSymbols$kCFDateFormatterStandaloneQuarterSymbols$kCFDateFormatterStandaloneWeekdaySymbols$kCFDateFormatterTimeZone$kCFDateFormatterTwoDigitStartDate$kCFDateFormatterVeryShortMonthSymbols$kCFDateFormatterVeryShortStandaloneMonthSymbols$kCFDateFormatterVeryShortStandaloneWeekdaySymbols$kCFDateFormatterVeryShortWeekdaySymbols$kCFDateFormatterWeekdaySymbols$kCFErrorDescriptionKey$kCFErrorDomainCocoa$kCFErrorDomainMach$kCFErrorDomainOSStatus$kCFErrorDomainPOSIX$kCFErrorFilePathKey$kCFErrorLocalizedDescriptionKey$kCFErrorLocalizedFailureKey$kCFErrorLocalizedFailureReasonKey$kCFErrorLocalizedRecoverySuggestionKey$kCFErrorURLKey$kCFErrorUnderlyingErrorKey$kCFGregorianCalendar$kCFHebrewCalendar$kCFISO8601Calendar$kCFIndianCalendar$kCFIslamicCalendar$kCFIslamicCivilCalendar$kCFIslamicTabularCalendar$kCFIslamicUmmAlQuraCalendar$kCFJapaneseCalendar$kCFLocaleAlternateQuotationBeginDelimiterKey$kCFLocaleAlternateQuotationEndDelimiterKey$kCFLocaleCalendar$kCFLocaleCalendarIdentifier$kCFLocaleCollationIdentifier$kCFLocaleCollatorIdentifier$kCFLocaleCountryCode$kCFLocaleCountryCodeKey$kCFLocaleCurrencyCode$kCFLocaleCurrencySymbol$kCFLocaleCurrentLocaleDidChangeNotification$kCFLocaleDecimalSeparator$kCFLocaleExemplarCharacterSet$kCFLocaleGroupingSeparator$kCFLocaleIdentifier$kCFLocaleLanguageCode$kCFLocaleLanguageCodeKey$kCFLocaleMeasurementSystem$kCFLocaleQuotationBeginDelimiterKey$kCFLocaleQuotationEndDelimiterKey$kCFLocaleScriptCode$kCFLocaleUsesMetricSystem$kCFLocaleVariantCode$kCFNull@^{__CFNull=}$kCFNumberFormatterAlwaysShowDecimalSeparator$kCFNumberFormatterCurrencyCode$kCFNumberFormatterCurrencyDecimalSeparator$kCFNumberFormatterCurrencyGroupingSeparator$kCFNumberFormatterCurrencySymbol$kCFNumberFormatterDecimalSeparator$kCFNumberFormatterDefaultFormat$kCFNumberFormatterExponentSymbol$kCFNumberFormatterFormatWidth$kCFNumberFormatterGroupingSeparator$kCFNumberFormatterGroupingSize$kCFNumberFormatterInfinitySymbol$kCFNumberFormatterInternationalCurrencySymbol$kCFNumberFormatterIsLenient$kCFNumberFormatterMaxFractionDigits$kCFNumberFormatterMaxIntegerDigits$kCFNumberFormatterMaxSignificantDigits$kCFNumberFormatterMinFractionDigits$kCFNumberFormatterMinIntegerDigits$kCFNumberFormatterMinSignificantDigits$kCFNumberFormatterMinusSign$kCFNumberFormatterMultiplier$kCFNumberFormatterNaNSymbol$kCFNumberFormatterNegativePrefix$kCFNumberFormatterNegativeSuffix$kCFNumberFormatterPaddingCharacter$kCFNumberFormatterPaddingPosition$kCFNumberFormatterPerMillSymbol$kCFNumberFormatterPercentSymbol$kCFNumberFormatterPlusSign$kCFNumberFormatterPositivePrefix$kCFNumberFormatterPositiveSuffix$kCFNumberFormatterRoundingIncrement$kCFNumberFormatterRoundingMode$kCFNumberFormatterSecondaryGroupingSize$kCFNumberFormatterUseGroupingSeparator$kCFNumberFormatterUseSignificantDigits$kCFNumberFormatterZeroSymbol$kCFNumberNaN@^{__CFNumber=}$kCFNumberNegativeInfinity@^{__CFNumber=}$kCFNumberPositiveInfinity@^{__CFNumber=}$kCFPersianCalendar$kCFPreferencesAnyApplication$kCFPreferencesAnyHost$kCFPreferencesAnyUser$kCFPreferencesCurrentApplication$kCFPreferencesCurrentHost$kCFPreferencesCurrentUser$kCFRepublicOfChinaCalendar$kCFRunLoopCommonModes$kCFRunLoopDefaultMode$kCFSocketCommandKey$kCFSocketErrorKey$kCFSocketNameKey$kCFSocketRegisterCommand$kCFSocketResultKey$kCFSocketRetrieveCommand$kCFSocketValueKey$kCFStreamErrorDomainSOCKS@i$kCFStreamErrorDomainSSL@i$kCFStreamPropertyAppendToFile$kCFStreamPropertyDataWritten$kCFStreamPropertyFileCurrentOffset$kCFStreamPropertySOCKSPassword$kCFStreamPropertySOCKSProxy$kCFStreamPropertySOCKSProxyHost$kCFStreamPropertySOCKSProxyPort$kCFStreamPropertySOCKSUser$kCFStreamPropertySOCKSVersion$kCFStreamPropertyShouldCloseNativeSocket$kCFStreamPropertySocketNativeHandle$kCFStreamPropertySocketRemoteHostName$kCFStreamPropertySocketRemotePortNumber$kCFStreamPropertySocketSecurityLevel$kCFStreamSocketSOCKSVersion4$kCFStreamSocketSOCKSVersion5$kCFStreamSocketSecurityLevelNegotiatedSSL$kCFStreamSocketSecurityLevelNone$kCFStreamSocketSecurityLevelSSLv2$kCFStreamSocketSecurityLevelSSLv3$kCFStreamSocketSecurityLevelTLSv1$kCFStringTransformFullwidthHalfwidth$kCFStringTransformHiraganaKatakana$kCFStringTransformLatinArabic$kCFStringTransformLatinCyrillic$kCFStringTransformLatinGreek$kCFStringTransformLatinHangul$kCFStringTransformLatinHebrew$kCFStringTransformLatinHiragana$kCFStringTransformLatinKatakana$kCFStringTransformLatinThai$kCFStringTransformMandarinLatin$kCFStringTransformStripCombiningMarks$kCFStringTransformStripDiacritics$kCFStringTransformToLatin$kCFStringTransformToUnicodeName$kCFStringTransformToXMLHex$kCFTimeZoneSystemTimeZoneDidChangeNotification$kCFURLAddedToDirectoryDateKey$kCFURLApplicationIsScriptableKey$kCFURLAttributeModificationDateKey$kCFURLCanonicalPathKey$kCFURLContentAccessDateKey$kCFURLContentModificationDateKey$kCFURLCreationDateKey$kCFURLCustomIconKey$kCFURLDocumentIdentifierKey$kCFURLEffectiveIconKey$kCFURLFileAllocatedSizeKey$kCFURLFileContentIdentifierKey$kCFURLFileDirectoryContents$kCFURLFileExists$kCFURLFileLastModificationTime$kCFURLFileLength$kCFURLFileOwnerID$kCFURLFilePOSIXMode$kCFURLFileProtectionComplete$kCFURLFileProtectionCompleteUnlessOpen$kCFURLFileProtectionCompleteUntilFirstUserAuthentication$kCFURLFileProtectionKey$kCFURLFileProtectionNone$kCFURLFileResourceIdentifierKey$kCFURLFileResourceTypeBlockSpecial$kCFURLFileResourceTypeCharacterSpecial$kCFURLFileResourceTypeDirectory$kCFURLFileResourceTypeKey$kCFURLFileResourceTypeNamedPipe$kCFURLFileResourceTypeRegular$kCFURLFileResourceTypeSocket$kCFURLFileResourceTypeSymbolicLink$kCFURLFileResourceTypeUnknown$kCFURLFileSecurityKey$kCFURLFileSizeKey$kCFURLGenerationIdentifierKey$kCFURLHTTPStatusCode$kCFURLHTTPStatusLine$kCFURLHasHiddenExtensionKey$kCFURLIsAliasFileKey$kCFURLIsApplicationKey$kCFURLIsDirectoryKey$kCFURLIsExcludedFromBackupKey$kCFURLIsExecutableKey$kCFURLIsHiddenKey$kCFURLIsMountTriggerKey$kCFURLIsPackageKey$kCFURLIsPurgeableKey$kCFURLIsReadableKey$kCFURLIsRegularFileKey$kCFURLIsSparseKey$kCFURLIsSymbolicLinkKey$kCFURLIsSystemImmutableKey$kCFURLIsUbiquitousItemKey$kCFURLIsUserImmutableKey$kCFURLIsVolumeKey$kCFURLIsWritableKey$kCFURLKeysOfUnsetValuesKey$kCFURLLabelColorKey$kCFURLLabelNumberKey$kCFURLLinkCountKey$kCFURLLocalizedLabelKey$kCFURLLocalizedNameKey$kCFURLLocalizedTypeDescriptionKey$kCFURLMayHaveExtendedAttributesKey$kCFURLMayShareFileContentKey$kCFURLNameKey$kCFURLParentDirectoryURLKey$kCFURLPathKey$kCFURLPreferredIOBlockSizeKey$kCFURLQuarantinePropertiesKey$kCFURLTagNamesKey$kCFURLTotalFileAllocatedSizeKey$kCFURLTotalFileSizeKey$kCFURLTypeIdentifierKey$kCFURLUbiquitousItemDownloadingErrorKey$kCFURLUbiquitousItemDownloadingStatusCurrent$kCFURLUbiquitousItemDownloadingStatusDownloaded$kCFURLUbiquitousItemDownloadingStatusKey$kCFURLUbiquitousItemDownloadingStatusNotDownloaded$kCFURLUbiquitousItemHasUnresolvedConflictsKey$kCFURLUbiquitousItemIsDownloadedKey$kCFURLUbiquitousItemIsDownloadingKey$kCFURLUbiquitousItemIsExcludedFromSyncKey$kCFURLUbiquitousItemIsUploadedKey$kCFURLUbiquitousItemIsUploadingKey$kCFURLUbiquitousItemPercentDownloadedKey$kCFURLUbiquitousItemPercentUploadedKey$kCFURLUbiquitousItemUploadingErrorKey$kCFURLVolumeAvailableCapacityForImportantUsageKey$kCFURLVolumeAvailableCapacityForOpportunisticUsageKey$kCFURLVolumeAvailableCapacityKey$kCFURLVolumeCreationDateKey$kCFURLVolumeIdentifierKey$kCFURLVolumeIsAutomountedKey$kCFURLVolumeIsBrowsableKey$kCFURLVolumeIsEjectableKey$kCFURLVolumeIsEncryptedKey$kCFURLVolumeIsInternalKey$kCFURLVolumeIsJournalingKey$kCFURLVolumeIsLocalKey$kCFURLVolumeIsReadOnlyKey$kCFURLVolumeIsRemovableKey$kCFURLVolumeIsRootFileSystemKey$kCFURLVolumeLocalizedFormatDescriptionKey$kCFURLVolumeLocalizedNameKey$kCFURLVolumeMaximumFileSizeKey$kCFURLVolumeNameKey$kCFURLVolumeResourceCountKey$kCFURLVolumeSupportsAccessPermissionsKey$kCFURLVolumeSupportsAdvisoryFileLockingKey$kCFURLVolumeSupportsCasePreservedNamesKey$kCFURLVolumeSupportsCaseSensitiveNamesKey$kCFURLVolumeSupportsCompressionKey$kCFURLVolumeSupportsExclusiveRenamingKey$kCFURLVolumeSupportsExtendedSecurityKey$kCFURLVolumeSupportsFileCloningKey$kCFURLVolumeSupportsFileProtectionKey$kCFURLVolumeSupportsHardLinksKey$kCFURLVolumeSupportsImmutableFilesKey$kCFURLVolumeSupportsJournalingKey$kCFURLVolumeSupportsPersistentIDsKey$kCFURLVolumeSupportsRenamingKey$kCFURLVolumeSupportsRootDirectoryDatesKey$kCFURLVolumeSupportsSparseFilesKey$kCFURLVolumeSupportsSwapRenamingKey$kCFURLVolumeSupportsSymbolicLinksKey$kCFURLVolumeSupportsVolumeSizesKey$kCFURLVolumeSupportsZeroRunsKey$kCFURLVolumeTotalCapacityKey$kCFURLVolumeURLForRemountingKey$kCFURLVolumeURLKey$kCFURLVolumeUUIDStringKey$kCFUserNotificationAlertHeaderKey$kCFUserNotificationAlertMessageKey$kCFUserNotificationAlertTopMostKey$kCFUserNotificationAlternateButtonTitleKey$kCFUserNotificationCheckBoxTitlesKey$kCFUserNotificationDefaultButtonTitleKey$kCFUserNotificationIconURLKey$kCFUserNotificationKeyboardTypesKey$kCFUserNotificationLocalizationURLKey$kCFUserNotificationOtherButtonTitleKey$kCFUserNotificationPopUpSelectionKey$kCFUserNotificationPopUpTitlesKey$kCFUserNotificationProgressIndicatorValueKey$kCFUserNotificationSoundURLKey$kCFUserNotificationTextFieldTitlesKey$kCFUserNotificationTextFieldValuesKey$kCFXMLTreeErrorDescription$kCFXMLTreeErrorLineNumber$kCFXMLTreeErrorLocation$kCFXMLTreeErrorStatusCode$""" -enums = """$CFByteOrderBigEndian@2$CFByteOrderLittleEndian@1$CFByteOrderUnknown@0$CFNotificationSuspensionBehaviorCoalesce@2$CFNotificationSuspensionBehaviorDeliverImmediately@4$CFNotificationSuspensionBehaviorDrop@1$CFNotificationSuspensionBehaviorHold@3$CF_USE_OSBYTEORDER_H@1$COREFOUNDATION_CFPLUGINCOM_SEPARATE@1$FALSE@0$ISA_PTRAUTH_DISCRIMINATOR@27361$TRUE@1$kCFBookmarkResolutionWithoutMountingMask@512$kCFBookmarkResolutionWithoutUIMask@256$kCFBundleExecutableArchitectureARM64@16777228$kCFBundleExecutableArchitectureI386@7$kCFBundleExecutableArchitecturePPC@18$kCFBundleExecutableArchitecturePPC64@16777234$kCFBundleExecutableArchitectureX86_64@16777223$kCFCalendarComponentsWrap@1$kCFCalendarUnitDay@16$kCFCalendarUnitEra@2$kCFCalendarUnitHour@32$kCFCalendarUnitMinute@64$kCFCalendarUnitMonth@8$kCFCalendarUnitQuarter@2048$kCFCalendarUnitSecond@128$kCFCalendarUnitWeek@256$kCFCalendarUnitWeekOfMonth@4096$kCFCalendarUnitWeekOfYear@8192$kCFCalendarUnitWeekday@512$kCFCalendarUnitWeekdayOrdinal@1024$kCFCalendarUnitYear@4$kCFCalendarUnitYearForWeekOfYear@16384$kCFCharacterSetAlphaNumeric@10$kCFCharacterSetCapitalizedLetter@13$kCFCharacterSetControl@1$kCFCharacterSetDecimalDigit@4$kCFCharacterSetDecomposable@9$kCFCharacterSetIllegal@12$kCFCharacterSetLetter@5$kCFCharacterSetLowercaseLetter@6$kCFCharacterSetNewline@15$kCFCharacterSetNonBase@8$kCFCharacterSetPunctuation@11$kCFCharacterSetSymbol@14$kCFCharacterSetUppercaseLetter@7$kCFCharacterSetWhitespace@2$kCFCharacterSetWhitespaceAndNewline@3$kCFCompareAnchored@8$kCFCompareBackwards@4$kCFCompareCaseInsensitive@1$kCFCompareDiacriticInsensitive@128$kCFCompareEqualTo@0$kCFCompareForcedOrdering@512$kCFCompareGreaterThan@1$kCFCompareLessThan@-1$kCFCompareLocalized@32$kCFCompareNonliteral@16$kCFCompareNumerically@64$kCFCompareWidthInsensitive@256$kCFCoreFoundationVersionNumber10_10@1151.16$kCFCoreFoundationVersionNumber10_10_1@1151.16$kCFCoreFoundationVersionNumber10_10_2@1152$kCFCoreFoundationVersionNumber10_10_3@1153.18$kCFCoreFoundationVersionNumber10_10_4@1153.18$kCFCoreFoundationVersionNumber10_10_5@1153.18$kCFCoreFoundationVersionNumber10_10_Max@1199$kCFCoreFoundationVersionNumber10_11@1253$kCFCoreFoundationVersionNumber10_11_1@1255.1$kCFCoreFoundationVersionNumber10_11_2@1256.14$kCFCoreFoundationVersionNumber10_11_3@1256.14$kCFCoreFoundationVersionNumber10_11_4@1258.1$kCFCoreFoundationVersionNumber10_11_Max@1299$kCFDataSearchAnchored@2$kCFDataSearchBackwards@1$kCFDateFormatterFullStyle@4$kCFDateFormatterLongStyle@3$kCFDateFormatterMediumStyle@2$kCFDateFormatterNoStyle@0$kCFDateFormatterShortStyle@1$kCFFileDescriptorReadCallBack@1$kCFFileDescriptorWriteCallBack@2$kCFFileSecurityClearAccessControlList@32$kCFFileSecurityClearGroup@2$kCFFileSecurityClearGroupUUID@16$kCFFileSecurityClearMode@4$kCFFileSecurityClearOwner@1$kCFFileSecurityClearOwnerUUID@8$kCFGregorianAllUnits@16777215$kCFGregorianUnitsDays@4$kCFGregorianUnitsHours@8$kCFGregorianUnitsMinutes@16$kCFGregorianUnitsMonths@2$kCFGregorianUnitsSeconds@32$kCFGregorianUnitsYears@1$kCFISO8601DateFormatWithColonSeparatorInTime@512$kCFISO8601DateFormatWithColonSeparatorInTimeZone@1024$kCFISO8601DateFormatWithDashSeparatorInDate@256$kCFISO8601DateFormatWithDay@16$kCFISO8601DateFormatWithFractionalSeconds@2048$kCFISO8601DateFormatWithFullDate@275$kCFISO8601DateFormatWithFullTime@1632$kCFISO8601DateFormatWithInternetDateTime@1907$kCFISO8601DateFormatWithMonth@2$kCFISO8601DateFormatWithSpaceBetweenDateAndTime@128$kCFISO8601DateFormatWithTime@32$kCFISO8601DateFormatWithTimeZone@64$kCFISO8601DateFormatWithWeekOfYear@4$kCFISO8601DateFormatWithYear@1$kCFLocaleLanguageDirectionBottomToTop@4$kCFLocaleLanguageDirectionLeftToRight@1$kCFLocaleLanguageDirectionRightToLeft@2$kCFLocaleLanguageDirectionTopToBottom@3$kCFLocaleLanguageDirectionUnknown@0$kCFMessagePortBecameInvalidError@-5$kCFMessagePortIsInvalid@-3$kCFMessagePortReceiveTimeout@-2$kCFMessagePortSendTimeout@-1$kCFMessagePortSuccess@0$kCFMessagePortTransportError@-4$kCFNotFound@-1$kCFNotificationDeliverImmediately@1$kCFNotificationPostToAllSessions@2$kCFNumberCFIndexType@14$kCFNumberCGFloatType@16$kCFNumberCharType@7$kCFNumberDoubleType@13$kCFNumberFloat32Type@5$kCFNumberFloat64Type@6$kCFNumberFloatType@12$kCFNumberFormatterCurrencyAccountingStyle@10$kCFNumberFormatterCurrencyISOCodeStyle@8$kCFNumberFormatterCurrencyPluralStyle@9$kCFNumberFormatterCurrencyStyle@2$kCFNumberFormatterDecimalStyle@1$kCFNumberFormatterNoStyle@0$kCFNumberFormatterOrdinalStyle@6$kCFNumberFormatterPadAfterPrefix@1$kCFNumberFormatterPadAfterSuffix@3$kCFNumberFormatterPadBeforePrefix@0$kCFNumberFormatterPadBeforeSuffix@2$kCFNumberFormatterParseIntegersOnly@1$kCFNumberFormatterPercentStyle@3$kCFNumberFormatterRoundCeiling@0$kCFNumberFormatterRoundDown@2$kCFNumberFormatterRoundFloor@1$kCFNumberFormatterRoundHalfDown@5$kCFNumberFormatterRoundHalfEven@4$kCFNumberFormatterRoundHalfUp@6$kCFNumberFormatterRoundUp@3$kCFNumberFormatterScientificStyle@4$kCFNumberFormatterSpellOutStyle@5$kCFNumberIntType@9$kCFNumberLongLongType@11$kCFNumberLongType@10$kCFNumberMaxType@16$kCFNumberNSIntegerType@15$kCFNumberSInt16Type@2$kCFNumberSInt32Type@3$kCFNumberSInt64Type@4$kCFNumberSInt8Type@1$kCFNumberShortType@8$kCFPropertyListBinaryFormat_v1_0@200$kCFPropertyListImmutable@0$kCFPropertyListMutableContainers@1$kCFPropertyListMutableContainersAndLeaves@2$kCFPropertyListOpenStepFormat@1$kCFPropertyListReadCorruptError@3840$kCFPropertyListReadStreamError@3842$kCFPropertyListReadUnknownVersionError@3841$kCFPropertyListWriteStreamError@3851$kCFPropertyListXMLFormat_v1_0@100$kCFRunLoopAfterWaiting@64$kCFRunLoopAllActivities@268435455$kCFRunLoopBeforeSources@4$kCFRunLoopBeforeTimers@2$kCFRunLoopBeforeWaiting@32$kCFRunLoopEntry@1$kCFRunLoopExit@128$kCFRunLoopRunFinished@1$kCFRunLoopRunHandledSource@4$kCFRunLoopRunStopped@2$kCFRunLoopRunTimedOut@3$kCFSocketAcceptCallBack@2$kCFSocketAutomaticallyReenableAcceptCallBack@2$kCFSocketAutomaticallyReenableDataCallBack@3$kCFSocketAutomaticallyReenableReadCallBack@1$kCFSocketAutomaticallyReenableWriteCallBack@8$kCFSocketCloseOnInvalidate@128$kCFSocketConnectCallBack@4$kCFSocketDataCallBack@3$kCFSocketError@-1$kCFSocketLeaveErrors@64$kCFSocketNoCallBack@0$kCFSocketReadCallBack@1$kCFSocketSuccess@0$kCFSocketTimeout@-2$kCFSocketWriteCallBack@8$kCFStreamErrorDomainCustom@-1$kCFStreamErrorDomainMacOSStatus@2$kCFStreamErrorDomainPOSIX@1$kCFStreamEventCanAcceptBytes@4$kCFStreamEventEndEncountered@16$kCFStreamEventErrorOccurred@8$kCFStreamEventHasBytesAvailable@2$kCFStreamEventNone@0$kCFStreamEventOpenCompleted@1$kCFStreamStatusAtEnd@5$kCFStreamStatusClosed@6$kCFStreamStatusError@7$kCFStreamStatusNotOpen@0$kCFStreamStatusOpen@2$kCFStreamStatusOpening@1$kCFStreamStatusReading@3$kCFStreamStatusWriting@4$kCFStringEncodingANSEL@1537$kCFStringEncodingASCII@1536$kCFStringEncodingBig5@2563$kCFStringEncodingBig5_E@2569$kCFStringEncodingBig5_HKSCS_1999@2566$kCFStringEncodingCNS_11643_92_P1@1617$kCFStringEncodingCNS_11643_92_P2@1618$kCFStringEncodingCNS_11643_92_P3@1619$kCFStringEncodingDOSArabic@1049$kCFStringEncodingDOSBalticRim@1030$kCFStringEncodingDOSCanadianFrench@1048$kCFStringEncodingDOSChineseSimplif@1057$kCFStringEncodingDOSChineseTrad@1059$kCFStringEncodingDOSCyrillic@1043$kCFStringEncodingDOSGreek@1029$kCFStringEncodingDOSGreek1@1041$kCFStringEncodingDOSGreek2@1052$kCFStringEncodingDOSHebrew@1047$kCFStringEncodingDOSIcelandic@1046$kCFStringEncodingDOSJapanese@1056$kCFStringEncodingDOSKorean@1058$kCFStringEncodingDOSLatin1@1040$kCFStringEncodingDOSLatin2@1042$kCFStringEncodingDOSLatinUS@1024$kCFStringEncodingDOSNordic@1050$kCFStringEncodingDOSPortuguese@1045$kCFStringEncodingDOSRussian@1051$kCFStringEncodingDOSThai@1053$kCFStringEncodingDOSTurkish@1044$kCFStringEncodingEBCDIC_CP037@3074$kCFStringEncodingEBCDIC_US@3073$kCFStringEncodingEUC_CN@2352$kCFStringEncodingEUC_JP@2336$kCFStringEncodingEUC_KR@2368$kCFStringEncodingEUC_TW@2353$kCFStringEncodingGBK_95@1585$kCFStringEncodingGB_18030_2000@1586$kCFStringEncodingGB_2312_80@1584$kCFStringEncodingHZ_GB_2312@2565$kCFStringEncodingISOLatin1@513$kCFStringEncodingISOLatin10@528$kCFStringEncodingISOLatin2@514$kCFStringEncodingISOLatin3@515$kCFStringEncodingISOLatin4@516$kCFStringEncodingISOLatin5@521$kCFStringEncodingISOLatin6@522$kCFStringEncodingISOLatin7@525$kCFStringEncodingISOLatin8@526$kCFStringEncodingISOLatin9@527$kCFStringEncodingISOLatinArabic@518$kCFStringEncodingISOLatinCyrillic@517$kCFStringEncodingISOLatinGreek@519$kCFStringEncodingISOLatinHebrew@520$kCFStringEncodingISOLatinThai@523$kCFStringEncodingISO_2022_CN@2096$kCFStringEncodingISO_2022_CN_EXT@2097$kCFStringEncodingISO_2022_JP@2080$kCFStringEncodingISO_2022_JP_1@2082$kCFStringEncodingISO_2022_JP_2@2081$kCFStringEncodingISO_2022_JP_3@2083$kCFStringEncodingISO_2022_KR@2112$kCFStringEncodingInvalidId@4294967295$kCFStringEncodingJIS_C6226_78@1572$kCFStringEncodingJIS_X0201_76@1568$kCFStringEncodingJIS_X0208_83@1569$kCFStringEncodingJIS_X0208_90@1570$kCFStringEncodingJIS_X0212_90@1571$kCFStringEncodingKOI8_R@2562$kCFStringEncodingKOI8_U@2568$kCFStringEncodingKSC_5601_87@1600$kCFStringEncodingKSC_5601_92_Johab@1601$kCFStringEncodingMacArabic@4$kCFStringEncodingMacArmenian@24$kCFStringEncodingMacBengali@13$kCFStringEncodingMacBurmese@19$kCFStringEncodingMacCeltic@39$kCFStringEncodingMacCentralEurRoman@29$kCFStringEncodingMacChineseSimp@25$kCFStringEncodingMacChineseTrad@2$kCFStringEncodingMacCroatian@36$kCFStringEncodingMacCyrillic@7$kCFStringEncodingMacDevanagari@9$kCFStringEncodingMacDingbats@34$kCFStringEncodingMacEthiopic@28$kCFStringEncodingMacExtArabic@31$kCFStringEncodingMacFarsi@140$kCFStringEncodingMacGaelic@40$kCFStringEncodingMacGeorgian@23$kCFStringEncodingMacGreek@6$kCFStringEncodingMacGujarati@11$kCFStringEncodingMacGurmukhi@10$kCFStringEncodingMacHFS@255$kCFStringEncodingMacHebrew@5$kCFStringEncodingMacIcelandic@37$kCFStringEncodingMacInuit@236$kCFStringEncodingMacJapanese@1$kCFStringEncodingMacKannada@16$kCFStringEncodingMacKhmer@20$kCFStringEncodingMacKorean@3$kCFStringEncodingMacLaotian@22$kCFStringEncodingMacMalayalam@17$kCFStringEncodingMacMongolian@27$kCFStringEncodingMacOriya@12$kCFStringEncodingMacRoman@0$kCFStringEncodingMacRomanLatin1@2564$kCFStringEncodingMacRomanian@38$kCFStringEncodingMacSinhalese@18$kCFStringEncodingMacSymbol@33$kCFStringEncodingMacTamil@14$kCFStringEncodingMacTelugu@15$kCFStringEncodingMacThai@21$kCFStringEncodingMacTibetan@26$kCFStringEncodingMacTurkish@35$kCFStringEncodingMacUkrainian@152$kCFStringEncodingMacVT100@252$kCFStringEncodingMacVietnamese@30$kCFStringEncodingNextStepJapanese@2818$kCFStringEncodingNextStepLatin@2817$kCFStringEncodingNonLossyASCII@3071$kCFStringEncodingShiftJIS@2561$kCFStringEncodingShiftJIS_X0213@1576$kCFStringEncodingShiftJIS_X0213_00@1576$kCFStringEncodingShiftJIS_X0213_MenKuTen@1577$kCFStringEncodingUTF16@256$kCFStringEncodingUTF16BE@268435712$kCFStringEncodingUTF16LE@335544576$kCFStringEncodingUTF32@201326848$kCFStringEncodingUTF32BE@402653440$kCFStringEncodingUTF32LE@469762304$kCFStringEncodingUTF7@67109120$kCFStringEncodingUTF7_IMAP@2576$kCFStringEncodingUTF8@134217984$kCFStringEncodingUnicode@256$kCFStringEncodingVISCII@2567$kCFStringEncodingWindowsArabic@1286$kCFStringEncodingWindowsBalticRim@1287$kCFStringEncodingWindowsCyrillic@1282$kCFStringEncodingWindowsGreek@1283$kCFStringEncodingWindowsHebrew@1285$kCFStringEncodingWindowsKoreanJohab@1296$kCFStringEncodingWindowsLatin1@1280$kCFStringEncodingWindowsLatin2@1281$kCFStringEncodingWindowsLatin5@1284$kCFStringEncodingWindowsVietnamese@1288$kCFStringNormalizationFormC@2$kCFStringNormalizationFormD@0$kCFStringNormalizationFormKC@3$kCFStringNormalizationFormKD@1$kCFStringTokenizerAttributeLanguage@131072$kCFStringTokenizerAttributeLatinTranscription@65536$kCFStringTokenizerTokenHasDerivedSubTokensMask@4$kCFStringTokenizerTokenHasHasNumbersMask@8$kCFStringTokenizerTokenHasNonLettersMask@16$kCFStringTokenizerTokenHasSubTokensMask@2$kCFStringTokenizerTokenIsCJWordMask@32$kCFStringTokenizerTokenNone@0$kCFStringTokenizerTokenNormal@1$kCFStringTokenizerUnitLineBreak@3$kCFStringTokenizerUnitParagraph@2$kCFStringTokenizerUnitSentence@1$kCFStringTokenizerUnitWord@0$kCFStringTokenizerUnitWordBoundary@4$kCFTimeZoneNameStyleDaylightSaving@2$kCFTimeZoneNameStyleGeneric@4$kCFTimeZoneNameStyleShortDaylightSaving@3$kCFTimeZoneNameStyleShortGeneric@5$kCFTimeZoneNameStyleShortStandard@1$kCFTimeZoneNameStyleStandard@0$kCFURLBookmarkCreationMinimalBookmarkMask@512$kCFURLBookmarkCreationPreferFileIDResolutionMask@256$kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess@4096$kCFURLBookmarkCreationSuitableForBookmarkFile@1024$kCFURLBookmarkCreationWithSecurityScope@2048$kCFURLBookmarkCreationWithoutImplicitSecurityScope@536870912$kCFURLBookmarkResolutionWithSecurityScope@1024$kCFURLBookmarkResolutionWithoutImplicitStartAccessing@32768$kCFURLBookmarkResolutionWithoutMountingMask@512$kCFURLBookmarkResolutionWithoutUIMask@256$kCFURLComponentFragment@12$kCFURLComponentHost@8$kCFURLComponentNetLocation@2$kCFURLComponentParameterString@10$kCFURLComponentPassword@6$kCFURLComponentPath@3$kCFURLComponentPort@9$kCFURLComponentQuery@11$kCFURLComponentResourceSpecifier@4$kCFURLComponentScheme@1$kCFURLComponentUser@5$kCFURLComponentUserInfo@7$kCFURLEnumeratorDefaultBehavior@0$kCFURLEnumeratorDescendRecursively@1$kCFURLEnumeratorDirectoryPostOrderSuccess@4$kCFURLEnumeratorEnd@2$kCFURLEnumeratorError@3$kCFURLEnumeratorGenerateFileReferenceURLs@4$kCFURLEnumeratorGenerateRelativePathURLs@64$kCFURLEnumeratorIncludeDirectoriesPostOrder@32$kCFURLEnumeratorIncludeDirectoriesPreOrder@16$kCFURLEnumeratorSkipInvisibles@2$kCFURLEnumeratorSkipPackageContents@8$kCFURLEnumeratorSuccess@1$kCFURLHFSPathStyle@1$kCFURLImproperArgumentsError@-15$kCFURLPOSIXPathStyle@0$kCFURLPropertyKeyUnavailableError@-17$kCFURLRemoteHostUnavailableError@-14$kCFURLResourceAccessViolationError@-13$kCFURLResourceNotFoundError@-12$kCFURLTimeoutError@-18$kCFURLUnknownError@-10$kCFURLUnknownPropertyKeyError@-16$kCFURLUnknownSchemeError@-11$kCFURLWindowsPathStyle@2$kCFUserNotificationAlternateResponse@1$kCFUserNotificationCancelResponse@3$kCFUserNotificationCautionAlertLevel@2$kCFUserNotificationDefaultResponse@0$kCFUserNotificationNoDefaultButtonFlag@32$kCFUserNotificationNoteAlertLevel@1$kCFUserNotificationOtherResponse@2$kCFUserNotificationPlainAlertLevel@3$kCFUserNotificationStopAlertLevel@0$kCFUserNotificationUseRadioButtonsFlag@64$kCFXMLEntityTypeCharacter@4$kCFXMLEntityTypeParameter@0$kCFXMLEntityTypeParsedExternal@2$kCFXMLEntityTypeParsedInternal@1$kCFXMLEntityTypeUnparsed@3$kCFXMLErrorElementlessDocument@11$kCFXMLErrorEncodingConversionFailure@3$kCFXMLErrorMalformedCDSect@7$kCFXMLErrorMalformedCharacterReference@13$kCFXMLErrorMalformedCloseTag@8$kCFXMLErrorMalformedComment@12$kCFXMLErrorMalformedDTD@5$kCFXMLErrorMalformedDocument@10$kCFXMLErrorMalformedName@6$kCFXMLErrorMalformedParsedCharacterData@14$kCFXMLErrorMalformedProcessingInstruction@4$kCFXMLErrorMalformedStartTag@9$kCFXMLErrorNoData@15$kCFXMLErrorUnexpectedEOF@1$kCFXMLErrorUnknownEncoding@2$kCFXMLNodeCurrentVersion@1$kCFXMLNodeTypeAttribute@3$kCFXMLNodeTypeAttributeListDeclaration@15$kCFXMLNodeTypeCDATASection@7$kCFXMLNodeTypeComment@5$kCFXMLNodeTypeDocument@1$kCFXMLNodeTypeDocumentFragment@8$kCFXMLNodeTypeDocumentType@11$kCFXMLNodeTypeElement@2$kCFXMLNodeTypeElementTypeDeclaration@14$kCFXMLNodeTypeEntity@9$kCFXMLNodeTypeEntityReference@10$kCFXMLNodeTypeNotation@13$kCFXMLNodeTypeProcessingInstruction@4$kCFXMLNodeTypeText@6$kCFXMLNodeTypeWhitespace@12$kCFXMLParserAddImpliedAttributes@32$kCFXMLParserAllOptions@16777215$kCFXMLParserNoOptions@0$kCFXMLParserReplacePhysicalEntities@4$kCFXMLParserResolveExternalEntities@16$kCFXMLParserSkipMetaData@2$kCFXMLParserSkipWhitespace@8$kCFXMLParserValidateDocument@1$kCFXMLStatusParseInProgress@-1$kCFXMLStatusParseNotBegun@-2$kCFXMLStatusParseSuccessful@0$""" -misc.update( - { - "CFCharacterSetPredefinedSet": NewType("CFCharacterSetPredefinedSet", int), - "CFStringTokenizerTokenType": NewType("CFStringTokenizerTokenType", int), - "CFComparisonResult": NewType("CFComparisonResult", int), - "CFStringCompareFlags": NewType("CFStringCompareFlags", int), - "CFPropertyListMutabilityOptions": NewType( - "CFPropertyListMutabilityOptions", int - ), - "CFNotificationSuspensionBehavior": NewType( - "CFNotificationSuspensionBehavior", int - ), - "CFURLComponentType": NewType("CFURLComponentType", int), - "CFStreamStatus": NewType("CFStreamStatus", int), - "CFFileSecurityClearOptions": NewType("CFFileSecurityClearOptions", int), - "CFNumberFormatterStyle": NewType("CFNumberFormatterStyle", int), - "CFStringNormalizationForm": NewType("CFStringNormalizationForm", int), - "CFXMLParserOptions": NewType("CFXMLParserOptions", int), - "CFRunLoopRunResult": NewType("CFRunLoopRunResult", int), - "CFURLBookmarkCreationOptions": NewType("CFURLBookmarkCreationOptions", int), - "__CFByteOrder": NewType("__CFByteOrder", int), - "CFStreamEventType": NewType("CFStreamEventType", int), - "CFDateFormatterStyle": NewType("CFDateFormatterStyle", int), - "CFSocketError": NewType("CFSocketError", int), - "CFXMLNodeTypeCode": NewType("CFXMLNodeTypeCode", int), - "CFXMLParserStatusCode": NewType("CFXMLParserStatusCode", int), - "CFRunLoopActivity": NewType("CFRunLoopActivity", int), - "CFNumberFormatterRoundingMode": NewType("CFNumberFormatterRoundingMode", int), - "CFURLBookmarkResolutionOptions": NewType( - "CFURLBookmarkResolutionOptions", int - ), - "CFDataSearchFlags": NewType("CFDataSearchFlags", int), - "CFISO8601DateFormatOptions": NewType("CFISO8601DateFormatOptions", int), - "CFNumberFormatterOptionFlags": NewType("CFNumberFormatterOptionFlags", int), - "CFStreamErrorDomain": NewType("CFStreamErrorDomain", int), - "CFTimeZoneNameStyle": NewType("CFTimeZoneNameStyle", int), - "CFSocketCallBackType": NewType("CFSocketCallBackType", int), - "CFURLEnumeratorOptions": NewType("CFURLEnumeratorOptions", int), - "CFXMLEntityTypeCode": NewType("CFXMLEntityTypeCode", int), - "CFStringBuiltInEncodings": NewType("CFStringBuiltInEncodings", int), - "CFCalendarUnit": NewType("CFCalendarUnit", int), - "CFLocaleLanguageDirection": NewType("CFLocaleLanguageDirection", int), - "CFNumberType": NewType("CFNumberType", int), - "CFURLPathStyle": NewType("CFURLPathStyle", int), - "CFURLEnumeratorResult": NewType("CFURLEnumeratorResult", int), - "CFGregorianUnitFlags": NewType("CFGregorianUnitFlags", int), - "CFURLError": NewType("CFURLError", int), - "CFStringEncodings": NewType("CFStringEncodings", int), - "CFNumberFormatterPadPosition": NewType("CFNumberFormatterPadPosition", int), - "CFPropertyListFormat": NewType("CFPropertyListFormat", int), - } -) -misc.update( - { - "kCFCoreFoundationVersionNumber10_7_1": 635.0, - "kCFCoreFoundationVersionNumber10_4_4_Intel": 368.26, - "kCFCoreFoundationVersionNumber10_11_4": 1258.1, - "kCFCoreFoundationVersionNumber10_11_3": 1256.14, - "kCFCoreFoundationVersionNumber10_11_2": 1256.14, - "kCFCoreFoundationVersionNumber10_11_1": 1255.1, - "kCFCoreFoundationVersionNumber10_10_4": 1153.18, - "kCFCoreFoundationVersionNumber10_10_5": 1153.18, - "kCFCoreFoundationVersionNumber10_10_3": 1153.18, - "kCFCoreFoundationVersionNumber10_10_1": 1151.16, - "kCFCoreFoundationVersionNumber10_8_2": 744.12, - "kCFCoreFoundationVersionNumber10_8_3": 744.18, - "kCFCoreFoundationVersionNumber10_8_1": 744.0, - "kCFCoreFoundationVersionNumber10_5_1": 476.0, - "kCFCoreFoundationVersionNumber10_8_4": 744.19, - "kCFCoreFoundationVersionNumber10_9_2": 855.14, - "kCFCoreFoundationVersionNumber10_9_1": 855.11, - "kCFCoreFoundationVersionNumber10_4_7": 368.27, - "kCFCoreFoundationVersionNumber10_4_2": 368.11, - "kCFCoreFoundationVersionNumber10_4_3": 368.18, - "kCFCoreFoundationVersionNumber10_4_1": 368.1, - "kCFCoreFoundationVersionNumber10_5_7": 476.18, - "kCFCoreFoundationVersionNumber10_5_6": 476.17, - "kCFCoreFoundationVersionNumber10_5_5": 476.15, - "kCFCoreFoundationVersionNumber10_5_4": 476.14, - "kCFCoreFoundationVersionNumber10_5_3": 476.13, - "kCFCoreFoundationVersionNumber10_5_2": 476.1, - "kCFCoreFoundationVersionNumber10_4_8": 368.27, - "kCFCoreFoundationVersionNumber10_4_9": 368.28, - "kCFCoreFoundationVersionNumber10_2_4": 263.3, - "kCFCoreFoundationVersionNumber10_2_5": 263.5, - "kCFCoreFoundationVersionNumber10_2_6": 263.5, - "kCFCoreFoundationVersionNumber10_2_7": 263.5, - "kCFCoreFoundationVersionNumber10_3_9": 299.35, - "kCFCoreFoundationVersionNumber10_2_1": 263.1, - "kCFCoreFoundationVersionNumber10_2_2": 263.1, - "kCFCoreFoundationVersionNumber10_2_3": 263.3, - "kCFCoreFoundationVersionNumber10_3_5": 299.31, - "kCFCoreFoundationVersionNumber10_3_4": 299.31, - "kCFCoreFoundationVersionNumber10_3_7": 299.33, - "kCFCoreFoundationVersionNumber10_3_6": 299.32, - "kCFCoreFoundationVersionNumber10_3_1": 299.0, - "kCFCoreFoundationVersionNumber10_3_3": 299.3, - "kCFCoreFoundationVersionNumber10_3_2": 299.0, - "kCFCoreFoundationVersionNumber10_1_3": 227.2, - "kCFCoreFoundationVersionNumber10_1_2": 227.2, - "kCFCoreFoundationVersionNumber10_1_1": 226.0, - "kCFCoreFoundationVersionNumber10_1_4": 227.3, - "kCFCoreFoundationVersionNumber10_4_6_PowerPC": 368.25, - "kCFCoreFoundationVersionNumber10_6_2": 550.13, - "kCFCoreFoundationVersionNumber10_6_3": 550.19, - "kCFCoreFoundationVersionNumber10_6_4": 550.29, - "kCFCoreFoundationVersionNumber10_6_5": 550.42, - "kCFCoreFoundationVersionNumber10_6_6": 550.42, - "kCFCoreFoundationVersionNumber10_4_4_PowerPC": 368.25, - "kCFCoreFoundationVersionNumber10_6_8": 550.43, - "kCFCoreFoundationVersionNumber10_0_3": 196.5, - "kCFCoreFoundationVersionNumber10_7_3": 635.19, - "kCFCoreFoundationVersionNumber10_7_2": 635.15, - "kCFCoreFoundationVersionNumber10_4_10": 368.28, - "kCFCoreFoundationVersionNumber10_7_4": 635.21, - "kCFCoreFoundationVersionNumber10_4_5_PowerPC": 368.25, - "kCFCoreFoundationVersionNumber10_3_8": 299.33, - "kCFCoreFoundationVersionNumber10_10": 1151.16, - "kCFCoreFoundationVersionNumber10_4_5_Intel": 368.26, - "kCFCoreFoundationVersionNumber10_2_8": 263.5, - "kCFCoreFoundationVersionNumber10_5_8": 476.19, - "kCFCoreFoundationVersionNumber10_4_11": 368.31, - "kCFCoreFoundationVersionNumber10_6_1": 550.0, - "kCFCoreFoundationVersionNumber10_6_7": 550.42, - "kCFCoreFoundationVersionNumber10_8": 744.0, - "kCFCoreFoundationVersionNumber10_5": 476.0, - "kCFCoreFoundationVersionNumber10_4": 368.0, - "kCFCoreFoundationVersionNumber10_7": 635.0, - "kCFCoreFoundationVersionNumber10_6": 550.0, - "kCFCoreFoundationVersionNumber10_1": 226.0, - "kCFCoreFoundationVersionNumber10_0": 196.4, - "kCFCoreFoundationVersionNumber10_3": 299.0, - "kCFCoreFoundationVersionNumber10_2": 263.0, - "kCFCoreFoundationVersionNumber10_7_5": 635.21, - "kCFCoreFoundationVersionNumber10_9": 855.11, - "kCFCoreFoundationVersionNumber10_4_6_Intel": 368.26, - } -) -functions = { - "CFURLCreateByResolvingBookmarkData": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFData=}Q^{__CFURL=}^{__CFArray=}^Z^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: {"type_modifier": "o"}, - 6: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - }, - }, - ), - "CFConvertDoubleSwappedToHost": (b"d{_CFSwappedFloat64=Q}",), - "CFURLCreateCopyAppendingPathComponent": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}^{__CFString=}Z", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRangeMake": (b"{_CFRange=qq}qq",), - "CFBitVectorGetCount": (b"q^{__CFBitVector=}",), - "CFDictionaryContainsKey": (b"Z^{__CFDictionary=}@",), - "CFPreferencesCopyValue": ( - b"@^{__CFString=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFGetAllocator": (b"^{__CFAllocator=}@",), - "CFSetCreateMutable": ( - b"^{__CFSet=}^{__CFAllocator=}q^{_CFSetCallBacks=q^?^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFErrorGetCode": (b"q^{__CFError=}",), - "CFStringGetFileSystemRepresentation": ( - b"Z^{__CFString=}^tq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "o"}}}, - ), - "CFLocaleGetTypeID": (b"Q",), - "CFUUIDGetUUIDBytes": (b"{_CFUUIDBytes=CCCCCCCCCCCCCCCC}^{__CFUUID=}",), - "CFDateFormatterCreateDateFormatFromTemplate": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}Q^{__CFLocale=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTreeInsertSibling": (b"v^{__CFTree=}^{__CFTree=}",), - "CFSocketConnectToAddress": (b"q^{__CFSocket=}^{__CFData=}d",), - "CFWriteStreamScheduleWithRunLoop": ( - b"v^{__CFWriteStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFDateFormatterCreateStringWithAbsoluteTime": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFDateFormatter=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFReadStreamScheduleWithRunLoop": ( - b"v^{__CFReadStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFArrayAppendValue": (b"v^{__CFArray=}@",), - "CFSetRemoveValue": (b"v^{__CFSet=}@",), - "CFBundleCopyPrivateFrameworksURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorCreateMutable": ( - b"^{__CFBitVector=}^{__CFAllocator=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFLocaleCreateCanonicalLocaleIdentifierFromString": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringTokenizerCopyBestStringLanguage": ( - b"^{__CFString=}^{__CFString=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUUIDCreate": ( - b"^{__CFUUID=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCalendarGetRangeOfUnit": (b"{_CFRange=qq}^{__CFCalendar=}QQd",), - "CFStringFindWithOptionsAndLocale": ( - b"Z^{__CFString=}^{__CFString=}{_CFRange=qq}Q^{__CFLocale=}^{_CFRange=qq}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "CFURLSetResourcePropertyForKey": ( - b"Z^{__CFURL=}^{__CFString=}@^^{__CFError=}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFFileSecurityCopyOwnerUUID": ( - b"Z^{__CFFileSecurity=}^^{__CFUUID=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CFCalendarAddComponents": (b"Z^{__CFCalendar=}^dQ^c", "", {"variadic": True}), - "CFLocaleCopyCommonISOCurrencyCodes": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCalendarGetOrdinalityOfUnit": (b"q^{__CFCalendar=}QQd",), - "CFPreferencesRemoveSuitePreferencesFromApp": (b"v^{__CFString=}^{__CFString=}",), - "CFCalendarGetMinimumDaysInFirstWeek": (b"q^{__CFCalendar=}",), - "CFURLCreateWithFileSystemPathRelativeToBase": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFString=}qZ^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBinaryHeapGetCountOfValue": (b"q^{__CFBinaryHeap=}@",), - "CFStringIsSurrogateLowCharacter": (b"ZT",), - "CFStringTrim": (b"v^{__CFString=}^{__CFString=}",), - "CFXMLNodeGetTypeID": (b"Q",), - "CFStringSetExternalCharactersNoCopy": ( - b"v^{__CFString=}^Tqq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 3, "type_modifier": "n"}}, - }, - ), - "CFLocaleGetSystem": (b"^{__CFLocale=}",), - "CFDataGetLength": (b"q^{__CFData=}",), - "CFWriteStreamWrite": ( - b"q^{__CFWriteStream=}^vq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CFBundleGetVersionNumber": (b"I^{__CFBundle=}",), - "CFGetRetainCount": (b"q@",), - "CFRunLoopObserverGetContext": ( - b"v^{__CFRunLoopObserver=}^{_CFRunLoopObserverContext=q^v^?^?^?}", - ), - "CFDataCreateWithBytesNoCopy": ( - b"^{__CFData=}^{__CFAllocator=}^vq^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFURLEnumeratorGetNextURL": ( - b"q^{__CFURLEnumerator=}^^{__CFURL=}^^{__CFError=}", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - } - }, - ), - "CFRunLoopTimerGetTypeID": (b"Q",), - "CFStringConvertNSStringEncodingToEncoding": (b"IQ",), - "CFURLCreateBookmarkDataFromFile": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFBundleCopyResourceURLForLocalization": ( - b"^{__CFURL=}^{__CFBundle=}^{__CFString=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetMaximumSizeForEncoding": (b"qqI",), - "CFStringTransform": ( - b"Z^{__CFString=}^{_CFRange=qq}^{__CFString=}Z", - "", - {"arguments": {1: {"type_modifier": "N"}}}, - ), - "CFURLStopAccessingSecurityScopedResource": (b"v^{__CFURL=}",), - "CFDataCreateMutableCopy": ( - b"^{__CFData=}^{__CFAllocator=}q^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMachPortGetContext": (b"v^{__CFMachPort=}^{_CFMachPortContext=q^v^?^?^?}",), - "CFDateFormatterGetDateStyle": (b"q^{__CFDateFormatter=}",), - "CFStringGetHyphenationLocationBeforeIndex": ( - b"q^{__CFString=}q{_CFRange=qq}Q^{__CFLocale=}^I", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "CFRunLoopIsWaiting": (b"Z^{__CFRunLoop=}",), - "CFAttributedStringReplaceString": ( - b"v^{__CFAttributedString=}{_CFRange=qq}^{__CFString=}", - ), - "CFSocketCreateWithNative": ( - b"^{__CFSocket=}^{__CFAllocator=}iQ^?^{_CFSocketContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFSocket=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{__CFData=}"}, - 3: {"type": b"^v"}, - 4: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFMessagePortCreateLocal": ( - b"^{__CFMessagePort=}^{__CFAllocator=}^{__CFString=}^?^{_CFMessagePortContext=q^v^?^?^?}^Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{__CFData=}", "already_cfretained": True}, - "arguments": { - 0: {"type": b"^{__CFMessagePort=}"}, - 1: {"type": b"i"}, - 2: {"type": b"^{__CFData=}"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFTimeZoneCopyDefault": ( - b"^{__CFTimeZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFArrayGetValueAtIndex": (b"@^{__CFArray=}q",), - "CFErrorCopyFailureReason": ( - b"^{__CFString=}^{__CFError=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBinaryHeapContainsValue": (b"Z^{__CFBinaryHeap=}@",), - "CFNumberFormatterGetStyle": (b"q^{__CFNumberFormatter=}",), - "CFXMLParserCreate": ( - b"^{__CFXMLParser=}^{__CFAllocator=}^{__CFData=}^{__CFURL=}Qq^{_CFXMLParserCallBacks=q^?^?^?^?^?}^{_CFXMLParserContext=q^v^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFLocaleCopyPreferredLanguages": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBagCreateCopy": ( - b"^{__CFBag=}^{__CFAllocator=}^{__CFBag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNotificationCenterGetDistributedCenter": (b"^{__CFNotificationCenter=}",), - "CFXMLTreeGetNode": (b"^{__CFXMLNode=}^{__CFTree=}",), - "CFDateCreate": ( - b"^{__CFDate=}^{__CFAllocator=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFErrorCopyDescription": ( - b"^{__CFString=}^{__CFError=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetGetTypeID": (b"Q",), - "CFWriteStreamCopyProperty": ( - b"@^{__CFWriteStream=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringGetLength": (b"q^{__CFAttributedString=}",), - "CFStringGetCStringPtr": ( - b"^t@I", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "CFFileDescriptorEnableCallBacks": (b"v^{__CFFileDescriptor=}Q",), - "CFURLGetString": (b"^{__CFString=}^{__CFURL=}",), - "CFReadStreamSetProperty": (b"Z^{__CFReadStream=}^{__CFString=}@",), - "CFFileDescriptorInvalidate": (b"v^{__CFFileDescriptor=}",), - "CFBagGetCountOfValue": (b"q^{__CFBag=}@",), - "CFAbsoluteTimeGetCurrent": (b"d",), - "CFLocaleCopyISOCurrencyCodes": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCalendarGetTypeID": (b"Q",), - "CFBundleCopySharedFrameworksURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringCreateWithSubstring": ( - b"^{__CFAttributedString=}^{__CFAllocator=}^{__CFAttributedString=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringAppend": (b"v^{__CFString=}^{__CFString=}",), - "CFRelease": (b"v@",), - "CFAllocatorGetDefault": (b"^{__CFAllocator=}",), - "CFStringTokenizerAdvanceToNextToken": (b"Q^{__CFStringTokenizer=}",), - "CFAttributedStringGetAttributeAndLongestEffectiveRange": ( - b"@^{__CFAttributedString=}q^{__CFString=}{_CFRange=qq}^{_CFRange=qq}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CFFileDescriptorGetContext": ( - b"v^{__CFFileDescriptor=}^{_CFFileDescriptorContext=q^v^?^?^?}", - ), - "CFUserNotificationPopUpSelection": (b"Qq",), - "CFStringConvertIANACharSetNameToEncoding": (b"I^{__CFString=}",), - "CFDateFormatterGetTimeStyle": (b"q^{__CFDateFormatter=}",), - "CFSocketSetSocketFlags": (b"v^{__CFSocket=}Q",), - "CFXMLCreateStringByUnescapingEntities": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateWithSubstring": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFWriteStreamSetDispatchQueue": (b"v^{__CFWriteStream=}@",), - "CFStringCreateMutableCopy": ( - b"^{__CFString=}^{__CFAllocator=}q^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCopyExecutableArchitectures": ( - b"^{__CFArray=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDictionaryCreateCopy": ( - b"^{__CFDictionary=}^{__CFAllocator=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopPerformBlock": ( - b"v^{__CFRunLoop=}@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"v"}}, - }, - } - } - }, - ), - "CFStringPad": (b"v^{__CFString=}^{__CFString=}qq",), - "CFLocaleGetValue": (b"@^{__CFLocale=}^{__CFString=}",), - "CFLocaleCopyISOLanguageCodes": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSocketSendData": (b"q^{__CFSocket=}^{__CFData=}^{__CFData=}d",), - "CFDataIncreaseLength": (b"v^{__CFData=}q",), - "CFBagGetValueIfPresent": ( - b"Z^{__CFBag=}@^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFBooleanGetTypeID": (b"Q",), - "CFBundleCopyAuxiliaryExecutableURL": ( - b"^{__CFURL=}^{__CFBundle=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLEnumeratorCreateForMountedVolumes": ( - b"^{__CFURLEnumerator=}^{__CFAllocator=}Q^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFFileSecurityGetMode": ( - b"Z^{__CFFileSecurity=}^S", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFReadStreamSetClient": ( - b"Z^{__CFReadStream=}Q^?^{_CFStreamClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFReadStream=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CFStringConvertEncodingToWindowsCodepage": (b"II",), - "CFMachPortGetInvalidationCallBack": (b"^?^{__CFMachPort=}",), - "CFURLCopyFileSystemPath": ( - b"^{__CFString=}^{__CFURL=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopSourceSignal": (b"v^{__CFRunLoopSource=}",), - "CFBundleCopyInfoDictionaryInDirectory": ( - b"^{__CFDictionary=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUserNotificationDisplayAlert": ( - b"idQ^{__CFURL=}^{__CFURL=}^{__CFURL=}^{__CFString=}^{__CFString=}^{__CFString=}^{__CFString=}^{__CFString=}^Q", - "", - {"arguments": {10: {"type_modifier": "o"}}}, - ), - "CFURLClearResourcePropertyCacheForKey": (b"v^{__CFURL=}^{__CFString=}",), - "CFBinaryHeapGetMinimum": (b"@^{__CFBinaryHeap=}",), - "CFNotificationCenterAddObserver": ( - b"v^{__CFNotificationCenter=}@^?@@q", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ), - "CFCalendarCopyTimeZone": ( - b"^{__CFTimeZone=}^{__CFCalendar=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringGetTypeID": (b"Q",), - "CFPropertyListWriteToStream": ( - b"q@^{__CFWriteStream=}q^^{__CFString=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFBagAddValue": (b"v^{__CFBag=}@",), - "CFCharacterSetCreateMutable": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTreeGetParent": (b"^{__CFTree=}^{__CFTree=}",), - "CFCalendarGetComponentDifference": ( - b"Z^{__CFCalendar=}ddQ^c", - "", - {"variadic": True}, - ), - "CFURLGetByteRangeForComponent": ( - b"{_CFRange=qq}^{__CFURL=}q^{_CFRange=qq}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFRunLoopRunInMode": (b"i^{__CFString=}dZ",), - "CFBundleCopyExecutableURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringReplace": (b"v^{__CFString=}{_CFRange=qq}^{__CFString=}",), - "CFSocketGetNative": (b"i^{__CFSocket=}",), - "CFConvertFloatSwappedToHost": (b"f{_CFSwappedFloat32=I}",), - "CFBundleOpenBundleResourceMap": (b"i^{__CFBundle=}",), - "CFDataFind": (b"{_CFRange=qq}^{__CFData=}^{__CFData=}{_CFRange=qq}Q",), - "CFMachPortCreate": ( - b"^{__CFMachPort=}^{__CFAllocator=}^?^{_CFMachPortContext=q^v^?^?^?}^Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFMachPort=}"}, - 1: {"type": b"^v"}, - 2: {"type": b"q"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFAttributedStringReplaceAttributedString": ( - b"v^{__CFAttributedString=}{_CFRange=qq}^{__CFAttributedString=}", - ), - "CFTimeZoneCreateWithName": ( - b"^{__CFTimeZone=}^{__CFAllocator=}^{__CFString=}Z", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleGetPackageInfoInDirectory": ( - b"Z^{__CFURL=}^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CFURLCreateData": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFURL=}IZ", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNumberFormatterCreateStringWithNumber": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFNumberFormatter=}^{__CFNumber=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCalendarGetMaximumRangeOfUnit": (b"{_CFRange=qq}^{__CFCalendar=}Q",), - "CFRunLoopRemoveSource": (b"v^{__CFRunLoop=}^{__CFRunLoopSource=}^{__CFString=}",), - "CFSwapInt32": (b"II",), - "CFXMLParserCreateWithDataFromURL": ( - b"^{__CFXMLParser=}^{__CFAllocator=}^{__CFURL=}Qq^{_CFXMLParserCallBacks=q^?^?^?^?^?}^{_CFXMLParserContext=q^v^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopTimerGetNextFireDate": (b"d^{__CFRunLoopTimer=}",), - "CFBitVectorGetCountOfBit": (b"q^{__CFBitVector=}{_CFRange=qq}I",), - "CFNotificationCenterGetDarwinNotifyCenter": (b"^{__CFNotificationCenter=}",), - "CFPropertyListWrite": ( - b"q@^{__CFWriteStream=}qQ^^{__CFError=}", - "", - { - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFDataAppendBytes": ( - b"v^{__CFData=}^vq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CFDictionaryGetCount": (b"q^{__CFDictionary=}",), - "CFLocaleCreateLocaleIdentifierFromWindowsLocaleCode": ( - b"^{__CFString=}^{__CFAllocator=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUserNotificationUpdate": (b"i^{__CFUserNotification=}dQ^{__CFDictionary=}",), - "CFMessagePortInvalidate": (b"v^{__CFMessagePort=}",), - "CFSwapInt64": (b"QQ",), - "CFURLCreateWithFileSystemPath": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFString=}qZ", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringGetAttributes": ( - b"^{__CFDictionary=}^{__CFAttributedString=}q^{_CFRange=qq}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFSocketSetDefaultNameRegistryPortNumber": (b"vS",), - "CFFileSecurityGetTypeID": (b"Q",), - "CFBundleCopyResourceURLsOfType": ( - b"^{__CFArray=}^{__CFBundle=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFConvertFloat32SwappedToHost": (b"f{_CFSwappedFloat32=I}",), - "CFDictionaryReplaceValue": (b"v^{__CFDictionary=}@@",), - "CFXMLTreeCreateFromDataWithError": ( - b"^{__CFTree=}^{__CFAllocator=}^{__CFData=}^{__CFURL=}Qq^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {5: {"type_modifier": "o"}}, - }, - ), - "CFTimeZoneSetDefault": (b"v^{__CFTimeZone=}",), - "CFArrayApplyFunction": ( - b"v^{__CFArray=}{_CFRange=qq}^?@", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CFMessagePortGetInvalidationCallBack": ( - b"^?^{__CFMessagePort=}", - "", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"^v"}}, - } - } - }, - ), - "CFUserNotificationGetResponseDictionary": ( - b"^{__CFDictionary=}^{__CFUserNotification=}", - ), - "CFSwapInt32HostToLittle": (b"II",), - "CFSocketInvalidate": (b"v^{__CFSocket=}",), - "CFStringGetMostCompatibleMacStringEncoding": (b"II",), - "CFRunLoopObserverIsValid": (b"Z^{__CFRunLoopObserver=}",), - "CFStringInsert": (b"v^{__CFString=}q^{__CFString=}",), - "CFXMLParserGetTypeID": (b"Q",), - "CFMessagePortGetContext": ( - b"v^{__CFMessagePort=}^{_CFMessagePortContext=q^v^?^?^?}", - ), - "CFStringIsEncodingAvailable": (b"ZI",), - "CFStringGetLength": (b"q^{__CFString=}",), - "CFURLCanBeDecomposed": (b"Z^{__CFURL=}",), - "CFStringCreateWithCStringNoCopy": ( - b"^{__CFString=}^{__CFAllocator=}^tI^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFReadStreamClose": (b"v^{__CFReadStream=}",), - "CFBagCreate": ( - b"^{__CFBag=}^{__CFAllocator=}^^vq^{_CFBagCallBacks=q^?^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopAddTimer": (b"v^{__CFRunLoop=}^{__CFRunLoopTimer=}^{__CFString=}",), - "CFDictionaryGetValueIfPresent": ( - b"Z^{__CFDictionary=}@^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFArrayCreateCopy": ( - b"^{__CFArray=}^{__CFAllocator=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorGetLastIndexOfBit": (b"q^{__CFBitVector=}{_CFRange=qq}I",), - "CFDataCreateMutable": ( - b"^{__CFData=}^{__CFAllocator=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringAppendCString": ( - b"v^{__CFString=}^tI", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "CFLocaleGetIdentifier": (b"^{__CFString=}^{__CFLocale=}",), - "CFStringConvertWindowsCodepageToEncoding": (b"II",), - "CFTreeRemove": (b"v^{__CFTree=}",), - "CFBundleCloseBundleResourceMap": (b"v^{__CFBundle=}i",), - "CFStreamCreateBoundPair": ( - b"v^{__CFAllocator=}^^{__CFReadStream=}^^{__CFWriteStream=}q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}, - }, - ), - "CFRunLoopTimerSetNextFireDate": (b"v^{__CFRunLoopTimer=}d",), - "CFAllocatorSetDefault": (b"v^{__CFAllocator=}",), - "CFPreferencesSetAppValue": (b"v^{__CFString=}@^{__CFString=}",), - "CFTimeZoneGetNextDaylightSavingTimeTransition": (b"d^{__CFTimeZone=}d",), - "CFDateFormatterGetFormat": (b"^{__CFString=}^{__CFDateFormatter=}",), - "CFLocaleCreateLocaleIdentifierFromComponents": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPreferencesSynchronize": (b"Z^{__CFString=}^{__CFString=}^{__CFString=}",), - "CFReadStreamCopyDispatchQueue": ( - b"@^{__CFReadStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetMaximumSizeOfFileSystemRepresentation": (b"q^{__CFString=}",), - "CFBundleCreate": ( - b"^{__CFBundle=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLGetPortNumber": (b"i^{__CFURL=}",), - "CFStringAppendCharacters": ( - b"v^{__CFString=}^Tq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CFArrayGetLastIndexOfValue": (b"q^{__CFArray=}{_CFRange=qq}@",), - "CFRunLoopTimerCreate": ( - b"^{__CFRunLoopTimer=}^{__CFAllocator=}ddQq^?^{_CFRunLoopTimerContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFRunLoopTimer=}"}, - 1: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFFileDescriptorCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__CFFileDescriptor=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringHasSuffix": (b"Z^{__CFString=}^{__CFString=}",), - "CFEqual": (b"Z@@",), - "CFRunLoopGetNextTimerFireDate": (b"d^{__CFRunLoop=}^{__CFString=}",), - "CFErrorCreate": ( - b"^{__CFError=}^{__CFAllocator=}^{__CFString=}q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateByCombiningStrings": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateWithFileSystemRepresentation": ( - b"^{__CFString=}^{__CFAllocator=}^t", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFBundleGetPlugIn": (b"^{__CFBundle=}^{__CFBundle=}",), - "CFAllocatorGetPreferredSizeForSize": (b"q^{__CFAllocator=}qQ",), - "CFDateFormatterSetFormat": (b"v^{__CFDateFormatter=}^{__CFString=}",), - "CFBinaryHeapApplyFunction": ( - b"v^{__CFBinaryHeap=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CFRunLoopTimerSetTolerance": (b"v^{__CFRunLoopTimer=}d",), - "CFStringGetBytes": ( - b"q^{__CFString=}{_CFRange=qq}ICZ^tq^q", - "", - { - "arguments": { - 5: {"c_array_length_in_arg": (6, 7), "type_modifier": "o"}, - 7: {"type_modifier": "o"}, - } - }, - ), - "CFLocaleCopyAvailableLocaleIdentifiers": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateArrayBySeparatingStrings": ( - b"^{__CFArray=}^{__CFAllocator=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetDoubleValue": (b"d^{__CFString=}",), - "CFBundleIsExecutableLoadable": (b"Z^{__CFBundle=}",), - "CFSetGetCount": (b"q^{__CFSet=}",), - "CFURLCreateWithBytes": ( - b"^{__CFURL=}^{__CFAllocator=}^vqI^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFStringCompareWithOptionsAndLocale": ( - b"q^{__CFString=}^{__CFString=}{_CFRange=qq}Q^{__CFLocale=}", - ), - "CFPropertyListCreateFromStream": ( - b"@^{__CFAllocator=}^{__CFReadStream=}qQ^q^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"type_modifier": "o"}, 5: {"type_modifier": "o"}}, - }, - ), - "CFAbsoluteTimeAddGregorianUnits": ( - b"dd^{__CFTimeZone=}{_CFGregorianUnits=iiiiid}", - ), - "CFLocaleCopyCurrent": ( - b"^{__CFLocale=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDateFormatterGetLocale": (b"^{__CFLocale=}^{__CFDateFormatter=}",), - "CFURLEnumeratorGetSourceDidChange": (b"Z^{__CFURLEnumerator=}",), - "CFNullGetTypeID": (b"Q",), - "CFStringUppercase": (b"v^{__CFString=}^{__CFLocale=}",), - "CFTreeGetFirstChild": (b"^{__CFTree=}^{__CFTree=}",), - "CFAbsoluteTimeGetDayOfYear": (b"id^{__CFTimeZone=}",), - "CFURLCreateFromFileSystemRepresentation": ( - b"^{__CFURL=}^{__CFAllocator=}^tqZ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFBundleGetInfoDictionary": (b"^{__CFDictionary=}^{__CFBundle=}",), - "CFByteOrderGetCurrent": (b"q",), - "CFAttributedStringEndEditing": (b"v^{__CFAttributedString=}",), - "CFUserNotificationCancel": (b"i^{__CFUserNotification=}",), - "CFUserNotificationSecureTextField": (b"Qq",), - "CFBitVectorCreate": ( - b"^{__CFBitVector=}^{__CFAllocator=}^Cq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CFCharacterSetRemoveCharactersInRange": (b"v^{__CFCharacterSet=}{_CFRange=qq}",), - "CFMachPortSetInvalidationCallBack": ( - b"v^{__CFMachPort=}^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFMachPort=}"}, - 1: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CFCharacterSetAddCharactersInString": (b"v^{__CFCharacterSet=}^{__CFString=}",), - "CFBitVectorGetBitAtIndex": (b"I^{__CFBitVector=}q",), - "CFURLIsFileReferenceURL": (b"Z^{__CFURL=}",), - "CFURLCopyPath": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFArrayGetFirstIndexOfValue": (b"q^{__CFArray=}{_CFRange=qq}@",), - "CFCharacterSetCreateWithCharactersInRange": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetIsLongCharacterMember": (b"Z^{__CFCharacterSet=}I",), - "CFUUIDCreateFromUUIDBytes": ( - b"^{__CFUUID=}^{__CFAllocator=}{_CFUUIDBytes=CCCCCCCCCCCCCCCC}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopAddSource": (b"v^{__CFRunLoop=}^{__CFRunLoopSource=}^{__CFString=}",), - "CFDictionaryContainsValue": (b"Z^{__CFDictionary=}@",), - "CFTimeZoneCopyKnownNames": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCopyPreferredLocalizationsFromArray": ( - b"^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorFlipBitAtIndex": (b"v^{__CFBitVector=}q",), - "CFPropertyListCreateXMLData": ( - b"^{__CFData=}^{__CFAllocator=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateResourcePropertyForKeyFromBookmarkData": ( - b"@^{__CFAllocator=}^{__CFString=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDateGetAbsoluteTime": (b"d^{__CFDate=}",), - "CFNumberIsFloatType": (b"Z^{__CFNumber=}",), - "CFTreePrependChild": (b"v^{__CFTree=}^{__CFTree=}",), - "CFRunLoopWakeUp": (b"v^{__CFRunLoop=}",), - "CFDateFormatterCreateStringWithDate": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFDateFormatter=}^{__CFDate=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetHasMemberInPlane": (b"Z^{__CFCharacterSet=}q",), - "CFURLCopyResourceSpecifier": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringFold": (b"v^{__CFString=}Q^{__CFLocale=}",), - "CFStringTokenizerCopyCurrentTokenAttribute": ( - b"@^{__CFStringTokenizer=}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNotificationCenterRemoveEveryObserver": (b"v^{__CFNotificationCenter=}@",), - "CFMessagePortGetName": (b"^{__CFString=}^{__CFMessagePort=}",), - "CFURLCopyPassword": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFWriteStreamClose": (b"v^{__CFWriteStream=}",), - "CFMessagePortCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__CFMessagePort=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetCString": ( - b"Z^{__CFString=}^tqI", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "o"}}}, - ), - "_CFAutoreleasePoolPrintPools": (b"v",), - "CFPropertyListCreateData": ( - b"^{__CFData=}^{__CFAllocator=}@qQ^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFURLCopyQueryString": ( - b"^{__CFString=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopTimerCreateWithHandler": ( - b"^{__CFRunLoopTimer=}^{__CFAllocator=}ddQq@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{__CFRunLoopTimer=}"}, - }, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^{__CFRunLoopTimer=}"}}, - }, - } - }, - }, - ), - "CFTimeZoneCopyAbbreviationDictionary": ( - b"^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringConvertEncodingToIANACharSetName": (b"^{__CFString=}I",), - "CFSwapInt16LittleToHost": (b"SS",), - "CFNumberFormatterSetProperty": (b"v^{__CFNumberFormatter=}^{__CFString=}@",), - "CFSocketCopyPeerAddress": ( - b"^{__CFData=}^{__CFSocket=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateFromFileSystemRepresentationRelativeToBase": ( - b"^{__CFURL=}^{__CFAllocator=}^tqZ^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFAttributedStringSetAttributes": ( - b"v^{__CFAttributedString=}{_CFRange=qq}^{__CFDictionary=}Z", - ), - "CFNumberFormatterCopyProperty": ( - b"@^{__CFNumberFormatter=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSocketGetTypeID": (b"Q",), - "CFURLGetBaseURL": (b"^{__CFURL=}^{__CFURL=}",), - "CFSetGetCountOfValue": (b"q^{__CFSet=}@",), - "CFWriteStreamSetProperty": (b"Z^{__CFWriteStream=}^{__CFString=}@",), - "CFDictionarySetValue": (b"v^{__CFDictionary=}@@",), - "CFRunLoopSourceGetTypeID": (b"Q",), - "CFWriteStreamCopyError": ( - b"^{__CFError=}^{__CFWriteStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorSetBits": (b"v^{__CFBitVector=}{_CFRange=qq}I",), - "CFURLCreateBookmarkDataFromAliasRecord": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringRemoveAttribute": ( - b"v^{__CFAttributedString=}{_CFRange=qq}^{__CFString=}", - ), - "CFURLCreateFromFSRef": ( - b"^{__CFURL=}^{__CFAllocator=}^{FSRef=[80C]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CFBitVectorFlipBits": (b"v^{__CFBitVector=}{_CFRange=qq}",), - "CFCalendarCopyCurrent": ( - b"^{__CFCalendar=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopAddObserver": (b"v^{__CFRunLoop=}^{__CFRunLoopObserver=}^{__CFString=}",), - "CFURLCreateCopyDeletingPathExtension": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMessagePortIsValid": (b"Z^{__CFMessagePort=}",), - "CFBundleCopySupportFilesDirectoryURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNumberGetType": (b"q^{__CFNumber=}",), - "CFDataCreateCopy": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDictionaryCreateMutableCopy": ( - b"^{__CFDictionary=}^{__CFAllocator=}q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringConvertEncodingToNSStringEncoding": (b"QI",), - "CFXMLParserGetSourceURL": (b"^{__CFURL=}^{__CFXMLParser=}",), - "CFSetContainsValue": (b"Z^{__CFSet=}@",), - "CFBundleCopyInfoDictionaryForURL": ( - b"^{__CFDictionary=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMessagePortSetInvalidationCallBack": ( - b"v^{__CFMessagePort=}^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFMessagePort=}"}, - 1: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CFTreeRemoveAllChildren": (b"v^{__CFTree=}",), - "CFFileDescriptorIsValid": (b"Z^{__CFFileDescriptor=}",), - "CFSetGetValueIfPresent": ( - b"Z^{__CFSet=}@^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFBinaryHeapGetCount": (b"q^{__CFBinaryHeap=}",), - "CFRunLoopContainsObserver": ( - b"Z^{__CFRunLoop=}^{__CFRunLoopObserver=}^{__CFString=}", - ), - "CFRunLoopObserverGetOrder": (b"q^{__CFRunLoopObserver=}",), - "CFBagReplaceValue": (b"v^{__CFBag=}@",), - "CFTreeSetContext": (b"v^{__CFTree=}^{_CFTreeContext=q^v^?^?^?}",), - "CFReadStreamCopyProperty": ( - b"@^{__CFReadStream=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringIsHyphenationAvailableForLocale": (b"Z^{__CFLocale=}",), - "CFWriteStreamCopyDispatchQueue": ( - b"@^{__CFWriteStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopSourceCreate": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}q^{_CFRunLoopSourceContext=q^v^?^?^?^?^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetInvert": (b"v^{__CFCharacterSet=}",), - "CFBundleIsExecutableLoadableForURL": (b"Z^{__CFURL=}",), - "CFMachPortInvalidate": (b"v^{__CFMachPort=}",), - "CFSwapInt32BigToHost": (b"II",), - "CFDataReplaceBytes": ( - b"v^{__CFData=}{_CFRange=qq}^vq", - "", - {"arguments": {2: {"c_array_length_in_arg": 3, "type_modifier": "n"}}}, - ), - "CFDataGetBytePtr": ( - b"^v^{__CFData=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CFSocketDisableCallBacks": (b"v^{__CFSocket=}Q",), - "CFBundleCopyLocalizationsForURL": ( - b"^{__CFArray=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFReadStreamGetBuffer": ( - b"^v^{__CFReadStream=}q^q", - "", - { - "retval": {"c_array_length_in_arg": 2}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "CFErrorGetDomain": (b"^{__CFString=}^{__CFError=}",), - "CFStringHasPrefix": (b"Z^{__CFString=}^{__CFString=}",), - "CFTimeZoneIsDaylightSavingTime": (b"Z^{__CFTimeZone=}d",), - "CFWriteStreamCanAcceptBytes": (b"Z^{__CFWriteStream=}",), - "CFWriteStreamOpen": (b"Z^{__CFWriteStream=}",), - "CFBitVectorSetCount": (b"v^{__CFBitVector=}q",), - "CFErrorCreateWithUserInfoKeysAndValues": ( - b"^{__CFError=}^{__CFAllocator=}^{__CFString=}q^@^@q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"c_array_length_in_arg": 5, "type_modifier": "n"}, - 4: {"c_array_length_in_arg": 5, "type_modifier": "n"}, - }, - }, - ), - "CFUserNotificationCreate": ( - b"^{__CFUserNotification=}^{__CFAllocator=}dQ^i^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "o"}}, - }, - ), - "CFURLResourceIsReachable": ( - b"Z^{__CFURL=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFStringIsSurrogateHighCharacter": (b"ZT",), - "CFPropertyListCreateWithData": ( - b"@^{__CFAllocator=}^{__CFData=}Q^q^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"type_modifier": "o"}, - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - }, - }, - ), - "CFSocketGetDefaultNameRegistryPortNumber": (b"S",), - "CFBundleCopyLocalizationsForPreferences": ( - b"^{__CFArray=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopObserverInvalidate": (b"v^{__CFRunLoopObserver=}",), - "CFURLGetFSRef": ( - b"Z^{__CFURL=}^{FSRef=[80C]}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFURLCreateCopyDeletingLastPathComponent": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCreateBundlesFromDirectory": ( - b"^{__CFArray=}^{__CFAllocator=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringFindCharacterFromSet": ( - b"Z^{__CFString=}^{__CFCharacterSet=}{_CFRange=qq}Q^{_CFRange=qq}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CFAttributedStringCreateMutable": ( - b"^{__CFAttributedString=}^{__CFAllocator=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTreeGetContext": (b"v^{__CFTree=}^{_CFTreeContext=q^v^?^?^?}",), - "CFArrayCreateMutable": ( - b"^{__CFArray=}^{__CFAllocator=}q^{_CFArrayCallBacks=q^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFShow": (b"v@",), - "CFFileSecuritySetOwner": (b"Z^{__CFFileSecurity=}I",), - "CFSocketCopyAddress": ( - b"^{__CFData=}^{__CFSocket=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBagGetValues": ( - b"v^{__CFBag=}^@", - "", - {"arguments": {1: {"c_array_of_variable_length": True, "type_modifier": "o"}}}, - ), - "CFFileSecuritySetOwnerUUID": (b"Z^{__CFFileSecurity=}^{__CFUUID=}",), - "CFLocaleCreateCanonicalLocaleIdentifierFromScriptManagerCodes": ( - b"^{__CFString=}^{__CFAllocator=}ss", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDictionaryRemoveValue": (b"v^{__CFDictionary=}@",), - "CFWriteStreamSetClient": ( - b"Z^{__CFWriteStream=}Q^?^{_CFStreamClientContext=q^v^?^?^?}", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFWriteStream=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CFRunLoopSourceIsValid": (b"Z^{__CFRunLoopSource=}",), - "CFCharacterSetIsCharacterMember": (b"Z^{__CFCharacterSet=}T",), - "CFTreeGetChildCount": (b"q^{__CFTree=}",), - "CFURLSetTemporaryResourcePropertyForKey": (b"v^{__CFURL=}^{__CFString=}@",), - "CFConvertDoubleHostToSwapped": (b"{_CFSwappedFloat64=Q}d",), - "CFSetGetValue": (b"@^{__CFSet=}@",), - "CFMessagePortSendRequest": ( - b"i^{__CFMessagePort=}i^{__CFData=}dd^{__CFString=}^^{__CFData=}", - "", - {"arguments": {6: {"type_modifier": "o"}}}, - ), - "CFUUIDGetConstantUUIDWithBytes": ( - b"^{__CFUUID=}^{__CFAllocator=}CCCCCCCCCCCCCCCC", - ), - "CFSocketCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__CFSocket=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFWriteStreamCreateWithBuffer": ( - b"^{__CFWriteStream=}^{__CFAllocator=}^vq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFXMLTreeCreateXMLData": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFTree=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCopyUserName": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCopyAbsoluteURL": ( - b"^{__CFURL=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNumberGetTypeID": (b"Q",), - "CFStringCompareWithOptions": (b"q^{__CFString=}^{__CFString=}{_CFRange=qq}Q",), - "CFWriteStreamGetTypeID": (b"Q",), - "CFSwapInt16": (b"SS",), - "CFDateGetTimeIntervalSinceDate": (b"d^{__CFDate=}^{__CFDate=}",), - "CFAttributedStringGetString": (b"^{__CFString=}^{__CFAttributedString=}",), - "CFURLCopyNetLocation": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringFind": (b"{_CFRange=qq}^{__CFString=}^{__CFString=}Q",), - "CFConvertFloat64HostToSwapped": (b"{_CFSwappedFloat64=Q}d",), - "CFSetReplaceValue": (b"v^{__CFSet=}@",), - "CFURLCreateCopyAppendingPathExtension": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTimeZoneCreate": ( - b"^{__CFTimeZone=}^{__CFAllocator=}^{__CFString=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCopyScheme": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLParserParse": (b"Z^{__CFXMLParser=}",), - "CFRunLoopRemoveTimer": (b"v^{__CFRunLoop=}^{__CFRunLoopTimer=}^{__CFString=}",), - "CFPreferencesAppValueIsForced": (b"Z^{__CFString=}^{__CFString=}",), - "CFSocketCreate": ( - b"^{__CFSocket=}^{__CFAllocator=}iiiQ^?^{_CFSocketContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFSocket=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{__CFData=}"}, - 3: {"type": b"^v"}, - 4: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFNotificationCenterGetTypeID": (b"Q",), - "CFURLCreateStringByReplacingPercentEscapes": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorContainsBit": (b"Z^{__CFBitVector=}{_CFRange=qq}I",), - "CFMachPortCreateWithPort": ( - b"^{__CFMachPort=}^{__CFAllocator=}I^?^{_CFMachPortContext=q^v^?^?^?}^Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFMachPort=}"}, - 1: {"type": b"^v"}, - 2: {"type": b"q"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFPreferencesAppSynchronize": (b"Z^{__CFString=}",), - "CFFileDescriptorGetTypeID": (b"Q",), - "CFBundleCopyBundleLocalizations": ( - b"^{__CFArray=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFFileSecurityCreate": ( - b"^{__CFFileSecurity=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFHash": (b"Q@",), - "CFCharacterSetIntersect": (b"v^{__CFCharacterSet=}^{__CFCharacterSet=}",), - "CFXMLNodeCreateCopy": ( - b"^{__CFXMLNode=}^{__CFAllocator=}^{__CFXMLNode=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFArrayCreate": ( - b"^{__CFArray=}^{__CFAllocator=}^^vq^{_CFArrayCallBacks=q^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBooleanGetValue": (b"Z^{__CFBoolean=}",), - "CFArrayContainsValue": (b"Z^{__CFArray=}{_CFRange=qq}@",), - "CFSwapInt32HostToBig": (b"II",), - "CFURLWriteDataAndPropertiesToResource": ( - b"Z^{__CFURL=}^{__CFData=}^{__CFDictionary=}^i", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFArrayInsertValueAtIndex": (b"v^{__CFArray=}q@",), - "CFDictionaryCreateMutable": ( - b"^{__CFDictionary=}^{__CFAllocator=}q^{_CFDictionaryKeyCallBacks=q^?^?^?^?^?}^{_CFDictionaryValueCallBacks=q^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAllocatorGetTypeID": (b"Q",), - "CFReadStreamRead": ( - b"q^{__CFReadStream=}^vq", - "", - { - "arguments": { - 1: { - "c_array_length_in_result": True, - "type_modifier": "o", - "c_array_length_in_arg": 2, - } - } - }, - ), - "CFDataGetBytes": ( - b"v^{__CFData=}{_CFRange=qq}^v", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CFStringCreateWithCharactersNoCopy": ( - b"^{__CFString=}^{__CFAllocator=}^Tq^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFStringGetLongCharacterForSurrogatePair": (b"ITT",), - "CFSetAddValue": (b"v^{__CFSet=}@",), - "CFFileSecuritySetMode": (b"Z^{__CFFileSecurity=}S",), - "CFURLCreateStringByAddingPercentEscapes": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetIntValue": (b"i^{__CFString=}",), - "CFDictionaryGetCountOfValue": (b"q^{__CFDictionary=}@",), - "CFDataGetMutableBytePtr": ( - b"^v^{__CFData=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CFURLCreateAbsoluteURLWithBytes": ( - b"^{__CFURL=}^{__CFAllocator=}^vqI^{__CFURL=}Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFBundleOpenBundleResourceFiles": ( - b"i^{__CFBundle=}^i^i", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CFRunLoopTimerGetInterval": (b"d^{__CFRunLoopTimer=}",), - "CFFileSecurityGetOwner": ( - b"Z^{__CFFileSecurity=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFCalendarGetIdentifier": (b"^{__CFString=}^{__CFCalendar=}",), - "CFStringCompare": (b"q^{__CFString=}^{__CFString=}Q",), - "CFURLClearResourcePropertyCache": (b"v^{__CFURL=}",), - "CFRunLoopSourceInvalidate": (b"v^{__CFRunLoopSource=}",), - "CFCalendarCreateWithIdentifier": ( - b"^{__CFCalendar=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMachPortGetPort": (b"I^{__CFMachPort=}",), - "CFBinaryHeapRemoveMinimumValue": (b"v^{__CFBinaryHeap=}",), - "CFBagRemoveValue": (b"v^{__CFBag=}@",), - "CFStringReplaceAll": (b"v^{__CFString=}^{__CFString=}",), - "CFArraySetValueAtIndex": (b"v^{__CFArray=}q@",), - "CFBundleCopyExecutableArchitecturesForURL": ( - b"^{__CFArray=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopObserverDoesRepeat": (b"Z^{__CFRunLoopObserver=}",), - "CFDateCompare": (b"q^{__CFDate=}^{__CFDate=}^v",), - "CFGregorianDateIsValid": (b"Z{_CFGregorianDate=iccccd}Q",), - "CFAutorelease": (b"@@",), - "CFRunLoopTimerInvalidate": (b"v^{__CFRunLoopTimer=}",), - "CFDictionaryGetCountOfKey": (b"q^{__CFDictionary=}@",), - "CFStringGetCharacterAtIndex": (b"T^{__CFString=}q",), - "CFStringCreateWithCString": ( - b"^{__CFString=}^{__CFAllocator=}^tI", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFReadStreamCopyError": ( - b"^{__CFError=}^{__CFReadStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUserNotificationCheckBoxChecked": (b"Qq",), - "CFAttributedStringCreate": ( - b"^{__CFAttributedString=}^{__CFAllocator=}^{__CFString=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringFindWithOptions": ( - b"Z^{__CFString=}^{__CFString=}{_CFRange=qq}Q^{_CFRange=qq}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CFSetRemoveAllValues": (b"v^{__CFSet=}",), - "CFArraySortValues": ( - b"v^{__CFArray=}{_CFRange=qq}^?@", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "CFCalendarGetFirstWeekday": (b"q^{__CFCalendar=}",), - "CFStreamCreatePairWithPeerSocketSignature": ( - b"v^{__CFAllocator=}^{_CFSocketSignature=iii^{__CFData=}}^^{__CFReadStream=}^^{__CFWriteStream=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - }, - }, - ), - "CFURLSetResourcePropertiesForKeys": ( - b"Z^{__CFURL=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFXMLParserGetLocation": (b"q^{__CFXMLParser=}",), - "CFStringTokenizerGetCurrentTokenRange": (b"{_CFRange=qq}^{__CFStringTokenizer=}",), - "CFBagContainsValue": (b"Z^{__CFBag=}@",), - "CFUUIDCreateWithBytes": ( - b"^{__CFUUID=}^{__CFAllocator=}CCCCCCCCCCCCCCCC", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFArrayGetCount": (b"q^{__CFArray=}",), - "CFArrayCreateMutableCopy": ( - b"^{__CFArray=}^{__CFAllocator=}q^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSetSetValue": (b"v^{__CFSet=}@",), - "CFSwapInt64HostToBig": (b"QQ",), - "CFCharacterSetUnion": (b"v^{__CFCharacterSet=}^{__CFCharacterSet=}",), - "CFFileSecurityCopyGroupUUID": ( - b"Z^{__CFFileSecurity=}^^{__CFUUID=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CFAttributedStringSetAttribute": ( - b"v^{__CFAttributedString=}{_CFRange=qq}^{__CFString=}@", - ), - "CFReadStreamOpen": (b"Z^{__CFReadStream=}",), - "CFXMLNodeGetVersion": (b"q^{__CFXMLNode=}",), - "CFStringCreateWithBytesNoCopy": ( - b"^{__CFString=}^{__CFAllocator=}^tqIZ^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFBundleGetTypeID": (b"Q",), - "CFURLDestroyResource": ( - b"Z^{__CFURL=}^i", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFBagSetValue": (b"v^{__CFBag=}@",), - "CFURLWriteBookmarkDataToFile": ( - b"Z^{__CFData=}^{__CFURL=}Q^^{__CFError=}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFLocaleCreate": ( - b"^{__CFLocale=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFGetTypeID": (b"Q@",), - "CFURLCopyFragment": ( - b"^{__CFString=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFWriteStreamCreateWithFile": ( - b"^{__CFWriteStream=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAbsoluteTimeGetDifferenceAsGregorianUnits": ( - b"{_CFGregorianUnits=iiiiid}dd^{__CFTimeZone=}Q", - ), - "CFReadStreamCreateWithFile": ( - b"^{__CFReadStream=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCopyLocalizedString": ( - b"^{__CFString=}^{__CFBundle=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFErrorCopyRecoverySuggestion": ( - b"^{__CFString=}^{__CFError=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateBookmarkData": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFURL=}Q^{__CFArray=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFStringCreateWithBytes": ( - b"^{__CFString=}^{__CFAllocator=}^tqIZ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFRunLoopSourceGetOrder": (b"q^{__CFRunLoopSource=}",), - "CFBundleLoadExecutable": (b"Z^{__CFBundle=}",), - "CFStringCreateCopy": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateFilePathURL": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFUserNotificationDisplayNotice": ( - b"idQ^{__CFURL=}^{__CFURL=}^{__CFURL=}^{__CFString=}^{__CFString=}^{__CFString=}", - ), - "CFUserNotificationGetResponseValue": ( - b"^{__CFString=}^{__CFUserNotification=}^{__CFString=}q", - ), - "CFRunLoopContainsTimer": (b"Z^{__CFRunLoop=}^{__CFRunLoopTimer=}^{__CFString=}",), - "CFPreferencesSetValue": ( - b"v^{__CFString=}@^{__CFString=}^{__CFString=}^{__CFString=}", - ), - "CFReadStreamGetStatus": (b"q^{__CFReadStream=}",), - "CFCopyTypeIDDescription": ( - b"^{__CFString=}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFConvertFloatHostToSwapped": (b"{_CFSwappedFloat32=I}f",), - "CFCalendarDecomposeAbsoluteTime": ( - b"Z^{__CFCalendar=}d^c", - "", - {"variadic": True}, - ), - "CFBinaryHeapCreate": ( - b"^{__CFBinaryHeap=}^{__CFAllocator=}q^{_CFBinaryHeapCallBacks=q^?^?^?^?}^{_CFBinaryHeapCompareContext=q^v^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateExternalRepresentation": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFString=}IC", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDateFormatterCreateISO8601Formatter": ( - b"^{__CFDateFormatter=}^{__CFAllocator=}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateWithFormat": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFDictionary=}^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"printf_format": True}}, - "variadic": True, - }, - ), - "CFBundleCopyResourceURLsOfTypeForLocalization": ( - b"^{__CFArray=}^{__CFBundle=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFConvertFloat32HostToSwapped": (b"{_CFSwappedFloat32=I}f",), - "CFRunLoopObserverCreateWithHandler": ( - b"^{__CFRunLoopObserver=}^{__CFAllocator=}QZq@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{__CFRunLoopObserver=}"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFRunLoopObserver=}"}, - 1: {"type": b"Q"}, - }, - }, - } - }, - }, - ), - "CFDataCreate": ( - b"^{__CFData=}^{__CFAllocator=}^vq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFSwapInt16HostToLittle": (b"SS",), - "CFSetCreate": ( - b"^{__CFSet=}^{__CFAllocator=}^^vq^{_CFSetCallBacks=q^?^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFGregorianDateGetAbsoluteTime": (b"d{_CFGregorianDate=iccccd}^{__CFTimeZone=}",), - "CFStringGetListOfAvailableEncodings": ( - b"^I", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CFRunLoopTimerGetContext": ( - b"v^{__CFRunLoopTimer=}^{_CFRunLoopTimerContext=q^v^?^?^?}", - ), - "CFXMLParserAbort": (b"v^{__CFXMLParser=}q^{__CFString=}",), - "CFPropertyListCreateFromXMLData": ( - b"@^{__CFAllocator=}^{__CFData=}Q^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "o"}}, - }, - ), - "CFStringFindAndReplace": ( - b"q^{__CFString=}^{__CFString=}^{__CFString=}{_CFRange=qq}Q", - ), - "CFDictionaryGetTypeID": (b"Q",), - "CFBundleGetDevelopmentRegion": (b"^{__CFString=}^{__CFBundle=}",), - "CFBundleGetMainBundle": (b"^{__CFBundle=}",), - "CFXMLNodeCreate": ( - b"^{__CFXMLNode=}^{__CFAllocator=}q^{__CFString=}^vq", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleUnloadExecutable": (b"v^{__CFBundle=}",), - "CFArrayGetCountOfValue": (b"q^{__CFArray=}{_CFRange=qq}@",), - "CFRunLoopTimerIsValid": (b"Z^{__CFRunLoopTimer=}",), - "CFConvertFloat64SwappedToHost": (b"d{_CFSwappedFloat64=Q}",), - "CFReadStreamHasBytesAvailable": (b"Z^{__CFReadStream=}",), - "CFDataSetLength": (b"v^{__CFData=}q",), - "CFStringTokenizerCreate": ( - b"^{__CFStringTokenizer=}^{__CFAllocator=}^{__CFString=}{_CFRange=qq}Q^{__CFLocale=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMachPortGetTypeID": (b"Q",), - "CFTreeGetChildAtIndex": (b"^{__CFTree=}^{__CFTree=}q",), - "CFSwapInt16BigToHost": (b"SS",), - "CFStringCreateWithCharacters": ( - b"^{__CFString=}^{__CFAllocator=}^Tq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CFUserNotificationCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__CFUserNotification=}^?q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFUserNotification=}"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - }, - "function_pointer_retained": True, - } - }, - }, - ), - "CFStringTrimWhitespace": (b"v^{__CFString=}",), - "CFMessagePortCreateRemote": ( - b"^{__CFMessagePort=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringDelete": (b"v^{__CFString=}{_CFRange=qq}",), - "CFBundleCopyResourceURLInDirectory": ( - b"^{__CFURL=}^{__CFURL=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTreeFindRoot": (b"^{__CFTree=}^{__CFTree=}",), - "CFLocaleCopyDisplayNameForPropertyValue": ( - b"^{__CFString=}^{__CFLocale=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringTokenizerGetTypeID": (b"Q",), - "CFSocketGetSocketFlags": (b"Q^{__CFSocket=}",), - "CFLocaleGetLanguageLineDirection": (b"q^{__CFString=}",), - "CFCopyHomeDirectoryURL": ( - b"^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUUIDCreateFromString": ( - b"^{__CFUUID=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPreferencesCopyApplicationList": ( - b"^{__CFArray=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFErrorCopyUserInfo": ( - b"^{__CFDictionary=}^{__CFError=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFMachPortIsValid": (b"Z^{__CFMachPort=}",), - "CFCalendarComposeAbsoluteTime": (b"Z^{__CFCalendar=}^d^c", "", {"variadic": True}), - "CFReadStreamUnscheduleFromRunLoop": ( - b"v^{__CFReadStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFDictionaryGetValue": (b"@^{__CFDictionary=}@",), - "CFReadStreamCreateWithBytesNoCopy": ( - b"^{__CFReadStream=}^{__CFAllocator=}^vq^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFSwapInt32LittleToHost": (b"II",), - "CFBinaryHeapRemoveAllValues": (b"v^{__CFBinaryHeap=}",), - "CFWriteStreamGetStatus": (b"q^{__CFWriteStream=}",), - "CFURLCreateFileReferenceURL": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFRunLoopObserverGetActivities": (b"Q^{__CFRunLoopObserver=}",), - "CFTimeZoneCreateWithTimeIntervalFromGMT": ( - b"^{__CFTimeZone=}^{__CFAllocator=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPropertyListCreateWithStream": ( - b"@^{__CFAllocator=}^{__CFReadStream=}qQ^q^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: {"type_modifier": "o"}, - 5: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - }, - }, - ), - "CFFileSecurityClearProperties": (b"Z^{__CFFileSecurity=}Q",), - "CFURLCopyResourcePropertyForKey": ( - b"Z^{__CFURL=}^{__CFString=}^@^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"already_cfretained": True, "type_modifier": "o"}, - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - }, - }, - }, - ), - "CFDateFormatterCopyProperty": ( - b"@^{__CFDateFormatter=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSwapInt64LittleToHost": (b"QQ",), - "CFUserNotificationReceiveResponse": ( - b"i^{__CFUserNotification=}d^Q", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFNumberFormatterGetLocale": (b"^{__CFLocale=}^{__CFNumberFormatter=}",), - "CFURLStartAccessingSecurityScopedResource": (b"Z^{__CFURL=}",), - "CFMachPortCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__CFMachPort=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLGetBytes": ( - b"q^{__CFURL=}^Cq", - "", - { - "arguments": { - 1: { - "c_array_length_in_arg": 2, - "c_array_length_in_result": True, - "type_modifier": "o", - } - } - }, - ), - "CFFileDescriptorGetNativeDescriptor": (b"i^{__CFFileDescriptor=}",), - "CFTimeZoneSetAbbreviationDictionary": (b"v^{__CFDictionary=}",), - "CFUserNotificationGetTypeID": (b"Q",), - "CFTimeZoneCopySystem": ( - b"^{__CFTimeZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFShowStr": (b"v^{__CFString=}",), - "CFURLEnumeratorGetTypeID": (b"Q",), - "CFBundleCopyResourceURL": ( - b"^{__CFURL=}^{__CFBundle=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorGetBits": ( - b"v^{__CFBitVector=}{_CFRange=qq}^C", - "", - {"arguments": {2: {"c_array_of_variable_length": True, "type_modifier": "o"}}}, - ), - "CFFileSecuritySetGroup": (b"Z^{__CFFileSecurity=}I",), - "CFNotificationCenterGetLocalCenter": (b"^{__CFNotificationCenter=}",), - "CFTimeZoneGetData": (b"^{__CFData=}^{__CFTimeZone=}",), - "CFArrayReplaceValues": ( - b"v^{__CFArray=}{_CFRange=qq}^@q", - "", - {"arguments": {2: {"c_array_length_in_arg": 3, "type_modifier": "n"}}}, - ), - "CFStringGetCharactersPtr": ( - b"^T^{__CFString=}", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "CFStringTokenizerGoToTokenAtIndex": (b"Q^{__CFStringTokenizer=}q",), - "CFBundleGetIdentifier": (b"^{__CFString=}^{__CFBundle=}",), - "CFTreeApplyFunctionToChildren": ( - b"v^{__CFTree=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CFDataGetTypeID": (b"Q",), - "CFRunLoopAddCommonMode": (b"v^{__CFRunLoop=}^{__CFString=}",), - "CFCalendarSetLocale": (b"v^{__CFCalendar=}^{__CFLocale=}",), - "CFStreamCreatePairWithSocketToHost": ( - b"v^{__CFAllocator=}^{__CFString=}I^^{__CFReadStream=}^^{__CFWriteStream=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "o"}, 4: {"type_modifier": "o"}}, - }, - ), - "CFNumberCreate": ( - b"^{__CFNumber=}^{__CFAllocator=}q^v", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateMutable": ( - b"^{__CFString=}^{__CFAllocator=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetAddCharactersInRange": (b"v^{__CFCharacterSet=}{_CFRange=qq}",), - "CFMessagePortIsRemote": (b"Z^{__CFMessagePort=}",), - "CFURLGetTypeID": (b"Q",), - "CFReadStreamGetError": (b"{_CFStreamError=qi}^{__CFReadStream=}",), - "CFBagCreateMutableCopy": ( - b"^{__CFBag=}^{__CFAllocator=}q^{__CFBag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFWriteStreamCreateWithAllocatedBuffers": ( - b"^{__CFWriteStream=}^{__CFAllocator=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBagGetTypeID": (b"Q",), - "CFCalendarGetTimeRangeOfUnit": ( - b"Z^{__CFCalendar=}Qd^d^d", - "", - {"arguments": {3: {"type_modifier": "o"}, 4: {"type_modifier": "o"}}}, - ), - "CFBundlePreflightExecutable": ( - b"Z^{__CFBundle=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFArrayRemoveAllValues": (b"v^{__CFArray=}",), - "CFStringGetLineBounds": ( - b"v^{__CFString=}{_CFRange=qq}^q^q^q", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CFTimeZoneCopyAbbreviation": ( - b"^{__CFString=}^{__CFTimeZone=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFFileSecurityGetGroup": ( - b"Z^{__CFFileSecurity=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFCharacterSetGetPredefined": (b"^{__CFCharacterSet=}q",), - "CFArrayRemoveValueAtIndex": (b"v^{__CFArray=}q",), - "CFStringGetSmallestEncoding": (b"I^{__CFString=}",), - "CFTreeAppendChild": (b"v^{__CFTree=}^{__CFTree=}",), - "CFURLCreatePropertyFromResource": ( - b"@^{__CFAllocator=}^{__CFURL=}^{__CFString=}^i", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "o"}}, - }, - ), - "CFURLCopyHostName": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAbsoluteTimeGetDayOfWeek": (b"id^{__CFTimeZone=}",), - "CFSwapInt64HostToLittle": (b"QQ",), - "CFArrayExchangeValuesAtIndices": (b"v^{__CFArray=}qq",), - "CFTimeZoneGetTypeID": (b"Q",), - "CFRunLoopObserverCreate": ( - b"^{__CFRunLoopObserver=}^{__CFAllocator=}QZq^?^{_CFRunLoopObserverContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFRunLoopObserver=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFRunLoopTimerGetTolerance": (b"d^{__CFRunLoopTimer=}",), - "CFBinaryHeapCreateCopy": ( - b"^{__CFBinaryHeap=}^{__CFAllocator=}q^{__CFBinaryHeap=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateFromExternalRepresentation": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFData=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTimeZoneResetSystem": (b"v",), - "CFStringNormalize": (b"v^{__CFString=}q",), - "CFRunLoopContainsSource": ( - b"Z^{__CFRunLoop=}^{__CFRunLoopSource=}^{__CFString=}", - ), - "CFLocaleCreateCanonicalLanguageIdentifierFromString": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopGetTypeID": (b"Q",), - "CFDictionaryApplyFunction": ( - b"v^{__CFDictionary=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "CFLocaleGetLanguageCharacterDirection": (b"q^{__CFString=}",), - "CFStringCreateArrayWithFindResults": ( - b"^{__CFArray=}^{__CFAllocator=}^{__CFString=}^{__CFString=}{_CFRange=qq}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFArrayGetTypeID": (b"Q",), - "CFNumberFormatterSetFormat": (b"v^{__CFNumberFormatter=}^{__CFString=}",), - "CFStreamCreatePairWithSocket": ( - b"v^{__CFAllocator=}i^^{__CFReadStream=}^^{__CFWriteStream=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}, 3: {"type_modifier": "o"}}, - }, - ), - "CFBitVectorCreateMutableCopy": ( - b"^{__CFBitVector=}^{__CFAllocator=}q^{__CFBitVector=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPreferencesGetAppBooleanValue": ( - b"Z^{__CFString=}^{__CFString=}^Z", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFSocketSetAddress": (b"q^{__CFSocket=}^{__CFData=}",), - "CFRunLoopCopyAllModes": ( - b"^{__CFArray=}^{__CFRunLoop=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateStringByReplacingPercentEscapesUsingEncoding": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopRun": (b"v",), - "CFPreferencesGetAppIntegerValue": ( - b"q^{__CFString=}^{__CFString=}^Z", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CFMessagePortSetName": (b"Z^{__CFMessagePort=}^{__CFString=}",), - "CFDateFormatterCreate": ( - b"^{__CFDateFormatter=}^{__CFAllocator=}^{__CFLocale=}qq", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUUIDCreateString": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFUUID=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNumberFormatterCreate": ( - b"^{__CFNumberFormatter=}^{__CFAllocator=}^{__CFLocale=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLParserGetStatusCode": (b"q^{__CFXMLParser=}",), - "CFCalendarGetMinimumRangeOfUnit": (b"{_CFRange=qq}^{__CFCalendar=}Q",), - "CFBitVectorCreateCopy": ( - b"^{__CFBitVector=}^{__CFAllocator=}^{__CFBitVector=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFTimeZoneGetSecondsFromGMT": (b"d^{__CFTimeZone=}d",), - "CFRunLoopTimerDoesRepeat": (b"Z^{__CFRunLoopTimer=}",), - "CFCharacterSetCreateInvertedSet": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}^{__CFCharacterSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetParagraphBounds": ( - b"v^{__CFString=}{_CFRange=qq}^q^q^q", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CFStringGetSystemEncoding": (b"I",), - "CFBundleCopyResourceURLsOfTypeInDirectory": ( - b"^{__CFArray=}^{__CFURL=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringCreateMutableCopy": ( - b"^{__CFAttributedString=}^{__CFAllocator=}q^{__CFAttributedString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringTokenizerGetCurrentSubTokens": ( - b"q^{__CFStringTokenizer=}^{_CFRange=qq}q^{__CFArray=}", - "", - { - "arguments": { - 1: { - "c_array_length_in_result": True, - "c_array_length_in_arg": 2, - "type_modifier": "o", - } - } - }, - ), - "CFBundleCopyBundleURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLNodeGetInfoPtr": (b"^v^{__CFXMLNode=}",), - "CFSocketCreateConnectedToSocketSignature": ( - b"^{__CFSocket=}^{__CFAllocator=}^{_CFSocketSignature=iii^{__CFData=}}Q^?^{_CFSocketContext=q^v^?^?^?}d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFSocket=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{__CFData=}"}, - 3: {"type": b"^v"}, - 4: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFURLCreateDataAndPropertiesFromResource": ( - b"Z^{__CFAllocator=}^{__CFURL=}^^{__CFData=}^^{__CFDictionary=}^{__CFArray=}^i", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 5: {"type_modifier": "o"}, - }, - }, - ), - "CFAbsoluteTimeGetWeekOfYear": (b"id^{__CFTimeZone=}",), - "CFDateFormatterSetProperty": (b"v^{__CFDateFormatter=}^{__CFString=}@",), - "CFTreeGetTypeID": (b"Q",), - "CFRunLoopStop": (b"v^{__CFRunLoop=}",), - "CFNotificationCenterPostNotification": ( - b"v^{__CFNotificationCenter=}^{__CFString=}@^{__CFDictionary=}Z", - ), - "CFXMLTreeCreateFromData": ( - b"^{__CFTree=}^{__CFAllocator=}^{__CFData=}^{__CFURL=}Qq", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCopyBuiltInPlugInsURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLTreeCreateWithDataFromURL": ( - b"^{__CFTree=}^{__CFAllocator=}^{__CFURL=}Qq", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFLocaleCreateComponentsFromLocaleIdentifier": ( - b"^{__CFDictionary=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPropertyListIsValid": (b"Z@q",), - "CFNumberFormatterGetDecimalInfoForCurrencyCode": ( - b"Z^{__CFString=}^i^d", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CFSocketEnableCallBacks": (b"v^{__CFSocket=}Q",), - "CFSetCreateCopy": ( - b"^{__CFSet=}^{__CFAllocator=}^{__CFSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFSwapInt64BigToHost": (b"QQ",), - "CFReadStreamGetTypeID": (b"Q",), - "CFFileDescriptorCreate": ( - b"^{__CFFileDescriptor=}^{__CFAllocator=}iZ^?^{_CFFileDescriptorContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFFileDescriptor=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFBagCreateMutable": ( - b"^{__CFBag=}^{__CFAllocator=}q^{_CFBagCallBacks=q^?^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLCreateWithString": ( - b"^{__CFURL=}^{__CFAllocator=}^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDictionaryAddValue": (b"v^{__CFDictionary=}@@",), - "CFFileSecurityCreateCopy": ( - b"^{__CFFileSecurity=}^{__CFAllocator=}^{__CFFileSecurity=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetRemoveCharactersInString": (b"v^{__CFCharacterSet=}^{__CFString=}",), - "CFRunLoopRemoveObserver": ( - b"v^{__CFRunLoop=}^{__CFRunLoopObserver=}^{__CFString=}", - ), - "CFAttributedStringGetMutableString": (b"^{__CFString=}^{__CFAttributedString=}",), - "CFDictionaryCreate": ( - b"^{__CFDictionary=}^{__CFAllocator=}^^v^^vq^{_CFDictionaryKeyCallBacks=q^?^?^?^?^?}^{_CFDictionaryValueCallBacks=q^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFNumberGetByteSize": (b"q^{__CFNumber=}",), - "CFXMLParserCopyErrorDescription": ( - b"^{__CFString=}^{__CFXMLParser=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetCreateWithBitmapRepresentation": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleGetValueForInfoDictionaryKey": (b"@^{__CFBundle=}^{__CFString=}",), - "CFXMLParserGetCallBacks": ( - b"v^{__CFXMLParser=}^{_CFXMLParserCallBacks=q^?^?^?^?^?}", - ), - "CFWriteStreamUnscheduleFromRunLoop": ( - b"v^{__CFWriteStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "CFAttributedStringCreateCopy": ( - b"^{__CFAttributedString=}^{__CFAllocator=}^{__CFAttributedString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorSetBitAtIndex": (b"v^{__CFBitVector=}qI",), - "CFReadStreamSetDispatchQueue": (b"v^{__CFReadStream=}@",), - "CFMessagePortSetDispatchQueue": (b"v^{__CFMessagePort=}@",), - "CFStringGetNameOfEncoding": (b"^{__CFString=}I",), - "CFBitVectorSetAllBits": (b"v^{__CFBitVector=}I",), - "CFSocketGetContext": (b"v^{__CFSocket=}^{_CFSocketContext=q^v^?^?^?}",), - "CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier": (b"I^{__CFString=}",), - "CFXMLParserGetLineNumber": (b"q^{__CFXMLParser=}",), - "CFTimeZoneGetDaylightSavingTimeOffset": (b"d^{__CFTimeZone=}d",), - "CFPreferencesAddSuitePreferencesToApp": (b"v^{__CFString=}^{__CFString=}",), - "CFURLGetFileSystemRepresentation": ( - b"Z^{__CFURL=}Z^tq", - "", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type_modifier": "o", - "c_array_length_in_arg": 3, - } - } - }, - ), - "CFSetApplyFunction": ( - b"v^{__CFSet=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CFStringCapitalize": (b"v^{__CFString=}^{__CFLocale=}",), - "CFBinaryHeapGetMinimumIfPresent": ( - b"Z^{__CFBinaryHeap=}^@", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CFURLCopyPathExtension": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFLocaleCopyISOCountryCodes": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFLocaleCreateCopy": ( - b"^{__CFLocale=}^{__CFAllocator=}^{__CFLocale=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFURLEnumeratorSkipDescendents": (b"v^{__CFURLEnumerator=}",), - "CFBinaryHeapAddValue": (b"v^{__CFBinaryHeap=}@",), - "CFBinaryHeapGetValues": (b"v^{__CFBinaryHeap=}^^v",), - "CFDateFormatterGetAbsoluteTimeFromString": ( - b"Z^{__CFDateFormatter=}^{__CFString=}^{_CFRange=qq}^d", - "", - {"arguments": {2: {"type_modifier": "N"}, 3: {"type_modifier": "o"}}}, - ), - "CFBundleIsArchitectureLoadable": (b"Zi",), - "CFTreeSortChildren": ( - b"v^{__CFTree=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "CFURLCopyResourcePropertiesForKeys": ( - b"^{__CFDictionary=}^{__CFURL=}^{__CFArray=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CFNumberCompare": (b"q^{__CFNumber=}^{__CFNumber=}^v",), - "CFURLHasDirectoryPath": (b"Z^{__CFURL=}",), - "CFSwapInt16HostToBig": (b"SS",), - "CFXMLCreateStringByEscapingEntities": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPreferencesSetMultiple": ( - b"v^{__CFDictionary=}^{__CFArray=}^{__CFString=}^{__CFString=}^{__CFString=}", - ), - "CFBagGetValue": (b"@^{__CFBag=}@",), - "CFBundleGetBundleWithIdentifier": (b"^{__CFBundle=}^{__CFString=}",), - "CFMakeCollectable": (b"@@",), - "CFSetGetTypeID": (b"Q",), - "CFStringAppendFormat": ( - b"v^{__CFString=}^{__CFDictionary=}^{__CFString=}", - "", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ), - "CFNumberGetValue": (b"Z^{__CFNumber=}q^v",), - "CFStringTokenizerSetString": ( - b"v^{__CFStringTokenizer=}^{__CFString=}{_CFRange=qq}", - ), - "CFRunLoopGetMain": (b"^{__CFRunLoop=}",), - "CFDictionaryRemoveAllValues": (b"v^{__CFDictionary=}",), - "CFPropertyListCreateDeepCopy": ( - b"@^{__CFAllocator=}@Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFUUIDGetTypeID": (b"Q",), - "CFNotificationCenterPostNotificationWithOptions": ( - b"v^{__CFNotificationCenter=}^{__CFString=}@^{__CFDictionary=}Q", - ), - "CFStringLowercase": (b"v^{__CFString=}^{__CFLocale=}",), - "CFCalendarSetMinimumDaysInFirstWeek": (b"v^{__CFCalendar=}q",), - "CFRetain": (b"@@",), - "CFStringGetCharacters": ( - b"v^{__CFString=}{_CFRange=qq}^T", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CFTimeZoneGetName": (b"^{__CFString=}^{__CFTimeZone=}",), - "CFURLCopyStrictPath": ( - b"^{__CFString=}^{__CFURL=}^Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CFBundleIsExecutableLoaded": (b"Z^{__CFBundle=}",), - "CFArrayAppendArray": (b"v^{__CFArray=}^{__CFArray=}{_CFRange=qq}",), - "CFNumberFormatterGetTypeID": (b"Q",), - "CFDateGetTypeID": (b"Q",), - "CFPreferencesCopyMultiple": ( - b"^{__CFDictionary=}^{__CFArray=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetTypeID": (b"Q",), - "CFBinaryHeapGetTypeID": (b"Q",), - "CFTimeZoneCopyLocalizedName": ( - b"^{__CFString=}^{__CFTimeZone=}q^{__CFLocale=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCalendarCopyLocale": ( - b"^{__CFLocale=}^{__CFCalendar=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFFileDescriptorDisableCallBacks": (b"v^{__CFFileDescriptor=}Q",), - "CFBundleLoadExecutableAndReturnError": ( - b"Z^{__CFBundle=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CFNumberFormatterCreateNumberFromString": ( - b"^{__CFNumber=}^{__CFAllocator=}^{__CFNumberFormatter=}^{__CFString=}^{_CFRange=qq}Q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "N"}}, - }, - ), - "CFAttributedStringGetAttribute": ( - b"@^{__CFAttributedString=}q^{__CFString=}^{_CFRange=qq}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFURLCopyLastPathComponent": ( - b"^{__CFString=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleCopyResourcesDirectoryURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopGetCurrent": (b"^{__CFRunLoop=}",), - "CFDateFormatterCreateDateFromString": ( - b"^{__CFDate=}^{__CFAllocator=}^{__CFDateFormatter=}^{__CFString=}^{_CFRange=qq}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "N"}}, - }, - ), - "CFURLEnumeratorGetDescendentLevel": (b"q^{__CFURLEnumerator=}",), - "CFStringGetSurrogatePairForLongCharacter": ( - b"ZI^T", - "", - {"arguments": {1: {"c_array_of_fixed_length": 2, "type_modifier": "o"}}}, - ), - "CFBagApplyFunction": ( - b"v^{__CFBag=}^?@", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CFBundleCopySharedSupportURL": ( - b"^{__CFURL=}^{__CFBundle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFCharacterSetCreateWithCharactersInString": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorGetTypeID": (b"Q",), - "CFPreferencesCopyKeyList": ( - b"^{__CFArray=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDateFormatterGetTypeID": (b"Q",), - "CFRunLoopSourceGetContext": ( - b"v^{__CFRunLoopSource=}^{_CFRunLoopSourceContext=q^v^?^?^?^?^?^?^?^?}", - ), - "CFBundleGetAllBundles": (b"^{__CFArray=}",), - "CFFileSecuritySetGroupUUID": (b"Z^{__CFFileSecurity=}^{__CFUUID=}",), - "CFCharacterSetCreateMutableCopy": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}^{__CFCharacterSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringGetRangeOfComposedCharactersAtIndex": (b"{_CFRange=qq}^{__CFString=}q",), - "CFAttributedStringBeginEditing": (b"v^{__CFAttributedString=}",), - "CFNumberFormatterGetFormat": (b"^{__CFString=}^{__CFNumberFormatter=}",), - "CFErrorGetTypeID": (b"Q",), - "CFURLCopyParameterString": ( - b"^{__CFString=}^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFAttributedStringGetAttributesAndLongestEffectiveRange": ( - b"^{__CFDictionary=}^{__CFAttributedString=}q{_CFRange=qq}^{_CFRange=qq}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CFXMLParserGetContext": (b"v^{__CFXMLParser=}^{_CFXMLParserContext=q^v^?^?^?}",), - "CFCopyDescription": ( - b"^{__CFString=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFDataDeleteBytes": (b"v^{__CFData=}{_CFRange=qq}",), - "CFWriteStreamGetError": (b"{_CFStreamError=qi}^{__CFWriteStream=}",), - "CFURLCreateResourcePropertiesForKeysFromBookmarkData": ( - b"^{__CFDictionary=}^{__CFAllocator=}^{__CFArray=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBitVectorGetFirstIndexOfBit": (b"q^{__CFBitVector=}{_CFRange=qq}I",), - "CFCharacterSetCreateCopy": ( - b"^{__CFCharacterSet=}^{__CFAllocator=}^{__CFCharacterSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFStringCreateMutableWithExternalCharactersNoCopy": ( - b"^{__CFString=}^{__CFAllocator=}^Tqq^{__CFAllocator=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "CFRunLoopCopyCurrentMode": ( - b"^{__CFString=}^{__CFRunLoop=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFBundleGetPackageInfo": ( - b"v^{__CFBundle=}^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CFCalendarSetFirstWeekday": (b"v^{__CFCalendar=}q",), - "CFStringGetFastestEncoding": (b"I^{__CFString=}",), - "CFSocketIsValid": (b"Z^{__CFSocket=}",), - "CFTreeGetChildren": ( - b"v^{__CFTree=}^^{__CFTree=}", - "", - {"arguments": {1: {"c_array_of_variable_length": True, "type_modifier": "o"}}}, - ), - "CFBundleGetLocalInfoDictionary": (b"^{__CFDictionary=}^{__CFBundle=}",), - "CFArrayBSearchValues": ( - b"q^{__CFArray=}{_CFRange=qq}@^?@", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "CFTreeGetNextSibling": (b"^{__CFTree=}^{__CFTree=}",), - "CFMessagePortGetTypeID": (b"Q",), - "CFBagGetCount": (b"q^{__CFBag=}",), - "CFBagRemoveAllValues": (b"v^{__CFBag=}",), - "CFCharacterSetCreateBitmapRepresentation": ( - b"^{__CFData=}^{__CFAllocator=}^{__CFCharacterSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLParserGetDocument": (b"^v^{__CFXMLParser=}",), - "CFXMLNodeGetTypeCode": (b"q^{__CFXMLNode=}",), - "CFArrayGetValues": ( - b"v^{__CFArray=}{_CFRange=qq}^@", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CFCharacterSetIsSupersetOfSet": (b"Z^{__CFCharacterSet=}^{__CFCharacterSet=}",), - "CFRunLoopObserverGetTypeID": (b"Q",), - "CFAbsoluteTimeGetGregorianDate": (b"{_CFGregorianDate=iccccd}d^{__CFTimeZone=}",), - "CFNotificationCenterRemoveObserver": ( - b"v^{__CFNotificationCenter=}@^{__CFString=}@", - ), - "CFCalendarSetTimeZone": (b"v^{__CFCalendar=}^{__CFTimeZone=}",), - "CFSetCreateMutableCopy": ( - b"^{__CFSet=}^{__CFAllocator=}q^{__CFSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLTreeCreateWithNode": ( - b"^{__CFTree=}^{__CFAllocator=}^{__CFXMLNode=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFRunLoopTimerGetOrder": (b"q^{__CFRunLoopTimer=}",), - "CFTreeCreate": ( - b"^{__CFTree=}^{__CFAllocator=}^{_CFTreeContext=q^v^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFPreferencesCopyAppValue": ( - b"@^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CFXMLNodeGetString": (b"^{__CFString=}^{__CFXMLNode=}",), - "CFSocketCreateWithSocketSignature": ( - b"^{__CFSocket=}^{__CFAllocator=}^{_CFSocketSignature=iii^{__CFData=}}Q^?^{_CFSocketContext=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__CFSocket=}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{__CFData=}"}, - 3: {"type": b"^v"}, - 4: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CFURLEnumeratorCreateForDirectoryURL": ( - b"^{__CFURLEnumerator=}^{__CFAllocator=}^{__CFURL=}Q^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "CFDateFormatterKey": "CFStringRef", - "CFNumberFormatterKey": "CFStringRef", - "CF_TYPED_EXTENSIBLE_ENUM": "_CF_TYPED_EXTENSIBLE_ENUM", - "CF_EXTENSIBLE_STRING_ENUM": "_CF_TYPED_EXTENSIBLE_ENUM", - "CF_STRING_ENUM": "_CF_TYPED_ENUM", - "CFErrorDomain": "CFStringRef", - "CF_TYPED_ENUM": "_CF_TYPED_ENUM", - "CFRunLoopMode": "CFStringRef", - "kCFBookmarkResolutionWithoutMountingMask": "kCFURLBookmarkResolutionWithoutMountingMask", - "kCFBookmarkResolutionWithoutUIMask": "kCFURLBookmarkResolutionWithoutUIMask", - "CFCalendarIdentifier": "CFStringRef", - "kCFFileSecurityRemoveACL": "_FILESEC_REMOVE_ACL", - "CFXMLTreeRef": "CFTreeRef", - "CFStreamPropertyKey": "CFStringRef", - "CFLocaleKey": "CFStringRef", - "CFNotificationName": "CFStringRef", - "CFLocaleIdentifier": "CFStringRef", -} -cftypes = [ - ("CFAllocatorRef", b"^{__CFAllocator=}", "CFAllocatorGetTypeID", None), - ("CFArrayRef", b"^{__CFArray=}", "CFArrayGetTypeID", "NSArray"), - ( - "CFAttributedStringRef", - b"^{__CFAttributedString=}", - "CFAttributedStringGetTypeID", - "__NSCFAttributedString,NSCFAttributedString", - ), - ("CFBagRef", b"^{__CFBag=}", "CFBagGetTypeID", None), - ("CFBinaryHeapRef", b"^{__CFBinaryHeap=}", "CFBinaryHeapGetTypeID", None), - ("CFBitVectorRef", b"^{__CFBitVector=}", "CFBitVectorGetTypeID", None), - ( - "CFBooleanRef", - b"^{__CFBoolean=}", - "CFBooleanGetTypeID", - "__NSCFBoolean,NSCFBoolean", - ), - ("CFBundleRef", b"^{__CFBundle=}", "CFBundleGetTypeID", None), - ( - "CFCalendarRef", - b"^{__CFCalendar=}", - "CFCalendarGetTypeID", - "__NSCFCalendar,NSCFCalendar", - ), - ( - "CFCharacterSetRef", - b"^{__CFCharacterSet=}", - "CFCharacterSetGetTypeID", - "__NSCFCharacterSet,NSCFCharacterSet", - ), - ("CFDataRef", b"^{__CFData=}", "CFDataGetTypeID", "__NSCFData,NSCFData"), - ("CFDateFormatterRef", b"^{__CFDateFormatter=}", "CFDateFormatterGetTypeID", None), - ("CFDateRef", b"^{__CFDate=}", "CFDateGetTypeID", "__NSCFDate,NSCFDate,__NSDate"), - ("CFDictionaryRef", b"^{__CFDictionary=}", "CFDictionaryGetTypeID", "NSDictionary"), - ("CFErrorRef", b"^{__CFError=}", "CFErrorGetTypeID", "__NSCFError,NSCFError"), - ( - "CFFileDescriptorRef", - b"^{__CFFileDescriptor=}", - "CFFileDescriptorGetTypeID", - None, - ), - ( - "CFFileSecurityRef", - b"^{__CFFileSecurity=}", - "CFFileSecurityGetTypeID", - "__NSFileSecurity", - ), - ("CFLocaleRef", b"^{__CFLocale=}", "CFLocaleGetTypeID", "__NSCFLocale,NSCFLocale"), - ("CFMachPortRef", b"^{__CFMachPort=}", "CFMachPortGetTypeID", "NSMachPort"), - ("CFMessagePortRef", b"^{__CFMessagePort=}", "CFMessagePortGetTypeID", None), - ("CFMutableArrayRef", b"^{__CFArray=}", "CFArrayGetTypeID", "NSMutableArray"), - ( - "CFMutableAttributedStringRef", - b"^{__CFAttributedString=}", - "CFAttributedStringGetTypeID", - "__NSCFAttributedString,NSCFAttributedString", - ), - ("CFMutableBagRef", b"^{__CFBag=}", "CFBagGetTypeID", None), - ("CFMutableBitVectorRef", b"^{__CFBitVector=}", "CFBitVectorGetTypeID", None), - ( - "CFMutableCharacterSetRef", - b"^{__CFCharacterSet=}", - "CFCharacterSetGetTypeID", - None, - ), - ("CFMutableDataRef", b"^{__CFData=}", "CFDataGetTypeID", "NSMutableData"), - ( - "CFMutableDictionaryRef", - b"^{__CFDictionary=}", - "CFDictionaryGetTypeID", - "NSMutableDictionary", - ), - ("CFMutableSetRef", b"^{__CFSet=}", "CFSetGetTypeID", "NSMutableSet"), - ("CFMutableStringRef", b"@", "CFStringGetTypeID", None), - ( - "CFNotificationCenterRef", - b"^{__CFNotificationCenter=}", - "CFNotificationCenterGetTypeID", - None, - ), - ("CFNullRef", b"^{__CFNull=}", "CFNullGetTypeID", "NSNull"), - ( - "CFNumberFormatterRef", - b"^{__CFNumberFormatter=}", - "CFNumberFormatterGetTypeID", - None, - ), - ("CFNumberRef", b"^{__CFNumber=}", "CFNumberGetTypeID", "__NSCFNumber,NSCFNumber"), - ( - "CFPlugInInstanceRef", - b"^{__CFPlugInInstance=}", - "CFPlugInInstanceGetTypeID", - None, - ), - ( - "CFReadStreamRef", - b"^{__CFReadStream=}", - "CFReadStreamGetTypeID", - "__NSCFInputStream,NSCFInputStream", - ), - ( - "CFRunLoopObserverRef", - b"^{__CFRunLoopObserver=}", - "CFRunLoopObserverGetTypeID", - None, - ), - ("CFRunLoopRef", b"^{__CFRunLoop=}", "CFRunLoopGetTypeID", None), - ("CFRunLoopSourceRef", b"^{__CFRunLoopSource=}", "CFRunLoopSourceGetTypeID", None), - ( - "CFRunLoopTimerRef", - b"^{__CFRunLoopTimer=}", - "CFRunLoopTimerGetTypeID", - "__NSCFTimer,NSCFTimer", - ), - ("CFSetRef", b"^{__CFSet=}", "CFSetGetTypeID", "NSSet"), - ("CFSocketRef", b"^{__CFSocket=}", "CFSocketGetTypeID", None), - ("CFStringRef", b"^{__CFString=}", "CFStringGetTypeID", "NSString"), - ( - "CFStringTokenizerRef", - b"^{__CFStringTokenizer=}", - "CFStringTokenizerGetTypeID", - None, - ), - ("CFTimeZoneRef", b"^{__CFTimeZone=}", "CFTimeZoneGetTypeID", "NSTimeZone"), - ("CFTreeRef", b"^{__CFTree=}", "CFTreeGetTypeID", None), - ("CFURLEnumeratorRef", b"^{__CFURLEnumerator=}", "CFURLEnumeratorGetTypeID", None), - ("CFURLRef", b"^{__CFURL=}", "CFURLGetTypeID", "NSURL"), - ("CFUUIDRef", b"^{__CFUUID=}", "CFUUIDGetTypeID", None), - ( - "CFUserNotificationRef", - b"^{__CFUserNotification=}", - "CFUserNotificationGetTypeID", - None, - ), - ( - "CFWriteStreamRef", - b"^{__CFWriteStream=}", - "CFWriteStreamGetTypeID", - "__NSCFOutputStream,NSCFOutputStream", - ), - ("CFXMLNodeRef", b"^{__CFXMLNode=}", "CFXMLNodeGetTypeID", None), - ("CFXMLParserRef", b"^{__CFXMLParser=}", "CFXMLParserGetTypeID", None), -] -expressions = { - "kCFISO8601DateFormatWithFullTime": "kCFISO8601DateFormatWithTime | kCFISO8601DateFormatWithColonSeparatorInTime | kCFISO8601DateFormatWithTimeZone | kCFISO8601DateFormatWithColonSeparatorInTimeZone", - "kCFISO8601DateFormatWithFullDate": "kCFISO8601DateFormatWithYear | kCFISO8601DateFormatWithMonth | kCFISO8601DateFormatWithDay | kCFISO8601DateFormatWithDashSeparatorInDate", - "kCFISO8601DateFormatWithInternetDateTime": "kCFISO8601DateFormatWithFullDate | kCFISO8601DateFormatWithFullTime", -} - -# END OF FILE diff --git a/src/lib/CoreFoundation/_static.py b/src/lib/CoreFoundation/_static.py deleted file mode 100644 index b600526..0000000 --- a/src/lib/CoreFoundation/_static.py +++ /dev/null @@ -1,107 +0,0 @@ -import CoreFoundation as _CF -import objc as _objc - - -# -# 'Emulation' for CFArray constructors -# -def _setup(): - NSArray = _objc.lookUpClass("NSArray") - NSMutableArray = _objc.lookUpClass("NSMutableArray") - - def CFArrayCreate(allocator, values, numvalues, callbacks): - assert callbacks is None - return NSArray.alloc().initWithArray_(values[:numvalues]) - - def CFArrayCreateMutable(allocator, capacity, callbacks): - assert callbacks is None - return NSMutableArray.alloc().init() - - return CFArrayCreate, CFArrayCreateMutable - - -CFArrayCreate, CFArrayCreateMutable = _setup() - -# CFDictionary emulation functions - - -def _setup(): - NSDictionary = _objc.lookUpClass("NSDictionary") - NSMutableDictionary = _objc.lookUpClass("NSMutableDictionary") - - def CFDictionaryCreate( - allocator, keys, values, numValues, keyCallbacks, valueCallbacks - ): - assert keyCallbacks is None - assert valueCallbacks is None - - keys = list(keys)[:numValues] - values = list(values)[:numValues] - - return NSDictionary.dictionaryWithDictionary_(dict(zip(keys, values))) - - def CFDictionaryCreateMutable(allocator, capacity, keyCallbacks, valueCallbacks): - assert keyCallbacks is None - assert valueCallbacks is None - - return NSMutableDictionary.dictionary() - - return CFDictionaryCreate, CFDictionaryCreateMutable - - -CFDictionaryCreate, CFDictionaryCreateMutable = _setup() - - -# CFSet emulation functions - - -def _setup(): - NSSet = _objc.lookUpClass("NSSet") - NSMutableSet = _objc.lookUpClass("NSMutableSet") - - def CFSetCreate(allocator, values, numvalues, callbacks): - assert callbacks is None - return NSSet.alloc().initWithArray_(values[:numvalues]) - - def CFSetCreateMutable(allocator, capacity, callbacks): - assert callbacks is None - return NSMutableSet.alloc().init() - - return CFSetCreate, CFSetCreateMutable - - -CFSetCreate, CFSetCreateMutable = _setup() - -kCFTypeArrayCallBacks = None -kCFTypeDictionaryKeyCallBacks = None -kCFTypeDictionaryValueCallBacks = None -kCFTypeSetCallBacks = None - - -# -# Implementation of a number of macro's in the CFBundle API -# - - -def CFCopyLocalizedString(key, comment): - return _CF.CFBundleCopyLocalizedString( - _CF.CFBundleGetMainBundle(), (key), (key), None - ) - - -def CFCopyLocalizedStringFromTable(key, tbl, comment): - return _CF.CFBundleCopyLocalizedString( - _CF.CFBundleGetMainBundle(), (key), (key), (tbl) - ) - - -def CFCopyLocalizedStringFromTableInBundle(key, tbl, bundle, comment): - return _CF.CFBundleCopyLocalizedString((bundle), (key), (key), (tbl)) - - -def CFCopyLocalizedStringWithDefaultValue(key, tbl, bundle, value, comment): - return _CF.CFBundleCopyLocalizedString((bundle), (key), (value), (tbl)) - - -def CFSTR(strval): - return _objc.lookUpClass("NSString").stringWithString_(strval) diff --git a/src/lib/CoreHaptics/__init__.py b/src/lib/CoreHaptics/__init__.py deleted file mode 100644 index 0b4352b..0000000 --- a/src/lib/CoreHaptics/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the CoreHaptics framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreHaptics import _metadata - -sys.modules["CoreHaptics"] = mod = objc.ObjCLazyModule( - "CoreHaptics", - "com.apple.CoreHaptics", - objc.pathForFramework("/System/Library/Frameworks/CoreHaptics.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CoreHaptics._metadata"] diff --git a/src/lib/CoreHaptics/_metadata.py b/src/lib/CoreHaptics/_metadata.py deleted file mode 100644 index 20d92a7..0000000 --- a/src/lib/CoreHaptics/_metadata.py +++ /dev/null @@ -1,387 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:26:25 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CHHapticAudioResourceKeyUseVolumeEnvelope$CHHapticDynamicParameterIDAudioAttackTimeControl$CHHapticDynamicParameterIDAudioBrightnessControl$CHHapticDynamicParameterIDAudioDecayTimeControl$CHHapticDynamicParameterIDAudioPanControl$CHHapticDynamicParameterIDAudioPitchControl$CHHapticDynamicParameterIDAudioReleaseTimeControl$CHHapticDynamicParameterIDAudioVolumeControl$CHHapticDynamicParameterIDHapticAttackTimeControl$CHHapticDynamicParameterIDHapticDecayTimeControl$CHHapticDynamicParameterIDHapticIntensityControl$CHHapticDynamicParameterIDHapticReleaseTimeControl$CHHapticDynamicParameterIDHapticSharpnessControl$CHHapticEventParameterIDAttackTime$CHHapticEventParameterIDAudioBrightness$CHHapticEventParameterIDAudioPan$CHHapticEventParameterIDAudioPitch$CHHapticEventParameterIDAudioVolume$CHHapticEventParameterIDDecayTime$CHHapticEventParameterIDHapticIntensity$CHHapticEventParameterIDHapticSharpness$CHHapticEventParameterIDReleaseTime$CHHapticEventParameterIDSustained$CHHapticEventTypeAudioContinuous$CHHapticEventTypeAudioCustom$CHHapticEventTypeHapticContinuous$CHHapticEventTypeHapticTransient$CHHapticPatternKeyEvent$CHHapticPatternKeyEventDuration$CHHapticPatternKeyEventParameters$CHHapticPatternKeyEventType$CHHapticPatternKeyEventWaveformPath$CHHapticPatternKeyEventWaveformUseVolumeEnvelope$CHHapticPatternKeyParameter$CHHapticPatternKeyParameterCurve$CHHapticPatternKeyParameterCurveControlPoints$CHHapticPatternKeyParameterID$CHHapticPatternKeyParameterValue$CHHapticPatternKeyPattern$CHHapticPatternKeyTime$CHHapticPatternKeyVersion$""" -enums = """$CHHapticEngineFinishedActionLeaveEngineRunning@2$CHHapticEngineFinishedActionStopEngine@1$CHHapticEngineStoppedReasonApplicationSuspended@2$CHHapticEngineStoppedReasonAudioSessionInterrupt@1$CHHapticEngineStoppedReasonEngineDestroyed@5$CHHapticEngineStoppedReasonGameControllerDisconnect@6$CHHapticEngineStoppedReasonIdleTimeout@3$CHHapticEngineStoppedReasonNotifyWhenFinished@4$CHHapticEngineStoppedReasonSystemError@-1$CHHapticErrorCodeBadEventEntry@-4830$CHHapticErrorCodeBadParameterEntry@-4831$CHHapticErrorCodeEngineNotRunning@-4805$CHHapticErrorCodeEngineStartTimeout@-4808$CHHapticErrorCodeFileNotFound@-4851$CHHapticErrorCodeInsufficientPower@-4897$CHHapticErrorCodeInvalidAudioResource@-4824$CHHapticErrorCodeInvalidAudioSession@-4815$CHHapticErrorCodeInvalidEngineParameter@-4816$CHHapticErrorCodeInvalidEventDuration@-4823$CHHapticErrorCodeInvalidEventTime@-4822$CHHapticErrorCodeInvalidEventType@-4821$CHHapticErrorCodeInvalidParameterType@-4820$CHHapticErrorCodeInvalidPatternData@-4813$CHHapticErrorCodeInvalidPatternDictionary@-4814$CHHapticErrorCodeInvalidPatternPlayer@-4812$CHHapticErrorCodeInvalidTime@-4840$CHHapticErrorCodeMemoryError@-4899$CHHapticErrorCodeNotSupported@-4809$CHHapticErrorCodeOperationNotPermitted@-4806$CHHapticErrorCodeResourceNotAvailable@-4825$CHHapticErrorCodeServerInitFailed@-4810$CHHapticErrorCodeServerInterrupted@-4811$CHHapticErrorCodeUnknownError@-4898$CHHapticTimeImmediate@0.0$""" -misc.update( - { - "CHHapticEngineFinishedAction": NewType("CHHapticEngineFinishedAction", int), - "CHHapticErrorCode": NewType("CHHapticErrorCode", int), - "CHHapticEngineStoppedReason": NewType("CHHapticEngineStoppedReason", int), - } -) -misc.update( - { - "CHHapticEventParameterID": NewType("CHHapticEventParameterID", str), - "CHHapticEventType": NewType("CHHapticEventType", str), - "CHHapticPatternKey": NewType("CHHapticPatternKey", str), - "CHHapticDynamicParameterID": NewType("CHHapticDynamicParameterID", str), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CHHapticEngine", - b"createAdvancedPlayerWithPattern:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"createPlayerWithPattern:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"initAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"initWithAudioSession:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CHHapticEngine", b"isAutoShutdownEnabled", {"retval": {"type": b"Z"}}) - r(b"CHHapticEngine", b"isMutedForAudio", {"retval": {"type": b"Z"}}) - r(b"CHHapticEngine", b"isMutedForHaptics", {"retval": {"type": b"Z"}}) - r( - b"CHHapticEngine", - b"notifyWhenPlayersFinished:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"q"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CHHapticEngine", - b"playPatternFromData:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"playPatternFromURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CHHapticEngine", b"playsHapticsOnly", {"retval": {"type": b"Z"}}) - r( - b"CHHapticEngine", - b"registerAudioResource:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"resetHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"CHHapticEngine", b"setAutoShutdownEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CHHapticEngine", b"setIsMutedForAudio:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CHHapticEngine", b"setIsMutedForHaptics:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CHHapticEngine", b"setPlaysHapticsOnly:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CHHapticEngine", - b"setResetHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CHHapticEngine", - b"setStoppedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"CHHapticEngine", - b"startAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticEngine", - b"startWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CHHapticEngine", - b"stopWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CHHapticEngine", - b"stoppedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - }, - ) - r( - b"CHHapticEngine", - b"unregisterAudioResource:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticPattern", - b"exportDictionaryAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticPattern", - b"initWithDictionary:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticPattern", - b"initWithEvents:parameterCurves:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CHHapticPattern", - b"initWithEvents:parameters:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"attributesForDynamicParameter:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"attributesForEventParameter:eventType:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"cancelAndReturnError:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"completionHandler", - { - "required": True, - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - ) - r(b"NSObject", b"defaultValue", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"isMuted", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"loopEnabled", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"loopEnd", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"maxValue", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"minValue", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"pauseAtTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"playbackRate", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"resumeAtTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"scheduleParameterCurve:atTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"d"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"seekToOffset:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sendParameters:atTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"d"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"setCompletionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"setIsMuted:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setLoopEnabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setLoopEnd:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r( - b"NSObject", - b"setPlaybackRate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"startAtTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"stopAtTime:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"supportsAudio", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"supportsHaptics", {"required": True, "retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {"CHHapticTimeImmediate": "(NSTimeInterval)0.0f"} - -# END OF FILE diff --git a/src/lib/CoreLocation/__init__.py b/src/lib/CoreLocation/__init__.py deleted file mode 100644 index 7ebfc3d..0000000 --- a/src/lib/CoreLocation/__init__.py +++ /dev/null @@ -1,43 +0,0 @@ -""" -Python mapping for the CoreLocation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import os -import sys - -import Foundation -import objc -from CoreLocation import _metadata -from CoreLocation import _CoreLocation - -if int(os.uname()[2].split(".")[0]) < 12: - # OSX <= 10.7 - kCLErrorGeocodeFoundNoResult = 7 - kCLErrorGeocodeCanceled = 8 -else: - # OSX 10.8 or later - kCLErrorGeocodeFoundNoResult = 8 - kCLErrorGeocodeCanceled = 10 - -sys.modules["CoreLocation"] = mod = objc.ObjCLazyModule( - "CoreLocation", - "com.apple.corelocation", - objc.pathForFramework("/System/Library/Frameworks/CoreLocation.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - "kCLErrorGeocodeFoundNoResult": kCLErrorGeocodeFoundNoResult, - "kCLErrorGeocodeCanceled": kCLErrorGeocodeCanceled, - }, - (_CoreLocation, Foundation), -) - - -del sys.modules["CoreLocation._metadata"] diff --git a/src/lib/CoreLocation/_metadata.py b/src/lib/CoreLocation/_metadata.py deleted file mode 100644 index eac0808..0000000 --- a/src/lib/CoreLocation/_metadata.py +++ /dev/null @@ -1,571 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:44:51 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CLLocationCoordinate2D": objc.createStructType( - "CoreLocation.CLLocationCoordinate2D", - b"{CLLocationCoordinate2D=dd}", - ["latitude", "longitude"], - ) - } -) -constants = """$CLLocationDistanceMax@d$CLLocationPushServiceErrorDomain$CLTimeIntervalMax@d$kCLDistanceFilterNone@d$kCLErrorDomain$kCLErrorUserInfoAlternateRegionKey$kCLHeadingFilterNone@d$kCLLocationAccuracyBest@d$kCLLocationAccuracyBestForNavigation@d$kCLLocationAccuracyHundredMeters@d$kCLLocationAccuracyKilometer@d$kCLLocationAccuracyNearestTenMeters@d$kCLLocationAccuracyReduced@d$kCLLocationAccuracyThreeKilometers@d$kCLLocationCoordinate2DInvalid@{CLLocationCoordinate2D=dd}$""" -enums = """$CLAccuracyAuthorizationFullAccuracy@0$CLAccuracyAuthorizationReducedAccuracy@1$CLActivityTypeAirborne@5$CLActivityTypeAutomotiveNavigation@2$CLActivityTypeFitness@3$CLActivityTypeOther@1$CLActivityTypeOtherNavigation@4$CLDeviceOrientationFaceDown@6$CLDeviceOrientationFaceUp@5$CLDeviceOrientationLandscapeLeft@3$CLDeviceOrientationLandscapeRight@4$CLDeviceOrientationPortrait@1$CLDeviceOrientationPortraitUpsideDown@2$CLDeviceOrientationUnknown@0$CLLocationPushServiceErrorMissingEntitlement@3$CLLocationPushServiceErrorMissingPushExtension@1$CLLocationPushServiceErrorMissingPushServerEnvironment@2$CLLocationPushServiceErrorUnknown@0$CLProximityFar@3$CLProximityImmediate@1$CLProximityNear@2$CLProximityUnknown@0$CLRegionStateInside@1$CLRegionStateOutside@2$CLRegionStateUnknown@0$kCLAuthorizationStatusAuthorized@3$kCLAuthorizationStatusAuthorizedAlways@3$kCLAuthorizationStatusAuthorizedWhenInUse@4$kCLAuthorizationStatusDenied@2$kCLAuthorizationStatusNotDetermined@0$kCLAuthorizationStatusRestricted@1$kCLErrorDeferredAccuracyTooLow@13$kCLErrorDeferredCanceled@15$kCLErrorDeferredDistanceFiltered@14$kCLErrorDeferredFailed@11$kCLErrorDeferredNotUpdatingLocation@12$kCLErrorDenied@1$kCLErrorGeocodeFoundPartialResult@9$kCLErrorHeadingFailure@3$kCLErrorLocationUnknown@0$kCLErrorNetwork@2$kCLErrorPromptDeclined@18$kCLErrorRangingFailure@17$kCLErrorRangingUnavailable@16$kCLErrorRegionMonitoringDenied@4$kCLErrorRegionMonitoringFailure@5$kCLErrorRegionMonitoringResponseDelayed@7$kCLErrorRegionMonitoringSetupDelayed@6$""" -misc.update( - { - "CLAccuracyAuthorization": NewType("CLAccuracyAuthorization", int), - "CLError": NewType("CLError", int), - "CLProximity": NewType("CLProximity", int), - "CLActivityType": NewType("CLActivityType", int), - "CLRegionState": NewType("CLRegionState", int), - "CLDeviceOrientation": NewType("CLDeviceOrientation", int), - "CLAuthorizationStatus": NewType("CLAuthorizationStatus", int), - "CLLocationPushServiceError": NewType("CLLocationPushServiceError", int), - } -) -misc.update({}) -functions = { - "CLLocationCoordinate2DIsValid": (b"Z{CLLocationCoordinate2D=dd}",), - "CLLocationCoordinate2DMake": (b"{CLLocationCoordinate2D=dd}dd",), -} -aliases = {"kCLAuthorizationStatusAuthorized": "kCLAuthorizationStatusAuthorizedAlways"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CLBeaconRegion", b"notifyEntryStateOnDisplay", {"retval": {"type": b"Z"}}) - r( - b"CLBeaconRegion", - b"setNotifyEntryStateOnDisplay:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CLCircularRegion", - b"center", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"CLCircularRegion", - b"containsCoordinate:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}, - }, - ) - r( - b"CLCircularRegion", - b"initWithCenter:radius:identifier:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"CLGeocoder", - b"geocodeAddressDictionary:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"geocodeAddressString:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"geocodeAddressString:inRegion:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"geocodeAddressString:inRegion:preferredLocale:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"geocodePostalAddress:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"geocodePostalAddress:preferredLocale:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CLGeocoder", b"isGeocoding", {"retval": {"type": b"Z"}}) - r( - b"CLGeocoder", - b"reverseGeocodeLocation:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLGeocoder", - b"reverseGeocodeLocation:preferredLocale:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"CLLocation", b"coordinate", {"retval": {"type": "{CLLocationCoordinate2D=dd}"}}) - r( - b"CLLocation", - b"initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:course:speed:timestamp:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"CLLocation", - b"initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:timestamp:", - {"arguments": {2: {"type": "{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"CLLocationManager", - b"allowsBackgroundLocationUpdates", - {"retval": {"type": b"Z"}}, - ) - r( - b"CLLocationManager", - b"deferredLocationUpdatesAvailable", - {"retval": {"type": b"Z"}}, - ) - r(b"CLLocationManager", b"headingAvailable", {"retval": {"type": b"Z"}}) - r( - b"CLLocationManager", - b"isAuthorizedForPreciseLocation", - {"retval": {"type": "Z"}}, - ) - r(b"CLLocationManager", b"isAuthorizedForWidgetUpdates", {"retval": {"type": b"Z"}}) - r( - b"CLLocationManager", - b"isMonitoringAvailableForClass:", - {"retval": {"type": b"Z"}}, - ) - r(b"CLLocationManager", b"isRangingAvailable", {"retval": {"type": b"Z"}}) - r(b"CLLocationManager", b"locationServicesEnabled", {"retval": {"type": "Z"}}) - r( - b"CLLocationManager", - b"pausesLocationUpdatesAutomatically", - {"retval": {"type": b"Z"}}, - ) - r(b"CLLocationManager", b"regionMonitoringAvailable", {"retval": {"type": b"Z"}}) - r(b"CLLocationManager", b"regionMonitoringEnabled", {"retval": {"type": b"Z"}}) - r( - b"CLLocationManager", - b"requestTemporaryFullAccuracyAuthorizationWithPurposeKey:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CLLocationManager", - b"requestTemporaryPreciseLocationAuthorizationWithPurposeKey:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CLLocationManager", - b"setAllowsBackgroundLocationUpdates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CLLocationManager", - b"setPausesLocationUpdatesAutomatically:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CLLocationManager", - b"setShowsBackgroundLocationIndicator:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CLLocationManager", - b"showsBackgroundLocationIndicator", - {"retval": {"type": b"Z"}}, - ) - r( - b"CLLocationManager", - b"significantLocationChangeMonitoringAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"CLLocationManager", - b"startMonitoringLocationPushesWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CLLocationSourceInformation", - b"initWithSoftwareSimulationState:andExternalAccessoryState:", - {"arguments": {2: {"type": b"Z"}, 3: {"type": b"Z"}}}, - ) - r( - b"CLLocationSourceInformation", - b"isProducedByAccessory", - {"retval": {"type": b"Z"}}, - ) - r( - b"CLLocationSourceInformation", - b"isSimulatedBySoftware", - {"retval": {"type": b"Z"}}, - ) - r(b"CLRegion", b"center", {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}) - r( - b"CLRegion", - b"containsCoordinate:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}, - }, - ) - r( - b"CLRegion", - b"initCircularRegionWithCenter:radius:identifier:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r(b"CLRegion", b"notifyOnEntry", {"retval": {"type": b"Z"}}) - r(b"CLRegion", b"notifyOnExit", {"retval": {"type": b"Z"}}) - r(b"CLRegion", b"setNotifyOnEntry:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CLRegion", b"setNotifyOnExit:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSObject", - b"didReceiveLocationPushPayload:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"locationManager:didChangeAuthorizationStatus:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"i"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didDetermineState:forRegion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didEnterRegion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didExitRegion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didFailRangingBeaconsForConstraint:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didFinishDeferredUpdatesWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didRangeBeacons:inRegion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didRangeBeacons:satisfyingConstraint:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didStartMonitoringForRegion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didUpdateHeading:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didUpdateLocations:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didUpdateToLocation:fromLocation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:didVisit:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:monitoringDidFailForRegion:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManager:rangingBeaconsDidFailForRegion:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"locationManagerDidChangeAuthorization:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"locationManagerDidPauseLocationUpdates:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"locationManagerDidResumeLocationUpdates:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"locationManagerShouldDisplayHeadingCalibration:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"serviceExtensionWillTerminate", - {"required": False, "retval": {"type": b"v"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreMIDI/__init__.py b/src/lib/CoreMIDI/__init__.py deleted file mode 100644 index 021db40..0000000 --- a/src/lib/CoreMIDI/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CoreMIDI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreMIDI import _metadata -from CoreMIDI import _CoreMIDI, _inlines - -sys.modules["CoreMIDI"] = mod = objc.ObjCLazyModule( - "CoreMIDI", - "com.apple.audio.midi.CoreMIDI", - "/System/Library/Frameworks/CoreMIDI.framework", - _metadata.__dict__, - _inlines._inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreMIDI, Foundation), -) - - -del sys.modules["CoreMIDI._metadata"] diff --git a/src/lib/CoreMIDI/_metadata.py b/src/lib/CoreMIDI/_metadata.py deleted file mode 100644 index 73325b3..0000000 --- a/src/lib/CoreMIDI/_metadata.py +++ /dev/null @@ -1,647 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:45:02 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MIDIIOErrorNotification": objc.createStructType( - "CoreMIDI.MIDIIOErrorNotification", - b"{MIDIIOErrorNotification=iIIi}", - ["messageID", "messageSize", "driverDevice", "errorCode"], - ), - "MIDIMessage_96": objc.createStructType( - "CoreMIDI.MIDIMessage_96", - b"{MIDIMessage_96=III}", - ["word0", "word1", "word2"], - ), - "MIDIMessage_128": objc.createStructType( - "CoreMIDI.MIDIMessage_128", - b"{MIDIMessage_128=IIII}", - ["word0", "word1", "word2", "word3"], - ), - "MIDIThruConnectionEndpoint": objc.createStructType( - "CoreMIDI.MIDIThruConnectionEndpoint", - b"{MIDIThruConnectionEndpoint=Ii}", - ["endpointRef", "uniqueID"], - ), - "MIDIMessage_64": objc.createStructType( - "CoreMIDI.MIDIMessage_64", b"{MIDIMessage_64=II}", ["word0", "word1"] - ), - "MIDIValueMap": objc.createStructType( - "CoreMIDI.MIDIValueMap", b"{MIDIValueMap=[128C]}", ["value"] - ), - "MIDIPacket": objc.createStructType( - "CoreMIDI.MIDIPacket", - b"{MIDIPacket=QS[256C]}", - ["timeStamp", "length", "data"], - ), - "MIDIControlTransform": objc.createStructType( - "CoreMIDI.MIDIControlTransform", - b"{MIDIControlTransform=CCSSs}", - [ - "controlType", - "remappedControlType", - "controlNumber", - "transform", - "param", - ], - ), - "MIDICIDeviceIdentification": objc.createStructType( - "CoreMIDI.MIDICIDeviceIdentification", - b"{MIDICIDeviceIdentification=[3C][2C][2C][4C][5C]}", - ["manufacturer", "family", "modelNumber", "revisionLevel", "reserved"], - ), - "MIDIEventList": objc.createStructType( - "CoreMIDI.MIDIEventList", - b"{MIDIEventList=iI[1{MIDIEventPacket=QI[64I]}]}", - ["protocol", "numPackets", "packet"], - ), - "MIDIObjectAddRemoveNotification": objc.createStructType( - "CoreMIDI.MIDIObjectAddRemoveNotification", - b"{MIDIObjectAddRemoveNotification=iIIiIi}", - ["messageID", "messageSize", "parent", "parentType", "child", "childType"], - ), - "MIDINotification": objc.createStructType( - "CoreMIDI.MIDINotification", - b"{MIDINotification=iI}", - ["messageID", "messageSize"], - ), - "MIDITransform": objc.createStructType( - "CoreMIDI.MIDITransform", b"{MIDITransform=Ss}", ["transform", "param"] - ), - "MIDIEventPacket": objc.createStructType( - "CoreMIDI.MIDIEventPacket", - b"{MIDIEventPacket=QI[64I]}", - ["timeStamp", "wordCount", "words"], - ), - "MIDIObjectPropertyChangeNotification": objc.createStructType( - "CoreMIDI.MIDIObjectPropertyChangeNotification", - b"{MIDIObjectPropertyChangeNotification=iIIi^{__CFString=}}", - ["messageID", "messageSize", "object", "objectType", "propertyName"], - ), - "MIDIThruConnectionParams": objc.createStructType( - "CoreMIDI.MIDIThruConnectionParams", - b"{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=Ii}]I[8{MIDIThruConnectionEndpoint=Ii}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}", - [ - "version", - "numSources", - "sources", - "numDestinations", - "destinations", - "channelMap", - "lowVelocity", - "highVelocity", - "lowNote", - "highNote", - "noteNumber", - "velocity", - "keyPressure", - "channelPressure", - "programChange", - "pitchBend", - "filterOutSysEx", - "filterOutMTC", - "filterOutBeatClock", - "filterOutTuneRequest", - "reserved2", - "filterOutAllControls", - "numControlTransforms", - "numMaps", - "reserved3", - ], - ), - "MIDIPacketList": objc.createStructType( - "CoreMIDI.MIDIPacketList", - b"{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}", - ["numPackets", "packet"], - ), - } -) -constants = """$MIDINetworkBonjourServiceType$MIDINetworkNotificationContactsDidChange$MIDINetworkNotificationSessionDidChange$kMIDIDriverPropertyUsesSerial$kMIDIPropertyAdvanceScheduleTimeMuSec$kMIDIPropertyCanRoute$kMIDIPropertyConnectionUniqueID$kMIDIPropertyDeviceID$kMIDIPropertyDisplayName$kMIDIPropertyDriverDeviceEditorApp$kMIDIPropertyDriverOwner$kMIDIPropertyDriverVersion$kMIDIPropertyFactoryPatchNameFile$kMIDIPropertyImage$kMIDIPropertyIsBroadcast$kMIDIPropertyIsDrumMachine$kMIDIPropertyIsEffectUnit$kMIDIPropertyIsEmbeddedEntity$kMIDIPropertyIsMixer$kMIDIPropertyIsSampler$kMIDIPropertyManufacturer$kMIDIPropertyMaxReceiveChannels$kMIDIPropertyMaxSysExSpeed$kMIDIPropertyMaxTransmitChannels$kMIDIPropertyModel$kMIDIPropertyName$kMIDIPropertyNameConfiguration$kMIDIPropertyNameConfigurationDictionary$kMIDIPropertyOffline$kMIDIPropertyPanDisruptsStereo$kMIDIPropertyPrivate$kMIDIPropertyProtocolID$kMIDIPropertyReceiveChannels$kMIDIPropertyReceivesBankSelectLSB$kMIDIPropertyReceivesBankSelectMSB$kMIDIPropertyReceivesClock$kMIDIPropertyReceivesMTC$kMIDIPropertyReceivesNotes$kMIDIPropertyReceivesProgramChanges$kMIDIPropertySingleRealtimeEntity$kMIDIPropertySupportsGeneralMIDI$kMIDIPropertySupportsMMC$kMIDIPropertySupportsShowControl$kMIDIPropertyTransmitChannels$kMIDIPropertyTransmitsBankSelectLSB$kMIDIPropertyTransmitsBankSelectMSB$kMIDIPropertyTransmitsClock$kMIDIPropertyTransmitsMTC$kMIDIPropertyTransmitsNotes$kMIDIPropertyTransmitsProgramChanges$kMIDIPropertyUniqueID$kMIDIPropertyUserPatchNameFile$""" -enums = """$MIDINetworkConnectionPolicy_Anyone@2$MIDINetworkConnectionPolicy_HostsInContactList@1$MIDINetworkConnectionPolicy_NoOne@0$kMIDICVStatusAssignableControl@3$kMIDICVStatusAssignablePNC@1$kMIDICVStatusChannelPressure@13$kMIDICVStatusControlChange@11$kMIDICVStatusNoteOff@8$kMIDICVStatusNoteOn@9$kMIDICVStatusPerNoteMgmt@15$kMIDICVStatusPerNotePitchBend@6$kMIDICVStatusPitchBend@14$kMIDICVStatusPolyPressure@10$kMIDICVStatusProgramChange@12$kMIDICVStatusRegisteredControl@2$kMIDICVStatusRegisteredPNC@0$kMIDICVStatusRelAssignableControl@5$kMIDICVStatusRelRegisteredControl@4$kMIDIControlType_14Bit@1$kMIDIControlType_14BitNRPN@5$kMIDIControlType_14BitRPN@3$kMIDIControlType_7Bit@0$kMIDIControlType_7BitNRPN@4$kMIDIControlType_7BitRPN@2$kMIDIIDNotUnique@-10843$kMIDIInvalidClient@-10830$kMIDIInvalidPort@-10831$kMIDIInvalidUniqueID@0$kMIDIMessageSendErr@-10838$kMIDIMessageTypeChannelVoice1@2$kMIDIMessageTypeChannelVoice2@4$kMIDIMessageTypeData128@5$kMIDIMessageTypeSysEx@3$kMIDIMessageTypeSystem@1$kMIDIMessageTypeUnknownF@15$kMIDIMessageTypeUtility@0$kMIDIMsgIOError@7$kMIDIMsgObjectAdded@2$kMIDIMsgObjectRemoved@3$kMIDIMsgPropertyChanged@4$kMIDIMsgSerialPortOwnerChanged@6$kMIDIMsgSetupChanged@1$kMIDIMsgThruConnectionsChanged@5$kMIDINoConnection@-10833$kMIDINoCurrentSetup@-10837$kMIDINotPermitted@-10844$kMIDINoteAttributeManufacturerSpecific@1$kMIDINoteAttributeNone@0$kMIDINoteAttributePitch@3$kMIDINoteAttributeProfileSpecific@2$kMIDIObjectNotFound@-10842$kMIDIObjectType_Destination@3$kMIDIObjectType_Device@0$kMIDIObjectType_Entity@1$kMIDIObjectType_ExternalDestination@19$kMIDIObjectType_ExternalDevice@16$kMIDIObjectType_ExternalEntity@17$kMIDIObjectType_ExternalMask@16$kMIDIObjectType_ExternalSource@18$kMIDIObjectType_Other@-1$kMIDIObjectType_Source@2$kMIDIPerNoteManagementDetach@2$kMIDIPerNoteManagementReset@1$kMIDIProgramChangeBankValid@1$kMIDIProtocol_1_0@1$kMIDIProtocol_2_0@2$kMIDIServerStartErr@-10839$kMIDISetupFormatErr@-10840$kMIDIStatusActiveSending@254$kMIDIStatusActiveSensing@254$kMIDIStatusContinue@251$kMIDIStatusEndOfExclusive@247$kMIDIStatusMTC@241$kMIDIStatusSongPosPointer@242$kMIDIStatusSongSelect@243$kMIDIStatusStart@250$kMIDIStatusStartOfExclusive@240$kMIDIStatusStop@252$kMIDIStatusSystemReset@255$kMIDIStatusTimingClock@248$kMIDIStatusTuneRequest@246$kMIDISysExStatusComplete@0$kMIDISysExStatusContinue@2$kMIDISysExStatusEnd@3$kMIDISysExStatusMixedDataSetHeader@8$kMIDISysExStatusMixedDataSetPayload@9$kMIDISysExStatusStart@1$kMIDIThruConnection_MaxEndpoints@8$kMIDITransform_Add@8$kMIDITransform_FilterOut@1$kMIDITransform_MapControl@2$kMIDITransform_MapValue@12$kMIDITransform_MaxValue@11$kMIDITransform_MinValue@10$kMIDITransform_None@0$kMIDITransform_Scale@9$kMIDIUnknownEndpoint@-10834$kMIDIUnknownError@-10845$kMIDIUnknownProperty@-10835$kMIDIUtilityStatusJitterReductionClock@1$kMIDIUtilityStatusJitterReductionTimestamp@2$kMIDIUtilityStatusNOOP@0$kMIDIWrongEndpointType@-10832$kMIDIWrongPropertyType@-10836$kMIDIWrongThread@-10841$""" -misc.update( - { - "MIDICVStatus": NewType("MIDICVStatus", int), - "MIDISysExStatus": NewType("MIDISysExStatus", int), - "MIDIPerNoteManagementOptions": NewType("MIDIPerNoteManagementOptions", int), - "MIDIMessageType": NewType("MIDIMessageType", int), - "MIDINoteAttribute": NewType("MIDINoteAttribute", int), - "MIDIObjectType": NewType("MIDIObjectType", int), - "MIDINotificationMessageID": NewType("MIDINotificationMessageID", int), - "MIDISystemStatus": NewType("MIDISystemStatus", int), - "MIDIProgramChangeOptions": NewType("MIDIProgramChangeOptions", int), - "MIDITransformControlType": NewType("MIDITransformControlType", int), - "MIDIProtocolID": NewType("MIDIProtocolID", int), - "MIDIUtilityStatus": NewType("MIDIUtilityStatus", int), - "MIDITransformType": NewType("MIDITransformType", int), - "MIDINetworkConnectionPolicy": NewType("MIDINetworkConnectionPolicy", int), - } -) -misc.update({}) -functions = { - "MIDIObjectSetDictionaryProperty": (b"iI^{__CFString=}^{__CFDictionary=}",), - "MIDIThruConnectionParamsInitialize": ( - b"v^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=Ii}]I[8{MIDIThruConnectionEndpoint=Ii}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "MIDIReceived": (b"iI^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}",), - "MIDI1UPSysEx": (b"{MIDIMessage_64=II}CCCCCCCCC",), - "MIDIGetDriverDeviceList": ( - b"I^^{MIDIDriverInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?}", - ), - "MIDIPortDisconnectSource": (b"iII",), - "MIDI1UPChannelVoiceMessage": (b"ICCCCC",), - "MIDI1UPNoteOff": (b"ICCCC",), - "MIDI1UPSystemCommon": (b"ICCCC",), - "MIDIMessageTypeForUPWord": (b"II",), - "MIDIObjectSetDataProperty": (b"iI^{__CFString=}^{__CFData=}",), - "MIDISetupDispose": (b"iI",), - "MIDI1UPControlChange": (b"ICCCC",), - "MIDISetupFromData": ( - b"i^{__CFData=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MIDIGetSerialPortDrivers": ( - b"i^^{__CFArray=}", - "", - {"arguments": {0: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "MIDISend": (b"iII^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}",), - "MIDISetupRemoveDevice": (b"iI",), - "MIDIPacketListInit": ( - b"^{MIDIPacket=QS[256C]}^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}", - ), - "MIDIDeviceGetNumberOfEntities": (b"QI",), - "MIDIEventListInit": ( - b"^{MIDIEventPacket=QI[64I]}^{MIDIEventList=iI[1{MIDIEventPacket=QI[64I]}]}i", - ), - "MIDIEntityGetNumberOfDestinations": (b"QI",), - "MIDIGetNumberOfExternalDevices": (b"Q",), - "MIDIDeviceNewEntity": ( - b"iI^{__CFString=}iZQQ^I", - "", - {"arguments": {6: {"type_modifier": "o"}}}, - ), - "MIDISetupAddDevice": (b"iI",), - "MIDISetupAddExternalDevice": (b"iI",), - "MIDIGetNumberOfDevices": (b"Q",), - "MIDIObjectRemoveProperty": (b"iI^{__CFString=}",), - "MIDIInputPortCreate": ( - b"iI^{__CFString=}^?^v^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}"}, - 1: {"type": b"^v"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "MIDI2PitchBend": (b"{MIDIMessage_64=II}CCI",), - "MIDIPortConnectSource": (b"iII^v",), - "MIDISetupToData": ( - b"iI^^{__CFData=}", - "", - {"arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "MIDISendEventList": (b"iII^{MIDIEventList=iI[1{MIDIEventPacket=QI[64I]}]}",), - "MIDIPacketListAdd": ( - b"^{MIDIPacket=QS[256C]}^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}Q^{MIDIPacket=QS[256C]}QQ^C", - ), - "MIDIObjectSetStringProperty": (b"iI^{__CFString=}^{__CFString=}",), - "MIDI2ChannelPressure": (b"{MIDIMessage_64=II}CCI",), - "MIDIObjectGetDictionaryProperty": (b"iI^{__CFString=}^^{__CFDictionary=}",), - "MIDIFlushOutput": (b"iI",), - "MIDIClientDispose": (b"iI",), - "MIDI2PerNotePitchBend": (b"{MIDIMessage_64=II}CCCI",), - "MIDI1UPNoteOn": (b"ICCCC",), - "MIDIDeviceDispose": (b"iI",), - "MIDIDeviceListGetDevice": (b"IIQ",), - "MIDIEntityAddOrRemoveEndpoints": (b"iIQQ",), - "MIDIDestinationCreateWithBlock": ( - b"iI^{__CFString=}^I@?", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIGetSource": (b"IQ",), - "MIDIEndpointGetEntity": (b"iI^I",), - "MIDI2RegisteredPNC": (b"{MIDIMessage_64=II}CCCCI",), - "MIDIObjectGetIntegerProperty": (b"iI^{__CFString=}^i",), - "MIDIThruConnectionParamsSize": ( - b"Q^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=Ii}]I[8{MIDIThruConnectionEndpoint=Ii}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}", - ), - "MIDIGetDestination": (b"IQ",), - "MIDIDestinationCreate": ( - b"iI^{__CFString=}^?^v^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}"}, - 1: {"type": b"^v"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "MIDI2NoteOn": (b"{MIDIMessage_64=II}CCCCSS",), - "MIDIDriverEnableMonitoring": ( - b"i^^{MIDIDriverInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?}Z", - ), - "MIDI2RelAssignableControl": (b"{MIDIMessage_64=II}CCCCI",), - "MIDIObjectGetProperties": (b"iI^@Z",), - "MIDISetupGetCurrent": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "MIDIObjectGetDataProperty": (b"iI^{__CFString=}^^{__CFData=}",), - "MIDISetupCreate": (b"i^I", "", {"retval": {"already_cfretained": True}}), - "MIDIEndpointDispose": (b"iI",), - "MIDIExternalDeviceCreate": ( - b"i^{__CFString=}^{__CFString=}^{__CFString=}^I", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - }, - "retval": {"already_cfretained": True}, - }, - ), - "MIDISetSerialPortOwner": (b"i^{__CFString=}^{__CFString=}",), - "MIDIClientCreate": ( - b"i^{__CFString=}^?^v^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{MIDINotification=iI}"}, - 1: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "MIDIPacketNext": (b"^{MIDIPacket=QS[256C]}^{MIDIPacket=QS[256C]}",), - "MIDIDeviceAddEntity": ( - b"iI^{__CFString=}ZQQ^I", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "MIDIThruConnectionFind": ( - b"i^{__CFString=}^^{__CFData=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MIDIThruConnectionDispose": (b"iI",), - "MIDISetupInstall": (b"iI",), - "MIDIDestinationCreateWithProtocol": ( - b"iI^{__CFString=}i^I@?", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIObjectFindByUniqueID": (b"ii^I^i",), - "MIDIObjectSetIntegerProperty": (b"iI^{__CFString=}i",), - "MIDIEventPacketNext": (b"^{MIDIEventPacket=QI[64I]}^{MIDIEventPacket=QI[64I]}",), - "MIDI2ChannelVoiceMessage": (b"{MIDIMessage_64=II}CCCSI",), - "MIDIPortDispose": (b"iI",), - "MIDIDeviceListAddDevice": (b"iII",), - "MIDIGetNumberOfDestinations": (b"Q",), - "MIDIRestart": (b"i",), - "MIDIClientCreateWithBlock": ( - b"i^{__CFString=}^I@?", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIThruConnectionGetParams": ( - b"iI^^{__CFData=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MIDIReceivedEventList": (b"iI^{MIDIEventList=iI[1{MIDIEventPacket=QI[64I]}]}",), - "MIDIObjectGetStringProperty": (b"iI^{__CFString=}^^{__CFString=}",), - "MIDIGetExternalDevice": (b"IQ",), - "MIDI2RelRegisteredControl": (b"{MIDIMessage_64=II}CCCCI",), - "MIDI2ProgramChange": (b"{MIDIMessage_64=II}CCBCCC",), - "MIDIThruConnectionCreate": ( - b"i^{__CFString=}^{__CFData=}^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "MIDIDeviceListDispose": (b"iI",), - "MIDISendSysex": (b"i^{MIDISysexSendRequest=I^CIZ[3C]^?^v}",), - "MIDI2PerNoteManagment": (b"{MIDIMessage_64=II}CCCBB",), - "MIDIGetSerialPortOwner": ( - b"i^{__CFString=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MIDIGetDevice": (b"IQ",), - "MIDIThruConnectionSetParams": (b"iI^{__CFData=}",), - "MIDI2ControlChange": (b"{MIDIMessage_64=II}CCCI",), - "MIDISetupRemoveExternalDevice": (b"iI",), - "MIDIEventListAdd": ( - b"^{MIDIEventPacket=QI[64I]}^{MIDIEventList=iI[1{MIDIEventPacket=QI[64I]}]}Q^{MIDIEventPacket=QI[64I]}QQ^I", - ), - "MIDIDeviceListGetNumberOfDevices": (b"QI",), - "MIDIInputPortCreateWithProtocol": ( - b"iI^{__CFString=}i^I@?", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIDeviceGetEntity": (b"IIQ",), - "MIDI2NoteOff": (b"{MIDIMessage_64=II}CCCCSS",), - "MIDI2PolyPressure": (b"{MIDIMessage_64=II}CCCI",), - "MIDI1UPPitchBend": (b"ICCCC",), - "MIDIDeviceCreate": ( - b"i^^{MIDIDriverInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?}^{__CFString=}^{__CFString=}^{__CFString=}^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"type_modifier": "o"}}, - }, - ), - "MIDIOutputPortCreate": ( - b"iI^{__CFString=}^I", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDISourceCreateWithProtocol": ( - b"iI^{__CFString=}i^I", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIEntityGetDestination": (b"IIQ",), - "MIDIInputPortCreateWithBlock": ( - b"iI^{__CFString=}^I@?", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDI2AssignableControl": (b"{MIDIMessage_64=II}CCCCI",), - "MIDI2RegisteredControl": (b"{MIDIMessage_64=II}CCCCI",), - "MIDIGetDriverIORunLoop": (b"^{__CFRunLoop=}",), - "MIDIEntityGetDevice": (b"iI^I",), - "MIDI1UPSysExArray": (b"{MIDIMessage_64=II}CC^C^C",), - "MIDIDeviceRemoveEntity": (b"iII",), - "MIDIGetNumberOfSources": (b"Q",), - "MIDISourceCreate": ( - b"iI^{__CFString=}^I", - "", - {"retval": {"already_cfretained": True}}, - ), - "MIDIEntityGetNumberOfSources": (b"QI",), - "MIDI2AssignablePNC": (b"{MIDIMessage_64=II}CCCCI",), - "MIDIEntityGetSource": (b"IIQ",), -} -aliases = {"kMIDIStatusActiveSensing": "kMIDIStatusActiveSending"} -misc.update( - { - "MIDIDriverRef": objc.createOpaquePointerType( - "MIDIDriverRef", b"^^{MIDriverInterface=}" - ) - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"MIDICIDiscoveredNode", b"supportsProfiles", {"retval": {"type": b"Z"}}) - r(b"MIDICIDiscoveredNode", b"supportsProperties", {"retval": {"type": b"Z"}}) - r( - b"MIDICIDiscoveryManager", - b"discoverWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MIDICIResponder", - b"initWithDeviceInfo:profileDelegate:profileStates:supportProperties:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MIDICIResponder", - b"notifyProfile:onChannel:isEnabled:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MIDICIResponder", - b"sendProfile:onChannel:profileData:", - {"retval": {"type": b"Z"}}, - ) - r(b"MIDICIResponder", b"start", {"retval": {"type": b"Z"}}) - r( - b"MIDICISession", - b"disableProfile:onChannel:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MIDICISession", - b"enableProfile:onChannel:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MIDICISession", - b"initWithDiscoveredNode:dataReadyHandler:disconnectHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"MIDICISession", - b"profileChangedCallback", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"MIDICISession", - b"profileSpecificDataHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"MIDICISession", - b"sendProfile:onChannel:profileData:", - {"retval": {"type": b"Z"}}, - ) - r( - b"MIDICISession", - b"setProfileChangedCallback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"MIDICISession", - b"setProfileSpecificDataHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"MIDICISession", b"supportsProfileCapability", {"retval": {"type": b"Z"}}) - r(b"MIDICISession", b"supportsPropertyCapability", {"retval": {"type": b"Z"}}) - r(b"MIDINetworkHost", b"hasSameAddressAs:", {"retval": {"type": b"Z"}}) - r(b"MIDINetworkSession", b"addConnection:", {"retval": {"type": "Z"}}) - r(b"MIDINetworkSession", b"addContact:", {"retval": {"type": "Z"}}) - r(b"MIDINetworkSession", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"MIDINetworkSession", b"removeConnection:", {"retval": {"type": "Z"}}) - r(b"MIDINetworkSession", b"removeContact:", {"retval": {"type": "Z"}}) - r(b"MIDINetworkSession", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSObject", - b"connectInitiator:withDeviceInfo:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"handleDataForProfile:onChannel:data:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"C"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"initiatorDisconnected:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"willSetProfile:onChannel:enabled:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"C"}, 4: {"type": b"Z"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreML/__init__.py b/src/lib/CoreML/__init__.py deleted file mode 100644 index eb5ccfa..0000000 --- a/src/lib/CoreML/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CoreML framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreML import _metadata -from CoreML import _CoreML - -sys.modules["CoreML"] = mod = objc.ObjCLazyModule( - "CoreML", - "com.apple.CoreML", - objc.pathForFramework("/System/Library/Frameworks/CoreML.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreML, Foundation), -) - - -del sys.modules["CoreML._metadata"] diff --git a/src/lib/CoreML/_metadata.py b/src/lib/CoreML/_metadata.py deleted file mode 100644 index fc74003..0000000 --- a/src/lib/CoreML/_metadata.py +++ /dev/null @@ -1,505 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:04:56 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MLFeatureValueImageOptionCropAndScale$MLFeatureValueImageOptionCropRect$MLModelAuthorKey$MLModelCollectionDidChangeNotification$MLModelCreatorDefinedKey$MLModelDescriptionKey$MLModelErrorDomain$MLModelLicenseKey$MLModelVersionStringKey$""" -enums = """$MLComputeUnitsAll@2$MLComputeUnitsCPUAndGPU@1$MLComputeUnitsCPUOnly@0$MLFeatureTypeDictionary@6$MLFeatureTypeDouble@2$MLFeatureTypeImage@4$MLFeatureTypeInt64@1$MLFeatureTypeInvalid@0$MLFeatureTypeMultiArray@5$MLFeatureTypeSequence@7$MLFeatureTypeString@3$MLImageSizeConstraintTypeEnumerated@2$MLImageSizeConstraintTypeRange@3$MLImageSizeConstraintTypeUnspecified@0$MLModelErrorCustomLayer@4$MLModelErrorCustomModel@5$MLModelErrorFeatureType@1$MLModelErrorGeneric@0$MLModelErrorIO@3$MLModelErrorModelCollection@10$MLModelErrorModelDecryption@9$MLModelErrorModelDecryptionKeyFetch@8$MLModelErrorParameters@7$MLModelErrorUpdate@6$MLMultiArrayDataTypeDouble@65600$MLMultiArrayDataTypeFloat@65568$MLMultiArrayDataTypeFloat16@65552$MLMultiArrayDataTypeFloat32@65568$MLMultiArrayDataTypeFloat64@65600$MLMultiArrayDataTypeInt32@131104$MLMultiArrayShapeConstraintTypeEnumerated@2$MLMultiArrayShapeConstraintTypeRange@3$MLMultiArrayShapeConstraintTypeUnspecified@1$MLTaskStateCancelling@3$MLTaskStateCompleted@4$MLTaskStateFailed@5$MLTaskStateRunning@2$MLTaskStateSuspended@1$MLUpdateProgressEventEpochEnd@2$MLUpdateProgressEventMiniBatchEnd@4$MLUpdateProgressEventTrainingBegin@1$""" -misc.update( - { - "MLMultiArrayDataType": NewType("MLMultiArrayDataType", int), - "MLMultiArrayShapeConstraintType": NewType( - "MLMultiArrayShapeConstraintType", int - ), - "MLImageSizeConstraintType": NewType("MLImageSizeConstraintType", int), - "MLTaskState": NewType("MLTaskState", int), - "MLUpdateProgressEvent": NewType("MLUpdateProgressEvent", int), - "MLFeatureType": NewType("MLFeatureType", int), - "MLModelError": NewType("MLModelError", int), - "MLComputeUnits": NewType("MLComputeUnits", int), - } -) -misc.update( - { - "MLFeatureValueImageOption": NewType("MLFeatureValueImageOption", str), - "MLModelMetadataKey": NewType("MLModelMetadataKey", str), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MLArrayBatchProvider", - b"initWithDictionary:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLDictionaryFeatureProvider", - b"initWithDictionary:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"MLFeatureDescription", b"isAllowedValue:", {"retval": {"type": "Z"}}) - r(b"MLFeatureDescription", b"isOptional", {"retval": {"type": "Z"}}) - r(b"MLFeatureDescription", b"setOptional:", {"arguments": {2: {"type": "Z"}}}) - r( - b"MLFeatureValue", - b"featureValueWithCGImage:constraint:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithCGImage:orientation:constraint:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithCGImage:orientation:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {8: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithCGImage:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithDictionary:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithImageAtURL:constraint:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithImageAtURL:orientation:constraint:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithImageAtURL:orientation:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {8: {"type_modifier": b"o"}}}, - ) - r( - b"MLFeatureValue", - b"featureValueWithImageAtURL:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r(b"MLFeatureValue", b"isEqualToFeatureValue:", {"retval": {"type": "Z"}}) - r(b"MLFeatureValue", b"isUndefined", {"retval": {"type": "Z"}}) - r( - b"MLModel", - b"compileModelAtURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"loadContentsOfURL:configuration:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MLModel", - b"modelWithContentsOfURL:configuration:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"modelWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"parameterValueForKey:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"predictionFromFeatures:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"predictionFromFeatures:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"predictionsFromBatch:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MLModel", - b"predictionsFromBatch:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MLModelCollection", - b"beginAccessingModelCollectionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MLModelCollection", - b"endAccessingModelCollectionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MLModelCollectionEntry", - b"isEqualToModelCollectionEntry:", - {"retval": {"type": b"Z"}}, - ) - r( - b"MLModelConfiguration", - b"allowLowPrecisionAccumulationOnGPU", - {"retval": {"type": "Z"}}, - ) - r( - b"MLModelConfiguration", - b"setAllowLowPrecisionAccumulationOnGPU:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"MLMultiArray", b"dataPointer", {"retval": {"c_array_of_variable_length": True}}) - r( - b"MLMultiArray", - b"initWithDataPointer:shape:dataType:strides:deallocator:error:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, - } - }, - 7: {"type_modifier": b"o"}, - } - }, - ) - r( - b"MLMultiArray", - b"initWithShape:dataType:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"MLPredictionOptions", b"setUsesCPUOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"MLPredictionOptions", b"usesCPUOnly", {"retval": {"type": "Z"}}) - r( - b"MLUpdateProgressHandlers", - b"initForEvents:progressHandler:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"MLUpdateTask", - b"updateTaskForModelAtURL:trainingData:completionHandler:error:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 5: {"type_modifier": b"o"}, - } - }, - ) - r( - b"MLUpdateTask", - b"updateTaskForModelAtURL:trainingData:configuration:completionHandler:error:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 6: {"type_modifier": b"o"}, - } - }, - ) - r( - b"MLUpdateTask", - b"updateTaskForModelAtURL:trainingData:configuration:progressHandlers:error:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 6: {"type_modifier": b"o"}, - } - }, - ) - r( - b"MLUpdateTask", - b"updateTaskForModelAtURL:trainingData:progressHandlers:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"count", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r( - b"NSObject", - b"encodeToCommandBuffer:inputs:outputs:error:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"evaluateOnCPUWithInputs:outputs:error:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r(b"NSObject", b"featureNames", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"featureProviderAtIndex:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"featureProviderCount", - {"required": False, "retval": {"type": b"q"}}, - ) - r( - b"NSObject", - b"featureValueForName:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"featuresAtIndex:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"initWithModelDescription:parameterDictionary:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"initWithParameterDictionary:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"outputShapesForInputShapes:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"predictionFromFeatures:options:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"predictionsFromBatch:options:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"setWeightData:error:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"writeToURL:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "o^@", "type_modifier": b"o"}}, - }, - ) - r(b"null", b"allowLowPrecisionAccumulationOnGPU", {"retval": {"type": b"Z"}}) - r( - b"null", - b"featureValueWithCGImage:constraint:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithCGImage:orientation:constraint:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithCGImage:orientation:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {8: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithCGImage:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithImageAtURL:constraint:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithImageAtURL:orientation:constraint:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithImageAtURL:orientation:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {8: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"featureValueWithImageAtURL:pixelsWide:pixelsHigh:pixelFormatType:options:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r(b"null", b"isUpdatable", {"retval": {"type": b"Z"}}) - r( - b"null", - b"setAllowLowPrecisionAccumulationOnGPU:", - {"arguments": {2: {"type": b"Z"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreMedia/__init__.py b/src/lib/CoreMedia/__init__.py deleted file mode 100644 index f2597d9..0000000 --- a/src/lib/CoreMedia/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Python mapping for the CoreMedia framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreMedia import _CoreMedia, _metadata - -sys.modules["CoreMedia"] = mod = objc.ObjCLazyModule( - "CoreMedia", - "com.apple.CoreMedia", - objc.pathForFramework("/System/Library/Frameworks/CoreMedia.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreMedia, Foundation), -) - -import sys # isort: ignore # noqa: E402 -from CoreMedia import _macros # isort: ignore # noqa: E402 - -for nm in dir(_macros): - if nm == "CoreMedia": - continue - setattr(mod, nm, getattr(_macros, nm)) - - -del sys.modules["CoreMedia._metadata"] diff --git a/src/lib/CoreMedia/_macros.py b/src/lib/CoreMedia/_macros.py deleted file mode 100644 index f140920..0000000 --- a/src/lib/CoreMedia/_macros.py +++ /dev/null @@ -1,89 +0,0 @@ -import CoreMedia - - -def CMTIMERANGE_IS_VALID(aRange): - return ( - CMTIME_IS_VALID(aRange.start) - and CMTIME_IS_VALID(aRange.duration) - and aRange.duration.epoch == 0 - and aRange.duration.value >= 0 - ) - - -def CMTIMERANGE_IS_INVALID(aRange): - return not CMTIMERANGE_IS_VALID(aRange) - - -def CMTIMERANGE_IS_INDEFINITE(aRange): - return CMTIMERANGE_IS_VALID(aRange) and ( - CMTIME_IS_INDEFINITE(aRange.start) or CMTIME_IS_INDEFINITE(aRange.duration) - ) - - -def CMTIMERANGE_IS_EMPTY(aRange): - return CMTIMERANGE_IS_VALID(aRange) and aRange.duration == CoreMedia.kCMTimeZero - - -def CMTIMEMAPPING_IS_VALID(mapping): - return CMTIMERANGE_IS_VALID(mapping.target) - - -def CMTIMEMAPPING_IS_INVALID(mapping): - return not CMTIMEMAPPING_IS_VALID(mapping) - - -def CMTIMEMAPPING_IS_EMPTY(mapping): - return not CMTIME_IS_NUMERIC(mapping.source.start) and CMTIMERANGE_IS_VALID( - mapping.target - ) - - -def CMSimpleQueueGetFullness(queue): - if CoreMedia.CMSimpleQueueGetCapacity(queue): - return CoreMedia.CMSimpleQueueGetCount( - queue - ) / CoreMedia.CMSimpleQueueGetCapacity(queue) - else: - return 0.0 - - -def CMTIME_IS_VALID(time): - return (time.flags & CoreMedia.kCMTimeFlags_Valid) != 0 - - -def CMTIME_IS_INVALID(time): - return not CMTIME_IS_VALID(time) - - -def CMTIME_IS_POSITIVE_INFINITY(time): - return ( - CMTIME_IS_VALID(time) - and (time.flags & CoreMedia.kCMTimeFlags_PositiveInfinity) != 0 - ) - - -def CMTIME_IS_NEGATIVE_INFINITY(time): - return ( - CMTIME_IS_VALID(time) - and (time.flags & CoreMedia.kCMTimeFlags_NegativeInfinity) != 0 - ) - - -def CMTIME_IS_INDEFINITE(time): - return ( - CMTIME_IS_VALID(time) and (time.flags & CoreMedia.kCMTimeFlags_Indefinite) != 0 - ) - - -def CMTIME_IS_NUMERIC(time): - return ( - time.flags - & (CoreMedia.kCMTimeFlags_Valid | CoreMedia.kCMTimeFlags_ImpliedValueFlagsMask) - ) == CoreMedia.kCMTimeFlags_Valid - - -def CMTIME_HAS_BEEN_ROUNDED(time): - return ( - CMTIME_IS_NUMERIC(time) - and (time.flags & CoreMedia.kCMTimeFlags_HasBeenRounded) != 0 - ) diff --git a/src/lib/CoreMedia/_metadata.py b/src/lib/CoreMedia/_metadata.py deleted file mode 100644 index dda298d..0000000 --- a/src/lib/CoreMedia/_metadata.py +++ /dev/null @@ -1,1598 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:45:23 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CMTime": objc.createStructType( - "CoreMedia.CMTime", - b"{_CMTime=qiIq}", - ["value", "timescale", "flags", "epoch"], - ), - "CMTimeMapping": objc.createStructType( - "CoreMedia.CMTimeMapping", - b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}", - ["source", "target"], - ), - "CMVideoDimensions": objc.createStructType( - "CoreMedia.CMVideoDimensions", - b"{_CMVideoDimensions=ii}", - ["width", "height"], - ), - "CMTimeRange": objc.createStructType( - "CoreMedia.CMTimeRange", - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ["start", "duration"], - ), - "CMSampleTimingInfo": objc.createStructType( - "CoreMedia.CMSampleTimingInfo", - b"{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}", - ["duration", "presentationTimeStamp", "decodeTimeStamp"], - ), - } -) -constants = """$kCMFormatDescriptionAlphaChannelMode_PremultipliedAlpha$kCMFormatDescriptionAlphaChannelMode_StraightAlpha$kCMFormatDescriptionChromaLocation_Bottom$kCMFormatDescriptionChromaLocation_BottomLeft$kCMFormatDescriptionChromaLocation_Center$kCMFormatDescriptionChromaLocation_DV420$kCMFormatDescriptionChromaLocation_Left$kCMFormatDescriptionChromaLocation_Top$kCMFormatDescriptionChromaLocation_TopLeft$kCMFormatDescriptionColorPrimaries_DCI_P3$kCMFormatDescriptionColorPrimaries_EBU_3213$kCMFormatDescriptionColorPrimaries_ITU_R_2020$kCMFormatDescriptionColorPrimaries_ITU_R_709_2$kCMFormatDescriptionColorPrimaries_P22$kCMFormatDescriptionColorPrimaries_P3_D65$kCMFormatDescriptionColorPrimaries_SMPTE_C$kCMFormatDescriptionConformsToMPEG2VideoProfile$kCMFormatDescriptionExtensionKey_MetadataKeyTable$kCMFormatDescriptionExtension_AlphaChannelMode$kCMFormatDescriptionExtension_AlternativeTransferCharacteristics$kCMFormatDescriptionExtension_AmbientViewingEnvironment$kCMFormatDescriptionExtension_AuxiliaryTypeInfo$kCMFormatDescriptionExtension_BitsPerComponent$kCMFormatDescriptionExtension_BytesPerRow$kCMFormatDescriptionExtension_ChromaLocationBottomField$kCMFormatDescriptionExtension_ChromaLocationTopField$kCMFormatDescriptionExtension_CleanAperture$kCMFormatDescriptionExtension_ColorPrimaries$kCMFormatDescriptionExtension_ContainsAlphaChannel$kCMFormatDescriptionExtension_ContentLightLevelInfo$kCMFormatDescriptionExtension_Depth$kCMFormatDescriptionExtension_FieldCount$kCMFormatDescriptionExtension_FieldDetail$kCMFormatDescriptionExtension_FormatName$kCMFormatDescriptionExtension_FullRangeVideo$kCMFormatDescriptionExtension_GammaLevel$kCMFormatDescriptionExtension_HorizontalFieldOfView$kCMFormatDescriptionExtension_ICCProfile$kCMFormatDescriptionExtension_MasteringDisplayColorVolume$kCMFormatDescriptionExtension_OriginalCompressionSettings$kCMFormatDescriptionExtension_PixelAspectRatio$kCMFormatDescriptionExtension_ProtectedContentOriginalFormat$kCMFormatDescriptionExtension_RevisionLevel$kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms$kCMFormatDescriptionExtension_SpatialQuality$kCMFormatDescriptionExtension_TemporalQuality$kCMFormatDescriptionExtension_TransferFunction$kCMFormatDescriptionExtension_Vendor$kCMFormatDescriptionExtension_VerbatimISOSampleEntry$kCMFormatDescriptionExtension_VerbatimImageDescription$kCMFormatDescriptionExtension_VerbatimSampleDescription$kCMFormatDescriptionExtension_Version$kCMFormatDescriptionExtension_YCbCrMatrix$kCMFormatDescriptionFieldDetail_SpatialFirstLineEarly$kCMFormatDescriptionFieldDetail_SpatialFirstLineLate$kCMFormatDescriptionFieldDetail_TemporalBottomFirst$kCMFormatDescriptionFieldDetail_TemporalTopFirst$kCMFormatDescriptionKey_CleanApertureHeight$kCMFormatDescriptionKey_CleanApertureHeightRational$kCMFormatDescriptionKey_CleanApertureHorizontalOffset$kCMFormatDescriptionKey_CleanApertureHorizontalOffsetRational$kCMFormatDescriptionKey_CleanApertureVerticalOffset$kCMFormatDescriptionKey_CleanApertureVerticalOffsetRational$kCMFormatDescriptionKey_CleanApertureWidth$kCMFormatDescriptionKey_CleanApertureWidthRational$kCMFormatDescriptionKey_PixelAspectRatioHorizontalSpacing$kCMFormatDescriptionKey_PixelAspectRatioVerticalSpacing$kCMFormatDescriptionTransferFunction_ITU_R_2020$kCMFormatDescriptionTransferFunction_ITU_R_2100_HLG$kCMFormatDescriptionTransferFunction_ITU_R_709_2$kCMFormatDescriptionTransferFunction_Linear$kCMFormatDescriptionTransferFunction_SMPTE_240M_1995$kCMFormatDescriptionTransferFunction_SMPTE_ST_2084_PQ$kCMFormatDescriptionTransferFunction_SMPTE_ST_428_1$kCMFormatDescriptionTransferFunction_UseGamma$kCMFormatDescriptionTransferFunction_sRGB$kCMFormatDescriptionVendor_Apple$kCMFormatDescriptionYCbCrMatrix_ITU_R_2020$kCMFormatDescriptionYCbCrMatrix_ITU_R_601_4$kCMFormatDescriptionYCbCrMatrix_ITU_R_709_2$kCMFormatDescriptionYCbCrMatrix_SMPTE_240M_1995$kCMHEVCTemporalLevelInfoKey_ConstraintIndicatorFlags$kCMHEVCTemporalLevelInfoKey_LevelIndex$kCMHEVCTemporalLevelInfoKey_ProfileCompatibilityFlags$kCMHEVCTemporalLevelInfoKey_ProfileIndex$kCMHEVCTemporalLevelInfoKey_ProfileSpace$kCMHEVCTemporalLevelInfoKey_TemporalLevel$kCMHEVCTemporalLevelInfoKey_TierFlag$kCMImageDescriptionFlavor_3GPFamily$kCMImageDescriptionFlavor_ISOFamily$kCMImageDescriptionFlavor_QuickTimeMovie$kCMMemoryPoolOption_AgeOutPeriod$kCMMetadataBaseDataType_AffineTransformF64$kCMMetadataBaseDataType_BMP$kCMMetadataBaseDataType_DimensionsF32$kCMMetadataBaseDataType_Float32$kCMMetadataBaseDataType_Float64$kCMMetadataBaseDataType_GIF$kCMMetadataBaseDataType_JPEG$kCMMetadataBaseDataType_JSON$kCMMetadataBaseDataType_PNG$kCMMetadataBaseDataType_PerspectiveTransformF64$kCMMetadataBaseDataType_PointF32$kCMMetadataBaseDataType_PolygonF32$kCMMetadataBaseDataType_PolylineF32$kCMMetadataBaseDataType_RawData$kCMMetadataBaseDataType_RectF32$kCMMetadataBaseDataType_SInt16$kCMMetadataBaseDataType_SInt32$kCMMetadataBaseDataType_SInt64$kCMMetadataBaseDataType_SInt8$kCMMetadataBaseDataType_UInt16$kCMMetadataBaseDataType_UInt32$kCMMetadataBaseDataType_UInt64$kCMMetadataBaseDataType_UInt8$kCMMetadataBaseDataType_UTF16$kCMMetadataBaseDataType_UTF8$kCMMetadataDataType_QuickTimeMetadataDirection$kCMMetadataDataType_QuickTimeMetadataLocation_ISO6709$kCMMetadataFormatDescriptionKey_ConformingDataTypes$kCMMetadataFormatDescriptionKey_DataType$kCMMetadataFormatDescriptionKey_DataTypeNamespace$kCMMetadataFormatDescriptionKey_LanguageTag$kCMMetadataFormatDescriptionKey_LocalID$kCMMetadataFormatDescriptionKey_Namespace$kCMMetadataFormatDescriptionKey_SetupData$kCMMetadataFormatDescriptionKey_StructuralDependency$kCMMetadataFormatDescriptionKey_Value$kCMMetadataFormatDescriptionMetadataSpecificationKey_DataType$kCMMetadataFormatDescriptionMetadataSpecificationKey_ExtendedLanguageTag$kCMMetadataFormatDescriptionMetadataSpecificationKey_Identifier$kCMMetadataFormatDescriptionMetadataSpecificationKey_SetupData$kCMMetadataFormatDescriptionMetadataSpecificationKey_StructuralDependency$kCMMetadataFormatDescription_StructuralDependencyKey_DependencyIsInvalidFlag$kCMMetadataIdentifier_QuickTimeMetadataDirection_Facing$kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransform$kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransformReferenceDimensions$kCMMetadataIdentifier_QuickTimeMetadataLocation_ISO6709$kCMMetadataIdentifier_QuickTimeMetadataPreferredAffineTransform$kCMMetadataIdentifier_QuickTimeMetadataVideoOrientation$kCMMetadataKeySpace_HLSDateRange$kCMMetadataKeySpace_ID3$kCMMetadataKeySpace_ISOUserData$kCMMetadataKeySpace_Icy$kCMMetadataKeySpace_QuickTimeMetadata$kCMMetadataKeySpace_QuickTimeUserData$kCMMetadataKeySpace_iTunes$kCMSampleAttachmentKey_AudioIndependentSampleDecoderRefreshCount$kCMSampleAttachmentKey_CryptorSubsampleAuxiliaryData$kCMSampleAttachmentKey_DependsOnOthers$kCMSampleAttachmentKey_DisplayImmediately$kCMSampleAttachmentKey_DoNotDisplay$kCMSampleAttachmentKey_EarlierDisplayTimesAllowed$kCMSampleAttachmentKey_HEVCStepwiseTemporalSubLayerAccess$kCMSampleAttachmentKey_HEVCSyncSampleNALUnitType$kCMSampleAttachmentKey_HEVCTemporalLevelInfo$kCMSampleAttachmentKey_HEVCTemporalSubLayerAccess$kCMSampleAttachmentKey_HasRedundantCoding$kCMSampleAttachmentKey_IsDependedOnByOthers$kCMSampleAttachmentKey_NotSync$kCMSampleAttachmentKey_PartialSync$kCMSampleBufferAttachmentKey_CameraIntrinsicMatrix$kCMSampleBufferAttachmentKey_DisplayEmptyMediaImmediately$kCMSampleBufferAttachmentKey_DrainAfterDecoding$kCMSampleBufferAttachmentKey_DroppedFrameReason$kCMSampleBufferAttachmentKey_DroppedFrameReasonInfo$kCMSampleBufferAttachmentKey_EmptyMedia$kCMSampleBufferAttachmentKey_EndsPreviousSampleDuration$kCMSampleBufferAttachmentKey_FillDiscontinuitiesWithSilence$kCMSampleBufferAttachmentKey_ForceKeyFrame$kCMSampleBufferAttachmentKey_GradualDecoderRefresh$kCMSampleBufferAttachmentKey_PermanentEmptyMedia$kCMSampleBufferAttachmentKey_PostNotificationWhenConsumed$kCMSampleBufferAttachmentKey_ResetDecoderBeforeDecoding$kCMSampleBufferAttachmentKey_ResumeOutput$kCMSampleBufferAttachmentKey_Reverse$kCMSampleBufferAttachmentKey_SampleReferenceByteOffset$kCMSampleBufferAttachmentKey_SampleReferenceURL$kCMSampleBufferAttachmentKey_SpeedMultiplier$kCMSampleBufferAttachmentKey_StillImageLensStabilizationInfo$kCMSampleBufferAttachmentKey_TransitionID$kCMSampleBufferAttachmentKey_TrimDurationAtEnd$kCMSampleBufferAttachmentKey_TrimDurationAtStart$kCMSampleBufferConduitNotificationParameter_MaxUpcomingOutputPTS$kCMSampleBufferConduitNotificationParameter_MinUpcomingOutputPTS$kCMSampleBufferConduitNotificationParameter_ResumeTag$kCMSampleBufferConduitNotificationParameter_UpcomingOutputPTSRangeMayOverlapQueuedOutputPTSRange$kCMSampleBufferConduitNotification_InhibitOutputUntil$kCMSampleBufferConduitNotification_ResetOutput$kCMSampleBufferConduitNotification_UpcomingOutputPTSRangeChanged$kCMSampleBufferConsumerNotification_BufferConsumed$kCMSampleBufferDroppedFrameReasonInfo_CameraModeSwitch$kCMSampleBufferDroppedFrameReason_Discontinuity$kCMSampleBufferDroppedFrameReason_FrameWasLate$kCMSampleBufferDroppedFrameReason_OutOfBuffers$kCMSampleBufferLensStabilizationInfo_Active$kCMSampleBufferLensStabilizationInfo_Off$kCMSampleBufferLensStabilizationInfo_OutOfRange$kCMSampleBufferLensStabilizationInfo_Unavailable$kCMSampleBufferNotificationParameter_OSStatus$kCMSampleBufferNotification_DataBecameReady$kCMSampleBufferNotification_DataFailed$kCMSoundDescriptionFlavor_3GPFamily$kCMSoundDescriptionFlavor_ISOFamily$kCMSoundDescriptionFlavor_QuickTimeMovie$kCMSoundDescriptionFlavor_QuickTimeMovieV2$kCMTextFormatDescriptionColor_Alpha$kCMTextFormatDescriptionColor_Blue$kCMTextFormatDescriptionColor_Green$kCMTextFormatDescriptionColor_Red$kCMTextFormatDescriptionExtension_BackgroundColor$kCMTextFormatDescriptionExtension_DefaultFontName$kCMTextFormatDescriptionExtension_DefaultStyle$kCMTextFormatDescriptionExtension_DefaultTextBox$kCMTextFormatDescriptionExtension_DisplayFlags$kCMTextFormatDescriptionExtension_FontTable$kCMTextFormatDescriptionExtension_HorizontalJustification$kCMTextFormatDescriptionExtension_TextJustification$kCMTextFormatDescriptionExtension_VerticalJustification$kCMTextFormatDescriptionRect_Bottom$kCMTextFormatDescriptionRect_Left$kCMTextFormatDescriptionRect_Right$kCMTextFormatDescriptionRect_Top$kCMTextFormatDescriptionStyle_Ascent$kCMTextFormatDescriptionStyle_EndChar$kCMTextFormatDescriptionStyle_Font$kCMTextFormatDescriptionStyle_FontFace$kCMTextFormatDescriptionStyle_FontSize$kCMTextFormatDescriptionStyle_ForegroundColor$kCMTextFormatDescriptionStyle_Height$kCMTextFormatDescriptionStyle_StartChar$kCMTextMarkupAlignmentType_End$kCMTextMarkupAlignmentType_Left$kCMTextMarkupAlignmentType_Middle$kCMTextMarkupAlignmentType_Right$kCMTextMarkupAlignmentType_Start$kCMTextMarkupAttribute_Alignment$kCMTextMarkupAttribute_BackgroundColorARGB$kCMTextMarkupAttribute_BaseFontSizePercentageRelativeToVideoHeight$kCMTextMarkupAttribute_BoldStyle$kCMTextMarkupAttribute_CharacterBackgroundColorARGB$kCMTextMarkupAttribute_CharacterEdgeStyle$kCMTextMarkupAttribute_FontFamilyName$kCMTextMarkupAttribute_ForegroundColorARGB$kCMTextMarkupAttribute_GenericFontFamilyName$kCMTextMarkupAttribute_ItalicStyle$kCMTextMarkupAttribute_OrthogonalLinePositionPercentageRelativeToWritingDirection$kCMTextMarkupAttribute_RelativeFontSize$kCMTextMarkupAttribute_TextPositionPercentageRelativeToWritingDirection$kCMTextMarkupAttribute_UnderlineStyle$kCMTextMarkupAttribute_VerticalLayout$kCMTextMarkupAttribute_WritingDirectionSizePercentage$kCMTextMarkupCharacterEdgeStyle_Depressed$kCMTextMarkupCharacterEdgeStyle_DropShadow$kCMTextMarkupCharacterEdgeStyle_None$kCMTextMarkupCharacterEdgeStyle_Raised$kCMTextMarkupCharacterEdgeStyle_Uniform$kCMTextMarkupGenericFontName_Casual$kCMTextMarkupGenericFontName_Cursive$kCMTextMarkupGenericFontName_Default$kCMTextMarkupGenericFontName_Fantasy$kCMTextMarkupGenericFontName_Monospace$kCMTextMarkupGenericFontName_MonospaceSansSerif$kCMTextMarkupGenericFontName_MonospaceSerif$kCMTextMarkupGenericFontName_ProportionalSansSerif$kCMTextMarkupGenericFontName_ProportionalSerif$kCMTextMarkupGenericFontName_SansSerif$kCMTextMarkupGenericFontName_Serif$kCMTextMarkupGenericFontName_SmallCapital$kCMTextVerticalLayout_LeftToRight$kCMTextVerticalLayout_RightToLeft$kCMTimeCodeFormatDescriptionExtension_SourceReferenceName$kCMTimeCodeFormatDescriptionKey_LangCode$kCMTimeCodeFormatDescriptionKey_Value$kCMTimeEpochKey$kCMTimeFlagsKey$kCMTimeIndefinite@{_CMTime=qiIq}$kCMTimeInvalid@{_CMTime=qiIq}$kCMTimeMappingInvalid@{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}$kCMTimeMappingSourceKey$kCMTimeMappingTargetKey$kCMTimeNegativeInfinity@{_CMTime=qiIq}$kCMTimePositiveInfinity@{_CMTime=qiIq}$kCMTimeRangeDurationKey$kCMTimeRangeInvalid@{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}$kCMTimeRangeStartKey$kCMTimeRangeZero@{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}$kCMTimeScaleKey$kCMTimeValueKey$kCMTimeZero@{_CMTime=qiIq}$kCMTimebaseNotificationKey_EventTime$kCMTimebaseNotification_EffectiveRateChanged$kCMTimebaseNotification_TimeJumped$kCMTimingInfoInvalid@{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}$""" -enums = """$CMTIMEBASE_USE_SOURCE_TERMINOLOGY@0$kCMAttachmentMode_ShouldNotPropagate@0$kCMAttachmentMode_ShouldPropagate@1$kCMAudioCodecType_AAC_AudibleProtected@1633771875$kCMAudioCodecType_AAC_LCProtected@1885430115$kCMAudioFormatDescriptionMask_All@15$kCMAudioFormatDescriptionMask_ChannelLayout@4$kCMAudioFormatDescriptionMask_Extensions@8$kCMAudioFormatDescriptionMask_MagicCookie@2$kCMAudioFormatDescriptionMask_StreamBasicDescription@1$kCMBlockBufferAlwaysCopyDataFlag@2$kCMBlockBufferAssureMemoryNowFlag@1$kCMBlockBufferBadCustomBlockSourceErr@-12702$kCMBlockBufferBadLengthParameterErr@-12704$kCMBlockBufferBadOffsetParameterErr@-12703$kCMBlockBufferBadPointerParameterErr@-12705$kCMBlockBufferBlockAllocationFailedErr@-12701$kCMBlockBufferCustomBlockSourceVersion@0$kCMBlockBufferDontOptimizeDepthFlag@4$kCMBlockBufferEmptyBBufErr@-12706$kCMBlockBufferInsufficientSpaceErr@-12708$kCMBlockBufferNoErr@0$kCMBlockBufferPermitEmptyReferenceFlag@8$kCMBlockBufferStructureAllocationFailedErr@-12700$kCMBlockBufferUnallocatedBlockErr@-12707$kCMBufferQueueError_AllocationFailed@-12760$kCMBufferQueueError_BadTriggerDuration@-12765$kCMBufferQueueError_CannotModifyQueueFromTriggerCallback@-12766$kCMBufferQueueError_EnqueueAfterEndOfData@-12763$kCMBufferQueueError_InvalidBuffer@-12769$kCMBufferQueueError_InvalidCMBufferCallbacksStruct@-12762$kCMBufferQueueError_InvalidTriggerCondition@-12767$kCMBufferQueueError_InvalidTriggerToken@-12768$kCMBufferQueueError_QueueIsFull@-12764$kCMBufferQueueError_RequiredParameterMissing@-12761$kCMBufferQueueTrigger_WhenBufferCountBecomesGreaterThan@11$kCMBufferQueueTrigger_WhenBufferCountBecomesLessThan@10$kCMBufferQueueTrigger_WhenDataBecomesReady@7$kCMBufferQueueTrigger_WhenDurationBecomesGreaterThan@3$kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualTo@4$kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualToAndBufferCountBecomesGreaterThan@12$kCMBufferQueueTrigger_WhenDurationBecomesLessThan@1$kCMBufferQueueTrigger_WhenDurationBecomesLessThanOrEqualTo@2$kCMBufferQueueTrigger_WhenEndOfDataReached@8$kCMBufferQueueTrigger_WhenMaxPresentationTimeStampChanges@6$kCMBufferQueueTrigger_WhenMinPresentationTimeStampChanges@5$kCMBufferQueueTrigger_WhenReset@9$kCMClockError_AllocationFailed@-12747$kCMClockError_InvalidParameter@-12746$kCMClockError_MissingRequiredParameter@-12745$kCMClockError_UnsupportedOperation@-12756$kCMClosedCaptionFormatType_ATSC@1635017571$kCMClosedCaptionFormatType_CEA608@1664495672$kCMClosedCaptionFormatType_CEA708@1664561208$kCMFormatDescriptionBridgeError_AllocationFailed@-12713$kCMFormatDescriptionBridgeError_IncompatibleFormatDescription@-12716$kCMFormatDescriptionBridgeError_InvalidFormatDescription@-12715$kCMFormatDescriptionBridgeError_InvalidParameter@-12712$kCMFormatDescriptionBridgeError_InvalidSerializedSampleDescription@-12714$kCMFormatDescriptionBridgeError_InvalidSlice@-12719$kCMFormatDescriptionBridgeError_UnsupportedSampleDescriptionFlavor@-12717$kCMFormatDescriptionError_AllocationFailed@-12711$kCMFormatDescriptionError_InvalidParameter@-12710$kCMFormatDescriptionError_ValueNotAvailable@-12718$kCMMPEG2VideoProfile_HDV_1080i50@1751414323$kCMMPEG2VideoProfile_HDV_1080i60@1751414322$kCMMPEG2VideoProfile_HDV_1080p24@1751414326$kCMMPEG2VideoProfile_HDV_1080p25@1751414327$kCMMPEG2VideoProfile_HDV_1080p30@1751414328$kCMMPEG2VideoProfile_HDV_720p24@1751414324$kCMMPEG2VideoProfile_HDV_720p25@1751414325$kCMMPEG2VideoProfile_HDV_720p30@1751414321$kCMMPEG2VideoProfile_HDV_720p50@1751414369$kCMMPEG2VideoProfile_HDV_720p60@1751414329$kCMMPEG2VideoProfile_XDCAM_EX_1080i50_VBR35@2019849827$kCMMPEG2VideoProfile_XDCAM_EX_1080i60_VBR35@2019849826$kCMMPEG2VideoProfile_XDCAM_EX_1080p24_VBR35@2019849828$kCMMPEG2VideoProfile_XDCAM_EX_1080p25_VBR35@2019849829$kCMMPEG2VideoProfile_XDCAM_EX_1080p30_VBR35@2019849830$kCMMPEG2VideoProfile_XDCAM_EX_720p24_VBR35@2019849780$kCMMPEG2VideoProfile_XDCAM_EX_720p25_VBR35@2019849781$kCMMPEG2VideoProfile_XDCAM_EX_720p30_VBR35@2019849777$kCMMPEG2VideoProfile_XDCAM_EX_720p50_VBR35@2019849825$kCMMPEG2VideoProfile_XDCAM_EX_720p60_VBR35@2019849785$kCMMPEG2VideoProfile_XDCAM_HD422_1080i50_CBR50@2019833187$kCMMPEG2VideoProfile_XDCAM_HD422_1080i60_CBR50@2019833186$kCMMPEG2VideoProfile_XDCAM_HD422_1080p24_CBR50@2019833188$kCMMPEG2VideoProfile_XDCAM_HD422_1080p25_CBR50@2019833189$kCMMPEG2VideoProfile_XDCAM_HD422_1080p30_CBR50@2019833190$kCMMPEG2VideoProfile_XDCAM_HD422_540p@2019846194$kCMMPEG2VideoProfile_XDCAM_HD422_720p24_CBR50@2019833140$kCMMPEG2VideoProfile_XDCAM_HD422_720p25_CBR50@2019833141$kCMMPEG2VideoProfile_XDCAM_HD422_720p30_CBR50@2019833137$kCMMPEG2VideoProfile_XDCAM_HD422_720p50_CBR50@2019833185$kCMMPEG2VideoProfile_XDCAM_HD422_720p60_CBR50@2019833145$kCMMPEG2VideoProfile_XDCAM_HD_1080i50_VBR35@2019849779$kCMMPEG2VideoProfile_XDCAM_HD_1080i60_VBR35@2019849778$kCMMPEG2VideoProfile_XDCAM_HD_1080p24_VBR35@2019849782$kCMMPEG2VideoProfile_XDCAM_HD_1080p25_VBR35@2019849783$kCMMPEG2VideoProfile_XDCAM_HD_1080p30_VBR35@2019849784$kCMMPEG2VideoProfile_XDCAM_HD_540p@2019846244$kCMMPEG2VideoProfile_XF@2019981873$kCMMediaType_Audio@1936684398$kCMMediaType_ClosedCaption@1668047728$kCMMediaType_Metadata@1835365473$kCMMediaType_Muxed@1836415096$kCMMediaType_Subtitle@1935832172$kCMMediaType_Text@1952807028$kCMMediaType_TimeCode@1953325924$kCMMediaType_Video@1986618469$kCMMemoryPoolError_AllocationFailed@-15490$kCMMemoryPoolError_InvalidParameter@-15491$kCMMetadataDataTypeRegistryError_AllocationFailed@-16310$kCMMetadataDataTypeRegistryError_BadDataTypeIdentifier@-16312$kCMMetadataDataTypeRegistryError_DataTypeAlreadyRegistered@-16313$kCMMetadataDataTypeRegistryError_MultipleConformingBaseTypes@-16315$kCMMetadataDataTypeRegistryError_RequiredParameterMissing@-16311$kCMMetadataDataTypeRegistryError_RequiresConformingBaseType@-16314$kCMMetadataFormatType_Boxed@1835360888$kCMMetadataFormatType_EMSG@1701671783$kCMMetadataFormatType_ICY@1768126752$kCMMetadataFormatType_ID3@1768174368$kCMMetadataIdentifierError_AllocationFailed@-16300$kCMMetadataIdentifierError_BadIdentifier@-16307$kCMMetadataIdentifierError_BadKey@-16302$kCMMetadataIdentifierError_BadKeyLength@-16303$kCMMetadataIdentifierError_BadKeySpace@-16306$kCMMetadataIdentifierError_BadKeyType@-16304$kCMMetadataIdentifierError_BadNumberKey@-16305$kCMMetadataIdentifierError_NoKeyValueAvailable@-16308$kCMMetadataIdentifierError_RequiredParameterMissing@-16301$kCMMuxedStreamType_DV@1685463072$kCMMuxedStreamType_MPEG1System@1836069235$kCMMuxedStreamType_MPEG2Program@1836069488$kCMMuxedStreamType_MPEG2Transport@1836069492$kCMPersistentTrackID_Invalid@0$kCMPixelFormat_16BE555@16$kCMPixelFormat_16BE565@1110783541$kCMPixelFormat_16LE555@1278555445$kCMPixelFormat_16LE5551@892679473$kCMPixelFormat_16LE565@1278555701$kCMPixelFormat_24RGB@24$kCMPixelFormat_32ARGB@32$kCMPixelFormat_32BGRA@1111970369$kCMPixelFormat_422YpCbCr10@1983000880$kCMPixelFormat_422YpCbCr16@1983000886$kCMPixelFormat_422YpCbCr8@846624121$kCMPixelFormat_422YpCbCr8_yuvs@2037741171$kCMPixelFormat_4444YpCbCrA8@1983131704$kCMPixelFormat_444YpCbCr10@1983131952$kCMPixelFormat_444YpCbCr8@1983066168$kCMPixelFormat_8IndexedGray_WhiteIsZero@40$kCMSampleBufferError_AllocationFailed@-12730$kCMSampleBufferError_AlreadyHasDataBuffer@-12732$kCMSampleBufferError_ArrayTooSmall@-12737$kCMSampleBufferError_BufferHasNoSampleSizes@-12735$kCMSampleBufferError_BufferHasNoSampleTimingInfo@-12736$kCMSampleBufferError_BufferNotReady@-12733$kCMSampleBufferError_CannotSubdivide@-12739$kCMSampleBufferError_DataCanceled@-16751$kCMSampleBufferError_DataFailed@-16750$kCMSampleBufferError_InvalidEntryCount@-12738$kCMSampleBufferError_InvalidMediaFormat@-12743$kCMSampleBufferError_InvalidMediaTypeForOperation@-12741$kCMSampleBufferError_InvalidSampleData@-12742$kCMSampleBufferError_Invalidated@-12744$kCMSampleBufferError_RequiredParameterMissing@-12731$kCMSampleBufferError_SampleIndexOutOfRange@-12734$kCMSampleBufferError_SampleTimingInfoInvalid@-12740$kCMSampleBufferFlag_AudioBufferList_Assure16ByteAlignment@1$kCMSimpleQueueError_AllocationFailed@-12770$kCMSimpleQueueError_ParameterOutOfRange@-12772$kCMSimpleQueueError_QueueIsFull@-12773$kCMSimpleQueueError_RequiredParameterMissing@-12771$kCMSubtitleFormatType_3GText@1954034535$kCMSubtitleFormatType_WebVTT@2004251764$kCMSyncError_AllocationFailed@-12754$kCMSyncError_InvalidParameter@-12753$kCMSyncError_MissingRequiredParameter@-12752$kCMSyncError_RateMustBeNonZero@-12755$kCMTextDisplayFlag_allSubtitlesForced@2147483648$kCMTextDisplayFlag_continuousKaraoke@2048$kCMTextDisplayFlag_fillTextRegion@262144$kCMTextDisplayFlag_forcedSubtitlesPresent@1073741824$kCMTextDisplayFlag_obeySubtitleFormatting@536870912$kCMTextDisplayFlag_scrollDirectionMask@384$kCMTextDisplayFlag_scrollDirection_bottomToTop@0$kCMTextDisplayFlag_scrollDirection_leftToRight@384$kCMTextDisplayFlag_scrollDirection_rightToLeft@128$kCMTextDisplayFlag_scrollDirection_topToBottom@256$kCMTextDisplayFlag_scrollIn@32$kCMTextDisplayFlag_scrollOut@64$kCMTextDisplayFlag_writeTextVertically@131072$kCMTextFormatType_3GText@1954034535$kCMTextFormatType_QTText@1952807028$kCMTextJustification_bottom_right@-1$kCMTextJustification_centered@1$kCMTextJustification_left_top@0$kCMTimeCodeFlag_24HourMax@2$kCMTimeCodeFlag_DropFrame@1$kCMTimeCodeFlag_NegTimesOK@4$kCMTimeCodeFormatType_Counter32@1668166450$kCMTimeCodeFormatType_Counter64@1668167220$kCMTimeCodeFormatType_TimeCode32@1953325924$kCMTimeCodeFormatType_TimeCode64@1952658996$kCMTimeFlags_HasBeenRounded@2$kCMTimeFlags_ImpliedValueFlagsMask@28$kCMTimeFlags_Indefinite@16$kCMTimeFlags_NegativeInfinity@8$kCMTimeFlags_PositiveInfinity@4$kCMTimeFlags_Valid@1$kCMTimeMaxTimescale@2147483647$kCMTimeRoundingMethod_Default@1$kCMTimeRoundingMethod_QuickTime@4$kCMTimeRoundingMethod_RoundAwayFromZero@3$kCMTimeRoundingMethod_RoundHalfAwayFromZero@1$kCMTimeRoundingMethod_RoundTowardNegativeInfinity@6$kCMTimeRoundingMethod_RoundTowardPositiveInfinity@5$kCMTimeRoundingMethod_RoundTowardZero@2$kCMTimebaseError_AllocationFailed@-12750$kCMTimebaseError_InvalidParameter@-12749$kCMTimebaseError_MissingRequiredParameter@-12748$kCMTimebaseError_ReadOnly@-12757$kCMTimebaseError_TimerIntervalTooShort@-12751$kCMTimebaseVeryLongCFTimeInterval@8073216000.0$kCMVideoCodecType_422YpCbCr8@846624121$kCMVideoCodecType_Animation@1919706400$kCMVideoCodecType_AppleProRes422@1634755438$kCMVideoCodecType_AppleProRes422HQ@1634755432$kCMVideoCodecType_AppleProRes422LT@1634755443$kCMVideoCodecType_AppleProRes422Proxy@1634755439$kCMVideoCodecType_AppleProRes4444@1634743400$kCMVideoCodecType_AppleProRes4444XQ@1634743416$kCMVideoCodecType_AppleProResRAW@1634759278$kCMVideoCodecType_AppleProResRAWHQ@1634759272$kCMVideoCodecType_Cinepak@1668704612$kCMVideoCodecType_DVCNTSC@1685480224$kCMVideoCodecType_DVCPAL@1685480304$kCMVideoCodecType_DVCPROHD1080i50@1685481525$kCMVideoCodecType_DVCPROHD1080i60@1685481526$kCMVideoCodecType_DVCPROHD1080p25@1685481522$kCMVideoCodecType_DVCPROHD1080p30@1685481523$kCMVideoCodecType_DVCPROHD720p50@1685481585$kCMVideoCodecType_DVCPROHD720p60@1685481584$kCMVideoCodecType_DVCPro50NTSC@1685468526$kCMVideoCodecType_DVCPro50PAL@1685468528$kCMVideoCodecType_DVCProPAL@1685483632$kCMVideoCodecType_DepthHEVC@1684369512$kCMVideoCodecType_DisparityHEVC@1684632424$kCMVideoCodecType_DolbyVisionHEVC@1685481521$kCMVideoCodecType_H263@1748121139$kCMVideoCodecType_H264@1635148593$kCMVideoCodecType_HEVC@1752589105$kCMVideoCodecType_HEVCWithAlpha@1836415073$kCMVideoCodecType_JPEG@1785750887$kCMVideoCodecType_JPEG_OpenDML@1684890161$kCMVideoCodecType_MPEG1Video@1836069238$kCMVideoCodecType_MPEG2Video@1836069494$kCMVideoCodecType_MPEG4Video@1836070006$kCMVideoCodecType_SorensonVideo@1398165809$kCMVideoCodecType_SorensonVideo3@1398165811$kCMVideoCodecType_VP9@1987063865$""" -misc.update( - { - "CMTimeRoundingMethod": NewType("CMTimeRoundingMethod", int), - "CMTimeFlags": NewType("CMTimeFlags", int), - } -) -misc.update({}) -functions = { - "CMBlockBufferCreateEmpty": ( - b"i^{__CFAllocator=}II^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimebaseCreateWithMasterTimebase": ( - b"i^{__CFAllocator=}^{OpaqueCMTimebase=}^^{OpaqueCMTimebase=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueMarkEndOfData": (b"i^{opaqueCMBufferQueue=}",), - "CMFormatDescriptionCreate": ( - b"i^{__CFAllocator=}II^{__CFDictionary=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueIsEmpty": (b"Z^{opaqueCMBufferQueue=}",), - "CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioFormatDescriptionGetStreamBasicDescription": ( - b"^{AudioStreamBasicDescription=dIIIIIIII}^{opaqueCMFormatDescription=}", - ), - "CMTimeMappingMakeFromDictionary": ( - b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}^{__CFDictionary=}", - ), - "CMBufferQueueEnqueue": (b"i^{opaqueCMBufferQueue=}@",), - "CMBufferQueueInstallTrigger": ( - b"i^{opaqueCMBufferQueue=}^?^vi{_CMTime=qiIq}^^{opaqueCMBufferQueueTriggerToken=}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMBufferQueueTriggerToken=}"}, - }, - } - }, - 5: {"type_modifier": "o"}, - } - }, - ), - "CMTimebaseGetMasterClock": (b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}",), - "CMTextFormatDescriptionGetDefaultStyle": ( - b"i^{opaqueCMFormatDescription=}^S^Z^Z^Z^d^d", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - 5: {"type_modifier": "o"}, - 6: {"c_array_of_fixed_length": 4, "type_modifier": "o"}, - } - }, - ), - "CMSampleBufferGetSampleTimingInfo": ( - b"i^{opaqueCMSampleBuffer=}q^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CMBufferQueueGetMaxPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}", - ), - "CMTimebaseCopyMasterClock": ( - b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMClockMightDrift": (b"Z^{OpaqueCMClock=}^{OpaqueCMClock=}",), - "CMTimebaseGetTimeAndRate": (b"i^{OpaqueCMTimebase=}^{_CMTime=qiIq}^d",), - "CMMetadataCreateIdentifierForKeyAndKeySpace": ( - b"i^{__CFAllocator=}@^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSetAttachments": (b"v@^{__CFDictionary=}I",), - "CMTimebaseCopySourceClock": ( - b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMMetadataDataTypeRegistryDataTypeConformsToDataType": ( - b"Z^{__CFString=}^{__CFString=}", - ), - "CMVideoFormatDescriptionGetDimensions": ( - b"{_CMVideoDimensions=ii}^{opaqueCMFormatDescription=}", - ), - "CMMemoryPoolInvalidate": (b"v^{OpaqueCMMemoryPool=}",), - "CMBufferQueueRemoveTrigger": ( - b"i^{opaqueCMBufferQueue=}^{opaqueCMBufferQueueTriggerToken=}", - ), - "CMSampleBufferCreate": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}Z^?^v^{opaqueCMFormatDescription=}qq^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}q^Q^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: {"c_array_length_in_arg": 7, "type_modifier": "n"}, - 11: {"already_cfretained": True, "type_modifier": "o"}, - 10: {"c_array_length_in_arg": 9, "type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"^v"}, - }, - } - }, - }, - }, - ), - "CMTimeCodeFormatDescriptionGetFrameQuanta": (b"I^{opaqueCMFormatDescription=}",), - "CMTimeCodeFormatDescriptionCopyAsBigEndianTimeCodeDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferSetDataBufferFromAudioBufferList": ( - b"i^{opaqueCMSampleBuffer=}^{__CFAllocator=}^{__CFAllocator=}I^{AudioBufferList=I[1{AudioBuffer=II^v}]}", - ), - "CMSwapBigEndianTextDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMBufferQueueGetTotalSize": (b"Q^{opaqueCMBufferQueue=}",), - "CMTimebaseGetTimeWithTimeScale": (b"{_CMTime=qiIq}^{OpaqueCMTimebase=}iI",), - "CMTimebaseCreateWithMasterClock": ( - b"i^{__CFAllocator=}^{OpaqueCMClock=}^^{OpaqueCMTimebase=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSwapHostEndianTextDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMSyncGetRelativeRateAndAnchorTime": ( - b"i@@^d^{_CMTime=qiIq}^{_CMTime=qiIq}", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CMTimeRangeFromTimeToTime": ( - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTime=qiIq}{_CMTime=qiIq}", - ), - "CMClockMakeHostTimeFromSystemUnits": (b"{_CMTime=qiIq}Q",), - "CMSwapHostEndianTimeCodeDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMAudioFormatDescriptionEqual": ( - b"Z^{opaqueCMFormatDescription=}^{opaqueCMFormatDescription=}I^I", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CMAudioSampleBufferCreateWithPacketDescriptionsAndMakeDataReadyHandler": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}Z^{opaqueCMFormatDescription=}q{_CMTime=qiIq}^{AudioStreamPacketDescription=qII}^^{opaqueCMSampleBuffer=}@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{OpaqueCMSampleBuffer=}"}, - }, - } - }, - 6: {"c_array_length_in_arg": 5, "type_modifier": "n"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMSampleBufferMakeDataReady": (b"i^{opaqueCMSampleBuffer=}",), - "CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionData": ( - b"i^{__CFAllocator=}^CQ^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimeSubtract": (b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMSampleBufferGetSampleTimingInfoArray": ( - b"i^{opaqueCMSampleBuffer=}q^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CMSampleBufferGetSampleAttachmentsArray": ( - b"^{__CFArray=}^{opaqueCMSampleBuffer=}Z", - ), - "CMTimeAbsoluteValue": (b"{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMBufferQueueTestTrigger": ( - b"Z^{opaqueCMBufferQueue=}^{opaqueCMBufferQueueTriggerToken=}", - ), - "CMFormatDescriptionGetMediaType": (b"I^{opaqueCMFormatDescription=}",), - "CMTimebaseCopyMaster": ( - b"@^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSimpleQueueCreate": ( - b"i^{__CFAllocator=}i^^{opaqueCMSimpleQueue=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMMetadataFormatDescriptionGetKeyWithLocalID": ( - b"^{__CFDictionary=}^{opaqueCMFormatDescription=}I", - ), - "CMMetadataDataTypeRegistryRegisterDataType": ( - b"i^{__CFString=}^{__CFString=}^{__CFArray=}", - ), - "CMBufferQueueGetTypeID": (b"Q",), - "CMBlockBufferGetDataPointer": (b"i^{OpaqueCMBlockBuffer=}Q^Q^Q^^v",), - "CMSampleBufferGetImageBuffer": (b"^{__CVBuffer=}^{opaqueCMSampleBuffer=}",), - "CMBufferQueueCallForEachBuffer": ( - b"i^{opaqueCMBufferQueue=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "CMMuxedFormatDescriptionCreate": ( - b"i^{__CFAllocator=}I^{__CFDictionary=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferCreateForImageBufferWithMakeDataReadyHandler": ( - b"i^{__CFAllocator=}^{__CVBuffer=}Z^{opaqueCMFormatDescription=}^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^^{opaqueCMSampleBuffer=}@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: {"already_cfretained": True, "type_modifier": "o"}, - 6: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{OpaqueCMSampleBuffer=}"}, - }, - } - }, - }, - }, - ), - "CMSwapHostEndianSoundDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMSwapBigEndianSoundDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMTimebaseGetMaster": (b"@^{OpaqueCMTimebase=}",), - "CMSampleBufferTrackDataReadiness": ( - b"i^{opaqueCMSampleBuffer=}^{opaqueCMSampleBuffer=}", - ), - "CMClockConvertHostTimeToSystemUnits": (b"Q{_CMTime=qiIq}",), - "CMBlockBufferFillDataBytes": (b"ic^{OpaqueCMBlockBuffer=}QQ",), - "CMBufferQueueGetBufferCount": (b"q^{opaqueCMBufferQueue=}",), - "CMTimeMappingMake": ( - b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMSampleBufferCopyPCMDataIntoAudioBufferList": ( - b"i^{opaqueCMSampleBuffer=}ii^{AudioBufferList=I[1{AudioBuffer=II^v}]}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimeMultiplyByRatio": (b"{_CMTime=qiIq}{_CMTime=qiIq}ii",), - "CMTextFormatDescriptionGetFontName": ( - b"i^{opaqueCMFormatDescription=}S^^{__CFString=}", - "", - {"arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "CMTimeRangeCopyDescription": ( - b"^{__CFString=}^{__CFAllocator=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMBufferQueueGetFirstPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}", - ), - "CMSimpleQueueGetHead": (b"@^{opaqueCMSimpleQueue=}",), - "CMMetadataDataTypeRegistryDataTypeIsBaseDataType": (b"Z^{__CFString=}",), - "CMMetadataFormatDescriptionCreateWithKeys": ( - b"i^{__CFAllocator=}I^{__CFArray=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioDeviceClockSetAudioDeviceUID": (b"i^{OpaqueCMClock=}^{__CFString=}",), - "CMSwapHostEndianMetadataDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMBlockBufferGetDataLength": (b"Q^{OpaqueCMBlockBuffer=}",), - "CMSampleBufferGetNumSamples": (b"q^{opaqueCMSampleBuffer=}",), - "CMSwapBigEndianClosedCaptionDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMSampleBufferCopySampleBufferForRange": ( - b"i^{__CFAllocator=}^{opaqueCMSampleBuffer=}{_CFRange=qq}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMGetAttachment": ( - b"@@^{__CFString=}^I", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CMSampleBufferGetDecodeTimeStamp": (b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}",), - "CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioFormatDescriptionCopyAsBigEndianSoundDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTextFormatDescriptionCreateFromBigEndianTextDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFString=}I^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueGetFirstDecodeTimeStamp": (b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}",), - "CMSampleBufferCallForEachSample": ( - b"i^{opaqueCMSampleBuffer=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"q"}, - 2: {"type": b"^v"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "CMSwapHostEndianClosedCaptionDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMSampleBufferGetDuration": (b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}",), - "CMMetadataFormatDescriptionCreateWithMetadataSpecifications": ( - b"i^{__CFAllocator=}I^{__CFArray=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSwapHostEndianImageDescriptionToBig": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMTimebaseSetSourceClock": (b"i^{OpaqueCMTimebase=}^{OpaqueCMClock=}",), - "CMSimpleQueueGetCapacity": (b"i^{opaqueCMSimpleQueue=}",), - "CMBufferQueueContainsEndOfData": (b"Z^{opaqueCMBufferQueue=}",), - "CMTimeRangeMake": ( - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTime=qiIq}{_CMTime=qiIq}", - ), - "CMTimeMappingShow": ( - b"v{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}", - ), - "CMMemoryPoolGetTypeID": (b"Q",), - "CMTimebaseCreateWithSourceClock": ( - b"i^{__CFAllocator=}^{OpaqueCMClock=}^^{OpaqueCMTimebase=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimebaseGetMasterTimebase": (b"^{OpaqueCMTimebase=}^{OpaqueCMTimebase=}",), - "CMTimeMakeWithSeconds": (b"{_CMTime=qiIq}di",), - "CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers": ( - b"^{__CFArray=}", - ), - "CMClockGetTypeID": (b"Q",), - "CMTextFormatDescriptionGetJustification": ( - b"i^{opaqueCMFormatDescription=}^z^z", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CMSampleBufferHasDataFailed": ( - b"Z^{opaqueCMSampleBuffer=}^i", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CMTimeMappingCopyAsDictionary": ( - b"^{__CFDictionary=}{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMFormatDescriptionGetMediaSubType": (b"I^{opaqueCMFormatDescription=}",), - "CMSwapBigEndianMetadataDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMBlockBufferAppendMemoryBlock": ( - b"i^{OpaqueCMBlockBuffer=}^vQ^{__CFAllocator=}^{_CMBlockBufferCustomBlockSource=I^?^?^v}QQI", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"type_modifier": "n"}, - } - }, - ), - "CMTimebaseRemoveTimer": (b"i^{OpaqueCMTimebase=}^{__CFRunLoopTimer=}",), - "CMSimpleQueueEnqueue": (b"i^{opaqueCMSimpleQueue=}@",), - "CMTimeFoldIntoRange": ( - b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMFormatDescriptionGetExtension": ( - b"@^{opaqueCMFormatDescription=}^{__CFString=}", - ), - "CMAudioFormatDescriptionGetRichestDecodableFormat": ( - b"^{AudioFormatListItem={AudioStreamBasicDescription=dIIIIIIII}I}^{opaqueCMFormatDescription=}", - ), - "CMSyncGetRelativeRate": (b"d@@",), - "CMMetadataCreateKeySpaceFromIdentifier": ( - b"i^{__CFAllocator=}^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimebaseCopyUltimateMasterClock": ( - b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMBufferQueueGetCallbacksForUnsortedSampleBuffers": ( - b"^{_CMBufferCallbacks=I^v^?^?^?^?^?^{__CFString=}^?}", - ), - "CMSampleBufferGetDataBuffer": ( - b"^{OpaqueCMBlockBuffer=}^{opaqueCMSampleBuffer=}", - ), - "CMSampleBufferInvalidate": (b"i^{opaqueCMSampleBuffer=}",), - "CMBufferQueueGetDuration": (b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}",), - "CMMetadataFormatDescriptionCopyAsBigEndianMetadataDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSetAttachment": (b"v@^{__CFString=}@I",), - "CMBufferQueueDequeueAndRetain": ( - b"@^{opaqueCMBufferQueue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimebaseGetUltimateMasterClock": (b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}",), - "CMTimeCopyDescription": ( - b"^{__CFString=}^{__CFAllocator=}{_CMTime=qiIq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimebaseRemoveTimerDispatchSource": (b"i^{OpaqueCMTimebase=}@",), - "CMCopyDictionaryOfAttachments": ( - b"^{__CFDictionary=}^{__CFAllocator=}@I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMBufferQueueSetValidationCallback": ( - b"i^{opaqueCMBufferQueue=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMBufferQueue=}"}, - 1: {"type": b"@"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CMTimeGetSeconds": (b"d{_CMTime=qiIq}",), - "CMSampleBufferGetSampleSize": (b"Q^{opaqueCMSampleBuffer=}q",), - "CMBufferQueueGetEndPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}", - ), - "CMSampleBufferGetTypeID": (b"Q",), - "CMAudioDeviceClockGetAudioDevice": ( - b"i^{OpaqueCMClock=}^^{__CFString=}^I^Z", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CMAudioDeviceClockSetAudioDeviceID": (b"i^{OpaqueCMClock=}I",), - "CMTimeCodeFormatDescriptionGetFrameDuration": ( - b"{_CMTime=qiIq}^{opaqueCMFormatDescription=}", - ), - "CMTimebaseGetTime": (b"{_CMTime=qiIq}^{OpaqueCMTimebase=}",), - "CMSimpleQueueDequeue": (b"@^{opaqueCMSimpleQueue=}",), - "CMTimeRangeMakeFromDictionary": ( - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^{__CFDictionary=}", - ), - "CMTimebaseGetEffectiveRate": (b"d^{OpaqueCMTimebase=}",), - "CMVideoFormatDescriptionMatchesImageBuffer": ( - b"Z^{opaqueCMFormatDescription=}^{__CVBuffer=}", - ), - "CMSampleBufferCreateReadyWithImageBuffer": ( - b"i^{__CFAllocator=}^{__CVBuffer=}^{opaqueCMFormatDescription=}^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimeMultiply": (b"{_CMTime=qiIq}{_CMTime=qiIq}i",), - "CMTimebaseCopyUltimateSourceClock": ( - b"^{OpaqueCMClock=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSampleBufferCreateCopy": ( - b"i^{__CFAllocator=}^{opaqueCMSampleBuffer=}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMMemoryPoolCreate": ( - b"^{OpaqueCMMemoryPool=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSampleBufferGetAudioStreamPacketDescriptions": ( - b"i^{opaqueCMSampleBuffer=}Q^{AudioStreamPacketDescription=qII}^Q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CMMetadataCreateKeyFromIdentifier": ( - b"i^{__CFAllocator=}^{__CFString=}^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueInstallTriggerWithIntegerThreshold": ( - b"i^{opaqueCMBufferQueue=}^?^viq^^{opaqueCMBufferQueueTriggerToken=}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMBufferQueueTriggerToken=}"}, - }, - } - }, - 5: {"type_modifier": "o"}, - } - }, - ), - "CMAudioClockCreate": ( - b"i^{__CFAllocator=}^^{OpaqueCMClock=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMMetadataFormatDescriptionCreateWithMetadataFormatDescriptionAndMetadataSpecifications": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFArray=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMMemoryPoolGetAllocator": (b"^{__CFAllocator=}^{OpaqueCMMemoryPool=}",), - "CMSampleBufferCallBlockForEachSample": ( - b"i^{opaqueCMSampleBuffer=}@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{opaqueCMSampleBuffer=}"}, - 2: {"type": "q"}, - }, - }, - "block": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"q"}, - }, - }, - } - } - }, - ), - "CMTimeRangeShow": (b"v{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}",), - "CMBlockBufferCreateContiguous": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFAllocator=}^{_CMBlockBufferCustomBlockSource=I^?^?^v}QQI^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"type_modifier": "n"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMBufferQueueDequeueIfDataReadyAndRetain": ( - b"@^{opaqueCMBufferQueue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMBlockBufferGetTypeID": (b"Q",), - "CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionData": ( - b"i^{__CFAllocator=}^CQ^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMBlockBufferReplaceDataBytes": ( - b"i^v^{OpaqueCMBlockBuffer=}QQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 3, "type_modifier": "n"}}}, - ), - "CMDoesBigEndianSoundDescriptionRequireLegacyCBRSampleTableLayout": ( - b"Z^{OpaqueCMBlockBuffer=}^{__CFString=}", - ), - "CMBufferQueueGetMinPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}", - ), - "CMTimebaseSetRateAndAnchorTime": ( - b"i^{OpaqueCMTimebase=}d{_CMTime=qiIq}{_CMTime=qiIq}", - ), - "CMTimebaseSetRate": (b"i^{OpaqueCMTimebase=}d",), - "CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType": ( - b"^{__CFString=}^{__CFString=}", - ), - "CMSimpleQueueGetCount": (b"i^{opaqueCMSimpleQueue=}",), - "CMSampleBufferSetDataBuffer": ( - b"i^{opaqueCMSampleBuffer=}^{OpaqueCMBlockBuffer=}", - ), - "CMBlockBufferIsEmpty": (b"Z^{OpaqueCMBlockBuffer=}",), - "CMSyncConvertTime": (b"{_CMTime=qiIq}{_CMTime=qiIq}@@",), - "CMSyncMightDrift": (b"Z@@",), - "CMTextFormatDescriptionCreateFromBigEndianTextDescriptionData": ( - b"i^{__CFAllocator=}^CQ^{__CFString=}I^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 5: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimeCompare": (b"i{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMAudioFormatDescriptionGetMagicCookie": ( - b"^v^{opaqueCMFormatDescription=}^Q", - "", - { - "retval": {"c_array_length_in_arg": 1}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CMSwapBigEndianImageDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMSampleBufferSetDataReady": (b"i^{opaqueCMSampleBuffer=}",), - "CMMetadataDataTypeRegistryGetDataTypeDescription": ( - b"^{__CFString=}^{__CFString=}", - ), - "CMFormatDescriptionGetExtensions": ( - b"^{__CFDictionary=}^{opaqueCMFormatDescription=}", - ), - "CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionData": ( - b"i^{__CFAllocator=}^CQ^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMSampleBufferDataIsReady": (b"Z^{opaqueCMSampleBuffer=}",), - "CMBlockBufferCreateWithMemoryBlock": ( - b"i^{__CFAllocator=}^vQ^{__CFAllocator=}^{_CMBlockBufferCustomBlockSource=I^?^?^v}QQI^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: {"already_cfretained": True, "type_modifier": "o"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"type_modifier": "n"}, - }, - }, - ), - "CMBufferQueueGetHead": (b"@^{opaqueCMBufferQueue=}",), - "CMBlockBufferAppendBufferReference": ( - b"i^{OpaqueCMBlockBuffer=}^{OpaqueCMBlockBuffer=}QQI", - ), - "CMTimeMakeFromDictionary": (b"{_CMTime=qiIq}^{__CFDictionary=}",), - "CMTimebaseSetSourceTimebase": (b"i^{OpaqueCMTimebase=}^{OpaqueCMTimebase=}",), - "CMSampleBufferSetInvalidateHandler": ( - b"i^{opaqueCMSampleBuffer=}@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{opaqueCMSampleBuffer=}"}, - }, - } - } - } - }, - ), - "CMTimebaseSetTimerNextFireTime": ( - b"i^{OpaqueCMTimebase=}^{__CFRunLoopTimer=}{_CMTime=qiIq}I", - ), - "CMTimeMappingMakeEmpty": ( - b"{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer": ( - b"i^{opaqueCMSampleBuffer=}^Q^{AudioBufferList=I[1{AudioBuffer=II^v}]}Q^{__CFAllocator=}^{__CFAllocator=}I^^{OpaqueCMBlockBuffer=}", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "CMTimeConvertScale": (b"{_CMTime=qiIq}{_CMTime=qiIq}iI",), - "CMMetadataDataTypeRegistryGetBaseDataTypes": (b"^{__CFArray=}",), - "CMFormatDescriptionGetTypeID": (b"Q",), - "CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}I^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueInstallTriggerHandler": ( - b"i@I{_CMTime=qiIq}^^{opaqueCMBufferQueueTriggerToken=}@?", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{opaqueCMBufferQueueTriggerToken=}"}, - }, - } - }, - } - }, - ), - "CMClockGetAnchorTime": ( - b"i^{OpaqueCMClock=}^{_CMTime=qiIq}^{_CMTime=qiIq}", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CMBlockBufferCopyDataBytes": ( - b"i^{OpaqueCMBlockBuffer=}QQ^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferSetOutputPresentationTimeStamp": ( - b"i^{opaqueCMSampleBuffer=}{_CMTime=qiIq}", - ), - "CMBlockBufferIsRangeContiguous": (b"Z^{OpaqueCMBlockBuffer=}QQ",), - "CMMetadataCreateKeyFromIdentifierAsCFData": ( - b"i^{__CFAllocator=}^{__CFString=}^^{__CFData=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioDeviceClockCreateFromAudioDeviceID": ( - b"i^{__CFAllocator=}I^^{OpaqueCMClock=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBufferQueueInstallTriggerHandlerWithIntegerThreshold": ( - b"i@Iq^^{opaqueCMBufferQueueTriggerToken=}@?", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{opaqueCMBufferQueueTriggerToken=}"}, - }, - } - }, - } - }, - ), - "CMTimebaseCopySourceTimebase": ( - b"^{OpaqueCMTimebase=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimeRangeEqual": ( - b"Z{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMTimeRangeGetIntersection": ( - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMClockGetHostTimeClock": (b"^{OpaqueCMClock=}",), - "CMTimeMapTimeFromRangeToRange": ( - b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMBufferQueueReset": (b"i^{opaqueCMBufferQueue=}",), - "CMTimeMapDurationFromRangeToRange": ( - b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMTextFormatDescriptionGetDefaultTextBox": ( - b"i^{opaqueCMFormatDescription=}Zd^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "CMTimeRangeGetEnd": ( - b"{_CMTime=qiIq}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMBufferQueueSetValidationHandler": ( - b"i@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "CMTimeAdd": (b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMTimeRangeContainsTimeRange": ( - b"Z{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMSampleBufferSetDataFailed": (b"i^{opaqueCMSampleBuffer=}i",), - "CMTimebaseSetTimerDispatchSourceToFireImmediately": (b"i^{OpaqueCMTimebase=}@",), - "CMAudioFormatDescriptionGetMostCompatibleFormat": ( - b"^{AudioFormatListItem={AudioStreamBasicDescription=dIIIIIIII}I}^{opaqueCMFormatDescription=}", - ), - "CMTimeClampToRange": ( - b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMFormatDescriptionEqualIgnoringExtensionKeys": ( - b"Z^{opaqueCMFormatDescription=}^{opaqueCMFormatDescription=}@@", - ), - "CMSampleBufferIsValid": (b"Z^{opaqueCMSampleBuffer=}",), - "CMAudioSampleBufferCreateWithPacketDescriptions": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}Z^?^v^{opaqueCMFormatDescription=}q{_CMTime=qiIq}^{AudioStreamPacketDescription=qII}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: {"c_array_length_in_arg": 6, "type_modifier": "n"}, - 9: {"already_cfretained": True, "type_modifier": "o"}, - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"^v"}, - }, - } - }, - }, - }, - ), - "CMBufferQueueGetMinDecodeTimeStamp": (b"{_CMTime=qiIq}^{opaqueCMBufferQueue=}",), - "CMMemoryPoolFlush": (b"v^{OpaqueCMMemoryPool=}",), - "CMMetadataFormatDescriptionGetIdentifiers": ( - b"^{__CFArray=}^{opaqueCMFormatDescription=}", - ), - "CMVideoFormatDescriptionCreateForImageBuffer": ( - b"i^{__CFAllocator=}^{__CVBuffer=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioFormatDescriptionGetFormatList": ( - b"^{AudioFormatListItem={AudioStreamBasicDescription=dIIIIIIII}I}^{opaqueCMFormatDescription=}^Q", - "", - { - "retval": {"c_array_length_in_arg": 1}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CMSampleBufferGetFormatDescription": ( - b"^{opaqueCMFormatDescription=}^{opaqueCMSampleBuffer=}", - ), - "CMTextFormatDescriptionCopyAsBigEndianTextDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimebaseCreateWithSourceTimebase": ( - b"i^{__CFAllocator=}^{OpaqueCMTimebase=}^^{OpaqueCMTimebase=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferGetOutputSampleTimingInfoArray": ( - b"i^{opaqueCMSampleBuffer=}q^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CMVideoFormatDescriptionGetHEVCParameterSetAtIndex": ( - b"i^{opaqueCMFormatDescription=}Q^^C^Q^Q^i", - ), - "CMTimebaseSetTime": (b"i^{OpaqueCMTimebase=}{_CMTime=qiIq}",), - "CMVideoFormatDescriptionGetH264ParameterSetAtIndex": ( - b"i^{opaqueCMFormatDescription=}Q^^C^Q^Q^i", - ), - "CMMetadataDataTypeRegistryGetConformingDataTypes": ( - b"^{__CFArray=}^{__CFString=}", - ), - "CMBufferQueueCreate": ( - b"i^{__CFAllocator=}q^{_CMBufferCallbacks=I^v^?^?^?^?^?^{__CFString=}^?}^^{opaqueCMBufferQueue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSyncGetTime": (b"{_CMTime=qiIq}@",), - "CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionData": ( - b"i^{__CFAllocator=}^CQ^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMMetadataDataTypeRegistryDataTypeIsRegistered": (b"Z^{__CFString=}",), - "CMAudioSampleBufferCreateReadyWithPacketDescriptions": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{opaqueCMFormatDescription=}q{_CMTime=qiIq}^{AudioStreamPacketDescription=qII}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 6: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMSampleBufferGetOutputDuration": (b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}",), - "CMVideoFormatDescriptionGetPresentationDimensions": ( - b"{CGSize=dd}^{opaqueCMFormatDescription=}ZZ", - ), - "CMTimeMake": (b"{_CMTime=qiIq}qi",), - "CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionData": ( - b"i^{__CFAllocator=}^CQI^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 5: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimebaseNotificationBarrier": (b"i^{OpaqueCMTimebase=}",), - "CMTimebaseSetTimerDispatchSourceNextFireTime": ( - b"i^{OpaqueCMTimebase=}@{_CMTime=qiIq}I", - ), - "CMClockGetTime": (b"{_CMTime=qiIq}^{OpaqueCMClock=}",), - "CMSampleBufferCreateCopyWithNewTiming": ( - b"i^{__CFAllocator=}^{opaqueCMSampleBuffer=}q^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimebaseSetMasterTimebase": (b"i^{OpaqueCMTimebase=}^{OpaqueCMTimebase=}",), - "CMTimebaseSetMasterClock": (b"i^{OpaqueCMTimebase=}^{OpaqueCMClock=}",), - "CMTimeRangeCopyAsDictionary": ( - b"^{__CFDictionary=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimeMultiplyByFloat64": (b"{_CMTime=qiIq}{_CMTime=qiIq}d",), - "CMBlockBufferAssureBlockMemory": (b"i^{OpaqueCMBlockBuffer=}",), - "CMAudioDeviceClockCreate": ( - b"i^{__CFAllocator=}^{__CFString=}^^{OpaqueCMClock=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferGetTotalSampleSize": (b"Q^{opaqueCMSampleBuffer=}",), - "CMClockInvalidate": (b"v^{OpaqueCMClock=}",), - "CMTimebaseAddTimer": ( - b"i^{OpaqueCMTimebase=}^{__CFRunLoopTimer=}^{__CFRunLoop=}", - ), - "CMTimeRangeGetUnion": ( - b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - ), - "CMSampleBufferGetPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}", - ), - "CMClosedCaptionFormatDescriptionCopyAsBigEndianClosedCaptionDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMBlockBufferAccessDataBytes": ( - b"i^{OpaqueCMBlockBuffer=}QQ^v^^v", - "", - {"suggestion": "Use CMBlockBufferCopyDataBytes"}, - ), - "CMTimeMappingCopyDescription": ( - b"^{__CFString=}^{__CFAllocator=}{_CMTimeMapping={_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMAudioFormatDescriptionCreateSummary": ( - b"i^{__CFAllocator=}^{__CFArray=}I^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMSampleBufferCreateForImageBuffer": ( - b"i^{__CFAllocator=}^{__CVBuffer=}Z^?^v^{opaqueCMFormatDescription=}^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"^v"}, - }, - } - }, - 6: {"type_modifier": "n"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMAudioFormatDescriptionCreate": ( - b"i^{__CFAllocator=}^{AudioStreamBasicDescription=dIIIIIIII}Q^{AudioChannelLayout=III[1{AudioChannelDescription=II[3f]}]}Q^v^{__CFDictionary=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"type_modifier": "n"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMSampleBufferGetOutputPresentationTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}", - ), - "CMBufferQueueGetCallbacksForSampleBuffersSortedByOutputPTS": ( - b"^{_CMBufferCallbacks=I^v^?^?^?^?^?^{__CFString=}^?}", - ), - "CMVideoFormatDescriptionCreate": ( - b"i^{__CFAllocator=}Iii^{__CFDictionary=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {5: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimeRangeContainsTime": ( - b"Z{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}{_CMTime=qiIq}", - ), - "CMTimeCopyAsDictionary": ( - b"^{__CFDictionary=}{_CMTime=qiIq}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMMetadataFormatDescriptionCreateByMergingMetadataFormatDescriptions": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}^{opaqueCMFormatDescription=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMTimebaseCopyMasterTimebase": ( - b"^{OpaqueCMTimebase=}^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMVideoFormatDescriptionCopyAsBigEndianImageDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{opaqueCMFormatDescription=}I^{__CFString=}^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMFormatDescriptionEqual": ( - b"Z^{opaqueCMFormatDescription=}^{opaqueCMFormatDescription=}", - ), - "CMTimebaseSetAnchorTime": (b"i^{OpaqueCMTimebase=}{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMSimpleQueueReset": (b"i^{opaqueCMSimpleQueue=}",), - "CMSampleBufferGetOutputDecodeTimeStamp": ( - b"{_CMTime=qiIq}^{opaqueCMSampleBuffer=}", - ), - "CMTimebaseGetTypeID": (b"Q",), - "CMSampleBufferCreateReady": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{opaqueCMFormatDescription=}qq^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}q^Q^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: {"already_cfretained": True, "type_modifier": "o"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 7: {"c_array_length_in_arg": 6, "type_modifier": "n"}, - }, - }, - ), - "CMTimeShow": (b"v{_CMTime=qiIq}",), - "CMSampleBufferSetInvalidateCallback": ( - b"i^{opaqueCMSampleBuffer=}^?Q", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{opaqueCMSampleBuffer=}"}, - 1: {"type": b"Q"}, - }, - } - } - } - }, - ), - "CMBufferQueueResetWithCallback": ( - b"i^{opaqueCMBufferQueue=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"^v"}}, - }, - "callable_retained": False, - } - } - }, - ), - "CMTimeMakeWithEpoch": (b"{_CMTime=qiIq}qiq",), - "CMTimeCodeFormatDescriptionGetTimeCodeFlags": (b"I^{opaqueCMFormatDescription=}",), - "CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionBlockBuffer": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{__CFString=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMVideoFormatDescriptionGetCleanAperture": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{opaqueCMFormatDescription=}Z", - ), - "CMSwapBigEndianTimeCodeDescriptionToHost": ( - b"i^CQ", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "N"}}}, - ), - "CMTimebaseAddTimerDispatchSource": (b"i^{OpaqueCMTimebase=}@",), - "CMTimeMinimum": (b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMAudioFormatDescriptionGetChannelLayout": ( - b"^{AudioChannelLayout=III[1{AudioChannelDescription=II[3f]}]}^{opaqueCMFormatDescription=}^Q", - "", - { - "retval": {"c_array_length_in_arg": 1}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CMTextFormatDescriptionGetDisplayFlags": ( - b"i^{opaqueCMFormatDescription=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CMSimpleQueueGetTypeID": (b"Q",), - "CMTimeMaximum": (b"{_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}",), - "CMSampleBufferCreateWithMakeDataReadyHandler": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}Z^{OpaqueCMFormatDescription=}ll^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}^^{opaqueCMSampleBuffer=}@?^^{opaqueCMSampleBuffer=}@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{OpaqueCMSampleBuffer=}"}, - }, - } - }, - 6: {"c_array_length_in_arg": 5, "type_modifier": "n"}, - 7: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMTimeCodeFormatDescriptionCreate": ( - b"i^{__CFAllocator=}I{_CMTime=qiIq}II^{__CFDictionary=}^^{opaqueCMFormatDescription=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {6: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMRemoveAttachment": (b"v@^{__CFString=}",), - "CMPropagateAttachments": (b"v@@",), - "CMBlockBufferCreateWithBufferReference": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}QQI^^{OpaqueCMBlockBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {5: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMRemoveAllAttachments": (b"v@",), - "CMTimebaseCopySource": ( - b"@^{OpaqueCMTimebase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMTimebaseGetRate": (b"d^{OpaqueCMTimebase=}",), - "CMSampleBufferGetSampleSizeArray": ( - b"i^{opaqueCMSampleBuffer=}q^Q^q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CMTimebaseSetTimerToFireImmediately": ( - b"i^{OpaqueCMTimebase=}^{__CFRunLoopTimer=}", - ), - "CMBufferQueueIsAtEndOfData": (b"Z^{opaqueCMBufferQueue=}",), -} -aliases = { - "CMSubtitleFormatDescriptionGetFormatType": "CMFormatDescriptionGetMediaSubType", - "COREMEDIA_DECLARE_BRIDGED_TYPES": "COREMEDIA_TRUE", - "CMVideoFormatDescriptionGetCodecType": "CMFormatDescriptionGetMediaSubType", - "COREMEDIA_DECLARE_NULLABILITY_BEGIN_END": "COREMEDIA_TRUE", - "kCMFormatDescriptionExtension_YCbCrMatrix": "kCVImageBufferYCbCrMatrixKey", - "kCMFormatDescriptionExtension_FieldCount": "kCVImageBufferFieldCountKey", - "CM_RETURNS_NOT_RETAINED_PARAMETER": "CF_RETURNS_NOT_RETAINED", - "kCMFormatDescriptionExtension_GammaLevel": "kCVImageBufferGammaLevelKey", - "kCMFormatDescriptionChromaLocation_Bottom": "kCVImageBufferChromaLocation_Bottom", - "kCMFormatDescriptionKey_CleanApertureVerticalOffset": "kCVImageBufferCleanApertureVerticalOffsetKey", - "CM_RETURNS_RETAINED": "CF_RETURNS_RETAINED", - "kCMFormatDescriptionYCbCrMatrix_SMPTE_240M_1995": "kCVImageBufferYCbCrMatrix_SMPTE_240M_1995", - "kCMFormatDescriptionExtension_ColorPrimaries": "kCVImageBufferColorPrimariesKey", - "kCMFormatDescriptionYCbCrMatrix_ITU_R_601_4": "kCVImageBufferYCbCrMatrix_ITU_R_601_4", - "kCMFormatDescriptionColorPrimaries_SMPTE_C": "kCVImageBufferColorPrimaries_SMPTE_C", - "COREMEDIA_DECLARE_RELEASES_ARGUMENT": "COREMEDIA_TRUE", - "CM_NULLABLE": "__nullable", - "COREMEDIA_DECLARE_RETURNS_NOT_RETAINED_ON_PARAMETERS": "COREMEDIA_TRUE", - "kCMFormatDescriptionChromaLocation_Left": "kCVImageBufferChromaLocation_Left", - "kCMFormatDescriptionTransferFunction_UseGamma": "kCVImageBufferTransferFunction_UseGamma", - "kCMTimeRoundingMethod_Default": "kCMTimeRoundingMethod_RoundHalfAwayFromZero", - "kCMFormatDescriptionKey_PixelAspectRatioVerticalSpacing": "kCVImageBufferPixelAspectRatioVerticalSpacingKey", - "CM_NONNULL": "__nonnull", - "kCMFormatDescriptionKey_PixelAspectRatioHorizontalSpacing": "kCVImageBufferPixelAspectRatioHorizontalSpacingKey", - "kCMVideoCodecType_422YpCbCr8": "kCMPixelFormat_422YpCbCr8", - "kCMFormatDescriptionExtension_VerbatimImageDescription": "kCMFormatDescriptionExtension_VerbatimSampleDescription", - "kCMFormatDescriptionExtension_ChromaLocationTopField": "kCVImageBufferChromaLocationTopFieldKey", - "kCMFormatDescriptionExtension_PixelAspectRatio": "kCVImageBufferPixelAspectRatioKey", - "COREMEDIA_CMBASECLASS_VERSION_IS_POINTER_ALIGNED": selAorI( - "COREMEDIA_TRUE", "COREMEDIA_FALSE" - ), - "CM_RELEASES_ARGUMENT": "CF_RELEASES_ARGUMENT", - "COREMEDIA_DECLARE_RETURNS_RETAINED_BLOCK": "COREMEDIA_TRUE", - "kCMFormatDescriptionTransferFunction_SMPTE_240M_1995": "kCVImageBufferTransferFunction_SMPTE_240M_1995", - "kCMFormatDescriptionExtension_ChromaLocationBottomField": "kCVImageBufferChromaLocationBottomFieldKey", - "kCMFormatDescriptionExtension_TransferFunction": "kCVImageBufferTransferFunctionKey", - "kCMTimebaseFarFutureCFAbsoluteTime": "kCMTimebaseVeryLongCFTimeInterval", - "CM_RETURNS_RETAINED_PARAMETER": "CF_RETURNS_RETAINED", - "kCMFormatDescriptionKey_CleanApertureHorizontalOffset": "kCVImageBufferCleanApertureHorizontalOffsetKey", - "kCMFormatDescriptionTransferFunction_ITU_R_709_2": "kCVImageBufferTransferFunction_ITU_R_709_2", - "kCMFormatDescriptionColorPrimaries_EBU_3213": "kCVImageBufferColorPrimaries_EBU_3213", - "COREMEDIA_DECLARE_NULLABILITY": "COREMEDIA_TRUE", - "kCMFormatDescriptionKey_CleanApertureWidth": "kCVImageBufferCleanApertureWidthKey", - "CM_RETURNS_RETAINED_BLOCK": "DISPATCH_RETURNS_RETAINED_BLOCK", - "kCMFormatDescriptionExtension_FieldDetail": "kCVImageBufferFieldDetailKey", - "kCMFormatDescriptionFieldDetail_SpatialFirstLineLate": "kCVImageBufferFieldDetailSpatialFirstLineLate", - "COREMEDIA_DECLARE_RETURNS_RETAINED": "COREMEDIA_TRUE", - "kCMFormatDescriptionColorPrimaries_ITU_R_709_2": "kCVImageBufferColorPrimaries_ITU_R_709_2", - "COREMEDIA_USE_ALIGNED_CMBASECLASS_VERSION": "COREMEDIA_TRUE", - "kCMFormatDescriptionChromaLocation_DV420": "kCVImageBufferChromaLocation_DV420", - "COREMEDIA_DECLARE_RETURNS_RETAINED_ON_PARAMETERS": "COREMEDIA_TRUE", - "kCMFormatDescriptionChromaLocation_TopLeft": "kCVImageBufferChromaLocation_TopLeft", - "kCMFormatDescriptionFieldDetail_SpatialFirstLineEarly": "kCVImageBufferFieldDetailSpatialFirstLineEarly", - "kCMFormatDescriptionFieldDetail_TemporalBottomFirst": "kCVImageBufferFieldDetailTemporalBottomFirst", - "kCMFormatDescriptionExtension_CleanAperture": "kCVImageBufferCleanApertureKey", - "kCMFormatDescriptionYCbCrMatrix_ITU_R_709_2": "kCVImageBufferYCbCrMatrix_ITU_R_709_2", - "COREMEDIA_USE_DERIVED_ENUMS_FOR_CONSTANTS": "COREMEDIA_TRUE", - "kCMFormatDescriptionKey_CleanApertureHeight": "kCVImageBufferCleanApertureHeightKey", - "kCMFormatDescriptionFieldDetail_TemporalTopFirst": "kCVImageBufferFieldDetailTemporalTopFirst", - "kCMFormatDescriptionChromaLocation_Center": "kCVImageBufferChromaLocation_Center", - "CMITEMCOUNT_MAX": "INTPTR_MAX", - "kCMFormatDescriptionChromaLocation_BottomLeft": "kCVImageBufferChromaLocation_BottomLeft", - "kCMFormatDescriptionChromaLocation_Top": "kCVImageBufferChromaLocation_Top", -} -cftypes = [ - ("CMBufferQueueRef", b"^{opaqueCMBufferQueue=}", "CMBufferQueueGetTypeID", None), - ("CMMemoryPoolRef", b"^{opaqueCMMemoryPool=}", "CMMemoryPoolGetTypeID", None), - ( - "CMFormatDescriptionRef", - b"^{opaqueCMFormatDescription=}", - "CMFormatDescriptionGetTypeID", - None, - ), - ("CMTimebaseRef", b"^{opaqueCMTimebase=}", "CMTimebaseGetTypeID", None), - ("CMSimpleQueueRef", b"^{opaqueCMSimpleQueue=}", "CMSimpleQueueGetTypeID", None), - ("CMClockRef", b"^{opaqueCMClock=}", "CMClockGetTypeID", None), - ("CMBlockBufferRef", b"^{opaqueCMBlockBuffer=}", "CMBlockBufferGetTypeID", None), - ("CMSimpleQueueef", b"^{opaqueCMSimpleQueue}", "CMSimpleQueueetTypeID", None), - ("CMSampleBufferRef", b"^{opaqueCMSampleBuffer=}", "CMSampleBufferGetTypeID", None), - ( - "CMSampleBufferrRef", - b"^{opaqueCMSampleBufferr=}", - "CMSampleBufferrGetTypeID", - None, - ), -] -misc.update( - { - "CMBufferQueueTriggerToken": objc.createOpaquePointerType( - "CMBufferQueueTriggerToken", b"^{opaqueCMBufferQueueTriggerToken=}" - ) - } -) -expressions = { - "kCMTimebaseVeryLongCFTimeInterval": "(CFTimeInterval)(256.0 * 365.0 * 24.0 * 60.0 * 60.0)" -} - -# END OF FILE diff --git a/src/lib/CoreMediaIO/__init__.py b/src/lib/CoreMediaIO/__init__.py deleted file mode 100644 index be6780d..0000000 --- a/src/lib/CoreMediaIO/__init__.py +++ /dev/null @@ -1,52 +0,0 @@ -""" -Python mapping for the CoreMediaIO framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreMediaIO import _CoreMediaIO, _metadata - -sys.modules["CoreMediaIO"] = mod = objc.ObjCLazyModule( - "CoreMediaIO", - "com.apple.CoreMediaIO", - objc.pathForFramework("/System/Library/Frameworks/CoreMediaIO.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CoreMediaIO._metadata"] - - -for nm in dir(_CoreMediaIO): - setattr(mod, nm, getattr(_CoreMediaIO, nm)) - - -def CMIOGetNextSequenceNumber(value): - if value == 0xFFFFFFFFFFFFFFFF: - return 0 - return value + 1 - - -mod.CMIOGetNextSequenceNumber = CMIOGetNextSequenceNumber - - -def CMIODiscontinuityFlagsHaveHardDiscontinuities(value): - return (value & mod.kCMIOSampleBufferDiscontinuityFlag_DurationWasExtended) != 0 - - -mod.CMIODiscontinuityFlagsHaveHardDiscontinuities = ( - CMIODiscontinuityFlagsHaveHardDiscontinuities -) diff --git a/src/lib/CoreMediaIO/_metadata.py b/src/lib/CoreMediaIO/_metadata.py deleted file mode 100644 index 8087bb6..0000000 --- a/src/lib/CoreMediaIO/_metadata.py +++ /dev/null @@ -1,510 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:38:40 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CMIODeviceRS422Command": objc.createStructType( - "CoreMediaIO.CMIODeviceRS422Command", - b"{CMIODeviceRS422Command=^CI^CII}", - [ - "mCommand", - "mCommandLength", - "mResponse", - "mResponseLength", - "mResponseUsed", - ], - ), - "CMIODeviceAVCCommand": objc.createStructType( - "CoreMediaIO.CMIODeviceAVCCommand", - b"{CMIODeviceAVCCommand=^CI^CII}", - [ - "mCommand", - "mCommandLength", - "mResponse", - "mResponseLength", - "mResponseUsed", - ], - ), - "CMIODeviceSMPTETimeCallback": objc.createStructType( - "CoreMediaIO.CMIODeviceSMPTETimeCallback", - b"{CMIODeviceSMPTETimeCallback=^?^v}", - ["mGetSMPTETimeProc", "mRefCon"], - ), - "CMIOStreamScheduledOutputNotificationProcAndRefCon": objc.createStructType( - "CoreMediaIO.CMIOStreamScheduledOutputNotificationProcAndRefCon", - b"{CMIOStreamScheduledOutputNotificationProcAndRefCon=^?^?}", - ["scheduledOutputNotificationProc", "scheduledOutputNotificationRefCon"], - ), - "CMIOStreamDeck": objc.createStructType( - "CoreMediaIO.CMIOStreamDeck", - b"{CMIOStreamDeck=III}", - ["mStatus", "mState", "mState2"], - ), - "CMIODeviceStreamConfiguration": objc.createStructType( - "CoreMediaIO.CMIODeviceStreamConfiguration", - b"{CMIODeviceStreamConfiguration=I^I}", - ["mNumberStreams", "mNumberChannels"], - ), - "CMIOObjectPropertyAddress": objc.createStructType( - "CoreMediaIO.CMIOObjectPropertyAddress", - b"{CMIOObjectPropertyAddress=III}", - ["mSelector", "mScope", "mElement"], - ), - } -) -constants = """$CMIOExtensionInfoDictionaryKey$CMIOExtensionMachServiceNameKey$CMIOExtensionPropertyDeviceCanBeDefaultInputDevice$CMIOExtensionPropertyDeviceCanBeDefaultOutputDevice$CMIOExtensionPropertyDeviceIsSuspended$CMIOExtensionPropertyDeviceLinkedCoreAudioDeviceUID$CMIOExtensionPropertyDeviceModel$CMIOExtensionPropertyDeviceTransportType$CMIOExtensionPropertyProviderManufacturer$CMIOExtensionPropertyProviderName$CMIOExtensionPropertyStreamActiveFormatIndex$CMIOExtensionPropertyStreamFrameDuration$CMIOExtensionPropertyStreamMaxFrameDuration$CMIOExtensionPropertyStreamSinkBufferQueueSize$CMIOExtensionPropertyStreamSinkBufferUnderrunCount$CMIOExtensionPropertyStreamSinkBuffersRequiredForStartup$CMIOExtensionPropertyStreamSinkEndOfData$kCMIOBlockBufferAttachmentKey_CVPixelBufferReference$kCMIOSampleBufferAttachmentKey_CAAudioTimeStamp$kCMIOSampleBufferAttachmentKey_ClientSequenceID$kCMIOSampleBufferAttachmentKey_ClosedCaptionSampleBuffer$kCMIOSampleBufferAttachmentKey_DiscontinuityFlags$kCMIOSampleBufferAttachmentKey_HDV1_PackData$kCMIOSampleBufferAttachmentKey_HDV2_VAUX$kCMIOSampleBufferAttachmentKey_HostTime$kCMIOSampleBufferAttachmentKey_MouseAndKeyboardModifiers$kCMIOSampleBufferAttachmentKey_MuxedSourcePresentationTimeStamp$kCMIOSampleBufferAttachmentKey_NativeSMPTEFrameCount$kCMIOSampleBufferAttachmentKey_NoDataMarker$kCMIOSampleBufferAttachmentKey_NumberOfVideoFramesInBuffer$kCMIOSampleBufferAttachmentKey_NumberOfVideoFramesInGOP$kCMIOSampleBufferAttachmentKey_PulldownCadenceInfo$kCMIOSampleBufferAttachmentKey_RepeatedBufferContents$kCMIOSampleBufferAttachmentKey_SMPTETime$kCMIOSampleBufferAttachmentKey_SequenceNumber$kCMIOSampleBufferAttachmentKey_SourceAudioFormatDescription$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorFrameRect$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorIsDrawnInFramebuffer$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorIsVisible$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorPositionX$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorPositionY$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorReference$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorScale$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorSeed$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_KeyboardModifiers$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_KeyboardModifiersEvent$kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_MouseButtonState$""" -enums = """$CMIOExtensionStreamClockTypeCustom@2$CMIOExtensionStreamClockTypeHostTime@0$CMIOExtensionStreamClockTypeLinkedCoreAudioDeviceUID@1$CMIOExtensionStreamDirectionSink@1$CMIOExtensionStreamDirectionSource@0$CMIOExtensionStreamDiscontinuityFlagNone@0$CMIOExtensionStreamDiscontinuityFlagSampleDropped@64$CMIOExtensionStreamDiscontinuityFlagTime@2$CMIOExtensionStreamDiscontinuityFlagUnknown@1$kCMIOAVCDeviceType_DVCPro100_720p@1685481584$kCMIOAVCDeviceType_DVCPro100_NTSC@1685467502$kCMIOAVCDeviceType_DVCPro100_PAL@1685467504$kCMIOAVCDeviceType_DVCPro50_NTSC@1685468526$kCMIOAVCDeviceType_DVCPro50_PAL@1685468528$kCMIOAVCDeviceType_DVCProHD_1080i50@1685481525$kCMIOAVCDeviceType_DVCProHD_1080i60@1685481526$kCMIOAVCDeviceType_DVCPro_NTSC@1685483630$kCMIOAVCDeviceType_DVCPro_PAL@1685483632$kCMIOAVCDeviceType_DV_NTSC@1685480224$kCMIOAVCDeviceType_DV_PAL@1685480304$kCMIOAVCDeviceType_MPEG2@1836082994$kCMIOAVCDeviceType_Unknown@1970170734$kCMIOBacklightCompensationControlClassID@1651207284$kCMIOBlackLevelControlClassID@1651207286$kCMIOBooleanControlClassID@1953458028$kCMIOBooleanControlPropertyValue@1650685548$kCMIOBrightnessControlClassID@1651665268$kCMIOContrastControlClassID@1668576116$kCMIOControlClassID@1633907820$kCMIOControlPropertyElement@1667591277$kCMIOControlPropertyScope@1668506480$kCMIOControlPropertyVariant@1668702578$kCMIODataDestinationControlClassID@1684370292$kCMIODataSourceControlClassID@1685287523$kCMIODeckShuttlePause@0$kCMIODeckShuttlePlay1x@6$kCMIODeckShuttlePlayFast@7$kCMIODeckShuttlePlayFaster@8$kCMIODeckShuttlePlayFastest@9$kCMIODeckShuttlePlayHighSpeed@10$kCMIODeckShuttlePlayNextFrame@1$kCMIODeckShuttlePlayPreviousFrame@-1$kCMIODeckShuttlePlaySlow1@3$kCMIODeckShuttlePlaySlow2@4$kCMIODeckShuttlePlaySlow3@5$kCMIODeckShuttlePlaySlowest@2$kCMIODeckShuttleReverse1x@-6$kCMIODeckShuttleReverseFast@-7$kCMIODeckShuttleReverseFaster@-8$kCMIODeckShuttleReverseFastest@-9$kCMIODeckShuttleReverseHighSpeed@-10$kCMIODeckShuttleReverseSlow1@-3$kCMIODeckShuttleReverseSlow2@-4$kCMIODeckShuttleReverseSlow3@-5$kCMIODeckShuttleReverseSlowest@-2$kCMIODeckStateFastForward@6$kCMIODeckStateFastRewind@7$kCMIODeckStatePause@2$kCMIODeckStatePlay@1$kCMIODeckStatePlayReverse@5$kCMIODeckStatePlaySlow@3$kCMIODeckStateReverseSlow@4$kCMIODeckStateStop@0$kCMIODeckStatusBusy@1$kCMIODeckStatusLocal@2$kCMIODeckStatusNoDevice@7$kCMIODeckStatusNotThreaded@3$kCMIODeckStatusOpcode@5$kCMIODeckStatusSearchingForDevice@6$kCMIODeckStatusTapeInserted@4$kCMIODeviceAVCSignalMode8mmNTSC@6$kCMIODeviceAVCSignalMode8mmPAL@134$kCMIODeviceAVCSignalModeAudio@32$kCMIODeviceAVCSignalModeDVCPro100_50@240$kCMIODeviceAVCSignalModeDVCPro100_60@112$kCMIODeviceAVCSignalModeDVCPro25_525_60@120$kCMIODeviceAVCSignalModeDVCPro25_625_50@248$kCMIODeviceAVCSignalModeDVCPro50_525_60@116$kCMIODeviceAVCSignalModeDVCPro50_625_50@244$kCMIODeviceAVCSignalModeDVHS@1$kCMIODeviceAVCSignalModeHD1125_60@8$kCMIODeviceAVCSignalModeHD1250_50@136$kCMIODeviceAVCSignalModeHDV1_50@144$kCMIODeviceAVCSignalModeHDV1_60@16$kCMIODeviceAVCSignalModeHDV2_50@154$kCMIODeviceAVCSignalModeHDV2_60@26$kCMIODeviceAVCSignalModeHi8NTSC@14$kCMIODeviceAVCSignalModeHi8PAL@142$kCMIODeviceAVCSignalModeMPEG12Mbps_50@148$kCMIODeviceAVCSignalModeMPEG12Mbps_60@20$kCMIODeviceAVCSignalModeMPEG25Mbps_50@144$kCMIODeviceAVCSignalModeMPEG25Mbps_60@16$kCMIODeviceAVCSignalModeMPEG6Mbps_50@152$kCMIODeviceAVCSignalModeMPEG6Mbps_60@24$kCMIODeviceAVCSignalModeMicroMV12Mbps_50@164$kCMIODeviceAVCSignalModeMicroMV12Mbps_60@36$kCMIODeviceAVCSignalModeMicroMV6Mbps_50@168$kCMIODeviceAVCSignalModeMicroMV6Mbps_60@40$kCMIODeviceAVCSignalModeSD525_60@0$kCMIODeviceAVCSignalModeSD625_50@128$kCMIODeviceAVCSignalModeSDL525_60@4$kCMIODeviceAVCSignalModeSDL625_50@132$kCMIODeviceAVCSignalModeSVHS525_60@13$kCMIODeviceAVCSignalModeSVHS625_50@237$kCMIODeviceAVCSignalModeVHSMESECAM@213$kCMIODeviceAVCSignalModeVHSMPAL@37$kCMIODeviceAVCSignalModeVHSNPAL@181$kCMIODeviceAVCSignalModeVHSNTSC@5$kCMIODeviceAVCSignalModeVHSPAL@165$kCMIODeviceAVCSignalModeVHSSECAM@197$kCMIODeviceClassID@1633969526$kCMIODevicePermissionsError@560492391$kCMIODevicePropertyAVCDeviceSignalMode@1886221165$kCMIODevicePropertyAVCDeviceType@1886216564$kCMIODevicePropertyCanProcessAVCCommand@1886216547$kCMIODevicePropertyCanProcessRS422Command@1916023346$kCMIODevicePropertyCanSwitchFrameRatesWithoutFrameDrops@1718775396$kCMIODevicePropertyClientSyncDiscontinuity@1886217075$kCMIODevicePropertyDeviceCanBeDefaultDevice@1684434036$kCMIODevicePropertyDeviceControl@1886219880$kCMIODevicePropertyDeviceHasChanged@1684629094$kCMIODevicePropertyDeviceHasStreamingError@1936028274$kCMIODevicePropertyDeviceIsAlive@1818850926$kCMIODevicePropertyDeviceIsRunning@1735354734$kCMIODevicePropertyDeviceIsRunningSomewhere@1735356005$kCMIODevicePropertyDeviceMaster@1886219880$kCMIODevicePropertyDeviceUID@1969841184$kCMIODevicePropertyExcludeNonDALAccess@1769500257$kCMIODevicePropertyHogMode@1869180523$kCMIODevicePropertyIIDCCSRData@1668510308$kCMIODevicePropertyIIDCInitialUnitSpace@1769303667$kCMIODevicePropertyLatency@1819569763$kCMIODevicePropertyLinkedAndSyncedCoreAudioDeviceUID@1886155620$kCMIODevicePropertyLinkedCoreAudioDeviceUID@1886156132$kCMIODevicePropertyLocation@1684828003$kCMIODevicePropertyLocationBuiltInDisplay@1$kCMIODevicePropertyLocationExternalDevice@3$kCMIODevicePropertyLocationExternalDisplay@2$kCMIODevicePropertyLocationExternalWirelessDevice@4$kCMIODevicePropertyLocationUnknown@0$kCMIODevicePropertyModelUID@1836411236$kCMIODevicePropertyPlugIn@1886156135$kCMIODevicePropertySMPTETimeCallback@1886221155$kCMIODevicePropertyScopeInput@1768845428$kCMIODevicePropertyScopeOutput@1869968496$kCMIODevicePropertyScopePlayThrough@1886679669$kCMIODevicePropertyStreamConfiguration@1936482681$kCMIODevicePropertyStreams@1937009955$kCMIODevicePropertySuspendedByUser@1935833461$kCMIODevicePropertyTransportType@1953653102$kCMIODevicePropertyVideoDigitizerComponents@1986292071$kCMIODeviceUnknown@0$kCMIODeviceUnsupportedFormatError@560226676$kCMIODirectionControlClassID@1684632165$kCMIOExposureControlClassID@2020635506$kCMIOExposureControlPropertyConvergenceSpeed@1701016432$kCMIOExposureControlPropertyIntegrationTime@1701408372$kCMIOExposureControlPropertyLockThreshold@1701602155$kCMIOExposureControlPropertyMaximumGain@1701667192$kCMIOExposureControlPropertyRegionOfInterest@1701998441$kCMIOExposureControlPropertyStability@1702065273$kCMIOExposureControlPropertyStable@1702065250$kCMIOExposureControlPropertyTarget@1702127476$kCMIOExposureControlPropertyUnlockThreshold@1702194283$kCMIOFeatureControlClassID@1718903668$kCMIOFeatureControlPropertyAbsoluteNative@1717792353$kCMIOFeatureControlPropertyAbsoluteRange@1717789042$kCMIOFeatureControlPropertyAbsoluteUnitName@1717794158$kCMIOFeatureControlPropertyAbsoluteValue@1717789046$kCMIOFeatureControlPropertyAutomaticManual@1717789037$kCMIOFeatureControlPropertyConvertAbsoluteToNative@1717645934$kCMIOFeatureControlPropertyConvertNativeToAbsolute@1718497889$kCMIOFeatureControlPropertyNativeData@1717792356$kCMIOFeatureControlPropertyNativeDataRange@1717789810$kCMIOFeatureControlPropertyNativeRange@1717792370$kCMIOFeatureControlPropertyNativeValue@1717792374$kCMIOFeatureControlPropertyOnOff@1717792623$kCMIOFeatureControlPropertyTune@1717793902$kCMIOFocusControlClassID@1717794163$kCMIOGainControlClassID@1734437230$kCMIOGammaControlClassID@1735224673$kCMIOHardwareBadDeviceError@560227702$kCMIOHardwareBadObjectError@560947818$kCMIOHardwareBadPropertySizeError@561211770$kCMIOHardwareBadStreamError@561214578$kCMIOHardwareIllegalOperationError@1852797029$kCMIOHardwareNoError@0$kCMIOHardwareNotRunningError@1937010544$kCMIOHardwareNotStoppedError@1920298528$kCMIOHardwarePropertyAllowScreenCaptureDevices@2036691744$kCMIOHardwarePropertyAllowWirelessScreenCaptureDevices@2004050788$kCMIOHardwarePropertyDefaultInputDevice@1682533920$kCMIOHardwarePropertyDefaultOutputDevice@1682929012$kCMIOHardwarePropertyDeviceForUID@1685416292$kCMIOHardwarePropertyDevices@1684370979$kCMIOHardwarePropertyIsInitingOrExiting@1768845172$kCMIOHardwarePropertyPlugInForBundleID@1885954665$kCMIOHardwarePropertyProcessIsMain@1835100526$kCMIOHardwarePropertyProcessIsMaster@1835103092$kCMIOHardwarePropertySleepingIsAllowed@1936483696$kCMIOHardwarePropertySuspendedBySystem@1935833459$kCMIOHardwarePropertyUnloadingIsAllowed@1970170980$kCMIOHardwarePropertyUserSessionIsActiveOrHeadless@1970496882$kCMIOHardwareSuspendedBySystemError@1684369017$kCMIOHardwareUnknownPropertyError@2003332927$kCMIOHardwareUnspecifiedError@2003329396$kCMIOHardwareUnsupportedOperationError@1970171760$kCMIOHueControlClassID@1752524064$kCMIOInvalidSequenceNumber@18446744073709551615$kCMIOIrisControlClassID@1769105779$kCMIOJackControlClassID@1784767339$kCMIONoiseReductionControlClassID@1932684914$kCMIOObjectClassID@1634689642$kCMIOObjectClassIDWildcard@707406378$kCMIOObjectPropertyClass@1668047219$kCMIOObjectPropertyCreator@1869638759$kCMIOObjectPropertyElementCategoryName@1818452846$kCMIOObjectPropertyElementMain@0$kCMIOObjectPropertyElementMaster@0$kCMIOObjectPropertyElementName@1818454126$kCMIOObjectPropertyElementNumberName@1818455662$kCMIOObjectPropertyElementWildcard@4294967295$kCMIOObjectPropertyListenerAdded@1818850145$kCMIOObjectPropertyListenerRemoved@1818850162$kCMIOObjectPropertyManufacturer@1819107691$kCMIOObjectPropertyName@1819173229$kCMIOObjectPropertyOwnedObjects@1870098020$kCMIOObjectPropertyOwner@1937007734$kCMIOObjectPropertyScopeGlobal@1735159650$kCMIOObjectPropertyScopeWildcard@707406378$kCMIOObjectPropertySelectorWildcard@707406378$kCMIOObjectSystemObject@1$kCMIOObjectUnknown@0$kCMIOOpticalFilterClassID@1869637236$kCMIOPanControlClassID@1885433376$kCMIOPanTiltAbsoluteControlClassID@1886675298$kCMIOPanTiltRelativeControlClassID@1886679660$kCMIOPlugInClassID@1634757735$kCMIOPlugInPropertyBundleID@1885956452$kCMIOPlugInPropertyIsExtension@1885956453$kCMIOPowerLineFrequencyControlClassID@1886873201$kCMIORollAbsoluteControlClassID@1919904865$kCMIOSampleBufferDiscontinuityFlag_BufferOverrun@128$kCMIOSampleBufferDiscontinuityFlag_ClientSyncDiscontinuity@1024$kCMIOSampleBufferDiscontinuityFlag_CodecSettingsChanged@131072$kCMIOSampleBufferDiscontinuityFlag_DataFormatChanged@8192$kCMIOSampleBufferDiscontinuityFlag_DataWasDropped@64$kCMIOSampleBufferDiscontinuityFlag_DataWasFlushed@32$kCMIOSampleBufferDiscontinuityFlag_DiscontinuityInDTS@256$kCMIOSampleBufferDiscontinuityFlag_DurationWasExtended@32768$kCMIOSampleBufferDiscontinuityFlag_MalformedData@16$kCMIOSampleBufferDiscontinuityFlag_NoDataMarker@4096$kCMIOSampleBufferDiscontinuityFlag_PacketError@4$kCMIOSampleBufferDiscontinuityFlag_RelatedToDiscontinuity@512$kCMIOSampleBufferDiscontinuityFlag_SleepWakeCycle@65536$kCMIOSampleBufferDiscontinuityFlag_StreamDiscontinuity@8$kCMIOSampleBufferDiscontinuityFlag_TimecodeDiscontinuity@2$kCMIOSampleBufferDiscontinuityFlag_TimingReferenceJumped@16384$kCMIOSampleBufferDiscontinuityFlag_TrickPlay@2048$kCMIOSampleBufferDiscontinuityFlag_UnknownDiscontinuity@1$kCMIOSampleBufferNoDataEvent_DeviceDidNotSync@2$kCMIOSampleBufferNoDataEvent_DeviceInWrongMode@3$kCMIOSampleBufferNoDataEvent_NoMedia@1$kCMIOSampleBufferNoDataEvent_ProcessingError@4$kCMIOSampleBufferNoDataEvent_SleepWakeCycle@5$kCMIOSampleBufferNoDataEvent_Unknown@0$kCMIOSampleBufferNoDiscontinuities@0$kCMIOSaturationControlClassID@1935766645$kCMIOSelectorControlClassID@1936483188$kCMIOSelectorControlPropertyAvailableItemNames@1935892846$kCMIOSelectorControlPropertyAvailableItems@1935892841$kCMIOSelectorControlPropertyCurrentItem@1935893353$kCMIOSelectorControlPropertyItemName@1935894894$kCMIOSharpnessControlClassID@1936224880$kCMIOShutterControlClassID@1936225394$kCMIOStreamClassID@1634956402$kCMIOStreamPropertyCanProcessDeckCommand@1885627236$kCMIOStreamPropertyClock@1886217068$kCMIOStreamPropertyDeck@1684366187$kCMIOStreamPropertyDeckCueing@1668638051$kCMIOStreamPropertyDeckDropness@1685221232$kCMIOStreamPropertyDeckFrameNumber@1952673636$kCMIOStreamPropertyDeckLocal@1819239276$kCMIOStreamPropertyDeckThreaded@1953002084$kCMIOStreamPropertyDeviceSyncTimeoutInMSec@1886219826$kCMIOStreamPropertyDirection@1935960434$kCMIOStreamPropertyEndOfData@1886217572$kCMIOStreamPropertyFirstOutputPresentationTimeStamp@1886351476$kCMIOStreamPropertyFormatDescription@1885762592$kCMIOStreamPropertyFormatDescriptions@1885762657$kCMIOStreamPropertyFrameRate@1852207732$kCMIOStreamPropertyFrameRateRanges@1718776423$kCMIOStreamPropertyFrameRates@1852207651$kCMIOStreamPropertyInitialPresentationTimeStampForLinkedAndSyncedAudio@1768975475$kCMIOStreamPropertyLatency@1819569763$kCMIOStreamPropertyMinimumFrameRate@1835430516$kCMIOStreamPropertyNoDataEventCount@1886219827$kCMIOStreamPropertyNoDataTimeoutInMSec@1886219825$kCMIOStreamPropertyOutputBufferQueueSize@1886220145$kCMIOStreamPropertyOutputBufferRepeatCount@1886220146$kCMIOStreamPropertyOutputBufferUnderrunCount@1886220149$kCMIOStreamPropertyOutputBuffersNeededForThrottledPlayback@1835624038$kCMIOStreamPropertyOutputBuffersRequiredForStartup@1886220147$kCMIOStreamPropertyPreferredFormatDescription@1886545508$kCMIOStreamPropertyPreferredFrameRate@1886545522$kCMIOStreamPropertyScheduledOutputNotificationProc@1936682608$kCMIOStreamPropertyStartingChannel@1935894638$kCMIOStreamPropertyStillImage@1937010023$kCMIOStreamPropertyStillImageFormatDescriptions@1937008244$kCMIOStreamPropertyTerminalType@1952805485$kCMIOStreamUnknown@0$kCMIOSystemObjectClassID@1634957683$kCMIOTemperatureControlClassID@1952804208$kCMIOTiltControlClassID@1953066100$kCMIOWhiteBalanceControlClassID@2003329644$kCMIOWhiteBalanceUControlClassID@2003329653$kCMIOWhiteBalanceVControlClassID@2003329654$kCMIOWhiteLevelControlClassID@2003332214$kCMIOZoomControlClassID@2054123373$kCMIOZoomRelativeControlClassID@2054122866$""" -misc.update( - { - "CMIOExtensionStreamDirection": NewType("CMIOExtensionStreamDirection", int), - "CMIOExtensionStreamClockType": NewType("CMIOExtensionStreamClockType", int), - "CMIOExtensionStreamDiscontinuityFlags": NewType( - "CMIOExtensionStreamDiscontinuityFlags", int - ), - } -) -misc.update({"CMIOExtensionProperty": NewType("CMIOExtensionProperty", str)}) -misc.update({}) -functions = { - "CMIOObjectShow": (b"vI",), - "CMIOStreamDeckJog": (b"iIi",), - "CMIOObjectAddPropertyListenerBlock": ( - b"iI^{CMIOObjectPropertyAddress=III}@@?", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: { - "type": "^{CMIOObjectPropertyAddress=III}", - "type_modifier": "n", - "c_array_length_in_arg": 1, - }, - }, - } - }, - } - }, - ), - "CMIOStreamDeckCueTo": (b"iIQZ",), - "CMIOObjectGetPropertyData": ( - b"iI^{CMIOObjectPropertyAddress=III}I^vI^I^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "o"}, - 5: {"type_modifier": "o"}, - 6: {"c_array_length_in_arg": (4, 5), "type_modifier": "o"}, - } - }, - ), - "CMIOSampleBufferCreateForImageBuffer": ( - b"i^{__CFAllocator=}^{__CVBuffer=}^{opaqueCMFormatDescription=}^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}QI^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"type_modifier": "n"}, - 6: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMIOObjectRemovePropertyListener": ( - b"iI^{CMIOObjectPropertyAddress=III}^?^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"^{CMIOObjectPropertyAddress=III}"}, - 3: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "CMIOSampleBufferCreateNoDataMarker": ( - b"i^{__CFAllocator=}I^{opaqueCMFormatDescription=}QI^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {5: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMIOObjectGetPropertyDataSize": ( - b"iI^{CMIOObjectPropertyAddress=III}I^v^I", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CMIOStreamClockPostTimingEvent": (b"i{_CMTime=qiIq}QZ@",), - "CMIODeviceStopStream": (b"iII",), - "CMIODeviceStartStream": (b"iII",), - "CMIOSampleBufferCreate": ( - b"i^{__CFAllocator=}^{OpaqueCMBlockBuffer=}^{opaqueCMFormatDescription=}II^{_CMSampleTimingInfo={_CMTime=qiIq}{_CMTime=qiIq}{_CMTime=qiIq}}I^QQI^^{opaqueCMSampleBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 10: {"already_cfretained": True, "type_modifier": "o"}, - 5: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 7: {"c_array_length_in_arg": 6, "type_modifier": "n"}, - }, - }, - ), - "CMIOStreamCopyBufferQueue": ( - b"iI^?^v^^{opaqueCMSimpleQueue=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"^v"}, - 2: {"type": b"^v"}, - }, - } - }, - 3: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CMIOObjectAddPropertyListener": ( - b"iI^{CMIOObjectPropertyAddress=III}^?^v", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"^{CMIOObjectPropertyAddress=III}"}, - 3: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "CMIOObjectHasProperty": ( - b"ZI^{CMIOObjectPropertyAddress=III}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CMIOObjectIsPropertySettable": ( - b"iI^{CMIOObjectPropertyAddress=III}^Z", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "CMIOSampleBufferGetSequenceNumber": (b"Q^{opaqueCMSampleBuffer=}",), - "CMIOStreamClockCreate": ( - b"i^{__CFAllocator=}^{__CFString=}^v{_CMTime=qiIq}II^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {6: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CMIOStreamClockInvalidate": (b"i@",), - "CMIOObjectsPublishedAndDied": ( - b"i^^{CMIOHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^II^I", - ), - "CMIOObjectSetPropertyData": (b"iI^{CMIOObjectPropertyAddress=III}I^vI^v",), - "CMIOSampleBufferGetDiscontinuityFlags": (b"I^{opaqueCMSampleBuffer=}",), - "CMIOStreamDeckPlay": (b"iI",), - "CMIOSampleBufferSetDiscontinuityFlags": ( - b"v^{__CFAllocator=}^{opaqueCMSampleBuffer=}I", - ), - "CMIOStreamDeckStop": (b"iI",), - "CMIOObjectPropertiesChanged": ( - b"i^^{CMIOHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^{CMIOObjectPropertyAddress=III}", - ), - "CMIOSampleBufferSetSequenceNumber": ( - b"v^{__CFAllocator=}^{opaqueCMSampleBuffer=}Q", - ), - "CMIOSampleBufferCopySampleAttachments": ( - b"i^{opaqueCMSampleBuffer=}^{opaqueCMSampleBuffer=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMIOObjectCreate": ( - b"i^^{CMIOHardwarePlugInInterface=^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}II^I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMIOStreamClockConvertHostTimeToDeviceTime": (b"{_CMTime=qiIq}Q@",), - "CMIOObjectRemovePropertyListenerBlock": ( - b"iI^{CMIOObjectPropertyAddress=III}@@?", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: { - "type": "^{CMIOObjectPropertyAddress=III}", - "type_modifier": "n", - "c_array_length_in_arg": 1, - }, - }, - } - }, - } - }, - ), - "CMIOSampleBufferCopyNonRequiredAttachments": ( - b"i^{opaqueCMSampleBuffer=}^{opaqueCMSampleBuffer=}I", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "kCMIODevicePropertyDeviceMaster": "kCMIODevicePropertyDeviceControl", - "kCMIODeviceUnknown": "kCMIOObjectUnknown", - "kCMIOObjectPropertyElementMaster": "kCMIOObjectPropertyElementMain", - "kCMIOStreamUnknown": "kCMIOObjectUnknown", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CMIOExtensionDevice", - b"addStream:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CMIOExtensionDevice", - b"removeStream:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CMIOExtensionPropertyAttributes", - b"initWithMinValue:maxValue:validValues:readOnly:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"CMIOExtensionPropertyAttributes", b"isReadOnly", {"retval": {"type": b"Z"}}) - r( - b"CMIOExtensionPropertyAttributes", - b"propertyAttributesWithMinValue:maxValue:validValues:readOnly:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"CMIOExtensionProvider", - b"addDevice:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CMIOExtensionProvider", - b"removeDevice:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CMIOExtensionStream", - b"consumeSampleBufferFromClient:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - 2: {"type": b"Q"}, - 3: {"type": b"I"}, - 4: {"type": b"Z"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CMIOExtensionStreamCustomClockConfiguration", - b"customClockConfigurationWithClockName:sourceIdentifier:getTimeCallMinimumInterval:numberOfEventsForRateSmoothing:numberOfAveragesForRateSmoothing:", - {"arguments": {4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"CMIOExtensionStreamCustomClockConfiguration", - b"getTimeCallMinimumInterval", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"CMIOExtensionStreamCustomClockConfiguration", - b"initWithClockName:sourceIdentifier:getTimeCallMinimumInterval:numberOfEventsForRateSmoothing:numberOfAveragesForRateSmoothing:", - {"arguments": {4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"CMIOExtensionStreamFormat", - b"initWithFormatDescription:maxFrameDuration:minFrameDuration:validFrameDurations:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}, 4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"CMIOExtensionStreamFormat", - b"maxFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"CMIOExtensionStreamFormat", - b"minFrameDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"CMIOExtensionStreamFormat", - b"streamFormatWithFormatDescription:maxFrameDuration:minFrameDuration:validFrameDurations:", - {"arguments": {3: {"type": b"{_CMTime=qiIq}"}, 4: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"NSObject", - b"authorizedToStartStreamForClient:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"availableProperties", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"connectClient:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"devicePropertiesForProperties:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"disconnectClient:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"formats", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"providerPropertiesForProperties:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"setDeviceProperties:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"setProviderProperties:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"setStreamProperties:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"startStreamAndReturnError:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"stopStreamAndReturnError:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"streamPropertiesForProperties:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreMotion/__init__.py b/src/lib/CoreMotion/__init__.py deleted file mode 100644 index a998ddb..0000000 --- a/src/lib/CoreMotion/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the CoreMotion framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreMotion import _metadata - -sys.modules["CoreMotion"] = mod = objc.ObjCLazyModule( - "CoreMotion", - "com.apple.CoreMotion", - objc.pathForFramework("/System/Library/Frameworks/CoreMotion.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CoreMotion._metadata"] diff --git a/src/lib/CoreMotion/_metadata.py b/src/lib/CoreMotion/_metadata.py deleted file mode 100644 index b3e8a99..0000000 --- a/src/lib/CoreMotion/_metadata.py +++ /dev/null @@ -1,456 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:45:46 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CMQuaternion": objc.createStructType( - "CoreMotion.CMQuaternion", b"{_CMQuaternion=dddd}", ["x", "y", "z", "w"] - ), - "CMMagneticField": objc.createStructType( - "CoreMotion.CMMagneticField", b"{_CMMagneticField=ddd}", ["x", "y", "z"] - ), - "CMCalibratedMagneticField": objc.createStructType( - "CoreMotion.CMCalibratedMagneticField", - b"{_CMCalibratedMagneticField={_CMMagneticField=ddd}i}", - ["field", "accuracy"], - ), - "CMRotationRate": objc.createStructType( - "CoreMotion.CMRotationRate", b"{_CMRotationRate=ddd}", ["x", "y", "z"] - ), - "CMRotationMatrix": objc.createStructType( - "CoreMotion.CMRotationMatrix", - b"{_CMRotationMatrix=ddddddddd}", - ["m11", "m12", "m13", "m21", "m22", "m23", "m31", "m32", "m33"], - ), - "CMAcceleration": objc.createStructType( - "CoreMotion.CMAcceleration", b"{_CMAcceleration=ddd}", ["x", "y", "z"] - ), - } -) -constants = """$CMErrorDomain$""" -enums = """$CMAttitudeReferenceFrameXArbitraryCorrectedZVertical@2$CMAttitudeReferenceFrameXArbitraryZVertical@1$CMAttitudeReferenceFrameXMagneticNorthZVertical@4$CMAttitudeReferenceFrameXTrueNorthZVertical@8$CMAuthorizationStatusAuthorized@3$CMAuthorizationStatusDenied@2$CMAuthorizationStatusNotDetermined@0$CMAuthorizationStatusRestricted@1$CMDeviceMotionSensorLocationDefault@0$CMDeviceMotionSensorLocationHeadphoneLeft@1$CMDeviceMotionSensorLocationHeadphoneRight@2$CMErrorDeviceRequiresMovement@101$CMErrorInvalidAction@108$CMErrorInvalidParameter@107$CMErrorMotionActivityNotAuthorized@105$CMErrorMotionActivityNotAvailable@104$CMErrorMotionActivityNotEntitled@106$CMErrorNULL@100$CMErrorNilData@112$CMErrorNotAuthorized@111$CMErrorNotAvailable@109$CMErrorNotEntitled@110$CMErrorSize@113$CMErrorTrueNorthNotAvailable@102$CMErrorUnknown@103$CMFallDetectionEventUserResolutionConfirmed@0$CMFallDetectionEventUserResolutionDismissed@1$CMFallDetectionEventUserResolutionRejected@2$CMFallDetectionEventUserResolutionUnresponsive@3$CMMagneticFieldCalibrationAccuracyHigh@2$CMMagneticFieldCalibrationAccuracyLow@0$CMMagneticFieldCalibrationAccuracyMedium@1$CMMagneticFieldCalibrationAccuracyUncalibrated@-1$CMMotionActivityConfidenceHigh@2$CMMotionActivityConfidenceLow@0$CMMotionActivityConfidenceMedium@1$CMPedometerEventTypePause@0$CMPedometerEventTypeResume@1$""" -misc.update( - { - "CMPedometerEventType": NewType("CMPedometerEventType", int), - "CMAttitudeReferenceFrame": NewType("CMAttitudeReferenceFrame", int), - "CMFallDetectionEventUserResolution": NewType( - "CMFallDetectionEventUserResolution", int - ), - "CMMagneticFieldCalibrationAccuracy": NewType( - "CMMagneticFieldCalibrationAccuracy", int - ), - "CMAuthorizationStatus": NewType("CMAuthorizationStatus", int), - "CMDeviceMotionSensorLocation": NewType("CMDeviceMotionSensorLocation", int), - "CMMotionActivityConfidence": NewType("CMMotionActivityConfidence", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CMAccelerometerData", - b"acceleration", - {"retval": {"type": b"{_CMAcceleration=ddd}"}}, - ) - r(b"CMAltimeter", b"isAbsoluteAltitudeAvailable", {"retval": {"type": b"Z"}}) - r(b"CMAltimeter", b"isRelativeAltitudeAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMAltimeter", - b"startAbsoluteAltitudeUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMAltimeter", - b"startRelativeAltitudeUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CMAttitude", b"quaternion", {"retval": {"type": b"{_CMQuaternion=dddd}"}}) - r( - b"CMAttitude", - b"rotationMatrix", - {"retval": {"type": b"{_CMRotationMatrix=ddddddddd}"}}, - ) - r(b"CMDeviceMotion", b"gravity", {"retval": {"type": b"{_CMAcceleration=ddd}"}}) - r( - b"CMDeviceMotion", - b"magneticField", - {"retval": {"type": b"{_CMCalibratedMagneticField={_CMMagneticField=ddd}i}"}}, - ) - r( - b"CMDeviceMotion", - b"rotationRate", - {"retval": {"type": b"{_CMRotationRate=ddd}"}}, - ) - r( - b"CMDeviceMotion", - b"userAcceleration", - {"retval": {"type": b"{_CMAcceleration=ddd}"}}, - ) - r(b"CMFallDetectionManager", b"isAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMFallDetectionManager", - b"requestAuthorizationWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r(b"CMGyroData", b"rotationRate", {"retval": {"type": b"{_CMRotationRate=ddd}"}}) - r(b"CMHeadphoneMotionManager", b"isDeviceMotionActive", {"retval": {"type": b"Z"}}) - r( - b"CMHeadphoneMotionManager", - b"isDeviceMotionAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"CMHeadphoneMotionManager", - b"startDeviceMotionUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMagnetometerData", - b"magneticField", - {"retval": {"type": b"{_CMMagneticField=ddd}"}}, - ) - r(b"CMMotionActivity", b"automotive", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivity", b"cycling", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivity", b"running", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivity", b"stationary", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivity", b"unknown", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivity", b"walking", {"retval": {"type": b"Z"}}) - r(b"CMMotionActivityManager", b"isActivityAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMMotionActivityManager", - b"queryActivityStartingFromDate:toDate:toQueue:withHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMotionActivityManager", - b"startActivityUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CMMotionManager", b"isAccelerometerActive", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isAccelerometerAvailable", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isDeviceMotionActive", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isDeviceMotionAvailable", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isGyroActive", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isGyroAvailable", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isMagnetometerActive", {"retval": {"type": b"Z"}}) - r(b"CMMotionManager", b"isMagnetometerAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMMotionManager", - b"setShowsDeviceMovementDisplay:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CMMotionManager", b"showsDeviceMovementDisplay", {"retval": {"type": b"Z"}}) - r( - b"CMMotionManager", - b"startAccelerometerUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMotionManager", - b"startDeviceMotionUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMotionManager", - b"startDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMotionManager", - b"startGyroUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMotionManager", - b"startMagnetometerUpdatesToQueue:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CMMovementDisorderManager", b"isAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMMovementDisorderManager", - b"queryDyskineticSymptomFromDate:toDate:withHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMMovementDisorderManager", - b"queryTremorFromDate:toDate:withHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CMPedometer", b"isCadenceAvailable", {"retval": {"type": b"Z"}}) - r(b"CMPedometer", b"isDistanceAvailable", {"retval": {"type": b"Z"}}) - r(b"CMPedometer", b"isFloorCountingAvailable", {"retval": {"type": b"Z"}}) - r(b"CMPedometer", b"isPaceAvailable", {"retval": {"type": b"Z"}}) - r(b"CMPedometer", b"isPedometerEventTrackingAvailable", {"retval": {"type": b"Z"}}) - r(b"CMPedometer", b"isStepCountingAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMPedometer", - b"queryPedometerDataFromDate:toDate:withHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CMPedometer", - b"startPedometerEventUpdatesWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CMPedometer", - b"startPedometerUpdatesFromDate:withHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CMRotationRateData", - b"rotationRate", - {"retval": {"type": b"{_CMRotationRate=ddd}"}}, - ) - r( - b"CMSensorRecorder", - b"isAccelerometerRecordingAvailable", - {"retval": {"type": b"Z"}}, - ) - r(b"CMSensorRecorder", b"isAuthorizedForRecording", {"retval": {"type": b"Z"}}) - r(b"CMStepCounter", b"isStepCountingAvailable", {"retval": {"type": b"Z"}}) - r( - b"CMStepCounter", - b"queryStepCountStartingFrom:to:toQueue:withHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"CMStepCounter", - b"startStepCountingUpdatesToQueue:updateOn:withHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"fallDetectionManager:didDetectEvent:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"fallDetectionManagerDidChangeAuthorization:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"headphoneMotionManagerDidConnect:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"headphoneMotionManagerDidDisconnect:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/CarbonCore/__init__.py b/src/lib/CoreServices/CarbonCore/__init__.py deleted file mode 100644 index cf7c6f2..0000000 --- a/src/lib/CoreServices/CarbonCore/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the CoreServices/CarbonCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. - -Note that PyObjC only wrappers the non-deprecated parts of the CoreServices -framework. -""" -import sys - -import objc -from CoreServices._inlines import _inline_list_ -from CoreServices.CarbonCore import _metadata - -sys.modules["CoreServices.CarbonCore"] = mod = objc.ObjCLazyModule( - "CoreServices.CarbonCore", - "com.apple.CarbonCore", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (), -) - - -del sys.modules["CoreServices.CarbonCore._metadata"] diff --git a/src/lib/CoreServices/CarbonCore/_metadata.py b/src/lib/CoreServices/CarbonCore/_metadata.py deleted file mode 100644 index 6309c22..0000000 --- a/src/lib/CoreServices/CarbonCore/_metadata.py +++ /dev/null @@ -1,497 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "ScriptCodeRun": objc.createStructType( - "CoreServices.CarbonCore.ScriptCodeRun", - b"{ScriptCodeRun=Qs}", - ["offset", "script"], - ), - "NumFormatStringRec": objc.createStructType( - "CoreServices.CarbonCore.NumFormatStringRec", - b"{NumFormatString=CC[254c]}", - ["fLength", "fVersion", "data"], - ), - "UnicodeMapping": objc.createStructType( - "CoreServices.CarbonCore.UnicodeMapping", - b"{UnicodeMapping=IIi}", - ["unicodeEncoding", "otherEncoding", "mappingVersion"], - ), - "TECConversionInfo": objc.createStructType( - "CoreServices.CarbonCore.TECConversionInfo", - b"{TECConversionInfo=IISS}", - ["sourceEncoding", "destinationEncoding", "reserved1", "reserved2"], - ), - "LocaleAndVariant": objc.createStructType( - "CoreServices.CarbonCore.LocaleAndVariant", - b"{LocaleAndVariant=^{OpaqueLocaleRef=}I}", - ["locale", "opVariant"], - ), - "TextEncodingRun": objc.createStructType( - "CoreServices.CarbonCore.TextEncodingRun", - b"{TextEncodingRun=QI}", - ["offset", "textEncoding"], - ), - "TECInfo": objc.createStructType( - "CoreServices.CarbonCore.TECInfo", - b"{TECInfo=SSIII[32C][32C]SS}", - [ - "format", - "tecVersion", - "tecTextConverterFeatures", - "tecUnicodeConverterFeatures", - "tecTextCommonFeatures", - "tecTextEncodingsFolderName", - "tecExtensionFileName", - "tecLowestTEFileVersion", - "tecHighestTEFileVersion", - ], - ), - "Nanoseconds": objc.createStructType( - "CoreServices.CarbonCore.Nanoseconds", b"{UnsignedWide=II}", ["lo", "hi"] - ), - } -) -constants = """$$""" -enums = """$gestaltArm@20$kBig5_BasicVariant@0$kBig5_DOSVariant@3$kBig5_ETenVariant@2$kBig5_StandardVariant@1$kCSDiskSpaceRecoveryOptionNoUI@1$kDOSJapanesePalmVariant@1$kDOSJapaneseStandardVariant@0$kEUC_CN_BasicVariant@0$kEUC_CN_DOSVariant@1$kEUC_KR_BasicVariant@0$kEUC_KR_DOSVariant@1$kFSAllowConcurrentAsyncIOBit@3$kHebrewFigureSpaceVariant@1$kHebrewStandardVariant@0$kISOLatin1MusicCDVariant@1$kISOLatin1StandardVariant@0$kISOLatinArabicExplicitOrderVariant@2$kISOLatinArabicImplicitOrderVariant@0$kISOLatinArabicVisualOrderVariant@1$kISOLatinHebrewExplicitOrderVariant@2$kISOLatinHebrewImplicitOrderVariant@0$kISOLatinHebrewVisualOrderVariant@1$kJapaneseBasicVariant@2$kJapanesePostScriptPrintVariant@4$kJapanesePostScriptScrnVariant@3$kJapaneseStandardVariant@0$kJapaneseStdNoVerticalsVariant@1$kJapaneseVertAtKuPlusTenVariant@5$kLocaleAllPartsMask@63$kLocaleAndVariantNameMask@3$kLocaleLanguageMask@1$kLocaleLanguageVariantMask@2$kLocaleNameMask@1$kLocaleOperationVariantNameMask@2$kLocaleRegionMask@16$kLocaleRegionVariantMask@32$kLocaleScriptMask@4$kLocaleScriptVariantMask@8$kMacArabicAlBayanVariant@3$kMacArabicStandardVariant@0$kMacArabicThuluthVariant@2$kMacArabicTrueTypeVariant@1$kMacCroatianCurrencySignVariant@1$kMacCroatianDefaultVariant@0$kMacCroatianEuroSignVariant@2$kMacCyrillicCurrSignStdVariant@1$kMacCyrillicCurrSignUkrVariant@2$kMacCyrillicDefaultVariant@0$kMacCyrillicEuroSignVariant@3$kMacFarsiStandardVariant@0$kMacFarsiTrueTypeVariant@1$kMacGreekDefaultVariant@0$kMacGreekEuroSignVariant@2$kMacGreekNoEuroSignVariant@1$kMacHebrewFigureSpaceVariant@1$kMacHebrewStandardVariant@0$kMacIcelandicStandardVariant@0$kMacIcelandicStdCurrSignVariant@2$kMacIcelandicStdDefaultVariant@0$kMacIcelandicStdEuroSignVariant@4$kMacIcelandicTTCurrSignVariant@3$kMacIcelandicTTDefaultVariant@1$kMacIcelandicTTEuroSignVariant@5$kMacIcelandicTrueTypeVariant@1$kMacJapaneseBasicVariant@2$kMacJapanesePostScriptPrintVariant@4$kMacJapanesePostScriptScrnVariant@3$kMacJapaneseStandardVariant@0$kMacJapaneseStdNoVerticalsVariant@1$kMacJapaneseVertAtKuPlusTenVariant@5$kMacRomanCurrencySignVariant@1$kMacRomanDefaultVariant@0$kMacRomanEuroSignVariant@2$kMacRomanLatin1CroatianVariant@8$kMacRomanLatin1DefaultVariant@0$kMacRomanLatin1IcelandicVariant@11$kMacRomanLatin1RomanianVariant@14$kMacRomanLatin1StandardVariant@2$kMacRomanLatin1TurkishVariant@6$kMacRomanStandardVariant@0$kMacRomanianCurrencySignVariant@1$kMacRomanianDefaultVariant@0$kMacRomanianEuroSignVariant@2$kMacVT100CurrencySignVariant@1$kMacVT100DefaultVariant@0$kMacVT100EuroSignVariant@2$kShiftJIS_BasicVariant@0$kShiftJIS_DOSVariant@1$kShiftJIS_MusicCDVariant@2$kTECAddFallbackInterruptBit@7$kTECAddFallbackInterruptMask@128$kTECAddForceASCIIChangesBit@4$kTECAddForceASCIIChangesMask@16$kTECAddTextRunHeuristicsBit@6$kTECAddTextRunHeuristicsMask@64$kTECChinesePluginSignature@1887070319$kTECDisableFallbacksBit@16$kTECDisableFallbacksMask@65536$kTECDisableLooseMappingsBit@17$kTECDisableLooseMappingsMask@131072$kTECFallbackTextLengthFixBit@1$kTECFallbackTextLengthFixMask@2$kTECInfoCurrentFormat@2$kTECInternetNameDefaultUsageMask@0$kTECInternetNameStrictUsageMask@1$kTECInternetNameTolerantUsageMask@2$kTECJapanesePluginSignature@1886023790$kTECKeepInfoFixBit@0$kTECKeepInfoFixMask@1$kTECKoreanPluginSignature@1886089074$kTECPreferredEncodingFixBit@5$kTECPreferredEncodingFixMask@32$kTECSignature@1701733238$kTECTextRunBitClearFixBit@2$kTECTextRunBitClearFixMask@4$kTECTextToUnicodeScanFixBit@3$kTECTextToUnicodeScanFixMask@8$kTECUnicodePluginSignature@1886744169$kTEC_MIBEnumDontCare@-1$kTextCenter@1$kTextEncodingANSEL@1537$kTextEncodingBaseName@1$kTextEncodingBig5@2563$kTextEncodingBig5_E@2569$kTextEncodingBig5_HKSCS_1999@2566$kTextEncodingCNS_11643_92_P1@1617$kTextEncodingCNS_11643_92_P2@1618$kTextEncodingCNS_11643_92_P3@1619$kTextEncodingDOSArabic@1049$kTextEncodingDOSBalticRim@1030$kTextEncodingDOSCanadianFrench@1048$kTextEncodingDOSChineseSimplif@1057$kTextEncodingDOSChineseTrad@1059$kTextEncodingDOSCyrillic@1043$kTextEncodingDOSGreek@1029$kTextEncodingDOSGreek1@1041$kTextEncodingDOSGreek2@1052$kTextEncodingDOSHebrew@1047$kTextEncodingDOSIcelandic@1046$kTextEncodingDOSJapanese@1056$kTextEncodingDOSKorean@1058$kTextEncodingDOSLatin1@1040$kTextEncodingDOSLatin2@1042$kTextEncodingDOSLatinUS@1024$kTextEncodingDOSNordic@1050$kTextEncodingDOSPortuguese@1045$kTextEncodingDOSRussian@1051$kTextEncodingDOSThai@1053$kTextEncodingDOSTurkish@1044$kTextEncodingDefaultFormat@0$kTextEncodingDefaultVariant@0$kTextEncodingEBCDIC_CP037@3074$kTextEncodingEBCDIC_LatinCore@3073$kTextEncodingEBCDIC_US@3073$kTextEncodingEUC_CN@2352$kTextEncodingEUC_JP@2336$kTextEncodingEUC_KR@2368$kTextEncodingEUC_TW@2353$kTextEncodingFormatName@3$kTextEncodingFullName@0$kTextEncodingGBK_95@1585$kTextEncodingGB_18030_2000@1586$kTextEncodingGB_18030_2005@1586$kTextEncodingGB_2312_80@1584$kTextEncodingHZ_GB_2312@2565$kTextEncodingISO10646_1993@257$kTextEncodingISOLatin1@513$kTextEncodingISOLatin10@528$kTextEncodingISOLatin2@514$kTextEncodingISOLatin3@515$kTextEncodingISOLatin4@516$kTextEncodingISOLatin5@521$kTextEncodingISOLatin6@522$kTextEncodingISOLatin7@525$kTextEncodingISOLatin8@526$kTextEncodingISOLatin9@527$kTextEncodingISOLatinArabic@518$kTextEncodingISOLatinCyrillic@517$kTextEncodingISOLatinGreek@519$kTextEncodingISOLatinHebrew@520$kTextEncodingISO_2022_CN@2096$kTextEncodingISO_2022_CN_EXT@2097$kTextEncodingISO_2022_JP@2080$kTextEncodingISO_2022_JP_1@2082$kTextEncodingISO_2022_JP_2@2081$kTextEncodingISO_2022_JP_3@2083$kTextEncodingISO_2022_KR@2112$kTextEncodingJIS_C6226_78@1572$kTextEncodingJIS_X0201_76@1568$kTextEncodingJIS_X0208_83@1569$kTextEncodingJIS_X0208_90@1570$kTextEncodingJIS_X0212_90@1571$kTextEncodingJIS_X0213_MenKuTen@1577$kTextEncodingKOI8_R@2562$kTextEncodingKOI8_U@2568$kTextEncodingKSC_5601_87@1600$kTextEncodingKSC_5601_92_Johab@1601$kTextEncodingMacArabic@4$kTextEncodingMacArmenian@24$kTextEncodingMacBengali@13$kTextEncodingMacBurmese@19$kTextEncodingMacCeltic@39$kTextEncodingMacCentralEurRoman@29$kTextEncodingMacChineseSimp@25$kTextEncodingMacChineseTrad@2$kTextEncodingMacCroatian@36$kTextEncodingMacCyrillic@7$kTextEncodingMacDevanagari@9$kTextEncodingMacDingbats@34$kTextEncodingMacEastEurRoman@29$kTextEncodingMacEthiopic@28$kTextEncodingMacExtArabic@31$kTextEncodingMacFarsi@140$kTextEncodingMacGaelic@40$kTextEncodingMacGeez@28$kTextEncodingMacGeorgian@23$kTextEncodingMacGreek@6$kTextEncodingMacGujarati@11$kTextEncodingMacGurmukhi@10$kTextEncodingMacHFS@255$kTextEncodingMacHebrew@5$kTextEncodingMacIcelandic@37$kTextEncodingMacInuit@236$kTextEncodingMacJapanese@1$kTextEncodingMacKannada@16$kTextEncodingMacKeyboardGlyphs@41$kTextEncodingMacKhmer@20$kTextEncodingMacKorean@3$kTextEncodingMacLaotian@22$kTextEncodingMacMalayalam@17$kTextEncodingMacMongolian@27$kTextEncodingMacOriya@12$kTextEncodingMacRSymbol@8$kTextEncodingMacRoman@0$kTextEncodingMacRomanLatin1@2564$kTextEncodingMacRomanian@38$kTextEncodingMacSimpChinese@25$kTextEncodingMacSinhalese@18$kTextEncodingMacSymbol@33$kTextEncodingMacTamil@14$kTextEncodingMacTelugu@15$kTextEncodingMacThai@21$kTextEncodingMacTibetan@26$kTextEncodingMacTradChinese@2$kTextEncodingMacTurkish@35$kTextEncodingMacUkrainian@152$kTextEncodingMacUnicode@126$kTextEncodingMacUninterp@32$kTextEncodingMacVT100@252$kTextEncodingMacVietnamese@30$kTextEncodingMultiRun@4095$kTextEncodingNextStepJapanese@2818$kTextEncodingNextStepLatin@2817$kTextEncodingShiftJIS@2561$kTextEncodingShiftJIS_X0213@1576$kTextEncodingShiftJIS_X0213_00@1576$kTextEncodingUS_ASCII@1536$kTextEncodingUnicodeDefault@256$kTextEncodingUnicodeV10_0@276$kTextEncodingUnicodeV11_0@277$kTextEncodingUnicodeV12_1@278$kTextEncodingUnicodeV13_0@279$kTextEncodingUnicodeV1_1@257$kTextEncodingUnicodeV2_0@259$kTextEncodingUnicodeV2_1@259$kTextEncodingUnicodeV3_0@260$kTextEncodingUnicodeV3_1@261$kTextEncodingUnicodeV3_2@262$kTextEncodingUnicodeV4_0@264$kTextEncodingUnicodeV5_0@266$kTextEncodingUnicodeV5_1@267$kTextEncodingUnicodeV6_0@269$kTextEncodingUnicodeV6_1@270$kTextEncodingUnicodeV6_3@272$kTextEncodingUnicodeV7_0@273$kTextEncodingUnicodeV8_0@274$kTextEncodingUnicodeV9_0@275$kTextEncodingUnknown@65535$kTextEncodingVISCII@2567$kTextEncodingVariantName@2$kTextEncodingWindowsANSI@1280$kTextEncodingWindowsArabic@1286$kTextEncodingWindowsBalticRim@1287$kTextEncodingWindowsCyrillic@1282$kTextEncodingWindowsGreek@1283$kTextEncodingWindowsHebrew@1285$kTextEncodingWindowsKoreanJohab@1296$kTextEncodingWindowsLatin1@1280$kTextEncodingWindowsLatin2@1281$kTextEncodingWindowsLatin5@1284$kTextEncodingWindowsVietnamese@1288$kTextFlushDefault@0$kTextFlushLeft@-2$kTextFlushRight@-1$kTextLanguageDontCare@-128$kTextRegionDontCare@-128$kTextScriptDontCare@-128$kUCBidiCatArabicNumber@6$kUCBidiCatBlockSeparator@8$kUCBidiCatBoundaryNeutral@19$kUCBidiCatCommonNumberSeparator@7$kUCBidiCatEuroNumber@3$kUCBidiCatEuroNumberSeparator@4$kUCBidiCatEuroNumberTerminator@5$kUCBidiCatFirstStrongIsolate@22$kUCBidiCatLeftRight@1$kUCBidiCatLeftRightEmbedding@13$kUCBidiCatLeftRightIsolate@20$kUCBidiCatLeftRightOverride@15$kUCBidiCatNonSpacingMark@18$kUCBidiCatNotApplicable@0$kUCBidiCatOtherNeutral@11$kUCBidiCatPopDirectionalFormat@17$kUCBidiCatPopDirectionalIsolate@23$kUCBidiCatRightLeft@2$kUCBidiCatRightLeftArabic@12$kUCBidiCatRightLeftEmbedding@14$kUCBidiCatRightLeftIsolate@21$kUCBidiCatRightLeftOverride@16$kUCBidiCatSegmentSeparator@9$kUCBidiCatWhitespace@10$kUCCharPropTypeBidiCategory@3$kUCCharPropTypeCombiningClass@2$kUCCharPropTypeDecimalDigitValue@4$kUCCharPropTypeGenlCategory@1$kUCGenlCatLetterLowercase@15$kUCGenlCatLetterModifier@17$kUCGenlCatLetterOther@18$kUCGenlCatLetterTitlecase@16$kUCGenlCatLetterUppercase@14$kUCGenlCatMarkEnclosing@7$kUCGenlCatMarkNonSpacing@5$kUCGenlCatMarkSpacingCombining@6$kUCGenlCatNumberDecimalDigit@8$kUCGenlCatNumberLetter@9$kUCGenlCatNumberOther@10$kUCGenlCatOtherControl@1$kUCGenlCatOtherFormat@2$kUCGenlCatOtherNotAssigned@0$kUCGenlCatOtherPrivateUse@4$kUCGenlCatOtherSurrogate@3$kUCGenlCatPunctClose@23$kUCGenlCatPunctConnector@20$kUCGenlCatPunctDash@21$kUCGenlCatPunctFinalQuote@25$kUCGenlCatPunctInitialQuote@24$kUCGenlCatPunctOpen@22$kUCGenlCatPunctOther@26$kUCGenlCatSeparatorLine@12$kUCGenlCatSeparatorParagraph@13$kUCGenlCatSeparatorSpace@11$kUCGenlCatSymbolCurrency@29$kUCGenlCatSymbolMath@28$kUCGenlCatSymbolModifier@30$kUCGenlCatSymbolOther@31$kUCHighSurrogateRangeEnd@56319$kUCHighSurrogateRangeStart@55296$kUCLowSurrogateRangeEnd@57343$kUCLowSurrogateRangeStart@56320$kUnicode16BitFormat@0$kUnicode32BitFormat@3$kUnicodeByteOrderMark@65279$kUnicodeCanonicalCompVariant@3$kUnicodeCanonicalDecompVariant@2$kUnicodeFallbackInterruptSafeMask@4$kUnicodeFallbackSequencingMask@3$kUnicodeHFSPlusCompVariant@9$kUnicodeHFSPlusDecompVariant@8$kUnicodeMaxDecomposedVariant@2$kUnicodeNoCompatibilityVariant@1$kUnicodeNoComposedVariant@3$kUnicodeNoCorporateVariant@4$kUnicodeNoSubset@0$kUnicodeNormalizationFormC@3$kUnicodeNormalizationFormD@5$kUnicodeNotAChar@65535$kUnicodeObjectReplacement@65532$kUnicodeReplacementChar@65533$kUnicodeSCSUFormat@8$kUnicodeSwappedByteOrderMark@65534$kUnicodeUTF16BEFormat@4$kUnicodeUTF16Format@0$kUnicodeUTF16LEFormat@5$kUnicodeUTF32BEFormat@6$kUnicodeUTF32Format@3$kUnicodeUTF32LEFormat@7$kUnicodeUTF7Format@1$kUnicodeUTF8Format@2$kWindowsLatin1PalmVariant@1$kWindowsLatin1StandardVariant@0$""" -misc.update({}) -misc.update( - {"kTECMacOSXDispatchTableNameString": b"ConverterPluginGetPluginDispatchTable"} -) -functions = { - "CSBackupIsItemExcluded": ( - b"Z^{__CFURL=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CSDiskSpaceStartRecovery": ( - b"v^{__CFURL=}Qi^^{__CFUUID=}@@?", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "Z"}, - 2: {"type": "Q"}, - 3: {"type": "@"}, - }, - } - }, - } - }, - ), - "GetTextEncodingFormat": (b"II",), - "LocaleStringToLangAndRegionCodes": ( - b"i^t^s^s", - "", - { - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "TECCreateSniffer": ( - b"i^^{OpaqueTECSnifferObjectRef=}^IQ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - }, - }, - ), - "TECGetTextEncodingFromInternetNameOrMIB": ( - b"i^II^{__CFString=}i", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - } - }, - ), - "GetTextEncodingFromScriptInfo": ( - b"isss^I", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "TECClearConverterContextInfo": (b"i^{OpaqueTECObjectRef=}",), - "TECGetWebTextEncodings": ( - b"is^IQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "TECCountWebTextEncodings": ( - b"is^Q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "LocaleRefGetPartString": ( - b"i^{OpaqueLocaleRef=}IQ^t", - "", - {"arguments": {3: {"c_array_delimited_by_null": True, "type_modifier": "o"}}}, - ), - "UCIsSurrogateLowCharacter": (b"ZT",), - "TECCreateOneToManyConverter": ( - b"i^^{OpaqueTECObjectRef=}IQ^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "o"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - }, - }, - ), - "TECGetMailTextEncodings": ( - b"is^IQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "TECSniffTextEncoding": ( - b"i^{OpaqueTECSnifferObjectRef=}^CQ^IQ^QQ^QQ", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "o"}, - 5: {"c_array_length_in_arg": 6, "type_modifier": "o"}, - 7: {"c_array_length_in_arg": 8, "type_modifier": "o"}, - } - }, - ), - "TECGetInfo": ( - b"i^^^{TECInfo=SSIII[32C][32C]SS}", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "CreateTextEncoding": (b"IIII", "", {"retval": {"already_cfretained": True}}), - "TECCountDirectTextEncodingConversions": ( - b"i^Q", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "TECGetTextEncodingInternetName": ( - b"iI[256C]", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "TECCountAvailableSniffers": ( - b"i^Q", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "ResolveDefaultTextEncoding": (b"II",), - "LocaleRefFromLocaleString": ( - b"i^t^^{OpaqueLocaleRef=}", - "", - { - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"type_modifier": "o"}, - } - }, - ), - "GetTextEncodingBase": (b"II",), - "TECGetAvailableSniffers": ( - b"i^IQ^Q", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": (1, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "TECSetBasicOptions": (b"i^{OpaqueTECObjectRef=}I",), - "CSBackupSetItemExcluded": (b"i^{__CFURL=}ZZ",), - "CSDiskSpaceGetRecoveryEstimate": (b"Q^{__CFURL=}",), - "LocaleOperationCountNames": (b"iI^Q",), - "TECDisposeSniffer": (b"i^{OpaqueTECSnifferObjectRef=}",), - "TECConvertTextToMultipleEncodings": ( - b"i^{OpaqueTECObjectRef=}^CQ^Q^CQ^Q^{TextEncodingRun=QI}Q^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - 4: {"c_array_length_in_arg": (5, 6), "type_modifier": "o"}, - 6: {"type_modifier": "o"}, - 7: {"c_array_length_in_arg": (8, 9), "type_modifier": "o"}, - 9: {"type_modifier": "o"}, - } - }, - ), - "TECFlushText": ( - b"i^{OpaqueTECObjectRef=}^CQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "UpgradeScriptInfoToTextEncoding": ( - b"isss^C^I", - "", - {"arguments": {3: {"type_modifier": "n"}, 4: {"type_modifier": "o"}}}, - ), - "TECClearSnifferContextInfo": (b"i^{OpaqueTECSnifferObjectRef=}",), - "UCGetUnicodeScalarValueForSurrogatePair": (b"ITT",), - "UCIsSurrogateHighCharacter": (b"ZT",), - "TECCountSubTextEncodings": ( - b"iI^Q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "TECConvertText": ( - b"i^{OpaqueTECObjectRef=}^CQ^Q^CQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - 4: {"c_array_length_in_arg": (5, 6), "type_modifier": "o"}, - 6: {"type_modifier": "o"}, - } - }, - ), - "TECGetDirectTextEncodingConversions": ( - b"i^{TECConversionInfo=IISS}Q^Q", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": (1, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "GetTextEncodingName": ( - b"iIIsIQ^Q^s^I^t", - "", - { - "arguments": { - 8: {"c_array_length_in_arg": (4, 5), "type_modifier": "o"}, - 5: {"type_modifier": "o"}, - 6: {"type_modifier": "o"}, - 7: {"type_modifier": "o"}, - } - }, - ), - "RevertTextEncodingToScriptInfo": ( - b"iI^s^s[256C]", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "TECGetSubTextEncodings": ( - b"iI^IQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "TECCopyTextEncodingInternetNameAndMIB": ( - b"iII^^{__CFString=}^i", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"already_cfretained": True, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - }, - }, - ), - "TECGetAvailableTextEncodings": ( - b"i^IQ^Q", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": (1, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "UCGetCharProperty": ( - b"i^TQi^I", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "LocaleRefFromLangOrRegionCode": ( - b"iss^^{OpaqueLocaleRef=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "TECCreateConverterFromPath": ( - b"i^^{OpaqueTECObjectRef=}^IQ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - }, - }, - ), - "TECCreateConverter": ( - b"i^^{OpaqueTECObjectRef=}II", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "NearestMacTextEncodings": ( - b"iI^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "TECCountMailTextEncodings": ( - b"is^Q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "TECCountAvailableTextEncodings": ( - b"i^Q", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "TECGetDestinationTextEncodings": ( - b"iI^IQ^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "LocaleOperationGetName": ( - b"iI^{OpaqueLocaleRef=}Q^Q^t", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - } - }, - ), - "TECFlushMultipleEncodings": ( - b"i^{OpaqueTECObjectRef=}^CQ^Q^{TextEncodingRun=QI}Q^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"c_array_length_in_arg": (5, 6), "type_modifier": "o"}, - 6: {"type_modifier": "o"}, - } - }, - ), - "LocaleOperationGetIndName": ( - b"iIQQ^Q^t^^{OpaqueLocaleRef=}", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: {"c_array_length_in_arg": (2, 3), "type_modifier": "o"}, - 5: {"type_modifier": "o"}, - } - }, - ), - "TECCountDestinationTextEncodings": ( - b"iI^Q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "GetScriptInfoFromTextEncoding": ( - b"iI^s^s", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "GetTextEncodingVariant": (b"II",), - "TECDisposeConverter": (b"i^{OpaqueTECObjectRef=}",), - "TECGetTextEncodingFromInternetName": ( - b"i^I^C", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}}, - ), - "CSDiskSpaceCancelRecovery": (b"v^{__CFUUID=}",), -} -cftypes = [ - ("FSFileOperationRef", b"^{__FSFileOperation=}", None, None), - ("FSFileSecurityRef", b"^{__FSFileSecurity=}", None, None), -] -misc.update( - { - "TECSnifferObjectRef": objc.createOpaquePointerType( - "TECSnifferObjectRef", b"^{OpaqueTECSnifferObjectRef=}" - ), - "TECObjectRef": objc.createOpaquePointerType( - "TECObjectRef", b"^{OpaqueTECObjectRef=}" - ), - } -) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/DictionaryServices/__init__.py b/src/lib/CoreServices/DictionaryServices/__init__.py deleted file mode 100644 index 33ccde9..0000000 --- a/src/lib/CoreServices/DictionaryServices/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the DictionaryServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from CoreServices.DictionaryServices import _metadata - -sys.modules["CoreServices.DictionaryServices"] = mod = objc.ObjCLazyModule( - "DictionaryServices", - "com.apple.CoreServices", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["CoreServices.DictionaryServices._metadata"] diff --git a/src/lib/CoreServices/DictionaryServices/_metadata.py b/src/lib/CoreServices/DictionaryServices/_metadata.py deleted file mode 100644 index 341ec6e..0000000 --- a/src/lib/CoreServices/DictionaryServices/_metadata.py +++ /dev/null @@ -1,53 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -functions = { - "DCSDictionaryGetTypeID": ( - b"l", - "", - {"comment": "Function not present in header files"}, - ), - "DCSGetTermRangeInString": (b"{_CFRange=qq}^{__DCSDictionary=}^{__CFString=}q",), - "DCSCopyTextDefinition": ( - b"^{__CFString=}^{__DCSDictionary=}^{__CFString=}{_CFRange=qq}", - "", - {"retval": {"already_retained": True, "already_cfretained": True}}, - ), -} -cftypes = [("DCSDictionaryRef", b"^{__DCSDictionary=}", "DCSDictionaryGetTypeID", None)] -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/LaunchServices/__init__.py b/src/lib/CoreServices/LaunchServices/__init__.py deleted file mode 100644 index d63c453..0000000 --- a/src/lib/CoreServices/LaunchServices/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the LaunchServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from CoreServices.LaunchServices import _metadata - -sys.modules["CoreServices.LaunchServices"] = mod = objc.ObjCLazyModule( - "LaunchServices", - "com.apple.CoreServices", - objc.pathForFramework( - "/System/Library/Frameworks/CoreServices.framework/CoreServices" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["CoreServices.LaunchServices._metadata"] diff --git a/src/lib/CoreServices/LaunchServices/_metadata.py b/src/lib/CoreServices/LaunchServices/_metadata.py deleted file mode 100644 index 1791c0f..0000000 --- a/src/lib/CoreServices/LaunchServices/_metadata.py +++ /dev/null @@ -1,700 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "LSItemInfoRecord": objc.createStructType( - "CoreServices.LaunchServices.LSItemInfoRecord", - b"{LSItemInfoRecord=III^{__CFString=}}", - ["flags", "filetype", "creator", "extension"], - None, - 2, - ), - "LSLaunchFSRefSpec": objc.createStructType( - "CoreServices.LaunchServices.LSLaunchFSRefSpec", - b"{LSLaunchFSRefSpec=^{FSRef=[80C]}Q^{FSRef=[80C]}^{AEDesc=I^^{OpaqueAEDataStorageType=}}I^v}", - [ - "appRef", - "numDocs", - "itemRefs", - "passThruParams", - "launchFlags", - "asyncRefCon", - ], - None, - 2, - ), - "LSApplicationParameters": objc.createStructType( - "CoreServices.LaunchServices.LSApplicationParameters", - b"{LSApplicationParameters=qI^{FSRef=[80C]}^v^{__CFDictionary=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}}", - [ - "version", - "flags", - "application", - "asyncLaunchRefCon", - "environment", - "argv", - "initialEvent", - ], - ), - "LSLaunchURLSpec": objc.createStructType( - "CoreServices.LaunchServices.LSLaunchURLSpec", - b"{LSLaunchURLSpec=^{__CFURL=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}I^v}", - ["appURL", "itemURLs", "passThruParams", "launchFlags", "asyncRefCon"], - None, - 2, - ), - } -) -constants = """$kLSItemContentType$kLSItemDisplayKind$kLSItemDisplayName$kLSItemExtension$kLSItemExtensionIsHidden$kLSItemFileCreator$kLSItemFileType$kLSItemIsInvisible$kLSItemQuarantineProperties$kLSItemRoleHandlerDisplayName$kLSQuarantineAgentBundleIdentifierKey$kLSQuarantineAgentNameKey$kLSQuarantineDataURLKey$kLSQuarantineOriginURLKey$kLSQuarantineTimeStampKey$kLSQuarantineTypeCalendarEventAttachment$kLSQuarantineTypeEmailAttachment$kLSQuarantineTypeInstantMessageAttachment$kLSQuarantineTypeKey$kLSQuarantineTypeOtherAttachment$kLSQuarantineTypeOtherDownload$kLSQuarantineTypeWebDownload$kLSSharedFileListFavoriteItems$kLSSharedFileListFavoriteVolumes$kLSSharedFileListGlobalLoginItems$kLSSharedFileListItemBeforeFirst@==^{OpaqueLSSharedFileListItemRef=}$kLSSharedFileListItemHidden$kLSSharedFileListItemLast@==^{OpaqueLSSharedFileListItemRef=}$kLSSharedFileListLoginItemHidden$kLSSharedFileListRecentApplicationItems$kLSSharedFileListRecentDocumentItems$kLSSharedFileListRecentItemsMaxAmount$kLSSharedFileListRecentServerItems$kLSSharedFileListSessionLoginItems$kLSSharedFileListVolumesComputerVisible$kLSSharedFileListVolumesIDiskVisible$kLSSharedFileListVolumesNetworkVisible$kUTExportedTypeDeclarationsKey$kUTImportedTypeDeclarationsKey$kUTTagClassFilenameExtension$kUTTagClassMIMEType$kUTTagClassNSPboardType$kUTTagClassOSType$kUTType3DContent$kUTTypeAVIMovie$kUTTypeAliasFile$kUTTypeAliasRecord$kUTTypeAppleICNS$kUTTypeAppleProtectedMPEG4Audio$kUTTypeAppleProtectedMPEG4Video$kUTTypeAppleScript$kUTTypeApplication$kUTTypeApplicationBundle$kUTTypeApplicationFile$kUTTypeArchive$kUTTypeAssemblyLanguageSource$kUTTypeAudio$kUTTypeAudioInterchangeFileFormat$kUTTypeAudiovisualContent$kUTTypeBMP$kUTTypeBinaryPropertyList$kUTTypeBookmark$kUTTypeBundle$kUTTypeBzip2Archive$kUTTypeCHeader$kUTTypeCPlusPlusHeader$kUTTypeCPlusPlusSource$kUTTypeCSource$kUTTypeCalendarEvent$kUTTypeCommaSeparatedText$kUTTypeCompositeContent$kUTTypeConformsToKey$kUTTypeContact$kUTTypeContent$kUTTypeData$kUTTypeDatabase$kUTTypeDelimitedText$kUTTypeDescriptionKey$kUTTypeDirectory$kUTTypeDiskImage$kUTTypeElectronicPublication$kUTTypeEmailMessage$kUTTypeExecutable$kUTTypeFileURL$kUTTypeFlatRTFD$kUTTypeFolder$kUTTypeFont$kUTTypeFramework$kUTTypeGIF$kUTTypeGNUZipArchive$kUTTypeHTML$kUTTypeICO$kUTTypeIconFileKey$kUTTypeIdentifierKey$kUTTypeImage$kUTTypeInkText$kUTTypeInternetLocation$kUTTypeItem$kUTTypeJPEG$kUTTypeJPEG2000$kUTTypeJSON$kUTTypeJavaArchive$kUTTypeJavaClass$kUTTypeJavaScript$kUTTypeJavaSource$kUTTypeLivePhoto$kUTTypeLog$kUTTypeM3UPlaylist$kUTTypeMIDIAudio$kUTTypeMP3$kUTTypeMPEG$kUTTypeMPEG2TransportStream$kUTTypeMPEG2Video$kUTTypeMPEG4$kUTTypeMPEG4Audio$kUTTypeMessage$kUTTypeMountPoint$kUTTypeMovie$kUTTypeOSAScript$kUTTypeOSAScriptBundle$kUTTypeObjectiveCPlusPlusSource$kUTTypeObjectiveCSource$kUTTypePDF$kUTTypePHPScript$kUTTypePICT$kUTTypePKCS12$kUTTypePNG$kUTTypePackage$kUTTypePerlScript$kUTTypePlainText$kUTTypePlaylist$kUTTypePluginBundle$kUTTypePresentation$kUTTypePropertyList$kUTTypePythonScript$kUTTypeQuickLookGenerator$kUTTypeQuickTimeImage$kUTTypeQuickTimeMovie$kUTTypeRTF$kUTTypeRTFD$kUTTypeRawImage$kUTTypeReferenceURLKey$kUTTypeResolvable$kUTTypeRubyScript$kUTTypeScalableVectorGraphics$kUTTypeScript$kUTTypeShellScript$kUTTypeSourceCode$kUTTypeSpotlightImporter$kUTTypeSpreadsheet$kUTTypeSwiftSource$kUTTypeSymLink$kUTTypeSystemPreferencesPane$kUTTypeTIFF$kUTTypeTXNTextAndMultimediaData$kUTTypeTabSeparatedText$kUTTypeTagSpecificationKey$kUTTypeText$kUTTypeToDoItem$kUTTypeURL$kUTTypeURLBookmarkData$kUTTypeUTF16ExternalPlainText$kUTTypeUTF16PlainText$kUTTypeUTF8PlainText$kUTTypeUTF8TabSeparatedText$kUTTypeUnixExecutable$kUTTypeVCard$kUTTypeVersionKey$kUTTypeVideo$kUTTypeVolume$kUTTypeWaveformAudio$kUTTypeWebArchive$kUTTypeWindowsExecutable$kUTTypeX509Certificate$kUTTypeXML$kUTTypeXMLPropertyList$kUTTypeXPCService$kUTTypeZipArchive$""" -enums = """$appleMenuFolderIconResource@-3982$controlPanelFolderIconResource@-3976$desktopIconResource@-3992$dropFolderIconResource@-3979$extensionsFolderIconResource@-3973$floppyIconResource@-3998$fontsFolderIconResource@-3968$fullTrashIconResource@-3984$genericApplicationIconResource@-3996$genericCDROMIconResource@-3987$genericDeskAccessoryIconResource@-3991$genericDocumentIconResource@-4000$genericEditionFileIconResource@-3989$genericExtensionIconResource@-16415$genericFileServerIconResource@-3972$genericFolderIconResource@-3999$genericHardDiskIconResource@-3995$genericMoverObjectIconResource@-3969$genericPreferencesIconResource@-3971$genericQueryDocumentIconResource@-16506$genericRAMDiskIconResource@-3988$genericStationeryIconResource@-3985$genericSuitcaseIconResource@-3970$kAFPServerIcon@1634103411$kAlertCautionBadgeIcon@1667392615$kAlertCautionIcon@1667331444$kAlertNoteIcon@1852798053$kAlertStopIcon@1937010544$kAliasBadgeIcon@1633838183$kAppearanceFolderIcon@1634758770$kAppleExtrasFolderIcon@1634040004$kAppleLogoIcon@1667330156$kAppleMenuFolderIcon@1634561653$kAppleMenuFolderIconResource@-3982$kAppleMenuIcon@1935765612$kAppleScriptBadgeIcon@1935897200$kAppleTalkIcon@1635019883$kAppleTalkZoneIcon@1635023470$kApplicationSupportFolderIcon@1634956656$kApplicationsFolderIcon@1634758771$kAssistantsFolderIcon@1634956484$kBackwardArrowIcon@1650553455$kBurningIcon@1651864174$kClipboardIcon@1129072976$kClippingPictureTypeIcon@1668051056$kClippingSoundTypeIcon@1668051059$kClippingTextTypeIcon@1668051060$kClippingUnknownTypeIcon@1668051061$kColorSyncFolderIcon@1886547814$kComputerIcon@1919905652$kConnectToIcon@1668178804$kContextualMenuItemsFolderIcon@1668116085$kControlPanelDisabledFolderIcon@1668575812$kControlPanelFolderIcon@1668575852$kControlPanelFolderIconResource@-3976$kControlStripModulesFolderIcon@1935963844$kDeleteAliasIcon@1684106345$kDesktopIcon@1684370283$kDesktopIconResource@-3992$kDocumentsFolderIcon@1685021555$kDropFolderIcon@1684172664$kDropFolderIconResource@-3979$kEjectMediaIcon@1701471587$kExtensionsDisabledFolderIcon@1702392900$kExtensionsFolderIcon@1702392942$kExtensionsFolderIconResource@-3973$kFTPServerIcon@1718906995$kFavoriteItemsIcon@1717663346$kFavoritesFolderIcon@1717663347$kFinderIcon@1179534418$kFloppyIconResource@-3998$kFontSuitcaseIcon@1179011404$kFontsFolderIcon@1718578804$kFontsFolderIconResource@-3968$kForwardArrowIcon@1717662319$kFullTrashIcon@1718907496$kFullTrashIconResource@-3984$kGenericApplicationIcon@1095782476$kGenericApplicationIconResource@-3996$kGenericCDROMIcon@1667523698$kGenericCDROMIconResource@-3987$kGenericComponentIcon@1953001063$kGenericControlPanelIcon@1095782467$kGenericControlStripModuleIcon@1935959414$kGenericDeskAccessoryIcon@1095782468$kGenericDeskAccessoryIconResource@-3991$kGenericDocumentIcon@1685021557$kGenericDocumentIconResource@-4000$kGenericEditionFileIcon@1701082214$kGenericEditionFileIconResource@-3989$kGenericExtensionIcon@1229867348$kGenericExtensionIconResource@-16415$kGenericFileServerIcon@1936881266$kGenericFileServerIconResource@-3972$kGenericFloppyIcon@1718382713$kGenericFolderIcon@1718379634$kGenericFolderIconResource@-3999$kGenericFontIcon@1717987692$kGenericFontScalerIcon@1935895666$kGenericHardDiskIcon@1751413611$kGenericHardDiskIconResource@-3995$kGenericIDiskIcon@1768190827$kGenericMoverObjectIcon@1836021362$kGenericMoverObjectIconResource@-3969$kGenericNetworkIcon@1735288180$kGenericPCCardIcon@1885564259$kGenericPreferencesIcon@1886545254$kGenericPreferencesIconResource@-3971$kGenericQueryDocumentIcon@1902473849$kGenericQueryDocumentIconResource@-16506$kGenericRAMDiskIcon@1918987620$kGenericRAMDiskIconResource@-3988$kGenericRemovableMediaIcon@1919774582$kGenericSharedLibaryIcon@1936223330$kGenericStationeryIcon@1935961955$kGenericStationeryIconResource@-3985$kGenericSuitcaseIcon@1937074548$kGenericSuitcaseIconResource@-3970$kGenericURLIcon@1735750252$kGenericWORMIcon@2003792493$kGenericWindowIcon@1735879022$kGridIcon@1735551332$kGroupIcon@1735554416$kGuestUserIcon@1735750514$kHTTPServerIcon@1752461427$kHelpFolderIcon@-999789456$kHelpIcon@1751477360$kHelpIconResource@-20271$kIPFileServerIcon@1769173622$kIconServicesCatalogInfoMask@531550$kIconServicesNoBadgeFlag@1$kIconServicesNormalUsageFlag@0$kIconServicesUpdateIfNeededFlag@2$kInternationResourcesIcon@1768319340$kInternationalResourcesIcon@1768319340$kInternetFolderIcon@1768846532$kInternetLocationAppleShareIcon@1768710502$kInternetLocationAppleTalkZoneIcon@1768710516$kInternetLocationFTPIcon@1768711796$kInternetLocationFileIcon@1768711785$kInternetLocationGenericIcon@1768712037$kInternetLocationHTTPIcon@1768712308$kInternetLocationMailIcon@1768713569$kInternetLocationNSLNeighborhoodIcon@1768713843$kInternetLocationNewsIcon@1768713847$kInternetPlugInFolderIcon@-999398028$kInternetSearchSitesFolderIcon@1769173862$kKeepArrangedIcon@1634889319$kKeyboardLayoutIcon@1801873772$kLSAcceptAllowLoginUI@2$kLSAcceptDefault@1$kLSAppDoesNotClaimTypeErr@-10820$kLSAppDoesNotSupportSchemeWarning@-10821$kLSAppInTrashErr@-10660$kLSApplicationNotFoundErr@-10814$kLSAttributeNotFoundErr@-10662$kLSAttributeNotSettableErr@-10663$kLSCannotSetInfoErr@-10823$kLSDataErr@-10817$kLSDataTooOldErr@-10816$kLSDataUnavailableErr@-10813$kLSExecutableIncorrectFormat@-10661$kLSGarbageCollectionUnsupportedErr@-10666$kLSHandlerOptionsDefault@0$kLSHandlerOptionsIgnoreCreator@1$kLSIncompatibleApplicationVersionErr@-10664$kLSIncompatibleSystemVersionErr@-10825$kLSInitializeDefaults@1$kLSItemInfoAppIsScriptable@2048$kLSItemInfoAppPrefersClassic@1024$kLSItemInfoAppPrefersNative@512$kLSItemInfoExtensionIsHidden@1048576$kLSItemInfoIsAliasFile@16$kLSItemInfoIsApplication@4$kLSItemInfoIsClassicApp@256$kLSItemInfoIsContainer@8$kLSItemInfoIsInvisible@64$kLSItemInfoIsNativeApp@128$kLSItemInfoIsPackage@2$kLSItemInfoIsPlainFile@1$kLSItemInfoIsSymlink@32$kLSItemInfoIsVolume@4096$kLSLaunchAndDisplayErrors@64$kLSLaunchAndHide@1048576$kLSLaunchAndHideOthers@2097152$kLSLaunchAndPrint@2$kLSLaunchAsync@65536$kLSLaunchDefaults@1$kLSLaunchDontAddToRecents@256$kLSLaunchDontSwitch@512$kLSLaunchHasUntrustedContents@4194304$kLSLaunchInClassic@262144$kLSLaunchInProgressErr@-10818$kLSLaunchInhibitBGOnly@128$kLSLaunchNewInstance@524288$kLSLaunchNoParams@2048$kLSLaunchReserved2@4$kLSLaunchReserved3@8$kLSLaunchReserved4@16$kLSLaunchReserved5@32$kLSLaunchStartClassic@131072$kLSMinCatInfoBitmap@6154$kLSMultipleSessionsNotSupportedErr@-10829$kLSNo32BitEnvironmentErr@-10386$kLSNoClassicEnvironmentErr@-10828$kLSNoExecutableErr@-10827$kLSNoLaunchPermissionErr@-10826$kLSNoRegistrationInfoErr@-10824$kLSNoRosettaEnvironmentErr@-10665$kLSNotAnApplicationErr@-10811$kLSNotInitializedErr@-10812$kLSNotRegisteredErr@-10819$kLSRequestAllFlags@16$kLSRequestAllInfo@4294967295$kLSRequestAppTypeFlags@8$kLSRequestBasicFlagsOnly@4$kLSRequestExtension@1$kLSRequestExtensionFlagsOnly@64$kLSRequestIconAndKind@32$kLSRequestTypeCreator@2$kLSRolesAll@4294967295$kLSRolesEditor@4$kLSRolesNone@1$kLSRolesShell@8$kLSRolesViewer@2$kLSServerCommunicationErr@-10822$kLSSharedFileListDoNotMountVolumes@2$kLSSharedFileListNoUserInteraction@1$kLSUnknownCreator@0$kLSUnknownErr@-10810$kLSUnknownKindID@0$kLSUnknownType@0$kLSUnknownTypeErr@-10815$kLocalesFolderIcon@-999526557$kLockedBadgeIcon@1818387559$kLockedIcon@1819239275$kMacOSReadMeFolderIcon@1836020420$kMountedBadgeIcon@1835164775$kMountedFolderIcon@1835955300$kMountedFolderIconResource@-3977$kNoFilesIcon@1852205420$kNoFolderIcon@1852206180$kNoWriteIcon@1853321844$kOpenFolderIcon@1868983396$kOpenFolderIconResource@-3997$kOwnedFolderIcon@1870098020$kOwnedFolderIconResource@-3980$kOwnerIcon@1937077106$kPreferencesFolderIcon@1886545604$kPreferencesFolderIconResource@-3974$kPrintMonitorFolderIcon@1886547572$kPrintMonitorFolderIconResource@-3975$kPrinterDescriptionFolderIcon@1886413926$kPrinterDriverFolderIcon@-999263644$kPrivateFolderIcon@1886549606$kPrivateFolderIconResource@-3994$kProtectedApplicationFolderIcon@1885433968$kProtectedSystemFolderIcon@1886615923$kPublicFolderIcon@1886741094$kQuestionMarkIcon@1903519091$kRecentApplicationsFolderIcon@1918988400$kRecentDocumentsFolderIcon@1919184739$kRecentItemsIcon@1919118964$kRecentServersFolderIcon@1920168566$kRightContainerArrowIcon@1919115634$kScriptingAdditionsFolderIcon@-999070862$kScriptsFolderIcon@1935897284$kSharedBadgeIcon@1935828071$kSharedFolderIcon@1936221804$kSharedFolderIconResource@-3978$kSharedLibrariesFolderIcon@-999528094$kSharingPrivsNotApplicableIcon@1936223841$kSharingPrivsReadOnlyIcon@1936224879$kSharingPrivsReadWriteIcon@1936224887$kSharingPrivsUnknownIcon@1936225643$kSharingPrivsWritableIcon@2003986804$kShortcutIcon@1936224884$kShutdownItemsDisabledFolderIcon@1936221252$kShutdownItemsFolderIcon@1936221286$kSortAscendingIcon@1634954852$kSortDescendingIcon@1685286500$kSoundFileIcon@1936091500$kSpeakableItemsFolder@1936747369$kStartupFolderIconResource@-3981$kStartupItemsDisabledFolderIcon@1937011268$kStartupItemsFolderIcon@1937011316$kSystemExtensionDisabledFolderIcon@1835098948$kSystemFolderIcon@1835098995$kSystemFolderIconResource@-3983$kSystemIconsCreator@1835098995$kSystemSuitcaseIcon@2054388083$kTextEncodingsFolderIcon@-999004808$kToolbarAdvancedIcon@1952604534$kToolbarApplicationsFolderIcon@1950445683$kToolbarCustomizeIcon@1952675187$kToolbarDeleteIcon@1952736620$kToolbarDesktopFolderIcon@1950643051$kToolbarDocumentsFolderIcon@1950642019$kToolbarDownloadsFolderIcon@1950644078$kToolbarFavoritesIcon@1952866678$kToolbarHomeIcon@1953001325$kToolbarInfoIcon@1952606574$kToolbarLabelsIcon@1952607330$kToolbarLibraryFolderIcon@1951164770$kToolbarMovieFolderIcon@1951231862$kToolbarMusicFolderIcon@1951233395$kToolbarPicturesFolderIcon@1951426915$kToolbarPublicFolderIcon@1951429986$kToolbarSitesFolderIcon@1951626355$kToolbarUtilitiesFolderIcon@1951757420$kTrashIcon@1953657704$kTrashIconResource@-3993$kTrueTypeFlatFontIcon@1936092788$kTrueTypeFontIcon@1952868716$kTrueTypeMultiFlatFontIcon@1953784678$kUnknownFSObjectIcon@1970169459$kUnlockedIcon@1970037611$kUserFolderIcon@1969646692$kUserIDiskIcon@1969517419$kUserIcon@1970496882$kUsersFolderIcon@1970500292$kUtilitiesFolderIcon@1970563524$kVoicesFolderIcon@1719037795$kWorkgroupFolderIcon@2003201124$mountedFolderIconResource@-3977$openFolderIconResource@-3997$ownedFolderIconResource@-3980$preferencesFolderIconResource@-3974$printMonitorFolderIconResource@-3975$privateFolderIconResource@-3994$sharedFolderIconResource@-3978$startupFolderIconResource@-3981$systemFolderIconResource@-3983$trashIconResource@-3993$""" -misc.update( - { - "LSHandlerOptions": NewType("LSHandlerOptions", int), - "LSRolesMask": NewType("LSRolesMask", int), - "LSRequestedInfo": NewType("LSRequestedInfo", int), - "LSItemInfoFlags": NewType("LSItemInfoFlags", int), - "LSLaunchFlags": NewType("LSLaunchFlags", int), - "LSAcceptanceFlags": NewType("LSAcceptanceFlags", int), - } -) -misc.update({}) -functions = { - "LSSharedFileListItemCopyDisplayName": ( - b"^{__CFString=}^{OpaqueLSSharedFileListItemRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "_LSCopyAllApplicationURLs": ( - b"v^@", - "", - {"arguments": {0: {"already_retained": True, "type_modifier": "o"}}}, - ), - "LSCopyItemInfoForRef": ( - b"i^{FSRef=[80C]}I^{LSItemInfoRecord=III^{__CFString=}}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}, - }, - ), - "GetIconRefFromTypeInfo": ( - b"sII^{__CFString=}^{__CFString=}I^^{OpaqueIconRef=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "ReadIconFromFSRef": ( - b"i^{FSRef=[80C]}^^^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "LSSharedFileListRemoveAllItems": (b"i^{OpaqueLSSharedFileListRef=}",), - "LSCopyItemAttribute": ( - b"i^{FSRef=[80C]}I^{__CFString=}^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "n"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "LSSharedFileListItemMove": ( - b"i^{OpaqueLSSharedFileListRef=}^{OpaqueLSSharedFileListItemRef=}^{OpaqueLSSharedFileListItemRef=}", - ), - "LSSetDefaultRoleHandlerForContentType": (b"i^{__CFString=}I^{__CFString=}",), - "LSSetHandlerOptionsForContentType": (b"i^{__CFString=}I",), - "LSSharedFileListGetTypeID": (b"Q",), - "LSInit": (b"iI",), - "LSCopyDefaultHandlerForURLScheme": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSCopyAllRoleHandlersForContentType": ( - b"^{__CFArray=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "IsDataAvailableInIconRef": (b"ZI^{OpaqueIconRef=}",), - "IsValidIconRef": (b"Z^{OpaqueIconRef=}",), - "LSCanRefAcceptItem": ( - b"i^{FSRef=[80C]}^{FSRef=[80C]}II^Z", - "", - { - "arguments": { - 0: {"type_modifier": "n"}, - 1: {"type_modifier": "n"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "LSCopyKindStringForTypeInfo": ( - b"iII^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "UTTypeCopyPreferredTagWithClass": ( - b"^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSSetExtensionHiddenForURL": (b"i^{__CFURL=}Z",), - "LSOpenFSRef": ( - b"i^{FSRef=[80C]}^{FSRef=[80C]}", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "LSSharedFileListInsertItemFSRef": ( - b"^{OpaqueLSSharedFileListItemRef=}^{OpaqueLSSharedFileListRef=}^{OpaqueLSSharedFileListItemRef=}^{__CFString=}^{OpaqueIconRef=}^{FSRef=[80C]}^{__CFDictionary=}^{__CFArray=}", - "", - {"arguments": {4: {"type_modifier": "n"}}}, - ), - "LSCopyItemAttributes": ( - b"i^{FSRef=[80C]}I^{__CFArray=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}, 3: {"type_modifier": "o"}}, - }, - ), - "LSSharedFileListItemSetProperty": ( - b"i^{OpaqueLSSharedFileListItemRef=}^{__CFString=}@", - ), - "UTTypeCreateAllIdentifiersForTag": ( - b"^{__CFArray=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "UTTypeCopyDeclaringBundleURL": ( - b"^{__CFURL=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSGetHandlerOptionsForContentType": (b"I^{__CFString=}",), - "LSTerm": (b"i",), - "LSSharedFileListItemCopyProperty": ( - b"@^{OpaqueLSSharedFileListItemRef=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "UpdateIconRef": (b"s^{OpaqueIconRef=}",), - "LSGetApplicationForInfo": ( - b"iII^{__CFString=}I^{FSRef=[80C]}^^{__CFURL=}", - "", - { - "arguments": { - 4: {"type_modifier": "o"}, - 5: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "LSSharedFileListItemGetTypeID": (b"Q",), - "GetIconRefFromComponent": ( - b"i^{ComponentRecord=[1q]}^^{OpaqueIconRef=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "UTTypeCopyDeclaration": ( - b"^{__CFDictionary=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSSharedFileListSetProperty": (b"i^{OpaqueLSSharedFileListRef=}^{__CFString=}@",), - "LSSharedFileListItemCopyResolvedURL": ( - b"^{__CFURL=}^{OpaqueLSSharedFileListItemRef=}I^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "LSSharedFileListRemoveObserver": ( - b"v^{OpaqueLSSharedFileListRef=}^{__CFRunLoop=}^{__CFString=}^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{OpaqueLSSharedFileListRef=}"}, - 1: {"type": b"^v"}, - }, - } - } - } - }, - ), - "RegisterIconRefFromFSRef": ( - b"iII^{FSRef=[80C]}^^{OpaqueIconRef=}", - "", - {"arguments": {2: {"type_modifier": "n"}}}, - ), - "LSCopyApplicationForMIMEType": ( - b"i^{__CFString=}I^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "ReleaseIconRef": (b"s^{OpaqueIconRef=}",), - "UTTypeCreatePreferredIdentifierForTag": ( - b"^{__CFString=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSSharedFileListItemResolve": ( - b"i^{OpaqueLSSharedFileListItemRef=}I^^{__CFURL=}^{FSRef=[80C]}", - "", - { - "arguments": { - 2: {"already_cfretained": True, "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "GetIconRefFromIconFamilyPtr": ( - b"i^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}q^^{OpaqueIconRef=}", - "", - {"arguments": {0: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "LSSharedFileListCreate": ( - b"^{OpaqueLSSharedFileListRef=}^{__CFAllocator=}^{__CFString=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "OverrideIconRef": (b"s^{OpaqueIconRef=}^{OpaqueIconRef=}",), - "LSSharedFileListCopyProperty": ( - b"@^{OpaqueLSSharedFileListRef=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "IsIconRefComposite": ( - b"s^{OpaqueIconRef=}^^{OpaqueIconRef=}^^{OpaqueIconRef=}", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "LSCanURLAcceptURL": ( - b"i^{__CFURL=}^{__CFURL=}II^Z", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "LSCopyKindStringForRef": ( - b"i^{FSRef=[80C]}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "n"}, - 1: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "LSSharedFileListSetAuthorization": ( - b"i^{OpaqueLSSharedFileListRef=}^{AuthorizationOpaqueRef=}", - ), - "LSOpenItemsWithRole": ( - b"i^{FSRef=[80C]}qI^{AEKeyDesc=I{AEDesc=I^^{OpaqueAEDataStorageType=}}}^{LSApplicationParameters=qI^{FSRef=[80C]}^v^{__CFDictionary=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}}^{ProcessSerialNumber=II}q", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "n"}, - 4: {"type_modifier": "n"}, - 5: {"c_array_length_in_arg": 6, "type_modifier": "o"}, - } - }, - ), - "LSSharedFileListGetSeedValue": (b"I^{OpaqueLSSharedFileListRef=}",), - "LSOpenApplication": ( - b"i^{LSApplicationParameters=qI^{FSRef=[80C]}^v^{__CFDictionary=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}}^{ProcessSerialNumber=II}", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "LSGetApplicationForItem": ( - b"i^{FSRef=[80C]}I^{FSRef=[80C]}^^{__CFURL=}", - "", - { - "arguments": { - 0: {"type_modifier": "n"}, - 2: {"type_modifier": "o"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "LSSetDefaultHandlerForURLScheme": (b"i^{__CFString=}^{__CFString=}",), - "GetIconRef": ( - b"ssII^^{OpaqueIconRef=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "LSRegisterURL": (b"i^{__CFURL=}Z",), - "GetIconRefOwners": ( - b"s^{OpaqueIconRef=}^S", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "LSCopyAllHandlersForURLScheme": ( - b"^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSCopyDefaultApplicationURLForContentType": ( - b"^{__CFURL=}^{__CFString=}I^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "UTTypeIsDynamic": (b"Z^{__CFString=}",), - "AcquireIconRef": (b"s^{OpaqueIconRef=}",), - "LSSharedFileListItemCopyIconRef": ( - b"^{OpaqueIconRef=}^{OpaqueLSSharedFileListItemRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "UTGetOSTypeFromString": (b"I^{__CFString=}",), - "LSGetApplicationForURL": ( - b"i^{__CFURL=}I^{FSRef=[80C]}^^{__CFURL=}", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "LSSharedFileListInsertItemURL": ( - b"^{OpaqueLSSharedFileListItemRef=}^{OpaqueLSSharedFileListRef=}^{OpaqueLSSharedFileListItemRef=}^{__CFString=}^{OpaqueIconRef=}^{__CFURL=}^{__CFDictionary=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSOpenURLsWithRole": ( - b"i^{__CFArray=}I^{AEKeyDesc=I{AEDesc=I^^{OpaqueAEDataStorageType=}}}^{LSApplicationParameters=qI^{FSRef=[80C]}^v^{__CFDictionary=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}}^{ProcessSerialNumber=II}q", - "", - { - "arguments": { - 2: {"type_modifier": "n"}, - 3: {"type_modifier": "n"}, - 4: {"c_array_length_in_arg": 5, "type_modifier": "o"}, - } - }, - ), - "LSCopyDefaultRoleHandlerForContentType": ( - b"^{__CFString=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "UnregisterIconRef": (b"sII",), - "LSOpenFromURLSpec": ( - b"i^{LSLaunchURLSpec=^{__CFURL=}^{__CFArray=}^{AEDesc=I^^{OpaqueAEDataStorageType=}}I^v}^^{__CFURL=}", - "", - { - "arguments": { - 0: {"type_modifier": "n"}, - 1: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "UTTypeConformsTo": (b"Z^{__CFString=}^{__CFString=}",), - "SetCustomIconsEnabled": (b"ssZ",), - "LSRegisterFSRef": ( - b"i^{FSRef=[80C]}Z", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "LSSetItemAttribute": ( - b"i^{FSRef=[80C]}I^{__CFString=}@", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "UTCreateStringForOSType": ( - b"^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "RemoveIconRefOverride": (b"s^{OpaqueIconRef=}",), - "LSCopyDisplayNameForRef": ( - b"i^{FSRef=[80C]}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "n"}, - 1: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CompositeIconRef": ( - b"s^{OpaqueIconRef=}^{OpaqueIconRef=}^^{OpaqueIconRef=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "UTTypeEqual": (b"Z^{__CFString=}^{__CFString=}",), - "UTTypeCopyAllTagsWithClass": ( - b"^{__CFArray=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSCopyKindStringForMIMEType": ( - b"i^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "RegisterIconRefFromIconFamily": ( - b"sII^^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}^^{OpaqueIconRef=}", - ), - "UTTypeIsDeclared": (b"Z^{__CFString=}",), - "LSCopyDisplayNameForURL": ( - b"i^{__CFURL=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "GetIconRefFromFolder": ( - b"ssiicc^^{OpaqueIconRef=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "LSSetExtensionHiddenForRef": ( - b"i^{FSRef=[80C]}Z", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "LSGetExtensionInfo": ( - b"iQ^T^Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 0, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "LSCopyDefaultApplicationURLForURL": ( - b"^{__CFURL=}^{__CFURL=}I^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "GetIconRefFromFileInfo": ( - b"i^{FSRef=[80C]}Q^TI^{FSCatalogInfo=SsIICCCC{UTCDateTime=SIS}{UTCDateTime=SIS}{UTCDateTime=SIS}{UTCDateTime=SIS}{UTCDateTime=SIS}{FSPermissionInfo=IICCS^{__FSFileSecurity=}}[16C][16C]QQQQII}I^^{OpaqueIconRef=}^s", - "", - { - "arguments": { - 0: {"type_modifier": "n"}, - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 4: {"null_accepted": True, "type_modifier": "n"}, - 6: {"type_modifier": "o"}, - 7: {"type_modifier": "o"}, - } - }, - ), - "UTTypeCopyDescription": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSCopyApplicationURLsForBundleIdentifier": ( - b"^{__CFArray=}^{__CFString=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "GetCustomIconsEnabled": (b"ss^Z", "", {"arguments": {1: {"type_modifier": "o"}}}), - "LSCopyItemInfoForURL": ( - b"i^{__CFURL=}I^{LSItemInfoRecord=III^{__CFString=}}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "LSFindApplicationForInfo": ( - b"iI^{__CFString=}^{__CFString=}^{FSRef=[80C]}^^{__CFURL=}", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: {"already_cfretained": True, "type_modifier": "o"}, - } - }, - ), - "LSOpenFromRefSpec": ( - b"i^{LSLaunchFSRefSpec=^{FSRef=[80C]}Q^{FSRef=[80C]}^{AEDesc=I^^{OpaqueAEDataStorageType=}}I^v}^{FSRef=[80C]}", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "LSSharedFileListItemRemove": ( - b"i^{OpaqueLSSharedFileListRef=}^{OpaqueLSSharedFileListItemRef=}", - ), - "LSCopyKindStringForURL": ( - b"i^{__CFURL=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "LSCopyApplicationURLsForURL": ( - b"^{__CFArray=}^{__CFURL=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSOpenCFURLRef": ( - b"i^{__CFURL=}^^{__CFURL=}", - "", - {"arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "LSSharedFileListCopySnapshot": ( - b"^{__CFArray=}^{OpaqueLSSharedFileListRef=}^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "LSSharedFileListAddObserver": ( - b"v^{OpaqueLSSharedFileListRef=}^{__CFRunLoop=}^{__CFString=}^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{OpaqueLSSharedFileListRef=}"}, - 1: {"type": b"^v"}, - }, - }, - "callable_retained": True, - } - } - }, - ), - "LSSharedFileListItemGetID": (b"I^{OpaqueLSSharedFileListItemRef=}",), -} -aliases = { - "mountedFolderIconResource": "kMountedFolderIconResource", - "genericFolderIconResource": "kGenericFolderIconResource", - "genericApplicationIconResource": "kGenericApplicationIconResource", - "genericFileServerIconResource": "kGenericFileServerIconResource", - "printMonitorFolderIconResource": "kPrintMonitorFolderIconResource", - "sharedFolderIconResource": "kSharedFolderIconResource", - "openFolderIconResource": "kOpenFolderIconResource", - "controlPanelFolderIconResource": "kControlPanelFolderIconResource", - "desktopIconResource": "kDesktopIconResource", - "floppyIconResource": "kFloppyIconResource", - "genericSuitcaseIconResource": "kGenericSuitcaseIconResource", - "fontsFolderIconResource": "kFontsFolderIconResource", - "kLSInvalidExtensionIndex": "ULONG_MAX", - "genericEditionFileIconResource": "kGenericEditionFileIconResource", - "genericQueryDocumentIconResource": "kGenericQueryDocumentIconResource", - "genericMoverObjectIconResource": "kGenericMoverObjectIconResource", - "extensionsFolderIconResource": "kExtensionsFolderIconResource", - "genericRAMDiskIconResource": "kGenericRAMDiskIconResource", - "dropFolderIconResource": "kDropFolderIconResource", - "genericHardDiskIconResource": "kGenericHardDiskIconResource", - "genericDocumentIconResource": "kGenericDocumentIconResource", - "appleMenuFolderIconResource": "kAppleMenuFolderIconResource", - "systemFolderIconResource": "kSystemFolderIconResource", - "genericDeskAccessoryIconResource": "kGenericDeskAccessoryIconResource", - "privateFolderIconResource": "kPrivateFolderIconResource", - "preferencesFolderIconResource": "kPreferencesFolderIconResource", - "fullTrashIconResource": "kFullTrashIconResource", - "trashIconResource": "kTrashIconResource", - "genericPreferencesIconResource": "kGenericPreferencesIconResource", - "genericStationeryIconResource": "kGenericStationeryIconResource", - "genericExtensionIconResource": "kGenericExtensionIconResource", - "ownedFolderIconResource": "kOwnedFolderIconResource", - "startupFolderIconResource": "kStartupFolderIconResource", - "genericCDROMIconResource": "kGenericCDROMIconResource", - "kInternationResourcesIcon": "kInternationalResourcesIcon", -} -cftypes = [ - ( - "LSSharedFileListItemRef", - b"^{OpaqueLSSharedFileListItemRef=}", - "LSSharedFileListItemGetTypeID", - None, - ), - ( - "LSSharedFileListRef", - b"^{OpaqueLSSharedFileListRef=}", - "LSSharedFileListGetTypeID", - None, - ), -] -misc.update({"IconRef": objc.createOpaquePointerType("IconRef", b"^{OpaqueIconRef=}")}) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/Metadata/__init__.py b/src/lib/CoreServices/Metadata/__init__.py deleted file mode 100644 index b8cbf7b..0000000 --- a/src/lib/CoreServices/Metadata/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CoreServices/Metadata framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. - -Note that PyObjC only wrappers the non-deprecated parts of the CoreServices -framework. -""" -import sys - -import objc -from CoreServices.Metadata import _metadata - -sys.modules["CoreServices.Metadata"] = mod = objc.ObjCLazyModule( - "CoreServices.Metadata", - "com.apple.Metadata", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (), -) - - -del sys.modules["CoreServices.Metadata._metadata"] diff --git a/src/lib/CoreServices/Metadata/_metadata.py b/src/lib/CoreServices/Metadata/_metadata.py deleted file mode 100644 index 3e9dd24..0000000 --- a/src/lib/CoreServices/Metadata/_metadata.py +++ /dev/null @@ -1,326 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MDQueryBatchingParams": objc.createStructType( - "CoreServices.Metadata.MDQueryBatchingParams", - b"{_MDQueryBatchingParams=QQQQQQ}", - [ - "first_max_num", - "first_max_ms", - "progress_max_num", - "progress_max_ms", - "update_max_num", - "update_max_ms", - ], - ) - } -) -constants = """$kMDAttributeAllValues$kMDAttributeDisplayValues$kMDAttributeMultiValued$kMDAttributeName$kMDAttributeReadOnlyValues$kMDAttributeType$kMDExporterAvaliable$kMDItemAcquisitionMake$kMDItemAcquisitionModel$kMDItemAlbum$kMDItemAltitude$kMDItemAperture$kMDItemAppleLoopDescriptors$kMDItemAppleLoopsKeyFilterType$kMDItemAppleLoopsLoopMode$kMDItemAppleLoopsRootKey$kMDItemApplicationCategories$kMDItemAttributeChangeDate$kMDItemAudiences$kMDItemAudioBitRate$kMDItemAudioChannelCount$kMDItemAudioEncodingApplication$kMDItemAudioSampleRate$kMDItemAudioTrackNumber$kMDItemAuthorAddresses$kMDItemAuthorEmailAddresses$kMDItemAuthors$kMDItemBitsPerSample$kMDItemCFBundleIdentifier$kMDItemCameraOwner$kMDItemCity$kMDItemCodecs$kMDItemColorSpace$kMDItemComment$kMDItemComposer$kMDItemContactKeywords$kMDItemContentCreationDate$kMDItemContentModificationDate$kMDItemContentType$kMDItemContentTypeTree$kMDItemContributors$kMDItemCopyright$kMDItemCountry$kMDItemCoverage$kMDItemCreator$kMDItemDateAdded$kMDItemDeliveryType$kMDItemDescription$kMDItemDirector$kMDItemDisplayName$kMDItemDownloadedDate$kMDItemDueDate$kMDItemDurationSeconds$kMDItemEXIFGPSVersion$kMDItemEXIFVersion$kMDItemEditors$kMDItemEmailAddresses$kMDItemEncodingApplications$kMDItemExecutableArchitectures$kMDItemExecutablePlatform$kMDItemExposureMode$kMDItemExposureProgram$kMDItemExposureTimeSeconds$kMDItemExposureTimeString$kMDItemFNumber$kMDItemFSContentChangeDate$kMDItemFSCreationDate$kMDItemFSExists$kMDItemFSHasCustomIcon$kMDItemFSInvisible$kMDItemFSIsExtensionHidden$kMDItemFSIsReadable$kMDItemFSIsStationery$kMDItemFSIsWriteable$kMDItemFSLabel$kMDItemFSName$kMDItemFSNodeCount$kMDItemFSOwnerGroupID$kMDItemFSOwnerUserID$kMDItemFSSize$kMDItemFinderComment$kMDItemFlashOnOff$kMDItemFocalLength$kMDItemFocalLength35mm$kMDItemFonts$kMDItemGPSAreaInformation$kMDItemGPSDOP$kMDItemGPSDateStamp$kMDItemGPSDestBearing$kMDItemGPSDestDistance$kMDItemGPSDestLatitude$kMDItemGPSDestLongitude$kMDItemGPSDifferental$kMDItemGPSMapDatum$kMDItemGPSMeasureMode$kMDItemGPSProcessingMethod$kMDItemGPSStatus$kMDItemGPSTrack$kMDItemGenre$kMDItemHTMLContent$kMDItemHasAlphaChannel$kMDItemHeadline$kMDItemISOSpeed$kMDItemIdentifier$kMDItemImageDirection$kMDItemInformation$kMDItemInstantMessageAddresses$kMDItemInstructions$kMDItemIsApplicationManaged$kMDItemIsGeneralMIDISequence$kMDItemIsLikelyJunk$kMDItemKeySignature$kMDItemKeywords$kMDItemKind$kMDItemLabelID$kMDItemLabelIcon$kMDItemLabelKind$kMDItemLabelUUID$kMDItemLanguages$kMDItemLastUsedDate$kMDItemLatitude$kMDItemLayerNames$kMDItemLensModel$kMDItemLongitude$kMDItemLyricist$kMDItemMaxAperture$kMDItemMediaTypes$kMDItemMeteringMode$kMDItemMusicalGenre$kMDItemMusicalInstrumentCategory$kMDItemMusicalInstrumentName$kMDItemNamedLocation$kMDItemNumberOfPages$kMDItemOrganizations$kMDItemOrientation$kMDItemOriginalFormat$kMDItemOriginalSource$kMDItemPageHeight$kMDItemPageWidth$kMDItemParticipants$kMDItemPath$kMDItemPerformers$kMDItemPhoneNumbers$kMDItemPixelCount$kMDItemPixelHeight$kMDItemPixelWidth$kMDItemProducer$kMDItemProfileName$kMDItemProjects$kMDItemPublishers$kMDItemRecipientAddresses$kMDItemRecipientEmailAddresses$kMDItemRecipients$kMDItemRecordingDate$kMDItemRecordingYear$kMDItemRedEyeOnOff$kMDItemResolutionHeightDPI$kMDItemResolutionWidthDPI$kMDItemRights$kMDItemSecurityMethod$kMDItemSpeed$kMDItemStarRating$kMDItemStateOrProvince$kMDItemStreamable$kMDItemSubject$kMDItemSupportFileType$kMDItemTempo$kMDItemTextContent$kMDItemTheme$kMDItemTimeSignature$kMDItemTimestamp$kMDItemTitle$kMDItemTotalBitRate$kMDItemURL$kMDItemVersion$kMDItemVideoBitRate$kMDItemWhereFroms$kMDItemWhiteBalance$kMDLabelAddedNotification$kMDLabelBundleURL$kMDLabelChangedNotification$kMDLabelContentChangeDate$kMDLabelDisplayName$kMDLabelIconData$kMDLabelIconUUID$kMDLabelIsMutuallyExclusiveSetMember$kMDLabelKind$kMDLabelKindIsMutuallyExclusiveSetKey$kMDLabelKindVisibilityKey$kMDLabelRemovedNotification$kMDLabelSetsFinderColor$kMDLabelUUID$kMDLabelVisibility$kMDPrivateVisibility$kMDPublicVisibility$kMDQueryDidFinishNotification$kMDQueryDidUpdateNotification$kMDQueryProgressNotification$kMDQueryResultContentRelevance$kMDQueryScopeAllIndexed$kMDQueryScopeComputer$kMDQueryScopeComputerIndexed$kMDQueryScopeHome$kMDQueryScopeNetwork$kMDQueryScopeNetworkIndexed$kMDQueryUpdateAddedItems$kMDQueryUpdateChangedItems$kMDQueryUpdateRemovedItems$""" -enums = """$kMDLabelLocalDomain@1$kMDLabelUserDomain@0$kMDQueryAllowFSTranslation@8$kMDQueryReverseSortOrderFlag@1$kMDQuerySynchronous@1$kMDQueryWantsUpdates@4$""" -misc.update({}) -misc.update({}) -functions = { - "MDQueryCreate": ( - b"^{__MDQuery=}^{__CFAllocator=}^{__CFString=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDItemCopyAttributes": ( - b"^{__CFDictionary=}^{__MDItem=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDLabelCreate": ( - b"^{__MDLabel=}^{__CFAllocator=}^{__CFString=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDLabelGetTypeID": (b"Q",), - "MDQueryGetAttributeValueOfResultAtIndex": (b"@^{__MDQuery=}^{__CFString=}q",), - "MDQueryCreateForItems": ( - b"^{__MDQuery=}^{__CFAllocator=}^{__CFString=}^{__CFArray=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryCopyValueListAttributes": ( - b"^{__CFArray=}^{__MDQuery=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDLabelCopyAttributeName": ( - b"^{__CFString=}^{__MDLabel=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDCopyLabelsWithKind": ( - b"^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryGetIndexOfResult": (b"q^{__MDQuery=}@",), - "MDLabelDelete": (b"Z^{__MDLabel=}",), - "MDSchemaCopyDisplayNameForAttribute": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDItemCopyAttribute": ( - b"@^{__MDItem=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryDisableUpdates": (b"v^{__MDQuery=}",), - "MDItemCopyAttributeList": ( - b"^{__CFDictionary=}^{__MDItem=}", - "", - {"retval": {"already_cfretained": True}, "variadic": True}, - ), - "MDItemCreate": ( - b"^{__MDItem=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryGetSortOptionFlagsForAttribute": (b"I^{__MDQuery=}^{__CFString=}",), - "MDQueryGetBatchingParameters": (b"{_MDQueryBatchingParams=QQQQQQ}^{__MDQuery=}",), - "MDCopyLabelWithUUID": ( - b"^{__MDLabel=}^{__CFUUID=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryEnableUpdates": (b"v^{__MDQuery=}",), - "MDQuerySetMaxCount": (b"v^{__MDQuery=}q",), - "MDQueryCopyValuesOfAttribute": ( - b"^{__CFArray=}^{__MDQuery=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDItemsCreateWithURLs": ( - b"^{__CFArray=}^{__CFAllocator=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQuerySetCreateValueFunction": ( - b"v^{__MDQuery=}^?^v^{_CFArrayCallBacks=q^?^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"^v"}, - "arguments": { - 0: {"type": b"^{__MDQuery=}"}, - 1: {"type": b"^{__CFString=}"}, - 2: {"type": b"@"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "MDSchemaCopyDisplayDescriptionForAttribute": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDCopyLabelsMatchingExpression": ( - b"^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQuerySetSortOrder": (b"Z^{__MDQuery=}^{__CFArray=}",), - "MDQuerySetSortComparator": ( - b"v^{__MDQuery=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: { - "type": b"^@", - "type_modifier": "n", - "c_array_of_variable_length": True, - }, - 1: { - "type": b"^@", - "type_modifier": "n", - "c_array_of_variable_length": True, - }, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "MDSchemaCopyAllAttributes": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryStop": (b"v^{__MDQuery=}",), - "MDQuerySetSearchScope": (b"v^{__MDQuery=}^{__CFArray=}I",), - "MDQueryIsGatheringComplete": (b"Z^{__MDQuery=}",), - "MDQuerySetCreateResultFunction": ( - b"v^{__MDQuery=}^?^v^{_CFArrayCallBacks=q^?^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"^v"}, - "arguments": { - 0: {"type": b"^{__MDQuery=}"}, - 1: {"type": b"^{__MDItem=}"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "MDItemCopyLabels": ( - b"^{__CFArray=}^{__MDItem=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDSchemaCopyAttributesForContentType": ( - b"^{__CFDictionary=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDItemSetLabel": (b"Z^{__MDItem=}^{__MDLabel=}",), - "MDQueryExecute": (b"Z^{__MDQuery=}Q",), - "MDQuerySetDispatchQueue": (b"v^{__MDQuery=}@",), - "MDLabelSetAttributes": (b"Z^{__MDLabel=}^{__CFDictionary=}",), - "MDItemGetTypeID": (b"Q",), - "MDQueryCopyQueryString": ( - b"^{__CFString=}^{__MDQuery=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryCopySortingAttributes": ( - b"^{__CFArray=}^{__MDQuery=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQuerySetSortOptionFlagsForAttribute": (b"Z^{__MDQuery=}^{__CFString=}I",), - "MDQuerySetBatchingParameters": (b"v^{__MDQuery=}{_MDQueryBatchingParams=QQQQQQ}",), - "MDQueryCreateSubset": ( - b"^{__MDQuery=}^{__CFAllocator=}^{__MDQuery=}^{__CFString=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryGetTypeID": (b"Q",), - "MDItemCreateWithURL": ( - b"^{__MDItem=}^{__CFAllocator=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQuerySetSortComparatorBlock": ( - b"v^{__MDQuery=}@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": "^v"}, - 1: { - "type": "^@", - "type_modifier": "n", - "c_array_of_variable_length": True, - }, - 2: { - "type": "^@", - "type_modifier": "n", - "c_array_of_variable_length": True, - }, - }, - }, - "block": { - "retval": {"type": b"q"}, - "arguments": {0: {"type": b"^@"}, 1: {"type": b"^@"}}, - }, - } - } - }, - ), - "MDItemCopyAttributeNames": ( - b"^{__CFArray=}^{__MDItem=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryGetCountOfResultsWithAttributeValue": (b"q^{__MDQuery=}^{__CFString=}@",), - "MDItemsCopyAttributes": ( - b"^{__CFArray=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDQueryGetResultCount": (b"q^{__MDQuery=}",), - "MDCopyLabelKinds": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDItemRemoveLabel": (b"Z^{__MDItem=}^{__MDLabel=}",), - "MDQueryGetResultAtIndex": (b"@^{__MDQuery=}q",), - "MDSchemaCopyMetaAttributesForAttribute": ( - b"^{__CFDictionary=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "MDLabelCopyAttribute": ( - b"@^{__MDLabel=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "MD_AVAIL": "AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER", - "MD_AVAIL_LEOPARD": "AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER", -} -cftypes = [ - ("MDItemRef", b"^{__MDItem=}", None, None), - ("MDLabelRef", b"^{__MDLabel=}", None, None), - ("MDQueryRef", b"^{__MDQuery=}", None, None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/SearchKit/__init__.py b/src/lib/CoreServices/SearchKit/__init__.py deleted file mode 100644 index bba938c..0000000 --- a/src/lib/CoreServices/SearchKit/__init__.py +++ /dev/null @@ -1,156 +0,0 @@ -""" -Python mapping for the SearchKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import objc -from CoreServices.SearchKit import _metadata - -mod = objc.ObjCLazyModule( - "SearchKit", - "com.apple.SearchKit", - objc.pathForFramework( - "/System/Library/Frameworks/CoreServices.framework/Frameworks/SearchKit.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreFoundation,), -) - - -del sys.modules["CoreServices.SearchKit._metadata"] - - -# SKIndexGetTypeID is documented, but not actually exported by Leopard. Try to -# emulate the missing functionality. -# -# See also radar:6525606. -# -# UPDATE 20151123: The workaround is still necessary on OSX 10.11 -def workaround(): - from Foundation import NSMutableData, NSAutoreleasePool - - pool = NSAutoreleasePool.alloc().init() - try: - rI = mod.SKIndexCreateWithMutableData( - NSMutableData.data(), None, mod.kSKIndexInverted, None - ) - - indexID = mod.CFGetTypeID(rI) - - r = mod.SKIndexDocumentIteratorCreate(rI, None) - iterID = mod.CFGetTypeID(r) - del r - - r = mod.SKSearchGroupCreate([rI]) - groupID = mod.CFGetTypeID(r) - - r = mod.SKSearchResultsCreateWithQuery( - r, ".*", mod.kSKSearchRanked, 1, None, None - ) - resultID = mod.CFGetTypeID(r) - - if mod.SKSearchGetTypeID() == 0: - # Type doesn't get registered unless you try to use it. - # That's no good for PyObjC, therefore forcefully create - # a SKSearch object - mod.SKSearchCreate(rI, "q", 0) - searchref = objc.registerCFSignature( - "SKSearchRef", b"^{__SKSearch=}", mod.SKSearchGetTypeID() - ) - else: - searchref = mod.SKSearchRef - - del r - del rI - - r = mod.SKSummaryCreateWithString("foo") - summaryID = mod.CFGetTypeID(r) - del r - - finally: - del pool - - def SKIndexGetTypeID(): - return indexID - - def SKIndexDocumentIteratorGetTypeID(): - return iterID - - def SKSearchGroupGetTypeID(): - return groupID - - def SKSearchResultsGetTypeID(): - return resultID - - def SKSummaryGetTypeID(): - return summaryID - - indexType = objc.registerCFSignature("SKIndexRef", b"^{__SKIndex=}", indexID) - iterType = objc.registerCFSignature( - "SKIndexDocumentIteratorRef", b"^{__SKIndexDocumentIterator=}", iterID - ) - groupType = objc.registerCFSignature( - "SKSearchGroupRef", b"^{__SKSearchGroup=}", groupID - ) - resultType = objc.registerCFSignature( - "SKSearchResultsRef", b"^{__SKSearchResults=}", resultID - ) - summaryType = objc.registerCFSignature( - "SKSummaryRef", b"^{__SKSummary=}", summaryID - ) - - # For some reason SKDocumentGetTypeID doesn't return the right value - # when the framework loader calls it the first time around, - # by this time the framework is fully initialized and we get - # the correct result. - SKDocumentRef = objc.registerCFSignature( - "SKDocumentRef", b"@", mod.SKDocumentGetTypeID() - ) - - return ( - SKIndexGetTypeID, - indexType, - SKIndexDocumentIteratorGetTypeID, - iterType, - SKSearchGroupGetTypeID, - groupType, - SKSearchResultsGetTypeID, - resultType, - SKSummaryGetTypeID, - summaryType, - iterType, - SKDocumentRef, - searchref, - ) - - -( - mod.SKIndexGetTypeID, - mod.SKIndexRef, - mod.SKIndexDocumentIteratorGetTypeID, - mod.SKIndexDocumentRef, - mod.SKSearchGroupGetTypeID, - mod.SKSearchGroupRef, - mod.SKSearchResultsGetTypeID, - mod.SKSearchResultsRef, - mod.SKSummaryGetTypeID, - mod.SKSummaryRef, - mod.SKIndexDocumentIteratorRef, - mod.SKDocumentRef, - mod.SKSearchRef, -) = workaround() - -del workaround - -sys.modules["CoreServices.SearchKit"] = mod diff --git a/src/lib/CoreServices/SearchKit/_metadata.py b/src/lib/CoreServices/SearchKit/_metadata.py deleted file mode 100644 index 83a0576..0000000 --- a/src/lib/CoreServices/SearchKit/_metadata.py +++ /dev/null @@ -1,336 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:07 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kSKEndTermChars$kSKLanguageTypes$kSKMaximumTerms$kSKMinTermLength$kSKProximityIndexing$kSKStartTermChars$kSKStopWords$kSKSubstitutions$kSKTermChars$""" -enums = """$kSKDocumentStateAddPending@2$kSKDocumentStateDeletePending@3$kSKDocumentStateIndexed@1$kSKDocumentStateNotIndexed@0$kSKIndexInverted@1$kSKIndexInvertedVector@3$kSKIndexUnknown@0$kSKIndexVector@2$kSKSearchBooleanRanked@1$kSKSearchOptionDefault@0$kSKSearchOptionFindSimilar@4$kSKSearchOptionNoRelevanceScores@1$kSKSearchOptionSpaceMeansOR@2$kSKSearchPrefixRanked@3$kSKSearchRanked@0$kSKSearchRequiredRanked@2$""" -misc.update( - { - "SKDocumentIndexState": NewType("SKDocumentIndexState", int), - "SKIndexType": NewType("SKIndexType", int), - "SKSearchType": NewType("SKSearchType", int), - } -) -misc.update({}) -functions = { - "SKIndexGetMaximumTermID": (b"q^{__SKIndex=}",), - "SKDocumentGetName": (b"^{__CFString=}@",), - "SKIndexRemoveDocument": (b"Z^{__SKIndex=}@",), - "SKIndexCopyTermIDArrayForDocumentID": ( - b"^{__CFArray=}^{__SKIndex=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKSearchGetTypeID": (b"Q",), - "SKIndexDocumentIteratorCreate": ( - b"^{__SKIndexDocumentIterator=}^{__SKIndex=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKDocumentGetTypeID": (b"Q",), - "SKSummaryGetParagraphSummaryInfo": ( - b"q^{__SKSummary=}q^q^q", - "", - {"arguments": {2: {"type_modifier": "o"}, 3: {"type_modifier": "o"}}}, - ), - "SKSummaryGetParagraphCount": (b"q^{__SKSummary=}",), - "SKIndexGetMaximumDocumentID": (b"q^{__SKIndex=}",), - "SKSearchGroupCreate": ( - b"^{__SKSearchGroup=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexFlush": (b"Z^{__SKIndex=}",), - "SKIndexCreateWithURL": ( - b"^{__SKIndex=}^{__CFURL=}^{__CFString=}I^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKSummaryGetSentenceCount": (b"q^{__SKSummary=}",), - "SKIndexGetMaximumBytesBeforeFlush": (b"q^{__SKIndex=}",), - "SKIndexCopyDocumentIDArrayForTermID": ( - b"^{__CFArray=}^{__SKIndex=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKSearchResultsCreateWithDocuments": ( - b"^{__SKSearchResults=}^{__SKSearchGroup=}^{__CFArray=}q^v^?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^{__SKIndex=}"}, - 1: {"type": b"@"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "SKSummaryCopyParagraphAtIndex": ( - b"^{__CFString=}^{__SKSummary=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetDocumentID": (b"q^{__SKIndex=}@",), - "SKIndexOpenWithURL": (b"^{__SKIndex=}^{__CFURL=}^{__CFString=}Z",), - "SKIndexCreateWithMutableData": ( - b"^{__SKIndex=}^{__CFData=}^{__CFString=}I^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexCopyDocumentURLsForDocumentIDs": ( - b"v^{__SKIndex=}q^q^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: { - "already_cfretained": True, - "c_array_length_in_arg": 1, - "type_modifier": "o", - }, - }, - }, - ), - "SKSearchResultsCreateWithQuery": ( - b"^{__SKSearchResults=}^{__SKSearchGroup=}^{__CFString=}Iq^v^?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^{__SKIndex=}"}, - 1: {"type": b"@"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "SKIndexCompact": (b"Z^{__SKIndex=}",), - "SKSearchGroupGetTypeID": (b"Q",), - "SKSummaryCopySentenceAtIndex": ( - b"^{__CFString=}^{__SKSummary=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKSearchGroupCopyIndexes": ( - b"^{__CFArray=}^{__SKSearchGroup=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKLoadDefaultExtractorPlugIns": (b"v",), - "SKIndexMoveDocument": (b"Z^{__SKIndex=}@@",), - "SKIndexOpenWithData": (b"^{__SKIndex=}^{__CFData=}^{__CFString=}",), - "SKIndexCopyDocumentProperties": ( - b"^{__CFDictionary=}^{__SKIndex=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexCopyDocumentRefsForDocumentIDs": ( - b"v^{__SKIndex=}q^q^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - }, - }, - ), - "SKIndexOpenWithMutableData": (b"^{__SKIndex=}^{__CFData=}^{__CFString=}",), - "SKSearchResultsCopyMatchingTerms": ( - b"^{__CFArray=}^{__SKSearchResults=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKDocumentGetParent": (b"@@",), - "SKSearchResultsGetTypeID": (b"Q",), - "SKSummaryCreateWithString": ( - b"^{__SKSummary=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetDocumentTermCount": (b"q^{__SKIndex=}q",), - "SKIndexSetDocumentProperties": (b"v^{__SKIndex=}@^{__CFDictionary=}",), - "SKSummaryGetSentenceSummaryInfo": ( - b"q^{__SKSummary=}q^q^q^q", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "SKDocumentCreate": ( - b"@^{__CFString=}@^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKDocumentCreateWithURL": ( - b"@^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexClose": (b"v^{__SKIndex=}",), - "SKIndexGetDocumentTermFrequency": (b"q^{__SKIndex=}qq",), - "SKIndexDocumentIteratorCopyNext": ( - b"@^{__SKIndexDocumentIterator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexRenameDocument": (b"Z^{__SKIndex=}@^{__CFString=}",), - "SKSummaryGetTypeID": (b"Q",), - "SKDocumentGetSchemeName": (b"^{__CFString=}@",), - "SKDocumentCopyURL": ( - b"^{__CFURL=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetTypeID": (b"Q",), - "SKSearchCancel": (b"v^{__SKSearch=}",), - "SKIndexGetDocumentCount": (b"q^{__SKIndex=}",), - "SKSummaryCopySentenceSummaryString": ( - b"^{__CFString=}^{__SKSummary=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetTermDocumentCount": (b"q^{__SKIndex=}q",), - "SKIndexGetTermIDForTermString": (b"q^{__SKIndex=}^{__CFString=}",), - "SKSummaryCopyParagraphSummaryString": ( - b"^{__CFString=}^{__SKSummary=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetDocumentState": (b"I^{__SKIndex=}@",), - "SKSearchCreate": ( - b"^{__SKSearch=}^{__SKIndex=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexAddDocumentWithText": (b"Z^{__SKIndex=}@^{__CFString=}Z",), - "SKIndexAddDocument": (b"Z^{__SKIndex=}@^{__CFString=}Z",), - "SKIndexSetMaximumBytesBeforeFlush": (b"v^{__SKIndex=}q",), - "SKSearchFindMatches": ( - b"Z^{__SKSearch=}q^q^fd^q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": (1, 5), "type_modifier": "o"}, - 3: {"c_array_length_in_arg": (1, 5), "type_modifier": "o"}, - 5: {"type_modifier": "o"}, - } - }, - ), - "SKIndexCopyTermStringForTermID": ( - b"^{__CFString=}^{__SKIndex=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexGetAnalysisProperties": (b"^{__CFDictionary=}^{__SKIndex=}",), - "SKSearchResultsGetCount": (b"q^{__SKSearchResults=}",), - "SKSearchResultsGetInfoInRange": ( - b"q^{__SKSearchResults=}{_CFRange=qq}^@^^{__SKIndex=}^f", - "", - { - "arguments": { - 2: { - "c_array_length_in_arg": 1, - "c_array_length_in_result": True, - "type_modifier": "o", - }, - 3: { - "c_array_length_in_arg": 1, - "c_array_length_in_result": True, - "type_modifier": "o", - }, - 4: { - "c_array_length_in_arg": 1, - "c_array_length_in_result": True, - "type_modifier": "o", - }, - } - }, - ), - "SKIndexCopyDocumentForDocumentID": ( - b"@^{__SKIndex=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SKIndexCopyInfoForDocumentIDs": ( - b"v^{__SKIndex=}q^q^^{__CFString=}^q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: { - "already_cfretained": True, - "c_array_length_in_arg": 1, - "type_modifier": "o", - }, - 4: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - }, - }, - ), - "SKIndexGetIndexType": (b"I^{__SKIndex=}",), - "SKIndexDocumentIteratorGetTypeID": (b"Q",), -} -cftypes = [ - ( - "SKIndexDocumentIteratorRef", - b"^{__SKIndexDocumentIterator=}", - "SKIndexDocumentIteratorGetTypeID", - None, - ), - ("SKIndexRef", b"^{__SKIndex=}", "SKIndexGetTypeID", None), - ("SKSearchGroupRef", b"^{__SKSearchGroup=}", "SKSearchGroupGetTypeID", None), - ("SKSearchRef", b"^{__SKSearch=}", "SKSearchGetTypeID", None), - ("SKSearchResultsRef", b"^{__SKSearchResults=}", "SKSearchResultsGetTypeID", None), - ("SKSummaryRef", b"^{__SKSummary=}", "SKSummaryGetTypeID", None), - ("SKDocumentRef", b"@", "SKDocumentGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreServices/__init__.py b/src/lib/CoreServices/__init__.py deleted file mode 100644 index d6092e7..0000000 --- a/src/lib/CoreServices/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the CoreServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. - -Note that PyObjC only wrappers the non-deprecated parts of the CoreServices -framework. -""" -import sys - -import FSEvents -import objc -from CoreServices import ( - CarbonCore, - DictionaryServices, - LaunchServices, - Metadata, - SearchKit, -) - -sys.modules["CoreServices"] = mod = objc.ObjCLazyModule( - "CoreServices", - "com.apple.CoreServices", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - {}, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (FSEvents, DictionaryServices, LaunchServices, SearchKit, Metadata, CarbonCore), -) diff --git a/src/lib/CoreSpotlight/__init__.py b/src/lib/CoreSpotlight/__init__.py deleted file mode 100644 index 6ddb736..0000000 --- a/src/lib/CoreSpotlight/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CoreSpotlight framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreSpotlight import _metadata -from CoreSpotlight import _CoreSpotlight - -sys.modules["CoreSpotlight"] = mod = objc.ObjCLazyModule( - "CoreSpotlight", - "com.apple.CoreSpotlight", - objc.pathForFramework("/System/Library/Frameworks/CoreSpotlight.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreSpotlight, Foundation), -) - - -del sys.modules["CoreSpotlight._metadata"] diff --git a/src/lib/CoreSpotlight/_metadata.py b/src/lib/CoreSpotlight/_metadata.py deleted file mode 100644 index 55496b5..0000000 --- a/src/lib/CoreSpotlight/_metadata.py +++ /dev/null @@ -1,300 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:37 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CSActionIdentifier$CSIndexErrorDomain$CSMailboxArchive$CSMailboxDrafts$CSMailboxInbox$CSMailboxJunk$CSMailboxSent$CSMailboxTrash$CSQueryContinuationActionType$CSSearchQueryErrorDomain$CSSearchQueryString$CSSearchableItemActionType$CSSearchableItemActivityIdentifier$CoreSpotlightVersionNumber@d$CoreSpotlightVersionString@*$""" -enums = """$CSIndexErrorCodeIndexUnavailableError@-1000$CSIndexErrorCodeIndexingUnsupported@-1005$CSIndexErrorCodeInvalidClientStateError@-1002$CSIndexErrorCodeInvalidItemError@-1001$CSIndexErrorCodeQuotaExceeded@-1004$CSIndexErrorCodeRemoteConnectionError@-1003$CSIndexErrorCodeUnknownError@-1$CSSearchQueryErrorCodeCancelled@-2003$CSSearchQueryErrorCodeIndexUnreachable@-2001$CSSearchQueryErrorCodeInvalidQuery@-2002$CSSearchQueryErrorCodeUnknown@-2000$CoreSpotlightAPIVersion@40$""" -misc.update( - { - "CSIndexErrorCode": NewType("CSIndexErrorCode", int), - "CSSearchQueryErrorCode": NewType("CSSearchQueryErrorCode", int), - } -) -misc.update({}) -aliases = {"CS_TVOS_UNAVAILABLE": "__TVOS_PROHIBITED"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"CSCustomAttributeKey", - b"initWithKeyName:searchable:searchableByDefault:unique:multiValued:", - { - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 5: {"type": "Z"}, - 6: {"type": "Z"}, - } - }, - ) - r(b"CSCustomAttributeKey", b"isMultiValued", {"retval": {"type": "Z"}}) - r(b"CSCustomAttributeKey", b"isSearchable", {"retval": {"type": "Z"}}) - r(b"CSCustomAttributeKey", b"isSearchableByDefault", {"retval": {"type": "Z"}}) - r(b"CSCustomAttributeKey", b"isUnique", {"retval": {"type": "Z"}}) - r(b"CSCustomAttributeKey", b"setMultiValued:", {"arguments": {2: {"type": "Z"}}}) - r(b"CSCustomAttributeKey", b"setSearchable:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CSCustomAttributeKey", - b"setSearchableByDefault:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CSCustomAttributeKey", b"setUnique:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CSImportExtension", - b"updateAttributes:forFileAtURL:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"CSSearchQuery", - b"completionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"CSSearchQuery", - b"foundItemsHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r(b"CSSearchQuery", b"isCancelled", {"retval": {"type": "Z"}}) - r( - b"CSSearchQuery", - b"setCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchQuery", - b"setFoundItemsHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"deleteAllSearchableItemsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"deleteSearchableItemsWithDomainIdentifiers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"deleteSearchableItemsWithIdentifiers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"endIndexBatchWithClientState:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"fetchLastClientStateWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"CSSearchableIndex", - b"indexSearchableItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"CSSearchableIndex", b"isIndexingAvailable", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"dataForSearchableIndex:itemIdentifier:typeIdentifier:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"fileURLForSearchableIndex:itemIdentifier:typeIdentifier:inPlace:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - 6: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"searchableIndex:reindexAllSearchableItemsWithAcknowledgementHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"searchableIndex:reindexSearchableItemsWithIdentifiers:acknowledgementHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"searchableIndexDidFinishThrottle:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"searchableIndexDidThrottle:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreText/__init__.py b/src/lib/CoreText/__init__.py deleted file mode 100644 index 3ef6abf..0000000 --- a/src/lib/CoreText/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Python mapping for the CoreText framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import objc -import CoreFoundation -import Quartz -from CoreText import _metadata - -sys.modules["CoreText"] = mod = objc.ObjCLazyModule( - "CoreText", - "com.apple.CoreText", - objc.pathForFramework( - "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation, Quartz), -) - -import CoreText._manual as m # isort:skip # noqa: E402 - -for nm in dir(m): - setattr(mod, nm, getattr(m, nm)) - - -del sys.modules["CoreText._metadata"] diff --git a/src/lib/CoreText/_metadata.py b/src/lib/CoreText/_metadata.py deleted file mode 100644 index 6c1a1ef..0000000 --- a/src/lib/CoreText/_metadata.py +++ /dev/null @@ -1,1275 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:46:49 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "sfntInstance": objc.createStructType( - "CoreText.sfntInstance", - b"{sfntInstance=ss[1i]}", - ["nameID", "flags", "coord"], - ), - "sfntFontDescriptor": objc.createStructType( - "CoreText.sfntFontDescriptor", b"{sfntFontDescriptor=Ii}", ["name", "value"] - ), - "sfntCMapExtendedSubHeader": objc.createStructType( - "CoreText.sfntCMapExtendedSubHeader", - b"{sfntCMapExtendedSubHeader=SSII}", - ["format", "reserved", "length", "language"], - ), - "sfntVariationAxis": objc.createStructType( - "CoreText.sfntVariationAxis", - b"{sfntVariationAxis=Iiiiss}", - ["axisTag", "minValue", "defaultValue", "maxValue", "flags", "nameID"], - ), - "CTParagraphStyleSetting": objc.createStructType( - "CoreText.CTParagraphStyleSetting", - b"{CTParagraphStyleSetting=IQ^v}", - ["spec", "valueSize", "value"], - ), - "sfntVariationHeader": objc.createStructType( - "CoreText.sfntVariationHeader", - b"{sfntVariationHeader=iSSSSSS[1{sfntVariationAxis=Iiiiss}][1{sfntInstance=ss[1i]}]}", - [ - "version", - "offsetToData", - "countSizePairs", - "axisCount", - "axisSize", - "instanceCount", - "instanceSize", - "axis", - "instance", - ], - ), - "sfntDescriptorHeader": objc.createStructType( - "CoreText.sfntDescriptorHeader", - b"{sfntDescriptorHeader=ii[1{sfntFontDescriptor=Ii}]}", - ["version", "descriptorCount", "descriptor"], - ), - "sfntDirectory": objc.createStructType( - "CoreText.sfntDirectory", - b"{sfntDirectory=ISSSS[1{sfntDirectoryEntry=IIII}]}", - [ - "format", - "numOffsets", - "searchRange", - "entrySelector", - "rangeShift", - "table", - ], - ), - "sfntFeatureName": objc.createStructType( - "CoreText.sfntFeatureName", - b"{sfntFeatureName=SSiSs}", - [ - "featureType", - "settingCount", - "offsetToSettings", - "featureFlags", - "nameID", - ], - ), - "sfntDirectoryEntry": objc.createStructType( - "CoreText.sfntDirectoryEntry", - b"{sfntDirectoryEntry=IIII}", - ["tableTag", "checkSum", "offset", "length"], - ), - "sfntCMapEncoding": objc.createStructType( - "CoreText.sfntCMapEncoding", - b"{sfntCMapEncoding=SSI}", - ["platformID", "scriptID", "offset"], - ), - "sfntFontFeatureSetting": objc.createStructType( - "CoreText.sfntFontFeatureSetting", - b"{sfntFontFeatureSetting=Ss}", - ["setting", "nameID"], - ), - "sfntFontRunFeature": objc.createStructType( - "CoreText.sfntFontRunFeature", - b"{sfntFontRunFeature=SS}", - ["featureType", "setting"], - ), - "sfntCMapSubHeader": objc.createStructType( - "CoreText.sfntCMapSubHeader", - b"{sfntCMapSubHeader=SSS}", - ["format", "length", "languageID"], - ), - "sfntNameHeader": objc.createStructType( - "CoreText.sfntNameHeader", - b"{sfntNameHeader=SSS[1{sfntNameRecord=SSSSSS}]}", - ["format", "count", "stringOffset", "rec"], - ), - "sfntCMapHeader": objc.createStructType( - "CoreText.sfntCMapHeader", - b"{sfntCMapHeader=SS[1{sfntCMapEncoding=SSI}]}", - ["version", "numTables", "encoding"], - ), - "FontVariation": objc.createStructType( - "CoreText.FontVariation", b"{FontVariation=Ii}", ["name", "value"] - ), - "sfntFeatureHeader": objc.createStructType( - "CoreText.sfntFeatureHeader", - b"{sfntFeatureHeader=iSSi[1{sfntFeatureName=SSiSs}][1{sfntFontFeatureSetting=Ss}][1{sfntFontRunFeature=SS}]}", - [ - "version", - "featureNameCount", - "featureSetCount", - "reserved", - "names", - "settings", - "runs", - ], - ), - "sfntNameRecord": objc.createStructType( - "CoreText.sfntNameRecord", - b"{sfntNameRecord=SSSSSS}", - ["platformID", "scriptID", "languageID", "nameID", "length", "offset"], - ), - } -) -constants = """$kCTBackgroundColorAttributeName$kCTBaselineClassAttributeName$kCTBaselineClassHanging$kCTBaselineClassIdeographicCentered$kCTBaselineClassIdeographicHigh$kCTBaselineClassIdeographicLow$kCTBaselineClassMath$kCTBaselineClassRoman$kCTBaselineInfoAttributeName$kCTBaselineOffsetAttributeName$kCTBaselineOriginalFont$kCTBaselineReferenceFont$kCTBaselineReferenceInfoAttributeName$kCTCharacterShapeAttributeName$kCTFontAttributeName$kCTFontBaselineAdjustAttribute$kCTFontCascadeListAttribute$kCTFontCharacterSetAttribute$kCTFontCollectionDisallowAutoActivationOption$kCTFontCollectionIncludeDisabledFontsOption$kCTFontCollectionRemoveDuplicatesOption$kCTFontCopyrightNameKey$kCTFontDescriptionNameKey$kCTFontDescriptorMatchingCurrentAssetSize$kCTFontDescriptorMatchingDescriptors$kCTFontDescriptorMatchingError$kCTFontDescriptorMatchingPercentage$kCTFontDescriptorMatchingResult$kCTFontDescriptorMatchingSourceDescriptor$kCTFontDescriptorMatchingTotalAssetSize$kCTFontDescriptorMatchingTotalDownloadedSize$kCTFontDesignerNameKey$kCTFontDesignerURLNameKey$kCTFontDisplayNameAttribute$kCTFontDownloadableAttribute$kCTFontDownloadedAttribute$kCTFontEnabledAttribute$kCTFontFamilyNameAttribute$kCTFontFamilyNameKey$kCTFontFeatureSampleTextKey$kCTFontFeatureSelectorDefaultKey$kCTFontFeatureSelectorIdentifierKey$kCTFontFeatureSelectorNameKey$kCTFontFeatureSelectorSettingKey$kCTFontFeatureSettingsAttribute$kCTFontFeatureTooltipTextKey$kCTFontFeatureTypeExclusiveKey$kCTFontFeatureTypeIdentifierKey$kCTFontFeatureTypeNameKey$kCTFontFeatureTypeSelectorsKey$kCTFontFeaturesAttribute$kCTFontFixedAdvanceAttribute$kCTFontFormatAttribute$kCTFontFullNameKey$kCTFontLanguagesAttribute$kCTFontLicenseNameKey$kCTFontLicenseURLNameKey$kCTFontMacintoshEncodingsAttribute$kCTFontManagerBundleIdentifier$kCTFontManagerErrorDomain$kCTFontManagerErrorFontAssetNameKey$kCTFontManagerErrorFontDescriptorsKey$kCTFontManagerErrorFontURLsKey$kCTFontManagerRegisteredFontsChangedNotification$kCTFontManufacturerNameKey$kCTFontMatrixAttribute$kCTFontNameAttribute$kCTFontOpenTypeFeatureTag$kCTFontOpenTypeFeatureValue$kCTFontOpticalSizeAttribute$kCTFontOrientationAttribute$kCTFontPostScriptCIDNameKey$kCTFontPostScriptNameKey$kCTFontPriorityAttribute$kCTFontRegistrationScopeAttribute$kCTFontRegistrationUserInfoAttribute$kCTFontSampleTextNameKey$kCTFontSizeAttribute$kCTFontSlantTrait$kCTFontStyleNameAttribute$kCTFontStyleNameKey$kCTFontSubFamilyNameKey$kCTFontSymbolicTrait$kCTFontTrademarkNameKey$kCTFontTraitsAttribute$kCTFontURLAttribute$kCTFontUniqueNameKey$kCTFontVariationAttribute$kCTFontVariationAxesAttribute$kCTFontVariationAxisDefaultValueKey$kCTFontVariationAxisHiddenKey$kCTFontVariationAxisIdentifierKey$kCTFontVariationAxisMaximumValueKey$kCTFontVariationAxisMinimumValueKey$kCTFontVariationAxisNameKey$kCTFontVendorURLNameKey$kCTFontVersionNameKey$kCTFontWeightTrait$kCTFontWidthTrait$kCTForegroundColorAttributeName$kCTForegroundColorFromContextAttributeName$kCTFrameClippingPathsAttributeName$kCTFramePathClippingPathAttributeName$kCTFramePathFillRuleAttributeName$kCTFramePathWidthAttributeName$kCTFrameProgressionAttributeName$kCTGlyphInfoAttributeName$kCTHorizontalInVerticalFormsAttributeName$kCTKernAttributeName$kCTLanguageAttributeName$kCTLigatureAttributeName$kCTParagraphStyleAttributeName$kCTRubyAnnotationAttributeName$kCTRubyAnnotationScaleToFitAttributeName$kCTRubyAnnotationSizeFactorAttributeName$kCTRunDelegateAttributeName$kCTStrokeColorAttributeName$kCTStrokeWidthAttributeName$kCTSuperscriptAttributeName$kCTTabColumnTerminatorsAttributeName$kCTTrackingAttributeName$kCTTypesetterOptionAllowUnboundedLayout$kCTTypesetterOptionDisableBidiProcessing$kCTTypesetterOptionForcedEmbeddingLevel$kCTUnderlineColorAttributeName$kCTUnderlineStyleAttributeName$kCTVerticalFormsAttributeName$kCTWritingDirectionAttributeName$""" -enums = """$cmapFontTableTag@1668112752$descriptorFontTableTag@1717859171$featureFontTableTag@1717920116$kANKRCurrentVersion@0$kAbbrevSquaredLigaturesOffSelector@15$kAbbrevSquaredLigaturesOnSelector@14$kAllCapsSelector@1$kAllLowerCaseSelector@2$kAllTypeFeaturesOffSelector@1$kAllTypeFeaturesOnSelector@0$kAllTypographicFeaturesType@0$kAltHalfWidthTextSelector@6$kAltProportionalTextSelector@5$kAlternateHorizKanaOffSelector@1$kAlternateHorizKanaOnSelector@0$kAlternateKanaType@34$kAlternateVertKanaOffSelector@3$kAlternateVertKanaOnSelector@2$kAnnotationType@24$kAsteriskToMultiplyOffSelector@3$kAsteriskToMultiplyOnSelector@2$kBSLNControlPointFormatNoMap@2$kBSLNControlPointFormatWithMap@3$kBSLNCurrentVersion@65536$kBSLNDistanceFormatNoMap@0$kBSLNDistanceFormatWithMap@1$kBSLNHangingBaseline@3$kBSLNIdeographicCenterBaseline@1$kBSLNIdeographicHighBaseline@5$kBSLNIdeographicLowBaseline@2$kBSLNLastBaseline@31$kBSLNMathBaseline@4$kBSLNNoBaseline@255$kBSLNNoBaselineOverride@255$kBSLNNumBaselineClasses@32$kBSLNRomanBaseline@0$kBSLNTag@1651731566$kBoxAnnotationSelector@1$kCJKItalicRomanOffSelector@3$kCJKItalicRomanOnSelector@2$kCJKItalicRomanSelector@1$kCJKRomanSpacingType@103$kCJKSymbolAltFiveSelector@5$kCJKSymbolAltFourSelector@4$kCJKSymbolAltOneSelector@1$kCJKSymbolAltThreeSelector@3$kCJKSymbolAltTwoSelector@2$kCJKSymbolAlternativesType@29$kCJKVerticalRomanCenteredSelector@0$kCJKVerticalRomanHBaselineSelector@1$kCJKVerticalRomanPlacementType@31$kCTAdobeCNS1CharacterCollection@1$kCTAdobeGB1CharacterCollection@2$kCTAdobeJapan1CharacterCollection@3$kCTAdobeJapan2CharacterCollection@4$kCTAdobeKorea1CharacterCollection@5$kCTCenterTextAlignment@2$kCTCharacterCollectionAdobeCNS1@1$kCTCharacterCollectionAdobeGB1@2$kCTCharacterCollectionAdobeJapan1@3$kCTCharacterCollectionAdobeJapan2@4$kCTCharacterCollectionAdobeKorea1@5$kCTCharacterCollectionIdentityMapping@0$kCTFontAlertHeaderFontType@18$kCTFontApplicationFontType@9$kCTFontBoldTrait@2$kCTFontClarendonSerifsClass@1073741824$kCTFontClassClarendonSerifs@1073741824$kCTFontClassFreeformSerifs@1879048192$kCTFontClassMaskShift@28$kCTFontClassMaskTrait@4026531840$kCTFontClassModernSerifs@805306368$kCTFontClassOldStyleSerifs@268435456$kCTFontClassOrnamentals@2415919104$kCTFontClassSansSerif@2147483648$kCTFontClassScripts@2684354560$kCTFontClassSlabSerifs@1342177280$kCTFontClassSymbolic@3221225472$kCTFontClassTransitionalSerifs@536870912$kCTFontClassUnknown@0$kCTFontCollectionCopyDefaultOptions@0$kCTFontCollectionCopyStandardSort@2$kCTFontCollectionCopyUnique@1$kCTFontColorGlyphsTrait@8192$kCTFontCompositeTrait@16384$kCTFontCondensedTrait@64$kCTFontControlContentFontType@26$kCTFontDefaultOrientation@0$kCTFontDescriptorMatchingDidBegin@0$kCTFontDescriptorMatchingDidFailWithError@8$kCTFontDescriptorMatchingDidFinish@1$kCTFontDescriptorMatchingDidFinishDownloading@6$kCTFontDescriptorMatchingDidMatch@7$kCTFontDescriptorMatchingDownloading@5$kCTFontDescriptorMatchingStalled@3$kCTFontDescriptorMatchingWillBeginDownloading@4$kCTFontDescriptorMatchingWillBeginQuerying@2$kCTFontEmphasizedSystemDetailFontType@20$kCTFontEmphasizedSystemFontType@3$kCTFontExpandedTrait@32$kCTFontFormatBitmap@5$kCTFontFormatOpenTypePostScript@1$kCTFontFormatOpenTypeTrueType@2$kCTFontFormatPostScript@4$kCTFontFormatTrueType@3$kCTFontFormatUnrecognized@0$kCTFontFreeformSerifsClass@1879048192$kCTFontHorizontalOrientation@1$kCTFontItalicTrait@1$kCTFontLabelFontType@10$kCTFontManagerAutoActivationDefault@0$kCTFontManagerAutoActivationDisabled@1$kCTFontManagerAutoActivationEnabled@2$kCTFontManagerAutoActivationPromptUser@3$kCTFontManagerErrorAlreadyRegistered@105$kCTFontManagerErrorAssetNotFound@107$kCTFontManagerErrorCancelledByUser@304$kCTFontManagerErrorDuplicatedName@305$kCTFontManagerErrorExceededResourceLimit@106$kCTFontManagerErrorFileNotFound@101$kCTFontManagerErrorInUse@202$kCTFontManagerErrorInsufficientInfo@303$kCTFontManagerErrorInsufficientPermissions@102$kCTFontManagerErrorInvalidFilePath@306$kCTFontManagerErrorInvalidFontData@104$kCTFontManagerErrorMissingEntitlement@302$kCTFontManagerErrorNotRegistered@201$kCTFontManagerErrorRegistrationFailed@301$kCTFontManagerErrorSystemRequired@203$kCTFontManagerErrorUnrecognizedFormat@103$kCTFontManagerErrorUnsupportedScope@307$kCTFontManagerScopeNone@0$kCTFontManagerScopePersistent@2$kCTFontManagerScopeProcess@1$kCTFontManagerScopeSession@3$kCTFontManagerScopeUser@2$kCTFontMenuItemCmdKeyFontType@14$kCTFontMenuItemFontType@12$kCTFontMenuItemMarkFontType@13$kCTFontMenuTitleFontType@11$kCTFontMessageFontType@23$kCTFontMiniEmphasizedSystemFontType@7$kCTFontMiniSystemFontType@6$kCTFontModernSerifsClass@805306368$kCTFontMonoSpaceTrait@1024$kCTFontNoFontType@4294967295$kCTFontOldStyleSerifsClass@268435456$kCTFontOptionsDefault@0$kCTFontOptionsPreferSystemFont@4$kCTFontOptionsPreventAutoActivation@1$kCTFontOrientationDefault@0$kCTFontOrientationHorizontal@1$kCTFontOrientationVertical@2$kCTFontOrnamentalsClass@2415919104$kCTFontPaletteFontType@24$kCTFontPriorityComputer@30000$kCTFontPriorityDynamic@50000$kCTFontPriorityNetwork@20000$kCTFontPriorityProcess@60000$kCTFontPrioritySystem@10000$kCTFontPriorityUser@40000$kCTFontPushButtonFontType@16$kCTFontSansSerifClass@2147483648$kCTFontScriptsClass@2684354560$kCTFontSlabSerifsClass@1342177280$kCTFontSmallEmphasizedSystemFontType@5$kCTFontSmallSystemFontType@4$kCTFontSmallToolbarFontType@22$kCTFontSymbolicClass@3221225472$kCTFontSystemDetailFontType@19$kCTFontSystemFontType@2$kCTFontTableAcnt@1633906292$kCTFontTableAnkr@1634626418$kCTFontTableAvar@1635148146$kCTFontTableBASE@1111577413$kCTFontTableBdat@1650745716$kCTFontTableBhed@1651008868$kCTFontTableBloc@1651273571$kCTFontTableBsln@1651731566$kCTFontTableCBDT@1128416340$kCTFontTableCBLC@1128418371$kCTFontTableCFF@1128678944$kCTFontTableCFF2@1128678962$kCTFontTableCOLR@1129270354$kCTFontTableCPAL@1129333068$kCTFontTableCidg@1667851367$kCTFontTableCmap@1668112752$kCTFontTableCvar@1668702578$kCTFontTableCvt@1668707360$kCTFontTableDSIG@1146308935$kCTFontTableEBDT@1161970772$kCTFontTableEBLC@1161972803$kCTFontTableEBSC@1161974595$kCTFontTableFdsc@1717859171$kCTFontTableFeat@1717920116$kCTFontTableFmtx@1718449272$kCTFontTableFond@1718578788$kCTFontTableFpgm@1718642541$kCTFontTableFvar@1719034226$kCTFontTableGDEF@1195656518$kCTFontTableGPOS@1196445523$kCTFontTableGSUB@1196643650$kCTFontTableGasp@1734439792$kCTFontTableGlyf@1735162214$kCTFontTableGvar@1735811442$kCTFontTableHVAR@1213612370$kCTFontTableHdmx@1751412088$kCTFontTableHead@1751474532$kCTFontTableHhea@1751672161$kCTFontTableHmtx@1752003704$kCTFontTableHsty@1752396921$kCTFontTableJSTF@1246975046$kCTFontTableJust@1786082164$kCTFontTableKern@1801810542$kCTFontTableKerx@1801810552$kCTFontTableLTSH@1280594760$kCTFontTableLcar@1818452338$kCTFontTableLoca@1819239265$kCTFontTableLtag@1819566439$kCTFontTableMATH@1296127048$kCTFontTableMERG@1296388679$kCTFontTableMVAR@1297498450$kCTFontTableMaxp@1835104368$kCTFontTableMeta@1835365473$kCTFontTableMort@1836020340$kCTFontTableMorx@1836020344$kCTFontTableName@1851878757$kCTFontTableOS2@1330851634$kCTFontTableOpbd@1869636196$kCTFontTableOptionExcludeSynthetic@1$kCTFontTableOptionNoOptions@0$kCTFontTablePCLT@1346587732$kCTFontTablePost@1886352244$kCTFontTablePrep@1886545264$kCTFontTableProp@1886547824$kCTFontTableSTAT@1398030676$kCTFontTableSVG@1398163232$kCTFontTableSbit@1935829364$kCTFontTableSbix@1935829368$kCTFontTableTrak@1953653099$kCTFontTableVDMX@1447316824$kCTFontTableVORG@1448038983$kCTFontTableVVAR@1448493394$kCTFontTableVhea@1986553185$kCTFontTableVmtx@1986884728$kCTFontTableXref@2020762982$kCTFontTableZapf@1516335206$kCTFontToolTipFontType@25$kCTFontToolbarFontType@21$kCTFontTraitBold@2$kCTFontTraitClassMask@4026531840$kCTFontTraitColorGlyphs@8192$kCTFontTraitComposite@16384$kCTFontTraitCondensed@64$kCTFontTraitExpanded@32$kCTFontTraitItalic@1$kCTFontTraitMonoSpace@1024$kCTFontTraitUIOptimized@4096$kCTFontTraitVertical@2048$kCTFontTransitionalSerifsClass@536870912$kCTFontUIFontAlertHeader@18$kCTFontUIFontApplication@9$kCTFontUIFontControlContent@26$kCTFontUIFontEmphasizedSystem@3$kCTFontUIFontEmphasizedSystemDetail@20$kCTFontUIFontLabel@10$kCTFontUIFontMenuItem@12$kCTFontUIFontMenuItemCmdKey@14$kCTFontUIFontMenuItemMark@13$kCTFontUIFontMenuTitle@11$kCTFontUIFontMessage@23$kCTFontUIFontMiniEmphasizedSystem@7$kCTFontUIFontMiniSystem@6$kCTFontUIFontNone@4294967295$kCTFontUIFontPalette@24$kCTFontUIFontPushButton@16$kCTFontUIFontSmallEmphasizedSystem@5$kCTFontUIFontSmallSystem@4$kCTFontUIFontSmallToolbar@22$kCTFontUIFontSystem@2$kCTFontUIFontSystemDetail@19$kCTFontUIFontToolTip@25$kCTFontUIFontToolbar@21$kCTFontUIFontUser@0$kCTFontUIFontUserFixedPitch@1$kCTFontUIFontUtilityWindowTitle@17$kCTFontUIFontViews@8$kCTFontUIFontWindowTitle@15$kCTFontUIOptimizedTrait@4096$kCTFontUnknownClass@0$kCTFontUserFixedPitchFontType@1$kCTFontUserFontType@0$kCTFontUtilityWindowTitleFontType@17$kCTFontVerticalOrientation@2$kCTFontVerticalTrait@2048$kCTFontViewsFontType@8$kCTFontWindowTitleFontType@15$kCTFramePathFillEvenOdd@0$kCTFramePathFillWindingNumber@1$kCTFrameProgressionLeftToRight@2$kCTFrameProgressionRightToLeft@1$kCTFrameProgressionTopToBottom@0$kCTIdentityMappingCharacterCollection@0$kCTJustifiedTextAlignment@3$kCTLeftTextAlignment@0$kCTLineBoundsExcludeTypographicLeading@1$kCTLineBoundsExcludeTypographicShifts@2$kCTLineBoundsIncludeLanguageExtents@32$kCTLineBoundsUseGlyphPathBounds@8$kCTLineBoundsUseHangingPunctuation@4$kCTLineBoundsUseOpticalBounds@16$kCTLineBreakByCharWrapping@1$kCTLineBreakByClipping@2$kCTLineBreakByTruncatingHead@3$kCTLineBreakByTruncatingMiddle@5$kCTLineBreakByTruncatingTail@4$kCTLineBreakByWordWrapping@0$kCTLineTruncationEnd@1$kCTLineTruncationMiddle@2$kCTLineTruncationStart@0$kCTNaturalTextAlignment@4$kCTParagraphStyleSpecifierAlignment@0$kCTParagraphStyleSpecifierBaseWritingDirection@13$kCTParagraphStyleSpecifierCount@18$kCTParagraphStyleSpecifierDefaultTabInterval@5$kCTParagraphStyleSpecifierFirstLineHeadIndent@1$kCTParagraphStyleSpecifierHeadIndent@2$kCTParagraphStyleSpecifierLineBoundsOptions@17$kCTParagraphStyleSpecifierLineBreakMode@6$kCTParagraphStyleSpecifierLineHeightMultiple@7$kCTParagraphStyleSpecifierLineSpacing@10$kCTParagraphStyleSpecifierLineSpacingAdjustment@16$kCTParagraphStyleSpecifierMaximumLineHeight@8$kCTParagraphStyleSpecifierMaximumLineSpacing@14$kCTParagraphStyleSpecifierMinimumLineHeight@9$kCTParagraphStyleSpecifierMinimumLineSpacing@15$kCTParagraphStyleSpecifierParagraphSpacing@11$kCTParagraphStyleSpecifierParagraphSpacingBefore@12$kCTParagraphStyleSpecifierTabStops@4$kCTParagraphStyleSpecifierTailIndent@3$kCTRightTextAlignment@1$kCTRubyAlignmentAuto@0$kCTRubyAlignmentCenter@2$kCTRubyAlignmentDistributeLetter@4$kCTRubyAlignmentDistributeSpace@5$kCTRubyAlignmentEnd@3$kCTRubyAlignmentInvalid@255$kCTRubyAlignmentLineEdge@6$kCTRubyAlignmentStart@1$kCTRubyOverhangAuto@0$kCTRubyOverhangEnd@2$kCTRubyOverhangInvalid@255$kCTRubyOverhangNone@3$kCTRubyOverhangStart@1$kCTRubyPositionAfter@1$kCTRubyPositionBefore@0$kCTRubyPositionCount@4$kCTRubyPositionInline@3$kCTRubyPositionInterCharacter@2$kCTRunDelegateCurrentVersion@1$kCTRunDelegateVersion1@1$kCTRunStatusHasNonIdentityMatrix@4$kCTRunStatusNoStatus@0$kCTRunStatusNonMonotonic@2$kCTRunStatusRightToLeft@1$kCTTextAlignmentCenter@2$kCTTextAlignmentJustified@3$kCTTextAlignmentLeft@0$kCTTextAlignmentNatural@4$kCTTextAlignmentRight@1$kCTUnderlinePatternDash@512$kCTUnderlinePatternDashDot@768$kCTUnderlinePatternDashDotDot@1024$kCTUnderlinePatternDot@256$kCTUnderlinePatternSolid@0$kCTUnderlineStyleDouble@9$kCTUnderlineStyleNone@0$kCTUnderlineStyleSingle@1$kCTUnderlineStyleThick@2$kCTVersionNumber10_10@458752$kCTVersionNumber10_11@524288$kCTVersionNumber10_12@589824$kCTVersionNumber10_13@655360$kCTVersionNumber10_14@720896$kCTVersionNumber10_15@786432$kCTVersionNumber10_5@131072$kCTVersionNumber10_5_2@131073$kCTVersionNumber10_5_3@131074$kCTVersionNumber10_5_5@131075$kCTVersionNumber10_6@196608$kCTVersionNumber10_6_7@196615$kCTVersionNumber10_7@262144$kCTVersionNumber10_8@327680$kCTVersionNumber10_9@393216$kCTVersionNumber11_0@851968$kCTWritingDirectionEmbedding@0$kCTWritingDirectionLeftToRight@0$kCTWritingDirectionNatural@-1$kCTWritingDirectionOverride@2$kCTWritingDirectionRightToLeft@1$kCanonicalCompositionOffSelector@1$kCanonicalCompositionOnSelector@0$kCaseSensitiveLayoutOffSelector@1$kCaseSensitiveLayoutOnSelector@0$kCaseSensitiveLayoutType@33$kCaseSensitiveSpacingOffSelector@3$kCaseSensitiveSpacingOnSelector@2$kCharacterAlternativesType@17$kCharacterShapeType@20$kCircleAnnotationSelector@3$kCommonLigaturesOffSelector@3$kCommonLigaturesOnSelector@2$kCompatibilityCompositionOffSelector@3$kCompatibilityCompositionOnSelector@2$kContextualAlternatesOffSelector@1$kContextualAlternatesOnSelector@0$kContextualAlternatesType@36$kContextualLigaturesOffSelector@19$kContextualLigaturesOnSelector@18$kContextualSwashAlternatesOffSelector@5$kContextualSwashAlternatesOnSelector@4$kCursiveConnectionType@2$kCursiveSelector@2$kDecomposeDiacriticsSelector@2$kDecorativeBordersSelector@4$kDefaultCJKRomanSelector@2$kDefaultLowerCaseSelector@0$kDefaultUpperCaseSelector@0$kDesignComplexityType@18$kDesignLevel1Selector@0$kDesignLevel2Selector@1$kDesignLevel3Selector@2$kDesignLevel4Selector@3$kDesignLevel5Selector@4$kDiacriticsType@9$kDiagonalFractionsSelector@2$kDiamondAnnotationSelector@8$kDingbatsSelector@1$kDiphthongLigaturesOffSelector@11$kDiphthongLigaturesOnSelector@10$kDisplayTextSelector@1$kEngravedTextSelector@2$kExpertCharactersSelector@10$kExponentsOffSelector@9$kExponentsOnSelector@8$kFleuronsSelector@3$kFontAlbanianLanguage@36$kFontAmharicLanguage@85$kFontAmharicScript@28$kFontArabicLanguage@12$kFontArabicScript@4$kFontArmenianLanguage@51$kFontArmenianScript@24$kFontAssameseLanguage@68$kFontAymaraLanguage@134$kFontAzerbaijanArLanguage@50$kFontAzerbaijaniLanguage@49$kFontBasqueLanguage@129$kFontBengaliLanguage@67$kFontBengaliScript@13$kFontBulgarianLanguage@44$kFontBurmeseLanguage@77$kFontBurmeseScript@19$kFontByelorussianLanguage@46$kFontCatalanLanguage@130$kFontChewaLanguage@92$kFontChineseScript@2$kFontCopyrightName@0$kFontCroatianLanguage@18$kFontCustom16BitScript@2$kFontCustom816BitScript@1$kFontCustom8BitScript@0$kFontCustomPlatform@4$kFontCyrillicScript@7$kFontCzechLanguage@38$kFontDanishLanguage@7$kFontDescriptionName@10$kFontDesignerName@9$kFontDesignerURLName@12$kFontDevanagariScript@9$kFontDutchLanguage@4$kFontDzongkhaLanguage@137$kFontEastEuropeanRomanScript@29$kFontEnglishLanguage@0$kFontEsperantoLanguage@94$kFontEstonianLanguage@27$kFontEthiopicScript@28$kFontExtendedArabicScript@31$kFontFaeroeseLanguage@30$kFontFamilyName@1$kFontFarsiLanguage@31$kFontFinnishLanguage@13$kFontFlemishLanguage@34$kFontFrenchLanguage@1$kFontFullName@4$kFontGallaLanguage@87$kFontGeezScript@28$kFontGeorgianLanguage@52$kFontGeorgianScript@23$kFontGermanLanguage@2$kFontGreekLanguage@14$kFontGreekScript@6$kFontGuaraniLanguage@133$kFontGujaratiLanguage@69$kFontGujaratiScript@11$kFontGurmukhiScript@10$kFontHebrewLanguage@10$kFontHebrewScript@5$kFontHindiLanguage@21$kFontHungarianLanguage@26$kFontISO10646_1993Semantics@2$kFontIcelandicLanguage@15$kFontIndonesianLanguage@81$kFontIrishLanguage@35$kFontItalianLanguage@3$kFontJapaneseLanguage@11$kFontJapaneseScript@1$kFontJavaneseRomLanguage@138$kFontKannadaLanguage@73$kFontKannadaScript@16$kFontKashmiriLanguage@61$kFontKazakhLanguage@48$kFontKhmerLanguage@78$kFontKhmerScript@20$kFontKirghizLanguage@54$kFontKoreanLanguage@23$kFontKoreanScript@3$kFontKurdishLanguage@60$kFontLaoLanguage@79$kFontLaotianScript@22$kFontLappishLanguage@29$kFontLastReservedName@255$kFontLatinLanguage@131$kFontLatvianLanguage@28$kFontLettishLanguage@28$kFontLicenseDescriptionName@13$kFontLicenseInfoURLName@14$kFontLithuanianLanguage@24$kFontMacCompatibleFullName@18$kFontMacedonianLanguage@43$kFontMacintoshPlatform@1$kFontMalagasyLanguage@93$kFontMalayArabicLanguage@84$kFontMalayRomanLanguage@83$kFontMalayalamLanguage@72$kFontMalayalamScript@17$kFontMalteseLanguage@16$kFontManufacturerName@8$kFontMarathiLanguage@66$kFontMicrosoftPlatform@3$kFontMicrosoftStandardScript@1$kFontMicrosoftSymbolScript@0$kFontMicrosoftUCS4Script@10$kFontMoldavianLanguage@53$kFontMongolianCyrLanguage@58$kFontMongolianLanguage@57$kFontMongolianScript@27$kFontNepaliLanguage@64$kFontNoLanguageCode@4294967295$kFontNoNameCode@4294967295$kFontNoPlatformCode@4294967295$kFontNoScriptCode@4294967295$kFontNorwegianLanguage@9$kFontOriyaLanguage@71$kFontOriyaScript@12$kFontOromoLanguage@87$kFontPashtoLanguage@59$kFontPersianLanguage@31$kFontPolishLanguage@25$kFontPortugueseLanguage@8$kFontPostScriptCIDName@20$kFontPostscriptName@6$kFontPreferredFamilyName@16$kFontPreferredSubfamilyName@17$kFontPunjabiLanguage@70$kFontQuechuaLanguage@132$kFontRSymbolScript@8$kFontReservedPlatform@2$kFontRomanScript@0$kFontRomanianLanguage@37$kFontRuandaLanguage@90$kFontRundiLanguage@91$kFontRussian@7$kFontRussianLanguage@32$kFontSaamiskLanguage@29$kFontSampleTextName@19$kFontSanskritLanguage@65$kFontSerbianLanguage@42$kFontSimpChineseLanguage@33$kFontSimpleChineseScript@25$kFontSindhiLanguage@62$kFontSindhiScript@31$kFontSinhaleseLanguage@76$kFontSinhaleseScript@18$kFontSlavicScript@29$kFontSlovakLanguage@39$kFontSlovenianLanguage@40$kFontSomaliLanguage@88$kFontSpanishLanguage@6$kFontStyleName@2$kFontSundaneseRomLanguage@139$kFontSwahiliLanguage@89$kFontSwedishLanguage@5$kFontTagalogLanguage@82$kFontTajikiLanguage@55$kFontTamilLanguage@74$kFontTamilScript@14$kFontTatarLanguage@135$kFontTeluguLanguage@75$kFontTeluguScript@15$kFontThaiLanguage@22$kFontThaiScript@21$kFontTibetanLanguage@63$kFontTibetanScript@26$kFontTigrinyaLanguage@86$kFontTradChineseLanguage@19$kFontTrademarkName@7$kFontTraditionalChineseScript@2$kFontTurkishLanguage@17$kFontTurkmenLanguage@56$kFontUighurLanguage@136$kFontUkrainianLanguage@45$kFontUnicodeDefaultSemantics@0$kFontUnicodePlatform@0$kFontUnicodeV1_1Semantics@1$kFontUnicodeV2_0BMPOnlySemantics@3$kFontUnicodeV2_0FullCoverageSemantics@4$kFontUnicodeV4_0VariationSequenceSemantics@5$kFontUnicode_FullRepertoire@6$kFontUninterpretedScript@32$kFontUniqueName@3$kFontUrduLanguage@20$kFontUzbekLanguage@47$kFontVendorURLName@11$kFontVersionName@5$kFontVietnameseLanguage@80$kFontVietnameseScript@30$kFontWelshLanguage@128$kFontYiddishLanguage@41$kFormInterrobangOffSelector@7$kFormInterrobangOnSelector@6$kFractionsType@11$kFullWidthCJKRomanSelector@3$kFullWidthIdeographsSelector@0$kFullWidthKanaSelector@0$kHalfWidthCJKRomanSelector@0$kHalfWidthIdeographsSelector@2$kHalfWidthTextSelector@2$kHanjaToHangulAltOneSelector@7$kHanjaToHangulAltThreeSelector@9$kHanjaToHangulAltTwoSelector@8$kHanjaToHangulSelector@1$kHideDiacriticsSelector@1$kHiraganaToKatakanaSelector@2$kHistoricalLigaturesOffSelector@21$kHistoricalLigaturesOnSelector@20$kHojoCharactersSelector@12$kHyphenToEnDashOffSelector@3$kHyphenToEnDashOnSelector@2$kHyphenToMinusOffSelector@1$kHyphenToMinusOnSelector@0$kHyphensToEmDashOffSelector@1$kHyphensToEmDashOnSelector@0$kIdeographicAltFiveSelector@5$kIdeographicAltFourSelector@4$kIdeographicAltOneSelector@1$kIdeographicAltThreeSelector@3$kIdeographicAltTwoSelector@2$kIdeographicAlternativesType@30$kIdeographicSpacingType@26$kIlluminatedCapsSelector@3$kInequalityLigaturesOffSelector@7$kInequalityLigaturesOnSelector@6$kInferiorsSelector@2$kInitialCapsAndSmallCapsSelector@5$kInitialCapsSelector@4$kInternationalSymbolsSelector@5$kInvertedBoxAnnotationSelector@9$kInvertedCircleAnnotationSelector@4$kInvertedRoundedBoxAnnotationSelector@10$kItalicCJKRomanType@32$kJIS1978CharactersSelector@2$kJIS1983CharactersSelector@3$kJIS1990CharactersSelector@4$kJIS2004CharactersSelector@11$kJUSTCurrentVersion@65536$kJUSTKashidaPriority@0$kJUSTLetterPriority@2$kJUSTNullPriority@3$kJUSTOverrideLimits@16384$kJUSTOverridePriority@32768$kJUSTOverrideUnlimited@8192$kJUSTPriorityCount@4$kJUSTPriorityMask@3$kJUSTSpacePriority@1$kJUSTStandardFormat@0$kJUSTTag@1786082164$kJUSTUnlimited@4096$kJUSTnoGlyphcode@65535$kJUSTpcConditionalAddAction@2$kJUSTpcDecompositionAction@0$kJUSTpcDuctilityAction@4$kJUSTpcGlyphRepeatAddAction@5$kJUSTpcGlyphStretchAction@3$kJUSTpcUnconditionalAddAction@1$kKERNCrossStream@16384$kKERNCrossStreamResetNote@2$kKERNCurrentVersion@65536$kKERNFormatMask@255$kKERNIndexArray@3$kKERNLineEndKerning@2$kKERNLineStart@1$kKERNNoCrossKerning@4$kKERNNoStakeNote@1$kKERNNotApplied@1$kKERNNotesRequested@8$kKERNOrderedList@0$kKERNResetCrossStream@32768$kKERNSimpleArray@2$kKERNStateTable@1$kKERNTag@1801810542$kKERNUnusedBits@7936$kKERNVariation@8192$kKERNVertical@32768$kKERXActionOffsetMask@16777215$kKERXActionTypeAnchorPoints@1073741824$kKERXActionTypeControlPoints@0$kKERXActionTypeCoordinates@2147483648$kKERXActionTypeMask@3221225472$kKERXControlPoint@4$kKERXCrossStream@1073741824$kKERXCrossStreamResetNote@2$kKERXCurrentVersion@131072$kKERXDescending@268435456$kKERXFormatMask@255$kKERXLineEndKerning@2$kKERXLineStart@1$kKERXNoCrossKerning@4$kKERXNoStakeNote@1$kKERXNotApplied@1$kKERXNotesRequested@8$kKERXOrderedList@0$kKERXResetCrossStream@32768$kKERXSimpleArray@2$kKERXStateTable@1$kKERXTag@1801810552$kKERXUnusedBits@268435200$kKERXUnusedFlags@1056964608$kKERXValuesAreLong@1$kKERXVariation@536870912$kKERXVertical@-2147483648$kKanaSpacingType@25$kKanaToRomanizationSelector@4$kKatakanaToHiraganaSelector@3$kLCARCtlPointFormat@1$kLCARCurrentVersion@65536$kLCARLinearFormat@0$kLCARTag@1818452338$kLTAGCurrentVersion@1$kLanguageTagType@39$kLastFeatureType@-1$kLetterCaseType@3$kLigaturesType@1$kLineFinalSwashesOffSelector@7$kLineFinalSwashesOnSelector@6$kLineInitialSwashesOffSelector@5$kLineInitialSwashesOnSelector@4$kLinguisticRearrangementOffSelector@1$kLinguisticRearrangementOnSelector@0$kLinguisticRearrangementType@5$kLogosOffSelector@7$kLogosOnSelector@6$kLowerCaseNumbersSelector@0$kLowerCasePetiteCapsSelector@2$kLowerCaseSmallCapsSelector@1$kLowerCaseType@37$kMORTContextualType@1$kMORTCoverDescending@16384$kMORTCoverIgnoreVertical@8192$kMORTCoverTypeMask@15$kMORTCoverVertical@32768$kMORTCurrInsertBefore@2048$kMORTCurrInsertCountMask@992$kMORTCurrInsertCountShift@5$kMORTCurrInsertKashidaLike@8192$kMORTCurrJustTableCountMask@127$kMORTCurrJustTableCountShift@0$kMORTCurrentVersion@65536$kMORTDoInsertionsBefore@128$kMORTInsertionType@5$kMORTInsertionsCountMask@63$kMORTIsSplitVowelPiece@64$kMORTLigFormOffsetMask@1073741823$kMORTLigFormOffsetShift@2$kMORTLigLastAction@-2147483648$kMORTLigStoreLigature@1073741824$kMORTLigatureType@2$kMORTMarkInsertBefore@1024$kMORTMarkInsertCountMask@31$kMORTMarkInsertCountShift@0$kMORTMarkInsertKashidaLike@4096$kMORTMarkJustTableCountMask@16256$kMORTMarkJustTableCountShift@7$kMORTRearrangementType@0$kMORTSwashType@4$kMORTTag@1836020340$kMORTraCDx@6$kMORTraCDxA@8$kMORTraCDxAB@12$kMORTraCDxBA@13$kMORTraDCx@7$kMORTraDCxA@9$kMORTraDCxAB@14$kMORTraDCxBA@15$kMORTraDx@2$kMORTraDxA@3$kMORTraDxAB@10$kMORTraDxBA@11$kMORTraNoAction@0$kMORTraxA@1$kMORTraxAB@4$kMORTraxBA@5$kMORXCoverDescending@1073741824$kMORXCoverIgnoreVertical@536870912$kMORXCoverLogicalOrder@268435456$kMORXCoverTypeMask@255$kMORXCoverVertical@-2147483648$kMORXCurrentVersion@131072$kMORXTag@1836020344$kMathSymbolsSelector@6$kMathematicalExtrasType@15$kMathematicalGreekOffSelector@11$kMathematicalGreekOnSelector@10$kMonospacedNumbersSelector@0$kMonospacedTextSelector@1$kNLCCharactersSelector@13$kNoAlternatesSelector@0$kNoAnnotationSelector@0$kNoCJKItalicRomanSelector@0$kNoCJKSymbolAlternativesSelector@0$kNoFractionsSelector@0$kNoIdeographicAlternativesSelector@0$kNoOrnamentsSelector@0$kNoRubyKanaSelector@0$kNoStyleOptionsSelector@0$kNoStylisticAlternatesSelector@0$kNoTransliterationSelector@0$kNonFinalSwashesOffSelector@9$kNonFinalSwashesOnSelector@8$kNormalPositionSelector@0$kNumberCaseType@21$kNumberSpacingType@6$kOPBDControlPointFormat@1$kOPBDCurrentVersion@65536$kOPBDDistanceFormat@0$kOPBDTag@1869636196$kOrdinalsSelector@3$kOrnamentSetsType@16$kOverlappingCharactersType@13$kPROPALDirectionClass@2$kPROPANDirectionClass@6$kPROPBNDirectionClass@19$kPROPCSDirectionClass@7$kPROPCanHangLTMask@16384$kPROPCanHangRBMask@8192$kPROPCurrentVersion@196608$kPROPDirectionMask@31$kPROPENDirectionClass@3$kPROPESDirectionClass@4$kPROPETDirectionClass@5$kPROPIsFloaterMask@32768$kPROPLDirectionClass@0$kPROPLREDirectionClass@13$kPROPLRODirectionClass@14$kPROPNSMDirectionClass@18$kPROPNumDirectionClasses@20$kPROPONDirectionClass@11$kPROPPDFDirectionClass@17$kPROPPSDirectionClass@8$kPROPPairOffsetMask@3840$kPROPPairOffsetShift@8$kPROPPairOffsetSign@7$kPROPRDirectionClass@1$kPROPRLEDirectionClass@15$kPROPRLODirectionClass@16$kPROPRightConnectMask@128$kPROPSDirectionClass@9$kPROPSENDirectionClass@12$kPROPTag@1886547824$kPROPUseRLPairMask@4096$kPROPWSDirectionClass@10$kPROPZeroReserved@96$kParenthesisAnnotationSelector@5$kPartiallyConnectedSelector@1$kPeriodAnnotationSelector@6$kPeriodsToEllipsisOffSelector@11$kPeriodsToEllipsisOnSelector@10$kPiCharactersSelector@2$kPreventOverlapOffSelector@1$kPreventOverlapOnSelector@0$kProportionalCJKRomanSelector@1$kProportionalIdeographsSelector@1$kProportionalKanaSelector@1$kProportionalNumbersSelector@1$kProportionalTextSelector@0$kQuarterWidthNumbersSelector@3$kQuarterWidthTextSelector@4$kRareLigaturesOffSelector@5$kRareLigaturesOnSelector@4$kRebusPicturesOffSelector@9$kRebusPicturesOnSelector@8$kRequiredLigaturesOffSelector@1$kRequiredLigaturesOnSelector@0$kRomanNumeralAnnotationSelector@7$kRomanizationToHiraganaSelector@5$kRomanizationToKatakanaSelector@6$kRoundedBoxAnnotationSelector@2$kRubyKanaOffSelector@3$kRubyKanaOnSelector@2$kRubyKanaSelector@1$kRubyKanaType@28$kSFNTLookupSegmentArray@4$kSFNTLookupSegmentSingle@2$kSFNTLookupSimpleArray@0$kSFNTLookupSingleTable@6$kSFNTLookupTrimmedArray@8$kSFNTLookupVector@10$kSTClassDeletedGlyph@2$kSTClassEndOfLine@3$kSTClassEndOfText@0$kSTClassOutOfBounds@1$kSTKCrossStreamReset@8192$kSTLigActionMask@16383$kSTMarkEnd@8192$kSTNoAdvance@16384$kSTRearrVerbMask@15$kSTSetMark@32768$kSTXHasLigAction@8192$kScientificInferiorsSelector@4$kShowDiacriticsSelector@0$kSimplifiedCharactersSelector@1$kSlashToDivideOffSelector@5$kSlashToDivideOnSelector@4$kSlashedZeroOffSelector@5$kSlashedZeroOnSelector@4$kSmallCapsSelector@3$kSmartQuotesOffSelector@9$kSmartQuotesOnSelector@8$kSmartSwashType@8$kSquaredLigaturesOffSelector@13$kSquaredLigaturesOnSelector@12$kStyleOptionsType@19$kStylisticAltEightOffSelector@17$kStylisticAltEightOnSelector@16$kStylisticAltEighteenOffSelector@37$kStylisticAltEighteenOnSelector@36$kStylisticAltElevenOffSelector@23$kStylisticAltElevenOnSelector@22$kStylisticAltFifteenOffSelector@31$kStylisticAltFifteenOnSelector@30$kStylisticAltFiveOffSelector@11$kStylisticAltFiveOnSelector@10$kStylisticAltFourOffSelector@9$kStylisticAltFourOnSelector@8$kStylisticAltFourteenOffSelector@29$kStylisticAltFourteenOnSelector@28$kStylisticAltNineOffSelector@19$kStylisticAltNineOnSelector@18$kStylisticAltNineteenOffSelector@39$kStylisticAltNineteenOnSelector@38$kStylisticAltOneOffSelector@3$kStylisticAltOneOnSelector@2$kStylisticAltSevenOffSelector@15$kStylisticAltSevenOnSelector@14$kStylisticAltSeventeenOffSelector@35$kStylisticAltSeventeenOnSelector@34$kStylisticAltSixOffSelector@13$kStylisticAltSixOnSelector@12$kStylisticAltSixteenOffSelector@33$kStylisticAltSixteenOnSelector@32$kStylisticAltTenOffSelector@21$kStylisticAltTenOnSelector@20$kStylisticAltThirteenOffSelector@27$kStylisticAltThirteenOnSelector@26$kStylisticAltThreeOffSelector@7$kStylisticAltThreeOnSelector@6$kStylisticAltTwelveOffSelector@25$kStylisticAltTwelveOnSelector@24$kStylisticAltTwentyOffSelector@41$kStylisticAltTwentyOnSelector@40$kStylisticAltTwoOffSelector@5$kStylisticAltTwoOnSelector@4$kStylisticAlternativesType@35$kSubstituteVerticalFormsOffSelector@1$kSubstituteVerticalFormsOnSelector@0$kSuperiorsSelector@1$kSwashAlternatesOffSelector@3$kSwashAlternatesOnSelector@2$kSymbolLigaturesOffSelector@17$kSymbolLigaturesOnSelector@16$kTRAKCurrentVersion@65536$kTRAKTag@1953653099$kTRAKUniformFormat@0$kTallCapsSelector@5$kTextSpacingType@22$kThirdWidthNumbersSelector@2$kThirdWidthTextSelector@3$kTitlingCapsSelector@4$kTraditionalAltFiveSelector@9$kTraditionalAltFourSelector@8$kTraditionalAltOneSelector@5$kTraditionalAltThreeSelector@7$kTraditionalAltTwoSelector@6$kTraditionalCharactersSelector@0$kTraditionalNamesCharactersSelector@14$kTranscodingCompositionOffSelector@5$kTranscodingCompositionOnSelector@4$kTransliterationType@23$kTypographicExtrasType@14$kUnconnectedSelector@0$kUnicodeDecompositionType@27$kUpperAndLowerCaseSelector@0$kUpperCaseNumbersSelector@1$kUpperCasePetiteCapsSelector@2$kUpperCaseSmallCapsSelector@1$kUpperCaseType@38$kVerticalFractionsSelector@1$kVerticalPositionType@10$kVerticalSubstitutionType@4$kWordFinalSwashesOffSelector@3$kWordFinalSwashesOnSelector@2$kWordInitialSwashesOffSelector@1$kWordInitialSwashesOnSelector@0$nameFontTableTag@1851878757$nonGlyphID@65535$os2FontTableTag@1330851634$sizeof_sfntCMapEncoding@8$sizeof_sfntCMapExtendedSubHeader@12$sizeof_sfntCMapHeader@4$sizeof_sfntCMapSubHeader@6$sizeof_sfntDescriptorHeader@8$sizeof_sfntDirectory@12$sizeof_sfntInstance@4$sizeof_sfntNameHeader@6$sizeof_sfntNameRecord@12$sizeof_sfntVariationAxis@20$sizeof_sfntVariationHeader@16$variationFontTableTag@1719034226$""" -misc.update( - { - "CTFrameProgression": NewType("CTFrameProgression", int), - "CTLineBreakMode": NewType("CTLineBreakMode", int), - "CTFramePathFillRule": NewType("CTFramePathFillRule", int), - "CTFontStylisticClass": NewType("CTFontStylisticClass", int), - "CTUnderlineStyle": NewType("CTUnderlineStyle", int), - "CTRubyAlignment": NewType("CTRubyAlignment", int), - "CTLineBoundsOptions": NewType("CTLineBoundsOptions", int), - "CTRubyOverhang": NewType("CTRubyOverhang", int), - "CTFontFormat": NewType("CTFontFormat", int), - "CTFontTableOptions": NewType("CTFontTableOptions", int), - "CTCharacterCollection": NewType("CTCharacterCollection", int), - "CTFontSymbolicTraits": NewType("CTFontSymbolicTraits", int), - "CTParagraphStyleSpecifier": NewType("CTParagraphStyleSpecifier", int), - "CTLineTruncationType": NewType("CTLineTruncationType", int), - "CTUnderlineStyleModifiers": NewType("CTUnderlineStyleModifiers", int), - "CTFontManagerError": NewType("CTFontManagerError", int), - "CTRubyPosition": NewType("CTRubyPosition", int), - "CTWritingDirection": NewType("CTWritingDirection", int), - "CTFontCollectionCopyOptions": NewType("CTFontCollectionCopyOptions", int), - "CTFontOrientation": NewType("CTFontOrientation", int), - "CTFontManagerAutoActivationSetting": NewType( - "CTFontManagerAutoActivationSetting", int - ), - "CTRunStatus": NewType("CTRunStatus", int), - "CTFontManagerScope": NewType("CTFontManagerScope", int), - "CTTextAlignment": NewType("CTTextAlignment", int), - "CTFontOptions": NewType("CTFontOptions", int), - "CTFontDescriptorMatchingState": NewType("CTFontDescriptorMatchingState", int), - "CTFontUIFontType": NewType("CTFontUIFontType", int), - } -) -misc.update({}) -functions = { - "CTFontManagerCreateFontDescriptorsFromURL": ( - b"^{__CFArray=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineCreateTruncatedLine": ( - b"^{__CTLine=}^{__CTLine=}dI^{__CTLine=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineEnumerateCaretOffsets": ( - b"v^{__CTLine=}@?", - "", - { - "retval": {"type": "v"}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "d"}, - 2: {"type": "L"}, - 3: {"type": "B"}, - 4: {"type": "o^B"}, - }, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"d"}, - 1: {"type": b"q"}, - 2: {"type": b"B"}, - 3: {"type": b"^B"}, - }, - }, - } - }, - }, - ), - "CTFramesetterCreateFrame": ( - b"^{__CTFrame=}^{__CTFramesetter=}{_CFRange=qq}^{CGPath=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTypesetterSuggestClusterBreak": (b"q^{__CTTypesetter=}qd",), - "CTFontCreateCopyWithFamily": ( - b"^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetGlyphsForCharacters": ( - b"B^{__CTFont=}^T^Sq", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "o"}, - } - }, - ), - "CTLineGetPenOffsetForFlush": (b"d^{__CTLine=}dd",), - "CTTypesetterSuggestLineBreak": (b"q^{__CTTypesetter=}qd",), - "CTFontCreateWithGraphicsFont": ( - b"^{__CTFont=}^{CGFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTRunGetStringRange": (b"{_CFRange=qq}^{__CTRun=}",), - "CTFontCreateWithQuickdrawInstance": ( - b"^{__CTFont=}*sCd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerUnregisterFontsForURL": ( - b"B^{__CFURL=}I^^{__CFError=}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CTFontManagerCreateFontRequestRunLoopSource": ( - b"^{__CFRunLoopSource=}q@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "i"}, - }, - } - } - }, - }, - ), - "CTFontManagerRequestFonts": ( - b"v^{__CFArray=}@?", - "", - { - "arguments": { - 1: { - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^{__CFArray=}"}}, - } - } - } - }, - ), - "CTRubyAnnotationCreateWithAttributes": ( - b"@LLL@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorMatchFontDescriptorsWithProgressHandler": ( - b"B^{__CFArray=}^{__CFSet=}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "CTGlyphInfoGetGlyph": (b"S^{__CTGlyphInfo=}",), - "CTFontManagerUnregisterFontURLs": ( - b"v^{__CFArray=}I@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - }, - }, - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^{__CFArray=}"}, 1: {"type": b"B"}}, - }, - } - } - }, - ), - "CTFontManagerCreateFontDescriptorsFromData": ( - b"^{__CFArray=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunDelegateGetTypeID": (b"Q",), - "CTFontManagerRegisterFontURLs": ( - b"v^{__CFArray=}IB@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - }, - }, - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^{__CFArray=}"}, 1: {"type": b"B"}}, - }, - } - } - }, - ), - "CTFontCopyAvailableTables": ( - b"^{__CFArray=}^{__CTFont=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerCompareFontFamilyNames": (b"q^{__CFString=}^{__CFString=}^v",), - "CTRubyAnnotationCreate": ( - b"^{__CTRubyAnnotation=}CCd^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"c_array_of_fixed_length": 4, "type_modifier": "n"}}, - }, - ), - "CTRunGetStringIndicesPtr": ( - b"r^q^{__CTRun=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CTFontGetAscent": (b"d^{__CTFont=}",), - "CTFontManagerRegisterGraphicsFont": ( - b"B^{CGFont=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CTFontCollectionCopyQueryDescriptors": ( - b"^{__CFArray=}^{__CTFontCollection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTypesetterCreateLine": ( - b"^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerRegisterFontDescriptors": ( - b"v^{__CFArray=}IB@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - }, - }, - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^{__CFArray=}"}, 1: {"type": b"B"}}, - }, - } - } - }, - ), - "CTFontGetDescent": (b"d^{__CTFont=}",), - "CTFontCreateWithFontDescriptor": ( - b"^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTRunGetAttributes": (b"^{__CFDictionary=}^{__CTRun=}",), - "CTFontCopySupportedLanguages": ( - b"^{__CFArray=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyVariationAxes": ( - b"^{__CFArray=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTextTabGetLocation": (b"d^{__CTTextTab=}",), - "CTFontCopyPostScriptName": ( - b"^{__CFString=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyDefaultCascadeListForLanguages": ( - b"^{__CFArray=}^{__CTFont=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunGetBaseAdvancesAndOrigins": ( - b"v^{__CTRun=}{_CFRange=qq}^{CGSize=dd}^{CGPoint=dd}", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 3: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - } - }, - ), - "CTFontGetVerticalTranslationsForGlyphs": ( - b"v^{__CTFont=}^S^{CGSize=dd}q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "o"}, - } - }, - ), - "CTFontGetTypeID": (b"Q",), - "CTFontCollectionCreateMatchingFontDescriptorsWithOptions": ( - b"^{__CFArray=}^{__CTFontCollection=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFramesetterCreateWithAttributedString": ( - b"^{__CTFramesetter=}^{__CFAttributedString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCreatePathForGlyph": ( - b"^{CGPath=}^{__CTFont=}S^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTFrameDraw": (b"v^{__CTFrame=}^{CGContext=}",), - "CTFontCollectionCopyExclusionDescriptors": ( - b"^{__CFArray=}^{__CTFontCollection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineGetTypeID": (b"Q",), - "CTFontManagerGetAutoActivationSetting": (b"I^{__CFString=}",), - "CTFontGetOpticalBoundsForGlyphs": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}^S^{CGRect={CGPoint=dd}{CGSize=dd}}qQ", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "o"}, - } - }, - ), - "CTFontManagerUnregisterFontDescriptors": ( - b"v^{__CFArray=}I@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - }, - }, - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^{__CFArray=}"}, 1: {"type": b"B"}}, - }, - } - } - }, - ), - "CTFontDescriptorCopyAttribute": ( - b"@^{__CTFontDescriptor=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCreateWithFontDescriptorAndOptions": ( - b"^{__CTFont=}^{__CTFontDescriptor=}d^{CGAffineTransform=dddddd}Q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTFontGetMatrix": (b"{CGAffineTransform=dddddd}^{__CTFont=}",), - "CTFontGetSymbolicTraits": (b"I^{__CTFont=}",), - "CTFontCreateCopyWithAttributes": ( - b"^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRubyAnnotationGetSizeFactor": (b"d^{__CTRubyAnnotation=}",), - "CTFontCollectionCopyFontAttribute": ( - b"^{__CFArray=}^{__CTFontCollection=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyFamilyName": ( - b"^{__CFString=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTGlyphInfoGetTypeID": (b"Q",), - "CTParagraphStyleCreate": ( - b"^{__CTParagraphStyle=}^{CTParagraphStyleSetting=IQ^v}Q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "CTRunGetImageBounds": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTRun=}^{CGContext=}{_CFRange=qq}", - ), - "CTFontManagerIsSupportedFont": (b"B^{__CFURL=}",), - "CTRunGetAdvancesPtr": ( - b"^{CGSize=dd}^{__CTRun=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CTRunGetStatus": (b"I^{__CTRun=}",), - "CTGlyphInfoGetCharacterIdentifier": (b"S^{__CTGlyphInfo=}",), - "CTFontGetUnitsPerEm": (b"I^{__CTFont=}",), - "CTFontCopyVariation": ( - b"^{__CFDictionary=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFrameGetFrameAttributes": (b"^{__CFDictionary=}^{__CTFrame=}",), - "CTFramesetterCreateWithTypesetter": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTextTabCreate": ( - b"^{__CTTextTab=}Cd^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCollectionSetExclusionDescriptors": ( - b"v^{__CTFontCollection=}^{__CFArray=}", - ), - "CTFrameGetPath": (b"^{CGPath=}^{__CTFrame=}",), - "CTFontManagerCopyRegisteredFontDescriptors": ( - b"^{__CFArray=}IB", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFrameGetTypeID": (b"Q",), - "CTFramesetterGetTypeID": (b"Q",), - "CTFontCollectionCreateFromAvailableFonts": ( - b"^{__CTFontCollection=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunGetGlyphsPtr": ( - b"r^S^{__CTRun=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CTFontDrawGlyphs": ( - b"v^{__CTFont=}^S^{CGPoint=dd}Q^{CGContext=}", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - } - }, - ), - "CTFontGetGlyphCount": (b"q^{__CTFont=}",), - "CTFontManagerCreateFontDescriptorFromData": ( - b"^{__CTFontDescriptor=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTGlyphInfoGetCharacterCollection": (b"S^{__CTGlyphInfo=}",), - "CTFontCopyAttribute": ( - b"@^{__CTFont=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetBoundingRectsForGlyphs": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}I^S^{CGRect={CGPoint=dd}{CGSize=dd}}q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "o"}, - } - }, - ), - "CTFontGetBoundingBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTFont=}",), - "CTFontManagerSetAutoActivationSetting": (b"v^{__CFString=}I",), - "CTTypesetterCreateWithAttributedStringAndOptions": ( - b"^{__CTTypesetter=}^{__CFAttributedString=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineGetImageBounds": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTLine=}^{CGContext=}", - ), - "CTFontCopyDisplayName": ( - b"^{__CFString=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTGetCoreTextVersion": (b"I",), - "CTParagraphStyleCreateCopy": ( - b"^{__CTParagraphStyle=}^{__CTParagraphStyle=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetAdvancesForGlyphs": ( - b"d^{__CTFont=}I^S^{CGSize=dd}q", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "o"}, - } - }, - ), - "CTTextTabGetOptions": (b"^{__CFDictionary=}^{__CTTextTab=}",), - "CTGlyphInfoCreateWithGlyph": ( - b"^{__CTGlyphInfo=}S^{__CTFont=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCreateWithPlatformFont": ( - b"^{__CTFont=}Id^{CGAffineTransform=dddddd}^{__CTFontDescriptor=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTFontCreateForStringWithLanguage": ( - b"^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=qq}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerUnregisterGraphicsFont": ( - b"B^{CGFont=}^^{__CFError=}", - "", - { - "arguments": { - 1: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CTRubyAnnotationCreateCopy": ( - b"^{__CTRubyAnnotation=}^{__CTRubyAnnotation=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTypesetterSuggestClusterBreakWithOffset": (b"q^{__CTTypesetter=}qdd",), - "CTRunGetTypeID": (b"Q",), - "CTRubyAnnotationGetTextForPosition": (b"^{__CFString=}^{__CTRubyAnnotation=}C",), - "CTLineGetTypographicBounds": ( - b"d^{__CTLine=}^d^d^d", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CTFontGetPlatformFont": ( - b"I^{__CTFont=}^^{__CTFontDescriptor}", - "", - {"arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "CTLineGetTrailingWhitespaceWidth": (b"d^{__CTLine=}",), - "CTFontManagerRegisterFontsForURL": ( - b"B^{__CFURL=}I^^{__CFError=}", - "", - { - "arguments": { - 2: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CTFontCopyTable": ( - b"^{__CFData=}^{__CTFont=}II", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTypesetterSuggestLineBreakWithOffset": (b"q^{__CTTypesetter=}qdd",), - "CTGlyphInfoCreateWithCharacterIdentifier": ( - b"^{__CTGlyphInfo=}SS^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyCharacterSet": ( - b"^{__CFCharacterSet=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetStringEncoding": (b"I^{__CTFont=}",), - "CTRunGetStringIndices": ( - b"v^{__CTRun=}{_CFRange=qq}^q", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CTRunGetAdvances": ( - b"v^{__CTRun=}{_CFRange=qq}^{CGSize=dd}", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback": ( - b"^{__CFArray=}^{__CTFontCollection=}^?@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{__CTFontDescriptor=}"}, - 1: {"type": b"^{__CTFontDescriptor=}"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - } - }, - }, - ), - "CTFontCopyFullName": ( - b"^{__CFString=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTParagraphStyleGetValueForSpecifier": ( - b"B^{__CTParagraphStyle=}IQ^v", - "", - {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "o"}}}, - ), - "CTLineGetOffsetForStringIndex": ( - b"d^{__CTLine=}q^d", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CTFontManagerEnableFontDescriptors": (b"v^{__CFArray=}B",), - "CTRubyAnnotationGetAlignment": (b"C^{__CTRubyAnnotation=}",), - "CTFontCopyLocalizedName": ( - b"^{__CFString=}^{__CTFont=}^{__CFString=}^^{__CFString}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "CTFontDescriptorCreateCopyWithFamily": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerGetScopeForURL": (b"I^{__CFURL=}",), - "CTFontGetSize": (b"d^{__CTFont=}",), - "CTFontCollectionGetTypeID": (b"Q",), - "CTFontGetGlyphWithName": (b"S^{__CTFont=}^{__CFString=}",), - "CTLineGetGlyphRuns": (b"^{__CFArray=}^{__CTLine=}",), - "CTFontCreateWithNameAndOptions": ( - b"^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}Q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTFontDescriptorCreateCopyWithAttributes": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyFontDescriptor": ( - b"^{__CTFontDescriptor=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetCapHeight": (b"d^{__CTFont=}",), - "CTFontGetUnderlineThickness": (b"d^{__CTFont=}",), - "CTFontManagerCopyAvailableFontURLs": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyFeatureSettings": ( - b"^{__CFArray=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorCreateMatchingFontDescriptor": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineGetGlyphCount": (b"q^{__CTLine=}",), - "CTLineDraw": (b"v^{__CTLine=}^{CGContext=}",), - "CTFontDescriptorCreateCopyWithFeature": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}^{__CFNumber=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRubyAnnotationGetTypeID": (b"Q",), - "CTTypesetterGetTypeID": (b"Q",), - "CTRunGetTextMatrix": (b"{CGAffineTransform=dddddd}^{__CTRun=}",), - "CTFontGetLigatureCaretPositions": ( - b"q^{__CTFont=}S^dq", - "", - {"arguments": {2: {"c_array_length_in_arg": 3, "type_modifier": "o"}}}, - ), - "CTFontCollectionCreateMutableCopy": ( - b"^{__CTFontCollection=}^{__CTFontCollection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorCreateWithNameAndSize": ( - b"^{__CTFontDescriptor=}^{__CFString=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineGetStringRange": (b"{_CFRange=qq}^{__CTLine=}",), - "CTFontManagerCopyAvailablePostScriptNames": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunDelegateGetRefCon": (b"^v^{__CTRunDelegate=}",), - "CTLineCreateJustifiedLine": ( - b"^{__CTLine=}^{__CTLine=}dd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFrameGetLines": (b"^{__CFArray=}^{__CTFrame=}",), - "CTFontCollectionCreateCopyWithFontDescriptors": ( - b"^{__CTFontCollection=}^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunGetGlyphCount": (b"q^{__CTRun=}",), - "CTFontDescriptorCreateMatchingFontDescriptors": ( - b"^{__CFArray=}^{__CTFontDescriptor=}^{__CFSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCollectionSetQueryDescriptors": (b"v^{__CTFontCollection=}^{__CFArray=}",), - "CTFontDescriptorCopyLocalizedAttribute": ( - b"@^{__CTFontDescriptor=}^{__CFString=}^^{__CFString}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "CTFrameGetStringRange": (b"{_CFRange=qq}^{__CTFrame=}",), - "CTFrameGetLineOrigins": ( - b"v^{__CTFrame=}{_CFRange=qq}^{CGPoint=dd}", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CTFontCreateWithName": ( - b"^{__CTFont=}^{__CFString=}d^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "n"}}, - }, - ), - "CTFramesetterGetTypesetter": (b"^{__CTTypesetter=}^{__CTFramesetter=}",), - "CTGlyphInfoCreateWithGlyphName": ( - b"^{__CTGlyphInfo=}^{__CFString=}^{__CTFont=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorCreateCopyWithSymbolicTraits": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}II", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineGetBoundsWithOptions": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CTLine=}Q",), - "CTFontCopyGraphicsFont": ( - b"^{CGFont=}^{__CTFont=}^^{__CTFontDescriptor}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CTFontCollectionCreateMatchingFontDescriptorsForFamily": ( - b"^{__CFArray=}^{__CTFontCollection=}^{__CFString=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetXHeight": (b"d^{__CTFont=}",), - "CTRunGetPositions": ( - b"v^{__CTRun=}{_CFRange=qq}^{CGPoint=dd}", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CTFontDescriptorCreateCopyWithVariation": ( - b"^{__CTFontDescriptor=}^{__CTFontDescriptor=}^{__CFNumber=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorCreateWithAttributes": ( - b"^{__CTFontDescriptor=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontDescriptorGetTypeID": (b"Q",), - "CTFontCollectionCreateMatchingFontDescriptors": ( - b"^{__CFArray=}^{__CTFontCollection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTextTabGetTypeID": (b"Q",), - "CTFontManagerUnregisterFontsForURLs": ( - b"B^{__CFArray=}I^^{__CFArray=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CTFontCreateCopyWithSymbolicTraits": ( - b"^{__CTFont=}^{__CTFont=}d^{CGAffineTransform=dddddd}II", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCopyTraits": ( - b"^{__CFDictionary=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunDraw": (b"v^{__CTRun=}^{CGContext=}{_CFRange=qq}",), - "CTLineGetStringIndexForPosition": (b"q^{__CTLine=}{CGPoint=dd}",), - "CTFontDescriptorCopyAttributes": ( - b"^{__CFDictionary=}^{__CTFontDescriptor=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetLeading": (b"d^{__CTFont=}",), - "CTRunGetGlyphs": ( - b"v^{__CTRun=}{_CFRange=qq}^S", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}}, - ), - "CTFontCollectionCreateWithFontDescriptors": ( - b"^{__CTFontCollection=}^{__CFArray=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunDelegateCreate": ( - b"^{__CTRunDelegate=}^{_CTRunDelegateCallbacks=q^?^?^?^?}^v", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTypesetterCreateLineWithOffset": ( - b"^{__CTLine=}^{__CTTypesetter=}{_CFRange=qq}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetUnderlinePosition": (b"d^{__CTFont=}",), - "CTRunGetTypographicBounds": ( - b"d^{__CTRun=}{_CFRange=qq}^d^d^d", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CTTypesetterCreateWithAttributedString": ( - b"^{__CTTypesetter=}^{__CFAttributedString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTLineCreateWithAttributedString": ( - b"^{__CTLine=}^{__CFAttributedString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTTextTabGetAlignment": (b"C^{__CTTextTab=}",), - "CTFontCopyName": ( - b"^{__CFString=}^{__CTFont=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontGetSlantAngle": (b"d^{__CTFont=}",), - "CTFramesetterSuggestFrameSizeWithConstraints": ( - b"{CGSize=dd}^{__CTTypesetter=}{_CFRange=qq}@{CGSize=dd}^{_CFRange=qq}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CTFontCollectionCopyFontAttributes": ( - b"^{__CFArray=}^{__CTFontCollection=}^{__CFSet=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerRegisterFontsForURLs": ( - b"B^{__CFArray=}I^^{__CFArray=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CTRubyAnnotationGetOverhang": (b"C^{__CTRubyAnnotation=}",), - "CTFontCopyFeatures": ( - b"^{__CFArray=}^{__CTFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontCreateForString": ( - b"^{__CTFont=}^{__CTFont=}^{__CFString=}{_CFRange=qq}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTGlyphInfoGetGlyphName": (b"^{__CFString=}^{__CTGlyphInfo=}",), - "CTParagraphStyleGetTypeID": (b"Q",), - "CTFontCreateUIFontForLanguage": ( - b"^{__CTFont=}Id^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFontManagerCopyAvailableFontFamilyNames": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTFrameGetVisibleStringRange": (b"{_CFRange=qq}^{__CTFrame=}",), - "CTFontManagerRegisterFontsWithAssetNames": ( - b"v^{__CFArray=}^{__CFBundle=}IB@?", - "", - { - "arguments": { - 4: { - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^{__CFArray=}"}, 1: {"type": b"B"}}, - } - } - } - }, - ), - "CTFontCopyNameForGlyph": ( - b"^{__CFString=}^{__CTFont=}S", - "", - {"retval": {"already_cfretained": True}}, - ), - "CTRunGetPositionsPtr": ( - b"r^{CGPoint=dd}^{__CTRun=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), -} -aliases = { - "kCTFontItalicTrait": "kCTFontTraitItalic", - "kCTFontMessageFontType": "kCTFontUIFontMessage", - "kCTNaturalTextAlignment": "kCTTextAlignmentNatural", - "kCTFontDefaultOrientation": "kCTFontOrientationDefault", - "kCTFontVerticalTrait": "kCTFontTraitVertical", - "kFontChineseScript": "kFontTraditionalChineseScript", - "kCTFontToolbarFontType": "kCTFontUIFontToolbar", - "kCTFontClarendonSerifsClass": "kCTFontClassClarendonSerifs", - "kCTFontCondensedTrait": "kCTFontTraitCondensed", - "kCTIdentityMappingCharacterCollection": "kCTCharacterCollectionIdentityMapping", - "kFontEthiopicScript": "kFontGeezScript", - "kCTFontEmphasizedSystemFontType": "kCTFontUIFontEmphasizedSystem", - "kCTFontSlabSerifsClass": "kCTFontClassSlabSerifs", - "CT_AVAILABLE_BUT_DEPRECATED": "__OSX_AVAILABLE_BUT_DEPRECATED", - "CT_AVAILABLE_STARTING": "__OSX_AVAILABLE_STARTING", - "kCTFontVerticalOrientation": "kCTFontOrientationVertical", - "kCTFontEmphasizedSystemDetailFontType": "kCTFontUIFontEmphasizedSystemDetail", - "kCTFontWindowTitleFontType": "kCTFontUIFontWindowTitle", - "kCTFontOldStyleSerifsClass": "kCTFontClassOldStyleSerifs", - "kCTFontExpandedTrait": "kCTFontTraitExpanded", - "kCTAdobeGB1CharacterCollection": "kCTCharacterCollectionAdobeGB1", - "kCTFontUtilityWindowTitleFontType": "kCTFontUIFontUtilityWindowTitle", - "kCTFontColorGlyphsTrait": "kCTFontTraitColorGlyphs", - "kCTFontUserFontType": "kCTFontUIFontUser", - "kCTFontModernSerifsClass": "kCTFontClassModernSerifs", - "kCTFontMiniEmphasizedSystemFontType": "kCTFontUIFontMiniEmphasizedSystem", - "kCTFontApplicationFontType": "kCTFontUIFontApplication", - "CT_DEPRECATED_ENUMERATOR": "__CT_DEPRECATED_ENUMERATOR", - "kCTFontScriptsClass": "kCTFontClassScripts", - "kCTFontFreeformSerifsClass": "kCTFontClassFreeformSerifs", - "kCTFontMiniSystemFontType": "kCTFontUIFontMiniSystem", - "kCTFontSystemDetailFontType": "kCTFontUIFontSystemDetail", - "kCTFontManagerScopeUser": "kCTFontManagerScopePersistent", - "kCTFontMenuItemMarkFontType": "kCTFontUIFontMenuItemMark", - "kFontSindhiScript": "kFontExtendedArabicScript", - "kCTRunDelegateCurrentVersion": "kCTRunDelegateVersion1", - "kCTFontOrnamentalsClass": "kCTFontClassOrnamentals", - "kCTFontPaletteFontType": "kCTFontUIFontPalette", - "kCTFontControlContentFontType": "kCTFontUIFontControlContent", - "kCTFontMenuTitleFontType": "kCTFontUIFontMenuTitle", - "kFontRussian": "kFontCyrillicScript", - "kCTFontToolTipFontType": "kCTFontUIFontToolTip", - "kCTFontTransitionalSerifsClass": "kCTFontClassTransitionalSerifs", - "kCTFontLabelFontType": "kCTFontUIFontLabel", - "kCTLeftTextAlignment": "kCTTextAlignmentLeft", - "kCTAdobeKorea1CharacterCollection": "kCTCharacterCollectionAdobeKorea1", - "kCTFontNoFontType": "kCTFontUIFontNone", - "kCTFontUserFixedPitchFontType": "kCTFontUIFontUserFixedPitch", - "kCTCenterTextAlignment": "kCTTextAlignmentCenter", - "kCTAdobeJapan2CharacterCollection": "kCTCharacterCollectionAdobeJapan2", - "kCTFontSmallSystemFontType": "kCTFontUIFontSmallSystem", - "kCTFontMonoSpaceTrait": "kCTFontTraitMonoSpace", - "kFontLatvianLanguage": "kFontLettishLanguage", - "kCTFontSansSerifClass": "kCTFontClassSansSerif", - "kCTJustifiedTextAlignment": "kCTTextAlignmentJustified", - "kFontPersianLanguage": "kFontFarsiLanguage", - "kCTFontAlertHeaderFontType": "kCTFontUIFontAlertHeader", - "kCTFontBoldTrait": "kCTFontTraitBold", - "kFontLappishLanguage": "kFontSaamiskLanguage", - "kCTFontSmallEmphasizedSystemFontType": "kCTFontUIFontSmallEmphasizedSystem", - "kCTFontSymbolicClass": "kCTFontClassSymbolic", - "kCTFontMenuItemCmdKeyFontType": "kCTFontUIFontMenuItemCmdKey", - "kCTAdobeCNS1CharacterCollection": "kCTCharacterCollectionAdobeCNS1", - "kCTFontCompositeTrait": "kCTFontTraitComposite", - "kCTFontUnknownClass": "kCTFontClassUnknown", - "kCTFontUIOptimizedTrait": "kCTFontTraitUIOptimized", - "kCTFontClassMaskTrait": "kCTFontTraitClassMask", - "kCTFontMenuItemFontType": "kCTFontUIFontMenuItem", - "kCTAdobeJapan1CharacterCollection": "kCTCharacterCollectionAdobeJapan1", - "kCTFontPushButtonFontType": "kCTFontUIFontPushButton", - "kCTFontSystemFontType": "kCTFontUIFontSystem", - "kFontEastEuropeanRomanScript": "kFontSlavicScript", - "kCTFontSmallToolbarFontType": "kCTFontUIFontSmallToolbar", - "kCTFontHorizontalOrientation": "kCTFontOrientationHorizontal", - "kFontOromoLanguage": "kFontGallaLanguage", - "kCTRightTextAlignment": "kCTTextAlignmentRight", - "kFontAmharicScript": "kFontGeezScript", - "kCTFontViewsFontType": "kCTFontUIFontViews", -} -cftypes = [ - ( - "CTFontCollectionRef", - b"^{__CTFontCollection=}", - "CTFontCollectionGetTypeID", - "NSCTFontCollection", - ), - ( - "CTFontDescriptorRef", - b"^{__CTFontDescriptor=}", - "CTFontDescriptorGetTypeID", - "NSCTFontDescriptor", - ), - ("CTFontRef", b"^{__CTFont=}", "CTFontGetTypeID", "NSCTFont"), - ("CTFrameRef", b"^{__CTFrame=}", "CTFrameGetTypeID", None), - ("CTFramesetterRef", b"^{__CTFramesetter=}", "CTFramesetterGetTypeID", None), - ("CTGlyphInfoRef", b"^{__CTGlyphInfo=}", "CTGlyphInfoGetTypeID", "NSCTGlyphInfo"), - ("CTLineRef", b"^{__CTLine=}", "CTLineGetTypeID", None), - ( - "CTParagraphStyleRef", - b"^{__CTParagraphStyle=}", - "CTParagraphStyleGetTypeID", - None, - ), - ("CTRubyAnnotationRef", b"^{__CTRubyAnnotation=}", None, None), - ("CTRunDelegateRef", b"^{__CTRunDelegate=}", "CTRunDelegateGetTypeID", None), - ("CTRunRef", b"^{__CTRun=}", "CTRunGetTypeID", None), - ("CTTextTabRef", b"^{__CTTextTab=}", "CTTextTabGetTypeID", None), - ("CTTypesetterRef", b"^{__CTTypesetter=}", "CTTypesetterGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/CoreWLAN/__init__.py b/src/lib/CoreWLAN/__init__.py deleted file mode 100644 index 3468675..0000000 --- a/src/lib/CoreWLAN/__init__.py +++ /dev/null @@ -1,130 +0,0 @@ -""" -Python mapping for the CoreWLAN framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CoreWLAN import _CoreWLAN, _metadata - - -def _CW8021XProfile__eq__(self, other): - if not isinstance(other, type(self)): - return False - - return self.isEqualToProfile_(other) - - -def _CW8021XProfile__ne__(self, other): - if not isinstance(other, type(self)): - return True - - return not self.isEqualToProfile_(other) - - -objc.addConvenienceForClass( - "CW8021XProfile", - (("__eq__", _CW8021XProfile__eq__), ("__ne__", _CW8021XProfile__ne__)), -) - - -def _CWChannel__eq__(self, other): - if not isinstance(other, type(self)): - return False - - return self.isEqualToChannel_(other) - - -def _CWChannel__ne__(self, other): - if not isinstance(other, type(self)): - return True - - return not self.isEqualToChannel_(other) - - -objc.addConvenienceForClass( - "CWChannel", (("__eq__", _CWChannel__eq__), ("__ne__", _CWChannel__ne__)) -) - - -def _CWConfiguration__eq__(self, other): - if not isinstance(other, type(self)): - return False - - return self.isEqualToConfiguration_(other) - - -def _CWConfiguration__ne__(self, other): - if not isinstance(other, type(self)): - return True - - return not self.isEqualToConfiguration_(other) - - -objc.addConvenienceForClass( - "CWConfiguration", - (("__eq__", _CWConfiguration__eq__), ("__ne__", _CWConfiguration__ne__)), -) - - -def _CWNetwork__eq__(self, other): - if not isinstance(other, type(self)): - return False - - return self.isEqualToNetwork_(other) - - -def _CWNetwork__ne__(self, other): - if not isinstance(other, type(self)): - return True - - return not self.isEqualToNetwork_(other) - - -objc.addConvenienceForClass( - "CWNetwork", (("__eq__", _CWNetwork__eq__), ("__ne__", _CWNetwork__ne__)) -) - - -def _CWNetworkProfile__eq__(self, other): - if not isinstance(other, type(self)): - return False - - return self.isEqualToNetworkProfile_(other) - - -def _CWNetworkProfile__ne__(self, other): - if not isinstance(other, type(self)): - return True - - return not self.isEqualToNetworkProfile_(other) - - -objc.addConvenienceForClass( - "CWNetworkProfile", - (("__eq__", _CWNetworkProfile__eq__), ("__ne__", _CWNetworkProfile__ne__)), -) - - -sys.modules["CoreWLAN"] = mod = objc.ObjCLazyModule( - "CoreWLAN", - "com.apple.framework.CoreWLAN", - objc.pathForFramework("/System/Library/Frameworks/CoreWLAN.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CoreWLAN, Foundation), -) - - -del sys.modules["CoreWLAN._metadata"] -del sys.modules["CoreWLAN._CoreWLAN"] diff --git a/src/lib/CoreWLAN/_metadata.py b/src/lib/CoreWLAN/_metadata.py deleted file mode 100644 index d494563..0000000 --- a/src/lib/CoreWLAN/_metadata.py +++ /dev/null @@ -1,412 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:47:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$CWBSSIDDidChangeNotification$CWCountryCodeDidChangeNotification$CWErrorDomain$CWLinkDidChangeNotification$CWLinkQualityDidChangeNotification$CWLinkQualityNotificationRSSIKey$CWLinkQualityNotificationTransmitRateKey$CWModeDidChangeNotification$CWPowerDidChangeNotification$CWSSIDDidChangeNotification$CWScanCacheDidUpdateNotification$CWServiceDidChangeNotification$CoreWLANFrameworkVersionNumber@d$kCWAssocKey8021XProfile$kCWAssocKeyPassphrase$kCWBSSIDDidChangeNotification$kCWCountryCodeDidChangeNotification$kCWErrorDomain$kCWIBSSKeyChannel$kCWIBSSKeyPassphrase$kCWIBSSKeySSID$kCWLinkDidChangeNotification$kCWModeDidChangeNotification$kCWPowerDidChangeNotification$kCWSSIDDidChangeNotification$kCWScanKeyBSSID$kCWScanKeyDwellTime$kCWScanKeyMerge$kCWScanKeyRestTime$kCWScanKeySSID$kCWScanKeyScanType$""" -enums = """$CWEventTypeBSSIDDidChange@3$CWEventTypeCountryCodeDidChange@4$CWEventTypeLinkDidChange@5$CWEventTypeLinkQualityDidChange@6$CWEventTypeModeDidChange@7$CWEventTypeNone@0$CWEventTypePowerDidChange@1$CWEventTypeRangingReportEvent@10$CWEventTypeSSIDDidChange@2$CWEventTypeScanCacheUpdated@8$CWEventTypeUnknown@9223372036854775807$CWEventTypeVirtualInterfaceStateChanged@9$CoreWLANFrameworkVersionNumber2_0@200$kCWAPFullErr@-3913$kCWAssociationDeniedErr@-3909$kCWAuthAlgUnsupportedErr@-3910$kCWAuthenticationAlgorithmUnsupportedErr@-3910$kCWChallengeFailureErr@-3912$kCWChannelBand2GHz@1$kCWChannelBand5GHz@2$kCWChannelBandUnknown@0$kCWChannelWidth160MHz@4$kCWChannelWidth20MHz@1$kCWChannelWidth40MHz@2$kCWChannelWidth80MHz@3$kCWChannelWidthUnknown@0$kCWCipherKeyFlagsMulticast@4$kCWCipherKeyFlagsNone@0$kCWCipherKeyFlagsRx@16$kCWCipherKeyFlagsTx@8$kCWCipherKeyFlagsUnicast@2$kCWCipherSuiteRejectedErr@-3923$kCWDSSSOFDMUnsupportedErr@-3916$kCWEAPOLErr@1$kCWErr@-3931$kCWError@-3931$kCWFormatErr@-3904$kCWHTFeaturesNotSupported@-3926$kCWHTFeaturesNotSupportedErr@-3926$kCWIBSSModeSecurityNone@0$kCWIBSSModeSecurityWEP104@2$kCWIBSSModeSecurityWEP40@1$kCWIPCError@-3929$kCWIPCFailureErr@-3929$kCWInterfaceModeHostAP@3$kCWInterfaceModeIBSS@2$kCWInterfaceModeNone@0$kCWInterfaceModeStation@1$kCWInterfaceStateAssociating@3$kCWInterfaceStateAuthenticating@2$kCWInterfaceStateInactive@0$kCWInterfaceStateRunning@4$kCWInterfaceStateScanning@1$kCWInvalidAKMPErr@-3920$kCWInvalidAuthSeqNumErr@-3911$kCWInvalidAuthenticationSequenceNumberErr@-3911$kCWInvalidFormatErr@-3904$kCWInvalidGroupCipherErr@-3918$kCWInvalidInfoElementErr@-3917$kCWInvalidInformationElementErr@-3917$kCWInvalidPMKErr@-3924$kCWInvalidPairwiseCipherErr@-3919$kCWInvalidParameterErr@-3900$kCWInvalidRSNCapabilitiesErr@-3922$kCWKeychainDomainNone@0$kCWKeychainDomainSystem@2$kCWKeychainDomainUser@1$kCWNoErr@0$kCWNoMemErr@-3901$kCWNoMemoryErr@-3901$kCWNotSupportedErr@-3903$kCWOpModeHostAP@2$kCWOpModeIBSS@1$kCWOpModeMonitorMode@3$kCWOpModeStation@0$kCWOpNotPermitted@-3930$kCWOperationNotPermittedErr@-3930$kCWPCOTransitionTimeNotSupported@-3927$kCWPCOTransitionTimeNotSupportedErr@-3927$kCWPHYMode11A@0$kCWPHYMode11B@1$kCWPHYMode11G@2$kCWPHYMode11N@3$kCWPHYMode11a@1$kCWPHYMode11ac@5$kCWPHYMode11ax@6$kCWPHYMode11b@2$kCWPHYMode11g@3$kCWPHYMode11n@4$kCWPHYModeNone@0$kCWParamErr@-3900$kCWReassociationDeniedErr@-3908$kCWRefNotBoundErr@-3928$kCWReferenceNotBoundErr@-3928$kCWScanTypeActive@0$kCWScanTypeFast@2$kCWScanTypePassive@1$kCWSecurityDynamicWEP@6$kCWSecurityEnterprise@10$kCWSecurityModeDynamicWEP@4$kCWSecurityModeOpen@0$kCWSecurityModeWEP@1$kCWSecurityModeWPA2_Enterprise@6$kCWSecurityModeWPA2_PSK@3$kCWSecurityModeWPA_Enterprise@5$kCWSecurityModeWPA_PSK@2$kCWSecurityModeWPS@7$kCWSecurityNone@0$kCWSecurityPersonal@5$kCWSecurityUnknown@9223372036854775807$kCWSecurityWEP@1$kCWSecurityWPA2Enterprise@9$kCWSecurityWPA2Personal@4$kCWSecurityWPA3Enterprise@12$kCWSecurityWPA3Personal@11$kCWSecurityWPA3Transition@13$kCWSecurityWPAEnterprise@7$kCWSecurityWPAEnterpriseMixed@8$kCWSecurityWPAPersonal@2$kCWSecurityWPAPersonalMixed@3$kCWShortSlotUnsupportedErr@-3915$kCWSupplicantTimeoutErr@-3925$kCWTimeoutErr@-3905$kCWUknownErr@-3902$kCWUnknownErr@-3902$kCWUnspecifiedFailureErr@-3906$kCWUnsupportedCapabilitiesErr@-3907$kCWUnsupportedRSNVersionErr@-3921$kCWUnsupportedRateSetErr@-3914$""" -misc.update( - { - "CWKeychainDomain": NewType("CWKeychainDomain", int), - "CWSecurity": NewType("CWSecurity", int), - "CWIBSSModeSecurity": NewType("CWIBSSModeSecurity", int), - "CWEventType": NewType("CWEventType", int), - "CWCipherKeyFlags": NewType("CWCipherKeyFlags", int), - "CWChannelWidth": NewType("CWChannelWidth", int), - "CWPHYMode": NewType("CWPHYMode", int), - "CWInterfaceMode": NewType("CWInterfaceMode", int), - "CWChannelBand": NewType("CWChannelBand", int), - "CWErr": NewType("CWErr", int), - } -) -misc.update({}) -functions = { - "CWKeychainFindWiFiPassword": ( - b"iq@^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CWKeychainSetEAPIdentity": (b"i^{__CFData=}^{__SecIdentity=}",), - "CWKeychainSetEAPUsernameAndPassword": ( - b"i^{__CFData=}^{__CFString=}^{__CFString=}", - ), - "CWKeychainDeleteWiFiEAPUsernameAndPassword": (b"iq@",), - "CWKeychainDeletePassword": (b"i^{__CFData=}",), - "CWKeychainCopyEAPIdentityList": ( - b"i^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CWKeychainCopyWiFiEAPIdentity": ( - b"iq@^^{__SecIdentity=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CWKeychainSetWiFiEAPUsernameAndPassword": (b"iq@@@",), - "CWKeychainFindWiFiEAPUsernameAndPassword": ( - b"iq@^@^@", - "", - {"arguments": {2: {"type_modifier": "o"}, 3: {"type_modifier": "o"}}}, - ), - "CWKeychainCopyEAPUsernameAndPassword": ( - b"i^{__CFData=}^^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"already_cfretained": True, "type_modifier": "o"}, - 2: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CWKeychainSetPassword": (b"i^{__CFData=}^{__CFString=}",), - "CWKeychainCopyPassword": ( - b"i^{__CFData=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CWKeychainDeleteEAPUsernameAndPassword": (b"i^{__CFData=}",), - "CWKeychainCopyEAPIdentity": ( - b"i^{__CFData=}^^{__SecIdentity=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CWKeychainDeleteWiFiPassword": (b"iq@",), - "CWMergeNetworks": (b"@@",), - "CWKeychainSetWiFiPassword": (b"iq@@",), - "CWKeychainSetWiFiEAPIdentity": (b"iq@^{__SecIdentity=}",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CW8021XProfile", b"alwaysPromptForPassword", {"retval": {"type": b"Z"}}) - r(b"CW8021XProfile", b"isEqualToProfile:", {"retval": {"type": b"Z"}}) - r( - b"CW8021XProfile", - b"setAlwaysPromptForPassword:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CWChannel", b"isEqualToChannel:", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"alwaysRememberNetworks", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"disconnectOnLogout", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"isEqualToConfiguration:", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"rememberJoinedNetworks", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"requireAdminForIBSSCreation", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"requireAdminForNetworkChange", {"retval": {"type": b"Z"}}) - r(b"CWConfiguration", b"requireAdminForPowerChange", {"retval": {"type": b"Z"}}) - r( - b"CWConfiguration", - b"requireAdministratorForAssociation", - {"retval": {"type": b"Z"}}, - ) - r( - b"CWConfiguration", - b"requireAdministratorForIBSSMode", - {"retval": {"type": b"Z"}}, - ) - r(b"CWConfiguration", b"requireAdministratorForPower", {"retval": {"type": b"Z"}}) - r( - b"CWConfiguration", - b"setAlwaysRememberNetworks:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CWConfiguration", b"setDisconnectOnLogout:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CWConfiguration", - b"setRememberJoinedNetworks:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdminForIBSSCreation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdminForNetworkChange:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdminForPowerChange:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdministratorForAssociation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdministratorForIBSSMode:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CWConfiguration", - b"setRequireAdministratorForPower:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CWInterface", - b"associateToEnterpriseNetwork:identity:username:password:error:", - {"retval": {"type": b"Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"associateToNetwork:parameters:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"associateToNetwork:password:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"commitConfiguration:authorization:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"commitConfiguration:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CWInterface", b"deviceAttached", {"retval": {"type": b"Z"}}) - r( - b"CWInterface", - b"enableIBSSWithParameters:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CWInterface", b"isEqualToInterface:", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"power", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"powerOn", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"powerSave", {"retval": {"type": b"Z"}}) - r( - b"CWInterface", - b"scanForNetworksWithName:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"scanForNetworksWithName:includeHidden:error:", - {"arguments": {3: {"type": "Z"}, 4: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"scanForNetworksWithParameters:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"scanForNetworksWithSSID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"scanForNetworksWithSSID:includeHidden:error:", - {"arguments": {3: {"type": "Z"}, 4: {"type_modifier": b"o"}}}, - ) - r(b"CWInterface", b"serviceActive", {"retval": {"type": b"Z"}}) - r( - b"CWInterface", - b"setChannel:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"setPairwiseMasterKey:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"setPower:error:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"Z"}, 3: {"type_modifier": b"o"}}, - }, - ) - r( - b"CWInterface", - b"setWEPKey:flags:index:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"setWLANChannel:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWInterface", - b"startIBSSModeWithSSID:security:channel:password:error:", - {"retval": {"type": b"Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"CWInterface", b"supportsAES_CCM", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsHostAP", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsIBSS", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsMonitorMode", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsPMGT", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsShortGI20MHz", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsShortGI40MHz", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsTKIP", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsTSN", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsWEP", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsWME", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsWPA", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsWPA2", {"retval": {"type": b"Z"}}) - r(b"CWInterface", b"supportsWoW", {"retval": {"type": b"Z"}}) - r(b"CWMutableConfiguration", b"rememberJoinedNetworks", {"retval": {"type": b"Z"}}) - r( - b"CWMutableConfiguration", - b"requireAdministratorForAssociation", - {"retval": {"type": b"Z"}}, - ) - r( - b"CWMutableConfiguration", - b"requireAdministratorForIBSSMode", - {"retval": {"type": b"Z"}}, - ) - r( - b"CWMutableConfiguration", - b"requireAdministratorForPower", - {"retval": {"type": b"Z"}}, - ) - r( - b"CWMutableConfiguration", - b"setRememberJoinedNetworks:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWMutableConfiguration", - b"setRequireAdministratorForAssociation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWMutableConfiguration", - b"setRequireAdministratorForIBSSMode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"CWMutableConfiguration", - b"setRequireAdministratorForPower:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"CWNetwork", b"ibss", {"retval": {"type": b"Z"}}) - r(b"CWNetwork", b"isEqualToNetwork:", {"retval": {"type": b"Z"}}) - r(b"CWNetwork", b"isIBSS", {"retval": {"type": b"Z"}}) - r(b"CWNetwork", b"supportsPHYMode:", {"retval": {"type": b"Z"}}) - r(b"CWNetwork", b"supportsSecurity:", {"retval": {"type": b"Z"}}) - r(b"CWNetworkProfile", b"isEqualToNetworkProfile:", {"retval": {"type": b"Z"}}) - r( - b"CWWiFiClient", - b"startMonitoringEventWithType:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CWWiFiClient", - b"stopMonitoringAllEventsAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"CWWiFiClient", - b"stopMonitoringEventWithType:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"CWWirelessProfile", b"isEqualToProfile:", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"bssidDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"clientConnectionInterrupted", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"clientConnectionInvalidated", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"countryCodeDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"linkDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"linkQualityDidChangeForWiFiInterfaceWithName:rssi:transmitRate:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"modeDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"powerStateDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scanCacheUpdatedForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"ssidDidChangeForWiFiInterfaceWithName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/CryptoTokenKit/__init__.py b/src/lib/CryptoTokenKit/__init__.py deleted file mode 100644 index 3c0907e..0000000 --- a/src/lib/CryptoTokenKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the CryptoTokenKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from CryptoTokenKit import _metadata -from CryptoTokenKit import _CryptoTokenKit - -sys.modules["CryptoTokenKit"] = mod = objc.ObjCLazyModule( - "CryptoTokenKit", - "com.apple.CryptoTokenKit", - objc.pathForFramework("/System/Library/Frameworks/CryptoTokenKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_CryptoTokenKit, Foundation), -) - - -del sys.modules["CryptoTokenKit._metadata"] diff --git a/src/lib/CryptoTokenKit/_metadata.py b/src/lib/CryptoTokenKit/_metadata.py deleted file mode 100644 index 2c848cf..0000000 --- a/src/lib/CryptoTokenKit/_metadata.py +++ /dev/null @@ -1,450 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:47:18 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$TKErrorDomain$""" -enums = """$TKErrorAuthenticationFailed@-5$TKErrorCodeAuthenticationFailed@-5$TKErrorCodeAuthenticationNeeded@-9$TKErrorCodeBadParameter@-8$TKErrorCodeCanceledByUser@-4$TKErrorCodeCommunicationError@-2$TKErrorCodeCorruptedData@-3$TKErrorCodeNotImplemented@-1$TKErrorCodeObjectNotFound@-6$TKErrorCodeTokenNotFound@-7$TKErrorObjectNotFound@-6$TKErrorTokenNotFound@-7$TKSmartCardNoSlot@0$TKSmartCardPINCharsetAlphanumeric@1$TKSmartCardPINCharsetNumeric@0$TKSmartCardPINCharsetUpperAlphanumeric@2$TKSmartCardPINCompletionKey@2$TKSmartCardPINCompletionMaxLength@1$TKSmartCardPINCompletionTimeout@4$TKSmartCardPINConfirmationCurrent@2$TKSmartCardPINConfirmationNew@1$TKSmartCardPINConfirmationNone@0$TKSmartCardPINEncodingASCII@1$TKSmartCardPINEncodingBCD@2$TKSmartCardPINEncodingBinary@0$TKSmartCardPINJustificationLeft@0$TKSmartCardPINJustificationRight@1$TKSmartCardProtocolAny@65535$TKSmartCardProtocolNone@0$TKSmartCardProtocolT0@1$TKSmartCardProtocolT1@2$TKSmartCardProtocolT15@32768$TKSmartCardSlotEmpty@1$TKSmartCardSlotMuteCard@3$TKSmartCardSlotProbing@2$TKSmartCardSlotStateEmpty@1$TKSmartCardSlotStateMissing@0$TKSmartCardSlotStateMuteCard@3$TKSmartCardSlotStateProbing@2$TKSmartCardSlotStateValidCard@4$TKSmartCardSlotValidCard@4$TKTokenOperationDecryptData@3$TKTokenOperationNone@0$TKTokenOperationPerformKeyExchange@4$TKTokenOperationReadData@1$TKTokenOperationSignData@2$""" -misc.update( - { - "TKSmartCardPINCharset": NewType("TKSmartCardPINCharset", int), - "TKErrorCode": NewType("TKErrorCode", int), - "TKSmartCardPINConfirmation": NewType("TKSmartCardPINConfirmation", int), - "TKSmartCardSlotState": NewType("TKSmartCardSlotState", int), - "TKSmartCardPINCompletion": NewType("TKSmartCardPINCompletion", int), - "TKTokenOperation": NewType("TKTokenOperation", int), - "TKSmartCardPINEncoding": NewType("TKSmartCardPINEncoding", int), - "TKSmartCardProtocol": NewType("TKSmartCardProtocol", int), - "TKSmartCardPINJustification": NewType("TKSmartCardPINJustification", int), - } -) -misc.update({}) -aliases = { - "TKSmartCardNoSlot": "TKSmartCardSlotStateMissing", - "TKSmartCardSlotMuteCard": "TKSmartCardSlotStateMuteCard", - "TKSmartCardSlotProbing": "TKSmartCardSlotStateProbing", - "TKErrorTokenNotFound": "TKErrorCodeTokenNotFound", - "TKSmartCardSlotValidCard": "TKSmartCardSlotStateValidCard", - "TKErrorObjectNotFound": "TKErrorCodeObjectNotFound", - "TKSmartCardSlotEmpty": "TKSmartCardSlotStateEmpty", - "TKErrorAuthenticationFailed": "TKErrorCodeAuthenticationFailed", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"characterEnteredInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"correctionKeyPressedInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"invalidCharacterEnteredInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newPINConfirmationRequestedInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newPINRequestedInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"oldPINRequestedInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"token:createSessionWithError:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "o^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"token:terminateSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenDriver:createTokenForSmartCard:AID:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenDriver:terminateToken:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"tokenDriver:tokenForConfiguration:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenSession:beginAuthForOperation:constraint:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"@"}, - 5: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenSession:decryptData:usingKey:algorithm:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenSession:performKeyExchangeWithPublicKey:usingKey:algorithm:parameters:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenSession:signData:usingKey:algorithm:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": "o^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"tokenSession:supportsOperation:usingKey:algorithm:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"validationKeyPressedInUserInteraction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"TKSmartCard", - b"beginSessionWithReply:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"TKSmartCard", - b"inSessionWithError:executeBlock:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"o^@"}}, - } - }, - }, - }, - ) - r( - b"TKSmartCard", - b"sendIns:p1:p2:data:le:reply:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"S"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"TKSmartCard", - b"sendIns:p1:p2:data:le:sw:error:", - {"arguments": {7: {"type_modifier": b"o"}, 8: {"type_modifier": b"o"}}}, - ) - r(b"TKSmartCard", b"sensitive", {"retval": {"type": b"Z"}}) - r(b"TKSmartCard", b"setSensitive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"TKSmartCard", b"setUseCommandChaining:", {"arguments": {2: {"type": b"Z"}}}) - r(b"TKSmartCard", b"setUseExtendedLength:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"TKSmartCard", - b"transmitRequest:reply:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"TKSmartCard", b"useCommandChaining", {"retval": {"type": b"Z"}}) - r(b"TKSmartCard", b"useExtendedLength", {"retval": {"type": b"Z"}}) - r(b"TKSmartCard", b"valid", {"retval": {"type": b"Z"}}) - r( - b"TKSmartCardATR", - b"initWithSource:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"TKSmartCardSlotManager", - b"getSlotWithName:reply:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"TKSmartCardUserInteraction", b"cancel", {"retval": {"type": "Z"}}) - r( - b"TKSmartCardUserInteraction", - b"runWithReply:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"TKSmartCardUserInteractionForConfirmation", - b"result", - {"retval": {"type": "Z"}}, - ) - r( - b"TKSmartCardUserInteractionForConfirmation", - b"setResult:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"TKTokenAuthOperation", - b"finishWithError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"TKTokenConfiguration", - b"certificateForObjectID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"TKTokenConfiguration", - b"keyForObjectID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"TKTokenKeyAlgorithm", b"isAlgorithm:", {"retval": {"type": "Z"}}) - r(b"TKTokenKeyAlgorithm", b"supportsAlgorithm:", {"retval": {"type": "Z"}}) - r( - b"TKTokenKeychainContents", - b"certificateForObjectID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"TKTokenKeychainContents", - b"keyForObjectID:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"TKTokenKeychainKey", b"canDecrypt", {"retval": {"type": "Z"}}) - r(b"TKTokenKeychainKey", b"canPerformKeyExchange", {"retval": {"type": "Z"}}) - r(b"TKTokenKeychainKey", b"canSign", {"retval": {"type": "Z"}}) - r(b"TKTokenKeychainKey", b"isSuitableForLogin", {"retval": {"type": "Z"}}) - r(b"TKTokenKeychainKey", b"setCanDecrypt:", {"arguments": {2: {"type": "Z"}}}) - r( - b"TKTokenKeychainKey", - b"setCanPerformKeyExchange:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"TKTokenKeychainKey", b"setCanSign:", {"arguments": {2: {"type": "Z"}}}) - r(b"TKTokenKeychainKey", b"setSuitableForLogin:", {"arguments": {2: {"type": "Z"}}}) - r( - b"TKTokenWatcher", - b"addRemovalHandler:forTokenID:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"TKTokenWatcher", - b"initWithInsertionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"TKTokenWatcher", - b"setInsertionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/DVDPlayback/__init__.py b/src/lib/DVDPlayback/__init__.py deleted file mode 100644 index ca4a80b..0000000 --- a/src/lib/DVDPlayback/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the DVDPlayback framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from DVDPlayback import _metadata - -sys.modules["DVDPlayback"] = mod = objc.ObjCLazyModule( - "DVDPlayback", - "com.apple.dvdplayback", - objc.pathForFramework("/System/Library/Frameworks/DVDPlayback.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["DVDPlayback._metadata"] diff --git a/src/lib/DVDPlayback/_metadata.py b/src/lib/DVDPlayback/_metadata.py deleted file mode 100644 index af6e6b4..0000000 --- a/src/lib/DVDPlayback/_metadata.py +++ /dev/null @@ -1,378 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:48:18 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$kDVDAMGMDomain@5$kDVDAspectRatio16x9@3$kDVDAspectRatio4x3@1$kDVDAspectRatio4x3PanAndScan@2$kDVDAspectRatioLetterBox@4$kDVDAspectRatioUninitialized@0$kDVDAudioAC3Format@1$kDVDAudioDDPlusFormat@8$kDVDAudioDTSFormat@5$kDVDAudioDTSHDFormat@9$kDVDAudioExtensionCodeDirectorsComment1@3$kDVDAudioExtensionCodeDirectorsComment2@4$kDVDAudioExtensionCodeNVisualImpaired@2$kDVDAudioExtensionCodeNormalCaptions@1$kDVDAudioExtensionCodeNotSpecified@0$kDVDAudioMLPFormat@7$kDVDAudioMPEG1Format@2$kDVDAudioMPEG2Format@3$kDVDAudioModeProLogic@1$kDVDAudioModeSPDIF@2$kDVDAudioModeUninitialized@0$kDVDAudioPCMFormat@4$kDVDAudioSDDSFormat@6$kDVDAudioUnknownFormat@0$kDVDButtonIndexNone@-1$kDVDErrorAlreadyPlaying@-70006$kDVDErrorAuthentification@-70025$kDVDErrorDisplayAuthentification@-70034$kDVDErrorDontNeedWakeup@-70009$kDVDErrorGraphicsDevice@-70018$kDVDErrorInitializingLib@-70002$kDVDErrorInvalidBookmarkForMedia@-70032$kDVDErrorInvalidBookmarkSize@-70031$kDVDErrorInvalidBookmarkVersion@-70030$kDVDErrorInvalidRegionCode@-70020$kDVDErrorIsAlreadySleeping@-70008$kDVDErrorMismatchedRegionCode@-70022$kDVDErrorMissingDrive@-70012$kDVDErrorMissingGraphicsDevice@-70017$kDVDErrorNavigation@-70029$kDVDErrorNoAudioOutputDevice@-70027$kDVDErrorNoFatalErrCallBack@-70007$kDVDErrorNoMoreRegionSets@-70023$kDVDErrorNoValidBookmarkForLastPlay@-70033$kDVDErrorNoValidMedia@-70015$kDVDErrorNotAllowedDuringPlayback@-70004$kDVDErrorNotSupportedConfiguration@-70013$kDVDErrorNotSupportedFunction@-70014$kDVDErrorOutOfVideoMemory@-70026$kDVDErrorPlaybackOpen@-70019$kDVDErrorRgnMgrInstall@-70021$kDVDErrorSystem@-70028$kDVDErrorTimeOutOfRange@-70010$kDVDErrorUnassignedGrafPort@-70005$kDVDErrorUninitializedLib@-70003$kDVDErrorUnknown@-70001$kDVDErrorUserActionNoOp@-70011$kDVDErrorWrongParam@-70016$kDVDErrordRegionCodeUninitialized@-70024$kDVDEventAngle@4$kDVDEventAngleNumbers@23$kDVDEventAudioStream@5$kDVDEventAudioStreamNumbers@22$kDVDEventBitrate@9$kDVDEventCCInfo@25$kDVDEventChapterTime@26$kDVDEventDisplayMode@7$kDVDEventDomain@8$kDVDEventError@24$kDVDEventGPRM@18$kDVDEventMenuCalled@15$kDVDEventPGC@17$kDVDEventPTT@2$kDVDEventParental@16$kDVDEventPlayback@11$kDVDEventRegionMismatch@19$kDVDEventScanSpeed@14$kDVDEventStill@10$kDVDEventStreams@13$kDVDEventSubpictureStream@6$kDVDEventSubpictureStreamNumbers@21$kDVDEventTitle@1$kDVDEventTitleTime@20$kDVDEventValidUOP@3$kDVDEventVideoStandard@12$kDVDFPDomain@0$kDVDFormatNTSC@1$kDVDFormatNTSC_HDTV@3$kDVDFormatPAL@2$kDVDFormatPAL_HDTV@4$kDVDFormatUninitialized@0$kDVDLanguageCodeAbkhazian@1633820704$kDVDLanguageCodeAfar@1633755168$kDVDLanguageCodeAfrikaans@1634082848$kDVDLanguageCodeAlbanian@1936793632$kDVDLanguageCodeAmharic@1634541600$kDVDLanguageCodeArabic@1634869280$kDVDLanguageCodeArmenian@1752768544$kDVDLanguageCodeAssamese@1634934816$kDVDLanguageCodeAymara@1635328032$kDVDLanguageCodeAzerbaijani@1635393568$kDVDLanguageCodeBashkir@1650532384$kDVDLanguageCodeBasque@1702174752$kDVDLanguageCodeBengali@1651384352$kDVDLanguageCodeBhutani@1685725216$kDVDLanguageCodeBihari@1650991136$kDVDLanguageCodeBislama@1651056672$kDVDLanguageCodeBreton@1651646496$kDVDLanguageCodeBulgarian@1650925600$kDVDLanguageCodeBurmese@1836654624$kDVDLanguageCodeByelorussian@1650794528$kDVDLanguageCodeCambodian@1802313760$kDVDLanguageCodeCatalan@1667309600$kDVDLanguageCodeChinese@2053644320$kDVDLanguageCodeCorsican@1668227104$kDVDLanguageCodeCroatian@1752309792$kDVDLanguageCodeCzech@1668489248$kDVDLanguageCodeDanish@1684086816$kDVDLanguageCodeDutch@1852579872$kDVDLanguageCodeEnglish@1701716000$kDVDLanguageCodeEsperanto@1701781536$kDVDLanguageCodeEstonian@1702109216$kDVDLanguageCodeFaeroese@1718558752$kDVDLanguageCodeFiji@1718231072$kDVDLanguageCodeFinnish@1718165536$kDVDLanguageCodeFrench@1718755360$kDVDLanguageCodeFrisian@1719214112$kDVDLanguageCodeGalician@1735139360$kDVDLanguageCodeGeorgian@1801527328$kDVDLanguageCodeGerman@1684348960$kDVDLanguageCodeGreek@1701584928$kDVDLanguageCodeGreenlandic@1802248224$kDVDLanguageCodeGuarani@1735270432$kDVDLanguageCodeGujarati@1735729184$kDVDLanguageCodeHausa@1751195680$kDVDLanguageCodeHebrew@1769414688$kDVDLanguageCodeHindi@1751719968$kDVDLanguageCodeHungarian@1752506400$kDVDLanguageCodeIcelandic@1769152544$kDVDLanguageCodeIndonesian@1768824864$kDVDLanguageCodeInterlingua@1767972896$kDVDLanguageCodeInterlingue@1768235040$kDVDLanguageCodeInupiak@1768628256$kDVDLanguageCodeIrish@1734418464$kDVDLanguageCodeItalian@1769218080$kDVDLanguageCodeJapanese@1784750112$kDVDLanguageCodeJavanese@1786191904$kDVDLanguageCodeKannada@1802379296$kDVDLanguageCodeKashmiri@1802706976$kDVDLanguageCodeKazakh@1802182688$kDVDLanguageCodeKinyarwanda@1920409632$kDVDLanguageCodeKirghiz@1803100192$kDVDLanguageCodeKirundi@1919819808$kDVDLanguageCodeKorean@1802444832$kDVDLanguageCodeKurdish@1802838048$kDVDLanguageCodeLaothian@1819222048$kDVDLanguageCodeLatin@1818304544$kDVDLanguageCodeLatvian@1819680800$kDVDLanguageCodeLingala@1819156512$kDVDLanguageCodeLithuanian@1819549728$kDVDLanguageCodeMacedonian@1835737120$kDVDLanguageCodeMalagasy@1835474976$kDVDLanguageCodeMalay@1836261408$kDVDLanguageCodeMalayalam@1835802656$kDVDLanguageCodeMaltese@1836326944$kDVDLanguageCodeMaori@1835606048$kDVDLanguageCodeMarathi@1836195872$kDVDLanguageCodeMoldavian@1835999264$kDVDLanguageCodeMongolian@1835933728$kDVDLanguageCodeNauru@1851858976$kDVDLanguageCodeNepali@1852121120$kDVDLanguageCodeNone@808460320$kDVDLanguageCodeNorwegian@1852776480$kDVDLanguageCodeOccitan@1868767264$kDVDLanguageCodeOriya@1869750304$kDVDLanguageCodeOromo@1869422624$kDVDLanguageCodePashto@1886593056$kDVDLanguageCodePersian@1717641248$kDVDLanguageCodePolish@1886134304$kDVDLanguageCodePortugese@1886658592$kDVDLanguageCodePunjabi@1885413408$kDVDLanguageCodeQuechua@1903501344$kDVDLanguageCodeRhaetoRomance@1919754272$kDVDLanguageCodeRomanian@1919885344$kDVDLanguageCodeRussian@1920278560$kDVDLanguageCodeSamoan@1936531488$kDVDLanguageCodeSangro@1936138272$kDVDLanguageCodeSanskrit@1935745056$kDVDLanguageCodeScotsGaelic@1734615072$kDVDLanguageCodeSerbian@1936859168$kDVDLanguageCodeSerboCroatian@1936203808$kDVDLanguageCodeSesotho@1936990240$kDVDLanguageCodeSetswana@1953374240$kDVDLanguageCodeShona@1936597024$kDVDLanguageCodeSindhi@1935941664$kDVDLanguageCodeSinghalese@1936269344$kDVDLanguageCodeSiswati@1936924704$kDVDLanguageCodeSlovak@1936400416$kDVDLanguageCodeSlovenian@1936465952$kDVDLanguageCodeSomali@1936662560$kDVDLanguageCodeSpanish@1702043680$kDVDLanguageCodeSudanese@1937055776$kDVDLanguageCodeSwahili@1937186848$kDVDLanguageCodeSwedish@1937121312$kDVDLanguageCodeTagalog@1953243168$kDVDLanguageCodeTajik@1952915488$kDVDLanguageCodeTamil@1952522272$kDVDLanguageCodeTatar@1953767456$kDVDLanguageCodeTelugu@1952784416$kDVDLanguageCodeThai@1952981024$kDVDLanguageCodeTibetan@1651449888$kDVDLanguageCodeTigrinya@1953046560$kDVDLanguageCodeTonga@1953439776$kDVDLanguageCodeTsonga@1953701920$kDVDLanguageCodeTurkish@1953636384$kDVDLanguageCodeTurkmen@1953177632$kDVDLanguageCodeTwi@1953964064$kDVDLanguageCodeUkranian@1969954848$kDVDLanguageCodeUninitialized@1061101600$kDVDLanguageCodeUrdu@1970413600$kDVDLanguageCodeUzbek@1970937888$kDVDLanguageCodeVietnamese@1986600992$kDVDLanguageCodeVolapuk@1986994208$kDVDLanguageCodeWelsh@1668882464$kDVDLanguageCodeWolof@2003771424$kDVDLanguageCodeXhosa@2020089888$kDVDLanguageCodeYiddish@1785274400$kDVDLanguageCodeYoruba@2037325856$kDVDLanguageCodeZulu@2054496288$kDVDLanguageNoPreference@707403808$kDVDMenuAngle@4$kDVDMenuAudio@3$kDVDMenuNone@6$kDVDMenuPTT@5$kDVDMenuRoot@1$kDVDMenuSubPicture@2$kDVDMenuTitle@0$kDVDRegionCode1@254$kDVDRegionCode2@253$kDVDRegionCode3@251$kDVDRegionCode4@247$kDVDRegionCode5@239$kDVDRegionCode6@223$kDVDRegionCode7@191$kDVDRegionCode8@127$kDVDRegionCodeUninitialized@255$kDVDSTOPDomain@4$kDVDScanDirectionBackward@1$kDVDScanDirectionForward@0$kDVDScanRate16x@16$kDVDScanRate1x@1$kDVDScanRate2x@2$kDVDScanRate32x@32$kDVDScanRate4x@4$kDVDScanRate8x@8$kDVDScanRateOneEigth@-8$kDVDScanRateOneFourth@-4$kDVDScanRateOneHalf@-2$kDVDStateIdle@6$kDVDStatePaused@3$kDVDStatePlaying@1$kDVDStatePlayingSlow@7$kDVDStatePlayingStill@2$kDVDStateScanning@5$kDVDStateStopped@4$kDVDStateUnknown@0$kDVDSubpictureExtensionCodeCaption4Children@3$kDVDSubpictureExtensionCodeCaptionBiggerSize@2$kDVDSubpictureExtensionCodeCaptionNormalSize@1$kDVDSubpictureExtensionCodeClosedCaption4Children@7$kDVDSubpictureExtensionCodeClosedCaptionBiggerSize@6$kDVDSubpictureExtensionCodeClosedCaptionNormalSize@5$kDVDSubpictureExtensionCodeForcedCaption@9$kDVDSubpictureExtensionCodeNotSpecified@0$kDVDSubpictureExtensionDirectorsComment4Children@15$kDVDSubpictureExtensionDirectorsCommentBiggerSize@14$kDVDSubpictureExtensionDirectorsCommentNormalSize@13$kDVDTTDomain@3$kDVDTTGRDomain@6$kDVDTimeCodeChapterDurationSeconds@6$kDVDTimeCodeChapterElapsedSeconds@4$kDVDTimeCodeChapterRemainingSeconds@5$kDVDTimeCodeElapsedSeconds@1$kDVDTimeCodeRemainingSeconds@2$kDVDTimeCodeTitleDurationSeconds@3$kDVDTimeCodeUninitialized@0$kDVDUOPAngleChange@4194304$kDVDUOPAudioStreamChange@1048576$kDVDUOPBackwardScan@512$kDVDUOPButton@131072$kDVDUOPForwardScan@256$kDVDUOPGoUp@16$kDVDUOPKaraokeModeChange@8388608$kDVDUOPMenuCallAngle@16384$kDVDUOPMenuCallAudio@8192$kDVDUOPMenuCallPTT@32768$kDVDUOPMenuCallRoot@2048$kDVDUOPMenuCallSubPicture@4096$kDVDUOPMenuCallTitle@1024$kDVDUOPNextPGSearch@128$kDVDUOPPTTPlaySearch@2$kDVDUOPPauseOff@67108864$kDVDUOPPauseOn@524288$kDVDUOPPrevTopPGSearch@64$kDVDUOPResume@65536$kDVDUOPScanOff@33554432$kDVDUOPStillOff@262144$kDVDUOPStop@8$kDVDUOPSubPictureStreamChange@2097152$kDVDUOPTimePTTSearch@32$kDVDUOPTimePlaySearch@1$kDVDUOPTitlePlay@4$kDVDUOPVideoModeChange@16777216$kDVDUserNavigationEnter@5$kDVDUserNavigationMoveDown@2$kDVDUserNavigationMoveLeft@3$kDVDUserNavigationMoveRight@4$kDVDUserNavigationMoveUp@1$kDVDVMGMDomain@1$kDVDVTSMDomain@2$""" -misc.update( - { - "DVDScanRate": NewType("DVDScanRate", int), - "DVDEventCode": NewType("DVDEventCode", int), - "DVDUserNavigation": NewType("DVDUserNavigation", int), - "DVDFormat": NewType("DVDFormat", int), - "DVDDomainCode": NewType("DVDDomainCode", int), - "DVDScanDirection": NewType("DVDScanDirection", int), - "DVDAspectRatio": NewType("DVDAspectRatio", int), - "DVDAudioFormat": NewType("DVDAudioFormat", int), - "DVDState": NewType("DVDState", int), - "DVDMenu": NewType("DVDMenu", int), - } -) -misc.update({}) -functions = { - "DVDIsDisplayingSubPicture": ( - b"i^Z", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDGoToMenu": (b"iI",), - "DVDSetDefaultSubPictureLanguageCode": (b"iII",), - "DVDDoUserNavigation": (b"iI",), - "DVDOpenMediaVolume": ( - b"i^{FSRef=[80C]}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "DVDDoButtonActivate": (b"ii",), - "DVDGetTimeEventRate": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetDiscRegionCode": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSetChapter": (b"iS",), - "DVDSetVideoDisplay": (b"iI",), - "DVDSetFatalErrorCallBack": ( - b"i^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"i"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DVDOpenMediaFileWithURL": (b"i^{__CFURL=}",), - "DVDGetNumAngles": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSleep": (b"i",), - "DVDStepFrame": (b"ic",), - "DVDIsOnMenu": ( - b"i^Z^I", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDOpenMediaFile": ( - b"i^{FSRef=[80C]}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "DVDHasPreviousChapter": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetTitle": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetAngle": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetAudioOutputModeCapabilities": ( - b"i^i", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDUpdateVideo": (b"i", "", {"variadic": False}), - "DVDIsSupportedDisplay": (b"iI^Z", "", {"arguments": {1: {"type_modifier": "o"}}}), - "DVDGetButtonPosition": ( - b"iI^{CGRect={CGPoint=dd}{CGSize=dd}}^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "DVDGetVideoWindowID": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDIsPlaying": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSetVideoWindowRef": (b"i^{OpaqueWindowPtr=}",), - "DVDGetAudioLanguageCodeByStream": ( - b"iS^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "DVDScan": (b"isc",), - "DVDGetVideoDisplay": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetDriveRegionCode": ( - b"i^I^s", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDSetTitle": (b"iS",), - "DVDIsMuted": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDHasMenu": (b"iI^Z", "", {"arguments": {1: {"type_modifier": "o"}}}), - "DVDSetTimeEventRate": (b"iI",), - "DVDGetNumTitles": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetAspectRatio": (b"i^s", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetAudioOutputMode": (b"i^i", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGotoBookmark": ( - b"i^vI", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "DVDGetNativeVideoSize": ( - b"i^S^S", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDDispose": (b"i", "", {"variadic": False}), - "DVDGetChapter": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetState": (b"i^i", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetVideoWindowRef": ( - b"i^^{OpaqueWindowPtr=}", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDOpenMediaVolumeWithURL": (b"i^{__CFURL=}",), - "DVDMute": (b"iZ",), - "DVDGetSPDIFDataOutDevice": ( - b"i^I", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDGetVideoCGBounds": ( - b"i^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDGetSPDIFDataOutDeviceCount": ( - b"i^I", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDGetLastPlayBookmark": ( - b"i^v^I", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 1: {"type_modifier": "N"}, - } - }, - ), - "DVDSwitchToDisplay": (b"iI^Z", "", {"arguments": {1: {"type_modifier": "o"}}}), - "DVDIsPaused": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDIsRegisteredEventCallBack": ( - b"Z^v", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDClearLastPlayBookmark": (b"i", "", {"variadic": False}), - "DVDSetAngle": (b"iS",), - "DVDGetSubPictureLanguageCodeByStream": ( - b"iS^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "DVDGetSPDIFDataOutDeviceCFName": ( - b"iI^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "DVDEnableWebAccess": (b"iZ",), - "DVDSetLastPlayBookmark": ( - b"i^vI", - "", - {"arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "DVDGetSubPictureLanguageCode": ( - b"i^I^I", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDSetSubPictureStream": (b"iS",), - "DVDPreviousChapter": (b"i", "", {"variadic": False}), - "DVDIdle": (b"i", "", {"variadic": False}), - "DVDDoMenuCGClick": ( - b"i^{CGPoint=dd}^i", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "DVDGetMediaUniqueID": (b"i[8C]",), - "DVDGetAudioStream": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGetAudioLanguageCode": ( - b"i^I^I", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDSetTime": (b"isIS",), - "DVDReturnToTitle": (b"i", "", {"variadic": False}), - "DVDGetFormatStandard": (b"i^s", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDInitialize": (b"i", "", {"variadic": False}), - "DVDUnregisterEventCallBack": (b"i^v",), - "DVDSetAspectRatio": (b"is",), - "DVDPlay": (b"i", "", {"variadic": False}), - "DVDResume": (b"i", "", {"variadic": False}), - "DVDHasMedia": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSetDefaultMenuLanguageCode": (b"iI",), - "DVDIsValidMediaRef": ( - b"i^{FSRef=[80C]}^Z", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "DVDDisplaySubPicture": (b"iZ",), - "DVDGetScanRate": ( - b"i^s^z", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "DVDRegisterEventCallBack": ( - b"i^?^II^v^^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"L"}, - 2: {"type": b"L"}, - 3: {"type": b"^v"}, - }, - } - }, - 1: {"type_modifier": "n"}, - } - }, - ), - "DVDSetAudioOutputMode": (b"ii",), - "DVDSetDriveRegionCode": (b"iI^{AuthorizationOpaqueRef=}",), - "DVDIsValidMediaURL": ( - b"i^{__CFURL=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "DVDGetAudioVolume": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSetDefaultAudioLanguageCode": (b"iII",), - "DVDSetAudioStream": (b"iS",), - "DVDGetGPRMValue": (b"iI^I", "", {"arguments": {1: {"type_modifier": "o"}}}), - "DVDGetNumAudioStreams": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDCloseMediaFile": (b"i", "", {"variadic": False}), - "DVDCloseMediaVolume": (b"i", "", {"variadic": False}), - "DVDWakeUp": (b"i",), - "DVDGetAudioStreamFormatByStream": ( - b"iI^s^I^I^I", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "DVDSetVideoCGBounds": ( - b"i^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "DVDPause": (b"i", "", {"variadic": False}), - "DVDGetAudioStreamFormat": ( - b"i^s^I^I^I", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "DVDGetBookmark": ( - b"i^v^I", - "", - { - "arguments": { - 0: {"c_array_length_in_arg": 1, "type_modifier": "o"}, - 1: {"type_modifier": "N"}, - } - }, - ), - "DVDGetNumSubPictureStreams": ( - b"i^S", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDGetButtoninfo": ( - b"i^I^I^I^I^I", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "DVDGetMenuLanguageCode": (b"i^I", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDSetSPDIFDataOutDevice": (b"iI",), - "DVDSetVideoWindowID": (b"iI",), - "DVDDoMenuCGMouseOver": ( - b"i^{CGPoint=dd}^i", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "o"}}}, - ), - "DVDNextChapter": (b"i", "", {"variadic": False}), - "DVDGetTime": ( - b"is^I^S", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "DVDGetAudioVolumeInfo": ( - b"i^S^S^S", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "DVDGetMediaVolumeCFName": ( - b"i^^{__CFString=}", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "DVDHasNextChapter": (b"i^Z", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDGoBackOneLevel": (b"i", "", {"variadic": False}), - "DVDGetSubPictureStream": (b"i^S", "", {"arguments": {0: {"type_modifier": "o"}}}), - "DVDStop": (b"i", "", {"variadic": False}), - "DVDSetAudioVolume": (b"iS",), - "DVDGetNumChapters": (b"iS^S", "", {"arguments": {1: {"type_modifier": "o"}}}), -} -aliases = {"DVD_NONNULL": "__nonnull", "DVD_NULLABLE": "__nullable"} -expressions = {} - -# END OF FILE diff --git a/src/lib/DataDetection/__init__.py b/src/lib/DataDetection/__init__.py deleted file mode 100644 index 98fd765..0000000 --- a/src/lib/DataDetection/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the DataDetection framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from . import _metadata - -sys.modules["DataDetection"] = mod = objc.ObjCLazyModule( - "DataDetection", - "com.apple.DataDetection", - objc.pathForFramework("/System/Library/Frameworks/DataDetection.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["DataDetection._metadata"] diff --git a/src/lib/DataDetection/_metadata.py b/src/lib/DataDetection/_metadata.py deleted file mode 100644 index 28afb6d..0000000 --- a/src/lib/DataDetection/_metadata.py +++ /dev/null @@ -1,46 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:48:28 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"DDDetectedValueCalendarEvent", b"isAllDay", {"retval": {"type": b"Z"}}) - r(b"DDMatchCalendarEvent", b"isAllDay", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/DeviceCheck/__init__.py b/src/lib/DeviceCheck/__init__.py deleted file mode 100644 index 78708bd..0000000 --- a/src/lib/DeviceCheck/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the DeviceCheck framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from DeviceCheck import _metadata - -sys.modules["DeviceCheck"] = mod = objc.ObjCLazyModule( - "DeviceCheck", - "com.apple.devicecheck", - objc.pathForFramework("/System/Library/Frameworks/DeviceCheck.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["DeviceCheck._metadata"] diff --git a/src/lib/DeviceCheck/_metadata.py b/src/lib/DeviceCheck/_metadata.py deleted file mode 100644 index 01ebfe6..0000000 --- a/src/lib/DeviceCheck/_metadata.py +++ /dev/null @@ -1,118 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:48:41 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$DCErrorDomain$""" -enums = """$DCErrorFeatureUnsupported@1$DCErrorInvalidInput@2$DCErrorInvalidKey@3$DCErrorServerUnavailable@4$DCErrorUnknownSystemFailure@0$""" -misc.update({"DCError": NewType("DCError", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"DCAppAttestService", - b"attestKey:clientDataHash:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"DCAppAttestService", - b"generateAssertion:clientDataHash:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"DCAppAttestService", - b"generateKeyWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"DCAppAttestService", b"isSupported", {"retval": {"type": "Z"}}) - r( - b"DCDevice", - b"generateTokenWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"DCDevice", b"isSupported", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/DictionaryServices/__init__.py b/src/lib/DictionaryServices/__init__.py deleted file mode 100644 index b4fdb89..0000000 --- a/src/lib/DictionaryServices/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the DictionaryServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys -import warnings - -import CoreServices -import objc - -warnings.warn( - "pyobjc-framework-DictionaryServices is deprecated, use 'import CoreServices' instead", - DeprecationWarning, -) - -sys.modules["DictionaryServices"] = mod = objc.ObjCLazyModule( - "DictionaryServices", - "com.apple.CoreServices", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - None, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreServices,), -) diff --git a/src/lib/DiscRecording/__init__.py b/src/lib/DiscRecording/__init__.py deleted file mode 100644 index 0240126..0000000 --- a/src/lib/DiscRecording/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -Python mapping for the DiscRecording framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys -from math import floor - -import Foundation -import objc -from DiscRecording import _DiscRecording, _metadata - -sys.modules["DiscRecording"] = mod = objc.ObjCLazyModule( - "DiscRecording", - "com.apple.DiscRecording", - objc.pathForFramework("/System/Library/Frameworks/DiscRecording.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_DiscRecording, Foundation), -) - - -del sys.modules["DiscRecording._metadata"] - - -def DRDeviceKPSForCDXFactor(xfactor): - return float(xfactor) * mod.kDRDeviceBurnSpeedCD1x - - -def DRDeviceKPSForDVDXFactor(xfactor): - return float(xfactor) * mod.kDRDeviceBurnSpeedDVD1x - - -def DRDeviceCDXFactorForKPS(kps): - return floor(kps / mod.kDRDeviceBurnSpeedCD1x + 0.5) - - -def DRDeviceDVDXFactorForKPS(kps): - return floor(kps / mod.kDRDeviceBurnSpeedDVD1x + 0.5) - - -mod.DRDeviceKPSForCDXFactor = DRDeviceKPSForCDXFactor -mod.DRDeviceKPSForDVDXFactor = DRDeviceKPSForDVDXFactor -mod.DRDeviceCDXFactorForKPS = DRDeviceCDXFactorForKPS -mod.DRDeviceDVDXFactorForKPS = DRDeviceDVDXFactorForKPS diff --git a/src/lib/DiscRecording/_metadata.py b/src/lib/DiscRecording/_metadata.py deleted file mode 100644 index cef4c99..0000000 --- a/src/lib/DiscRecording/_metadata.py +++ /dev/null @@ -1,575 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:48:57 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "DRFileForkSizeInfo": objc.createStructType( - "DiscRecording.DRFileForkSizeInfo", - b"{DRFileForkSizeInfo=IIQ}", - ["fork", "query", "size"], - ), - "DRFileProductionInfo": objc.createStructType( - "DiscRecording.DRFileProductionInfo", - b"{DRFileProductionInfo=Q^vIIII}", - ["requestedAddress", "buffer", "reqCount", "actCount", "blockSize", "fork"], - ), - "DRTrackProductionInfo": objc.createStructType( - "DiscRecording.DRTrackProductionInfo", - b"{DRTrackProductionInfo=^vIIIIQ}", - [ - "buffer", - "reqCount", - "actCount", - "flags", - "blockSize", - "requestedAddress", - ], - ), - } -) -constants = """$DRAbstractFile$DRAccessDate$DRAllFilesystems$DRApplicationIdentifier$DRAttributeModificationDate$DRAudioFourChannelKey$DRAudioPreEmphasisKey$DRBackupDate$DRBibliographicFile$DRBlockSize$DRBlockSizeKey$DRBlockTypeKey$DRBurnAppendableKey$DRBurnCompletionActionEject$DRBurnCompletionActionKey$DRBurnCompletionActionMount$DRBurnDoubleLayerL0DataZoneBlocksKey$DRBurnFailureActionEject$DRBurnFailureActionKey$DRBurnFailureActionNone$DRBurnOverwriteDiscKey$DRBurnRequestedSpeedKey$DRBurnStatusChangedNotification$DRBurnStrategyBDDAO$DRBurnStrategyCDSAO$DRBurnStrategyCDTAO$DRBurnStrategyDVDDAO$DRBurnStrategyIsRequiredKey$DRBurnStrategyKey$DRBurnTestingKey$DRBurnUnderrunProtectionKey$DRBurnVerifyDiscKey$DRCDTextArrangerKey$DRCDTextCharacterCodeKey$DRCDTextClosedKey$DRCDTextComposerKey$DRCDTextCopyrightAssertedForNamesKey$DRCDTextCopyrightAssertedForSpecialMessagesKey$DRCDTextCopyrightAssertedForTitlesKey$DRCDTextDiscIdentKey$DRCDTextGenreCodeKey$DRCDTextGenreKey$DRCDTextKey$DRCDTextLanguageKey$DRCDTextMCNISRCKey$DRCDTextNSStringEncodingKey$DRCDTextPerformerKey$DRCDTextSizeKey$DRCDTextSongwriterKey$DRCDTextSpecialMessageKey$DRCDTextTOC2Key$DRCDTextTOCKey$DRCDTextTitleKey$DRContentModificationDate$DRCopyrightFile$DRCreationDate$DRDVDCopyrightInfoKey$DRDVDTimestampKey$DRDataFormKey$DRDataPreparer$DRDefaultDate$DRDeviceAppearedNotification$DRDeviceBurnSpeedBD1x@f$DRDeviceBurnSpeedCD1x@f$DRDeviceBurnSpeedDVD1x@f$DRDeviceBurnSpeedHDDVD1x@f$DRDeviceBurnSpeedMax@f$DRDeviceBurnSpeedsKey$DRDeviceCanTestWriteCDKey$DRDeviceCanTestWriteDVDKey$DRDeviceCanUnderrunProtectCDKey$DRDeviceCanUnderrunProtectDVDKey$DRDeviceCanWriteBDKey$DRDeviceCanWriteBDREKey$DRDeviceCanWriteBDRKey$DRDeviceCanWriteCDKey$DRDeviceCanWriteCDRKey$DRDeviceCanWriteCDRWKey$DRDeviceCanWriteCDRawKey$DRDeviceCanWriteCDSAOKey$DRDeviceCanWriteCDTAOKey$DRDeviceCanWriteCDTextKey$DRDeviceCanWriteDVDDAOKey$DRDeviceCanWriteDVDKey$DRDeviceCanWriteDVDPlusRDoubleLayerKey$DRDeviceCanWriteDVDPlusRKey$DRDeviceCanWriteDVDPlusRWDoubleLayerKey$DRDeviceCanWriteDVDPlusRWKey$DRDeviceCanWriteDVDRAMKey$DRDeviceCanWriteDVDRDualLayerKey$DRDeviceCanWriteDVDRKey$DRDeviceCanWriteDVDRWDualLayerKey$DRDeviceCanWriteDVDRWKey$DRDeviceCanWriteHDDVDKey$DRDeviceCanWriteHDDVDRAMKey$DRDeviceCanWriteHDDVDRDualLayerKey$DRDeviceCanWriteHDDVDRKey$DRDeviceCanWriteHDDVDRWDualLayerKey$DRDeviceCanWriteHDDVDRWKey$DRDeviceCanWriteISRCKey$DRDeviceCanWriteIndexPointsKey$DRDeviceCanWriteKey$DRDeviceCurrentWriteSpeedKey$DRDeviceDisappearedNotification$DRDeviceFirmwareRevisionKey$DRDeviceIORegistryEntryPathKey$DRDeviceIsBusyKey$DRDeviceIsTrayOpenKey$DRDeviceLoadingMechanismCanEjectKey$DRDeviceLoadingMechanismCanInjectKey$DRDeviceLoadingMechanismCanOpenKey$DRDeviceMaximumWriteSpeedKey$DRDeviceMediaBSDNameKey$DRDeviceMediaBlocksFreeKey$DRDeviceMediaBlocksOverwritableKey$DRDeviceMediaBlocksUsedKey$DRDeviceMediaClassBD$DRDeviceMediaClassCD$DRDeviceMediaClassDVD$DRDeviceMediaClassHDDVD$DRDeviceMediaClassKey$DRDeviceMediaClassUnknown$DRDeviceMediaDoubleLayerL0DataZoneBlocksKey$DRDeviceMediaFreeSpaceKey$DRDeviceMediaInfoKey$DRDeviceMediaIsAppendableKey$DRDeviceMediaIsBlankKey$DRDeviceMediaIsErasableKey$DRDeviceMediaIsOverwritableKey$DRDeviceMediaIsReservedKey$DRDeviceMediaOverwritableSpaceKey$DRDeviceMediaSessionCountKey$DRDeviceMediaStateInTransition$DRDeviceMediaStateKey$DRDeviceMediaStateMediaPresent$DRDeviceMediaStateNone$DRDeviceMediaTrackCountKey$DRDeviceMediaTypeBDR$DRDeviceMediaTypeBDRE$DRDeviceMediaTypeBDROM$DRDeviceMediaTypeCDR$DRDeviceMediaTypeCDROM$DRDeviceMediaTypeCDRW$DRDeviceMediaTypeDVDPlusR$DRDeviceMediaTypeDVDPlusRDoubleLayer$DRDeviceMediaTypeDVDPlusRW$DRDeviceMediaTypeDVDPlusRWDoubleLayer$DRDeviceMediaTypeDVDR$DRDeviceMediaTypeDVDRAM$DRDeviceMediaTypeDVDRDualLayer$DRDeviceMediaTypeDVDROM$DRDeviceMediaTypeDVDRW$DRDeviceMediaTypeDVDRWDualLayer$DRDeviceMediaTypeHDDVDR$DRDeviceMediaTypeHDDVDRAM$DRDeviceMediaTypeHDDVDRDualLayer$DRDeviceMediaTypeHDDVDROM$DRDeviceMediaTypeHDDVDRW$DRDeviceMediaTypeHDDVDRWDualLayer$DRDeviceMediaTypeKey$DRDeviceMediaTypeUnknown$DRDeviceMediaUsedSpaceKey$DRDevicePhysicalInterconnectATAPI$DRDevicePhysicalInterconnectFibreChannel$DRDevicePhysicalInterconnectFireWire$DRDevicePhysicalInterconnectKey$DRDevicePhysicalInterconnectLocationExternal$DRDevicePhysicalInterconnectLocationInternal$DRDevicePhysicalInterconnectLocationKey$DRDevicePhysicalInterconnectLocationUnknown$DRDevicePhysicalInterconnectSCSI$DRDevicePhysicalInterconnectUSB$DRDeviceProductNameKey$DRDeviceStatusChangedNotification$DRDeviceSupportLevelAppleShipping$DRDeviceSupportLevelAppleSupported$DRDeviceSupportLevelKey$DRDeviceSupportLevelNone$DRDeviceSupportLevelUnsupported$DRDeviceSupportLevelVendorSupported$DRDeviceTrackInfoKey$DRDeviceTrackRefsKey$DRDeviceVendorNameKey$DRDeviceWriteBufferSizeKey$DRDeviceWriteCapabilitiesKey$DREffectiveDate$DREraseStatusChangedNotification$DREraseTypeComplete$DREraseTypeKey$DREraseTypeQuick$DRErrorStatusAdditionalSenseStringKey$DRErrorStatusErrorInfoStringKey$DRErrorStatusErrorKey$DRErrorStatusErrorStringKey$DRErrorStatusKey$DRErrorStatusSenseCodeStringKey$DRErrorStatusSenseKey$DRExpirationDate$DRFreeBlocksKey$DRHFSPlus$DRHFSPlusCatalogNodeID$DRHFSPlusTextEncodingHint$DRISO9660$DRISO9660LevelOne$DRISO9660LevelTwo$DRISO9660VersionNumber$DRISOLevel$DRISOMacExtensions$DRISORockRidgeExtensions$DRIndexPointsKey$DRInvisible$DRJoliet$DRLinkTypeFinderAlias$DRLinkTypeHardLink$DRLinkTypeSymbolicLink$DRMacExtendedFinderFlags$DRMacFileCreator$DRMacFileType$DRMacFinderFlags$DRMacFinderHideExtension$DRMacIconLocation$DRMacScrollPosition$DRMacWindowBounds$DRMacWindowView$DRMaxBurnSpeedKey$DRMediaCatalogNumberKey$DRNextWritableAddressKey$DRPosixFileMode$DRPosixGID$DRPosixUID$DRPreGapIsRequiredKey$DRPreGapLengthKey$DRPublisher$DRRecordingDate$DRSCMSCopyrightFree$DRSCMSCopyrightProtectedCopy$DRSCMSCopyrightProtectedOriginal$DRSerialCopyManagementStateKey$DRSessionFormatKey$DRSessionNumberKey$DRStatusCurrentSessionKey$DRStatusCurrentSpeedKey$DRStatusCurrentTrackKey$DRStatusEraseTypeKey$DRStatusPercentCompleteKey$DRStatusProgressCurrentKPS$DRStatusProgressCurrentXFactor$DRStatusProgressInfoKey$DRStatusStateDone$DRStatusStateErasing$DRStatusStateFailed$DRStatusStateFinishing$DRStatusStateKey$DRStatusStateNone$DRStatusStatePreparing$DRStatusStateSessionClose$DRStatusStateSessionOpen$DRStatusStateTrackClose$DRStatusStateTrackOpen$DRStatusStateTrackWrite$DRStatusStateVerifying$DRStatusTotalSessionsKey$DRStatusTotalTracksKey$DRSubchannelDataFormKey$DRSubchannelDataFormNone$DRSubchannelDataFormPack$DRSubchannelDataFormRaw$DRSuppressMacSpecificFiles$DRSynchronousBehaviorKey$DRSystemIdentifier$DRTrackISRCKey$DRTrackIsEmptyKey$DRTrackLengthKey$DRTrackModeKey$DRTrackNumberKey$DRTrackPacketSizeKey$DRTrackPacketTypeFixed$DRTrackPacketTypeKey$DRTrackPacketTypeVariable$DRTrackStartAddressKey$DRTrackTypeClosed$DRTrackTypeIncomplete$DRTrackTypeInvisible$DRTrackTypeKey$DRTrackTypeReserved$DRUDF$DRUDFApplicationIdentifierSuffix$DRUDFExtendedFilePermissions$DRUDFInterchangeLevel$DRUDFMaxInterchangeLevel$DRUDFMaxVolumeSequenceNumber$DRUDFPrimaryVolumeDescriptorNumber$DRUDFRealTimeFile$DRUDFVersion102$DRUDFVersion150$DRUDFVolumeSequenceNumber$DRUDFVolumeSetIdentifier$DRUDFVolumeSetImplementationUse$DRUDFVolumeSetTimestamp$DRUDFWriteVersion$DRVerificationTypeChecksum$DRVerificationTypeKey$DRVerificationTypeNone$DRVerificationTypeProduceAgain$DRVerificationTypeReceiveData$DRVolumeCheckedDate$DRVolumeCreationDate$DRVolumeEffectiveDate$DRVolumeExpirationDate$DRVolumeModificationDate$DRVolumeSet$kDRAbstractFile$kDRAccessDate$kDRAllFilesystems$kDRApplicationIdentifier$kDRAttributeModificationDate$kDRAudioFourChannelKey$kDRAudioPreEmphasisKey$kDRBackupDate$kDRBibliographicFile$kDRBlockSize$kDRBlockSizeKey$kDRBlockTypeKey$kDRBufferZone1DataKey$kDRBurnAppendableKey$kDRBurnCompletionActionEject$kDRBurnCompletionActionKey$kDRBurnCompletionActionMount$kDRBurnDoubleLayerL0DataZoneBlocksKey$kDRBurnFailureActionEject$kDRBurnFailureActionKey$kDRBurnFailureActionNone$kDRBurnKey$kDRBurnOverwriteDiscKey$kDRBurnRequestedSpeedKey$kDRBurnStatusChangedNotification$kDRBurnStrategyBDDAO$kDRBurnStrategyCDSAO$kDRBurnStrategyCDTAO$kDRBurnStrategyDVDDAO$kDRBurnStrategyIsRequiredKey$kDRBurnStrategyKey$kDRBurnTestingKey$kDRBurnUnderrunProtectionKey$kDRBurnVerifyDiscKey$kDRCDTextArrangerKey$kDRCDTextCFStringEncodingKey$kDRCDTextCharacterCodeKey$kDRCDTextClosedKey$kDRCDTextComposerKey$kDRCDTextCopyrightAssertedForNamesKey$kDRCDTextCopyrightAssertedForSpecialMessagesKey$kDRCDTextCopyrightAssertedForTitlesKey$kDRCDTextDiscIdentKey$kDRCDTextGenreCodeKey$kDRCDTextGenreKey$kDRCDTextKey$kDRCDTextLanguageKey$kDRCDTextMCNISRCKey$kDRCDTextPerformerKey$kDRCDTextSizeKey$kDRCDTextSongwriterKey$kDRCDTextSpecialMessageKey$kDRCDTextTOC2Key$kDRCDTextTOCKey$kDRCDTextTitleKey$kDRContentModificationDate$kDRCopyrightFile$kDRCreationDate$kDRDVDCopyrightInfoKey$kDRDVDTimestampKey$kDRDataFormKey$kDRDataPreparer$kDRDefaultDate$kDRDeviceAppearedNotification$kDRDeviceBurnSpeedBD1x@f$kDRDeviceBurnSpeedCD1x@f$kDRDeviceBurnSpeedDVD1x@f$kDRDeviceBurnSpeedHDDVD1x@f$kDRDeviceBurnSpeedMax@f$kDRDeviceBurnSpeedsKey$kDRDeviceCanTestWriteCDKey$kDRDeviceCanTestWriteDVDKey$kDRDeviceCanUnderrunProtectCDKey$kDRDeviceCanUnderrunProtectDVDKey$kDRDeviceCanWriteBDKey$kDRDeviceCanWriteBDREKey$kDRDeviceCanWriteBDRKey$kDRDeviceCanWriteCDKey$kDRDeviceCanWriteCDRKey$kDRDeviceCanWriteCDRWKey$kDRDeviceCanWriteCDRawKey$kDRDeviceCanWriteCDSAOKey$kDRDeviceCanWriteCDTAOKey$kDRDeviceCanWriteCDTextKey$kDRDeviceCanWriteDVDDAOKey$kDRDeviceCanWriteDVDKey$kDRDeviceCanWriteDVDPlusRDoubleLayerKey$kDRDeviceCanWriteDVDPlusRKey$kDRDeviceCanWriteDVDPlusRWDoubleLayerKey$kDRDeviceCanWriteDVDPlusRWKey$kDRDeviceCanWriteDVDRAMKey$kDRDeviceCanWriteDVDRDualLayerKey$kDRDeviceCanWriteDVDRKey$kDRDeviceCanWriteDVDRWDualLayerKey$kDRDeviceCanWriteDVDRWKey$kDRDeviceCanWriteHDDVDKey$kDRDeviceCanWriteHDDVDRAMKey$kDRDeviceCanWriteHDDVDRDualLayerKey$kDRDeviceCanWriteHDDVDRKey$kDRDeviceCanWriteHDDVDRWDualLayerKey$kDRDeviceCanWriteHDDVDRWKey$kDRDeviceCanWriteISRCKey$kDRDeviceCanWriteIndexPointsKey$kDRDeviceCanWriteKey$kDRDeviceCurrentWriteSpeedKey$kDRDeviceDisappearedNotification$kDRDeviceFirmwareRevisionKey$kDRDeviceIORegistryEntryPathKey$kDRDeviceIsBusyKey$kDRDeviceIsTrayOpenKey$kDRDeviceLoadingMechanismCanEjectKey$kDRDeviceLoadingMechanismCanInjectKey$kDRDeviceLoadingMechanismCanOpenKey$kDRDeviceMaximumWriteSpeedKey$kDRDeviceMediaBSDNameKey$kDRDeviceMediaBlocksFreeKey$kDRDeviceMediaBlocksOverwritableKey$kDRDeviceMediaBlocksUsedKey$kDRDeviceMediaClassBD$kDRDeviceMediaClassCD$kDRDeviceMediaClassDVD$kDRDeviceMediaClassHDDVD$kDRDeviceMediaClassKey$kDRDeviceMediaClassUnknown$kDRDeviceMediaDoubleLayerL0DataZoneBlocksKey$kDRDeviceMediaInfoKey$kDRDeviceMediaIsAppendableKey$kDRDeviceMediaIsBlankKey$kDRDeviceMediaIsErasableKey$kDRDeviceMediaIsOverwritableKey$kDRDeviceMediaIsReservedKey$kDRDeviceMediaSessionCountKey$kDRDeviceMediaStateInTransition$kDRDeviceMediaStateKey$kDRDeviceMediaStateMediaPresent$kDRDeviceMediaStateNone$kDRDeviceMediaTrackCountKey$kDRDeviceMediaTypeBDR$kDRDeviceMediaTypeBDRE$kDRDeviceMediaTypeBDROM$kDRDeviceMediaTypeCDR$kDRDeviceMediaTypeCDROM$kDRDeviceMediaTypeCDRW$kDRDeviceMediaTypeDVDPlusR$kDRDeviceMediaTypeDVDPlusRDoubleLayer$kDRDeviceMediaTypeDVDPlusRW$kDRDeviceMediaTypeDVDPlusRWDoubleLayer$kDRDeviceMediaTypeDVDR$kDRDeviceMediaTypeDVDRAM$kDRDeviceMediaTypeDVDRDualLayer$kDRDeviceMediaTypeDVDROM$kDRDeviceMediaTypeDVDRW$kDRDeviceMediaTypeDVDRWDualLayer$kDRDeviceMediaTypeHDDVDR$kDRDeviceMediaTypeHDDVDRAM$kDRDeviceMediaTypeHDDVDRDualLayer$kDRDeviceMediaTypeHDDVDROM$kDRDeviceMediaTypeHDDVDRW$kDRDeviceMediaTypeHDDVDRWDualLayer$kDRDeviceMediaTypeKey$kDRDeviceMediaTypeUnknown$kDRDevicePhysicalInterconnectATAPI$kDRDevicePhysicalInterconnectFibreChannel$kDRDevicePhysicalInterconnectFireWire$kDRDevicePhysicalInterconnectKey$kDRDevicePhysicalInterconnectLocationExternal$kDRDevicePhysicalInterconnectLocationInternal$kDRDevicePhysicalInterconnectLocationKey$kDRDevicePhysicalInterconnectLocationUnknown$kDRDevicePhysicalInterconnectSCSI$kDRDevicePhysicalInterconnectUSB$kDRDeviceProductNameKey$kDRDeviceStatusChangedNotification$kDRDeviceSupportLevelAppleShipping$kDRDeviceSupportLevelAppleSupported$kDRDeviceSupportLevelKey$kDRDeviceSupportLevelNone$kDRDeviceSupportLevelUnsupported$kDRDeviceSupportLevelVendorSupported$kDRDeviceTrackInfoKey$kDRDeviceTrackRefsKey$kDRDeviceVendorNameKey$kDRDeviceWriteBufferSizeKey$kDRDeviceWriteCapabilitiesKey$kDREffectiveDate$kDREraseStatusChangedNotification$kDREraseTypeComplete$kDREraseTypeKey$kDREraseTypeQuick$kDRErrorStatusAdditionalSenseStringKey$kDRErrorStatusErrorInfoStringKey$kDRErrorStatusErrorKey$kDRErrorStatusErrorStringKey$kDRErrorStatusKey$kDRErrorStatusSenseCodeStringKey$kDRErrorStatusSenseKey$kDRExpirationDate$kDRFreeBlocksKey$kDRHFSPlus$kDRHFSPlusCatalogNodeID$kDRHFSPlusTextEncodingHint$kDRISO9660$kDRISO9660LevelOne$kDRISO9660LevelTwo$kDRISO9660VersionNumber$kDRISOLevel$kDRISOMacExtensions$kDRISORockRidgeExtensions$kDRIndexPointsKey$kDRInvisible$kDRJoliet$kDRMacExtendedFinderFlags$kDRMacFileCreator$kDRMacFileType$kDRMacFinderFlags$kDRMacFinderHideExtension$kDRMacIconLocation$kDRMacScrollPosition$kDRMacWindowBounds$kDRMacWindowView$kDRMaxBurnSpeedKey$kDRMediaCatalogNumberKey$kDRNextWritableAddressKey$kDRPosixFileMode$kDRPosixGID$kDRPosixUID$kDRPreGapIsRequiredKey$kDRPreGapLengthKey$kDRPublisher$kDRRecordingDate$kDRSCMSCopyrightFree$kDRSCMSCopyrightProtectedCopy$kDRSCMSCopyrightProtectedOriginal$kDRSerialCopyManagementStateKey$kDRSessionFormatKey$kDRSessionNumberKey$kDRStatusCurrentSessionKey$kDRStatusCurrentSpeedKey$kDRStatusCurrentTrackKey$kDRStatusEraseTypeKey$kDRStatusPercentCompleteKey$kDRStatusProgressCurrentKPS$kDRStatusProgressCurrentXFactor$kDRStatusProgressInfoKey$kDRStatusStateDone$kDRStatusStateErasing$kDRStatusStateFailed$kDRStatusStateFinishing$kDRStatusStateKey$kDRStatusStateNone$kDRStatusStatePreparing$kDRStatusStateSessionClose$kDRStatusStateSessionOpen$kDRStatusStateTrackClose$kDRStatusStateTrackOpen$kDRStatusStateTrackWrite$kDRStatusStateVerifying$kDRStatusTotalSessionsKey$kDRStatusTotalTracksKey$kDRSubchannelDataFormKey$kDRSubchannelDataFormNone$kDRSubchannelDataFormPack$kDRSubchannelDataFormRaw$kDRSuppressMacSpecificFiles$kDRSynchronousBehaviorKey$kDRSystemIdentifier$kDRTrackISRCKey$kDRTrackIsEmptyKey$kDRTrackLengthKey$kDRTrackModeKey$kDRTrackNumberKey$kDRTrackPacketSizeKey$kDRTrackPacketTypeFixed$kDRTrackPacketTypeKey$kDRTrackPacketTypeVariable$kDRTrackStartAddressKey$kDRTrackTypeClosed$kDRTrackTypeIncomplete$kDRTrackTypeInvisible$kDRTrackTypeKey$kDRTrackTypeReserved$kDRUDF$kDRUDFApplicationIdentifierSuffix$kDRUDFExtendedFilePermissions$kDRUDFInterchangeLevel$kDRUDFMaxInterchangeLevel$kDRUDFMaxVolumeSequenceNumber$kDRUDFPrimaryVolumeDescriptorNumber$kDRUDFRealTimeFile$kDRUDFVersion102$kDRUDFVersion150$kDRUDFVolumeSequenceNumber$kDRUDFVolumeSetIdentifier$kDRUDFVolumeSetImplementationUse$kDRUDFVolumeSetTimestamp$kDRUDFWriteVersion$kDRVerificationTypeChecksum$kDRVerificationTypeKey$kDRVerificationTypeNone$kDRVerificationTypeProduceAgain$kDRVerificationTypeReceiveData$kDRVolumeCheckedDate$kDRVolumeCreationDate$kDRVolumeEffectiveDate$kDRVolumeExpirationDate$kDRVolumeModificationDate$kDRVolumeSet$""" -enums = """$DRCDTextEncodingASCII@1$DRCDTextEncodingISOLatin1Modified@5$DRCDTextGenreCodeAdultContemporary@2$DRCDTextGenreCodeAlternativeRock@3$DRCDTextGenreCodeChildrens@4$DRCDTextGenreCodeClassical@5$DRCDTextGenreCodeContemporaryChristian@6$DRCDTextGenreCodeCountry@7$DRCDTextGenreCodeDance@8$DRCDTextGenreCodeEasyListening@9$DRCDTextGenreCodeErotic@10$DRCDTextGenreCodeFolk@11$DRCDTextGenreCodeGospel@12$DRCDTextGenreCodeHipHop@13$DRCDTextGenreCodeJazz@14$DRCDTextGenreCodeLatin@15$DRCDTextGenreCodeMusical@16$DRCDTextGenreCodeNewAge@17$DRCDTextGenreCodeOpera@18$DRCDTextGenreCodeOperetta@19$DRCDTextGenreCodePop@20$DRCDTextGenreCodeRap@21$DRCDTextGenreCodeReggae@22$DRCDTextGenreCodeRhythmAndBlues@24$DRCDTextGenreCodeRock@23$DRCDTextGenreCodeSoundEffects@25$DRCDTextGenreCodeSoundtrack@26$DRCDTextGenreCodeSpokenWord@27$DRCDTextGenreCodeUnknown@1$DRCDTextGenreCodeWorldMusic@28$DRFileForkData@0$DRFileForkResource@1$DRFilesystemInclusionMaskHFSPlus@8$DRFilesystemInclusionMaskISO9660@1$DRFilesystemInclusionMaskJoliet@2$DRFilesystemInclusionMaskUDF@4$DRFlagSubchannelDataRequested@2$kDRAudioFileNotSupportedErr@2147614828$kDRBadLayoutErr@2147614821$kDRBlockSizeAudio@2352$kDRBlockSizeDVDData@2048$kDRBlockSizeMode1Data@2048$kDRBlockSizeMode2Data@2332$kDRBlockSizeMode2Form1Data@2048$kDRBlockSizeMode2Form2Data@2324$kDRBlockTypeAudio@0$kDRBlockTypeDVDData@8$kDRBlockTypeMode1Data@8$kDRBlockTypeMode2Data@13$kDRBlockTypeMode2Form1Data@10$kDRBlockTypeMode2Form2Data@12$kDRBurnMediaWriteFailureErr@2147614830$kDRBurnNotAllowedErr@2147614817$kDRBurnPowerCalibrationErr@2147614829$kDRBurnUnderrunErr@2147614816$kDRCDTextEncodingASCII@1536$kDRCDTextEncodingISOLatin1Modified@513$kDRCDTextGenreCodeAdultContemporary@2$kDRCDTextGenreCodeAlternativeRock@3$kDRCDTextGenreCodeChildrens@4$kDRCDTextGenreCodeClassical@5$kDRCDTextGenreCodeContemporaryChristian@6$kDRCDTextGenreCodeCountry@7$kDRCDTextGenreCodeDance@8$kDRCDTextGenreCodeEasyListening@9$kDRCDTextGenreCodeErotic@10$kDRCDTextGenreCodeFolk@11$kDRCDTextGenreCodeGospel@12$kDRCDTextGenreCodeHipHop@13$kDRCDTextGenreCodeJazz@14$kDRCDTextGenreCodeLatin@15$kDRCDTextGenreCodeMusical@16$kDRCDTextGenreCodeNewAge@17$kDRCDTextGenreCodeOpera@18$kDRCDTextGenreCodeOperetta@19$kDRCDTextGenreCodePop@20$kDRCDTextGenreCodeRap@21$kDRCDTextGenreCodeReggae@22$kDRCDTextGenreCodeRhythmAndBlues@24$kDRCDTextGenreCodeRock@23$kDRCDTextGenreCodeSoundEffects@25$kDRCDTextGenreCodeSoundtrack@26$kDRCDTextGenreCodeSpokenWord@27$kDRCDTextGenreCodeUnknown@1$kDRCDTextGenreCodeWorldMusic@28$kDRDataFormAudio@0$kDRDataFormDVDData@16$kDRDataFormMode1Data@16$kDRDataFormMode2Data@32$kDRDataFormMode2Form1Data@32$kDRDataFormMode2Form2Data@32$kDRDataProductionErr@2147614818$kDRDeviceAccessErr@2147614752$kDRDeviceBurnStrategyNotAvailableErr@2147615232$kDRDeviceBusyErr@2147614753$kDRDeviceCantWriteCDTextErr@2147615233$kDRDeviceCantWriteISRCErr@2147615235$kDRDeviceCantWriteIndexPointsErr@2147615234$kDRDeviceCantWriteSCMSErr@2147615236$kDRDeviceCommunicationErr@2147614754$kDRDeviceInvalidErr@2147614755$kDRDeviceNotReadyErr@2147614756$kDRDeviceNotSupportedErr@2147614757$kDRDevicePreGapLengthNotValidErr@2147615237$kDRDoubleLayerL0AlreadySpecifiedErr@2147614827$kDRDoubleLayerL0DataZoneBlocksParamErr@2147614826$kDRFileForkData@0$kDRFileForkResource@1$kDRFileForkSizeActual@0$kDRFileForkSizeEstimate@1$kDRFileLocationConflictErr@2147614977$kDRFileMessageForkSize@1718839674$kDRFileMessagePostBurn@1886352244$kDRFileMessagePreBurn@1886545184$kDRFileMessageProduceData@1886547812$kDRFileMessageRelease@1652122912$kDRFileMessageVerificationStarting@1987208825$kDRFileModifiedDuringBurnErr@2147614976$kDRFilesystemMaskDefault@4294967295$kDRFilesystemMaskHFSPlus@8$kDRFilesystemMaskISO9660@1$kDRFilesystemMaskJoliet@2$kDRFilesystemMaskUDF@4$kDRFilesystemsNotSupportedErr@2147614979$kDRFirstErr@2147614720$kDRFlagNoMoreData@1$kDRFlagSubchannelDataRequested@2$kDRFunctionNotSupportedErr@2147614823$kDRInternalErr@2147614720$kDRInvalidIndexPointsErr@2147614825$kDRLinkTypeFinderAlias@3$kDRLinkTypeHardLink@1$kDRLinkTypeSymbolicLink@2$kDRMediaBusyErr@2147614784$kDRMediaInvalidErr@2147614790$kDRMediaNotBlankErr@2147614788$kDRMediaNotErasableErr@2147614789$kDRMediaNotPresentErr@2147614785$kDRMediaNotSupportedErr@2147614787$kDRMediaNotWritableErr@2147614786$kDRSessionFormatAudio@0$kDRSessionFormatCDI@16$kDRSessionFormatCDXA@32$kDRSessionFormatDVDData@0$kDRSessionFormatMode1Data@0$kDRSpeedTestAlreadyRunningErr@2147614824$kDRTooManyNameConflictsErr@2147614978$kDRTooManyTracksForDVDErr@2147614820$kDRTrackMessageEstimateLength@1702065257$kDRTrackMessagePostBurn@1886352244$kDRTrackMessagePreBurn@1886545184$kDRTrackMessageProduceData@1886547812$kDRTrackMessageProducePreGap@1886548082$kDRTrackMessageVerificationDone@1986293614$kDRTrackMessageVerificationStarting@1987277938$kDRTrackMessageVerifyData@1987208825$kDRTrackMessageVerifyPreGap@1987211378$kDRTrackMode1Data@4$kDRTrackMode2Data@4$kDRTrackMode2Form1Data@4$kDRTrackMode2Form2Data@4$kDRTrackModeAudio@0$kDRTrackModeDVDData@5$kDRTrackReusedErr@2147614831$kDRUserCanceledErr@2147614822$kDRVerificationFailedErr@2147614819$""" -misc.update({}) -misc.update({}) -functions = { - "DREraseCreate": ( - b"^{__DRErase=}^{__DRDevice=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceCopyStatus": ( - b"^{__CFDictionary=}^{__DRDevice=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFilesystemTrackCreate": ( - b"^{__DRTrack=}^{__DRFolder=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRNotificationCenterCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__DRNotificationCenter=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockGetValue": (b"@^{__DRCDTextBlock=}q^{__CFString=}",), - "DRDeviceAcquireExclusiveAccess": (b"i^{__DRDevice=}",), - "DRNotificationCenterCreate": ( - b"^{__DRNotificationCenter=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRBurnGetDevice": (b"^{__DRDevice=}^{__DRBurn=}",), - "DREraseCopyStatus": ( - b"^{__CFDictionary=}^{__DRErase=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFilesystemTrackEstimateOverhead": (b"QQII",), - "DRFSObjectSetBaseName": (b"v@^{__CFString=}",), - "DRDeviceGetTypeID": (b"Q",), - "DRBurnGetProperties": (b"^{__CFDictionary=}^{__DRBurn=}",), - "DREraseGetDevice": (b"^{__DRDevice=}^{__DRErase=}",), - "DRCopyLocalizedStringForAdditionalSense": ( - b"^{__CFString=}CC", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectIsVirtual": (b"Z@",), - "DRNotificationCenterAddObserver": ( - b"v^{__DRNotificationCenter=}^v^?^{__CFString=}@", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DRNotificationCenter=}"}, - 1: {"type": b"^v"}, - 2: {"type": b"^{__CFString=}"}, - 3: {"type": b"@"}, - 4: {"type": b"^{__CFDictionary=}"}, - }, - } - } - } - }, - ), - "DRFolderCopyChildren": ( - b"^{__CFArray=}^{__DRFolder=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceIsValid": (b"Z^{__DRDevice=}",), - "DRCopyLocalizedStringForValue": ( - b"^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRNotificationCenterRemoveObserver": ( - b"v^{__DRNotificationCenter=}^v^{__CFString=}@", - ), - "DRBurnSetProperties": (b"v^{__DRBurn=}^{__CFDictionary=}",), - "DRBurnGetTypeID": (b"Q",), - "DRFSObjectSetSpecificName": (b"v@^{__CFString=}^{__CFString=}",), - "DRFolderCreateReal": ( - b"^{__DRFolder=}^{FSRef=[80C]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "DRTrackSpeedTest": (b"f^{__DRTrack=}II",), - "DRCDTextBlockCreateArrayFromPackList": ( - b"^{__CFArray=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockSetTrackDictionaries": (b"v^{__DRCDTextBlock=}^{__CFArray=}",), - "DRDeviceReleaseMediaReservation": (b"v^{__DRDevice=}",), - "DRCDTextBlockGetProperties": (b"^{__CFDictionary=}^{__DRCDTextBlock=}",), - "DRDeviceCloseTray": (b"i^{__DRDevice=}",), - "DRBurnCopyStatus": ( - b"^{__CFDictionary=}^{__DRBurn=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceKPSForXFactor": (b"f@f",), - "DRFSObjectGetFilesystemMask": ( - b"I@^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "DRFolderCreateVirtual": ( - b"^{__DRFolder=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DREraseGetTypeID": (b"Q",), - "DRDeviceOpenTray": (b"i^{__DRDevice=}",), - "DRFSObjectSetFilesystemProperties": (b"v@^{__CFString=}^{__CFDictionary=}",), - "DRFSObjectCopyBaseName": ( - b"^{__CFString=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFileCreateRealWithURL": ( - b"^{__DRFile=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceXFactorForKPS": (b"f@f",), - "DRFSObjectCopySpecificNames": ( - b"^{__CFDictionary=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFolderConvertRealToVirtual": (b"v^{__DRFolder=}",), - "DRCopyDeviceArray": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockGetTrackDictionaries": (b"^{__CFArray=}^{__DRCDTextBlock=}",), - "DRFSObjectSetFilesystemProperty": (b"v@^{__CFString=}^{__CFString=}@",), - "DRFileCreateVirtualWithData": ( - b"^{__DRFile=}^{__CFString=}^vI", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "DREraseGetProperties": (b"^{__CFDictionary=}^{__DRErase=}",), - "DRDeviceCopyDeviceForIORegistryEntryPath": ( - b"^{__DRDevice=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectCopyFilesystemProperty": ( - b"@@^{__CFString=}^{__CFString=}Z", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFileCreateReal": ( - b"^{__DRFile=}^{FSRef=[80C]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "DRCopyLocalizedStringForSenseCode": ( - b"^{__CFString=}C", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockFlatten": (b"I^{__DRCDTextBlock=}",), - "DRSetRefCon": (b"v@^v^{DRRefConCallbacks=Q^?^?}",), - "DRFSObjectCopyRealURL": ( - b"^{__CFURL=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFileCreateVirtualLink": ( - b"^{__DRFile=}@I^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectGetRealFSRef": ( - b"v@^{FSRef=[80C]}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "DRDeviceEjectMedia": (b"i^{__DRDevice=}",), - "DRAudioTrackCreateWithURL": ( - b"^{__DRTrack=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCopyLocalizedStringForDiscRecordingError": ( - b"^{__CFString=}i", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectCopyFilesystemProperties": ( - b"^{__CFDictionary=}@^{__CFString=}Z", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRTrackGetProperties": (b"^{__CFDictionary=}^{__DRTrack=}",), - "DRFolderAddChild": (b"v^{__DRFolder=}@",), - "DRNotificationCenterGetTypeID": (b"Q",), - "DRFolderCountChildren": (b"I^{__DRFolder=}",), - "DRFileCreateVirtualWithCallback": ( - b"^{__DRFile=}^{__CFString=}^?^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{__DRFile=}"}, - 2: {"type": b"I"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "DRBurnCreate": ( - b"^{__DRBurn=}^{__DRDevice=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceReleaseExclusiveAccess": (b"v^{__DRDevice=}",), - "DRGetRefCon": (b"^v@",), - "DRGetVersion": (b"{NumVersion=CCCC}",), - "DRFSObjectSetSpecificNames": (b"v@^{__CFDictionary=}",), - "DRDeviceAcquireMediaReservation": (b"v^{__DRDevice=}",), - "DRTrackSetProperties": (b"v^{__DRTrack=}^{__CFDictionary=}",), - "DRFSObjectCopySpecificName": ( - b"^{__CFString=}@^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockSetValue": (b"v^{__DRCDTextBlock=}q^{__CFString=}@",), - "DREraseSetProperties": (b"v^{__DRErase=}^{__CFDictionary=}",), - "DREraseStart": (b"i^{__DRErase=}",), - "DRFolderRemoveChild": (b"v^{__DRFolder=}@",), - "DRFolderGetTypeID": (b"Q",), - "DRBurnWriteLayout": (b"i^{__DRBurn=}@",), - "DRTrackEstimateLength": (b"Q^{__DRTrack=}",), - "DRBurnAbort": (b"v^{__DRBurn=}",), - "DRFSObjectGetParent": (b"^{__DRFolder=}@",), - "DRFSObjectSetFilesystemMask": (b"v@I",), - "DRFileGetTypeID": (b"Q",), - "DRCDTextBlockSetProperties": (b"v^{__DRCDTextBlock=}^{__CFDictionary=}",), - "DRDeviceCopyDeviceForBSDName": ( - b"^{__DRDevice=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectCopyMangledNames": ( - b"^{__CFDictionary=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockGetTypeID": (b"Q",), - "DRAudioTrackCreate": ( - b"^{__DRTrack=}^{FSRef=[80C]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "DRTrackCreate": ( - b"^{__DRTrack=}^{__CFDictionary=}^?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{__DRTrack=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "DRFolderCreateRealWithURL": ( - b"^{__DRFolder=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRCDTextBlockCreate": ( - b"^{__DRCDTextBlock=}^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRFSObjectCopyMangledName": ( - b"^{__CFString=}@^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRDeviceCopyInfo": ( - b"^{__CFDictionary=}^{__DRDevice=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DRTrackGetTypeID": (b"Q",), -} -aliases = { - "DRAudioTrackRef": "DRTrackRef", - "DRCDTextEncodingASCII": "NSASCIIStringEncoding", - "kDRCDTextEncodingASCII": "kCFStringEncodingASCII", - "DRCDTextEncodingISOLatin1Modified": "NSISOLatin1StringEncoding", - "kDRInternalErr": "kDRFirstErr", - "kDRCDTextEncodingISOLatin1Modified": "kCFStringEncodingISOLatin1", - "DRFilesystemTrackRef": "DRTrackRef", -} -cftypes = [ - ("DRBurnRef", b"^{__DRBurn=}", None, None), - ("DRCDTextBlockRef", b"^{__DRCDTextBlock=}", None, None), - ("DRDeviceRef", b"^{__DRDevice=}", None, None), - ("DREraseRef", b"^{__DRErase=}", None, None), - ("DRFileRef", b"^{__DRFile=}", None, None), - ("DRFolderRef", b"^{__DRFolder=}", None, None), - ("DRNotificationCenterRef", b"^{__DRNotificationCenter=}", None, None), - ("DRTrackRef", b"^{__DRTrack=}", None, None), -] -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"DRBurn", b"appendable", {"retval": {"type": b"Z"}}) - r(b"DRBurn", b"setAppendable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"DRBurn", b"setVerifyDisc:", {"arguments": {2: {"type": b"Z"}}}) - r(b"DRBurn", b"verifyDisc", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"acquireExclusiveAccess", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"closeTray", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"ejectMedia", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"isEqualToDevice:", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"isValid", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsAppendable", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsBlank", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsBusy", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsErasable", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsOverwritable", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsPresent", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsReserved", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"mediaIsTransitioning", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"openTray", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"trayIsOpen", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"writesCD", {"retval": {"type": b"Z"}}) - r(b"DRDevice", b"writesDVD", {"retval": {"type": b"Z"}}) - r(b"DRFSObject", b"isVirtual", {"retval": {"type": b"Z"}}) - r( - b"DRFSObject", - b"propertiesForFilesystem:mergeWithOtherFilesystems:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"DRFSObject", - b"propertyForKey:inFilesystem:mergeWithOtherFilesystems:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"DRMSF", b"isEqualToMSF:", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"calculateSizeOfFile:fork:estimating:", - { - "required": True, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"I"}, 4: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"cleanupFileAfterBurn:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cleanupTrackAfterBurn:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cleanupTrackAfterVerification:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"estimateLengthOfTrack:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"prepareFileForBurn:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"prepareFileForVerification:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"prepareTrack:forBurn:toMedia:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"prepareTrackForVerification:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:", - { - "required": True, - "retval": {"type": b"I"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 4}, - 4: {"type": b"I"}, - 5: {"type": b"Q"}, - 6: {"type": b"I"}, - 7: {"type": b"^I", "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"produceFile:fork:intoBuffer:length:atAddress:blockSize:", - { - "required": True, - "retval": {"type": b"I"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"I"}, - 4: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 5}, - 5: {"type": b"I"}, - 6: {"type": b"Q"}, - 7: {"type": b"I"}, - }, - }, - ) - r( - b"NSObject", - b"producePreGapForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:", - { - "required": True, - "retval": {"type": b"I"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 4}, - 4: {"type": b"I"}, - 5: {"type": b"Q"}, - 6: {"type": b"I"}, - 7: {"type": b"^I", "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"verifyDataForTrack:inBuffer:length:atAddress:blockSize:ioFlags:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": b"I"}, - 5: {"type": b"Q"}, - 6: {"type": b"I"}, - 7: {"type": b"^I", "type_modifier": b"N"}, - }, - }, - ) - r( - b"NSObject", - b"verifyPreGapForTrack:inBuffer:length:atAddress:blockSize:ioFlags:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": b"I"}, - 5: {"type": b"Q"}, - 6: {"type": b"I"}, - 7: {"type": b"^I", "type_modifier": b"N"}, - }, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/DiscRecordingUI/__init__.py b/src/lib/DiscRecordingUI/__init__.py deleted file mode 100644 index d10ce85..0000000 --- a/src/lib/DiscRecordingUI/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the DiscRecordingUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import DiscRecording -import Foundation -import objc -from DiscRecordingUI import _metadata - -sys.modules["DiscRecordingUI"] = mod = objc.ObjCLazyModule( - "DiscRecordingUI", - "com.apple.DiscRecordingUI", - objc.pathForFramework("/System/Library/Frameworks/DiscRecordingUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (DiscRecording, Foundation), -) - - -del sys.modules["DiscRecordingUI._metadata"] diff --git a/src/lib/DiscRecordingUI/_metadata.py b/src/lib/DiscRecordingUI/_metadata.py deleted file mode 100644 index 560a5b1..0000000 --- a/src/lib/DiscRecordingUI/_metadata.py +++ /dev/null @@ -1,252 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "DRBurnSessionProgressDialogOptions": objc.createStructType( - "DiscRecordingUI.DRBurnSessionProgressDialogOptions", - b"{DRBurnSessionProgressDialogOptions=II^{__CFString=}}", - ["version", "dialogOptionFlags", "description"], - ), - "DREraseSessionSetupDialogOptions": objc.createStructType( - "DiscRecordingUI.DREraseSessionSetupDialogOptions", - b"{DREraseSessionSetupDialogOptions=II}", - ["version", "dialogOptionFlags"], - ), - "DREraseSessionProgressDialogOptions": objc.createStructType( - "DiscRecordingUI.DREraseSessionProgressDialogOptions", - b"{DREraseSessionProgressDialogOptions=II^{__CFString=}}", - ["version", "dialogOptionFlags", "description"], - ), - "DRBurnSessionSetupDialogOptions": objc.createStructType( - "DiscRecordingUI.DRBurnSessionSetupDialogOptions", - b"{DRBurnSessionSetupDialogOptions=II^{__CFString=}}", - ["version", "dialogOptionFlags", "defaultButtonTitle"], - ), - } -) -constants = """$DRBurnIcon$DRBurnProgressPanelDidFinishNotification$DRBurnProgressPanelWillBeginNotification$DRBurnSetupPanelDefaultButtonDefaultTitle$DREraseIcon$DREraseProgressPanelDidFinishNotification$DREraseProgressPanelWillBeginNotification$DRSetupPanelDeviceSelectionChangedNotification$DRSetupPanelSelectedDeviceKey$""" -enums = """$kBurnSessionProgressDialogDefaultOptions@0$kBurnSessionProgressDialogDisplayVerboseProgress@1$kBurnSessionProgressDialogOptionsCurrentVersion@1$kBurnSessionSetupDialogAllowTestBurns@2147483652$kBurnSessionSetupDialogDefaultOptions@0$kBurnSessionSetupDialogDontHandleReservations@2$kBurnSessionSetupDialogForceClosedDiscs@1$kBurnSessionSetupDialogOptionsCurrentVersion@1$kDRBurnProgressSetupCallbacksCurrentVersion@1$kDRBurnSessionCancel@0$kDRBurnSessionOK@1$kDRBurnSessionSetupCallbacksCurrentVersion@1$kDREraseProgressSetupCallbacksCurrentVersion@1$kDREraseSessionCancel@0$kDREraseSessionOK@1$kDREraseSessionSetupCallbacksCurrentVersion@1$kEraseSessionProgressDialogDefaultOptions@0$kEraseSessionProgressDialogOptionsCurrentVersion@1$kEraseSessionSetupDialogDefaultOptions@0$kEraseSessionSetupDialogDontHandleReservations@1$kEraseSessionSetupDialogOptionsCurrentVersion@1$""" -misc.update({}) -misc.update({}) -functions = { - "DRBurnSessionSetBurn": (b"v^{__DRBurnSession=}^{__DRBurn=}",), - "DRBurnSessionCreate": ( - b"^{__DRBurnSession=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DREraseSessionSetupDialog": ( - b"c^{__DREraseSession=}^{DREraseSessionSetupDialogOptions=II}^{DREraseSessionSetupCallbacks=I^?^?^?}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}}, - ), - "DRBurnSessionGetTypeID": (b"Q",), - "DREraseSessionCreate": ( - b"^{__DREraseSession=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DREraseSessionGetTypeID": (b"Q",), - "DRBurnSessionSetupDialog": ( - b"c^{__DRBurnSession=}^{DRBurnSessionSetupDialogOptions=II^{__CFString=}}^{DRBurnSessionSetupCallbacks=I^?^?^?}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}}, - ), - "DRBurnSessionGetBurn": (b"^{__DRBurn=}^{__DRBurnSession=}",), - "DREraseSessionGetErase": (b"^{__DRErase=}^{__DREraseSession=}",), - "DREraseSessionBeginProgressDialog": ( - b"v^{__DREraseSession=}^{DREraseSessionProgressDialogOptions=II^{__CFString=}}^{DREraseSessionProgressCallbacks=I^?^?^?}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}}, - ), - "DREraseSessionSetErase": (b"v^{__DREraseSession=}^{__DRErase=}",), - "DRBurnSessionBeginProgressDialog": ( - b"v^{__DRBurnSession=}@^{DRBurnSessionProgressDialogOptions=II^{__CFString=}}^{DRBurnSessionProgressCallbacks=I^?^?^?}", - "", - {"arguments": {2: {"type_modifier": "n"}, 3: {"type_modifier": "n"}}}, - ), -} -cftypes = [ - ("DRBurnSessionRef", b"^{__DRBurnSession=}", None, None), - ("DREraseSessionRef", b"^{__DREraseSession=}", None, None), -] -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"DRBurnProgressPanel", - b"setVerboseProgressStatus:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"DRBurnProgressPanel", b"verboseProgressStatus", {"retval": {"type": b"Z"}}) - r( - b"DRBurnSetupPanel", - b"setCanSelectAppendableMedia:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"DRBurnSetupPanel", b"setCanSelectTestBurn:", {"arguments": {2: {"type": b"Z"}}}) - r(b"DRSetupPanel", b"mediaStateChanged:", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"burnProgressPanel:burnDidFinish:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"burnProgressPanelDidFinish:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"burnProgressPanelWillBegin:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"eraseProgressPanel:eraseDidFinish:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"eraseProgressPanelDidFinish:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"eraseProgressPanelWillBegin:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setupPanel:determineBestDeviceOfA:orB:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"setupPanel:deviceContainsSuitableMedia:promptString:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"^@"}}, - }, - ) - r( - b"NSObject", - b"setupPanel:deviceCouldBeTarget:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setupPanelDeviceSelectionChanged:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setupPanelShouldHandleMediaReservations:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"null", b"burnProgressPanel:burnDidFinish:", {"retval": {"type": b"Z"}}) - r(b"null", b"eraseProgressPanel:eraseDidFinish:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"setupPanel:deviceContainsSuitableMedia:promptString:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"setupPanel:deviceCouldBeTarget:", {"retval": {"type": b"Z"}}) - r(b"null", b"setupPanelShouldHandleMediaReservations:", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "DRBurnProgressPanelDelegateMethods": objc.informal_protocol( - "DRBurnProgressPanelDelegateMethods", - [ - objc.selector( - None, b"burnProgressPanelDidFinish:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"burnProgressPanelWillBegin:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"burnProgressPanel:burnDidFinish:", b"Z@:@@", isRequired=False - ), - ], - ), - "DRSetupPanelDelegate": objc.informal_protocol( - "DRSetupPanelDelegate", - [ - objc.selector( - None, - b"setupPanel:deviceContainsSuitableMedia:promptString:", - b"Z@:@@^@", - isRequired=False, - ), - objc.selector( - None, b"setupPanel:deviceCouldBeTarget:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, - b"setupPanelShouldHandleMediaReservations:", - b"Z@:@", - isRequired=False, - ), - objc.selector( - None, b"setupPanelDeviceSelectionChanged:", b"v@:@", isRequired=False - ), - objc.selector( - None, - b"setupPanel:determineBestDeviceOfA:orB:", - b"@@:@@@", - isRequired=False, - ), - ], - ), - "DREraseProgressPanelDelegateMethods": objc.informal_protocol( - "DREraseProgressPanelDelegateMethods", - [ - objc.selector( - None, b"eraseProgressPanelWillBegin:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"eraseProgressPanel:eraseDidFinish:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, b"eraseProgressPanelDidFinish:", b"v@:@", isRequired=False - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/DiskArbitration/__init__.py b/src/lib/DiskArbitration/__init__.py deleted file mode 100644 index 3b0deb4..0000000 --- a/src/lib/DiskArbitration/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the DiskArbitration framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreFoundation -import objc -from DiskArbitration import _metadata - -sys.modules["DiskArbitration"] = mod = objc.ObjCLazyModule( - "DiskArbitration", - "com.apple.DiskArbitration", - objc.pathForFramework("/System/Library/Frameworks/DiskArbitration.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreFoundation,), -) - - -del sys.modules["DiskArbitration._metadata"] diff --git a/src/lib/DiskArbitration/_metadata.py b/src/lib/DiskArbitration/_metadata.py deleted file mode 100644 index 20f7863..0000000 --- a/src/lib/DiskArbitration/_metadata.py +++ /dev/null @@ -1,339 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:14 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kDADiskDescriptionBusNameKey$kDADiskDescriptionBusPathKey$kDADiskDescriptionDeviceGUIDKey$kDADiskDescriptionDeviceInternalKey$kDADiskDescriptionDeviceModelKey$kDADiskDescriptionDevicePathKey$kDADiskDescriptionDeviceProtocolKey$kDADiskDescriptionDeviceRevisionKey$kDADiskDescriptionDeviceTDMLockedKey$kDADiskDescriptionDeviceUnitKey$kDADiskDescriptionDeviceVendorKey$kDADiskDescriptionMatchMediaUnformatted@^{__CFDictionary=}$kDADiskDescriptionMatchMediaWhole@^{__CFDictionary=}$kDADiskDescriptionMatchVolumeMountable@^{__CFDictionary=}$kDADiskDescriptionMatchVolumeUnrecognized@^{__CFDictionary=}$kDADiskDescriptionMediaBSDMajorKey$kDADiskDescriptionMediaBSDMinorKey$kDADiskDescriptionMediaBSDNameKey$kDADiskDescriptionMediaBSDUnitKey$kDADiskDescriptionMediaBlockSizeKey$kDADiskDescriptionMediaContentKey$kDADiskDescriptionMediaEjectableKey$kDADiskDescriptionMediaEncryptedKey$kDADiskDescriptionMediaEncryptionDetailKey$kDADiskDescriptionMediaIconKey$kDADiskDescriptionMediaKindKey$kDADiskDescriptionMediaLeafKey$kDADiskDescriptionMediaNameKey$kDADiskDescriptionMediaPathKey$kDADiskDescriptionMediaRemovableKey$kDADiskDescriptionMediaSizeKey$kDADiskDescriptionMediaTypeKey$kDADiskDescriptionMediaUUIDKey$kDADiskDescriptionMediaWholeKey$kDADiskDescriptionMediaWritableKey$kDADiskDescriptionVolumeKindKey$kDADiskDescriptionVolumeMountableKey$kDADiskDescriptionVolumeNameKey$kDADiskDescriptionVolumeNetworkKey$kDADiskDescriptionVolumePathKey$kDADiskDescriptionVolumeTypeKey$kDADiskDescriptionVolumeUUIDKey$kDADiskDescriptionWatchVolumeName@^{__CFArray=}$kDADiskDescriptionWatchVolumePath@^{__CFArray=}$""" -enums = """$err_local_diskarbitration@14286848$kDADiskClaimOptionDefault@0$kDADiskEjectOptionDefault@0$kDADiskMountOptionDefault@0$kDADiskMountOptionWhole@1$kDADiskOptionDefault@0$kDADiskOptionEjectUponLogout@1$kDADiskOptionMountAutomatic@16$kDADiskOptionMountAutomaticNoDefer@32$kDADiskOptionPrivate@256$kDADiskRenameOptionDefault@0$kDADiskUnmountOptionDefault@0$kDADiskUnmountOptionForce@524288$kDADiskUnmountOptionWhole@1$kDAReturnBadArgument@-119930877$kDAReturnBusy@-119930878$kDAReturnError@-119930879$kDAReturnExclusiveAccess@-119930876$kDAReturnNoResources@-119930875$kDAReturnNotFound@-119930874$kDAReturnNotMounted@-119930873$kDAReturnNotPermitted@-119930872$kDAReturnNotPrivileged@-119930871$kDAReturnNotReady@-119930870$kDAReturnNotWritable@-119930869$kDAReturnSuccess@0$kDAReturnUnsupported@-119930868$""" -misc.update({}) -misc.update({}) -functions = { - "DASessionGetTypeID": (b"Q",), - "DADiskClaim": ( - b"v^{__DADisk=}I^?^v^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{__DADissenter=}"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "DARegisterDiskDescriptionChangedCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^{__CFArray=}^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__CFArray=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "DADiskCreateFromBSDName": ( - b"^{__DADisk=}^{__CFAllocator=}^{__DASession=}^t", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "DAApprovalSessionCreate": ( - b"^{__DASession=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADiskGetBSDName": ( - b"^t^{__DADisk=}", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "DARegisterDiskDisappearedCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DASessionCreate": ( - b"^{__DASession=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DARegisterDiskAppearedCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DASessionUnscheduleFromRunLoop": ( - b"v^{__DASession=}^{__CFRunLoop=}^{__CFString=}", - ), - "DADiskGetTypeID": (b"Q",), - "DADiskCopyIOMedia": ( - b"I^{__DADisk=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADissenterCreate": ( - b"^{__DADissenter=}^{__CFAllocator=}i^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADiskCreateFromIOMedia": ( - b"^{__DADisk=}^{__CFAllocator=}^{__DASession=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "DASessionScheduleWithRunLoop": (b"v^{__DASession=}^{__CFRunLoop=}^{__CFString=}",), - "DAUnregisterCallback": (b"v^{__DASession=}^v^v",), - "DADissenterGetStatusString": (b"^{__CFString=}^{__DADissenter=}",), - "DADiskSetOptions": (b"i^{__DADisk=}IZ",), - "DAApprovalSessionUnscheduleFromRunLoop": ( - b"v^{__DASession=}^{__CFRunLoop=}^{__CFString=}", - ), - "DASessionSetDispatchQueue": (b"v^{__DASession=}@",), - "DADiskCreateFromVolumePath": ( - b"^{__DADisk=}^{__CFAllocator=}^{__DASession=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADiskCopyDescription": ( - b"^{__CFDictionary=}^{__DADisk=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADiskIsClaimed": (b"Z^{__DADisk=}",), - "DADiskGetOptions": (b"I^{__DADisk=}",), - "DADiskMountWithArguments": ( - b"v^{__DADisk=}^{__CFURL=}I^?^v^^{__CFString=}", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - }, - 4: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - } - }, - ), - "DAApprovalSessionScheduleWithRunLoop": ( - b"v^{__DASession=}^{__CFRunLoop=}^{__CFString=}", - ), - "DAApprovalSessionGetTypeID": (b"Q",), - "DADiskRename": ( - b"v^{__DADisk=}^{__CFString=}I^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "DADissenterGetStatus": (b"i^{__DADissenter=}",), - "DARegisterDiskPeekCallback": ( - b"v^{__DASession=}^{__CFDictionary=}q^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DADiskUnclaim": (b"v^{__DADisk=}",), - "DADiskEject": ( - b"v^{__DADisk=}I^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "DARegisterDiskMountApprovalCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{__DADissenter=}"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DAUnregisterApprovalCallback": (b"v^{__DASession=}^v^v",), - "DARegisterDiskEjectApprovalCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{__DADissenter=}"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DARegisterDiskUnmountApprovalCallback": ( - b"v^{__DASession=}^{__CFDictionary=}^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{__DADissenter=}"}, - "arguments": {0: {"type": b"^{__DADisk=}"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "DADiskCopyWholeDisk": ( - b"^{__DADisk=}^{__DADisk=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DADiskUnmount": ( - b"v^{__DADisk=}I^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "DADiskMount": ( - b"v^{__DADisk=}^{__CFURL=}I^?^v", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__DADisk=}"}, - 1: {"type": b"^{__DADissenter=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), -} -cftypes = [ - ("DAApprovalSessionRef", b"^{__DASession=}", "DAApprovalSessionGetTypeID", None), - ("DADiskRef", b"^{__DADisk=}", "DADiskGetTypeID", None), - ("DADissenterRef", b"^{__DADissenter=}", "DADissenterGetTypeID", None), - ("DASessionRef", b"^{__DASession=}", "DASessionGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/EventKit/__init__.py b/src/lib/EventKit/__init__.py deleted file mode 100644 index ac848dc..0000000 --- a/src/lib/EventKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the EventKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from EventKit import _metadata - -sys.modules["EventKit"] = mod = objc.ObjCLazyModule( - "EventKit", - "com.apple.ical.EventKit", - objc.pathForFramework("/System/Library/Frameworks/EventKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["EventKit._metadata"] diff --git a/src/lib/EventKit/_metadata.py b/src/lib/EventKit/_metadata.py deleted file mode 100644 index 3963d5e..0000000 --- a/src/lib/EventKit/_metadata.py +++ /dev/null @@ -1,249 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:24 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$EKErrorDomain$EKEventStoreChangedNotification$""" -enums = """$EKAlarmProximityEnter@1$EKAlarmProximityLeave@2$EKAlarmProximityNone@0$EKAlarmTypeAudio@1$EKAlarmTypeDisplay@0$EKAlarmTypeEmail@3$EKAlarmTypeProcedure@2$EKAuthorizationStatusAuthorized@3$EKAuthorizationStatusDenied@2$EKAuthorizationStatusNotDetermined@0$EKAuthorizationStatusRestricted@1$EKCalendarEventAvailabilityBusy@1$EKCalendarEventAvailabilityFree@2$EKCalendarEventAvailabilityNone@0$EKCalendarEventAvailabilityTentative@4$EKCalendarEventAvailabilityUnavailable@8$EKCalendarTypeBirthday@4$EKCalendarTypeCalDAV@1$EKCalendarTypeExchange@2$EKCalendarTypeLocal@0$EKCalendarTypeSubscription@3$EKEntityMaskEvent@1$EKEntityMaskReminder@2$EKEntityTypeEvent@0$EKEntityTypeReminder@1$EKErrorAlarmGreaterThanRecurrence@8$EKErrorAlarmProximityNotSupported@21$EKErrorCalendarDoesNotAllowEvents@22$EKErrorCalendarDoesNotAllowReminders@23$EKErrorCalendarHasNoSource@14$EKErrorCalendarIsImmutable@16$EKErrorCalendarReadOnly@6$EKErrorCalendarSourceCannotBeModified@15$EKErrorDatesInverted@4$EKErrorDurationGreaterThanRecurrence@7$EKErrorEventNotMutable@0$EKErrorEventStoreNotAuthorized@29$EKErrorInternalFailure@5$EKErrorInvalidEntityType@27$EKErrorInvalidInviteReplyCalendar@31$EKErrorInvalidSpan@13$EKErrorInvitesCannotBeMoved@12$EKErrorLast@31$EKErrorNoCalendar@1$EKErrorNoEndDate@3$EKErrorNoStartDate@2$EKErrorNotificationCollectionMismatch@34$EKErrorNotificationSavedWithoutCollection@35$EKErrorNotificationsCollectionFlagNotSet@32$EKErrorOSNotSupported@30$EKErrorObjectBelongsToDifferentStore@11$EKErrorPriorityIsInvalid@26$EKErrorProcedureAlarmsNotMutable@28$EKErrorRecurringReminderRequiresDueDate@18$EKErrorReminderLocationsNotSupported@20$EKErrorSourceDoesNotAllowCalendarAddDelete@17$EKErrorSourceDoesNotAllowEvents@25$EKErrorSourceDoesNotAllowReminders@24$EKErrorSourceMismatch@33$EKErrorStartDateCollidesWithOtherOccurrence@10$EKErrorStartDateTooFarInFuture@9$EKErrorStructuredLocationsNotSupported@19$EKEventAvailabilityBusy@0$EKEventAvailabilityFree@1$EKEventAvailabilityNotSupported@-1$EKEventAvailabilityTentative@2$EKEventAvailabilityUnavailable@3$EKEventStatusCanceled@3$EKEventStatusConfirmed@1$EKEventStatusNone@0$EKEventStatusTentative@2$EKFriday@6$EKMonday@2$EKParticipantRoleChair@3$EKParticipantRoleNonParticipant@4$EKParticipantRoleOptional@2$EKParticipantRoleRequired@1$EKParticipantRoleUnknown@0$EKParticipantScheduleStatusCannotDeliver@7$EKParticipantScheduleStatusDelivered@3$EKParticipantScheduleStatusDeliveryFailed@6$EKParticipantScheduleStatusNoPrivileges@5$EKParticipantScheduleStatusNone@0$EKParticipantScheduleStatusPending@1$EKParticipantScheduleStatusRecipientNotAllowed@8$EKParticipantScheduleStatusRecipientNotRecognized@4$EKParticipantScheduleStatusSent@2$EKParticipantStatusAccepted@2$EKParticipantStatusCompleted@6$EKParticipantStatusDeclined@3$EKParticipantStatusDelegated@5$EKParticipantStatusInProcess@7$EKParticipantStatusPending@1$EKParticipantStatusTentative@4$EKParticipantStatusUnknown@0$EKParticipantTypeGroup@4$EKParticipantTypePerson@1$EKParticipantTypeResource@3$EKParticipantTypeRoom@2$EKParticipantTypeUnknown@0$EKRecurrenceFrequencyDaily@0$EKRecurrenceFrequencyMonthly@2$EKRecurrenceFrequencyWeekly@1$EKRecurrenceFrequencyYearly@3$EKReminderPriorityHigh@1$EKReminderPriorityLow@9$EKReminderPriorityMedium@5$EKReminderPriorityNone@0$EKSaturday@7$EKSourceTypeBirthdays@5$EKSourceTypeCalDAV@2$EKSourceTypeExchange@1$EKSourceTypeLocal@0$EKSourceTypeMobileMe@3$EKSourceTypeSubscribed@4$EKSpanFutureEvents@1$EKSpanThisEvent@0$EKSunday@1$EKThursday@5$EKTuesday@3$EKWednesday@4$EKWeekdayFriday@6$EKWeekdayMonday@2$EKWeekdaySaturday@7$EKWeekdaySunday@1$EKWeekdayThursday@5$EKWeekdayTuesday@3$EKWeekdayWednesday@4$""" -misc.update( - { - "EKCalendarEventAvailabilityMask": NewType( - "EKCalendarEventAvailabilityMask", int - ), - "EKReminderPriority": NewType("EKReminderPriority", int), - "EKParticipantRole": NewType("EKParticipantRole", int), - "EKErrorCode": NewType("EKErrorCode", int), - "EKEventStatus": NewType("EKEventStatus", int), - "EKCalendarType": NewType("EKCalendarType", int), - "EKEntityType": NewType("EKEntityType", int), - "EKParticipantStatus": NewType("EKParticipantStatus", int), - "EKSourceType": NewType("EKSourceType", int), - "EKSpan": NewType("EKSpan", int), - "EKEventAvailability": NewType("EKEventAvailability", int), - "EKAuthorizationStatus": NewType("EKAuthorizationStatus", int), - "EKParticipantType": NewType("EKParticipantType", int), - "EKWeekday": NewType("EKWeekday", int), - "EKRecurrenceFrequency": NewType("EKRecurrenceFrequency", int), - "EKAlarmType": NewType("EKAlarmType", int), - "EKAlarmProximity": NewType("EKAlarmProximity", int), - "EKEntityMask": NewType("EKEntityMask", int), - "EKParticipantScheduleStatus": NewType("EKParticipantScheduleStatus", int), - } -) -misc.update({}) -functions = { - "DATE_COMPONENTS_DO_NOT_USE": (b"v",), - "DATETIME_COMPONENTS_DO_NOT_USE": (b"v",), - "EK_LOSE_FRACTIONAL_SECONDS_DO_NOT_USE": (b"v",), -} -aliases = { - "EKWednesday": "EKWeekdayWednesday", - "EKSunday": "EKWeekdaySunday", - "EKFriday": "EKWeekdayFriday", - "EKSaturday": "EKWeekdaySaturday", - "EKTuesday": "EKWeekdayTuesday", - "EKThursday": "EKWeekdayThursday", - "EKMonday": "EKWeekdayMonday", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"EKCalendar", b"allowsContentModifications", {"retval": {"type": b"Z"}}) - r(b"EKCalendar", b"isImmutable", {"retval": {"type": b"Z"}}) - r(b"EKCalendar", b"isSubscribed", {"retval": {"type": b"Z"}}) - r(b"EKCalendarItem", b"hasAlarms", {"retval": {"type": b"Z"}}) - r(b"EKCalendarItem", b"hasAttendees", {"retval": {"type": b"Z"}}) - r(b"EKCalendarItem", b"hasNotes", {"retval": {"type": b"Z"}}) - r(b"EKCalendarItem", b"hasRecurrenceRules", {"retval": {"type": b"Z"}}) - r(b"EKCalendarItem", b"isAllDay", {"retval": {"type": "Z"}}) - r(b"EKEvent", b"isAllDay", {"retval": {"type": b"Z"}}) - r(b"EKEvent", b"isDetached", {"retval": {"type": b"Z"}}) - r(b"EKEvent", b"refresh", {"retval": {"type": b"Z"}}) - r(b"EKEvent", b"setAllDay:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"EKEventStore", - b"commit:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"EKEventStore", - b"enumerateEventsMatchingPredicate:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^B"}, - }, - } - } - } - }, - ) - r( - b"EKEventStore", - b"fetchRemindersMatchingPredicate:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"EKEventStore", - b"removeCalendar:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"EKEventStore", - b"removeEvent:span:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {4: {"type": b"Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"EKEventStore", - b"removeEvent:span:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"EKEventStore", - b"removeReminder:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"EKEventStore", - b"requestAccessToEntityType:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"EKEventStore", - b"saveCalendar:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"EKEventStore", - b"saveEvent:span:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {4: {"type": b"Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"EKEventStore", - b"saveEvent:span:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"EKEventStore", - b"saveReminder:commit:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) - r(b"EKObject", b"hasChanges", {"retval": {"type": b"Z"}}) - r(b"EKObject", b"isNew", {"retval": {"type": b"Z"}}) - r(b"EKObject", b"refresh", {"retval": {"type": b"Z"}}) - r(b"EKParticipant", b"isCurrentUser", {"retval": {"type": b"Z"}}) - r(b"EKReminder", b"isCompleted", {"retval": {"type": b"Z"}}) - r(b"EKReminder", b"setCompleted:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"EKVirtualConferenceProvider", - b"fetchAvailableRoomTypesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"EKVirtualConferenceProvider", - b"fetchVirtualConferenceForIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ExceptionHandling/__init__.py b/src/lib/ExceptionHandling/__init__.py deleted file mode 100644 index 8079835..0000000 --- a/src/lib/ExceptionHandling/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the ExceptionHandling framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from ExceptionHandling import _metadata - -sys.modules["ExceptionHandling"] = mod = objc.ObjCLazyModule( - "ExceptionHandling", - "com.apple.ExceptionHandling", - objc.pathForFramework("/System/Library/Frameworks/ExceptionHandling.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["ExceptionHandling._metadata"] diff --git a/src/lib/ExceptionHandling/_metadata.py b/src/lib/ExceptionHandling/_metadata.py deleted file mode 100644 index cd84baf..0000000 --- a/src/lib/ExceptionHandling/_metadata.py +++ /dev/null @@ -1,83 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:33 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NSStackTraceKey$NSUncaughtRuntimeErrorException$NSUncaughtSystemExceptionException$""" -enums = """$NSHandleOtherExceptionMask@512$NSHandleTopLevelExceptionMask@128$NSHandleUncaughtExceptionMask@2$NSHandleUncaughtRuntimeErrorMask@32$NSHandleUncaughtSystemExceptionMask@8$NSHangOnOtherExceptionMask@16$NSHangOnTopLevelExceptionMask@8$NSHangOnUncaughtExceptionMask@1$NSHangOnUncaughtRuntimeErrorMask@4$NSHangOnUncaughtSystemExceptionMask@2$NSLogOtherExceptionMask@256$NSLogTopLevelExceptionMask@64$NSLogUncaughtExceptionMask@1$NSLogUncaughtRuntimeErrorMask@16$NSLogUncaughtSystemExceptionMask@4$""" -misc.update({}) -misc.update({}) -functions = {"NSExceptionHandlerResume": (b"v",)} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"exceptionHandler:shouldHandleException:mask:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"exceptionHandler:shouldLogException:mask:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "NSExceptionHandlerDelegate": objc.informal_protocol( - "NSExceptionHandlerDelegate", - [ - objc.selector( - None, - b"exceptionHandler:shouldLogException:mask:", - b"Z@:@@Q", - isRequired=False, - ), - objc.selector( - None, - b"exceptionHandler:shouldHandleException:mask:", - b"Z@:@@Q", - isRequired=False, - ), - ], - ) -} -expressions = { - "NSHangOnEveryExceptionMask": "(NSHangOnUncaughtExceptionMask|NSHangOnUncaughtSystemExceptionMask|NSHangOnUncaughtRuntimeErrorMask|NSHangOnTopLevelExceptionMask|NSHangOnOtherExceptionMask)", - "NSLogAndHandleEveryExceptionMask": "(NSLogUncaughtExceptionMask|NSLogUncaughtSystemExceptionMask|NSLogUncaughtRuntimeErrorMask|NSHandleUncaughtExceptionMask|NSHandleUncaughtSystemExceptionMask|NSHandleUncaughtRuntimeErrorMask|NSLogTopLevelExceptionMask|NSHandleTopLevelExceptionMask|NSLogOtherExceptionMask|NSHandleOtherExceptionMask)", -} - -# END OF FILE diff --git a/src/lib/ExecutionPolicy/__init__.py b/src/lib/ExecutionPolicy/__init__.py deleted file mode 100644 index 19aaf2c..0000000 --- a/src/lib/ExecutionPolicy/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the ExecutionPolicy framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from ExecutionPolicy import _metadata - -sys.modules["ExecutionPolicy"] = mod = objc.ObjCLazyModule( - "ExecutionPolicy", - "com.apple.executionpolicy", - objc.pathForFramework("/System/Library/Frameworks/ExecutionPolicy.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["ExecutionPolicy._metadata"] diff --git a/src/lib/ExecutionPolicy/_metadata.py b/src/lib/ExecutionPolicy/_metadata.py deleted file mode 100644 index f275459..0000000 --- a/src/lib/ExecutionPolicy/_metadata.py +++ /dev/null @@ -1,68 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:42 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$EPErrorDomain$""" -enums = """$EPDeveloperToolStatusAuthorized@3$EPDeveloperToolStatusDenied@2$EPDeveloperToolStatusNotDetermined@0$EPDeveloperToolStatusRestricted@1$EPErrorGeneric@1$EPErrorNotADeveloperTool@2$""" -misc.update( - { - "EPError": NewType("EPError", int), - "EPDeveloperToolStatus": NewType("EPDeveloperToolStatus", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"EPDeveloperTool", - b"requestDeveloperToolAccessWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"EPExecutionPolicy", - b"addPolicyExceptionForURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ExternalAccessory/__init__.py b/src/lib/ExternalAccessory/__init__.py deleted file mode 100644 index 13e07b0..0000000 --- a/src/lib/ExternalAccessory/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the ExternalAccessory framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from ExternalAccessory import _metadata -from ExternalAccessory import _ExternalAccessory - -sys.modules["ExternalAccessory"] = mod = objc.ObjCLazyModule( - "ExternalAccessory", - "com.apple.externalaccessory", - objc.pathForFramework("/System/Library/Frameworks/ExternalAccessory.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_ExternalAccessory, Foundation), -) - - -del sys.modules["ExternalAccessory._metadata"] diff --git a/src/lib/ExternalAccessory/_metadata.py b/src/lib/ExternalAccessory/_metadata.py deleted file mode 100644 index eab55cd..0000000 --- a/src/lib/ExternalAccessory/_metadata.py +++ /dev/null @@ -1,116 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:49:51 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$EAAccessoryDidConnectNotification$EAAccessoryDidDisconnectNotification$EAAccessoryKey$EAAccessorySelectedKey$EABluetoothAccessoryPickerErrorDomain$""" -enums = """$EABluetoothAccessoryPickerAlreadyConnected@0$EABluetoothAccessoryPickerResultCancelled@2$EABluetoothAccessoryPickerResultFailed@3$EABluetoothAccessoryPickerResultNotFound@1$EAConnectionIDNone@0$EAWiFiUnconfiguredAccessoryBrowserStateConfiguring@3$EAWiFiUnconfiguredAccessoryBrowserStateSearching@2$EAWiFiUnconfiguredAccessoryBrowserStateStopped@1$EAWiFiUnconfiguredAccessoryBrowserStateWiFiUnavailable@0$EAWiFiUnconfiguredAccessoryConfigurationStatusFailed@2$EAWiFiUnconfiguredAccessoryConfigurationStatusSuccess@0$EAWiFiUnconfiguredAccessoryConfigurationStatusUserCancelledConfiguration@1$EAWiFiUnconfiguredAccessoryPropertySupportsAirPlay@1$EAWiFiUnconfiguredAccessoryPropertySupportsAirPrint@2$EAWiFiUnconfiguredAccessoryPropertySupportsHomeKit@4$""" -misc.update( - { - "EAWiFiUnconfiguredAccessoryConfigurationStatus": NewType( - "EAWiFiUnconfiguredAccessoryConfigurationStatus", int - ), - "EAWiFiUnconfiguredAccessoryProperties": NewType( - "EAWiFiUnconfiguredAccessoryProperties", int - ), - "EAWiFiUnconfiguredAccessoryBrowserState": NewType( - "EAWiFiUnconfiguredAccessoryBrowserState", int - ), - "EABluetoothAccessoryPickerErrorCode": NewType( - "EABluetoothAccessoryPickerErrorCode", int - ), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"EAAccessory", b"isConnected", {"retval": {"type": "Z"}}) - r(b"EAAccessory", b"setConnected:", {"arguments": {2: {"type": "Z"}}}) - r( - b"EAAccessoryManager", - b"showBluetoothAccessoryPickerWithNameFilter:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"accessoryBrowser:didFindUnconfiguredAccessories:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"accessoryBrowser:didFinishConfiguringAccessory:withStatus:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessoryBrowser:didRemoveUnconfiguredAccessories:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"accessoryBrowser:didUpdateState:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"accessoryDidDisconnect:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/FSEvents/__init__.py b/src/lib/FSEvents/__init__.py deleted file mode 100644 index 94d5281..0000000 --- a/src/lib/FSEvents/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the FSEvents framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import FSEvents._callbacks -import objc -from FSEvents import _metadata - -sys.modules["FSEvents"] = mod = objc.ObjCLazyModule( - "FSEvents", - "com.apple.CoreServices", - objc.pathForFramework("/System/Library/Frameworks/CoreServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (FSEvents._callbacks, Foundation), -) - - -del sys.modules["FSEvents._metadata"] diff --git a/src/lib/FSEvents/_metadata.py b/src/lib/FSEvents/_metadata.py deleted file mode 100644 index c597c23..0000000 --- a/src/lib/FSEvents/_metadata.py +++ /dev/null @@ -1,100 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:50:05 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "FSEventStreamContext": objc.createStructType( - "FSEvents.FSEventStreamContext", b"{FSEventStreamContext=l^v^?^?^?}", [] - ) - } -) -constants = """$$""" -enums = """$kFSEventStreamCreateFlagFileEvents@16$kFSEventStreamCreateFlagFullHistory@128$kFSEventStreamCreateFlagIgnoreSelf@8$kFSEventStreamCreateFlagMarkSelf@32$kFSEventStreamCreateFlagNoDefer@2$kFSEventStreamCreateFlagNone@0$kFSEventStreamCreateFlagUseCFTypes@1$kFSEventStreamCreateFlagUseExtendedData@64$kFSEventStreamCreateFlagWatchRoot@4$kFSEventStreamEventFlagEventIdsWrapped@8$kFSEventStreamEventFlagHistoryDone@16$kFSEventStreamEventFlagItemChangeOwner@16384$kFSEventStreamEventFlagItemCloned@4194304$kFSEventStreamEventFlagItemCreated@256$kFSEventStreamEventFlagItemFinderInfoMod@8192$kFSEventStreamEventFlagItemInodeMetaMod@1024$kFSEventStreamEventFlagItemIsDir@131072$kFSEventStreamEventFlagItemIsFile@65536$kFSEventStreamEventFlagItemIsHardlink@1048576$kFSEventStreamEventFlagItemIsLastHardlink@2097152$kFSEventStreamEventFlagItemIsSymlink@262144$kFSEventStreamEventFlagItemModified@4096$kFSEventStreamEventFlagItemRemoved@512$kFSEventStreamEventFlagItemRenamed@2048$kFSEventStreamEventFlagItemXattrMod@32768$kFSEventStreamEventFlagKernelDropped@4$kFSEventStreamEventFlagMount@64$kFSEventStreamEventFlagMustScanSubDirs@1$kFSEventStreamEventFlagNone@0$kFSEventStreamEventFlagOwnEvent@524288$kFSEventStreamEventFlagRootChanged@32$kFSEventStreamEventFlagUnmount@128$kFSEventStreamEventFlagUserDropped@2$kFSEventStreamEventIdSinceNow@18446744073709551615$""" -misc.update({}) -misc.update( - { - "kFSEventStreamEventExtendedDataPathKey": "path", - "kFSEventStreamEventExtendedFileIDKey": "fileID", - } -) -functions = { - "FSEventStreamShow": (b"v^{__FSEventStream=}",), - "FSEventStreamGetLatestEventId": (b"Q^{__FSEventStream=}",), - "FSEventStreamRetain": (b"v^{__FSEventStream=}",), - "FSEventStreamSetDispatchQueue": (b"v^{__FSEventStream=}@",), - "FSEventsCopyUUIDForDevice": ( - b"^{__CFUUID=}i", - "", - {"retval": {"already_retained": True}}, - ), - "FSEventStreamSetExclusionPaths": ( - b"Z^{__FSEventStream=}^{__CFArray=}", - "", - {"retval": {"type": "Z"}}, - ), - "FSEventStreamScheduleWithRunLoop": ( - b"v^{__FSEventStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "FSEventStreamInvalidate": (b"v^{__FSEventStream=}",), - "FSEventStreamStop": (b"v^{__FSEventStream=}",), - "FSEventsPurgeEventsForDeviceUpToEventId": (b"ZiQ",), - "FSEventStreamGetDeviceBeingWatched": (b"i^{__FSEventStream=}",), - "FSEventStreamCopyDescription": ( - b"^{__CFString=}^{__FSEventStream=}", - "", - {"retval": {"already_retained": True}}, - ), - "FSEventStreamCopyPathsBeingWatched": ( - b"^{__CFArray=}^{__FSEventStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "FSEventStreamUnscheduleFromRunLoop": ( - b"v^{__FSEventStream=}^{__CFRunLoop=}^{__CFString=}", - ), - "FSEventStreamRelease": (b"v^{__FSEventStream=}",), - "FSEventStreamStart": (b"Z^{__FSEventStream=}",), - "FSEventStreamFlushSync": (b"v^{__FSEventStream=}",), - "FSEventsGetLastEventIdForDeviceBeforeTime": (b"Qid",), - "FSEventStreamFlushAsync": (b"Q^{__FSEventStream=}",), - "FSEventsGetCurrentEventId": (b"Q",), -} -misc.update( - { - "FSEventStreamRef": objc.createOpaquePointerType( - "FSEventStreamRef", b"^{__FSEventStream=}" - ) - } -) -expressions = {} - -# END OF FILE diff --git a/src/lib/FileProvider/__init__.py b/src/lib/FileProvider/__init__.py deleted file mode 100644 index 1f0d044..0000000 --- a/src/lib/FileProvider/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Python mapping for the FileProvider framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from FileProvider import _metadata -from FileProvider import _FileProvider - -sys.modules["FileProvider"] = mod = objc.ObjCLazyModule( - "FileProvider", - "com.apple.FileProvider", - objc.pathForFramework("/System/Library/Frameworks/FileProvider.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - ( - _FileProvider, - Foundation, - ), -) - - -del sys.modules["FileProvider._metadata"] diff --git a/src/lib/FileProvider/_metadata.py b/src/lib/FileProvider/_metadata.py deleted file mode 100644 index 15e2e55..0000000 --- a/src/lib/FileProvider/_metadata.py +++ /dev/null @@ -1,1587 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:44:19 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "NSFileProviderTypeAndCreator": objc.createStructType( - "FileProvider.NSFileProviderTypeAndCreator", - b"{NSFileProviderTypeAndCreator=II}", - ["type", "creator"], - ) - } -) -constants = """$NSFileProviderDomainDidChange$NSFileProviderErrorCausedByErrorsKey$NSFileProviderErrorCollidingItemKey$NSFileProviderErrorDomain$NSFileProviderErrorItemKey$NSFileProviderErrorNonExistentItemIdentifierKey$NSFileProviderFavoriteRankUnranked@Q$NSFileProviderInitialPageSortedByDate$NSFileProviderInitialPageSortedByName$NSFileProviderMaterializedSetDidChange$NSFileProviderPendingSetDidChange$NSFileProviderRootContainerItemIdentifier$NSFileProviderTrashContainerItemIdentifier$NSFileProviderWorkingSetContainerItemIdentifier$""" -enums = """$NSFileProviderCreateItemDeletionConflicted@2$NSFileProviderCreateItemMayAlreadyExist@1$NSFileProviderDeleteItemRecursive@1$NSFileProviderDomainRemovalModePreserveDirtyUserData@1$NSFileProviderDomainRemovalModePreserveDownloadedUserData@2$NSFileProviderDomainRemovalModeRemoveAll@0$NSFileProviderDomainTestingModeAlwaysEnabled@1$NSFileProviderDomainTestingModeInteractive@2$NSFileProviderErrorCannotSynchronize@-2005$NSFileProviderErrorDeletionRejected@-1006$NSFileProviderErrorDirectoryNotEmpty@-1007$NSFileProviderErrorFilenameCollision@-1001$NSFileProviderErrorInsufficientQuota@-1003$NSFileProviderErrorNewerExtensionVersionFound@-2004$NSFileProviderErrorNoSuchItem@-1005$NSFileProviderErrorNonEvictable@-2008$NSFileProviderErrorNonEvictableChildren@-2006$NSFileProviderErrorNotAuthenticated@-1000$NSFileProviderErrorOlderExtensionVersionRunning@-2003$NSFileProviderErrorPageExpired@-1002$NSFileProviderErrorProviderNotFound@-2001$NSFileProviderErrorProviderTranslocated@-2002$NSFileProviderErrorServerUnreachable@-1004$NSFileProviderErrorSyncAnchorExpired@-1002$NSFileProviderErrorUnsyncedEdits@-2007$NSFileProviderErrorVersionNoLongerAvailable@-2009$NSFileProviderFetchContentsOptionsStrictVersioning@1$NSFileProviderFileSystemHidden@8$NSFileProviderFileSystemPathExtensionHidden@16$NSFileProviderFileSystemUserExecutable@1$NSFileProviderFileSystemUserReadable@2$NSFileProviderFileSystemUserWritable@4$NSFileProviderItemCapabilitiesAllowsAddingSubItems@2$NSFileProviderItemCapabilitiesAllowsAll@63$NSFileProviderItemCapabilitiesAllowsContentEnumerating@1$NSFileProviderItemCapabilitiesAllowsDeleting@32$NSFileProviderItemCapabilitiesAllowsEvicting@64$NSFileProviderItemCapabilitiesAllowsExcludingFromSync@128$NSFileProviderItemCapabilitiesAllowsReading@1$NSFileProviderItemCapabilitiesAllowsRenaming@8$NSFileProviderItemCapabilitiesAllowsReparenting@4$NSFileProviderItemCapabilitiesAllowsTrashing@16$NSFileProviderItemCapabilitiesAllowsWriting@2$NSFileProviderItemContentModificationDate@128$NSFileProviderItemContents@1$NSFileProviderItemCreationDate@64$NSFileProviderItemExtendedAttributes@512$NSFileProviderItemFavoriteRank@32$NSFileProviderItemFileSystemFlags@256$NSFileProviderItemFilename@2$NSFileProviderItemLastUsedDate@8$NSFileProviderItemParentItemIdentifier@4$NSFileProviderItemTagData@16$NSFileProviderItemTypeAndCreator@1024$NSFileProviderManagerDisconnectionOptionsTemporary@1$NSFileProviderMaterializationFlagsKnownSparseRanges@1$NSFileProviderModifyItemMayAlreadyExist@1$NSFileProviderTestingOperationSideDisk@0$NSFileProviderTestingOperationSideFileProvider@1$NSFileProviderTestingOperationTypeChildrenEnumeration@6$NSFileProviderTestingOperationTypeCollisionResolution@7$NSFileProviderTestingOperationTypeContentFetch@5$NSFileProviderTestingOperationTypeCreation@2$NSFileProviderTestingOperationTypeDeletion@4$NSFileProviderTestingOperationTypeIngestion@0$NSFileProviderTestingOperationTypeLookup@1$NSFileProviderTestingOperationTypeModification@3$""" -misc.update( - { - "NSFileProviderManagerDisconnectionOptions": NewType( - "NSFileProviderManagerDisconnectionOptions", int - ), - "NSFileProviderFileSystemFlags": NewType("NSFileProviderFileSystemFlags", int), - "NSFileProviderMaterializationFlags": NewType( - "NSFileProviderMaterializationFlags", int - ), - "NSFileProviderCreateItemOptions": NewType( - "NSFileProviderCreateItemOptions", int - ), - "NSFileProviderModifyItemOptions": NewType( - "NSFileProviderModifyItemOptions", int - ), - "NSFileProviderErrorCode": NewType("NSFileProviderErrorCode", int), - "NSFileProviderDomainTestingModes": NewType( - "NSFileProviderDomainTestingModes", int - ), - "NSFileProviderDomainRemovalMode": NewType( - "NSFileProviderDomainRemovalMode", int - ), - "NSFileProviderDeleteItemOptions": NewType( - "NSFileProviderDeleteItemOptions", int - ), - "NSFileProviderItemFields": NewType("NSFileProviderItemFields", int), - "NSFileProviderTestingOperationType": NewType( - "NSFileProviderTestingOperationType", int - ), - "NSFileProviderTestingOperationSide": NewType( - "NSFileProviderTestingOperationSide", int - ), - "NSFileProviderFetchContentsOptions": NewType( - "NSFileProviderFetchContentsOptions", int - ), - "NSFileProviderItemCapabilities": NewType( - "NSFileProviderItemCapabilities", int - ), - } -) -misc.update( - { - "NSFileProviderSyncAnchor": NewType( - "NSFileProviderSyncAnchor", objc.lookUpClass("NSData") - ), - "NSFileProviderItemDecorationIdentifier": NewType( - "NSFileProviderItemDecorationIdentifier", str - ), - "NSFileProviderPage": NewType("NSFileProviderPage", objc.lookUpClass("NSData")), - } -) -misc.update({}) -aliases = { - "NSFileProviderItemCapabilitiesAllowsContentEnumerating": "NSFileProviderItemCapabilitiesAllowsReading", - "NSFileProviderItemCapabilitiesAllowsAddingSubItems": "NSFileProviderItemCapabilitiesAllowsWriting", - "NSFileProviderErrorPageExpired": "NSFileProviderErrorSyncAnchorExpired", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSFileProviderDomain", b"isDisconnected", {"retval": {"type": b"Z"}}) - r(b"NSFileProviderDomain", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"NSFileProviderDomain", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSFileProviderDomain", b"userEnabled", {"retval": {"type": b"Z"}}) - r( - b"NSFileProviderExtension", - b"createDirectoryWithName:inParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"createItemBasedOnTemplate:fields:contents:options:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"deleteItemWithIdentifier:baseVersion:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"deleteItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"enumeratorForContainerItemIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderExtension", - b"enumeratorForSearchQuery:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderExtension", - b"fetchContentsForItemWithIdentifier:version:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"fetchContentsForItemWithIdentifier:version:usingExistingContentsAtURL:existingVersion:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"fetchThumbnailsForItemIdentifiers:requestedSize:perThumbnailCompletionHandler:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - }, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSFileProviderExtension", - b"importDidFinishWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"importDocumentAtURL:toParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"itemChanged:baseVersion:changedFields:contents:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"itemForIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderExtension", - b"materializedItemsDidChangeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"performActionWithIdentifier:onItemsWithIdentifiers:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"providePlaceholderAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"renameItemWithIdentifier:toName:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"reparentItemWithIdentifier:toParentItemWithIdentifier:newName:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"setFavoriteRank:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"setLastUsedDate:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"setTagData:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"startProvidingItemAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"supportedServiceSourcesForItemIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderExtension", - b"trashItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"untrashItemWithIdentifier:toParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderExtension", - b"writePlaceholderAtURL:withMetadata:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderManager", - b"addDomain:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"disconnectWithReason:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"evictItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"getDomainsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"getIdentifierForUserVisibleFileAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"getUserVisibleURLForItemIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"importDomain:fromDirectoryAtURL:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"listAvailableTestingOperationsWithError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderManager", - b"lookupRequestingApplicationIdentifier:reason:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"reconnectWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"registerURLSessionTask:forItemWithIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"reimportItemsBelowItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"removeAllDomainsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"removeDomain:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"removeDomain:mode:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"runTestingOperations:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderManager", - b"setDownloadPolicy:forItemWithIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"signalEnumeratorForContainerItemIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"signalErrorResolved:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"temporaryDirectoryURLWithError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileProviderManager", - b"waitForChangesOnItemsBelowItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"waitForStabilizationWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderManager", - b"writePlaceholderAtURL:withMetadata:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileProviderRequest", b"isFileViewerRequest", {"retval": {"type": "Z"}}) - r(b"NSFileProviderRequest", b"isSystemRequest", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"asChildrenEnumeration", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"asCollisionResolution", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"asContentFetch", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"asCreation", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"asDeletion", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"asIngestion", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"asLookup", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"asModification", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"capabilities", {"required": False, "retval": {"type": b"Q"}}) - r(b"NSObject", b"changedFields", {"required": True, "retval": {"type": "Q"}}) - r(b"NSObject", b"childItemCount", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"contentModificationDate", - {"required": False, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"contentType", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"createItemBasedOnTemplate:fields:contents:options:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"Z"}, - 4: {"type": b"@"}, - }, - }, - "type": "@?", - }, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Q"}, - 3: {"type": b"Z"}, - 4: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"creationDate", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"currentSyncAnchorWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - } - }, - }, - ) - r(b"NSObject", b"decorations", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"deleteItemWithIdentifier:baseVersion:options:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"didDeleteItemsWithIdentifiers:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didEnumerateItems:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didUpdateItems:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"documentSize", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"domainVersion", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"downloadingError", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"enumerateChangesForObserver:fromSyncAnchor:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"enumerateItemsForObserver:startingAtPage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"enumeratorForContainerItemIdentifier:request:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r(b"NSObject", b"extendedAttributes", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"favoriteRank", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"fetchContentsForItemWithIdentifier:version:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"fetchContentsForItemWithIdentifier:version:usingExistingContentsAtURL:existingVersion:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"fetchContentsForItemWithIdentifier:version:usingExistingContentsAtURL:request:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"fetchPartialContentsForItemWithIdentifier:version:request:minimalRange:aligningTo:options:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"{_NSRange=QQ}"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"{_NSRange=QQ}"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"fetchThumbnailsForItemIdentifiers:requestedSize:perThumbnailCompletionHandler:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGSize=dd}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"fileSystemFlags", {"required": False, "retval": {"type": "Q"}}) - r(b"NSObject", b"filename", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"finishEnumeratingChangesUpToSyncAnchor:moreComing:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"finishEnumeratingUpToPage:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"finishEnumeratingWithError:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"importDidFinishWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"initWithDomain:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"invalidate", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"isDownloaded", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isDownloading", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isExcludedFromSync", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isHidden", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"isInteractionSuppressedForIdentifier:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isMostRecentVersionDownloaded", - {"required": False, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"isPathExtensionHidden", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isShared", {"required": False, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"isSharedByCurrentUser", - {"required": False, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"isTrashed", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isUploaded", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isUploading", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isUserReadable", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isUserWritable", {"retval": {"type": "Z"}}) - r(b"NSObject", b"item", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"itemForIdentifier:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"itemIdentifier", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"itemVersion", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"lastUsedDate", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"makeListenerEndpointAndReturnError:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"materializedItemsDidChangeWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"modifyItem:baseVersion:changedFields:contents:options:request:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"@"}, - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"Z"}, - 4: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"mostRecentEditorNameComponents", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"ownerNameComponents", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"parentItemIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"pendingItemsDidChangeWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"performActionWithIdentifier:onItemsWithIdentifiers:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"refreshInterval", {"required": True, "retval": {"type": "d"}}) - r(b"NSObject", b"renamedItem", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"serviceName", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"setInteractionSuppressed:forIdentifier:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Z"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"side", {"required": True, "retval": {"type": "Q"}}) - r(b"NSObject", b"sourceItem", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"sourceItemIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"suggestedBatchSize", {"required": False, "retval": {"type": "Q"}}) - r(b"NSObject", b"suggestedPageSize", {"required": False, "retval": {"type": "Q"}}) - r( - b"NSObject", - b"supportedServiceSourcesForItemIdentifier:completionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"symlinkTargetPath", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"tagData", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"targetItemBaseVersion", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"targetItemIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"targetSide", {"required": True, "retval": {"type": "Q"}}) - r(b"NSObject", b"type", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"typeAndCreator", - {"required": False, "retval": {"type": b"{NSFileProviderTypeAndCreator=II}"}}, - ) - r(b"NSObject", b"typeIdentifier", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"uploadingError", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"userInfo", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"versionIdentifier", {"required": False, "retval": {"type": b"@"}}) - r( - b"null", - b"createDirectoryWithName:inParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"deleteItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"null", - b"enumeratorForContainerItemIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"fetchThumbnailsForItemIdentifiers:requestedSize:perThumbnailCompletionHandler:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - }, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"null", - b"importDocumentAtURL:toParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"renameItemWithIdentifier:toName:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"reparentItemWithIdentifier:toParentItemWithIdentifier:newName:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"setFavoriteRank:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"setLastUsedDate:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"setTagData:forItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"supportedServiceSourcesForItemIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"trashItemWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"untrashItemWithIdentifier:toParentItemIdentifier:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"writePlaceholderAtURL:withMetadata:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/FileProviderUI/__init__.py b/src/lib/FileProviderUI/__init__.py deleted file mode 100644 index 33bec75..0000000 --- a/src/lib/FileProviderUI/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the FileProviderUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import objc -import FileProvider -from FileProviderUI import _metadata - -sys.modules["FileProviderUI"] = mod = objc.ObjCLazyModule( - "FileProviderUI", - "com.apple.FileProviderUI", - objc.pathForFramework("/System/Library/Frameworks/FileProviderUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (FileProvider,), -) - - -del sys.modules["FileProviderUI._metadata"] diff --git a/src/lib/FileProviderUI/_metadata.py b/src/lib/FileProviderUI/_metadata.py deleted file mode 100644 index eaa7b53..0000000 --- a/src/lib/FileProviderUI/_metadata.py +++ /dev/null @@ -1,58 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:50:27 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$FPUIErrorDomain$""" -enums = """$FPUIExtensionErrorCodeFailed@1$FPUIExtensionErrorCodeUserCancelled@0$""" -misc.update({"FPUIExtensionErrorCode": NewType("FPUIExtensionErrorCode", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"FPUIActionExtensionContext", - b"completeRequestReturningItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/FinderSync/__init__.py b/src/lib/FinderSync/__init__.py deleted file mode 100644 index c5ba059..0000000 --- a/src/lib/FinderSync/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the FinderSync framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from FinderSync import _metadata - -sys.modules["FinderSync"] = mod = objc.ObjCLazyModule( - "FinderSync", - "com.apple.FinderSync", - objc.pathForFramework("/System/Library/Frameworks/FinderSync.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["FinderSync._metadata"] diff --git a/src/lib/FinderSync/_metadata.py b/src/lib/FinderSync/_metadata.py deleted file mode 100644 index c9a3633..0000000 --- a/src/lib/FinderSync/_metadata.py +++ /dev/null @@ -1,137 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:50:39 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$FIMenuKindContextualMenuForContainer@1$FIMenuKindContextualMenuForItems@0$FIMenuKindContextualMenuForSidebar@2$FIMenuKindToolbarItemMenu@3$""" -misc.update({"FIMenuKind": NewType("FIMenuKind", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"FIFinderSyncController", b"isExtensionEnabled", {"retval": {"type": "Z"}}) - r( - b"FIFinderSyncController", - b"setLastUsedDate:forItemWithURL:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"FIFinderSyncController", - b"setTagData:forItemWithURL:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSObject", - b"beginObservingDirectoryAtURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"endObservingDirectoryAtURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"makeListenerEndpointForServiceName:itemURL:andReturnError:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"menuForMenuKind:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"requestBadgeIdentifierForURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"supportedServiceNamesForItemWithURL:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"toolbarItemImage", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"toolbarItemName", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"toolbarItemToolTip", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"valuesForAttributes:forItemWithURL:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Foundation/__init__.py b/src/lib/Foundation/__init__.py deleted file mode 100644 index 99eca83..0000000 --- a/src/lib/Foundation/__init__.py +++ /dev/null @@ -1,212 +0,0 @@ -""" -Python mapping for the Foundation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import Foundation._Foundation -import objc -from Foundation import _metadata -from Foundation._inlines import _inline_list_ - -objc.addConvenienceForClass( - "NSAttributedString", (("__len__", lambda self: self.length()),) -) - -objc.addConvenienceForBasicMapping("NSMergeConflict", True) -objc.addConvenienceForBasicMapping("NSUbiquitousKeyValueStore", False) -objc.addConvenienceForBasicMapping("NSUserDefaults", False) - - -def _setup_conveniences(): - NSNull = objc.lookUpClass("NSNull") - - def nscache_getitem(self, key): - value = self.objectForKey_(key) - if value is None: - raise KeyError(key) - - elif value is NSNull.null(): - return None - - else: - return value - - def nscache_get(self, key, default=None): - value = self.objectForKey_(key) - if value is None: - return default - elif value is NSNull.null(): - return None - return value - - def nscache_setitem(self, key, value): - if value is None: - value = NSNull.null() - self.setObject_forKey_(value, key) - - objc.addConvenienceForClass( - "NSCache", - ( - ("__getitem__", nscache_getitem), - ("get", nscache_get), - ("__setitem__", nscache_setitem), - ("__delitem__", lambda self, key: self.removeObjectForKey_(key)), - ("clear", lambda self: self.removeAllObjects()), - ), - ) - - def hash_add(self, value): - if value is None: - value = NSNull.null() - self.addObject_(value) - - def hash_contains(self, value): - if value is None: - value = NSNull.null() - return self.containsObject_(value) - - def hash_remove(self, value): - if value is None: - value = NSNull.null() - self.removeObject_(value) - - def hash_pop(self): - value = self.anyObject() - self.removeObject_(value) - if value is NSNull.null(): - return None - else: - return value - - objc.addConvenienceForClass( - "NSHashTable", - ( - ("__len__", lambda self: self.count()), - ("clear", lambda self: self.removeAllObjects()), - ("__iter__", lambda self: iter(self.objectEnumerator())), - ("add", hash_add), - ("remove", hash_remove), - ("__contains__", hash_contains), - ("pop", hash_pop), - ), - ) - - objc.addConvenienceForClass( - "NSIndexPath", (("__len__", lambda self: self.count()),) - ) - - if sys.maxsize > 2**32: - NSNotFound = 0x7FFFFFFFFFFFFFFF - else: - NSNotFound = 0x7FFFFFFF - - def indexset_iter(self): - value = self.firstIndex() - while value != NSNotFound: - yield value - value = self.indexGreaterThanIndex_(value) - - def indexset_reversed(self): - value = self.lastIndex() - while value != NSNotFound: - yield value - value = self.indexLessThanIndex_(value) - - NSIndexSet = objc.lookUpClass("NSIndexSet") - - def indexset_eq(self, other): - if not isinstance(other, NSIndexSet): - return False - - return self.isEqualToIndexSet_(other) - - def indexset_ne(self, other): - if not isinstance(other, NSIndexSet): - return True - - return not self.isEqualToIndexSet_(other) - - def indexset_contains(self, value): - try: - return self.containsIndex_(value) - except ValueError: - return False - - objc.addConvenienceForClass( - "NSIndexSet", - ( - ("__len__", lambda self: self.count()), - ("__iter__", indexset_iter), - ("__reversed__", indexset_reversed), - ("__eq__", indexset_eq), - ("__ne__", indexset_ne), - ("__contains__", indexset_contains), - ), - ) - - # Add 'update', '-=', '+=' - objc.addConvenienceForClass( - "NSMutableIndexSet", - ( - ("clear", lambda self: self.removeAllIndexes()), - ("add", lambda self, value: self.addIndex_(value)), - ("remove", lambda self, value: self.removeIndex_(value)), - ), - ) - - objc.addConvenienceForClass( - "NSLocale", (("__getitem__", lambda self, key: self.objectForKey_(key)),) - ) - - -_setup_conveniences() - -sys.modules["Foundation"] = mod = objc.ObjCLazyModule( - "Foundation", - "com.apple.Foundation", - objc.pathForFramework("/System/Library/Frameworks/Foundation.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "YES": objc.YES, - "NO": objc.NO, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreFoundation,), -) - - -del sys.modules["Foundation._metadata"] - - -for nm in dir(Foundation._Foundation): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(Foundation._Foundation, nm)) - - -mod.NSDecimal = objc.NSDecimal - -import Foundation._context # isort:skip # noqa: E402 -import Foundation._functiondefines # isort:skip # noqa: E402 -import Foundation._nsindexset # isort:skip # noqa: E402 -import Foundation._nsobject # isort:skip # noqa: E402 - -for nm in dir(Foundation._functiondefines): - setattr(mod, nm, getattr(Foundation._functiondefines, nm)) - - -mod.NSIntegerMax = sys.maxsize -mod.NSIntegerMin = -sys.maxsize - 1 -mod.NSUIntegerMax = (sys.maxsize * 2) + 1 - - -for nm in dir(Foundation._context): - setattr(mod, nm, getattr(Foundation._context, nm)) diff --git a/src/lib/Foundation/_context.py b/src/lib/Foundation/_context.py deleted file mode 100644 index 49bd337..0000000 --- a/src/lib/Foundation/_context.py +++ /dev/null @@ -1,26 +0,0 @@ -import Foundation - - -class NSDisabledAutomaticTermination: - def __init__(self, reason): - self._reason = reason - self._info = Foundation.NSProcessInfo.processInfo() - - def __enter__(self): - self._info.disableAutomaticTermination_(self._reason) - - def __exit__(self, exc_type, exc_val, exc_tb): - self._info.enableAutomaticTermination_(self._reason) - return False - - -class NSDisabledSuddenTermination: - def __init__(self): - self._info = Foundation.NSProcessInfo.processInfo() - - def __enter__(self): - self._info.disableSuddenTermination() - - def __exit__(self, exc_type, exc_val, exc_tb): - self._info.enableSuddenTermination() - return False diff --git a/src/lib/Foundation/_functiondefines.py b/src/lib/Foundation/_functiondefines.py deleted file mode 100644 index 24a98fa..0000000 --- a/src/lib/Foundation/_functiondefines.py +++ /dev/null @@ -1,57 +0,0 @@ -""" -Port of "function defines". -""" -from Foundation import NSBundle - - -def NSLocalizedString(key, comment): - return NSBundle.mainBundle().localizedStringForKey_value_table_(key, "", None) - - -def NSLocalizedStringFromTable(key, tbl, comment): - return NSBundle.mainBundle().localizedStringForKey_value_table_(key, "", tbl) - - -def NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment): - return bundle.localizedStringForKey_value_table_(key, "", tbl) - - -def NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment): - return bundle.localizedStringForKey_value_table_(key, val, tbl) - - -def NSLocalizedAttributedString(key, comment): - return NSBundle.mainBundle().localizedAttributedStringForKey_value_table_( - key, "", None - ) - - -def NSLocalizedAttributedStringFromTable(key, tbl, comment): - return NSBundle.mainBundle.localizedAttributedStringForKey_value_table_( - key, "", tbl - ) - - -def NSLocalizedAttributedStringFromTableInBundle(key, tbl, bundle, comment): - return bundle.localizedAttributedStringForKey_value_table_(key, "", tbl) - - -def NSLocalizedAttributedStringWithDefaultValue(key, tbl, bundle, val, comment): - return bundle.localizedAttributedStringForKey_value_table_(key, val, tbl) - - -def MIN(a, b): - if a < b: - return a - else: - return b - - -def MAX(a, b): - if a < b: - return b - else: - return a - - -ABS = abs diff --git a/src/lib/Foundation/_metadata.py b/src/lib/Foundation/_metadata.py deleted file mode 100644 index ea6c95e..0000000 --- a/src/lib/Foundation/_metadata.py +++ /dev/null @@ -1,11532 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:52:16 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "NSEdgeInsets": objc.createStructType( - "Foundation.NSEdgeInsets", - b"{NSEdgeInsets=dddd}", - ["top", "left", "bottom", "right"], - ), - "NSHashEnumerator": objc.createStructType( - "Foundation.NSHashEnumerator", - b"{_NSHashEnumerator=QQ^v}", - ["_pi", "_si", "_bs"], - ), - "NSAffineTransformStruct": objc.createStructType( - "Foundation.NSAffineTransformStruct", - b"{_NSAffineTransformStruct=dddddd}", - ["m11", "m12", "m21", "m22", "tX", "tY"], - ), - "NSRect": objc.createStructType( - "Foundation.NSRect", b"{CGRect={CGPoint=dd}{CGSize=dd}}", ["origin", "size"] - ), - "NSOperatingSystemVersion": objc.createStructType( - "Foundation.NSOperatingSystemVersion", - b"{_NSOperatingSystemVersion=qqq}", - ["majorVersion", "minorVersion", "patchVersion"], - ), - "NSZone": objc.createStructType("Foundation.NSZone", b"{_NSZone=}", []), - "NSDecimal": objc.createStructType( - "Foundation.NSDecimal", - b"{_NSDecimal=b8b4b1b1b18[8S]}", - [ - "_exponent", - "_length", - "_isNegative", - "_isCompact", - "_reserved", - "_mantissa", - ], - ), - "NSSize": objc.createStructType( - "Foundation.NSSize", b"{CGSize=dd}", ["width", "height"] - ), - "NSPoint": objc.createStructType( - "Foundation.NSPoint", b"{CGPoint=dd}", ["x", "y"] - ), - "NSSwappedDouble": objc.createStructType( - "Foundation.NSSwappedDouble", b"{_NSSwappedDouble=Q}", ["v"] - ), - "NSMapEnumerator": objc.createStructType( - "Foundation.NSMapEnumerator", - b"{_NSMapEnumerator=QQ^v}", - ["_pi", "_si", "_bs"], - ), - "NSSwappedFloat": objc.createStructType( - "Foundation.NSSwappedFloat", b"{_NSSwappedFloat=I}", ["v"] - ), - "NSRange": objc.createStructType( - "Foundation.NSRange", b"{_NSRange=QQ}", ["location", "length"] - ), - } -) -constants = """$NSAMPMDesignation$NSAlternateDescriptionAttributeName$NSAppleEventManagerWillProcessFirstEventNotification$NSAppleEventTimeOutDefault@d$NSAppleEventTimeOutNone@d$NSAppleScriptErrorAppName$NSAppleScriptErrorBriefMessage$NSAppleScriptErrorMessage$NSAppleScriptErrorNumber$NSAppleScriptErrorRange$NSArgumentDomain$NSAssertionHandlerKey$NSAverageKeyValueOperator$NSBuddhistCalendar$NSBundleDidLoadNotification$NSBundleResourceRequestLoadingPriorityUrgent@d$NSBundleResourceRequestLowDiskSpaceNotification$NSCalendarDayChangedNotification$NSCalendarIdentifierBuddhist$NSCalendarIdentifierChinese$NSCalendarIdentifierCoptic$NSCalendarIdentifierEthiopicAmeteAlem$NSCalendarIdentifierEthiopicAmeteMihret$NSCalendarIdentifierGregorian$NSCalendarIdentifierHebrew$NSCalendarIdentifierISO8601$NSCalendarIdentifierIndian$NSCalendarIdentifierIslamic$NSCalendarIdentifierIslamicCivil$NSCalendarIdentifierIslamicTabular$NSCalendarIdentifierIslamicUmmAlQura$NSCalendarIdentifierJapanese$NSCalendarIdentifierPersian$NSCalendarIdentifierRepublicOfChina$NSCharacterConversionException$NSChineseCalendar$NSClassDescriptionNeededForClassNotification$NSCocoaErrorDomain$NSConnectionDidDieNotification$NSConnectionDidInitializeNotification$NSConnectionReplyMode$NSCountKeyValueOperator$NSCurrencySymbol$NSCurrentLocaleDidChangeNotification$NSDateFormatString$NSDateTimeOrdering$NSDeallocateZombies@Z$NSDebugDescriptionErrorKey$NSDebugEnabled@Z$NSDecimalDigits$NSDecimalNumberDivideByZeroException$NSDecimalNumberExactnessException$NSDecimalNumberOverflowException$NSDecimalNumberUnderflowException$NSDecimalSeparator$NSDefaultRunLoopMode$NSDestinationInvalidException$NSDidBecomeSingleThreadedNotification$NSDistinctUnionOfArraysKeyValueOperator$NSDistinctUnionOfObjectsKeyValueOperator$NSDistinctUnionOfSetsKeyValueOperator$NSEarlierTimeDesignations$NSEdgeInsetsZero@{NSEdgeInsets=dddd}$NSErrorFailingURLStringKey$NSExtensionHostDidBecomeActiveNotification$NSExtensionHostDidEnterBackgroundNotification$NSExtensionHostWillEnterForegroundNotification$NSExtensionHostWillResignActiveNotification$NSExtensionItemAttachmentsKey$NSExtensionItemAttributedContentTextKey$NSExtensionItemAttributedTitleKey$NSExtensionItemsAndErrorsKey$NSExtensionJavaScriptFinalizeArgumentKey$NSExtensionJavaScriptPreprocessingResultsKey$NSFTPPropertyActiveTransferModeKey$NSFTPPropertyFTPProxy$NSFTPPropertyFileOffsetKey$NSFTPPropertyUserLoginKey$NSFTPPropertyUserPasswordKey$NSFailedAuthenticationException$NSFileAppendOnly$NSFileBusy$NSFileCreationDate$NSFileDeviceIdentifier$NSFileExtensionHidden$NSFileGroupOwnerAccountID$NSFileGroupOwnerAccountName$NSFileHFSCreatorCode$NSFileHFSTypeCode$NSFileHandleConnectionAcceptedNotification$NSFileHandleDataAvailableNotification$NSFileHandleNotificationDataItem$NSFileHandleNotificationFileHandleItem$NSFileHandleNotificationMonitorModes$NSFileHandleOperationException$NSFileHandleReadCompletionNotification$NSFileHandleReadToEndOfFileCompletionNotification$NSFileImmutable$NSFileManagerUnmountDissentingProcessIdentifierErrorKey$NSFileModificationDate$NSFileOwnerAccountID$NSFileOwnerAccountName$NSFilePathErrorKey$NSFilePosixPermissions$NSFileProtectionComplete$NSFileProtectionCompleteUnlessOpen$NSFileProtectionCompleteUntilFirstUserAuthentication$NSFileProtectionKey$NSFileProtectionNone$NSFileReferenceCount$NSFileSize$NSFileSystemFileNumber$NSFileSystemFreeNodes$NSFileSystemFreeSize$NSFileSystemNodes$NSFileSystemNumber$NSFileSystemSize$NSFileType$NSFileTypeBlockSpecial$NSFileTypeCharacterSpecial$NSFileTypeDirectory$NSFileTypeRegular$NSFileTypeSocket$NSFileTypeSymbolicLink$NSFileTypeUnknown$NSFoundationVersionNumber@d$NSGenericException$NSGlobalDomain$NSGrammarCorrections$NSGrammarRange$NSGrammarUserDescription$NSGregorianCalendar$NSHTTPCookieComment$NSHTTPCookieCommentURL$NSHTTPCookieDiscard$NSHTTPCookieDomain$NSHTTPCookieExpires$NSHTTPCookieManagerAcceptPolicyChangedNotification$NSHTTPCookieManagerCookiesChangedNotification$NSHTTPCookieMaximumAge$NSHTTPCookieName$NSHTTPCookieOriginURL$NSHTTPCookiePath$NSHTTPCookiePort$NSHTTPCookieSameSiteLax$NSHTTPCookieSameSitePolicy$NSHTTPCookieSameSiteStrict$NSHTTPCookieSecure$NSHTTPCookieValue$NSHTTPCookieVersion$NSHTTPPropertyErrorPageDataKey$NSHTTPPropertyHTTPProxy$NSHTTPPropertyRedirectionHeadersKey$NSHTTPPropertyServerHTTPVersionKey$NSHTTPPropertyStatusCodeKey$NSHTTPPropertyStatusReasonKey$NSHangOnUncaughtException@Z$NSHebrewCalendar$NSHelpAnchorErrorKey$NSHourNameDesignations$NSISO8601Calendar$NSImageURLAttributeName$NSInconsistentArchiveException$NSIndianCalendar$NSInflectionAlternativeAttributeName$NSInflectionRuleAttributeName$NSInlinePresentationIntentAttributeName$NSInternalInconsistencyException$NSInternationalCurrencyString$NSInvalidArchiveOperationException$NSInvalidArgumentException$NSInvalidReceivePortException$NSInvalidSendPortException$NSInvalidUnarchiveOperationException$NSInvocationOperationCancelledException$NSInvocationOperationVoidResultException$NSIsNilTransformerName$NSIsNotNilTransformerName$NSIslamicCalendar$NSIslamicCivilCalendar$NSItemProviderErrorDomain$NSItemProviderPreferredImageSizeKey$NSJapaneseCalendar$NSKeepAllocationStatistics@Z$NSKeyValueChangeIndexesKey$NSKeyValueChangeKindKey$NSKeyValueChangeNewKey$NSKeyValueChangeNotificationIsPriorKey$NSKeyValueChangeOldKey$NSKeyedArchiveRootObjectKey$NSKeyedUnarchiveFromDataTransformerName$NSLanguageIdentifierAttributeName$NSLaterTimeDesignations$NSLinguisticTagAdjective$NSLinguisticTagAdverb$NSLinguisticTagClassifier$NSLinguisticTagCloseParenthesis$NSLinguisticTagCloseQuote$NSLinguisticTagConjunction$NSLinguisticTagDash$NSLinguisticTagDeterminer$NSLinguisticTagIdiom$NSLinguisticTagInterjection$NSLinguisticTagNoun$NSLinguisticTagNumber$NSLinguisticTagOpenParenthesis$NSLinguisticTagOpenQuote$NSLinguisticTagOrganizationName$NSLinguisticTagOther$NSLinguisticTagOtherPunctuation$NSLinguisticTagOtherWhitespace$NSLinguisticTagOtherWord$NSLinguisticTagParagraphBreak$NSLinguisticTagParticle$NSLinguisticTagPersonalName$NSLinguisticTagPlaceName$NSLinguisticTagPreposition$NSLinguisticTagPronoun$NSLinguisticTagPunctuation$NSLinguisticTagSchemeLanguage$NSLinguisticTagSchemeLemma$NSLinguisticTagSchemeLexicalClass$NSLinguisticTagSchemeNameType$NSLinguisticTagSchemeNameTypeOrLexicalClass$NSLinguisticTagSchemeScript$NSLinguisticTagSchemeTokenType$NSLinguisticTagSentenceTerminator$NSLinguisticTagVerb$NSLinguisticTagWhitespace$NSLinguisticTagWord$NSLinguisticTagWordJoiner$NSLoadedClasses$NSLocalNotificationCenterType$NSLocaleAlternateQuotationBeginDelimiterKey$NSLocaleAlternateQuotationEndDelimiterKey$NSLocaleCalendar$NSLocaleCollationIdentifier$NSLocaleCollatorIdentifier$NSLocaleCountryCode$NSLocaleCurrencyCode$NSLocaleCurrencySymbol$NSLocaleDecimalSeparator$NSLocaleExemplarCharacterSet$NSLocaleGroupingSeparator$NSLocaleIdentifier$NSLocaleLanguageCode$NSLocaleMeasurementSystem$NSLocaleQuotationBeginDelimiterKey$NSLocaleQuotationEndDelimiterKey$NSLocaleScriptCode$NSLocaleUsesMetricSystem$NSLocaleVariantCode$NSLocalizedDescriptionKey$NSLocalizedFailureErrorKey$NSLocalizedFailureReasonErrorKey$NSLocalizedRecoveryOptionsErrorKey$NSLocalizedRecoverySuggestionErrorKey$NSMachErrorDomain$NSMallocException$NSMaximumKeyValueOperator$NSMetadataItemAcquisitionMakeKey$NSMetadataItemAcquisitionModelKey$NSMetadataItemAlbumKey$NSMetadataItemAltitudeKey$NSMetadataItemApertureKey$NSMetadataItemAppleLoopDescriptorsKey$NSMetadataItemAppleLoopsKeyFilterTypeKey$NSMetadataItemAppleLoopsLoopModeKey$NSMetadataItemAppleLoopsRootKeyKey$NSMetadataItemApplicationCategoriesKey$NSMetadataItemAttributeChangeDateKey$NSMetadataItemAudiencesKey$NSMetadataItemAudioBitRateKey$NSMetadataItemAudioChannelCountKey$NSMetadataItemAudioEncodingApplicationKey$NSMetadataItemAudioSampleRateKey$NSMetadataItemAudioTrackNumberKey$NSMetadataItemAuthorAddressesKey$NSMetadataItemAuthorEmailAddressesKey$NSMetadataItemAuthorsKey$NSMetadataItemBitsPerSampleKey$NSMetadataItemCFBundleIdentifierKey$NSMetadataItemCameraOwnerKey$NSMetadataItemCityKey$NSMetadataItemCodecsKey$NSMetadataItemColorSpaceKey$NSMetadataItemCommentKey$NSMetadataItemComposerKey$NSMetadataItemContactKeywordsKey$NSMetadataItemContentCreationDateKey$NSMetadataItemContentModificationDateKey$NSMetadataItemContentTypeKey$NSMetadataItemContentTypeTreeKey$NSMetadataItemContributorsKey$NSMetadataItemCopyrightKey$NSMetadataItemCountryKey$NSMetadataItemCoverageKey$NSMetadataItemCreatorKey$NSMetadataItemDateAddedKey$NSMetadataItemDeliveryTypeKey$NSMetadataItemDescriptionKey$NSMetadataItemDirectorKey$NSMetadataItemDisplayNameKey$NSMetadataItemDownloadedDateKey$NSMetadataItemDueDateKey$NSMetadataItemDurationSecondsKey$NSMetadataItemEXIFGPSVersionKey$NSMetadataItemEXIFVersionKey$NSMetadataItemEditorsKey$NSMetadataItemEmailAddressesKey$NSMetadataItemEncodingApplicationsKey$NSMetadataItemExecutableArchitecturesKey$NSMetadataItemExecutablePlatformKey$NSMetadataItemExposureModeKey$NSMetadataItemExposureProgramKey$NSMetadataItemExposureTimeSecondsKey$NSMetadataItemExposureTimeStringKey$NSMetadataItemFNumberKey$NSMetadataItemFSContentChangeDateKey$NSMetadataItemFSCreationDateKey$NSMetadataItemFSNameKey$NSMetadataItemFSSizeKey$NSMetadataItemFinderCommentKey$NSMetadataItemFlashOnOffKey$NSMetadataItemFocalLength35mmKey$NSMetadataItemFocalLengthKey$NSMetadataItemFontsKey$NSMetadataItemGPSAreaInformationKey$NSMetadataItemGPSDOPKey$NSMetadataItemGPSDateStampKey$NSMetadataItemGPSDestBearingKey$NSMetadataItemGPSDestDistanceKey$NSMetadataItemGPSDestLatitudeKey$NSMetadataItemGPSDestLongitudeKey$NSMetadataItemGPSDifferentalKey$NSMetadataItemGPSMapDatumKey$NSMetadataItemGPSMeasureModeKey$NSMetadataItemGPSProcessingMethodKey$NSMetadataItemGPSStatusKey$NSMetadataItemGPSTrackKey$NSMetadataItemGenreKey$NSMetadataItemHasAlphaChannelKey$NSMetadataItemHeadlineKey$NSMetadataItemISOSpeedKey$NSMetadataItemIdentifierKey$NSMetadataItemImageDirectionKey$NSMetadataItemInformationKey$NSMetadataItemInstantMessageAddressesKey$NSMetadataItemInstructionsKey$NSMetadataItemIsApplicationManagedKey$NSMetadataItemIsGeneralMIDISequenceKey$NSMetadataItemIsLikelyJunkKey$NSMetadataItemIsUbiquitousKey$NSMetadataItemKeySignatureKey$NSMetadataItemKeywordsKey$NSMetadataItemKindKey$NSMetadataItemLanguagesKey$NSMetadataItemLastUsedDateKey$NSMetadataItemLatitudeKey$NSMetadataItemLayerNamesKey$NSMetadataItemLensModelKey$NSMetadataItemLongitudeKey$NSMetadataItemLyricistKey$NSMetadataItemMaxApertureKey$NSMetadataItemMediaTypesKey$NSMetadataItemMeteringModeKey$NSMetadataItemMusicalGenreKey$NSMetadataItemMusicalInstrumentCategoryKey$NSMetadataItemMusicalInstrumentNameKey$NSMetadataItemNamedLocationKey$NSMetadataItemNumberOfPagesKey$NSMetadataItemOrganizationsKey$NSMetadataItemOrientationKey$NSMetadataItemOriginalFormatKey$NSMetadataItemOriginalSourceKey$NSMetadataItemPageHeightKey$NSMetadataItemPageWidthKey$NSMetadataItemParticipantsKey$NSMetadataItemPathKey$NSMetadataItemPerformersKey$NSMetadataItemPhoneNumbersKey$NSMetadataItemPixelCountKey$NSMetadataItemPixelHeightKey$NSMetadataItemPixelWidthKey$NSMetadataItemProducerKey$NSMetadataItemProfileNameKey$NSMetadataItemProjectsKey$NSMetadataItemPublishersKey$NSMetadataItemRecipientAddressesKey$NSMetadataItemRecipientEmailAddressesKey$NSMetadataItemRecipientsKey$NSMetadataItemRecordingDateKey$NSMetadataItemRecordingYearKey$NSMetadataItemRedEyeOnOffKey$NSMetadataItemResolutionHeightDPIKey$NSMetadataItemResolutionWidthDPIKey$NSMetadataItemRightsKey$NSMetadataItemSecurityMethodKey$NSMetadataItemSpeedKey$NSMetadataItemStarRatingKey$NSMetadataItemStateOrProvinceKey$NSMetadataItemStreamableKey$NSMetadataItemSubjectKey$NSMetadataItemTempoKey$NSMetadataItemTextContentKey$NSMetadataItemThemeKey$NSMetadataItemTimeSignatureKey$NSMetadataItemTimestampKey$NSMetadataItemTitleKey$NSMetadataItemTotalBitRateKey$NSMetadataItemURLKey$NSMetadataItemVersionKey$NSMetadataItemVideoBitRateKey$NSMetadataItemWhereFromsKey$NSMetadataItemWhiteBalanceKey$NSMetadataQueryAccessibleUbiquitousExternalDocumentsScope$NSMetadataQueryDidFinishGatheringNotification$NSMetadataQueryDidStartGatheringNotification$NSMetadataQueryDidUpdateNotification$NSMetadataQueryGatheringProgressNotification$NSMetadataQueryIndexedLocalComputerScope$NSMetadataQueryIndexedNetworkScope$NSMetadataQueryLocalComputerScope$NSMetadataQueryLocalDocumentsScope$NSMetadataQueryNetworkScope$NSMetadataQueryResultContentRelevanceAttribute$NSMetadataQueryUbiquitousDataScope$NSMetadataQueryUbiquitousDocumentsScope$NSMetadataQueryUpdateAddedItemsKey$NSMetadataQueryUpdateChangedItemsKey$NSMetadataQueryUpdateRemovedItemsKey$NSMetadataQueryUserHomeScope$NSMetadataUbiquitousItemContainerDisplayNameKey$NSMetadataUbiquitousItemDownloadRequestedKey$NSMetadataUbiquitousItemDownloadingErrorKey$NSMetadataUbiquitousItemDownloadingStatusCurrent$NSMetadataUbiquitousItemDownloadingStatusDownloaded$NSMetadataUbiquitousItemDownloadingStatusKey$NSMetadataUbiquitousItemDownloadingStatusNotDownloaded$NSMetadataUbiquitousItemHasUnresolvedConflictsKey$NSMetadataUbiquitousItemIsDownloadedKey$NSMetadataUbiquitousItemIsDownloadingKey$NSMetadataUbiquitousItemIsExternalDocumentKey$NSMetadataUbiquitousItemIsSharedKey$NSMetadataUbiquitousItemIsUploadedKey$NSMetadataUbiquitousItemIsUploadingKey$NSMetadataUbiquitousItemPercentDownloadedKey$NSMetadataUbiquitousItemPercentUploadedKey$NSMetadataUbiquitousItemURLInLocalContainerKey$NSMetadataUbiquitousItemUploadingErrorKey$NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey$NSMetadataUbiquitousSharedItemCurrentUserRoleKey$NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey$NSMetadataUbiquitousSharedItemOwnerNameComponentsKey$NSMetadataUbiquitousSharedItemPermissionsReadOnly$NSMetadataUbiquitousSharedItemPermissionsReadWrite$NSMetadataUbiquitousSharedItemRoleOwner$NSMetadataUbiquitousSharedItemRoleParticipant$NSMinimumKeyValueOperator$NSMonthNameArray$NSMorphologyAttributeName$NSMultipleUnderlyingErrorsKey$NSNegateBooleanTransformerName$NSNegativeCurrencyFormatString$NSNetServicesErrorCode$NSNetServicesErrorDomain$NSNextDayDesignations$NSNextNextDayDesignations$NSOSStatusErrorDomain$NSObjectInaccessibleException$NSObjectNotAvailableException$NSOldStyleException$NSOperationNotSupportedForKeyException$NSPOSIXErrorDomain$NSParseErrorException$NSPersianCalendar$NSPersonNameComponentDelimiter$NSPersonNameComponentFamilyName$NSPersonNameComponentGivenName$NSPersonNameComponentKey$NSPersonNameComponentMiddleName$NSPersonNameComponentNickname$NSPersonNameComponentPrefix$NSPersonNameComponentSuffix$NSPortDidBecomeInvalidNotification$NSPortReceiveException$NSPortSendException$NSPortTimeoutException$NSPositiveCurrencyFormatString$NSPresentationIntentAttributeName$NSPriorDayDesignations$NSProcessInfoPowerStateDidChangeNotification$NSProcessInfoThermalStateDidChangeNotification$NSProgressEstimatedTimeRemainingKey$NSProgressFileAnimationImageKey$NSProgressFileAnimationImageOriginalRectKey$NSProgressFileCompletedCountKey$NSProgressFileIconKey$NSProgressFileOperationKindCopying$NSProgressFileOperationKindDecompressingAfterDownloading$NSProgressFileOperationKindDownloading$NSProgressFileOperationKindDuplicating$NSProgressFileOperationKindKey$NSProgressFileOperationKindReceiving$NSProgressFileOperationKindUploading$NSProgressFileTotalCountKey$NSProgressFileURLKey$NSProgressKindFile$NSProgressThroughputKey$NSRangeException$NSRecoveryAttempterErrorKey$NSRegistrationDomain$NSReplacementIndexAttributeName$NSRepublicOfChinaCalendar$NSRunLoopCommonModes$NSSecureUnarchiveFromDataTransformerName$NSShortDateFormatString$NSShortMonthNameArray$NSShortTimeDateFormatString$NSShortWeekDayNameArray$NSStreamDataWrittenToMemoryStreamKey$NSStreamFileCurrentOffsetKey$NSStreamNetworkServiceType$NSStreamNetworkServiceTypeBackground$NSStreamNetworkServiceTypeCallSignaling$NSStreamNetworkServiceTypeVideo$NSStreamNetworkServiceTypeVoIP$NSStreamNetworkServiceTypeVoice$NSStreamSOCKSErrorDomain$NSStreamSOCKSProxyConfigurationKey$NSStreamSOCKSProxyHostKey$NSStreamSOCKSProxyPasswordKey$NSStreamSOCKSProxyPortKey$NSStreamSOCKSProxyUserKey$NSStreamSOCKSProxyVersion4$NSStreamSOCKSProxyVersion5$NSStreamSOCKSProxyVersionKey$NSStreamSocketSSLErrorDomain$NSStreamSocketSecurityLevelKey$NSStreamSocketSecurityLevelNegotiatedSSL$NSStreamSocketSecurityLevelNone$NSStreamSocketSecurityLevelSSLv2$NSStreamSocketSecurityLevelSSLv3$NSStreamSocketSecurityLevelTLSv1$NSStringEncodingDetectionAllowLossyKey$NSStringEncodingDetectionDisallowedEncodingsKey$NSStringEncodingDetectionFromWindowsKey$NSStringEncodingDetectionLikelyLanguageKey$NSStringEncodingDetectionLossySubstitutionKey$NSStringEncodingDetectionSuggestedEncodingsKey$NSStringEncodingDetectionUseOnlySuggestedEncodingsKey$NSStringEncodingErrorKey$NSStringTransformFullwidthToHalfwidth$NSStringTransformHiraganaToKatakana$NSStringTransformLatinToArabic$NSStringTransformLatinToCyrillic$NSStringTransformLatinToGreek$NSStringTransformLatinToHangul$NSStringTransformLatinToHebrew$NSStringTransformLatinToHiragana$NSStringTransformLatinToKatakana$NSStringTransformLatinToThai$NSStringTransformMandarinToLatin$NSStringTransformStripCombiningMarks$NSStringTransformStripDiacritics$NSStringTransformToLatin$NSStringTransformToUnicodeName$NSStringTransformToXMLHex$NSSumKeyValueOperator$NSSystemClockDidChangeNotification$NSSystemTimeZoneDidChangeNotification$NSTaskDidTerminateNotification$NSTextCheckingAirlineKey$NSTextCheckingCityKey$NSTextCheckingCountryKey$NSTextCheckingFlightKey$NSTextCheckingJobTitleKey$NSTextCheckingNameKey$NSTextCheckingOrganizationKey$NSTextCheckingPhoneKey$NSTextCheckingStateKey$NSTextCheckingStreetKey$NSTextCheckingZIPKey$NSThisDayDesignations$NSThousandsSeparator$NSThreadWillExitNotification$NSThumbnail1024x1024SizeKey$NSTimeDateFormatString$NSTimeFormatString$NSURLAddedToDirectoryDateKey$NSURLApplicationIsScriptableKey$NSURLAttributeModificationDateKey$NSURLAuthenticationMethodClientCertificate$NSURLAuthenticationMethodDefault$NSURLAuthenticationMethodHTMLForm$NSURLAuthenticationMethodHTTPBasic$NSURLAuthenticationMethodHTTPDigest$NSURLAuthenticationMethodNTLM$NSURLAuthenticationMethodNegotiate$NSURLAuthenticationMethodServerTrust$NSURLCanonicalPathKey$NSURLContentAccessDateKey$NSURLContentModificationDateKey$NSURLContentTypeKey$NSURLCreationDateKey$NSURLCredentialStorageChangedNotification$NSURLCredentialStorageRemoveSynchronizableCredentials$NSURLCustomIconKey$NSURLDocumentIdentifierKey$NSURLEffectiveIconKey$NSURLErrorBackgroundTaskCancelledReasonKey$NSURLErrorDomain$NSURLErrorFailingURLErrorKey$NSURLErrorFailingURLPeerTrustErrorKey$NSURLErrorFailingURLStringErrorKey$NSURLErrorKey$NSURLErrorNetworkUnavailableReasonKey$NSURLFileAllocatedSizeKey$NSURLFileContentIdentifierKey$NSURLFileProtectionComplete$NSURLFileProtectionCompleteUnlessOpen$NSURLFileProtectionCompleteUntilFirstUserAuthentication$NSURLFileProtectionKey$NSURLFileProtectionNone$NSURLFileResourceIdentifierKey$NSURLFileResourceTypeBlockSpecial$NSURLFileResourceTypeCharacterSpecial$NSURLFileResourceTypeDirectory$NSURLFileResourceTypeKey$NSURLFileResourceTypeNamedPipe$NSURLFileResourceTypeRegular$NSURLFileResourceTypeSocket$NSURLFileResourceTypeSymbolicLink$NSURLFileResourceTypeUnknown$NSURLFileScheme$NSURLFileSecurityKey$NSURLFileSizeKey$NSURLGenerationIdentifierKey$NSURLHasHiddenExtensionKey$NSURLIsAliasFileKey$NSURLIsApplicationKey$NSURLIsDirectoryKey$NSURLIsExcludedFromBackupKey$NSURLIsExecutableKey$NSURLIsHiddenKey$NSURLIsMountTriggerKey$NSURLIsPackageKey$NSURLIsPurgeableKey$NSURLIsReadableKey$NSURLIsRegularFileKey$NSURLIsSparseKey$NSURLIsSymbolicLinkKey$NSURLIsSystemImmutableKey$NSURLIsUbiquitousItemKey$NSURLIsUserImmutableKey$NSURLIsVolumeKey$NSURLIsWritableKey$NSURLKeysOfUnsetValuesKey$NSURLLabelColorKey$NSURLLabelNumberKey$NSURLLinkCountKey$NSURLLocalizedLabelKey$NSURLLocalizedNameKey$NSURLLocalizedTypeDescriptionKey$NSURLMayHaveExtendedAttributesKey$NSURLMayShareFileContentKey$NSURLNameKey$NSURLParentDirectoryURLKey$NSURLPathKey$NSURLPreferredIOBlockSizeKey$NSURLProtectionSpaceFTP$NSURLProtectionSpaceFTPProxy$NSURLProtectionSpaceHTTP$NSURLProtectionSpaceHTTPProxy$NSURLProtectionSpaceHTTPS$NSURLProtectionSpaceHTTPSProxy$NSURLProtectionSpaceSOCKSProxy$NSURLQuarantinePropertiesKey$NSURLSessionDownloadTaskResumeData$NSURLSessionTaskPriorityDefault@f$NSURLSessionTaskPriorityHigh@f$NSURLSessionTaskPriorityLow@f$NSURLSessionTransferSizeUnknown@q$NSURLTagNamesKey$NSURLThumbnailDictionaryKey$NSURLThumbnailKey$NSURLTotalFileAllocatedSizeKey$NSURLTotalFileSizeKey$NSURLTypeIdentifierKey$NSURLUbiquitousItemContainerDisplayNameKey$NSURLUbiquitousItemDownloadRequestedKey$NSURLUbiquitousItemDownloadingErrorKey$NSURLUbiquitousItemDownloadingStatusCurrent$NSURLUbiquitousItemDownloadingStatusDownloaded$NSURLUbiquitousItemDownloadingStatusKey$NSURLUbiquitousItemDownloadingStatusNotDownloaded$NSURLUbiquitousItemHasUnresolvedConflictsKey$NSURLUbiquitousItemIsDownloadedKey$NSURLUbiquitousItemIsDownloadingKey$NSURLUbiquitousItemIsExcludedFromSyncKey$NSURLUbiquitousItemIsSharedKey$NSURLUbiquitousItemIsUploadedKey$NSURLUbiquitousItemIsUploadingKey$NSURLUbiquitousItemPercentDownloadedKey$NSURLUbiquitousItemPercentUploadedKey$NSURLUbiquitousItemUploadingErrorKey$NSURLUbiquitousSharedItemCurrentUserPermissionsKey$NSURLUbiquitousSharedItemCurrentUserRoleKey$NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey$NSURLUbiquitousSharedItemOwnerNameComponentsKey$NSURLUbiquitousSharedItemPermissionsReadOnly$NSURLUbiquitousSharedItemPermissionsReadWrite$NSURLUbiquitousSharedItemRoleOwner$NSURLUbiquitousSharedItemRoleParticipant$NSURLVolumeAvailableCapacityForImportantUsageKey$NSURLVolumeAvailableCapacityForOpportunisticUsageKey$NSURLVolumeAvailableCapacityKey$NSURLVolumeCreationDateKey$NSURLVolumeIdentifierKey$NSURLVolumeIsAutomountedKey$NSURLVolumeIsBrowsableKey$NSURLVolumeIsEjectableKey$NSURLVolumeIsEncryptedKey$NSURLVolumeIsInternalKey$NSURLVolumeIsJournalingKey$NSURLVolumeIsLocalKey$NSURLVolumeIsReadOnlyKey$NSURLVolumeIsRemovableKey$NSURLVolumeIsRootFileSystemKey$NSURLVolumeLocalizedFormatDescriptionKey$NSURLVolumeLocalizedNameKey$NSURLVolumeMaximumFileSizeKey$NSURLVolumeNameKey$NSURLVolumeResourceCountKey$NSURLVolumeSupportsAccessPermissionsKey$NSURLVolumeSupportsAdvisoryFileLockingKey$NSURLVolumeSupportsCasePreservedNamesKey$NSURLVolumeSupportsCaseSensitiveNamesKey$NSURLVolumeSupportsCompressionKey$NSURLVolumeSupportsExclusiveRenamingKey$NSURLVolumeSupportsExtendedSecurityKey$NSURLVolumeSupportsFileCloningKey$NSURLVolumeSupportsFileProtectionKey$NSURLVolumeSupportsHardLinksKey$NSURLVolumeSupportsImmutableFilesKey$NSURLVolumeSupportsJournalingKey$NSURLVolumeSupportsPersistentIDsKey$NSURLVolumeSupportsRenamingKey$NSURLVolumeSupportsRootDirectoryDatesKey$NSURLVolumeSupportsSparseFilesKey$NSURLVolumeSupportsSwapRenamingKey$NSURLVolumeSupportsSymbolicLinksKey$NSURLVolumeSupportsVolumeSizesKey$NSURLVolumeSupportsZeroRunsKey$NSURLVolumeTotalCapacityKey$NSURLVolumeURLForRemountingKey$NSURLVolumeURLKey$NSURLVolumeUUIDStringKey$NSUbiquitousKeyValueStoreChangeReasonKey$NSUbiquitousKeyValueStoreChangedKeysKey$NSUbiquitousKeyValueStoreDidChangeExternallyNotification$NSUbiquitousUserDefaultsCompletedInitialSyncNotification$NSUbiquitousUserDefaultsDidChangeAccountsNotification$NSUbiquitousUserDefaultsNoCloudAccountNotification$NSUbiquityIdentityDidChangeNotification$NSUnarchiveFromDataTransformerName$NSUndefinedKeyException$NSUnderlyingErrorKey$NSUndoManagerCheckpointNotification$NSUndoManagerDidCloseUndoGroupNotification$NSUndoManagerDidOpenUndoGroupNotification$NSUndoManagerDidRedoChangeNotification$NSUndoManagerDidUndoChangeNotification$NSUndoManagerGroupIsDiscardableKey$NSUndoManagerWillCloseUndoGroupNotification$NSUndoManagerWillRedoChangeNotification$NSUndoManagerWillUndoChangeNotification$NSUnionOfArraysKeyValueOperator$NSUnionOfObjectsKeyValueOperator$NSUnionOfSetsKeyValueOperator$NSUserActivityTypeBrowsingWeb$NSUserDefaultsDidChangeNotification$NSUserDefaultsSizeLimitExceededNotification$NSUserNotificationDefaultSoundName$NSWeekDayNameArray$NSWillBecomeMultiThreadedNotification$NSXMLParserErrorDomain$NSYearMonthWeekDesignations$NSZeroPoint@{CGPoint=dd}$NSZeroRect@{CGRect={CGPoint=dd}{CGSize=dd}}$NSZeroSize@{CGSize=dd}$NSZombieEnabled@Z$""" -enums = """$NSASCIIStringEncoding@1$NSActivityAutomaticTerminationDisabled@32768$NSActivityBackground@255$NSActivityIdleDisplaySleepDisabled@1099511627776$NSActivityIdleSystemSleepDisabled@1048576$NSActivityLatencyCritical@1095216660480$NSActivitySuddenTerminationDisabled@16384$NSActivityUserInitiated@16777215$NSActivityUserInitiatedAllowingIdleSystemSleep@15728639$NSAdminApplicationDirectory@4$NSAggregateExpressionType@14$NSAlignAllEdgesInward@15$NSAlignAllEdgesNearest@983040$NSAlignAllEdgesOutward@3840$NSAlignHeightInward@32$NSAlignHeightNearest@2097152$NSAlignHeightOutward@8192$NSAlignMaxXInward@4$NSAlignMaxXNearest@262144$NSAlignMaxXOutward@1024$NSAlignMaxYInward@8$NSAlignMaxYNearest@524288$NSAlignMaxYOutward@2048$NSAlignMinXInward@1$NSAlignMinXNearest@65536$NSAlignMinXOutward@256$NSAlignMinYInward@2$NSAlignMinYNearest@131072$NSAlignMinYOutward@512$NSAlignRectFlipped@9223372036854775808$NSAlignWidthInward@16$NSAlignWidthNearest@1048576$NSAlignWidthOutward@4096$NSAllApplicationsDirectory@100$NSAllDomainsMask@65535$NSAllLibrariesDirectory@101$NSAllPredicateModifier@1$NSAnchoredSearch@8$NSAndPredicateType@1$NSAnyKeyExpressionType@15$NSAnyPredicateModifier@2$NSAppleEventSendAlwaysInteract@48$NSAppleEventSendCanInteract@32$NSAppleEventSendCanSwitchLayer@64$NSAppleEventSendDefaultOptions@35$NSAppleEventSendDontAnnotate@65536$NSAppleEventSendDontExecute@8192$NSAppleEventSendDontRecord@4096$NSAppleEventSendNeverInteract@16$NSAppleEventSendNoReply@1$NSAppleEventSendQueueReply@2$NSAppleEventSendWaitForReply@3$NSApplicationDirectory@1$NSApplicationScriptsDirectory@23$NSApplicationSupportDirectory@14$NSArgumentEvaluationScriptError@3$NSArgumentsWrongScriptError@6$NSAtomicWrite@1$NSAttributedStringEnumerationLongestEffectiveRangeNotRequired@1048576$NSAttributedStringEnumerationReverse@2$NSAttributedStringFormattingApplyReplacementIndexAttribute@2$NSAttributedStringFormattingInsertArgumentAttributesWithoutMerging@1$NSAttributedStringMarkdownInterpretedSyntaxFull@0$NSAttributedStringMarkdownInterpretedSyntaxInlineOnly@1$NSAttributedStringMarkdownInterpretedSyntaxInlineOnlyPreservingWhitespace@2$NSAttributedStringMarkdownParsingFailureReturnError@0$NSAttributedStringMarkdownParsingFailureReturnPartiallyParsedIfPossible@1$NSAutosavedInformationDirectory@11$NSBackgroundActivityResultDeferred@2$NSBackgroundActivityResultFinished@1$NSBackwardsSearch@4$NSBeginsWithComparison@5$NSBeginsWithPredicateOperatorType@8$NSBetweenPredicateOperatorType@100$NSBinarySearchingFirstEqual@256$NSBinarySearchingInsertionIndex@1024$NSBinarySearchingLastEqual@512$NSBlockExpressionType@19$NSBundleErrorMaximum@5119$NSBundleErrorMinimum@4992$NSBundleExecutableArchitectureARM64@16777228$NSBundleExecutableArchitectureI386@7$NSBundleExecutableArchitecturePPC@18$NSBundleExecutableArchitecturePPC64@16777234$NSBundleExecutableArchitectureX86_64@16777223$NSBundleOnDemandResourceExceededMaximumSizeError@4993$NSBundleOnDemandResourceInvalidTagError@4994$NSBundleOnDemandResourceOutOfSpaceError@4992$NSByteCountFormatterCountStyleBinary@3$NSByteCountFormatterCountStyleDecimal@2$NSByteCountFormatterCountStyleFile@0$NSByteCountFormatterCountStyleMemory@1$NSByteCountFormatterUseAll@65535$NSByteCountFormatterUseBytes@1$NSByteCountFormatterUseDefault@0$NSByteCountFormatterUseEB@64$NSByteCountFormatterUseGB@8$NSByteCountFormatterUseKB@2$NSByteCountFormatterUseMB@4$NSByteCountFormatterUsePB@32$NSByteCountFormatterUseTB@16$NSByteCountFormatterUseYBOrHigher@65280$NSByteCountFormatterUseZB@128$NSCachesDirectory@13$NSCalculationDivideByZero@4$NSCalculationLossOfPrecision@1$NSCalculationNoError@0$NSCalculationOverflow@3$NSCalculationUnderflow@2$NSCalendarCalendarUnit@1048576$NSCalendarMatchFirst@4096$NSCalendarMatchLast@8192$NSCalendarMatchNextTime@1024$NSCalendarMatchNextTimePreservingSmallerUnits@512$NSCalendarMatchPreviousTimePreservingSmallerUnits@256$NSCalendarMatchStrictly@2$NSCalendarSearchBackwards@4$NSCalendarUnitCalendar@1048576$NSCalendarUnitDay@16$NSCalendarUnitEra@2$NSCalendarUnitHour@32$NSCalendarUnitMinute@64$NSCalendarUnitMonth@8$NSCalendarUnitNanosecond@32768$NSCalendarUnitQuarter@2048$NSCalendarUnitSecond@128$NSCalendarUnitTimeZone@2097152$NSCalendarUnitWeekOfMonth@4096$NSCalendarUnitWeekOfYear@8192$NSCalendarUnitWeekday@512$NSCalendarUnitWeekdayOrdinal@1024$NSCalendarUnitYear@4$NSCalendarUnitYearForWeekOfYear@16384$NSCalendarWrapComponents@1$NSCannotCreateScriptCommandError@10$NSCaseInsensitivePredicateOption@1$NSCaseInsensitiveSearch@1$NSCloudSharingConflictError@5123$NSCloudSharingErrorMaximum@5375$NSCloudSharingErrorMinimum@5120$NSCloudSharingNetworkFailureError@5120$NSCloudSharingNoPermissionError@5124$NSCloudSharingOtherError@5375$NSCloudSharingQuotaExceededError@5121$NSCloudSharingTooManyParticipantsError@5122$NSCoderErrorMaximum@4991$NSCoderErrorMinimum@4864$NSCoderInvalidValueError@4866$NSCoderReadCorruptError@4864$NSCoderValueNotFoundError@4865$NSCollectionChangeInsert@0$NSCollectionChangeRemove@1$NSCollectorDisabledOption@2$NSCompressionErrorMaximum@5503$NSCompressionErrorMinimum@5376$NSCompressionFailedError@5376$NSConditionalExpressionType@20$NSConstantValueExpressionType@0$NSContainerSpecifierError@2$NSContainsComparison@7$NSContainsPredicateOperatorType@99$NSCoreServiceDirectory@10$NSCustomSelectorPredicateOperatorType@11$NSDataBase64DecodingIgnoreUnknownCharacters@1$NSDataBase64Encoding64CharacterLineLength@1$NSDataBase64Encoding76CharacterLineLength@2$NSDataBase64EncodingEndLineWithCarriageReturn@16$NSDataBase64EncodingEndLineWithLineFeed@32$NSDataCompressionAlgorithmLZ4@1$NSDataCompressionAlgorithmLZFSE@0$NSDataCompressionAlgorithmLZMA@2$NSDataCompressionAlgorithmZlib@3$NSDataReadingMapped@1$NSDataReadingMappedAlways@8$NSDataReadingMappedIfSafe@1$NSDataReadingUncached@2$NSDataSearchAnchored@2$NSDataSearchBackwards@1$NSDataWritingAtomic@1$NSDataWritingFileProtectionComplete@536870912$NSDataWritingFileProtectionCompleteUnlessOpen@805306368$NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication@1073741824$NSDataWritingFileProtectionMask@4026531840$NSDataWritingFileProtectionNone@268435456$NSDataWritingWithoutOverwriting@2$NSDateComponentUndefined@9223372036854775807$NSDateComponentsFormatterUnitsStyleAbbreviated@1$NSDateComponentsFormatterUnitsStyleBrief@5$NSDateComponentsFormatterUnitsStyleFull@3$NSDateComponentsFormatterUnitsStylePositional@0$NSDateComponentsFormatterUnitsStyleShort@2$NSDateComponentsFormatterUnitsStyleSpellOut@4$NSDateComponentsFormatterZeroFormattingBehaviorDefault@1$NSDateComponentsFormatterZeroFormattingBehaviorDropAll@14$NSDateComponentsFormatterZeroFormattingBehaviorDropLeading@2$NSDateComponentsFormatterZeroFormattingBehaviorDropMiddle@4$NSDateComponentsFormatterZeroFormattingBehaviorDropTrailing@8$NSDateComponentsFormatterZeroFormattingBehaviorNone@0$NSDateComponentsFormatterZeroFormattingBehaviorPad@65536$NSDateFormatterBehavior10_0@1000$NSDateFormatterBehavior10_4@1040$NSDateFormatterBehaviorDefault@0$NSDateFormatterFullStyle@4$NSDateFormatterLongStyle@3$NSDateFormatterMediumStyle@2$NSDateFormatterNoStyle@0$NSDateFormatterShortStyle@1$NSDateIntervalFormatterFullStyle@4$NSDateIntervalFormatterLongStyle@3$NSDateIntervalFormatterMediumStyle@2$NSDateIntervalFormatterNoStyle@0$NSDateIntervalFormatterShortStyle@1$NSDayCalendarUnit@16$NSDecimalMaxSize@8$NSDecodingFailurePolicyRaiseException@0$NSDecodingFailurePolicySetErrorAndReturn@1$NSDecompressionFailedError@5377$NSDemoApplicationDirectory@2$NSDesktopDirectory@12$NSDeveloperApplicationDirectory@3$NSDeveloperDirectory@6$NSDiacriticInsensitivePredicateOption@2$NSDiacriticInsensitiveSearch@128$NSDirectPredicateModifier@0$NSDirectoryEnumerationIncludesDirectoriesPostOrder@8$NSDirectoryEnumerationProducesRelativePathURLs@16$NSDirectoryEnumerationSkipsHiddenFiles@4$NSDirectoryEnumerationSkipsPackageDescendants@2$NSDirectoryEnumerationSkipsSubdirectoryDescendants@1$NSDistributedNotificationDeliverImmediately@1$NSDistributedNotificationPostToAllSessions@2$NSDocumentDirectory@9$NSDocumentationDirectory@8$NSDownloadsDirectory@15$NSEDGEINSETS_DEFINED@1$NSEndsWithComparison@6$NSEndsWithPredicateOperatorType@9$NSEnergyFormatterUnitCalorie@1793$NSEnergyFormatterUnitJoule@11$NSEnergyFormatterUnitKilocalorie@1794$NSEnergyFormatterUnitKilojoule@14$NSEnumerationConcurrent@1$NSEnumerationReverse@2$NSEqualToComparison@0$NSEqualToPredicateOperatorType@4$NSEraCalendarUnit@2$NSEvaluatedObjectExpressionType@1$NSEverySubelement@1$NSExecutableArchitectureMismatchError@3585$NSExecutableErrorMaximum@3839$NSExecutableErrorMinimum@3584$NSExecutableLinkError@3588$NSExecutableLoadError@3587$NSExecutableNotLoadableError@3584$NSExecutableRuntimeMismatchError@3586$NSFeatureUnsupportedError@3328$NSFileCoordinatorReadingForUploading@8$NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly@4$NSFileCoordinatorReadingResolvesSymbolicLink@2$NSFileCoordinatorReadingWithoutChanges@1$NSFileCoordinatorWritingContentIndependentMetadataOnly@16$NSFileCoordinatorWritingForDeleting@1$NSFileCoordinatorWritingForMerging@4$NSFileCoordinatorWritingForMoving@2$NSFileCoordinatorWritingForReplacing@8$NSFileErrorMaximum@1023$NSFileErrorMinimum@0$NSFileLockingError@255$NSFileManagerItemReplacementUsingNewMetadataOnly@1$NSFileManagerItemReplacementWithoutDeletingBackupItem@2$NSFileManagerUnmountAllPartitionsAndEjectDisk@1$NSFileManagerUnmountBusyError@769$NSFileManagerUnmountUnknownError@768$NSFileManagerUnmountWithoutUI@2$NSFileNoSuchFileError@4$NSFileReadCorruptFileError@259$NSFileReadInapplicableStringEncodingError@261$NSFileReadInvalidFileNameError@258$NSFileReadNoPermissionError@257$NSFileReadNoSuchFileError@260$NSFileReadTooLargeError@263$NSFileReadUnknownError@256$NSFileReadUnknownStringEncodingError@264$NSFileReadUnsupportedSchemeError@262$NSFileVersionAddingByMoving@1$NSFileVersionReplacingByMoving@1$NSFileWrapperReadingImmediate@1$NSFileWrapperReadingWithoutMapping@2$NSFileWrapperWritingAtomic@1$NSFileWrapperWritingWithNameUpdating@2$NSFileWriteFileExistsError@516$NSFileWriteInapplicableStringEncodingError@517$NSFileWriteInvalidFileNameError@514$NSFileWriteNoPermissionError@513$NSFileWriteOutOfSpaceError@640$NSFileWriteUnknownError@512$NSFileWriteUnsupportedSchemeError@518$NSFileWriteVolumeReadOnlyError@642$NSForcedOrderingSearch@512$NSFormattingContextBeginningOfSentence@4$NSFormattingContextDynamic@1$NSFormattingContextListItem@3$NSFormattingContextMiddleOfSentence@5$NSFormattingContextStandalone@2$NSFormattingContextUnknown@0$NSFormattingError@2048$NSFormattingErrorMaximum@2559$NSFormattingErrorMinimum@2048$NSFormattingUnitStyleLong@3$NSFormattingUnitStyleMedium@2$NSFormattingUnitStyleShort@1$NSFoundationVersionNumber10_10@1151.16$NSFoundationVersionNumber10_10_1@1151.16$NSFoundationVersionNumber10_10_2@1152.14$NSFoundationVersionNumber10_10_3@1153.2$NSFoundationVersionNumber10_10_4@1153.2$NSFoundationVersionNumber10_10_5@1154.0$NSFoundationVersionNumber10_10_Max@1199.0$NSFoundationVersionNumber10_11@1252.0$NSFoundationVersionNumber10_11_1@1255.1$NSFoundationVersionNumber10_11_2@1256.1$NSFoundationVersionNumber10_11_3@1256.1$NSFoundationVersionNumber10_11_4@1258.0$NSFoundationVersionNumber10_11_Max@1299.0$NSFoundationVersionNumber10_8@945.0$NSFoundationVersionNumber10_8_1@945.0$NSFoundationVersionNumber10_8_2@945.11$NSFoundationVersionNumber10_8_3@945.16$NSFoundationVersionNumber10_8_4@945.18$NSFoundationVersionNumber10_9@1056$NSFoundationVersionNumber10_9_1@1056$NSFoundationVersionNumber10_9_2@1056.13$NSFoundationVersionWithFileManagerResourceForkSupport@412$NSFunctionExpressionType@4$NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES@1$NSGrammaticalGenderFeminine@1$NSGrammaticalGenderMasculine@2$NSGrammaticalGenderNeuter@3$NSGrammaticalGenderNotSet@0$NSGrammaticalNumberNotSet@0$NSGrammaticalNumberPlural@3$NSGrammaticalNumberPluralFew@5$NSGrammaticalNumberPluralMany@6$NSGrammaticalNumberPluralTwo@4$NSGrammaticalNumberSingular@1$NSGrammaticalNumberZero@2$NSGrammaticalPartOfSpeechAbbreviation@14$NSGrammaticalPartOfSpeechAdjective@6$NSGrammaticalPartOfSpeechAdposition@7$NSGrammaticalPartOfSpeechAdverb@4$NSGrammaticalPartOfSpeechConjunction@10$NSGrammaticalPartOfSpeechDeterminer@1$NSGrammaticalPartOfSpeechInterjection@12$NSGrammaticalPartOfSpeechLetter@3$NSGrammaticalPartOfSpeechNotSet@0$NSGrammaticalPartOfSpeechNoun@9$NSGrammaticalPartOfSpeechNumeral@11$NSGrammaticalPartOfSpeechParticle@5$NSGrammaticalPartOfSpeechPreposition@13$NSGrammaticalPartOfSpeechPronoun@2$NSGrammaticalPartOfSpeechVerb@8$NSGreaterThanComparison@4$NSGreaterThanOrEqualToComparison@3$NSGreaterThanOrEqualToPredicateOperatorType@3$NSGreaterThanPredicateOperatorType@2$NSHPUXOperatingSystem@4$NSHTTPCookieAcceptPolicyAlways@0$NSHTTPCookieAcceptPolicyNever@1$NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain@2$NSHashTableCopyIn@65536$NSHashTableObjectPointerPersonality@512$NSHashTableStrongMemory@0$NSHashTableWeakMemory@5$NSHashTableZeroingWeakMemory@1$NSHourCalendarUnit@32$NSINTEGER_DEFINED@1$NSISO2022JPStringEncoding@21$NSISO8601DateFormatWithColonSeparatorInTime@512$NSISO8601DateFormatWithColonSeparatorInTimeZone@1024$NSISO8601DateFormatWithDashSeparatorInDate@256$NSISO8601DateFormatWithDay@16$NSISO8601DateFormatWithFractionalSeconds@2048$NSISO8601DateFormatWithFullDate@275$NSISO8601DateFormatWithFullTime@1632$NSISO8601DateFormatWithInternetDateTime@1907$NSISO8601DateFormatWithMonth@2$NSISO8601DateFormatWithSpaceBetweenDateAndTime@128$NSISO8601DateFormatWithTime@32$NSISO8601DateFormatWithTimeZone@64$NSISO8601DateFormatWithWeekOfYear@4$NSISO8601DateFormatWithYear@1$NSISOLatin1StringEncoding@5$NSISOLatin2StringEncoding@9$NSInPredicateOperatorType@10$NSIndexSubelement@0$NSInlinePresentationIntentBlockHTML@512$NSInlinePresentationIntentCode@4$NSInlinePresentationIntentEmphasized@1$NSInlinePresentationIntentInlineHTML@256$NSInlinePresentationIntentLineBreak@128$NSInlinePresentationIntentSoftBreak@64$NSInlinePresentationIntentStrikethrough@32$NSInlinePresentationIntentStronglyEmphasized@2$NSInputMethodsDirectory@16$NSInternalScriptError@8$NSInternalSpecifierError@5$NSIntersectSetExpressionType@6$NSInvalidIndexSpecifierError@4$NSItemProviderFileOptionOpenInPlace@1$NSItemProviderItemUnavailableError@-1000$NSItemProviderRepresentationVisibilityAll@0$NSItemProviderRepresentationVisibilityGroup@2$NSItemProviderRepresentationVisibilityOwnProcess@3$NSItemProviderRepresentationVisibilityTeam@1$NSItemProviderUnavailableCoercionError@-1200$NSItemProviderUnexpectedValueClassError@-1100$NSItemProviderUnknownError@-1$NSItemReplacementDirectory@99$NSJSONReadingAllowFragments@4$NSJSONReadingFragmentsAllowed@4$NSJSONReadingJSON5Allowed@8$NSJSONReadingMutableContainers@1$NSJSONReadingMutableLeaves@2$NSJSONReadingTopLevelDictionaryAssumed@16$NSJSONWritingFragmentsAllowed@4$NSJSONWritingPrettyPrinted@1$NSJSONWritingSortedKeys@2$NSJSONWritingWithoutEscapingSlashes@8$NSJapaneseEUCStringEncoding@3$NSKeyPathExpressionType@3$NSKeySpecifierEvaluationScriptError@2$NSKeyValueChangeInsertion@2$NSKeyValueChangeRemoval@3$NSKeyValueChangeReplacement@4$NSKeyValueChangeSetting@1$NSKeyValueIntersectSetMutation@3$NSKeyValueMinusSetMutation@2$NSKeyValueObservingOptionInitial@4$NSKeyValueObservingOptionNew@1$NSKeyValueObservingOptionOld@2$NSKeyValueObservingOptionPrior@8$NSKeyValueSetSetMutation@4$NSKeyValueUnionSetMutation@1$NSKeyValueValidationError@1024$NSLengthFormatterUnitCentimeter@9$NSLengthFormatterUnitFoot@1282$NSLengthFormatterUnitInch@1281$NSLengthFormatterUnitKilometer@14$NSLengthFormatterUnitMeter@11$NSLengthFormatterUnitMile@1284$NSLengthFormatterUnitMillimeter@8$NSLengthFormatterUnitYard@1283$NSLessThanComparison@2$NSLessThanOrEqualToComparison@1$NSLessThanOrEqualToPredicateOperatorType@1$NSLessThanPredicateOperatorType@0$NSLibraryDirectory@5$NSLikePredicateOperatorType@7$NSLinguisticTaggerJoinNames@16$NSLinguisticTaggerOmitOther@8$NSLinguisticTaggerOmitPunctuation@2$NSLinguisticTaggerOmitWhitespace@4$NSLinguisticTaggerOmitWords@1$NSLinguisticTaggerUnitDocument@3$NSLinguisticTaggerUnitParagraph@2$NSLinguisticTaggerUnitSentence@1$NSLinguisticTaggerUnitWord@0$NSLiteralSearch@2$NSLocalDomainMask@2$NSLocaleLanguageDirectionBottomToTop@4$NSLocaleLanguageDirectionLeftToRight@1$NSLocaleLanguageDirectionRightToLeft@2$NSLocaleLanguageDirectionTopToBottom@3$NSLocaleLanguageDirectionUnknown@0$NSMACHOperatingSystem@5$NSMacOSRomanStringEncoding@30$NSMachPortDeallocateNone@0$NSMachPortDeallocateReceiveRight@2$NSMachPortDeallocateSendRight@1$NSMapTableCopyIn@65536$NSMapTableObjectPointerPersonality@512$NSMapTableStrongMemory@0$NSMapTableWeakMemory@5$NSMapTableZeroingWeakMemory@1$NSMappedRead@1$NSMassFormatterUnitGram@11$NSMassFormatterUnitKilogram@14$NSMassFormatterUnitOunce@1537$NSMassFormatterUnitPound@1538$NSMassFormatterUnitStone@1539$NSMatchesPredicateOperatorType@6$NSMatchingAnchored@4$NSMatchingCompleted@2$NSMatchingHitEnd@4$NSMatchingInternalError@16$NSMatchingProgress@1$NSMatchingReportCompletion@2$NSMatchingReportProgress@1$NSMatchingRequiredEnd@8$NSMatchingWithTransparentBounds@8$NSMatchingWithoutAnchoringBounds@16$NSMaxXEdge@2$NSMaxYEdge@3$NSMaximumStringLength@9223372036854775807$NSMeasurementFormatterUnitOptionsNaturalScale@2$NSMeasurementFormatterUnitOptionsProvidedUnit@1$NSMeasurementFormatterUnitOptionsTemperatureWithoutUnit@4$NSMiddleSubelement@2$NSMinXEdge@0$NSMinYEdge@1$NSMinusSetExpressionType@7$NSMinuteCalendarUnit@64$NSMonthCalendarUnit@8$NSMoviesDirectory@17$NSMusicDirectory@18$NSNEXTSTEPStringEncoding@2$NSNetServiceListenForConnections@2$NSNetServiceNoAutoRename@1$NSNetServicesActivityInProgress@-72003$NSNetServicesBadArgumentError@-72004$NSNetServicesCancelledError@-72005$NSNetServicesCollisionError@-72001$NSNetServicesInvalidError@-72006$NSNetServicesMissingRequiredConfigurationError@-72008$NSNetServicesNotFoundError@-72002$NSNetServicesTimeoutError@-72007$NSNetServicesUnknownError@-72000$NSNetworkDomainMask@4$NSNoScriptError@0$NSNoSpecifierError@0$NSNoSubelement@4$NSNoTopLevelContainersSpecifierError@1$NSNonLossyASCIIStringEncoding@7$NSNormalizedPredicateOption@4$NSNotEqualToPredicateOperatorType@5$NSNotFound@9223372036854775807$NSNotPredicateType@0$NSNotificationCoalescingOnName@1$NSNotificationCoalescingOnSender@2$NSNotificationDeliverImmediately@1$NSNotificationNoCoalescing@0$NSNotificationPostToAllSessions@2$NSNotificationSuspensionBehaviorCoalesce@2$NSNotificationSuspensionBehaviorDeliverImmediately@4$NSNotificationSuspensionBehaviorDrop@1$NSNotificationSuspensionBehaviorHold@3$NSNumberFormatterBehavior10_0@1000$NSNumberFormatterBehavior10_4@1040$NSNumberFormatterBehaviorDefault@0$NSNumberFormatterCurrencyAccountingStyle@10$NSNumberFormatterCurrencyISOCodeStyle@8$NSNumberFormatterCurrencyPluralStyle@9$NSNumberFormatterCurrencyStyle@2$NSNumberFormatterDecimalStyle@1$NSNumberFormatterNoStyle@0$NSNumberFormatterOrdinalStyle@6$NSNumberFormatterPadAfterPrefix@1$NSNumberFormatterPadAfterSuffix@3$NSNumberFormatterPadBeforePrefix@0$NSNumberFormatterPadBeforeSuffix@2$NSNumberFormatterPercentStyle@3$NSNumberFormatterRoundCeiling@0$NSNumberFormatterRoundDown@2$NSNumberFormatterRoundFloor@1$NSNumberFormatterRoundHalfDown@5$NSNumberFormatterRoundHalfEven@4$NSNumberFormatterRoundHalfUp@6$NSNumberFormatterRoundUp@3$NSNumberFormatterScientificStyle@4$NSNumberFormatterSpellOutStyle@5$NSNumericSearch@64$NSOSF1OperatingSystem@7$NSObjectAutoreleasedEvent@3$NSObjectExtraRefDecrementedEvent@5$NSObjectExtraRefIncrementedEvent@4$NSObjectInternalRefDecrementedEvent@7$NSObjectInternalRefIncrementedEvent@6$NSOpenStepUnicodeReservedBase@62464$NSOperationNotSupportedForKeyScriptError@9$NSOperationNotSupportedForKeySpecifierError@6$NSOperationQueueDefaultMaxConcurrentOperationCount@-1$NSOperationQueuePriorityHigh@4$NSOperationQueuePriorityLow@-4$NSOperationQueuePriorityNormal@0$NSOperationQueuePriorityVeryHigh@8$NSOperationQueuePriorityVeryLow@-8$NSOrPredicateType@2$NSOrderedAscending@-1$NSOrderedCollectionDifferenceCalculationInferMoves@4$NSOrderedCollectionDifferenceCalculationOmitInsertedObjects@1$NSOrderedCollectionDifferenceCalculationOmitRemovedObjects@2$NSOrderedDescending@1$NSOrderedSame@0$NSPersonNameComponentsFormatterPhonetic@2$NSPersonNameComponentsFormatterStyleAbbreviated@4$NSPersonNameComponentsFormatterStyleDefault@0$NSPersonNameComponentsFormatterStyleLong@3$NSPersonNameComponentsFormatterStyleMedium@2$NSPersonNameComponentsFormatterStyleShort@1$NSPicturesDirectory@19$NSPointerFunctionsCStringPersonality@768$NSPointerFunctionsCopyIn@65536$NSPointerFunctionsIntegerPersonality@1280$NSPointerFunctionsMachVirtualMemory@4$NSPointerFunctionsMallocMemory@3$NSPointerFunctionsObjectPersonality@0$NSPointerFunctionsObjectPointerPersonality@512$NSPointerFunctionsOpaqueMemory@2$NSPointerFunctionsOpaquePersonality@256$NSPointerFunctionsStrongMemory@0$NSPointerFunctionsStructPersonality@1024$NSPointerFunctionsWeakMemory@5$NSPointerFunctionsZeroingWeakMemory@1$NSPositionAfter@0$NSPositionBefore@1$NSPositionBeginning@2$NSPositionEnd@3$NSPositionReplace@4$NSPostASAP@2$NSPostNow@3$NSPostWhenIdle@1$NSPreferencePanesDirectory@22$NSPresentationIntentKindBlockQuote@6$NSPresentationIntentKindCodeBlock@5$NSPresentationIntentKindHeader@1$NSPresentationIntentKindListItem@4$NSPresentationIntentKindOrderedList@2$NSPresentationIntentKindParagraph@0$NSPresentationIntentKindTable@8$NSPresentationIntentKindTableCell@11$NSPresentationIntentKindTableHeaderRow@9$NSPresentationIntentKindTableRow@10$NSPresentationIntentKindThematicBreak@7$NSPresentationIntentKindUnorderedList@3$NSPresentationIntentTableColumnAlignmentCenter@1$NSPresentationIntentTableColumnAlignmentLeft@0$NSPresentationIntentTableColumnAlignmentRight@2$NSPrinterDescriptionDirectory@20$NSProcessInfoThermalStateCritical@3$NSProcessInfoThermalStateFair@1$NSProcessInfoThermalStateNominal@0$NSProcessInfoThermalStateSerious@2$NSPropertyListBinaryFormat_v1_0@200$NSPropertyListErrorMaximum@4095$NSPropertyListErrorMinimum@3840$NSPropertyListImmutable@0$NSPropertyListMutableContainers@1$NSPropertyListMutableContainersAndLeaves@2$NSPropertyListOpenStepFormat@1$NSPropertyListReadCorruptError@3840$NSPropertyListReadStreamError@3842$NSPropertyListReadUnknownVersionError@3841$NSPropertyListWriteInvalidError@3852$NSPropertyListWriteStreamError@3851$NSPropertyListXMLFormat_v1_0@100$NSProprietaryStringEncoding@65536$NSQualityOfServiceBackground@9$NSQualityOfServiceDefault@-1$NSQualityOfServiceUserInitiated@25$NSQualityOfServiceUserInteractive@33$NSQualityOfServiceUtility@17$NSQuarterCalendarUnit@2048$NSRandomSubelement@3$NSReceiverEvaluationScriptError@1$NSReceiversCantHandleCommandScriptError@4$NSRectEdgeMaxX@2$NSRectEdgeMaxY@3$NSRectEdgeMinX@0$NSRectEdgeMinY@1$NSRegularExpressionAllowCommentsAndWhitespace@2$NSRegularExpressionAnchorsMatchLines@16$NSRegularExpressionCaseInsensitive@1$NSRegularExpressionDotMatchesLineSeparators@8$NSRegularExpressionIgnoreMetacharacters@4$NSRegularExpressionSearch@1024$NSRegularExpressionUseUnicodeWordBoundaries@64$NSRegularExpressionUseUnixLineSeparators@32$NSRelativeAfter@0$NSRelativeBefore@1$NSRelativeDateTimeFormatterStyleNamed@1$NSRelativeDateTimeFormatterStyleNumeric@0$NSRelativeDateTimeFormatterUnitsStyleAbbreviated@3$NSRelativeDateTimeFormatterUnitsStyleFull@0$NSRelativeDateTimeFormatterUnitsStyleShort@2$NSRelativeDateTimeFormatterUnitsStyleSpellOut@1$NSRequiredArgumentsMissingScriptError@5$NSRoundBankers@3$NSRoundDown@1$NSRoundPlain@0$NSRoundUp@2$NSSaveOptionsAsk@2$NSSaveOptionsNo@1$NSSaveOptionsYes@0$NSScannedOption@1$NSSecondCalendarUnit@128$NSSharedPublicDirectory@21$NSShiftJISStringEncoding@8$NSSolarisOperatingSystem@3$NSSortConcurrent@1$NSSortStable@16$NSStreamEventEndEncountered@16$NSStreamEventErrorOccurred@8$NSStreamEventHasBytesAvailable@2$NSStreamEventHasSpaceAvailable@4$NSStreamEventNone@0$NSStreamEventOpenCompleted@1$NSStreamStatusAtEnd@5$NSStreamStatusClosed@6$NSStreamStatusError@7$NSStreamStatusNotOpen@0$NSStreamStatusOpen@2$NSStreamStatusOpening@1$NSStreamStatusReading@3$NSStreamStatusWriting@4$NSStringEncodingConversionAllowLossy@1$NSStringEncodingConversionExternalRepresentation@2$NSStringEnumerationByCaretPositions@5$NSStringEnumerationByComposedCharacterSequences@2$NSStringEnumerationByDeletionClusters@6$NSStringEnumerationByLines@0$NSStringEnumerationByParagraphs@1$NSStringEnumerationBySentences@4$NSStringEnumerationByWords@3$NSStringEnumerationLocalized@1024$NSStringEnumerationReverse@256$NSStringEnumerationSubstringNotRequired@512$NSSubqueryExpressionType@13$NSSunOSOperatingSystem@6$NSSymbolStringEncoding@6$NSSystemDomainMask@8$NSTaskTerminationReasonExit@1$NSTaskTerminationReasonUncaughtSignal@2$NSTextCheckingAllCustomTypes@18446744069414584320$NSTextCheckingAllSystemTypes@4294967295$NSTextCheckingAllTypes@18446744073709551615$NSTextCheckingTypeAddress@16$NSTextCheckingTypeCorrection@512$NSTextCheckingTypeDash@128$NSTextCheckingTypeDate@8$NSTextCheckingTypeGrammar@4$NSTextCheckingTypeLink@32$NSTextCheckingTypeOrthography@1$NSTextCheckingTypePhoneNumber@2048$NSTextCheckingTypeQuote@64$NSTextCheckingTypeRegularExpression@1024$NSTextCheckingTypeReplacement@256$NSTextCheckingTypeSpelling@2$NSTextCheckingTypeTransitInformation@4096$NSTimeZoneCalendarUnit@2097152$NSTimeZoneNameStyleDaylightSaving@2$NSTimeZoneNameStyleGeneric@4$NSTimeZoneNameStyleShortDaylightSaving@3$NSTimeZoneNameStyleShortGeneric@5$NSTimeZoneNameStyleShortStandard@1$NSTimeZoneNameStyleStandard@0$NSTrashDirectory@102$NSURLBookmarkCreationMinimalBookmark@512$NSURLBookmarkCreationPreferFileIDResolution@256$NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess@4096$NSURLBookmarkCreationSuitableForBookmarkFile@1024$NSURLBookmarkCreationWithSecurityScope@2048$NSURLBookmarkCreationWithoutImplicitSecurityScope@536870912$NSURLBookmarkResolutionWithSecurityScope@1024$NSURLBookmarkResolutionWithoutImplicitStartAccessing@32768$NSURLBookmarkResolutionWithoutMounting@512$NSURLBookmarkResolutionWithoutUI@256$NSURLCacheStorageAllowed@0$NSURLCacheStorageAllowedInMemoryOnly@1$NSURLCacheStorageNotAllowed@2$NSURLCredentialPersistenceForSession@1$NSURLCredentialPersistenceNone@0$NSURLCredentialPersistencePermanent@2$NSURLCredentialPersistenceSynchronizable@3$NSURLErrorAppTransportSecurityRequiresSecureConnection@-1022$NSURLErrorBackgroundSessionInUseByAnotherProcess@-996$NSURLErrorBackgroundSessionRequiresSharedContainer@-995$NSURLErrorBackgroundSessionWasDisconnected@-997$NSURLErrorBadServerResponse@-1011$NSURLErrorBadURL@-1000$NSURLErrorCallIsActive@-1019$NSURLErrorCancelled@-999$NSURLErrorCancelledReasonBackgroundUpdatesDisabled@1$NSURLErrorCancelledReasonInsufficientSystemResources@2$NSURLErrorCancelledReasonUserForceQuitApplication@0$NSURLErrorCannotCloseFile@-3002$NSURLErrorCannotConnectToHost@-1004$NSURLErrorCannotCreateFile@-3000$NSURLErrorCannotDecodeContentData@-1016$NSURLErrorCannotDecodeRawData@-1015$NSURLErrorCannotFindHost@-1003$NSURLErrorCannotLoadFromNetwork@-2000$NSURLErrorCannotMoveFile@-3005$NSURLErrorCannotOpenFile@-3001$NSURLErrorCannotParseResponse@-1017$NSURLErrorCannotRemoveFile@-3004$NSURLErrorCannotWriteToFile@-3003$NSURLErrorClientCertificateRejected@-1205$NSURLErrorClientCertificateRequired@-1206$NSURLErrorDNSLookupFailed@-1006$NSURLErrorDataLengthExceedsMaximum@-1103$NSURLErrorDataNotAllowed@-1020$NSURLErrorDownloadDecodingFailedMidStream@-3006$NSURLErrorDownloadDecodingFailedToComplete@-3007$NSURLErrorFileDoesNotExist@-1100$NSURLErrorFileIsDirectory@-1101$NSURLErrorFileOutsideSafeArea@-1104$NSURLErrorHTTPTooManyRedirects@-1007$NSURLErrorInternationalRoamingOff@-1018$NSURLErrorNetworkConnectionLost@-1005$NSURLErrorNetworkUnavailableReasonCellular@0$NSURLErrorNetworkUnavailableReasonConstrained@2$NSURLErrorNetworkUnavailableReasonExpensive@1$NSURLErrorNoPermissionsToReadFile@-1102$NSURLErrorNotConnectedToInternet@-1009$NSURLErrorRedirectToNonExistentLocation@-1010$NSURLErrorRequestBodyStreamExhausted@-1021$NSURLErrorResourceUnavailable@-1008$NSURLErrorSecureConnectionFailed@-1200$NSURLErrorServerCertificateHasBadDate@-1201$NSURLErrorServerCertificateHasUnknownRoot@-1203$NSURLErrorServerCertificateNotYetValid@-1204$NSURLErrorServerCertificateUntrusted@-1202$NSURLErrorTimedOut@-1001$NSURLErrorUnknown@-1$NSURLErrorUnsupportedURL@-1002$NSURLErrorUserAuthenticationRequired@-1013$NSURLErrorUserCancelledAuthentication@-1012$NSURLErrorZeroByteResource@-1014$NSURLHandleLoadFailed@3$NSURLHandleLoadInProgress@2$NSURLHandleLoadSucceeded@1$NSURLHandleNotLoaded@0$NSURLNetworkServiceTypeAVStreaming@8$NSURLNetworkServiceTypeBackground@3$NSURLNetworkServiceTypeCallSignaling@11$NSURLNetworkServiceTypeDefault@0$NSURLNetworkServiceTypeResponsiveAV@9$NSURLNetworkServiceTypeResponsiveData@6$NSURLNetworkServiceTypeVideo@2$NSURLNetworkServiceTypeVoIP@1$NSURLNetworkServiceTypeVoice@4$NSURLRelationshipContains@0$NSURLRelationshipOther@2$NSURLRelationshipSame@1$NSURLRequestAttributionDeveloper@0$NSURLRequestAttributionUser@1$NSURLRequestReloadIgnoringCacheData@1$NSURLRequestReloadIgnoringLocalAndRemoteCacheData@4$NSURLRequestReloadIgnoringLocalCacheData@1$NSURLRequestReloadRevalidatingCacheData@5$NSURLRequestReturnCacheDataDontLoad@3$NSURLRequestReturnCacheDataElseLoad@2$NSURLRequestUseProtocolCachePolicy@0$NSURLResponseUnknownLength@-1$NSURLSessionAuthChallengeCancelAuthenticationChallenge@2$NSURLSessionAuthChallengePerformDefaultHandling@1$NSURLSessionAuthChallengeRejectProtectionSpace@3$NSURLSessionAuthChallengeUseCredential@0$NSURLSessionDelayedRequestCancel@2$NSURLSessionDelayedRequestContinueLoading@0$NSURLSessionDelayedRequestUseNewRequest@1$NSURLSessionMultipathServiceTypeAggregate@3$NSURLSessionMultipathServiceTypeHandover@1$NSURLSessionMultipathServiceTypeInteractive@2$NSURLSessionMultipathServiceTypeNone@0$NSURLSessionResponseAllow@1$NSURLSessionResponseBecomeDownload@2$NSURLSessionResponseBecomeStream@3$NSURLSessionResponseCancel@0$NSURLSessionTaskMetricsDomainResolutionProtocolHTTPS@4$NSURLSessionTaskMetricsDomainResolutionProtocolTCP@2$NSURLSessionTaskMetricsDomainResolutionProtocolTLS@3$NSURLSessionTaskMetricsDomainResolutionProtocolUDP@1$NSURLSessionTaskMetricsDomainResolutionProtocolUnknown@0$NSURLSessionTaskMetricsResourceFetchTypeLocalCache@3$NSURLSessionTaskMetricsResourceFetchTypeNetworkLoad@1$NSURLSessionTaskMetricsResourceFetchTypeServerPush@2$NSURLSessionTaskMetricsResourceFetchTypeUnknown@0$NSURLSessionTaskStateCanceling@2$NSURLSessionTaskStateCompleted@3$NSURLSessionTaskStateRunning@0$NSURLSessionTaskStateSuspended@1$NSURLSessionWebSocketCloseCodeAbnormalClosure@1006$NSURLSessionWebSocketCloseCodeGoingAway@1001$NSURLSessionWebSocketCloseCodeInternalServerError@1011$NSURLSessionWebSocketCloseCodeInvalid@0$NSURLSessionWebSocketCloseCodeInvalidFramePayloadData@1007$NSURLSessionWebSocketCloseCodeMandatoryExtensionMissing@1010$NSURLSessionWebSocketCloseCodeMessageTooBig@1009$NSURLSessionWebSocketCloseCodeNoStatusReceived@1005$NSURLSessionWebSocketCloseCodeNormalClosure@1000$NSURLSessionWebSocketCloseCodePolicyViolation@1008$NSURLSessionWebSocketCloseCodeProtocolError@1002$NSURLSessionWebSocketCloseCodeTLSHandshakeFailure@1015$NSURLSessionWebSocketCloseCodeUnsupportedData@1003$NSURLSessionWebSocketMessageTypeData@0$NSURLSessionWebSocketMessageTypeString@1$NSUTF16BigEndianStringEncoding@2415919360$NSUTF16LittleEndianStringEncoding@2483028224$NSUTF16StringEncoding@10$NSUTF32BigEndianStringEncoding@2550137088$NSUTF32LittleEndianStringEncoding@2617245952$NSUTF32StringEncoding@2348810496$NSUTF8StringEncoding@4$NSUbiquitousFileErrorMaximum@4607$NSUbiquitousFileErrorMinimum@4352$NSUbiquitousFileNotUploadedDueToQuotaError@4354$NSUbiquitousFileUbiquityServerNotAvailable@4355$NSUbiquitousFileUnavailableError@4353$NSUbiquitousKeyValueStoreAccountChange@3$NSUbiquitousKeyValueStoreInitialSyncChange@1$NSUbiquitousKeyValueStoreQuotaViolationChange@2$NSUbiquitousKeyValueStoreServerChange@0$NSUncachedRead@2$NSUndefinedDateComponent@9223372036854775807$NSUndoCloseGroupingRunLoopOrdering@350000$NSUnicodeStringEncoding@10$NSUnionSetExpressionType@5$NSUnknownKeyScriptError@7$NSUnknownKeySpecifierError@3$NSUserActivityConnectionUnavailableError@4609$NSUserActivityErrorMaximum@4863$NSUserActivityErrorMinimum@4608$NSUserActivityHandoffFailedError@4608$NSUserActivityHandoffUserInfoTooLargeError@4611$NSUserActivityRemoteApplicationTimedOutError@4610$NSUserCancelledError@3072$NSUserDirectory@7$NSUserDomainMask@1$NSUserNotificationActivationTypeActionButtonClicked@2$NSUserNotificationActivationTypeAdditionalActionClicked@4$NSUserNotificationActivationTypeContentsClicked@1$NSUserNotificationActivationTypeNone@0$NSUserNotificationActivationTypeReplied@3$NSValidationErrorMaximum@2047$NSValidationErrorMinimum@1024$NSVariableExpressionType@2$NSVolumeEnumerationProduceFileReferenceURLs@4$NSVolumeEnumerationSkipHiddenVolumes@2$NSWeekCalendarUnit@256$NSWeekOfMonthCalendarUnit@4096$NSWeekOfYearCalendarUnit@8192$NSWeekdayCalendarUnit@512$NSWeekdayOrdinalCalendarUnit@1024$NSWidthInsensitiveSearch@256$NSWindows95OperatingSystem@2$NSWindowsCP1250StringEncoding@15$NSWindowsCP1251StringEncoding@11$NSWindowsCP1252StringEncoding@12$NSWindowsCP1253StringEncoding@13$NSWindowsCP1254StringEncoding@14$NSWindowsNTOperatingSystem@1$NSWrapCalendarComponents@1$NSXMLAttributeCDATAKind@6$NSXMLAttributeDeclarationKind@10$NSXMLAttributeEntitiesKind@11$NSXMLAttributeEntityKind@10$NSXMLAttributeEnumerationKind@14$NSXMLAttributeIDKind@7$NSXMLAttributeIDRefKind@8$NSXMLAttributeIDRefsKind@9$NSXMLAttributeKind@3$NSXMLAttributeNMTokenKind@12$NSXMLAttributeNMTokensKind@13$NSXMLAttributeNotationKind@15$NSXMLCommentKind@6$NSXMLDTDKind@8$NSXMLDocumentHTMLKind@2$NSXMLDocumentIncludeContentTypeDeclaration@262144$NSXMLDocumentKind@1$NSXMLDocumentTextKind@3$NSXMLDocumentTidyHTML@512$NSXMLDocumentTidyXML@1024$NSXMLDocumentValidate@8192$NSXMLDocumentXHTMLKind@1$NSXMLDocumentXInclude@65536$NSXMLDocumentXMLKind@0$NSXMLElementDeclarationAnyKind@18$NSXMLElementDeclarationElementKind@20$NSXMLElementDeclarationEmptyKind@17$NSXMLElementDeclarationKind@11$NSXMLElementDeclarationMixedKind@19$NSXMLElementDeclarationUndefinedKind@16$NSXMLElementKind@2$NSXMLEntityDeclarationKind@9$NSXMLEntityGeneralKind@1$NSXMLEntityParameterKind@4$NSXMLEntityParsedKind@2$NSXMLEntityPredefined@5$NSXMLEntityUnparsedKind@3$NSXMLInvalidKind@0$NSXMLNamespaceKind@4$NSXMLNodeCompactEmptyElement@4$NSXMLNodeExpandEmptyElement@2$NSXMLNodeIsCDATA@1$NSXMLNodeLoadExternalEntitiesAlways@16384$NSXMLNodeLoadExternalEntitiesNever@524288$NSXMLNodeLoadExternalEntitiesSameOriginOnly@32768$NSXMLNodeNeverEscapeContents@32$NSXMLNodeOptionsNone@0$NSXMLNodePreserveAll@4293918750$NSXMLNodePreserveAttributeOrder@2097152$NSXMLNodePreserveCDATA@16777216$NSXMLNodePreserveCharacterReferences@134217728$NSXMLNodePreserveDTD@67108864$NSXMLNodePreserveEmptyElements@6$NSXMLNodePreserveEntities@4194304$NSXMLNodePreserveNamespaceOrder@1048576$NSXMLNodePreservePrefixes@8388608$NSXMLNodePreserveQuotes@24$NSXMLNodePreserveWhitespace@33554432$NSXMLNodePrettyPrint@131072$NSXMLNodePromoteSignificantWhitespace@268435456$NSXMLNodeUseDoubleQuotes@16$NSXMLNodeUseSingleQuotes@8$NSXMLNotationDeclarationKind@12$NSXMLParserAttributeHasNoValueError@41$NSXMLParserAttributeListNotFinishedError@51$NSXMLParserAttributeListNotStartedError@50$NSXMLParserAttributeNotFinishedError@40$NSXMLParserAttributeNotStartedError@39$NSXMLParserAttributeRedefinedError@42$NSXMLParserCDATANotFinishedError@63$NSXMLParserCharacterRefAtEOFError@10$NSXMLParserCharacterRefInDTDError@13$NSXMLParserCharacterRefInEpilogError@12$NSXMLParserCharacterRefInPrologError@11$NSXMLParserCommentContainsDoubleHyphenError@80$NSXMLParserCommentNotFinishedError@45$NSXMLParserConditionalSectionNotFinishedError@59$NSXMLParserConditionalSectionNotStartedError@58$NSXMLParserDOCTYPEDeclNotFinishedError@61$NSXMLParserDelegateAbortedParseError@512$NSXMLParserDocumentStartError@3$NSXMLParserElementContentDeclNotFinishedError@55$NSXMLParserElementContentDeclNotStartedError@54$NSXMLParserEmptyDocumentError@4$NSXMLParserEncodingNotSupportedError@32$NSXMLParserEntityBoundaryError@90$NSXMLParserEntityIsExternalError@29$NSXMLParserEntityIsParameterError@30$NSXMLParserEntityNotFinishedError@37$NSXMLParserEntityNotStartedError@36$NSXMLParserEntityRefAtEOFError@14$NSXMLParserEntityRefInDTDError@17$NSXMLParserEntityRefInEpilogError@16$NSXMLParserEntityRefInPrologError@15$NSXMLParserEntityRefLoopError@89$NSXMLParserEntityReferenceMissingSemiError@23$NSXMLParserEntityReferenceWithoutNameError@22$NSXMLParserEntityValueRequiredError@84$NSXMLParserEqualExpectedError@75$NSXMLParserExternalStandaloneEntityError@82$NSXMLParserExternalSubsetNotFinishedError@60$NSXMLParserExtraContentError@86$NSXMLParserGTRequiredError@73$NSXMLParserInternalError@1$NSXMLParserInvalidCharacterError@9$NSXMLParserInvalidCharacterInEntityError@87$NSXMLParserInvalidCharacterRefError@8$NSXMLParserInvalidConditionalSectionError@83$NSXMLParserInvalidDecimalCharacterRefError@7$NSXMLParserInvalidEncodingError@81$NSXMLParserInvalidEncodingNameError@79$NSXMLParserInvalidHexCharacterRefError@6$NSXMLParserInvalidURIError@91$NSXMLParserLTRequiredError@72$NSXMLParserLTSlashRequiredError@74$NSXMLParserLessThanSymbolInAttributeError@38$NSXMLParserLiteralNotFinishedError@44$NSXMLParserLiteralNotStartedError@43$NSXMLParserMisplacedCDATAEndStringError@62$NSXMLParserMisplacedXMLDeclarationError@64$NSXMLParserMixedContentDeclNotFinishedError@53$NSXMLParserMixedContentDeclNotStartedError@52$NSXMLParserNAMERequiredError@68$NSXMLParserNMTOKENRequiredError@67$NSXMLParserNamespaceDeclarationError@35$NSXMLParserNoDTDError@94$NSXMLParserNotWellBalancedError@85$NSXMLParserNotationNotFinishedError@49$NSXMLParserNotationNotStartedError@48$NSXMLParserOutOfMemoryError@2$NSXMLParserPCDATARequiredError@69$NSXMLParserParsedEntityRefAtEOFError@18$NSXMLParserParsedEntityRefInEpilogError@20$NSXMLParserParsedEntityRefInInternalError@88$NSXMLParserParsedEntityRefInInternalSubsetError@21$NSXMLParserParsedEntityRefInPrologError@19$NSXMLParserParsedEntityRefMissingSemiError@25$NSXMLParserParsedEntityRefNoNameError@24$NSXMLParserPrematureDocumentEndError@5$NSXMLParserProcessingInstructionNotFinishedError@47$NSXMLParserProcessingInstructionNotStartedError@46$NSXMLParserPublicIdentifierRequiredError@71$NSXMLParserResolveExternalEntitiesAlways@3$NSXMLParserResolveExternalEntitiesNever@0$NSXMLParserResolveExternalEntitiesNoNetwork@1$NSXMLParserResolveExternalEntitiesSameOriginOnly@2$NSXMLParserSeparatorRequiredError@66$NSXMLParserSpaceRequiredError@65$NSXMLParserStandaloneValueError@78$NSXMLParserStringNotClosedError@34$NSXMLParserStringNotStartedError@33$NSXMLParserTagNameMismatchError@76$NSXMLParserURIFragmentError@92$NSXMLParserURIRequiredError@70$NSXMLParserUndeclaredEntityError@26$NSXMLParserUnfinishedTagError@77$NSXMLParserUnknownEncodingError@31$NSXMLParserUnparsedEntityError@28$NSXMLParserXMLDeclNotFinishedError@57$NSXMLParserXMLDeclNotStartedError@56$NSXMLProcessingInstructionKind@5$NSXMLTextKind@7$NSXPCConnectionErrorMaximum@4224$NSXPCConnectionErrorMinimum@4096$NSXPCConnectionInterrupted@4097$NSXPCConnectionInvalid@4099$NSXPCConnectionPrivileged@4096$NSXPCConnectionReplyInvalid@4101$NSYearCalendarUnit@4$NSYearForWeekOfYearCalendarUnit@16384$NS_BLOCKS_AVAILABLE@1$NS_BigEndian@2$NS_LittleEndian@1$NS_UNICHAR_IS_EIGHT_BIT@0$NS_UnknownByteOrder@0$""" -misc.update( - { - "NSOrderedCollectionDifferenceCalculationOptions": NewType( - "NSOrderedCollectionDifferenceCalculationOptions", int - ), - "NSURLRequestNetworkServiceType": NewType( - "NSURLRequestNetworkServiceType", int - ), - "NSDataBase64DecodingOptions": NewType("NSDataBase64DecodingOptions", int), - "NSURLSessionResponseDisposition": NewType( - "NSURLSessionResponseDisposition", int - ), - "NSCalculationError": NewType("NSCalculationError", int), - "NSKeyValueObservingOptions": NewType("NSKeyValueObservingOptions", int), - "NSJSONReadingOptions": NewType("NSJSONReadingOptions", int), - "NSDataWritingOptions": NewType("NSDataWritingOptions", int), - "NSMachPortOptions": NewType("NSMachPortOptions", int), - "NSPostingStyle": NewType("NSPostingStyle", int), - "NSNumberFormatterBehavior": NewType("NSNumberFormatterBehavior", int), - "NSDecodingFailurePolicy": NewType("NSDecodingFailurePolicy", int), - "NSXMLNodeOptions": NewType("NSXMLNodeOptions", int), - "NSExpressionType": NewType("NSExpressionType", int), - "NSByteCountFormatterCountStyle": NewType( - "NSByteCountFormatterCountStyle", int - ), - "NSNumberFormatterStyle": NewType("NSNumberFormatterStyle", int), - "NSCompoundPredicateType": NewType("NSCompoundPredicateType", int), - "NSSaveOptions": NewType("NSSaveOptions", int), - "NSRegularExpressionOptions": NewType("NSRegularExpressionOptions", int), - "NSDateFormatterStyle": NewType("NSDateFormatterStyle", int), - "NSRectEdge": NewType("NSRectEdge", int), - "NSGrammaticalPartOfSpeech": NewType("NSGrammaticalPartOfSpeech", int), - "NSURLSessionDelayedRequestDisposition": NewType( - "NSURLSessionDelayedRequestDisposition", int - ), - "NSProcessInfoThermalState": NewType("NSProcessInfoThermalState", int), - "NSStreamEvent": NewType("NSStreamEvent", int), - "NSTestComparisonOperation": NewType("NSTestComparisonOperation", int), - "NSFileManagerUnmountOptions": NewType("NSFileManagerUnmountOptions", int), - "NSCalendarOptions": NewType("NSCalendarOptions", int), - "NSPropertyListFormat": NewType("NSPropertyListFormat", int), - "NSJSONWritingOptions": NewType("NSJSONWritingOptions", int), - "NSURLBookmarkCreationOptions": NewType("NSURLBookmarkCreationOptions", int), - "NSXMLParserExternalEntityResolvingPolicy": NewType( - "NSXMLParserExternalEntityResolvingPolicy", int - ), - "NSURLBookmarkResolutionOptions": NewType( - "NSURLBookmarkResolutionOptions", int - ), - "NSDataCompressionAlgorithm": NewType("NSDataCompressionAlgorithm", int), - "NSTaskTerminationReason": NewType("NSTaskTerminationReason", int), - "NSLengthFormatterUnit": NewType("NSLengthFormatterUnit", int), - "NSURLSessionMultipathServiceType": NewType( - "NSURLSessionMultipathServiceType", int - ), - "NSNotificationCoalescing": NewType("NSNotificationCoalescing", int), - "NSNetServiceOptions": NewType("NSNetServiceOptions", int), - "NSISO8601DateFormatOptions": NewType("NSISO8601DateFormatOptions", int), - "NSFormattingUnitStyle": NewType("NSFormattingUnitStyle", int), - "NSCalendarUnit": NewType("NSCalendarUnit", int), - "NSQualityOfService": NewType("NSQualityOfService", int), - "NSPredicateOperatorType": NewType("NSPredicateOperatorType", int), - "NSByteCountFormatterUnits": NewType("NSByteCountFormatterUnits", int), - "NSXMLParserError": NewType("NSXMLParserError", int), - "NSLinguisticTaggerUnit": NewType("NSLinguisticTaggerUnit", int), - "NSGrammaticalGender": NewType("NSGrammaticalGender", int), - "NSTimeZoneNameStyle": NewType("NSTimeZoneNameStyle", int), - "NSItemProviderRepresentationVisibility": NewType( - "NSItemProviderRepresentationVisibility", int - ), - "NSURLRequestCachePolicy": NewType("NSURLRequestCachePolicy", int), - "NSAttributedStringMarkdownInterpretedSyntax": NewType( - "NSAttributedStringMarkdownInterpretedSyntax", int - ), - "NSTextCheckingType": NewType("NSTextCheckingType", int), - "NSMatchingFlags": NewType("NSMatchingFlags", int), - "NSDateComponentsFormatterZeroFormattingBehavior": NewType( - "NSDateComponentsFormatterZeroFormattingBehavior", int - ), - "NSVolumeEnumerationOptions": NewType("NSVolumeEnumerationOptions", int), - "NSURLRequestAttribution": NewType("NSURLRequestAttribution", int), - "NSRelativePosition": NewType("NSRelativePosition", int), - "NSMatchingOptions": NewType("NSMatchingOptions", int), - "NSRelativeDateTimeFormatterStyle": NewType( - "NSRelativeDateTimeFormatterStyle", int - ), - "NSBinarySearchingOptions": NewType("NSBinarySearchingOptions", int), - "NSKeyValueChange": NewType("NSKeyValueChange", int), - "NSXPCConnectionOptions": NewType("NSXPCConnectionOptions", int), - "NSPresentationIntentKind": NewType("NSPresentationIntentKind", int), - "NSItemProviderFileOptions": NewType("NSItemProviderFileOptions", int), - "NSURLRelationship": NewType("NSURLRelationship", int), - "NSRelativeDateTimeFormatterUnitsStyle": NewType( - "NSRelativeDateTimeFormatterUnitsStyle", int - ), - "NSURLSessionTaskState": NewType("NSURLSessionTaskState", int), - "NSSearchPathDirectory": NewType("NSSearchPathDirectory", int), - "NSURLSessionTaskMetricsResourceFetchType": NewType( - "NSURLSessionTaskMetricsResourceFetchType", int - ), - "NSXMLNodeKind": NewType("NSXMLNodeKind", int), - "NSStreamStatus": NewType("NSStreamStatus", int), - "NSURLSessionWebSocketCloseCode": NewType( - "NSURLSessionWebSocketCloseCode", int - ), - "NSNumberFormatterPadPosition": NewType("NSNumberFormatterPadPosition", int), - "NSMeasurementFormatterUnitOptions": NewType( - "NSMeasurementFormatterUnitOptions", int - ), - "NSFileWrapperWritingOptions": NewType("NSFileWrapperWritingOptions", int), - "NSInlinePresentationIntent": NewType("NSInlinePresentationIntent", int), - "NSComparisonPredicateModifier": NewType("NSComparisonPredicateModifier", int), - "NSFileVersionAddingOptions": NewType("NSFileVersionAddingOptions", int), - "NSOperationQueuePriority": NewType("NSOperationQueuePriority", int), - "NSKeyValueSetMutationKind": NewType("NSKeyValueSetMutationKind", int), - "NSFileVersionReplacingOptions": NewType("NSFileVersionReplacingOptions", int), - "NSFileCoordinatorWritingOptions": NewType( - "NSFileCoordinatorWritingOptions", int - ), - "NSInsertionPosition": NewType("NSInsertionPosition", int), - "NSURLSessionAuthChallengeDisposition": NewType( - "NSURLSessionAuthChallengeDisposition", int - ), - "NSFileWrapperReadingOptions": NewType("NSFileWrapperReadingOptions", int), - "NSActivityOptions": NewType("NSActivityOptions", int), - "NSFileCoordinatorReadingOptions": NewType( - "NSFileCoordinatorReadingOptions", int - ), - "NSNumberFormatterRoundingMode": NewType("NSNumberFormatterRoundingMode", int), - "NSUserNotificationActivationType": NewType( - "NSUserNotificationActivationType", int - ), - "NSDataBase64EncodingOptions": NewType("NSDataBase64EncodingOptions", int), - "NSPropertyListMutabilityOptions": NewType( - "NSPropertyListMutabilityOptions", int - ), - "NSNetServicesError": NewType("NSNetServicesError", int), - "NSPersonNameComponentsFormatterStyle": NewType( - "NSPersonNameComponentsFormatterStyle", int - ), - "NSAttributedStringEnumerationOptions": NewType( - "NSAttributedStringEnumerationOptions", int - ), - "NSEnumerationOptions": NewType("NSEnumerationOptions", int), - "NSDistributedNotificationOptions": NewType( - "NSDistributedNotificationOptions", int - ), - "NSHTTPCookieAcceptPolicy": NewType("NSHTTPCookieAcceptPolicy", int), - "NSURLCacheStoragePolicy": NewType("NSURLCacheStoragePolicy", int), - "NSCollectionChangeType": NewType("NSCollectionChangeType", int), - "NSDateComponentsFormatterUnitsStyle": NewType( - "NSDateComponentsFormatterUnitsStyle", int - ), - "NSStringCompareOptions": NewType("NSStringCompareOptions", int), - "NSItemProviderErrorCode": NewType("NSItemProviderErrorCode", int), - "NSDataReadingOptions": NewType("NSDataReadingOptions", int), - "NSURLSessionWebSocketMessageType": NewType( - "NSURLSessionWebSocketMessageType", int - ), - "NSNotificationSuspensionBehavior": NewType( - "NSNotificationSuspensionBehavior", int - ), - "NSSearchPathDomainMask": NewType("NSSearchPathDomainMask", int), - "NSDataSearchOptions": NewType("NSDataSearchOptions", int), - "NSMassFormatterUnit": NewType("NSMassFormatterUnit", int), - "NSAppleEventSendOptions": NewType("NSAppleEventSendOptions", int), - "NSURLHandleStatus": NewType("NSURLHandleStatus", int), - "NSRoundingMode": NewType("NSRoundingMode", int), - "NSStringEnumerationOptions": NewType("NSStringEnumerationOptions", int), - "NSDirectoryEnumerationOptions": NewType("NSDirectoryEnumerationOptions", int), - "NSAlignmentOptions": NewType("NSAlignmentOptions", int), - "NSFormattingContext": NewType("NSFormattingContext", int), - "NSDateIntervalFormatterStyle": NewType("NSDateIntervalFormatterStyle", int), - "NSBackgroundActivityResult": NewType("NSBackgroundActivityResult", int), - "NSSortOptions": NewType("NSSortOptions", int), - "NSComparisonResult": NewType("NSComparisonResult", int), - "NSPersonNameComponentsFormatterOptions": NewType( - "NSPersonNameComponentsFormatterOptions", int - ), - "NSPresentationIntentTableColumnAlignment": NewType( - "NSPresentationIntentTableColumnAlignment", int - ), - "NSLinguisticTaggerOptions": NewType("NSLinguisticTaggerOptions", int), - "NSURLErrorNetworkUnavailableReason": NewType( - "NSURLErrorNetworkUnavailableReason", int - ), - "NSXMLDTDNodeKind": NewType("NSXMLDTDNodeKind", int), - "NSWhoseSubelementIdentifier": NewType("NSWhoseSubelementIdentifier", int), - "NSComparisonPredicateOptions": NewType("NSComparisonPredicateOptions", int), - "NSEnergyFormatterUnit": NewType("NSEnergyFormatterUnit", int), - "NSAttributedStringFormattingOptions": NewType( - "NSAttributedStringFormattingOptions", int - ), - "NSAttributedStringMarkdownParsingFailurePolicy": NewType( - "NSAttributedStringMarkdownParsingFailurePolicy", int - ), - "NSStringEncodingConversionOptions": NewType( - "NSStringEncodingConversionOptions", int - ), - "NSURLSessionTaskMetricsDomainResolutionProtocol": NewType( - "NSURLSessionTaskMetricsDomainResolutionProtocol", int - ), - "NSPointerFunctionsOptions": NewType("NSPointerFunctionsOptions", int), - "NSDateFormatterBehavior": NewType("NSDateFormatterBehavior", int), - "NSGrammaticalNumber": NewType("NSGrammaticalNumber", int), - "NSURLCredentialPersistence": NewType("NSURLCredentialPersistence", int), - "NSFileManagerItemReplacementOptions": NewType( - "NSFileManagerItemReplacementOptions", int - ), - "NSXMLDocumentContentKind": NewType("NSXMLDocumentContentKind", int), - "NSLocaleLanguageDirection": NewType("NSLocaleLanguageDirection", int), - } -) -misc.update( - { - "NSURLFileResourceType": NewType("NSURLFileResourceType", str), - "NSURLUbiquitousSharedItemRole": NewType("NSURLUbiquitousSharedItemRole", str), - "NSHTTPCookiePropertyKey": NewType("NSHTTPCookiePropertyKey", str), - "NSValueTransformerName": NewType("NSValueTransformerName", str), - "NSStringTransform": NewType("NSStringTransform", str), - "NSProgressUserInfoKey": NewType("NSProgressUserInfoKey", str), - "NSURLFileProtectionType": NewType("NSURLFileProtectionType", str), - "NSURLThumbnailDictionaryItem": NewType("NSURLThumbnailDictionaryItem", str), - "NSRunLoopMode": NewType("NSRunLoopMode", str), - "NSLocaleKey": NewType("NSLocaleKey", str), - "NSURLUbiquitousSharedItemPermissions": NewType( - "NSURLUbiquitousSharedItemPermissions", str - ), - "NSFileProviderServiceName": NewType("NSFileProviderServiceName", str), - "NSTextCheckingKey": NewType("NSTextCheckingKey", str), - "NSCalendarIdentifier": NewType("NSCalendarIdentifier", str), - "NSProgressFileOperationKind": NewType("NSProgressFileOperationKind", str), - "NSFileAttributeType": NewType("NSFileAttributeType", str), - "NSStreamSOCKSProxyConfiguration": NewType( - "NSStreamSOCKSProxyConfiguration", str - ), - "NSKeyValueOperator": NewType("NSKeyValueOperator", str), - "NSLinguisticTagScheme": NewType("NSLinguisticTagScheme", str), - "NSStreamPropertyKey": NewType("NSStreamPropertyKey", str), - "NSFileProtectionType": NewType("NSFileProtectionType", str), - "NSProgressKind": NewType("NSProgressKind", str), - "NSHTTPCookieStringPolicy": NewType("NSHTTPCookieStringPolicy", str), - "NSKeyValueChangeKey": NewType("NSKeyValueChangeKey", str), - "NSURLUbiquitousItemDownloadingStatus": NewType( - "NSURLUbiquitousItemDownloadingStatus", str - ), - "NSStreamNetworkServiceTypeValue": NewType( - "NSStreamNetworkServiceTypeValue", str - ), - "NSStreamSOCKSProxyVersion": NewType("NSStreamSOCKSProxyVersion", str), - "NSFileAttributeKey": NewType("NSFileAttributeKey", str), - "NSLinguisticTag": NewType("NSLinguisticTag", str), - "NSDistributedNotificationCenterType": NewType( - "NSDistributedNotificationCenterType", str - ), - "NSExceptionName": NewType("NSExceptionName", str), - "NSNotificationName": NewType("NSNotificationName", str), - "NSAttributedStringKey": NewType("NSAttributedStringKey", str), - "NSURLResourceKey": NewType("NSURLResourceKey", str), - "NSStringEncodingDetectionOptionsKey": NewType( - "NSStringEncodingDetectionOptionsKey", str - ), - "NSStreamSocketSecurityLevel": NewType("NSStreamSocketSecurityLevel", str), - } -) -misc.update( - { - "NSFoundationVersionNumber10_2_3": 462.0, - "NSFoundationVersionNumber10_2_2": 462.0, - "NSFoundationVersionNumber10_2_1": 462.0, - "NSFoundationVersionNumber10_2_7": 462.7, - "NSFoundationVersionNumber10_2_6": 462.0, - "NSFoundationVersionNumber10_2_5": 462.0, - "NSFoundationVersionNumber10_2_4": 462.0, - "NSFoundationVersionNumber10_1_4": 425.0, - "NSFoundationVersionNumber10_4_4_Intel": 567.23, - "NSFoundationVersionNumber10_2_8": 462.7, - "NSFoundationVersionNumber10_1_1": 425.0, - "NSFoundationVersionNumber10_1_2": 425.0, - "NSFoundationVersionNumber10_1_3": 425.0, - "NSFoundationVersionNumber10_4_9": 567.29, - "NSFoundationVersionNumber10_3_2": 500.3, - "NSFoundationVersionNumber10_3_8": 500.56, - "NSFoundationVersionNumber10_3_9": 500.58, - "NSFoundationVersionNumber10_5_4": 677.19, - "NSFoundationVersionNumber10_5_5": 677.21, - "NSFoundationVersionNumber10_5_6": 677.22, - "NSFoundationVersionNumber10_5_7": 677.24, - "NSFoundationVersionNumber10_4_1": 567.0, - "NSFoundationVersionNumber10_3_3": 500.54, - "NSFoundationVersionNumber10_4_3": 567.21, - "NSFoundationVersionNumber10_3_1": 500.0, - "NSFoundationVersionNumber10_3_6": 500.56, - "NSFoundationVersionNumber10_3_7": 500.56, - "NSFoundationVersionNumber10_3_4": 500.56, - "NSFoundationVersionNumber10_3_5": 500.56, - "NSFoundationVersionNumber10_4_2": 567.12, - "NSFoundationVersionNumber10_11_3": 1256.1, - "NSFoundationVersionNumber10_5_1": 677.1, - "NSFoundationVersionNumber10_4_5": 567.25, - "NSFoundationVersionNumber10_6": 751.0, - "NSFoundationVersionNumber10_7": 833.1, - "NSFoundationVersionNumber10_4": 567.0, - "NSFoundationVersionNumber10_5": 677.0, - "NSFoundationVersionNumber10_2": 462.0, - "NSFoundationVersionNumber10_4_7": 567.27, - "NSFoundationVersionNumber10_0": 397.4, - "NSFoundationVersionNumber10_1": 425.0, - "NSFoundationVersionNumber10_4_6": 567.26, - "NSFoundationVersionNumber10_8": 945.0, - "NSFoundationVersionNumber10_3": 500.0, - "NSFoundationVersionNumber10_4_4_PowerPC": 567.21, - "NSFoundationVersionNumber10_4_11": 567.36, - "NSFoundationVersionNumber10_4_10": 567.29, - "NSFoundationVersionNumber10_9_2": 1056.13, - "NSFoundationVersionNumber10_11_1": 1255.1, - "NSFoundationVersionNumber10_8_4": 945.18, - "NSFoundationVersionNumber10_10_4": 1153.2, - "NSFoundationVersionNumber10_8_1": 945.0, - "NSFoundationVersionNumber10_10_2": 1152.14, - "NSFoundationVersionNumber10_10_1": 1151.16, - "NSFoundationVersionNumber10_8_2": 945.11, - "NSFoundationVersionNumber10_10": 1151.16, - "NSFoundationVersionNumber10_8_3": 945.16, - "NSTimeIntervalSince1970": 978307200.0, - "NSFoundationVersionNumber10_6_7": 751.53, - "NSFoundationVersionNumber10_11_2": 1256.1, - "NSFoundationVersionNumber10_6_5": 751.42, - "NSFoundationVersionNumber10_6_4": 751.29, - "NSFoundationVersionNumber10_6_3": 751.21, - "NSFoundationVersionNumber10_6_2": 751.14, - "NSFoundationVersionNumber10_6_1": 751.0, - "NSFoundationVersionNumber10_4_8": 567.28, - "NSFoundationVersionNumber10_10_3": 1153.2, - "NSFoundationVersionNumber10_5_2": 677.15, - "NSFoundationVersionNumber10_6_8": 751.62, - "NSFoundationVersionNumber10_6_6": 751.53, - "NSFoundationVersionNumber10_5_3": 677.19, - "NSFoundationVersionNumber10_7_4": 833.25, - "NSFoundationVersionNumber10_5_8": 677.26, - "NSFoundationVersionNumber10_7_2": 833.2, - "NSFoundationVersionNumber10_7_3": 833.24, - "NSFoundationVersionNumber10_7_1": 833.1, - } -) -functions = { - "NSSwapShort": (b"SS",), - "NSDecimalIsNotANumber": ( - b"Z^{_NSDecimal=b8b4b1b1b18[8S]}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "NSSwapHostIntToBig": (b"II",), - "NSDecimalDivide": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}Q", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "n"}, - } - }, - ), - "NSEndMapTableEnumeration": (b"v^{_NSMapEnumerator=QQ^v}",), - "NSEqualRects": ( - b"Z{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSIntegralRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSEqualSizes": (b"Z{CGSize=dd}{CGSize=dd}",), - "NSSwapHostLongToLittle": (b"QQ",), - "NSSwapLittleDoubleToHost": (b"d{_NSSwappedDouble=Q}",), - "NSSizeFromCGSize": (b"{CGSize=dd}{CGSize=dd}",), - "NSDecimalCompact": ( - b"v^{_NSDecimal=b8b4b1b1b18[8S]}", - "", - {"arguments": {0: {"type_modifier": "N"}}}, - ), - "NSCreateHashTable": ( - b"@{_NSHashTableCallBacks=^?^?^?^?^?}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSOpenStepRootDirectory": (b"@",), - "NSRoundDownToMultipleOfPageSize": (b"QQ",), - "NSMapInsertIfAbsent": (b"^v@^v^v",), - "NSLocationInRange": (b"ZQ{_NSRange=QQ}",), - "NSFileTypeForHFSTypeCode": (b"@I",), - "NSEqualRanges": (b"Z{_NSRange=QQ}{_NSRange=QQ}",), - "NSDecimalNormalize": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}Q", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}}, - ), - "NSFreeHashTable": (b"v@",), - "NSHostByteOrder": (b"q",), - "NSGetUncaughtExceptionHandler": ( - b"^?", - "", - { - "retval": { - "callable": {"retval": {"type": "v"}, "arguments": {0: {"type": "@"}}} - } - }, - ), - "NSStringFromMapTable": (b"@@",), - "NSPointFromString": (b"{CGPoint=dd}@",), - "NSEnumerateMapTable": (b"{_NSMapEnumerator=QQ^v}@",), - "NSIsEmptyRect": (b"Z{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSHeight": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSHomeDirectory": (b"@",), - "NSResetMapTable": (b"v@",), - "NSMinY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSPageSize": (b"Q",), - "NSUserName": (b"@",), - "NSMapInsert": (b"v@^v^v",), - "NSDeallocateObject": (b"v@",), - "NSDefaultMallocZone": (b"^{_NSZone=}",), - "NSRecordAllocationEvent": (b"vi@",), - "NSDecimalPower": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}QQ", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}}, - ), - "NSMaxRange": (b"Q{_NSRange=QQ}",), - "NSMinX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSLogPageSize": (b"Q",), - "NSMouseInRect": (b"Z{CGPoint=dd}{CGRect={CGPoint=dd}{CGSize=dd}}Z",), - "NSDecimalCompare": ( - b"q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "n"}}}, - ), - "NSAllMapTableValues": (b"@@",), - "NSProtocolFromString": (b"@@",), - "NSPointInRect": (b"Z{CGPoint=dd}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSSetZoneName": (b"v^{_NSZone=}@",), - "CFBridgingRetain": (b"@@",), - "NSCopyObject": (b"@@Q^{_NSZone=}", "", {"retval": {"already_cfretained": True}}), - "NSMidY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSSwapLongLong": (b"QQ",), - "NSDecrementExtraRefCountWasZero": (b"Z@",), - "NSSwapBigLongToHost": (b"QQ",), - "NSDecimalMultiply": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}Q", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "n"}, - } - }, - ), - "NSSwapBigLongLongToHost": (b"QQ",), - "NSShouldRetainWithZone": (b"Z@^{_NSZone=}",), - "NSStringFromRange": (b"@{_NSRange=QQ}",), - "NSHashGet": (b"^v@^v",), - "NSStringFromClass": (b"@#",), - "NSPointToCGPoint": (b"{CGPoint=dd}{CGPoint=dd}",), - "NSUnionRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSRectToCGRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSCopyHashTableWithZone": ( - b"@@^{_NSZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSSwapBigShortToHost": (b"SS",), - "NSSwapHostShortToBig": (b"SS",), - "NSStringFromPoint": (b"@{CGPoint=dd}",), - "NSWidth": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSRealMemoryAvailable": (b"Q",), - "NSNextMapEnumeratorPair": (b"Z^{_NSMapEnumerator=QQ^v}^^v^^v",), - "NSAllHashTableObjects": (b"@@",), - "NSPointFromCGPoint": (b"{CGPoint=dd}{CGPoint=dd}",), - "NSSizeToCGSize": (b"{CGSize=dd}{CGSize=dd}",), - "NSHashInsertKnownAbsent": (b"v@^v",), - "NSNextHashEnumeratorItem": (b"^v^{_NSHashEnumerator=QQ^v}",), - "NSSwapHostLongLongToLittle": (b"QQ",), - "NSClassFromString": (b"#@",), - "NSSwapLittleLongToHost": (b"QQ",), - "NSMakePoint": (b"{CGPoint=dd}dd",), - "NSSizeFromString": (b"{CGSize=dd}@",), - "NSConvertHostFloatToSwapped": (b"{_NSSwappedFloat=I}f",), - "NSIntersectsRect": ( - b"Z{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSEdgeInsetsMake": (b"{NSEdgeInsets=dddd}dddd",), - "NSIntersectionRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSDecimalAdd": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}Q", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "n"}, - } - }, - ), - "NSCreateHashTableWithZone": ( - b"@{_NSHashTableCallBacks=^?^?^?^?^?}Q^{_NSZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSSwapFloat": (b"{_NSSwappedFloat=I}{_NSSwappedFloat=I}",), - "NSDecimalSubtract": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}Q", - "", - { - "arguments": { - 0: {"type_modifier": "o"}, - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "n"}, - } - }, - ), - "NSSetUncaughtExceptionHandler": ( - b"v^?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}}, - }, - "callable_retained": True, - } - } - }, - ), - "NSFreeMapTable": (b"v@",), - "NSMapRemove": (b"v@^v",), - "NSFullUserName": (b"@",), - "NSSwapLittleShortToHost": (b"SS",), - "NSSwapLong": (b"QQ",), - "NSSwapHostLongLongToBig": (b"QQ",), - "NSResetHashTable": (b"v@",), - "NSStringFromRect": (b"@{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSSwapLittleLongLongToHost": (b"QQ",), - "NSSwapLittleFloatToHost": (b"f{_NSSwappedFloat=I}",), - "NSOffsetRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}dd", - ), - "NSCountMapTable": (b"Q@",), - "NSHFSTypeOfFile": (b"@@",), - "NSHashInsertIfAbsent": (b"^v@^v",), - "NSSwapBigIntToHost": (b"II",), - "NSRecycleZone": (b"v^{_NSZone=}",), - "NSStringFromProtocol": (b"@@",), - "NSFrameAddress": (b"^vQ",), - "NSCountFrames": (b"Q",), - "CFBridgingRelease": (b"@@",), - "NSMapMember": (b"Z@^v^^v^^v",), - "NSDivideRect": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}dQ", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "NSRangeFromString": (b"{_NSRange=QQ}@",), - "NSMapGet": (b"^v@^v",), - "NSHashInsert": (b"v@^v",), - "NSSwapHostIntToLittle": (b"II",), - "NSEndHashTableEnumeration": (b"v^{_NSHashEnumerator=QQ^v}",), - "NSZoneName": (b"@^{_NSZone=}",), - "NSSwapHostFloatToBig": (b"{_NSSwappedFloat=I}f",), - "NSTemporaryDirectory": (b"@",), - "NSDecimalMultiplyByPowerOf10": ( - b"Q^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}sQ", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}}, - ), - "NSCompareHashTables": (b"Z@@",), - "NSMakeRect": (b"{CGRect={CGPoint=dd}{CGSize=dd}}dddd",), - "NSMakeCollectable": (b"@@",), - "NSGetSizeAndAlignment": ( - b"^t^t^Q^Q", - "", - { - "retval": {"c_array_delimited_by_null": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - }, - }, - ), - "NSDecimalRound": ( - b"v^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}qQ", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}}, - ), - "NSInsetRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}dd", - ), - "NSAllocateObject": (b"@#Q^{_NSZone=}",), - "NSSwapInt": (b"II",), - "NSUnionRange": (b"{_NSRange=QQ}{_NSRange=QQ}{_NSRange=QQ}",), - "NSSelectorFromString": (b":@",), - "NSStringFromHashTable": (b"@@",), - "NSHFSTypeCodeFromFileType": (b"I@",), - "NSSwapDouble": (b"{_NSSwappedDouble=Q}{_NSSwappedDouble=Q}",), - "NSLog": (b"v@", "", {"arguments": {0: {"printf_format": True}}, "variadic": True}), - "NSMakeSize": (b"{CGSize=dd}dd",), - "NSSwapHostDoubleToLittle": (b"{_NSSwappedDouble=Q}d",), - "NSRectFromString": (b"{CGRect={CGPoint=dd}{CGSize=dd}}@",), - "NSDecimalString": ( - b"@^{_NSDecimal=b8b4b1b1b18[8S]}@", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "NSCreateZone": (b"^{_NSZone=}QQZ", "", {"retval": {"already_cfretained": True}}), - "NSAllMapTableKeys": (b"@@",), - "NSIncrementExtraRefCount": (b"v@",), - "NSDecimalCopy": ( - b"v^{_NSDecimal=b8b4b1b1b18[8S]}^{_NSDecimal=b8b4b1b1b18[8S]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "n"}}, - }, - ), - "NSStringFromSelector": (b"@:",), - "NSMakeRange": (b"{_NSRange=QQ}QQ",), - "NSConvertSwappedFloatToHost": (b"f{_NSSwappedFloat=I}",), - "NSContainsRect": ( - b"Z{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSSwapBigDoubleToHost": (b"d{_NSSwappedDouble=Q}",), - "NSIntersectionRange": (b"{_NSRange=QQ}{_NSRange=QQ}{_NSRange=QQ}",), - "NSSwapHostDoubleToBig": (b"{_NSSwappedDouble=Q}d",), - "NSRoundUpToMultipleOfPageSize": (b"QQ",), - "NSConvertHostDoubleToSwapped": (b"{_NSSwappedDouble=Q}d",), - "NSSwapHostLongToBig": (b"QQ",), - "NSMaxY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSMaxX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSCreateMapTableWithZone": ( - b"@{_NSMapTableKeyCallBacks=^?^?^?^?^?^v}{_NSMapTableValueCallBacks=^?^?^?}Q^{_NSZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSExtraRefCount": (b"Q@",), - "NSRectFromCGRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "NSIntegralRectWithOptions": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}Q", - ), - "NSStringFromSize": (b"@{CGSize=dd}",), - "NSHomeDirectoryForUser": (b"@@",), - "NSIsFreedObject": (b"Z@",), - "NSSwapBigFloatToHost": (b"f{_NSSwappedFloat=I}",), - "NSConvertSwappedDoubleToHost": (b"d{_NSSwappedDouble=Q}",), - "NSMidX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "NSReturnAddress": (b"^vQ",), - "NSEqualPoints": (b"Z{CGPoint=dd}{CGPoint=dd}",), - "NSCompareMapTables": (b"Z@@",), - "NSHashRemove": (b"v@^v",), - "NSSwapLittleIntToHost": (b"II",), - "NSCountHashTable": (b"Q@",), - "NSMapInsertKnownAbsent": (b"v@^v^v",), - "NSCreateMapTable": ( - b"@{_NSMapTableKeyCallBacks=^?^?^?^?^?^v}{_NSMapTableValueCallBacks=^?^?^?}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSSwapHostFloatToLittle": (b"{_NSSwappedFloat=I}f",), - "NSEdgeInsetsEqual": (b"Z{NSEdgeInsets=dddd}{NSEdgeInsets=dddd}",), - "NSEnumerateHashTable": (b"{_NSHashEnumerator=QQ^v}@",), - "NXReadNSObjectFromCoder": (b"@@",), - "NSCopyMapTableWithZone": ( - b"@@^{_NSZone=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NSSwapHostShortToLittle": (b"SS",), - "NSSearchPathForDirectoriesInDomains": (b"@QQZ",), -} -aliases = { - "NSCalendarUnitYear": "kCFCalendarUnitYear", - "NSURLErrorBadURL": "kCFURLErrorBadURL", - "NSWeekCalendarUnit": "kCFCalendarUnitWeek", - "NSAppleEventSendNoReply": "kAENoReply", - "NSURLErrorCannotCreateFile": "kCFURLErrorCannotCreateFile", - "NSWeekdayCalendarUnit": "NSCalendarUnitWeekday", - "NSURLErrorFileIsDirectory": "kCFURLErrorFileIsDirectory", - "NSPropertyListXMLFormat_v1_0": "kCFPropertyListXMLFormat_v1_0", - "NSHashTableZeroingWeakMemory": "NSPointerFunctionsZeroingWeakMemory", - "NSNumberFormatterPadBeforeSuffix": "kCFNumberFormatterPadBeforeSuffix", - "NSCalendarUnitWeekdayOrdinal": "kCFCalendarUnitWeekdayOrdinal", - "NSNumberFormatterDecimalStyle": "kCFNumberFormatterDecimalStyle", - "NSMinuteCalendarUnit": "NSCalendarUnitMinute", - "NSURLErrorRequestBodyStreamExhausted": "kCFURLErrorRequestBodyStreamExhausted", - "NSHashTableCopyIn": "NSPointerFunctionsCopyIn", - "NSISO8601DateFormatWithYear": "kCFISO8601DateFormatWithYear", - "NSWeekOfMonthCalendarUnit": "NSCalendarUnitWeekOfMonth", - "NSDateFormatterNoStyle": "kCFDateFormatterNoStyle", - "NSTimeZoneCalendarUnit": "NSCalendarUnitTimeZone", - "NSNumberFormatterSpellOutStyle": "kCFNumberFormatterSpellOutStyle", - "NSNumberFormatterCurrencyPluralStyle": "kCFNumberFormatterCurrencyPluralStyle", - "NSISO8601DateFormatWithDay": "kCFISO8601DateFormatWithDay", - "NSURLErrorDataNotAllowed": "kCFURLErrorDataNotAllowed", - "NSPropertyListOpenStepFormat": "kCFPropertyListOpenStepFormat", - "NS_UnknownByteOrder": "CFByteOrderUnknown", - "NSCalendarUnitWeekOfMonth": "kCFCalendarUnitWeekOfMonth", - "NSURLErrorCallIsActive": "kCFURLErrorCallIsActive", - "NSISO8601DateFormatWithDashSeparatorInDate": "kCFISO8601DateFormatWithDashSeparatorInDate", - "NSCalendarUnitHour": "kCFCalendarUnitHour", - "NSURLErrorSecureConnectionFailed": "kCFURLErrorSecureConnectionFailed", - "NSAppleEventSendAlwaysInteract": "kAEAlwaysInteract", - "NSRectEdgeMaxX": "NSMaxXEdge", - "NSRectEdgeMaxY": "NSMaxYEdge", - "NSNumberFormatterRoundCeiling": "kCFNumberFormatterRoundCeiling", - "NSURLErrorServerCertificateUntrusted": "kCFURLErrorServerCertificateUntrusted", - "NSAppleEventSendCanSwitchLayer": "kAECanSwitchLayer", - "NS_STRING_ENUM": "_NS_TYPED_ENUM", - "NSLocaleLanguageDirectionTopToBottom": "kCFLocaleLanguageDirectionTopToBottom", - "NSNumberFormatterPadAfterPrefix": "kCFNumberFormatterPadAfterPrefix", - "NSURLErrorNoPermissionsToReadFile": "kCFURLErrorNoPermissionsToReadFile", - "NSQuarterCalendarUnit": "NSCalendarUnitQuarter", - "NSNumberFormatterPercentStyle": "kCFNumberFormatterPercentStyle", - "NSISO8601DateFormatWithFullTime": "kCFISO8601DateFormatWithFullTime", - "NSIntegerMin": "LONG_MIN", - "NS_TYPED_ENUM": "_NS_TYPED_ENUM", - "NSLocaleLanguageDirectionLeftToRight": "kCFLocaleLanguageDirectionLeftToRight", - "NSNumberFormatterPadAfterSuffix": "kCFNumberFormatterPadAfterSuffix", - "NSURLErrorClientCertificateRequired": "kCFURLErrorClientCertificateRequired", - "NSSecondCalendarUnit": "NSCalendarUnitSecond", - "NSURLErrorCannotConnectToHost": "kCFURLErrorCannotConnectToHost", - "NSNumberFormatterOrdinalStyle": "kCFNumberFormatterOrdinalStyle", - "NSURLErrorZeroByteResource": "kCFURLErrorZeroByteResource", - "NSMonthCalendarUnit": "NSCalendarUnitMonth", - "NSNumberFormatterNoStyle": "kCFNumberFormatterNoStyle", - "NSHashTableWeakMemory": "NSPointerFunctionsWeakMemory", - "NSAppleEventSendDontExecute": "kAEDontExecute", - "NS_NONATOMIC_IOSONLY": "atomic", - "NSURLErrorClientCertificateRejected": "kCFURLErrorClientCertificateRejected", - "NSURLErrorUserCancelledAuthentication": "kCFURLErrorUserCancelledAuthentication", - "NSCalendarUnitWeekOfYear": "kCFCalendarUnitWeekOfYear", - "NSDateFormatterLongStyle": "kCFDateFormatterLongStyle", - "NSURLErrorCannotLoadFromNetwork": "kCFURLErrorCannotLoadFromNetwork", - "NSWeekdayOrdinalCalendarUnit": "NSCalendarUnitWeekdayOrdinal", - "NSURLErrorResourceUnavailable": "kCFURLErrorResourceUnavailable", - "NSURLErrorNetworkConnectionLost": "kCFURLErrorNetworkConnectionLost", - "NS_LittleEndian": "CFByteOrderLittleEndian", - "NSEraCalendarUnit": "NSCalendarUnitEra", - "NSISO8601DateFormatWithColonSeparatorInTime": "kCFISO8601DateFormatWithColonSeparatorInTime", - "NSPropertyListMutableContainers": "kCFPropertyListMutableContainers", - "NSHashTableObjectPointerPersonality": "NSPointerFunctionsObjectPointerPersonality", - "NS_VOIDRETURN": "return", - "NS_REFINED_FOR_SWIFT": "CF_REFINED_FOR_SWIFT", - "NS_EXTENSIBLE_STRING_ENUM": "_NS_TYPED_EXTENSIBLE_ENUM", - "NSOperationQualityOfServiceUtility": "NSQualityOfServiceUtility", - "NSNumberFormatterCurrencyAccountingStyle": "kCFNumberFormatterCurrencyAccountingStyle", - "NSPropertyListBinaryFormat_v1_0": "kCFPropertyListBinaryFormat_v1_0", - "NSURLErrorDNSLookupFailed": "kCFURLErrorDNSLookupFailed", - "NSYearCalendarUnit": "NSCalendarUnitYear", - "NS_NONATOMIC_IPHONEONLY": "NS_NONATOMIC_IOSONLY", - "NSURLErrorRedirectToNonExistentLocation": "kCFURLErrorRedirectToNonExistentLocation", - "NSURLErrorNotConnectedToInternet": "kCFURLErrorNotConnectedToInternet", - "NSDataReadingMapped": "NSDataReadingMappedIfSafe", - "_NS_TYPED_EXTENSIBLE_ENUM": "_CF_TYPED_EXTENSIBLE_ENUM", - "NSURLErrorCannotDecodeRawData": "kCFURLErrorCannotDecodeRawData", - "NSMapTableObjectPointerPersonality": "NSPointerFunctionsObjectPointerPersonality", - "NSURLErrorCannotMoveFile": "kCFURLErrorCannotMoveFile", - "NSPropertyListMutableContainersAndLeaves": "kCFPropertyListMutableContainersAndLeaves", - "NSURLErrorCancelled": "kCFURLErrorCancelled", - "NSRectEdgeMinX": "NSMinXEdge", - "NSRectEdgeMinY": "NSMinYEdge", - "NSPropertyListImmutable": "kCFPropertyListImmutable", - "NSCalendarUnitYearForWeekOfYear": "kCFCalendarUnitYearForWeekOfYear", - "NSCalendarCalendarUnit": "NSCalendarUnitCalendar", - "NSURLErrorDownloadDecodingFailedMidStream": "kCFURLErrorDownloadDecodingFailedMidStream", - "NSURLErrorTimedOut": "kCFURLErrorTimedOut", - "NSISO8601DateFormatWithFullDate": "kCFISO8601DateFormatWithFullDate", - "NSNumberFormatterRoundFloor": "kCFNumberFormatterRoundFloor", - "NSOperationQualityOfServiceUserInitiated": "NSQualityOfServiceUserInitiated", - "NSCalendarUnitWeekday": "kCFCalendarUnitWeekday", - "NS_BigEndian": "CFByteOrderBigEndian", - "NSMapTableZeroingWeakMemory": "NSPointerFunctionsZeroingWeakMemory", - "NS_UNAVAILABLE": "UNAVAILABLE_ATTRIBUTE", - "NSOperationQualityOfServiceUserInteractive": "NSQualityOfServiceUserInteractive", - "NSURLErrorCannotDecodeContentData": "kCFURLErrorCannotDecodeContentData", - "NSUTF16StringEncoding": "NSUnicodeStringEncoding", - "NSNumberFormatterRoundDown": "kCFNumberFormatterRoundDown", - "NSURLErrorHTTPTooManyRedirects": "kCFURLErrorHTTPTooManyRedirects", - "NSISO8601DateFormatWithSpaceBetweenDateAndTime": "kCFISO8601DateFormatWithSpaceBetweenDateAndTime", - "NSNumberFormatterRoundHalfUp": "kCFNumberFormatterRoundHalfUp", - "NSISO8601DateFormatWithInternetDateTime": "kCFISO8601DateFormatWithInternetDateTime", - "NSCalendarUnitMinute": "kCFCalendarUnitMinute", - "NSISO8601DateFormatWithMonth": "kCFISO8601DateFormatWithMonth", - "NSNumberFormatterScientificStyle": "kCFNumberFormatterScientificStyle", - "NSURLErrorInternationalRoamingOff": "kCFURLErrorInternationalRoamingOff", - "NSLocaleLanguageDirectionUnknown": "kCFLocaleLanguageDirectionUnknown", - "NSCalendarUnitSecond": "kCFCalendarUnitSecond", - "NSURLErrorCannotParseResponse": "kCFURLErrorCannotParseResponse", - "NSAppleEventSendDontRecord": "kAEDontRecord", - "NSOperationQualityOfServiceBackground": "NSQualityOfServiceBackground", - "NSAppleEventSendWaitForReply": "kAEWaitReply", - "NSMapTableCopyIn": "NSPointerFunctionsCopyIn", - "NSCalendarUnitMonth": "kCFCalendarUnitMonth", - "NSURLErrorCannotWriteToFile": "kCFURLErrorCannotWriteToFile", - "NSURLErrorServerCertificateHasBadDate": "kCFURLErrorServerCertificateHasBadDate", - "NSURLErrorUserAuthenticationRequired": "kCFURLErrorUserAuthenticationRequired", - "NSURLErrorDataLengthExceedsMaximum": "kCFURLErrorDataLengthExceedsMaximum", - "NSCalendarUnitEra": "kCFCalendarUnitEra", - "NSDateFormatterFullStyle": "kCFDateFormatterFullStyle", - "NSAppleEventSendNeverInteract": "kAENeverInteract", - "NSISO8601DateFormatWithColonSeparatorInTimeZone": "kCFISO8601DateFormatWithColonSeparatorInTimeZone", - "NSURLErrorCannotOpenFile": "kCFURLErrorCannotOpenFile", - "_NS_TYPED_ENUM": "_CF_TYPED_ENUM", - "NSDateFormatterShortStyle": "kCFDateFormatterShortStyle", - "NSDecimalNoScale": "SHRT_MAX", - "NSLocaleLanguageDirectionRightToLeft": "kCFLocaleLanguageDirectionRightToLeft", - "NSAppleEventSendCanInteract": "kAECanInteract", - "NSISO8601DateFormatWithTime": "kCFISO8601DateFormatWithTime", - "NSNumberFormatterCurrencyISOCodeStyle": "kCFNumberFormatterCurrencyISOCodeStyle", - "NSCalendarUnitQuarter": "kCFCalendarUnitQuarter", - "NSJSONReadingAllowFragments": "NSJSONReadingFragmentsAllowed", - "NSNumberFormatterCurrencyStyle": "kCFNumberFormatterCurrencyStyle", - "NSWeekOfYearCalendarUnit": "NSCalendarUnitWeekOfYear", - "NS_WARN_UNUSED_RESULT": "CF_WARN_UNUSED_RESULT", - "NSURLErrorServerCertificateNotYetValid": "kCFURLErrorServerCertificateNotYetValid", - "NSMapTableWeakMemory": "NSPointerFunctionsWeakMemory", - "NSURLErrorCannotRemoveFile": "kCFURLErrorCannotRemoveFile", - "NSWrapCalendarComponents": "NSCalendarWrapComponents", - "NSURLErrorFileDoesNotExist": "kCFURLErrorFileDoesNotExist", - "NSLocaleLanguageDirectionBottomToTop": "kCFLocaleLanguageDirectionBottomToTop", - "NSUncachedRead": "NSDataReadingUncached", - "NSIntegerMax": "LONG_MAX", - "NSDateFormatterMediumStyle": "kCFDateFormatterMediumStyle", - "NSURLErrorUnsupportedURL": "kCFURLErrorUnsupportedURL", - "NSNumberFormatterRoundHalfEven": "kCFNumberFormatterRoundHalfEven", - "NSISO8601DateFormatWithWeekOfYear": "kCFISO8601DateFormatWithWeekOfYear", - "NSDayCalendarUnit": "NSCalendarUnitDay", - "NSISO8601DateFormatWithFractionalSeconds": "kCFISO8601DateFormatWithFractionalSeconds", - "NSYearForWeekOfYearCalendarUnit": "NSCalendarUnitYearForWeekOfYear", - "NS_TYPED_EXTENSIBLE_ENUM": "_NS_TYPED_EXTENSIBLE_ENUM", - "NSNumberFormatterPadBeforePrefix": "kCFNumberFormatterPadBeforePrefix", - "NSUndefinedDateComponent": "NSDateComponentUndefined", - "NSAppleEventSendDontAnnotate": "kAEDoNotAutomaticallyAddAnnotationsToEvent", - "NSURLErrorServerCertificateHasUnknownRoot": "kCFURLErrorServerCertificateHasUnknownRoot", - "NSURLErrorBadServerResponse": "kCFURLErrorBadServerResponse", - "NSMappedRead": "NSDataReadingMapped", - "NSUIntegerMax": "ULONG_MAX", - "NSHourCalendarUnit": "NSCalendarUnitHour", - "NSAppleEventSendQueueReply": "kAEQueueReply", - "NS_NOESCAPE": "CF_NOESCAPE", - "NSURLRequestReloadIgnoringCacheData": "NSURLRequestReloadIgnoringLocalCacheData", - "NSURLErrorCannotFindHost": "kCFURLErrorCannotFindHost", - "NSNumberFormatterRoundUp": "kCFNumberFormatterRoundUp", - "NSISO8601DateFormatWithTimeZone": "kCFISO8601DateFormatWithTimeZone", - "NS_SWIFT_BRIDGED_TYPEDEF": "CF_SWIFT_BRIDGED_TYPEDEF", - "NSURLErrorCannotCloseFile": "kCFURLErrorCannotCloseFile", - "NSCalendarUnitDay": "kCFCalendarUnitDay", - "NSOperationQualityOfService": "NSQualityOfService", - "NSURLErrorDownloadDecodingFailedToComplete": "kCFURLErrorDownloadDecodingFailedToComplete", - "NSNumberFormatterRoundHalfDown": "kCFNumberFormatterRoundHalfDown", - "NSAtomicWrite": "NSDataWritingAtomic", -} -misc.update( - { - "NSAppleEventManagerSuspensionID": objc.createOpaquePointerType( - "NSAppleEventManagerSuspensionID", b"^{__NSAppleEventManagerSuspension=}" - ), - "NSZonePtr": objc.createOpaquePointerType("NSZonePtr", b"^{_NSZone=}"), - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSAffineTransform", - b"setTransformStruct:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSAffineTransformStruct=ffffff}", - b"{_NSAffineTransformStruct=dddddd}", - ) - } - } - }, - ) - r( - b"NSAffineTransform", - b"transformPoint:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - }, - ) - r( - b"NSAffineTransform", - b"transformSize:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - }, - ) - r( - b"NSAffineTransform", - b"transformStruct", - { - "retval": { - "type": sel32or64( - b"{_NSAffineTransformStruct=ffffff}", - b"{_NSAffineTransformStruct=dddddd}", - ) - } - }, - ) - r( - b"NSAppleEventDescriptor", - b"aeDesc", - {"retval": {"type": "r^{AEDesc=I^^{OpaqueAEDataStorageType}}"}}, - ) - r(b"NSAppleEventDescriptor", b"booleanValue", {"retval": {"type": "Z"}}) - r( - b"NSAppleEventDescriptor", - b"descriptorWithBoolean:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSAppleEventDescriptor", - b"descriptorWithDescriptorType:bytes:length:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 4}}}, - ) - r( - b"NSAppleEventDescriptor", - b"dispatchRawAppleEvent:withRawReply:handlerRefCon:", - {"retval": {"type": "s"}, "arguments": {4: {"type": "l"}}}, - ) - r( - b"NSAppleEventDescriptor", - b"initWithAEDescNoCopy:", - { - "arguments": { - 2: { - "type": "r^{AEDesc=I^^{OpaqueAEDataStorageType}}", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSAppleEventDescriptor", - b"initWithDescriptorType:bytes:length:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 4}}}, - ) - r(b"NSAppleEventDescriptor", b"isRecordDescriptor", {"retval": {"type": "Z"}}) - r( - b"NSAppleEventDescriptor", - b"sendEventWithOptions:timeout:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSAppleEventDescriptor", - b"setEventHandler:andSelector:forEventClass:andEventID:", - {"arguments": {3: {"sel_of_type": b"v@:@@"}}}, - ) - r( - b"NSAppleEventManager", - b"dispatchRawAppleEvent:withRawReply:handlerRefCon:", - { - "arguments": { - 2: { - "type": "r^{AEDesc=I^^{OpaqueAEDataStorageType}}", - "type_modifier": b"n", - }, - 3: { - "type": "r^{AEDesc=I^^{OpaqueAEDataStorageType}}", - "type_modifier": b"o", - }, - } - }, - ) - r( - b"NSAppleEventManager", - b"setEventHandler:andSelector:forEventClass:andEventID:", - {"arguments": {3: {"sel_of_type": b"v@:@@"}}}, - ) - r( - b"NSAppleScript", - b"compileAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSAppleScript", - b"executeAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSAppleScript", - b"executeAppleEvent:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAppleScript", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSAppleScript", b"isCompiled", {"retval": {"type": "Z"}}) - r(b"NSArchiver", b"archiveRootObject:toFile:", {"retval": {"type": "Z"}}) - r( - b"NSArray", - b"addObserver:forKeyPath:options:context:", - {"arguments": {5: {"type": "^v"}}}, - ) - r( - b"NSArray", - b"addObserver:toObjectsAtIndexes:forKeyPath:options:context:", - {"arguments": {6: {"type": "^v"}}}, - ) - r( - b"NSArray", - b"arrayWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSArray", - b"arrayWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSArray", - b"arrayWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"NSArray", b"containsObject:", {"retval": {"type": "Z"}}) - r(b"NSArray", b"context:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSArray", b"context:hint:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSArray", - b"differenceFromArray:withOptions:usingEquivalenceTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"b"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"enumerateObjectsAtIndexes:options:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"enumerateObjectsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"enumerateObjectsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"getObjects:", - { - "arguments": {2: {"type": "^@"}}, - "suggestion": "convert to Python list instead", - }, - ) - r( - b"NSArray", - b"getObjects:range:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSArray", - b"indexOfObject:inRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSArray", - b"indexOfObject:inSortedRange:options:usingComparator:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexOfObjectAtIndexes:options:passingTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexOfObjectIdenticalTo:inRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSArray", - b"indexOfObjectPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexOfObjectWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexesOfObjectsAtIndexes:options:passingTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexesOfObjectsPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"indexesOfObjectsWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r(b"NSArray", b"initWithArray:copyItems:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSArray", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSArray", - b"initWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSArray", - b"initWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"NSArray", b"isEqualToArray:", {"retval": {"type": "Z"}}) - r( - b"NSArray", - b"makeObjectsPerformSelector:", - {"arguments": {2: {"sel_of_type": b"v@:"}}}, - ) - r( - b"NSArray", - b"makeObjectsPerformSelector:withObject:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSArray", - b"sortedArrayUsingComparator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"sortedArrayUsingFunction:context:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - }, - 3: {"type": "@"}, - } - }, - ) - r( - b"NSArray", - b"sortedArrayUsingFunction:context:hint:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - }, - 3: {"type": "@"}, - } - }, - ) - r( - b"NSArray", - b"sortedArrayUsingSelector:", - {"arguments": {2: {"sel_of_type": b"i@:@"}}}, - ) - r( - b"NSArray", - b"sortedArrayWithOptions:usingComparator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSArray", - b"subarrayWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSArray", - b"writeToFile:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSArray", - b"writeToURL:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSArray", - b"writeToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAssertionHandler", - b"handleFailureInFunction:file:lineNumber:description:", - {"arguments": {5: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSAssertionHandler", - b"handleFailureInMethod:object:file:lineNumber:description:", - { - "arguments": {2: {"type": ":"}, 6: {"printf_format": True, "type": "@"}}, - "variadic": True, - }, - ) - r( - b"NSAttributedString", - b"attribute:atIndex:effectiveRange:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"attribute:atIndex:longestEffectiveRange:inRange:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSAttributedString", - b"attributedSubstringFromRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSAttributedString", - b"attributesAtIndex:effectiveRange:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"attributesAtIndex:longestEffectiveRange:inRange:", - { - "arguments": { - 3: {"type_modifier": b"o"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSAttributedString", - b"enumerateAttribute:inRange:options:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSAttributedString", - b"enumerateAttributesInRange:options:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSAttributedString", - b"initWithContentsOfMarkdownFileAtURL:options:baseURL:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithFormat:options:locale:", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ) - r( - b"NSAttributedString", - b"initWithMarkdown:options:baseURL:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSAttributedString", - b"initWithMarkdownString:options:baseURL:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSAttributedString", b"isEqualToAttributedString:", {"retval": {"type": "Z"}}) - r( - b"NSAttributedString", - b"localizedAttributedStringWithFormat:", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ) - r( - b"NSAttributedString", - b"localizedAttributedStringWithFormat:options:", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ) - r( - b"NSAttributedStringMarkdownParsingOptions", - b"allowsExtendedAttributes", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSAttributedStringMarkdownParsingOptions", - b"setAllowsExtendedAttributes:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSAutoreleasePool", - b"enableFreedObjectCheck:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSAutoreleasePool", b"enableRelease:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSBackgroundActivityScheduler", b"repeats", {"retval": {"type": b"Z"}}) - r( - b"NSBackgroundActivityScheduler", - b"scheduleWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"NSBackgroundActivityScheduler", - b"setRepeats:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSBackgroundActivityScheduler", b"shouldDefer", {"retval": {"type": b"Z"}}) - r( - b"NSBlockOperation", - b"addExecutionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSBlockOperation", - b"blockOperationWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSBundle", b"isLoaded", {"retval": {"type": "Z"}}) - r(b"NSBundle", b"load", {"retval": {"type": "Z"}}) - r( - b"NSBundle", - b"loadAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSBundle", - b"preflightAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"NSBundle", b"unload", {"retval": {"type": "Z"}}) - r( - b"NSBundleResourceRequest", - b"beginAccessingResourcesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSBundleResourceRequest", - b"conditionallyBeginAccessingResourcesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSByteCountFormatter", - b"allowsNonnumericFormatting", - {"retval": {"type": b"Z"}}, - ) - r(b"NSByteCountFormatter", b"includesActualByteCount", {"retval": {"type": b"Z"}}) - r(b"NSByteCountFormatter", b"includesCount", {"retval": {"type": b"Z"}}) - r(b"NSByteCountFormatter", b"includesUnit", {"retval": {"type": b"Z"}}) - r(b"NSByteCountFormatter", b"isAdaptive", {"retval": {"type": b"Z"}}) - r(b"NSByteCountFormatter", b"setAdaptive:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSByteCountFormatter", - b"setAllowsNonnumericFormatting:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSByteCountFormatter", - b"setIncludesActualByteCount:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSByteCountFormatter", b"setIncludesCount:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSByteCountFormatter", b"setIncludesUnit:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSByteCountFormatter", - b"setZeroPadsFractionDigits:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSByteCountFormatter", b"zeroPadsFractionDigits", {"retval": {"type": b"Z"}}) - r(b"NSCache", b"evictsObjectsWithDiscardedContent", {"retval": {"type": "Z"}}) - r( - b"NSCache", - b"setEvictsObjectsWithDiscardedContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSCalendar", b"date:matchesComponents:", {"retval": {"type": b"Z"}}) - r( - b"NSCalendar", - b"enumerateDatesStartingAfterDate:matchingComponents:options:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSCalendar", - b"isDate:equalToDate:toUnitGranularity:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSCalendar", b"isDate:inSameDayAsDate:", {"retval": {"type": b"Z"}}) - r(b"NSCalendar", b"isDateInToday:", {"retval": {"type": b"Z"}}) - r(b"NSCalendar", b"isDateInTomorrow:", {"retval": {"type": b"Z"}}) - r(b"NSCalendar", b"isDateInWeekend:", {"retval": {"type": b"Z"}}) - r(b"NSCalendar", b"isDateInYesterday:", {"retval": {"type": b"Z"}}) - r( - b"NSCalendar", - b"maximumRangeOfUnit:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSCalendar", - b"minimumRangeOfUnit:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSCalendar", - b"nextWeekendStartDate:interval:options:afterDate:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCalendar", - b"rangeOfUnit:inUnit:forDate:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSCalendar", - b"rangeOfUnit:startDate:interval:forDate:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSCalendar", - b"rangeOfWeekendStartDate:interval:containingDate:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSCalendarDate", - b"years:months:days:hours:minutes:seconds:sinceDate:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - 7: {"type_modifier": b"o"}, - 8: {"type": "@"}, - }, - }, - ) - r( - b"NSCharacterSet", - b"characterIsMember:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "S"}}}, - ) - r( - b"NSCharacterSet", - b"characterSetWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSCharacterSet", b"hasMemberInPlane:", {"retval": {"type": "Z"}}) - r(b"NSCharacterSet", b"isSupersetOfSet:", {"retval": {"type": "Z"}}) - r(b"NSCharacterSet", b"longCharacterIsMember:", {"retval": {"type": "Z"}}) - r(b"NSCoder", b"allowsKeyedCoding", {"retval": {"type": "Z"}}) - r(b"NSCoder", b"containsValueForKey:", {"retval": {"type": "Z"}}) - r( - b"NSCoder", - b"decodeArrayOfObjCType:count:at:", - { - "arguments": { - 2: {"c_array_delimited_by_null": True, "type": "r*"}, - 4: {"type_modifier": b"o", "c_array_of_variable_length": True}, - } - }, - ) - r(b"NSCoder", b"decodeBoolForKey:", {"retval": {"type": "Z"}}) - r( - b"NSCoder", - b"decodeBytesForKey:returnedLength:", - { - "retval": { - "c_array_delimited_by_null": True, - "type": "^v", - "c_array_length_in_arg": 3, - }, - "arguments": {3: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSCoder", - b"decodeBytesWithReturnedLength:", - { - "retval": {"c_array_length_in_arg": 2}, - "arguments": {2: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSCoder", - b"decodePoint", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSCoder", - b"decodePointForKey:", - { - "retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - "arguments": {2: {"type": "@"}}, - }, - ) - r( - b"NSCoder", - b"decodeRect", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSCoder", - b"decodeRectForKey:", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": {2: {"type": "@"}}, - }, - ) - r( - b"NSCoder", - b"decodeSize", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSCoder", - b"decodeSizeForKey:", - { - "retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}, - "arguments": {2: {"type": "@"}}, - }, - ) - r( - b"NSCoder", - b"decodeTopLevelObjectAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSCoder", - b"decodeTopLevelObjectForKey:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSCoder", - b"decodeTopLevelObjectOfClass:forKey:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSCoder", - b"decodeTopLevelObjectOfClasses:forKey:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSCoder", - b"decodeValueOfObjCType:at:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - 3: {"type": "^v", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"NSCoder", - b"decodeValuesOfObjCTypes:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - }, - "variadic": True, - }, - ) - r( - b"NSCoder", - b"encodeArrayOfObjCType:count:at:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - 4: { - "type": "^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - } - }, - ) - r(b"NSCoder", b"encodeBool:forKey:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSCoder", - b"encodeBytes:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSCoder", - b"encodeBytes:length:forKey:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"NSCoder", - b"encodePoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSCoder", - b"encodePoint:forKey:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSCoder", - b"encodeRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCoder", - b"encodeRect:forKey:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSCoder", - b"encodeSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSCoder", - b"encodeSize:forKey:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r( - b"NSCoder", - b"encodeValueOfObjCType:at:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - 3: { - "type": "^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - } - }, - ) - r( - b"NSCoder", - b"encodeValuesOfObjCTypes:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - }, - "variadic": True, - }, - ) - r(b"NSCoder", b"requiresSecureCoding", {"retval": {"type": b"Z"}}) - r(b"NSComparisonPredicate", b"customSelector", {"retval": {"sel_of_type": b"Z@:@"}}) - r( - b"NSComparisonPredicate", - b"initWithLeftExpression:rightExpression:customSelector:", - {"arguments": {4: {"sel_of_type": b"Z@:@"}}}, - ) - r( - b"NSComparisonPredicate", - b"predicateWithLeftExpression:rightExpression:customSelector:", - {"arguments": {4: {"sel_of_type": b"Z@:@"}}}, - ) - r(b"NSCondition", b"waitUntilDate:", {"retval": {"type": "Z"}}) - r(b"NSConditionLock", b"lockBeforeDate:", {"retval": {"type": "Z"}}) - r(b"NSConditionLock", b"lockWhenCondition:beforeDate:", {"retval": {"type": "Z"}}) - r(b"NSConditionLock", b"tryLock", {"retval": {"type": "Z"}}) - r(b"NSConditionLock", b"tryLockWhenCondition:", {"retval": {"type": "Z"}}) - r(b"NSConnection", b"independentConversationQueueing", {"retval": {"type": "Z"}}) - r(b"NSConnection", b"isValid", {"retval": {"type": "Z"}}) - r(b"NSConnection", b"multipleThreadsEnabled", {"retval": {"type": "Z"}}) - r(b"NSConnection", b"registerName:", {"retval": {"type": "Z"}}) - r(b"NSConnection", b"registerName:withNameServer:", {"retval": {"type": "Z"}}) - r( - b"NSConnection", - b"setIndependentConversationQueueing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSData", b"bytes", {"retval": {"c_array_of_variable_length": True}}) - r( - b"NSData", - b"compressedDataUsingAlgorithm:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"dataWithBytes:length:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSData", - b"dataWithBytesNoCopy:length:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSData", - b"dataWithBytesNoCopy:length:freeWhenDone:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type": "Z"}, - } - }, - ) - r( - b"NSData", - b"dataWithContentsOfFile:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"dataWithContentsOfURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"decompressedDataUsingAlgorithm:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"enumerateByteRangesUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": b"^v", - "type_modifier": "n", - "c_array_length_in_arg": 2, - }, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSData", - b"getBytes:", - {"arguments": {2: {"type": "^v"}}, "suggestion": "use -bytes instead"}, - ) - r( - b"NSData", - b"getBytes:length:", - {"arguments": {2: {"type_modifier": b"o", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSData", - b"getBytes:range:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSData", - b"initWithBytes:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSData", - b"initWithBytesNoCopy:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSData", - b"initWithBytesNoCopy:length:deallocator:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": b"^v", - "type_modifier": "n", - "c_array_length_in_arg": 2, - }, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - } - } - } - }, - ) - r( - b"NSData", - b"initWithBytesNoCopy:length:freeWhenDone:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type": "Z"}, - } - }, - ) - r( - b"NSData", - b"initWithContentsOfFile:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"initWithContentsOfURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSData", b"isEqualToData:", {"retval": {"type": "Z"}}) - r( - b"NSData", - b"rangeOfData:options:range:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSData", - b"subdataWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSData", - b"writeToFile:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSData", - b"writeToFile:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSData", - b"writeToURL:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSData", - b"writeToURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDataDetector", - b"dataDetectorWithTypes:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDataDetector", - b"initWithTypes:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSDate", b"isEqualToDate:", {"retval": {"type": "Z"}}) - r(b"NSDateComponents", b"isLeapMonth", {"retval": {"type": b"Z"}}) - r(b"NSDateComponents", b"isValidDate", {"retval": {"type": b"Z"}}) - r(b"NSDateComponents", b"isValidDateInCalendar:", {"retval": {"type": b"Z"}}) - r(b"NSDateComponents", b"setLeapMonth:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSDateComponentsFormatter", - b"allowsFractionalUnits", - {"retval": {"type": b"Z"}}, - ) - r(b"NSDateComponentsFormatter", b"collapsesLargestUnit", {"retval": {"type": b"Z"}}) - r( - b"NSDateComponentsFormatter", - b"getObjectValue:forString:errorDescription:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSDateComponentsFormatter", - b"includesApproximationPhrase", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSDateComponentsFormatter", - b"includesTimeRemainingPhrase", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSDateComponentsFormatter", - b"setAllowsFractionalUnits:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSDateComponentsFormatter", - b"setCollapsesLargestUnit:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSDateComponentsFormatter", - b"setIncludesApproximationPhrase:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSDateComponentsFormatter", - b"setIncludesTimeRemainingPhrase:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSDateFormatter", b"allowsNaturalLanguage", {"retval": {"type": "Z"}}) - r(b"NSDateFormatter", b"doesRelativeDateFormatting", {"retval": {"type": "Z"}}) - r(b"NSDateFormatter", b"generatesCalendarDates", {"retval": {"type": "Z"}}) - r( - b"NSDateFormatter", - b"getObjectValue:forString:range:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"N", - }, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSDateFormatter", - b"initWithDateFormat:allowNaturalLanguage:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSDateFormatter", b"isLenient", {"retval": {"type": "Z"}}) - r( - b"NSDateFormatter", - b"setDoesRelativeDateFormatting:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSDateFormatter", - b"setGeneratesCalendarDates:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSDateFormatter", b"setLenient:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSDateInterval", b"containsDate:", {"retval": {"type": "Z"}}) - r(b"NSDateInterval", b"intersectsDateInterval:", {"retval": {"type": "Z"}}) - r(b"NSDateInterval", b"isEqualToDateInterval:", {"retval": {"type": "Z"}}) - r( - b"NSDecimalNumber", - b"decimalNumberWithDecimal:", - {"arguments": {2: {"type": "{NSDecimal=b8b4b1b1b18[8S]}"}}}, - ) - r( - b"NSDecimalNumber", - b"decimalNumberWithMantissa:exponent:isNegative:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSDecimalNumber", - b"decimalValue", - {"retval": {"type": b"{_NSDecimal=b8b4b1b1b18[8S]}"}}, - ) - r( - b"NSDecimalNumber", - b"initWithDecimal:", - {"arguments": {2: {"type": "{NSDecimal=b8b4b1b1b18[8S]}"}}}, - ) - r( - b"NSDecimalNumber", - b"initWithMantissa:exponent:isNegative:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSDecimalNumber", - b"objCType", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSDecimalNumberHandler", - b"decimalNumberHandlerWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:", - { - "arguments": { - 4: {"type": "Z"}, - 5: {"type": "Z"}, - 6: {"type": "Z"}, - 7: {"type": "Z"}, - } - }, - ) - r( - b"NSDecimalNumberHandler", - b"initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:", - { - "arguments": { - 4: {"type": "Z"}, - 5: {"type": "Z"}, - 6: {"type": "Z"}, - 7: {"type": "Z"}, - } - }, - ) - r( - b"NSDictionary", - b"countByEnumeratingWithState:objects:count:", - {"arguments": {2: {"type": b"^{_NSFastEnumerationState=Q^@^Q[5Q]}"}}}, - ) - r( - b"NSDictionary", - b"dictionaryWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDictionary", - b"dictionaryWithObjects:forKeys:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSDictionary", - b"dictionaryWithObjectsAndKeys:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSDictionary", - b"enumerateKeysAndObjectsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSDictionary", - b"enumerateKeysAndObjectsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r(b"NSDictionary", b"fileExtensionHidden", {"retval": {"type": "Z"}}) - r(b"NSDictionary", b"fileIsAppendOnly", {"retval": {"type": "Z"}}) - r(b"NSDictionary", b"fileIsImmutable", {"retval": {"type": "Z"}}) - r( - b"NSDictionary", - b"getObjects:andKeys:", - { - "arguments": {2: {"type": "^@"}, 3: {"type": "^@"}}, - "suggestion": "convert to a python dict instead", - }, - ) - r( - b"NSDictionary", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDictionary", - b"initWithDictionary:copyItems:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSDictionary", - b"initWithObjects:forKeys:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSDictionary", - b"initWithObjectsAndKeys:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r(b"NSDictionary", b"isEqualToDictionary:", {"retval": {"type": "Z"}}) - r( - b"NSDictionary", - b"keysOfEntriesPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSDictionary", - b"keysOfEntriesWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSDictionary", - b"keysSortedByValueUsingComparator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSDictionary", - b"keysSortedByValueUsingSelector:", - {"arguments": {2: {"sel_of_type": b"i@:@"}}}, - ) - r( - b"NSDictionary", - b"keysSortedByValueWithOptions:usingComparator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSDictionary", - b"writeToFile:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSDictionary", - b"writeToURL:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSDictionary", - b"writeToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSDirectoryEnumerator", - b"isEnumeratingDirectoryPostOrder", - {"retval": {"type": b"Z"}}, - ) - r(b"NSDistributedLock", b"tryLock", {"retval": {"type": "Z"}}) - r( - b"NSDistributedNotificationCenter", - b"addObserver:selector:name:object:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSDistributedNotificationCenter", - b"addObserver:selector:name:object:suspensionBehavior:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSDistributedNotificationCenter", - b"postNotificationName:object:userInfo:deliverImmediately:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"NSDistributedNotificationCenter", - b"setSuspended:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSDistributedNotificationCenter", b"suspended", {"retval": {"type": "Z"}}) - r( - b"NSEnergyFormatter", - b"getObjectValue:forString:errorDescription:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSEnergyFormatter", b"isForFoodEnergyUse", {"retval": {"type": b"Z"}}) - r(b"NSEnergyFormatter", b"setForFoodEnergyUse:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSError", - b"setUserInfoValueProviderForDomain:provider:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSError", - b"userInfoValueProviderForDomain:", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"NSException", - b"raise:format:", - {"arguments": {3: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSException", - b"raise:format:arguments:", - { - "arguments": {4: {"type": sel32or64(b"*", b"[1{?=II^v^v}]")}}, - "suggestion": "use raise:format:", - }, - ) - r( - b"NSExpression", - b"expressionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"NSExpression", - b"expressionForBlock:arguments:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSExpression", - b"expressionWithFormat:", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ) - r( - b"NSExtensionContext", - b"completeRequestReturningItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSExtensionContext", - b"openURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSFileCoordinator", - b"coordinateAccessWithIntents:queue:byAccessor:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileCoordinator", - b"coordinateReadingItemAtURL:options:error:byAccessor:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSFileCoordinator", - b"coordinateReadingItemAtURL:options:writingItemAtURL:options:error:byAccessor:", - { - "arguments": { - 6: {"type_modifier": b"o"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSFileCoordinator", - b"coordinateWritingItemAtURL:options:error:byAccessor:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSFileCoordinator", - b"coordinateWritingItemAtURL:options:writingItemAtURL:options:error:byAccessor:", - { - "arguments": { - 6: {"type_modifier": b"o"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSFileCoordinator", - b"prepareForReadingItemsAtURLs:options:writingItemsAtURLs:options:error:byAccessor:", - { - "arguments": { - 6: {"type_modifier": b"o"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": b"@?", - }, - }, - } - }, - } - }, - ) - r( - b"NSFileHandle", - b"closeAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"fileHandleForReadingFromURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"fileHandleForUpdatingURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"fileHandleForWritingToURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"getOffset:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"initWithFileDescriptor:closeOnDealloc:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSFileHandle", - b"readDataToEndOfFileAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"readDataUpToLength:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"readabilityHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSFileHandle", - b"seekToEndReturningOffset:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"seekToOffset:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"setReadabilityHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileHandle", - b"setWriteabilityHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileHandle", - b"synchronizeAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"truncateAtOffset:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"writeData:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileHandle", - b"writeabilityHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSFileManager", - b"URLForDirectory:inDomain:appropriateForURL:create:error:", - {"arguments": {5: {"type": "Z"}, 6: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"URLForPublishingUbiquitousItemAtURL:expirationDate:error:", - {"arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"attributesOfFileSystemForPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"attributesOfItemAtPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSFileManager", b"changeCurrentDirectoryPath:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"changeFileAttributes:atPath:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"contentsEqualAtPath:andPath:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"contentsOfDirectoryAtPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"copyItemAtPath:toPath:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"copyItemAtURL:toURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileManager", b"copyPath:toPath:handler:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"createDirectoryAtPath:attributes:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"createDirectoryAtPath:withIntermediateDirectories:attributes:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"createDirectoryAtURL:withIntermediateDirectories:attributes:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"createFileAtPath:contents:attributes:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSFileManager", - b"createSymbolicLinkAtPath:pathContent:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSFileManager", - b"createSymbolicLinkAtPath:withDestinationPath:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"createSymbolicLinkAtURL:withDestinationURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"destinationOfSymbolicLinkAtPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileManager", - b"evictUbiquitousItemAtURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"fileAttributesAtPath:traverseLink:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSFileManager", b"fileExistsAtPath:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"fileExistsAtPath:isDirectory:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "^Z", "type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"fileSystemRepresentationWithPath:", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSFileManager", - b"getFileProviderMessageInterfacesForItemAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileManager", - b"getFileProviderServicesForItemAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileManager", - b"getRelationship:ofDirectory:inDomain:toItemAtURL:error:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type_modifier": b"o"}, 6: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"getRelationship:ofDirectoryAtURL:toItemAtURL:error:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}, - }, - ) - r(b"NSFileManager", b"isDeletableFileAtPath:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"isExecutableFileAtPath:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"isReadableFileAtPath:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"isUbiquitousItemAtURL:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"isWritableFileAtPath:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"linkItemAtPath:toPath:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"linkItemAtURL:toURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileManager", b"linkPath:toPath:handler:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"moveItemAtPath:toPath:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"moveItemAtURL:toURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileManager", b"movePath:toPath:handler:", {"retval": {"type": "Z"}}) - r(b"NSFileManager", b"removeFileAtPath:handler:", {"retval": {"type": "Z"}}) - r( - b"NSFileManager", - b"removeItemAtPath:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"removeItemAtURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:", - { - "retval": {"type": "Z"}, - "arguments": {6: {"type_modifier": b"o"}, 7: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"setAttributes:ofItemAtPath:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"setUbiquitous:itemAtURL:destinationURL:error:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"startDownloadingUbiquitousItemAtURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"stringWithFileSystemRepresentation:length:", - { - "arguments": { - 2: {"type": "^t", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSFileManager", - b"subpathsOfDirectoryAtPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileManager", - b"trashItemAtURL:resultingItemURL:error:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSFileManager", - b"unmountVolumeAtURL:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSFileProviderService", - b"getFileProviderConnectionWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSFileVersion", - b"addVersionOfItemAtURL:withContentsOfURL:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileVersion", - b"getNonlocalVersionsOfItemAtURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSFileVersion", b"hasLocalContents", {"retval": {"type": b"Z"}}) - r(b"NSFileVersion", b"hasThumbnail", {"retval": {"type": b"Z"}}) - r(b"NSFileVersion", b"isConflict", {"retval": {"type": b"Z"}}) - r(b"NSFileVersion", b"isDiscardable", {"retval": {"type": b"Z"}}) - r(b"NSFileVersion", b"isResolved", {"retval": {"type": b"Z"}}) - r( - b"NSFileVersion", - b"removeAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileVersion", - b"removeOtherVersionsOfItemAtURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileVersion", - b"replaceItemAtURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileVersion", b"setDiscardable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSFileVersion", b"setResolved:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSFileVersions", - b"addVersionOfItemAtURL:withContentsOfURL:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSFileVersions", b"isConflict", {"retval": {"type": "Z"}}) - r(b"NSFileVersions", b"isDiscardable", {"retval": {"type": "Z"}}) - r(b"NSFileVersions", b"isResolved", {"retval": {"type": "Z"}}) - r( - b"NSFileVersions", - b"removeAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileVersions", - b"removeOtherVersionsOfItemAtURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSFileVersions", - b"replaceItemAtURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSFileVersions", b"setConflict:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFileVersions", b"setDiscardable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFileVersions", b"setResolved:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSFileWrapper", b"isDirectory", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"isRegularFile", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"isSymbolicLink", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"matchesContentsOfURL:", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"needsToBeUpdatedFromPath:", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"readFromURL:options:error:", {"retval": {"type": b"Z"}}) - r(b"NSFileWrapper", b"updateFromPath:", {"retval": {"type": b"Z"}}) - r( - b"NSFileWrapper", - b"writeToFile:atomically:updateFilenames:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"NSFileWrapper", - b"writeToURL:options:originalContentsURL:error:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSFormatter", - b"getObjectValue:forString:errorDescription:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSFormatter", - b"isPartialStringValid:newEditingString:errorDescription:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"null_accepted": False, "type_modifier": b"N"}, - 4: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSFormatter", - b"isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type_modifier": b"N"}, - 3: {"null_accepted": False, "type_modifier": b"N"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 6: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"NSGarbageCollector", - b"disableCollectorForPointer:", - {"arguments": {2: {"type": "^v"}}, "suggestion": "Not supported right now"}, - ) - r( - b"NSGarbageCollector", - b"enableCollectorForPointer:", - {"arguments": {2: {"type": "^v"}}, "suggestion": "Not supported right now"}, - ) - r(b"NSGarbageCollector", b"isCollecting", {"retval": {"type": "Z"}}) - r(b"NSGarbageCollector", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NSHTTPCookie", b"isHTTPOnly", {"retval": {"type": "Z"}}) - r(b"NSHTTPCookie", b"isSecure", {"retval": {"type": "Z"}}) - r(b"NSHTTPCookie", b"isSessionOnly", {"retval": {"type": "Z"}}) - r( - b"NSHTTPCookieStorage", - b"getCookiesForTask:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSHashTable", b"containsObject:", {"retval": {"type": "Z"}}) - r(b"NSHashTable", b"intersectsHashTable:", {"retval": {"type": "Z"}}) - r(b"NSHashTable", b"isEqualToHashTable:", {"retval": {"type": "Z"}}) - r(b"NSHashTable", b"isSubsetOfHashTable:", {"retval": {"type": "Z"}}) - r(b"NSHost", b"isEqualToHost:", {"retval": {"type": "Z"}}) - r(b"NSHost", b"isHostCacheEnabled", {"retval": {"type": "Z"}}) - r(b"NSHost", b"setHostCacheEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSIndexPath", - b"getIndexes:", - { - "arguments": { - 2: { - "type": sel32or64(b"^I", b"^Q"), - "type_modifier": b"o", - "c_array_of_variable_length": True, - } - }, - "suggestion": "Use -getIndexes:range: or -indexAtPosition: instead", - }, - ) - r( - b"NSIndexPath", - b"getIndexes:range:", - { - "arguments": { - 2: { - "type": sel32or64(b"^I", b"^Q"), - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"NSIndexPath", - b"indexPathWithIndexes:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSIndexPath", - b"initWithIndexes:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"NSIndexSet", b"containsIndex:", {"retval": {"type": "Z"}}) - r(b"NSIndexSet", b"containsIndexes:", {"retval": {"type": "Z"}}) - r( - b"NSIndexSet", - b"containsIndexesInRange:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSIndexSet", - b"countOfIndexesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSIndexSet", - b"enumerateIndexesInRange:options:usingBlock:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - }, - } - }, - ) - r( - b"NSIndexSet", - b"enumerateIndexesUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"enumerateIndexesWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"enumerateRangesInRange:options:usingBlock:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - }, - } - }, - ) - r( - b"NSIndexSet", - b"enumerateRangesUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"enumerateRangesWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"getIndexes:maxCount:inIndexRange:", - { - "arguments": { - 2: { - "null_accepted": False, - "c_array_length_in_arg": 3, - "c_array_length_in_result": True, - "type_modifier": b"o", - }, - 4: {"null_accepted": False, "type_modifier": b"N"}, - } - }, - ) - r( - b"NSIndexSet", - b"indexInRange:options:passingTest:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - }, - } - }, - ) - r( - b"NSIndexSet", - b"indexPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"indexSetWithIndexesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSIndexSet", - b"indexWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"indexesInRange:options:passingTest:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - }, - } - }, - ) - r( - b"NSIndexSet", - b"indexesPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"indexesWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSIndexSet", - b"initWithIndexesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSIndexSet", - b"intersectsIndexesInRange:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r(b"NSIndexSet", b"isEqualToIndexSet:", {"retval": {"type": "Z"}}) - r(b"NSInflectionRule", b"canInflectLanguage:", {"retval": {"type": b"Z"}}) - r( - b"NSInflectionRule", - b"canInflectPreferredLocalization", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSInputStream", - b"getBuffer:length:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": "^*", "type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"^I", b"^Q"), "type_modifier": b"o"}, - }, - "suggestion": "Not supported at the moment", - }, - ) - r(b"NSInputStream", b"hasBytesAvailable", {"retval": {"type": "Z"}}) - r( - b"NSInputStream", - b"read:maxLength:", - { - "arguments": { - 2: { - "type": "^v", - "c_array_length_in_arg": 3, - "c_array_length_in_result": True, - "type_modifier": b"o", - } - } - }, - ) - r(b"NSInvocation", b"argumentsRetained", {"retval": {"type": "Z"}}) - r(b"NSInvocation", b"getArgument:atIndex:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSInvocation", b"getReturnValue:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSInvocation", b"setArgument:atIndex:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSInvocation", b"setReturnValue:", {"arguments": {2: {"type": "^v"}}}) - r(b"NSInvocation", b"setSelector:", {"arguments": {2: {"type": ":"}}}) - r( - b"NSInvocationOperation", - b"initWithTarget:selector:object:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSItemProvider", b"canLoadObjectOfClass:", {"retval": {"type": "Z"}}) - r( - b"NSItemProvider", - b"hasItemConformingToTypeIdentifier:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSItemProvider", - b"hasRepresentationConformingToTypeIdentifier:fileOptions:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSItemProvider", - b"loadDataRepresentationForTypeIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadFileRepresentationForTypeIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadItemForTypeIdentifier:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadObjectOfClass:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"loadPreviewImageWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"previewImageHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "type": b"@?", - }, - 2: {"type": b"#"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"NSItemProvider", - b"registerDataRepresentationForTypeIdentifier:visibility:loadHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "type": b"@?", - }, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "Z"}, - 3: {"type": "@"}, - }, - }, - "type": b"@?", - }, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"registerItemForTypeIdentifier:loadHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"registerObjectOfClass:visibility:loadHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "type": b"@?", - }, - }, - } - } - } - }, - ) - r( - b"NSItemProvider", - b"setPreviewImageHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "type": b"@?", - }, - 2: {"type": b"#"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSJSONSerialization", - b"JSONObjectWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSJSONSerialization", - b"JSONObjectWithStream:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSJSONSerialization", - b"dataWithJSONObject:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSJSONSerialization", b"isValidJSONObject:", {"retval": {"type": b"Z"}}) - r( - b"NSJSONSerialization", - b"writeJSONObject:toStream:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"NSKeyedArchiver", b"archiveRootObject:toFile:", {"retval": {"type": "Z"}}) - r( - b"NSKeyedArchiver", - b"archivedDataWithRootObject:requiringSecureCoding:error:", - {"arguments": {3: {"type": "Z"}, 4: {"type_modifier": b"o"}}}, - ) - r(b"NSKeyedArchiver", b"encodeBool:forKey:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSKeyedArchiver", - b"encodeBytes:length:forKey:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSKeyedArchiver", - b"initRequiringSecureCoding:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSKeyedArchiver", b"requiresSecureCoding", {"retval": {"type": b"Z"}}) - r( - b"NSKeyedArchiver", - b"setRequiresSecureCoding:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSKeyedUnarchiver", b"containsValueForKey:", {"retval": {"type": "Z"}}) - r(b"NSKeyedUnarchiver", b"decodeBoolForKey:", {"retval": {"type": "Z"}}) - r( - b"NSKeyedUnarchiver", - b"decodeBytesForKey:returnedLength:", - { - "retval": {"type": "^v", "c_array_length_in_arg": 3}, - "arguments": {3: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSKeyedUnarchiver", - b"initForReadingFromData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSKeyedUnarchiver", b"requiresSecureCoding", {"retval": {"type": b"Z"}}) - r( - b"NSKeyedUnarchiver", - b"setRequiresSecureCoding:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchiveTopLevelObjectWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedArrayOfObjectsOfClass:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedArrayOfObjectsOfClasses:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedDictionaryWithKeysOfClass:objectsOfClass:fromData:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedDictionaryWithKeysOfClasses:objectsOfClasses:fromData:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedObjectOfClass:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSKeyedUnarchiver", - b"unarchivedObjectOfClasses:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSLengthFormatter", - b"getObjectValue:forString:errorDescription:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSLengthFormatter", b"isForPersonHeightUse", {"retval": {"type": b"Z"}}) - r( - b"NSLengthFormatter", - b"setForPersonHeightUse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSLinguisticTagger", - b"enumerateTagsForString:range:unit:scheme:options:orthography:usingBlock:", - { - "arguments": { - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSLinguisticTagger", - b"enumerateTagsInRange:scheme:options:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSLinguisticTagger", - b"enumerateTagsInRange:unit:scheme:options:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSLinguisticTagger", - b"orthographyAtIndex:effectiveRange:", - { - "arguments": { - 3: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - } - } - }, - ) - r( - b"NSLinguisticTagger", - b"possibleTagsAtIndex:scheme:tokenRange:sentenceRange:scores:", - { - "arguments": { - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - 5: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - 6: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSLinguisticTagger", - b"tagAtIndex:scheme:tokenRange:sentenceRange:", - { - "arguments": { - 4: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - 5: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - } - }, - ) - r( - b"NSLinguisticTagger", - b"tagAtIndex:unit:scheme:tokenRange:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSLinguisticTagger", - b"tagForString:atIndex:unit:scheme:orthography:tokenRange:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"NSLinguisticTagger", - b"tagsForString:range:unit:scheme:options:orthography:tokenRanges:", - {"arguments": {8: {"type_modifier": b"o"}}}, - ) - r( - b"NSLinguisticTagger", - b"tagsInRange:scheme:options:tokenRanges:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSLinguisticTagger", - b"tagsInRange:unit:scheme:options:tokenRanges:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"NSLocale", b"usesMetricSystem", {"retval": {"type": b"Z"}}) - r(b"NSLock", b"lockBeforeDate:", {"retval": {"type": "Z"}}) - r(b"NSLock", b"tryLock", {"retval": {"type": "Z"}}) - r(b"NSMachBootstrapServer", b"registerPort:name:", {"retval": {"type": "Z"}}) - r( - b"NSMassFormatter", - b"getObjectValue:forString:errorDescription:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSMassFormatter", b"isForPersonMassUse", {"retval": {"type": b"Z"}}) - r(b"NSMassFormatter", b"setForPersonMassUse:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSMeasurement", b"canBeConvertedToUnit:", {"retval": {"type": "Z"}}) - r( - b"NSMetadataQuery", - b"enumerateResultsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NSMetadataQuery", - b"enumerateResultsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"NSMetadataQuery", b"isGathering", {"retval": {"type": "Z"}}) - r(b"NSMetadataQuery", b"isStarted", {"retval": {"type": "Z"}}) - r(b"NSMetadataQuery", b"isStopped", {"retval": {"type": "Z"}}) - r(b"NSMetadataQuery", b"startQuery", {"retval": {"type": "Z"}}) - r( - b"NSMethodSignature", - b"getArgumentTypeAtIndex:", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r(b"NSMethodSignature", b"isOneway", {"retval": {"type": "Z"}}) - r( - b"NSMethodSignature", - b"methodReturnType", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSMethodSignature", - b"signatureWithObjCTypes:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - } - }, - ) - r(b"NSMorphology", b"isUnspecified", {"retval": {"type": b"Z"}}) - r( - b"NSMorphology", - b"setCustomPronoun:forLanguage:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSMorphologyCustomPronoun", - b"isSupportedForLanguage:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSMutableArray", b"context:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSMutableArray", - b"removeObject:inRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableArray", - b"removeObjectIdenticalTo:inRange:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableArray", - b"removeObjectsFromIndices:numIndices:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSMutableArray", - b"removeObjectsInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableArray", - b"replaceObjectsInRange:withObjects:count:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 4}}}, - ) - r( - b"NSMutableArray", - b"replaceObjectsInRange:withObjectsFromArray:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableArray", - b"replaceObjectsInRange:withObjectsFromArray:range:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSMutableArray", - b"sortUsingComparator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSMutableArray", - b"sortUsingFunction:context:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - }, - 3: {"type": "@"}, - } - }, - ) - r( - b"NSMutableArray", - b"sortUsingFunction:context:range:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"l"}, - "arguments": { - 0: {"type": b"@"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "callable_retained": False, - }, - 3: {"type": "@"}, - 4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - } - }, - ) - r( - b"NSMutableArray", - b"sortUsingSelector:", - {"arguments": {2: {"sel_of_type": b"i@:@"}}}, - ) - r( - b"NSMutableArray", - b"sortWithOptions:usingComparator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSMutableAttributedString", - b"addAttribute:value:range:", - {"arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"addAttributes:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"appendLocalizedFormat:", - {"arguments": {2: {"printf_format": True}}, "variadic": True}, - ) - r( - b"NSMutableAttributedString", - b"deleteCharactersInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"removeAttribute:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"replaceCharactersInRange:withAttributedString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"replaceCharactersInRange:withString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableAttributedString", - b"setAttributes:range:", - {"arguments": {3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableCharacterSet", - b"addCharactersInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableCharacterSet", - b"removeCharactersInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableData", - b"appendBytes:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSMutableData", - b"compressUsingAlgorithm:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMutableData", - b"decompressUsingAlgorithm:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSMutableData", - b"mutableBytes", - { - "retval": {"type": "^v"}, - "suggestion": "use your language native array access on this object", - }, - ) - r( - b"NSMutableData", - b"replaceBytesInRange:withBytes:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"NSMutableData", - b"replaceBytesInRange:withBytes:length:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"NSMutableData", - b"resetBytesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableIndexSet", - b"addIndexesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableIndexSet", - b"removeIndexesInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableOrderedSet", - b"addObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSMutableOrderedSet", - b"replaceObjectsInRange:withObjects:count:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 4}}}, - ) - r( - b"NSMutableOrderedSet", - b"sortRange:options:usingComparator:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSMutableOrderedSet", - b"sortUsingComparator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSMutableOrderedSet", - b"sortWithOptions:usingComparator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSMutableString", - b"appendFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSMutableString", - b"applyTransform:reverse:range:updatedRange:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSMutableString", - b"deleteCharactersInRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableString", - b"replaceCharactersInRange:withString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSMutableString", - b"replaceOccurrencesOfString:withString:options:range:", - {"arguments": {5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r(b"NSMutableURLRequest", b"HTTPShouldHandleCookies", {"retval": {"type": b"Z"}}) - r(b"NSMutableURLRequest", b"HTTPShouldUsePipelining", {"retval": {"type": b"Z"}}) - r(b"NSMutableURLRequest", b"allowsCellularAccess", {"retval": {"type": b"Z"}}) - r( - b"NSMutableURLRequest", - b"allowsConstrainedNetworkAccess", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSMutableURLRequest", - b"allowsExpensiveNetworkAccess", - {"retval": {"type": b"Z"}}, - ) - r(b"NSMutableURLRequest", b"assumesHTTP3Capable", {"retval": {"type": b"Z"}}) - r( - b"NSMutableURLRequest", - b"setAllowsCellularAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSMutableURLRequest", - b"setAllowsConstrainedNetworkAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSMutableURLRequest", - b"setAllowsExpensiveNetworkAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSMutableURLRequest", - b"setAssumesHTTP3Capable:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSMutableURLRequest", - b"setHTTPShouldHandleCookies:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSMutableURLRequest", - b"setHTTPShouldUsePipelining:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSNetService", - b"getInputStream:outputStream:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type_modifier": b"o"}, - 3: {"null_accepted": False, "type_modifier": b"o"}, - }, - }, - ) - r(b"NSNetService", b"includesPeerToPeer", {"retval": {"type": "Z"}}) - r( - b"NSNetService", - b"setIncludesPeerToPeer:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSNetService", b"setTXTRecordData:", {"retval": {"type": "Z"}}) - r(b"NSNetServiceBrowser", b"includesPeerToPeer", {"retval": {"type": "Z"}}) - r( - b"NSNetServiceBrowser", - b"setIncludesPeerToPeer:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSNotificationCenter", - b"addObserver:selector:name:object:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSNotificationCenter", - b"addObserverForName:object:queue:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSNotificationCenter", - b"addObserverForName:object:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSNumber", b"boolValue", {"retval": {"type": "Z"}}) - r(b"NSNumber", b"charValue", {"retval": {"type": "z"}}) - r(b"NSNumber", b"decimalValue", {"retval": {"type": "{NSDecimal=b8b4b1b1b18[8S]}"}}) - r(b"NSNumber", b"initWithBool:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSNumber", b"initWithChar:", {"arguments": {2: {"type": "z"}}}) - r(b"NSNumber", b"isEqualToNumber:", {"retval": {"type": "Z"}}) - r(b"NSNumber", b"numberWithBool:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSNumber", b"numberWithChar:", {"arguments": {2: {"type": "z"}}}) - r(b"NSNumberFormatter", b"allowsFloats", {"retval": {"type": "Z"}}) - r(b"NSNumberFormatter", b"alwaysShowsDecimalSeparator", {"retval": {"type": "Z"}}) - r(b"NSNumberFormatter", b"generatesDecimalNumbers", {"retval": {"type": "Z"}}) - r( - b"NSNumberFormatter", - b"getObjectValue:forString:range:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 4: {"type_modifier": b"N"}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r(b"NSNumberFormatter", b"hasThousandSeparators", {"retval": {"type": "Z"}}) - r(b"NSNumberFormatter", b"isLenient", {"retval": {"type": "Z"}}) - r( - b"NSNumberFormatter", - b"isPartialStringValidationEnabled", - {"retval": {"type": "Z"}}, - ) - r(b"NSNumberFormatter", b"localizesFormat", {"retval": {"type": "Z"}}) - r(b"NSNumberFormatter", b"setAllowsFloats:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSNumberFormatter", - b"setAlwaysShowsDecimalSeparator:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSNumberFormatter", - b"setGeneratesDecimalNumbers:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSNumberFormatter", - b"setHasThousandSeparators:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSNumberFormatter", b"setLenient:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSNumberFormatter", b"setLocalizesFormat:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSNumberFormatter", - b"setPartialStringValidationEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSNumberFormatter", - b"setUsesGroupingSeparator:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSNumberFormatter", - b"setUsesSignificantDigits:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSNumberFormatter", b"usesGroupingSeparator", {"retval": {"type": "Z"}}) - r(b"NSNumberFormatter", b"usesSignificantDigits", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"URL:resourceDataDidBecomeAvailable:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URL:resourceDidFailLoadingWithReason:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLHandle:resourceDataDidBecomeAvailable:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLHandle:resourceDidFailLoadingWithReason:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLHandleResourceDidBeginLoading:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLHandleResourceDidCancelLoading:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLHandleResourceDidFinishLoading:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLProtocol:cachedResponseIsValid:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocol:didCancelAuthenticationChallenge:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocol:didFailWithError:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocol:didLoadData:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocol:didReceiveAuthenticationChallenge:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocol:didReceiveResponse:cacheStoragePolicy:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"URLProtocol:wasRedirectedToRequest:redirectResponse:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLProtocolDidFinishLoading:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLResourceDidCancelLoading:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLResourceDidFinishLoading:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"URLSession:betterRouteDiscoveredForStreamTask:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:dataTask:didBecomeDownloadTask:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:dataTask:didBecomeStreamTask:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:dataTask:didReceiveData:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:dataTask:didReceiveResponse:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:dataTask:willCacheResponse:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:didBecomeInvalidWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:didReceiveChallenge:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:downloadTask:didFinishDownloadingToURL:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"q"}, - 6: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:readClosedForStreamTask:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:streamTask:didBecomeInputStream:outputStream:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:task:didCompleteWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:task:didFinishCollectingMetrics:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:task:didReceiveChallenge:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"q"}, - 6: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:task:needNewBodyStream:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:task:willBeginDelayedRequest:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"URLSession:taskIsWaitingForConnectivity:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:webSocketTask:didCloseWithCode:reason:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"URLSession:webSocketTask:didOpenWithProtocol:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSession:writeClosedForStreamTask:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"URLSessionDidFinishEventsForBackgroundURLSession:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"accessInstanceVariablesDirectly", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"accommodatePresentedItemDeletionWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"accommodatePresentedSubitemDeletionAtURL:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"addObserver:forKeyPath:options:context:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "I"}, - 5: {"type": "^v"}, - }, - }, - ) - r(b"NSObject", b"allowsWeakReference", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"archiver:didEncodeObject:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"archiver:willEncodeObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"archiver:willReplaceObject:withObject:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"archiverDidFinish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"archiverWillFinish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"attemptRecoveryFromError:optionIndex:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": b"@"}, - 5: {"type": b":", "sel_of_type": b"v@:Z^v"}, - 6: {"type": "^v"}, - }, - }, - ) - r(b"NSObject", b"attributeKeys", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"authenticateComponents:withData:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"authenticationDataForComponents:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"autoContentAccessingProxy", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"automaticallyNotifiesObserversForKey:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"autorelease", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"awakeAfterUsingCoder:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"beginContentAccess", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"beginRequestWithExtensionContext:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cache:willEvictObject:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cancelAuthenticationChallenge:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cancelPreviousPerformRequestsWithTarget:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cancelPreviousPerformRequestsWithTarget:selector:object:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": ":", "sel_of_type": b"v@:@"}, - 4: {"type": b"@"}, - }, - }, - ) - r(b"NSObject", b"class", {"required": True, "retval": {"type": b"#"}}) - r(b"NSObject", b"classCode", {"retval": {"type": sel32or64(b"L", b"Q")}}) - r(b"NSObject", b"classDescription", {"retval": {"type": b"@"}}) - r(b"NSObject", b"classFallbacksForKeyedArchiver", {"retval": {"type": b"@"}}) - r(b"NSObject", b"classForArchiver", {"retval": {"type": "#"}}) - r(b"NSObject", b"classForCoder", {"retval": {"type": "#"}}) - r(b"NSObject", b"classForKeyedArchiver", {"retval": {"type": "#"}}) - r(b"NSObject", b"classForKeyedUnarchiver", {"retval": {"type": "#"}}) - r(b"NSObject", b"classForPortCoder", {"retval": {"type": "#"}}) - r(b"NSObject", b"className", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"coerceValue:forKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r(b"NSObject", b"commitEditingAndReturnError:", {"arguments": {2: {"type": "o"}}}) - r( - b"NSObject", - b"conformsToProtocol:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"connection:canAuthenticateAgainstProtectionSpace:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didCancelAuthenticationChallenge:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didFailWithError:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didReceiveAuthenticationChallenge:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didReceiveData:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didReceiveResponse:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"q"}, - 5: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"connection:didWriteData:totalBytesWritten:expectedTotalBytes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"q"}, - 5: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"connection:handleRequest:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:needNewBodyStream:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:shouldMakeNewConnection:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:willCacheResponse:", - { - "required": False, - "retval": {"type": "@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:willSendRequest:redirectResponse:", - { - "required": False, - "retval": {"type": "@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connection:willSendRequestForAuthenticationChallenge:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connectionDidFinishDownloading:destinationURL:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"connectionDidFinishLoading:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"connectionDidResumeDownloading:totalBytesWritten:expectedTotalBytes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"connectionShouldUseCredentialStorage:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"continueWithoutCredentialForAuthenticationChallenge:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"copy", {"retval": {"already_retained": True}}) - r( - b"NSObject", - b"copyScriptingValue:forKey:withProperties:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"copyWithZone:", - { - "required": True, - "retval": {"already_retained": True, "type": b"@"}, - "arguments": {2: {"type": "^{_NSZone=}"}}, - }, - ) - r( - b"NSObject", - b"countByEnumeratingWithState:objects:count:", - { - "required": True, - "retval": {"type": b"Q"}, - "arguments": { - 2: {"type": sel32or64(b"^{?=L^@^L[5L]}", b"^{?=Q^@^Q[5Q]}")}, - 3: {"type": "^@"}, - 4: {"type": b"Q"}, - }, - "suggestion": "use python iteration", - }, - ) - r( - b"NSObject", - b"createConversationForConnection:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"debugDescription", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"description", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"dictionaryWithValuesForKeys:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didChange:valuesAtIndexes:forKey:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": "I"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"didChangeValueForKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didChangeValueForKey:withSetMutation:usingObjects:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "I"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"discardContentIfPossible", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"doesContain:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"doesNotRecognizeSelector:", - {"retval": {"type": "v"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"download:canAuthenticateAgainstProtectionSpace:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:decideDestinationWithSuggestedFilename:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didCancelAuthenticationChallenge:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didCreateDestination:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didFailWithError:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didReceiveAuthenticationChallenge:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didReceiveDataOfLength:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"download:didReceiveResponse:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:shouldDecodeSourceDataOfMIMEType:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:willResumeWithResponse:fromByte:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "q"}}, - }, - ) - r( - b"NSObject", - b"download:willSendRequest:redirectResponse:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"downloadDidBegin:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"downloadDidFinish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"downloadShouldUseCredentialStorage:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"encodeWithCoder:", - {"required": True, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"endContentAccess", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"exceptionDuringOperation:error:leftOperand:rightOperand:", - { - "required": True, - "retval": {"type": "@"}, - "arguments": { - 2: {"type": ":"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldCopyItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldCopyItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldLinkItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldLinkItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldMoveItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldMoveItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:copyingItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:copyingItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:linkingItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:linkingItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:movingItemAtPath:toPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:movingItemAtURL:toURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:removingItemAtPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldProceedAfterError:removingItemAtURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldRemoveItemAtPath:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:shouldRemoveItemAtURL:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"fileManager:willProcessPath:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r(b"NSObject", b"forwardInvocation:", {"retval": {"type": "v"}}) - r( - b"NSObject", - b"handleMachMessage:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": "^v"}}}, - ) - r( - b"NSObject", - b"handlePortMessage:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleQueryWithUnboundKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleTakeValue:forUnboundKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"hash", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"indicesOfObjectsByEvaluatingObjectSpecifier:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"initWithCoder:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"initWithItemProviderData:typeIdentifier:error:", - {"arguments": {4: {"type": "^@", "type_modifier": b"o"}}}, - ) - r(b"NSObject", b"initialize", {"retval": {"type": "v"}}) - r( - b"NSObject", - b"insertValue:atIndex:inPropertyWithKey:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"insertValue:inPropertyWithKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"instanceMethodForSelector:", - {"retval": {"type": "^?"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"instanceMethodSignatureForSelector:", - {"arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"instancesRespondToSelector:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"inverseForRelationshipKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isCaseInsensitiveLike:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"isContentDiscarded", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"isEqual:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isGreaterThan:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isGreaterThanOrEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isKindOfClass:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": "#"}}}, - ) - r( - b"NSObject", - b"isLessThan:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isLessThanOrEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isLike:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isMemberOfClass:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": "#"}}}, - ) - r( - b"NSObject", - b"isNotEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"isProxy", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"isSubclassOfClass:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "#"}}}, - ) - r( - b"NSObject", - b"itemProviderVisibilityForRepresentationWithTypeIdentifier:", - { - "required": False, - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"keyPathsForValuesAffectingValueForKey:", - {"retval": {"type": "@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"listener:shouldAcceptNewConnection:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"load", {"retval": {"type": "v"}}) - r( - b"NSObject", - b"loadDataWithTypeIdentifier:forItemProviderCompletionHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"lock", {"required": True, "retval": {"type": "v"}}) - r( - b"NSObject", - b"makeNewConnection:sender:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"metadataQuery:replacementObjectForResultObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"metadataQuery:replacementValueForAttribute:value:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"methodForSelector:", - {"retval": {"type": "^?"}, "arguments": {2: {"type": ":"}}}, - ) - r(b"NSObject", b"methodSignatureForSelector:", {"arguments": {2: {"type": ":"}}}) - r( - b"NSObject", - b"mutableArrayValueForKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mutableArrayValueForKeyPath:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"mutableCopy", {"retval": {"already_retained": True, "type": "@"}}) - r( - b"NSObject", - b"mutableCopyWithZone:", - { - "required": True, - "retval": {"already_retained": True, "type": "@"}, - "arguments": {2: {"type": "^{_NSZone=}"}}, - }, - ) - r( - b"NSObject", - b"mutableOrderedSetValueForKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mutableOrderedSetValueForKeyPath:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mutableSetValueForKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mutableSetValueForKeyPath:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netService:didAcceptConnectionWithInputStream:outputStream:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"netService:didNotPublish:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"netService:didNotResolve:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"netService:didUpdateTXTRecordData:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowser:didFindDomain:moreComing:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowser:didFindService:moreComing:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowser:didNotSearch:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowser:didRemoveDomain:moreComing:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowser:didRemoveService:moreComing:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"netServiceBrowserDidStopSearch:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceBrowserWillSearch:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceDidPublish:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceDidResolveAddress:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceDidStop:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceWillPublish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"netServiceWillResolve:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newScriptingObjectOfClass:forValueForKey:withContentsValue:properties:", - { - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": "#"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r(b"NSObject", b"objectSpecifier", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"objectWithItemProviderData:typeIdentifier:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r(b"NSObject", b"observationInfo", {"retval": {"type": "^v"}}) - r( - b"NSObject", - b"observeValueForKeyPath:ofObject:change:context:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "^v"}, - }, - }, - ) - r( - b"NSObject", - b"observedPresentedItemUbiquityAttributes", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"parser:didEndElement:namespaceURI:qualifiedName:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:didEndMappingPrefix:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:didStartElement:namespaceURI:qualifiedName:attributes:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:didStartMappingPrefix:toURI:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:foundCDATA:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundCharacters:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundComment:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundElementDeclarationWithName:model:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundExternalEntityDeclarationWithName:publicID:systemID:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:foundIgnorableWhitespace:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundInternalEntityDeclarationWithName:value:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundNotationDeclarationWithName:publicID:systemID:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:foundProcessingInstructionWithTarget:data:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"parser:parseErrorOccurred:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:resolveExternalEntityName:systemID:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parser:validationErrorOccurred:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"parserDidEndDocument:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"parserDidStartDocument:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"performDefaultHandlingForAuthenticationChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"performSelector:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"performSelector:onThread:withObject:waitUntilDone:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"performSelector:onThread:withObject:waitUntilDone:modes:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "Z"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"performSelector:withObject:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": ":"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"performSelector:withObject:afterDelay:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": "d"}, - }, - }, - ) - r( - b"NSObject", - b"performSelector:withObject:afterDelay:inModes:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": "d"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"performSelector:withObject:withObject:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": ":"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"performSelectorInBackground:withObject:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": b":", "sel_of_type": b"v@:@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"performSelectorOnMainThread:withObject:waitUntilDone:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"performSelectorOnMainThread:withObject:waitUntilDone:modes:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": b":", "sel_of_type": b"v@:@"}, - 3: {"type": b"@"}, - 4: {"type": "Z"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"poseAsClass:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "#"}}}, - ) - r( - b"NSObject", - b"presentedItemDidChange", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"presentedItemDidChangeUbiquityAttributes:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedItemDidGainVersion:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedItemDidLoseVersion:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedItemDidMoveToURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedItemDidResolveConflictVersion:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedItemOperationQueue", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"presentedItemURL", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"presentedSubitemAtURL:didGainVersion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"presentedSubitemAtURL:didLoseVersion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"presentedSubitemAtURL:didMoveToURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"presentedSubitemAtURL:didResolveConflictVersion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"presentedSubitemDidAppearAtURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentedSubitemDidChangeAtURL:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"primaryPresentedItemURL", - {"required": False, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"progress", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"readableTypeIdentifiersForItemProvider", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"rejectProtectionSpaceAndContinueWithChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"release", {"required": True, "retval": {"type": "Vv"}}) - r( - b"NSObject", - b"relinquishPresentedItemToReader:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": b"@?", - }, - }, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"relinquishPresentedItemToWriter:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": b"@?", - }, - }, - }, - "type": "@?", - } - }, - }, - ) - r(b"NSObject", b"remoteObjectProxy", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"remoteObjectProxyWithErrorHandler:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"removeObserver:forKeyPath:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"removeObserver:forKeyPath:context:", - { - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"^v"}}, - }, - ) - r( - b"NSObject", - b"removeValueAtIndex:fromPropertyWithKey:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"replaceValueAtIndex:inPropertyWithKey:withValue:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"replacementObjectForArchiver:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementObjectForCoder:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementObjectForKeyedArchiver:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replacementObjectForPortCoder:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"resolveClassMethod:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"resolveInstanceMethod:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"respondsToSelector:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r(b"NSObject", b"retain", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"retainCount", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"retainWeakReference", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"roundingMode", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"savePresentedItemChangesWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - }, - }, - ) - r(b"NSObject", b"scale", {"required": True, "retval": {"type": "s"}}) - r( - b"NSObject", - b"scriptingBeginsWith:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingContains:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingEndsWith:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingIsEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingIsGreaterThan:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingIsGreaterThanOrEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingIsLessThan:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scriptingIsLessThanOrEqualTo:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"scriptingProperties", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"scriptingValueForSpecifier:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"self", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"setKeys:triggerChangeNotificationsForDependentKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setNilValueForKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setObservationInfo:", - {"retval": {"type": "v"}, "arguments": {2: {"type": "^v"}}}, - ) - r( - b"NSObject", - b"setPresentedItemOperationQueue:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPresentedItemURL:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPrimaryPresentedItemURL:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setScriptingProperties:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:forKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:forKeyPath:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:forUndefinedKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValuesForKeysWithDictionary:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setVersion:", - {"retval": {"type": "v"}, "arguments": {2: {"type": sel32or64(b"i", b"q")}}}, - ) - r( - b"NSObject", - b"spellServer:checkGrammarInString:language:details:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"spellServer:checkString:offset:types:options:orthography:wordCount:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": sel32or64(b"i", b"q")}, - 6: {"type": b"@"}, - 7: {"type": b"@"}, - 8: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"spellServer:didForgetWord:inLanguage:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"spellServer:didLearnWord:inLanguage:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"spellServer:findMisspelledWordInString:language:wordCount:countOnly:", - { - "required": False, - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": sel32or64(b"^i", b"^q"), "type_modifier": b"o"}, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"spellServer:recordResponse:toCorrection:forWord:language:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"spellServer:suggestCompletionsForPartialWordRange:inString:language:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"spellServer:suggestGuessesForWord:inLanguage:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"storedValueForKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"stream:handleEvent:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r(b"NSObject", b"superclass", {"required": True, "retval": {"type": "#"}}) - r(b"NSObject", b"supportsSecureCoding", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"synchronousRemoteObjectProxyWithErrorHandler:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"takeStoredValue:forKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"takeValue:forKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"takeValue:forKeyPath:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"takeValuesFromDictionary:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"toManyRelationshipKeys", {"retval": {"type": b"@"}}) - r(b"NSObject", b"toOneRelationshipKeys", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"unableToSetNilForKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"unarchiver:cannotDecodeObjectOfClassName:originalClasses:", - { - "required": False, - "retval": {"type": "#"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"unarchiver:didDecodeObject:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"unarchiver:willReplaceObject:withObject:", - { - "required": False, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"unarchiverDidFinish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"unarchiverWillFinish:", - {"required": False, "retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"unlock", {"required": True, "retval": {"type": "v"}}) - r( - b"NSObject", - b"useCredential:forAuthenticationChallenge:", - { - "required": True, - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"useStoredAccessor", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"userActivity:didReceiveInputStream:outputStream:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"userActivityWasContinued:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"userActivityWillSave:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"userNotificationCenter:didActivateNotification:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"userNotificationCenter:didDeliverNotification:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"userNotificationCenter:shouldPresentNotification:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"validateValue:forKey:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"N"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"validateValue:forKeyPath:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"N"}, - 3: {"type": "@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"valueAtIndex:inPropertyWithKey:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"valueForKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueForKeyPath:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueForUndefinedKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueWithName:inPropertyWithKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueWithUniqueID:inPropertyWithKey:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valuesForKeys:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"version", {"retval": {"type": sel32or64(b"i", b"q")}}) - r( - b"NSObject", - b"willChange:valuesAtIndexes:forKey:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": "I"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"willChangeValueForKey:", - {"retval": {"type": "v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"willChangeValueForKey:withSetMutation:usingObjects:", - { - "retval": {"type": "v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "I"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"writableTypeIdentifiersForItemProvider", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"zone", {"required": True, "retval": {"type": b"^{_NSZone=}"}}) - r( - b"NSOperation", - b"completionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"NSOperation", b"isAsynchronous", {"retval": {"type": b"Z"}}) - r(b"NSOperation", b"isCancelled", {"retval": {"type": "Z"}}) - r(b"NSOperation", b"isConcurrent", {"retval": {"type": "Z"}}) - r(b"NSOperation", b"isExecuting", {"retval": {"type": "Z"}}) - r(b"NSOperation", b"isFinished", {"retval": {"type": "Z"}}) - r(b"NSOperation", b"isReady", {"retval": {"type": "Z"}}) - r( - b"NSOperation", - b"setCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSOperationQueue", - b"addBarrierBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSOperationQueue", - b"addOperationWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSOperationQueue", - b"addOperations:waitUntilFinished:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSOperationQueue", b"isSuspended", {"retval": {"type": "Z"}}) - r(b"NSOperationQueue", b"setSuspended:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSOrderedCollectionDifference", - b"differenceByTransformingChangesWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSOrderedCollectionDifference", b"hasChanges", {"retval": {"type": b"Z"}}) - r(b"NSOrderedSet", b"containsObject:", {"retval": {"type": "Z"}}) - r( - b"NSOrderedSet", - b"differenceFromOrderedSet:withOptions:usingEquivalenceTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"enumerateObjectsAtIndexes:options:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"enumerateObjectsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"enumerateObjectsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexOfObject:inSortedRange:options:usingComparator:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexOfObjectAtIndexes:options:passingTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexOfObjectPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexOfObjectWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexesOfObjecstWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexesOfObjectsAtIndexes:options:passingTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexesOfObjectsPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"indexesOfObjectsWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r(b"NSOrderedSet", b"initWithArray:copyItems:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSOrderedSet", - b"initWithArray:range:copyItems:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"initWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSOrderedSet", - b"initWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSOrderedSet", - b"initWithOrderedSet:copyItems:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"initWithOrderedSet:range:copyItems:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"NSOrderedSet", b"initWithSet:copyItems:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSOrderedSet", b"insersectsSet:", {"retval": {"type": "Z"}}) - r(b"NSOrderedSet", b"intersectsOrderedSet:", {"retval": {"type": "Z"}}) - r(b"NSOrderedSet", b"intersectsSet:", {"retval": {"type": b"Z"}}) - r(b"NSOrderedSet", b"isEqualToOrderedSet:", {"retval": {"type": "Z"}}) - r(b"NSOrderedSet", b"isSubsetOfOrderedSet:", {"retval": {"type": "Z"}}) - r(b"NSOrderedSet", b"isSubsetOfSet:", {"retval": {"type": "Z"}}) - r( - b"NSOrderedSet", - b"orderedSetWithArray:copyItems:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithArray:range:copyItems:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithOrderedSet:copyItems:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithOrderedSet:range:copyItems:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"orderedSetWithSet:copyItems:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOrderedSet", - b"sortedArrayUsingComparator:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSOrderedSet", - b"sortedArrayWithOptions:usingComparator:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSOutputStream", b"hasSpaceAvailable", {"retval": {"type": "Z"}}) - r( - b"NSOutputStream", - b"initToBuffer:capacity:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 3} - } - }, - ) - r(b"NSOutputStream", b"initToFileAtPath:append:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSOutputStream", b"initWithURL:append:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSOutputStream", - b"outputStreamToBuffer:capacity:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSOutputStream", - b"outputStreamToFileAtPath:append:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOutputStream", - b"outputStreamWithURL:append:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSOutputStream", - b"write:maxLength:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSPersonNameComponentsFormatter", - b"getObjectValue:forString:errorDescription:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - }, - }, - ) - r(b"NSPersonNameComponentsFormatter", b"isPhonetic", {"retval": {"type": "Z"}}) - r( - b"NSPersonNameComponentsFormatter", - b"setPhonetic:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPointerArray", - b"addPointer:", - {"arguments": {2: {"type": "@"}}, "suggestion": "use NSMutableArray"}, - ) - r( - b"NSPointerArray", - b"insertPointer:atIndex:", - {"arguments": {2: {"type": "@"}}, "suggestion": "use NSMutableArray"}, - ) - r( - b"NSPointerArray", - b"pointerAtIndex:", - {"retval": {"type": "@"}, "suggestion": "use NSMutableArray"}, - ) - r( - b"NSPointerArray", - b"replacePointerAtIndex:withPointer:", - {"arguments": {3: {"type": "@"}}, "suggestion": "use NSMutableArray"}, - ) - r(b"NSPointerFunctions", b"acquireFunction", {"retval": {"type": "^v"}}) - r(b"NSPointerFunctions", b"setAcquireFunction:", {"arguments": {2: {"type": "^v"}}}) - r( - b"NSPointerFunctions", - b"setUsesStrongWriteBarrier:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSPointerFunctions", - b"setUsesWeakReadAndWriteBarriers:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSPointerFunctions", b"usesStrongWriteBarrier", {"retval": {"type": "Z"}}) - r(b"NSPointerFunctions", b"usesWeakReadAndWriteBarriers", {"retval": {"type": "Z"}}) - r(b"NSPort", b"isValid", {"retval": {"type": "Z"}}) - r(b"NSPort", b"sendBeforeDate:components:from:reserved:", {"retval": {"type": "Z"}}) - r( - b"NSPort", - b"sendBeforeDate:msgid:components:from:reserved:", - {"retval": {"type": "Z"}}, - ) - r(b"NSPortCoder", b"isBycopy", {"retval": {"type": "Z"}}) - r(b"NSPortCoder", b"isByref", {"retval": {"type": "Z"}}) - r(b"NSPortMessage", b"sendBeforeDate:", {"retval": {"type": "Z"}}) - r(b"NSPortNameServer", b"registerPort:name:", {"retval": {"type": "Z"}}) - r(b"NSPortNameServer", b"removePortForName:", {"retval": {"type": "Z"}}) - r(b"NSPositionalSpecifier", b"insertionReplaces", {"retval": {"type": "Z"}}) - r(b"NSPredicate", b"evaluateWithObject:", {"retval": {"type": "Z"}}) - r( - b"NSPredicate", - b"evaluateWithObject:substitutionVariables:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPredicate", - b"predicateWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSPredicate", - b"predicateWithFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSPredicate", - b"predicateWithFormat:arguments:", - {"suggestion": "use +predicateWithFormat:"}, - ) - r(b"NSPredicate", b"predicateWithValue:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSPresentationIntent", - b"isEquivalentToPresentationIntent:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSProcessInfo", - b"automaticTerminationSupportEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"NSProcessInfo", b"isLowPowerModeEnabled", {"retval": {"type": b"Z"}}) - r(b"NSProcessInfo", b"isMacCatalystApp", {"retval": {"type": b"Z"}}) - r( - b"NSProcessInfo", - b"isOperatingSystemAtLeastVersion:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"{_NSOperatingSystemVersion=qqq}"}}, - }, - ) - r(b"NSProcessInfo", b"isiOSAppOnMac", {"retval": {"type": "Z"}}) - r( - b"NSProcessInfo", - b"operatingSystemVersion", - {"retval": {"type": b"{_NSOperatingSystemVersion=qqq}"}}, - ) - r( - b"NSProcessInfo", - b"performActivityWithOptions:reason:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSProcessInfo", - b"performExpiringActivityWithReason:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NSProcessInfo", - b"setAutomaticTerminationSupportEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSProgress", - b"addSubscriberForFileURL:withPublishingHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": b"@?", - }, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSProgress", - b"cancellationHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"NSProgress", b"isCancellable", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isCancelled", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isFinished", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isIndeterminate", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isOld", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isPausable", {"retval": {"type": b"Z"}}) - r(b"NSProgress", b"isPaused", {"retval": {"type": b"Z"}}) - r( - b"NSProgress", - b"pausingHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSProgress", - b"performAsCurrentWithPendingUnitCount:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSProgress", - b"resumingHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"NSProgress", b"setCancellable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSProgress", - b"setCancellationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NSProgress", b"setPausable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSProgress", - b"setPausingHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSProgress", - b"setResumingHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSPropertyListSerialization", - b"dataFromPropertyList:format:errorDescription:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSPropertyListSerialization", - b"dataWithPropertyList:format:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPropertyListSerialization", - b"propertyList:isValidForFormat:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSPropertyListSerialization", - b"propertyListFromData:mutabilityOption:format:errorDescription:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPropertyListSerialization", - b"propertyListWithData:options:format:error:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPropertyListSerialization", - b"propertyListWithStream:options:format:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSPropertyListSerialization", - b"writePropertyList:toStream:format:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"NSProxy", b"allowsWeakReference", {"retval": {"type": "Z"}}) - r(b"NSProxy", b"methodSignatureForSelector:", {"arguments": {2: {"type": ":"}}}) - r( - b"NSProxy", - b"respondsToSelector:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r(b"NSProxy", b"retainWeakReference", {"retval": {"type": "Z"}}) - r(b"NSRecursiveLock", b"lockBeforeDate:", {"retval": {"type": "Z"}}) - r(b"NSRecursiveLock", b"tryLock", {"retval": {"type": "Z"}}) - r( - b"NSRegularExpression", - b"enumerateMatchesInString:options:range:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSRegularExpression", - b"initWithPattern:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSRegularExpression", - b"regularExpressionWithPattern:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSRunLoop", - b"cancelPerformSelector:target:argument:", - {"arguments": {2: {"type": ":", "sel_of_type": b"v@:@"}}}, - ) - r( - b"NSRunLoop", - b"performBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSRunLoop", - b"performInModes:block:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSRunLoop", - b"performSelector:target:argument:order:modes:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSRunLoop", b"runMode:beforeDate:", {"retval": {"type": "Z"}}) - r(b"NSScanner", b"caseSensitive", {"retval": {"type": "Z"}}) - r(b"NSScanner", b"isAtEnd", {"retval": {"type": "Z"}}) - r( - b"NSScanner", - b"scanCharactersFromSet:intoString:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanDecimal:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "null_accepted": False, - "type": b"^{_NSDecimal=b8b4b1b1b18[8S]}", - "type_modifier": b"o", - } - }, - }, - ) - r( - b"NSScanner", - b"scanDouble:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanFloat:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanHexDouble:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type": "^d", "type_modifier": b"o"} - }, - }, - ) - r( - b"NSScanner", - b"scanHexFloat:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type": "^f", "type_modifier": b"o"} - }, - }, - ) - r( - b"NSScanner", - b"scanHexInt:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanHexLongLong:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"null_accepted": False, "type": "^Q", "type_modifier": b"o"} - }, - }, - ) - r( - b"NSScanner", - b"scanInt:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanInteger:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanLongLong:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanString:intoString:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanUnsignedLongLong:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanUpToCharactersFromSet:intoString:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r( - b"NSScanner", - b"scanUpToString:intoString:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"null_accepted": False, "type_modifier": b"o"}}, - }, - ) - r(b"NSScanner", b"setCaseSensitive:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSScriptClassDescription", - b"hasOrderedToManyRelationshipForKey:", - {"retval": {"type": "Z"}}, - ) - r(b"NSScriptClassDescription", b"hasPropertyForKey:", {"retval": {"type": "Z"}}) - r( - b"NSScriptClassDescription", - b"hasReadablePropertyForKey:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScriptClassDescription", - b"hasWritablePropertyForKey:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScriptClassDescription", - b"isLocationRequiredToCreateForKey:", - {"retval": {"type": "Z"}}, - ) - r(b"NSScriptClassDescription", b"isReadOnlyKey:", {"retval": {"type": "Z"}}) - r(b"NSScriptClassDescription", b"matchesAppleEventCode:", {"retval": {"type": "Z"}}) - r(b"NSScriptClassDescription", b"supportsCommand:", {"retval": {"type": "Z"}}) - r( - b"NSScriptCoercionHandler", - b"registerCoercer:selector:toConvertFromClass:toClass:", - {"arguments": {3: {"sel_of_type": b"@@:@#"}}}, - ) - r(b"NSScriptCommand", b"isWellFormed", {"retval": {"type": "Z"}}) - r( - b"NSScriptCommandDescription", - b"isOptionalArgumentWithName:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScriptObjectSpecifier", - b"containerIsObjectBeingTested", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScriptObjectSpecifier", - b"containerIsRangeContainerObject", - {"retval": {"type": "Z"}}, - ) - r( - b"NSScriptObjectSpecifier", - b"indicesOfObjectsByEvaluatingWithContainer:count:", - { - "retval": {"c_array_length_in_arg": 3}, - "arguments": {3: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSScriptObjectSpecifier", - b"setContainerIsObjectBeingTested:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSScriptObjectSpecifier", - b"setContainerIsRangeContainerObject:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSScriptWhoseTest", b"isTrue", {"retval": {"type": "Z"}}) - r( - b"NSSet", - b"addObserver:forKeyPath:options:context:", - {"arguments": {5: {"type": "^v"}}}, - ) - r(b"NSSet", b"containsObject:", {"retval": {"type": "Z"}}) - r( - b"NSSet", - b"enumerateObjectsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSSet", - b"enumerateObjectsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSSet", - b"initWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSSet", - b"initWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"NSSet", b"initWithSet:copyItems:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSSet", b"intersectsSet:", {"retval": {"type": "Z"}}) - r(b"NSSet", b"isEqualToSet:", {"retval": {"type": "Z"}}) - r(b"NSSet", b"isSubsetOfSet:", {"retval": {"type": "Z"}}) - r( - b"NSSet", - b"makeObjectsPerformSelector:", - {"arguments": {2: {"sel_of_type": b"v@:"}}}, - ) - r( - b"NSSet", - b"makeObjectsPerformSelector:withObject:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSSet", - b"objectsPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSSet", - b"objectsWithOptions:passingTest:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSSet", - b"setWithObjects:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"NSSet", - b"setWithObjects:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"NSSocketPortNameServer", b"registerPort:name:", {"retval": {"type": "Z"}}) - r( - b"NSSocketPortNameServer", - b"registerPort:name:nameServerPortNumber:", - {"retval": {"type": "Z"}}, - ) - r(b"NSSocketPortNameServer", b"removePortForName:", {"retval": {"type": "Z"}}) - r(b"NSSortDescriptor", b"ascending", {"retval": {"type": "Z"}}) - r( - b"NSSortDescriptor", - b"comparator", - { - "retval": { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r(b"NSSortDescriptor", b"initWithKey:ascending:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSSortDescriptor", - b"initWithKey:ascending:comparator:", - { - "arguments": { - 3: {"type": "Z"}, - 4: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSSortDescriptor", - b"initWithKey:ascending:selector:", - {"arguments": {3: {"type": "Z"}, 4: {"sel_of_type": b"i@:@"}}}, - ) - r( - b"NSSortDescriptor", - b"sortDescriptorWithKey:ascending:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSSortDescriptor", - b"sortDescriptorWithKey:ascending:comparator:", - { - "arguments": { - 3: {"type": "Z"}, - 4: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"NSSortDescriptor", - b"sortDescriptorWithKey:ascending:selector:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSSpellServer", - b"isWordInUserDictionaries:caseSensitive:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r(b"NSSpellServer", b"registerLanguage:byVendor:", {"retval": {"type": "Z"}}) - r( - b"NSStream", - b"getBoundStreamsWithBufferSize:inputStream:outputStream:", - {"arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}}, - ) - r( - b"NSStream", - b"getStreamsToHost:port:inputStream:outputStream:", - { - "arguments": { - 4: {"null_accepted": False, "type_modifier": b"o"}, - 5: {"null_accepted": False, "type_modifier": b"o"}, - } - }, - ) - r( - b"NSStream", - b"getStreamsToHostWithName:port:inputStream:outputStream:", - {"arguments": {4: {"type_modifier": b"o"}, 5: {"type_modifier": b"o"}}}, - ) - r(b"NSStream", b"setProperty:forKey:", {"retval": {"type": "Z"}}) - r(b"NSString", b"", {"retval": {"type": "*"}}) - r( - b"NSString", - b"UTF8String", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSString", - b"availableStringEncodings", - { - "retval": { - "c_array_delimited_by_null": True, - "type": sel32or64(b"r^I", b"r^Q"), - } - }, - ) - r(b"NSString", b"boolValue", {"retval": {"type": "Z"}}) - r( - b"NSString", - b"cString", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSString", - b"cStringUsingEncoding:", - {"retval": {"c_array_delimited_by_null": True, "type": "^v"}}, - ) - r(b"NSString", b"canBeConvertedToEncoding:", {"retval": {"type": "Z"}}) - r(b"NSString", b"characterAtIndex:", {"retval": {"type": "T"}}) - r( - b"NSString", - b"compare:options:range:", - {"arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSString", - b"compare:options:range:locale:", - {"arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSString", - b"completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:", - { - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type": "Z"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSString", b"containsString:", {"retval": {"type": b"Z"}}) - r( - b"NSString", - b"dataUsingEncoding:allowLossyConversion:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSString", - b"enumerateLinesUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSString", - b"enumerateLinguisticTagsInRange:scheme:options:orthography:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSString", - b"enumerateSubstringsInRange:options:usingBlock:", - { - "arguments": { - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"^Z", "type_modifier": "o"}, - }, - } - }, - } - }, - ) - r( - b"NSString", - b"enumeratorLinguisticTagsInRange:scheme:options:orthography:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 4: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"NSString", - b"fileSystemRepresentation", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSString", - b"getBytes:maxLength:usedLength:encoding:options:range:remainingRange:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "type": "^v", - "type_modifier": b"o", - "c_array_length_in_arg": (3, 4), - }, - 4: {"type": sel32or64(b"^I", b"^Q"), "type_modifier": b"o"}, - 7: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - 8: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - "suggestion": "do not use", - }, - ) - r( - b"NSString", - b"getCString:", - {"arguments": {2: {"type": "*"}}, "suggestion": "use -cString"}, - ) - r( - b"NSString", - b"getCString:maxLength:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 3} - }, - "suggestion": "use -cString instead", - }, - ) - r( - b"NSString", - b"getCString:maxLength:encoding:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 3} - }, - "suggestion": "use -cString instead", - }, - ) - r( - b"NSString", - b"getCString:maxLength:range:remainingRange:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^v", "type_modifier": b"o", "c_array_length_in_arg": 3}, - 5: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"o", - }, - }, - "suggestion": "use -cString instead", - }, - ) - r( - b"NSString", - b"getCharacters:", - { - "retval": {"type": "v"}, - "arguments": { - 2: { - "type": "^T", - "type_modifier": b"o", - "c_array_of_variable_length": True, - } - }, - }, - ) - r( - b"NSString", - b"getCharacters:range:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type": "^T", "type_modifier": b"o", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSString", - b"getFileSystemRepresentation:maxLength:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^t", "type_modifier": b"o", "c_array_length_in_arg": 3} - }, - }, - ) - r( - b"NSString", - b"getLineStart:end:contentsEnd:forRange:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r( - b"NSString", - b"getParagraphStart:end:contentsEnd:forRange:", - { - "retval": {"type": "v"}, - "arguments": { - 2: {"type_modifier": b"o"}, - 3: {"type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - 5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - }, - }, - ) - r(b"NSString", b"hasPrefix:", {"retval": {"type": "Z"}}) - r(b"NSString", b"hasSuffix:", {"retval": {"type": "Z"}}) - r( - b"NSString", - b"initWithBytes:length:encoding:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"NSString", - b"initWithBytesNoCopy:length:encoding:deallocator:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^v"}, - 2: {"type": b"Q"}, - }, - } - } - } - }, - ) - r( - b"NSString", - b"initWithBytesNoCopy:length:encoding:freeWhenDone:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 5: {"type": "Z"}, - }, - "suggestion": "use -initWithBytes:length:encoding instead", - }, - ) - r( - b"NSString", - b"initWithCString:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSString", - b"initWithCString:encoding:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSString", - b"initWithCString:length:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSString", - b"initWithCStringNoCopy:length:freeWhenDone:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type": "Z"}, - }, - "suggestion": "use -initWithCString:length: instead", - }, - ) - r( - b"NSString", - b"initWithCharacters:length:", - { - "arguments": { - 2: {"type": "^T", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSString", - b"initWithCharactersNoCopy:length:deallocator:", - { - "retval": {"type": "@"}, - "arguments": { - 2: {"type": "^T", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": b"^T", - "type_modifier": "n", - "c_array_length_in_arg": 2, - }, - 2: {"type": b"Q"}, - }, - } - }, - }, - "suggestion": "use -initWithCharacters:length: instead", - }, - ) - r( - b"NSString", - b"initWithCharactersNoCopy:length:freeWhenDone:", - { - "retval": {"type": "@"}, - "arguments": { - 2: {"type": "^T", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type": "Z"}, - }, - "suggestion": "use -initWithCharacters:length: instead", - }, - ) - r( - b"NSString", - b"initWithContentsOfFile:encoding:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSString", - b"initWithContentsOfFile:usedEncoding:error:", - { - "arguments": { - 3: {"type": sel32or64(b"r^I", b"r^Q"), "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSString", b"initWithContentsOfURL:", {"arguments": {2: {"type": "@"}}}) - r( - b"NSString", - b"initWithContentsOfURL:encoding:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSString", - b"initWithContentsOfURL:usedEncoding:error:", - { - "arguments": { - 3: {"type": sel32or64(b"r^I", b"r^Q"), "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSString", - b"initWithFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSString", - b"initWithFormat:arguments:", - { - "arguments": {3: {"type": sel32or64(b"*", b"[1{?=II^v^v}]")}}, - "suggestion": "use -initWithFormat:", - }, - ) - r( - b"NSString", - b"initWithFormat:locale:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSString", - b"initWithFormat:locale:arguments:", - { - "arguments": {4: {"type": sel32or64(b"*", b"[1{?=II^v^v}]")}}, - "suggestion": "use -initWithFormat:locale:", - }, - ) - r( - b"NSString", - b"initWithUTF8String:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - } - }, - ) - r(b"NSString", b"isAbsolutePath", {"retval": {"type": "Z"}}) - r(b"NSString", b"isEqualToString:", {"retval": {"type": "Z"}}) - r( - b"NSString", - b"lineRangeForRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"linguisticTagsInRange:scheme:options:orthography:tokenRanges:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NSString", - b"localizedCaseInsensitiveContainsString:", - {"retval": {"type": b"Z"}}, - ) - r(b"NSString", b"localizedStandardContainsString:", {"retval": {"type": "Z"}}) - r( - b"NSString", - b"localizedStringWithFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSString", - b"lossyCString", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSString", - b"paragraphRangeForRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"rangeOfCharacterFromSet:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSString", - b"rangeOfCharacterFromSet:options:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSString", - b"rangeOfCharacterFromSet:options:range:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"rangeOfComposedCharacterSequenceAtIndex:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSString", - b"rangeOfComposedCharacterSequencesForRange:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"rangeOfString:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSString", - b"rangeOfString:options:", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSString", - b"rangeOfString:options:range:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"rangeOfString:options:range:locale:", - { - "retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}, - "arguments": {4: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - }, - ) - r( - b"NSString", - b"stringByAppendingFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSString", - b"stringByApplyingTransform:reverse:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSString", - b"stringByReplacingCharactersInRange:withString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSString", - b"stringByReplacingOccurrencesOfString:withString:options:range:", - {"arguments": {5: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSString", - b"stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: {"type": b"^Z", "type_modifier": b"o"}, - } - }, - ) - r( - b"NSString", - b"stringWithCString:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^v", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSString", - b"stringWithCString:encoding:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSString", - b"stringWithCString:length:", - { - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSString", - b"stringWithCharacters:length:", - { - "arguments": { - 2: {"type": "r^T", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, - ) - r( - b"NSString", - b"stringWithContentsOfFile:encoding:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSString", - b"stringWithContentsOfFile:usedEncoding:error:", - { - "arguments": { - 3: {"type": sel32or64(b"r^I", b"r^Q"), "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSString", - b"stringWithContentsOfURL:encoding:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSString", - b"stringWithContentsOfURL:usedEncoding:error:", - { - "arguments": { - 3: {"type": sel32or64(b"r^I", b"r^Q"), "type_modifier": b"o"}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSString", - b"stringWithFormat:", - {"arguments": {2: {"printf_format": True, "type": "@"}}, "variadic": True}, - ) - r( - b"NSString", - b"stringWithUTF8String:", - { - "arguments": { - 2: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - } - } - }, - ) - r( - b"NSString", - b"substringWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSString", - b"writeToFile:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSString", - b"writeToFile:atomically:encoding:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"NSString", - b"writeToURL:atomically:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSString", - b"writeToURL:atomically:encoding:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r(b"NSTask", b"isRunning", {"retval": {"type": "Z"}}) - r( - b"NSTask", - b"launchAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSTask", - b"launchedTaskWithExecutableURL:arguments:error:terminationHandler:", - { - "arguments": { - 4: {"type_modifier": b"o"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r(b"NSTask", b"resume", {"retval": {"type": "Z"}}) - r( - b"NSTask", - b"setTerminationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSTask", b"suspend", {"retval": {"type": "Z"}}) - r( - b"NSTask", - b"terminationHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"NSTextCheckingResult", - b"addressCheckingResultWithRange:components:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"correctionCheckingResultWithRange:replacementString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"dashCheckingResultWithRange:replacementString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"dateCheckingResultWithRange:date:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"dateCheckingResultWithRange:date:timeZone:duration:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"grammarCheckingResultWithRange:details:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"linkCheckingResultWithRange:URL:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"orthographyCheckingResultWithRange:orthography:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"phoneNumberCheckingResultWithRange:phoneNumber:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"quoteCheckingResultWithRange:replacementString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"regularExpressionCheckingResultWithRanges:count:regularExpression:", - { - "arguments": { - 2: { - "type": sel32or64(b"^{_NSRange=II}", b"^{_NSRange=QQ}"), - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"NSTextCheckingResult", - b"replacementCheckingResultWithRange:replacementString:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"spellCheckingResultWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSTextCheckingResult", - b"transitInformationCheckingResultWithRange:components:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSThread", - b"detachNewThreadSelector:toTarget:withObject:", - {"arguments": {2: {"sel_of_type": b"v@:@"}}}, - ) - r( - b"NSThread", - b"detachNewThreadWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSThread", - b"initWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSThread", - b"initWithTarget:selector:object:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSThread", b"isCancelled", {"retval": {"type": "Z"}}) - r(b"NSThread", b"isExecuting", {"retval": {"type": "Z"}}) - r(b"NSThread", b"isFinished", {"retval": {"type": "Z"}}) - r(b"NSThread", b"isMainThread", {"retval": {"type": "Z"}}) - r(b"NSThread", b"isMultiThreaded", {"retval": {"type": "Z"}}) - r(b"NSThread", b"setThreadPriority:", {"retval": {"type": "Z"}}) - r(b"NSTimeZone", b"isDaylightSavingTime", {"retval": {"type": "Z"}}) - r(b"NSTimeZone", b"isDaylightSavingTimeForDate:", {"retval": {"type": "Z"}}) - r(b"NSTimeZone", b"isEqualToTimeZone:", {"retval": {"type": "Z"}}) - r( - b"NSTimer", - b"initWithFireDate:interval:repeats:block:", - { - "arguments": { - 4: {"type": "Z"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSTimer", - b"initWithFireDate:interval:target:selector:userInfo:repeats:", - {"arguments": {5: {"sel_of_type": b"v@:@"}, 7: {"type": "Z"}}}, - ) - r(b"NSTimer", b"isValid", {"retval": {"type": "Z"}}) - r( - b"NSTimer", - b"scheduledTimerWithTimeInterval:invocation:repeats:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSTimer", - b"scheduledTimerWithTimeInterval:repeats:block:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSTimer", - b"scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:", - {"arguments": {4: {"sel_of_type": b"v@:@"}, 6: {"type": "Z"}}}, - ) - r( - b"NSTimer", - b"timerWithTimeInterval:invocation:repeats:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSTimer", - b"timerWithTimeInterval:repeats:block:", - { - "arguments": { - 3: {"type": "Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"NSTimer", - b"timerWithTimeInterval:target:selector:userInfo:repeats:", - {"arguments": {4: {"sel_of_type": b"v@:@"}, 6: {"type": "Z"}}}, - ) - r( - b"NSURL", - b"URLByAppendingPathComponent:isDirectory:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSURL", - b"URLByResolvingAliasFileAtURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:", - { - "arguments": { - 5: {"type": "^Z", "type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - } - }, - ) - r(b"NSURL", b"URLHandleUsingCache:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSURL", - b"bookmarkDataWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"checkPromisedItemIsReachableAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"checkResourceIsReachableAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:", - { - "arguments": { - 2: {"c_array_delimited_by_null": True, "type_modifier": b"n"}, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSURL", b"fileURLWithPath:isDirectory:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSURL", - b"fileURLWithPath:isDirectory:relativeToURL:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSURL", - b"getFileSystemRepresentation:maxLength:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^t", "type_modifier": b"o", "c_array_length_in_arg": 3} - }, - }, - ) - r( - b"NSURL", - b"getPromisedItemResourceValue:forKey:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"getResourceValue:forKey:error:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}, - }, - ) - r(b"NSURL", b"hasDirectoryPath", {"retval": {"type": "Z"}}) - r( - b"NSURL", - b"initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:", - { - "arguments": { - 5: {"type": "^Z", "type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - } - }, - ) - r( - b"NSURL", - b"initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:", - { - "arguments": { - 2: {"c_array_delimited_by_null": True, "type_modifier": b"n"}, - 3: {"type": "Z"}, - } - }, - ) - r(b"NSURL", b"initFileURLWithPath:isDirectory:", {"arguments": {3: {"type": "Z"}}}) - r( - b"NSURL", - b"initFileURLWithPath:isDirectory:relativeToURL:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSURL", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSURL", b"isFileReferenceURL", {"retval": {"type": "Z"}}) - r(b"NSURL", b"isFileURL", {"retval": {"type": "Z"}}) - r( - b"NSURL", - b"loadResourceDataNotifyingClient:usingCache:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSURL", - b"promisedItemResourceValuesForKeys:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSURL", b"resourceDataUsingCache:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSURL", - b"resourceValuesForKeys:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSURL", b"setProperty:forKey:", {"retval": {"type": "Z"}}) - r(b"NSURL", b"setResourceData:", {"retval": {"type": "Z"}}) - r( - b"NSURL", - b"setResourceValue:forKey:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"setResourceValues:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NSURL", b"startAccessingSecurityScopedResource", {"retval": {"type": b"Z"}}) - r( - b"NSURL", - b"writeBookmarkData:toURL:options:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NSURL", - b"writeToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSURLCache", - b"getCachedResponseForDataTask:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLComponents", - b"componentsWithURL:resolvingAgainstBaseURL:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"NSURLComponents", - b"initWithURL:resolvingAgainstBaseURL:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"NSURLConnection", b"canHandleRequest:", {"retval": {"type": "Z"}}) - r( - b"NSURLConnection", - b"initWithRequest:delegate:startImmediately:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSURLConnection", - b"sendAsynchronousRequest:queue:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLConnection", - b"sendSynchronousRequest:returningResponse:error:", - {"arguments": {3: {"type_modifier": b"o"}, 4: {"type_modifier": b"o"}}}, - ) - r(b"NSURLCredential", b"hasPassword", {"retval": {"type": "Z"}}) - r( - b"NSURLCredentialStorage", - b"getCredentialsForProtectionSpace:task:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLCredentialStorage", - b"getDefaultCredentialForProtectionSpace:task:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLDownload", - b"canResumeDownloadDecodedWithEncodingMIMEType:", - {"retval": {"type": "Z"}}, - ) - r(b"NSURLDownload", b"deletesFileUponFailure", {"retval": {"type": "Z"}}) - r( - b"NSURLDownload", - b"setDeletesFileUponFailure:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSURLDownload", - b"setDestination:allowOverwrite:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSURLHandle", b"canInitWithURL:", {"retval": {"type": "Z"}}) - r(b"NSURLHandle", b"didLoadBytes:loadComplete:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSURLHandle", b"initWithURL:cached:", {"arguments": {3: {"type": "Z"}}}) - r(b"NSURLHandle", b"writeData:", {"retval": {"type": "Z"}}) - r(b"NSURLHandle", b"writeProperty:forKey:", {"retval": {"type": "Z"}}) - r(b"NSURLProtectionSpace", b"isProxy", {"retval": {"type": "Z"}}) - r(b"NSURLProtectionSpace", b"receivesCredentialSecurely", {"retval": {"type": "Z"}}) - r(b"NSURLProtocol", b"canInitWithRequest:", {"retval": {"type": "Z"}}) - r(b"NSURLProtocol", b"canInitWithTask:", {"retval": {"type": b"Z"}}) - r(b"NSURLProtocol", b"registerClass:", {"retval": {"type": "Z"}}) - r( - b"NSURLProtocol", - b"requestIsCacheEquivalent:toRequest:", - {"retval": {"type": "Z"}}, - ) - r(b"NSURLRequest", b"HTTPShouldHandleCookies", {"retval": {"type": "Z"}}) - r(b"NSURLRequest", b"HTTPShouldUsePipelining", {"retval": {"type": "Z"}}) - r(b"NSURLRequest", b"allowsCellularAccess", {"retval": {"type": b"Z"}}) - r(b"NSURLRequest", b"allowsConstrainedNetworkAccess", {"retval": {"type": b"Z"}}) - r(b"NSURLRequest", b"allowsExpensiveNetworkAccess", {"retval": {"type": b"Z"}}) - r(b"NSURLRequest", b"assumesHTTP3Capable", {"retval": {"type": "Z"}}) - r(b"NSURLRequest", b"supportsSecureCoding", {"retval": {"type": b"Z"}}) - r( - b"NSURLSession", - b"dataTaskWithRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"dataTaskWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"downloadTaskWithRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"downloadTaskWithResumeData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"downloadTaskWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"flushWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSURLSession", - b"getAllTasksWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLSession", - b"getTasksWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"resetWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSURLSession", - b"uploadTaskWithRequest:fromData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSession", - b"uploadTaskWithRequest:fromFile:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"NSURLSessionConfiguration", b"HTTPShouldSetCookies", {"retval": {"type": b"Z"}}) - r( - b"NSURLSessionConfiguration", - b"HTTPShouldUsePipelining", - {"retval": {"type": b"Z"}}, - ) - r(b"NSURLSessionConfiguration", b"allowsCellularAccess", {"retval": {"type": b"Z"}}) - r( - b"NSURLSessionConfiguration", - b"allowsConstrainedNetworkAccess", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSURLSessionConfiguration", - b"allowsExpensiveNetworkAccess", - {"retval": {"type": b"Z"}}, - ) - r(b"NSURLSessionConfiguration", b"isDiscretionary", {"retval": {"type": "Z"}}) - r( - b"NSURLSessionConfiguration", - b"sessionSendsLaunchEvents", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSURLSessionConfiguration", - b"setAllowsCellularAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setAllowsConstrainedNetworkAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setAllowsExpensiveNetworkAccess:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setDiscretionary:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setHTTPShouldSetCookies:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setHTTPShouldUsePipelining:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setSessionSendsLaunchEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setShouldUseExtendedBackgroundIdleMode:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"setWaitsForConnectivity:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSURLSessionConfiguration", - b"shouldUseExtendedBackgroundIdleMode", - {"retval": {"type": "Z"}}, - ) - r(b"NSURLSessionConfiguration", b"waitsForConnectivity", {"retval": {"type": "Z"}}) - r( - b"NSURLSessionDownloadTask", - b"cancelByProducingResumeData:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLSessionStreamTask", - b"readDataOfMinLength:maxLength:timeout:completionHandler:", - { - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"f", b"d")}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - }, - } - }, - ) - r( - b"NSURLSessionStreamTask", - b"writeData:timeout:completionHandler:", - { - "arguments": { - 3: {"type": sel32or64(b"f", b"d")}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - } - }, - ) - r(b"NSURLSessionTask", b"prefersIncrementalDelivery", {"retval": {"type": b"Z"}}) - r( - b"NSURLSessionTask", - b"setPrefersIncrementalDelivery:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSURLSessionTaskTransactionMetrics", b"isCellular", {"retval": {"type": b"Z"}}) - r( - b"NSURLSessionTaskTransactionMetrics", - b"isConstrained", - {"retval": {"type": b"Z"}}, - ) - r(b"NSURLSessionTaskTransactionMetrics", b"isExpensive", {"retval": {"type": b"Z"}}) - r(b"NSURLSessionTaskTransactionMetrics", b"isMultipath", {"retval": {"type": b"Z"}}) - r( - b"NSURLSessionTaskTransactionMetrics", - b"isProxyConnection", - {"retval": {"type": "Z"}}, - ) - r( - b"NSURLSessionTaskTransactionMetrics", - b"isReusedConnection", - {"retval": {"type": "Z"}}, - ) - r( - b"NSURLSessionWebSocketTask", - b"receiveMessageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSURLSessionWebSocketTask", - b"sendMessage:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSURLSessionWebSocketTask", - b"sendPingWithPongReceiveHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSUUID", b"getUUIDBytes:", {"arguments": {2: {"type_modifier": b"o"}}}) - r(b"NSUbiquitousKeyValueStore", b"boolForKey:", {"retval": {"type": "Z"}}) - r( - b"NSUbiquitousKeyValueStore", - b"setBool:forKey:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSUbiquitousKeyValueStore", b"synchronize", {"retval": {"type": b"Z"}}) - r(b"NSUbiquitousKeyValueStore", b"synchronize:", {"retval": {"type": "Z"}}) - r(b"NSUnarchiver", b"isAtEnd", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"canRedo", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"canUndo", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"groupsByEvent", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"isRedoing", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"isUndoRegistrationEnabled", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"isUndoing", {"retval": {"type": "Z"}}) - r(b"NSUndoManager", b"redoActionIsDiscardable", {"retval": {"type": "Z"}}) - r( - b"NSUndoManager", - b"redoMenuTitleForUndoActionName:", - {"arguments": {2: {"type": "@"}}}, - ) - r( - b"NSUndoManager", - b"registerUndoWithTarget:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSUndoManager", - b"registerUndoWithTarget:selector:object:", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"NSUndoManager", b"setActionIsDiscardable:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSUndoManager", b"setGroupsByEvent:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSUndoManager", b"undoActionIsDiscardable", {"retval": {"type": "Z"}}) - r( - b"NSUserActivity", - b"deleteAllSavedUserActivitiesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSUserActivity", - b"deleteSavedUserActivitiesWithPersistentIdentifiers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSUserActivity", - b"getContinuationStreamsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"NSUserActivity", b"isEligibleForHandoff", {"retval": {"type": "Z"}}) - r(b"NSUserActivity", b"isEligibleForPrediction", {"retval": {"type": b"Z"}}) - r(b"NSUserActivity", b"isEligibleForPublicIndexing", {"retval": {"type": "Z"}}) - r(b"NSUserActivity", b"isEligibleForSearch", {"retval": {"type": "Z"}}) - r(b"NSUserActivity", b"needsSave", {"retval": {"type": b"Z"}}) - r(b"NSUserActivity", b"setEligibleForHandoff:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSUserActivity", - b"setEligibleForPrediction:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSUserActivity", - b"setEligibleForPublicIndexing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSUserActivity", b"setEligibleForSearch:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSUserActivity", b"setNeedsSave:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSUserActivity", - b"setSupportsContinuationStreams:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSUserActivity", b"supportsContinuationStreams", {"retval": {"type": b"Z"}}) - r( - b"NSUserAppleScriptTask", - b"executeWithAppleEvent:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSUserAutomatorTask", - b"executeWithInput:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NSUserDefaults", b"boolForKey:", {"retval": {"type": "Z"}}) - r(b"NSUserDefaults", b"objectIsForcedForKey:", {"retval": {"type": "Z"}}) - r(b"NSUserDefaults", b"objectIsForcedForKey:inDomain:", {"retval": {"type": "Z"}}) - r(b"NSUserDefaults", b"setBool:forKey:", {"arguments": {2: {"type": "Z"}}}) - r(b"NSUserDefaults", b"synchronize", {"retval": {"type": "Z"}}) - r(b"NSUserNotification", b"hasActionButton", {"retval": {"type": b"Z"}}) - r(b"NSUserNotification", b"hasReplyButton", {"retval": {"type": b"Z"}}) - r(b"NSUserNotification", b"isPresented", {"retval": {"type": b"Z"}}) - r(b"NSUserNotification", b"isRemote", {"retval": {"type": b"Z"}}) - r(b"NSUserNotification", b"setHasActionButton:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NSUserNotification", b"setHasReplyButton:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSUserScriptTask", - b"executeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSUserScriptTask", - b"initWithURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSUserUnixTask", - b"executeWithArguments:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSValue", - b"getValue:", - {"arguments": {2: {"type": "^v"}}, "suggestion": "use another method"}, - ) - r( - b"NSValue", - b"initWithBytes:objCType:", - { - "arguments": { - 2: { - "type": "^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - 3: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - }, - "suggestion": "use something else", - }, - ) - r(b"NSValue", b"isEqualToValue:", {"retval": {"type": "Z"}}) - r( - b"NSValue", - b"objCType", - {"retval": {"c_array_delimited_by_null": True, "type": "^t"}}, - ) - r( - b"NSValue", - b"pointValue", - {"retval": {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}, - ) - r( - b"NSValue", - b"pointerValue", - {"retval": {"type": "^v"}, "suggestion": "use something else"}, - ) - r( - b"NSValue", - b"rangeValue", - {"retval": {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}, - ) - r( - b"NSValue", - b"rectValue", - { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r( - b"NSValue", - b"sizeValue", - {"retval": {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}, - ) - r( - b"NSValue", - b"value:withObjCType:", - { - "arguments": { - 2: { - "type": "^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - 3: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - }, - "suggestion": "use something else", - }, - ) - r( - b"NSValue", - b"valueWithBytes:objCType:", - { - "arguments": { - 2: { - "type": "^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - 3: { - "c_array_delimited_by_null": True, - "type": "^t", - "type_modifier": b"n", - }, - }, - "suggestion": "use something else", - }, - ) - r( - b"NSValue", - b"valueWithPoint:", - {"arguments": {2: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}}}, - ) - r( - b"NSValue", - b"valueWithPointer:", - {"arguments": {2: {"type": "^v"}}, "suggestion": "use some other method"}, - ) - r( - b"NSValue", - b"valueWithRange:", - {"arguments": {2: {"type": sel32or64(b"{_NSRange=II}", b"{_NSRange=QQ}")}}}, - ) - r( - b"NSValue", - b"valueWithRect:", - { - "arguments": { - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - } - }, - ) - r( - b"NSValue", - b"valueWithSize:", - {"arguments": {2: {"type": sel32or64(b"{_NSSize=ff}", b"{CGSize=dd}")}}}, - ) - r(b"NSValueTransformer", b"allowsReverseTransformation", {"retval": {"type": "Z"}}) - r( - b"NSXMLDTD", - b"initWithContentsOfURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLDTD", - b"initWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSXMLDTDNode", b"isExternal", {"retval": {"type": "Z"}}) - r( - b"NSXMLDocument", - b"initWithContentsOfURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLDocument", - b"initWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLDocument", - b"initWithXMLString:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSXMLDocument", b"isStandalone", {"retval": {"type": "Z"}}) - r( - b"NSXMLDocument", - b"objectByApplyingXSLT:arguments:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLDocument", - b"objectByApplyingXSLTAtURL:arguments:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLDocument", - b"objectByApplyingXSLTString:arguments:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"NSXMLDocument", b"setStandalone:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSXMLDocument", - b"validateAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLElement", - b"initWithXMLString:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLElement", - b"normalizeAdjacentTextNodesPreservingCDATA:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSXMLNode", - b"canonicalXMLStringPreservingComments:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSXMLNode", - b"nodesForXPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLNode", - b"objectsForXQuery:constants:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLNode", - b"objectsForXQuery:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSXMLNode", - b"setStringValue:resolvingEntities:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSXMLParser", b"parse", {"retval": {"type": "Z"}}) - r(b"NSXMLParser", b"setShouldProcessNamespaces:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSXMLParser", - b"setShouldReportNamespacePrefixes:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSXMLParser", - b"setShouldResolveExternalEntities:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NSXMLParser", b"shouldProcessNamespaces", {"retval": {"type": "Z"}}) - r(b"NSXMLParser", b"shouldReportNamespacePrefixes", {"retval": {"type": "Z"}}) - r(b"NSXMLParser", b"shouldResolveExternalEntities", {"retval": {"type": "Z"}}) - r( - b"NSXPCConnection", - b"interruptionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSXPCConnection", - b"invalidationHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"NSXPCConnection", - b"remoteObjectProxyWithErrorHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSXPCConnection", - b"scheduleSendBarrierBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSXPCConnection", - b"setInterruptionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSXPCConnection", - b"setInvalidationHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"NSXPCConnection", - b"synchronousRemoteObjectProxyWithErrorHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NSXPCInterface", - b"XPCTypeForSelector:argumentIndex:ofReply:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NSXPCInterface", - b"classesForSelector:argumentIndex:ofReply:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NSXPCInterface", - b"interfaceForSelector:argumentIndex:ofReply:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NSXPCInterface", - b"setClasses:forSelector:argumentIndex:ofReply:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"NSXPCInterface", - b"setInterface:forSelector:argumentIndex:ofReply:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"NSXPCInterface", - b"setXPCType:forSelector:argumentIndex:ofReply:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"null", - b"differenceFromArray:withOptions:usingEquivalenceTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"differenceFromOrderedSet:withOptions:usingEquivalenceTest:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"setCustomPronoun:forLanguage:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "NSCoderMethods": objc.informal_protocol( - "NSCoderMethods", - [ - objc.selector(None, b"classForCoder", b"#@:", isRequired=False), - objc.selector(None, b"version", b"q@:", isRequired=False), - objc.selector(None, b"setVersion:", b"v@:q", isRequired=False), - objc.selector( - None, b"replacementObjectForCoder:", b"@@:@", isRequired=False - ), - objc.selector(None, b"awakeAfterUsingCoder:", b"@@:@", isRequired=False), - ], - ), - "NSCopyLinkMoveHandler": objc.informal_protocol( - "NSCopyLinkMoveHandler", - [ - objc.selector( - None, - b"fileManager:shouldProceedAfterError:", - b"Z@:@@", - isRequired=False, - ), - objc.selector( - None, b"fileManager:willProcessPath:", b"v@:@@", isRequired=False - ), - ], - ), - "NSScriptClassDescription": objc.informal_protocol( - "NSScriptClassDescription", - [ - objc.selector(None, b"className", b"@@:", isRequired=False), - objc.selector(None, b"classCode", b"I@:", isRequired=False), - ], - ), - "NSKeyValueObserverNotification": objc.informal_protocol( - "NSKeyValueObserverNotification", - [ - objc.selector( - None, b"didChange:valuesAtIndexes:forKey:", b"v@:Q@@", isRequired=False - ), - objc.selector(None, b"didChangeValueForKey:", b"v@:@", isRequired=False), - objc.selector( - None, b"willChange:valuesAtIndexes:forKey:", b"v@:Q@@", isRequired=False - ), - objc.selector(None, b"willChangeValueForKey:", b"v@:@", isRequired=False), - objc.selector( - None, - b"didChangeValueForKey:withSetMutation:usingObjects:", - b"v@:@Q@", - isRequired=False, - ), - objc.selector( - None, - b"willChangeValueForKey:withSetMutation:usingObjects:", - b"v@:@Q@", - isRequired=False, - ), - ], - ), - "NSKeyValueCoding": objc.informal_protocol( - "NSKeyValueCoding", - [ - objc.selector( - None, b"mutableOrderedSetValueForKeyPath:", b"@@:@", isRequired=False - ), - objc.selector(None, b"mutableSetValueForKey:", b"@@:@", isRequired=False), - objc.selector( - None, b"validateValue:forKeyPath:error:", b"Z@:^@@^@", isRequired=False - ), - objc.selector(None, b"valueForKey:", b"@@:@", isRequired=False), - objc.selector(None, b"mutableArrayValueForKey:", b"@@:@", isRequired=False), - objc.selector( - None, b"dictionaryWithValuesForKeys:", b"@@:@", isRequired=False - ), - objc.selector(None, b"setValue:forKey:", b"v@:@@", isRequired=False), - objc.selector( - None, b"mutableOrderedSetValueForKey:", b"@@:@", isRequired=False - ), - objc.selector( - None, b"validateValue:forKey:error:", b"Z@:^@@^@", isRequired=False - ), - objc.selector(None, b"valueForKeyPath:", b"@@:@", isRequired=False), - objc.selector(None, b"valueForUndefinedKey:", b"@@:@", isRequired=False), - objc.selector( - None, b"mutableArrayValueForKeyPath:", b"@@:@", isRequired=False - ), - objc.selector(None, b"setNilValueForKey:", b"v@:@", isRequired=False), - objc.selector( - None, b"accessInstanceVariablesDirectly", b"Z@:", isRequired=False - ), - objc.selector(None, b"setValue:forKeyPath:", b"v@:@@", isRequired=False), - objc.selector( - None, b"setValuesForKeysWithDictionary:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"setValue:forUndefinedKey:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"mutableSetValueForKeyPath:", b"@@:@", isRequired=False - ), - ], - ), - "NSDeprecatedMethods": objc.informal_protocol( - "NSDeprecatedMethods", - [objc.selector(None, b"poseAsClass:", b"v@:#", isRequired=False)], - ), - "NSScriptKeyValueCoding": objc.informal_protocol( - "NSScriptKeyValueCoding", - [ - objc.selector( - None, - b"removeValueAtIndex:fromPropertyWithKey:", - b"v@:Q@", - isRequired=False, - ), - objc.selector( - None, b"insertValue:inPropertyWithKey:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"valueWithUniqueID:inPropertyWithKey:", - b"@@:@@", - isRequired=False, - ), - objc.selector( - None, - b"insertValue:atIndex:inPropertyWithKey:", - b"v@:@Q@", - isRequired=False, - ), - objc.selector(None, b"coerceValue:forKey:", b"@@:@@", isRequired=False), - objc.selector( - None, - b"replaceValueAtIndex:inPropertyWithKey:withValue:", - b"v@:Q@@", - isRequired=False, - ), - objc.selector( - None, b"valueAtIndex:inPropertyWithKey:", b"@@:Q@", isRequired=False - ), - objc.selector( - None, b"valueWithName:inPropertyWithKey:", b"@@:@@", isRequired=False - ), - ], - ), - "NSDiscardableContentProxy": objc.informal_protocol( - "NSDiscardableContentProxy", - [objc.selector(None, b"autoContentAccessingProxy", b"@@:", isRequired=False)], - ), - "NSDeprecatedKeyValueObservingCustomization": objc.informal_protocol( - "NSDeprecatedKeyValueObservingCustomization", - [ - objc.selector( - None, - b"setKeys:triggerChangeNotificationsForDependentKey:", - b"v@:@@", - isRequired=False, - ) - ], - ), - "NSComparisonMethods": objc.informal_protocol( - "NSComparisonMethods", - [ - objc.selector(None, b"isCaseInsensitiveLike:", b"Z@:@", isRequired=False), - objc.selector(None, b"isLessThan:", b"Z@:@", isRequired=False), - objc.selector(None, b"isGreaterThanOrEqualTo:", b"Z@:@", isRequired=False), - objc.selector(None, b"isNotEqualTo:", b"Z@:@", isRequired=False), - objc.selector(None, b"isGreaterThan:", b"Z@:@", isRequired=False), - objc.selector(None, b"isLike:", b"Z@:@", isRequired=False), - objc.selector(None, b"isEqualTo:", b"Z@:@", isRequired=False), - objc.selector(None, b"doesContain:", b"Z@:@", isRequired=False), - objc.selector(None, b"isLessThanOrEqualTo:", b"Z@:@", isRequired=False), - ], - ), - "NSDeprecatedKeyValueCoding": objc.informal_protocol( - "NSDeprecatedKeyValueCoding", - [ - objc.selector(None, b"valuesForKeys:", b"@@:@", isRequired=False), - objc.selector(None, b"takeStoredValue:forKey:", b"v@:@@", isRequired=False), - objc.selector(None, b"takeValue:forKey:", b"v@:@@", isRequired=False), - objc.selector(None, b"storedValueForKey:", b"@@:@", isRequired=False), - objc.selector( - None, b"handleTakeValue:forUnboundKey:", b"v@:@@", isRequired=False - ), - objc.selector(None, b"useStoredAccessor", b"Z@:", isRequired=False), - objc.selector( - None, b"takeValuesFromDictionary:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"handleQueryWithUnboundKey:", b"@@:@", isRequired=False - ), - objc.selector(None, b"takeValue:forKeyPath:", b"v@:@@", isRequired=False), - objc.selector(None, b"unableToSetNilForKey:", b"v@:@", isRequired=False), - ], - ), - "NSScripting": objc.informal_protocol( - "NSScripting", - [ - objc.selector(None, b"setScriptingProperties:", b"v@:@", isRequired=False), - objc.selector( - None, b"scriptingValueForSpecifier:", b"@@:@", isRequired=False - ), - objc.selector( - None, - b"newScriptingObjectOfClass:forValueForKey:withContentsValue:properties:", - b"@@:#@@@", - isRequired=False, - ), - objc.selector(None, b"scriptingProperties", b"@@:", isRequired=False), - objc.selector( - None, - b"copyScriptingValue:forKey:withProperties:", - b"@@:@@@", - isRequired=False, - ), - ], - ), - "NSKeyValueObserving": objc.informal_protocol( - "NSKeyValueObserving", - [ - objc.selector( - None, - b"observeValueForKeyPath:ofObject:change:context:", - b"v@:@@@^v", - isRequired=False, - ) - ], - ), - "NSArchiverCallback": objc.informal_protocol( - "NSArchiverCallback", - [ - objc.selector( - None, b"replacementObjectForArchiver:", b"@@:@", isRequired=False - ), - objc.selector(None, b"classForArchiver", b"#@:", isRequired=False), - ], - ), - "NSThreadPerformAdditions": objc.informal_protocol( - "NSThreadPerformAdditions", - [ - objc.selector( - None, - b"performSelector:onThread:withObject:waitUntilDone:", - b"v@::@@Z", - isRequired=False, - ), - objc.selector( - None, - b"performSelectorOnMainThread:withObject:waitUntilDone:", - b"v@::@Z", - isRequired=False, - ), - objc.selector( - None, - b"performSelectorInBackground:withObject:", - b"v@::@", - isRequired=False, - ), - objc.selector( - None, - b"performSelector:onThread:withObject:waitUntilDone:modes:", - b"v@::@@Z@", - isRequired=False, - ), - objc.selector( - None, - b"performSelectorOnMainThread:withObject:waitUntilDone:modes:", - b"v@::@Z@", - isRequired=False, - ), - ], - ), - "NSKeyedUnarchiverObjectSubstitution": objc.informal_protocol( - "NSKeyedUnarchiverObjectSubstitution", - [objc.selector(None, b"classForKeyedUnarchiver", b"#@:", isRequired=False)], - ), - "NSScriptingComparisonMethods": objc.informal_protocol( - "NSScriptingComparisonMethods", - [ - objc.selector(None, b"scriptingContains:", b"Z@:@", isRequired=False), - objc.selector(None, b"scriptingIsGreaterThan:", b"Z@:@", isRequired=False), - objc.selector(None, b"scriptingEndsWith:", b"Z@:@", isRequired=False), - objc.selector(None, b"scriptingIsLessThan:", b"Z@:@", isRequired=False), - objc.selector(None, b"scriptingBeginsWith:", b"Z@:@", isRequired=False), - objc.selector( - None, b"scriptingIsGreaterThanOrEqualTo:", b"Z@:@", isRequired=False - ), - objc.selector(None, b"scriptingIsEqualTo:", b"Z@:@", isRequired=False), - objc.selector( - None, b"scriptingIsLessThanOrEqualTo:", b"Z@:@", isRequired=False - ), - ], - ), - "NSDistributedObjects": objc.informal_protocol( - "NSDistributedObjects", - [ - objc.selector( - None, b"replacementObjectForPortCoder:", b"@@:@", isRequired=False - ), - objc.selector(None, b"classForPortCoder", b"#@:", isRequired=False), - ], - ), - "NSKeyValueObserverRegistration": objc.informal_protocol( - "NSKeyValueObserverRegistration", - [ - objc.selector( - None, - b"removeObserver:forKeyPath:context:", - b"v@:@@^v", - isRequired=False, - ), - objc.selector( - None, - b"addObserver:forKeyPath:options:context:", - b"v@:@@Q^v", - isRequired=False, - ), - objc.selector( - None, b"removeObserver:forKeyPath:", b"v@:@@", isRequired=False - ), - ], - ), - "NSScriptObjectSpecifiers": objc.informal_protocol( - "NSScriptObjectSpecifiers", - [ - objc.selector(None, b"objectSpecifier", b"@@:", isRequired=False), - objc.selector( - None, - b"indicesOfObjectsByEvaluatingObjectSpecifier:", - b"@@:@", - isRequired=False, - ), - ], - ), - "NSErrorRecoveryAttempting": objc.informal_protocol( - "NSErrorRecoveryAttempting", - [ - objc.selector( - None, - b"attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:", - b"v@:@Q@:^v", - isRequired=False, - ), - objc.selector( - None, - b"attemptRecoveryFromError:optionIndex:", - b"Z@:@Q", - isRequired=False, - ), - ], - ), - "NSClassDescriptionPrimitives": objc.informal_protocol( - "NSClassDescriptionPrimitives", - [ - objc.selector( - None, b"inverseForRelationshipKey:", b"@@:@", isRequired=False - ), - objc.selector(None, b"attributeKeys", b"@@:", isRequired=False), - objc.selector(None, b"toOneRelationshipKeys", b"@@:", isRequired=False), - objc.selector(None, b"classDescription", b"@@:", isRequired=False), - objc.selector(None, b"toManyRelationshipKeys", b"@@:", isRequired=False), - ], - ), - "NSURLClient": objc.informal_protocol( - "NSURLClient", - [ - objc.selector( - None, b"URLResourceDidFinishLoading:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"URLResourceDidCancelLoading:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"URL:resourceDataDidBecomeAvailable:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"URL:resourceDidFailLoadingWithReason:", - b"v@:@@", - isRequired=False, - ), - ], - ), - "NSKeyValueObservingCustomization": objc.informal_protocol( - "NSKeyValueObservingCustomization", - [ - objc.selector(None, b"observationInfo", b"^v@:", isRequired=False), - objc.selector(None, b"setObservationInfo:", b"v@:^v", isRequired=False), - objc.selector( - None, - b"keyPathsForValuesAffectingValueForKey:", - b"@@:@", - isRequired=False, - ), - objc.selector( - None, - b"automaticallyNotifiesObserversForKey:", - b"Z@:@", - isRequired=False, - ), - ], - ), - "NSDelayedPerforming": objc.informal_protocol( - "NSDelayedPerforming", - [ - objc.selector( - None, - b"performSelector:withObject:afterDelay:", - b"v@::@d", - isRequired=False, - ), - objc.selector( - None, - b"cancelPreviousPerformRequestsWithTarget:", - b"v@:@", - isRequired=False, - ), - objc.selector( - None, - b"cancelPreviousPerformRequestsWithTarget:selector:object:", - b"v@:@:@", - isRequired=False, - ), - objc.selector( - None, - b"performSelector:withObject:afterDelay:inModes:", - b"v@::@d@", - isRequired=False, - ), - ], - ), - "NSKeyedArchiverObjectSubstitution": objc.informal_protocol( - "NSKeyedArchiverObjectSubstitution", - [ - objc.selector( - None, b"replacementObjectForKeyedArchiver:", b"@@:@", isRequired=False - ), - objc.selector(None, b"classForKeyedArchiver", b"#@:", isRequired=False), - objc.selector( - None, b"classFallbacksForKeyedArchiver", b"@@:", isRequired=False - ), - ], - ), -} -expressions = { - "NSAppleEventSendDefaultOptions": "NSAppleEventSendWaitForReply | NSAppleEventSendCanInteract" -} - -# END OF FILE diff --git a/src/lib/Foundation/_nsindexset.py b/src/lib/Foundation/_nsindexset.py deleted file mode 100644 index 0d961c6..0000000 --- a/src/lib/Foundation/_nsindexset.py +++ /dev/null @@ -1,21 +0,0 @@ -import objc - - -def __len__(self): - return self.length() - - -def __getitem__(self, idx): - if isinstance(idx, slice): - raise ValueError(idx) - return self.indexAtPosition_(idx) - - -def __add__(self, value): - return self.indexPathByAddingIndex_(value) - - -objc.addConvenienceForClass( - "NSIndexPath", - (("__len__", __len__), ("__getitem__", __getitem__), ("__add__", __add__)), -) diff --git a/src/lib/Foundation/_nsobject.py b/src/lib/Foundation/_nsobject.py deleted file mode 100644 index 5ed7e60..0000000 --- a/src/lib/Foundation/_nsobject.py +++ /dev/null @@ -1,235 +0,0 @@ -""" -Define a category on NSObject with some useful methods. -""" -import sys - -import objc - -if sys.version_info[0] == 2: - - def _str(v): - return v - - exec( - """\ -def _raise(exc_type, exc_value, exc_trace): - raise exc_type, exc_value, exc_trace -""" - ) -else: - - def _str(v): - if isinstance(v, str): - return v - return v.decode("ascii") - - def _raise(exc_type, exc_value, exc_trace): - raise exc_type(exc_value).with_traceback(exc_trace) - - -NSObject = objc.lookUpClass("NSObject") - - -class NSObject(objc.Category(NSObject)): - @objc.namedSelector(b"_pyobjc_performOnThread:") - def _pyobjc_performOnThread_(self, callinfo): - try: - sel, arg = callinfo - m = getattr(self, _str(sel)) - m(arg) - except: # noqa: E722, B001 - import traceback - - traceback.print_exc(file=sys.stderr) - - @objc.namedSelector(b"_pyobjc_performOnThreadWithResult:") - def _pyobjc_performOnThreadWithResult_(self, callinfo): - try: - sel, arg, result = callinfo - m = getattr(self, _str(sel)) - r = m(arg) - result.append((True, r)) - except: # noqa: E722, B001 - result.append((False, sys.exc_info())) - - if hasattr(NSObject, "performSelector_onThread_withObject_waitUntilDone_"): - - @objc.namedSelector( - b"pyobjc_performSelector:onThread:withObject:waitUntilDone:" - ) - def pyobjc_performSelector_onThread_withObject_waitUntilDone_( - self, aSelector, thread, arg, wait - ): - """ - A version of performSelector:onThread:withObject:waitUntilDone: that - will log exceptions in the called method (instead of aborting the - NSRunLoop on the other thread). - """ - self.performSelector_onThread_withObject_waitUntilDone_( - b"_pyobjc_performOnThread:", thread, (aSelector, arg), wait - ) - - @objc.namedSelector( - b"pyobjc_performSelector:onThread:withObject:waitUntilDone:modes:" - ) - def pyobjc_performSelector_onThread_withObject_waitUntilDone_modes_( - self, aSelector, thread, arg, wait, modes - ): - """ - A version of performSelector:onThread:withObject:waitUntilDone:modes: - that will log exceptions in the called method (instead of aborting the - NSRunLoop on the other thread). - """ - self.performSelector_onThread_withObject_waitUntilDone_modes_( - b"_pyobjc_performOnThread:", thread, (aSelector, arg), wait, modes - ) - - @objc.namedSelector(b"pyobjc_performSelector:withObject:afterDelay:") - def pyobjc_performSelector_withObject_afterDelay_(self, aSelector, arg, delay): - """ - A version of performSelector:withObject:afterDelay: - that will log exceptions in the called method (instead of aborting the - NSRunLoop). - """ - self.performSelector_withObject_afterDelay_( - b"_pyobjc_performOnThread:", (aSelector, arg), delay - ) - - @objc.namedSelector(b"pyobjc_performSelector:withObject:afterDelay:inModes:") - def pyobjc_performSelector_withObject_afterDelay_inModes_( - self, aSelector, arg, delay, modes - ): - """ - A version of performSelector:withObject:afterDelay:inModes: - that will log exceptions in the called method (instead of aborting the - NSRunLoop). - """ - self.performSelector_withObject_afterDelay_inModes_( - b"_pyobjc_performOnThread:", (aSelector, arg), delay, modes - ) - - if hasattr(NSObject, "performSelectorInBackground_withObject_"): - - @objc.namedSelector(b"pyobjc_performSelectorInBackground:withObject:") - def pyobjc_performSelectorInBackground_withObject_(self, aSelector, arg): - """ - A version of performSelectorInBackground:withObject: - that will log exceptions in the called method (instead of aborting the - NSRunLoop). - """ - self.performSelectorInBackground_withObject_( - b"_pyobjc_performOnThread:", (aSelector, arg) - ) - - @objc.namedSelector(b"pyobjc_performSelectorOnMainThread:withObject:waitUntilDone:") - def pyobjc_performSelectorOnMainThread_withObject_waitUntilDone_( - self, aSelector, arg, wait - ): - """ - A version of performSelectorOnMainThread:withObject:waitUntilDone: - that will log exceptions in the called method (instead of aborting the - NSRunLoop in the main thread). - """ - self.performSelectorOnMainThread_withObject_waitUntilDone_( - b"_pyobjc_performOnThread:", (aSelector, arg), wait - ) - - @objc.namedSelector( - b"pyobjc_performSelectorOnMainThread:withObject:waitUntilDone:modes:" - ) - def pyobjc_performSelectorOnMainThread_withObject_waitUntilDone_modes_( - self, aSelector, arg, wait, modes - ): - """ - A version of performSelectorOnMainThread:withObject:waitUntilDone:modes: - that will log exceptions in the called method (instead of aborting the - NSRunLoop in the main thread). - """ - self.performSelectorOnMainThread_withObject_waitUntilDone_modes_( - b"_pyobjc_performOnThread:", (aSelector, arg), wait, modes - ) - - # And some a some versions that return results - - @objc.namedSelector(b"pyobjc_performSelectorOnMainThread:withObject:modes:") - def pyobjc_performSelectorOnMainThread_withObject_modes_( - self, aSelector, arg, modes - ): - """ - Simular to performSelectorOnMainThread:withObject:waitUntilDone:modes:, - but: - - - always waits until done - - returns the return value of the called method - - if the called method raises an exception, this will raise the same - exception - """ - result = [] - self.performSelectorOnMainThread_withObject_waitUntilDone_modes_( - b"_pyobjc_performOnThreadWithResult:", (aSelector, arg, result), True, modes - ) - isOK, result = result[0] - - if isOK: - return result - else: - exc_type, exc_value, exc_trace = result - _raise(exc_type, exc_value, exc_trace) - - @objc.namedSelector(b"pyobjc_performSelectorOnMainThread:withObject:") - def pyobjc_performSelectorOnMainThread_withObject_(self, aSelector, arg): - result = [] - self.performSelectorOnMainThread_withObject_waitUntilDone_( - b"_pyobjc_performOnThreadWithResult:", (aSelector, arg, result), True - ) - isOK, result = result[0] - - if isOK: - return result - else: - exc_type, exc_value, exc_trace = result - _raise(exc_type, exc_value, exc_trace) - - if hasattr(NSObject, "performSelector_onThread_withObject_waitUntilDone_"): - # These methods require Leopard, don't define them if the - # platform functionality isn't present. - - @objc.namedSelector(b"pyobjc_performSelector:onThread:withObject:modes:") - def pyobjc_performSelector_onThread_withObject_modes_( - self, aSelector, thread, arg, modes - ): - result = [] - self.performSelector_onThread_withObject_waitUntilDone_modes_( - b"_pyobjc_performOnThreadWithResult:", - thread, - (aSelector, arg, result), - True, - modes, - ) - isOK, result = result[0] - - if isOK: - return result - else: - exc_type, exc_value, exc_trace = result - _raise(exc_type, exc_value, exc_trace) - - @objc.namedSelector(b"pyobjc_performSelector:onThread:withObject:") - def pyobjc_performSelector_onThread_withObject_(self, aSelector, thread, arg): - result = [] - self.performSelector_onThread_withObject_waitUntilDone_( - b"_pyobjc_performOnThreadWithResult:", - thread, - (aSelector, arg, result), - True, - ) - isOK, result = result[0] - - if isOK: - return result - else: - exc_type, exc_value, exc_trace = result - _raise(exc_type, exc_value, exc_trace) - - -del NSObject diff --git a/src/lib/GameCenter/__init__.py b/src/lib/GameCenter/__init__.py deleted file mode 100644 index 5c235a6..0000000 --- a/src/lib/GameCenter/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the GameCenter framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from GameCenter import _GameCenter, _metadata - -try: - long -except NameError: - long = int - -sys.modules["GameCenter"] = mod = objc.ObjCLazyModule( - "GameCenter", - "com.apple.GameKit", - objc.pathForFramework("/System/Library/Frameworks/GameKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_GameCenter, Cocoa), -) - - -del sys.modules["GameCenter._metadata"] diff --git a/src/lib/GameCenter/_metadata.py b/src/lib/GameCenter/_metadata.py deleted file mode 100644 index e9e1d2b..0000000 --- a/src/lib/GameCenter/_metadata.py +++ /dev/null @@ -1,1683 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:50:46 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$GKErrorDomain$GKExchangeTimeoutDefault@d$GKExchangeTimeoutNone@d$GKPlayerAuthenticationDidChangeNotificationName$GKPlayerDidChangeNotificationName$GKSessionErrorDomain$GKTurnTimeoutDefault@d$GKTurnTimeoutNone@d$GKVoiceChatServiceErrorDomain$""" -enums = """$GKChallengeStateCompleted@2$GKChallengeStateDeclined@3$GKChallengeStateInvalid@0$GKChallengeStatePending@1$GKErrorAuthenticationInProgress@7$GKErrorCancelled@2$GKErrorChallengeInvalid@19$GKErrorCommunicationsFailure@3$GKErrorGameUnrecognized@15$GKErrorInvalidCredentials@5$GKErrorInvalidParameter@17$GKErrorInvalidPlayer@8$GKErrorInvitationsDisabled@25$GKErrorMatchRequestInvalid@13$GKErrorNotAuthenticated@6$GKErrorNotSupported@16$GKErrorParentalControlsBlocked@10$GKErrorPlayerPhotoFailure@26$GKErrorPlayerStatusExceedsMaximumLength@11$GKErrorPlayerStatusInvalid@12$GKErrorScoreNotSet@9$GKErrorTurnBasedInvalidParticipant@22$GKErrorTurnBasedInvalidState@24$GKErrorTurnBasedInvalidTurn@23$GKErrorTurnBasedMatchDataTooLarge@20$GKErrorTurnBasedTooManySessions@21$GKErrorUbiquityContainerUnavailable@27$GKErrorUnderage@14$GKErrorUnexpectedConnection@18$GKErrorUnknown@1$GKErrorUserDenied@4$GKGameCenterViewControllerStateAchievements@1$GKGameCenterViewControllerStateChallenges@2$GKGameCenterViewControllerStateDefault@-1$GKGameCenterViewControllerStateLeaderboards@0$GKInviteRecipientResponseAccepted@0$GKInviteRecipientResponseDeclined@1$GKInviteRecipientResponseFailed@2$GKInviteRecipientResponseIncompatible@3$GKInviteRecipientResponseNoAnswer@5$GKInviteRecipientResponseUnableToConnect@4$GKInviteeResponseAccepted@0$GKInviteeResponseDeclined@1$GKInviteeResponseFailed@2$GKInviteeResponseIncompatible@3$GKInviteeResponseNoAnswer@5$GKInviteeResponseUnableToConnect@4$GKLeaderboardPlayerScopeFriendsOnly@1$GKLeaderboardPlayerScopeGlobal@0$GKLeaderboardTimeScopeAllTime@2$GKLeaderboardTimeScopeToday@0$GKLeaderboardTimeScopeWeek@1$GKMatchSendDataReliable@0$GKMatchSendDataUnreliable@1$GKMatchTypeHosted@1$GKMatchTypePeerToPeer@0$GKMatchTypeTurnBased@2$GKPeerStateAvailable@0$GKPeerStateConnected@2$GKPeerStateConnecting@4$GKPeerStateDisconnected@3$GKPeerStateUnavailable@1$GKPhotoSizeNormal@1$GKPhotoSizeSmall@0$GKPlayerStateConnected@1$GKPlayerStateDisconnected@2$GKPlayerStateUnknown@0$GKSendDataReliable@0$GKSendDataUnreliable@1$GKSessionCancelledError@30504$GKSessionCannotEnableError@30509$GKSessionConnectionClosedError@30506$GKSessionConnectionFailedError@30505$GKSessionConnectivityError@30201$GKSessionDataTooBigError@30507$GKSessionDeclinedError@30502$GKSessionInProgressError@30510$GKSessionInternalError@30203$GKSessionInvalidParameterError@30500$GKSessionModeClient@1$GKSessionModePeer@2$GKSessionModeServer@0$GKSessionNotConnectedError@30508$GKSessionPeerNotFoundError@30501$GKSessionSystemError@30205$GKSessionTimedOutError@30503$GKSessionTransportError@30202$GKSessionUnknownError@30204$GKTurnBasedExchangeStatusActive@1$GKTurnBasedExchangeStatusCanceled@4$GKTurnBasedExchangeStatusComplete@2$GKTurnBasedExchangeStatusResolved@3$GKTurnBasedExchangeStatusUnknown@0$GKTurnBasedMatchOutcomeCustomRange@16711680$GKTurnBasedMatchOutcomeFirst@6$GKTurnBasedMatchOutcomeFourth@9$GKTurnBasedMatchOutcomeLost@3$GKTurnBasedMatchOutcomeNone@0$GKTurnBasedMatchOutcomeQuit@1$GKTurnBasedMatchOutcomeSecond@7$GKTurnBasedMatchOutcomeThird@8$GKTurnBasedMatchOutcomeTied@4$GKTurnBasedMatchOutcomeTimeExpired@5$GKTurnBasedMatchOutcomeWon@2$GKTurnBasedMatchStatusEnded@2$GKTurnBasedMatchStatusMatching@3$GKTurnBasedMatchStatusOpen@1$GKTurnBasedMatchStatusUnknown@0$GKTurnBasedParticipantStatusActive@4$GKTurnBasedParticipantStatusDeclined@2$GKTurnBasedParticipantStatusDone@5$GKTurnBasedParticipantStatusInvited@1$GKTurnBasedParticipantStatusMatching@3$GKTurnBasedParticipantStatusUnknown@0$GKVoiceChatPlayerConnected@0$GKVoiceChatPlayerConnecting@4$GKVoiceChatPlayerDisconnected@1$GKVoiceChatPlayerSilent@3$GKVoiceChatPlayerSpeaking@2$GKVoiceChatServiceAudioUnavailableError@32005$GKVoiceChatServiceClientMissingRequiredMethodsError@32007$GKVoiceChatServiceInternalError@32000$GKVoiceChatServiceInvalidCallIDError@32004$GKVoiceChatServiceInvalidParameterError@32016$GKVoiceChatServiceMethodCurrentlyInvalidError@32012$GKVoiceChatServiceNetworkConfigurationError@32013$GKVoiceChatServiceNoRemotePacketsError@32001$GKVoiceChatServiceOutOfMemoryError@32015$GKVoiceChatServiceRemoteParticipantBusyError@32008$GKVoiceChatServiceRemoteParticipantCancelledError@32009$GKVoiceChatServiceRemoteParticipantDeclinedInviteError@32011$GKVoiceChatServiceRemoteParticipantHangupError@32003$GKVoiceChatServiceRemoteParticipantResponseInvalidError@32010$GKVoiceChatServiceUnableToConnectError@32002$GKVoiceChatServiceUninitializedClientError@32006$GKVoiceChatServiceUnsupportedRemoteVersionError@32014$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"GKAchievement", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"GKAchievement", b"isCompleted", {"retval": {"type": "Z"}}) - r(b"GKAchievement", b"isHidden", {"retval": {"type": "Z"}}) - r( - b"GKAchievement", - b"loadAchievementsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievementWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievements:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievements:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"resetAchievementsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"selectChallengeablePlayerIDs:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievement", - b"selectChallengeablePlayers:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"GKAchievement", b"setShowsCompletionBanner:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKAchievement", b"showsCompletionBanner", {"retval": {"type": "Z"}}) - r(b"GKAchievementDescription", b"isHidden", {"retval": {"type": "Z"}}) - r(b"GKAchievementDescription", b"isReplayable", {"retval": {"type": "Z"}}) - r( - b"GKAchievementDescription", - b"loadAchievementDescriptionsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKAchievementDescription", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKChallenge", - b"loadReceivedChallengesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"GKDialogController", b"presentViewController:", {"retval": {"type": "Z"}}) - r(b"GKInvite", b"isHosted", {"retval": {"type": "Z"}}) - r(b"GKInvite", b"setHosted:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKLeaderboard", b"isLoading", {"retval": {"type": "Z"}}) - r( - b"GKLeaderboard", - b"loadCategoriesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadLeaderboardsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadScoresWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboard", - b"setDefaultLeaderboard:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadLeaderboardSetsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadLeaderboardsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"authenticateHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"GKLocalPlayer", - b"authenticateWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"deleteSavedGamesWithName:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"fetchSavedGamesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"generateIdentityVerificationSignatureWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"GKLocalPlayer", b"isAuthenticated", {"retval": {"type": "Z"}}) - r( - b"GKLocalPlayer", - b"loadDefaultLeaderboardCategoryIDWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadDefaultLeaderboardIdentifierWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendPlayersWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadLeaderboardSetsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"resolveConflictingSavedGames:withData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"saveGameData:withName:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setAuthenticateHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setDefaultLeaderboardCategoryID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setDefaultLeaderboardIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatch", - b"chooseBestHostPlayerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatch", - b"chooseBestHostingPlayerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatch", - b"rematchWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatch", - b"sendData:toPlayers:dataMode:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatch", - b"sendData:toPlayers:withDataMode:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatch", - b"sendDataToAllPlayers:withDataMode:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatchRequest", - b"inviteeResponseHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"GKMatchRequest", - b"recipientResponseHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"GKMatchRequest", - b"setInviteeResponseHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchRequest", - b"setRecipientResponseHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"addPlayersToMatch:matchRequest:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"findMatchForRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"findPlayersForHostedMatchRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"findPlayersForHostedRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"inviteHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"GKMatchmaker", - b"matchForInvite:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"queryActivityWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"queryPlayerGroupActivity:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"setInviteHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"startBrowsingForNearbyPlayersWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKMatchmaker", - b"startBrowsingForNearbyPlayersWithReachableHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"GKMatchmakerViewController", b"isHosted", {"retval": {"type": "Z"}}) - r(b"GKMatchmakerViewController", b"setHosted:", {"arguments": {2: {"type": "Z"}}}) - r( - b"GKMatchmakerViewController", - b"setHostedPlayer:connected:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"GKMatchmakerViewController", - b"setHostedPlayer:didConnect:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"GKMatchmakerViewController", - b"setShowExistingMatches:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"GKMatchmakerViewController", b"showExistingMatches", {"retval": {"type": "Z"}}) - r( - b"GKNotificationBanner", - b"showBannerWithTitle:message:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKNotificationBanner", - b"showBannerWithTitle:message:duration:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKPlayer", - b"loadPhotoForSize:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKPlayer", - b"loadPlayersForIdentifiers:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKSavedGame", - b"loadDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKScore", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKScore", - b"reportScoreWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKScore", - b"reportScores:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKScore", - b"reportScores:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"GKScore", b"setShouldSetDefaultLeaderboard:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKScore", b"shouldSetDefaultLeaderboard", {"retval": {"type": "Z"}}) - r( - b"GKSession", - b"acceptConnectionFromPeer:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"GKSession", b"isActive", {"retval": {"type": "Z"}}) - r(b"GKSession", b"isAvailable", {"retval": {"type": "Z"}}) - r( - b"GKSession", - b"sendData:toPeers:withDataMode:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKSession", - b"sendDataToAllPeers:withDataMode:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"GKSession", b"setAvailable:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKSession", b"setIsActive:", {"arguments": {2: {"type": "Z"}}}) - r( - b"GKTurnBasedExchange", - b"cancelWithLocalizableMessageKey:arguments:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedExchange", - b"replyWithLocalizableMessageKey:arguments:data:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedExchange", - b"setShowExistingMatches:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"GKTurnBasedExchange", b"showExistingMatches", {"retval": {"type": "Z"}}) - r( - b"GKTurnBasedMatch", - b"acceptInviteWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"declineInviteWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endMatchInTurnWithMatchData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endMatchInTurnWithMatchData:scores:achievements:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endTurnWithNextParticipant:matchData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"findMatchForRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchWithID:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitInTurnWithOutcome:nextParticipant:matchData:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitInTurnWithOutcome:nextParticipants:turnTimeout:matchData:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitOutOfTurnWithOutcome:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"rematchWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"removeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"saveCurrentTurnWithMatchData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"saveMergedMatchData:withResolvedExchanges:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"sendExchangeToParticipants:data:localizableMessageKey:arguments:timeout:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"sendReminderToParticipants:localizableMessageKey:arguments:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKTurnBasedMatchmakerViewController", - b"setShowExistingMatches:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"GKTurnBasedMatchmakerViewController", - b"showExistingMatches", - {"retval": {"type": "Z"}}, - ) - r(b"GKVoiceChat", b"isActive", {"retval": {"type": "Z"}}) - r(b"GKVoiceChat", b"isVoIPAllowed", {"retval": {"type": "Z"}}) - r( - b"GKVoiceChat", - b"playerStateUpdateHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - }, - ) - r( - b"GKVoiceChat", - b"playerVoiceChatStateDidChangeHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - ) - r(b"GKVoiceChat", b"setActive:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKVoiceChat", b"setMute:forPlayer:", {"arguments": {2: {"type": "Z"}}}) - r(b"GKVoiceChat", b"setPlayer:muted:", {"arguments": {3: {"type": "Z"}}}) - r( - b"GKVoiceChat", - b"setPlayerStateUpdateHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKVoiceChat", - b"setPlayerVoiceChatStateDidChangeHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"handleTurnEventForMatch:didBecomeActive:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"match:player:didChangeConnectionState:", - {"arguments": {4: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"match:player:didChangeState:", - {"arguments": {4: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"match:shouldReinviteDisconnectedPlayer:", - {"retval": {"type": "Z"}}, - ) - r(b"NSObject", b"match:shouldReinvitePlayer:", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"player:receivedTurnEventForMatch:didBecomeActive:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"session:peer:didChangeState:", - {"arguments": {4: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"shouldShowBannerForLocallyCompletedChallenge:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"shouldShowBannerForLocallyReceivedChallenge:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"shouldShowBannerForRemotelyCompletedChallenge:", - {"retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"voiceChatService:didReceiveInvitationFromParticipantID:callID:", - {"arguments": {4: {"type": sel32or64(b"I", b"Q")}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/GameController/__init__.py b/src/lib/GameController/__init__.py deleted file mode 100644 index f8e7e91..0000000 --- a/src/lib/GameController/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the GameController framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from GameController import _metadata -from GameController import _GameController - -sys.modules["GameController"] = mod = objc.ObjCLazyModule( - "GameController", - "com.apple.GameController", - objc.pathForFramework("/System/Library/Frameworks/GameController.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_GameController, Cocoa), -) - - -del sys.modules["GameController._metadata"] diff --git a/src/lib/GameController/_metadata.py b/src/lib/GameController/_metadata.py deleted file mode 100644 index a9479af..0000000 --- a/src/lib/GameController/_metadata.py +++ /dev/null @@ -1,899 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:53:59 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "GCMicroGamepadSnapshotData": objc.createStructType( - "GameController.GCMicroGamepadSnapshotData", - b"{_GCMicroGamepadSnapshotData=SSffff}", - ["version", "size", "dpadX", "dpadY", "buttonA", "buttonX"], - None, - 1, - ), - "GCQuaternion": objc.createStructType( - "GameController.GCQuaternion", b"{GCQuaternion=dddd}", ["x", "y", "z", "w"] - ), - "GCExtendedGamepadValueChangedHandler": objc.createStructType( - "GameController.GCExtendedGamepadValueChangedHandler", - b"{_GCGamepadSnapShotDataV100=SSffffffff}", - [ - "version", - "size", - "dpadX", - "dpadY", - "buttonA", - "buttonB", - "buttonX", - "buttonY", - "leftShoulder", - "rightShoulder", - ], - ), - "GCAcceleration": objc.createStructType( - "GameController.GCAcceleration", b"{_GCAcceleration=ddd}", ["x", "y", "z"] - ), - "GCGamepadSnapShotDataV100": objc.createStructType( - "GameController.GCGamepadSnapShotDataV100", - b"{_GCGamepadSnapShotDataV100=SSffffffff}", - [ - "version", - "size", - "dpadX", - "dpadY", - "buttonA", - "buttonB", - "buttonX", - "buttonY", - "leftShoulder", - "rightShoulder", - ], - None, - 1, - ), - "GCEulerAngles": objc.createStructType( - "GameController.GCEulerAngles", - b"{_GCEulerAngles=ddd}", - ["pitch", "yaw", "roll"], - ), - "GCDualSenseAdaptiveTriggerPositionalResistiveStrengths": objc.createStructType( - "GameController.GCDualSenseAdaptiveTriggerPositionalResistiveStrengths", - b"{_GCDualSenseAdaptiveTriggerPositionalResistiveStrengths=[10f]}", - ["values"], - ), - "GCExtendedGamepadSnapShotDataV100": objc.createStructType( - "GameController.GCExtendedGamepadSnapShotDataV100", - b"{_GCExtendedGamepadSnapShotDataV100=SSffffffffffffff}", - [ - "version", - "size", - "dpadX", - "dpadY", - "buttonA", - "buttonB", - "buttonX", - "buttonY", - "leftShoulder", - "rightShoulder", - "leftThumbstickX", - "leftThumbstickY", - "rightThumbstickX", - "rightThumbstickY", - "leftTrigger", - "rightTrigger", - ], - None, - 1, - ), - "GCDualSenseAdaptiveTriggerPositionalAmplitudes": objc.createStructType( - "GameController.GCDualSenseAdaptiveTriggerPositionalAmplitudes", - b"{_GCDualSenseAdaptiveTriggerPositionalAmplitudes=[10f]}", - ["values"], - ), - "GCRotationRate": objc.createStructType( - "GameController.GCRotationRate", b"{_GCRotationRate=ddd}", ["x", "y", "z"] - ), - "GCMicroGamepadSnapShotDataV100": objc.createStructType( - "GameController.GCMicroGamepadSnapShotDataV100", - b"{_GCMicroGamepadSnapShotDataV100=SSffff}", - ["version", "size", "dpadX", "dpadY", "buttonA", "buttonX"], - None, - 1, - ), - "GCExtendedGamepadSnapshotData": objc.createStructType( - "GameController.GCExtendedGamepadSnapshotData", - b"{_GCExtendedGamepadSnapshotData=SSffffffffffffffZZZ}", - [ - "version", - "size", - "dpadX", - "dpadY", - "buttonA", - "buttonB", - "buttonX", - "buttonY", - "leftShoulder", - "rightShoulder", - "leftThumbstickX", - "leftThumbstickY", - "rightThumbstickX", - "rightThumbstickY", - "leftTrigger", - "rightTrigger", - "supportsClickableThumbsticks", - "leftThumbstickButton", - "rightThumbstickButton", - ], - None, - 1, - ), - } -) -constants = """$GCControllerDidBecomeCurrentNotification$GCControllerDidConnectNotification$GCControllerDidDisconnectNotification$GCControllerDidStopBeingCurrentNotification$GCCurrentExtendedGamepadSnapshotDataVersion@q$GCCurrentMicroGamepadSnapshotDataVersion@q$GCHapticDurationInfinite@f$GCHapticsLocalityAll$GCHapticsLocalityDefault$GCHapticsLocalityHandles$GCHapticsLocalityLeftHandle$GCHapticsLocalityLeftTrigger$GCHapticsLocalityRightHandle$GCHapticsLocalityRightTrigger$GCHapticsLocalityTriggers$GCInputButtonA$GCInputButtonB$GCInputButtonHome$GCInputButtonMenu$GCInputButtonOptions$GCInputButtonShare$GCInputButtonX$GCInputButtonY$GCInputDirectionPad$GCInputDirectionalCardinalDpad$GCInputDirectionalCenterButton$GCInputDirectionalDpad$GCInputDirectionalTouchSurfaceButton$GCInputDualShockTouchpadButton$GCInputDualShockTouchpadOne$GCInputDualShockTouchpadTwo$GCInputLeftShoulder$GCInputLeftThumbstick$GCInputLeftThumbstickButton$GCInputLeftTrigger$GCInputMicroGamepadButtonA$GCInputMicroGamepadButtonMenu$GCInputMicroGamepadButtonX$GCInputMicroGamepadDpad$GCInputRightShoulder$GCInputRightThumbstick$GCInputRightThumbstickButton$GCInputRightTrigger$GCInputXboxPaddleFour$GCInputXboxPaddleOne$GCInputXboxPaddleThree$GCInputXboxPaddleTwo$GCKeyA$GCKeyApplication$GCKeyB$GCKeyBackslash$GCKeyC$GCKeyCapsLock$GCKeyCloseBracket$GCKeyCodeApplication@q$GCKeyCodeBackslash@q$GCKeyCodeCapsLock@q$GCKeyCodeCloseBracket@q$GCKeyCodeComma@q$GCKeyCodeDeleteForward@q$GCKeyCodeDeleteOrBackspace@q$GCKeyCodeDownArrow@q$GCKeyCodeEight@q$GCKeyCodeEnd@q$GCKeyCodeEqualSign@q$GCKeyCodeEscape@q$GCKeyCodeF1@q$GCKeyCodeF10@q$GCKeyCodeF11@q$GCKeyCodeF12@q$GCKeyCodeF13@q$GCKeyCodeF14@q$GCKeyCodeF15@q$GCKeyCodeF16@q$GCKeyCodeF17@q$GCKeyCodeF18@q$GCKeyCodeF19@q$GCKeyCodeF2@q$GCKeyCodeF20@q$GCKeyCodeF3@q$GCKeyCodeF4@q$GCKeyCodeF5@q$GCKeyCodeF6@q$GCKeyCodeF7@q$GCKeyCodeF8@q$GCKeyCodeF9@q$GCKeyCodeFive@q$GCKeyCodeFour@q$GCKeyCodeGraveAccentAndTilde@q$GCKeyCodeHome@q$GCKeyCodeHyphen@q$GCKeyCodeInsert@q$GCKeyCodeInternational1@q$GCKeyCodeInternational2@q$GCKeyCodeInternational3@q$GCKeyCodeInternational4@q$GCKeyCodeInternational5@q$GCKeyCodeInternational6@q$GCKeyCodeInternational7@q$GCKeyCodeInternational8@q$GCKeyCodeInternational9@q$GCKeyCodeKeyA@q$GCKeyCodeKeyB@q$GCKeyCodeKeyC@q$GCKeyCodeKeyD@q$GCKeyCodeKeyE@q$GCKeyCodeKeyF@q$GCKeyCodeKeyG@q$GCKeyCodeKeyH@q$GCKeyCodeKeyI@q$GCKeyCodeKeyJ@q$GCKeyCodeKeyK@q$GCKeyCodeKeyL@q$GCKeyCodeKeyM@q$GCKeyCodeKeyN@q$GCKeyCodeKeyO@q$GCKeyCodeKeyP@q$GCKeyCodeKeyQ@q$GCKeyCodeKeyR@q$GCKeyCodeKeyS@q$GCKeyCodeKeyT@q$GCKeyCodeKeyU@q$GCKeyCodeKeyV@q$GCKeyCodeKeyW@q$GCKeyCodeKeyX@q$GCKeyCodeKeyY@q$GCKeyCodeKeyZ@q$GCKeyCodeKeypad0@q$GCKeyCodeKeypad1@q$GCKeyCodeKeypad2@q$GCKeyCodeKeypad3@q$GCKeyCodeKeypad4@q$GCKeyCodeKeypad5@q$GCKeyCodeKeypad6@q$GCKeyCodeKeypad7@q$GCKeyCodeKeypad8@q$GCKeyCodeKeypad9@q$GCKeyCodeKeypadAsterisk@q$GCKeyCodeKeypadEnter@q$GCKeyCodeKeypadEqualSign@q$GCKeyCodeKeypadHyphen@q$GCKeyCodeKeypadNumLock@q$GCKeyCodeKeypadPeriod@q$GCKeyCodeKeypadPlus@q$GCKeyCodeKeypadSlash@q$GCKeyCodeLANG1@q$GCKeyCodeLANG2@q$GCKeyCodeLANG3@q$GCKeyCodeLANG4@q$GCKeyCodeLANG5@q$GCKeyCodeLANG6@q$GCKeyCodeLANG7@q$GCKeyCodeLANG8@q$GCKeyCodeLANG9@q$GCKeyCodeLeftAlt@q$GCKeyCodeLeftArrow@q$GCKeyCodeLeftControl@q$GCKeyCodeLeftGUI@q$GCKeyCodeLeftShift@q$GCKeyCodeNine@q$GCKeyCodeNonUSBackslash@q$GCKeyCodeNonUSPound@q$GCKeyCodeOne@q$GCKeyCodeOpenBracket@q$GCKeyCodePageDown@q$GCKeyCodePageUp@q$GCKeyCodePause@q$GCKeyCodePeriod@q$GCKeyCodePower@q$GCKeyCodePrintScreen@q$GCKeyCodeQuote@q$GCKeyCodeReturnOrEnter@q$GCKeyCodeRightAlt@q$GCKeyCodeRightArrow@q$GCKeyCodeRightControl@q$GCKeyCodeRightGUI@q$GCKeyCodeRightShift@q$GCKeyCodeScrollLock@q$GCKeyCodeSemicolon@q$GCKeyCodeSeven@q$GCKeyCodeSix@q$GCKeyCodeSlash@q$GCKeyCodeSpacebar@q$GCKeyCodeTab@q$GCKeyCodeThree@q$GCKeyCodeTwo@q$GCKeyCodeUpArrow@q$GCKeyCodeZero@q$GCKeyComma$GCKeyD$GCKeyDeleteForward$GCKeyDeleteOrBackspace$GCKeyDownArrow$GCKeyE$GCKeyEight$GCKeyEnd$GCKeyEqualSign$GCKeyEscape$GCKeyF$GCKeyF1$GCKeyF10$GCKeyF11$GCKeyF12$GCKeyF13$GCKeyF14$GCKeyF15$GCKeyF16$GCKeyF17$GCKeyF18$GCKeyF19$GCKeyF2$GCKeyF20$GCKeyF3$GCKeyF4$GCKeyF5$GCKeyF6$GCKeyF7$GCKeyF8$GCKeyF9$GCKeyFive$GCKeyFour$GCKeyG$GCKeyGraveAccentAndTilde$GCKeyH$GCKeyHome$GCKeyHyphen$GCKeyI$GCKeyInsert$GCKeyInternational1$GCKeyInternational2$GCKeyInternational3$GCKeyInternational4$GCKeyInternational5$GCKeyInternational6$GCKeyInternational7$GCKeyInternational8$GCKeyInternational9$GCKeyJ$GCKeyK$GCKeyKeypad0$GCKeyKeypad1$GCKeyKeypad2$GCKeyKeypad3$GCKeyKeypad4$GCKeyKeypad5$GCKeyKeypad6$GCKeyKeypad7$GCKeyKeypad8$GCKeyKeypad9$GCKeyKeypadAsterisk$GCKeyKeypadEnter$GCKeyKeypadEqualSign$GCKeyKeypadHyphen$GCKeyKeypadNumLock$GCKeyKeypadPeriod$GCKeyKeypadPlus$GCKeyKeypadSlash$GCKeyL$GCKeyLANG1$GCKeyLANG2$GCKeyLANG3$GCKeyLANG4$GCKeyLANG5$GCKeyLANG6$GCKeyLANG7$GCKeyLANG8$GCKeyLANG9$GCKeyLeftAlt$GCKeyLeftArrow$GCKeyLeftControl$GCKeyLeftGUI$GCKeyLeftShift$GCKeyM$GCKeyN$GCKeyNine$GCKeyNonUSBackslash$GCKeyNonUSPound$GCKeyO$GCKeyOne$GCKeyOpenBracket$GCKeyP$GCKeyPageDown$GCKeyPageUp$GCKeyPause$GCKeyPeriod$GCKeyPower$GCKeyPrintScreen$GCKeyQ$GCKeyQuote$GCKeyR$GCKeyReturnOrEnter$GCKeyRightAlt$GCKeyRightArrow$GCKeyRightControl$GCKeyRightGUI$GCKeyRightShift$GCKeyS$GCKeyScrollLock$GCKeySemicolon$GCKeySeven$GCKeySix$GCKeySlash$GCKeySpacebar$GCKeyT$GCKeyTab$GCKeyThree$GCKeyTwo$GCKeyU$GCKeyUpArrow$GCKeyV$GCKeyW$GCKeyX$GCKeyY$GCKeyZ$GCKeyZero$GCKeyboardDidConnectNotification$GCKeyboardDidDisconnectNotification$GCMouseDidBecomeCurrentNotification$GCMouseDidConnectNotification$GCMouseDidDisconnectNotification$GCMouseDidStopBeingCurrentNotification$GCProductCategoryCoalescedRemote$GCProductCategoryControlCenterRemote$GCProductCategoryDualSense$GCProductCategoryDualShock4$GCProductCategoryKeyboard$GCProductCategoryMFi$GCProductCategoryMouse$GCProductCategorySiriRemote1stGen$GCProductCategorySiriRemote2ndGen$GCProductCategoryUniversalElectronicsRemote$GCProductCategoryXboxOne$""" -enums = """$GCControllerPlayerIndex1@0$GCControllerPlayerIndex2@1$GCControllerPlayerIndex3@2$GCControllerPlayerIndex4@3$GCControllerPlayerIndexUnset@-1$GCDeviceBatteryStateCharging@1$GCDeviceBatteryStateDischarging@0$GCDeviceBatteryStateFull@2$GCDeviceBatteryStateUnknown@-1$GCDualSenseAdaptiveTriggerDiscretePositionCount@10$GCDualSenseAdaptiveTriggerModeFeedback@1$GCDualSenseAdaptiveTriggerModeOff@0$GCDualSenseAdaptiveTriggerModeSlopeFeedback@4$GCDualSenseAdaptiveTriggerModeVibration@3$GCDualSenseAdaptiveTriggerModeWeapon@2$GCDualSenseAdaptiveTriggerStatusFeedbackLoadApplied@1$GCDualSenseAdaptiveTriggerStatusFeedbackNoLoad@0$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackApplyingLoad@8$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackFinished@9$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackReady@7$GCDualSenseAdaptiveTriggerStatusUnknown@-1$GCDualSenseAdaptiveTriggerStatusVibrationIsVibrating@6$GCDualSenseAdaptiveTriggerStatusVibrationNotVibrating@5$GCDualSenseAdaptiveTriggerStatusWeaponFired@4$GCDualSenseAdaptiveTriggerStatusWeaponFiring@3$GCDualSenseAdaptiveTriggerStatusWeaponReady@2$GCExtendedGamepadSnapshotDataVersion1@256$GCExtendedGamepadSnapshotDataVersion2@257$GCMicroGamepadSnapshotDataVersion1@256$GCSystemGestureStateAlwaysReceive@1$GCSystemGestureStateDisabled@2$GCSystemGestureStateEnabled@0$GCTouchStateDown@1$GCTouchStateMoving@2$GCTouchStateUp@0$""" -misc.update( - { - "GCDeviceBatteryState": NewType("GCDeviceBatteryState", int), - "GCControllerPlayerIndex": NewType("GCControllerPlayerIndex", int), - "GCMicroGamepadSnapshotDataVersion": NewType( - "GCMicroGamepadSnapshotDataVersion", int - ), - "GCDualSenseAdaptiveTriggerStatus": NewType( - "GCDualSenseAdaptiveTriggerStatus", int - ), - "GCSystemGestureState": NewType("GCSystemGestureState", int), - "GCExtendedGamepadSnapshotDataVersion": NewType( - "GCExtendedGamepadSnapshotDataVersion", int - ), - "GCDualSenseAdaptiveTriggerMode": NewType( - "GCDualSenseAdaptiveTriggerMode", int - ), - "GCTouchState": NewType("GCTouchState", int), - } -) -misc.update( - { - "GCHapticsLocality": NewType("GCHapticsLocality", str), - "GCKeyCode": NewType("GCKeyCode", int), - } -) -misc.update({}) -functions = { - "GCExtendedGamepadSnapshotDataFromNSData": ( - b"Z^{_GCExtendedGamepadSnapshotData=SSffffffffffffffZZZ}@", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "NSDataFromGCMicroGamepadSnapShotDataV100": ( - b"@^{_GCMicroGamepadSnapShotDataV100=SSffff}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "GCGamepadSnapShotDataV100FromNSData": ( - b"Z^{_GCGamepadSnapShotDataV100=SSffffffff}@", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "NSDataFromGCMicroGamepadSnapshotData": ( - b"@^{_GCMicroGamepadSnapshotData=SSffff}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "NSDataFromGCGamepadSnapShotDataV100": ( - b"@^{_GCGamepadSnapShotDataV100=SSffffffff}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "GCMicroGamepadSnapshotDataFromNSData": ( - b"Z^{_GCMicroGamepadSnapshotData=SSffff}@", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "GCExtendedGamepadSnapShotDataV100FromNSData": ( - b"Z^{_GCExtendedGamepadSnapShotDataV100=SSffffffffffffff}@", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "GCMicroGamepadSnapShotDataV100FromNSData": ( - b"Z^{_GCMicroGamepadSnapShotDataV100=SSffff}@", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "NSDataFromGCExtendedGamepadSnapShotDataV100": ( - b"@^{_GCExtendedGamepadSnapShotDataV100=SSffffffffffffff}", - ), - "NSDataFromGCExtendedGamepadSnapshotData": ( - b"@^{_GCExtendedGamepadSnapshotData=SSffffffffffffffZZZ}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"GCController", - b"controllerPausedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r(b"GCController", b"isAttachedToDevice", {"retval": {"type": b"Z"}}) - r(b"GCController", b"isSnapshot", {"retval": {"type": b"Z"}}) - r( - b"GCController", - b"setControllerPausedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GCController", - b"setShouldMonitorBackgroundEvents", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"GCController", - b"setShouldMonitorBackgroundEvents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"GCController", b"shouldMonitorBackgroundEvents", {"retval": {"type": b"Z"}}) - r( - b"GCController", - b"startWirelessControllerDiscoveryWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"GCController", b"supportsHIDDevice:", {"retval": {"type": b"Z"}}) - r( - b"GCControllerAxisInput", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - }, - } - } - } - }, - ) - r( - b"GCControllerAxisInput", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - }, - } - } - }, - ) - r(b"GCControllerButtonInput", b"isPressed", {"retval": {"type": b"Z"}}) - r(b"GCControllerButtonInput", b"isTouched", {"retval": {"type": b"Z"}}) - r( - b"GCControllerButtonInput", - b"pressedChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCControllerButtonInput", - b"setPressedChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerButtonInput", - b"setTouchedChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerButtonInput", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerButtonInput", - b"touchedChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCControllerButtonInput", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCControllerDirectionPad", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - }, - } - } - } - }, - ) - r( - b"GCControllerDirectionPad", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - }, - } - } - }, - ) - r(b"GCControllerElement", b"isAnalog", {"retval": {"type": b"Z"}}) - r(b"GCControllerElement", b"isBoundToSystemGesture", {"retval": {"type": b"Z"}}) - r( - b"GCControllerTouchpad", - b"reportsAbsoluteTouchSurfaceValues", - {"retval": {"type": b"Z"}}, - ) - r( - b"GCControllerTouchpad", - b"setReportsAbsoluteTouchSurfaceValues:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"GCControllerTouchpad", - b"setTouchDown:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerTouchpad", - b"setTouchMoved:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerTouchpad", - b"setTouchUp:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GCControllerTouchpad", - b"setValueForXAxis:yAxis:touchDown:buttonValue:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"GCControllerTouchpad", - b"touchDown", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCControllerTouchpad", - b"touchMoved", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCControllerTouchpad", - b"touchUp", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCDualSenseAdaptiveTrigger", - b"setModeFeedbackWithResistiveStrengths:", - { - "arguments": { - 2: { - "type": b"{_GCDualSenseAdaptiveTriggerPositionalResistiveStrengths=[10f]}" - } - } - }, - ) - r( - b"GCDualSenseAdaptiveTrigger", - b"setModeVibrationWithAmplitudes:frequency:", - { - "arguments": { - 2: {"type": b"{_GCDualSenseAdaptiveTriggerPositionalAmplitudes=[10f]}"} - } - }, - ) - r( - b"GCEventViewController", - b"controllerUserInteractionEnabled", - {"retval": {"type": "Z"}}, - ) - r( - b"GCEventViewController", - b"setControllerUserInteractionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"GCExtendedGamepad", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GCExtendedGamepad", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"GCGamepad", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GCGamepad", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r(b"GCKeyboardInput", b"isAnyKeyPressed", {"retval": {"type": b"Z"}}) - r( - b"GCKeyboardInput", - b"keyChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"Z"}, - }, - } - } - }, - ) - r( - b"GCKeyboardInput", - b"setKeyChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"Z"}, - }, - } - } - } - }, - ) - r(b"GCMicroGamepad", b"allowsRotation", {"retval": {"type": "Z"}}) - r(b"GCMicroGamepad", b"reportsAbsoluteDpadValues", {"retval": {"type": "Z"}}) - r(b"GCMicroGamepad", b"setAllowsRotation:", {"arguments": {2: {"type": "Z"}}}) - r( - b"GCMicroGamepad", - b"setReportsAbsoluteDpadValues:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"GCMicroGamepad", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GCMicroGamepad", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r(b"GCMotion", b"acceleration", {"retval": {"type": b"{_GCAcceleration=ddd}"}}) - r(b"GCMotion", b"gravity", {"retval": {"type": b"{_GCAcceleration=ddd}"}}) - r(b"GCMotion", b"hasAttitude", {"retval": {"type": b"Z"}}) - r(b"GCMotion", b"hasAttitudeAndRotationRate", {"retval": {"type": "Z"}}) - r(b"GCMotion", b"hasGravityAndUserAcceleration", {"retval": {"type": "Z"}}) - r(b"GCMotion", b"hasRotationRate", {"retval": {"type": b"Z"}}) - r(b"GCMotion", b"rotationRate", {"retval": {"type": b"{_GCRotationRate=ddd}"}}) - r(b"GCMotion", b"sensorsActive", {"retval": {"type": b"Z"}}) - r(b"GCMotion", b"sensorsRequireManualActivation", {"retval": {"type": b"Z"}}) - r( - b"GCMotion", - b"setAcceleration:", - {"arguments": {2: {"type": b"{_GCAcceleration=ddd}"}}}, - ) - r( - b"GCMotion", - b"setGravity:", - {"arguments": {2: {"type": b"{_GCAcceleration=ddd}"}}}, - ) - r( - b"GCMotion", - b"setRotationRate:", - {"arguments": {2: {"type": b"{_GCRotationRate=ddd}"}}}, - ) - r(b"GCMotion", b"setSensorsActive:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GCMotion", - b"setUserAcceleration:", - {"arguments": {2: {"type": b"{_GCAcceleration=ddd}"}}}, - ) - r( - b"GCMotion", - b"setValueChangedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"GCMotion", b"userAcceleration", {"retval": {"type": b"{_GCAcceleration=ddd}"}}) - r( - b"GCMotion", - b"valueChangedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"GCMouseInput", - b"mouseMovedHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - }, - } - } - }, - ) - r( - b"GCMouseInput", - b"setMouseMovedHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"f"}, - 3: {"type": b"f"}, - }, - } - } - } - }, - ) - r(b"GCPhysicalInputProfile", b"hasRemappedElements", {"retval": {"type": "Z"}}) - r(b"NSObject", b"handlerQueue", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"physicalInputProfile", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"productCategory", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"setHandlerQueue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"vendorName", {"required": True, "retval": {"type": b"@"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/GameKit/__init__.py b/src/lib/GameKit/__init__.py deleted file mode 100644 index 478b73a..0000000 --- a/src/lib/GameKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the GameKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from GameKit import _metadata -from GameKit import _GameKit - -sys.modules["GameKit"] = mod = objc.ObjCLazyModule( - "GameKit", - "com.apple.GameKit", - objc.pathForFramework("/System/Library/Frameworks/GameKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_GameKit, Cocoa), -) - - -del sys.modules["GameKit._metadata"] diff --git a/src/lib/GameKit/_metadata.py b/src/lib/GameKit/_metadata.py deleted file mode 100644 index 6970eb6..0000000 --- a/src/lib/GameKit/_metadata.py +++ /dev/null @@ -1,2834 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:51:10 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$GKErrorDomain$GKExchangeTimeoutDefault@d$GKExchangeTimeoutNone@d$GKGameSessionErrorDomain$GKPlayerAuthenticationDidChangeNotificationName$GKPlayerDidChangeNotificationName$GKPlayerIDNoLongerAvailable$GKSessionErrorDomain$GKTurnTimeoutDefault@d$GKTurnTimeoutNone@d$GKVoiceChatServiceErrorDomain$""" -enums = """$GKAccessPointLocationBottomLeading@2$GKAccessPointLocationBottomTrailing@3$GKAccessPointLocationTopLeading@0$GKAccessPointLocationTopTrailing@1$GKAuthenticatingWithAuthKitInvocation@2$GKAuthenticatingWithGreenBuddyUI@1$GKAuthenticatingWithoutUI@0$GKChallengeStateCompleted@2$GKChallengeStateDeclined@3$GKChallengeStateInvalid@0$GKChallengeStatePending@1$GKConnectionStateConnected@1$GKConnectionStateNotConnected@0$GKErrorAPINotAvailable@31$GKErrorAPIObsolete@34$GKErrorAuthenticationInProgress@7$GKErrorCancelled@2$GKErrorChallengeInvalid@19$GKErrorCommunicationsFailure@3$GKErrorConnectionTimeout@33$GKErrorFriendListDenied@102$GKErrorFriendListDescriptionMissing@100$GKErrorFriendListRestricted@101$GKErrorFriendRequestNotAvailable@103$GKErrorGameSessionRequestInvalid@29$GKErrorGameUnrecognized@15$GKErrorInvalidCredentials@5$GKErrorInvalidParameter@17$GKErrorInvalidPlayer@8$GKErrorInvitationsDisabled@25$GKErrorMatchNotConnected@28$GKErrorMatchRequestInvalid@13$GKErrorNotAuthenticated@6$GKErrorNotAuthorized@32$GKErrorNotSupported@16$GKErrorParentalControlsBlocked@10$GKErrorPlayerPhotoFailure@26$GKErrorPlayerStatusExceedsMaximumLength@11$GKErrorPlayerStatusInvalid@12$GKErrorRestrictedToAutomatch@30$GKErrorScoreNotSet@9$GKErrorTurnBasedInvalidParticipant@22$GKErrorTurnBasedInvalidState@24$GKErrorTurnBasedInvalidTurn@23$GKErrorTurnBasedMatchDataTooLarge@20$GKErrorTurnBasedTooManySessions@21$GKErrorUbiquityContainerUnavailable@27$GKErrorUnderage@14$GKErrorUnexpectedConnection@18$GKErrorUnknown@1$GKErrorUserDenied@4$GKFriendsAuthorizationStatusAuthorized@3$GKFriendsAuthorizationStatusDenied@2$GKFriendsAuthorizationStatusNotDetermined@0$GKFriendsAuthorizationStatusRestricted@1$GKGameCenterViewControllerStateAchievements@1$GKGameCenterViewControllerStateChallenges@2$GKGameCenterViewControllerStateDashboard@4$GKGameCenterViewControllerStateDefault@-1$GKGameCenterViewControllerStateLeaderboards@0$GKGameCenterViewControllerStateLocalPlayerFriendsList@5$GKGameCenterViewControllerStateLocalPlayerProfile@3$GKGameSessionErrorBadContainer@12$GKGameSessionErrorCloudDriveDisabled@15$GKGameSessionErrorCloudQuotaExceeded@13$GKGameSessionErrorConnectionCancelledByUser@5$GKGameSessionErrorConnectionFailed@6$GKGameSessionErrorInvalidSession@16$GKGameSessionErrorNetworkFailure@14$GKGameSessionErrorNotAuthenticated@2$GKGameSessionErrorSendDataNoRecipients@9$GKGameSessionErrorSendDataNotConnected@8$GKGameSessionErrorSendDataNotReachable@10$GKGameSessionErrorSendRateLimitReached@11$GKGameSessionErrorSessionConflict@3$GKGameSessionErrorSessionHasMaxConnectedPlayers@7$GKGameSessionErrorSessionNotShared@4$GKGameSessionErrorUnknown@1$GKInviteRecipientResponseAccepted@0$GKInviteRecipientResponseDeclined@1$GKInviteRecipientResponseFailed@2$GKInviteRecipientResponseIncompatible@3$GKInviteRecipientResponseNoAnswer@5$GKInviteRecipientResponseUnableToConnect@4$GKInviteeResponseAccepted@0$GKInviteeResponseDeclined@1$GKInviteeResponseFailed@2$GKInviteeResponseIncompatible@3$GKInviteeResponseNoAnswer@5$GKInviteeResponseUnableToConnect@4$GKLeaderboardPlayerScopeFriendsOnly@1$GKLeaderboardPlayerScopeGlobal@0$GKLeaderboardTimeScopeAllTime@2$GKLeaderboardTimeScopeToday@0$GKLeaderboardTimeScopeWeek@1$GKLeaderboardTypeClassic@0$GKLeaderboardTypeRecurring@1$GKMatchSendDataReliable@0$GKMatchSendDataUnreliable@1$GKMatchTypeHosted@1$GKMatchTypePeerToPeer@0$GKMatchTypeTurnBased@2$GKMatchmakingModeAutomatchOnly@2$GKMatchmakingModeDefault@0$GKMatchmakingModeInviteOnly@3$GKMatchmakingModeNearbyOnly@1$GKPeerStateAvailable@0$GKPeerStateConnected@2$GKPeerStateConnectedRelay@5$GKPeerStateConnecting@4$GKPeerStateDisconnected@3$GKPeerStateUnavailable@1$GKPhotoSizeNormal@1$GKPhotoSizeSmall@0$GKPlayerStateConnected@1$GKPlayerStateDisconnected@2$GKPlayerStateUnknown@0$GKSendDataReliable@0$GKSendDataUnreliable@1$GKSessionCancelledError@30504$GKSessionCannotEnableError@30509$GKSessionConnectionClosedError@30506$GKSessionConnectionFailedError@30505$GKSessionConnectivityError@30201$GKSessionDataTooBigError@30507$GKSessionDeclinedError@30502$GKSessionInProgressError@30510$GKSessionInternalError@30203$GKSessionInvalidParameterError@30500$GKSessionModeClient@1$GKSessionModePeer@2$GKSessionModeServer@0$GKSessionNotConnectedError@30508$GKSessionPeerNotFoundError@30501$GKSessionSystemError@30205$GKSessionTimedOutError@30503$GKSessionTransportError@30202$GKSessionUnknownError@30204$GKTransportTypeReliable@1$GKTransportTypeUnreliable@0$GKTurnBasedExchangeStatusActive@1$GKTurnBasedExchangeStatusCanceled@4$GKTurnBasedExchangeStatusComplete@2$GKTurnBasedExchangeStatusResolved@3$GKTurnBasedExchangeStatusUnknown@0$GKTurnBasedMatchOutcomeCustomRange@16711680$GKTurnBasedMatchOutcomeFirst@6$GKTurnBasedMatchOutcomeFourth@9$GKTurnBasedMatchOutcomeLost@3$GKTurnBasedMatchOutcomeNone@0$GKTurnBasedMatchOutcomeQuit@1$GKTurnBasedMatchOutcomeSecond@7$GKTurnBasedMatchOutcomeThird@8$GKTurnBasedMatchOutcomeTied@4$GKTurnBasedMatchOutcomeTimeExpired@5$GKTurnBasedMatchOutcomeWon@2$GKTurnBasedMatchStatusEnded@2$GKTurnBasedMatchStatusMatching@3$GKTurnBasedMatchStatusOpen@1$GKTurnBasedMatchStatusUnknown@0$GKTurnBasedParticipantStatusActive@4$GKTurnBasedParticipantStatusDeclined@2$GKTurnBasedParticipantStatusDone@5$GKTurnBasedParticipantStatusInvited@1$GKTurnBasedParticipantStatusMatching@3$GKTurnBasedParticipantStatusUnknown@0$GKVoiceChatPlayerConnected@0$GKVoiceChatPlayerConnecting@4$GKVoiceChatPlayerDisconnected@1$GKVoiceChatPlayerSilent@3$GKVoiceChatPlayerSpeaking@2$GKVoiceChatServiceAudioUnavailableError@32005$GKVoiceChatServiceClientMissingRequiredMethodsError@32007$GKVoiceChatServiceInternalError@32000$GKVoiceChatServiceInvalidCallIDError@32004$GKVoiceChatServiceInvalidParameterError@32016$GKVoiceChatServiceMethodCurrentlyInvalidError@32012$GKVoiceChatServiceNetworkConfigurationError@32013$GKVoiceChatServiceNoRemotePacketsError@32001$GKVoiceChatServiceOutOfMemoryError@32015$GKVoiceChatServiceRemoteParticipantBusyError@32008$GKVoiceChatServiceRemoteParticipantCancelledError@32009$GKVoiceChatServiceRemoteParticipantDeclinedInviteError@32011$GKVoiceChatServiceRemoteParticipantHangupError@32003$GKVoiceChatServiceRemoteParticipantResponseInvalidError@32010$GKVoiceChatServiceUnableToConnectError@32002$GKVoiceChatServiceUninitializedClientError@32006$GKVoiceChatServiceUnsupportedRemoteVersionError@32014$""" -misc.update( - { - "GKSessionMode": NewType("GKSessionMode", int), - "GKVoiceChatPlayerState": NewType("GKVoiceChatPlayerState", int), - "GKVoiceChatServiceError": NewType("GKVoiceChatServiceError", int), - "GKTurnBasedParticipantStatus": NewType("GKTurnBasedParticipantStatus", int), - "GKTransportType": NewType("GKTransportType", int), - "GKTurnBasedMatchStatus": NewType("GKTurnBasedMatchStatus", int), - "GKInviteRecipientResponse": NewType("GKInviteRecipientResponse", int), - "GKMatchSendDataMode": NewType("GKMatchSendDataMode", int), - "GKSendDataMode": NewType("GKSendDataMode", int), - "GKPhotoSize": NewType("GKPhotoSize", int), - "GKChallengeState": NewType("GKChallengeState", int), - "GKSessionError": NewType("GKSessionError", int), - "GKMatchmakingMode": NewType("GKMatchmakingMode", int), - "GKPeerConnectionState": NewType("GKPeerConnectionState", int), - "GKErrorCode": NewType("GKErrorCode", int), - "GKPlayerConnectionState": NewType("GKPlayerConnectionState", int), - "GKLeaderboardPlayerScope": NewType("GKLeaderboardPlayerScope", int), - "GKLeaderboardTimeScope": NewType("GKLeaderboardTimeScope", int), - "GKConnectionState": NewType("GKConnectionState", int), - "GKLeaderboardType": NewType("GKLeaderboardType", int), - "GKTurnBasedExchangeStatus": NewType("GKTurnBasedExchangeStatus", int), - "GKTurnBasedMatchOutcome": NewType("GKTurnBasedMatchOutcome", int), - "GKGameSessionErrorCode": NewType("GKGameSessionErrorCode", int), - "GKGameCenterViewControllerState": NewType( - "GKGameCenterViewControllerState", int - ), - "GKMatchType": NewType("GKMatchType", int), - "GKFriendsAuthorizationStatus": NewType("GKFriendsAuthorizationStatus", int), - "GKAccessPointLocation": NewType("GKAccessPointLocation", int), - } -) -misc.update({}) -aliases = { - "GKInviteeResponseAccepted": "GKInviteRecipientResponseAccepted", - "GKInviteeResponseNoAnswer": "GKInviteRecipientResponseNoAnswer", - "GKInviteeResponseFailed": "GKInviteRecipientResponseFailed", - "GKInviteeResponseIncompatible": "GKInviteRecipientResponseIncompatible", - "GKInviteeResponseDeclined": "GKInviteRecipientResponseDeclined", - "GKInviteeResponseUnableToConnect": "GKInviteRecipientResponseUnableToConnect", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"GKAccessPoint", b"isActive", {"retval": {"type": b"Z"}}) - r(b"GKAccessPoint", b"isFocused", {"retval": {"type": b"Z"}}) - r(b"GKAccessPoint", b"isPresentingGameCenter", {"retval": {"type": b"Z"}}) - r(b"GKAccessPoint", b"isVisible", {"retval": {"type": b"Z"}}) - r(b"GKAccessPoint", b"setActive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"GKAccessPoint", b"setFocused:", {"arguments": {2: {"type": b"Z"}}}) - r(b"GKAccessPoint", b"setShowHighlights:", {"arguments": {2: {"type": b"Z"}}}) - r(b"GKAccessPoint", b"showHighlights", {"retval": {"type": b"Z"}}) - r( - b"GKAccessPoint", - b"triggerAccessPointWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"GKAccessPoint", - b"triggerAccessPointWithState:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"GKAchievement", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"GKAchievement", b"isCompleted", {"retval": {"type": b"Z"}}) - r(b"GKAchievement", b"isHidden", {"retval": {"type": b"Z"}}) - r( - b"GKAchievement", - b"loadAchievementsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievementWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievements:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKAchievement", - b"reportAchievements:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKAchievement", - b"resetAchievementsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKAchievement", - b"selectChallengeablePlayerIDs:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKAchievement", - b"selectChallengeablePlayers:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKAchievement", - b"setShowsCompletionBanner:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"GKAchievement", b"showsCompletionBanner", {"retval": {"type": b"Z"}}) - r(b"GKAchievementDescription", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"GKAchievementDescription", b"isReplayable", {"retval": {"type": b"Z"}}) - r( - b"GKAchievementDescription", - b"loadAchievementDescriptionsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKAchievementDescription", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKChallenge", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKChallenge", - b"loadReceivedChallengesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKChallenge", - b"reportScores:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKCloudPlayer", - b"getCurrentSignedInPlayerForContainer:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"GKDialogController", b"presentViewController:", {"retval": {"type": b"Z"}}) - r( - b"GKGameSession", - b"clearBadgeForPlayers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKGameSession", - b"createSessionInContainer:withTitle:maxConnectedPlayers:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"getShareURLWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"loadDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"loadSessionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"loadSessionsInContainer:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"removeSessionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKGameSession", - b"saveData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKGameSession", - b"sendData:withTransportType:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKGameSession", - b"sendMessageWithLocalizedFormatKey:arguments:data:toPlayers:badgePlayers:completionHandler:", - { - "arguments": { - 6: {"type": b"Z"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"GKGameSession", - b"setConnectionState:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"GKInvite", b"isHosted", {"retval": {"type": b"Z"}}) - r(b"GKLeaderboard", b"isLoading", {"retval": {"type": b"Z"}}) - r( - b"GKLeaderboard", - b"loadCategoriesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadEntriesForPlayerScope:timeScope:range:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadEntriesForPlayers:timeScope:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadLeaderboardsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadLeaderboardsWithIDs:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadPreviousOccurrenceWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"loadScoresWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"setDefaultLeaderboard:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"submitScore:context:player:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLeaderboard", - b"submitScore:context:player:leaderboardIDs:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLeaderboardEntry", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadImageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadLeaderboardSetsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadLeaderboardsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLeaderboardSet", - b"loadLeaderboardsWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"authenticateHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"GKLocalPlayer", - b"authenticateWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"deleteSavedGamesWithName:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"fetchItemsForIdentityVerificationSignature:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"fetchSavedGamesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"generateIdentityVerificationSignatureWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"GKLocalPlayer", b"isAuthenticated", {"retval": {"type": b"Z"}}) - r(b"GKLocalPlayer", b"isMultiplayerGamingRestricted", {"retval": {"type": b"Z"}}) - r( - b"GKLocalPlayer", - b"isPersonalizedCommunicationRestricted", - {"retval": {"type": b"Z"}}, - ) - r( - b"GKLocalPlayer", - b"isPresentingFriendRequestViewController", - {"retval": {"type": b"Z"}}, - ) - r(b"GKLocalPlayer", b"isUnderage", {"retval": {"type": b"Z"}}) - r( - b"GKLocalPlayer", - b"loadChallengableFriendsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadDefaultLeaderboardCategoryIDWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadDefaultLeaderboardIdentifierWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendPlayersWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriends:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendsAuthorizationStatus:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadFriendsWithIdentifiers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"loadRecentPlayersWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"presentFriendRequestCreatorFromWindow:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"GKLocalPlayer", - b"resolveConflictingSavedGames:withData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"saveGameData:withName:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setAuthenticateHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setDefaultLeaderboardCategoryID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKLocalPlayer", - b"setDefaultLeaderboardIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKMatch", - b"chooseBestHostPlayerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKMatch", - b"chooseBestHostingPlayerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKMatch", - b"rematchWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatch", - b"sendData:toPlayers:dataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatch", - b"sendData:toPlayers:withDataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatch", - b"sendDataToAllPlayers:withDataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"GKMatchRequest", - b"inviteeResponseHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - }, - ) - r( - b"GKMatchRequest", - b"recipientResponseHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - }, - ) - r(b"GKMatchRequest", b"restrictToAutomatch", {"retval": {"type": b"Z"}}) - r( - b"GKMatchRequest", - b"setInviteeResponseHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"GKMatchRequest", - b"setRecipientResponseHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"q"}, - }, - } - } - } - }, - ) - r(b"GKMatchRequest", b"setRestrictToAutomatch:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKMatchmaker", - b"addPlayersToMatch:matchRequest:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"findMatchForRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"findPlayersForHostedMatchRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"findPlayersForHostedRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"inviteHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"GKMatchmaker", - b"matchForInvite:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"queryActivityWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"queryPlayerGroupActivity:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"setInviteHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"startBrowsingForNearbyPlayersWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmaker", - b"startBrowsingForNearbyPlayersWithReachableHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - }, - } - } - } - }, - ) - r( - b"GKMatchmakerViewController", - b"canStartWithMinimumPlayers", - {"retval": {"type": b"Z"}}, - ) - r(b"GKMatchmakerViewController", b"isHosted", {"retval": {"type": b"Z"}}) - r( - b"GKMatchmakerViewController", - b"setCanStartWithMinimumPlayers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"GKMatchmakerViewController", b"setHosted:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKMatchmakerViewController", - b"setHostedPlayer:connected:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"GKMatchmakerViewController", - b"setHostedPlayer:didConnect:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"GKNotificationBanner", - b"showBannerWithTitle:message:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"GKNotificationBanner", - b"showBannerWithTitle:message:duration:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"GKPlayer", b"isFriend", {"retval": {"type": b"Z"}}) - r(b"GKPlayer", b"isInvitable", {"retval": {"type": b"Z"}}) - r( - b"GKPlayer", - b"loadPhotoForSize:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKPlayer", - b"loadPlayersForIdentifiers:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"GKPlayer", b"scopedIDsArePersistent", {"retval": {"type": b"Z"}}) - r( - b"GKSavedGame", - b"loadDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKScore", - b"challengeComposeControllerWithMessage:players:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKScore", - b"reportLeaderboardScores:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKScore", - b"reportScoreWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKScore", - b"reportScores:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKScore", - b"reportScores:withEligibleChallenges:withCompletionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKScore", - b"setShouldSetDefaultLeaderboard:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"GKScore", b"shouldSetDefaultLeaderboard", {"retval": {"type": b"Z"}}) - r( - b"GKSession", - b"acceptConnectionFromPeer:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"GKSession", b"isAvailable", {"retval": {"type": b"Z"}}) - r( - b"GKSession", - b"sendData:toPeers:withDataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"GKSession", - b"sendDataToAllPeers:withDataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"GKSession", b"setAvailable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKSession", - b"setDataReceiveHandler:withContext:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"GKTurnBasedExchange", - b"cancelWithLocalizableMessageKey:arguments:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedExchange", - b"replyWithLocalizableMessageKey:arguments:data:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"acceptInviteWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"cancelWithLocalizableMessageKey:arguments:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"declineInviteWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endMatchInTurnWithMatchData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endMatchInTurnWithMatchData:leaderboardScores:achievements:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endMatchInTurnWithMatchData:scores:achievements:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endTurnWithNextParticipant:matchData:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"findMatchForRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchWithID:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"loadMatchesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitInTurnWithOutcome:nextParticipant:matchData:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitInTurnWithOutcome:nextParticipants:turnTimeout:matchData:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"participantQuitOutOfTurnWithOutcome:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"rematchWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"removeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"replyWithLocalizableMessageKey:arguments:data:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"saveCurrentTurnWithMatchData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"saveMergedMatchData:withResolvedExchanges:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"sendExchangeToParticipants:data:localizableMessageKey:arguments:timeout:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"GKTurnBasedMatch", - b"sendReminderToParticipants:localizableMessageKey:arguments:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"GKTurnBasedMatchmakerViewController", - b"setShowExistingMatches:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"GKTurnBasedMatchmakerViewController", - b"showExistingMatches", - {"retval": {"type": b"Z"}}, - ) - r(b"GKVoiceChat", b"isActive", {"retval": {"type": b"Z"}}) - r(b"GKVoiceChat", b"isVoIPAllowed", {"retval": {"type": b"Z"}}) - r( - b"GKVoiceChat", - b"playerStateUpdateHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - }, - ) - r( - b"GKVoiceChat", - b"playerVoiceChatStateDidChangeHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - }, - ) - r(b"GKVoiceChat", b"setActive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"GKVoiceChat", b"setMute:forPlayer:", {"arguments": {2: {"type": b"Z"}}}) - r(b"GKVoiceChat", b"setPlayer:muted:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"GKVoiceChat", - b"setPlayerStateUpdateHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"GKVoiceChat", - b"setPlayerVoiceChatStateDidChangeHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r( - b"GKVoiceChatService", - b"acceptCallID:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"GKVoiceChatService", b"isInputMeteringEnabled", {"retval": {"type": b"Z"}}) - r(b"GKVoiceChatService", b"isMicrophoneMuted", {"retval": {"type": b"Z"}}) - r(b"GKVoiceChatService", b"isOutputMeteringEnabled", {"retval": {"type": b"Z"}}) - r(b"GKVoiceChatService", b"isVoIPAllowed", {"retval": {"type": b"Z"}}) - r( - b"GKVoiceChatService", - b"setInputMeteringEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"GKVoiceChatService", b"setMicrophoneMuted:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKVoiceChatService", - b"setOutputMeteringEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"GKVoiceChatService", - b"startVoiceChatWithParticipantID:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"achievementViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"challengesViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"friendRequestComposeViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"gameCenterViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleInviteFromGameCenter:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleMatchEnded:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleTurnEventForMatch:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleTurnEventForMatch:didBecomeActive:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"leaderboardViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"localPlayerDidCompleteChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"localPlayerDidReceiveChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"localPlayerDidSelectChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"match:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"match:didReceiveData:forRecipient:fromRemotePlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"match:didReceiveData:fromPlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"match:didReceiveData:fromRemotePlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"match:player:didChangeConnectionState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"match:player:didChangeState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"match:shouldReinviteDisconnectedPlayer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"match:shouldReinvitePlayer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:didFailWithError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:didFindHostedPlayers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:didFindMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:didFindPlayers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:didReceiveAcceptFromHostedPlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewController:hostedPlayerDidAccept:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"matchmakerViewControllerWasCancelled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"participantID", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"player:didAcceptInvite:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didCompleteChallenge:issuedByFriend:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didModifySavedGame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didReceiveChallenge:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didRequestMatchWithOtherPlayers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didRequestMatchWithPlayers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:didRequestMatchWithRecipients:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:hasConflictingSavedGames:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:issuedChallengeWasCompleted:byFriend:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:matchEnded:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:receivedExchangeCancellation:forMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:receivedExchangeReplies:forCompletedExchange:forMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"player:receivedExchangeRequest:forMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:receivedTurnEventForMatch:didBecomeActive:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"player:wantsToPlayChallenge:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"player:wantsToQuitMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"remotePlayerDidCompleteChallenge:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"session:connectionWithPeerFailed:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didAddPlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didReceiveConnectionRequestFromPeer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didReceiveData:fromPlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didReceiveMessage:withData:fromPlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"session:didRemovePlayer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:peer:didChangeState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"i"}}, - }, - ) - r( - b"NSObject", - b"session:player:didChangeConnectionState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"session:player:didSaveData:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"shouldShowBannerForLocallyCompletedChallenge:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"shouldShowBannerForLocallyReceivedChallenge:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"shouldShowBannerForRemotelyCompletedChallenge:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"turnBasedMatchmakerViewController:didFailWithError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"turnBasedMatchmakerViewController:didFindMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"turnBasedMatchmakerViewController:playerQuitForMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"turnBasedMatchmakerViewControllerWasCancelled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"voiceChatService:didNotStartWithParticipantID:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"voiceChatService:didReceiveInvitationFromParticipantID:callID:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"voiceChatService:didStartWithParticipantID:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"voiceChatService:didStopWithParticipantID:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"voiceChatService:sendData:toParticipantID:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"voiceChatService:sendRealTimeData:toParticipantID:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"null", - b"chooseBestHostPlayerWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"null", - b"findPlayersForHostedMatchRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"sendData:toPlayers:withDataMode:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"null", - b"setInviteHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"null", b"setMute:forPlayer:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"null", - b"setPlayerStateUpdateHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"null", - b"startBrowsingForNearbyPlayersWithReachableHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Z"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/GameplayKit/__init__.py b/src/lib/GameplayKit/__init__.py deleted file mode 100644 index 2b7b41e..0000000 --- a/src/lib/GameplayKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the GameplayKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import SpriteKit -from GameplayKit import _metadata -from GameplayKit import _GameplayKit - -sys.modules["GameplayKit"] = mod = objc.ObjCLazyModule( - "GameplayKit", - "com.apple.GameplayKit", - objc.pathForFramework("/System/Library/Frameworks/GameplayKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_GameplayKit, Cocoa, SpriteKit), -) - - -del sys.modules["GameplayKit._metadata"] diff --git a/src/lib/GameplayKit/_metadata.py b/src/lib/GameplayKit/_metadata.py deleted file mode 100644 index a0d6bbc..0000000 --- a/src/lib/GameplayKit/_metadata.py +++ /dev/null @@ -1,289 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:51:33 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "GKBox": objc.createStructType( - "GameplayKit.GKBox", b"{GKBox=}", ["boxMin", "boxMax"] - ), - "GKQuad": objc.createStructType( - "GameplayKit.GKQuad", b"{GKQuad=}", ["quadMin", "quadMax"] - ), - } -) -constants = """$$""" -enums = """$GKGameModelMaxScore@16777216$GKGameModelMinScore@-16777216$GKMeshGraphTriangulationModeCenters@2$GKMeshGraphTriangulationModeEdgeMidpoints@4$GKMeshGraphTriangulationModeVertices@1$GKRTreeSplitStrategyHalve@0$GKRTreeSplitStrategyLinear@1$GKRTreeSplitStrategyQuadratic@2$GKRTreeSplitStrategyReduceOverlap@3$""" -misc.update( - { - "GKMeshGraphTriangulationMode": NewType("GKMeshGraphTriangulationMode", int), - "GKRTreeSplitStrategy": NewType("GKRTreeSplitStrategy", int), - } -) -misc.update({}) -aliases = {"GK_AVAILABLE": "__OSX_AVAILABLE_STARTING"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"GKAgent3D", b"rightHanded", {"retval": {"type": b"Z"}}) - r(b"GKAgent3D", b"rotation", {"retval": {"type": b"{_matrix_float3x3=?}"}}) - r(b"GKAgent3D", b"setRightHanded:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKAgent3D", - b"setRotation:", - {"arguments": {2: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r(b"GKDecisionTree", b"exportToURL:error:", {"retval": {"type": b"Z"}}) - r( - b"GKGoal", - b"goalToFollowPath:maxPredictionTime:forward:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"GKGraph", - b"connectNodeToLowestCostNode:bidirectional:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"GKGraphNode", - b"addConnectionsToNodes:bidirectional:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"GKGraphNode", - b"removeConnectionsToNodes:bidirectional:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"GKGridGraph", b"diagonalsAllowed", {"retval": {"type": b"Z"}}) - r( - b"GKGridGraph", - b"graphFromGridStartingAt:width:height:diagonalsAllowed:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"GKGridGraph", - b"graphFromGridStartingAt:width:height:diagonalsAllowed:nodeClass:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"GKGridGraph", - b"initFromGridStartingAt:width:height:diagonalsAllowed:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"GKGridGraph", - b"initFromGridStartingAt:width:height:diagonalsAllowed:nodeClass:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"GKNSPredicateRule", b"evaluatePredicateWithSystem:", {"retval": {"type": b"Z"}}) - r( - b"GKNoise", - b"remapValuesToTerracesWithPeaks:terracesInverted:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"GKNoiseMap", - b"initWithNoise:size:origin:sampleCount:seamless:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"GKNoiseMap", b"isSeamless", {"retval": {"type": b"Z"}}) - r( - b"GKNoiseMap", - b"noiseMapWithNoise:size:origin:sampleCount:seamless:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"GKObstacleGraph", - b"isConnectionLockedFromNode:toNode:", - {"retval": {"type": b"Z"}}, - ) - r(b"GKOctree", b"removeElement:", {"retval": {"type": b"Z"}}) - r(b"GKOctree", b"removeElement:withNode:", {"retval": {"type": b"Z"}}) - r( - b"GKPath", - b"initWithFloat3Points:count:radius:cyclical:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}, 5: {"type": b"Z"}}}, - ) - r( - b"GKPath", - b"initWithPoints:count:radius:cyclical:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}, 5: {"type": b"Z"}}}, - ) - r(b"GKPath", b"isCyclical", {"retval": {"type": b"Z"}}) - r( - b"GKPath", - b"pathWithFloat3Points:count:radius:cyclical:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}, 5: {"type": b"Z"}}}, - ) - r( - b"GKPath", - b"pathWithPoints:count:radius:cyclical:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}, 5: {"type": b"Z"}}}, - ) - r(b"GKPath", b"pointAtIndex:", {"deprecated": 1012}) - r(b"GKPath", b"setCyclical:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"GKPolygonObstacle", - b"initWithPoints:count:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}}}, - ) - r( - b"GKPolygonObstacle", - b"obstacleWithPoints:count:", - {"arguments": {2: {"type": "n", "arg_size_in_arg": 1}}}, - ) - r(b"GKQuadtree", b"removeElement:", {"retval": {"type": b"Z"}}) - r(b"GKQuadtree", b"removeElement:withNode:", {"retval": {"type": b"Z"}}) - r(b"GKRandomDistribution", b"nextBool", {"retval": {"type": b"Z"}}) - r(b"GKRule", b"evaluatePredicateWithSystem:", {"retval": {"type": b"Z"}}) - r( - b"GKRule", - b"ruleWithBlockPredicate:action:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r(b"GKState", b"isValidNextState:", {"retval": {"type": b"Z"}}) - r(b"GKStateMachine", b"canEnterState:", {"retval": {"type": b"Z"}}) - r(b"GKStateMachine", b"enterState:", {"retval": {"type": b"Z"}}) - r( - b"GKVoronoiNoiseSource", - b"initWithFrequency:displacement:distanceEnabled:seed:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"GKVoronoiNoiseSource", b"isDistanceEnabled", {"retval": {"type": b"Z"}}) - r( - b"GKVoronoiNoiseSource", - b"setDistanceEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"GKVoronoiNoiseSource", - b"voronoiNoiseWithFrequency:displacement:distanceEnabled:seed:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"NSObject", b"activePlayer", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"agentDidUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"agentWillUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"applyGameModelUpdate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"bestMoveForActivePlayer", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"gameModel", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"gameModelUpdatesForPlayer:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isLossForPlayer:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isWinForPlayer:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"nextBool", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"nextInt", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"nextIntWithUpperBound:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"nextUniform", {"required": True, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"playerId", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r(b"NSObject", b"players", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"randomSource", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"scoreForPlayer:", - {"required": False, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setGameModel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"setPlayerId:", {"arguments": {2: {"type": sel32or64(b"i", b"q")}}}) - r( - b"NSObject", - b"setRandomSource:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"unapplyGameModelUpdate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"value", {"required": True, "retval": {"type": b"q"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/HIServices/__init__.py b/src/lib/HIServices/__init__.py deleted file mode 100644 index a346dce..0000000 --- a/src/lib/HIServices/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the HIServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Cocoa -import objc -from HIServices import _metadata, _HIServices - -sys.modules["HIServices"] = mod = objc.ObjCLazyModule( - "HIServices", - "com.apple.ApplicationServices", - objc.pathForFramework("/System/Library/Frameworks/ApplicationServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - ( - _HIServices, - Cocoa, - ), -) - - -del sys.modules["HIServices._metadata"] diff --git a/src/lib/HIServices/_metadata.py b/src/lib/HIServices/_metadata.py deleted file mode 100644 index b7dcc1c..0000000 --- a/src/lib/HIServices/_metadata.py +++ /dev/null @@ -1,1014 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Fri Mar 11 13:04:50 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "SizeResourceRec": objc.createStructType( - "HIServices.SizeResourceRec", - b"{SizeResourceRec=SII}", - ["flags", "preferredHeapSize", "minimumHeapSize"], - ), - "ProcessInfoExtendedRec": objc.createStructType( - "HIServices.ProcessInfoExtendedRec", - b"{ProcessInfoExtendedRec=I^C{ProcessSerialNumber=II}III^cII{ProcessSerialNumber=II}II^{FSRef=[80C]}II}", - [ - "processInfoLength", - "processName", - "processNumber", - "processType", - "processSignature", - "processMode", - "processLocation", - "processSize", - "processFreeMem", - "processLauncher", - "processLaunchDate", - "processActiveTime", - "processAppRef", - "processTempMemTotal", - "processPurgeableTempMemTotal", - ], - ), - "ProcessInfoRec": objc.createStructType( - "HIServices.ProcessInfoRec", - b"{ProcessInfoRec=I^C{ProcessSerialNumber=II}III^cII{ProcessSerialNumber=II}II^{FSRef=[80C]}}", - [ - "processInfoLength", - "processName", - "processNumber", - "processType", - "processSignature", - "processMode", - "processLocation", - "processSize", - "processFreeMem", - "processLauncher", - "processLaunchDate", - "processActiveTime", - "processAppRef", - ], - ), - } -) -constants = """$kAXAttachmentTextAttribute$kAXAutocorrectedTextAttribute$kAXBackgroundColorTextAttribute$kAXFontFamilyKey$kAXFontNameKey$kAXFontSizeKey$kAXFontTextAttribute$kAXForegoundColorTextAttribute$kAXForegroundColorTextAttribute$kAXLinkTextAttribute$kAXListItemIndexTextAttribute$kAXListItemLevelTextAttribute$kAXListItemPrefixTextAttribute$kAXMarkedMisspelledTextAttribute$kAXMisspelledTextAttribute$kAXNaturalLanguageTextAttribute$kAXReplacementStringTextAttribute$kAXShadowTextAttribute$kAXStrikethroughColorTextAttribute$kAXStrikethroughTextAttribute$kAXSuperscriptTextAttribute$kAXTrustedCheckOptionPrompt$kAXUnderlineColorTextAttribute$kAXUnderlineTextAttribute$kAXVisibleNameKey$""" -enums = """$AX_ALLOW_OLD_SECURITY_METHOD@0$activDev@5$atAbsoluteCenter@5$atBottom@3$atBottomLeft@11$atBottomRight@15$atCenterBottom@7$atCenterLeft@9$atCenterRight@13$atCenterTop@6$atHorizontalCenter@4$atLeft@8$atNone@0$atRight@12$atTop@2$atTopLeft@10$atTopRight@14$atVerticalCenter@1$badPasteboardFlavorErr@-25133$badPasteboardIndexErr@-25131$badPasteboardItemErr@-25132$badPasteboardSyncErr@-25130$badTranslationRefErr@-3031$cdevGenErr@-1$cdevMemErr@0$cdevResErr@1$cdevUnset@3$clearDev@13$closeDev@2$copyDev@11$cursorDev@14$cutDev@10$deactivDev@6$duplicatePasteboardFlavorErr@-25134$extendedBlock@19523$extendedBlockLen@40$hitDev@1$initDev@0$kAXCopyMultipleAttributeOptionStopOnError@1$kAXErrorAPIDisabled@-25211$kAXErrorActionUnsupported@-25206$kAXErrorAttributeUnsupported@-25205$kAXErrorCannotComplete@-25204$kAXErrorFailure@-25200$kAXErrorIllegalArgument@-25201$kAXErrorInvalidUIElement@-25202$kAXErrorInvalidUIElementObserver@-25203$kAXErrorNoValue@-25212$kAXErrorNotEnoughPrecision@-25214$kAXErrorNotImplemented@-25208$kAXErrorNotificationAlreadyRegistered@-25209$kAXErrorNotificationNotRegistered@-25210$kAXErrorNotificationUnsupported@-25207$kAXErrorParameterizedAttributeUnsupported@-25213$kAXErrorSuccess@0$kAXMenuItemModifierControl@4$kAXMenuItemModifierNoCommand@8$kAXMenuItemModifierNone@0$kAXMenuItemModifierOption@2$kAXMenuItemModifierShift@1$kAXPriorityHigh@90$kAXPriorityLow@10$kAXPriorityMedium@50$kAXUnderlineStyleDouble@9$kAXUnderlineStyleNone@0$kAXUnderlineStyleSingle@1$kAXUnderlineStyleThick@2$kAXValueAXErrorType@5$kAXValueCFRangeType@4$kAXValueCGPointType@1$kAXValueCGRectType@3$kAXValueCGSizeType@2$kAXValueIllegalType@0$kAXValueTypeAXError@5$kAXValueTypeCFRange@4$kAXValueTypeCGPoint@1$kAXValueTypeCGRect@3$kAXValueTypeCGSize@2$kAXValueTypeIllegal@0$kAlignAbsoluteCenter@5$kAlignBottom@3$kAlignBottomLeft@11$kAlignBottomRight@15$kAlignCenterBottom@7$kAlignCenterLeft@9$kAlignCenterRight@13$kAlignCenterTop@6$kAlignHorizontalCenter@4$kAlignLeft@8$kAlignNone@0$kAlignRight@12$kAlignTop@2$kAlignTopLeft@10$kAlignTopRight@14$kAlignVerticalCenter@1$kCurrentProcess@2$kHIShapeEnumerateInit@1$kHIShapeEnumerateRect@2$kHIShapeEnumerateTerminate@3$kHIShapeParseFromBottom@1$kHIShapeParseFromBottomRight@3$kHIShapeParseFromLeft@0$kHIShapeParseFromRight@2$kHIShapeParseFromTop@0$kHIShapeParseFromTopLeft@0$kNoProcess@0$kPasteboardClientIsOwner@2$kPasteboardFlavorNoFlags@0$kPasteboardFlavorNotSaved@4$kPasteboardFlavorPromised@512$kPasteboardFlavorRequestOnly@8$kPasteboardFlavorSenderOnly@1$kPasteboardFlavorSenderTranslated@2$kPasteboardFlavorSystemTranslated@256$kPasteboardModified@1$kPasteboardStandardLocationTrash@1953657704$kPasteboardStandardLocationUnknown@1970170734$kPlotIconRefNoImage@2$kPlotIconRefNoMask@4$kPlotIconRefNormalFlags@0$kProcessDictionaryIncludeAllInformationMask@-1$kProcessTransformToBackgroundApplication@2$kProcessTransformToForegroundApplication@1$kProcessTransformToUIElementApplication@4$kQuitAtNormalTimeMask@2$kQuitBeforeFBAsQuitMask@4$kQuitBeforeNormalTimeMask@1$kQuitBeforeShellQuitsMask@8$kQuitBeforeTerminatorAppQuitsMask@16$kQuitNeverMask@32$kQuitNotQuitDuringInstallMask@256$kQuitNotQuitDuringLogoutMask@512$kQuitOptionsMask@127$kSelectorAll1BitData@16843009$kSelectorAll32BitData@134219784$kSelectorAll4BitData@33686018$kSelectorAll8BitData@67372036$kSelectorAllAvailableData@4294967295$kSelectorAllHugeData@4278190080$kSelectorAllLargeData@255$kSelectorAllMiniData@16711680$kSelectorAllSmallData@65280$kSelectorHuge1Bit@16777216$kSelectorHuge32Bit@134217728$kSelectorHuge4Bit@33554432$kSelectorHuge8Bit@67108864$kSelectorHuge8BitMask@268435456$kSelectorLarge1Bit@1$kSelectorLarge32Bit@8$kSelectorLarge4Bit@2$kSelectorLarge8Bit@4$kSelectorLarge8BitMask@16$kSelectorMini1Bit@65536$kSelectorMini4Bit@131072$kSelectorMini8Bit@262144$kSelectorSmall1Bit@256$kSelectorSmall32Bit@2048$kSelectorSmall4Bit@512$kSelectorSmall8Bit@1024$kSelectorSmall8BitMask@4096$kSetFrontProcessCausedByUser@2$kSetFrontProcessFrontWindowOnly@1$kSystemProcess@1$kTransformDisabled@1$kTransformLabel1@256$kTransformLabel2@512$kTransformLabel3@768$kTransformLabel4@1024$kTransformLabel5@1280$kTransformLabel6@1536$kTransformLabel7@1792$kTransformNone@0$kTransformOffline@2$kTransformOpen@3$kTransformSelected@16384$kTransformSelectedDisabled@16385$kTransformSelectedOffline@16386$kTransformSelectedOpen@16387$kTranslationDataTranslation@1$kTranslationFileTranslation@2$kUAZoomFocusTypeInsertionPoint@1$kUAZoomFocusTypeOther@0$keyEvtDev@7$launchAllow24Bit@256$launchContinue@16384$launchDontSwitch@512$launchInhibitDaemon@128$launchNoFileFlags@2048$launchUseMinimum@1024$macDev@8$mode32BitCompatible@128$modeCanBackground@4096$modeControlPanel@524288$modeDeskAccessory@131072$modeDisplayManagerAware@4$modeDoesActivateOnFGSwitch@2048$modeGetAppDiedMsg@256$modeGetFrontClicks@512$modeHighLevelEventAware@64$modeLaunchDontSwitch@262144$modeLocalAndRemoteHLEvents@32$modeMultiLaunch@65536$modeNeedSuspendResume@16384$modeOnlyBackground@1024$modeReserved@16777216$modeStationeryAware@16$modeUseTextEditServices@8$noPasteboardPromiseKeeperErr@-25136$notPasteboardOwnerErr@-25135$nulDev@3$pasteDev@12$svAll1BitData@16843009$svAll4BitData@33686018$svAll8BitData@67372036$svAllAvailableData@4294967295$svAllLargeData@255$svAllMiniData@16711680$svAllSmallData@65280$svLarge1Bit@1$svLarge4Bit@2$svLarge8Bit@4$svMini1Bit@65536$svMini4Bit@131072$svMini8Bit@262144$svSmall1Bit@256$svSmall4Bit@512$svSmall8Bit@1024$ttDisabled@1$ttLabel1@256$ttLabel2@512$ttLabel3@768$ttLabel4@1024$ttLabel5@1280$ttLabel6@1536$ttLabel7@1792$ttNone@0$ttOffline@2$ttOpen@3$ttSelected@16384$ttSelectedDisabled@16385$ttSelectedOffline@16386$ttSelectedOpen@16387$undoDev@9$updateDev@4$""" -misc.update( - { - "AXError": NewType("AXError", int), - "AXValueType": NewType("AXValueType", int), - "PasteboardSyncFlags": NewType("PasteboardSyncFlags", int), - "PasteboardFlavorFlags": NewType("PasteboardFlavorFlags", int), - "PasteboardStandardLocation": NewType("PasteboardStandardLocation", int), - "AXMenuItemModifiers": NewType("AXMenuItemModifiers", int), - "AXUnderlineStyle": NewType("AXUnderlineStyle", int), - "AXCopyMultipleAttributeOptions": NewType( - "AXCopyMultipleAttributeOptions", int - ), - "AXPriority": NewType("AXPriority", int), - } -) -misc.update({}) -misc.update( - { - "kAXTableRole": "AXTable", - "kAXAttributedStringForRangeParameterizedAttribute": "AXAttributedStringForRange", - "kAXStandardWindowSubrole": "AXStandardWindow", - "kAXFloatingWindowSubrole": "AXFloatingWindow", - "kAXHiddenAttribute": "AXHidden", - "kAXSharedCharacterRangeAttribute": "AXSharedCharacterRange", - "kAXResizedNotification": "AXResized", - "kAXMinValueAttribute": "AXMinValue", - "kAXOutlineRole": "AXOutline", - "kAXDockItemRole": "AXDockItem", - "kAXFocusedWindowChangedNotification": "AXFocusedWindowChanged", - "kAXPopUpButtonRole": "AXPopUpButton", - "kAXWindowsAttribute": "AXWindows", - "kAXMinimizedWindowDockItemSubrole": "AXMinimizedWindowDockItem", - "kAXScreenSizeForLayoutSizeParameterizedAttribute": "AXScreenSizeForLayoutSize", - "kAXGrowAreaAttribute": "AXGrowArea", - "kAXDescendingSortDirectionValue": "AXDescendingSortDirection", - "kAXMenuItemCmdCharAttribute": "AXMenuItemCmdChar", - "kAXLevelIndicatorRole": "AXLevelIndicator", - "kAXRoleDescriptionAttribute": "AXRoleDescription", - "kAXSystemFloatingWindowSubrole": "AXSystemFloatingWindow", - "kAXRowRole": "AXRow", - "kAXToolbarRole": "AXToolbar", - "kAXVerticalUnitsAttribute": "AXVerticalUnits", - "kAXTitleUIElementAttribute": "AXTitleUIElement", - "kAXPreviousContentsAttribute": "AXPreviousContents", - "kAXSelectedAttribute": "AXSelected", - "kAXWindowAttribute": "AXWindow", - "kAXTabGroupRole": "AXTabGroup", - "kAXValueWrapsAttribute": "AXValueWraps", - "kAXSizeAttribute": "AXSize", - "kAXSelectedTextRangesAttribute": "AXSelectedTextRanges", - "kAXRangeForIndexParameterizedAttribute": "AXRangeForIndex", - "kAXSelectedTextChangedNotification": "AXSelectedTextChanged", - "kAXURLAttribute": "AXURL", - "kAXMenuItemRole": "AXMenuItem", - "kAXHelpTagRole": "AXHelpTag", - "kAXParentAttribute": "AXParent", - "kAXTimelineSubrole": "AXTimeline", - "kAXDecrementButtonAttribute": "AXDecrementButton", - "kAXFocusedApplicationAttribute": "AXFocusedApplication", - "kAXMovedNotification": "AXMoved", - "kAXBoundsForRangeParameterizedAttribute": "AXBoundsForRange", - "kAXIncrementPageSubrole": "AXIncrementPage", - "kAXHeadingRole": "AXHeading", - "kAXFocusedUIElementAttribute": "AXFocusedUIElement", - "kAXModalAttribute": "AXModal", - "kAXMenuItemPrimaryUIElementAttribute": "AXMenuItemPrimaryUIElement", - "kAXTimeFieldRole": "AXTimeField", - "kAXRulerRole": "AXRuler", - "kAXIncrementButtonAttribute": "AXIncrementButton", - "kAXMenuBarAttribute": "AXMenuBar", - "kAXMainWindowChangedNotification": "AXMainWindowChanged", - "kAXSelectedChildrenMovedNotification": "AXSelectedChildrenMoved", - "kAXColumnCountAttribute": "AXColumnCount", - "kAXNextContentsAttribute": "AXNextContents", - "kAXFrontmostAttribute": "AXFrontmost", - "kAXShownMenuUIElementAttribute": "AXShownMenuUIElement", - "kAXColumnTitleAttribute": "AXColumnTitles", - "kAXAlternateUIVisibleAttribute": "AXAlternateUIVisible", - "kAXRangeForLineParameterizedAttribute": "AXRangeForLine", - "kAXSplittersAttribute": "AXSplitters", - "kAXPickAction": "AXPick", - "kAXDecorativeSubrole": "AXDecorative", - "kAXOrderedByRowAttribute": "AXOrderedByRow", - "kAXHelpTagCreatedNotification": "AXHelpTagCreated", - "kAXStringForRangeParameterizedAttribute": "AXStringForRange", - "kAXStaticTextRole": "AXStaticText", - "kAXColumnRole": "AXColumn", - "kAXMinimizeButtonAttribute": "AXMinimizeButton", - "kAXMenuOpenedNotification": "AXMenuOpened", - "kAXCellForColumnAndRowParameterizedAttribute": "AXCellForColumnAndRow", - "kAXContentsAttribute": "AXContents", - "kAXRadioGroupRole": "AXRadioGroup", - "kAXDrawerCreatedNotification": "AXDrawerCreated", - "kAXSplitGroupRole": "AXSplitGroup", - "kAXDialogSubrole": "AXDialog", - "kAXDisclosureLevelAttribute": "AXDisclosureLevel", - "kAXMinimizedAttribute": "AXMinimized", - "kAXFocusedAttribute": "AXFocused", - "kAXServesAsTitleForUIElementsAttribute": "AXServesAsTitleForUIElements", - "kAXMarkerUIElementsAttribute": "AXMarkerUIElements", - "kAXFocusedUIElementChangedNotification": "AXFocusedUIElementChanged", - "kAXDescription": "AXDescription", - "kAXAnnouncementRequestedNotification": "AXAnnouncementRequested", - "kAXMatteHoleAttribute": "AXMatteHole", - "kAXMarkerTypeAttribute": "AXMarkerType", - "kAXToggleSubrole": "AXToggle", - "kAXNumberOfCharactersAttribute": "AXNumberOfCharacters", - "kAXImageRole": "AXImage", - "kAXFocusedWindowAttribute": "AXFocusedWindow", - "kAXYearFieldAttribute": "AXYearField", - "kAXMenuRole": "AXMenu", - "kAXVisibleColumnsAttribute": "AXVisibleColumns", - "kAXUIElementTitleKey": "AXUIElementTitleKey", - "kAXIncrementorRole": "AXIncrementor", - "kAXHourFieldAttribute": "AXHourField", - "kAXFolderDockItemSubrole": "AXFolderDockItem", - "kAXMenuBarItemRole": "AXMenuBarItem", - "kAXLayoutChangedNotification": "AXLayoutChanged", - "kAXDefaultButtonAttribute": "AXDefaultButton", - "kAXSearchButtonAttribute": "AXSearchButton", - "kAXEnabledAttribute": "AXEnabled", - "kAXRowCountAttribute": "AXRowCount", - "kAXCancelButtonAttribute": "AXCancelButton", - "kAXIncrementAction": "AXIncrement", - "kAXRoleAttribute": "AXRole", - "kAXWindowRole": "AXWindow", - "kAXExpandedAttribute": "AXExpanded", - "kAXTitleAttribute": "AXTitle", - "kAXSubroleAttribute": "AXSubrole", - "kAXSelectedChildrenAttribute": "AXSelectedChildren", - "kAXPressAction": "AXPress", - "kAXUnknownOrientationValue": "AXUnknownOrientation", - "kAXApplicationShownNotification": "AXApplicationShown", - "kAXSelectedRowsChangedNotification": "AXSelectedRowsChanged", - "kPasteboardTypeFileURLPromise": "com.apple.pasteboard.promised-file-url", - "kAXDockExtraDockItemSubrole": "AXDockExtraDockItem", - "kAXCreatedNotification": "AXCreated", - "kAXSecureTextFieldSubrole": "AXSecureTextField", - "kAXHandleRole": "AXHandle", - "kAXDisclosedRowsAttribute": "AXDisclosedRows", - "kPasteboardClipboard": "com.apple.pasteboard.clipboard", - "kPasteboardFind": "com.apple.pasteboard.find", - "kAXTabsAttribute": "AXTabs", - "kAXWindowMiniaturizedNotification": "AXWindowMiniaturized", - "kAXOrientationAttribute": "AXOrientation", - "kAXDefinitionListSubrole": "AXDefinitionList", - "kAXTableRowSubrole": "AXTableRow", - "kAXWindowMovedNotification": "AXWindowMoved", - "kAXUnitDescriptionAttribute": "AXUnitDescription", - "kAXSharedFocusElementsAttribute": "AXSharedFocusElements", - "kAXStyleRangeForIndexParameterizedAttribute": "AXStyleRangeForIndex", - "kAXSheetRole": "AXSheet", - "kAXShowMenuAction": "AXShowMenu", - "kAXMatteRole": "AXMatte", - "kAXMatteContentUIElementAttribute": "AXMatteContentUIElement", - "kAXBusyIndicatorRole": "AXBusyIndicator", - "kAXRatingIndicatorSubrole": "AXRatingIndicator", - "kAXRowExpandedNotification": "AXRowExpanded", - "kAXScrollAreaRole": "AXScrollArea", - "kAXVisibleCellsAttribute": "AXVisibleCells", - "kAXExtrasMenuBarAttribute": "AXExtrasMenuBar", - "kAXApplicationActivatedNotification": "AXApplicationActivated", - "kAXUnitsAttribute": "AXUnits", - "kAXRulerMarkerRole": "AXRulerMarker", - "kAXSystemWideRole": "AXSystemWide", - "kAXHandlesAttribute": "AXHandles", - "kAXIsApplicationRunningAttribute": "AXIsApplicationRunning", - "kAXMenuBarRole": "AXMenuBar", - "kAXShowAlternateUIAction": "AXShowAlternateUI", - "kAXSortButtonSubrole": "AXSortButton", - "kAXUnknownSubrole": "AXUnknown", - "kAXLabelUIElementsAttribute": "AXLabelUIElements", - "kAXIncrementorAttribute": "AXIncrementor", - "kAXVisibleChildrenAttribute": "AXVisibleChildren", - "kAXCheckBoxRole": "AXCheckBox", - "kAXSelectedCellsChangedNotification": "AXSelectedCellsChanged", - "kAXCloseButtonSubrole": "AXCloseButton", - "kAXColumnTitlesAttribute": "AXColumnTitles", - "kAXAMPMFieldAttribute": "AXAMPMField", - "kAXPopoverRole": "AXPopover", - "kAXAnnouncementKey": "AXAnnouncementKey", - "kAXValueIndicatorRole": "AXValueIndicator", - "kAXValueChangedNotification": "AXValueChanged", - "kAXSelectedColumnsChangedNotification": "AXSelectedColumnsChanged", - "kAXApplicationRole": "AXApplication", - "kAXColumnHeaderUIElementsAttribute": "AXColumnHeaderUIElements", - "kAXMenuButtonRole": "AXMenuButton", - "kAXBrowserRole": "AXBrowser", - "kAXRowsAttribute": "AXRows", - "kAXTextFieldRole": "AXTextField", - "kAXFullScreenButtonSubrole": "AXFullScreenButton", - "kAXSplitterRole": "AXSplitter", - "kAXVisibleCharacterRangeAttribute": "AXVisibleCharacterRange", - "kAXUnitsChangedNotification": "AXUnitsChanged", - "kAXGroupRole": "AXGroup", - "kAXMinimizeButtonSubrole": "AXMinimizeButton", - "kAXDecrementPageSubrole": "AXDecrementPage", - "kAXElementBusyChangedNotification": "AXElementBusyChanged", - "kAXTitleChangedNotification": "AXTitleChanged", - "kAXToolbarButtonAttribute": "AXToolbarButton", - "kAXDecrementAction": "AXDecrement", - "kAXHorizontalOrientationValue": "AXHorizontalOrientation", - "kAXDocumentDockItemSubrole": "AXDocumentDockItem", - "kAXSearchFieldSubrole": "AXSearchField", - "kAXVerticalScrollBarAttribute": "AXVerticalScrollBar", - "kAXVisibleTextAttribute": "AXVisibleText", - "kAXRadioButtonRole": "AXRadioButton", - "kAXValueAttribute": "AXValue", - "kAXDisclosedByRowAttribute": "AXDisclosedByRow", - "kAXSystemDialogSubrole": "AXSystemDialog", - "kAXSeparatorDockItemSubrole": "AXSeparatorDockItem", - "kAXApplicationHiddenNotification": "AXApplicationHidden", - "kAXRelevanceIndicatorRole": "AXRelevanceIndicator", - "kAXMonthFieldAttribute": "AXMonthField", - "kAXVerticalUnitDescriptionAttribute": "AXVerticalUnitDescription", - "kAXValueIncrementAttribute": "AXValueIncrement", - "kAXCriticalValueAttribute": "AXCriticalValue", - "kAXValueDescriptionAttribute": "AXValueDescription", - "kAXShowDefaultUIAction": "AXShowDefaultUI", - "kAXProxyAttribute": "AXProxy", - "kAXComboBoxRole": "AXComboBox", - "kAXMenuItemMarkCharAttribute": "AXMenuItemMarkChar", - "kAXDayFieldAttribute": "AXDayField", - "kAXSelectedColumnsAttribute": "AXSelectedColumns", - "kAXGrowAreaRole": "AXGrowArea", - "kAXDrawerRole": "AXDrawer", - "kAXLinkedUIElementsAttribute": "AXLinkedUIElements", - "kAXHorizontalScrollBarAttribute": "AXHorizontalScrollBar", - "kAXListRole": "AXList", - "kAXMarkerTypeDescriptionAttribute": "AXMarkerTypeDescription", - "kAXSecondFieldAttribute": "AXSecondField", - "kAXSheetCreatedNotification": "AXSheetCreated", - "kAXWarningValueAttribute": "AXWarningValue", - "kAXDisclosureTriangleRole": "AXDisclosureTriangle", - "kAXAllowedValuesAttribute": "AXAllowedValues", - "kAXRowHeaderUIElementsAttribute": "AXRowHeaderUIElements", - "kAXHorizontalUnitDescriptionAttribute": "AXHorizontalUnitDescription", - "kAXOverflowButtonAttribute": "AXOverflowButton", - "kAXCloseButtonAttribute": "AXCloseButton", - "kAXColumnsAttribute": "AXColumns", - "kAXRangeForPositionParameterizedAttribute": "AXRangeForPosition", - "kAXAscendingSortDirectionValue": "AXAscendingSortDirection", - "kAXPriorityKey": "AXPriorityKey", - "kAXToolbarButtonSubrole": "AXToolbarButton", - "kAXZoomButtonAttribute": "AXZoomButton", - "kAXSliderRole": "AXSlider", - "kAXSelectedCellsAttribute": "AXSelectedCells", - "kAXRaiseAction": "AXRaise", - "kAXIncrementArrowSubrole": "AXIncrementArrow", - "kAXLayoutAreaRole": "AXLayoutArea", - "kAXUIElementDestroyedNotification": "AXUIElementDestroyed", - "kAXMenuClosedNotification": "AXMenuClosed", - "kAXHeaderAttribute": "AXHeader", - "kAXDateFieldRole": "AXDateField", - "kAXTextAreaRole": "AXTextArea", - "kAXContentListSubrole": "AXContentList", - "kAXOutlineRowSubrole": "AXOutlineRow", - "kAXUIElementsKey": "AXUIElementsKey", - "kAXUnknownSortDirectionValue": "AXUnknownSortDirection", - "kAXLayoutItemRole": "AXLayoutItem", - "kAXClearButtonAttribute": "AXClearButton", - "kAXDescriptionListSubrole": "AXDescriptionList", - "kAXDecrementArrowSubrole": "AXDecrementArrow", - "kAXMinuteFieldAttribute": "AXMinuteField", - "kAXInsertionPointLineNumberAttribute": "AXInsertionPointLineNumber", - "kAXMenuItemSelectedNotification": "AXMenuItemSelected", - "kAXUnknownRole": "AXUnknown", - "kAXHorizontalUnitsAttribute": "AXHorizontalUnits", - "kAXIdentifierAttribute": "AXIdentifier", - "kAXApplicationDockItemSubrole": "AXApplicationDockItem", - "kAXLineForIndexParameterizedAttribute": "AXLineForIndex", - "kAXElementBusyAttribute": "AXElementBusy", - "kAXTrashDockItemSubrole": "AXTrashDockItem", - "kAXLayoutSizeForScreenSizeParameterizedAttribute": "AXLayoutSizeForScreenSize", - "kAXMainAttribute": "AXMain", - "kAXChildrenAttribute": "AXChildren", - "kAXRowIndexRangeAttribute": "AXRowIndexRange", - "kAXFilenameAttribute": "AXFilename", - "kAXMenuItemCmdVirtualKeyAttribute": "AXMenuItemCmdVirtualKey", - "kAXWindowCreatedNotification": "AXWindowCreated", - "kAXMenuItemCmdModifiersAttribute": "AXMenuItemCmdModifiers", - "kAXPositionAttribute": "AXPosition", - "kAXVisibleRowsAttribute": "AXVisibleRows", - "kAXVerticalOrientationValue": "AXVerticalOrientation", - "kAXSelectedChildrenChangedNotification": "AXSelectedChildrenChanged", - "kAXPlaceholderValueAttribute": "AXPlaceholderValue", - "kAXFullScreenButtonAttribute": "AXFullScreenButton", - "kAXRowCountChangedNotification": "AXRowCountChanged", - "kAXMainWindowAttribute": "AXMainWindow", - "kAXSelectedTextRangeAttribute": "AXSelectedTextRange", - "kAXSelectedTextAttribute": "AXSelectedText", - "kAXCellRole": "AXCell", - "kAXSharedTextUIElementsAttribute": "AXSharedTextUIElements", - "kAXScreenPointForLayoutPointParameterizedAttribute": "AXScreenPointForLayoutPoint", - "kAXGridRole": "AXGrid", - "kAXTopLevelUIElementAttribute": "AXTopLevelUIElement", - "kAXDisclosingAttribute": "AXDisclosing", - "kAXProcessSwitcherListSubrole": "AXProcessSwitcherList", - "kAXApplicationDeactivatedNotification": "AXApplicationDeactivated", - "kAXIsEditableAttribute": "AXIsEditable", - "kAXWindowDeminiaturizedNotification": "AXWindowDeminiaturized", - "kAXScrollBarRole": "AXScrollBar", - "kAXCancelAction": "AXCancel", - "kAXColorWellRole": "AXColorWell", - "kAXLayoutPointForScreenPointParameterizedAttribute": "AXLayoutPointForScreenPoint", - "kAXMaxValueAttribute": "AXMaxValue", - "kPasteboardTypeFilePromiseContent": "com.apple.pasteboard.promised-file-content-type", - "kAXConfirmAction": "AXConfirm", - "kAXEditedAttribute": "AXEdited", - "kAXProgressIndicatorRole": "AXProgressIndicator", - "kAXRowCollapsedNotification": "AXRowCollapsed", - "kAXTextAttribute": "AXText", - "kAXSortDirectionAttribute": "AXSortDirection", - "kAXIndexAttribute": "AXIndex", - "kAXURLDockItemSubrole": "AXURLDockItem", - "kAXDocumentAttribute": "AXDocument", - "kAXDescriptionAttribute": "AXDescription", - "kAXWindowResizedNotification": "AXWindowResized", - "kAXMenuItemCmdGlyphAttribute": "AXMenuItemCmdGlyph", - "kAXSelectedRowsAttribute": "AXSelectedRows", - "kAXRTFForRangeParameterizedAttribute": "AXRTFForRange", - "kAXLabelValueAttribute": "AXLabelValue", - "kAXSwitchSubrole": "AXSwitch", - "kAXHelpAttribute": "AXHelp", - "kAXZoomButtonSubrole": "AXZoomButton", - "kAXButtonRole": "AXButton", - "kAXColumnIndexRangeAttribute": "AXColumnIndexRange", - } -) -functions = { - "HIShapeUnion": (b"i^{__HIShape=}^{__HIShape=}^{__HIShape=}",), - "AXObserverCreateWithInfoCallback": ( - b"ii^?^^{__AXObserver=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__AXObserver=}"}, - 1: {"type": b"^{__AXUIElement=}"}, - 2: {"type": b"^{__CFString=}"}, - 3: {"type": b"^{__CFDictionary=}"}, - 4: {"type": b"^v"}, - }, - } - }, - 2: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "TranslationCopySourceType": ( - b"i^{OpaqueTranslationRef=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "GetIconFamilyData": ( - b"s^^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}I^^c", - ), - "IconRefIntersectsCGRect": ( - b"Z^{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}sI^{OpaqueIconRef=}", - ), - "HIShapeCreateMutableWithRect": ( - b"^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "PlotIconRefInContext": ( - b"i^{CGContext=}^{CGRect={CGPoint=dd}{CGSize=dd}}ss^{RGBColor=SSS}I^{OpaqueIconRef=}", - ), - "AXUIElementPerformAction": (b"i^{__AXUIElement=}^{__CFString=}",), - "AXUIElementPostKeyboardEvent": (b"i^{__AXUIElement=}SSZ",), - "AXUIElementIsAttributeSettable": ( - b"i^{__AXUIElement=}^{__CFString=}^Z", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "AXTextMarkerRangeCreate": ( - b"^{__AXTextMarkerRange=}^{__CFAllocator=}^{__AXTextMarker=}^{__AXTextMarker=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "GetCurrentProcess": (b"s^{ProcessSerialNumber=II}",), - "HIShapeCreateCopy": ( - b"^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXTextMarkerRangeCopyEndMarker": ( - b"^{__AXTextMarker=}^{__AXTextMarkerRange=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXUIElementCopyParameterizedAttributeValue": ( - b"i^{__AXUIElement=}^{__CFString=}@^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PasteboardResolvePromises": (b"i^{OpaquePasteboardRef=}",), - "NewIconActionUPP": ( - b"^?^?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"s"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"^^^c"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "AXUIElementCreateSystemWide": ( - b"^{__AXUIElement=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PasteboardCopyItemFlavors": ( - b"i^{OpaquePasteboardRef=}^v^^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXUIElementSetAttributeValue": (b"i^{__AXUIElement=}^{__CFString=}@",), - "NewIconGetterUPP": ( - b"^?^?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"^^c"}, - "arguments": {0: {"type": b"I"}, 1: {"type": b"^v"}}, - } - } - } - }, - ), - "GetProcessInformation": ( - b"s^{ProcessSerialNumber=II}^{ProcessInfoRec=I^C{ProcessSerialNumber=II}III^cII{ProcessSerialNumber=II}II^{FSRef=[80C]}}", - ), - "AXMakeProcessTrusted": (b"i^{__CFString=}",), - "ProcessInformationCopyDictionary": ( - b"^{__CFDictionary=}^{ProcessSerialNumber=II}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXTextMarkerCreate": ( - b"^{__AXTextMarker=}^{__CFAllocator=}^Cq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "HIShapeInset": (b"i^{__HIShape=}dd",), - "AXUIElementCopyActionNames": ( - b"i^{__AXUIElement=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "HIShapeIntersectsRect": ( - b"Z^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - { - "retval": {"c_array_of_fixed_length": 1}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "HIShapeEnumerate": ( - b"i^{__HIShape=}I^?^v", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"i"}, - 1: {"type": b"^{__HIShape=}"}, - 2: { - "type": sel32or64( - b"^{CGRect={CGPoint=ff}{CGSize=ff}}", - b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "type_modifier": "n", - }, - 3: {"type": b"^v"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "SameProcess": (b"s^{ProcessSerialNumber=II}^{ProcessSerialNumber=II}^Z",), - "WakeUpProcess": (b"s^{ProcessSerialNumber=II}",), - "PasteboardSynchronize": (b"I^{OpaquePasteboardRef=}",), - "TranslationCopyDestinationType": ( - b"i^{OpaqueTranslationRef=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "IconRefContainsCGPoint": ( - b"Z^{CGPoint=dd}^{CGRect={CGPoint=dd}{CGSize=dd}}sI^{OpaqueIconRef=}", - ), - "AXUIElementCopyParameterizedAttributeNames": ( - b"i^{__AXUIElement=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PasteboardCreate": ( - b"i^{__CFString=}^^{OpaquePasteboardRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SetFrontProcessWithOptions": (b"i^{ProcessSerialNumber=II}I",), - "InvokeIconActionUPP": (b"sI^^^c^v^?",), - "CopyProcessName": ( - b"i^{ProcessSerialNumber=II}^^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PasteboardGetItemCount": (b"i^{OpaquePasteboardRef=}^Q",), - "PasteboardGetItemIdentifier": (b"i^{OpaquePasteboardRef=}q^^v",), - "IconRefToHIShape": ( - b"^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}sI^{OpaqueIconRef=}", - ), - "GetIconRefVariant": (b"^{OpaqueIconRef=}^{OpaqueIconRef=}I^s",), - "IsProcessVisible": (b"Z^{ProcessSerialNumber=II}",), - "HIShapeIsRectangular": (b"Z^{__HIShape=}",), - "AXTextMarkerGetBytePtr": ( - b"^C^{__AXTextMarker=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "HIShapeCreateWithRect": ( - b"^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "AXUIElementCopyActionDescription": ( - b"i^{__AXUIElement=}^{__CFString=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "AXObserverGetRunLoopSource": (b"^{__CFRunLoopSource=}^{__AXObserver=}",), - "GetNextProcess": (b"s^{ProcessSerialNumber=II}",), - "AXUIElementGetAttributeValueCount": ( - b"i^{__AXUIElement=}^{__CFString=}^q", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "TranslationPerformForURL": ( - b"i^{OpaqueTranslationRef=}^{__CFURL=}^{__CFURL=}^^{__CFURL=}", - "", - {"arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "AXValueGetType": (b"I^{__AXValue=}",), - "UAZoomEnabled": (b"Z",), - "GetProcessPID": (b"i^{ProcessSerialNumber=II}^i",), - "AXUIElementGetPid": ( - b"i^{__AXUIElement=}^i", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "GetProcessForPID": (b"ii^{ProcessSerialNumber=II}",), - "TranslationCreate": ( - b"i^{__CFString=}^{__CFString=}I^^{OpaqueTranslationRef=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "HIShapeUnionWithRect": ( - b"i^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "PasteboardGetItemFlavorFlags": (b"i^{OpaquePasteboardRef=}^v^{__CFString=}^I",), - "PasteboardCopyPasteLocation": ( - b"i^{OpaquePasteboardRef=}^^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PasteboardSetPromiseKeeper": ( - b"i^{OpaquePasteboardRef=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{OpaquePasteboardRef=}"}, - 1: {"type": b"^v"}, - 2: {"type": b"^{__CFString=}"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "UAZoomChangeFocus": ( - b"i^{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}I", - "", - {"arguments": {0: {"type_modifier": "n"}, 1: {"type_modifier": "n"}}}, - ), - "HIShapeCreateUnion": ( - b"^{__HIShape=}^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "TranslationPerformForData": ( - b"i^{OpaqueTranslationRef=}^{__CFData=}^^{__CFData=}", - "", - {"arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}}, - ), - "AXTextMarkerGetLength": (b"q^{__AXTextMarker=}",), - "AXIsProcessTrustedWithOptions": (b"Z^{__CFDictionary=}",), - "HIShapeOffset": (b"i^{__HIShape=}dd",), - "TranslationGetTranslationFlags": ( - b"i^{OpaqueTranslationRef=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "AXUIElementCopyAttributeValues": ( - b"i^{__AXUIElement=}^{__CFString=}qq^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "SetIconFamilyData": ( - b"s^^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}I^^c", - ), - "HIShapeIntersect": (b"i^{__HIShape=}^{__HIShape=}^{__HIShape=}",), - "IconRefToIconFamily": ( - b"s^{OpaqueIconRef=}I^^^{IconFamilyResource=Ii[1{IconFamilyElement=Ii[1C]}]}", - ), - "TranslationCreateWithSourceArray": ( - b"i^{__CFArray=}I^^{__CFArray=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"already_cfretained": True, "type_modifier": "o"}, - 3: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "KillProcess": (b"s^{ProcessSerialNumber=II}",), - "SetFrontProcess": (b"s^{ProcessSerialNumber=II}",), - "DisposeIconActionUPP": (b"v^?",), - "InvokeIconGetterUPP": (b"^^cI^v^?",), - "PasteboardCopyItemFlavorData": ( - b"i^{OpaquePasteboardRef=}^v^{__CFString=}^^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXUIElementCreateApplication": ( - b"^{__AXUIElement=}i", - "", - {"retval": {"already_cfretained": True}}, - ), - "PasteboardGetTypeID": (b"Q",), - "AXUIElementCopyAttributeNames": ( - b"i^{__AXUIElement=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "HIShapeContainsPoint": ( - b"Z^{__HIShape=}^{CGPoint=dd}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "DisposeIconGetterUPP": (b"v^?",), - "HIShapeGetBounds": ( - b"^{CGRect={CGPoint=dd}{CGSize=dd}}^{__HIShape=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "AXObserverAddNotification": ( - b"i^{__AXObserver=}^{__AXUIElement=}^{__CFString=}^v", - ), - "TransformProcessType": (b"i^{ProcessSerialNumber=II}I",), - "GetProcessBundleLocation": (b"i^{ProcessSerialNumber=II}^{FSRef=[80C]}",), - "HIShapeCreateIntersection": ( - b"^{__HIShape=}^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "HIShapeCreateMutableCopy": ( - b"^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXUIElementCopyAttributeValue": ( - b"i^{__AXUIElement=}^{__CFString=}^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "GetFrontProcess": (b"s^{ProcessSerialNumber=II}",), - "HIShapeCreateEmpty": ( - b"^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "AXObserverGetTypeID": (b"Q",), - "AXTextMarkerRangeCopyStartMarker": ( - b"^{__AXTextMarker=}^{__AXTextMarkerRange=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "HIShapeGetTypeID": (b"Q",), - "AXObserverCreate": ( - b"ii^?^^{__AXObserver=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__AXObserver=}"}, - 1: {"type": b"^{__AXUIElement=}"}, - 2: {"type": b"^{__CFString=}"}, - 3: {"type": b"^v"}, - }, - } - }, - 2: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "AXTextMarkerRangeGetTypeID": (b"Q",), - "PasteboardPutItemFlavor": ( - b"i^{OpaquePasteboardRef=}^v^{__CFString=}^{__CFData=}I", - ), - "AXAPIEnabled": (b"Z",), - "AXObserverRemoveNotification": ( - b"i^{__AXObserver=}^{__AXUIElement=}^{__CFString=}", - ), - "PasteboardClear": (b"i^{OpaquePasteboardRef=}",), - "TranslationPerformForFile": ( - b"i^{OpaqueTranslationRef=}^{FSRef=[80C]}^{FSRef=[80C]}^{__CFString=}^{FSRef=[80C]}", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: {"type_modifier": "n"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "IsIconRefMaskEmpty": (b"Z^{OpaqueIconRef=}",), - "AXTextMarkerGetTypeID": (b"Q",), - "TranslationGetTypeID": (b"Q",), - "HIShapeSetWithShape": (b"i^{__HIShape=}^{__HIShape=}",), - "PasteboardSetPasteLocation": (b"i^{OpaquePasteboardRef=}^{__CFURL=}",), - "AXTextMarkerRangeCreateWithBytes": ( - b"^{__AXTextMarkerRange=}^{__CFAllocator=}^Cq^Cq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - }, - }, - ), - "HIShapeXor": (b"i^{__HIShape=}^{__HIShape=}^{__HIShape=}",), - "HIShapeCreateMutable": ( - b"^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "ShowHideProcess": (b"s^{ProcessSerialNumber=II}Z",), - "HIShapeIsEmpty": (b"Z^{__HIShape=}",), - "AXUIElementSetMessagingTimeout": (b"i^{__AXUIElement=}f",), - "ExitToShell": (b"v",), - "AXIsProcessTrusted": (b"Z",), - "AXUIElementGetTypeID": (b"Q",), - "PasteboardCopyName": ( - b"i^{OpaquePasteboardRef=}^^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "HIShapeDifference": (b"i^{__HIShape=}^{__HIShape=}^{__HIShape=}",), - "AXValueGetTypeID": (b"Q", "", {"variadic": False}), - "AXUIElementCopyElementAtPosition": ( - b"i^{__AXUIElement=}ff^^{__AXUIElement=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "AXUIElementCopyMultipleAttributeValues": ( - b"i^{__AXUIElement=}^{__CFArray=}I^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "HIShapeSetEmpty": (b"i^{__HIShape=}",), - "HIShapeReplacePathInCGContext": (b"i^{__HIShape=}^{CGContext=}",), - "HIShapeCreateDifference": ( - b"^{__HIShape=}^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "HIShapeCreateXor": ( - b"^{__HIShape=}^{__HIShape=}^{__HIShape=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "svSmall4Bit": "kSelectorSmall4Bit", - "svLarge8Bit": "kSelectorLarge8Bit", - "atTopLeft": "kAlignTopLeft", - "ttOpen": "kTransformOpen", - "ttDisabled": "kTransformDisabled", - "svAllAvailableData": "kSelectorAllAvailableData", - "ttSelected": "kTransformSelected", - "atBottomRight": "kAlignBottomRight", - "svMini1Bit": "kSelectorMini1Bit", - "atAbsoluteCenter": "kAlignAbsoluteCenter", - "ttLabel6": "kTransformLabel6", - "ttLabel7": "kTransformLabel7", - "atVerticalCenter": "kAlignVerticalCenter", - "ttLabel5": "kTransformLabel5", - "ttLabel2": "kTransformLabel2", - "ttLabel3": "kTransformLabel3", - "ttLabel1": "kTransformLabel1", - "svSmall1Bit": "kSelectorSmall1Bit", - "atLeft": "kAlignLeft", - "atCenterRight": "kAlignCenterRight", - "ttSelectedDisabled": "kTransformSelectedDisabled", - "atHorizontalCenter": "kAlignHorizontalCenter", - "svAllLargeData": "kSelectorAllLargeData", - "atRight": "kAlignRight", - "ttSelectedOpen": "kTransformSelectedOpen", - "svAll4BitData": "kSelectorAll4BitData", - "svMini8Bit": "kSelectorMini8Bit", - "atCenterLeft": "kAlignCenterLeft", - "svSmall8Bit": "kSelectorSmall8Bit", - "MacGetCurrentProcess": "GetCurrentProcess", - "ttLabel4": "kTransformLabel4", - "svLarge1Bit": "kSelectorLarge1Bit", - "kPasteboardUniqueName": "NULL", - "atCenterTop": "kAlignCenterTop", - "svAllSmallData": "kSelectorAllSmallData", - "svAll8BitData": "kSelectorAll8BitData", - "ttSelectedOffline": "kTransformSelectedOffline", - "atTop": "kAlignTop", - "svAll1BitData": "kSelectorAll1BitData", - "svMini4Bit": "kSelectorMini4Bit", - "atBottom": "kAlignBottom", - "atTopRight": "kAlignTopRight", - "kICComponentInterfaceVersion": "kICComponentInterfaceVersion4", - "svAllMiniData": "kSelectorAllMiniData", - "atNone": "kAlignNone", - "atBottomLeft": "kAlignBottomLeft", - "kPasteboardPromisedData": "NULL", - "ttNone": "kTransformNone", - "atCenterBottom": "kAlignCenterBottom", - "ttOffline": "kTransformOffline", - "svLarge4Bit": "kSelectorLarge4Bit", - "kPasteboardResolveAllPromises": "NULL", -} -cftypes = [ - ("AXObserverRef", b"^{__AXObserver=}", "AXObserverGetTypeID", None), - ( - "AXTextMarkerRangeRef", - b"^{__AXTextMarkerRange=}", - "AXTextMarkerRangeGetTypeID", - None, - ), - ("AXTextMarkerRef", b"^{__AXTextMarker=}", "AXTextMarkerGetTypeID", None), - ("AXUIElementRef", b"^{__AXUIElement=}", "AXUIElementGetTypeID", None), - ("AXValueRef", b"^{__AXValue=}", "AXValueGetTypeID", None), - ("HIMutableShapeRef", b"^{__HIShape=}", None, None), - ("HIShapeRef", b"^{__HIShape=}", "HIShapeGetTypeID", None), - ("TranslationRef", b"^{OpaqueTranslationRef=}", "TranslationGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/IMServicePlugIn/__init__.py b/src/lib/IMServicePlugIn/__init__.py deleted file mode 100644 index 3198c76..0000000 --- a/src/lib/IMServicePlugIn/__init__.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -Python mapping for the IMServicePlugIn framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from IMServicePlugIn import _IMServicePlugIn, _metadata - -try: - long -except NameError: - long = int - -sys.modules["IMServicePlugIn"] = mod = objc.ObjCLazyModule( - "IMServicePlugIn", - "com.apple.GameKit", - objc.pathForFramework("/System/Library/Frameworks/GameKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_IMServicePlugIn, Cocoa), -) - - -del sys.modules["IMServicePlugIn._metadata"] -del sys.modules["IMServicePlugIn._IMServicePlugIn"] diff --git a/src/lib/IMServicePlugIn/_metadata.py b/src/lib/IMServicePlugIn/_metadata.py deleted file mode 100644 index 769b65f..0000000 --- a/src/lib/IMServicePlugIn/_metadata.py +++ /dev/null @@ -1,339 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:51:53 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "IMServicePlugInMessageInternal": objc.createStructType( - "IMServicePlugIn.IMServicePlugInMessageInternal", - b"{_IMServicePlugInMessageInternal=}", - [], - ) - } -) -constants = """$IMAccountSettingLoginHandle$IMAccountSettingPassword$IMAccountSettingServerHost$IMAccountSettingServerPort$IMAccountSettingUsesSSL$IMAttributeBackgroundColor$IMAttributeBaseWritingDirection$IMAttributeBold$IMAttributeFontFamily$IMAttributeFontSize$IMAttributeForegroundColor$IMAttributeItalic$IMAttributeLink$IMAttributeMessageBackgroundColor$IMAttributePreformatted$IMAttributeStrikethrough$IMAttributeUnderline$IMGroupListDefaultGroup$IMGroupListHandlesKey$IMGroupListNameKey$IMGroupListPermissionsKey$IMHandleCapabilityChatRoom$IMHandleCapabilityFileTransfer$IMHandleCapabilityHandlePicture$IMHandleCapabilityMessaging$IMHandleCapabilityOfflineMessaging$IMHandlePropertyAlias$IMHandlePropertyAuthorizationStatus$IMHandlePropertyAvailability$IMHandlePropertyCapabilities$IMHandlePropertyEmailAddress$IMHandlePropertyFirstName$IMHandlePropertyIdleDate$IMHandlePropertyLastName$IMHandlePropertyPictureData$IMHandlePropertyPictureIdentifier$IMHandlePropertyStatusMessage$IMSessionPropertyAvailability$IMSessionPropertyIdleDate$IMSessionPropertyIsInvisible$IMSessionPropertyPictureData$IMSessionPropertyStatusMessage$""" -enums = """$IMGroupListCanAddNewMembers@4$IMGroupListCanRemoveMembers@8$IMGroupListCanRenameGroup@2$IMGroupListCanReorderGroup@1$IMGroupListCanReorderMembers@16$IMHandleAuthorizationStatusAccepted@0$IMHandleAuthorizationStatusDeclined@2$IMHandleAuthorizationStatusPending@1$IMHandleAvailabilityAvailable@1$IMHandleAvailabilityAway@0$IMHandleAvailabilityOffline@-1$IMHandleAvailabilityUnknown@-2$IMSessionAvailabilityAvailable@1$IMSessionAvailabilityAway@0$""" -misc.update( - { - "IMHandleAvailability": NewType("IMHandleAvailability", int), - "IMGroupListPermissions": NewType("IMGroupListPermissions", int), - "IMSessionAvailability": NewType("IMSessionAvailability", int), - "IMHandleAuthorizationStatus": NewType("IMHandleAuthorizationStatus", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"acceptAuthorizationRequestFromHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"addGroups:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"addHandles:toGroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"declineAuthorizationRequestFromHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"declineChatRoomInvitation:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleDidStartTyping:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleDidStopTyping:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handles:didJoinChatRoom:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"handles:didLeaveChatRoom:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"initWithServiceApplication:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inviteHandles:toChatRoom:withMessage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"joinChatRoom:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"leaveChatRoom:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"login", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"logout", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"plugInDidFailToAuthenticate", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"plugInDidJoinChatRoom:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"plugInDidLeaveChatRoom:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"plugInDidLogIn", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"plugInDidLogOutWithError:reconnect:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"plugInDidReceiveAuthorizationRequestFromHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"plugInDidReceiveInvitation:forChatRoom:fromHandle:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidReceiveMessage:forChatRoom:fromHandle:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidReceiveMessage:fromHandle:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidReceiveNotice:forChatRoom:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidSendMessage:toChatRoom:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidSendMessage:toHandle:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidUpdateGroupList:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"plugInDidUpdateProperties:ofHandle:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"removeGroups:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"removeHandles:fromGroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"renameGroup:toGroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"reorderGroups:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"reorderHandles:inGroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"requestGroupList", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"requestPictureForHandle:withIdentifier:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sendAuthorizationRequestToHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"sendMessage:toChatRoom:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"sendMessage:toHandle:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateAccountSettings:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateSessionProperties:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"userDidStartTypingToHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"userDidStopTypingToHandle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/IOSurface/__init__.py b/src/lib/IOSurface/__init__.py deleted file mode 100644 index 2f06fd1..0000000 --- a/src/lib/IOSurface/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the IOSurface framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from IOSurface import _metadata - -sys.modules["IOSurface"] = mod = objc.ObjCLazyModule( - "IOSurface", - "com.apple.IOSurface", - objc.pathForFramework("/System/Library/Frameworks/IOSurface.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["IOSurface._metadata"] diff --git a/src/lib/IOSurface/_metadata.py b/src/lib/IOSurface/_metadata.py deleted file mode 100644 index 4bd8ef2..0000000 --- a/src/lib/IOSurface/_metadata.py +++ /dev/null @@ -1,182 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:54:11 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$IOSurfacePropertyAllocSizeKey$IOSurfacePropertyKeyAllocSize$IOSurfacePropertyKeyBytesPerElement$IOSurfacePropertyKeyBytesPerRow$IOSurfacePropertyKeyCacheMode$IOSurfacePropertyKeyElementHeight$IOSurfacePropertyKeyElementWidth$IOSurfacePropertyKeyHeight$IOSurfacePropertyKeyOffset$IOSurfacePropertyKeyPixelFormat$IOSurfacePropertyKeyPixelSizeCastingAllowed$IOSurfacePropertyKeyPlaneBase$IOSurfacePropertyKeyPlaneBytesPerElement$IOSurfacePropertyKeyPlaneBytesPerRow$IOSurfacePropertyKeyPlaneElementHeight$IOSurfacePropertyKeyPlaneElementWidth$IOSurfacePropertyKeyPlaneHeight$IOSurfacePropertyKeyPlaneInfo$IOSurfacePropertyKeyPlaneOffset$IOSurfacePropertyKeyPlaneSize$IOSurfacePropertyKeyPlaneWidth$IOSurfacePropertyKeyWidth$kIOSurfaceAllocSize$kIOSurfaceBytesPerElement$kIOSurfaceBytesPerRow$kIOSurfaceCacheMode$kIOSurfaceColorSpace$kIOSurfaceElementHeight$kIOSurfaceElementWidth$kIOSurfaceHeight$kIOSurfaceICCProfile$kIOSurfaceIsGlobal$kIOSurfaceOffset$kIOSurfacePixelFormat$kIOSurfacePixelSizeCastingAllowed$kIOSurfacePlaneBase$kIOSurfacePlaneBitsPerElement$kIOSurfacePlaneBytesPerElement$kIOSurfacePlaneBytesPerRow$kIOSurfacePlaneComponentBitDepths$kIOSurfacePlaneComponentBitOffsets$kIOSurfacePlaneComponentNames$kIOSurfacePlaneComponentRanges$kIOSurfacePlaneComponentTypes$kIOSurfacePlaneElementHeight$kIOSurfacePlaneElementWidth$kIOSurfacePlaneHeight$kIOSurfacePlaneInfo$kIOSurfacePlaneOffset$kIOSurfacePlaneSize$kIOSurfacePlaneWidth$kIOSurfaceSubsampling$kIOSurfaceWidth$""" -enums = """$IOSURFACE_API_H@1$IOSURFACE_H@1$IOSURFACE_REF_H@1$_IOSURFACE_API_H@1$_IOSURFACE_H@1$kIOSurfaceComponentNameAlpha@1$kIOSurfaceComponentNameBlue@4$kIOSurfaceComponentNameChromaBlue@7$kIOSurfaceComponentNameChromaRed@6$kIOSurfaceComponentNameGreen@3$kIOSurfaceComponentNameLuma@5$kIOSurfaceComponentNameRed@2$kIOSurfaceComponentNameUnknown@0$kIOSurfaceComponentRangeFullRange@1$kIOSurfaceComponentRangeUnknown@0$kIOSurfaceComponentRangeVideoRange@2$kIOSurfaceComponentRangeWideRange@3$kIOSurfaceComponentTypeFloat@3$kIOSurfaceComponentTypeSignedInteger@2$kIOSurfaceComponentTypeSignedNormalized@4$kIOSurfaceComponentTypeUnknown@0$kIOSurfaceComponentTypeUnsignedInteger@1$kIOSurfaceCopybackCache@3$kIOSurfaceCopybackInnerCache@5$kIOSurfaceDefaultCache@0$kIOSurfaceInhibitCache@1$kIOSurfaceLockAvoidSync@2$kIOSurfaceLockReadOnly@1$kIOSurfaceMapCacheShift@8$kIOSurfaceMapCopybackCache@768$kIOSurfaceMapCopybackInnerCache@1280$kIOSurfaceMapDefaultCache@0$kIOSurfaceMapInhibitCache@256$kIOSurfaceMapWriteCombineCache@1024$kIOSurfaceMapWriteThruCache@512$kIOSurfacePurgeableEmpty@2$kIOSurfacePurgeableKeepCurrent@3$kIOSurfacePurgeableNonVolatile@0$kIOSurfacePurgeableVolatile@1$kIOSurfaceSubsampling411@4$kIOSurfaceSubsampling420@3$kIOSurfaceSubsampling422@2$kIOSurfaceSubsamplingNone@1$kIOSurfaceSubsamplingUnknown@0$kIOSurfaceWriteCombineCache@4$kIOSurfaceWriteThruCache@2$""" -misc.update( - { - "IOSurfaceComponentRange": NewType("IOSurfaceComponentRange", int), - "IOSurfacePurgeabilityState": NewType("IOSurfacePurgeabilityState", int), - "IOSurfaceLockOptions": NewType("IOSurfaceLockOptions", int), - "IOSurfaceComponentType": NewType("IOSurfaceComponentType", int), - "IOSurfaceSubsampling": NewType("IOSurfaceSubsampling", int), - "IOSurfaceComponentName": NewType("IOSurfaceComponentName", int), - } -) -misc.update({}) -functions = { - "IOSurfaceGetSeed": (b"I^{__IOSurface=}",), - "IOSurfaceGetRangeOfComponentOfPlane": (b"i^{__IOSurface=}QQ",), - "IOSurfaceLookupFromMachPort": ( - b"^{__IOSurface=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceGetBytesPerRow": (b"Q^{__IOSurface=}",), - "IOSurfaceGetUseCount": (b"i^{__IOSurface=}",), - "IOSurfaceSetValue": (b"v^{__IOSurface=}^{__CFString=}@",), - "IOSurfaceGetPlaneCount": (b"Q^{__IOSurface=}",), - "IOSurfaceLock": ( - b"i^{__IOSurface=}I^I", - "", - {"arguments": {2: {"type_modifier": "N"}}}, - ), - "IOSurfaceDecrementUseCount": (b"v^{__IOSurface=}",), - "IOSurfaceGetTypeOfComponentOfPlane": (b"i^{__IOSurface=}QQ",), - "IOSurfaceLookupFromXPCObject": ( - b"^{__IOSurface=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceGetElementHeight": (b"Q^{__IOSurface=}",), - "IOSurfaceGetBaseAddressOfPlane": ( - b"^v^{__IOSurface=}Q", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "IOSurfaceGetSubsampling": (b"i^{__IOSurface=}",), - "IOSurfaceLookup": ( - b"^{__IOSurface=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceGetPixelFormat": (b"I^{__IOSurface=}",), - "IOSurfaceGetBitOffsetOfComponentOfPlane": (b"Q^{__IOSurface=}QQ",), - "IOSurfaceCopyValue": ( - b"@^{__IOSurface=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceIncrementUseCount": (b"v^{__IOSurface=}",), - "IOSurfaceGetElementWidthOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceGetID": (b"I^{__IOSurface=}",), - "IOSurfaceSetValues": (b"v^{__IOSurface=}^{__CFDictionary=}",), - "IOSurfaceRemoveAllValues": (b"v^{__IOSurface=}",), - "IOSurfaceGetTypeID": (b"Q",), - "IOSurfaceCreateXPCObject": ( - b"@^{__IOSurface=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceGetAllocSize": (b"Q^{__IOSurface=}",), - "IOSurfaceGetBitDepthOfComponentOfPlane": (b"Q^{__IOSurface=}QQ",), - "IOSurfaceGetElementWidth": (b"Q^{__IOSurface=}",), - "IOSurfaceGetBytesPerElementOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceCreateMachPort": ( - b"I^{__IOSurface=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "IOSurfaceGetNumberOfComponentsOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceGetWidth": (b"Q^{__IOSurface=}",), - "IOSurfaceRemoveValue": (b"v^{__IOSurface=}^{__CFString=}",), - "IOSurfaceGetHeightOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceGetHeight": (b"Q^{__IOSurface=}",), - "IOSurfaceGetBaseAddress": ( - b"^v^{__IOSurface=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "IOSurfaceAlignProperty": (b"Q^{__CFString=}Q",), - "IOSurfaceGetBytesPerRowOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceCreate": ( - b"^{__IOSurface=}^{__CFDictionary=}", - "", - {"retval": {"already_retained": True, "already_cfretained": True}}, - ), - "IOSurfaceGetElementHeightOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceGetBytesPerElement": (b"Q^{__IOSurface=}",), - "IOSurfaceGetPropertyAlignment": (b"Q^{__CFString=}",), - "IOSurfaceGetNameOfComponentOfPlane": (b"i^{__IOSurface=}QQ",), - "IOSurfaceSetPurgeable": (b"i^{__IOSurface=}I^I",), - "IOSurfaceUnlock": ( - b"i^{__IOSurface=}I^I", - "", - {"arguments": {2: {"type_modifier": "N"}}}, - ), - "IOSurfaceGetPropertyMaximum": (b"Q^{__CFString=}",), - "IOSurfaceGetWidthOfPlane": (b"Q^{__IOSurface=}Q",), - "IOSurfaceIsInUse": (b"Z^{__IOSurface=}",), - "IOSurfaceAllowsPixelSizeCasting": (b"Z^{__IOSurface=}",), - "IOSurfaceCopyAllValues": ( - b"^{__CFDictionary=}^{__IOSurface=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "IOSFC_AVAILABLE_BUT_DEPRECATED": "__OSX_AVAILABLE_BUT_DEPRECATED", - "IOSFC_AVAILABLE_STARTING": "__OSX_AVAILABLE_STARTING", - "kIOSurfaceSuccess": "KERN_SUCCESS", - "IOSFC_DEPRECATED": "DEPRECATED_ATTRIBUTE", -} -cftypes = [("IOSurfaceRef", b"^{__IOSurface=}", "IOSurfaceGetTypeID", None)] -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"IOSurface", b"allowsPixelSizeCasting", {"retval": {"type": "Z"}}) - r( - b"IOSurface", - b"baseAddressOfPlaneAtIndex:", - {"retval": {"c_array_of_variable_length": True}}, - ) - r(b"IOSurface", b"isInUse", {"retval": {"type": "Z"}}) - r( - b"IOSurface", - b"lockWithOptions:seed:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"IOSurface", - b"setPurgeable:oldState:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"IOSurface", - b"unlockWithOptions:seed:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ImageCaptureCore/__init__.py b/src/lib/ImageCaptureCore/__init__.py deleted file mode 100644 index 4f9677b..0000000 --- a/src/lib/ImageCaptureCore/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the ImageCaptureCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from ImageCaptureCore import _ImageCaptureCore, _metadata - -sys.modules["ImageCaptureCore"] = mod = objc.ObjCLazyModule( - "ImageCaptureCore", - "com.apple.ImageCaptureCoreFramework", - objc.pathForFramework("/System/Library/Frameworks/ImageCaptureCore.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_ImageCaptureCore, Foundation), -) - - -del sys.modules["ImageCaptureCore._metadata"] diff --git a/src/lib/ImageCaptureCore/_metadata.py b/src/lib/ImageCaptureCore/_metadata.py deleted file mode 100644 index 1001bbf..0000000 --- a/src/lib/ImageCaptureCore/_metadata.py +++ /dev/null @@ -1,811 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 22:57:22 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ICAuthorizationStatusAuthorized$ICAuthorizationStatusDenied$ICAuthorizationStatusNotDetermined$ICAuthorizationStatusRestricted$ICButtonTypeCopy$ICButtonTypeMail$ICButtonTypePrint$ICButtonTypeScan$ICButtonTypeTransfer$ICButtonTypeWeb$ICCameraDeviceCanAcceptPTPCommands$ICCameraDeviceCanDeleteAllFiles$ICCameraDeviceCanDeleteOneFile$ICCameraDeviceCanReceiveFile$ICCameraDeviceCanSyncClock$ICCameraDeviceCanTakePicture$ICCameraDeviceCanTakePictureUsingShutterReleaseOnCamera$ICCameraDeviceSupportsFastPTP$ICCameraDeviceSupportsHEIF$ICDeleteAfterSuccessfulDownload$ICDeleteCanceled$ICDeleteErrorCanceled$ICDeleteErrorDeviceMissing$ICDeleteErrorFileMissing$ICDeleteErrorReadOnly$ICDeleteFailed$ICDeleteSuccessful$ICDeviceCanEjectOrDisconnect$ICDeviceLocationDescriptionBluetooth$ICDeviceLocationDescriptionFireWire$ICDeviceLocationDescriptionMassStorage$ICDeviceLocationDescriptionUSB$ICDownloadSidecarFiles$ICDownloadsDirectoryURL$ICEnumerationChronologicalOrder$ICErrorDomain$ICImageSourceShouldCache$ICImageSourceThumbnailMaxPixelSize$ICLocalizedStatusNotificationKey$ICOverwrite$ICRunLoopMode$ICSaveAsFilename$ICSavedAncillaryFiles$ICSavedFilename$ICScannerStatusRequestsOverviewScan$ICScannerStatusWarmUpDone$ICScannerStatusWarmingUp$ICStatusCodeKey$ICStatusNotificationKey$ICTransportTypeBluetooth$ICTransportTypeExFAT$ICTransportTypeFireWire$ICTransportTypeMassStorage$ICTransportTypeTCPIP$ICTransportTypeUSB$ICTruncateAfterSuccessfulDownload$""" -enums = """$ICDeviceLocationTypeBluetooth@2048$ICDeviceLocationTypeBonjour@1024$ICDeviceLocationTypeLocal@256$ICDeviceLocationTypeMaskBluetooth@2048$ICDeviceLocationTypeMaskBonjour@1024$ICDeviceLocationTypeMaskLocal@256$ICDeviceLocationTypeMaskRemote@65024$ICDeviceLocationTypeMaskShared@512$ICDeviceLocationTypeShared@512$ICDeviceTypeCamera@1$ICDeviceTypeMaskCamera@1$ICDeviceTypeMaskScanner@2$ICDeviceTypeScanner@2$ICEXIFOrientation1@1$ICEXIFOrientation2@2$ICEXIFOrientation3@3$ICEXIFOrientation4@4$ICEXIFOrientation5@5$ICEXIFOrientation6@6$ICEXIFOrientation7@7$ICEXIFOrientation8@8$ICLegacyReturnCodeCannotYieldDevice@-9909$ICLegacyReturnCodeCommunicationErr@-9900$ICLegacyReturnCodeDataTypeNotFoundErr@-9910$ICLegacyReturnCodeDeviceAlreadyOpenErr@-9914$ICLegacyReturnCodeDeviceGUIDNotFoundErr@-9916$ICLegacyReturnCodeDeviceIOServicePathNotFoundErr@-9917$ICLegacyReturnCodeDeviceInternalErr@-9912$ICLegacyReturnCodeDeviceInvalidParamErr@-9913$ICLegacyReturnCodeDeviceLocationIDNotFoundErr@-9915$ICLegacyReturnCodeDeviceMemoryAllocationErr@-9911$ICLegacyReturnCodeDeviceNotFoundErr@-9901$ICLegacyReturnCodeDeviceNotOpenErr@-9902$ICLegacyReturnCodeDeviceUnsupportedErr@-9918$ICLegacyReturnCodeExtensionInternalErr@-9920$ICLegacyReturnCodeFileCorruptedErr@-9903$ICLegacyReturnCodeFrameworkInternalErr@-9919$ICLegacyReturnCodeIOPendingErr@-9904$ICLegacyReturnCodeIndexOutOfRangeErr@-9907$ICLegacyReturnCodeInvalidObjectErr@-9905$ICLegacyReturnCodeInvalidPropertyErr@-9906$ICLegacyReturnCodeInvalidSessionErr@-9921$ICLegacyReturnCodePropertyTypeNotFoundErr@-9908$ICMediaPresentationConvertedAssets@1$ICMediaPresentationOriginalAssets@2$ICReturnCodeDeleteOffset@-21150$ICReturnCodeDeviceConnection@-21400$ICReturnCodeDeviceOffset@-21350$ICReturnCodeDownloadOffset@-21100$ICReturnCodeExFATOffset@-21200$ICReturnCodeMetadataOffset@-21050$ICReturnCodeObjectCouldNotBeRead@-21448$ICReturnCodeObjectDataEmpty@-21447$ICReturnCodeObjectDataOffsetInvalid@-21449$ICReturnCodeObjectDataRequestTooLarge@-21446$ICReturnCodeObjectDoesNotExist@-21450$ICReturnCodeObjectOffset@-21450$ICReturnCodePTPOffset@-21250$ICReturnCodeSystemOffset@-21300$ICReturnCodeThumbnailOffset@-21000$ICReturnCommunicationTimedOut@-9923$ICReturnConnectionClosedSessionSuddenly@-21349$ICReturnConnectionDriverExited@-21350$ICReturnConnectionEjectFailed@-21346$ICReturnConnectionEjectedSuddenly@-21348$ICReturnConnectionFailedToOpen@-21345$ICReturnConnectionFailedToOpenDevice@-21344$ICReturnConnectionNotAuthorizedToOpenDevice@-21343$ICReturnConnectionSessionAlreadyOpen@-21347$ICReturnDeleteFilesCanceled@-9942$ICReturnDeleteFilesFailed@-9941$ICReturnDeviceCommandGeneralFailure@-9955$ICReturnDeviceCouldNotPair@-9951$ICReturnDeviceCouldNotUnpair@-9952$ICReturnDeviceFailedToCloseSession@-9928$ICReturnDeviceFailedToCompleteTransfer@-9956$ICReturnDeviceFailedToOpenSession@-9927$ICReturnDeviceFailedToSendData@-9957$ICReturnDeviceFailedToTakePicture@-9944$ICReturnDeviceIsBusyEnumerating@-9954$ICReturnDeviceIsPasscodeLocked@-9943$ICReturnDeviceNeedsCredentials@-9953$ICReturnDeviceSoftwareInstallationCanceled@-9948$ICReturnDeviceSoftwareInstallationCompleted@-9947$ICReturnDeviceSoftwareInstallationFailed@-9949$ICReturnDeviceSoftwareIsBeingInstalled@-9946$ICReturnDeviceSoftwareNotAvailable@-9950$ICReturnDeviceSoftwareNotInstalled@-9945$ICReturnDownloadCanceled@-9937$ICReturnDownloadFailed@-9934$ICReturnDownloadFileWritable@-21099$ICReturnDownloadPathInvalid@-21100$ICReturnErrorDeviceEjected@-21300$ICReturnExFATVolumeInvalid@21200$ICReturnFailedToCompletePassThroughCommand@-9936$ICReturnFailedToCompleteSendMessageRequest@-9940$ICReturnFailedToDisabeTethering@-9939$ICReturnFailedToEnabeTethering@-9938$ICReturnInvalidParam@-9922$ICReturnMetadataAlreadyFetching@-20149$ICReturnMetadataCanceled@-20148$ICReturnMetadataInvalid@-20147$ICReturnMetadataNotAvailable@-20150$ICReturnMultiErrorDictionary@-30000$ICReturnPTPFailedToSendCommand@-21250$ICReturnPTPNotAuthorizedToSendCommand@-21249$ICReturnReceivedUnsolicitedScannerErrorInfo@-9933$ICReturnReceivedUnsolicitedScannerStatusInfo@-9932$ICReturnScanOperationCanceled@-9924$ICReturnScannerFailedToCompleteOverviewScan@-9930$ICReturnScannerFailedToCompleteScan@-9931$ICReturnScannerFailedToSelectFunctionalUnit@-9929$ICReturnScannerInUseByLocalUser@-9925$ICReturnScannerInUseByRemoteUser@-9926$ICReturnSessionNotOpened@-9958$ICReturnSuccess@0$ICReturnThumbnailAlreadyFetching@-20999$ICReturnThumbnailCanceled@-20098$ICReturnThumbnailInvalid@-20097$ICReturnThumbnailNotAvailable@-21000$ICReturnUploadFailed@-9935$ICScannerBitDepth16Bits@16$ICScannerBitDepth1Bit@1$ICScannerBitDepth8Bits@8$ICScannerColorDataFormatTypeChunky@0$ICScannerColorDataFormatTypePlanar@1$ICScannerDocumentType10@25$ICScannerDocumentType10R@67$ICScannerDocumentType110@72$ICScannerDocumentType11R@69$ICScannerDocumentType12R@70$ICScannerDocumentType135@76$ICScannerDocumentType2A0@18$ICScannerDocumentType3R@61$ICScannerDocumentType4A0@17$ICScannerDocumentType4R@62$ICScannerDocumentType5R@63$ICScannerDocumentType6R@64$ICScannerDocumentType8R@65$ICScannerDocumentTypeA0@19$ICScannerDocumentTypeA1@20$ICScannerDocumentTypeA2@21$ICScannerDocumentTypeA3@11$ICScannerDocumentTypeA4@1$ICScannerDocumentTypeA5@5$ICScannerDocumentTypeA6@13$ICScannerDocumentTypeA7@22$ICScannerDocumentTypeA8@23$ICScannerDocumentTypeA9@24$ICScannerDocumentTypeAPSC@74$ICScannerDocumentTypeAPSH@73$ICScannerDocumentTypeAPSP@75$ICScannerDocumentTypeB5@2$ICScannerDocumentTypeBusinessCard@53$ICScannerDocumentTypeC0@44$ICScannerDocumentTypeC1@45$ICScannerDocumentTypeC10@51$ICScannerDocumentTypeC2@46$ICScannerDocumentTypeC3@47$ICScannerDocumentTypeC4@14$ICScannerDocumentTypeC5@15$ICScannerDocumentTypeC6@16$ICScannerDocumentTypeC7@48$ICScannerDocumentTypeC8@49$ICScannerDocumentTypeC9@50$ICScannerDocumentTypeDefault@0$ICScannerDocumentTypeE@60$ICScannerDocumentTypeISOB0@26$ICScannerDocumentTypeISOB1@27$ICScannerDocumentTypeISOB10@33$ICScannerDocumentTypeISOB2@28$ICScannerDocumentTypeISOB3@12$ICScannerDocumentTypeISOB4@6$ICScannerDocumentTypeISOB5@29$ICScannerDocumentTypeISOB6@7$ICScannerDocumentTypeISOB7@30$ICScannerDocumentTypeISOB8@31$ICScannerDocumentTypeISOB9@32$ICScannerDocumentTypeJISB0@34$ICScannerDocumentTypeJISB1@35$ICScannerDocumentTypeJISB10@43$ICScannerDocumentTypeJISB2@36$ICScannerDocumentTypeJISB3@37$ICScannerDocumentTypeJISB4@38$ICScannerDocumentTypeJISB6@39$ICScannerDocumentTypeJISB7@40$ICScannerDocumentTypeJISB8@41$ICScannerDocumentTypeJISB9@42$ICScannerDocumentTypeLF@78$ICScannerDocumentTypeMF@77$ICScannerDocumentTypeS10R@68$ICScannerDocumentTypeS12R@71$ICScannerDocumentTypeS8R@66$ICScannerDocumentTypeUSExecutive@10$ICScannerDocumentTypeUSLedger@9$ICScannerDocumentTypeUSLegal@4$ICScannerDocumentTypeUSLetter@3$ICScannerDocumentTypeUSStatement@52$ICScannerFeatureTypeBoolean@2$ICScannerFeatureTypeEnumeration@0$ICScannerFeatureTypeRange@1$ICScannerFeatureTypeTemplate@3$ICScannerFunctionalUnitStateOverviewScanInProgress@4$ICScannerFunctionalUnitStateReady@1$ICScannerFunctionalUnitStateScanInProgress@2$ICScannerFunctionalUnitTypeDocumentFeeder@3$ICScannerFunctionalUnitTypeFlatbed@0$ICScannerFunctionalUnitTypeNegativeTransparency@2$ICScannerFunctionalUnitTypePositiveTransparency@1$ICScannerMeasurementUnitCentimeters@1$ICScannerMeasurementUnitInches@0$ICScannerMeasurementUnitPicas@2$ICScannerMeasurementUnitPixels@5$ICScannerMeasurementUnitPoints@3$ICScannerMeasurementUnitTwips@4$ICScannerPixelDataTypeBW@0$ICScannerPixelDataTypeCIEXYZ@8$ICScannerPixelDataTypeCMY@4$ICScannerPixelDataTypeCMYK@5$ICScannerPixelDataTypeGray@1$ICScannerPixelDataTypePalette@3$ICScannerPixelDataTypeRGB@2$ICScannerPixelDataTypeYUV@6$ICScannerPixelDataTypeYUVK@7$ICScannerTransferModeFileBased@0$ICScannerTransferModeMemoryBased@1$""" -misc.update( - { - "ICScannerMeasurementUnit": NewType("ICScannerMeasurementUnit", int), - "ICReturnConnectionErrorCode": NewType("ICReturnConnectionErrorCode", int), - "ICReturnCode": NewType("ICReturnCode", int), - "ICMediaPresentation": NewType("ICMediaPresentation", int), - "ICDeviceLocationType": NewType("ICDeviceLocationType", int), - "ICScannerBitDepth": NewType("ICScannerBitDepth", int), - "ICScannerFeatureType": NewType("ICScannerFeatureType", int), - "ICScannerFunctionalUnitState": NewType("ICScannerFunctionalUnitState", int), - "ICDeviceLocationTypeMask": NewType("ICDeviceLocationTypeMask", int), - "ICScannerColorDataFormatType": NewType("ICScannerColorDataFormatType", int), - "ICEXIFOrientationType": NewType("ICEXIFOrientationType", int), - "ICScannerTransferMode": NewType("ICScannerTransferMode", int), - "ICScannerFunctionalUnitType": NewType("ICScannerFunctionalUnitType", int), - "ICReturnPTPDeviceErrorCode": NewType("ICReturnPTPDeviceErrorCode", int), - "ICDeviceType": NewType("ICDeviceType", int), - "ICReturnDownloadErrorCode": NewType("ICReturnDownloadErrorCode", int), - "ICReturnObjectErrorCode": NewType("ICReturnObjectErrorCode", int), - "ICScannerPixelDataType": NewType("ICScannerPixelDataType", int), - "ICScannerDocumentType": NewType("ICScannerDocumentType", int), - "ICReturnThumbnailErrorCode": NewType("ICReturnThumbnailErrorCode", int), - "ICLegacyReturnCode": NewType("ICLegacyReturnCode", int), - "ICReturnMetadataErrorCode": NewType("ICReturnMetadataErrorCode", int), - "ICDeviceTypeMask": NewType("ICDeviceTypeMask", int), - } -) -misc.update( - { - "ICDeleteResult": NewType("ICDeleteResult", str), - "ICAuthorizationStatus": NewType("ICAuthorizationStatus", str), - "ICUploadOption": NewType("ICUploadOption", str), - "ICDeviceTransport": NewType("ICDeviceTransport", str), - "ICDeviceStatus": NewType("ICDeviceStatus", str), - "ICDeleteError": NewType("ICDeleteError", str), - "ICCameraItemMetadataOption": NewType("ICCameraItemMetadataOption", str), - "ICDeviceLocationOptions": NewType("ICDeviceLocationOptions", str), - "ICDeviceCapability": NewType("ICDeviceCapability", str), - "ICDownloadOption": NewType("ICDownloadOption", str), - "ICCameraItemThumbnailOption": NewType("ICCameraItemThumbnailOption", str), - "ICSessionOptions": NewType("ICSessionOptions", str), - } -) -misc.update({"ICRunLoopMode": "com.apple.ImageCaptureCore"}) -aliases = { - "ICReturnCodeObjectDoesNotExist": "ICReturnCodeObjectOffset", - "ICReturnFailedToDisableTethering": "ICReturnFailedToDisabeTethering", - "ICReturnPTPFailedToSendCommand": "ICReturnCodeDownloadOffset", - "ICReturnDownloadPathInvalid": "ICReturnCodeDownloadOffset", - "ICRect": "NSRect", - "ICReturnDeviceIsAccessRestrictedAppleDevice": "ICReturnDeviceIsPasscodeLocked", - "ICPoint": "NSPoint", - "ICReturnFailedToEnableTethering": "ICReturnFailedToEnabeTethering", - "ICSize": "NSSize", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"ICCameraDevice", b"batteryLevelAvailable", {"retval": {"type": "Z"}}) - r(b"ICCameraDevice", b"iCloudPhotosEnabled", {"retval": {"type": b"Z"}}) - r(b"ICCameraDevice", b"isAccessRestrictedAppleDevice", {"retval": {"type": "Z"}}) - r(b"ICCameraDevice", b"isEjectable", {"retval": {"type": b"Z"}}) - r(b"ICCameraDevice", b"isLocked", {"retval": {"type": b"Z"}}) - r( - b"ICCameraDevice", - b"requestDeleteFiles:deleteFailed:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"ICCameraDevice", - b"requestDownloadFile:options:downloadDelegate:didDownloadSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:@@@^v"}}}, - ) - r( - b"ICCameraDevice", - b"requestReadDataFromFile:atOffset:length:readDelegate:didReadDataSelector:contextInfo:", - {"arguments": {6: {"sel_of_type": b"v@:@@@^v"}}}, - ) - r( - b"ICCameraDevice", - b"requestSendPTPCommand:outData:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ICCameraDevice", - b"requestSendPTPCommand:outData:sendCommandDelegate:didSendCommandSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:@@@@^v"}}}, - ) - r( - b"ICCameraDevice", - b"requestUploadFile:options:uploadDelegate:didUploadSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": b"v@:@@^v"}}}, - ) - r( - b"ICCameraDevice", - b"setPtpEventHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"ICCameraDevice", - b"setTetheredCaptureEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"ICCameraDevice", b"tetheredCaptureEnabled", {"retval": {"type": "Z"}}) - r(b"ICCameraFile", b"burstFavorite", {"retval": {"type": b"Z"}}) - r(b"ICCameraFile", b"burstPicked", {"retval": {"type": b"Z"}}) - r(b"ICCameraFile", b"firstPicked", {"retval": {"type": b"Z"}}) - r(b"ICCameraFile", b"highFramerate", {"retval": {"type": b"Z"}}) - r( - b"ICCameraFile", - b"requestDownloadWithOptions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ICCameraFile", - b"requestMetadataDictionaryWithOptions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ICCameraFile", - b"requestReadDataAtOffset:length:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"ICCameraFile", - b"requestThumbnailDataWithOptions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"ICCameraFile", b"timeLapse", {"retval": {"type": b"Z"}}) - r(b"ICCameraItem", b"isInTemporaryStore", {"retval": {"type": "Z"}}) - r(b"ICCameraItem", b"isLocked", {"retval": {"type": "Z"}}) - r(b"ICCameraItem", b"isRaw", {"retval": {"type": "Z"}}) - r( - b"ICCameraItem", - b"wasAddedAfterContentCatalogCompleted", - {"retval": {"type": "Z"}}, - ) - r(b"ICDevice", b"hasConfigurableWiFiInterface", {"retval": {"type": "Z"}}) - r(b"ICDevice", b"hasOpenSession", {"retval": {"type": "Z"}}) - r(b"ICDevice", b"isRemote", {"retval": {"type": "Z"}}) - r(b"ICDevice", b"isShared", {"retval": {"type": "Z"}}) - r( - b"ICDevice", - b"requestCloseSessionWithOptions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDevice", - b"requestEjectWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDevice", - b"requestOpenSessionWithOptions:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDevice", - b"requestSendMessage:outData:maxReturnedDataSize:sendMessageDelegate:didSendMessageSelector:contextInfo:", - {"arguments": {6: {"sel_of_type": b"v@:I@@^v"}}}, - ) - r(b"ICDeviceBrowser", b"isBrowsing", {"retval": {"type": "Z"}}) - r(b"ICDeviceBrowser", b"isSuspended", {"retval": {"type": b"Z"}}) - r( - b"ICDeviceBrowser", - b"requestContentsAuthorizationWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDeviceBrowser", - b"requestControlAuthorizationWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDeviceBrowser", - b"resetContentsAuthorizationWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"ICDeviceBrowser", - b"resetControlAuthorizationWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"ICScannerBandData", b"isBigEndian", {"retval": {"type": "Z"}}) - r(b"ICScannerFeatureBoolean", b"setValue:", {"arguments": {2: {"type": "Z"}}}) - r(b"ICScannerFeatureBoolean", b"value", {"retval": {"type": "Z"}}) - r( - b"ICScannerFunctionalUnit", - b"acceptsThresholdForBlackAndWhiteScanning", - {"retval": {"type": "Z"}}, - ) - r(b"ICScannerFunctionalUnit", b"canPerformOverviewScan", {"retval": {"type": "Z"}}) - r(b"ICScannerFunctionalUnit", b"overviewScanInProgress", {"retval": {"type": "Z"}}) - r(b"ICScannerFunctionalUnit", b"scanInProgress", {"retval": {"type": "Z"}}) - r( - b"ICScannerFunctionalUnit", - b"setUsesThresholdForBlackAndWhiteScanning:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ICScannerFunctionalUnit", - b"usesThresholdForBlackAndWhiteScanning", - {"retval": {"type": "Z"}}, - ) - r( - b"ICScannerFunctionalUnitDocumentFeeder", - b"documentLoaded", - {"retval": {"type": "Z"}}, - ) - r( - b"ICScannerFunctionalUnitDocumentFeeder", - b"duplexScanningEnabled", - {"retval": {"type": "Z"}}, - ) - r( - b"ICScannerFunctionalUnitDocumentFeeder", - b"reverseFeederPageOrder", - {"retval": {"type": "Z"}}, - ) - r( - b"ICScannerFunctionalUnitDocumentFeeder", - b"setDuplexScanningEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ICScannerFunctionalUnitDocumentFeeder", - b"supportsDuplexScanning", - {"retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"cameraDevice:didAddItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didAddItems:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didCompleteDeleteFilesWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didReceiveMetadata:forItem:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"cameraDevice:didReceiveMetadataForItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didReceivePTPEvent:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didReceiveThumbnail:forItem:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{CGImage=}"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"cameraDevice:didReceiveThumbnailForItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didRemoveItem:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didRemoveItems:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:didRenameItems:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:shouldGetMetadataOfItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDevice:shouldGetThumbnailOfItem:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDeviceDidChangeCapability:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cameraDeviceDidEnableAccessRestriction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cameraDeviceDidRemoveAccessRestriction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"device:didCloseSessionWithError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didEjectWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didEncounterError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didOpenSessionWithError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didReceiveButtonPress:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didReceiveCustomNotification:data:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"device:didReceiveStatusInformation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowser:deviceDidChangeName:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowser:deviceDidChangeSharingState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowser:didAddDevice:moreComing:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowser:didRemoveDevice:moreGoing:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowser:requestsSelectDevice:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowserDidCancelSuspendOperations:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceBrowserDidEnumerateLocalDevices:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceBrowserDidResumeOperations:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceBrowserDidSuspendOperations:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceBrowserWillSuspendOperations:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceDidBecomeReady:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceDidBecomeReadyWithCompleteContentCatalog:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceDidChangeName:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deviceDidChangeSharingState:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didDownloadFile:error:options:contextInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": "^v"}, - }, - }, - ) - r( - b"NSObject", - b"didReceiveDownloadProgressForFile:downloadedBytes:maxBytes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"didRemoveDevice:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scannerDevice:didCompleteOverviewScanWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDevice:didCompleteScanWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDevice:didScanToBandData:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDevice:didScanToURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDevice:didScanToURL:data:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDevice:didSelectFunctionalUnit:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDeviceDidBecomeAvailable:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = { - "ICReturnCodeObjectDataEmpty": "ICReturnCodeObjectOffset-3", - "ICReturnCodeObjectCouldNotBeRead": "ICReturnCodeObjectOffset-2", - "ICReturnCodeObjectDataOffsetInvalid": "ICReturnCodeObjectOffset-1", -} - -# END OF FILE diff --git a/src/lib/InputMethodKit/__init__.py b/src/lib/InputMethodKit/__init__.py deleted file mode 100644 index 733eb32..0000000 --- a/src/lib/InputMethodKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the InputMethodKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from InputMethodKit import _metadata -from InputMethodKit import _InputMethodKit - -sys.modules["InputMethodKit"] = mod = objc.ObjCLazyModule( - "InputMethodKit", - "com.apple.InputMethodKit", - objc.pathForFramework("/System/Library/Frameworks/InputMethodKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_InputMethodKit, Foundation), -) - - -del sys.modules["InputMethodKit._metadata"] diff --git a/src/lib/InputMethodKit/_metadata.py b/src/lib/InputMethodKit/_metadata.py deleted file mode 100644 index 9ec069d..0000000 --- a/src/lib/InputMethodKit/_metadata.py +++ /dev/null @@ -1,222 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:54:52 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$IMKCandidatesOpacityAttributeName$IMKCandidatesSendServerKeyEventFirst$IMKControllerClass$IMKDelegateClass$IMKModeDictionary$kIMKCommandClientName$kIMKCommandMenuItemName$""" -enums = """$kIMKAnnotation@1$kIMKLocateCandidatesAboveHint@1$kIMKLocateCandidatesBelowHint@2$kIMKLocateCandidatesLeftHint@3$kIMKLocateCandidatesRightHint@4$kIMKMain@0$kIMKScrollingGridCandidatePanel@2$kIMKSingleColumnScrollingCandidatePanel@1$kIMKSingleRowSteppingCandidatePanel@3$kIMKSubList@2$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"IMKCandidates", b"dismissesAutomatically", {"retval": {"type": "Z"}}) - r(b"IMKCandidates", b"isVisible", {"retval": {"type": "Z"}}) - r(b"IMKCandidates", b"selectCandidateWithIdentifier:", {"retval": {"type": b"Z"}}) - r( - b"IMKCandidates", - b"selectionKeysKeylayout", - {"retval": {"type": "^{__TISInputSource=}"}}, - ) - r( - b"IMKCandidates", - b"setDismissesAutomatically:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"IMKCandidates", - b"setSelectionKeysKeylayout:", - {"arguments": {2: {"type": "^{__TISInputSource=}"}}}, - ) - r( - b"IMKInputController", - b"doCommandBySelector:commandDictionary:", - {"arguments": {2: {"type": ":", "sel_of_type": b"v@:@"}}}, - ) - r(b"IMKServer", b"lastKeyEventWasDeadKey", {"retval": {"type": b"Z"}}) - r(b"IMKServer", b"paletteWillTerminate", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"activateServer:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"candidates:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"commitComposition:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"composedString:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"deactivateServer:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didCommandBySelector:client:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleEvent:client:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inputText:client:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"inputText:key:modifiers:client:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"modes:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mouseDownOnCharacterIndex:coordinate:withModifier:continueTracking:client:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": "^Z", "type_modifier": b"o"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"mouseMovedOnCharacterIndex:coordinate:withModifier:client:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"mouseUpOnCharacterIndex:coordinate:withModifier:client:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"{_NSPoint=ff}", b"{CGPoint=dd}")}, - 4: {"type": sel32or64(b"I", b"Q")}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"originalString:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"recognizedEvents:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:forTag:client:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"showPreferences:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueForTag:client:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"q"}, 3: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "IMKServerInput": objc.informal_protocol( - "IMKServerInput", - [ - objc.selector(None, b"inputText:client:", b"Z@:@@", isRequired=False), - objc.selector(None, b"candidates:", b"@@:@", isRequired=False), - objc.selector( - None, b"didCommandBySelector:client:", b"Z@::@", isRequired=False - ), - objc.selector(None, b"handleEvent:client:", b"Z@:@@", isRequired=False), - objc.selector(None, b"composedString:", b"@@:@", isRequired=False), - objc.selector( - None, b"inputText:key:modifiers:client:", b"Z@:@qQ@", isRequired=False - ), - objc.selector(None, b"commitComposition:", b"v@:@", isRequired=False), - objc.selector(None, b"originalString:", b"@@:@", isRequired=False), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/InstallerPlugins/__init__.py b/src/lib/InstallerPlugins/__init__.py deleted file mode 100644 index 744ba64..0000000 --- a/src/lib/InstallerPlugins/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the InstallerPlugins framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import AppKit -import objc -from InstallerPlugins import _metadata - -sys.modules["InstallerPlugins"] = mod = objc.ObjCLazyModule( - "InstallerPlugins", - "com.apple.InstallerPlugins", - objc.pathForFramework("/System/Library/Frameworks/InstallerPlugins.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (AppKit,), -) - - -del sys.modules["InstallerPlugins._metadata"] diff --git a/src/lib/InstallerPlugins/_metadata.py b/src/lib/InstallerPlugins/_metadata.py deleted file mode 100644 index aa79235..0000000 --- a/src/lib/InstallerPlugins/_metadata.py +++ /dev/null @@ -1,56 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:55:13 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$InstallerState_Choice_CustomLocation$InstallerState_Choice_Identifier$InstallerState_Choice_Installed$""" -enums = """$InstallerDirectionBackward@1$InstallerDirectionForward@0$InstallerDirectionUndefined@2$""" -misc.update({"InstallerSectionDirection": NewType("InstallerSectionDirection", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"InstallerPane", b"gotoNextPane", {"retval": {"type": "Z"}}) - r(b"InstallerPane", b"gotoPreviousPane", {"retval": {"type": "Z"}}) - r(b"InstallerPane", b"nextEnabled", {"retval": {"type": "Z"}}) - r(b"InstallerPane", b"previousEnabled", {"retval": {"type": "Z"}}) - r(b"InstallerPane", b"setNextEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"InstallerPane", b"setPreviousEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"InstallerPane", b"shouldExitPane:", {"retval": {"type": "Z"}}) - r(b"InstallerSection", b"gotoPane:", {"retval": {"type": "Z"}}) - r(b"InstallerSection", b"shouldLoad", {"retval": {"type": "Z"}}) - r(b"InstallerState", b"installStarted", {"retval": {"type": "Z"}}) - r(b"InstallerState", b"installSucceeded", {"retval": {"type": "Z"}}) - r(b"InstallerState", b"licenseAgreed", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/InstantMessage/__init__.py b/src/lib/InstantMessage/__init__.py deleted file mode 100644 index dff50ba..0000000 --- a/src/lib/InstantMessage/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the InstantMessage framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -import Quartz -from InstantMessage import _metadata - -sys.modules["InstantMessage"] = mod = objc.ObjCLazyModule( - "InstantMessage", - "com.apple.IMFramework", - objc.pathForFramework("/System/Library/Frameworks/InstantMessage.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation, Quartz), -) - - -del sys.modules["InstantMessage._metadata"] diff --git a/src/lib/InstantMessage/_metadata.py b/src/lib/InstantMessage/_metadata.py deleted file mode 100644 index 2e950dd..0000000 --- a/src/lib/InstantMessage/_metadata.py +++ /dev/null @@ -1,124 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:55:25 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$IMAVManagerStateChangedNotification$IMAVManagerURLToShareChangedNotification$IMCapabilityAudioConference$IMCapabilityDirectIM$IMCapabilityFileSharing$IMCapabilityFileTransfer$IMCapabilityText$IMCapabilityVideoConference$IMMyStatusChangedNotification$IMPersonAVBusyKey$IMPersonCapabilitiesKey$IMPersonEmailKey$IMPersonFirstNameKey$IMPersonIdleSinceKey$IMPersonInfoChangedNotification$IMPersonLastNameKey$IMPersonPictureDataKey$IMPersonScreenNameKey$IMPersonServiceNameKey$IMPersonStatusChangedNotification$IMPersonStatusKey$IMPersonStatusMessageKey$IMServiceStatusChangedNotification$IMStatusImagesChangedAppearanceNotification$""" -enums = """$IMAVInactive@0$IMAVPending@4$IMAVRequested@1$IMAVRunning@5$IMAVShuttingDown@2$IMAVStartingUp@3$IMPersonStatusAvailable@4$IMPersonStatusAway@3$IMPersonStatusIdle@2$IMPersonStatusNoStatus@5$IMPersonStatusOffline@1$IMPersonStatusUnknown@0$IMServiceStatusDisconnected@1$IMServiceStatusLoggedIn@4$IMServiceStatusLoggedOut@0$IMServiceStatusLoggingIn@3$IMServiceStatusLoggingOut@2$IMVideoOptimizationDefault@0$IMVideoOptimizationReplacement@2$IMVideoOptimizationStills@1$""" -misc.update({}) -misc.update({}) -functions = {"IMComparePersonStatus": (b"qQQ",)} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"IMAVControl", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"IMAVControl", b"setAction:", {"arguments": {2: {"sel_of_type": b"v@:@"}}}) - r(b"IMAVControl", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSObject", - b"getOpenGLBufferContext:pixelFormat:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^^{_CGLContextObject=}", "type_modifier": b"o"}, - 3: {"type": b"^^{_CGLPixelFormatObject=}", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"getPixelBufferPixelFormat:", - { - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"^I", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"renderIntoOpenGLBuffer:onScreen:forTime:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^{__CVBuffer=}"}, - 3: {"type": b"^i", "type_modifier": b"n"}, - 4: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - }, - }, - }, - ) - r( - b"NSObject", - b"renderIntoPixelBuffer:forTime:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": "^{__CVBuffer=}"}, - 3: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - }, - }, - }, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "IMVideoDataSource": objc.informal_protocol( - "IMVideoDataSource", - [ - objc.selector( - None, - b"renderIntoPixelBuffer:forTime:", - b"Z@:^{__CVBuffer=}^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - isRequired=False, - ), - objc.selector( - None, b"getPixelBufferPixelFormat:", b"v@:^I", isRequired=False - ), - objc.selector( - None, - b"getOpenGLBufferContext:pixelFormat:", - b"v@:^^{_CGLContextObject=}^^{_CGLPixelFormatObject=}", - isRequired=False, - ), - objc.selector( - None, - b"renderIntoOpenGLBuffer:onScreen:forTime:", - b"Z@:^{__CVBuffer=}^i^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - isRequired=False, - ), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Intents/__init__.py b/src/lib/Intents/__init__.py deleted file mode 100644 index 1f4243f..0000000 --- a/src/lib/Intents/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the Intents framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Intents import _metadata -from Intents import _Intents - -sys.modules["Intents"] = mod = objc.ObjCLazyModule( - "Intents", - "com.apple.Intents", - objc.pathForFramework("/System/Library/Frameworks/Intents.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Intents, Foundation), -) - - -del sys.modules["Intents._metadata"] diff --git a/src/lib/Intents/_metadata.py b/src/lib/Intents/_metadata.py deleted file mode 100644 index 0147c3b..0000000 --- a/src/lib/Intents/_metadata.py +++ /dev/null @@ -1,6094 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:00:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$INCancelWorkoutIntentIdentifier$INCarChargingConnectorTypeCCS1$INCarChargingConnectorTypeCCS2$INCarChargingConnectorTypeCHAdeMO$INCarChargingConnectorTypeGBTAC$INCarChargingConnectorTypeGBTDC$INCarChargingConnectorTypeJ1772$INCarChargingConnectorTypeMennekes$INCarChargingConnectorTypeTesla$INEndWorkoutIntentIdentifier$INGetRideStatusIntentIdentifier$INIntentErrorDomain$INListRideOptionsIntentIdentifier$INPauseWorkoutIntentIdentifier$INPersonHandleLabelHome$INPersonHandleLabelHomeFax$INPersonHandleLabelMain$INPersonHandleLabelMobile$INPersonHandleLabelOther$INPersonHandleLabelPager$INPersonHandleLabelSchool$INPersonHandleLabelWork$INPersonHandleLabelWorkFax$INPersonHandleLabeliPhone$INPersonRelationshipAssistant$INPersonRelationshipBrother$INPersonRelationshipChild$INPersonRelationshipDaughter$INPersonRelationshipFather$INPersonRelationshipFriend$INPersonRelationshipManager$INPersonRelationshipMother$INPersonRelationshipParent$INPersonRelationshipPartner$INPersonRelationshipSister$INPersonRelationshipSon$INPersonRelationshipSpouse$INRequestPaymentIntentIdentifier$INRequestRideIntentIdentifier$INResumeWorkoutIntentIdentifier$INSaveProfileInCarIntentIdentifier$INSearchCallHistoryIntentIdentifier$INSearchForMessagesIntentIdentifier$INSearchForPhotosIntentIdentifier$INSendMessageIntentIdentifier$INSendPaymentIntentIdentifier$INSetAudioSourceInCarIntentIdentifier$INSetClimateSettingsInCarIntentIdentifier$INSetDefrosterSettingsInCarIntentIdentifier$INSetMessageAttributeIntentIdentifier$INSetProfileInCarIntentIdentifier$INSetRadioStationIntentIdentifier$INSetSeatSettingsInCarIntentIdentifier$INStartAudioCallIntentIdentifier$INStartCallIntentIdentifier$INStartPhotoPlaybackIntentIdentifier$INStartVideoCallIntentIdentifier$INStartWorkoutIntentIdentifier$INWorkoutNameIdentifierCrosstraining$INWorkoutNameIdentifierCycle$INWorkoutNameIdentifierDance$INWorkoutNameIdentifierElliptical$INWorkoutNameIdentifierExercise$INWorkoutNameIdentifierHighIntensityIntervalTraining$INWorkoutNameIdentifierHike$INWorkoutNameIdentifierIndoorcycle$INWorkoutNameIdentifierIndoorrun$INWorkoutNameIdentifierIndoorwalk$INWorkoutNameIdentifierMove$INWorkoutNameIdentifierOther$INWorkoutNameIdentifierRower$INWorkoutNameIdentifierRun$INWorkoutNameIdentifierSit$INWorkoutNameIdentifierStairs$INWorkoutNameIdentifierStand$INWorkoutNameIdentifierSteps$INWorkoutNameIdentifierSwim$INWorkoutNameIdentifierWalk$INWorkoutNameIdentifierYoga$IntentsVersionNumber@d$""" -enums = """$INAccountTypeChecking@1$INAccountTypeCredit@2$INAccountTypeDebit@3$INAccountTypeInvestment@4$INAccountTypeMortgage@5$INAccountTypePrepaid@6$INAccountTypeSaving@7$INAccountTypeUnknown@0$INActivateCarSignalIntentResponseCodeFailure@4$INActivateCarSignalIntentResponseCodeFailureRequiringAppLaunch@5$INActivateCarSignalIntentResponseCodeInProgress@2$INActivateCarSignalIntentResponseCodeReady@1$INActivateCarSignalIntentResponseCodeSuccess@3$INActivateCarSignalIntentResponseCodeUnspecified@0$INAddMediaIntentResponseCodeFailure@5$INAddMediaIntentResponseCodeFailureRequiringAppLaunch@6$INAddMediaIntentResponseCodeHandleInApp@4$INAddMediaIntentResponseCodeInProgress@2$INAddMediaIntentResponseCodeReady@1$INAddMediaIntentResponseCodeSuccess@3$INAddMediaIntentResponseCodeUnspecified@0$INAddMediaMediaDestinationUnsupportedReasonPlaylistNameNotFound@1$INAddMediaMediaDestinationUnsupportedReasonPlaylistNotEditable@2$INAddMediaMediaItemUnsupportedReasonCellularDataSettings@5$INAddMediaMediaItemUnsupportedReasonExplicitContentSettings@4$INAddMediaMediaItemUnsupportedReasonLoginRequired@1$INAddMediaMediaItemUnsupportedReasonRegionRestriction@8$INAddMediaMediaItemUnsupportedReasonRestrictedContent@6$INAddMediaMediaItemUnsupportedReasonServiceUnavailable@7$INAddMediaMediaItemUnsupportedReasonSubscriptionRequired@2$INAddMediaMediaItemUnsupportedReasonUnsupportedMediaType@3$INAddTasksIntentResponseCodeFailure@4$INAddTasksIntentResponseCodeFailureRequiringAppLaunch@5$INAddTasksIntentResponseCodeInProgress@2$INAddTasksIntentResponseCodeReady@1$INAddTasksIntentResponseCodeSuccess@3$INAddTasksIntentResponseCodeUnspecified@0$INAddTasksTargetTaskListConfirmationReasonListShouldBeCreated@1$INAddTasksTemporalEventTriggerUnsupportedReasonInvalidRecurrence@2$INAddTasksTemporalEventTriggerUnsupportedReasonTimeInPast@1$INAmountTypeAmountDue@2$INAmountTypeCurrentBalance@3$INAmountTypeMaximumTransferAmount@4$INAmountTypeMinimumDue@1$INAmountTypeMinimumTransferAmount@5$INAmountTypeStatementBalance@6$INAmountTypeUnknown@0$INAppendToNoteIntentResponseCodeFailure@4$INAppendToNoteIntentResponseCodeFailureCannotUpdatePasswordProtectedNote@6$INAppendToNoteIntentResponseCodeFailureRequiringAppLaunch@5$INAppendToNoteIntentResponseCodeInProgress@2$INAppendToNoteIntentResponseCodeReady@1$INAppendToNoteIntentResponseCodeSuccess@3$INAppendToNoteIntentResponseCodeUnspecified@0$INBalanceTypeMiles@3$INBalanceTypeMoney@1$INBalanceTypePoints@2$INBalanceTypeUnknown@0$INBillTypeAutoInsurance@1$INBillTypeCable@2$INBillTypeCarLease@3$INBillTypeCarLoan@4$INBillTypeCreditCard@5$INBillTypeElectricity@6$INBillTypeGarbageAndRecycling@8$INBillTypeGas@7$INBillTypeHealthInsurance@9$INBillTypeHomeInsurance@10$INBillTypeInternet@11$INBillTypeLifeInsurance@12$INBillTypeMortgage@13$INBillTypeMusicStreaming@14$INBillTypePhone@15$INBillTypeRent@16$INBillTypeSewer@17$INBillTypeStudentLoan@18$INBillTypeTrafficTicket@19$INBillTypeTuition@20$INBillTypeUnknown@0$INBillTypeUtilities@21$INBillTypeWater@22$INBookRestaurantReservationIntentCodeDenied@1$INBookRestaurantReservationIntentCodeFailure@2$INBookRestaurantReservationIntentCodeFailureRequiringAppLaunch@3$INBookRestaurantReservationIntentCodeFailureRequiringAppLaunchMustVerifyCredentials@4$INBookRestaurantReservationIntentCodeFailureRequiringAppLaunchServiceTemporarilyUnavailable@5$INBookRestaurantReservationIntentCodeSuccess@0$INCallAudioRouteBluetoothAudioRoute@2$INCallAudioRouteSpeakerphoneAudioRoute@1$INCallAudioRouteUnknown@0$INCallCapabilityAudioCall@1$INCallCapabilityOptionAudioCall@1$INCallCapabilityOptionVideoCall@2$INCallCapabilityUnknown@0$INCallCapabilityVideoCall@2$INCallDestinationTypeCallBack@5$INCallDestinationTypeEmergency@2$INCallDestinationTypeEmergencyDestination@2$INCallDestinationTypeNormal@1$INCallDestinationTypeNormalDestination@1$INCallDestinationTypeRedial@4$INCallDestinationTypeRedialDestination@4$INCallDestinationTypeUnknown@0$INCallDestinationTypeVoicemail@3$INCallDestinationTypeVoicemailDestination@3$INCallRecordTypeInProgress@7$INCallRecordTypeLatest@4$INCallRecordTypeMissed@2$INCallRecordTypeOnHold@8$INCallRecordTypeOptionInProgress@64$INCallRecordTypeOptionLatest@8$INCallRecordTypeOptionMissed@2$INCallRecordTypeOptionOnHold@128$INCallRecordTypeOptionOutgoing@1$INCallRecordTypeOptionReceived@4$INCallRecordTypeOptionRinging@32$INCallRecordTypeOptionVoicemail@16$INCallRecordTypeOutgoing@1$INCallRecordTypeReceived@3$INCallRecordTypeRinging@6$INCallRecordTypeUnknown@0$INCallRecordTypeVoicemail@5$INCancelRideIntentResponseCodeFailure@3$INCancelRideIntentResponseCodeReady@1$INCancelRideIntentResponseCodeSuccess@2$INCancelRideIntentResponseCodeUnspecified@0$INCancelWorkoutIntentResponseCodeContinueInApp@2$INCancelWorkoutIntentResponseCodeFailure@3$INCancelWorkoutIntentResponseCodeFailureNoMatchingWorkout@5$INCancelWorkoutIntentResponseCodeFailureRequiringAppLaunch@4$INCancelWorkoutIntentResponseCodeHandleInApp@6$INCancelWorkoutIntentResponseCodeReady@1$INCancelWorkoutIntentResponseCodeSuccess@7$INCancelWorkoutIntentResponseCodeUnspecified@0$INCarAirCirculationModeFreshAir@1$INCarAirCirculationModeRecirculateAir@2$INCarAirCirculationModeUnknown@0$INCarAudioSourceAUX@5$INCarAudioSourceBluetooth@4$INCarAudioSourceCarPlay@1$INCarAudioSourceHardDrive@9$INCarAudioSourceMemoryCard@7$INCarAudioSourceOpticalDrive@8$INCarAudioSourceRadio@3$INCarAudioSourceUSB@6$INCarAudioSourceUnknown@0$INCarAudioSourceiPod@2$INCarDefrosterAll@3$INCarDefrosterFront@1$INCarDefrosterRear@2$INCarDefrosterUnknown@0$INCarSeatAll@12$INCarSeatDriver@1$INCarSeatFront@5$INCarSeatFrontLeft@3$INCarSeatFrontRight@4$INCarSeatPassenger@2$INCarSeatRear@8$INCarSeatRearLeft@6$INCarSeatRearRight@7$INCarSeatThirdRow@11$INCarSeatThirdRowLeft@9$INCarSeatThirdRowRight@10$INCarSeatUnknown@0$INCarSignalOptionAudible@1$INCarSignalOptionVisible@2$INChargingConnectorTypeOptionCCS1@4$INChargingConnectorTypeOptionCCS2@8$INChargingConnectorTypeOptionCHAdeMO@16$INChargingConnectorTypeOptionGBTAC@32$INChargingConnectorTypeOptionGBTDC@64$INChargingConnectorTypeOptionJ1772@2$INChargingConnectorTypeOptionMennekes@256$INChargingConnectorTypeOptionNone@1$INChargingConnectorTypeOptionTesla@128$INConditionalOperatorAll@0$INConditionalOperatorAny@1$INConditionalOperatorNone@2$INCreateNoteIntentResponseCodeFailure@4$INCreateNoteIntentResponseCodeFailureRequiringAppLaunch@5$INCreateNoteIntentResponseCodeInProgress@2$INCreateNoteIntentResponseCodeReady@1$INCreateNoteIntentResponseCodeSuccess@3$INCreateNoteIntentResponseCodeUnspecified@0$INCreateTaskListIntentResponseCodeFailure@4$INCreateTaskListIntentResponseCodeFailureRequiringAppLaunch@5$INCreateTaskListIntentResponseCodeInProgress@2$INCreateTaskListIntentResponseCodeReady@1$INCreateTaskListIntentResponseCodeSuccess@3$INCreateTaskListIntentResponseCodeUnspecified@0$INDailyRoutineSituationActiveWorkout@8$INDailyRoutineSituationCommute@6$INDailyRoutineSituationEvening@1$INDailyRoutineSituationGym@5$INDailyRoutineSituationHeadphonesConnected@7$INDailyRoutineSituationHome@2$INDailyRoutineSituationMorning@0$INDailyRoutineSituationPhysicalActivityIncomplete@9$INDailyRoutineSituationSchool@4$INDailyRoutineSituationWork@3$INDateSearchTypeByCreatedDate@3$INDateSearchTypeByDueDate@1$INDateSearchTypeByModifiedDate@2$INDateSearchTypeUnknown@0$INDayOfWeekOptionFriday@16$INDayOfWeekOptionMonday@1$INDayOfWeekOptionSaturday@32$INDayOfWeekOptionSunday@64$INDayOfWeekOptionThursday@8$INDayOfWeekOptionTuesday@2$INDayOfWeekOptionWednesday@4$INDeleteTasksIntentResponseCodeFailure@4$INDeleteTasksIntentResponseCodeFailureRequiringAppLaunch@5$INDeleteTasksIntentResponseCodeInProgress@2$INDeleteTasksIntentResponseCodeReady@1$INDeleteTasksIntentResponseCodeSuccess@3$INDeleteTasksIntentResponseCodeUnspecified@0$INDeleteTasksTaskListUnsupportedReasonNoTaskListFound@1$INDeleteTasksTaskUnsupportedReasonNoTasksFound@1$INDeleteTasksTaskUnsupportedReasonNoTasksInApp@2$INEndWorkoutIntentResponseCodeContinueInApp@2$INEndWorkoutIntentResponseCodeFailure@3$INEndWorkoutIntentResponseCodeFailureNoMatchingWorkout@5$INEndWorkoutIntentResponseCodeFailureRequiringAppLaunch@4$INEndWorkoutIntentResponseCodeHandleInApp@6$INEndWorkoutIntentResponseCodeReady@1$INEndWorkoutIntentResponseCodeSuccess@7$INEndWorkoutIntentResponseCodeUnspecified@0$INFocusStatusAuthorizationStatusAuthorized@3$INFocusStatusAuthorizationStatusDenied@2$INFocusStatusAuthorizationStatusNotDetermined@0$INFocusStatusAuthorizationStatusRestricted@1$INGetAvailableRestaurantReservationBookingDefaultsIntentResponseCodeFailure@1$INGetAvailableRestaurantReservationBookingDefaultsIntentResponseCodeSuccess@0$INGetAvailableRestaurantReservationBookingDefaultsIntentResponseCodeUnspecified@2$INGetAvailableRestaurantReservationBookingsIntentCodeFailure@1$INGetAvailableRestaurantReservationBookingsIntentCodeFailureRequestUnsatisfiable@2$INGetAvailableRestaurantReservationBookingsIntentCodeFailureRequestUnspecified@3$INGetAvailableRestaurantReservationBookingsIntentCodeSuccess@0$INGetCarLockStatusIntentResponseCodeFailure@4$INGetCarLockStatusIntentResponseCodeFailureRequiringAppLaunch@5$INGetCarLockStatusIntentResponseCodeInProgress@2$INGetCarLockStatusIntentResponseCodeReady@1$INGetCarLockStatusIntentResponseCodeSuccess@3$INGetCarLockStatusIntentResponseCodeUnspecified@0$INGetCarPowerLevelStatusIntentResponseCodeFailure@4$INGetCarPowerLevelStatusIntentResponseCodeFailureRequiringAppLaunch@5$INGetCarPowerLevelStatusIntentResponseCodeInProgress@2$INGetCarPowerLevelStatusIntentResponseCodeReady@1$INGetCarPowerLevelStatusIntentResponseCodeSuccess@3$INGetCarPowerLevelStatusIntentResponseCodeUnspecified@0$INGetReservationDetailsIntentResponseCodeFailure@4$INGetReservationDetailsIntentResponseCodeFailureRequiringAppLaunch@5$INGetReservationDetailsIntentResponseCodeInProgress@2$INGetReservationDetailsIntentResponseCodeReady@1$INGetReservationDetailsIntentResponseCodeSuccess@3$INGetReservationDetailsIntentResponseCodeUnspecified@0$INGetRestaurantGuestIntentResponseCodeFailure@1$INGetRestaurantGuestIntentResponseCodeSuccess@0$INGetRideStatusIntentResponseCodeFailure@4$INGetRideStatusIntentResponseCodeFailureRequiringAppLaunch@5$INGetRideStatusIntentResponseCodeFailureRequiringAppLaunchMustVerifyCredentials@6$INGetRideStatusIntentResponseCodeFailureRequiringAppLaunchServiceTemporarilyUnavailable@7$INGetRideStatusIntentResponseCodeInProgress@2$INGetRideStatusIntentResponseCodeReady@1$INGetRideStatusIntentResponseCodeSuccess@3$INGetRideStatusIntentResponseCodeUnspecified@0$INGetUserCurrentRestaurantReservationBookingsIntentResponseCodeFailure@1$INGetUserCurrentRestaurantReservationBookingsIntentResponseCodeFailureRequestUnsatisfiable@2$INGetUserCurrentRestaurantReservationBookingsIntentResponseCodeSuccess@0$INGetUserCurrentRestaurantReservationBookingsIntentResponseCodeUnspecified@3$INGetVisualCodeIntentResponseCodeContinueInApp@2$INGetVisualCodeIntentResponseCodeFailure@5$INGetVisualCodeIntentResponseCodeFailureAppConfigurationRequired@7$INGetVisualCodeIntentResponseCodeFailureRequiringAppLaunch@6$INGetVisualCodeIntentResponseCodeInProgress@3$INGetVisualCodeIntentResponseCodeReady@1$INGetVisualCodeIntentResponseCodeSuccess@4$INGetVisualCodeIntentResponseCodeUnspecified@0$INIntentErrorDecodingGeneric@9000$INIntentErrorDeletingAllInteractions@1902$INIntentErrorDeletingInteractionWithGroupIdentifier@1904$INIntentErrorDeletingInteractionWithIdentifiers@1903$INIntentErrorDonatingInteraction@1901$INIntentErrorEncodingFailed@8001$INIntentErrorEncodingGeneric@8000$INIntentErrorExtensionBringUpFailed@5001$INIntentErrorExtensionLaunchingTimeout@5000$INIntentErrorImageGeneric@6000$INIntentErrorImageLoadingFailed@6003$INIntentErrorImageNoServiceAvailable@6001$INIntentErrorImageProxyInvalid@6006$INIntentErrorImageProxyLoop@6005$INIntentErrorImageProxyTimeout@6007$INIntentErrorImageRetrievalFailed@6004$INIntentErrorImageScalingFailed@6009$INIntentErrorImageServiceFailure@6008$INIntentErrorImageStorageFailed@6002$INIntentErrorIntentSupportedByMultipleExtension@2001$INIntentErrorInteractionOperationNotSupported@1900$INIntentErrorInvalidIntentName@2004$INIntentErrorInvalidUserVocabularyFileLocation@4000$INIntentErrorMissingInformation@3002$INIntentErrorNoAppAvailable@2005$INIntentErrorNoHandlerProvidedForIntent@2003$INIntentErrorPermissionDenied@6010$INIntentErrorRequestTimedOut@3001$INIntentErrorRestrictedIntentsNotSupportedByExtension@2002$INIntentErrorVoiceShortcutCreationFailed@7000$INIntentErrorVoiceShortcutDeleteFailed@7002$INIntentErrorVoiceShortcutGetFailed@7001$INIntentHandlingStatusDeferredToApplication@5$INIntentHandlingStatusFailure@4$INIntentHandlingStatusInProgress@2$INIntentHandlingStatusReady@1$INIntentHandlingStatusSuccess@3$INIntentHandlingStatusUnspecified@0$INIntentHandlingStatusUserConfirmationRequired@6$INInteractionDirectionIncoming@2$INInteractionDirectionOutgoing@1$INInteractionDirectionUnspecified@0$INListCarsIntentResponseCodeFailure@4$INListCarsIntentResponseCodeFailureRequiringAppLaunch@5$INListCarsIntentResponseCodeInProgress@2$INListCarsIntentResponseCodeReady@1$INListCarsIntentResponseCodeSuccess@3$INListCarsIntentResponseCodeUnspecified@0$INListRideOptionsIntentResponseCodeFailure@4$INListRideOptionsIntentResponseCodeFailurePreviousRideNeedsFeedback@10$INListRideOptionsIntentResponseCodeFailureRequiringAppLaunch@5$INListRideOptionsIntentResponseCodeFailureRequiringAppLaunchMustVerifyCredentials@6$INListRideOptionsIntentResponseCodeFailureRequiringAppLaunchNoServiceInArea@7$INListRideOptionsIntentResponseCodeFailureRequiringAppLaunchPreviousRideNeedsCompletion@9$INListRideOptionsIntentResponseCodeFailureRequiringAppLaunchServiceTemporarilyUnavailable@8$INListRideOptionsIntentResponseCodeInProgress@2$INListRideOptionsIntentResponseCodeReady@1$INListRideOptionsIntentResponseCodeSuccess@3$INListRideOptionsIntentResponseCodeUnspecified@0$INLocationSearchTypeByLocationTrigger@1$INLocationSearchTypeUnknown@0$INMediaAffinityTypeDislike@2$INMediaAffinityTypeLike@1$INMediaAffinityTypeUnknown@0$INMediaDestinationTypeLibrary@1$INMediaDestinationTypePlaylist@2$INMediaDestinationTypeUnknown@0$INMediaItemTypeAlbum@2$INMediaItemTypeAlgorithmicRadioStation@19$INMediaItemTypeArtist@3$INMediaItemTypeAudioBook@10$INMediaItemTypeGenre@4$INMediaItemTypeMovie@11$INMediaItemTypeMusic@18$INMediaItemTypeMusicStation@9$INMediaItemTypeMusicVideo@14$INMediaItemTypeNews@20$INMediaItemTypePlaylist@5$INMediaItemTypePodcastEpisode@7$INMediaItemTypePodcastPlaylist@8$INMediaItemTypePodcastShow@6$INMediaItemTypePodcastStation@15$INMediaItemTypeRadioStation@16$INMediaItemTypeSong@1$INMediaItemTypeStation@17$INMediaItemTypeTVShow@12$INMediaItemTypeTVShowEpisode@13$INMediaItemTypeUnknown@0$INMediaReferenceCurrentlyPlaying@1$INMediaReferenceMy@2$INMediaReferenceUnknown@0$INMediaSortOrderBest@3$INMediaSortOrderNewest@1$INMediaSortOrderOldest@2$INMediaSortOrderPopular@5$INMediaSortOrderRecommended@8$INMediaSortOrderTrending@7$INMediaSortOrderUnknown@0$INMediaSortOrderUnpopular@6$INMediaSortOrderWorst@4$INMediaUserContextSubscriptionStatusNotSubscribed@1$INMediaUserContextSubscriptionStatusSubscribed@2$INMediaUserContextSubscriptionStatusUnknown@0$INMediaUserContextSubscriptionStatusVoice@3$INMessageAttributeFlagged@3$INMessageAttributeOptionFlagged@4$INMessageAttributeOptionPlayed@16$INMessageAttributeOptionRead@1$INMessageAttributeOptionUnflagged@8$INMessageAttributeOptionUnread@2$INMessageAttributePlayed@5$INMessageAttributeRead@1$INMessageAttributeUnflagged@4$INMessageAttributeUnknown@0$INMessageAttributeUnread@2$INMessageTypeActivitySnippet@23$INMessageTypeAnimoji@22$INMessageTypeAudio@2$INMessageTypeDigitalTouch@3$INMessageTypeFile@24$INMessageTypeHandwriting@4$INMessageTypeLink@25$INMessageTypeMediaAddressCard@14$INMessageTypeMediaAudio@18$INMessageTypeMediaCalendar@12$INMessageTypeMediaImage@15$INMessageTypeMediaLocation@13$INMessageTypeMediaPass@17$INMessageTypeMediaVideo@16$INMessageTypePaymentNote@21$INMessageTypePaymentRequest@20$INMessageTypePaymentSent@19$INMessageTypeSticker@5$INMessageTypeTapbackDisliked@7$INMessageTypeTapbackEmphasized@8$INMessageTypeTapbackLaughed@11$INMessageTypeTapbackLiked@6$INMessageTypeTapbackLoved@9$INMessageTypeTapbackQuestioned@10$INMessageTypeText@1$INMessageTypeUnspecified@0$INNoteContentTypeImage@2$INNoteContentTypeText@1$INNoteContentTypeUnknown@0$INNotebookItemTypeNote@1$INNotebookItemTypeTask@3$INNotebookItemTypeTaskList@2$INNotebookItemTypeUnknown@0$INOutgoingMessageTypeOutgoingMessageAudio@2$INOutgoingMessageTypeOutgoingMessageText@1$INOutgoingMessageTypeUnknown@0$INPauseWorkoutIntentResponseCodeContinueInApp@2$INPauseWorkoutIntentResponseCodeFailure@3$INPauseWorkoutIntentResponseCodeFailureNoMatchingWorkout@5$INPauseWorkoutIntentResponseCodeFailureRequiringAppLaunch@4$INPauseWorkoutIntentResponseCodeHandleInApp@6$INPauseWorkoutIntentResponseCodeReady@1$INPauseWorkoutIntentResponseCodeSuccess@7$INPauseWorkoutIntentResponseCodeUnspecified@0$INPayBillIntentResponseCodeFailure@4$INPayBillIntentResponseCodeFailureCredentialsUnverified@6$INPayBillIntentResponseCodeFailureInsufficientFunds@7$INPayBillIntentResponseCodeFailureRequiringAppLaunch@5$INPayBillIntentResponseCodeInProgress@2$INPayBillIntentResponseCodeReady@1$INPayBillIntentResponseCodeSuccess@3$INPayBillIntentResponseCodeUnspecified@0$INPaymentMethodTypeApplePay@8$INPaymentMethodTypeBrokerage@3$INPaymentMethodTypeChecking@1$INPaymentMethodTypeCredit@5$INPaymentMethodTypeDebit@4$INPaymentMethodTypePrepaid@6$INPaymentMethodTypeSavings@2$INPaymentMethodTypeStore@7$INPaymentMethodTypeUnknown@0$INPaymentStatusCanceled@3$INPaymentStatusCompleted@2$INPaymentStatusFailed@4$INPaymentStatusPending@1$INPaymentStatusUnknown@0$INPaymentStatusUnpaid@5$INPersonHandleTypeEmailAddress@1$INPersonHandleTypePhoneNumber@2$INPersonHandleTypeUnknown@0$INPersonSuggestionTypeInstantMessageAddress@2$INPersonSuggestionTypeNone@0$INPersonSuggestionTypeSocialProfile@1$INPhotoAttributeOptionBouncePhoto@134217728$INPhotoAttributeOptionBurstPhoto@1024$INPhotoAttributeOptionChromeFilter@131072$INPhotoAttributeOptionFadeFilter@4194304$INPhotoAttributeOptionFavorite@64$INPhotoAttributeOptionFlash@8$INPhotoAttributeOptionFrontFacingCamera@256$INPhotoAttributeOptionGIF@4$INPhotoAttributeOptionHDRPhoto@2048$INPhotoAttributeOptionInstantFilter@262144$INPhotoAttributeOptionLandscapeOrientation@16$INPhotoAttributeOptionLivePhoto@33554432$INPhotoAttributeOptionLongExposurePhoto@268435456$INPhotoAttributeOptionLoopPhoto@67108864$INPhotoAttributeOptionMonoFilter@2097152$INPhotoAttributeOptionNoirFilter@65536$INPhotoAttributeOptionPanoramaPhoto@8192$INPhotoAttributeOptionPhoto@1$INPhotoAttributeOptionPortraitOrientation@32$INPhotoAttributeOptionPortraitPhoto@16777216$INPhotoAttributeOptionProcessFilter@8388608$INPhotoAttributeOptionScreenshot@512$INPhotoAttributeOptionSelfie@128$INPhotoAttributeOptionSlowMotionVideo@32768$INPhotoAttributeOptionSquarePhoto@4096$INPhotoAttributeOptionTimeLapseVideo@16384$INPhotoAttributeOptionTonalFilter@524288$INPhotoAttributeOptionTransferFilter@1048576$INPhotoAttributeOptionVideo@2$INPlayMediaIntentResponseCodeContinueInApp@2$INPlayMediaIntentResponseCodeFailure@6$INPlayMediaIntentResponseCodeFailureMaxStreamLimitReached@11$INPlayMediaIntentResponseCodeFailureNoUnplayedContent@9$INPlayMediaIntentResponseCodeFailureRequiringAppLaunch@7$INPlayMediaIntentResponseCodeFailureRestrictedContent@10$INPlayMediaIntentResponseCodeFailureUnknownMediaType@8$INPlayMediaIntentResponseCodeHandleInApp@5$INPlayMediaIntentResponseCodeInProgress@3$INPlayMediaIntentResponseCodeReady@1$INPlayMediaIntentResponseCodeSuccess@4$INPlayMediaIntentResponseCodeUnspecified@0$INPlayMediaMediaItemUnsupportedReasonCellularDataSettings@5$INPlayMediaMediaItemUnsupportedReasonExplicitContentSettings@4$INPlayMediaMediaItemUnsupportedReasonLoginRequired@1$INPlayMediaMediaItemUnsupportedReasonRegionRestriction@8$INPlayMediaMediaItemUnsupportedReasonRestrictedContent@6$INPlayMediaMediaItemUnsupportedReasonServiceUnavailable@7$INPlayMediaMediaItemUnsupportedReasonSubscriptionRequired@2$INPlayMediaMediaItemUnsupportedReasonUnsupportedMediaType@3$INPlayMediaPlaybackSpeedUnsupportedReasonAboveMaximum@2$INPlayMediaPlaybackSpeedUnsupportedReasonBelowMinimum@1$INPlaybackQueueLocationLater@3$INPlaybackQueueLocationNext@2$INPlaybackQueueLocationNow@1$INPlaybackQueueLocationUnknown@0$INPlaybackRepeatModeAll@2$INPlaybackRepeatModeNone@1$INPlaybackRepeatModeOne@3$INPlaybackRepeatModeUnknown@0$INRadioTypeAM@1$INRadioTypeDAB@5$INRadioTypeFM@2$INRadioTypeHD@3$INRadioTypeSatellite@4$INRadioTypeUnknown@0$INRecurrenceFrequencyDaily@3$INRecurrenceFrequencyHourly@2$INRecurrenceFrequencyMinute@1$INRecurrenceFrequencyMonthly@5$INRecurrenceFrequencyUnknown@0$INRecurrenceFrequencyWeekly@4$INRecurrenceFrequencyYearly@6$INRelativeReferenceNext@1$INRelativeReferencePrevious@2$INRelativeReferenceUnknown@0$INRelativeSettingHigher@3$INRelativeSettingHighest@4$INRelativeSettingLower@2$INRelativeSettingLowest@1$INRelativeSettingUnknown@0$INRelevantShortcutRoleAction@0$INRelevantShortcutRoleInformation@1$INRequestPaymentCurrencyAmountUnsupportedReasonPaymentsAmountAboveMaximum@2$INRequestPaymentCurrencyAmountUnsupportedReasonPaymentsAmountBelowMinimum@1$INRequestPaymentCurrencyAmountUnsupportedReasonPaymentsCurrencyUnsupported@3$INRequestPaymentIntentResponseCodeFailure@4$INRequestPaymentIntentResponseCodeFailureCredentialsUnverified@6$INRequestPaymentIntentResponseCodeFailureNoBankAccount@10$INRequestPaymentIntentResponseCodeFailureNotEligible@11$INRequestPaymentIntentResponseCodeFailurePaymentsAmountAboveMaximum@8$INRequestPaymentIntentResponseCodeFailurePaymentsAmountBelowMinimum@7$INRequestPaymentIntentResponseCodeFailurePaymentsCurrencyUnsupported@9$INRequestPaymentIntentResponseCodeFailureRequiringAppLaunch@5$INRequestPaymentIntentResponseCodeFailureTermsAndConditionsAcceptanceRequired@12$INRequestPaymentIntentResponseCodeInProgress@2$INRequestPaymentIntentResponseCodeReady@1$INRequestPaymentIntentResponseCodeSuccess@3$INRequestPaymentIntentResponseCodeUnspecified@0$INRequestPaymentPayerUnsupportedReasonCredentialsUnverified@1$INRequestPaymentPayerUnsupportedReasonNoAccount@2$INRequestPaymentPayerUnsupportedReasonNoValidHandle@3$INRequestRideIntentResponseCodeFailure@4$INRequestRideIntentResponseCodeFailureRequiringAppLaunch@5$INRequestRideIntentResponseCodeFailureRequiringAppLaunchMustVerifyCredentials@6$INRequestRideIntentResponseCodeFailureRequiringAppLaunchNoServiceInArea@7$INRequestRideIntentResponseCodeFailureRequiringAppLaunchPreviousRideNeedsCompletion@9$INRequestRideIntentResponseCodeFailureRequiringAppLaunchRideScheduledTooFar@10$INRequestRideIntentResponseCodeFailureRequiringAppLaunchServiceTemporarilyUnavailable@8$INRequestRideIntentResponseCodeInProgress@2$INRequestRideIntentResponseCodeReady@1$INRequestRideIntentResponseCodeSuccess@3$INRequestRideIntentResponseCodeUnspecified@0$INReservationActionTypeCheckIn@1$INReservationActionTypeUnknown@0$INReservationStatusCanceled@1$INReservationStatusConfirmed@4$INReservationStatusHold@3$INReservationStatusPending@2$INReservationStatusUnknown@0$INRestaurantReservationUserBookingStatusConfirmed@1$INRestaurantReservationUserBookingStatusDenied@2$INRestaurantReservationUserBookingStatusPending@0$INResumeWorkoutIntentResponseCodeContinueInApp@2$INResumeWorkoutIntentResponseCodeFailure@3$INResumeWorkoutIntentResponseCodeFailureNoMatchingWorkout@5$INResumeWorkoutIntentResponseCodeFailureRequiringAppLaunch@4$INResumeWorkoutIntentResponseCodeHandleInApp@6$INResumeWorkoutIntentResponseCodeReady@1$INResumeWorkoutIntentResponseCodeSuccess@7$INResumeWorkoutIntentResponseCodeUnspecified@0$INRideFeedbackTypeOptionRate@1$INRideFeedbackTypeOptionTip@2$INRidePhaseApproachingPickup@5$INRidePhaseCompleted@4$INRidePhaseConfirmed@2$INRidePhaseOngoing@3$INRidePhasePickup@6$INRidePhaseReceived@1$INRidePhaseUnknown@0$INSaveProfileInCarIntentResponseCodeFailure@4$INSaveProfileInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSaveProfileInCarIntentResponseCodeInProgress@2$INSaveProfileInCarIntentResponseCodeReady@1$INSaveProfileInCarIntentResponseCodeSuccess@3$INSaveProfileInCarIntentResponseCodeUnspecified@0$INSearchCallHistoryIntentResponseCodeContinueInApp@2$INSearchCallHistoryIntentResponseCodeFailure@3$INSearchCallHistoryIntentResponseCodeFailureAppConfigurationRequired@5$INSearchCallHistoryIntentResponseCodeFailureRequiringAppLaunch@4$INSearchCallHistoryIntentResponseCodeInProgress@6$INSearchCallHistoryIntentResponseCodeReady@1$INSearchCallHistoryIntentResponseCodeSuccess@7$INSearchCallHistoryIntentResponseCodeUnspecified@0$INSearchForAccountsIntentResponseCodeFailure@4$INSearchForAccountsIntentResponseCodeFailureAccountNotFound@7$INSearchForAccountsIntentResponseCodeFailureCredentialsUnverified@6$INSearchForAccountsIntentResponseCodeFailureNotEligible@9$INSearchForAccountsIntentResponseCodeFailureRequiringAppLaunch@5$INSearchForAccountsIntentResponseCodeFailureTermsAndConditionsAcceptanceRequired@8$INSearchForAccountsIntentResponseCodeInProgress@2$INSearchForAccountsIntentResponseCodeReady@1$INSearchForAccountsIntentResponseCodeSuccess@3$INSearchForAccountsIntentResponseCodeUnspecified@0$INSearchForBillsIntentResponseCodeFailure@4$INSearchForBillsIntentResponseCodeFailureBillNotFound@7$INSearchForBillsIntentResponseCodeFailureCredentialsUnverified@6$INSearchForBillsIntentResponseCodeFailureRequiringAppLaunch@5$INSearchForBillsIntentResponseCodeInProgress@2$INSearchForBillsIntentResponseCodeReady@1$INSearchForBillsIntentResponseCodeSuccess@3$INSearchForBillsIntentResponseCodeUnspecified@0$INSearchForMediaIntentResponseCodeContinueInApp@2$INSearchForMediaIntentResponseCodeFailure@5$INSearchForMediaIntentResponseCodeFailureRequiringAppLaunch@6$INSearchForMediaIntentResponseCodeInProgress@3$INSearchForMediaIntentResponseCodeReady@1$INSearchForMediaIntentResponseCodeSuccess@4$INSearchForMediaIntentResponseCodeUnspecified@0$INSearchForMediaMediaItemUnsupportedReasonCellularDataSettings@5$INSearchForMediaMediaItemUnsupportedReasonExplicitContentSettings@4$INSearchForMediaMediaItemUnsupportedReasonLoginRequired@1$INSearchForMediaMediaItemUnsupportedReasonRegionRestriction@8$INSearchForMediaMediaItemUnsupportedReasonRestrictedContent@6$INSearchForMediaMediaItemUnsupportedReasonServiceUnavailable@7$INSearchForMediaMediaItemUnsupportedReasonSubscriptionRequired@2$INSearchForMediaMediaItemUnsupportedReasonUnsupportedMediaType@3$INSearchForMessagesIntentResponseCodeFailure@4$INSearchForMessagesIntentResponseCodeFailureMessageServiceNotAvailable@6$INSearchForMessagesIntentResponseCodeFailureMessageTooManyResults@7$INSearchForMessagesIntentResponseCodeFailureRequiringAppLaunch@5$INSearchForMessagesIntentResponseCodeInProgress@2$INSearchForMessagesIntentResponseCodeReady@1$INSearchForMessagesIntentResponseCodeSuccess@3$INSearchForMessagesIntentResponseCodeUnspecified@0$INSearchForNotebookItemsIntentResponseCodeFailure@4$INSearchForNotebookItemsIntentResponseCodeFailureRequiringAppLaunch@5$INSearchForNotebookItemsIntentResponseCodeInProgress@2$INSearchForNotebookItemsIntentResponseCodeReady@1$INSearchForNotebookItemsIntentResponseCodeSuccess@3$INSearchForNotebookItemsIntentResponseCodeUnspecified@0$INSearchForPhotosIntentResponseCodeContinueInApp@2$INSearchForPhotosIntentResponseCodeFailure@3$INSearchForPhotosIntentResponseCodeFailureAppConfigurationRequired@5$INSearchForPhotosIntentResponseCodeFailureRequiringAppLaunch@4$INSearchForPhotosIntentResponseCodeReady@1$INSearchForPhotosIntentResponseCodeUnspecified@0$INSendMessageIntentResponseCodeFailure@4$INSendMessageIntentResponseCodeFailureMessageAttachmentError@7$INSendMessageIntentResponseCodeFailureMessageLocationNotAllowed@8$INSendMessageIntentResponseCodeFailureMessageServiceNotAvailable@6$INSendMessageIntentResponseCodeFailureRequiringAppLaunch@5$INSendMessageIntentResponseCodeInProgress@2$INSendMessageIntentResponseCodeReady@1$INSendMessageIntentResponseCodeSuccess@3$INSendMessageIntentResponseCodeUnspecified@0$INSendMessageRecipientUnsupportedReasonMessagingServiceNotEnabledForRecipient@3$INSendMessageRecipientUnsupportedReasonNoAccount@1$INSendMessageRecipientUnsupportedReasonNoHandleForLabel@6$INSendMessageRecipientUnsupportedReasonNoValidHandle@4$INSendMessageRecipientUnsupportedReasonOffline@2$INSendMessageRecipientUnsupportedReasonRequestedHandleInvalid@5$INSendPaymentCurrencyAmountUnsupportedReasonPaymentsAmountAboveMaximum@2$INSendPaymentCurrencyAmountUnsupportedReasonPaymentsAmountBelowMinimum@1$INSendPaymentCurrencyAmountUnsupportedReasonPaymentsCurrencyUnsupported@3$INSendPaymentIntentResponseCodeFailure@4$INSendPaymentIntentResponseCodeFailureCredentialsUnverified@6$INSendPaymentIntentResponseCodeFailureInsufficientFunds@10$INSendPaymentIntentResponseCodeFailureNoBankAccount@11$INSendPaymentIntentResponseCodeFailureNotEligible@12$INSendPaymentIntentResponseCodeFailurePaymentsAmountAboveMaximum@8$INSendPaymentIntentResponseCodeFailurePaymentsAmountBelowMinimum@7$INSendPaymentIntentResponseCodeFailurePaymentsCurrencyUnsupported@9$INSendPaymentIntentResponseCodeFailureRequiringAppLaunch@5$INSendPaymentIntentResponseCodeFailureTermsAndConditionsAcceptanceRequired@13$INSendPaymentIntentResponseCodeInProgress@2$INSendPaymentIntentResponseCodeReady@1$INSendPaymentIntentResponseCodeSuccess@3$INSendPaymentIntentResponseCodeUnspecified@0$INSendPaymentPayeeUnsupportedReasonCredentialsUnverified@1$INSendPaymentPayeeUnsupportedReasonInsufficientFunds@2$INSendPaymentPayeeUnsupportedReasonNoAccount@3$INSendPaymentPayeeUnsupportedReasonNoValidHandle@4$INSendRideFeedbackIntentResponseCodeFailure@3$INSendRideFeedbackIntentResponseCodeReady@1$INSendRideFeedbackIntentResponseCodeSuccess@2$INSendRideFeedbackIntentResponseCodeUnspecified@0$INSetAudioSourceInCarIntentResponseCodeFailure@4$INSetAudioSourceInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSetAudioSourceInCarIntentResponseCodeInProgress@2$INSetAudioSourceInCarIntentResponseCodeReady@1$INSetAudioSourceInCarIntentResponseCodeSuccess@3$INSetAudioSourceInCarIntentResponseCodeUnspecified@0$INSetCarLockStatusIntentResponseCodeFailure@4$INSetCarLockStatusIntentResponseCodeFailureRequiringAppLaunch@5$INSetCarLockStatusIntentResponseCodeInProgress@2$INSetCarLockStatusIntentResponseCodeReady@1$INSetCarLockStatusIntentResponseCodeSuccess@3$INSetCarLockStatusIntentResponseCodeUnspecified@0$INSetClimateSettingsInCarIntentResponseCodeFailure@4$INSetClimateSettingsInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSetClimateSettingsInCarIntentResponseCodeInProgress@2$INSetClimateSettingsInCarIntentResponseCodeReady@1$INSetClimateSettingsInCarIntentResponseCodeSuccess@3$INSetClimateSettingsInCarIntentResponseCodeUnspecified@0$INSetDefrosterSettingsInCarIntentResponseCodeFailure@4$INSetDefrosterSettingsInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSetDefrosterSettingsInCarIntentResponseCodeInProgress@2$INSetDefrosterSettingsInCarIntentResponseCodeReady@1$INSetDefrosterSettingsInCarIntentResponseCodeSuccess@3$INSetDefrosterSettingsInCarIntentResponseCodeUnspecified@0$INSetMessageAttributeIntentResponseCodeFailure@4$INSetMessageAttributeIntentResponseCodeFailureMessageAttributeNotSet@7$INSetMessageAttributeIntentResponseCodeFailureMessageNotFound@6$INSetMessageAttributeIntentResponseCodeFailureRequiringAppLaunch@5$INSetMessageAttributeIntentResponseCodeInProgress@2$INSetMessageAttributeIntentResponseCodeReady@1$INSetMessageAttributeIntentResponseCodeSuccess@3$INSetMessageAttributeIntentResponseCodeUnspecified@0$INSetProfileInCarIntentResponseCodeFailure@4$INSetProfileInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSetProfileInCarIntentResponseCodeInProgress@2$INSetProfileInCarIntentResponseCodeReady@1$INSetProfileInCarIntentResponseCodeSuccess@3$INSetProfileInCarIntentResponseCodeUnspecified@0$INSetRadioStationIntentResponseCodeFailure@4$INSetRadioStationIntentResponseCodeFailureNotSubscribed@6$INSetRadioStationIntentResponseCodeFailureRequiringAppLaunch@5$INSetRadioStationIntentResponseCodeInProgress@2$INSetRadioStationIntentResponseCodeReady@1$INSetRadioStationIntentResponseCodeSuccess@3$INSetRadioStationIntentResponseCodeUnspecified@0$INSetSeatSettingsInCarIntentResponseCodeFailure@4$INSetSeatSettingsInCarIntentResponseCodeFailureRequiringAppLaunch@5$INSetSeatSettingsInCarIntentResponseCodeInProgress@2$INSetSeatSettingsInCarIntentResponseCodeReady@1$INSetSeatSettingsInCarIntentResponseCodeSuccess@3$INSetSeatSettingsInCarIntentResponseCodeUnspecified@0$INSetTaskAttributeIntentResponseCodeFailure@4$INSetTaskAttributeIntentResponseCodeFailureRequiringAppLaunch@5$INSetTaskAttributeIntentResponseCodeInProgress@2$INSetTaskAttributeIntentResponseCodeReady@1$INSetTaskAttributeIntentResponseCodeSuccess@3$INSetTaskAttributeIntentResponseCodeUnspecified@0$INSetTaskAttributeTemporalEventTriggerUnsupportedReasonInvalidRecurrence@2$INSetTaskAttributeTemporalEventTriggerUnsupportedReasonTimeInPast@1$INShareFocusStatusIntentResponseCodeFailure@4$INShareFocusStatusIntentResponseCodeFailureRequiringAppLaunch@5$INShareFocusStatusIntentResponseCodeInProgress@2$INShareFocusStatusIntentResponseCodeReady@1$INShareFocusStatusIntentResponseCodeSuccess@3$INShareFocusStatusIntentResponseCodeUnspecified@0$INShortcutAvailabilityOptionSleepJournaling@2$INShortcutAvailabilityOptionSleepMindfulness@1$INShortcutAvailabilityOptionSleepMusic@4$INShortcutAvailabilityOptionSleepPodcasts@8$INShortcutAvailabilityOptionSleepPrepareForTomorrow@32$INShortcutAvailabilityOptionSleepReading@16$INShortcutAvailabilityOptionSleepWrapUpYourDay@32$INShortcutAvailabilityOptionSleepYogaAndStretching@64$INSiriAuthorizationStatusAuthorized@3$INSiriAuthorizationStatusDenied@2$INSiriAuthorizationStatusNotDetermined@0$INSiriAuthorizationStatusRestricted@1$INSnoozeTasksIntentResponseCodeFailure@4$INSnoozeTasksIntentResponseCodeFailureRequiringAppLaunch@5$INSnoozeTasksIntentResponseCodeInProgress@2$INSnoozeTasksIntentResponseCodeReady@1$INSnoozeTasksIntentResponseCodeSuccess@3$INSnoozeTasksIntentResponseCodeUnspecified@0$INSnoozeTasksTaskUnsupportedReasonNoTasksFound@1$INSortTypeAsIs@1$INSortTypeByDate@2$INSortTypeUnknown@0$INSpatialEventArrive@1$INSpatialEventDepart@2$INSpatialEventUnknown@0$INStartAudioCallIntentResponseCodeContinueInApp@2$INStartAudioCallIntentResponseCodeFailure@3$INStartAudioCallIntentResponseCodeFailureAppConfigurationRequired@5$INStartAudioCallIntentResponseCodeFailureCallingServiceNotAvailable@6$INStartAudioCallIntentResponseCodeFailureContactNotSupportedByApp@7$INStartAudioCallIntentResponseCodeFailureNoValidNumber@8$INStartAudioCallIntentResponseCodeFailureRequiringAppLaunch@4$INStartAudioCallIntentResponseCodeReady@1$INStartAudioCallIntentResponseCodeUnspecified@0$INStartCallCallCapabilityUnsupportedReasonCameraNotAccessible@3$INStartCallCallCapabilityUnsupportedReasonMicrophoneNotAccessible@2$INStartCallCallCapabilityUnsupportedReasonVideoCallUnsupported@1$INStartCallCallRecordToCallBackUnsupportedReasonNoMatchingCall@1$INStartCallContactUnsupportedReasonInvalidHandle@4$INStartCallContactUnsupportedReasonMultipleContactsUnsupported@2$INStartCallContactUnsupportedReasonNoCallHistoryForRedial@6$INStartCallContactUnsupportedReasonNoContactFound@1$INStartCallContactUnsupportedReasonNoHandleForLabel@3$INStartCallContactUnsupportedReasonNoUsableHandleForRedial@7$INStartCallContactUnsupportedReasonUnsupportedMmiUssd@5$INStartCallIntentResponseCodeContinueInApp@2$INStartCallIntentResponseCodeFailure@4$INStartCallIntentResponseCodeFailureAirplaneModeEnabled@8$INStartCallIntentResponseCodeFailureAppConfigurationRequired@10$INStartCallIntentResponseCodeFailureCallInProgress@11$INStartCallIntentResponseCodeFailureCallRinging@12$INStartCallIntentResponseCodeFailureCallingServiceNotAvailable@6$INStartCallIntentResponseCodeFailureContactNotSupportedByApp@7$INStartCallIntentResponseCodeFailureRequiringAppLaunch@5$INStartCallIntentResponseCodeFailureUnableToHandOff@9$INStartCallIntentResponseCodeReady@1$INStartCallIntentResponseCodeUnspecified@0$INStartCallIntentResponseCodeUserConfirmationRequired@3$INStartPhotoPlaybackIntentResponseCodeContinueInApp@2$INStartPhotoPlaybackIntentResponseCodeFailure@3$INStartPhotoPlaybackIntentResponseCodeFailureAppConfigurationRequired@5$INStartPhotoPlaybackIntentResponseCodeFailureRequiringAppLaunch@4$INStartPhotoPlaybackIntentResponseCodeReady@1$INStartPhotoPlaybackIntentResponseCodeUnspecified@0$INStartVideoCallIntentResponseCodeContinueInApp@2$INStartVideoCallIntentResponseCodeFailure@3$INStartVideoCallIntentResponseCodeFailureAppConfigurationRequired@5$INStartVideoCallIntentResponseCodeFailureCallingServiceNotAvailable@6$INStartVideoCallIntentResponseCodeFailureContactNotSupportedByApp@7$INStartVideoCallIntentResponseCodeFailureInvalidNumber@8$INStartVideoCallIntentResponseCodeFailureRequiringAppLaunch@4$INStartVideoCallIntentResponseCodeReady@1$INStartVideoCallIntentResponseCodeUnspecified@0$INStartWorkoutIntentResponseCodeContinueInApp@2$INStartWorkoutIntentResponseCodeFailure@3$INStartWorkoutIntentResponseCodeFailureNoMatchingWorkout@6$INStartWorkoutIntentResponseCodeFailureOngoingWorkout@5$INStartWorkoutIntentResponseCodeFailureRequiringAppLaunch@4$INStartWorkoutIntentResponseCodeHandleInApp@7$INStartWorkoutIntentResponseCodeReady@1$INStartWorkoutIntentResponseCodeSuccess@8$INStartWorkoutIntentResponseCodeUnspecified@0$INTaskPriorityFlagged@2$INTaskPriorityNotFlagged@1$INTaskPriorityUnknown@0$INTaskStatusCompleted@2$INTaskStatusNotCompleted@1$INTaskStatusUnknown@0$INTaskTypeCompletable@2$INTaskTypeNotCompletable@1$INTaskTypeUnknown@0$INTemporalEventTriggerTypeOptionNotScheduled@1$INTemporalEventTriggerTypeOptionScheduledNonRecurring@2$INTemporalEventTriggerTypeOptionScheduledRecurring@4$INTicketedEventCategoryMovie@1$INTicketedEventCategoryUnknown@0$INTransferMoneyIntentResponseCodeFailure@4$INTransferMoneyIntentResponseCodeFailureCredentialsUnverified@6$INTransferMoneyIntentResponseCodeFailureInsufficientFunds@7$INTransferMoneyIntentResponseCodeFailureRequiringAppLaunch@5$INTransferMoneyIntentResponseCodeInProgress@2$INTransferMoneyIntentResponseCodeReady@1$INTransferMoneyIntentResponseCodeSuccess@3$INTransferMoneyIntentResponseCodeUnspecified@0$INUpcomingMediaPredictionModeDefault@0$INUpcomingMediaPredictionModeOnlyPredictSuggestedIntents@1$INUpdateMediaAffinityIntentResponseCodeFailure@4$INUpdateMediaAffinityIntentResponseCodeFailureRequiringAppLaunch@5$INUpdateMediaAffinityIntentResponseCodeInProgress@2$INUpdateMediaAffinityIntentResponseCodeReady@1$INUpdateMediaAffinityIntentResponseCodeSuccess@3$INUpdateMediaAffinityIntentResponseCodeUnspecified@0$INUpdateMediaAffinityMediaItemUnsupportedReasonCellularDataSettings@5$INUpdateMediaAffinityMediaItemUnsupportedReasonExplicitContentSettings@4$INUpdateMediaAffinityMediaItemUnsupportedReasonLoginRequired@1$INUpdateMediaAffinityMediaItemUnsupportedReasonRegionRestriction@8$INUpdateMediaAffinityMediaItemUnsupportedReasonRestrictedContent@6$INUpdateMediaAffinityMediaItemUnsupportedReasonServiceUnavailable@7$INUpdateMediaAffinityMediaItemUnsupportedReasonSubscriptionRequired@2$INUpdateMediaAffinityMediaItemUnsupportedReasonUnsupportedMediaType@3$INVisualCodeTypeBus@5$INVisualCodeTypeContact@1$INVisualCodeTypeRequestPayment@2$INVisualCodeTypeSendPayment@3$INVisualCodeTypeSubway@6$INVisualCodeTypeTransit@4$INVisualCodeTypeUnknown@0$INVocabularyStringTypeCarName@301$INVocabularyStringTypeCarProfileName@300$INVocabularyStringTypeContactGroupName@2$INVocabularyStringTypeContactName@1$INVocabularyStringTypeMediaAudiobookAuthorName@703$INVocabularyStringTypeMediaAudiobookTitle@702$INVocabularyStringTypeMediaMusicArtistName@701$INVocabularyStringTypeMediaPlaylistTitle@700$INVocabularyStringTypeMediaShowTitle@704$INVocabularyStringTypeNotebookItemGroupName@501$INVocabularyStringTypeNotebookItemTitle@500$INVocabularyStringTypePaymentsAccountNickname@401$INVocabularyStringTypePaymentsOrganizationName@400$INVocabularyStringTypePhotoAlbumName@101$INVocabularyStringTypePhotoTag@100$INVocabularyStringTypeWorkoutActivityName@200$INWorkoutGoalUnitTypeFoot@3$INWorkoutGoalUnitTypeHour@8$INWorkoutGoalUnitTypeInch@1$INWorkoutGoalUnitTypeJoule@9$INWorkoutGoalUnitTypeKiloCalorie@10$INWorkoutGoalUnitTypeMeter@2$INWorkoutGoalUnitTypeMile@4$INWorkoutGoalUnitTypeMinute@7$INWorkoutGoalUnitTypeSecond@6$INWorkoutGoalUnitTypeUnknown@0$INWorkoutGoalUnitTypeYard@5$INWorkoutLocationTypeIndoor@2$INWorkoutLocationTypeOutdoor@1$INWorkoutLocationTypeUnknown@0$""" -misc.update( - { - "INListCarsIntentResponseCode": NewType("INListCarsIntentResponseCode", int), - "INReservationActionType": NewType("INReservationActionType", int), - "INSetAudioSourceInCarIntentResponseCode": NewType( - "INSetAudioSourceInCarIntentResponseCode", int - ), - "INCallCapability": NewType("INCallCapability", int), - "INIntentHandlingStatus": NewType("INIntentHandlingStatus", int), - "INPlaybackQueueLocation": NewType("INPlaybackQueueLocation", int), - "INSendMessageRecipientUnsupportedReason": NewType( - "INSendMessageRecipientUnsupportedReason", int - ), - "INSpatialEvent": NewType("INSpatialEvent", int), - "INSiriAuthorizationStatus": NewType("INSiriAuthorizationStatus", int), - "INMediaDestinationType": NewType("INMediaDestinationType", int), - "INAddTasksIntentResponseCode": NewType("INAddTasksIntentResponseCode", int), - "INAddMediaMediaDestinationUnsupportedReason": NewType( - "INAddMediaMediaDestinationUnsupportedReason", int - ), - "INInteractionDirection": NewType("INInteractionDirection", int), - "INMediaSortOrder": NewType("INMediaSortOrder", int), - "INWorkoutLocationType": NewType("INWorkoutLocationType", int), - "INNoteContentType": NewType("INNoteContentType", int), - "INResumeWorkoutIntentResponseCode": NewType( - "INResumeWorkoutIntentResponseCode", int - ), - "INMessageType": NewType("INMessageType", int), - "INPlayMediaPlaybackSpeedUnsupportedReason": NewType( - "INPlayMediaPlaybackSpeedUnsupportedReason", int - ), - "INGetRideStatusIntentResponseCode": NewType( - "INGetRideStatusIntentResponseCode", int - ), - "INStartCallCallRecordToCallBackUnsupportedReason": NewType( - "INStartCallCallRecordToCallBackUnsupportedReason", int - ), - "INSearchCallHistoryIntentResponseCode": NewType( - "INSearchCallHistoryIntentResponseCode", int - ), - "INCreateNoteIntentResponseCode": NewType( - "INCreateNoteIntentResponseCode", int - ), - "INMediaUserContextSubscriptionStatus": NewType( - "INMediaUserContextSubscriptionStatus", int - ), - "INPersonSuggestionType": NewType("INPersonSuggestionType", int), - "INPaymentMethodType": NewType("INPaymentMethodType", int), - "INTransferMoneyIntentResponseCode": NewType( - "INTransferMoneyIntentResponseCode", int - ), - "INGetCarPowerLevelStatusIntentResponseCode": NewType( - "INGetCarPowerLevelStatusIntentResponseCode", int - ), - "INSendRideFeedbackIntentResponseCode": NewType( - "INSendRideFeedbackIntentResponseCode", int - ), - "INCallRecordTypeOptions": NewType("INCallRecordTypeOptions", int), - "INTicketedEventCategory": NewType("INTicketedEventCategory", int), - "INUpdateMediaAffinityIntentResponseCode": NewType( - "INUpdateMediaAffinityIntentResponseCode", int - ), - "INStartCallIntentResponseCode": NewType("INStartCallIntentResponseCode", int), - "INTaskType": NewType("INTaskType", int), - "INPlayMediaMediaItemUnsupportedReason": NewType( - "INPlayMediaMediaItemUnsupportedReason", int - ), - "INRequestRideIntentResponseCode": NewType( - "INRequestRideIntentResponseCode", int - ), - "INStartVideoCallIntentResponseCode": NewType( - "INStartVideoCallIntentResponseCode", int - ), - "INPayBillIntentResponseCode": NewType("INPayBillIntentResponseCode", int), - "INVocabularyStringType": NewType("INVocabularyStringType", int), - "INSearchForAccountsIntentResponseCode": NewType( - "INSearchForAccountsIntentResponseCode", int - ), - "INFocusStatusAuthorizationStatus": NewType( - "INFocusStatusAuthorizationStatus", int - ), - "INMessageAttribute": NewType("INMessageAttribute", int), - "INSearchForNotebookItemsIntentResponseCode": NewType( - "INSearchForNotebookItemsIntentResponseCode", int - ), - "INCarAirCirculationMode": NewType("INCarAirCirculationMode", int), - "INSendPaymentIntentResponseCode": NewType( - "INSendPaymentIntentResponseCode", int - ), - "INCallDestinationType": NewType("INCallDestinationType", int), - "INBookRestaurantReservationIntentCode": NewType( - "INBookRestaurantReservationIntentCode", int - ), - "INAddMediaIntentResponseCode": NewType("INAddMediaIntentResponseCode", int), - "INSetSeatSettingsInCarIntentResponseCode": NewType( - "INSetSeatSettingsInCarIntentResponseCode", int - ), - "INTaskStatus": NewType("INTaskStatus", int), - "INRelevantShortcutRole": NewType("INRelevantShortcutRole", int), - "INDailyRoutineSituation": NewType("INDailyRoutineSituation", int), - "INStartWorkoutIntentResponseCode": NewType( - "INStartWorkoutIntentResponseCode", int - ), - "INSearchForPhotosIntentResponseCode": NewType( - "INSearchForPhotosIntentResponseCode", int - ), - "INMessageAttributeOptions": NewType("INMessageAttributeOptions", int), - "INPaymentStatus": NewType("INPaymentStatus", int), - "INRecurrenceFrequency": NewType("INRecurrenceFrequency", int), - "INAddMediaMediaItemUnsupportedReason": NewType( - "INAddMediaMediaItemUnsupportedReason", int - ), - "INGetCarLockStatusIntentResponseCode": NewType( - "INGetCarLockStatusIntentResponseCode", int - ), - "INAddTasksTargetTaskListConfirmationReason": NewType( - "INAddTasksTargetTaskListConfirmationReason", int - ), - "INCarDefroster": NewType("INCarDefroster", int), - "INSearchForMediaIntentResponseCode": NewType( - "INSearchForMediaIntentResponseCode", int - ), - "INOutgoingMessageType": NewType("INOutgoingMessageType", int), - "INDayOfWeekOptions": NewType("INDayOfWeekOptions", int), - "INBalanceType": NewType("INBalanceType", int), - "INRidePhase": NewType("INRidePhase", int), - "INNotebookItemType": NewType("INNotebookItemType", int), - "INUpcomingMediaPredictionMode": NewType("INUpcomingMediaPredictionMode", int), - "INDeleteTasksTaskUnsupportedReason": NewType( - "INDeleteTasksTaskUnsupportedReason", int - ), - "INPhotoAttributeOptions": NewType("INPhotoAttributeOptions", int), - "INPersonHandleType": NewType("INPersonHandleType", int), - "INSnoozeTasksIntentResponseCode": NewType( - "INSnoozeTasksIntentResponseCode", int - ), - "INSetTaskAttributeTemporalEventTriggerUnsupportedReason": NewType( - "INSetTaskAttributeTemporalEventTriggerUnsupportedReason", int - ), - "INCallRecordType": NewType("INCallRecordType", int), - "INCarSignalOptions": NewType("INCarSignalOptions", int), - "INGetAvailableRestaurantReservationBookingDefaultsIntentResponseCode": NewType( - "INGetAvailableRestaurantReservationBookingDefaultsIntentResponseCode", int - ), - "INSearchForMessagesIntentResponseCode": NewType( - "INSearchForMessagesIntentResponseCode", int - ), - "INCarAudioSource": NewType("INCarAudioSource", int), - "INAccountType": NewType("INAccountType", int), - "INBillType": NewType("INBillType", int), - "INGetRestaurantGuestIntentResponseCode": NewType( - "INGetRestaurantGuestIntentResponseCode", int - ), - "INMediaAffinityType": NewType("INMediaAffinityType", int), - "INGetAvailableRestaurantReservationBookingsIntentCode": NewType( - "INGetAvailableRestaurantReservationBookingsIntentCode", int - ), - "INAddTasksTemporalEventTriggerUnsupportedReason": NewType( - "INAddTasksTemporalEventTriggerUnsupportedReason", int - ), - "INRadioType": NewType("INRadioType", int), - "INGetReservationDetailsIntentResponseCode": NewType( - "INGetReservationDetailsIntentResponseCode", int - ), - "INCallAudioRoute": NewType("INCallAudioRoute", int), - "INConditionalOperator": NewType("INConditionalOperator", int), - "INSendPaymentCurrencyAmountUnsupportedReason": NewType( - "INSendPaymentCurrencyAmountUnsupportedReason", int - ), - "INSaveProfileInCarIntentResponseCode": NewType( - "INSaveProfileInCarIntentResponseCode", int - ), - "INCallCapabilityOptions": NewType("INCallCapabilityOptions", int), - "INReservationStatus": NewType("INReservationStatus", int), - "INSetTaskAttributeIntentResponseCode": NewType( - "INSetTaskAttributeIntentResponseCode", int - ), - "INDeleteTasksTaskListUnsupportedReason": NewType( - "INDeleteTasksTaskListUnsupportedReason", int - ), - "INRideFeedbackTypeOptions": NewType("INRideFeedbackTypeOptions", int), - "INRelativeSetting": NewType("INRelativeSetting", int), - "INRelativeReference": NewType("INRelativeReference", int), - "INSetRadioStationIntentResponseCode": NewType( - "INSetRadioStationIntentResponseCode", int - ), - "INSendPaymentPayeeUnsupportedReason": NewType( - "INSendPaymentPayeeUnsupportedReason", int - ), - "INSetClimateSettingsInCarIntentResponseCode": NewType( - "INSetClimateSettingsInCarIntentResponseCode", int - ), - "INStartPhotoPlaybackIntentResponseCode": NewType( - "INStartPhotoPlaybackIntentResponseCode", int - ), - "INPauseWorkoutIntentResponseCode": NewType( - "INPauseWorkoutIntentResponseCode", int - ), - "INSearchForBillsIntentResponseCode": NewType( - "INSearchForBillsIntentResponseCode", int - ), - "INWorkoutGoalUnitType": NewType("INWorkoutGoalUnitType", int), - "INStartCallContactUnsupportedReason": NewType( - "INStartCallContactUnsupportedReason", int - ), - "INCancelWorkoutIntentResponseCode": NewType( - "INCancelWorkoutIntentResponseCode", int - ), - "INMediaReference": NewType("INMediaReference", int), - "INRestaurantReservationUserBookingStatus": NewType( - "INRestaurantReservationUserBookingStatus", int - ), - "INSetMessageAttributeIntentResponseCode": NewType( - "INSetMessageAttributeIntentResponseCode", int - ), - "INListRideOptionsIntentResponseCode": NewType( - "INListRideOptionsIntentResponseCode", int - ), - "INTaskPriority": NewType("INTaskPriority", int), - "INGetUserCurrentRestaurantReservationBookingsIntentResponseCode": NewType( - "INGetUserCurrentRestaurantReservationBookingsIntentResponseCode", int - ), - "INDateSearchType": NewType("INDateSearchType", int), - "INStartCallCallCapabilityUnsupportedReason": NewType( - "INStartCallCallCapabilityUnsupportedReason", int - ), - "INMediaItemType": NewType("INMediaItemType", int), - "INCreateTaskListIntentResponseCode": NewType( - "INCreateTaskListIntentResponseCode", int - ), - "INCancelRideIntentResponseCode": NewType( - "INCancelRideIntentResponseCode", int - ), - "INAppendToNoteIntentResponseCode": NewType( - "INAppendToNoteIntentResponseCode", int - ), - "INIntentErrorCode": NewType("INIntentErrorCode", int), - "INSetDefrosterSettingsInCarIntentResponseCode": NewType( - "INSetDefrosterSettingsInCarIntentResponseCode", int - ), - "INUpdateMediaAffinityMediaItemUnsupportedReason": NewType( - "INUpdateMediaAffinityMediaItemUnsupportedReason", int - ), - "INStartAudioCallIntentResponseCode": NewType( - "INStartAudioCallIntentResponseCode", int - ), - "INRequestPaymentCurrencyAmountUnsupportedReason": NewType( - "INRequestPaymentCurrencyAmountUnsupportedReason", int - ), - "INSetCarLockStatusIntentResponseCode": NewType( - "INSetCarLockStatusIntentResponseCode", int - ), - "INSortType": NewType("INSortType", int), - "INRequestPaymentPayerUnsupportedReason": NewType( - "INRequestPaymentPayerUnsupportedReason", int - ), - "INTemporalEventTriggerTypeOptions": NewType( - "INTemporalEventTriggerTypeOptions", int - ), - "INEndWorkoutIntentResponseCode": NewType( - "INEndWorkoutIntentResponseCode", int - ), - "INActivateCarSignalIntentResponseCode": NewType( - "INActivateCarSignalIntentResponseCode", int - ), - "INPlayMediaIntentResponseCode": NewType("INPlayMediaIntentResponseCode", int), - "INSearchForMediaMediaItemUnsupportedReason": NewType( - "INSearchForMediaMediaItemUnsupportedReason", int - ), - "INSetProfileInCarIntentResponseCode": NewType( - "INSetProfileInCarIntentResponseCode", int - ), - "INGetVisualCodeIntentResponseCode": NewType( - "INGetVisualCodeIntentResponseCode", int - ), - "INLocationSearchType": NewType("INLocationSearchType", int), - "INCarSeat": NewType("INCarSeat", int), - "INShortcutAvailabilityOptions": NewType("INShortcutAvailabilityOptions", int), - "INSnoozeTasksTaskUnsupportedReason": NewType( - "INSnoozeTasksTaskUnsupportedReason", int - ), - "INDeleteTasksIntentResponseCode": NewType( - "INDeleteTasksIntentResponseCode", int - ), - "INVisualCodeType": NewType("INVisualCodeType", int), - "INPlaybackRepeatMode": NewType("INPlaybackRepeatMode", int), - "INShareFocusStatusIntentResponseCode": NewType( - "INShareFocusStatusIntentResponseCode", int - ), - "INRequestPaymentIntentResponseCode": NewType( - "INRequestPaymentIntentResponseCode", int - ), - "INAmountType": NewType("INAmountType", int), - "INSendMessageIntentResponseCode": NewType( - "INSendMessageIntentResponseCode", int - ), - } -) -misc.update( - { - "INPersonRelationship": NewType("INPersonRelationship", str), - "INPersonHandleLabel": NewType("INPersonHandleLabel", str), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"INBooleanResolutionResult", - b"successWithResolvedValue:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"INFile", b"removedOnCompletion", {"retval": {"type": b"Z"}}) - r(b"INFile", b"setRemovedOnCompletion:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"INFocusStatusCenter", - b"requestAuthorizationWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"INInteraction", - b"deleteAllInteractionsWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INInteraction", - b"deleteInteractionsWithGroupIdentifier:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INInteraction", - b"deleteInteractionsWithIdentifiers:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INInteraction", - b"deleteInteractionsWithIdentifiers:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INInteraction", - b"donateInteractionWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INObjectCollection", - b"setUsesIndexedCollation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"INObjectCollection", b"usesIndexedCollation", {"retval": {"type": b"Z"}}) - r(b"INParameter", b"isEqualToParameter:", {"retval": {"type": "Z"}}) - r( - b"INPerson", - b"initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:", - {"arguments": {8: {"type": b"Z"}}}, - ) - r( - b"INPerson", - b"initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:", - {"arguments": {8: {"type": "Z"}}}, - ) - r( - b"INPerson", - b"initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:", - {"arguments": {8: {"type": b"Z"}}}, - ) - r(b"INPerson", b"isContactSuggestion", {"retval": {"type": "Z"}}) - r(b"INPerson", b"isMe", {"retval": {"type": b"Z"}}) - r( - b"INPreferences", - b"requestSiriAuthorization:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"INRelevantShortcutStore", - b"setRelevantShortcuts:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"emailAddressEditable", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"emailAddressFieldShouldBeDisplayed", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"nameEditable", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"nameFieldFirstNameOptional", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"nameFieldLastNameOptional", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"nameFieldShouldBeDisplayed", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"phoneNumberEditable", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"phoneNumberFieldShouldBeDisplayed", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setEmailAddressEditable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setEmailAddressFieldShouldBeDisplayed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setNameEditable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setNameFieldFirstNameOptional:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setNameFieldLastNameOptional:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setNameFieldShouldBeDisplayed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setPhoneNumberEditable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantGuestDisplayPreferences", - b"setPhoneNumberFieldShouldBeDisplayed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantReservationBooking", - b"isBookingAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantReservationBooking", - b"requiresEmailAddress", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantReservationBooking", - b"requiresManualRequest", - {"retval": {"type": b"Z"}}, - ) - r(b"INRestaurantReservationBooking", b"requiresName", {"retval": {"type": b"Z"}}) - r( - b"INRestaurantReservationBooking", - b"requiresPhoneNumber", - {"retval": {"type": b"Z"}}, - ) - r( - b"INRestaurantReservationBooking", - b"setBookingAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantReservationBooking", - b"setRequiresEmailAddress:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantReservationBooking", - b"setRequiresManualRequest:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantReservationBooking", - b"setRequiresName:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INRestaurantReservationBooking", - b"setRequiresPhoneNumber:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"INRideCompletionStatus", b"isCanceled", {"retval": {"type": b"Z"}}) - r(b"INRideCompletionStatus", b"isCompleted", {"retval": {"type": b"Z"}}) - r(b"INRideCompletionStatus", b"isMissedPickup", {"retval": {"type": b"Z"}}) - r(b"INRideCompletionStatus", b"isOutstanding", {"retval": {"type": b"Z"}}) - r( - b"INSendMessageIntentDonationMetadata", - b"isReplyToCurrentUser", - {"retval": {"type": b"Z"}}, - ) - r( - b"INSendMessageIntentDonationMetadata", - b"mentionsCurrentUser", - {"retval": {"type": b"Z"}}, - ) - r( - b"INSendMessageIntentDonationMetadata", - b"notifyRecipientAnyway", - {"retval": {"type": b"Z"}}, - ) - r( - b"INSendMessageIntentDonationMetadata", - b"setMentionsCurrentUser:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INSendMessageIntentDonationMetadata", - b"setNotifyRecipientAnyway:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INSendMessageIntentDonationMetadata", - b"setReplyToCurrentUser:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"INVoiceShortcutCenter", - b"getAllVoiceShortcutsWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"INVoiceShortcutCenter", - b"getVoiceShortcutWithIdentifier:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSObject", - b"alternativeSpeakableMatches", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"confirmActivateCarSignal:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmAddMedia:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmAddTasks:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmAppendToNote:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmBookRestaurantReservation:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmCancelRide:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmCancelWorkout:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmCreateNote:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmCreateTaskList:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmDeleteTasks:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmEndWorkout:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetAvailableRestaurantReservationBookingDefaults:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetAvailableRestaurantReservationBookings:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetCarLockStatus:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetCarPowerLevelStatus:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetRestaurantGuest:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetRideStatus:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetUserCurrentRestaurantReservationBookings:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmGetVisualCode:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmListCars:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmListRideOptions:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmPauseWorkout:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmPayBill:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmPlayMedia:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmRequestPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmRequestRide:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmResumeWorkout:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSaveProfileInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchCallHistory:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForAccounts:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForBills:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForMedia:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForMessages:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForNotebookItems:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSearchForPhotos:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSendMessage:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSendPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSendRideFeedback:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetAudioSourceInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetCarLockStatus:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetClimateSettingsInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetDefrosterSettingsInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetMessageAttribute:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetProfileInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetRadioStation:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetSeatSettingsInCar:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSetTaskAttribute:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmShareFocusStatus:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmSnoozeTasks:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmStartAudioCall:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmStartCall:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmStartPhotoPlayback:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmStartVideoCall:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmStartWorkout:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmTransferMoney:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"confirmUpdateMediaAffinity:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"getCarPowerLevelStatusResponseDidUpdate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"getRideStatusResponseDidUpdate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleActivateCarSignal:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleAddMedia:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleAddTasks:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleAppendToNote:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleBookRestaurantReservation:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleCancelRide:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleCancelWorkout:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleCreateNote:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleCreateTaskList:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleDeleteTasks:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleEndWorkout:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetAvailableRestaurantReservationBookingDefaults:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetAvailableRestaurantReservationBookings:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetCarLockStatus:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetCarPowerLevelStatus:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetRestaurantGuest:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetRideStatus:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetUserCurrentRestaurantReservationBookings:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleGetVisualCode:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleListCars:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleListRideOptions:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handlePauseWorkout:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handlePayBill:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handlePlayMedia:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleRequestPayment:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleRequestRide:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleResumeWorkout:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSaveProfileInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchCallHistory:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForAccounts:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForBills:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForMedia:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForMessages:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForNotebookItems:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSearchForPhotos:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSendMessage:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSendPayment:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSendRideFeedback:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetAudioSourceInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetCarLockStatus:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetClimateSettingsInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetDefrosterSettingsInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetMessageAttribute:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetProfileInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetRadioStation:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetSeatSettingsInCar:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSetTaskAttribute:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleShareFocusStatus:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSnoozeTasks:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleStartAudioCall:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleStartCall:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleStartPhotoPlayback:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleStartVideoCall:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleStartWorkout:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleTransferMoney:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleUpdateMediaAffinity:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handlerForIntent:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"identifier", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"pronunciationHint", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"resolveAccountNicknameForSearchForAccounts:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAccountTypeForSearchForAccounts:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAffinityTypeForUpdateMediaAffinity:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAirCirculationModeForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAlbumNameForSearchForPhotos:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAlbumNameForStartPhotoPlayback:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAttributeForSetMessageAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAttributesForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveAudioSourceForSetAudioSourceInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveBillPayeeForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveBillPayeeForSearchForBills:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveBillTypeForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveBillTypeForSearchForBills:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveBookingDateComponentsForBookRestaurantReservation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCallCapabilitiesForSearchCallHistory:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveCallCapabilityForStartCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCallRecordToCallBackForStartCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCallTypeForSearchCallHistory:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCallTypesForSearchCallHistory:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForActivateCarSignal:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForGetCarLockStatus:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForGetCarPowerLevelStatus:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForSetCarLockStatus:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForSetDefrosterSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForSetProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCarNameForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveChannelForSetRadioStation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveClimateZoneForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContactsForStartAudioCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContactsForStartCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContactsForStartVideoCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContentForAppendToNote:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContentForCreateNote:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContentForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveContentForSendMessage:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCurrencyAmountForRequestPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCurrencyAmountForRequestPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCurrencyAmountForSendPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveCurrencyAmountForSendPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateCreatedForSearchCallHistory:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateCreatedForSearchForPhotos:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateCreatedForStartPhotoPlayback:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateSearchTypeForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateTimeForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDateTimeRangeForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDefaultProfileForSetProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDefrosterForSetDefrosterSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDestinationTypeForStartAudioCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDestinationTypeForStartCall:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDropOffLocationForListRideOptions:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDropOffLocationForRequestRide:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDueDateForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveDueDateRangeForSearchForBills:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableAirConditionerForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableAutoModeForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableClimateControlForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableCoolingForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableFanForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableForSetDefrosterSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableHeatingForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveEnableMassageForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveFanSpeedIndexForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveFanSpeedPercentageForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveFrequencyForSetRadioStation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveFromAccountForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveFromAccountForTransferMoney:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGoalValueForStartWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGroupNameForCreateNote:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGroupNameForCreateTaskList:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGroupNameForSendMessage:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGroupNamesForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGuestForBookRestaurantReservation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveGuestProvidedSpecialRequestTextForBookRestaurantReservation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveIdentifiersForSearchForMessages:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveIsOpenEndedForStartWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveItemTypeForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLevelForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLocationCreatedForSearchForPhotos:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLocationCreatedForStartPhotoPlayback:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLocationForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLocationSearchTypeForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveLockedForSetCarLockStatus:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveMediaDestinationForAddMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveMediaItemsForAddMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveMediaItemsForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveMediaItemsForSearchForMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveMediaItemsForUpdateMediaAffinity:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveNextTriggerTimeForSnoozeTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveNoteForRequestPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveNoteForSendPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveNotificationIdentifiersForSearchForMessages:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveOrganizationNameForSearchForAccounts:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveOutgoingMessageTypeForSendMessage:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePartySizeForBookRestaurantReservation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePartySizeForGetAvailableRestaurantReservationBookings:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePartySizeForRequestRide:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePayeeForSendPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePayeeForSendPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePayerForRequestPayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePayerForRequestPayment:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePaymentDateRangeForSearchForBills:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePeopleInPhotoForSearchForPhotos:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePeopleInPhotoForStartPhotoPlayback:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePickupLocationForListRideOptions:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePickupLocationForRequestRide:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePlayShuffledForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePlaybackQueueLocationForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePlaybackRepeatModeForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePlaybackSpeedForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePreferredBookingDateComponentsForGetAvailableRestaurantReservationBookings:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePresetNumberForSetRadioStation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePriorityForAddTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolvePriorityForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveProfileNameForSaveProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveProfileNameForSetProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveProfileNumberForSaveProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveProfileNumberForSetProfileInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRadioTypeForSetRadioStation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRecipientForSearchCallHistory:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRecipientsForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRecipientsForSendMessage:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRecipientsForSendMessage:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRelativeAudioSourceReferenceForSetAudioSourceInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRelativeFanSpeedSettingForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRelativeLevelSettingForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRelativeTemperatureSettingForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRequestedBalanceTypeForSearchForAccounts:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRestaurantForBookRestaurantReservation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRestaurantForGetAvailableRestaurantReservationBookingDefaults:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRestaurantForGetAvailableRestaurantReservationBookings:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRestaurantForGetUserCurrentRestaurantReservationBookings:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveResumePlaybackForPlayMedia:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveRideOptionNameForRequestRide:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveScheduledPickupTimeForRequestRide:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSearchTermsForSearchForMessages:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveSearchTermsForSearchForPhotos:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSeatForSetSeatSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSenderForSendMessage:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveSendersForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveServiceNameForSendMessage:withCompletion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"resolveSignalsForActivateCarSignal:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSpatialEventTriggerForAddTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSpatialEventTriggerForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSpeakableGroupNameForSendMessage:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveSpeakableGroupNamesForSearchForMessages:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveStationNameForSetRadioStation:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveStatusForSearchForBills:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveStatusForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveStatusForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTargetNoteForAppendToNote:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTargetTaskForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTargetTaskListForAddTasks:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTargetTaskListForAddTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTaskListForDeleteTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTaskPriorityForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTaskTitleForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTaskTitlesForAddTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTaskTitlesForCreateTaskList:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTasksForDeleteTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTasksForSnoozeTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemperatureForSetClimateSettingsInCar:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemporalEventTriggerForAddTasks:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemporalEventTriggerForAddTasks:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemporalEventTriggerForSetTaskAttribute:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemporalEventTriggerForSetTaskAttribute:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTemporalEventTriggerTypesForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTitleForCreateNote:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTitleForCreateTaskList:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTitleForSearchForNotebookItems:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveToAccountForTransferMoney:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionAmountForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionAmountForTransferMoney:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionNoteForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionNoteForTransferMoney:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionScheduledDateForPayBill:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveTransactionScheduledDateForTransferMoney:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveUnseenForSearchCallHistory:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveVisualCodeTypeForGetVisualCode:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutGoalUnitTypeForStartWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutLocationTypeForStartWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutNameForCancelWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutNameForEndWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutNameForPauseWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutNameForResumeWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"resolveWorkoutNameForStartWorkout:withCompletion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"spokenPhrase", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"startSendingUpdatesForGetCarPowerLevelStatus:toObserver:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"startSendingUpdatesForGetRideStatus:toObserver:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"stopSendingUpdatesForGetCarPowerLevelStatus:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"stopSendingUpdatesForGetRideStatus:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"vocabularyIdentifier", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"null", b"deferredLocalizedIntentsStringWithFormat:", {"variadic": True}) - r( - b"null", - b"deferredLocalizedIntentsStringWithFormat:fromTable:", - {"variadic": True}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/IntentsUI/__init__.py b/src/lib/IntentsUI/__init__.py deleted file mode 100644 index 1ad3fb7..0000000 --- a/src/lib/IntentsUI/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the IntentsUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Intents -import objc -from IntentsUI import _metadata, _IntentsUI - -sys.modules["IntentsUI"] = mod = objc.ObjCLazyModule( - "IntentsUI", - "com.apple.IntentsUI", - objc.pathForFramework("/System/Library/Frameworks/IntentsUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_IntentsUI, Intents), -) - - -del sys.modules["IntentsUI._metadata"] diff --git a/src/lib/IntentsUI/_metadata.py b/src/lib/IntentsUI/_metadata.py deleted file mode 100644 index eb067a8..0000000 --- a/src/lib/IntentsUI/_metadata.py +++ /dev/null @@ -1,153 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:56:02 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$IntentsUIVersionNumber@d$""" -enums = """$INUIAddVoiceShortcutButtonStyleAutomatic@4$INUIAddVoiceShortcutButtonStyleAutomaticOutline@5$INUIAddVoiceShortcutButtonStyleBlack@2$INUIAddVoiceShortcutButtonStyleBlackOutline@3$INUIAddVoiceShortcutButtonStyleWhite@0$INUIAddVoiceShortcutButtonStyleWhiteOutline@1$INUIHostedViewContextMapsCard@1$INUIHostedViewContextSiriSnippet@0$INUIInteractiveBehaviorGenericAction@3$INUIInteractiveBehaviorLaunch@2$INUIInteractiveBehaviorNextView@1$INUIInteractiveBehaviorNone@0$""" -misc.update( - {"INUIAddVoiceShortcutButtonStyle": NewType("INUIAddVoiceShortcutButtonStyle", int)} -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"addVoiceShortcutViewController:didFinishWithVoiceShortcut:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"addVoiceShortcutViewControllerDidCancel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"configureViewForParameters:ofInteraction:interactiveBehavior:context:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - 3: {"type": b"{CGSize=dd}"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"configureWithInteraction:context:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"{CGSize=dd}"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"displaysMap", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"displaysMessage", {"required": False, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"displaysPaymentTransaction", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"editVoiceShortcutViewController:didDeleteVoiceShortcutWithIdentifier:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"editVoiceShortcutViewController:didUpdateVoiceShortcut:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"editVoiceShortcutViewControllerDidCancel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentAddVoiceShortcutViewController:forAddVoiceShortcutButton:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"presentEditVoiceShortcutViewController:forAddVoiceShortcutButton:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/JavaScriptCore/__init__.py b/src/lib/JavaScriptCore/__init__.py deleted file mode 100644 index 795291d..0000000 --- a/src/lib/JavaScriptCore/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the JavaScriptCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import JavaScriptCore._util -import objc -from JavaScriptCore import _metadata - -sys.modules["JavaScriptCore"] = mod = objc.ObjCLazyModule( - "JavaScriptCore", - "com.apple.JavaScriptCore", - objc.pathForFramework("/System/Library/Frameworks/JavaScriptCore.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreFoundation,), -) - - -del sys.modules["JavaScriptCore._metadata"] - - -mod.autoreleasing = JavaScriptCore._util.autoreleasing diff --git a/src/lib/JavaScriptCore/_metadata.py b/src/lib/JavaScriptCore/_metadata.py deleted file mode 100644 index 44b9ee3..0000000 --- a/src/lib/JavaScriptCore/_metadata.py +++ /dev/null @@ -1,567 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:31:42 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$JSPropertyDescriptorConfigurableKey$JSPropertyDescriptorEnumerableKey$JSPropertyDescriptorGetKey$JSPropertyDescriptorSetKey$JSPropertyDescriptorValueKey$JSPropertyDescriptorWritableKey$""" -enums = """$JSC_OBJC_API_ENABLED@1$WEBKIT_VERSION_1_0@256$WEBKIT_VERSION_1_1@272$WEBKIT_VERSION_1_2@288$WEBKIT_VERSION_1_3@304$WEBKIT_VERSION_2_0@512$WEBKIT_VERSION_3_0@768$WEBKIT_VERSION_3_1@784$WEBKIT_VERSION_4_0@1024$WEBKIT_VERSION_LATEST@39321$kJSClassAttributeNoAutomaticPrototype@2$kJSClassAttributeNone@0$kJSPropertyAttributeDontDelete@8$kJSPropertyAttributeDontEnum@4$kJSPropertyAttributeNone@0$kJSPropertyAttributeReadOnly@2$kJSTypeBoolean@2$kJSTypeNull@1$kJSTypeNumber@3$kJSTypeObject@5$kJSTypeString@4$kJSTypeSymbol@6$kJSTypeUndefined@0$kJSTypedArrayTypeArrayBuffer@9$kJSTypedArrayTypeBigInt64Array@11$kJSTypedArrayTypeBigUint64Array@12$kJSTypedArrayTypeFloat32Array@7$kJSTypedArrayTypeFloat64Array@8$kJSTypedArrayTypeInt16Array@1$kJSTypedArrayTypeInt32Array@2$kJSTypedArrayTypeInt8Array@0$kJSTypedArrayTypeNone@10$kJSTypedArrayTypeUint16Array@5$kJSTypedArrayTypeUint32Array@6$kJSTypedArrayTypeUint8Array@3$kJSTypedArrayTypeUint8ClampedArray@4$""" -misc.update({}) -misc.update({}) -functions = { - "JSObjectSetPropertyForKey": ( - b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "JSClassRetain": (b"^{OpaqueJSClass=}^{OpaqueJSClass=}",), - "JSValueCreateJSONString": ( - b"^{OpaqueJSString=}^{OpaqueJSContext=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSObjectDeletePropertyForKey": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSValueGetTypedArrayType": ( - b"I^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSStringCreateWithCFString": ( - b"^{OpaqueJSString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSValueToBoolean": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSStringCopyCFString": ( - b"^{__CFString=}^{__CFAllocator=}^{OpaqueJSString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSObjectMakeTypedArray": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}IL^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSValueMakeString": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}",), - "JSObjectGetArrayBufferBytesPtr": ( - b"^v^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "retval": {"c_array_of_variable_length": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "JSObjectGetTypedArrayByteOffset": ( - b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSValueMakeNumber": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}d",), - "JSObjectMakeError": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "JSValueProtect": (b"v^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSValueIsDate": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSObjectGetTypedArrayBytesPtr": ( - b"^v^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "retval": {"c_array_of_variable_length": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "JSValueToStringCopy": ( - b"^{OpaqueJSString=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSValueIsNumber": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSObjectHasProperty": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}", - ), - "JSValueIsEqual": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - ), - "JSValueIsArray": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSValueToNumber": (b"d^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}",), - "JSObjectMakeDeferredPromise": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^^{OpaqueJSValue=}^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "JSObjectGetTypedArrayByteLength": ( - b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSValueUnprotect": (b"v^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSObjectSetPropertyAtIndex": ( - b"v^{OpaqueJSContext=}^{OpaqueJSValue=}I^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "JSObjectGetTypedArrayLength": ( - b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSObjectCallAsFunction": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 4: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 5: {"type_modifier": "o"}, - } - }, - ), - "JSPropertyNameArrayGetCount": (b"Q^{OpaqueJSPropertyNameArray=}",), - "JSStringGetLength": (b"Q^{OpaqueJSString=}",), - "JSValueToObject": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - ), - "JSValueIsString": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSObjectCopyPropertyNames": ( - b"^{OpaqueJSPropertyNameArray=}^{OpaqueJSContext=}^{OpaqueJSValue=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSGlobalContextCopyName": ( - b"^{OpaqueJSString=}^{OpaqueJSContext=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSClassRelease": (b"v^{OpaqueJSClass=}",), - "JSValueMakeUndefined": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",), - "JSObjectMakeArray": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "JSGlobalContextSetName": (b"v^{OpaqueJSContext=}^{OpaqueJSString=}",), - "JSStringGetMaximumUTF8CStringSize": (b"Q^{OpaqueJSString=}",), - "JSStringCreateWithCharacters": ( - b"^{OpaqueJSString=}^TQ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "JSValueIsSymbol": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSObjectMakeTypedArrayWithArrayBufferAndOffset": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^{OpaqueJSValue=}QQ^^{OpaqueJSValue=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "JSObjectCallAsConstructor": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "JSObjectIsFunction": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSValueIsInstanceOfConstructor": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - ), - "JSCheckScriptSyntax": ( - b"B^{OpaqueJSContext=}^{OpaqueJSString=}^{OpaqueJSString=}i^^{OpaqueJSValue=}", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "JSObjectIsConstructor": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSPropertyNameArrayRelease": (b"v^{OpaqueJSPropertyNameArray=}",), - "JSValueIsBoolean": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSContextGroupRetain": (b"^{OpaqueJSContextGroup=}^{OpaqueJSContextGroup=}",), - "JSGlobalContextRetain": (b"^{OpaqueJSContext=}^{OpaqueJSContext=}",), - "JSStringRelease": (b"v^{OpaqueJSString=}",), - "JSObjectMakeFunctionWithCallback": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{OpaqueJSValue=}"}, - "arguments": { - 0: {"type": b"^{OpaqueJSContext=}"}, - 1: {"type": b"^{OpaqueJSValue=}"}, - 2: {"type": b"^{OpaqueJSValue=}"}, - 3: {"type": b"L"}, - 4: { - "type": b"^^{OpaqueJSValue=}", - "type_modifier": "n", - "c_array_length_in_arg": 3, - }, - 5: {"type": b"^^{OpaqueJSValue=}", "type_modifier": "o"}, - }, - } - } - } - }, - ), - "JSValueIsObject": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSStringGetUTF8CString": ( - b"Q^{OpaqueJSString=}^tQ", - "", - { - "arguments": { - 1: { - "c_array_length_in_result": True, - "type_modifier": "o", - "c_array_length_in_arg": 2, - } - } - }, - ), - "JSGlobalContextCreate": ( - b"^{OpaqueJSContext=}^{OpaqueJSClass=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSObjectSetProperty": ( - b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "JSValueMakeBoolean": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}B",), - "JSGlobalContextRelease": (b"v^{OpaqueJSContext=}",), - "JSObjectMakeRegExp": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "JSStringIsEqualToUTF8CString": ( - b"B^{OpaqueJSString=}^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "JSObjectGetProperty": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSObjectMakeArrayBufferWithBytesNoCopy": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^vQ^?^v^^{OpaqueJSValue=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, - }, - "callable_retained": True, - }, - 5: {"type_modifier": "o"}, - }, - }, - ), - "JSValueIsNull": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSPropertyNameAccumulatorAddName": ( - b"v^{OpaqueJSPropertyNameAccumulator=}^{OpaqueJSString=}", - ), - "JSStringRetain": (b"^{OpaqueJSString=}^{OpaqueJSString=}",), - "JSObjectHasPropertyForKey": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSObjectMakeConstructor": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSClass=}^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"^{OpaqueJSValue=}"}, - "arguments": { - 0: {"type": b"^{OpaqueJSContext=}"}, - 1: {"type": b"^{OpaqueJSValue=}"}, - 2: {"type": b"L"}, - 3: { - "type": b"^^{OpaqueJSValue=}", - "type_modifier": "n", - "c_array_length_in_arg": 2, - }, - 4: {"type": b"^^{OpaqueJSValue=}", "type_modifier": "o"}, - }, - } - } - } - }, - ), - "JSObjectSetPrivate": (b"B^{OpaqueJSValue=}^v",), - "JSObjectMakeTypedArrayWithBytesNoCopy": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^vL^?^v^^{OpaqueJSValue=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, - } - }, - 6: {"type_modifier": "o"}, - }, - }, - ), - "JSValueMakeFromJSONString": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}", - ), - "JSEvaluateScript": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}^{OpaqueJSValue=}^{OpaqueJSString=}i^^{OpaqueJSValue=}", - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "JSContextGetGlobalContext": (b"^{OpaqueJSContext=}^{OpaqueJSContext=}",), - "JSStringCreateWithUTF8CString": ( - b"^{OpaqueJSString=}^t", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "JSObjectGetTypedArrayBuffer": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSObjectGetArrayBufferByteLength": ( - b"Q^{OpaqueJSContext=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "JSContextGetGlobalObject": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",), - "JSPropertyNameArrayRetain": ( - b"^{OpaqueJSPropertyNameArray=}^{OpaqueJSPropertyNameArray=}", - ), - "JSObjectMake": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSClass=}^v",), - "JSObjectGetPrivate": (b"^v^{OpaqueJSValue=}",), - "JSValueIsUndefined": (b"B^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSValueIsObjectOfClass": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSClass=}", - ), - "JSObjectGetPrototype": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}",), - "JSPropertyNameArrayGetNameAtIndex": ( - b"^{OpaqueJSString=}^{OpaqueJSPropertyNameArray=}Q", - ), - "JSValueMakeNull": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}",), - "JSContextGetGroup": (b"^{OpaqueJSContextGroup=}^{OpaqueJSContext=}",), - "JSContextGroupCreate": ( - b"^{OpaqueJSContextGroup=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSObjectDeleteProperty": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSString=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSObjectGetPropertyForKey": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSObjectMakeFunction": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}I^^{OpaqueJSString=}^{OpaqueJSString=}^{OpaqueJSString=}i^^{OpaqueJSValue=}", - "", - { - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 7: {"type_modifier": "o"}, - } - }, - ), - "JSObjectGetPropertyAtIndex": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSValue=}I^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSStringIsEqual": (b"B^{OpaqueJSString=}^{OpaqueJSString=}",), - "JSObjectSetPrototype": ( - b"v^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}", - ), - "JSContextGroupRelease": (b"v^{OpaqueJSContextGroup=}",), - "JSValueIsStrictEqual": ( - b"B^{OpaqueJSContext=}^{OpaqueJSValue=}^{OpaqueJSValue=}", - ), - "JSGlobalContextCreateInGroup": ( - b"^{OpaqueJSContext=}^{OpaqueJSContextGroup=}^{OpaqueJSClass=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "JSObjectMakeDate": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}Q^^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "JSObjectMakeTypedArrayWithArrayBuffer": ( - b"^{OpaqueJSValue=}^{OpaqueJSContext=}I^{OpaqueJSValue=}^^{OpaqueJSValue=}", - "", - {"arguments": {3: {"type_modifier": "o"}}}, - ), - "JSValueMakeSymbol": (b"^{OpaqueJSValue=}^{OpaqueJSContext=}^{OpaqueJSString=}",), - "JSGarbageCollect": (b"v^{OpaqueJSContext=}",), - "JSValueGetType": (b"I^{OpaqueJSContext=}^{OpaqueJSValue=}",), -} -aliases = {"JSObjectRef": "JSValueRef", "JSGlobalContextRef": "JSContextRef"} -misc.update( - { - "JSValueRef": objc.createOpaquePointerType("JSValueRef", b"^{OpaqueJSValue=}"), - "JSStringRef": objc.createOpaquePointerType( - "JSStringRef", b"^{OpaqueJSString=}" - ), - "JSContextRef": objc.createOpaquePointerType( - "JSContextRef", b"^{OpaqueJSContext=}" - ), - "JSPropertyNameArrayRef": objc.createOpaquePointerType( - "JSPropertyNameArrayRef", b"^{OpaqueJSPropertyNameArray=}" - ), - "JSClassRef": objc.createOpaquePointerType("JSClassRef", b"^{OpaqueJSClass=}"), - "JSContextGroupRef": objc.createOpaquePointerType( - "JSContextGroupRef", b"^{OpaqueJSContextGroup=}" - ), - "JSPropertyNameAccumulatorRef": objc.createOpaquePointerType( - "JSPropertyNameAccumulatorRef", b"^{OpaqueJSPropertyNameAccumulator=}" - ), - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"JSContext", - b"exceptionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"JSContext", - b"setExceptionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"JSValue", b"deleteProperty:", {"retval": {"type": "Z"}}) - r(b"JSValue", b"hasProperty:", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isArray", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isBoolean", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isDate", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isEqualToObject:", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isEqualWithTypeCoercionToObject:", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isInstanceOf:", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isNull", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isNumber", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isObject", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isString", {"retval": {"type": "Z"}}) - r(b"JSValue", b"isSymbol", {"retval": {"type": b"Z"}}) - r(b"JSValue", b"isUndefined", {"retval": {"type": "Z"}}) - r(b"JSValue", b"toBool", {"retval": {"type": "Z"}}) - r(b"JSValue", b"valueWithBool:inContext:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"JSValue", - b"valueWithNewPromiseInContext:fromExecutor:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/JavaScriptCore/_util.py b/src/lib/JavaScriptCore/_util.py deleted file mode 100644 index d02ec93..0000000 --- a/src/lib/JavaScriptCore/_util.py +++ /dev/null @@ -1,25 +0,0 @@ -import contextlib - -import JavaScriptCore - - -@contextlib.contextmanager -def autoreleasing(value): - try: - yield value - - finally: - if isinstance(value, JavaScriptCore.JSContextGroupRef): - JavaScriptCore.JSContextGroupRelease(value) - - elif isinstance(value, JavaScriptCore.JSGlobalContextRef): - JavaScriptCore.JSGlobalContextRelease(value) - - elif isinstance(value, JavaScriptCore.JSClassRef): - JavaScriptCore.JSClassRelease(value) - - elif isinstance(value, JavaScriptCore.JSPropertyNameArrayRef): - JavaScriptCore.JSPropertyNameArrayRelease(value) - - elif isinstance(value, JavaScriptCore.JSStringRef): - JavaScriptCore.JSStringRelease(value) diff --git a/src/lib/KernelManagement/__init__.py b/src/lib/KernelManagement/__init__.py deleted file mode 100644 index 0f3769d..0000000 --- a/src/lib/KernelManagement/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the KernelManagement framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from KernelManagement import _metadata - -sys.modules["KernelManagement"] = mod = objc.ObjCLazyModule( - "KernelManagement", - "com.apple.KernelManagement", - objc.pathForFramework("/System/Library/Frameworks/KernelManagement.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["KernelManagement._metadata"] diff --git a/src/lib/KernelManagement/_metadata.py b/src/lib/KernelManagement/_metadata.py deleted file mode 100644 index 86aed9e..0000000 --- a/src/lib/KernelManagement/_metadata.py +++ /dev/null @@ -1,65 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:56:33 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$KernelManagementVersionNumber@d$KernelManagementVersionString@*$OSKernelManagementErrorDomain$""" -enums = """$OSKMErrorNotApproved@2$OSKMErrorUnknown@1$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"KernelManagementClient", - b"loadExtensionsWithPaths:withError:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"KernelManagementClient", - b"loadExtensionsWithPaths:withIdentifiers:withPersonalityNames:withNoAuth:withError:", - { - "retval": {"type": b"Z"}, - "arguments": {5: {"type": b"Z"}, 6: {"type_modifier": b"o"}}, - }, - ) - r( - b"KernelManagementClient", - b"loadExtensionsWithPaths:withNoAuth:withError:", - { - "retval": {"type": b"Z"}, - "arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/LatentSemanticMapping/__init__.py b/src/lib/LatentSemanticMapping/__init__.py deleted file mode 100644 index 69f8d74..0000000 --- a/src/lib/LatentSemanticMapping/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the LatentSemanticMapping framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from LatentSemanticMapping import _metadata - -sys.modules["LatentSemanticMapping"] = mod = objc.ObjCLazyModule( - "LatentSemanticMapping", - "com.apple.speech.LatentSemanticMappingFramework", - objc.pathForFramework("/System/Library/Frameworks/LatentSemanticMapping.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["LatentSemanticMapping._metadata"] diff --git a/src/lib/LatentSemanticMapping/_metadata.py b/src/lib/LatentSemanticMapping/_metadata.py deleted file mode 100644 index e04df46..0000000 --- a/src/lib/LatentSemanticMapping/_metadata.py +++ /dev/null @@ -1,125 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:56:51 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$kLSMClusterAgglomerative@4$kLSMClusterCategories@0$kLSMClusterKMeans@0$kLSMClusterTokens@2$kLSMClusterWords@1$kLSMMapBadCluster@-6644$kLSMMapBadPath@-6643$kLSMMapDiscardCounts@1$kLSMMapHashText@256$kLSMMapLoadMutable@2$kLSMMapNoSuchCategory@-6641$kLSMMapOutOfState@-6640$kLSMMapOverflow@-6645$kLSMMapPairs@1$kLSMMapTriplets@2$kLSMMapWriteError@-6642$kLSMResultBestWords@1$kLSMTextApplySpamHeuristics@4$kLSMTextPreserveAcronyms@2$kLSMTextPreserveCase@1$""" -misc.update({}) -misc.update( - { - "kLSMAlgorithmDense": "LSMAlgorithmDense", - "kLSMPrecisionFloat": "LSMPrecisionFloat", - "kLSMSweepCutoffKey": "LSMSweepCutoff", - "kLSMAlgorithmSparse": "LSMAlgorithmSparse", - "kLSMDimensionKey": "LSMDimension", - "kLSMAlgorithmKey": "LSMAlgorithm", - "kLSMPrecisionKey": "LSMPrecision", - "kLSMPrecisionDouble": "LSMPrecisionDouble", - "kLSMSweepAgeKey": "LSMSweepAge", - "kLSMIterationsKey": "LSMIterations", - } -) -functions = { - "LSMMapGetCategoryCount": (b"q^{__LSMMap=}",), - "LSMMapAddTextWithWeight": (b"i^{__LSMMap=}^{__LSMText=}If",), - "LSMTextAddToken": (b"i^{__LSMText=}^{__CFData=}",), - "LSMMapSetStopWords": (b"i^{__LSMMap=}^{__LSMText=}",), - "LSMTextGetTypeID": (b"Q",), - "LSMMapStartTraining": (b"i^{__LSMMap=}",), - "LSMMapCompile": (b"i^{__LSMMap=}",), - "LSMMapWriteToStream": (b"i^{__LSMMap=}^{__LSMText=}^{__CFWriteStream=}Q",), - "LSMResultCopyWordCluster": ( - b"^{__CFArray=}^{__LSMResult=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMResultGetCount": (b"q^{__LSMResult=}",), - "LSMResultGetCategory": (b"I^{__LSMResult=}q",), - "LSMMapCreate": ( - b"^{__LSMMap=}^{__CFAllocator=}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMResultGetTypeID": (b"Q",), - "LSMResultCreate": ( - b"^{__LSMResult=}^{__CFAllocator=}^{__LSMMap=}^{__LSMText=}qQ", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMResultCopyWord": ( - b"^{__CFString=}^{__LSMResult=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapCreateClusters": ( - b"^{__CFArray=}^{__CFAllocator=}^{__LSMMap=}^{__CFArray=}qQ", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapApplyClusters": (b"i^{__LSMMap=}^{__CFArray=}",), - "LSMTextAddWords": (b"i^{__LSMText=}^{__CFString=}^{__CFLocale=}Q",), - "LSMResultCopyTokenCluster": ( - b"^{__CFArray=}^{__LSMResult=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapAddText": (b"i^{__LSMMap=}^{__LSMText=}I",), - "LSMTextCreate": ( - b"^{__LSMText=}^{__CFAllocator=}^{__LSMMap=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapWriteToURL": (b"i^{__LSMMap=}^{__CFURL=}Q",), - "LSMResultGetScore": (b"f^{__LSMResult=}q",), - "LSMMapCreateFromURL": ( - b"^{__LSMMap=}^{__CFAllocator=}^{__CFURL=}Q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapSetProperties": (b"v^{__LSMMap=}^{__CFDictionary=}",), - "LSMResultCopyToken": ( - b"^{__CFData=}^{__LSMResult=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "LSMMapGetProperties": (b"^{__CFDictionary=}^{__LSMMap=}",), - "LSMMapAddCategory": (b"I^{__LSMMap=}",), - "LSMTextAddWord": (b"i^{__LSMText=}^{__CFString=}",), - "LSMMapGetTypeID": (b"Q",), -} -cftypes = [ - ("LSMMapRef", b"^{__LSMMap=}", "LSMMapGetTypeID", None), - ("LSMResultRef", b"^{__LSMResult=}", "LSMResultGetTypeID", None), - ("LSMTextRef", b"^{__LSMText=}", "LSMTextGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/LaunchServices/__init__.py b/src/lib/LaunchServices/__init__.py deleted file mode 100644 index 2caaab5..0000000 --- a/src/lib/LaunchServices/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the LaunchServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys -import warnings - -import CoreServices -import objc - -warnings.warn( - "pyobjc-framework-LaunchServices is deprecated, use 'import CoreServices' instead", - DeprecationWarning, -) - -sys.modules["LaunchServices"] = mod = objc.ObjCLazyModule( - "LaunchServices", - "com.apple.CoreServices", - objc.pathForFramework( - "/System/Library/Frameworks/CoreServices.framework/CoreServices" - ), - {}, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreServices,), -) diff --git a/src/lib/LinkPresentation/__init__.py b/src/lib/LinkPresentation/__init__.py deleted file mode 100644 index 4f17983..0000000 --- a/src/lib/LinkPresentation/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the LinkPresentation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from LinkPresentation import _metadata - -sys.modules["LinkPresentation"] = mod = objc.ObjCLazyModule( - "LinkPresentation", - "com.apple.linkpresentation", - objc.pathForFramework("/System/Library/Frameworks/LinkPresentation.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["LinkPresentation._metadata"] diff --git a/src/lib/LinkPresentation/_metadata.py b/src/lib/LinkPresentation/_metadata.py deleted file mode 100644 index e372658..0000000 --- a/src/lib/LinkPresentation/_metadata.py +++ /dev/null @@ -1,86 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:57:48 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$LPErrorDomain$""" -enums = """$LPErrorMetadataFetchCancelled@3$LPErrorMetadataFetchFailed@2$LPErrorMetadataFetchTimedOut@4$LPErrorUnknown@1$""" -misc.update({"LPErrorCode": NewType("LPErrorCode", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"LPMetadataProvider", - b"setShouldFetchSubresources:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"LPMetadataProvider", b"shouldFetchSubresources", {"retval": {"type": b"Z"}}) - r( - b"LPMetadataProvider", - b"startFetchingMetadataForRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"LPMetadataProvider", - b"startFetchingMetadataForURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/LocalAuthentication/__init__.py b/src/lib/LocalAuthentication/__init__.py deleted file mode 100644 index 407174c..0000000 --- a/src/lib/LocalAuthentication/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the CloudKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from LocalAuthentication import _metadata - -sys.modules["LocalAuthentication"] = mod = objc.ObjCLazyModule( - "LocalAuthentication", - "com.apple.LocalAuthentication", - objc.pathForFramework("/System/Library/Frameworks/LocalAuthentication.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["LocalAuthentication._metadata"] diff --git a/src/lib/LocalAuthentication/_metadata.py b/src/lib/LocalAuthentication/_metadata.py deleted file mode 100644 index eb29973..0000000 --- a/src/lib/LocalAuthentication/_metadata.py +++ /dev/null @@ -1,129 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:58:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$LAErrorDomain$LATouchIDAuthenticationMaximumAllowableReuseDuration@d$""" -enums = """$LAAccessControlOperationCreateItem@0$LAAccessControlOperationCreateKey@2$LAAccessControlOperationUseItem@1$LAAccessControlOperationUseKeyDecrypt@4$LAAccessControlOperationUseKeyKeyExchange@5$LAAccessControlOperationUseKeySign@3$LABiometryNone@0$LABiometryTypeFaceID@2$LABiometryTypeNone@0$LABiometryTypeTouchID@1$LACredentialTypeApplicationPassword@0$LACredentialTypeSmartCardPIN@-3$LAErrorAppCancel@-9$LAErrorAuthenticationFailed@-1$LAErrorBiometryDisconnected@-13$LAErrorBiometryLockout@-8$LAErrorBiometryNotAvailable@-6$LAErrorBiometryNotEnrolled@-7$LAErrorBiometryNotPaired@-12$LAErrorInvalidContext@-10$LAErrorInvalidDimensions@-14$LAErrorNotInteractive@-1004$LAErrorPasscodeNotSet@-5$LAErrorSystemCancel@-4$LAErrorTouchIDLockout@-8$LAErrorTouchIDNotAvailable@-6$LAErrorTouchIDNotEnrolled@-7$LAErrorUserCancel@-2$LAErrorUserFallback@-3$LAErrorWatchNotAvailable@-11$LAPolicyDeviceOwnerAuthentication@2$LAPolicyDeviceOwnerAuthenticationWithBiometrics@1$LAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch@4$LAPolicyDeviceOwnerAuthenticationWithWatch@3$kLACredentialCTKPIN@-3$kLACredentialSmartCardPIN@-3$kLACredentialTypeApplicationPassword@0$kLACredentialTypePasscode@-1$kLACredentialTypePassphrase@-2$kLAErrorAppCancel@-9$kLAErrorAuthenticationFailed@-1$kLAErrorBiometryDisconnected@-13$kLAErrorBiometryNotPaired@-12$kLAErrorInvalidContext@-10$kLAErrorInvalidDimensions@-14$kLAErrorNotInteractive@-1004$kLAErrorPasscodeNotSet@-5$kLAErrorSystemCancel@-4$kLAErrorTouchIDLockout@-8$kLAErrorTouchIDNotAvailable@-6$kLAErrorTouchIDNotEnrolled@-7$kLAErrorUserCancel@-2$kLAErrorUserFallback@-3$kLAErrorWatchNotAvailable@-11$kLAOptionAuthenticationReason@2$kLAOptionUserFallback@1$kLAPolicyDeviceOwnerAuthentication@2$kLAPolicyDeviceOwnerAuthenticationWithBiometrics@1$kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch@4$kLAPolicyDeviceOwnerAuthenticationWithWatch@3$""" -misc.update( - { - "LABiometryType": NewType("LABiometryType", int), - "LAAccessControlOperation": NewType("LAAccessControlOperation", int), - "LACredentialType": NewType("LACredentialType", int), - "LAPolicy": NewType("LAPolicy", int), - "LAError": NewType("LAError", int), - } -) -misc.update({"kLAErrorDomain": "com.apple.LocalAuthentication"}) -aliases = { - "LACredentialTypeSmartCardPIN": "kLACredentialSmartCardPIN", - "LAErrorBiometryLockout": "kLAErrorBiometryLockout", - "LAErrorBiometryNotEnrolled": "kLAErrorBiometryNotEnrolled", - "LABiometryNone": "LABiometryTypeNone", - "kLAErrorBiometryNotEnrolled": "kLAErrorTouchIDNotEnrolled", - "kLAErrorBiometryNotAvailable": "kLAErrorTouchIDNotAvailable", - "LAErrorBiometryNotAvailable": "kLAErrorBiometryNotAvailable", - "kLAErrorBiometryLockout": "kLAErrorTouchIDLockout", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"LAContext", - b"canEvaluatePolicy:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"LAContext", - b"evaluateAccessControl:operation:localizedReason:reply:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"LAContext", - b"evaluatePolicy:localizedReason:reply:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"LAContext", - b"evaluatePolicy:operation:localizedReason:reply:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"LAContext", b"interactionNotAllowed", {"retval": {"type": "Z"}}) - r(b"LAContext", b"isCancelButtonVisible", {"retval": {"type": "Z"}}) - r(b"LAContext", b"isCredentialSet:", {"retval": {"type": "Z"}}) - r(b"LAContext", b"isFallbackButtonVisible", {"retval": {"type": "Z"}}) - r(b"LAContext", b"setCancelButtonVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"LAContext", b"setCredential:type:", {"retval": {"type": "Z"}}) - r(b"LAContext", b"setFallbackButtonVisible:", {"arguments": {2: {"type": "Z"}}}) - r(b"LAContext", b"setInteractionNotAllowed:", {"arguments": {2: {"type": "Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/LocalAuthenticationEmbeddedUI/__init__.py b/src/lib/LocalAuthenticationEmbeddedUI/__init__.py deleted file mode 100644 index 95dff32..0000000 --- a/src/lib/LocalAuthenticationEmbeddedUI/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the LocalAuthenticationEmbeddedUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import LocalAuthentication -import objc -from . import _metadata - -sys.modules["LocalAuthenticationEmbeddedUI"] = mod = objc.ObjCLazyModule( - "LocalAuthenticationEmbeddedUI", - "com.apple.LocalAuthenticationEmbeddedUI", - objc.pathForFramework( - "/System/Library/Frameworks/LocalAuthenticationEmbeddedUI.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - ( - LocalAuthentication, - Cocoa, - ), -) - -del sys.modules["LocalAuthenticationEmbeddedUI._metadata"] diff --git a/src/lib/LocalAuthenticationEmbeddedUI/_metadata.py b/src/lib/LocalAuthenticationEmbeddedUI/_metadata.py deleted file mode 100644 index fe4d185..0000000 --- a/src/lib/LocalAuthenticationEmbeddedUI/_metadata.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:58:19 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -expressions = {} - -# END OF FILE diff --git a/src/lib/MLCompute/__init__.py b/src/lib/MLCompute/__init__.py deleted file mode 100644 index 906d5da..0000000 --- a/src/lib/MLCompute/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the MLCompute framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from MLCompute import _metadata - -sys.modules["MLCompute"] = mod = objc.ObjCLazyModule( - "MLCompute", - "com.apple.MLCompute", - objc.pathForFramework("/System/Library/Frameworks/MLCompute.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["MLCompute._metadata"] diff --git a/src/lib/MLCompute/_metadata.py b/src/lib/MLCompute/_metadata.py deleted file mode 100644 index f026171..0000000 --- a/src/lib/MLCompute/_metadata.py +++ /dev/null @@ -1,565 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:58:48 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$MLCActivationTypeAbsolute@6$MLCActivationTypeCELU@13$MLCActivationTypeClamp@20$MLCActivationTypeELU@9$MLCActivationTypeGELU@18$MLCActivationTypeHardShrink@14$MLCActivationTypeHardSigmoid@4$MLCActivationTypeHardSwish@19$MLCActivationTypeLinear@2$MLCActivationTypeLogSigmoid@11$MLCActivationTypeNone@0$MLCActivationTypeReLU@1$MLCActivationTypeReLUN@10$MLCActivationTypeSELU@12$MLCActivationTypeSigmoid@3$MLCActivationTypeSoftPlus@7$MLCActivationTypeSoftShrink@15$MLCActivationTypeSoftSign@8$MLCActivationTypeTanh@5$MLCActivationTypeTanhShrink@16$MLCActivationTypeThreshold@17$MLCArithmeticOperationAcos@13$MLCArithmeticOperationAcosh@19$MLCArithmeticOperationAdd@0$MLCArithmeticOperationAsin@12$MLCArithmeticOperationAsinh@18$MLCArithmeticOperationAtan@14$MLCArithmeticOperationAtanh@20$MLCArithmeticOperationCeil@6$MLCArithmeticOperationCos@10$MLCArithmeticOperationCosh@16$MLCArithmeticOperationDivide@3$MLCArithmeticOperationDivideNoNaN@27$MLCArithmeticOperationExp@22$MLCArithmeticOperationExp2@23$MLCArithmeticOperationFloor@4$MLCArithmeticOperationLog@24$MLCArithmeticOperationLog2@25$MLCArithmeticOperationMax@29$MLCArithmeticOperationMin@28$MLCArithmeticOperationMultiply@2$MLCArithmeticOperationMultiplyNoNaN@26$MLCArithmeticOperationPow@21$MLCArithmeticOperationRound@5$MLCArithmeticOperationRsqrt@8$MLCArithmeticOperationSin@9$MLCArithmeticOperationSinh@15$MLCArithmeticOperationSqrt@7$MLCArithmeticOperationSubtract@1$MLCArithmeticOperationTan@11$MLCArithmeticOperationTanh@17$MLCComparisonOperationEqual@0$MLCComparisonOperationGreater@3$MLCComparisonOperationGreaterOrEqual@5$MLCComparisonOperationLess@2$MLCComparisonOperationLessOrEqual@4$MLCComparisonOperationLogicalAND@6$MLCComparisonOperationLogicalNAND@9$MLCComparisonOperationLogicalNOR@10$MLCComparisonOperationLogicalNOT@8$MLCComparisonOperationLogicalOR@7$MLCComparisonOperationLogicalXOR@11$MLCComparisonOperationNotEqual@1$MLCConvolutionTypeDepthwise@2$MLCConvolutionTypeStandard@0$MLCConvolutionTypeTransposed@1$MLCDataTypeBoolean@4$MLCDataTypeFloat16@3$MLCDataTypeFloat32@1$MLCDataTypeInt32@7$MLCDataTypeInt64@5$MLCDataTypeInt8@8$MLCDataTypeInvalid@0$MLCDataTypeUInt8@9$MLCDeviceTypeANE@3$MLCDeviceTypeAny@2$MLCDeviceTypeCPU@0$MLCDeviceTypeGPU@1$MLCExecutionOptionsForwardForInference@8$MLCExecutionOptionsForwardOnlyForInference@8$MLCExecutionOptionsNone@0$MLCExecutionOptionsPerLayerProfiling@16$MLCExecutionOptionsProfiling@4$MLCExecutionOptionsSkipWritingInputDataToDevice@1$MLCExecutionOptionsSynchronous@2$MLCGradientClippingTypeByGlobalNorm@2$MLCGradientClippingTypeByNorm@1$MLCGradientClippingTypeByValue@0$MLCGraphCompilationOptionsComputeAllGradients@8$MLCGraphCompilationOptionsDebugLayers@1$MLCGraphCompilationOptionsDisableLayerFusion@2$MLCGraphCompilationOptionsLinkGraphs@4$MLCGraphCompilationOptionsNone@0$MLCLSTMResultModeOutput@0$MLCLSTMResultModeOutputAndStates@1$MLCLossTypeCategoricalCrossEntropy@4$MLCLossTypeCosineDistance@7$MLCLossTypeHinge@5$MLCLossTypeHuber@6$MLCLossTypeLog@8$MLCLossTypeMeanAbsoluteError@0$MLCLossTypeMeanSquaredError@1$MLCLossTypeSigmoidCrossEntropy@3$MLCLossTypeSoftmaxCrossEntropy@2$MLCPaddingPolicySame@0$MLCPaddingPolicyUsePaddingSize@2$MLCPaddingPolicyValid@1$MLCPaddingTypeConstant@3$MLCPaddingTypeReflect@1$MLCPaddingTypeSymmetric@2$MLCPaddingTypeZero@0$MLCPoolingTypeAverage@2$MLCPoolingTypeL2Norm@3$MLCPoolingTypeMax@1$MLCRandomInitializerTypeGlorotUniform@2$MLCRandomInitializerTypeInvalid@0$MLCRandomInitializerTypeUniform@1$MLCRandomInitializerTypeXavier@3$MLCReductionTypeAll@9$MLCReductionTypeAny@8$MLCReductionTypeArgMax@5$MLCReductionTypeArgMin@6$MLCReductionTypeL1Norm@7$MLCReductionTypeMax@3$MLCReductionTypeMean@2$MLCReductionTypeMin@4$MLCReductionTypeNone@0$MLCReductionTypeSum@1$MLCRegularizationTypeL1@1$MLCRegularizationTypeL2@2$MLCRegularizationTypeNone@0$MLCSampleModeLinear@1$MLCSampleModeNearest@0$MLCSoftmaxOperationLogSoftmax@1$MLCSoftmaxOperationSoftmax@0$""" -misc.update( - { - "MLCSampleMode": NewType("MLCSampleMode", int), - "MLCArithmeticOperation": NewType("MLCArithmeticOperation", int), - "MLCExecutionOptions": NewType("MLCExecutionOptions", int), - "MLCReductionType": NewType("MLCReductionType", int), - "MLCComparisonOperation": NewType("MLCComparisonOperation", int), - "MLCGradientClippingType": NewType("MLCGradientClippingType", int), - "MLCRegularizationType": NewType("MLCRegularizationType", int), - "MLCDeviceType": NewType("MLCDeviceType", int), - "MLCLossType": NewType("MLCLossType", int), - "MLCPoolingType": NewType("MLCPoolingType", int), - "MLCConvolutionType": NewType("MLCConvolutionType", int), - "MLCPaddingPolicy": NewType("MLCPaddingPolicy", int), - "MLCRandomInitializerType": NewType("MLCRandomInitializerType", int), - "MLCLSTMResultMode": NewType("MLCLSTMResultMode", int), - "MLCDataType": NewType("MLCDataType", int), - "MLCActivationType": NewType("MLCActivationType", int), - "MLCSoftmaxOperation": NewType("MLCSoftmaxOperation", int), - "MLCPaddingType": NewType("MLCPaddingType", int), - "MLCGraphCompilationOptions": NewType("MLCGraphCompilationOptions", int), - } -) -misc.update({}) -functions = { - "MLCPaddingTypeDebugDescription": (b"@i",), - "MLCReductionTypeDebugDescription": (b"@i",), - "MLCLossTypeDebugDescription": (b"@i",), - "MLCGradientClippingTypeDebugDescription": (b"@i",), - "MLCComparisonOperationDebugDescription": (b"@i",), - "MLCLSTMResultModeDebugDescription": (b"@Q",), - "MLCPoolingTypeDebugDescription": (b"@i",), - "MLCActivationTypeDebugDescription": (b"@i",), - "MLCPaddingPolicyDebugDescription": (b"@i",), - "MLCConvolutionTypeDebugDescription": (b"@i",), - "MLCSoftmaxOperationDebugDescription": (b"@i",), - "MLCArithmeticOperationDebugDescription": (b"@i",), - "MLCSampleModeDebugDescription": (b"@i",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MLCAdamOptimizer", - b"optimizerWithDescriptor:beta1:beta2:epsilon:usesAMSGrad:timeStep:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"MLCAdamOptimizer", b"usesAMSGrad", {"retval": {"type": b"Z"}}) - r( - b"MLCAdamWOptimizer", - b"optimizerWithDescriptor:beta1:beta2:epsilon:usesAMSGrad:timeStep:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"MLCAdamWOptimizer", b"usesAMSGrad", {"retval": {"type": b"Z"}}) - r( - b"MLCConvolutionDescriptor", - b"isConvolutionTranspose", - {"retval": {"type": b"Z"}}, - ) - r( - b"MLCConvolutionDescriptor", - b"usesDepthwiseConvolution", - {"retval": {"type": b"Z"}}, - ) - r( - b"MLCDevice", - b"deviceWithType:selectsMultipleComputeDevices:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MLCEmbeddingDescriptor", - b"descriptorWithEmbeddingCount:embeddingDimension:paddingIndex:maximumNorm:pNorm:scalesGradientByFrequency:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MLCEmbeddingDescriptor", - b"scalesGradientByFrequency", - {"retval": {"type": b"Z"}}, - ) - r( - b"MLCGraph", - b"bindAndWriteData:forInputs:toDevice:batchSize:synchronous:", - {"retval": {"type": b"Z"}, "arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MLCGraph", - b"bindAndWriteData:forInputs:toDevice:synchronous:", - {"retval": {"type": "Z"}, "arguments": {5: {"type": "Z"}}}, - ) - r( - b"MLCGraph", - b"nodeWithLayer:sources:disableUpdate:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"MLCInferenceGraph", b"addInputs:", {"retval": {"type": b"Z"}}) - r( - b"MLCInferenceGraph", - b"addInputs:lossLabels:lossLabelWeights:", - {"retval": {"type": b"Z"}}, - ) - r(b"MLCInferenceGraph", b"addOutputs:", {"retval": {"type": b"Z"}}) - r(b"MLCInferenceGraph", b"compileWithOptions:device:", {"retval": {"type": b"Z"}}) - r( - b"MLCInferenceGraph", - b"compileWithOptions:device:inputTensors:inputTensorsData:", - {"retval": {"type": "Z"}}, - ) - r( - b"MLCInferenceGraph", - b"executeWithInputsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCInferenceGraph", - b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCInferenceGraph", - b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:outputsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCInferenceGraph", - b"executeWithInputsData:outputsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r(b"MLCInferenceGraph", b"linkWithGraphs:", {"retval": {"type": b"Z"}}) - r(b"MLCLSTMDescriptor", b"batchFirst", {"retval": {"type": b"Z"}}) - r( - b"MLCLSTMDescriptor", - b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:dropout:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}, 7: {"type": b"Z"}}}, - ) - r( - b"MLCLSTMDescriptor", - b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:", - { - "arguments": { - 5: {"type": b"Z"}, - 6: {"type": b"Z"}, - 7: {"type": b"Z"}, - 8: {"type": b"Z"}, - } - }, - ) - r( - b"MLCLSTMDescriptor", - b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:batchFirst:isBidirectional:returnsSequences:dropout:resultMode:", - { - "arguments": { - 5: {"type": "Z"}, - 6: {"type": "Z"}, - 7: {"type": "Z"}, - 8: {"type": "Z"}, - } - }, - ) - r( - b"MLCLSTMDescriptor", - b"descriptorWithInputSize:hiddenSize:layerCount:usesBiases:isBidirectional:dropout:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r(b"MLCLSTMDescriptor", b"isBidirectional", {"retval": {"type": b"Z"}}) - r(b"MLCLSTMDescriptor", b"returnsSequences", {"retval": {"type": b"Z"}}) - r(b"MLCLSTMDescriptor", b"usesBiases", {"retval": {"type": b"Z"}}) - r(b"MLCLayer", b"isDebuggingEnabled", {"retval": {"type": b"Z"}}) - r(b"MLCLayer", b"setIsDebuggingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MLCLayer", b"supportsDataType:onDevice:", {"retval": {"type": "Z"}}) - r( - b"MLCMatMulDescriptor", - b"descriptorWithAlpha:transposesX:transposesY:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r(b"MLCMatMulDescriptor", b"transposesX", {"retval": {"type": b"Z"}}) - r(b"MLCMatMulDescriptor", b"transposesY", {"retval": {"type": b"Z"}}) - r( - b"MLCMultiheadAttentionDescriptor", - b"addsZeroAttention", - {"retval": {"type": b"Z"}}, - ) - r( - b"MLCMultiheadAttentionDescriptor", - b"descriptorWithModelDimension:keyDimension:valueDimension:headCount:dropout:hasBiases:hasAttentionBiases:addsZeroAttention:", - {"arguments": {7: {"type": b"Z"}, 8: {"type": b"Z"}, 9: {"type": b"Z"}}}, - ) - r( - b"MLCMultiheadAttentionDescriptor", - b"hasAttentionBiases", - {"retval": {"type": b"Z"}}, - ) - r(b"MLCMultiheadAttentionDescriptor", b"hasBiases", {"retval": {"type": b"Z"}}) - r(b"MLCOptimizer", b"appliesGradientClipping", {"retval": {"type": b"Z"}}) - r( - b"MLCOptimizer", - b"setAppliesGradientClipping:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MLCOptimizerDescriptor", b"appliesGradientClipping", {"retval": {"type": b"Z"}}) - r( - b"MLCOptimizerDescriptor", - b"descriptorWithLearningRate:gradientRescale:appliesGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MLCOptimizerDescriptor", - b"descriptorWithLearningRate:gradientRescale:appliesGradientClipping:gradientClippingType:gradientClipMax:gradientClipMin:maximumClippingNorm:customGlobalNorm:regularizationType:regularizationScale:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MLCPoolingDescriptor", - b"averagePoolingDescriptorWithKernelSizes:strides:dilationRates:paddingPolicy:paddingSizes:countIncludesPadding:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MLCPoolingDescriptor", - b"averagePoolingDescriptorWithKernelSizes:strides:paddingPolicy:paddingSizes:countIncludesPadding:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"MLCPoolingDescriptor", b"countIncludesPadding", {"retval": {"type": b"Z"}}) - r(b"MLCRMSPropOptimizer", b"isCentered", {"retval": {"type": b"Z"}}) - r( - b"MLCRMSPropOptimizer", - b"optimizerWithDescriptor:momentumScale:alpha:epsilon:isCentered:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MLCSGDOptimizer", - b"optimizerWithDescriptor:momentumScale:usesNesterovMomentum:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"MLCSGDOptimizer", - b"optimizerWithDescriptor:momentumScale:usesNestrovMomentum:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"MLCSGDOptimizer", b"usesNesterovMomentum", {"retval": {"type": "Z"}}) - r(b"MLCSGDOptimizer", b"usesNestrovMomentum", {"retval": {"type": b"Z"}}) - r(b"MLCTensor", b"bindAndWriteData:toDevice:", {"retval": {"type": b"Z"}}) - r(b"MLCTensor", b"bindOptimizerData:deviceData:", {"retval": {"type": "Z"}}) - r( - b"MLCTensor", - b"copyDataFromDeviceMemoryToBytes:length:synchronizeWithDevice:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type": b"Z"}}}, - ) - r(b"MLCTensor", b"hasValidNumerics", {"retval": {"type": b"Z"}}) - r(b"MLCTensor", b"optimizerData:", {"retval": {"type": b"Z"}}) - r(b"MLCTensor", b"synchronizeData", {"retval": {"type": b"Z"}}) - r(b"MLCTensor", b"synchronizeOptimizerData", {"retval": {"type": "Z"}}) - r( - b"MLCTensor", - b"tensorWithSequenceLengths:sortedSequences:featureChannelCount:batchSize:data:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MLCTensor", - b"tensorWithSequenceLengths:sortedSequences:featureChannelCount:batchSize:randomInitializerType:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"MLCTensorData", b"bytes", {"retval": {"c_array_of_variable_size": True}}) - r( - b"MLCTensorData", - b"dataWithBytesNoCopy:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MLCTensorData", - b"dataWithBytesNoCopy:length:deallocator:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"n^v", "c_array_length_in_arg": 2}, - 2: {"type": b"Q"}, - }, - } - }, - } - }, - ) - r( - b"MLCTensorData", - b"dataWithImmutableBytesNoCopy:length:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MLCTensorDescriptor", - b"descriptorWithShape:sequenceLengths:sortedSequences:dataType:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"MLCTensorDescriptor", b"sortedSequences", {"retval": {"type": b"Z"}}) - r(b"MLCTensorParameter", b"isUpdatable", {"retval": {"type": b"Z"}}) - r(b"MLCTensorParameter", b"setIsUpdatable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MLCTrainingGraph", b"addInputs:lossLabels:", {"retval": {"type": b"Z"}}) - r( - b"MLCTrainingGraph", - b"addInputs:lossLabels:lossLabelWeights:", - {"retval": {"type": b"Z"}}, - ) - r(b"MLCTrainingGraph", b"addOutputs:", {"retval": {"type": b"Z"}}) - r( - b"MLCTrainingGraph", - b"bindOptimizerData:deviceData:withTensor:", - {"retval": {"type": "Z"}}, - ) - r(b"MLCTrainingGraph", b"compileOptimizer:", {"retval": {"type": b"Z"}}) - r(b"MLCTrainingGraph", b"compileWithOptions:device:", {"retval": {"type": b"Z"}}) - r( - b"MLCTrainingGraph", - b"compileWithOptions:device:inputTensors:inputTensorsData:", - {"retval": {"type": "Z"}}, - ) - r( - b"MLCTrainingGraph", - b"executeForwardWithBatchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeForwardWithBatchSize:options:outputsData:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeGradientWithBatchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeGradientWithBatchSize:options:outputsData:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeOptimizerUpdateWithOptions:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r( - b"MLCTrainingGraph", - b"executeWithInputsData:lossLabelsData:lossLabelWeightsData:outputsData:batchSize:options:completionHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"d"}, - }, - } - } - }, - }, - ) - r(b"MLCTrainingGraph", b"linkWithGraphs:", {"retval": {"type": b"Z"}}) - r(b"MLCTrainingGraph", b"setTrainingTensorParameters:", {"retval": {"type": b"Z"}}) - r(b"MLCTrainingGraph", b"stopGradientForTensors:", {"retval": {"type": b"Z"}}) - r(b"MLCUpsampleLayer", b"alignsCorners", {"retval": {"type": b"Z"}}) - r( - b"MLCUpsampleLayer", - b"layerWithShape:sampleMode:alignsCorners:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MLCYOLOLossDescriptor", - b"setShouldRescore:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MLCYOLOLossDescriptor", b"shouldRescore", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MailKit/__init__.py b/src/lib/MailKit/__init__.py deleted file mode 100644 index fab7299..0000000 --- a/src/lib/MailKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the MailKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from . import _metadata - -sys.modules["MailKit"] = mod = objc.ObjCLazyModule( - "Accessibility", - "com.apple.MailKit", - objc.pathForFramework("/System/Library/Frameworks/MailKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Cocoa,), -) - - -del sys.modules["MailKit._metadata"] diff --git a/src/lib/MailKit/_metadata.py b/src/lib/MailKit/_metadata.py deleted file mode 100644 index 431f685..0000000 --- a/src/lib/MailKit/_metadata.py +++ /dev/null @@ -1,289 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 18:59:31 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MEComposeSessionErrorDomain$MEMessageSecurityErrorDomain$""" -enums = """$MEComposeSessionErrorCodeInvalidBody@2$MEComposeSessionErrorCodeInvalidHeaders@1$MEComposeSessionErrorCodeInvalidRecipients@0$MEComposeUserActionForward@4$MEComposeUserActionNewMessage@1$MEComposeUserActionReply@2$MEComposeUserActionReplyAll@3$MEMessageActionFlagBlue@6$MEMessageActionFlagDefaultColor@1$MEMessageActionFlagGray@8$MEMessageActionFlagGreen@5$MEMessageActionFlagNone@0$MEMessageActionFlagOrange@3$MEMessageActionFlagPurple@7$MEMessageActionFlagRed@2$MEMessageActionFlagYellow@4$MEMessageActionMessageColorBlue@6$MEMessageActionMessageColorGray@7$MEMessageActionMessageColorGreen@1$MEMessageActionMessageColorNone@0$MEMessageActionMessageColorOrange@3$MEMessageActionMessageColorPurple@5$MEMessageActionMessageColorRed@4$MEMessageActionMessageColorYellow@2$MEMessageEncryptionStateEncrypted@2$MEMessageEncryptionStateNotEncrypted@1$MEMessageEncryptionStateUnknown@0$MEMessageSecurityDecodingError@1$MEMessageSecurityEncodingError@0$MEMessageStateDraft@1$MEMessageStateReceived@0$MEMessageStateSending@2$""" -misc.update( - { - "MEMessageSecurityErrorCode": NewType("MEMessageSecurityErrorCode", int), - "MEMessageActionFlag": NewType("MEMessageActionFlag", int), - "MEComposeSessionErrorCode": NewType("MEComposeSessionErrorCode", int), - "MEMessageActionMessageColor": NewType("MEMessageActionMessageColor", int), - "MEMessageEncryptionState": NewType("MEMessageEncryptionState", int), - "MEMessageState": NewType("MEMessageState", int), - "MEComposeUserAction": NewType("MEComposeUserAction", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"MEComposeContext", b"isEncrypted", {"retval": {"type": b"Z"}}) - r(b"MEComposeContext", b"isSigned", {"retval": {"type": b"Z"}}) - r(b"MEComposeContext", b"shouldEncrypt", {"retval": {"type": b"Z"}}) - r(b"MEComposeContext", b"shouldSign", {"retval": {"type": b"Z"}}) - r( - b"MEDecodedMessageBanner", - b"initWithTitle:primaryActionTitle:dismissable:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"MEDecodedMessageBanner", b"isDismissable", {"retval": {"type": b"Z"}}) - r( - b"MEEncodedOutgoingMessage", - b"initWithRawData:isSigned:isEncrypted:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r(b"MEEncodedOutgoingMessage", b"isEncrypted", {"retval": {"type": b"Z"}}) - r(b"MEEncodedOutgoingMessage", b"isSigned", {"retval": {"type": b"Z"}}) - r( - b"MEExtensionManager", - b"reloadContentBlockerWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MEExtensionManager", - b"reloadVisibleMessagesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MEMessageSecurityInformation", - b"initWithSigners:isEncrypted:signingError:encryptionError:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MEMessageSecurityInformation", - b"initWithSigners:isEncrypted:signingError:encryptionError:shouldBlockRemoteContent:localizedRemoteContentBlockingReason:", - {"arguments": {3: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r(b"MEMessageSecurityInformation", b"isEncrypted", {"retval": {"type": b"Z"}}) - r( - b"MEMessageSecurityInformation", - b"shouldBlockRemoteContent", - {"retval": {"type": b"Z"}}, - ) - r(b"MEOutgoingMessageEncodingStatus", b"canEncrypt", {"retval": {"type": b"Z"}}) - r(b"MEOutgoingMessageEncodingStatus", b"canSign", {"retval": {"type": b"Z"}}) - r( - b"MEOutgoingMessageEncodingStatus", - b"initWithCanSign:canEncrypt:securityError:addressesFailingEncryption:", - {"arguments": {2: {"type": b"Z"}, 3: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"additionalHeadersForSession:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"contentRulesJSON", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"decideActionForMessage:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"decodedMessageForMessageData:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"encodeMessage:composeContext:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"extensionViewControllerForMessageContext:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"extensionViewControllerForMessageSigners:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"getEncodingStatusForMessage:composeContext:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handlerForComposeSession:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handlerForContentBlocker", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"handlerForMessageActions", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"handlerForMessageSecurity", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"mailComposeSessionDidBegin:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mailComposeSessionDidEnd:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"primaryActionClickedForMessageContext:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"requiredHeaders", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"session:annotateAddressesWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"session:canSendMessageWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"viewControllerForSession:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MapKit/__init__.py b/src/lib/MapKit/__init__.py deleted file mode 100644 index c2787a2..0000000 --- a/src/lib/MapKit/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Python mapping for the MapKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import CoreLocation -import objc -import Quartz -from MapKit import _MapKit, _metadata -from MapKit._inlines import _inline_list_ - -sys.modules["MapKit"] = mod = objc.ObjCLazyModule( - "MapKit", - "com.apple.MapKit", - objc.pathForFramework("/System/Library/Frameworks/MapKit.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_MapKit, Cocoa, CoreLocation, Quartz), -) - - -del sys.modules["MapKit._metadata"] -del sys.modules["MapKit._MapKit"] diff --git a/src/lib/MapKit/_metadata.py b/src/lib/MapKit/_metadata.py deleted file mode 100644 index 4a4ff5e..0000000 --- a/src/lib/MapKit/_metadata.py +++ /dev/null @@ -1,1140 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:04:09 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MKMapRect": objc.createStructType( - "MapKit.MKMapRect", - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ["origin", "size"], - ), - "MKMapSize": objc.createStructType( - "MapKit.MKMapSize", b"{_MKMapSize=dd}", ["width", "height"] - ), - "MKCoordinateRegion": objc.createStructType( - "MapKit.MKCoordinateRegion", - b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}", - ["center", "span"], - ), - "MKCoordinateSpan": objc.createStructType( - "MapKit.MKCoordinateSpan", - b"{_MKCoordinateSpan=dd}", - ["latitudeDelta", "longitudeDelta"], - ), - "MKTileOverlayPath": objc.createStructType( - "MapKit.MKTileOverlayPath", - b"{_MKTileOverlayPath=qqqd}", - ["x", "y", "z", "contentScaleFactor"], - ), - "MKMapPoint": objc.createStructType( - "MapKit.MKMapPoint", b"{_MKMapPoint=dd}", ["x", "y"] - ), - } -) -constants = """$MKAnnotationCalloutInfoDidChangeNotification$MKErrorDomain$MKLaunchOptionsCameraKey$MKLaunchOptionsDirectionsModeDefault$MKLaunchOptionsDirectionsModeDriving$MKLaunchOptionsDirectionsModeKey$MKLaunchOptionsDirectionsModeTransit$MKLaunchOptionsDirectionsModeWalking$MKLaunchOptionsMapCenterKey$MKLaunchOptionsMapSpanKey$MKLaunchOptionsMapTypeKey$MKLaunchOptionsShowsTrafficKey$MKMapCameraZoomDefault@d$MKMapItemTypeIdentifier$MKMapRectNull@{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}$MKMapRectWorld@{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}$MKMapSizeWorld@{_MKMapSize=dd}$MKMapViewDefaultAnnotationViewReuseIdentifier$MKMapViewDefaultClusterAnnotationViewReuseIdentifier$MKPointOfInterestCategoryATM$MKPointOfInterestCategoryAirport$MKPointOfInterestCategoryAmusementPark$MKPointOfInterestCategoryAquarium$MKPointOfInterestCategoryBakery$MKPointOfInterestCategoryBank$MKPointOfInterestCategoryBeach$MKPointOfInterestCategoryBrewery$MKPointOfInterestCategoryCafe$MKPointOfInterestCategoryCampground$MKPointOfInterestCategoryCarRental$MKPointOfInterestCategoryEVCharger$MKPointOfInterestCategoryFireStation$MKPointOfInterestCategoryFitnessCenter$MKPointOfInterestCategoryFoodMarket$MKPointOfInterestCategoryGasStation$MKPointOfInterestCategoryHospital$MKPointOfInterestCategoryHotel$MKPointOfInterestCategoryLaundry$MKPointOfInterestCategoryLibrary$MKPointOfInterestCategoryMarina$MKPointOfInterestCategoryMovieTheater$MKPointOfInterestCategoryMuseum$MKPointOfInterestCategoryNationalPark$MKPointOfInterestCategoryNightlife$MKPointOfInterestCategoryPark$MKPointOfInterestCategoryParking$MKPointOfInterestCategoryPharmacy$MKPointOfInterestCategoryPolice$MKPointOfInterestCategoryPostOffice$MKPointOfInterestCategoryPublicTransport$MKPointOfInterestCategoryRestaurant$MKPointOfInterestCategoryRestroom$MKPointOfInterestCategorySchool$MKPointOfInterestCategoryStadium$MKPointOfInterestCategoryStore$MKPointOfInterestCategoryTheater$MKPointOfInterestCategoryUniversity$MKPointOfInterestCategoryWinery$MKPointOfInterestCategoryZoo$MKPointsOfInterestRequestMaxRadius@d$""" -enums = """$MKAnnotationViewCollisionModeCircle@1$MKAnnotationViewCollisionModeNone@2$MKAnnotationViewCollisionModeRectangle@0$MKAnnotationViewDragStateCanceling@3$MKAnnotationViewDragStateDragging@2$MKAnnotationViewDragStateEnding@4$MKAnnotationViewDragStateNone@0$MKAnnotationViewDragStateStarting@1$MKAnnotationViewZPriorityDefaultSelected@1000.0$MKAnnotationViewZPriorityDefaultUnselected@500.0$MKAnnotationViewZPriorityMax@1000.0$MKAnnotationViewZPriorityMin@0.0$MKDirectionsTransportTypeAny@268435455$MKDirectionsTransportTypeAutomobile@1$MKDirectionsTransportTypeTransit@4$MKDirectionsTransportTypeWalking@2$MKDistanceFormatterUnitStyleAbbreviated@1$MKDistanceFormatterUnitStyleDefault@0$MKDistanceFormatterUnitStyleFull@2$MKDistanceFormatterUnitsDefault@0$MKDistanceFormatterUnitsImperial@2$MKDistanceFormatterUnitsImperialWithYards@3$MKDistanceFormatterUnitsMetric@1$MKErrorDecodingFailed@6$MKErrorDirectionsNotFound@5$MKErrorLoadingThrottled@3$MKErrorPlacemarkNotFound@4$MKErrorServerFailure@2$MKErrorUnknown@1$MKFeatureDisplayPriorityDefaultHigh@750$MKFeatureDisplayPriorityDefaultLow@250$MKFeatureDisplayPriorityRequired@1000$MKFeatureVisibilityAdaptive@0$MKFeatureVisibilityHidden@1$MKFeatureVisibilityVisible@2$MKLocalSearchCompleterResultTypeAddress@1$MKLocalSearchCompleterResultTypePointOfInterest@2$MKLocalSearchCompleterResultTypeQuery@4$MKLocalSearchResultTypeAddress@1$MKLocalSearchResultTypePointOfInterest@2$MKMapTypeHybrid@2$MKMapTypeHybridFlyover@4$MKMapTypeMutedStandard@5$MKMapTypeSatellite@1$MKMapTypeSatelliteFlyover@3$MKMapTypeStandard@0$MKOverlayLevelAboveLabels@1$MKOverlayLevelAboveRoads@0$MKPinAnnotationColorGreen@1$MKPinAnnotationColorPurple@2$MKPinAnnotationColorRed@0$MKSearchCompletionFilterTypeLocationsAndQueries@0$MKSearchCompletionFilterTypeLocationsOnly@1$MKUserTrackingModeFollow@1$MKUserTrackingModeFollowWithHeading@2$MKUserTrackingModeNone@0$""" -misc.update( - { - "MKAnnotationViewCollisionMode": NewType("MKAnnotationViewCollisionMode", int), - "MKDistanceFormatterUnitStyle": NewType("MKDistanceFormatterUnitStyle", int), - "MKPinAnnotationColor": NewType("MKPinAnnotationColor", int), - "MKLocalSearchResultType": NewType("MKLocalSearchResultType", int), - "MKDistanceFormatterUnits": NewType("MKDistanceFormatterUnits", int), - "MKErrorCode": NewType("MKErrorCode", int), - "MKOverlayLevel": NewType("MKOverlayLevel", int), - "MKSearchCompletionFilterType": NewType("MKSearchCompletionFilterType", int), - "MKMapType": NewType("MKMapType", int), - "MKAnnotationViewDragState": NewType("MKAnnotationViewDragState", int), - "MKLocalSearchCompleterResultType": NewType( - "MKLocalSearchCompleterResultType", int - ), - "MKUserTrackingMode": NewType("MKUserTrackingMode", int), - "MKDirectionsTransportType": NewType("MKDirectionsTransportType", int), - "MKFeatureVisibility": NewType("MKFeatureVisibility", int), - } -) -misc.update( - { - "MKFeatureDisplayPriority": NewType("MKFeatureDisplayPriority", float), - "MKPointOfInterestCategory": NewType("MKPointOfInterestCategory", str), - "MKAnnotationViewZPriority": NewType("MKAnnotationViewZPriority", float), - } -) -misc.update({}) -functions = { - "MKMapRectOffset": ( - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}dd", - ), - "MKMapRectIsEmpty": (b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapRectGetMidX": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapRectGetMidY": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapRectGetMinX": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapRectGetWidth": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKStringFromMapRect": (b"@{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKCoordinateSpanMake": (b"{_MKCoordinateSpan=dd}dd",), - "MKMapRectGetMaxX": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapRectGetMaxY": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapSizeEqualToSize": (b"Z{_MKMapSize=dd}{_MKMapSize=dd}",), - "MKMapRectIsNull": (b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKStringFromMapPoint": (b"@{_MKMapPoint=dd}",), - "MKMapRectDivide": ( - b"v{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}^{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}^{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}dI", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "MKMetersPerMapPointAtLatitude": (b"dd",), - "MKCoordinateRegionMakeWithDistance": ( - b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}{CLLocationCoordinate2D=dd}dd", - ), - "MKMapRectMake": (b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}dddd",), - "MKMapPointEqualToPoint": (b"Z{_MKMapPoint=dd}{_MKMapPoint=dd}",), - "MKMapRectContainsPoint": ( - b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapPoint=dd}", - ), - "MKMapRectUnion": ( - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKCoordinateForMapPoint": (b"{CLLocationCoordinate2D=dd}{_MKMapPoint=dd}",), - "MKMapRectRemainder": ( - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKCoordinateRegionMake": ( - b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}{CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}", - ), - "MKStringFromMapSize": (b"@{_MKMapSize=dd}",), - "MKCoordinateRegionForMapRect": ( - b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKMapSizeMake": (b"{_MKMapSize=dd}dd",), - "MKMapRectIntersection": ( - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKMapRectInset": ( - b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}dd", - ), - "MKMapRectContainsRect": ( - b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKMapRectGetMinY": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKRoadWidthAtZoomScale": (b"dd",), - "MKMapRectSpans180thMeridian": (b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), - "MKMapPointForCoordinate": (b"{_MKMapPoint=dd}{CLLocationCoordinate2D=dd}",), - "MKMapPointsPerMeterAtLatitude": (b"dd",), - "MKMapRectIntersectsRect": ( - b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKMetersBetweenMapPoints": (b"d{_MKMapPoint=dd}{_MKMapPoint=dd}",), - "MKMapPointMake": (b"{_MKMapPoint=dd}dd",), - "MKMapRectEqualToRect": ( - b"Z{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}", - ), - "MKMapRectGetHeight": (b"d{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"MKAnnotationView", b"canShowCallout", {"retval": {"type": b"Z"}}) - r(b"MKAnnotationView", b"isDraggable", {"retval": {"type": b"Z"}}) - r(b"MKAnnotationView", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"MKAnnotationView", b"isHighlighted", {"retval": {"type": b"Z"}}) - r(b"MKAnnotationView", b"isSelected", {"retval": {"type": b"Z"}}) - r(b"MKAnnotationView", b"setCanShowCallout:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MKAnnotationView", - b"setDragState:animated:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"MKAnnotationView", b"setDraggable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKAnnotationView", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKAnnotationView", b"setHighlighted:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKAnnotationView", b"setSelected:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MKAnnotationView", - b"setSelected:animated:", - {"arguments": {2: {"type": b"Z"}, 3: {"type": b"Z"}}}, - ) - r( - b"MKCircle", - b"boundingMapRect", - {"retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - ) - r( - b"MKCircle", - b"circleWithCenterCoordinate:radius:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKCircle", - b"circleWithMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r(b"MKCircle", b"coordinate", {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}) - r( - b"MKDirections", - b"calculateDirectionsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MKDirections", - b"calculateETAWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"MKDirections", b"isCalculating", {"retval": {"type": b"Z"}}) - r(b"MKDirectionsRequest", b"isDirectionsRequestURL:", {"retval": {"type": b"Z"}}) - r(b"MKDirectionsRequest", b"requestsAlternateRoutes", {"retval": {"type": b"Z"}}) - r( - b"MKDirectionsRequest", - b"setRequestsAlternateRoutes:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MKGeoJSONDecoder", - b"geoJSONObjectsWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MKGeodesicPolyline", - b"polylineWithCoordinates:count:", - { - "arguments": { - 2: { - "type": b"^{CLLocationCoordinate2D=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKGeodesicPolyline", - b"polylineWithPoints:count:", - { - "arguments": { - 2: { - "type": b"^{_MKMapPoint=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKLocalPointsOfInterestRequest", - b"initWithCoordinateRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKLocalPointsOfInterestRequest", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r(b"MKLocalSearch", b"isSearching", {"retval": {"type": b"Z"}}) - r( - b"MKLocalSearch", - b"startWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"MKLocalSearchCompleter", b"isSearching", {"retval": {"type": "Z"}}) - r( - b"MKLocalSearchCompleter", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKLocalSearchCompleter", - b"setRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKLocalSearchRequest", - b"initWithNaturalLanguageQuery:region:", - { - "arguments": { - 3: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKLocalSearchRequest", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKLocalSearchRequest", - b"setRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKLocalSearchResponse", - b"boundingRegion", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKMapCamera", - b"cameraLookingAtCenterCoordinate:fromEyeCoordinate:eyeAltitude:", - { - "arguments": { - 2: {"type": b"{CLLocationCoordinate2D=dd}"}, - 3: {"type": b"{CLLocationCoordinate2D=dd}"}, - } - }, - ) - r( - b"MKMapCamera", - b"centerCoordinate", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"MKMapCamera", - b"setCenterCoordinate:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKMapCameraBoundary", - b"initWithCoordinateRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKMapCameraBoundary", - b"initWithMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKMapCameraBoundary", - b"mapRect", - {"retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - ) - r( - b"MKMapCameraBoundary", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r(b"MKMapItem", b"isCurrentLocation", {"retval": {"type": b"Z"}}) - r(b"MKMapItem", b"openInMapsWithLaunchOptions:", {"retval": {"type": b"Z"}}) - r(b"MKMapItem", b"openMapsWithItems:launchOptions:", {"retval": {"type": b"Z"}}) - r( - b"MKMapSnapshot", - b"pointForCoordinate:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKMapSnapshotOptions", - b"mapRect", - {"retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - ) - r( - b"MKMapSnapshotOptions", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKMapSnapshotOptions", - b"setMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKMapSnapshotOptions", - b"setRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKMapSnapshotOptions", - b"setShowsBuildings:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MKMapSnapshotOptions", - b"setShowsPointsOfInterest:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MKMapSnapshotOptions", b"showsBuildings", {"retval": {"type": b"Z"}}) - r(b"MKMapSnapshotOptions", b"showsPointsOfInterest", {"retval": {"type": b"Z"}}) - r(b"MKMapSnapshotter", b"isLoading", {"retval": {"type": b"Z"}}) - r( - b"MKMapSnapshotter", - b"startWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MKMapSnapshotter", - b"startWithQueue:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MKMapView", - b"annotationsInMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKMapView", - b"centerCoordinate", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"MKMapView", - b"convertCoordinate:toPointToView:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKMapView", - b"convertPoint:toCoordinateFromView:", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"MKMapView", - b"convertRect:toRegionFromView:", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKMapView", - b"convertRegion:toRectToView:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r(b"MKMapView", b"deselectAnnotation:animated:", {"arguments": {3: {"type": b"Z"}}}) - r(b"MKMapView", b"isPitchEnabled", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"isRotateEnabled", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"isScrollEnabled", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"isUserLocationVisible", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"isZoomEnabled", {"retval": {"type": b"Z"}}) - r( - b"MKMapView", - b"mapRectThatFits:", - { - "retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - "arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - }, - ) - r( - b"MKMapView", - b"mapRectThatFits:edgePadding:", - { - "retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - "arguments": { - 2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - 3: {"type": b"{_NSEdgeInsets=dddd}"}, - }, - }, - ) - r( - b"MKMapView", - b"region", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - ) - r( - b"MKMapView", - b"regionThatFits:", - { - "retval": { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - }, - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - }, - }, - ) - r(b"MKMapView", b"selectAnnotation:animated:", {"arguments": {3: {"type": b"Z"}}}) - r(b"MKMapView", b"setCamera:animated:", {"arguments": {3: {"type": b"Z"}}}) - r(b"MKMapView", b"setCameraBoundary:animated:", {"arguments": {3: {"type": b"Z"}}}) - r(b"MKMapView", b"setCameraZoomRange:animated:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"MKMapView", - b"setCenterCoordinate:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKMapView", - b"setCenterCoordinate:animated:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}, 3: {"type": b"Z"}}}, - ) - r(b"MKMapView", b"setPitchEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MKMapView", - b"setRegion:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - } - } - }, - ) - r( - b"MKMapView", - b"setRegion:animated:", - { - "arguments": { - 2: { - "type": b"{_MKCoordinateRegion={CLLocationCoordinate2D=dd}{_MKCoordinateSpan=dd}}" - }, - 3: {"type": b"Z"}, - } - }, - ) - r(b"MKMapView", b"setRotateEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setScrollEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsBuildings:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsCompass:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsPitchControl:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsPointsOfInterest:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsScale:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsTraffic:", {"arguments": {2: {"type": "Z"}}}) - r(b"MKMapView", b"setShowsUserLocation:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"setShowsZoomControls:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MKMapView", - b"setUserTrackingMode:animated:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MKMapView", - b"setVisibleMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKMapView", - b"setVisibleMapRect:animated:", - { - "arguments": { - 2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - 3: {"type": b"Z"}, - } - }, - ) - r( - b"MKMapView", - b"setVisibleMapRect:edgePadding:animated:", - { - "arguments": { - 2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - 3: {"type": b"{_NSEdgeInsets=dddd}"}, - 4: {"type": b"Z"}, - } - }, - ) - r(b"MKMapView", b"setZoomEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKMapView", b"showAnnotations:animated:", {"arguments": {3: {"type": b"Z"}}}) - r(b"MKMapView", b"showsBuildings", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsCompass", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsPitchControl", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsPointsOfInterest", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsScale", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsTraffic", {"retval": {"type": "Z"}}) - r(b"MKMapView", b"showsUserLocation", {"retval": {"type": b"Z"}}) - r(b"MKMapView", b"showsZoomControls", {"retval": {"type": b"Z"}}) - r( - b"MKMapView", - b"visibleMapRect", - {"retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - ) - r(b"MKMarkerAnnotationView", b"animatesWhenAdded", {"retval": {"type": b"Z"}}) - r( - b"MKMarkerAnnotationView", - b"setAnimatesWhenAdded:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MKMultiPoint", - b"getCoordinates:range:", - { - "arguments": { - 2: { - "type": b"^{CLLocationCoordinate2D=dd}", - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKMultiPoint", - b"points", - {"retval": {"type": b"^{_MKMapPoint=dd}", "c_array_of_variable_length": True}}, - ) - r( - b"MKOverlayPathRenderer", - b"setShouldRasterize:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MKOverlayPathRenderer", b"shouldRasterize", {"retval": {"type": b"Z"}}) - r( - b"MKOverlayRenderer", - b"canDrawMapRect:zoomScale:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - }, - ) - r( - b"MKOverlayRenderer", - b"drawMapRect:zoomScale:inContext:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKOverlayRenderer", - b"mapPointForPoint:", - {"retval": {"type": b"{_MKMapPoint=dd}"}}, - ) - r( - b"MKOverlayRenderer", - b"mapRectForRect:", - {"retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - ) - r( - b"MKOverlayRenderer", - b"pointForMapPoint:", - {"arguments": {2: {"type": b"{_MKMapPoint=dd}"}}}, - ) - r( - b"MKOverlayRenderer", - b"rectForMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKOverlayRenderer", - b"setNeedsDisplayInMapRect:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r( - b"MKOverlayRenderer", - b"setNeedsDisplayInMapRect:zoomScale:", - {"arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}}, - ) - r(b"MKPinAnnotationView", b"animatesDrop", {"retval": {"type": b"Z"}}) - r(b"MKPinAnnotationView", b"setAnimatesDrop:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MKPlacemark", - b"initWithCoordinate:addressDictionary:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"MKPointAnnotation", - b"coordinate", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"MKPointAnnotation", - b"setCoordinate:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r(b"MKPointOfInterestFilter", b"excludesCategory:", {"retval": {"type": b"Z"}}) - r(b"MKPointOfInterestFilter", b"includesCategory:", {"retval": {"type": b"Z"}}) - r( - b"MKPolygon", - b"polygonWithCoordinates:count:", - { - "arguments": { - 2: { - "type": b"^{CLLocationCoordinate2D=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKPolygon", - b"polygonWithCoordinates:count:interiorPolygons:", - { - "arguments": { - 2: { - "type": b"^{CLLocationCoordinate2D=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKPolygon", - b"polygonWithPoints:count:", - { - "arguments": { - 2: { - "type": b"^{_MKMapPoint=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKPolygon", - b"polygonWithPoints:count:interiorPolygons:", - { - "arguments": { - 2: { - "type": b"^{_MKMapPoint=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKPolyline", - b"polylineWithCoordinates:count:", - { - "arguments": { - 2: { - "type": b"^{CLLocationCoordinate2D=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKPolyline", - b"polylineWithPoints:count:", - { - "arguments": { - 2: { - "type": b"^{_MKMapPoint=dd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MKTileOverlay", - b"URLForTilePath:", - {"arguments": {2: {"type": b"{_MKTileOverlayPath=qqqd}"}}}, - ) - r(b"MKTileOverlay", b"canReplaceMapContent", {"retval": {"type": b"Z"}}) - r(b"MKTileOverlay", b"isGeometryFlipped", {"retval": {"type": b"Z"}}) - r( - b"MKTileOverlay", - b"loadTileAtPath:result:", - { - "arguments": { - 2: {"type": b"{_MKTileOverlayPath=qqqd}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r(b"MKTileOverlay", b"setCanReplaceMapContent:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKTileOverlay", b"setGeometryFlipped:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MKUserLocation", b"isUpdating", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"boundingMapRect", - { - "required": True, - "retval": {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}, - }, - ) - r( - b"NSObject", - b"canReplaceMapContent", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"completer:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"completerDidUpdateResults:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"coordinate", - {"required": True, "retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"NSObject", - b"intersectsMapRect:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"{_MKMapRect={_MKMapPoint=dd}{_MKMapSize=dd}}"}}, - }, - ) - r( - b"NSObject", - b"mapView:annotationView:didChangeDragState:fromOldState:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"mapView:clusterAnnotationForMemberAnnotations:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didAddAnnotationViews:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didAddOverlayRenderers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didChangeUserTrackingMode:animated:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}, 4: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"mapView:didDeselectAnnotationView:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didFailToLocateUserWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didSelectAnnotationView:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:didUpdateUserLocation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:regionDidChangeAnimated:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"mapView:regionWillChangeAnimated:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"mapView:rendererForOverlay:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapView:viewForAnnotation:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapViewDidChangeVisibleRegion:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mapViewDidFailLoadingMap:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"mapViewDidFinishLoadingMap:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mapViewDidFinishRenderingMap:fullyRendered:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"mapViewDidStopLocatingUser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mapViewWillStartLoadingMap:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mapViewWillStartLocatingUser:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mapViewWillStartRenderingMap:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setCoordinate:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}, - }, - ) - r(b"NSObject", b"subtitle", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"title", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSValue", - b"MKCoordinateSpanValue", - {"retval": {"type": b"{_MKCoordinateSpan=dd}"}}, - ) - r( - b"NSValue", - b"MKCoordinateValue", - {"retval": {"type": b"{CLLocationCoordinate2D=dd}"}}, - ) - r( - b"NSValue", - b"valueWithMKCoordinate:", - {"arguments": {2: {"type": b"{CLLocationCoordinate2D=dd}"}}}, - ) - r( - b"NSValue", - b"valueWithMKCoordinateSpan:", - {"arguments": {2: {"type": b"{_MKCoordinateSpan=dd}"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MediaAccessibility/__init__.py b/src/lib/MediaAccessibility/__init__.py deleted file mode 100644 index 61f749c..0000000 --- a/src/lib/MediaAccessibility/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the AddressBook framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from MediaAccessibility import _metadata - -sys.modules["MediaAccessibility"] = mod = objc.ObjCLazyModule( - "MediaAccessibility", - "com.apple.MediaAccessibility", - objc.pathForFramework("/System/Library/Frameworks/MediaAccessibility.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Cocoa,), -) - - -del sys.modules["MediaAccessibility._metadata"] diff --git a/src/lib/MediaAccessibility/_metadata.py b/src/lib/MediaAccessibility/_metadata.py deleted file mode 100644 index b81bfb3..0000000 --- a/src/lib/MediaAccessibility/_metadata.py +++ /dev/null @@ -1,170 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:00:36 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MAMediaCharacteristicDescribesMusicAndSoundForAccessibility$MAMediaCharacteristicDescribesVideoForAccessibility$MAMediaCharacteristicTranscribesSpokenDialogForAccessibility$kMAAudibleMediaSettingsChangedNotification$kMACaptionAppearanceSettingsChangedNotification$""" -enums = """$kMACaptionAppearanceBehaviorUseContentIfAvailable@1$kMACaptionAppearanceBehaviorUseValue@0$kMACaptionAppearanceDisplayTypeAlwaysOn@2$kMACaptionAppearanceDisplayTypeAutomatic@1$kMACaptionAppearanceDisplayTypeForcedOnly@0$kMACaptionAppearanceDomainDefault@0$kMACaptionAppearanceDomainUser@1$kMACaptionAppearanceFontStyleCasual@5$kMACaptionAppearanceFontStyleCursive@6$kMACaptionAppearanceFontStyleDefault@0$kMACaptionAppearanceFontStyleMonospacedWithSerif@1$kMACaptionAppearanceFontStyleMonospacedWithoutSerif@3$kMACaptionAppearanceFontStyleProportionalWithSerif@2$kMACaptionAppearanceFontStyleProportionalWithoutSerif@4$kMACaptionAppearanceFontStyleSmallCapital@7$kMACaptionAppearanceTextEdgeStyleDepressed@3$kMACaptionAppearanceTextEdgeStyleDropShadow@5$kMACaptionAppearanceTextEdgeStyleNone@1$kMACaptionAppearanceTextEdgeStyleRaised@2$kMACaptionAppearanceTextEdgeStyleUndefined@0$kMACaptionAppearanceTextEdgeStyleUniform@4$""" -misc.update( - { - "MACaptionAppearanceDisplayType": NewType( - "MACaptionAppearanceDisplayType", int - ), - "MACaptionAppearanceBehavior": NewType("MACaptionAppearanceBehavior", int), - "MACaptionAppearanceFontStyle": NewType("MACaptionAppearanceFontStyle", int), - "MACaptionAppearanceTextEdgeStyle": NewType( - "MACaptionAppearanceTextEdgeStyle", int - ), - "MACaptionAppearanceDomain": NewType("MACaptionAppearanceDomain", int), - } -) -misc.update({}) -functions = { - "MACaptionAppearanceCopyFontDescriptorForStyle": ( - b"^{__CTFontDescriptor=}q^qq", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"null_accepted": True, "type_modifier": "o"}}, - }, - ), - "MACaptionAppearanceCopyForegroundColor": ( - b"^{CGColor=}q^q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"null_accepted": True, "type_modifier": "o"}}, - }, - ), - "MACaptionAppearanceCopySelectedLanguages": ( - b"^{__CFArray=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "MACaptionAppearanceCopyWindowColor": ( - b"^{CGColor=}q^q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"null_accepted": True, "type_modifier": "o"}}, - }, - ), - "MAImageCaptioningSetCaption": ( - b"B^{__CFURL=}^{__CFString=}^^{__CFError=}", - "", - { - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "MACaptionAppearanceCopyPreferredCaptioningMediaCharacteristics": ( - b"^{__CFArray=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "MACaptionAppearanceGetDisplayType": (b"qq",), - "MACaptionAppearanceGetWindowRoundedCornerRadius": ( - b"dq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), - "MACaptionAppearanceSetDisplayType": (b"vqq",), - "MAAudibleMediaCopyPreferredCharacteristics": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}, "variadic": False}, - ), - "MACaptionAppearanceGetRelativeCharacterSize": ( - b"dq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), - "MAImageCaptioningCopyMetadataTagPath": ( - b"@", - "", - {"retval": {"already_cfretained": True}}, - ), - "MAImageCaptioningCopyCaption": ( - b"^{__CFString=}^{__CFURL=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "MACaptionAppearanceGetForegroundOpacity": ( - b"dq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), - "MACaptionAppearanceCopyBackgroundColor": ( - b"^{CGColor=}q^q", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"null_accepted": True, "type_modifier": "o"}}, - }, - ), - "MACaptionAppearanceGetBackgroundOpacity": ( - b"dq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), - "MACaptionAppearanceGetTextEdgeStyle": ( - b"qq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), - "MACaptionAppearanceAddSelectedLanguage": ( - b"Bq^{__CFString=}", - "", - {"arguments": {1: {"null_accepted": True}}}, - ), - "MACaptionAppearanceDidDisplayCaptions": (b"v^{__CFArray=}",), - "MACaptionAppearanceGetWindowOpacity": ( - b"dq^q", - "", - {"arguments": {1: {"null_accepted": True, "type_modifier": "o"}}}, - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/MediaLibrary/__init__.py b/src/lib/MediaLibrary/__init__.py deleted file mode 100644 index b0eb0e6..0000000 --- a/src/lib/MediaLibrary/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the MediaLibrary framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import Quartz -from MediaLibrary import _metadata - -sys.modules["MediaLibrary"] = mod = objc.ObjCLazyModule( - "MediaLibrary", - "com.apple.MediaLibrary", - objc.pathForFramework("/System/Library/Frameworks/MediaLibrary.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Cocoa, Quartz), -) - - -del sys.modules["MediaLibrary._metadata"] diff --git a/src/lib/MediaLibrary/_metadata.py b/src/lib/MediaLibrary/_metadata.py deleted file mode 100644 index 2af7c07..0000000 --- a/src/lib/MediaLibrary/_metadata.py +++ /dev/null @@ -1,44 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:04:30 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MLApertureAllPhotosTypeIdentifier$MLApertureAllProjectsTypeIdentifier$MLApertureFacebookAlbumTypeIdentifier$MLApertureFacebookGroupTypeIdentifier$MLApertureFacesAlbumTypeIdentifier$MLApertureFlaggedTypeIdentifier$MLApertureFlickrAlbumTypeIdentifier$MLApertureFlickrGroupTypeIdentifier$MLApertureFolderAlbumTypeIdentifier$MLApertureLastImportAlbumTypeIdentifier$MLApertureLastNMonthsAlbumTypeIdentifier$MLApertureLastViewedEventAlbumTypeIdentifier$MLApertureLightTableTypeIdentifier$MLAperturePhotoStreamAlbumTypeIdentifier$MLAperturePlacesAlbumTypeIdentifier$MLAperturePlacesCityAlbumTypeIdentifier$MLAperturePlacesCountryAlbumTypeIdentifier$MLAperturePlacesPointOfInterestAlbumTypeIdentifier$MLAperturePlacesProvinceAlbumTypeIdentifier$MLApertureProjectAlbumTypeIdentifier$MLApertureProjectFolderAlbumTypeIdentifier$MLApertureRootGroupTypeIdentifier$MLApertureSlideShowTypeIdentifier$MLApertureSmugMugAlbumTypeIdentifier$MLApertureSmugMugGroupTypeIdentifier$MLApertureUserAlbumTypeIdentifier$MLApertureUserSmartAlbumTypeIdentifier$MLFinalCutEventCalendarGroupTypeIdentifier$MLFinalCutEventGroupTypeIdentifier$MLFinalCutEventLibraryGroupTypeIdentifier$MLFinalCutFolderGroupTypeIdentifier$MLFinalCutProjectGroupTypeIdentifier$MLFinalCutRootGroupTypeIdentifier$MLFolderGroupTypeIdentifier$MLFolderRootGroupTypeIdentifier$MLGarageBandFolderGroupTypeIdentifier$MLGarageBandRootGroupTypeIdentifier$MLLogicBouncesGroupTypeIdentifier$MLLogicProjectTypeIdentifier$MLLogicProjectsGroupTypeIdentifier$MLLogicRootGroupTypeIdentifier$MLMediaLoadAppFoldersKey$MLMediaLoadAppleLoops$MLMediaLoadExcludeSourcesKey$MLMediaLoadFoldersKey$MLMediaLoadIncludeSourcesKey$MLMediaLoadMoviesFolder$MLMediaLoadSourceTypesKey$MLMediaObjectAlbumKey$MLMediaObjectArtistKey$MLMediaObjectBitRateKey$MLMediaObjectChannelCountKey$MLMediaObjectCommentsKey$MLMediaObjectDurationKey$MLMediaObjectGenreKey$MLMediaObjectKeywordsKey$MLMediaObjectKindKey$MLMediaObjectProtectedKey$MLMediaObjectResolutionStringKey$MLMediaObjectSampleRateKey$MLMediaObjectTrackNumberKey$MLMediaSourceApertureIdentifier$MLMediaSourceAppDefinedFoldersIdentifier$MLMediaSourceCustomFoldersIdentifier$MLMediaSourceFinalCutIdentifier$MLMediaSourceGarageBandIdentifier$MLMediaSourceLogicIdentifier$MLMediaSourceMoviesFolderIdentifier$MLMediaSourcePhotoBoothIdentifier$MLMediaSourcePhotosIdentifier$MLMediaSourceiMovieIdentifier$MLMediaSourceiPhotoIdentifier$MLMediaSourceiTunesIdentifier$MLPhotosAlbumTypeIdentifier$MLPhotosAlbumsGroupTypeIdentifier$MLPhotosAllCollectionsGroupTypeIdentifier$MLPhotosAllMomentsGroupTypeIdentifier$MLPhotosAllPhotosAlbumTypeIdentifier$MLPhotosAllYearsGroupTypeIdentifier$MLPhotosAnimatedGroupTypeIdentifier$MLPhotosBurstGroupTypeIdentifier$MLPhotosCollectionGroupTypeIdentifier$MLPhotosDepthEffectGroupTypeIdentifier$MLPhotosFacesAlbumTypeIdentifier$MLPhotosFavoritesGroupTypeIdentifier$MLPhotosFolderTypeIdentifier$MLPhotosFrontCameraGroupTypeIdentifier$MLPhotosLastImportGroupTypeIdentifier$MLPhotosLivePhotosGroupTypeIdentifier$MLPhotosLongExposureGroupTypeIdentifier$MLPhotosMomentGroupTypeIdentifier$MLPhotosMyPhotoStreamTypeIdentifier$MLPhotosPanoramasGroupTypeIdentifier$MLPhotosPublishedAlbumTypeIdentifier$MLPhotosRootGroupTypeIdentifier$MLPhotosScreenshotGroupTypeIdentifier$MLPhotosSharedGroupTypeIdentifier$MLPhotosSharedPhotoStreamTypeIdentifier$MLPhotosSloMoGroupTypeIdentifier$MLPhotosSmartAlbumTypeIdentifier$MLPhotosTimelapseGroupTypeIdentifier$MLPhotosVideosGroupTypeIdentifier$MLPhotosYearGroupTypeIdentifier$MLiMovieEventCalendarGroupTypeIdentifier$MLiMovieEventGroupTypeIdentifier$MLiMovieEventLibraryGroupTypeIdentifier$MLiMovieFolderGroupTypeIdentifier$MLiMovieProjectGroupTypeIdentifier$MLiMovieRootGroupTypeIdentifier$MLiPhotoAlbumTypeIdentifier$MLiPhotoEventAlbumTypeIdentifier$MLiPhotoEventsFolderTypeIdentifier$MLiPhotoFacebookAlbumTypeIdentifier$MLiPhotoFacebookGroupTypeIdentifier$MLiPhotoFacesAlbumTypeIdentifier$MLiPhotoFlaggedAlbumTypeIdentifier$MLiPhotoFlickrAlbumTypeIdentifier$MLiPhotoFlickrGroupTypeIdentifier$MLiPhotoFolderAlbumTypeIdentifier$MLiPhotoLastImportAlbumTypeIdentifier$MLiPhotoLastNMonthsAlbumTypeIdentifier$MLiPhotoLastViewedEventAlbumTypeIdentifier$MLiPhotoLibraryAlbumTypeIdentifier$MLiPhotoPhotoStreamAlbumTypeIdentifier$MLiPhotoPlacesAlbumTypeIdentifier$MLiPhotoPlacesCityAlbumTypeIdentifier$MLiPhotoPlacesCountryAlbumTypeIdentifier$MLiPhotoPlacesPointOfInterestAlbumTypeIdentifier$MLiPhotoPlacesProvinceAlbumTypeIdentifier$MLiPhotoRootGroupTypeIdentifier$MLiPhotoSlideShowAlbumTypeIdentifier$MLiPhotoSmartAlbumTypeIdentifier$MLiPhotoSubscribedAlbumTypeIdentifier$MLiTunesAudioBooksPlaylistTypeIdentifier$MLiTunesFolderPlaylistTypeIdentifier$MLiTunesGeniusPlaylistTypeIdentifier$MLiTunesMoviesPlaylistTypeIdentifier$MLiTunesMusicPlaylistTypeIdentifier$MLiTunesMusicVideosPlaylistTypeIdentifier$MLiTunesPlaylistTypeIdentifier$MLiTunesPodcastPlaylistTypeIdentifier$MLiTunesPurchasedPlaylistTypeIdentifier$MLiTunesRootGroupTypeIdentifier$MLiTunesSavedGeniusPlaylistTypeIdentifier$MLiTunesSmartPlaylistTypeIdentifier$MLiTunesTVShowsPlaylistTypeIdentifier$MLiTunesVideoPlaylistTypeIdentifier$MLiTunesiTunesUPlaylistTypeIdentifier$""" -enums = """$MLMediaSourceTypeAudio@1$MLMediaSourceTypeImage@2$MLMediaSourceTypeMovie@4$MLMediaTypeAudio@1$MLMediaTypeImage@2$MLMediaTypeMovie@4$""" -misc.update( - { - "MLMediaType": NewType("MLMediaType", int), - "MLMediaSourceType": NewType("MLMediaSourceType", int), - } -) -misc.update({}) -expressions = {} - -# END OF FILE diff --git a/src/lib/MediaPlayer/__init__.py b/src/lib/MediaPlayer/__init__.py deleted file mode 100644 index 60e2cef..0000000 --- a/src/lib/MediaPlayer/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the MediaPlayer framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AVFoundation -import objc -from MediaPlayer import _metadata - -sys.modules["MediaPlayer"] = mod = objc.ObjCLazyModule( - "MediaPlayer", - "com.apple.MediaPlayer", - objc.pathForFramework("/System/Library/Frameworks/MediaPlayer.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (AVFoundation,), -) - - -del sys.modules["MediaPlayer._metadata"] diff --git a/src/lib/MediaPlayer/_metadata.py b/src/lib/MediaPlayer/_metadata.py deleted file mode 100644 index 04dbfc6..0000000 --- a/src/lib/MediaPlayer/_metadata.py +++ /dev/null @@ -1,540 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:04:49 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MPErrorDomain$MPLanguageOptionCharacteristicContainsOnlyForcedSubtitles$MPLanguageOptionCharacteristicDescribesMusicAndSound$MPLanguageOptionCharacteristicDescribesVideo$MPLanguageOptionCharacteristicDubbedTranslation$MPLanguageOptionCharacteristicEasyToRead$MPLanguageOptionCharacteristicIsAuxiliaryContent$MPLanguageOptionCharacteristicIsMainProgramContent$MPLanguageOptionCharacteristicLanguageTranslation$MPLanguageOptionCharacteristicTranscribesSpokenDialog$MPLanguageOptionCharacteristicVoiceOverTranslation$MPMediaEntityPropertyPersistentID$MPMediaItemPropertyAlbumArtist$MPMediaItemPropertyAlbumArtistPersistentID$MPMediaItemPropertyAlbumPersistentID$MPMediaItemPropertyAlbumTitle$MPMediaItemPropertyAlbumTrackCount$MPMediaItemPropertyAlbumTrackNumber$MPMediaItemPropertyArtist$MPMediaItemPropertyArtistPersistentID$MPMediaItemPropertyArtwork$MPMediaItemPropertyAssetURL$MPMediaItemPropertyBeatsPerMinute$MPMediaItemPropertyBookmarkTime$MPMediaItemPropertyComments$MPMediaItemPropertyComposer$MPMediaItemPropertyComposerPersistentID$MPMediaItemPropertyDateAdded$MPMediaItemPropertyDiscCount$MPMediaItemPropertyDiscNumber$MPMediaItemPropertyGenre$MPMediaItemPropertyGenrePersistentID$MPMediaItemPropertyHasProtectedAsset$MPMediaItemPropertyIsCloudItem$MPMediaItemPropertyIsCompilation$MPMediaItemPropertyIsExplicit$MPMediaItemPropertyIsPreorder$MPMediaItemPropertyLastPlayedDate$MPMediaItemPropertyLyrics$MPMediaItemPropertyMediaType$MPMediaItemPropertyPersistentID$MPMediaItemPropertyPlayCount$MPMediaItemPropertyPlaybackDuration$MPMediaItemPropertyPlaybackStoreID$MPMediaItemPropertyPodcastPersistentID$MPMediaItemPropertyPodcastTitle$MPMediaItemPropertyRating$MPMediaItemPropertyReleaseDate$MPMediaItemPropertySkipCount$MPMediaItemPropertyTitle$MPMediaItemPropertyUserGrouping$MPMediaLibraryDidChangeNotification$MPMediaPlaybackIsPreparedToPlayDidChangeNotification$MPMediaPlaylistPropertyAuthorDisplayName$MPMediaPlaylistPropertyCloudGlobalID$MPMediaPlaylistPropertyDescriptionText$MPMediaPlaylistPropertyName$MPMediaPlaylistPropertyPersistentID$MPMediaPlaylistPropertyPlaylistAttributes$MPMediaPlaylistPropertySeedItems$MPMusicPlayerControllerNowPlayingItemDidChangeNotification$MPMusicPlayerControllerPlaybackStateDidChangeNotification$MPMusicPlayerControllerQueueDidChangeNotification$MPMusicPlayerControllerVolumeDidChangeNotification$MPNowPlayingInfoCollectionIdentifier$MPNowPlayingInfoPropertyAssetURL$MPNowPlayingInfoPropertyAvailableLanguageOptions$MPNowPlayingInfoPropertyChapterCount$MPNowPlayingInfoPropertyChapterNumber$MPNowPlayingInfoPropertyCurrentLanguageOptions$MPNowPlayingInfoPropertyCurrentPlaybackDate$MPNowPlayingInfoPropertyDefaultPlaybackRate$MPNowPlayingInfoPropertyElapsedPlaybackTime$MPNowPlayingInfoPropertyExternalContentIdentifier$MPNowPlayingInfoPropertyExternalUserProfileIdentifier$MPNowPlayingInfoPropertyIsLiveStream$MPNowPlayingInfoPropertyMediaType$MPNowPlayingInfoPropertyPlaybackProgress$MPNowPlayingInfoPropertyPlaybackQueueCount$MPNowPlayingInfoPropertyPlaybackQueueIndex$MPNowPlayingInfoPropertyPlaybackRate$MPNowPlayingInfoPropertyServiceIdentifier$MPNowPlayingInfoPropertyServiceIdentifier,$""" -enums = """$MPChangeLanguageOptionSettingNone@0$MPChangeLanguageOptionSettingNowPlayingItemOnly@1$MPChangeLanguageOptionSettingPermanent@2$MPErrorCancelled@6$MPErrorCloudServiceCapabilityMissing@2$MPErrorNetworkConnectionFailed@3$MPErrorNotFound@4$MPErrorNotSupported@5$MPErrorPermissionDenied@1$MPErrorRequestTimedOut@7$MPErrorUnknown@0$MPMediaGroupingAlbum@1$MPMediaGroupingAlbumArtist@3$MPMediaGroupingArtist@2$MPMediaGroupingComposer@4$MPMediaGroupingGenre@5$MPMediaGroupingPlaylist@6$MPMediaGroupingPodcastTitle@7$MPMediaGroupingTitle@0$MPMediaLibraryAuthorizationStatusAuthorized@3$MPMediaLibraryAuthorizationStatusDenied@1$MPMediaLibraryAuthorizationStatusNotDetermined@0$MPMediaLibraryAuthorizationStatusRestricted@2$MPMediaPlaylistAttributeGenius@4$MPMediaPlaylistAttributeNone@0$MPMediaPlaylistAttributeOnTheGo@1$MPMediaPlaylistAttributeSmart@2$MPMediaPredicateComparisonContains@1$MPMediaPredicateComparisonEqualTo@0$MPMediaTypeAny@18446744073709551615$MPMediaTypeAnyAudio@255$MPMediaTypeAnyVideo@65280$MPMediaTypeAudioBook@4$MPMediaTypeAudioITunesU@8$MPMediaTypeHomeVideo@8192$MPMediaTypeMovie@256$MPMediaTypeMusic@1$MPMediaTypeMusicVideo@2048$MPMediaTypePodcast@2$MPMediaTypeTVShow@512$MPMediaTypeVideoITunesU@4096$MPMediaTypeVideoPodcast@1024$MPMusicPlaybackStateInterrupted@3$MPMusicPlaybackStatePaused@2$MPMusicPlaybackStatePlaying@1$MPMusicPlaybackStateSeekingBackward@5$MPMusicPlaybackStateSeekingForward@4$MPMusicPlaybackStateStopped@0$MPMusicRepeatModeAll@3$MPMusicRepeatModeDefault@0$MPMusicRepeatModeNone@1$MPMusicRepeatModeOne@2$MPMusicShuffleModeAlbums@3$MPMusicShuffleModeDefault@0$MPMusicShuffleModeOff@1$MPMusicShuffleModeSongs@2$MPNowPlayingInfoLanguageOptionTypeAudible@0$MPNowPlayingInfoLanguageOptionTypeLegible@1$MPNowPlayingInfoMediaTypeAudio@1$MPNowPlayingInfoMediaTypeNone@0$MPNowPlayingInfoMediaTypeVideo@2$MPNowPlayingPlaybackStateInterrupted@4$MPNowPlayingPlaybackStatePaused@2$MPNowPlayingPlaybackStatePlaying@1$MPNowPlayingPlaybackStateStopped@3$MPNowPlayingPlaybackStateUnknown@0$MPRemoteCommandHandlerStatusCommandFailed@200$MPRemoteCommandHandlerStatusDeviceNotFound@120$MPRemoteCommandHandlerStatusNoActionableNowPlayingItem@110$MPRemoteCommandHandlerStatusNoSuchContent@100$MPRemoteCommandHandlerStatusSuccess@0$MPRepeatTypeAll@2$MPRepeatTypeOff@0$MPRepeatTypeOne@1$MPSeekCommandEventTypeBeginSeeking@0$MPSeekCommandEventTypeEndSeeking@1$MPShuffleTypeCollections@2$MPShuffleTypeItems@1$MPShuffleTypeOff@0$""" -misc.update( - { - "MPRepeatType": NewType("MPRepeatType", int), - "MPChangeLanguageOptionSetting": NewType("MPChangeLanguageOptionSetting", int), - "MPSeekCommandEventType": NewType("MPSeekCommandEventType", int), - "MPMediaLibraryAuthorizationStatus": NewType( - "MPMediaLibraryAuthorizationStatus", int - ), - "MPMediaGrouping": NewType("MPMediaGrouping", int), - "MPMusicPlaybackState": NewType("MPMusicPlaybackState", int), - "MPMusicRepeatMode": NewType("MPMusicRepeatMode", int), - "MPMediaPredicateComparison": NewType("MPMediaPredicateComparison", int), - "MPMediaType": NewType("MPMediaType", int), - "MPErrorCode": NewType("MPErrorCode", int), - "MPNowPlayingInfoLanguageOptionType": NewType( - "MPNowPlayingInfoLanguageOptionType", int - ), - "MPShuffleType": NewType("MPShuffleType", int), - "MPNowPlayingPlaybackState": NewType("MPNowPlayingPlaybackState", int), - "MPNowPlayingInfoMediaType": NewType("MPNowPlayingInfoMediaType", int), - "MPMusicShuffleMode": NewType("MPMusicShuffleMode", int), - "MPMediaPlaylistAttribute": NewType("MPMediaPlaylistAttribute", int), - "MPRemoteCommandHandlerStatus": NewType("MPRemoteCommandHandlerStatus", int), - } -) -misc.update({}) -functions = { - "MPVolumeSettingsAlertIsVisible": (b"Z",), - "MPVolumeSettingsAlertHide": (b"v",), - "MPVolumeSettingsAlertShow": (b"v",), -} -aliases = { - "MP_DEPRECATED_WITH_REPLACEMENT_END": "__API_DEPRECATED_WITH_REPLACEMENT_END", - "MP_DEPRECATED_BEGIN": "__API_DEPRECATED_BEGIN", - "MP_UNAVAILABLE_END": "__API_UNAVAILABLE_END", - "MP_API_END": "__API_AVAILABLE_END", - "MP_API_BEGIN": "__API_AVAILABLE_BEGIN", - "MP_DEPRECATED_END": "__API_DEPRECATED_END", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MPChangeRepeatModeCommandEvent", - b"preservesRepeatMode", - {"retval": {"type": "Z"}}, - ) - r( - b"MPChangeRepeatModeCommandEvent", - b"setPreservesRepeatMode:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MPChangeShuffleModeCommandEvent", - b"preservesShuffleMode", - {"retval": {"type": "Z"}}, - ) - r( - b"MPChangeShuffleModeCommandEvent", - b"setPreservesShuffleMode:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"MPContentItem", b"isContainer", {"retval": {"type": "Z"}}) - r(b"MPContentItem", b"isExplicitContent", {"retval": {"type": "Z"}}) - r(b"MPContentItem", b"isPlayable", {"retval": {"type": "Z"}}) - r(b"MPContentItem", b"isStreamingContent", {"retval": {"type": "Z"}}) - r(b"MPContentItem", b"setContainer:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPContentItem", b"setExplicitContent:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPContentItem", b"setPlayable:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPContentItem", b"setStreamingContent:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPFeedbackCommand", b"isActive", {"retval": {"type": "Z"}}) - r(b"MPFeedbackCommand", b"setActive:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPFeedbackCommandEvent", b"isNegative", {"retval": {"type": "Z"}}) - r(b"MPFeedbackCommandEvent", b"setNegative:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPMediaEntity", b"canFilterByProperty:", {"retval": {"type": "Z"}}) - r( - b"MPMediaEntity", - b"enumerateValuesForProperties:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"MPMediaEntity", - b"enumerateValuesForProperties:usingBlock::", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"MPMediaItem", b"hasProtectedAsset", {"retval": {"type": "Z"}}) - r(b"MPMediaItem", b"isCloudItem", {"retval": {"type": "Z"}}) - r(b"MPMediaItem", b"isCompilation", {"retval": {"type": "Z"}}) - r(b"MPMediaItem", b"isExplicitItem", {"retval": {"type": "Z"}}) - r(b"MPMediaItem", b"isPreorder", {"retval": {"type": b"Z"}}) - r(b"MPMediaItem", b"setCloudItem:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPMediaItem", b"setCompilation:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPMediaItem", b"setExplicitItem:", {"arguments": {2: {"type": "Z"}}}) - r(b"MPMediaItem", b"setHasProtectedAsset:", {"arguments": {2: {"type": "Z"}}}) - r( - b"MPMediaItemArtwork", - b"initWithBoundsSize:requestHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"{CGSize=ff}", b"{CGSize=dd}")}, - }, - } - } - } - }, - ) - r( - b"MPMediaLibrary", - b"addItemWithProductID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPMediaLibrary", - b"getPlaylistWithUUID:creationMetadata:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPMediaLibrary", - b"requestAuthorization:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"MPMediaPlaylist", - b"addItemWithProductID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MPMediaPlaylist", - b"addMediaItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MPMusicPlayerApplicationController", - b"performQueueTransaction:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"MPMusicPlayerController", - b"prepareToPlayWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MPNowPlayingInfoLanguageOption", - b"isAutomaticAudibleLanguageOption", - {"retval": {"type": "Z"}}, - ) - r( - b"MPNowPlayingInfoLanguageOption", - b"isAutomaticLegibleLanguageOption", - {"retval": {"type": "Z"}}, - ) - r( - b"MPNowPlayingInfoLanguageOptionGroup", - b"allowEmptySelection", - {"retval": {"type": "Z"}}, - ) - r( - b"MPNowPlayingInfoLanguageOptionGroup", - b"initWithLanguageOptions:defaultLanguageOption:allowEmptySelection:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"MPNowPlayingInfoLanguageOptionGroup", - b"setAllowEmptySelection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MPNowPlayingSession", - b"becomeActiveIfPossibleWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r(b"MPNowPlayingSession", b"canBecomeActive", {"retval": {"type": b"Z"}}) - r(b"MPNowPlayingSession", b"isActive", {"retval": {"type": b"Z"}}) - r( - b"MPPlayableContentManagerContext", - b"contentLimitsEnabled", - {"retval": {"type": "Z"}}, - ) - r( - b"MPPlayableContentManagerContext", - b"contentLimitsEnforced", - {"retval": {"type": "Z"}}, - ) - r( - b"MPPlayableContentManagerContext", - b"endpointAvailable", - {"retval": {"type": "Z"}}, - ) - r( - b"MPPlayableContentManagerContext", - b"setContentLimitsEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MPPlayableContentManagerContext", - b"setContentLimitsEnforced:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MPPlayableContentManagerContext", - b"setEndpointAvailable:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MPRemoteCommand", - b"addTargetWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": sel32or64(b"i", b"q")}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"MPRemoteCommand", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"MPRemoteCommand", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSObject", - b"beginLoadingChildItemsAtIndexPath:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"beginSeekingBackward", - {"required": True, "retval": {"type": b"v"}}, - ) - r(b"NSObject", b"beginSeekingForward", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"childItemsDisplayPlaybackProgressAtIndexPath:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"contentItemAtIndexPath:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"contentItemForIdentifier:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"currentPlaybackRate", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"currentPlaybackTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"endSeeking", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"isPreparedToPlay", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"nowPlayingSessionDidChangeActive:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"nowPlayingSessionDidChangeCanBecomeActive:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfChildItemsAtIndexPath:", - {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"openToPlayQueueDescriptor:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"pause", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"play", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"playableContentManager:didUpdateContext:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"playableContentManager:initializePlaybackQueueWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playableContentManager:initializePlaybackQueueWithContentItems:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"playableContentManager:initiatePlaybackOfContentItemAtIndexPath:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r(b"NSObject", b"prepareToPlay", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"setCurrentPlaybackRate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setCurrentPlaybackTime:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r(b"NSObject", b"stop", {"required": True, "retval": {"type": b"v"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MediaToolbox/__init__.py b/src/lib/MediaToolbox/__init__.py deleted file mode 100644 index 00dca29..0000000 --- a/src/lib/MediaToolbox/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the MediaToolbox framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import MediaToolbox._MediaToolbox -import objc -from MediaToolbox import _metadata - -sys.modules["MediaToolbox"] = mod = objc.ObjCLazyModule( - "MediaToolbox", - "com.apple.MediaToolbox", - objc.pathForFramework("/System/Library/Frameworks/MediaToolbox.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -for nm in dir(MediaToolbox._MediaToolbox): - setattr(mod, nm, getattr(MediaToolbox._MediaToolbox, nm)) - - -del sys.modules["MediaToolbox._metadata"] diff --git a/src/lib/MediaToolbox/_metadata.py b/src/lib/MediaToolbox/_metadata.py deleted file mode 100644 index 324cf8d..0000000 --- a/src/lib/MediaToolbox/_metadata.py +++ /dev/null @@ -1,72 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:05:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$kMTAudioProcessingTapCallbacksVersion_0@0$kMTAudioProcessingTapCreationFlag_PostEffects@2$kMTAudioProcessingTapCreationFlag_PreEffects@1$kMTAudioProcessingTapFlag_EndOfStream@512$kMTAudioProcessingTapFlag_StartOfStream@256$""" -misc.update({}) -misc.update({}) -functions = { - "MTAudioProcessingTapGetSourceAudio": ( - b"i^{opaqueMTAudioProcessingTap=}q^{AudioBufferList=I[1{AudioBuffer=II^v}]}^I^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^q", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - 5: {"type_modifier": "o"}, - } - }, - ), - "MTAudioProcessingTapGetTypeID": (b"Q",), - "MTRegisterProfessionalVideoWorkflowFormatReaders": (b"v",), - "MTCopyLocalizedNameForMediaType": ( - b"^{__CFString=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "MTCopyLocalizedNameForMediaSubType": ( - b"^{__CFString=}II", - "", - {"retval": {"already_cfretained": True}}, - ), -} -cftypes = [ - ( - "MTAudioProcessingTapRef", - b"^{opaqueMTAudioProcessingTap=}", - "MTAudioProcessingTapGetTypeID", - None, - ) -] -expressions = {} - -# END OF FILE diff --git a/src/lib/Metal/__init__.py b/src/lib/Metal/__init__.py deleted file mode 100644 index 0e81b4e..0000000 --- a/src/lib/Metal/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the Metal framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import objc -from Metal import _metadata, _Metal -from Metal._inlines import _inline_list_ - -sys.modules["Metal"] = mod = objc.ObjCLazyModule( - "Metal", - "com.apple.Metal", - objc.pathForFramework("/System/Library/Frameworks/Metal.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Metal, AppKit), -) - - -del sys.modules["Metal._metadata"] diff --git a/src/lib/Metal/_metadata.py b/src/lib/Metal/_metadata.py deleted file mode 100644 index da155e4..0000000 --- a/src/lib/Metal/_metadata.py +++ /dev/null @@ -1,4361 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:08:22 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MTLIndirectCommandBufferExecutionRange": objc.createStructType( - "Metal.MTLIndirectCommandBufferExecutionRange", - b"{_MTLIndirectCommandBufferExecutionRange=II}", - ["location", "length"], - ), - "MTLAccelerationStructureSizes": objc.createStructType( - "Metal.MTLAccelerationStructureSizes", - b"{_MTLAccelerationStructureSizes=QQQ}", - [ - "accelerationStructureSize", - "buildScratchBufferSize", - "refitScratchBufferSize", - ], - ), - "MTLTextureSwizzleChannels": objc.createStructType( - "Metal.MTLTextureSwizzleChannels", - b"{_MTLTextureSwizzleChannels=CCCC}", - ["red", "green", "blue", "alpha"], - ), - "MTLQuadTessellationFactorsHalf": objc.createStructType( - "Metal.MTLQuadTessellationFactorsHalf", - b"{_MTLQuadTessellationFactorsHalf=[4S][2S]}", - ["edgeTessellationFactor", "insideTessellationFactor"], - ), - "MTLSize": objc.createStructType( - "Metal.MTLSize", b"{_MTLSize=QQQ}", ["width", "height", "depth"] - ), - "MTLDrawPrimitivesIndirectArguments": objc.createStructType( - "Metal.MTLDrawPrimitivesIndirectArguments", - b"{_MTLDrawPrimitivesIndirectArguments=IIII}", - ["vertexCount", "instanceCount", "vertexStart", "baseInstance"], - ), - "MTLVertexAmplificationViewMapping": objc.createStructType( - "Metal.MTLVertexAmplificationViewMapping", - b"{_MTLVertexAmplificationViewMapping=II}", - ["viewportArrayIndexOffset", "renderTargetArrayIndexOffset"], - ), - "MTLCounterResultStageUtilization": objc.createStructType( - "Metal.MTLCounterResultStageUtilization", - b"{_MTLCounterResultStageUtilization=QQQQQQ}", - [ - "totalCycles", - "vertexCycles", - "tessellationCycles", - "postTessellationVertexCycles", - "fragmentCycles", - "renderTargetCycles", - ], - ), - "MTLDrawPatchIndirectArguments": objc.createStructType( - "Metal.MTLDrawPatchIndirectArguments", - b"{_MTLDrawPatchIndirectArguments=IIII}", - ["patchCount", "instanceCount", "patchStart", "baseInstance"], - ), - "MTLTriangleTessellationFactorsHalf": objc.createStructType( - "Metal.MTLTriangleTessellationFactorsHalf", - b"{_MTLTriangleTessellationFactorsHalf=[3S]S}", - ["edgeTessellationFactor", "insideTessellationFactor"], - ), - "MTLAxisAlignedBoundingBox": objc.createStructType( - "Metal.MTLAxisAlignedBoundingBox", - b"{_MTLAxisAlignedBoundingBox={_MTLPackedFloat3=[3f]}{_MTLPackedFloat3=[3f]}}", - ["min", "max"], - ), - "MTLCounterResultStatistic": objc.createStructType( - "Metal.MTLCounterResultStatistic", - b"{_MTLCounterResultStatistic=QQQQQQQQ}", - [ - "tessellationInputPatches", - "vertexInvocations", - "postTessellationVertexInvocations", - "clipperInvocations", - "clipperPrimitivesOut", - "fragmentInvocations", - "fragmentsPassed", - "computeKernelInvocations", - ], - ), - "MTLStageInRegionIndirectArguments": objc.createStructType( - "Metal.MTLStageInRegionIndirectArguments", - b"{_MTLStageInRegionIndirectArguments=[3I][3I]}", - ["stageInOrigin", "stageInSize"], - ), - "MTLOrigin": objc.createStructType( - "Metal.MTLOrigin", b"{_MTLOrigin=QQQ}", ["x", "y", "z"] - ), - "MTLAccelerationStructureMotionInstanceDescriptor": objc.createStructType( - "Metal.MTLAccelerationStructureMotionInstanceDescriptor", - b"{_MTLAccelerationStructureMotionInstanceDescriptor=IIIIIIIIIff}", - [ - "options", - "mask", - "intersectionFunctionTableOffset", - "accelerationStructureIndex", - "userID", - "motionTransformsStartIndex", - "motionTransformsCount", - "motionStartBorderMode", - "motionEndBorderMode", - "motionStartTime", - "motionEndTime", - ], - ), - "MTLDispatchThreadgroupsIndirectArguments": objc.createStructType( - "Metal.MTLDispatchThreadgroupsIndirectArguments", - b"{_MTLDispatchThreadgroupsIndirectArguments=[3I]}", - ["threadgroupsPerGrid"], - ), - "MTLViewport": objc.createStructType( - "Metal.MTLViewport", - b"{_MTLViewport=dddddd}", - ["originX", "originY", "width", "height", "znear", "zfar"], - ), - "MTLRegion": objc.createStructType( - "Metal.MTLRegion", - b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - ["origin", "size"], - ), - "MTLSamplePosition": objc.createStructType( - "Metal.MTLSamplePosition", b"{_MTLSamplePosition=ff}", ["x", "y"] - ), - "MTLDrawIndexedPrimitivesIndirectArguments": objc.createStructType( - "Metal.MTLDrawIndexedPrimitivesIndirectArguments", - b"{_MTLDrawIndexedPrimitivesIndirectArguments=IIIiI}", - ["indexCount", "instanceCount", "indexStart", "baseVertex", "baseInstance"], - ), - "MTLClearColor": objc.createStructType( - "Metal.MTLClearColor", - b"{_MTLClearColor=dddd}", - ["red", "green", "blue", "alpha"], - ), - "MTLCoordinate2D": objc.createStructType( - "Metal.MTLCoordinate2D", b"{_MTLCoordinate2D=ff}", ["x", "y"] - ), - "MTLSizeAndAlign": objc.createStructType( - "Metal.MTLSizeAndAlign", b"{_MTLSizeAndAlign=QQ}", ["size", "align"] - ), - "MTLScissorRect": objc.createStructType( - "Metal.MTLScissorRect", - b"{_MTLScissorRect=QQQQ}", - ["x", "y", "width", "height"], - ), - "MTLCounterResultTimestamp": objc.createStructType( - "Metal.MTLCounterResultTimestamp", - b"{_MTLCounterResultTimestamp=Q}", - ["timestamp"], - ), - "MTLMapIndirectArguments": objc.createStructType( - "Metal.MTLMapIndirectArguments", - b"{_MTLMapIndirectArguments=IIIIIIII}", - [ - "regionOriginX", - "regionOriginY", - "regionOriginZ", - "regionSizeWidth", - "regionSizeHeight", - "regionSizeDepth", - "mipMapLevel", - "sliceId", - ], - ), - } -) -constants = """$MTLBinaryArchiveDomain$MTLCaptureErrorDomain$MTLCommandBufferEncoderInfoErrorKey$MTLCommandBufferErrorDomain$MTLCommonCounterClipperInvocations$MTLCommonCounterClipperPrimitivesOut$MTLCommonCounterComputeKernelInvocations$MTLCommonCounterFragmentCycles$MTLCommonCounterFragmentInvocations$MTLCommonCounterFragmentsPassed$MTLCommonCounterPostTessellationVertexCycles$MTLCommonCounterPostTessellationVertexInvocations$MTLCommonCounterRenderTargetWriteCycles$MTLCommonCounterSetStageUtilization$MTLCommonCounterSetStatistic$MTLCommonCounterSetTimestamp$MTLCommonCounterTessellationCycles$MTLCommonCounterTessellationInputPatches$MTLCommonCounterTimestamp$MTLCommonCounterTotalCycles$MTLCommonCounterVertexCycles$MTLCommonCounterVertexInvocations$MTLCounterErrorDomain$MTLDeviceRemovalRequestedNotification$MTLDeviceWasAddedNotification$MTLDeviceWasRemovedNotification$MTLDynamicLibraryDomain$MTLLibraryErrorDomain$""" -enums = """$MTLAccelerationStructureInstanceDescriptorTypeDefault@0$MTLAccelerationStructureInstanceDescriptorTypeMotion@2$MTLAccelerationStructureInstanceDescriptorTypeUserID@1$MTLAccelerationStructureInstanceOptionDisableTriangleCulling@1$MTLAccelerationStructureInstanceOptionNonOpaque@8$MTLAccelerationStructureInstanceOptionNone@0$MTLAccelerationStructureInstanceOptionOpaque@4$MTLAccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise@2$MTLAccelerationStructureUsageExtendedLimits@4$MTLAccelerationStructureUsageNone@0$MTLAccelerationStructureUsagePreferFastBuild@2$MTLAccelerationStructureUsageRefit@1$MTLArgumentAccessReadOnly@0$MTLArgumentAccessReadWrite@1$MTLArgumentAccessWriteOnly@2$MTLArgumentBuffersTier1@0$MTLArgumentBuffersTier2@1$MTLArgumentTypeBuffer@0$MTLArgumentTypeImageblock@17$MTLArgumentTypeImageblockData@16$MTLArgumentTypeInstanceAccelerationStructure@26$MTLArgumentTypeIntersectionFunctionTable@27$MTLArgumentTypePrimitiveAccelerationStructure@25$MTLArgumentTypeSampler@3$MTLArgumentTypeTexture@2$MTLArgumentTypeThreadgroupMemory@1$MTLArgumentTypeVisibleFunctionTable@24$MTLAttributeFormatChar@46$MTLAttributeFormatChar2@4$MTLAttributeFormatChar2Normalized@10$MTLAttributeFormatChar3@5$MTLAttributeFormatChar3Normalized@11$MTLAttributeFormatChar4@6$MTLAttributeFormatChar4Normalized@12$MTLAttributeFormatCharNormalized@48$MTLAttributeFormatFloat@28$MTLAttributeFormatFloat2@29$MTLAttributeFormatFloat3@30$MTLAttributeFormatFloat4@31$MTLAttributeFormatHalf@53$MTLAttributeFormatHalf2@25$MTLAttributeFormatHalf3@26$MTLAttributeFormatHalf4@27$MTLAttributeFormatInt@32$MTLAttributeFormatInt1010102Normalized@40$MTLAttributeFormatInt2@33$MTLAttributeFormatInt3@34$MTLAttributeFormatInt4@35$MTLAttributeFormatInvalid@0$MTLAttributeFormatShort@50$MTLAttributeFormatShort2@16$MTLAttributeFormatShort2Normalized@22$MTLAttributeFormatShort3@17$MTLAttributeFormatShort3Normalized@23$MTLAttributeFormatShort4@18$MTLAttributeFormatShort4Normalized@24$MTLAttributeFormatShortNormalized@52$MTLAttributeFormatUChar@45$MTLAttributeFormatUChar2@1$MTLAttributeFormatUChar2Normalized@7$MTLAttributeFormatUChar3@2$MTLAttributeFormatUChar3Normalized@8$MTLAttributeFormatUChar4@3$MTLAttributeFormatUChar4Normalized@9$MTLAttributeFormatUChar4Normalized_BGRA@42$MTLAttributeFormatUCharNormalized@47$MTLAttributeFormatUInt@36$MTLAttributeFormatUInt1010102Normalized@41$MTLAttributeFormatUInt2@37$MTLAttributeFormatUInt3@38$MTLAttributeFormatUInt4@39$MTLAttributeFormatUShort@49$MTLAttributeFormatUShort2@13$MTLAttributeFormatUShort2Normalized@19$MTLAttributeFormatUShort3@14$MTLAttributeFormatUShort3Normalized@20$MTLAttributeFormatUShort4@15$MTLAttributeFormatUShort4Normalized@21$MTLAttributeFormatUShortNormalized@51$MTLBarrierScopeBuffers@1$MTLBarrierScopeRenderTargets@4$MTLBarrierScopeTextures@2$MTLBinaryArchiveErrorCompilationFailure@3$MTLBinaryArchiveErrorInvalidFile@1$MTLBinaryArchiveErrorNone@0$MTLBinaryArchiveErrorUnexpectedElement@2$MTLBlendFactorBlendAlpha@13$MTLBlendFactorBlendColor@11$MTLBlendFactorDestinationAlpha@8$MTLBlendFactorDestinationColor@6$MTLBlendFactorOne@1$MTLBlendFactorOneMinusBlendAlpha@14$MTLBlendFactorOneMinusBlendColor@12$MTLBlendFactorOneMinusDestinationAlpha@9$MTLBlendFactorOneMinusDestinationColor@7$MTLBlendFactorOneMinusSource1Alpha@18$MTLBlendFactorOneMinusSource1Color@16$MTLBlendFactorOneMinusSourceAlpha@5$MTLBlendFactorOneMinusSourceColor@3$MTLBlendFactorSource1Alpha@17$MTLBlendFactorSource1Color@15$MTLBlendFactorSourceAlpha@4$MTLBlendFactorSourceAlphaSaturated@10$MTLBlendFactorSourceColor@2$MTLBlendFactorZero@0$MTLBlendOperationAdd@0$MTLBlendOperationMax@4$MTLBlendOperationMin@3$MTLBlendOperationReverseSubtract@2$MTLBlendOperationSubtract@1$MTLBlitOptionDepthFromDepthStencil@1$MTLBlitOptionNone@0$MTLBlitOptionRowLinearPVRTC@4$MTLBlitOptionStencilFromDepthStencil@2$MTLCPUCacheModeDefaultCache@0$MTLCPUCacheModeWriteCombined@1$MTLCaptureDestinationDeveloperTools@1$MTLCaptureDestinationGPUTraceDocument@2$MTLCaptureErrorAlreadyCapturing@2$MTLCaptureErrorInvalidDescriptor@3$MTLCaptureErrorNotSupported@1$MTLColorWriteMaskAll@15$MTLColorWriteMaskAlpha@1$MTLColorWriteMaskBlue@2$MTLColorWriteMaskGreen@4$MTLColorWriteMaskNone@0$MTLColorWriteMaskRed@8$MTLCommandBufferErrorAccessRevoked@4$MTLCommandBufferErrorBlacklisted@4$MTLCommandBufferErrorDeviceRemoved@11$MTLCommandBufferErrorInternal@1$MTLCommandBufferErrorInvalidResource@9$MTLCommandBufferErrorMemoryless@10$MTLCommandBufferErrorNone@0$MTLCommandBufferErrorNotPermitted@7$MTLCommandBufferErrorOptionEncoderExecutionStatus@1$MTLCommandBufferErrorOptionNone@0$MTLCommandBufferErrorOutOfMemory@8$MTLCommandBufferErrorPageFault@3$MTLCommandBufferErrorStackOverflow@12$MTLCommandBufferErrorTimeout@2$MTLCommandBufferStatusCommitted@2$MTLCommandBufferStatusCompleted@4$MTLCommandBufferStatusEnqueued@1$MTLCommandBufferStatusError@5$MTLCommandBufferStatusNotEnqueued@0$MTLCommandBufferStatusScheduled@3$MTLCommandEncoderErrorStateAffected@2$MTLCommandEncoderErrorStateCompleted@1$MTLCommandEncoderErrorStateFaulted@4$MTLCommandEncoderErrorStatePending@3$MTLCommandEncoderErrorStateUnknown@0$MTLCompareFunctionAlways@7$MTLCompareFunctionEqual@2$MTLCompareFunctionGreater@4$MTLCompareFunctionGreaterEqual@6$MTLCompareFunctionLess@1$MTLCompareFunctionLessEqual@3$MTLCompareFunctionNever@0$MTLCompareFunctionNotEqual@5$MTLCounterDontSample@18446744073709551615$MTLCounterErrorValue@18446744073709551615$MTLCounterSampleBufferErrorInternal@2$MTLCounterSampleBufferErrorInvalid@1$MTLCounterSampleBufferErrorOutOfMemory@0$MTLCounterSamplingPointAtBlitBoundary@4$MTLCounterSamplingPointAtDispatchBoundary@2$MTLCounterSamplingPointAtDrawBoundary@1$MTLCounterSamplingPointAtStageBoundary@0$MTLCounterSamplingPointAtTileDispatchBoundary@3$MTLCullModeBack@2$MTLCullModeFront@1$MTLCullModeNone@0$MTLDataTypeArray@2$MTLDataTypeBool@53$MTLDataTypeBool2@54$MTLDataTypeBool3@55$MTLDataTypeBool4@56$MTLDataTypeChar@45$MTLDataTypeChar2@46$MTLDataTypeChar3@47$MTLDataTypeChar4@48$MTLDataTypeComputePipeline@79$MTLDataTypeFloat@3$MTLDataTypeFloat2@4$MTLDataTypeFloat2x2@7$MTLDataTypeFloat2x3@8$MTLDataTypeFloat2x4@9$MTLDataTypeFloat3@5$MTLDataTypeFloat3x2@10$MTLDataTypeFloat3x3@11$MTLDataTypeFloat3x4@12$MTLDataTypeFloat4@6$MTLDataTypeFloat4x2@13$MTLDataTypeFloat4x3@14$MTLDataTypeFloat4x4@15$MTLDataTypeHalf@16$MTLDataTypeHalf2@17$MTLDataTypeHalf2x2@20$MTLDataTypeHalf2x3@21$MTLDataTypeHalf2x4@22$MTLDataTypeHalf3@18$MTLDataTypeHalf3x2@23$MTLDataTypeHalf3x3@24$MTLDataTypeHalf3x4@25$MTLDataTypeHalf4@19$MTLDataTypeHalf4x2@26$MTLDataTypeHalf4x3@27$MTLDataTypeHalf4x4@28$MTLDataTypeIndirectCommandBuffer@80$MTLDataTypeInstanceAccelerationStructure@118$MTLDataTypeInt@29$MTLDataTypeInt2@30$MTLDataTypeInt3@31$MTLDataTypeInt4@32$MTLDataTypeIntersectionFunctionTable@116$MTLDataTypeLong@81$MTLDataTypeLong2@82$MTLDataTypeLong3@83$MTLDataTypeLong4@84$MTLDataTypeNone@0$MTLDataTypePointer@60$MTLDataTypePrimitiveAccelerationStructure@117$MTLDataTypeR16Snorm@65$MTLDataTypeR16Unorm@64$MTLDataTypeR8Snorm@63$MTLDataTypeR8Unorm@62$MTLDataTypeRG11B10Float@76$MTLDataTypeRG16Snorm@69$MTLDataTypeRG16Unorm@68$MTLDataTypeRG8Snorm@67$MTLDataTypeRG8Unorm@66$MTLDataTypeRGB10A2Unorm@75$MTLDataTypeRGB9E5Float@77$MTLDataTypeRGBA16Snorm@74$MTLDataTypeRGBA16Unorm@73$MTLDataTypeRGBA8Snorm@72$MTLDataTypeRGBA8Unorm@70$MTLDataTypeRGBA8Unorm_sRGB@71$MTLDataTypeRenderPipeline@78$MTLDataTypeSampler@59$MTLDataTypeShort@37$MTLDataTypeShort2@38$MTLDataTypeShort3@39$MTLDataTypeShort4@40$MTLDataTypeStruct@1$MTLDataTypeTexture@58$MTLDataTypeUChar@49$MTLDataTypeUChar2@50$MTLDataTypeUChar3@51$MTLDataTypeUChar4@52$MTLDataTypeUInt@33$MTLDataTypeUInt2@34$MTLDataTypeUInt3@35$MTLDataTypeUInt4@36$MTLDataTypeULong@85$MTLDataTypeULong2@86$MTLDataTypeULong3@87$MTLDataTypeULong4@88$MTLDataTypeUShort@41$MTLDataTypeUShort2@42$MTLDataTypeUShort3@43$MTLDataTypeUShort4@44$MTLDataTypeVisibleFunctionTable@115$MTLDepthClipModeClamp@1$MTLDepthClipModeClip@0$MTLDeviceLocationBuiltIn@0$MTLDeviceLocationExternal@2$MTLDeviceLocationSlot@1$MTLDeviceLocationUnspecified@18446744073709551615$MTLDispatchTypeConcurrent@1$MTLDispatchTypeSerial@0$MTLDynamicLibraryErrorCompilationFailure@2$MTLDynamicLibraryErrorDependencyLoadFailure@4$MTLDynamicLibraryErrorInvalidFile@1$MTLDynamicLibraryErrorNone@0$MTLDynamicLibraryErrorUnresolvedInstallName@3$MTLDynamicLibraryErrorUnsupported@5$MTLFeatureSet_OSX_GPUFamily1_v1@10000$MTLFeatureSet_OSX_GPUFamily1_v2@10001$MTLFeatureSet_OSX_ReadWriteTextureTier2@10002$MTLFeatureSet_TVOS_GPUFamily1_v1@30000$MTLFeatureSet_iOS_GPUFamily1_v1@0$MTLFeatureSet_iOS_GPUFamily1_v2@2$MTLFeatureSet_iOS_GPUFamily1_v3@5$MTLFeatureSet_iOS_GPUFamily1_v4@8$MTLFeatureSet_iOS_GPUFamily1_v5@12$MTLFeatureSet_iOS_GPUFamily2_v1@1$MTLFeatureSet_iOS_GPUFamily2_v2@3$MTLFeatureSet_iOS_GPUFamily2_v3@6$MTLFeatureSet_iOS_GPUFamily2_v4@9$MTLFeatureSet_iOS_GPUFamily2_v5@13$MTLFeatureSet_iOS_GPUFamily3_v1@4$MTLFeatureSet_iOS_GPUFamily3_v2@7$MTLFeatureSet_iOS_GPUFamily3_v3@10$MTLFeatureSet_iOS_GPUFamily3_v4@14$MTLFeatureSet_iOS_GPUFamily4_v1@11$MTLFeatureSet_iOS_GPUFamily4_v2@15$MTLFeatureSet_iOS_GPUFamily5_v1@16$MTLFeatureSet_macOS_GPUFamily1_v1@10000$MTLFeatureSet_macOS_GPUFamily1_v2@10001$MTLFeatureSet_macOS_GPUFamily1_v3@10003$MTLFeatureSet_macOS_GPUFamily1_v4@10004$MTLFeatureSet_macOS_GPUFamily2_v1@10005$MTLFeatureSet_macOS_ReadWriteTextureTier2@10002$MTLFeatureSet_tvOS_GPUFamily1_v1@30000$MTLFeatureSet_tvOS_GPUFamily1_v2@30001$MTLFeatureSet_tvOS_GPUFamily1_v3@30002$MTLFeatureSet_tvOS_GPUFamily1_v4@30004$MTLFeatureSet_tvOS_GPUFamily2_v1@30003$MTLFeatureSet_tvOS_GPUFamily2_v2@30005$MTLFunctionLogTypeValidation@0$MTLFunctionOptionCompileToBinary@1$MTLFunctionOptionNone@0$MTLFunctionTypeFragment@2$MTLFunctionTypeIntersection@6$MTLFunctionTypeKernel@3$MTLFunctionTypeVertex@1$MTLFunctionTypeVisible@5$MTLGPUFamilyApple1@1001$MTLGPUFamilyApple2@1002$MTLGPUFamilyApple3@1003$MTLGPUFamilyApple4@1004$MTLGPUFamilyApple5@1005$MTLGPUFamilyApple6@1006$MTLGPUFamilyApple7@1007$MTLGPUFamilyCommon1@3001$MTLGPUFamilyCommon2@3002$MTLGPUFamilyCommon3@3003$MTLGPUFamilyMac1@2001$MTLGPUFamilyMac2@2002$MTLGPUFamilyMacCatalyst1@4001$MTLGPUFamilyMacCatalyst2@4002$MTLHazardTrackingModeDefault@0$MTLHazardTrackingModeTracked@2$MTLHazardTrackingModeUntracked@1$MTLHeapTypeAutomatic@0$MTLHeapTypePlacement@1$MTLHeapTypeSparse@2$MTLIndexTypeUInt16@0$MTLIndexTypeUInt32@1$MTLIndirectCommandTypeConcurrentDispatch@32$MTLIndirectCommandTypeConcurrentDispatchThreads@64$MTLIndirectCommandTypeDraw@1$MTLIndirectCommandTypeDrawIndexed@2$MTLIndirectCommandTypeDrawIndexedPatches@8$MTLIndirectCommandTypeDrawPatches@4$MTLIntersectionFunctionSignatureExtendedLimits@32$MTLIntersectionFunctionSignatureInstanceMotion@8$MTLIntersectionFunctionSignatureInstancing@1$MTLIntersectionFunctionSignatureNone@0$MTLIntersectionFunctionSignaturePrimitiveMotion@16$MTLIntersectionFunctionSignatureTriangleData@2$MTLIntersectionFunctionSignatureWorldSpaceData@4$MTLLanguageVersion1_0@65536$MTLLanguageVersion1_1@65537$MTLLanguageVersion1_2@65538$MTLLanguageVersion2_0@131072$MTLLanguageVersion2_1@131073$MTLLanguageVersion2_2@131074$MTLLanguageVersion2_3@131075$MTLLanguageVersion2_4@131076$MTLLibraryErrorCompileFailure@3$MTLLibraryErrorCompileWarning@4$MTLLibraryErrorFileNotFound@6$MTLLibraryErrorFunctionNotFound@5$MTLLibraryErrorInternal@2$MTLLibraryErrorUnsupported@1$MTLLibraryTypeDynamic@1$MTLLibraryTypeExecutable@0$MTLLoadActionClear@2$MTLLoadActionDontCare@0$MTLLoadActionLoad@1$MTLMaxBlitPassSampleBuffers@4$MTLMaxComputePassSampleBuffers@4$MTLMaxRenderPassSampleBuffers@4$MTLMaxResourceStatePassSampleBuffers@4$MTLMotionBorderModeClamp@0$MTLMotionBorderModeVanish@1$MTLMultisampleDepthResolveFilterMax@2$MTLMultisampleDepthResolveFilterMin@1$MTLMultisampleDepthResolveFilterSample0@0$MTLMultisampleStencilResolveFilterDepthResolvedSample@1$MTLMultisampleStencilResolveFilterSample0@0$MTLMutabilityDefault@0$MTLMutabilityImmutable@2$MTLMutabilityMutable@1$MTLPatchTypeNone@0$MTLPatchTypeQuad@2$MTLPatchTypeTriangle@1$MTLPipelineOptionArgumentInfo@1$MTLPipelineOptionBufferTypeInfo@2$MTLPipelineOptionFailOnBinaryArchiveMiss@4$MTLPipelineOptionNone@0$MTLPixelFormatA1BGR5Unorm@41$MTLPixelFormatA8Unorm@1$MTLPixelFormatABGR4Unorm@42$MTLPixelFormatASTC_10x10_HDR@234$MTLPixelFormatASTC_10x10_LDR@216$MTLPixelFormatASTC_10x10_sRGB@198$MTLPixelFormatASTC_10x5_HDR@231$MTLPixelFormatASTC_10x5_LDR@213$MTLPixelFormatASTC_10x5_sRGB@195$MTLPixelFormatASTC_10x6_HDR@232$MTLPixelFormatASTC_10x6_LDR@214$MTLPixelFormatASTC_10x6_sRGB@196$MTLPixelFormatASTC_10x8_HDR@233$MTLPixelFormatASTC_10x8_LDR@215$MTLPixelFormatASTC_10x8_sRGB@197$MTLPixelFormatASTC_12x10_HDR@235$MTLPixelFormatASTC_12x10_LDR@217$MTLPixelFormatASTC_12x10_sRGB@199$MTLPixelFormatASTC_12x12_HDR@236$MTLPixelFormatASTC_12x12_LDR@218$MTLPixelFormatASTC_12x12_sRGB@200$MTLPixelFormatASTC_4x4_HDR@222$MTLPixelFormatASTC_4x4_LDR@204$MTLPixelFormatASTC_4x4_sRGB@186$MTLPixelFormatASTC_5x4_HDR@223$MTLPixelFormatASTC_5x4_LDR@205$MTLPixelFormatASTC_5x4_sRGB@187$MTLPixelFormatASTC_5x5_HDR@224$MTLPixelFormatASTC_5x5_LDR@206$MTLPixelFormatASTC_5x5_sRGB@188$MTLPixelFormatASTC_6x5_HDR@225$MTLPixelFormatASTC_6x5_LDR@207$MTLPixelFormatASTC_6x5_sRGB@189$MTLPixelFormatASTC_6x6_HDR@226$MTLPixelFormatASTC_6x6_LDR@208$MTLPixelFormatASTC_6x6_sRGB@190$MTLPixelFormatASTC_8x5_HDR@228$MTLPixelFormatASTC_8x5_LDR@210$MTLPixelFormatASTC_8x5_sRGB@192$MTLPixelFormatASTC_8x6_HDR@229$MTLPixelFormatASTC_8x6_LDR@211$MTLPixelFormatASTC_8x6_sRGB@193$MTLPixelFormatASTC_8x8_HDR@230$MTLPixelFormatASTC_8x8_LDR@212$MTLPixelFormatASTC_8x8_sRGB@194$MTLPixelFormatB5G6R5Unorm@40$MTLPixelFormatBC1_RGBA@130$MTLPixelFormatBC1_RGBA_sRGB@131$MTLPixelFormatBC2_RGBA@132$MTLPixelFormatBC2_RGBA_sRGB@133$MTLPixelFormatBC3_RGBA@134$MTLPixelFormatBC3_RGBA_sRGB@135$MTLPixelFormatBC4_RSnorm@141$MTLPixelFormatBC4_RUnorm@140$MTLPixelFormatBC5_RGSnorm@143$MTLPixelFormatBC5_RGUnorm@142$MTLPixelFormatBC6H_RGBFloat@150$MTLPixelFormatBC6H_RGBUfloat@151$MTLPixelFormatBC7_RGBAUnorm@152$MTLPixelFormatBC7_RGBAUnorm_sRGB@153$MTLPixelFormatBGR10A2Unorm@94$MTLPixelFormatBGR10_XR@554$MTLPixelFormatBGR10_XR_sRGB@555$MTLPixelFormatBGR5A1Unorm@43$MTLPixelFormatBGRA10_XR@552$MTLPixelFormatBGRA10_XR_sRGB@553$MTLPixelFormatBGRA8Unorm@80$MTLPixelFormatBGRA8Unorm_sRGB@81$MTLPixelFormatBGRG422@241$MTLPixelFormatDepth16Unorm@250$MTLPixelFormatDepth24Unorm_Stencil8@255$MTLPixelFormatDepth32Float@252$MTLPixelFormatDepth32Float_Stencil8@260$MTLPixelFormatEAC_R11Snorm@172$MTLPixelFormatEAC_R11Unorm@170$MTLPixelFormatEAC_RG11Snorm@176$MTLPixelFormatEAC_RG11Unorm@174$MTLPixelFormatEAC_RGBA8@178$MTLPixelFormatEAC_RGBA8_sRGB@179$MTLPixelFormatETC2_RGB8@180$MTLPixelFormatETC2_RGB8A1@182$MTLPixelFormatETC2_RGB8A1_sRGB@183$MTLPixelFormatETC2_RGB8_sRGB@181$MTLPixelFormatGBGR422@240$MTLPixelFormatInvalid@0$MTLPixelFormatPVRTC_RGBA_2BPP@164$MTLPixelFormatPVRTC_RGBA_2BPP_sRGB@165$MTLPixelFormatPVRTC_RGBA_4BPP@166$MTLPixelFormatPVRTC_RGBA_4BPP_sRGB@167$MTLPixelFormatPVRTC_RGB_2BPP@160$MTLPixelFormatPVRTC_RGB_2BPP_sRGB@161$MTLPixelFormatPVRTC_RGB_4BPP@162$MTLPixelFormatPVRTC_RGB_4BPP_sRGB@163$MTLPixelFormatR16Float@25$MTLPixelFormatR16Sint@24$MTLPixelFormatR16Snorm@22$MTLPixelFormatR16Uint@23$MTLPixelFormatR16Unorm@20$MTLPixelFormatR32Float@55$MTLPixelFormatR32Sint@54$MTLPixelFormatR32Uint@53$MTLPixelFormatR8Sint@14$MTLPixelFormatR8Snorm@12$MTLPixelFormatR8Uint@13$MTLPixelFormatR8Unorm@10$MTLPixelFormatR8Unorm_sRGB@11$MTLPixelFormatRG11B10Float@92$MTLPixelFormatRG16Float@65$MTLPixelFormatRG16Sint@64$MTLPixelFormatRG16Snorm@62$MTLPixelFormatRG16Uint@63$MTLPixelFormatRG16Unorm@60$MTLPixelFormatRG32Float@105$MTLPixelFormatRG32Sint@104$MTLPixelFormatRG32Uint@103$MTLPixelFormatRG8Sint@34$MTLPixelFormatRG8Snorm@32$MTLPixelFormatRG8Uint@33$MTLPixelFormatRG8Unorm@30$MTLPixelFormatRG8Unorm_sRGB@31$MTLPixelFormatRGB10A2Uint@91$MTLPixelFormatRGB10A2Unorm@90$MTLPixelFormatRGB9E5Float@93$MTLPixelFormatRGBA16Float@115$MTLPixelFormatRGBA16Sint@114$MTLPixelFormatRGBA16Snorm@112$MTLPixelFormatRGBA16Uint@113$MTLPixelFormatRGBA16Unorm@110$MTLPixelFormatRGBA32Float@125$MTLPixelFormatRGBA32Sint@124$MTLPixelFormatRGBA32Uint@123$MTLPixelFormatRGBA8Sint@74$MTLPixelFormatRGBA8Snorm@72$MTLPixelFormatRGBA8Uint@73$MTLPixelFormatRGBA8Unorm@70$MTLPixelFormatRGBA8Unorm_sRGB@71$MTLPixelFormatStencil8@253$MTLPixelFormatX24_Stencil8@262$MTLPixelFormatX32_Stencil8@261$MTLPrimitiveTopologyClassLine@2$MTLPrimitiveTopologyClassPoint@1$MTLPrimitiveTopologyClassTriangle@3$MTLPrimitiveTopologyClassUnspecified@0$MTLPrimitiveTypeLine@1$MTLPrimitiveTypeLineStrip@2$MTLPrimitiveTypePoint@0$MTLPrimitiveTypeTriangle@3$MTLPrimitiveTypeTriangleStrip@4$MTLPurgeableStateEmpty@4$MTLPurgeableStateKeepCurrent@1$MTLPurgeableStateNonVolatile@2$MTLPurgeableStateVolatile@3$MTLReadWriteTextureTier1@1$MTLReadWriteTextureTier2@2$MTLReadWriteTextureTierNone@0$MTLRenderStageFragment@2$MTLRenderStageTile@4$MTLRenderStageVertex@1$MTLResourceCPUCacheModeDefaultCache@0$MTLResourceCPUCacheModeShift@0$MTLResourceCPUCacheModeWriteCombined@1$MTLResourceHazardTrackingModeDefault@0$MTLResourceHazardTrackingModeShift@8$MTLResourceHazardTrackingModeTracked@512$MTLResourceHazardTrackingModeUntracked@256$MTLResourceOptionCPUCacheModeDefault@0$MTLResourceOptionCPUCacheModeWriteCombined@1$MTLResourceStorageModeManaged@16$MTLResourceStorageModeMemoryless@48$MTLResourceStorageModePrivate@32$MTLResourceStorageModeShared@0$MTLResourceStorageModeShift@4$MTLResourceUsageRead@1$MTLResourceUsageSample@4$MTLResourceUsageWrite@2$MTLSamplerAddressModeClampToBorderColor@5$MTLSamplerAddressModeClampToEdge@0$MTLSamplerAddressModeClampToZero@4$MTLSamplerAddressModeMirrorClampToEdge@1$MTLSamplerAddressModeMirrorRepeat@3$MTLSamplerAddressModeRepeat@2$MTLSamplerBorderColorOpaqueBlack@1$MTLSamplerBorderColorOpaqueWhite@2$MTLSamplerBorderColorTransparentBlack@0$MTLSamplerMinMagFilterLinear@1$MTLSamplerMinMagFilterNearest@0$MTLSamplerMipFilterLinear@2$MTLSamplerMipFilterNearest@1$MTLSamplerMipFilterNotMipmapped@0$MTLSparseTextureMappingModeMap@0$MTLSparseTextureMappingModeUnmap@1$MTLSparseTextureRegionAlignmentModeInward@1$MTLSparseTextureRegionAlignmentModeOutward@0$MTLStencilOperationDecrementClamp@4$MTLStencilOperationDecrementWrap@7$MTLStencilOperationIncrementClamp@3$MTLStencilOperationIncrementWrap@6$MTLStencilOperationInvert@5$MTLStencilOperationKeep@0$MTLStencilOperationReplace@2$MTLStencilOperationZero@1$MTLStepFunctionConstant@0$MTLStepFunctionPerInstance@2$MTLStepFunctionPerPatch@3$MTLStepFunctionPerPatchControlPoint@4$MTLStepFunctionPerVertex@1$MTLStepFunctionThreadPositionInGridX@5$MTLStepFunctionThreadPositionInGridXIndexed@7$MTLStepFunctionThreadPositionInGridY@6$MTLStepFunctionThreadPositionInGridYIndexed@8$MTLStorageModeManaged@1$MTLStorageModeMemoryless@3$MTLStorageModePrivate@2$MTLStorageModeShared@0$MTLStoreActionCustomSampleDepthStore@5$MTLStoreActionDontCare@0$MTLStoreActionMultisampleResolve@2$MTLStoreActionOptionCustomSamplePositions@1$MTLStoreActionOptionNone@0$MTLStoreActionStore@1$MTLStoreActionStoreAndMultisampleResolve@3$MTLStoreActionUnknown@4$MTLTessellationControlPointIndexTypeNone@0$MTLTessellationControlPointIndexTypeUInt16@1$MTLTessellationControlPointIndexTypeUInt32@2$MTLTessellationFactorFormatHalf@0$MTLTessellationFactorStepFunctionConstant@0$MTLTessellationFactorStepFunctionPerInstance@2$MTLTessellationFactorStepFunctionPerPatch@1$MTLTessellationFactorStepFunctionPerPatchAndPerInstance@3$MTLTessellationPartitionModeFractionalEven@3$MTLTessellationPartitionModeFractionalOdd@2$MTLTessellationPartitionModeInteger@1$MTLTessellationPartitionModePow2@0$MTLTextureSwizzleAlpha@5$MTLTextureSwizzleBlue@4$MTLTextureSwizzleGreen@3$MTLTextureSwizzleOne@1$MTLTextureSwizzleRed@2$MTLTextureSwizzleZero@0$MTLTextureType1D@0$MTLTextureType1DArray@1$MTLTextureType2D@2$MTLTextureType2DArray@3$MTLTextureType2DMultisample@4$MTLTextureType2DMultisampleArray@8$MTLTextureType3D@7$MTLTextureTypeCube@5$MTLTextureTypeCubeArray@6$MTLTextureTypeTextureBuffer@9$MTLTextureUsagePixelFormatView@16$MTLTextureUsageRenderTarget@4$MTLTextureUsageShaderRead@1$MTLTextureUsageShaderWrite@2$MTLTextureUsageUnknown@0$MTLTriangleFillModeFill@0$MTLTriangleFillModeLines@1$MTLVertexFormatChar@46$MTLVertexFormatChar2@4$MTLVertexFormatChar2Normalized@10$MTLVertexFormatChar3@5$MTLVertexFormatChar3Normalized@11$MTLVertexFormatChar4@6$MTLVertexFormatChar4Normalized@12$MTLVertexFormatCharNormalized@48$MTLVertexFormatFloat@28$MTLVertexFormatFloat2@29$MTLVertexFormatFloat3@30$MTLVertexFormatFloat4@31$MTLVertexFormatHalf@53$MTLVertexFormatHalf2@25$MTLVertexFormatHalf3@26$MTLVertexFormatHalf4@27$MTLVertexFormatInt@32$MTLVertexFormatInt1010102Normalized@40$MTLVertexFormatInt2@33$MTLVertexFormatInt3@34$MTLVertexFormatInt4@35$MTLVertexFormatInvalid@0$MTLVertexFormatShort@50$MTLVertexFormatShort2@16$MTLVertexFormatShort2Normalized@22$MTLVertexFormatShort3@17$MTLVertexFormatShort3Normalized@23$MTLVertexFormatShort4@18$MTLVertexFormatShort4Normalized@24$MTLVertexFormatShortNormalized@52$MTLVertexFormatUChar@45$MTLVertexFormatUChar2@1$MTLVertexFormatUChar2Normalized@7$MTLVertexFormatUChar3@2$MTLVertexFormatUChar3Normalized@8$MTLVertexFormatUChar4@3$MTLVertexFormatUChar4Normalized@9$MTLVertexFormatUChar4Normalized_BGRA@42$MTLVertexFormatUCharNormalized@47$MTLVertexFormatUInt@36$MTLVertexFormatUInt1010102Normalized@41$MTLVertexFormatUInt2@37$MTLVertexFormatUInt3@38$MTLVertexFormatUInt4@39$MTLVertexFormatUShort@49$MTLVertexFormatUShort2@13$MTLVertexFormatUShort2Normalized@19$MTLVertexFormatUShort3@14$MTLVertexFormatUShort3Normalized@20$MTLVertexFormatUShort4@15$MTLVertexFormatUShort4Normalized@21$MTLVertexFormatUShortNormalized@51$MTLVertexStepFunctionConstant@0$MTLVertexStepFunctionPerInstance@2$MTLVertexStepFunctionPerPatch@3$MTLVertexStepFunctionPerPatchControlPoint@4$MTLVertexStepFunctionPerVertex@1$MTLVisibilityResultModeBoolean@1$MTLVisibilityResultModeCounting@2$MTLVisibilityResultModeDisabled@0$MTLWindingClockwise@0$MTLWindingCounterClockwise@1$""" -misc.update( - { - "MTLTriangleFillMode": NewType("MTLTriangleFillMode", int), - "MTLMultisampleStencilResolveFilter": NewType( - "MTLMultisampleStencilResolveFilter", int - ), - "MTLLibraryError": NewType("MTLLibraryError", int), - "MTLStepFunction": NewType("MTLStepFunction", int), - "MTLCommandEncoderErrorState": NewType("MTLCommandEncoderErrorState", int), - "MTLCounterSamplingPoint": NewType("MTLCounterSamplingPoint", int), - "MTLCaptureDestination": NewType("MTLCaptureDestination", int), - "MTLFunctionOptions": NewType("MTLFunctionOptions", int), - "MTLResourceUsage": NewType("MTLResourceUsage", int), - "MTLBinaryArchiveError": NewType("MTLBinaryArchiveError", int), - "MTLSamplerAddressMode": NewType("MTLSamplerAddressMode", int), - "MTLReadWriteTextureTier": NewType("MTLReadWriteTextureTier", int), - "MTLLoadAction": NewType("MTLLoadAction", int), - "MTLStorageMode": NewType("MTLStorageMode", int), - "MTLAttributeFormat": NewType("MTLAttributeFormat", int), - "MTLSamplerMinMagFilter": NewType("MTLSamplerMinMagFilter", int), - "MTLPipelineOption": NewType("MTLPipelineOption", int), - "MTLPixelFormat": NewType("MTLPixelFormat", int), - "MTLGPUFamily": NewType("MTLGPUFamily", int), - "MTLCounterSampleBufferError": NewType("MTLCounterSampleBufferError", int), - "MTLIndexType": NewType("MTLIndexType", int), - "MTLStoreActionOptions": NewType("MTLStoreActionOptions", int), - "MTLAccelerationStructureInstanceDescriptorType": NewType( - "MTLAccelerationStructureInstanceDescriptorType", int - ), - "MTLPurgeableState": NewType("MTLPurgeableState", int), - "MTLCaptureError": NewType("MTLCaptureError", int), - "MTLDynamicLibraryError": NewType("MTLDynamicLibraryError", int), - "MTLMutability": NewType("MTLMutability", int), - "MTLFeatureSet": NewType("MTLFeatureSet", int), - "MTLStencilOperation": NewType("MTLStencilOperation", int), - "MTLTessellationFactorStepFunction": NewType( - "MTLTessellationFactorStepFunction", int - ), - "MTLTessellationFactorFormat": NewType("MTLTessellationFactorFormat", int), - "MTLAccelerationStructureInstanceOptions": NewType( - "MTLAccelerationStructureInstanceOptions", int - ), - "MTLMotionBorderMode": NewType("MTLMotionBorderMode", int), - "MTLTextureType": NewType("MTLTextureType", int), - "MTLMultisampleDepthResolveFilter": NewType( - "MTLMultisampleDepthResolveFilter", int - ), - "MTLColorWriteMask": NewType("MTLColorWriteMask", int), - "MTLRenderStages": NewType("MTLRenderStages", int), - "MTLBlendOperation": NewType("MTLBlendOperation", int), - "MTLIntersectionFunctionSignature": NewType( - "MTLIntersectionFunctionSignature", int - ), - "MTLPatchType": NewType("MTLPatchType", int), - "MTLResourceOptions": NewType("MTLResourceOptions", int), - "MTLTextureSwizzle": NewType("MTLTextureSwizzle", int), - "MTLCommandBufferStatus": NewType("MTLCommandBufferStatus", int), - "MTLFunctionLogType": NewType("MTLFunctionLogType", int), - "MTLWinding": NewType("MTLWinding", int), - "MTLBarrierScope": NewType("MTLBarrierScope", int), - "MTLSamplerMipFilter": NewType("MTLSamplerMipFilter", int), - "MTLDeviceLocation": NewType("MTLDeviceLocation", int), - "MTLSparseTextureMappingMode": NewType("MTLSparseTextureMappingMode", int), - "MTLCPUCacheMode": NewType("MTLCPUCacheMode", int), - "MTLTessellationPartitionMode": NewType("MTLTessellationPartitionMode", int), - "MTLLanguageVersion": NewType("MTLLanguageVersion", int), - "MTLCullMode": NewType("MTLCullMode", int), - "MTLAccelerationStructureUsage": NewType("MTLAccelerationStructureUsage", int), - "MTLStoreAction": NewType("MTLStoreAction", int), - "MTLArgumentType": NewType("MTLArgumentType", int), - "MTLPrimitiveType": NewType("MTLPrimitiveType", int), - "MTLBlendFactor": NewType("MTLBlendFactor", int), - "MTLCommandBufferErrorOption": NewType("MTLCommandBufferErrorOption", int), - "MTLTextureUsage": NewType("MTLTextureUsage", int), - "MTLArgumentBuffersTier": NewType("MTLArgumentBuffersTier", int), - "MTLDispatchType": NewType("MTLDispatchType", int), - "MTLBlitOption": NewType("MTLBlitOption", int), - "MTLVertexFormat": NewType("MTLVertexFormat", int), - "MTLHazardTrackingMode": NewType("MTLHazardTrackingMode", int), - "MTLSparseTextureRegionAlignmentMode": NewType( - "MTLSparseTextureRegionAlignmentMode", int - ), - "MTLIndirectCommandType": NewType("MTLIndirectCommandType", int), - "MTLVertexStepFunction": NewType("MTLVertexStepFunction", int), - "MTLHeapType": NewType("MTLHeapType", int), - "MTLPrimitiveTopologyClass": NewType("MTLPrimitiveTopologyClass", int), - "MTLFunctionType": NewType("MTLFunctionType", int), - "MTLArgumentAccess": NewType("MTLArgumentAccess", int), - "MTLCompareFunction": NewType("MTLCompareFunction", int), - "MTLCommandBufferError": NewType("MTLCommandBufferError", int), - "MTLDepthClipMode": NewType("MTLDepthClipMode", int), - "MTLLibraryType": NewType("MTLLibraryType", int), - "MTLVisibilityResultMode": NewType("MTLVisibilityResultMode", int), - "MTLSamplerBorderColor": NewType("MTLSamplerBorderColor", int), - "MTLDataType": NewType("MTLDataType", int), - "MTLTessellationControlPointIndexType": NewType( - "MTLTessellationControlPointIndexType", int - ), - } -) -misc.update( - { - "MTLCommonCounterSet": NewType("MTLCommonCounterSet", str), - "MTLCommonCounter": NewType("MTLCommonCounter", str), - "MTLDeviceNotificationName": NewType("MTLDeviceNotificationName", str), - } -) -misc.update({}) -functions = { - "MTLTextureSwizzleChannelsMake": (b"{_MTLTextureSwizzleChannels=CCCC}CCCC",), - "MTLOriginMake": (b"{_MTLOrigin=QQQ}QQQ",), - "MTLRemoveDeviceObserver": (b"v@",), - "MTLRegionMake3D": (b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}QQQQQQ",), - "MTLRegionMake1D": (b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}QQ",), - "MTLSamplePositionMake": (b"{_MTLSamplePosition=ff}ff",), - "MTLRegionMake2D": (b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}QQQQ",), - "MTLPackedFloat3Make": (b"{_MTLPackedFloat3=[3f]}fff",), - "MTLCopyAllDevicesWithObserver": ( - b"@^@@?", - "", - { - "retval": {"already_retained": True, "already_cfretained": True}, - "arguments": { - 0: {"type_modifier": "o"}, - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - }, - }, - }, - ), - "MTLCoordinate2DMake": (b"{_MTLCoordinate2D=ff}ff",), - "MTLIndirectCommandBufferExecutionRangeMake": ( - b"{_MTLIndirectCommandBufferExecutionRange=II}II", - ), - "MTLClearColorMake": (b"{_MTLClearColor=dddd}dddd",), - "MTLCreateSystemDefaultDevice": ( - b"@", - "", - {"retval": {"already_retained": True, "already_cfretained": True}}, - ), - "MTLCopyAllDevices": ( - b"@", - "", - {"retval": {"already_retained": True, "already_cfretained": True}}, - ), - "MTLSizeMake": (b"{_MTLSize=QQQ}QQQ",), -} -aliases = { - "MTLFeatureSet_OSX_GPUFamily1_v2": "MTLFeatureSet_macOS_GPUFamily1_v2", - "MTLFeatureSet_OSX_GPUFamily1_v1": "MTLFeatureSet_macOS_GPUFamily1_v1", - "MTLResourceOptionCPUCacheModeDefault": "MTLResourceCPUCacheModeDefaultCache", - "MTLFeatureSet_OSX_ReadWriteTextureTier2": "MTLFeatureSet_macOS_ReadWriteTextureTier2", - "MTLResourceOptionCPUCacheModeWriteCombined": "MTLResourceCPUCacheModeWriteCombined", - "MTLFeatureSet_TVOS_GPUFamily1_v1": "MTLFeatureSet_tvOS_GPUFamily1_v1", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MTLAccelerationStructureGeometryDescriptor", - b"allowDuplicateIntersectionFunctionInvocation", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLAccelerationStructureGeometryDescriptor", - b"opaque", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLAccelerationStructureGeometryDescriptor", - b"setAllowDuplicateIntersectionFunctionInvocation:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLAccelerationStructureGeometryDescriptor", - b"setOpaque:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MTLArgument", b"isActive", {"retval": {"type": b"Z"}}) - r(b"MTLArgument", b"isDepthTexture", {"retval": {"type": b"Z"}}) - r(b"MTLAttribute", b"isActive", {"retval": {"type": b"Z"}}) - r(b"MTLAttribute", b"isPatchControlPointData", {"retval": {"type": b"Z"}}) - r(b"MTLAttribute", b"isPatchData", {"retval": {"type": b"Z"}}) - r(b"MTLCaptureManager", b"isCapturing", {"retval": {"type": b"Z"}}) - r( - b"MTLCaptureManager", - b"startCaptureWithDescriptor:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"MTLCaptureManager", b"supportsDestination:", {"retval": {"type": b"Z"}}) - r(b"MTLCommandBufferDescriptor", b"retainedReferences", {"retval": {"type": b"Z"}}) - r( - b"MTLCommandBufferDescriptor", - b"setRetainedReferences:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MTLCompileOptions", b"fastMathEnabled", {"retval": {"type": b"Z"}}) - r(b"MTLCompileOptions", b"preserveInvariance", {"retval": {"type": b"Z"}}) - r(b"MTLCompileOptions", b"setFastMathEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MTLCompileOptions", - b"setPreserveInvariance:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"setSupportAddingBinaryFunctions:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"setSupportIndirectCommandBuffers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"setThreadGroupSizeIsMultipleOfThreadExecutionWidth:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"supportAddingBinaryFunctions", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"supportIndirectCommandBuffers", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLComputePipelineDescriptor", - b"threadGroupSizeIsMultipleOfThreadExecutionWidth", - {"retval": {"type": b"Z"}}, - ) - r(b"MTLDepthStencilDescriptor", b"isDepthWriteEnabled", {"retval": {"type": b"Z"}}) - r( - b"MTLDepthStencilDescriptor", - b"setDepthWriteEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MTLFunctionConstant", b"required", {"retval": {"type": b"Z"}}) - r( - b"MTLIndirectCommandBufferDescriptor", - b"inheritBuffers", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLIndirectCommandBufferDescriptor", - b"inheritPipelineState", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLIndirectCommandBufferDescriptor", - b"setInheritBuffers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLIndirectCommandBufferDescriptor", - b"setInheritPipelineState:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MTLPointerType", b"elementIsArgumentBuffer", {"retval": {"type": b"Z"}}) - r( - b"MTLRasterizationRateLayerDescriptor", - b"horizontalSampleStorage", - {"retval": {"c_array_of_variable_length": True}}, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"initWithSampleCount:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"initWithSampleCount:horizontal:vertical:", - { - "arguments": { - 2: {"type": b"{_MTLSize=QQQ}"}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 2}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 2}, - } - }, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"maxSampleCount", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"sampleCount", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"setSampleCount:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MTLRasterizationRateLayerDescriptor", - b"verticalSampleStorage", - {"retval": {"c_array_of_variable_length": True}}, - ) - r( - b"MTLRasterizationRateMapDescriptor", - b"rasterizationRateMapDescriptorWithScreenSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MTLRasterizationRateMapDescriptor", - b"rasterizationRateMapDescriptorWithScreenSize:layer:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MTLRasterizationRateMapDescriptor", - b"rasterizationRateMapDescriptorWithScreenSize:layerCount:layers:", - {"arguments": {4: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MTLRasterizationRateMapDescriptor", - b"screenSize", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MTLRasterizationRateMapDescriptor", - b"setScreenSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MTLRenderPassColorAttachmentDescriptor", - b"clearColor", - {"retval": {"type": b"{_MTLClearColor=dddd}"}}, - ) - r( - b"MTLRenderPassColorAttachmentDescriptor", - b"setClearColor:", - {"arguments": {2: {"type": b"{_MTLClearColor=dddd}"}}}, - ) - r( - b"MTLRenderPassDescriptor", - b"getSamplePositions:count:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_MTLSamplePosition=ff}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MTLRenderPassDescriptor", - b"setSamplePositions:count:", - { - "arguments": { - 2: { - "type": b"^{_MTLSamplePosition=ff}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MTLRenderPipelineColorAttachmentDescriptor", - b"isBlendingEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineColorAttachmentDescriptor", - b"setBlendingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"isAlphaToCoverageEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"isAlphaToOneEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"isRasterizationEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"isTessellationFactorScaleEnabled", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setAlphaToCoverageEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setAlphaToOneEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setRasterizationEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setSupportAddingFragmentBinaryFunctions:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setSupportAddingVertexBinaryFunctions:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setSupportIndirectCommandBuffers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"setTessellationFactorScaleEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"supportAddingFragmentBinaryFunctions", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"supportAddingVertexBinaryFunctions", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLRenderPipelineDescriptor", - b"supportIndirectCommandBuffers", - {"retval": {"type": b"Z"}}, - ) - r(b"MTLSamplerDescriptor", b"lodAverage", {"retval": {"type": b"Z"}}) - r(b"MTLSamplerDescriptor", b"normalizedCoordinates", {"retval": {"type": b"Z"}}) - r(b"MTLSamplerDescriptor", b"setLodAverage:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MTLSamplerDescriptor", - b"setNormalizedCoordinates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLSamplerDescriptor", - b"setSupportArgumentBuffers:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MTLSamplerDescriptor", b"supportArgumentBuffers", {"retval": {"type": b"Z"}}) - r(b"MTLTextureDescriptor", b"allowGPUOptimizedContents", {"retval": {"type": b"Z"}}) - r( - b"MTLTextureDescriptor", - b"setAllowGPUOptimizedContents:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLTextureDescriptor", - b"setSwizzle:", - {"arguments": {2: {"type": b"{_MTLTextureSwizzleChannels=CCCC}"}}}, - ) - r( - b"MTLTextureDescriptor", - b"swizzle", - {"retval": {"type": b"{_MTLTextureSwizzleChannels=CCCC}"}}, - ) - r( - b"MTLTextureDescriptor", - b"texture2DDescriptorWithPixelFormat:width:height:mipmapped:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MTLTextureDescriptor", - b"textureCubeDescriptorWithPixelFormat:size:mipmapped:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"MTLTextureReferenceType", b"isDepthTexture", {"retval": {"type": b"Z"}}) - r( - b"MTLTileRenderPipelineDescriptor", - b"setSupportAddingBinaryFunctions:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLTileRenderPipelineDescriptor", - b"setThreadgroupSizeMatchesTileSize:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MTLTileRenderPipelineDescriptor", - b"supportAddingBinaryFunctions", - {"retval": {"type": b"Z"}}, - ) - r( - b"MTLTileRenderPipelineDescriptor", - b"threadgroupSizeMatchesTileSize", - {"retval": {"type": b"Z"}}, - ) - r(b"MTLVertexAttribute", b"isActive", {"retval": {"type": b"Z"}}) - r(b"MTLVertexAttribute", b"isPatchControlPointData", {"retval": {"type": b"Z"}}) - r(b"MTLVertexAttribute", b"isPatchData", {"retval": {"type": b"Z"}}) - r(b"NSObject", b"GPUEndTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"GPUStartTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"URL", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"accelerationStructureCommandEncoder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"accelerationStructureSizesWithDescriptor:", - { - "required": True, - "retval": {"type": b"{_MTLAccelerationStructureSizes=QQQ}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"addCompletedHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"addComputePipelineFunctionsWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"addDebugMarker:range:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"addFunctionWithDescriptor:library:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"addPresentedHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"addRenderPipelineFunctionsWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"addScheduledHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"NSObject", - b"addTileRenderPipelineFunctionsWithDescriptor:error:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"alignment", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"allocatedSize", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"allowGPUOptimizedContents", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"areBarycentricCoordsSupported", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"areProgrammableSamplePositionsSupported", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"areRasterOrderGroupsSupported", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"argumentBuffersSupport", - {"required": True, "retval": {"type": b"Q"}}, - ) - r(b"NSObject", b"arrayLength", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"beginScope", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"blitCommandEncoder", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"blitCommandEncoderWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"buffer", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"bufferBytesPerRow", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"bufferOffset", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"buildAccelerationStructure:descriptor:scratchBuffer:scratchBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"clearBarrier", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"column", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"commandBuffer", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"commandBufferWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"commandBufferWithUnretainedReferences", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"commandQueue", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"commit", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"computeCommandEncoder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"computeCommandEncoderWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"computeCommandEncoderWithDispatchType:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"concurrentDispatchThreadgroups:threadsPerThreadgroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "q"}, 3: {"type": "q"}}, - }, - ) - r( - b"NSObject", - b"concurrentDispatchThreads:threadsPerThreadgroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "q"}, 3: {"type": "q"}}, - }, - ) - r( - b"NSObject", - b"constantDataAtIndex:", - {"required": True, "retval": {"type": b"^v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"contents", - { - "required": True, - "retval": {"type": b"^v", "c_array_of_variable_length": True}, - }, - ) - r( - b"NSObject", - b"convertSparsePixelRegions:toTileRegions:withTileSize:alignmentMode:numRegions:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": "^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - "type_modifier": b"n", - "c_array_length_in_arg": 6, - }, - 3: { - "type": "^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - "type_modifier": b"n", - "c_array_length_in_arg": 6, - }, - 4: {"type": "{_MTLSize=QQQ}"}, - 5: {"type": "Q"}, - 6: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"convertSparseTileRegions:toPixelRegions:withTileSize:numRegions:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": "^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - "type_modifier": b"n", - "c_array_length_in_arg": 5, - }, - 3: { - "type": "^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - "type_modifier": b"n", - "c_array_length_in_arg": 5, - }, - 4: {"type": "{_MTLSize=QQQ}"}, - 5: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyAccelerationStructure:toAccelerationStructure:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"copyAndCompactAccelerationStructure:toAccelerationStructure:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - 6: {"type": b"{_MTLSize=QQQ}"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"{_MTLOrigin=QQQ}"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromBuffer:sourceOffset:sourceBytesPerRow:sourceBytesPerImage:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - 6: {"type": b"{_MTLSize=QQQ}"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"{_MTLOrigin=QQQ}"}, - 11: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromBuffer:sourceOffset:toBuffer:destinationOffset:size:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - 6: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"{_MTLOrigin=QQQ}"}, - 6: {"type": b"{_MTLSize=QQQ}"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toBuffer:destinationOffset:destinationBytesPerRow:destinationBytesPerImage:options:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"{_MTLOrigin=QQQ}"}, - 6: {"type": b"{_MTLSize=QQQ}"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"Q"}, - 11: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"{_MTLOrigin=QQQ}"}, - 6: {"type": b"{_MTLSize=QQQ}"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"{_MTLOrigin=QQQ}"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromTexture:sourceSlice:sourceLevel:toTexture:destinationSlice:destinationLevel:sliceCount:levelCount:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyFromTexture:toTexture:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"copyIndirectCommandBuffer:sourceRange:destination:destinationIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{_NSRange=QQ}"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"copyParameterDataToBuffer:offset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"counterSets", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"counters", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"cpuCacheMode", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"currentAllocatedSize", - {"required": True, "retval": {"type": b"Q"}}, - ) - r(b"NSObject", b"debugLocation", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"debugSignposts", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"depth", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"device", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"didModifyRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"dispatchThreadgroups:threadsPerThreadgroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"{_MTLSize=QQQ}"}, - 3: {"type": b"{_MTLSize=QQQ}"}, - }, - }, - ) - r( - b"NSObject", - b"dispatchThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerThreadgroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"{_MTLSize=QQQ}"}, - }, - }, - ) - r( - b"NSObject", - b"dispatchThreads:threadsPerThreadgroup:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"{_MTLSize=QQQ}"}, - 3: {"type": b"{_MTLSize=QQQ}"}, - }, - }, - ) - r( - b"NSObject", - b"dispatchThreadsPerTile:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "{_MTLSize=QQQ}"}}, - }, - ) - r(b"NSObject", b"dispatchType", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"drawIndexedPatches:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:indirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:controlPointIndexBuffer:controlPointIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - 9: {"type": b"Q"}, - 10: {"type": b"Q"}, - 11: {"type": b"@"}, - 12: {"type": b"Q"}, - 13: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPrimitives:indexCount:indexType:indexBuffer:indexBufferOffset:instanceCount:baseVertex:baseInstance:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: {"type": b"q"}, - 9: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawIndexedPrimitives:indexType:indexBuffer:indexBufferOffset:indirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - 6: {"type": b"@"}, - 7: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawPatches:patchIndexBuffer:patchIndexBufferOffset:indirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawPatches:patchStart:patchCount:patchIndexBuffer:patchIndexBufferOffset:instanceCount:baseInstance:tessellationFactorBuffer:tessellationFactorBufferOffset:tessellationFactorBufferInstanceStride:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: {"type": b"Q"}, - 9: {"type": b"@"}, - 10: {"type": b"Q"}, - 11: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawPrimitives:indirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"drawPrimitives:vertexStart:vertexCount:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"drawPrimitives:vertexStart:vertexCount:instanceCount:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"drawPrimitives:vertexStart:vertexCount:instanceCount:baseInstance:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - 6: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"drawableID", {"required": True, "retval": {"type": "Q"}}) - r( - b"NSObject", - b"encodeSignalEvent:value:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"encodeWaitForEvent:value:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"encodedLength", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"encoderLabel", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"endEncoding", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"endScope", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"enqueue", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"error", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"errorOptions", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"errorState", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"executeCommandsInBuffer:inDirectBuffer:indirectBufferOffset:", - {"arguments": {4: {"type": "Q"}}}, - ) - r( - b"NSObject", - b"executeCommandsInBuffer:indirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"executeCommandsInBuffer:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"fillBuffer:range:value:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{_NSRange=QQ}"}, - 4: {"type": "z"}, - }, - }, - ) - r(b"NSObject", b"firstMipmapInTail", {"required": False, "retval": {"type": "Q"}}) - r(b"NSObject", b"function", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"functionConstantsDictionary", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"functionHandleWithFunction:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"functionHandleWithFunction:stage:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"functionName", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"functionNames", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"functionType", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"generateMipmapsForTexture:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^v", - "type_modifier": b"o", - "c_array_of_variable_length": True, - }, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"getBytes:bytesPerRow:fromRegion:mipmapLevel:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^v", - "type_modifier": b"o", - "c_array_of_variable_length": True, - }, - 3: {"type": b"Q"}, - 4: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"getDefaultSamplePositions:count:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^{_MTLSamplePosition=ff}", - "type_modifier": b"o", - "c_array_length_in_arg": 3, - }, - 3: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 4: {"type": "Q"}, - 5: {"type": "Q"}, - 6: {"type": "Z"}, - 7: {"type": b"@"}, - 8: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"hasUnifiedMemory", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"hazardTrackingMode", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"heap", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"heapBufferSizeAndAlignWithLength:options:", - { - "required": True, - "retval": {"type": b"{_MTLSizeAndAlign=QQ}"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"heapOffset", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"heapTextureSizeAndAlignWithDescriptor:", - { - "required": True, - "retval": {"type": b"{_MTLSizeAndAlign=QQ}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"height", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"imageblockMemoryLengthForDimensions:", - { - "required": True, - "retval": {"type": "q"}, - "arguments": {2: {"type": "{_MTLSize=QQQ}"}}, - }, - ) - r( - b"NSObject", - b"imageblockSampleLength", - {"required": True, "retval": {"type": "q"}}, - ) - r( - b"NSObject", - b"indirectComputeCommandAtIndex:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"indirectRenderCommandAtIndex:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"insertDebugCaptureBoundary", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"insertDebugSignpost:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"installName", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"iosurface", - {"required": True, "retval": {"type": b"^{__IOSurface=}"}}, - ) - r(b"NSObject", b"iosurfacePlane", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"isAliasable", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"isDepth24Stencil8PixelFormatSupported", - {"required": True, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"isFramebufferOnly", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isHeadless", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isLowPower", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isRemovable", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isShareable", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"isSparse", {"required": False, "retval": {"type": "Z"}}) - r(b"NSObject", b"kernelEndTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"kernelStartTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"label", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"layerCount", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"length", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"line", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"location", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"locationNumber", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"logs", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"makeAliasable", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"mapPhysicalToScreenCoordinates:forLayer:", - { - "required": True, - "retval": {"type": b"{_MTLCoordinate2D=ff}"}, - "arguments": {2: {"type": b"{_MTLCoordinate2D=ff}"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"mapScreenToPhysicalCoordinates:forLayer:", - { - "required": True, - "retval": {"type": b"{_MTLCoordinate2D=ff}"}, - "arguments": {2: {"type": b"{_MTLCoordinate2D=ff}"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"maxArgumentBufferSamplerCount", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"maxAvailableSizeWithAlignment:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"maxBufferLength", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"maxThreadgroupMemoryLength", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"maxThreadsPerThreadgroup", - {"required": True, "retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"NSObject", - b"maxTotalThreadsPerThreadgroup", - {"required": True, "retval": {"type": b"Q"}}, - ) - r(b"NSObject", b"maxTransferRate", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"memoryBarrierWithResources:count:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"memoryBarrierWithResources:count:afterStages:beforeStages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"memoryBarrierWithScope:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"memoryBarrierWithScope:afterStages:beforeStages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"minimumLinearTextureAlignmentForPixelFormat:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"minimumTextureBufferAlignmentForPixelFormat:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"mipmapLevelCount", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"name", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newAccelerationStructureWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newAccelerationStructureWithSize:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"newArgumentEncoderForBufferAtIndex:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"newArgumentEncoderWithArguments:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newArgumentEncoderWithBufferIndex:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"newArgumentEncoderWithBufferIndex:reflection:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"^@"}}, - }, - ) - r( - b"NSObject", - b"newBinaryArchiveWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newBufferWithBytes:length:options:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"newBufferWithBytesNoCopy:length:options:deallocator:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"n^v"}, - 2: {"type": b"Q"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newBufferWithLength:options:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"newBufferWithLength:options:offset:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"newCommandQueue", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newCommandQueueWithMaxCommandBufferCount:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"newComputePipelineStateWithAdditionalBinaryFunctions:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithDescriptor:options:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithDescriptor:options:reflection:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"^@"}, - 5: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithFunction:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithFunction:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithFunction:options:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newComputePipelineStateWithFunction:options:reflection:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"^@"}, - 5: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newCounterSampleBufferWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"newDefaultLibrary", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newDefaultLibraryWithBundle:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newDepthStencilStateWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newDynamicLibrary:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newDynamicLibraryWithURL:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"newEvent", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"newFence", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newFunctionWithDescriptor:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newFunctionWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newFunctionWithName:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newFunctionWithName:constantValues:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newFunctionWithName:constantValues:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newHeapWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newIndirectCommandBufferWithDescriptor:maxCommandCount:options:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"newIntersectionFunctionTableWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newIntersectionFunctionTableWithDescriptor:stage:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"newIntersectionFunctionWithDescriptor:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newIntersectionFunctionWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newLibraryWithData:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newLibraryWithDescriptor:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newLibraryWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newLibraryWithFile:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newLibraryWithSource:options:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newLibraryWithSource:options:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newLibraryWithStitchedDescriptor:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newLibraryWithStitchedDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newLibraryWithURL:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newRasterizationRateMapWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newRemoteBufferViewForDevice:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newRemoteTextureViewForDevice:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithAdditionalBinaryFunctions:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "o^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithDescriptor:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithDescriptor:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithDescriptor:options:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithDescriptor:options:reflection:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"^@"}, - 5: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithTileDescriptor:options:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"newRenderPipelineStateWithTileDescriptor:options:reflection:error:", - { - "required": True, - "retval": {"type": "q"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: {"type": b"^@"}, - 5: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"newSamplerStateWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"newSharedEvent", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newSharedEventHandle", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"newSharedEventWithHandle:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newSharedTextureHandle", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"newSharedTextureWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newSharedTextureWithHandle:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newTextureViewWithPixelFormat:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"newTextureViewWithPixelFormat:textureType:levels:slices:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"{_NSRange=QQ}"}, - 5: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"{_NSRange=QQ}"}, - 5: {"type": b"{_NSRange=QQ}"}, - 6: {"type": b"{_MTLTextureSwizzleChannels=CCCC}"}, - }, - }, - ) - r( - b"NSObject", - b"newTextureWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newTextureWithDescriptor:iosurface:plane:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{__IOSurface=}"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"newTextureWithDescriptor:offset:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"newTextureWithDescriptor:offset:bytesPerRow:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"newVisibleFunctionTableWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"newVisibleFunctionTableWithDescriptor:stage:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"notifyListener:atValue:block:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Q"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"optimizeContentsForCPUAccess:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"optimizeContentsForCPUAccess:slice:level:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"optimizeContentsForGPUAccess:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"optimizeContentsForGPUAccess:slice:level:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"optimizeIndirectCommandBuffer:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r(b"NSObject", b"options", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"parallelRenderCommandEncoderWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"parameterBufferSizeAndAlign", - {"required": True, "retval": {"type": b"{_MTLSizeAndAlign=QQ}"}}, - ) - r(b"NSObject", b"parentRelativeLevel", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"parentRelativeSlice", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"parentTexture", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"parseTileSizeInBytes", {"retval": {"type": "Q"}}) - r( - b"NSObject", - b"patchControlPointCount", - {"required": True, "retval": {"type": b"q"}}, - ) - r(b"NSObject", b"patchType", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"peerCount", {"required": True, "retval": {"type": b"I"}}) - r(b"NSObject", b"peerGroupID", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"peerIndex", {"required": True, "retval": {"type": b"I"}}) - r( - b"NSObject", - b"physicalGranularity", - {"required": True, "retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"NSObject", - b"physicalSizeForLayer:", - { - "required": True, - "retval": {"type": b"{_MTLSize=QQQ}"}, - "arguments": {2: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"pixelFormat", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"popDebugGroup", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"present", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"presentAfterMinimumDuration:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "d"}}}, - ) - r( - b"NSObject", - b"presentAtTime:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r( - b"NSObject", - b"presentDrawable:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentDrawable:afterMinimumDuration:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"presentDrawable:atTime:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r(b"NSObject", b"presentedTime", {"required": True, "retval": {"type": "d"}}) - r( - b"NSObject", - b"pushDebugGroup:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"readWriteTextureSupport", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"recommendedMaxWorkingSetSize", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"registryID", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"remoteStorageBuffer", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"remoteStorageTexture", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"removeAllDebugMarkers", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"renderCommandEncoder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"renderCommandEncoderWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: { - "type": b"^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"replaceRegion:mipmapLevel:withBytes:bytesPerRow:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 3: {"type": b"Q"}, - 4: { - "type": b"^v", - "type_modifier": b"n", - "c_array_of_variable_length": True, - }, - 5: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"reset", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"resetCommandsInBuffer:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"resetTextureAccessCounters:region:mipLevel:slice:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 4: {"type": "Q"}, - 5: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"resetWithRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"resolveCounterRange:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"resolveCounters:inRange:destinationBuffer:destinationOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{_NSRange=QQ}"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"resourceOptions", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"resourceStateCommandEncoder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"resourceStateCommandEncoderWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"retainedReferences", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"rootResource", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"sampleCount", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"sampleCountersInBuffer:atSampleIndex:withBarrier:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"sampleTimestamps:gpuTimestamp:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^Q", "type_modifier": b"o"}, - 3: {"type": b"^Q", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"screenSize", - {"required": True, "retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"NSObject", - b"serializeToURL:error:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"setAccelerationStructure:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setAccelerationStructure:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setArgumentBuffer:offset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setArgumentBuffer:startOffset:arrayElement:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"setBarrier", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"setBlendColorRed:green:blue:alpha:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"f"}, - 3: {"type": b"f"}, - 4: {"type": b"f"}, - 5: {"type": b"f"}, - }, - }, - ) - r( - b"NSObject", - b"setBuffer:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setBufferOffset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setBuffers:offsets:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type": b"^Q", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setBytes:length:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setColorStoreAction:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setColorStoreActionOptions:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setComputePipelineState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setComputePipelineState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setComputePipelineStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setCullMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setDepthBias:slopeScale:clamp:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"f"}, 3: {"type": b"f"}, 4: {"type": b"f"}}, - }, - ) - r( - b"NSObject", - b"setDepthClipMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setDepthStencilState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setDepthStoreAction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setDepthStoreActionOptions:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setFragmentAccelerationStructure:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentBuffer:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentBufferOffset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentBuffers:offsets:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type": b"^Q", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentBytes:length:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentIntersectionFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentIntersectionFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentSamplerState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"f"}, - 4: {"type": b"f"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 3: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 4: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 5: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentSamplerStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentTexture:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentTextures:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFragmentVisibleFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFragmentVisibleFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setFrontFacingWinding:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setFunction:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setFunctions:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setImageblockWidth:height:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "q"}, 3: {"type": "q"}}, - }, - ) - r( - b"NSObject", - b"setIndirectCommandBuffer:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setIndirectCommandBuffers:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setIntersectionFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setIntersectionFunctionTable:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setIntersectionFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setIntersectionFunctionTables:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setKernelBuffer:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setLabel:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setOpaqueTriangleIntersectionFunctionWithSignature:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setOpaqueTriangleIntersectionFunctionWithSignature:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"{_NSRange=QQ}"}}, - }, - ) - r( - b"NSObject", - b"setPurgeableState:", - {"required": True, "retval": {"type": b"Q"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setRenderPipelineState:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setRenderPipelineState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setRenderPipelineStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setSamplerState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setSamplerState:lodMinClamp:lodMaxClamp:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"f"}, - 4: {"type": b"f"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setSamplerStates:lodMinClamps:lodMaxClamps:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 3: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 4: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 5: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setSamplerStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setScissorRect:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_MTLScissorRect=QQQQ}"}}, - }, - ) - r( - b"NSObject", - b"setScissorRects:count:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^{_MTLScissorRect=QQQQ}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - }, - 3: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setSignaledValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setStageInRegion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - }, - ) - r( - b"NSObject", - b"setStageInRegionWithIndirectBuffer:indirectBufferOffset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setStencilFrontReferenceValue:backReferenceValue:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"I"}, 3: {"type": b"I"}}, - }, - ) - r( - b"NSObject", - b"setStencilReferenceValue:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"I"}}}, - ) - r( - b"NSObject", - b"setStencilStoreAction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setStencilStoreActionOptions:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setTessellationFactorBuffer:offset:instanceStride:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setTessellationFactorScale:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setTexture:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setTextures:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setThreadgroupMemoryLength:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setThreadgroupMemoryLength:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "Q"}, 3: {"type": "Q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setTileAccelerationStructure:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setTileBuffer:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setTileBufferOffset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": "Q"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setTileBuffers:offsets:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type": "^Q", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": "{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTileBytes:length:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": "Q"}, - 4: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"setTileIntersectionFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setTileIntersectionFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTileSamplerState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: {"type": "Q"}, - 5: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"setTileSamplerStates:lodMinClamps:lodMaxClamps:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 3: {"type": "^Q", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 4: {"type": "^Q", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 5: {"type": "{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTileSamplerStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": "{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTileTexture:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"setTileTextures:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": "{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTileVisibleFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setTileVisibleFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setTriangleFillMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setVertexAccelerationStructure:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexAmplificationCount:viewMapping:", - { - "arguments": { - 2: {"type": "Q"}, - 3: {"type": "{_MTLVertexAmplificationViewMapping=II}"}, - } - }, - ) - r( - b"NSObject", - b"setVertexAmplificationCount:viewMappings:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"Q"}, - 3: {"type": b"^{_MTLVertexAmplificationViewMapping=II}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexBuffer:offset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexBufferOffset:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexBuffers:offsets:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type": b"^Q", "type_modifier": b"n", "c_array_length_in_arg": 4}, - 4: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexBytes:length:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexIntersectionFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexIntersectionFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexSamplerState:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexSamplerState:lodMinClamp:lodMaxClamp:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"f"}, - 4: {"type": b"f"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexSamplerStates:lodMinClamps:lodMaxClamps:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 3: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 4: {"type": b"^f", "type_modifier": b"n", "c_array_length_in_arg": 5}, - 5: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexSamplerStates:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexTexture:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexTextures:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVertexVisibleFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVertexVisibleFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setViewport:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_MTLViewport=dddddd}"}}, - }, - ) - r( - b"NSObject", - b"setViewports:count:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^{_MTLViewport=dddddd}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - }, - 3: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"setVisibilityResultMode:offset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVisibleFunctionTable:atBufferIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVisibleFunctionTable:atIndex:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"setVisibleFunctionTables:withBufferRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r( - b"NSObject", - b"setVisibleFunctionTables:withRange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"{_NSRange=QQ}"}, - }, - }, - ) - r(b"NSObject", b"signaledValue", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"size", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"sparseTileSizeInBytes", - {"required": True, "retval": {"type": "Q"}}, - ) - r( - b"NSObject", - b"sparseTileSizeWithTextureType:pixelFormat:sampleCount:", - { - "required": True, - "retval": {"type": b"{_MTLSize=QQQ}"}, - "arguments": {2: {"type": "Q"}, 3: {"type": "Q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"sparseTileSizeWithTextureType_pixelFormat:sampleCount:", - {"arguments": {2: {"type": "Q"}, 3: {"type": "Q"}, 4: {"type": "Q"}}}, - ) - r( - b"NSObject", - b"stageInputAttributes", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"staticThreadgroupMemoryLength", - {"required": True, "retval": {"type": b"Q"}}, - ) - r(b"NSObject", b"status", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"storageMode", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"supportIndirectCommandBuffers", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supports32BitFloatFiltering", - {"required": True, "retval": {"type": "Z"}}, - ) - r(b"NSObject", b"supports32BitMSAA", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"supportsBCTextureCompression", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"supportsCounterSampling:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"supportsDynamicLibraries", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsFamily:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"supportsFeatureSet:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"supportsFunctionPointers", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsFunctionPointersFromRender", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsPrimitiveMotionBlur", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsPullModelInterpolation", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsQueryTextureLOD", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"supportsRasterizationRateMapWithLayerCount:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, - ) - r(b"NSObject", b"supportsRaytracing", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"supportsRaytracingFromRender", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsRenderDynamicLibraries", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsShaderBarycentricCoordinates", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"supportsTextureSampleCount:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"supportsVertexAmplificationCount:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": "Q"}}}, - ) - r( - b"NSObject", - b"swizzle", - {"required": True, "retval": {"type": b"{_MTLTextureSwizzleChannels=CCCC}"}}, - ) - r( - b"NSObject", - b"synchronizeResource:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"synchronizeTexture:slice:level:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"tailSizeInBytes", {"required": False, "retval": {"type": "Q"}}) - r(b"NSObject", b"textureBarrier", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"textureType", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"threadExecutionWidth", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"threadgroupSizeMatchesTileSize", - {"required": True, "retval": {"type": "Z"}}, - ) - r(b"NSObject", b"tileHeight", {"required": True, "retval": {"type": "Q"}}) - r(b"NSObject", b"tileWidth", {"required": True, "retval": {"type": "Q"}}) - r(b"NSObject", b"type", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"updateFence:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateFence:afterStages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"updateTextureMapping:mode:indirectBuffer:indirectBufferOffset:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: {"type": b"@"}, - 5: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"updateTextureMapping:mode:region:mipLevel:slice:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: {"type": "{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 5: {"type": "Q"}, - 6: {"type": "Q"}, - }, - }, - ) - r( - b"NSObject", - b"updateTextureMappings:mode:regions:mipLevels:slices:numRegions:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Q"}, - 4: { - "type": "^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}", - "type_modifier": b"n", - "c_array_length_in_arg": 7, - }, - 5: {"type": "^Q", "type_modifier": b"n", "c_array_length_in_arg": 7}, - 6: {"type": "^Q", "type_modifier": b"n", "c_array_length_in_arg": 7}, - 7: {"type": "Q"}, - }, - }, - ) - r(b"NSObject", b"usage", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"useHeap:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"useHeap:stages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"useHeaps:count:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"useHeaps:count:stages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"useResource:usage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"useResource:usage:stages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"useResources:count:usage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@", "type_modifier": b"n", "c_array_length_in_arg": 3}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"useResources:count:usage:stages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - }, - }, - ) - r(b"NSObject", b"usedSize", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"vertexAttributes", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"waitForFence:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"waitForFence:beforeStages:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"waitUntilCompleted", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"waitUntilScheduled", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"width", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"writeCompactedAccelerationStructureSize:toBuffer:offset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"writeCompactedAccelerationStructureSize:toBuffer:offset:sizeDataType:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - }, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = { - "MTLResourceHazardTrackingModeMask": "0x3 << MTLResourceHazardTrackingModeShift", - "MTLResourceCPUCacheModeMask": "0xf << MTLResourceCPUCacheModeShift", - "MTLTextureSwizzleChannelsDefault": "MTLTextureSwizzleChannelsMake(MTLTextureSwizzleRed, MTLTextureSwizzleGreen, MTLTextureSwizzleBlue, MTLTextureSwizzleAlpha)", - "MTLResourceStorageModeMask": "0xf << MTLResourceStorageModeShift", -} - -# END OF FILE diff --git a/src/lib/MetalKit/__init__.py b/src/lib/MetalKit/__init__.py deleted file mode 100644 index 4cc89f8..0000000 --- a/src/lib/MetalKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the MetalKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import Metal -import objc -from MetalKit import _metadata, _MetalKit - -sys.modules["MetalKit"] = mod = objc.ObjCLazyModule( - "MetalKit", - "com.apple.MetalKit", - objc.pathForFramework("/System/Library/Frameworks/MetalKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_MetalKit, Metal, Foundation), -) - - -del sys.modules["MetalKit._metadata"] diff --git a/src/lib/MetalKit/_metadata.py b/src/lib/MetalKit/_metadata.py deleted file mode 100644 index 0dece9c..0000000 --- a/src/lib/MetalKit/_metadata.py +++ /dev/null @@ -1,306 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:09:24 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MTKModelErrorDomain$MTKModelErrorKey$MTKTextureLoaderCubeLayoutVertical$MTKTextureLoaderErrorDomain$MTKTextureLoaderErrorKey$MTKTextureLoaderOptionAllocateMipmaps$MTKTextureLoaderOptionCubeLayout$MTKTextureLoaderOptionGenerateMipmaps$MTKTextureLoaderOptionOrigin$MTKTextureLoaderOptionSRGB$MTKTextureLoaderOptionTextureCPUCacheMode$MTKTextureLoaderOptionTextureStorageMode$MTKTextureLoaderOptionTextureUsage$MTKTextureLoaderOriginBottomLeft$MTKTextureLoaderOriginFlippedVertically$MTKTextureLoaderOriginTopLeft$""" -enums = """$$""" -misc.update({}) -misc.update( - { - "MTKTextureLoaderCubeLayout": NewType("MTKTextureLoaderCubeLayout", str), - "MTKModelError": NewType("MTKModelError", str), - "MTKTextureLoaderError": NewType("MTKTextureLoaderError", str), - "MTKTextureLoaderOrigin": NewType("MTKTextureLoaderOrigin", str), - "MTKTextureLoaderOption": NewType("MTKTextureLoaderOption", str), - } -) -misc.update({}) -functions = { - "MTKModelIOVertexFormatFromMetal": (b"QQ",), - "MTKMetalVertexDescriptorFromModelIOWithError": ( - b"@@^@", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MTKMetalVertexDescriptorFromModelIO": (b"@@",), - "MTKModelIOVertexDescriptorFromMetalWithError": ( - b"@@^@", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "MTKModelIOVertexDescriptorFromMetal": (b"@@",), - "MTKMetalVertexFormatFromModelIO": (b"QQ",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MTKMesh", - b"initWithMesh:device:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKMesh", - b"newMeshesFromAsset:device:sourceMeshes:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithCGImage:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithCGImage:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithContentsOfURL:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithContentsOfURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithData:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithData:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithMDLTexture:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithMDLTexture:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithName:scaleFactor:bundle:options:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithName:scaleFactor:bundle:options:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTextureWithName:scaleFactor:displayGamut:bundle:options:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTextureWithName:scaleFactor:displayGamut:bundle:options:error:", - {"arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTexturesWithContentsOfURLs:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTexturesWithContentsOfURLs:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MTKTextureLoader", - b"newTexturesWithNames:scaleFactor:bundle:options:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MTKTextureLoader", - b"newTexturesWithNames:scaleFactor:displayGamut:bundle:options:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"MTKView", b"autoResizeDrawable", {"retval": {"type": b"Z"}}) - r(b"MTKView", b"clearColor", {"retval": {"type": b"{_MTLClearColor=dddd}"}}) - r(b"MTKView", b"enableSetNeedsDisplay", {"retval": {"type": b"Z"}}) - r(b"MTKView", b"framebufferOnly", {"retval": {"type": b"Z"}}) - r(b"MTKView", b"isPaused", {"retval": {"type": b"Z"}}) - r(b"MTKView", b"presentsWithTransaction", {"retval": {"type": b"Z"}}) - r(b"MTKView", b"setAutoResizeDrawable:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MTKView", - b"setClearColor:", - {"arguments": {2: {"type": b"{_MTLClearColor=dddd}"}}}, - ) - r(b"MTKView", b"setEnableSetNeedsDisplay:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MTKView", b"setFramebufferOnly:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MTKView", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MTKView", b"setPresentsWithTransaction:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NSObject", - b"drawInMTKView:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"mtkView:drawableSizeWillChange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{CGSize=dd}"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MetalPerformanceShaders/__init__.py b/src/lib/MetalPerformanceShaders/__init__.py deleted file mode 100644 index 4fcc8db..0000000 --- a/src/lib/MetalPerformanceShaders/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Python mapping for the Metal framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import objc -import Metal -from MetalPerformanceShaders import _metadata -from MetalPerformanceShaders import _MetalPerformanceShaders -from MetalPerformanceShaders._inlines import _inline_list_ - -sys.modules["MetalPerformanceShaders"] = mod = objc.ObjCLazyModule( - "MetalPerformanceShaders", - "com.apple.MetalPerformanceShaders", - objc.pathForFramework( - "/System/Library/Frameworks/MetalPerformanceShaders.framework" - ), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_MetalPerformanceShaders, Metal), -) - - -del sys.modules["MetalPerformanceShaders._metadata"] diff --git a/src/lib/MetalPerformanceShaders/_metadata.py b/src/lib/MetalPerformanceShaders/_metadata.py deleted file mode 100644 index 91601f2..0000000 --- a/src/lib/MetalPerformanceShaders/_metadata.py +++ /dev/null @@ -1,2172 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:09:27 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MPSNDArrayOffsets": objc.createStructType( - "MetalPerformanceShaders.MPSNDArrayOffsets", - b"{_MPSNDArrayOffsets=[16q]}", - ["dimensions"], - ), - "MPSOffset": objc.createStructType( - "MetalPerformanceShaders.MPSOffset", b"{_MPSOffset=qqq}", ["x", "y", "z"] - ), - "MPSIntersectionDistance": objc.createStructType( - "MetalPerformanceShaders.MPSIntersectionDistance", - b"{_MPSIntersectionDistance=f}", - ["distance"], - ), - "MPSImageKeypointRangeInfo": objc.createStructType( - "MetalPerformanceShaders.MPSImageKeypointRangeInfo", - b"{_MPSImageKeypointRangeInfo=Qf}", - ["maximumKeypoints", "minimumThresholdValue"], - ), - "MPSIntersectionDistancePrimitiveIndex": objc.createStructType( - "MetalPerformanceShaders.MPSIntersectionDistancePrimitiveIndex", - b"{_MPSIntersectionDistancePrimitiveIndex=fI}", - ["distance", "primitiveIndex"], - ), - "MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex": objc.createStructType( - "MetalPerformanceShaders.MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex", - b"{_MPSIntersectionDistancePrimitiveIndexBufferIndexInstanceIndex=fIII}", - ["distance", "primitiveIndex", "bufferIndex", "instanceIndex"], - ), - "MPSNDArraySizes": objc.createStructType( - "MetalPerformanceShaders.MPSNDArraySizes", - b"{_MPSNDArraySizes=[16Q]}", - ["dimensions"], - ), - "MPSScaleTransform": objc.createStructType( - "MetalPerformanceShaders.MPSScaleTransform", - b"{MPSScaleTransform=dddd}", - ["scaleX", "scaleY", "translateX", "translateY"], - ), - "MPSStateTextureInfo": objc.createStructType( - "MetalPerformanceShaders.MPSStateTextureInfo", - b"{MPSStateTextureInfo=QQQQQQQ[4Q]}", - [ - "width", - "height", - "depth", - "arrayLength", - "pixelFormat", - "textureType", - "usage", - "_reserved", - ], - ), - "MPSSize": objc.createStructType( - "MetalPerformanceShaders.MPSSize", - b"{MPSSize=ddd}", - ["width", "height", "depth"], - ), - "MPSIntegerDivisionParams": objc.createStructType( - "MetalPerformanceShaders.MPSIntegerDivisionParams", - b"{_MPSIntegerDivisionParams=SSSS}", - ["divisor", "recip", "addend", "shift"], - ), - "MPSImageReadWriteParams": objc.createStructType( - "MetalPerformanceShaders.MPSImageReadWriteParams", - b"{_MPSImageReadWriteParams=QQ}", - ["featureChannelOffset", "numberOfFeatureChannelsToReadWrite"], - ), - "MPSCustomKernelArgumentCount": objc.createStructType( - "MetalPerformanceShaders.MPSCustomKernelArgumentCount", - b"{MPSCustomKernelArgumentCount=QQQ}", - ["destinationTextureCount", "sourceTextureCount", "broadcastTextureCount"], - ), - "MPSMatrixCopyOffsets": objc.createStructType( - "MetalPerformanceShaders.MPSMatrixCopyOffsets", - b"{_MPSMatrixCopyOffsets=IIII}", - [ - "sourceRowOffset", - "sourceColumnOffset", - "destinationRowOffset", - "destinationColumnOffset", - ], - ), - "MPSImageRegion": objc.createStructType( - "MetalPerformanceShaders.MPSImageRegion", - b"{MPSImageRegion={MPSImageCoordinate=QQQ}{MPSImageCoordinate=QQQ}}", - ["offset", "size"], - ), - "MPSDimensionSlice": objc.createStructType( - "MetalPerformanceShaders.MPSDimensionSlice", - b"{MPSDimensionSlice=QQ}", - ["start", "length"], - ), - "MPSRegion": objc.createStructType( - "MetalPerformanceShaders.MPSRegion", - b"{MPSRegion={MPSOrigin=ddd}{MPSSize=ddd}}", - ["origin", "size"], - ), - "MPSIntersectionDistancePrimitiveIndexInstanceIndex": objc.createStructType( - "MetalPerformanceShaders.MPSIntersectionDistancePrimitiveIndexInstanceIndex", - b"{_MPSIntersectionDistancePrimitiveIndexInstanceIndex=fII}", - ["distance", "primitiveIndex", "instanceIndex"], - ), - "MPSImageCoordinate": objc.createStructType( - "MetalPerformanceShaders.MPSImageCoordinate", - b"{MPSImageCoordinate=QQQ}", - ["x", "y", "channel"], - ), - "MPSMatrixOffset": objc.createStructType( - "MetalPerformanceShaders.MPSMatrixOffset", - b"{_MPSMatrixOffset=II}", - ["rowOffset", "columnOffset"], - ), - "MPSIntersectionDistancePrimitiveIndexBufferIndex": objc.createStructType( - "MetalPerformanceShaders.MPSIntersectionDistancePrimitiveIndexBufferIndex", - b"{_MPSIntersectionDistancePrimitiveIndexBufferIndex=fII}", - ["distance", "primitiveIndex", "bufferIndex"], - ), - "MPSOrigin": objc.createStructType( - "MetalPerformanceShaders.MPSOrigin", b"{MPSOrigin=ddd}", ["x", "y", "z"] - ), - } -) -constants = """$MPSRectNoClip@{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}$""" -enums = """$MPSAccelerationStructureStatusBuilt@1$MPSAccelerationStructureStatusUnbuilt@0$MPSAccelerationStructureUsageFrequentRebuild@2$MPSAccelerationStructureUsageNone@0$MPSAccelerationStructureUsagePreferCPUBuild@8$MPSAccelerationStructureUsagePreferGPUBuild@4$MPSAccelerationStructureUsageRefit@1$MPSAliasingStrategyAliasingReserved@3$MPSAliasingStrategyDefault@0$MPSAliasingStrategyDontCare@0$MPSAliasingStrategyPreferNonTemporaryMemory@8$MPSAliasingStrategyPreferTemporaryMemory@4$MPSAliasingStrategyShallAlias@1$MPSAliasingStrategyShallNotAlias@2$MPSAlphaTypeAlphaIsOne@1$MPSAlphaTypeNonPremultiplied@0$MPSAlphaTypePremultiplied@2$MPSBoundingBoxIntersectionTestTypeAxisAligned@1$MPSBoundingBoxIntersectionTestTypeDefault@0$MPSBoundingBoxIntersectionTestTypeFast@2$MPSCNNBatchNormalizationFlagsCalculateStatisticsAlways@1$MPSCNNBatchNormalizationFlagsCalculateStatisticsAutomatic@0$MPSCNNBatchNormalizationFlagsCalculateStatisticsMask@3$MPSCNNBatchNormalizationFlagsCalculateStatisticsNever@2$MPSCNNBatchNormalizationFlagsDefault@0$MPSCNNBinaryConvolutionFlagsNone@0$MPSCNNBinaryConvolutionFlagsUseBetaScaling@1$MPSCNNBinaryConvolutionTypeAND@2$MPSCNNBinaryConvolutionTypeBinaryWeights@0$MPSCNNBinaryConvolutionTypeXNOR@1$MPSCNNConvolutionFlagsNone@0$MPSCNNConvolutionGradientOptionAll@3$MPSCNNConvolutionGradientOptionGradientWithData@1$MPSCNNConvolutionGradientOptionGradientWithWeightsAndBias@2$MPSCNNConvolutionWeightsLayoutOHWI@0$MPSCNNLossTypeCategoricalCrossEntropy@4$MPSCNNLossTypeCosineDistance@7$MPSCNNLossTypeCount@10$MPSCNNLossTypeHinge@5$MPSCNNLossTypeHuber@6$MPSCNNLossTypeKullbackLeiblerDivergence@9$MPSCNNLossTypeLog@8$MPSCNNLossTypeMeanAbsoluteError@0$MPSCNNLossTypeMeanSquaredError@1$MPSCNNLossTypeSigmoidCrossEntropy@3$MPSCNNLossTypeSoftMaxCrossEntropy@2$MPSCNNNeuronTypeAbsolute@6$MPSCNNNeuronTypeCount@16$MPSCNNNeuronTypeELU@9$MPSCNNNeuronTypeExponential@13$MPSCNNNeuronTypeGeLU@15$MPSCNNNeuronTypeHardSigmoid@4$MPSCNNNeuronTypeLinear@2$MPSCNNNeuronTypeLogarithm@14$MPSCNNNeuronTypeNone@0$MPSCNNNeuronTypePReLU@10$MPSCNNNeuronTypePower@12$MPSCNNNeuronTypeReLU@1$MPSCNNNeuronTypeReLUN@11$MPSCNNNeuronTypeSigmoid@3$MPSCNNNeuronTypeSoftPlus@7$MPSCNNNeuronTypeSoftSign@8$MPSCNNNeuronTypeTanH@5$MPSCNNReductionTypeCount@4$MPSCNNReductionTypeMean@2$MPSCNNReductionTypeNone@0$MPSCNNReductionTypeSum@1$MPSCNNReductionTypeSumByNonZeroWeights@3$MPSCNNWeightsQuantizationTypeLinear@1$MPSCNNWeightsQuantizationTypeLookupTable@2$MPSCNNWeightsQuantizationTypeNone@0$MPSCustomKernelIndexDestIndex@0$MPSCustomKernelIndexSrc0Index@0$MPSCustomKernelIndexSrc1Index@1$MPSCustomKernelIndexSrc2Index@2$MPSCustomKernelIndexSrc3Index@3$MPSCustomKernelIndexSrc4Index@4$MPSCustomKernelIndexUserDataIndex@30$MPSDataLayoutFeatureChannelsxHeightxWidth@1$MPSDataLayoutHeightxWidthxFeatureChannels@0$MPSDataTypeAlternateEncodingBit@2147483648$MPSDataTypeBool@2147483656$MPSDataTypeFloat16@268435472$MPSDataTypeFloat32@268435488$MPSDataTypeFloatBit@268435456$MPSDataTypeInt16@536870928$MPSDataTypeInt32@536870944$MPSDataTypeInt64@536870976$MPSDataTypeInt8@536870920$MPSDataTypeIntBit@536870912$MPSDataTypeInvalid@0$MPSDataTypeNormalizedBit@1073741824$MPSDataTypeSignedBit@536870912$MPSDataTypeUInt16@16$MPSDataTypeUInt32@32$MPSDataTypeUInt64@64$MPSDataTypeUInt8@8$MPSDataTypeUnorm1@1073741825$MPSDataTypeUnorm8@1073741832$MPSDeviceCapsIndex@127$MPSDeviceCapsNull@0$MPSDeviceIsAppleDevice@1024$MPSDeviceOptionsDefault@0$MPSDeviceOptionsLowPower@1$MPSDeviceOptionsSkipRemovable@2$MPSDeviceSupportsFloat16BicubicFiltering@512$MPSDeviceSupportsFloat32Filtering@128$MPSDeviceSupportsNorm16BicubicFiltering@256$MPSDeviceSupportsQuadShuffle@16$MPSDeviceSupportsReadWriteTextures@4$MPSDeviceSupportsReadableArrayOfTextures@1$MPSDeviceSupportsSimdReduction@64$MPSDeviceSupportsSimdShuffle@32$MPSDeviceSupportsSimdgroupBarrier@8$MPSDeviceSupportsWritableArrayOfTextures@2$MPSFunctionConstantNone@-1$MPSImageEdgeModeClamp@1$MPSImageEdgeModeConstant@4$MPSImageEdgeModeMirror@2$MPSImageEdgeModeMirrorWithEdge@3$MPSImageEdgeModeZero@0$MPSImageFeatureChannelFormatCount@6$MPSImageFeatureChannelFormatFloat16@3$MPSImageFeatureChannelFormatFloat32@4$MPSImageFeatureChannelFormatNone@0$MPSImageFeatureChannelFormatUnorm16@2$MPSImageFeatureChannelFormatUnorm8@1$MPSImageFeatureChannelFormat_reserved0@5$MPSImageType2d@0$MPSImageType2d_array@1$MPSImageType2d_array_noAlpha@5$MPSImageType2d_noAlpha@4$MPSImageTypeArray2d@2$MPSImageTypeArray2d_array@3$MPSImageTypeArray2d_array_noAlpha@7$MPSImageTypeArray2d_noAlpha@6$MPSImageType_ArrayMask@1$MPSImageType_BatchMask@2$MPSImageType_bitCount@6$MPSImageType_mask@63$MPSImageType_noAlpha@4$MPSImageType_texelFormatBFloat16@24$MPSImageType_texelFormatFloat16@16$MPSImageType_texelFormatMask@56$MPSImageType_texelFormatShift@3$MPSImageType_texelFormatStandard@0$MPSImageType_texelFormatUnorm8@8$MPSImageType_typeMask@3$MPSIntersectionDataTypeDistance@0$MPSIntersectionDataTypeDistancePrimitiveIndex@1$MPSIntersectionDataTypeDistancePrimitiveIndexBufferIndex@5$MPSIntersectionDataTypeDistancePrimitiveIndexBufferIndexCoordinates@6$MPSIntersectionDataTypeDistancePrimitiveIndexBufferIndexInstanceIndex@7$MPSIntersectionDataTypeDistancePrimitiveIndexBufferIndexInstanceIndexCoordinates@8$MPSIntersectionDataTypeDistancePrimitiveIndexCoordinates@2$MPSIntersectionDataTypeDistancePrimitiveIndexInstanceIndex@3$MPSIntersectionDataTypeDistancePrimitiveIndexInstanceIndexCoordinates@4$MPSIntersectionTypeAny@1$MPSIntersectionTypeNearest@0$MPSKernelOptionsAllowReducedPrecision@2$MPSKernelOptionsDisableInternalTiling@4$MPSKernelOptionsInsertDebugGroups@8$MPSKernelOptionsNone@0$MPSKernelOptionsSkipAPIValidation@1$MPSKernelOptionsVerbose@16$MPSKernelTypes_h@1$MPSMatrixDecompositionStatusFailure@-1$MPSMatrixDecompositionStatusNonPositiveDefinite@-3$MPSMatrixDecompositionStatusSingular@-2$MPSMatrixDecompositionStatusSuccess@0$MPSMatrixRandomDistributionDefault@1$MPSMatrixRandomDistributionNormal@3$MPSMatrixRandomDistributionUniform@2$MPSNNComparisonTypeEqual@0$MPSNNComparisonTypeGreater@4$MPSNNComparisonTypeGreaterOrEqual@5$MPSNNComparisonTypeLess@2$MPSNNComparisonTypeLessOrEqual@3$MPSNNComparisonTypeNotEqual@1$MPSNNConvolutionAccumulatorPrecisionOptionFloat@1$MPSNNConvolutionAccumulatorPrecisionOptionHalf@0$MPSNNPaddingMethodAddRemainderToBottomLeft@8$MPSNNPaddingMethodAddRemainderToBottomRight@12$MPSNNPaddingMethodAddRemainderToMask@12$MPSNNPaddingMethodAddRemainderToTopLeft@0$MPSNNPaddingMethodAddRemainderToTopRight@4$MPSNNPaddingMethodAlignBottomRight@2$MPSNNPaddingMethodAlignCentered@0$MPSNNPaddingMethodAlignMask@3$MPSNNPaddingMethodAlignTopLeft@1$MPSNNPaddingMethodAlign_reserved@3$MPSNNPaddingMethodCustom@16384$MPSNNPaddingMethodCustomAllowForNodeFusion@8192$MPSNNPaddingMethodCustomWhitelistForNodeFusion@8192$MPSNNPaddingMethodExcludeEdges@32768$MPSNNPaddingMethodSizeFull@32$MPSNNPaddingMethodSizeMask@2032$MPSNNPaddingMethodSizeSame@16$MPSNNPaddingMethodSizeValidOnly@0$MPSNNPaddingMethodSize_reserved@48$MPSNNRegularizationTypeL1@1$MPSNNRegularizationTypeL2@2$MPSNNRegularizationTypeNone@0$MPSNNTrainingStyleUpdateDeviceCPU@1$MPSNNTrainingStyleUpdateDeviceGPU@2$MPSNNTrainingStyleUpdateDeviceNone@0$MPSPolygonTypeQuadrilateral@1$MPSPolygonTypeTriangle@0$MPSPurgeableStateAllocationDeferred@0$MPSPurgeableStateEmpty@4$MPSPurgeableStateKeepCurrent@1$MPSPurgeableStateNonVolatile@2$MPSPurgeableStateVolatile@3$MPSRNNBidirectionalCombineModeAdd@1$MPSRNNBidirectionalCombineModeConcatenate@2$MPSRNNBidirectionalCombineModeNone@0$MPSRNNMatrixIdGRUInputGateBiasTerms@21$MPSRNNMatrixIdGRUInputGateInputWeights@19$MPSRNNMatrixIdGRUInputGateRecurrentWeights@20$MPSRNNMatrixIdGRUOutputGateBiasTerms@28$MPSRNNMatrixIdGRUOutputGateInputGateWeights@27$MPSRNNMatrixIdGRUOutputGateInputWeights@25$MPSRNNMatrixIdGRUOutputGateRecurrentWeights@26$MPSRNNMatrixIdGRURecurrentGateBiasTerms@24$MPSRNNMatrixIdGRURecurrentGateInputWeights@22$MPSRNNMatrixIdGRURecurrentGateRecurrentWeights@23$MPSRNNMatrixIdLSTMForgetGateBiasTerms@10$MPSRNNMatrixIdLSTMForgetGateInputWeights@7$MPSRNNMatrixIdLSTMForgetGateMemoryWeights@9$MPSRNNMatrixIdLSTMForgetGateRecurrentWeights@8$MPSRNNMatrixIdLSTMInputGateBiasTerms@6$MPSRNNMatrixIdLSTMInputGateInputWeights@3$MPSRNNMatrixIdLSTMInputGateMemoryWeights@5$MPSRNNMatrixIdLSTMInputGateRecurrentWeights@4$MPSRNNMatrixIdLSTMMemoryGateBiasTerms@14$MPSRNNMatrixIdLSTMMemoryGateInputWeights@11$MPSRNNMatrixIdLSTMMemoryGateMemoryWeights@13$MPSRNNMatrixIdLSTMMemoryGateRecurrentWeights@12$MPSRNNMatrixIdLSTMOutputGateBiasTerms@18$MPSRNNMatrixIdLSTMOutputGateInputWeights@15$MPSRNNMatrixIdLSTMOutputGateMemoryWeights@17$MPSRNNMatrixIdLSTMOutputGateRecurrentWeights@16$MPSRNNMatrixIdSingleGateBiasTerms@2$MPSRNNMatrixIdSingleGateInputWeights@0$MPSRNNMatrixIdSingleGateRecurrentWeights@1$MPSRNNMatrixId_count@29$MPSRNNSequenceDirectionBackward@1$MPSRNNSequenceDirectionForward@0$MPSRayDataTypeOriginDirection@0$MPSRayDataTypeOriginMaskDirectionMaxDistance@2$MPSRayDataTypeOriginMinDistanceDirectionMaxDistance@1$MPSRayDataTypePackedOriginDirection@3$MPSRayMaskOperatorAnd@0$MPSRayMaskOperatorEqual@10$MPSRayMaskOperatorGreaterThan@8$MPSRayMaskOperatorGreaterThanOrEqualTo@9$MPSRayMaskOperatorLessThan@6$MPSRayMaskOperatorLessThanOrEqualTo@7$MPSRayMaskOperatorNotAnd@1$MPSRayMaskOperatorNotEqual@11$MPSRayMaskOperatorNotOr@3$MPSRayMaskOperatorNotXor@5$MPSRayMaskOperatorOr@2$MPSRayMaskOperatorXor@4$MPSRayMaskOptionInstance@2$MPSRayMaskOptionNone@0$MPSRayMaskOptionPrimitive@1$MPSStateResourceTypeBuffer@1$MPSStateResourceTypeNone@0$MPSStateResourceTypeTexture@2$MPSTemporalWeightingAverage@0$MPSTemporalWeightingExponentialMovingAverage@1$MPSTransformTypeFloat4x4@0$MPSTransformTypeIdentity@1$MPSTriangleIntersectionTestTypeDefault@0$MPSTriangleIntersectionTestTypeWatertight@1$MetalPerformanceShaders_h@1$""" -misc.update( - { - "MPSNNRegularizationType": NewType("MPSNNRegularizationType", int), - "MPSRayDataType": NewType("MPSRayDataType", int), - "MPSCNNBinaryConvolutionFlags": NewType("MPSCNNBinaryConvolutionFlags", int), - "MPSTriangleIntersectionTestType": NewType( - "MPSTriangleIntersectionTestType", int - ), - "MPSNNConvolutionAccumulatorPrecisionOption": NewType( - "MPSNNConvolutionAccumulatorPrecisionOption", int - ), - "MPSAliasingStrategy": NewType("MPSAliasingStrategy", int), - "MPSDeviceOptions": NewType("MPSDeviceOptions", int), - "MPSStateResourceType": NewType("MPSStateResourceType", int), - "MPSIntersectionDataType": NewType("MPSIntersectionDataType", int), - "MPSAccelerationStructureUsage": NewType("MPSAccelerationStructureUsage", int), - "MPSBoundingBoxIntersectionTestType": NewType( - "MPSBoundingBoxIntersectionTestType", int - ), - "MPSPolygonType": NewType("MPSPolygonType", int), - "MPSMatrixRandomDistribution": NewType("MPSMatrixRandomDistribution", int), - "MPSNNComparisonType": NewType("MPSNNComparisonType", int), - "MPSNNPaddingMethod": NewType("MPSNNPaddingMethod", int), - "MPSAccelerationStructureStatus": NewType( - "MPSAccelerationStructureStatus", int - ), - "MPSRNNSequenceDirection": NewType("MPSRNNSequenceDirection", int), - "MPSImageFeatureChannelFormat": NewType("MPSImageFeatureChannelFormat", int), - "MPSCNNBinaryConvolutionType": NewType("MPSCNNBinaryConvolutionType", int), - "MPSCNNLossType": NewType("MPSCNNLossType", int), - "MPSCNNConvolutionWeightsLayout": NewType( - "MPSCNNConvolutionWeightsLayout", int - ), - "MPSAlphaType": NewType("MPSAlphaType", int), - "MPSPurgeableState": NewType("MPSPurgeableState", int), - "MPSCNNReductionType": NewType("MPSCNNReductionType", int), - "MPSCNNConvolutionFlags": NewType("MPSCNNConvolutionFlags", int), - "MPSDataType": NewType("MPSDataType", int), - "MPSRNNMatrixId": NewType("MPSRNNMatrixId", int), - "MPSRayMaskOptions": NewType("MPSRayMaskOptions", int), - "MPSDataLayout": NewType("MPSDataLayout", int), - "MPSRayMaskOperator": NewType("MPSRayMaskOperator", int), - "MPSMatrixDecompositionStatus": NewType("MPSMatrixDecompositionStatus", int), - "MPSIntersectionType": NewType("MPSIntersectionType", int), - "MPSTemporalWeighting": NewType("MPSTemporalWeighting", int), - "MPSTransformType": NewType("MPSTransformType", int), - "MPSNNTrainingStyle": NewType("MPSNNTrainingStyle", int), - "MPSCNNNeuronType": NewType("MPSCNNNeuronType", int), - "MPSCNNBatchNormalizationFlags": NewType("MPSCNNBatchNormalizationFlags", int), - "MPSCNNConvolutionGradientOption": NewType( - "MPSCNNConvolutionGradientOption", int - ), - "MPSCNNWeightsQuantizationType": NewType("MPSCNNWeightsQuantizationType", int), - "MPSImageEdgeMode": NewType("MPSImageEdgeMode", int), - "MPSRNNBidirectionalCombineMode": NewType( - "MPSRNNBidirectionalCombineMode", int - ), - "MPSKernelOptions": NewType("MPSKernelOptions", int), - } -) -misc.update({}) -functions = { - "MPSImageBatchResourceSize": (b"Q@",), - "MPSStateBatchSynchronize": (b"v@@",), - "MPSGetImageType": (b"I@",), - "MPSStateBatchResourceSize": (b"Q@",), - "MPSFindIntegerDivisionParams": (b"{_MPSIntegerDivisionParams=SSSS}S",), - "MPSHintTemporaryMemoryHighWaterMark": (b"v@Q",), - "MPSSupportsMTLDevice": (b"Z@",), - "MPSGetCustomKernelBatchedSourceIndex": (b"Q{MPSCustomKernelArgumentCount=QQQ}QQ",), - "MPSStateBatchIncrementReadCount": (b"Q@q",), - "MPSGetCustomKernelBroadcastSourceIndex": ( - b"Q{MPSCustomKernelArgumentCount=QQQ}QQ", - ), - "MPSGetCustomKernelBatchedDestinationIndex": ( - b"Q{MPSCustomKernelArgumentCount=QQQ}", - ), - "MPSSetHeapCacheDuration": (b"v@d",), - "MPSGetCustomKernelMaxBatchSize": (b"Q{MPSCustomKernelArgumentCount=QQQ}Q",), - "MPSGetPreferredDevice": (b"@Q",), - "MPSImageBatchSynchronize": (b"v@@",), - "MPSImageBatchIncrementReadCount": (b"Q@q",), - "MPSImageBatchIterate": ( - b"q@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"q"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "Q"}, - }, - }, - "block": { - "retval": {"type": b"q"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"Q"}}, - }, - } - } - }, - ), -} -aliases = { - "MPSNNPaddingMethodAlignMask": "MPSNNPaddingMethodAlign_reserved", - "MPSPurgeableStateVolatile": "MTLPurgeableStateVolatile", - "MPSPurgeableStateEmpty": "MTLPurgeableStateEmpty", - "MPSPurgeableStateKeepCurrent": "MTLPurgeableStateKeepCurrent", - "MPSDataTypeIntBit": "MPSDataTypeSignedBit", - "MPSAliasingStrategyDontCare": "MPSAliasingStrategyDefault", - "MPSCNNBatchNormalizationFlagsCalculateStatisticsAutomatic": "MPSCNNBatchNormalizationFlagsDefault", - "MPSNNPaddingMethodAddRemainderToMask": "MPSNNPaddingMethodAddRemainderToBottomRight", - "MPSPurgeableStateNonVolatile": "MTLPurgeableStateNonVolatile", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MPSAccelerationStructure", - b"rebuildWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MPSBinaryImageKernel", - b"clipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSBinaryImageKernel", - b"encodeToCommandBuffer:inPlacePrimaryTexture:secondaryTexture:fallbackCopyAllocator:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - }, - ) - r( - b"MPSBinaryImageKernel", - b"encodeToCommandBuffer:primaryTexture:inPlaceSecondaryTexture:fallbackCopyAllocator:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - }, - ) - r( - b"MPSBinaryImageKernel", - b"primaryOffset", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSBinaryImageKernel", - b"primarySourceRegionForDestinationSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSBinaryImageKernel", - b"secondaryOffset", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSBinaryImageKernel", - b"secondarySourceRegionForDestinationSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSBinaryImageKernel", - b"setClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSBinaryImageKernel", - b"setPrimaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSBinaryImageKernel", - b"setSecondaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSCNNAddGradient", - b"initWithDevice:isSecondarySourceFilter:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSCNNArithmeticGradient", - b"initWithDevice:isSecondarySourceFilter:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSCNNArithmeticGradient", - b"isSecondarySourceFilter", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSCNNBatchNormalization", - b"encodeBatchToCommandBuffer:sourceImages:destinationStates:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSCNNBatchNormalization", - b"encodeToCommandBuffer:sourceImage:destinationState:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSCNNBinaryConvolution", - b"initWithDevice:convolutionData:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNBinaryConvolutionNode", - b"initWithSource:weights:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNBinaryConvolutionNode", - b"nodeWithSource:weights:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNBinaryFullyConnected", - b"initWithDevice:convolutionData:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNBinaryFullyConnectedNode", - b"initWithSource:weights:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNBinaryFullyConnectedNode", - b"nodeWithSource:weights:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r(b"MPSCNNBinaryKernel", b"appendBatchBarrier", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNBinaryKernel", - b"clipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSCNNBinaryKernel", - b"encodeBatchToCommandBuffer:primaryImages:secondaryImages:destinationStates:destinationStateIsTemporary:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MPSCNNBinaryKernel", - b"encodeToCommandBuffer:primaryImage:secondaryImage:destinationState:destinationStateIsTemporary:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"MPSCNNBinaryKernel", b"isBackwards", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNBinaryKernel", - b"isResultStateReusedAcrossBatch", - {"retval": {"type": b"Z"}}, - ) - r(b"MPSCNNBinaryKernel", b"isStateModified", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNBinaryKernel", - b"primaryOffset", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSCNNBinaryKernel", - b"secondaryOffset", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSCNNBinaryKernel", - b"setClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSCNNBinaryKernel", - b"setPrimaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSCNNBinaryKernel", - b"setSecondaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSCNNConvolution", - b"exportWeightsAndBiasesWithCommandBuffer:resultStateCanBeTemporary:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSCNNConvolution", - b"initWithDevice:convolutionDescriptor:kernelWeights:biasTerms:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNConvolutionDescriptor", - b"setBatchNormalizationParametersForInferenceWithMean:variance:gamma:beta:epsilon:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 3: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSCNNConvolutionDescriptor", - b"supportsSecureCoding", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSCNNConvolutionGradient", - b"serializeWeightsAndBiases", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSCNNConvolutionGradient", - b"setSerializeWeightsAndBiases:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSCNNConvolutionTranspose", - b"encodeBatchToCommandBuffer:sourceImages:convolutionGradientStates:destinationStates:destinationStateIsTemporary:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MPSCNNConvolutionTranspose", - b"encodeToCommandBuffer:sourceImage:convolutionGradientState:destinationState:destinationStateIsTemporary:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MPSCNNConvolutionTranspose", - b"exportWeightsAndBiasesWithCommandBuffer:resultStateCanBeTemporary:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSCNNDropout", - b"initWithDevice:keepProbability:seed:maskStrideInPixels:", - {"arguments": {5: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSCNNDropout", b"maskStrideInPixels", {"retval": {"type": b"{_MTLSize=QQQ}"}}) - r( - b"MPSCNNDropoutGradient", - b"initWithDevice:keepProbability:seed:maskStrideInPixels:", - {"arguments": {5: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNDropoutGradient", - b"maskStrideInPixels", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MPSCNNDropoutGradientNode", - b"initWithSourceGradient:sourceImage:gradientState:keepProbability:seed:maskStrideInPixels:", - {"arguments": {7: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNDropoutGradientNode", - b"maskStrideInPixels", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MPSCNNDropoutGradientNode", - b"nodeWithSourceGradient:sourceImage:gradientState:keepProbability:seed:maskStrideInPixels:", - {"arguments": {7: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNDropoutNode", - b"initWithSource:keepProbability:seed:maskStrideInPixels:", - {"arguments": {5: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNDropoutNode", - b"maskStrideInPixels", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MPSCNNDropoutNode", - b"nodeWithSource:keepProbability:seed:maskStrideInPixels:", - {"arguments": {5: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNFullyConnected", - b"initWithDevice:convolutionDescriptor:kernelWeights:biasTerms:flags:", - { - "arguments": { - 4: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r(b"MPSCNNKernel", b"appendBatchBarrier", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNKernel", - b"clipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSCNNKernel", - b"encodeBatchToCommandBuffer:sourceImages:destinationStates:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSCNNKernel", - b"encodeToCommandBuffer:sourceImage:destinationState:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSCNNKernel", b"isBackwards", {"retval": {"type": b"Z"}}) - r(b"MPSCNNKernel", b"isResultStateReusedAcrossBatch", {"retval": {"type": b"Z"}}) - r(b"MPSCNNKernel", b"isStateModified", {"retval": {"type": b"Z"}}) - r(b"MPSCNNKernel", b"offset", {"retval": {"type": b"{_MPSOffset=qqq}"}}) - r( - b"MPSCNNKernel", - b"setClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r(b"MPSCNNKernel", b"setOffset:", {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}) - r(b"MPSCNNLoss", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNLossDataDescriptor", - b"cnnLossDataDescriptorWithData:layout:size:", - {"arguments": {4: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSCNNLossDataDescriptor", b"size", {"retval": {"type": b"{_MTLSize=QQQ}"}}) - r(b"MPSCNNLossDescriptor", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNLossDescriptor", - b"setReduceAcrossBatch:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSCNNLossLabels", - b"initWithDevice:lossImageSize:labelsDescriptor:weightsDescriptor:", - {"arguments": {3: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSCNNLossLabels", - b"initWithDevice:lossImageSize:labelsImage:weightsImage:", - {"arguments": {3: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSCNNMultiaryKernel", b"appendBatchBarrier", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNMultiaryKernel", - b"clipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSCNNMultiaryKernel", - b"encodeBatchToCommandBuffer:sourceImages:destinationStates:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSCNNMultiaryKernel", - b"encodeToCommandBuffer:sourceImages:destinationState:destinationStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSCNNMultiaryKernel", b"isBackwards", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNMultiaryKernel", - b"isResultStateReusedAcrossBatch", - {"retval": {"type": b"Z"}}, - ) - r(b"MPSCNNMultiaryKernel", b"isStateModified", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNMultiaryKernel", - b"offsetAtIndex:", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSCNNMultiaryKernel", - b"setClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSCNNMultiaryKernel", - b"setOffset:atIndex:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSCNNMultiplyGradient", - b"initWithDevice:isSecondarySourceFilter:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSCNNPoolingGradient", - b"setSourceSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSCNNPoolingGradient", b"sourceSize", {"retval": {"type": b"{_MTLSize=QQQ}"}}) - r( - b"MPSCNNSubtractGradient", - b"initWithDevice:isSecondarySourceFilter:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"MPSCNNUpsampling", b"alignCorners", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNUpsamplingBilinear", - b"initWithDevice:integerScaleFactorX:integerScaleFactorY:alignCorners:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSCNNUpsamplingBilinearNode", b"alignCorners", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNUpsamplingBilinearNode", - b"initWithSource:integerScaleFactorX:integerScaleFactorY:alignCorners:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSCNNUpsamplingBilinearNode", - b"nodeWithSource:integerScaleFactorX:integerScaleFactorY:alignCorners:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSCNNYOLOLoss", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r(b"MPSCNNYOLOLossDescriptor", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r(b"MPSCNNYOLOLossDescriptor", b"rescore", {"retval": {"type": b"Z"}}) - r( - b"MPSCNNYOLOLossDescriptor", - b"setReduceAcrossBatch:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSCNNYOLOLossDescriptor", b"setRescore:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSGRUDescriptor", b"flipOutputGates", {"retval": {"type": b"Z"}}) - r(b"MPSGRUDescriptor", b"setFlipOutputGates:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MPSImage", - b"readBytes:dataLayout:bytesPerRow:bytesPerImage:region:featureChannelInfo:imageIndex:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_of_variable_length": True}, - 6: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 7: {"type": b"{_MPSImageReadWriteParams=QQ}"}, - } - }, - ) - r( - b"MPSImage", - b"readBytes:dataLayout:bytesPerRow:region:featureChannelInfo:imageIndex:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_of_variable_length": True}, - 5: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 6: {"type": b"{_MPSImageReadWriteParams=QQ}"}, - } - }, - ) - r( - b"MPSImage", - b"readBytes:dataLayout:imageIndex:", - {"arguments": {2: {"type_modifier": b"o", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSImage", - b"writeBytes:dataLayout:bytesPerColumn:bytesPerRow:bytesPerImage:region:featureChannelInfo:imageIndex:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 7: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 8: {"type": b"{_MPSImageReadWriteParams=QQ}"}, - } - }, - ) - r( - b"MPSImage", - b"writeBytes:dataLayout:bytesPerRow:bytesPerImage:region:featureChannelInfo:imageIndex:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 6: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 7: {"type": b"{_MPSImageReadWriteParams=QQ}"}, - } - }, - ) - r( - b"MPSImage", - b"writeBytes:dataLayout:bytesPerRow:region:featureChannelInfo:imageIndex:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 5: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}, - 6: {"type": b"{_MPSImageReadWriteParams=QQ}"}, - } - }, - ) - r( - b"MPSImage", - b"writeBytes:dataLayout:imageIndex:", - {"arguments": {2: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSImageArithmetic", - b"primaryStrideInPixels", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MPSImageArithmetic", - b"secondaryStrideInPixels", - {"retval": {"type": b"{_MTLSize=QQQ}"}}, - ) - r( - b"MPSImageArithmetic", - b"setPrimaryStrideInPixels:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSImageArithmetic", - b"setSecondaryStrideInPixels:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSImageCanny", b"colorTransform", {"retval": {"c_array_of_fixed_length": 3}}) - r( - b"MPSImageCanny", - b"initWithDevice:linearToGrayScaleTransform:sigma:", - {"arguments": {3: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r(b"MPSImageCanny", b"setUseFastMode:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSImageCanny", b"useFastMode", {"retval": {"type": b"Z"}}) - r( - b"MPSImageConvolution", - b"initWithDevice:kernelWidth:kernelHeight:weights:", - {"arguments": {5: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSImageCopyToMatrix", - b"destinationMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSImageCopyToMatrix", - b"setDestinationMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSImageDilate", - b"initWithDevice:kernelWidth:kernelHeight:values:", - {"arguments": {5: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSImageEDLines", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageEDLines", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageFindKeypoints", - b"encodeToCommandBuffer:sourceTexture:regions:numberOfRegions:keypointCountBuffer:keypointCountBufferOffset:keypointDataBuffer:keypointDataBufferOffset:", - {"arguments": {4: {"type": b"^{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageFindKeypoints", - b"initWithDevice:info:", - { - "arguments": { - 3: {"type": b"^{_MPSImageKeypointRangeInfo=Qf}", "type_modifier": b"n"} - } - }, - ) - r( - b"MPSImageFindKeypoints", - b"keypointRangeInfo", - {"retval": {"type": b"{_MPSImageKeypointRangeInfo=Qf}"}}, - ) - r( - b"MPSImageHistogram", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageHistogram", - b"histogramInfo", - {"retval": {"type": b"{_MPSImageHistogramInfo=QZ}"}}, - ) - r( - b"MPSImageHistogram", - b"initWithDevice:histogramInfo:", - { - "arguments": { - 3: {"type": b"^{_MPSImageHistogramInfo=QZ}", "type_modifier": b"n"} - } - }, - ) - r( - b"MPSImageHistogram", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r(b"MPSImageHistogram", b"setZeroHistogram:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSImageHistogram", b"zeroHistogram", {"retval": {"type": b"Z"}}) - r( - b"MPSImageHistogramEqualization", - b"histogramInfo", - {"retval": {"type": b"{_MPSImageHistogramInfo=QZ}"}}, - ) - r( - b"MPSImageHistogramEqualization", - b"initWithDevice:histogramInfo:", - { - "arguments": { - 3: {"type": b"^{_MPSImageHistogramInfo=QZ}", "type_modifier": b"n"} - } - }, - ) - r( - b"MPSImageHistogramSpecification", - b"histogramInfo", - {"retval": {"type": b"{_MPSImageHistogramInfo=QZ}"}}, - ) - r( - b"MPSImageHistogramSpecification", - b"initWithDevice:histogramInfo:", - { - "arguments": { - 3: {"type": b"^{_MPSImageHistogramInfo=QZ}", "type_modifier": b"n"} - } - }, - ) - r( - b"MPSImageNormalizedHistogram", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageNormalizedHistogram", - b"histogramInfo", - {"retval": {"type": b"{_MPSImageHistogramInfo=QZ}"}}, - ) - r( - b"MPSImageNormalizedHistogram", - b"initWithDevice:histogramInfo:", - { - "arguments": { - 3: {"type": b"^{_MPSImageHistogramInfo=QZ}", "type_modifier": b"n"} - } - }, - ) - r( - b"MPSImageNormalizedHistogram", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageNormalizedHistogram", - b"setZeroHistogram:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSImageNormalizedHistogram", b"zeroHistogram", {"retval": {"type": b"Z"}}) - r( - b"MPSImagePyramid", - b"initWithDevice:kernelWidth:kernelHeight:weights:", - {"arguments": {5: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSImageReduceUnary", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageReduceUnary", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageSobel", - b"initWithDevice:linearGrayColorTransform:", - {"arguments": {3: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSImageStatisticsMean", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageStatisticsMean", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageStatisticsMeanAndVariance", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageStatisticsMeanAndVariance", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageStatisticsMinAndMax", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSImageStatisticsMinAndMax", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSImageThresholdBinary", - b"initWithDevice:thresholdValue:maximumValue:linearGrayColorTransform:", - {"arguments": {5: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSImageThresholdBinaryInverse", - b"initWithDevice:thresholdValue:maximumValue:linearGrayColorTransform:", - {"arguments": {5: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSImageThresholdToZero", - b"initWithDevice:thresholdValue:linearGrayColorTransform:", - {"arguments": {4: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSImageThresholdToZeroInverse", - b"initWithDevice:thresholdValue:linearGrayColorTransform:", - {"arguments": {4: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSImageThresholdTruncate", - b"initWithDevice:thresholdValue:linearGrayColorTransform:", - {"arguments": {4: {"c_array_of_fixed_length": 3, "type_modifier": b"n"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"initForReadingFromData:device:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"initForReadingFromData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchiveTopLevelObjectWithData:device:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchiveTopLevelObjectWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchivedObjectOfClass:fromData:device:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchivedObjectOfClass:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchivedObjectOfClasses:fromData:device:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MPSKeyedUnarchiver", - b"unarchivedObjectOfClasses:fromData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"MPSLSTMDescriptor", b"memoryWeightsAreDiagonal", {"retval": {"type": b"Z"}}) - r( - b"MPSLSTMDescriptor", - b"setMemoryWeightsAreDiagonal:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSMatrixBatchNormalization", b"computeStatistics", {"retval": {"type": b"Z"}}) - r( - b"MPSMatrixBatchNormalization", - b"setComputeStatistics:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"primarySourceMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"resultMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"secondarySourceMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"setPrimarySourceMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"setResultMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixBinaryKernel", - b"setSecondarySourceMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r(b"MPSMatrixCopy", b"destinationsAreTransposed", {"retval": {"type": b"Z"}}) - r( - b"MPSMatrixCopy", - b"initWithDevice:copyRows:copyColumns:sourcesAreTransposed:destinationsAreTransposed:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r(b"MPSMatrixCopy", b"sourcesAreTransposed", {"retval": {"type": b"Z"}}) - r( - b"MPSMatrixCopyDescriptor", - b"descriptorWithSourceMatrix:destinationMatrix:offsets:", - {"arguments": {4: {"type": b"{_MPSMatrixCopyOffsets=IIII}"}}}, - ) - r( - b"MPSMatrixCopyDescriptor", - b"setCopyOperationAtIndex:sourceMatrix:destinationMatrix:offsets:", - {"arguments": {5: {"type": b"{_MPSMatrixCopyOffsets=IIII}"}}}, - ) - r( - b"MPSMatrixCopyToImage", - b"setSourceMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixCopyToImage", - b"sourceMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixDecompositionCholesky", - b"initWithDevice:lower:order:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSMatrixMultiplication", - b"initWithDevice:transposeLeft:transposeRight:resultRows:resultColumns:interiorColumns:alpha:beta:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"MPSMatrixMultiplication", - b"leftMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixMultiplication", - b"resultMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixMultiplication", - b"rightMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixMultiplication", - b"setLeftMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixMultiplication", - b"setResultMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixMultiplication", - b"setRightMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixSolveCholesky", - b"initWithDevice:upper:order:numberOfRightHandSides:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSMatrixSolveLU", - b"initWithDevice:transpose:order:numberOfRightHandSides:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSMatrixSolveTriangular", - b"initWithDevice:right:upper:transpose:unit:order:numberOfRightHandSides:alpha:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - 5: {"type": b"Z"}, - 6: {"type": b"Z"}, - } - }, - ) - r( - b"MPSMatrixSum", - b"initWithDevice:count:rows:columns:transpose:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r(b"MPSMatrixSum", b"resultMatrixOrigin", {"retval": {"type": b"{_MTLOrigin=QQQ}"}}) - r( - b"MPSMatrixSum", - b"setResultMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r(b"MPSMatrixSum", b"transpose", {"retval": {"type": b"Z"}}) - r( - b"MPSMatrixUnaryKernel", - b"resultMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixUnaryKernel", - b"setResultMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixUnaryKernel", - b"setSourceMatrixOrigin:", - {"arguments": {2: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSMatrixUnaryKernel", - b"sourceMatrixOrigin", - {"retval": {"type": b"{_MTLOrigin=QQQ}"}}, - ) - r( - b"MPSMatrixVectorMultiplication", - b"initWithDevice:transpose:rows:columns:alpha:beta:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MPSNDArray", - b"exportDataWithCommandBuffer:toBuffer:destinationDataType:offset:rowStrides:", - {"arguments": {6: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSNDArray", - b"importDataWithCommandBuffer:fromBuffer:sourceDataType:offset:rowStrides:", - {"arguments": {6: {"type_modifier": b"n", "c_array_of_variable_length": True}}}, - ) - r( - b"MPSNDArray", - b"readBytes:strideBytes:", - { - "arguments": { - 2: {"type_modifier": b"o", "c_array_of_variable_length": True}, - 3: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSNDArray", - b"writeBytes:strideBytes:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 3: {"type_modifier": b"n", "c_array_of_variable_length": True}, - } - }, - ) - r( - b"MPSNDArrayBinaryKernel", - b"encodeToCommandBuffer:primarySourceArray:secondarySourceArray:resultState:outputStateIsTemporary:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"primaryDilationRates", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"primaryKernelSizes", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"primaryOffsets", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"primaryStrides", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"secondaryDilationRates", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"secondaryKernelSizes", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"secondaryOffsets", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayBinaryKernel", - b"secondaryStrides", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayDescriptor", - b"descriptorWithDataType:dimensionSizes:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"MPSNDArrayDescriptor", - b"reshapeWithDimensionCount:dimensionSizes:", - {"arguments": {3: {"type_modifier": b"n", "c_array_length_in_arg": 2}}}, - ) - r( - b"MPSNDArrayMultiaryBase", - b"dilationRatesForSourceIndex:", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayMultiaryBase", - b"kernelSizesForSourceIndex:", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayMultiaryBase", - b"offsetsAtSourceIndex:", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayMultiaryBase", - b"stridesForSourceIndex:", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayMultiaryKernel", - b"encodeToCommandBuffer:sourceArrays:resultState:outputStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNDArrayStridedSlice", - b"setStrides:", - {"arguments": {2: {"type": b"{_MPSNDArrayOffsets=[16q]}"}}}, - ) - r( - b"MPSNDArrayStridedSlice", - b"strides", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayUnaryKernel", - b"dilationRates", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayUnaryKernel", - b"encodeToCommandBuffer:sourceArray:resultState:outputStateIsTemporary:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNDArrayUnaryKernel", - b"kernelSizes", - {"retval": {"type": b"{_MPSNDArraySizes=[16Q]}"}}, - ) - r( - b"MPSNDArrayUnaryKernel", - b"offsets", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNDArrayUnaryKernel", - b"strides", - {"retval": {"type": b"{_MPSNDArrayOffsets=[16q]}"}}, - ) - r( - b"MPSNNArithmeticGradientNode", - b"initWithGradientImages:forwardFilter:isSecondarySourceFilter:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNArithmeticGradientNode", - b"initWithSourceGradient:sourceImage:gradientState:isSecondarySourceFilter:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNNArithmeticGradientNode", - b"isSecondarySourceFilter", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSNNArithmeticGradientNode", - b"nodeWithSourceGradient:sourceImage:gradientState:isSecondarySourceFilter:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNNFilterNode", - b"trainingGraphWithSourceGradient:nodeHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSNNForwardLoss", - b"encodeBatchToCommandBuffer:sourceImages:labels:weights:destinationStates:destinationStateIsTemporary:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r(b"MPSNNForwardLoss", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r(b"MPSNNForwardLossNode", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r( - b"MPSNNGraph", - b"executeAsyncWithSourceImages:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSNNGraph", - b"graphWithDevice:resultImage:resultImageIsNeeded:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNGraph", - b"graphWithDevice:resultImages:resultsAreNeeded:", - { - "arguments": { - 4: { - "type": b"^Z", - "type_modifier": b"o", - "c_array_of_variable_length": True, - } - } - }, - ) - r( - b"MPSNNGraph", - b"initWithDevice:resultImage:resultImageIsNeeded:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNGraph", - b"initWithDevice:resultImages:resultsAreNeeded:", - { - "arguments": { - 4: { - "type": b"^Z", - "type_modifier": b"o", - "c_array_of_variable_length": True, - } - } - }, - ) - r(b"MPSNNGraph", b"outputStateIsTemporary", {"retval": {"type": b"Z"}}) - r(b"MPSNNGraph", b"resultImageIsNeeded", {"retval": {"type": b"Z"}}) - r(b"MPSNNGraph", b"setOutputStateIsTemporary:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MPSNNGridSample", - b"setUseGridValueAsInputCoordinate:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSNNGridSample", b"useGridValueAsInputCoordinate", {"retval": {"type": b"Z"}}) - r(b"MPSNNImageNode", b"exportFromGraph", {"retval": {"type": b"Z"}}) - r(b"MPSNNImageNode", b"setExportFromGraph:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSNNImageNode", b"setStopGradient:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSNNImageNode", b"setSynchronizeResource:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSNNImageNode", b"stopGradient", {"retval": {"type": b"Z"}}) - r(b"MPSNNImageNode", b"synchronizeResource", {"retval": {"type": b"Z"}}) - r(b"MPSNNLossGradient", b"computeLabelGradients", {"retval": {"type": b"Z"}}) - r(b"MPSNNLossGradient", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r( - b"MPSNNLossGradient", - b"setComputeLabelGradients:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSNNLossGradientNode", - b"initWithSourceGradient:sourceImage:labels:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MPSNNLossGradientNode", - b"initWithSourceGradient:sourceImage:labels:weights:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {8: {"type": b"Z"}}}, - ) - r( - b"MPSNNLossGradientNode", - b"initWithSources:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSNNLossGradientNode", b"isLabelsGradientFilter", {"retval": {"type": b"Z"}}) - r( - b"MPSNNLossGradientNode", - b"nodeWithSourceGradient:sourceImage:labels:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MPSNNLossGradientNode", - b"nodeWithSourceGradient:sourceImage:labels:weights:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {8: {"type": b"Z"}}}, - ) - r( - b"MPSNNLossGradientNode", - b"nodeWithSources:gradientState:lossDescriptor:isLabelsGradientFilter:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSNNLossGradientNode", b"reduceAcrossBatch", {"retval": {"type": b"Z"}}) - r(b"MPSNNOptimizer", b"applyGradientClipping", {"retval": {"type": b"Z"}}) - r( - b"MPSNNOptimizer", - b"setApplyGradientClipping:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSNNOptimizerDescriptor", b"applyGradientClipping", {"retval": {"type": b"Z"}}) - r( - b"MPSNNOptimizerDescriptor", - b"initWithLearningRate:gradientRescale:applyGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNOptimizerDescriptor", - b"optimizerDescriptorWithLearningRate:gradientRescale:applyGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNOptimizerDescriptor", - b"setApplyGradientClipping:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSNNOptimizerStochasticGradientDescent", - b"initWithDevice:momentumScale:useNesterovMomentum:optimizerDescriptor:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNOptimizerStochasticGradientDescent", - b"initWithDevice:momentumScale:useNestrovMomentum:optimizerDescriptor:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"MPSNNOptimizerStochasticGradientDescent", - b"useNesterovMomentum", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSNNOptimizerStochasticGradientDescent", - b"useNestrovMomentum", - {"retval": {"type": b"Z"}}, - ) - r(b"MPSNNReduceBinary", b"primaryOffset", {"retval": {"type": b"{_MPSOffset=qqq}"}}) - r( - b"MPSNNReduceBinary", - b"primarySourceClipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSNNReduceBinary", - b"secondaryOffset", - {"retval": {"type": b"{_MPSOffset=qqq}"}}, - ) - r( - b"MPSNNReduceBinary", - b"secondarySourceClipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSNNReduceBinary", - b"setPrimaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSNNReduceBinary", - b"setPrimarySourceClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSNNReduceBinary", - b"setSecondaryOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSNNReduceBinary", - b"setSecondarySourceClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSNNReduceUnary", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r(b"MPSNNReduceUnary", b"offset", {"retval": {"type": b"{_MPSOffset=qqq}"}}) - r( - b"MPSNNReduceUnary", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSNNReduceUnary", - b"setOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSNNReshape", - b"encodeBatchToCommandBuffer:sourceImages:destinationStates:destinationStateIsTemporary:reshapedWidth:reshapedHeight:reshapedFeatureChannels:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNNReshape", - b"encodeToCommandBuffer:sourceImage:destinationState:destinationStateIsTemporary:reshapedWidth:reshapedHeight:reshapedFeatureChannels:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r(b"MPSNNResizeBilinear", b"alignCorners", {"retval": {"type": b"Z"}}) - r( - b"MPSNNResizeBilinear", - b"initWithDevice:resizeWidth:resizeHeight:alignCorners:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"MPSNNScaleNode", - b"initWithSource:outputSize:", - {"arguments": {3: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSNNScaleNode", - b"initWithSource:transformProvider:outputSize:", - {"arguments": {4: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSNNScaleNode", - b"nodeWithSource:outputSize:", - {"arguments": {3: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"MPSNNScaleNode", - b"nodeWithSource:transformProvider:outputSize:", - {"arguments": {4: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r(b"MPSNNStateNode", b"exportFromGraph", {"retval": {"type": b"Z"}}) - r(b"MPSNNStateNode", b"setExportFromGraph:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSNNStateNode", b"setSynchronizeResource:", {"arguments": {2: {"type": b"Z"}}}) - r(b"MPSNNStateNode", b"synchronizeResource", {"retval": {"type": b"Z"}}) - r( - b"MPSNNUnaryReductionNode", - b"clipRectSource", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSNNUnaryReductionNode", - b"setClipRectSource:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r(b"MPSRNNDescriptor", b"setUseFloat32Weights:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"MPSRNNDescriptor", - b"setUseLayerInputUnitTransformMode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSRNNDescriptor", b"useFloat32Weights", {"retval": {"type": b"Z"}}) - r( - b"MPSRNNDescriptor", - b"useLayerInputUnitTransformMode", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNImageInferenceLayer", - b"recurrentOutputIsTemporary", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNImageInferenceLayer", - b"setRecurrentOutputIsTemporary:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNImageInferenceLayer", - b"setStoreAllIntermediateStates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNImageInferenceLayer", - b"storeAllIntermediateStates", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixInferenceLayer", - b"recurrentOutputIsTemporary", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixInferenceLayer", - b"setRecurrentOutputIsTemporary:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixInferenceLayer", - b"setStoreAllIntermediateStates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixInferenceLayer", - b"storeAllIntermediateStates", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"accumulateWeightGradients", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"encodeCopyWeightsToCommandBuffer:weights:matrixId:matrix:copyFromWeightsToMatrix:matrixOffset:", - {"arguments": {6: {"type": b"Z"}, 7: {"type": b"{_MTLOrigin=QQQ}"}}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"recurrentOutputIsTemporary", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"setAccumulateWeightGradients:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"setRecurrentOutputIsTemporary:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"setStoreAllIntermediateStates:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"setTrainingStateIsTemporary:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"storeAllIntermediateStates", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSRNNMatrixTrainingLayer", - b"trainingStateIsTemporary", - {"retval": {"type": b"Z"}}, - ) - r(b"MPSState", b"isTemporary", {"retval": {"type": b"Z"}}) - r( - b"MPSState", - b"resourceAtIndex:allocateMemory:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"MPSStateResourceList", b"resourceListWithBufferSizes:", {"variadic": True}) - r( - b"MPSStateResourceList", - b"resourceListWithTextureDescriptors:", - {"variadic": True}, - ) - r( - b"MPSUnaryImageKernel", - b"clipRect", - {"retval": {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}, - ) - r( - b"MPSUnaryImageKernel", - b"encodeToCommandBuffer:inPlaceTexture:fallbackCopyAllocator:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - }, - }, - ) - r(b"MPSUnaryImageKernel", b"offset", {"retval": {"type": b"{_MPSOffset=qqq}"}}) - r( - b"MPSUnaryImageKernel", - b"setClipRect:", - {"arguments": {2: {"type": b"{_MTLRegion={_MTLOrigin=QQQ}{_MTLSize=QQQ}}"}}}, - ) - r( - b"MPSUnaryImageKernel", - b"setOffset:", - {"arguments": {2: {"type": b"{_MPSOffset=qqq}"}}}, - ) - r( - b"MPSUnaryImageKernel", - b"sourceRegionForDestinationSize:", - {"arguments": {2: {"type": b"{_MTLSize=QQQ}"}}}, - ) - r( - b"NSObject", - b"alphaForSourceImage:destinationImage:", - { - "required": True, - "retval": {"type": b"f"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"arrayForCommandBuffer:arrayDescriptor:kernel:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"beta", - { - "required": True, - "retval": {"type": b"^f", "c_array_of_variable_length": True}, - }, - ) - r( - b"NSObject", - b"biasTerms", - { - "required": True, - "retval": {"type": b"^f", "c_array_of_variable_length": True}, - }, - ) - r( - b"NSObject", - b"copyWithZone:device:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"^{_NSZone=}"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"dataType", {"required": True, "retval": {"type": b"I"}}) - r(b"NSObject", b"descriptor", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"destinationImageDescriptorForSourceImages:sourceStates:forKernel:suggestedDescriptor:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"encodeWithCoder:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"epsilon", {"required": False, "retval": {"type": b"f"}}) - r( - b"NSObject", - b"gamma", - { - "required": True, - "retval": {"type": b"^f", "c_array_of_variable_length": True}, - }, - ) - r( - b"NSObject", - b"imageBatchForCommandBuffer:imageDescriptor:kernel:count:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - }, - }, - ) - r( - b"NSObject", - b"imageForCommandBuffer:imageDescriptor:kernel:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"initWithCoder:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"inverse", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"kernelWeightsDataType", - {"required": False, "retval": {"type": b"I"}}, - ) - r(b"NSObject", b"label", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"load", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"lookupTableForUInt8Kernel", - {"required": False, "retval": {"type": b"^f"}}, - ) - r( - b"NSObject", - b"mean", - { - "required": True, - "retval": {"type": b"^f", "c_array_of_variable_length": True}, - }, - ) - r(b"NSObject", b"mpsMTLDevice", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newHeapWithDescriptor:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfFeatureChannels", - {"required": True, "retval": {"type": b"Q"}}, - ) - r(b"NSObject", b"numberOfGroups", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"paddingMethod", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"purge", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"rangesForUInt8Kernel", - {"required": False, "retval": {"type": b"^"}}, - ) - r( - b"NSObject", - b"retireHeap:cacheDelay:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"returnTexture:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scalarWeightForSourceImage:destinationImage:", - { - "required": True, - "retval": {"type": b"f"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"setNumberOfGroups:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"setTrainingStyle:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"sourceHeight", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"sourceWidth", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"supportsSecureCoding", - {"required": False, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"textureWithPixelFormat:width:height:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"Q"}, 4: {"type": b"Q"}}, - }, - ) - r(b"NSObject", b"trainingStyle", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"transformForSourceImage:handle:", - { - "required": True, - "retval": {"type": b"{MPSScaleTransform=dddd}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithBatchNormalizationState:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithCommandBuffer:batchNormalizationState:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithCommandBuffer:groupNormalizationStateBatch:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithCommandBuffer:instanceNormalizationStateBatch:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithGroupNormalizationStateBatch:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateGammaAndBetaWithInstanceNormalizationStateBatch:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateMeanAndVarianceWithBatchNormalizationState:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"updateMeanAndVarianceWithCommandBuffer:batchNormalizationState:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateWithCommandBuffer:gradientState:sourceState:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"updateWithGradientState:sourceState:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"variance", - { - "required": True, - "retval": {"type": b"^f", "c_array_of_variable_length": True}, - }, - ) - r( - b"NSObject", - b"weights", - { - "required": True, - "retval": {"type": b"^v", "c_array_of_variable_length": True}, - }, - ) - r(b"NSObject", b"weightsLayout", {"required": False, "retval": {"type": b"I"}}) - r( - b"NSObject", - b"weightsQuantizationType", - {"required": False, "retval": {"type": b"I"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = { - "MPSNDArrayConstantIndex": "MPSDeviceCapsIndex-4", - "MPSTextureLinkingConstantIndex": "MPSDeviceCapsIndex-6", - "MPSFunctionConstantIndex": "MPSDeviceCapsIndex-1", - "MPSUserConstantIndex": "MPSDeviceCapsIndex-3", - "MPSUserAvailableFunctionConstantStartIndex": "MPSDeviceCapsIndex-8", - "MPSBatchSizeIndex": "MPSDeviceCapsIndex-2", - "MPSFunctionConstantIndexReserved": "MPSDeviceCapsIndex-5", -} - -# END OF FILE diff --git a/src/lib/MetalPerformanceShadersGraph/__init__.py b/src/lib/MetalPerformanceShadersGraph/__init__.py deleted file mode 100644 index 8c3f8b9..0000000 --- a/src/lib/MetalPerformanceShadersGraph/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the MetalPerformanceShadersGraph framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import MetalPerformanceShaders -import objc -from MetalPerformanceShadersGraph import _metadata - -sys.modules["MetalPerformanceShadersGraph"] = mod = objc.ObjCLazyModule( - "MetalPerformanceShadersGraph", - "com.apple.MetalPerformanceShadersGraph", - objc.pathForFramework( - "/System/Library/Frameworks/MetalPerformanceShadersGraph.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (MetalPerformanceShaders,), -) - - -del sys.modules["MetalPerformanceShadersGraph._metadata"] diff --git a/src/lib/MetalPerformanceShadersGraph/_metadata.py b/src/lib/MetalPerformanceShadersGraph/_metadata.py deleted file mode 100644 index 8516e12..0000000 --- a/src/lib/MetalPerformanceShadersGraph/_metadata.py +++ /dev/null @@ -1,549 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Wed Feb 23 12:19:09 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$MPSGraphDeviceTypeMetal@0$MPSGraphLossReductionTypeAxis@0$MPSGraphLossReductionTypeMean@2$MPSGraphLossReductionTypeSum@1$MPSGraphOptimizationLevel0@0$MPSGraphOptimizationLevel1@1$MPSGraphOptimizationProfilePerformance@0$MPSGraphOptimizationProfilePowerEfficiency@1$MPSGraphOptionsDefault@1$MPSGraphOptionsNone@0$MPSGraphOptionsSynchronizeResults@1$MPSGraphOptionsVerbose@2$MPSGraphPaddingModeAntiPeriodic@6$MPSGraphPaddingModeClampToEdge@3$MPSGraphPaddingModeConstant@0$MPSGraphPaddingModePeriodic@5$MPSGraphPaddingModeReflect@1$MPSGraphPaddingModeSymmetric@2$MPSGraphPaddingModeZero@4$MPSGraphPaddingStyleExplicit@0$MPSGraphPaddingStyleExplicitOffset@3$MPSGraphPaddingStyleTF_SAME@2$MPSGraphPaddingStyleTF_VALID@1$MPSGraphPoolingReturnIndicesGlobalFlatten1D@1$MPSGraphPoolingReturnIndicesGlobalFlatten2D@2$MPSGraphPoolingReturnIndicesGlobalFlatten3D@3$MPSGraphPoolingReturnIndicesGlobalFlatten4D@4$MPSGraphPoolingReturnIndicesLocalFlatten1D@5$MPSGraphPoolingReturnIndicesLocalFlatten2D@6$MPSGraphPoolingReturnIndicesLocalFlatten3D@7$MPSGraphPoolingReturnIndicesLocalFlatten4D@8$MPSGraphPoolingReturnIndicesNone@0$MPSGraphRNNActivationHardSigmoid@4$MPSGraphRNNActivationNone@0$MPSGraphRNNActivationRelu@1$MPSGraphRNNActivationSigmoid@3$MPSGraphRNNActivationTanh@2$MPSGraphRandomDistributionNormal@1$MPSGraphRandomDistributionTruncatedNormal@2$MPSGraphRandomDistributionUniform@0$MPSGraphRandomNormalSamplingBoxMuller@1$MPSGraphRandomNormalSamplingInvCDF@0$MPSGraphReductionModeArgumentMax@5$MPSGraphReductionModeArgumentMin@4$MPSGraphReductionModeMax@1$MPSGraphReductionModeMin@0$MPSGraphReductionModeProduct@3$MPSGraphReductionModeSum@2$MPSGraphResizeBilinear@1$MPSGraphResizeNearest@0$MPSGraphScatterModeAdd@0$MPSGraphScatterModeDiv@3$MPSGraphScatterModeMax@5$MPSGraphScatterModeMin@4$MPSGraphScatterModeMul@2$MPSGraphScatterModeSet@6$MPSGraphScatterModeSub@1$MPSGraphSparseStorageCOO@0$MPSGraphSparseStorageCSC@1$MPSGraphSparseStorageCSR@2$MPSGraphTensorNamedDataLayoutCHW@4$MPSGraphTensorNamedDataLayoutHW@6$MPSGraphTensorNamedDataLayoutHWC@5$MPSGraphTensorNamedDataLayoutHWIO@3$MPSGraphTensorNamedDataLayoutNCHW@0$MPSGraphTensorNamedDataLayoutNHWC@1$MPSGraphTensorNamedDataLayoutOIHW@2$""" -misc.update( - { - "MPSGraphOptimizationProfile": NewType("MPSGraphOptimizationProfile", int), - "MPSGraphReductionMode": NewType("MPSGraphReductionMode", int), - "MPSGraphPaddingStyle": NewType("MPSGraphPaddingStyle", int), - "MPSGraphOptimization": NewType("MPSGraphOptimization", int), - "MPSGraphLossReductionType": NewType("MPSGraphLossReductionType", int), - "MPSGraphPoolingReturnIndicesMode": NewType( - "MPSGraphPoolingReturnIndicesMode", int - ), - "MPSGraphDeviceType": NewType("MPSGraphDeviceType", int), - "MPSGraphSparseStorageType": NewType("MPSGraphSparseStorageType", int), - "MPSGraphOptions": NewType("MPSGraphOptions", int), - "MPSGraphRandomDistribution": NewType("MPSGraphRandomDistribution", int), - "MPSGraphResizeMode": NewType("MPSGraphResizeMode", int), - "MPSGraphPaddingMode": NewType("MPSGraphPaddingMode", int), - "MPSGraphRandomNormalSamplingMethod": NewType( - "MPSGraphRandomNormalSamplingMethod", int - ), - "MPSGraphScatterMode": NewType("MPSGraphScatterMode", int), - "MPSGraphTensorNamedDataLayout": NewType("MPSGraphTensorNamedDataLayout", int), - } -) -misc.update({}) -misc.update({}) -aliases = {"MPSGraphOptionsDefault": "MPSGraphOptionsSynchronizeResults"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MPSGraph", - b"controlDependencyWithOperations:dependentBlock:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"MPSGraph", - b"depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MPSGraph", - b"depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MPSGraph", - b"forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSGraph", - b"forLoopWithNumberOfIterations:initialBodyArguments:body:name:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSGraph", - b"ifWithPredicateTensor:thenBlock:elseBlock:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"MPSGraph", - b"resizeTensor:size:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"MPSGraph", - b"resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": "Z"}, 6: {"type": "Z"}}}, - ) - r( - b"MPSGraph", - b"resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"MPSGraph", - b"spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MPSGraph", - b"whileWithInitialInputs:before:after:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"completionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"scheduledHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"setCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"setScheduledHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"setWaitUntilCompleted:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphExecutableExecutionDescriptor", - b"waitUntilCompleted", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphExecutionDescriptor", - b"setCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"MPSGraphExecutionDescriptor", - b"setScheduledHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"MPSGraphExecutionDescriptor", - b"setWaitUntilCompleted:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSGraphExecutionDescriptor", b"waitUntilCompleted", {"retval": {"type": b"Z"}}) - r(b"MPSGraphPooling2DOpDescriptor", b"ceilMode", {"retval": {"type": b"Z"}}) - r( - b"MPSGraphPooling2DOpDescriptor", - b"includeZeroPadToAverage", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphPooling2DOpDescriptor", - b"setCeilMode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphPooling2DOpDescriptor", - b"setIncludeZeroPadToAverage:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSGraphPooling4DOpDescriptor", b"ceilMode", {"retval": {"type": b"Z"}}) - r( - b"MPSGraphPooling4DOpDescriptor", - b"includeZeroPadToAverage", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphPooling4DOpDescriptor", - b"setCeilMode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphPooling4DOpDescriptor", - b"setIncludeZeroPadToAverage:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"MPSGraphShapedType", b"isEqualTo:", {"retval": {"type": b"Z"}}) - r( - b"null", - b"concatTensors:dimension:interleave:name:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"null", - b"controlDependencyWithOperations:dependentBlock:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"null", - b"depthToSpace2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"null", - b"depthToSpace2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"null", - b"forLoopWithLowerBound:upperBound:step:initialBodyArguments:body:name:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"null", - b"forLoopWithNumberOfIterations:initialBodyArguments:body:name:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"null", - b"ifWithPredicateTensor:thenBlock:elseBlock:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"null", - b"resizeTensor:size:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"null", - b"resizeTensor:sizeTensor:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"null", - b"resizeWithGradientTensor:input:mode:centerResult:alignCorners:layout:name:", - {"arguments": {5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"null", - b"spaceToDepth2DTensor:widthAxis:heightAxis:depthAxis:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"null", - b"spaceToDepth2DTensor:widthAxisTensor:heightAxisTensor:depthAxisTensor:blockSize:usePixelShuffleOrder:name:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"reverse", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"setReverse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"produceCell", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"setProduceCell:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"bidirectional", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"setBidirectional:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"forgetGateLast", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"setForgetGateLast:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"training", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphLSTMDescriptor", - b"setTraining:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"reverse", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"setReverse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"bidirectional", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"setBidirectional:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"training", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"setTraining:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"reverse", - {"retval": {"type": b"Z"}}, - ) - r( - b"MPSGraphSingleGateRNNDescriptor", - b"setReverse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"null", - b"whileWithInitialInputs:before:after:name:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MetricKit/__init__.py b/src/lib/MetricKit/__init__.py deleted file mode 100644 index b51efb8..0000000 --- a/src/lib/MetricKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the MetricKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from . import _metadata, _MetricKit - -sys.modules["MetricKit"] = mod = objc.ObjCLazyModule( - "MetricKit", - "com.apple.MetricKit", - objc.pathForFramework("/System/Library/Frameworks/MetricKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation, _MetricKit), -) - - -del sys.modules["MetricKit._metadata"] diff --git a/src/lib/MetricKit/_metadata.py b/src/lib/MetricKit/_metadata.py deleted file mode 100644 index 462df7e..0000000 --- a/src/lib/MetricKit/_metadata.py +++ /dev/null @@ -1,65 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:09:47 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update( - { - "_METRICS_SIGNPOST_TYPE_TOKEN": b"signpost:metrics", - "_MXSIGNPOST_METRICS_SNAPSHOT_FORMAT": b"\n%{public, signpost:metrics}@", - } -) -functions = {"_MXSignpostMetricsSnapshot": (b"^v",)} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MXMetricPayload", - b"includesMultipleApplicationVersions", - {"retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"didReceiveDiagnosticPayloads:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didReceiveMetricPayloads:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ModelIO/__init__.py b/src/lib/ModelIO/__init__.py deleted file mode 100644 index f9d45db..0000000 --- a/src/lib/ModelIO/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the ModelIO framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import Quartz -from ModelIO import _metadata, _ModelIO - -sys.modules["ModelIO"] = mod = objc.ObjCLazyModule( - "ModelIO", - "com.apple.ModelIO", - objc.pathForFramework("/System/Library/Frameworks/ModelIO.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_ModelIO, Cocoa, Quartz), -) - - -del sys.modules["ModelIO._metadata"] diff --git a/src/lib/ModelIO/_metadata.py b/src/lib/ModelIO/_metadata.py deleted file mode 100644 index 2f1c0fa..0000000 --- a/src/lib/ModelIO/_metadata.py +++ /dev/null @@ -1,1673 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:09:58 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "MDLAxisAlignedBoundingBox": objc.createStructType( - "ModelIO.MDLAxisAlignedBoundingBox", - b"{_MDLAxisAlignedBoundingBox=}", - ["maxBounds", "minBounds"], - ), - "MDLVoxelIndexExtent": objc.createStructType( - "ModelIO.MDLVoxelIndexExtent", - b"{_MDLVoxelIndexExtent=}", - ["minimumExtent", "maximumExtent"], - ), - } -) -constants = """$MDLVertexAttributeAnisotropy$MDLVertexAttributeBinormal$MDLVertexAttributeBitangent$MDLVertexAttributeColor$MDLVertexAttributeEdgeCrease$MDLVertexAttributeJointIndices$MDLVertexAttributeJointWeights$MDLVertexAttributeNormal$MDLVertexAttributeOcclusionValue$MDLVertexAttributePosition$MDLVertexAttributeShadingBasisU$MDLVertexAttributeShadingBasisV$MDLVertexAttributeSubdivisionStencil$MDLVertexAttributeTangent$MDLVertexAttributeTextureCoordinate$kUTType3dObject$kUTTypeAlembic$kUTTypePolygon$kUTTypeStereolithography$kUTTypeUniversalSceneDescription$kUTTypeUniversalSceneDescriptionMobile$""" -enums = """$MDLAnimatedValueInterpolationConstant@0$MDLAnimatedValueInterpolationLinear@1$MDLCameraProjectionOrthographic@1$MDLCameraProjectionPerspective@0$MDLDataPrecisionDouble@2$MDLDataPrecisionFloat@1$MDLDataPrecisionUndefined@0$MDLGeometryTypeLines@1$MDLGeometryTypePoints@0$MDLGeometryTypeQuads@4$MDLGeometryTypeTriangleStrips@3$MDLGeometryTypeTriangles@2$MDLGeometryTypeVariableTopology@5$MDLIndexBitDepthInvalid@0$MDLIndexBitDepthUInt16@16$MDLIndexBitDepthUInt32@32$MDLIndexBitDepthUInt8@8$MDLIndexBitDepthUint16@16$MDLIndexBitDepthUint32@32$MDLIndexBitDepthUint8@8$MDLLightTypeAmbient@1$MDLLightTypeDirectional@2$MDLLightTypeDiscArea@6$MDLLightTypeEnvironment@11$MDLLightTypeLinear@5$MDLLightTypePhotometric@9$MDLLightTypePoint@4$MDLLightTypeProbe@10$MDLLightTypeRectangularArea@7$MDLLightTypeSpot@3$MDLLightTypeSuperElliptical@8$MDLLightTypeUnknown@0$MDLMaterialFaceBack@1$MDLMaterialFaceDoubleSided@2$MDLMaterialFaceFront@0$MDLMaterialMipMapFilterModeLinear@1$MDLMaterialMipMapFilterModeNearest@0$MDLMaterialPropertyTypeBuffer@10$MDLMaterialPropertyTypeColor@4$MDLMaterialPropertyTypeFloat@5$MDLMaterialPropertyTypeFloat2@6$MDLMaterialPropertyTypeFloat3@7$MDLMaterialPropertyTypeFloat4@8$MDLMaterialPropertyTypeMatrix44@9$MDLMaterialPropertyTypeNone@0$MDLMaterialPropertyTypeString@1$MDLMaterialPropertyTypeTexture@3$MDLMaterialPropertyTypeURL@2$MDLMaterialSemanticAmbientOcclusion@22$MDLMaterialSemanticAmbientOcclusionScale@23$MDLMaterialSemanticAnisotropic@7$MDLMaterialSemanticAnisotropicRotation@8$MDLMaterialSemanticBaseColor@0$MDLMaterialSemanticBump@14$MDLMaterialSemanticClearcoat@11$MDLMaterialSemanticClearcoatGloss@12$MDLMaterialSemanticDisplacement@20$MDLMaterialSemanticDisplacementScale@21$MDLMaterialSemanticEmission@13$MDLMaterialSemanticInterfaceIndexOfRefraction@16$MDLMaterialSemanticMaterialIndexOfRefraction@17$MDLMaterialSemanticMetallic@2$MDLMaterialSemanticNone@32768$MDLMaterialSemanticObjectSpaceNormal@18$MDLMaterialSemanticOpacity@15$MDLMaterialSemanticRoughness@6$MDLMaterialSemanticSheen@9$MDLMaterialSemanticSheenTint@10$MDLMaterialSemanticSpecular@3$MDLMaterialSemanticSpecularExponent@4$MDLMaterialSemanticSpecularTint@5$MDLMaterialSemanticSubsurface@1$MDLMaterialSemanticTangentSpaceNormal@19$MDLMaterialSemanticUserDefined@32769$MDLMaterialTextureFilterModeLinear@1$MDLMaterialTextureFilterModeNearest@0$MDLMaterialTextureWrapModeClamp@0$MDLMaterialTextureWrapModeMirror@2$MDLMaterialTextureWrapModeRepeat@1$MDLMeshBufferTypeCustom@3$MDLMeshBufferTypeIndex@2$MDLMeshBufferTypeVertex@1$MDLPrimitiveTypeCapsule@3$MDLPrimitiveTypeCone@2$MDLPrimitiveTypeCube@0$MDLPrimitiveTypeCylinder@4$MDLPrimitiveTypeNone@5$MDLPrimitiveTypeSphere@1$MDLProbePlacementIrradianceDistribution@1$MDLProbePlacementUniformGrid@0$MDLTextureChannelEncodingFloat16@258$MDLTextureChannelEncodingFloat16SR@770$MDLTextureChannelEncodingFloat32@260$MDLTextureChannelEncodingUInt16@2$MDLTextureChannelEncodingUInt24@3$MDLTextureChannelEncodingUInt32@4$MDLTextureChannelEncodingUInt8@1$MDLTextureChannelEncodingUint16@2$MDLTextureChannelEncodingUint24@3$MDLTextureChannelEncodingUint32@4$MDLTextureChannelEncodingUint8@1$MDLTransformOpRotationOrderXYZ@1$MDLTransformOpRotationOrderXZY@2$MDLTransformOpRotationOrderYXZ@3$MDLTransformOpRotationOrderYZX@4$MDLTransformOpRotationOrderZXY@5$MDLTransformOpRotationOrderZYX@6$MDLVertexFormatChar@131073$MDLVertexFormatChar2@131074$MDLVertexFormatChar2Normalized@262146$MDLVertexFormatChar3@131075$MDLVertexFormatChar3Normalized@262147$MDLVertexFormatChar4@131076$MDLVertexFormatChar4Normalized@262148$MDLVertexFormatCharBits@131072$MDLVertexFormatCharNormalized@262145$MDLVertexFormatCharNormalizedBits@262144$MDLVertexFormatFloat@786433$MDLVertexFormatFloat2@786434$MDLVertexFormatFloat3@786435$MDLVertexFormatFloat4@786436$MDLVertexFormatFloatBits@786432$MDLVertexFormatHalf@720897$MDLVertexFormatHalf2@720898$MDLVertexFormatHalf3@720899$MDLVertexFormatHalf4@720900$MDLVertexFormatHalfBits@720896$MDLVertexFormatInt@655361$MDLVertexFormatInt1010102Normalized@659460$MDLVertexFormatInt2@655362$MDLVertexFormatInt3@655363$MDLVertexFormatInt4@655364$MDLVertexFormatIntBits@655360$MDLVertexFormatInvalid@0$MDLVertexFormatPackedBit@4096$MDLVertexFormatShort@393217$MDLVertexFormatShort2@393218$MDLVertexFormatShort2Normalized@524290$MDLVertexFormatShort3@393219$MDLVertexFormatShort3Normalized@524291$MDLVertexFormatShort4@393220$MDLVertexFormatShort4Normalized@524292$MDLVertexFormatShortBits@393216$MDLVertexFormatShortNormalized@524289$MDLVertexFormatShortNormalizedBits@524288$MDLVertexFormatUChar@65537$MDLVertexFormatUChar2@65538$MDLVertexFormatUChar2Normalized@196610$MDLVertexFormatUChar3@65539$MDLVertexFormatUChar3Normalized@196611$MDLVertexFormatUChar4@65540$MDLVertexFormatUChar4Normalized@196612$MDLVertexFormatUCharBits@65536$MDLVertexFormatUCharNormalized@196609$MDLVertexFormatUCharNormalizedBits@196608$MDLVertexFormatUInt@589825$MDLVertexFormatUInt1010102Normalized@593924$MDLVertexFormatUInt2@589826$MDLVertexFormatUInt3@589827$MDLVertexFormatUInt4@589828$MDLVertexFormatUIntBits@589824$MDLVertexFormatUShort@327681$MDLVertexFormatUShort2@327682$MDLVertexFormatUShort2Normalized@458754$MDLVertexFormatUShort3@327683$MDLVertexFormatUShort3Normalized@458755$MDLVertexFormatUShort4@327684$MDLVertexFormatUShort4Normalized@458756$MDLVertexFormatUShortBits@327680$MDLVertexFormatUShortNormalized@458753$MDLVertexFormatUShortNormalizedBits@458752$""" -misc.update( - { - "MDLMaterialTextureFilterMode": NewType("MDLMaterialTextureFilterMode", int), - "MDLMaterialTextureWrapMode": NewType("MDLMaterialTextureWrapMode", int), - "MDLTextureChannelEncoding": NewType("MDLTextureChannelEncoding", int), - "MDLLightType": NewType("MDLLightType", int), - "MDLGeometryType": NewType("MDLGeometryType", int), - "MDLProbePlacement": NewType("MDLProbePlacement", int), - "MDLCameraProjection": NewType("MDLCameraProjection", int), - "MDLMeshBufferType": NewType("MDLMeshBufferType", int), - "MDLVertexFormat": NewType("MDLVertexFormat", int), - "MDLMaterialSemantic": NewType("MDLMaterialSemantic", int), - "MDLMaterialMipMapFilterMode": NewType("MDLMaterialMipMapFilterMode", int), - "MDLDataPrecision": NewType("MDLDataPrecision", int), - "MDLAnimatedValueInterpolation": NewType("MDLAnimatedValueInterpolation", int), - "MDLIndexBitDepth": NewType("MDLIndexBitDepth", int), - "MDLMaterialFace": NewType("MDLMaterialFace", int), - "MDLMaterialPropertyType": NewType("MDLMaterialPropertyType", int), - "MDLTransformOpRotationOrder": NewType("MDLTransformOpRotationOrder", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MDLAnimatedMatrix4x4", - b"copyDouble4x4ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"copyFloat4x4ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"double4x4AtTime:", - {"retval": {"type": b"{_matrix_double4x4=?}"}}, - ) - r( - b"MDLAnimatedMatrix4x4", - b"float4x4AtTime:", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLAnimatedMatrix4x4", - b"getDouble4x4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type": b"^{_matrix_double4x4=?}", - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"getFloat4x4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type": b"^{_matrix_float4x4=?}", - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"resetWithDouble4x4Array:atTimes:count:", - {"arguments": {2: {"type": b"^{_matrix_double4x4=?}"}}}, - ) - r( - b"MDLAnimatedMatrix4x4", - b"resetWithDouble4x4Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"resetWithFloat4x4Array:atTimes:count:", - {"arguments": {2: {"type": b"^{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLAnimatedMatrix4x4", - b"resetWithFloat4x4Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedMatrix4x4", - b"setDouble4x4:atTime:", - {"arguments": {2: {"type": b"{_matrix_double4x4=?}"}}}, - ) - r( - b"MDLAnimatedMatrix4x4", - b"setFloat4x4:atTime:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"doubleQuaternionAtTime:", - {"retval": {"type": b"{_simd_quatd=}"}}, - ) - r( - b"MDLAnimatedQuaternion", - b"floatQuaternionAtTime:", - {"retval": {"type": b"{_simd_quatf=}"}}, - ) - r( - b"MDLAnimatedQuaternion", - b"getDoubleQuaternionArray:maxCount:", - {"arguments": {2: {"type": b"^{_simd_quatd=}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"getFloatQuaternionArray:maxCount:", - {"arguments": {2: {"type": b"^{_simd_quatf=}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"resetWithDoubleQuaternionArray:atTimes:count:", - {"arguments": {2: {"type": b"^{_simd_quatd=}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"resetWithFloatQuaternionArray:atTimes:count:", - {"arguments": {2: {"type": b"^{_simd_quatf=}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"setDoubleQuaternion:atTime:", - {"arguments": {2: {"type": b"{_simd_quatd=}"}}}, - ) - r( - b"MDLAnimatedQuaternion", - b"setFloatQuaternion:atTime:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r( - b"MDLAnimatedQuaternionArray", - b"getDoubleQuaternionArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_simd_quatd=}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"getDoubleQuaternionArray:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_simd_quatd=}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"getFloatQuaternionArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_simd_quatf=}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"getFloatQuaternionArray:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_simd_quatf=}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"resetWithDoubleQuaternionArray:count:atTimes:count:", - { - "arguments": { - 2: { - "type": b"^{_simd_quatd=}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - }, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"resetWithFloatQuaternionArray:count:atTimes:count:", - { - "arguments": { - 2: { - "type": b"^{_simd_quatf=}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - }, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"setDoubleQuaternionArray:count:atTime:", - { - "arguments": { - 2: { - "type": b"^{_simd_quatd=}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedQuaternionArray", - b"setFloatQuaternionArray:count:atTime:", - { - "arguments": { - 2: { - "type": b"^{_simd_quatf=}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalar", - b"copyDoubleArrayInto:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalar", - b"copyFloatArrayInto:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalar", - b"getDoubleArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalar", - b"getFloatArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalar", - b"resetWithDoubleArray:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"MDLAnimatedScalar", - b"resetWithFloatArray:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"copyDoubleArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"copyDoubleArrayInto:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"copyFloatArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"copyFloatArrayInto:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"getDoubleArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"getDoubleArray:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"getFloatArray:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"getFloatArray:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"resetWithDoubleArray:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"resetWithFloatArray:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"resetWithFloatArray:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedScalarArray", - b"setDoubleArray:count:atTime:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MDLAnimatedScalarArray", - b"setFloatArray:count:atTime:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MDLAnimatedValue", - b"copyTimesInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedValue", - b"getTimes:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r(b"MDLAnimatedValue", b"isAnimated", {"retval": {"type": "Z"}}) - r( - b"MDLAnimatedVector2", - b"copyDouble2ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector2", - b"copyFloat2ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector2", - b"getDouble2Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector2", - b"getFloat2Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector2", - b"resetWithDouble2Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector2", - b"resetWithFloat2Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector3", - b"copyDouble3ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector3", - b"copyFloat3ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector3", - b"getDouble3Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3", - b"getFloat3Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3", - b"resetWithDouble3Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector3", - b"resetWithFloat3Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"getDouble3Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"getDouble3Array:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"getFloat3Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"getFloat3Array:maxCount:atTime:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"resetWithDouble3Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"resetWithFloat3Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector3Array", - b"setDouble3Array:count:atTime:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MDLAnimatedVector3Array", - b"setFloat3Array:count:atTime:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"MDLAnimatedVector4", - b"copyDouble4ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector4", - b"copyFloat4ArrayInto:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector4", - b"getDouble4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector4", - b"getFloat4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_lengt_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLAnimatedVector4", - b"resetWithDouble4Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimatedVector4", - b"resetWithFloat4Array:count:atTimes:count:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"n", "c_array_length_in_arg": 5}, - } - }, - ) - r( - b"MDLAnimationBindComponent", - b"geometryBindTransform", - {"retval": {"type": b"{_matrix_double4x4=?}"}}, - ) - r( - b"MDLAnimationBindComponent", - b"setGeometryBindTransform:", - {"arguments": {2: {"type": b"{_matrix_double4x4=?}"}}}, - ) - r( - b"MDLAsset", - b"boundingBox", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"MDLAsset", - b"boundingBoxAtTime:", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r(b"MDLAsset", b"canExportFileExtension:", {"retval": {"type": b"Z"}}) - r(b"MDLAsset", b"canImportFileExtension:", {"retval": {"type": "Z"}}) - r(b"MDLAsset", b"exportAssetToURL:", {"retval": {"type": "Z"}}) - r( - b"MDLAsset", - b"exportAssetToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"MDLAsset", - b"initWithURL:bufferAllocator:preserveIndexing:error:", - {"arguments": {4: {"type": "Z"}, 5: {"type_modifier": b"o"}}}, - ) - r( - b"MDLAsset", - b"initWithURL:vertexDescriptor:bufferAllocator:preserveTopology:error:", - {"arguments": {5: {"type": "Z"}, 6: {"type_modifier": b"o"}}}, - ) - r( - b"MDLCamera", - b"frameBoundingBox:setNearAndFar:", - { - "arguments": { - 2: {"type": b"{_MDLAxisAlignedBoundingBox=}"}, - 3: {"type": "Z"}, - } - }, - ) - r(b"MDLCamera", b"projectionMatrix", {"retval": {"type": b"{_matrix_float4x4=?}"}}) - r( - b"MDLMaterialProperty", - b"initWithName:semantic:matrix4x4:", - {"arguments": {4: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLMaterialProperty", - b"matrix4x4", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLMaterialProperty", - b"setMatrix4x4:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLMaterialPropertyNode", - b"evaluationFunction", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - }, - ) - r( - b"MDLMaterialPropertyNode", - b"initWithInputs:outputs:evaluationFunction:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MDLMaterialPropertyNode", - b"setEvaluationFunction:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MDLMatrix4x4Array", - b"getDouble4x4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_matrix_double4x4=?}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLMatrix4x4Array", - b"getFloat4x4Array:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_arg": 3, - "type": b"^{_matrix_float4x4=?}", - "type_modifier": b"o", - "c_array_length_in_result": True, - } - } - }, - ) - r( - b"MDLMatrix4x4Array", - b"setDouble4x4Array:count:", - { - "arguments": { - 2: { - "type": b"^{_matrix_double4x4=?}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLMatrix4x4Array", - b"setFloat4x4Array:count:", - { - "arguments": { - 2: { - "type": b"^{_matrix_float4x4=?}", - "type_modifier": b"n", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLMesh", - b"boundingBox", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"MDLMesh", - b"generateAmbientOcclusionTextureWithQuality:attenuationFactor:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateAmbientOcclusionTextureWithSize:raysPerSample:attenuationFactor:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateAmbientOcclusionVertexColorsWithQuality:attenuationFactor:objectsToConsider:vertexAttributeNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateAmbientOcclusionVertexColorsWithRaysPerSample:attenuationFactor:objectsToConsider:vertexAttributeNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateLightMapTextureWithQuality:lightsToCondider:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateLightMapTextureWithQuality:lightsToConsider:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": b"Z"}}, - ) - r( - b"MDLMesh", - b"generateLightMapTextureWithTextureSize:lightsToCondider:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"generateLightMapTextureWithTextureSize:lightsToConsider:objectsToConsider:vertexAttributeNamed:materialPropertyNamed:", - {"retval": {"type": b"Z"}}, - ) - r( - b"MDLMesh", - b"generateLightMapVertexColorsWithLightsToConsider:objectsToConsider:vertexAttributeNamed:", - {"retval": {"type": "Z"}}, - ) - r( - b"MDLMesh", - b"initBoxWithExtent:segments:inwardNormals:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initCapsuleWithExtent:cylinderSegments:hemisphereSegments:inwardNormals:geometryType:allocator:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initConeWithExtent:segments:inwardNormals:cap:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}, 5: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initCylinderWithExtent:segments:inwardNormals:topCap:bottomCap:cap:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}, 5: {"type": "Z"}, 6: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initCylinderWithExtent:segments:inwardNormals:topCap:bottomCap:geometryType:allocator:", - {"arguments": {4: {"type": b"Z"}, 5: {"type": b"Z"}, 6: {"type": b"Z"}}}, - ) - r( - b"MDLMesh", - b"initHemisphereWithExtent:segments:inwardNormals:cap:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}, 5: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initIcosahedronWithExtent:inwardNormals:geometryType:allocator:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MDLMesh", - b"initIcosahedronWithExtent:inwardNormals:segments:geometryType:allocator:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initMeshWithPrimitive:segments:inwardNormals:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"initSphereWithExtent:segments:inwardNormals:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"makeVerticesUniqueAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"MDLMesh", - b"newBoxWithDimensions:segments:geometryType:inwardNormals:allocator:", - {"arguments": {5: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newCapsuleWithHeight:radii:radialSegments:verticalSegments:hemisphereSegments:geometryType:inwardNormals:allocator:", - {"arguments": {8: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newCylinderWithHeight:radii:radialSegments:verticalSegments:geometryType:inwardNormals:allocator:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newEllipsoidWithRadii:radialSegments:verticalSegments:geometryType:inwardNormals:hemisphere:allocator:", - {"arguments": {6: {"type": "Z"}, 7: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newEllipticalConeWithHeight:radii:radialSegments:verticalSegments:geometryType:inwardNormals:allocator:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newIcosahedronWithRadius:inwardNormals:allocator:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"MDLMesh", - b"newIcosahedronWithRadius:inwardNormals:geometryType:allocator:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"MDLMesh", - b"newMeshWithPrimitive:segments:inwardNormals:geometryType:allocator:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"MDLMeshBufferMap", b"bytes", {"retval": {"c_array_of_variable_length": True}}) - r( - b"MDLMeshBufferMap", - b"initWithBytes:deallocator:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_of_variable_length": True}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"MDLMorphDeformer", - b"copyShapeSetTargetCountsInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLMorphDeformer", - b"copyShapeSetTargetWeightsInto:maxCount:", - { - "arguments": { - 2: { - "c_array_length_in_result": True, - "type_modifier": b"o", - "c_array_length_in_arg": 3, - } - } - }, - ) - r( - b"MDLMorphDeformer", - b"initWithTargetShapes:shapeSetTargetWeights:count:shapeSetTargetCounts:count:", - { - "arguments": { - 3: {"type_modifier": b"n", "c_array_length_in_arg": 4}, - 5: {"type_modifier": b"n", "c_array_length_in_arg": 6}, - } - }, - ) - r( - b"MDLNoiseTexture", - b"initScalarNoiseWithSmoothness:name:textureDimensions:channelCount:channelEncoding:grayScale:", - {"arguments": {7: {"type": "Z"}}}, - ) - r( - b"MDLNoiseTexture", - b"initScalarNoiseWithSmoothness:name:textureDimensions:channelCount:channelEncoding:grayscale:", - {"arguments": {7: {"type": b"Z"}}}, - ) - r( - b"MDLObject", - b"boundingBoxAtTime:", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"MDLObject", - b"enumerateChildObjectsOfClass:root:usingBlock:stopPointer:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - }, - 5: {"type": "N^Z"}, - } - }, - ) - r(b"MDLObject", b"hidden", {"retval": {"type": "Z"}}) - r(b"MDLObject", b"resetsTransform", {"retval": {"type": "Z"}}) - r(b"MDLObject", b"setHidden:", {"arguments": {2: {"type": "Z"}}}) - r(b"MDLObject", b"setResetsTransform:", {"arguments": {2: {"type": "Z"}}}) - r( - b"MDLSkinDeformer", - b"copyJointBindTransformsInto:maxCount:", - { - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"comment": "matrix_float4x4", "type": "?"}, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"MDLStereoscopicCamera", - b"leftProjectionMatrix", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLStereoscopicCamera", - b"leftViewMatrix", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLStereoscopicCamera", - b"rightProjectionMatrix", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLStereoscopicCamera", - b"rightViewMatrix", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r(b"MDLTexture", b"hasAlphaValues", {"retval": {"type": "Z"}}) - r( - b"MDLTexture", - b"initWithData:topLeftOrigin:name:dimensions:rowStride:channelCount:channelEncoding:isCube:", - {"arguments": {3: {"type": "Z"}, 9: {"type": "Z"}}}, - ) - r(b"MDLTexture", b"isCube", {"retval": {"type": "Z"}}) - r(b"MDLTexture", b"setHasAlphaValues:", {"arguments": {2: {"type": "Z"}}}) - r(b"MDLTexture", b"setIsCube:", {"arguments": {2: {"type": "Z"}}}) - r( - b"MDLTexture", - b"texelDataWithBottomLeftOriginAtMipLevel:create:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"MDLTexture", - b"texelDataWithTopLeftOriginAtMipLevel:create:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"MDLTexture", b"writeToURL:", {"retval": {"type": "Z"}}) - r(b"MDLTexture", b"writeToURL:level:", {"retval": {"type": "Z"}}) - r(b"MDLTexture", b"writeToURL:type:", {"retval": {"type": "Z"}}) - r(b"MDLTexture", b"writeToURL:type:level:", {"retval": {"type": "Z"}}) - r( - b"MDLTransform", - b"initWithMatrix:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLTransform", - b"initWithMatrix:resetsTransform:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}, 3: {"type": "Z"}}}, - ) - r( - b"MDLTransform", - b"initWithTransformComponent:resetsTransform:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"MDLTransform", - b"rotationMatrixAtTime:", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLTransform", - b"setMatrix:forTime:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"MDLTransformStack", - b"double4x4AtTime:", - {"retval": {"type": b"{_matrix_double4x4=?}"}}, - ) - r( - b"MDLTransformStack", - b"float4x4AtTime:", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"MDLVertexAttributeData", - b"dataStart", - {"retval": {"c_array_of_variable_length": True}}, - ) - r( - b"MDLVertexAttributeData", - b"setDataStart:", - {"arguments": {2: {"c_array_of_variable_length": True}}}, - ) - r( - b"MDLVoxelArray", - b"boundingBox", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"MDLVoxelArray", - b"initWithData:boundingBox:voxelExtent:", - {"arguments": {3: {"type": b"{_MDLAxisAlignedBoundingBox=}"}}}, - ) - r(b"MDLVoxelArray", b"isValidSignedShellField", {"retval": {"type": "Z"}}) - r( - b"MDLVoxelArray", - b"setIsValidSignedShellField:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"MDLVoxelArray", - b"voxelBoundingBoxAtIndex:", - {"retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"MDLVoxelArray", - b"voxelExistsAtIndex:allowAnyX:allowAnyY:allowAnyZ:allowAnyShell:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 5: {"type": "Z"}, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"MDLVoxelArray", - b"voxelIndexExtent", - {"retval": {"type": b"{_MDLVoxelIndexExtent=}"}}, - ) - r( - b"MDLVoxelArray", - b"voxelsWithinExtent:", - {"arguments": {2: {"type": b"{_MDLVoxelIndexExtent=}"}}}, - ) - r(b"NSObject", b"IsInverseOp", {"required": True, "retval": {"type": b"B"}}) - r( - b"NSObject", - b"addObject:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"allocator", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"boundingBox", - {"required": True, "retval": {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - ) - r( - b"NSObject", - b"canResolveAssetNamed:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"capacity", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"copyJointBindTransformsInto:maxCount:", - { - "retval": {"type": sel32or64(b"I", b"Q")}, - "arguments": { - 2: {"comment": "matrix_float4x4", "type": "?"}, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r(b"NSObject", b"count", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"double4x4AtTime:", - { - "required": True, - "retval": {"type": b"{_matrix_double4x4=?}"}, - "arguments": {2: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"fillData:offset:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"float4x4AtTime:", - { - "required": True, - "retval": {"type": b"{_matrix_float4x4=?}"}, - "arguments": {2: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"globalTransformWithObject:atTime", - {"arguments": {3: {"type": "d"}}}, - ) - r( - b"NSObject", - b"globalTransformWithObject:atTime:", - { - "required": False, - "retval": {"type": b"{_matrix_float4x4=?}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r(b"NSObject", b"keyTimes", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"length", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"localTransformAtTime:", - { - "required": False, - "retval": {"type": b"{_matrix_float4x4=?}"}, - "arguments": {2: {"type": "d"}}, - }, - ) - r(b"NSObject", b"map", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"matrix", - {"required": True, "retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r(b"NSObject", b"maximumTime", {"required": True, "retval": {"type": "d"}}) - r(b"NSObject", b"minimumTime", {"required": True, "retval": {"type": "d"}}) - r(b"NSObject", b"name", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"newBuffer:type:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"newBufferFromZone:data:type:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"newBufferFromZone:length:type:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": sel32or64(b"I", b"Q")}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"newBufferWithData:type:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"newZone:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"newZoneForBuffersWithSize:andType:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"objectAtIndexedSubscript:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": "Q"}}}, - ) - r(b"NSObject", b"objects", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"primitiveType", {"retval": {"type": sel32or64(b"I", b"Q")}}) - r( - b"NSObject", - b"removeObject:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"resetsTransform", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"resolveAssetNamed:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setBoundingBox:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_MDLAxisAlignedBoundingBox=}"}}, - }, - ) - r( - b"NSObject", - b"setLocalTransform:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_matrix_float4x4=?}"}}, - }, - ) - r( - b"NSObject", - b"setLocalTransform:forTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_matrix_float4x4=?}"}, 3: {"type": "d"}}, - }, - ) - r( - b"NSObject", - b"setMatrix:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"{_matrix_float4x4=?}"}}, - }, - ) - r(b"NSObject", b"setMaximumTime:", {"arguments": {2: {"type": "d"}}}) - r(b"NSObject", b"setMinimumTime:", {"arguments": {2: {"type": "d"}}}) - r( - b"NSObject", - b"setName:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPrimitiveType:", - {"arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"setResetsTransform:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"setSphericalHarmonicsLevel:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"sphericalHarmonicsCoefficientsAtPosition:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"None"}}, - }, - ) - r( - b"NSObject", - b"sphericalHarmonicsLevel", - {"required": False, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"type", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"zone", {"required": True, "retval": {"type": b"@"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/MultipeerConnectivity/__init__.py b/src/lib/MultipeerConnectivity/__init__.py deleted file mode 100644 index ed87d3e..0000000 --- a/src/lib/MultipeerConnectivity/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the MultipeerConnectivity framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from MultipeerConnectivity import _metadata -from MultipeerConnectivity import _MultipeerConnectivity - -sys.modules["MultipeerConnectivity"] = mod = objc.ObjCLazyModule( - "MultipeerConnectivity", - "com.apple.MultipeerConnectivity", - objc.pathForFramework("/System/Library/Frameworks/MultipeerConnectivity.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_MultipeerConnectivity, Foundation), -) - - -del sys.modules["MultipeerConnectivity._metadata"] -del sys.modules["MultipeerConnectivity._MultipeerConnectivity"] diff --git a/src/lib/MultipeerConnectivity/_metadata.py b/src/lib/MultipeerConnectivity/_metadata.py deleted file mode 100644 index 2b6177e..0000000 --- a/src/lib/MultipeerConnectivity/_metadata.py +++ /dev/null @@ -1,263 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:10:10 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$MCErrorDomain$kMCSessionMaximumNumberOfPeers@Q$kMCSessionMinimumNumberOfPeers@Q$""" -enums = """$MCEncryptionNone@2$MCEncryptionOptional@0$MCEncryptionRequired@1$MCErrorCancelled@5$MCErrorInvalidParameter@2$MCErrorNotConnected@1$MCErrorTimedOut@4$MCErrorUnavailable@6$MCErrorUnknown@0$MCErrorUnsupported@3$MCSessionSendDataReliable@0$MCSessionSendDataUnreliable@1$MCSessionStateConnected@2$MCSessionStateConnecting@1$MCSessionStateNotConnected@0$""" -misc.update( - { - "MCSessionState": NewType("MCSessionState", int), - "MCEncryptionPreference": NewType("MCEncryptionPreference", int), - "MCSessionSendDataMode": NewType("MCSessionSendDataMode", int), - "MCErrorCode": NewType("MCErrorCode", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"MCSession", - b"nearbyConnectionDataForPeer:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"MCSession", - b"sendData:toPeers:withMode:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"MCSession", - b"sendResourceAtURL:withName:toPeer:withCompletionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"MCSession", - b"startStreamWithName:toPeer:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NSObject", - b"advertiser:didNotStartAdvertisingPeer:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"advertiser:didReceiveInvitationFromPeer:withContext:invitationHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"advertiserAssistantDidDismissInvitation:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"advertiserAssistantWillPresentInvitation:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"browser:didNotStartBrowsingForPeers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:foundPeer:withDiscoveryInfo:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browser:lostPeer:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browserViewController:shouldPresentNearbyPeer:withDiscoveryInfo:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"browserViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"browserViewControllerWasCancelled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"session:didReceiveCertificate:fromPeer:certificateHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"session:didReceiveData:fromPeer:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didReceiveStream:withName:fromPeer:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"session:didStartReceivingResourceWithName:fromPeer:withProgress:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"session:peer:didChangeState:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Q"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/NaturalLanguage/__init__.py b/src/lib/NaturalLanguage/__init__.py deleted file mode 100644 index 4ca5301..0000000 --- a/src/lib/NaturalLanguage/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the NaturalLanguage framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from NaturalLanguage import _metadata - -sys.modules["NaturalLanguage"] = mod = objc.ObjCLazyModule( - "NaturalLanguage", - "com.apple.NaturalLanguage", - objc.pathForFramework("/System/Library/Frameworks/NaturalLanguage.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["NaturalLanguage._metadata"] diff --git a/src/lib/NaturalLanguage/_metadata.py b/src/lib/NaturalLanguage/_metadata.py deleted file mode 100644 index 2efe46b..0000000 --- a/src/lib/NaturalLanguage/_metadata.py +++ /dev/null @@ -1,253 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:07:41 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NLLanguageAmharic$NLLanguageArabic$NLLanguageArmenian$NLLanguageBengali$NLLanguageBulgarian$NLLanguageBurmese$NLLanguageCatalan$NLLanguageCherokee$NLLanguageCroatian$NLLanguageCzech$NLLanguageDanish$NLLanguageDutch$NLLanguageEnglish$NLLanguageFinnish$NLLanguageFrench$NLLanguageGeorgian$NLLanguageGerman$NLLanguageGreek$NLLanguageGujarati$NLLanguageHebrew$NLLanguageHindi$NLLanguageHungarian$NLLanguageIcelandic$NLLanguageIndonesian$NLLanguageItalian$NLLanguageJapanese$NLLanguageKannada$NLLanguageKhmer$NLLanguageKorean$NLLanguageLao$NLLanguageMalay$NLLanguageMalayalam$NLLanguageMarathi$NLLanguageMongolian$NLLanguageNorwegian$NLLanguageOriya$NLLanguagePersian$NLLanguagePolish$NLLanguagePortuguese$NLLanguagePunjabi$NLLanguageRomanian$NLLanguageRussian$NLLanguageSimplifiedChinese$NLLanguageSinhalese$NLLanguageSlovak$NLLanguageSpanish$NLLanguageSwedish$NLLanguageTamil$NLLanguageTelugu$NLLanguageThai$NLLanguageTibetan$NLLanguageTraditionalChinese$NLLanguageTurkish$NLLanguageUkrainian$NLLanguageUndetermined$NLLanguageUrdu$NLLanguageVietnamese$NLTagAdjective$NLTagAdverb$NLTagClassifier$NLTagCloseParenthesis$NLTagCloseQuote$NLTagConjunction$NLTagDash$NLTagDeterminer$NLTagIdiom$NLTagInterjection$NLTagNoun$NLTagNumber$NLTagOpenParenthesis$NLTagOpenQuote$NLTagOrganizationName$NLTagOther$NLTagOtherPunctuation$NLTagOtherWhitespace$NLTagOtherWord$NLTagParagraphBreak$NLTagParticle$NLTagPersonalName$NLTagPlaceName$NLTagPreposition$NLTagPronoun$NLTagPunctuation$NLTagSchemeLanguage$NLTagSchemeLemma$NLTagSchemeLexicalClass$NLTagSchemeNameType$NLTagSchemeNameTypeOrLexicalClass$NLTagSchemeScript$NLTagSchemeSentimentScore$NLTagSchemeTokenType$NLTagSentenceTerminator$NLTagVerb$NLTagWhitespace$NLTagWord$NLTagWordJoiner$""" -enums = """$NLDistanceTypeCosine@0$NLModelTypeClassifier@0$NLModelTypeSequence@1$NLTaggerAssetsResultAvailable@0$NLTaggerAssetsResultError@2$NLTaggerAssetsResultNotAvailable@1$NLTaggerJoinContractions@32$NLTaggerJoinNames@16$NLTaggerOmitOther@8$NLTaggerOmitPunctuation@2$NLTaggerOmitWhitespace@4$NLTaggerOmitWords@1$NLTokenUnitDocument@3$NLTokenUnitParagraph@2$NLTokenUnitSentence@1$NLTokenUnitWord@0$NLTokenizerAttributeEmoji@4$NLTokenizerAttributeNumeric@1$NLTokenizerAttributeSymbolic@2$""" -misc.update( - { - "NLModelType": NewType("NLModelType", int), - "NLTokenUnit": NewType("NLTokenUnit", int), - "NLDistanceType": NewType("NLDistanceType", int), - "NLTaggerAssetsResult": NewType("NLTaggerAssetsResult", int), - "NLTaggerOptions": NewType("NLTaggerOptions", int), - "NLTokenizerAttributes": NewType("NLTokenizerAttributes", int), - } -) -misc.update( - { - "NLTagScheme": NewType("NLTagScheme", str), - "NLLanguage": NewType("NLLanguage", str), - "NLTag": NewType("NLTag", str), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NLEmbedding", b"containsString:", {"retval": {"type": b"Z"}}) - r( - b"NLEmbedding", - b"embeddingWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLEmbedding", - b"enumerateNeighborsForString:maximumCount:distanceType:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NLEmbedding", - b"enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NLEmbedding", - b"enumerateNeighborsForVector:maximumCount:distanceType:usingBlock:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NLEmbedding", - b"enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NLEmbedding", - b"getVector:forString:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type_modifier": b"o", "c_array_of_variable_length": True} - }, - }, - ) - r( - b"NLEmbedding", - b"writeEmbeddingForDictionary:language:revision:toURL:error:", - {"retval": {"type": b"Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NLGazetteer", - b"gazetteerWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLGazetteer", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLGazetteer", - b"initWithData:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLGazetteer", - b"initWithDictionary:language:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"NLGazetteer", - b"writeGazetteerForDictionary:language:toURL:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"NLModel", - b"modelWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLModel", - b"modelWithMLModel:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NLTagger", - b"enumerateTagsInRange:unit:scheme:options:usingBlock:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"{_NSRange=QQ}"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"NLTagger", - b"requestAssetsForLanguage:tagScheme:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NLTagger", - b"tagHypothesesAtIndex:unit:scheme:maximumCount:tokenRange:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"NLTokenizer", - b"enumerateTokensInRange:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"{_NSRange=QQ}"}, - 2: {"type": b"Q"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/NetFS/__init__.py b/src/lib/NetFS/__init__.py deleted file mode 100644 index d7556bd..0000000 --- a/src/lib/NetFS/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Python mapping for the NetFS framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from NetFS import _metadata - -try: - long -except NameError: - long = int - -sys.modules["NetFS"] = mod = objc.ObjCLazyModule( - "NetFS", - "com.apple.NetFS", - objc.pathForFramework("/System/Library/Frameworks/NetFS.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["NetFS._metadata"] diff --git a/src/lib/NetFS/_metadata.py b/src/lib/NetFS/_metadata.py deleted file mode 100644 index 66b7007..0000000 --- a/src/lib/NetFS/_metadata.py +++ /dev/null @@ -1,130 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:10:33 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$ENETFSACCOUNTRESTRICTED@-5999$ENETFSNOAUTHMECHSUPP@-5997$ENETFSNOPROTOVERSSUPP@-5996$ENETFSNOSHARESAVAIL@-5998$ENETFSPWDNEEDSCHANGE@-5045$ENETFSPWDPOLICY@-5046$""" -misc.update({}) -misc.update( - { - "kNetFSMountPathKey": "MountPath", - "kNAUIOptionNoUI": "NoUI", - "kNetFSServerDisplayNameKey": "ServerDisplayName", - "kNetFSAuthorityParamsKey": "AuthorityParams", - "kNetFSMountFlagsKey": "MountFlags", - "kNetFSSupportsKerberosKey": "SupportsKerberos", - "kNetFSMountedMultiUserKey": "MountedMultiUser", - "kNetFSHostKey": "Host", - "kNetFSOpenURLMountKey": "OpenURLMount", - "kNetFSConnectedAsUserKey": "MountedByUser", - "kNetFSHasPasswordKey": "HasPassword", - "kNetFSSupportsGuestKey": "SupportsGuest", - "kNetFSAlreadyMountedKey": "AlreadyMounted", - "kNAUIOptionAllowUI": "AllowUI", - "kNetFSMechTypesSupportedKey": "MechTypesSupported", - "kNetFSMountedByUserKey": "MountedByUser", - "kNetFSMountedWithAuthenticationInfoKey": "MountedWithAuthenticationInfo", - "kNetFSAuthenticationInfoKey": "AuthenticationInfo", - "kNetFSNoMountAuthenticationKey": "NoMountAuthentication", - "kNetFSPrinterShareKey": "PrinterShare", - "kNetFSUseKerberosKey": "Kerberos", - "kNetFSMountAtMountDirKey": "MountAtMountDir", - "kNAUIOptionForceUI": "ForceUI", - "kNetFSGetAccessRightsKey": "GetAccessRights", - "kNetFSPasswordKey": "Password", - "kNetFSMountedByKerberosKey": "MountedByKerberos", - "kNetFSSchemeKey": "Scheme", - "kNetFSConnectedMultiUserKey": "ConnectedMultiUser", - "kNetFSAccessRightsKey": "AccessRights", - "kNetFSMountedByGuestKey": "MountedByGuest", - "kNetFSSoftMountKey": "SoftMount", - "kNetFSChangePasswordKey": "ChangePassword", - "kNetFSUseGuestKey": "Guest", - "kNetFSUseAuthenticationInfoKey": "UseAuthenticationInfo", - "kNetFSPathKey": "Path", - "kNetFSSupportsChangePasswordKey": "SupportsChangePassword", - "kNetFSNoUserPreferencesKey": "NoUserPreferences", - "kNetFSForceNewSessionKey": "ForceNewSession", - "kNAUIOptionKey": "UIOption", - "kNetFSConnectedAsGuestKey": "MountedByGuest", - "kNetFSConnectedWithAuthenticationInfoKey": "ConnectedWithAuthenticationInfo", - "kNetFSDisplayNameKey": "DisplayName", - "kNetFSAlternatePortKey": "AlternatePort", - "kNetFSAllowLoopbackKey": "AllowLoopback", - "kNetFSMountedURLKey": "MountedURL", - "kNetFSGuestOnlyKey": "GuestOnly", - "kNetFSAllowSubMountsKey": "AllowSubMounts", - "kNetFSUserNameKey": "UserName", - "kNetFSIsHiddenKey": "IsHidden", - } -) -functions = { - "NetFSMountURLProbe": (b"^{__CFString=}^{__CFString=}",), - "NetFSMountURLAsync": ( - b"i^{__CFURL=}^{__CFURL=}^{__CFString=}^{__CFString=}^{__CFDictionary=}^{__CFDictionary=}^^v@@?", - "", - { - "arguments": { - 8: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": "^v"}, - 3: {"type": "@"}, - }, - } - }, - 6: {"type_modifier": "o"}, - } - }, - ), - "NetFSMountURLSync": ( - b"i^{__CFURL=}^{__CFURL=}^{__CFString=}^{__CFString=}^{__CFDictionary=}^{__CFDictionary=}^^{__CFArray=}", - "", - {"arguments": {6: {"type_modifier": "o"}}}, - ), - "NetFSMountURLCancel": (b"i^v",), - "NetFSCopyURLForRemountingVolume": ( - b"^{__CFURL=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "NetFSCFStringtoCString": ( - b"^t^{__CFString=}", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Network/__init__.py b/src/lib/Network/__init__.py deleted file mode 100644 index b1ce0f1..0000000 --- a/src/lib/Network/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Python mapping for the Network framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import Network._Network as _manual -import objc -from Network import _metadata - -sys.modules["Network"] = mod = objc.ObjCLazyModule( - "Network", - "com.apple.Network", - objc.pathForFramework("/System/Library/Frameworks/Network.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["Network._metadata"] - - -for nm in dir(_manual): - if nm.startswith("__"): - continue - setattr(mod, nm, getattr(_manual, nm)) diff --git a/src/lib/Network/_metadata.py b/src/lib/Network/_metadata.py deleted file mode 100644 index e632b77..0000000 --- a/src/lib/Network/_metadata.py +++ /dev/null @@ -1,1765 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:10:42 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$_nw_connection_send_idempotent_content@@?$_nw_content_context_default_message$_nw_content_context_default_stream$_nw_content_context_final_send$_nw_data_transfer_report_all_paths@I$_nw_parameters_configure_protocol_default_configuration@@?$_nw_parameters_configure_protocol_disable@@?$_nw_privacy_context_default_context$kNWErrorDomainDNS$kNWErrorDomainPOSIX$kNWErrorDomainTLS$""" -enums = """$NW_FRAMER_CREATE_FLAGS_DEFAULT@0$NW_FRAMER_WAKEUP_TIME_FOREVER@18446744073709551615$NW_LISTENER_INFINITE_CONNECTION_LIMIT@4294967295$NW_NOT_i386_MAC@1$nw_browse_result_change_identical@1$nw_browse_result_change_interface_added@8$nw_browse_result_change_interface_removed@16$nw_browse_result_change_invalid@0$nw_browse_result_change_result_added@2$nw_browse_result_change_result_removed@4$nw_browse_result_change_txt_record_changed@32$nw_browser_state_cancelled@3$nw_browser_state_failed@2$nw_browser_state_invalid@0$nw_browser_state_ready@1$nw_browser_state_waiting@4$nw_connection_group_state_cancelled@4$nw_connection_group_state_failed@3$nw_connection_group_state_invalid@0$nw_connection_group_state_ready@2$nw_connection_group_state_waiting@1$nw_connection_state_cancelled@5$nw_connection_state_failed@4$nw_connection_state_invalid@0$nw_connection_state_preparing@2$nw_connection_state_ready@3$nw_connection_state_waiting@1$nw_data_transfer_report_state_collected@2$nw_data_transfer_report_state_collecting@1$nw_endpoint_type_address@1$nw_endpoint_type_bonjour_service@3$nw_endpoint_type_host@2$nw_endpoint_type_invalid@0$nw_endpoint_type_url@4$nw_error_domain_dns@2$nw_error_domain_invalid@0$nw_error_domain_posix@1$nw_error_domain_tls@3$nw_ethernet_channel_state_cancelled@5$nw_ethernet_channel_state_failed@4$nw_ethernet_channel_state_invalid@0$nw_ethernet_channel_state_preparing@2$nw_ethernet_channel_state_ready@3$nw_ethernet_channel_state_waiting@1$nw_framer_start_result_ready@1$nw_framer_start_result_will_mark_ready@2$nw_interface_radio_type_cell_cdma@135$nw_interface_radio_type_cell_endc_mmw@130$nw_interface_radio_type_cell_endc_sub6@129$nw_interface_radio_type_cell_evdo@136$nw_interface_radio_type_cell_gsm@134$nw_interface_radio_type_cell_lte@128$nw_interface_radio_type_cell_nr_sa_mmw@132$nw_interface_radio_type_cell_nr_sa_sub6@131$nw_interface_radio_type_cell_wcdma@133$nw_interface_radio_type_unknown@0$nw_interface_radio_type_wifi_a@2$nw_interface_radio_type_wifi_ac@5$nw_interface_radio_type_wifi_ax@6$nw_interface_radio_type_wifi_b@1$nw_interface_radio_type_wifi_g@3$nw_interface_radio_type_wifi_n@4$nw_interface_type_cellular@2$nw_interface_type_loopback@4$nw_interface_type_other@0$nw_interface_type_wifi@1$nw_interface_type_wired@3$nw_ip_ecn_flag_ce@3$nw_ip_ecn_flag_ect_0@2$nw_ip_ecn_flag_ect_1@1$nw_ip_ecn_flag_non_ect@0$nw_ip_local_address_preference_default@0$nw_ip_local_address_preference_stable@2$nw_ip_local_address_preference_temporary@1$nw_ip_version_4@4$nw_ip_version_6@6$nw_ip_version_any@0$nw_listener_state_cancelled@4$nw_listener_state_failed@3$nw_listener_state_invalid@0$nw_listener_state_ready@2$nw_listener_state_waiting@1$nw_multipath_service_aggregate@3$nw_multipath_service_disabled@0$nw_multipath_service_handover@1$nw_multipath_service_interactive@2$nw_multipath_version_0@0$nw_multipath_version_1@1$nw_multipath_version_unspecified@-1$nw_parameters_attribution_developer@1$nw_parameters_attribution_user@2$nw_parameters_expired_dns_behavior_allow@1$nw_parameters_expired_dns_behavior_default@0$nw_parameters_expired_dns_behavior_prohibit@2$nw_path_status_invalid@0$nw_path_status_satisfiable@3$nw_path_status_satisfied@1$nw_path_status_unsatisfied@2$nw_path_unsatisfied_reason_cellular_denied@1$nw_path_unsatisfied_reason_local_network_denied@3$nw_path_unsatisfied_reason_not_available@0$nw_path_unsatisfied_reason_wifi_denied@2$nw_quic_stream_type_bidirectional@1$nw_quic_stream_type_unidirectional@2$nw_quic_stream_type_unknown@0$nw_report_resolution_protocol_https@4$nw_report_resolution_protocol_tcp@2$nw_report_resolution_protocol_tls@3$nw_report_resolution_protocol_udp@1$nw_report_resolution_protocol_unknown@0$nw_report_resolution_source_cache@2$nw_report_resolution_source_expired_cache@3$nw_report_resolution_source_query@1$nw_service_class_background@1$nw_service_class_best_effort@0$nw_service_class_interactive_video@2$nw_service_class_interactive_voice@3$nw_service_class_responsive_data@4$nw_service_class_signaling@5$nw_txt_record_find_key_empty_value@3$nw_txt_record_find_key_invalid@0$nw_txt_record_find_key_no_value@2$nw_txt_record_find_key_non_empty_value@4$nw_txt_record_find_key_not_present@1$nw_ws_close_code_abnormal_closure@1006$nw_ws_close_code_going_away@1001$nw_ws_close_code_internal_server_error@1011$nw_ws_close_code_invalid_frame_payload_data@1007$nw_ws_close_code_mandatory_extension@1010$nw_ws_close_code_message_too_big@1009$nw_ws_close_code_no_status_received@1005$nw_ws_close_code_normal_closure@1000$nw_ws_close_code_policy_violation@1008$nw_ws_close_code_protocol_error@1002$nw_ws_close_code_tls_handshake@1015$nw_ws_close_code_unsupported_data@1003$nw_ws_opcode_binary@2$nw_ws_opcode_close@8$nw_ws_opcode_cont@0$nw_ws_opcode_invalid@-1$nw_ws_opcode_ping@9$nw_ws_opcode_pong@10$nw_ws_opcode_text@1$nw_ws_response_status_accept@1$nw_ws_response_status_invalid@0$nw_ws_response_status_reject@2$nw_ws_version_13@1$nw_ws_version_invalid@0$""" -misc.update( - {"nw_parameters_attribution_t": NewType("nw_parameters_attribution_t", int)} -) -misc.update({}) -functions = { - "nw_txt_record_copy": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_framer_set_stop_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_establishment_report_copy_proxy_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_listener_set_state_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_listener_create": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_connection_group_copy_remote_endpoint_for_message": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_parameters_set_local_only": (b"v@B",), - "nw_parameters_create_custom_ip": ( - b"@C@?", - "", - {"retval": {"already_retained": True}}, - ), - "nw_protocol_options_copy_definition": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_browser_set_queue": (b"v@@",), - "nw_connection_set_queue": (b"v@@",), - "nw_protocol_metadata_is_quic": (b"B@",), - "nw_path_is_constrained": (b"B@",), - "nw_interface_get_name": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_protocol_metadata_copy_definition": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_txt_record_apply": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - 2: {"type": "@"}, - 3: {"type": "n^v", "c_array_length_in_arg": 4}, - 4: {"type": "L"}, - }, - } - } - } - }, - ), - "nw_content_context_set_relative_priority": (b"v@d",), - "nw_parameters_clear_prohibited_interfaces": (b"v@",), - "nw_connection_start": (b"v@",), - "nw_listener_set_new_connection_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_path_monitor_set_update_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_parameters_create_secure_tcp": ( - b"@@?@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - }, - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - }, - }, - }, - ), - "nw_quic_set_max_udp_payload_size": (b"v@S",), - "nw_quic_get_initial_max_data": (b"Q@",), - "nw_content_context_set_expiration_milliseconds": (b"v@Q",), - "nw_framer_message_set_object_value": ( - b"v@^t@", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "nw_connection_group_cancel": (b"v@",), - "nw_path_is_equal": (b"B@@",), - "nw_connection_force_cancel": (b"v@",), - "nw_ip_metadata_get_service_class": (b"I@",), - "nw_parameters_create": (b"@", "", {"retval": {"already_retained": True}}), - "nw_framer_message_set_value": ( - b"v@^t^v@?", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "^v"}}, - } - }, - } - }, - ), - "nw_quic_get_stream_is_unidirectional": (b"B@",), - "nw_resolution_report_copy_successful_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_content_context_foreach_protocol_metadata": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - } - } - }, - ), - "nw_content_context_set_is_final": (b"v@B",), - "nw_tls_copy_sec_protocol_options": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_get_local_max_streams_unidirectional": (b"Q@",), - "nw_quic_set_initial_max_data": (b"v@Q",), - "nw_advertise_descriptor_get_no_auto_rename": (b"B@",), - "nw_connection_group_copy_protocol_metadata": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_protocol_metadata_is_ip": (b"B@",), - "nw_endpoint_get_type": (b"I@",), - "nw_path_enumerate_gateways": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_protocol_stack_clear_application_protocols": (b"v@",), - "nw_udp_create_metadata": (b"@", "", {"retval": {"already_retained": True}}), - "nw_quic_get_initial_max_stream_data_bidirectional_local": (b"Q@",), - "nw_parameters_set_attribution": (b"v@C",), - "nw_resolver_config_add_server_address": (b"v@@",), - "nw_advertise_descriptor_set_txt_record": ( - b"v@^vQ", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "nw_tcp_options_set_no_push": (b"v@B",), - "nw_connection_copy_protocol_metadata": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ws_create_metadata": (b"@i", "", {"retval": {"already_retained": True}}), - "nw_connection_get_maximum_datagram_size": (b"I@",), - "nw_resolution_report_get_endpoint_count": (b"I@",), - "nw_quic_copy_sec_protocol_metadata": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_connection_group_copy_protocol_metadata_for_message": ( - b"@@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_connection_receive_message": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "B"}, - 4: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_ip_options_set_local_address_preference": (b"v@I",), - "nw_endpoint_copy_address_string": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_listener_set_new_connection_group_handler": (b"v@@?",), - "nw_tcp_options_set_connection_timeout": (b"v@I",), - "nw_connection_set_viability_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "B"}}, - } - } - } - }, - ), - "nw_connection_group_set_queue": (b"v@@",), - "nw_ip_options_set_disable_fragmentation": (b"v@B",), - "nw_error_get_error_domain": (b"I@",), - "nw_framer_options_copy_object_value": ( - b"@@^c", - "", - { - "retval": {"already_retained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type": "n^t"}}, - }, - ), - "nw_framer_mark_ready": (b"v@",), - "nw_ws_request_enumerate_additional_headers": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - 2: {"c_array_delimited_by_null": True, "type": "n^t"}, - }, - } - } - } - }, - ), - "nw_parameters_get_fast_open_enabled": (b"B@",), - "nw_parameters_copy_required_interface": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_establishment_report_get_duration_milliseconds": (b"Q@",), - "nw_browse_descriptor_set_include_txt_record": (b"v@B",), - "nw_protocol_stack_iterate_application_protocols": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_ip_options_set_hop_limit": (b"v@C",), - "nw_establishment_report_enumerate_resolution_reports": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_connection_set_state_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_browser_set_state_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_ethernet_channel_set_queue": (b"v@@",), - "nw_ethernet_channel_cancel": (b"v@",), - "nw_path_monitor_start": (b"v@",), - "nw_parameters_clear_prohibited_interface_types": (b"v@",), - "nw_connection_copy_description": ( - b"^t@", - "", - {"free_result": True, "retval": {"c_array_delimited_by_null": True}}, - ), - "nw_parameters_create_quic": (b"@@?", "", {"retval": {"already_retained": True}}), - "nw_listener_set_queue": (b"v@@",), - "nw_tcp_create_options": (b"@", "", {"retval": {"already_retained": True}}), - "nw_ip_options_set_version": (b"v@I",), - "nw_establishment_report_get_proxy_configured": (b"B@",), - "nw_connection_group_copy_descriptor": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_parameters_iterate_prohibited_interface_types": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "i"}}, - } - } - } - }, - ), - "nw_path_has_ipv6": (b"B@",), - "nw_path_has_ipv4": (b"B@",), - "nw_connection_cancel_current_endpoint": (b"v@",), - "nw_framer_message_access_value": ( - b"B@^t@?", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "^v"}}, - }, - "block": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": b"^v"}}, - }, - }, - } - }, - ), - "nw_framer_copy_remote_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_get_stream_id": (b"Q@",), - "nw_listener_get_new_connection_limit": (b"I@",), - "nw_browse_descriptor_get_bonjour_service_type": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_framer_parse_input": ( - b"B@QQ^C@?", - "", - { - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 4: { - "callable": { - "retval": {"type": b"L"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "n^v", "c_array_length_in_arg": 2}, - 2: {"type": "L"}, - 3: {"type": "B"}, - }, - } - }, - } - }, - ), - "nw_endpoint_get_port": (b"S@",), - "nw_parameters_get_multipath_service": (b"I@",), - "nw_parameters_set_local_endpoint": (b"v@@",), - "nw_ethernet_channel_set_state_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_parameters_get_service_class": (b"I@",), - "nw_privacy_context_create": ( - b"@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "nw_framer_create_definition": ( - b"@^tI@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - }, - }, - }, - ), - "nw_ws_options_set_auto_reply_ping": (b"v@B",), - "nw_protocol_copy_tls_definition": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_endpoint_get_hostname": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_multicast_group_descriptor_get_disable_unicast_traffic": (b"B@",), - "nw_establishment_report_enumerate_resolutions": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "Q"}, - 3: {"type": "I"}, - 4: {"type": "@"}, - 5: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_framer_copy_parameters": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_txt_record_is_dictionary": (b"B@",), - "nw_quic_get_local_max_streams_bidirectional": (b"Q@",), - "nw_parameters_get_attribution": (b"C@",), - "nw_ip_options_set_disable_multicast_loopback": (b"v@B",), - "nw_interface_get_type": (b"I@",), - "nw_endpoint_create_url": ( - b"@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": { - "0": {"c_array_delimited_by_null": True, "type_modifier": "n"} - }, - }, - ), - "nw_endpoint_copy_port_string": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_quic_get_stream_type": (b"C@",), - "nw_path_monitor_set_queue": (b"v@@",), - "nw_protocol_stack_copy_internet_protocol": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_privacy_context_disable_logging": (b"v@",), - "nw_framer_message_create": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_connection_group_copy_parameters": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_monitor_set_cancel_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "nw_quic_set_initial_max_stream_data_bidirectional_remote": (b"v@Q",), - "nw_quic_set_keepalive_interval": (b"v@S",), - "nw_establishment_report_get_attempt_started_after_milliseconds": (b"Q@",), - "nw_advertise_descriptor_set_txt_record_object": (b"v@@",), - "nw_connection_group_set_receive_handler": ( - b"v@IB@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "B"}, - }, - } - } - } - }, - ), - "nw_protocol_metadata_is_tls": (b"B@",), - "nw_protocol_stack_set_transport_protocol": (b"v@@",), - "nw_quic_get_stream_application_error": (b"Q@",), - "nw_framer_write_output_no_copy": (b"B@Q",), - "nw_connection_create": (b"@@@", "", {"retval": {"already_retained": True}}), - "nw_browser_create": (b"@@@", "", {"retval": {"already_retained": True}}), - "nw_ip_metadata_get_ecn_flag": (b"I@",), - "nw_protocol_options_is_quic": (b"B@",), - "nw_connection_set_better_path_available_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "B"}}, - } - } - } - }, - ), - "nw_tcp_options_set_disable_ecn": (b"v@B",), - "nw_data_transfer_report_get_path_count": (b"I@",), - "nw_quic_set_initial_max_stream_data_unidirectional": (b"v@Q",), - "nw_framer_write_output": ( - b"v@n^vQ", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "nw_endpoint_create_bonjour_service": ( - b"@^t^t^t", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - }, - }, - ), - "nw_browse_result_get_interfaces_count": (b"Q@",), - "nw_parameters_prohibit_interface_type": (b"v@I",), - "nw_parameters_copy_local_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_connection_group_start": (b"v@",), - "nw_ethernet_channel_set_receive_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "S"}, - 3: {"type": "n[6t]"}, - 4: {"type": "n[6t]"}, - }, - } - } - } - }, - ), - "nw_parameters_set_prefer_no_proxy": (b"v@B",), - "nw_udp_options_set_prefer_no_checksum": (b"v@B",), - "nw_privacy_context_flush_cache": (b"v@",), - "nw_establishment_report_get_used_proxy": (b"B@",), - "nw_content_context_get_is_final": (b"B@",), - "nw_quic_create_options": (b"@", "", {"retval": {"already_retained": True}}), - "nw_tcp_options_set_no_options": (b"v@B",), - "nw_resolution_report_get_source": (b"I@",), - "nw_data_transfer_report_get_sent_transport_byte_count": (b"Q@I",), - "nw_connection_access_establishment_report": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_parameters_set_required_interface_type": (b"v@I",), - "nw_content_context_set_antecedent": (b"v@@",), - "nw_ws_response_get_selected_subprotocol": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_parameters_get_local_only": (b"B@",), - "nw_framer_options_set_object_value": ( - b"v@^t@", - "", - {"arguments": {1: {"type_modifier": "n", "c_array_delimited_by_null": True}}}, - ), - "nw_listener_start": (b"v@",), - "nw_resolution_report_copy_preferred_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_resolver_config_create_https": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_txt_record_create_dictionary": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ws_create_options": (b"@I", "", {"retval": {"already_retained": True}}), - "nw_framer_mark_failed_with_error": (b"v@i",), - "nw_tcp_options_set_keepalive_idle_time": (b"v@I",), - "nw_error_get_error_code": (b"i@",), - "nw_quic_add_tls_application_protocol": ( - b"v@^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "nw_ip_metadata_set_service_class": (b"v@I",), - "nw_parameters_iterate_prohibited_interfaces": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_parameters_set_reuse_local_address": (b"v@B",), - "nw_quic_set_initial_max_streams_unidirectional": (b"v@Q",), - "nw_ethernet_channel_create": (b"@S@", "", {"retval": {"already_retained": True}}), - "nw_txt_record_is_equal": (b"B@@",), - "nw_framer_prepend_application_protocol": (b"B@@",), - "nw_protocol_copy_quic_definition": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ws_request_enumerate_subprotocols": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - }, - } - } - } - }, - ), - "nw_tls_create_options": (b"@",), - "nw_advertise_descriptor_copy_txt_record_object": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_txt_record_remove_key": ( - b"B@n^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True}}}, - ), - "nw_data_transfer_report_collect": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_content_context_get_relative_priority": (b"d@",), - "nw_txt_record_access_bytes": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "n^v", "c_array_length_in_arg": 2}, - 2: {"type": "L"}, - }, - } - } - } - }, - ), - "nw_browse_descriptor_get_include_txt_record": (b"B@",), - "nw_path_has_dns": (b"B@",), - "nw_quic_get_remote_max_streams_unidirectional": (b"Q@",), - "nw_quic_set_idle_timeout": (b"v@I",), - "nw_browser_start": (b"v@",), - "nw_browse_descriptor_create_bonjour_service": ( - b"@^t^t", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - }, - }, - ), - "nw_framer_set_output_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "L"}, - 4: {"type": "B"}, - }, - } - } - } - }, - ), - "nw_quic_set_stream_application_error": (b"v@Q",), - "nw_parameters_set_multipath_service": (b"v@I",), - "nw_framer_pass_through_output": (b"v@",), - "nw_udp_create_options": (b"@", "", {"retval": {"already_retained": True}}), - "nw_ws_metadata_copy_server_response": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_listener_set_new_connection_limit": (b"v@I",), - "nw_ws_response_add_additional_header": ( - b"v@n^tn^t", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True}, - 2: {"c_array_delimited_by_null": True}, - } - }, - ), - "nw_framer_set_input_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"L"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_txt_record_get_key_count": (b"Q@",), - "nw_quic_set_local_max_streams_bidirectional": (b"v@Q",), - "nw_protocol_copy_udp_definition": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ws_metadata_set_close_code": (b"v@I",), - "nw_quic_get_initial_max_stream_data_unidirectional": (b"Q@",), - "nw_quic_get_initial_max_streams_unidirectional": (b"Q@",), - "nw_ip_metadata_get_receive_time": (b"Q@",), - "nw_ws_options_add_subprotocol": ( - b"v@^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "nw_txt_record_create_with_bytes": ( - b"@n^vQ", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_length_in_arg": 1}}, - }, - ), - "nw_tcp_options_set_keepalive_count": (b"v@I",), - "nw_tcp_options_set_multipath_force_version": (b"v@i",), - "nw_endpoint_get_address": ( - b"^{sockaddr=CC[14c]}@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_quic_get_max_udp_payload_size": (b"S@",), - "nw_tcp_options_set_retransmit_connection_drop_time": (b"v@I",), - "nw_data_transfer_report_get_sent_transport_retransmitted_byte_count": (b"Q@I",), - "nw_content_context_copy_protocol_metadata": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_data_transfer_report_get_received_transport_out_of_order_byte_count": (b"Q@I",), - "nw_browse_result_enumerate_interfaces": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_protocol_metadata_is_framer_message": (b"B@",), - "nw_endpoint_create_address": ( - b"@^{sockaddr=CC[14c]}", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"type_modifier": "n"}}, - }, - ), - "nw_quic_get_initial_max_stream_data_bidirectional_remote": (b"Q@",), - "nw_quic_get_keepalive_interval": (b"S@",), - "nw_connection_batch": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "nw_parameters_get_include_peer_to_peer": (b"B@",), - "nw_framer_copy_options": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_data_transfer_report_get_state": (b"I@",), - "nw_ws_metadata_get_opcode": (b"i@",), - "nw_framer_schedule_wakeup": (b"v@Q",), - "nw_data_transfer_report_get_received_transport_byte_count": (b"Q@I",), - "nw_endpoint_get_bonjour_service_domain": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_resolver_config_create_tls": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_is_expensive": (b"B@",), - "nw_quic_get_idle_timeout": (b"I@",), - "nw_group_descriptor_enumerate_endpoints": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_ws_metadata_set_pong_handler": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_path_monitor_prohibit_interface_type": (b"v@I",), - "nw_endpoint_get_bonjour_service_type": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_connection_copy_endpoint": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_content_context_copy_antecedent": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_tcp_options_set_maximum_segment_size": (b"v@I",), - "nw_framer_pass_through_input": (b"v@",), - "nw_browser_copy_browse_descriptor": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_data_transfer_report_get_duration_milliseconds": (b"Q@",), - "nw_protocol_metadata_is_tcp": (b"B@",), - "nw_endpoint_get_bonjour_service_name": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_parameters_get_expired_dns_behavior": (b"I@",), - "nw_framer_async": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "nw_connection_group_set_new_connection_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_connection_copy_current_path": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_copy_effective_remote_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_browse_descriptor_get_bonjour_service_domain": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_quic_get_remote_max_streams_bidirectional": (b"Q@",), - "nw_connection_copy_parameters": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_set_initial_max_stream_data_bidirectional_local": (b"v@Q",), - "nw_browser_copy_parameters": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_quic_set_application_error": ( - b"v@Q^t", - "", - {"arguments": {2: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "nw_txt_record_set_key": ( - b"B@n^vn^vQ", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True}, - 2: {"c_array_length_in_arg": 3}, - } - }, - ), - "nw_ws_response_get_status": (b"I@",), - "nw_content_context_get_expiration_milliseconds": (b"Q@",), - "nw_group_descriptor_add_endpoint": (b"B@@",), - "nw_resolution_report_get_protocol": ( - b"I@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_set_initial_max_streams_bidirectional": (b"v@Q",), - "nw_group_descriptor_create_multicast": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_framer_set_wakeup_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_listener_set_advertise_descriptor": (b"v@@",), - "nw_parameters_prohibit_interface": (b"v@@",), - "nw_quic_get_initial_max_streams_bidirectional": (b"Q@",), - "nw_establishment_report_get_previous_attempt_count": (b"I@",), - "nw_establishment_report_enumerate_protocols": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "Q"}, - 3: {"type": "Q"}, - }, - } - } - } - }, - ), - "nw_quic_get_application_error_reason": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_endpoint_get_url": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_data_transfer_report_get_sent_ip_packet_count": (b"Q@I",), - "nw_tcp_get_available_send_buffer": (b"I@",), - "nw_protocol_stack_copy_transport_protocol": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_data_transfer_report_copy_path_interface": ( - b"@@I", - "", - {"retval": {"already_retained": True}}, - ), - "nw_protocol_copy_tcp_definition": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_data_transfer_report_get_sent_application_byte_count": (b"Q@I",), - "nw_connection_group_extract_connection_for_message": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_copy_effective_local_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_parameters_get_required_interface_type": (b"I@",), - "nw_ws_options_set_skip_handshake": (b"v@B",), - "nw_ws_response_enumerate_additional_headers": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - 2: {"c_array_delimited_by_null": True, "type": "n^t"}, - }, - } - } - } - }, - ), - "nw_protocol_stack_prepend_application_protocol": (b"v@@",), - "nw_tcp_options_set_retransmit_fin_drop": (b"v@B",), - "nw_listener_get_port": (b"S@",), - "nw_group_descriptor_create_multiplex": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ws_response_create": ( - b"@I^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}, - }, - ), - "nw_connection_set_path_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_protocol_metadata_is_udp": (b"B@",), - "nw_content_context_get_identifier": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "nw_browser_cancel": (b"v@",), - "nw_connection_cancel": (b"v@",), - "nw_ip_options_set_calculate_receive_time": (b"v@B",), - "nw_interface_get_index": (b"I@",), - "nw_data_transfer_report_get_received_application_byte_count": (b"Q@I",), - "nw_framer_deliver_input_no_copy": (b"B@Q@B",), - "nw_browse_result_copy_txt_record_object": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_connection_restart": (b"v@",), - "nw_ip_metadata_set_ecn_flag": (b"v@I",), - "nw_advertise_descriptor_create_bonjour_service": ( - b"@^t^t^t", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - }, - }, - ), - "nw_connection_receive": ( - b"v@II@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "B"}, - 4: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_connection_group_create": (b"@@@", "", {"retval": {"already_retained": True}}), - "nw_parameters_set_expired_dns_behavior": (b"v@I",), - "nw_parameters_get_reuse_local_address": (b"B@",), - "nw_connection_create_new_data_transfer_report": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_connection_group_set_state_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "nw_connection_group_reply": (b"v@@@@",), - "nw_privacy_context_require_encrypted_name_resolution": (b"v@B@",), - "nw_parameters_set_include_peer_to_peer": (b"v@B",), - "nw_framer_set_cleanup_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_content_context_create": ( - b"@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "nw_ws_options_set_client_request_handler": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_advertise_descriptor_set_no_auto_rename": (b"v@B",), - "nw_data_transfer_report_get_path_radio_type": (b"I@I",), - "nw_ip_options_set_use_minimum_mtu": (b"v@B",), - "nw_ws_options_set_maximum_message_size": (b"v@Q",), - "nw_error_copy_cf_error": ( - b"^{__CFError=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "nw_tcp_options_set_persist_timeout": (b"v@I",), - "nw_parameters_require_interface": (b"v@@",), - "nw_ip_create_metadata": (b"@", "", {"retval": {"already_retained": True}}), - "nw_tls_copy_sec_protocol_metadata": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_listener_create_with_connection": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_monitor_create_with_type": ( - b"@I", - "", - {"retval": {"already_retained": True}}, - ), - "nw_parameters_set_service_class": (b"v@I",), - "nw_connection_group_copy_path_for_message": (b"@@@",), - "nw_parameters_set_privacy_context": (b"v@@",), - "nw_framer_parse_output": ( - b"B@QQ^C@?", - "", - { - "arguments": { - 3: {"c_array_length_in_arg": 2, "type_modifier": "o"}, - 4: { - "callable": { - "retval": {"type": b"L"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "n^v", "c_array_length_in_arg": 2}, - 2: {"type": "L"}, - 3: {"type": "B"}, - }, - } - }, - } - }, - ), - "nw_framer_message_copy_object_value": ( - b"@@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "nw_data_transfer_report_get_received_transport_duplicate_byte_count": (b"Q@I",), - "nw_txt_record_access_key": ( - b"B@^t@?", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - 2: {"type": "@"}, - 3: {"type": "n^v", "c_array_length_in_arg": 4}, - 4: {"type": "L"}, - }, - } - }, - } - }, - ), - "nw_tcp_get_available_receive_buffer": (b"I@",), - "nw_tcp_options_set_no_delay": (b"v@B",), - "nw_path_enumerate_interfaces": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_connection_group_extract_connection": ( - b"@@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_browser_set_browse_results_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "B"}, - }, - } - } - } - }, - ), - "nw_protocol_definition_is_equal": (b"B@@",), - "nw_parameters_set_prohibit_expensive": (b"v@B",), - "nw_parameters_set_fast_open_enabled": (b"v@B",), - "nw_ethernet_channel_send": ( - b"v@@S^C@?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_data_transfer_report_get_transport_smoothed_rtt_milliseconds": (b"Q@I",), - "nw_ws_metadata_get_close_code": (b"I@",), - "nw_tcp_options_set_keepalive_interval": (b"v@I",), - "nw_path_get_status": (b"I@",), - "nw_txt_record_find_key": ( - b"I@n^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True}}}, - ), - "nw_resolution_report_get_milliseconds": (b"Q@",), - "nw_ws_options_add_additional_header": ( - b"v@^t^t", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - } - }, - ), - "nw_path_get_unsatisfied_reason": (b"I@",), - "nw_browse_result_copy_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_parameters_get_prohibit_constrained": (b"B@",), - "nw_endpoint_create_host": ( - b"@^t^t", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - }, - }, - ), - "nw_framer_write_output_data": (b"v@@",), - "nw_connection_group_send_message": ( - b"v@@@@@?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_parameters_set_prohibit_constrained": (b"v@B",), - "nw_connection_group_reinsert_extracted_connection": (b"B@@",), - "nw_parameters_copy_default_protocol_stack": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_copy_sec_protocol_options": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_path_monitor_cancel": (b"v@",), - "nw_listener_set_advertised_endpoint_changed_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - }, - } - } - } - }, - ), - "nw_quic_get_application_error": (b"Q@",), - "nw_parameters_get_prohibit_expensive": (b"B@",), - "nw_content_context_set_metadata_for_protocol": (b"v@@",), - "nw_framer_create_options": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_parameters_get_prefer_no_proxy": (b"B@",), - "nw_protocol_metadata_is_ws": (b"B@",), - "nw_tcp_options_set_enable_keepalive": (b"v@B",), - "nw_tcp_options_set_enable_fast_open": (b"v@B",), - "nw_framer_protocol_create_message": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_ethernet_channel_start": (b"v@",), - "nw_parameters_copy": (b"@@", "", {"retval": {"already_retained": True}}), - "nw_listener_cancel": (b"v@",), - "nw_quic_get_remote_idle_timeout": (b"Q@",), - "nw_browse_result_get_changes": (b"Q@@",), - "nw_connection_send": ( - b"v@@@B@?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "nw_multicast_group_descriptor_set_disable_unicast_traffic": (b"v@B",), - "nw_path_uses_interface_type": (b"B@I",), - "nw_data_transfer_report_get_transport_rtt_variance": (b"Q@I",), - "nw_quic_set_local_max_streams_unidirectional": (b"v@Q",), - "nw_tcp_options_set_disable_ack_stretching": (b"v@B",), - "nw_framer_copy_local_endpoint": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_protocol_copy_ip_definition": (b"@",), - "nw_multicast_group_descriptor_set_specific_source": (b"v@@",), - "nw_connection_group_copy_local_endpoint_for_message": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_quic_set_stream_is_unidirectional": (b"v@B",), - "nw_data_transfer_report_get_received_ip_packet_count": (b"Q@I",), - "nw_parameters_create_secure_udp": ( - b"@@?@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - }, - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - }, - }, - }, - ), - "nw_path_monitor_create": (b"@", "", {"retval": {"already_retained": True}}), - "nw_listener_create_with_port": ( - b"@^t@", - "", - { - "retval": {"already_retained": True}, - "arguments": { - "0": {"c_array_delimited_by_null": True, "type_modifier": "n"} - }, - }, - ), - "nw_protocol_copy_ws_definition": ( - b"@", - "", - {"retval": {"already_retained": True}}, - ), - "nw_data_transfer_report_get_transport_minimum_rtt_milliseconds": (b"Q@I",), - "nw_framer_deliver_input": ( - b"v@n^vQ@B", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), -} -aliases = { - "NW_RETURNS_RETAINED": "OS_OBJECT_RETURNS_RETAINED", - "NW_LISTENER_INFINITE_CONNECTION_LIMIT": "UINT32_MAX", - "NW_EXPORT_PROJECT": "NW_EXPORT", - "NW_ALL_PATHS": "_nw_data_transfer_report_all_paths", - "NW_NONNULL_ARRAY": "_Nonnull", - "NW_UNSAFE_UNRETAINED": "__unsafe_unretained", -} -expressions = {} - -# END OF FILE diff --git a/src/lib/NetworkExtension/__init__.py b/src/lib/NetworkExtension/__init__.py deleted file mode 100644 index 9d0783c..0000000 --- a/src/lib/NetworkExtension/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the NetworkExtension framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from NetworkExtension import _metadata, _NetworkExtension - -sys.modules["NetworkExtension"] = mod = objc.ObjCLazyModule( - "NetworkExtension", - "com.apple.NetworkExtension", - objc.pathForFramework("/System/Library/Frameworks/NetworkExtension.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_NetworkExtension, Foundation), -) - - -del sys.modules["NetworkExtension._metadata"] diff --git a/src/lib/NetworkExtension/_metadata.py b/src/lib/NetworkExtension/_metadata.py deleted file mode 100644 index 2e0f5a0..0000000 --- a/src/lib/NetworkExtension/_metadata.py +++ /dev/null @@ -1,1244 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:10:53 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NEAppProxyErrorDomain$NEAppPushErrorDomain$NEDNSProxyConfigurationDidChangeNotification$NEDNSProxyErrorDomain$NEDNSSettingsConfigurationDidChangeNotification$NEDNSSettingsErrorDomain$NEFilterConfigurationDidChangeNotification$NEFilterErrorDomain$NEFilterProviderRemediationMapRemediationButtonTexts$NEFilterProviderRemediationMapRemediationURLs$NEHotspotConfigurationErrorDomain$NETunnelProviderErrorDomain$NEVPNConfigurationChangeNotification$NEVPNConnectionStartOptionPassword$NEVPNConnectionStartOptionUsername$NEVPNErrorDomain$NEVPNStatusDidChangeNotification$kNEHotspotHelperOptionDisplayName$""" -enums = """$NEAppProxyFlowErrorAborted@5$NEAppProxyFlowErrorDatagramTooLarge@9$NEAppProxyFlowErrorHostUnreachable@3$NEAppProxyFlowErrorInternal@8$NEAppProxyFlowErrorInvalidArgument@4$NEAppProxyFlowErrorNotConnected@1$NEAppProxyFlowErrorPeerReset@2$NEAppProxyFlowErrorReadAlreadyPending@10$NEAppProxyFlowErrorRefused@6$NEAppProxyFlowErrorTimedOut@7$NEAppPushManagerErrorConfigurationInvalid@1$NEAppPushManagerErrorConfigurationNotLoaded@2$NEAppPushManagerErrorInactiveSession@4$NEAppPushManagerErrorInternalError@3$NEDNSProtocolCleartext@1$NEDNSProtocolHTTPS@3$NEDNSProtocolTLS@2$NEDNSProxyManagerErrorConfigurationCannotBeRemoved@4$NEDNSProxyManagerErrorConfigurationDisabled@2$NEDNSProxyManagerErrorConfigurationInvalid@1$NEDNSProxyManagerErrorConfigurationStale@3$NEDNSSettingsManagerErrorConfigurationCannotBeRemoved@4$NEDNSSettingsManagerErrorConfigurationDisabled@2$NEDNSSettingsManagerErrorConfigurationInvalid@1$NEDNSSettingsManagerErrorConfigurationStale@3$NEEvaluateConnectionRuleActionConnectIfNeeded@1$NEEvaluateConnectionRuleActionNeverConnect@2$NEFilterActionAllow@1$NEFilterActionDrop@2$NEFilterActionFilterData@4$NEFilterActionInvalid@0$NEFilterActionRemediate@3$NEFilterDataAttributeHasIPHeader@1$NEFilterFlowBytesMax@18446744073709551615$NEFilterManagerErrorConfigurationCannotBeRemoved@4$NEFilterManagerErrorConfigurationDisabled@2$NEFilterManagerErrorConfigurationInternalError@6$NEFilterManagerErrorConfigurationInvalid@1$NEFilterManagerErrorConfigurationPermissionDenied@5$NEFilterManagerErrorConfigurationStale@3$NEFilterManagerGradeFirewall@1$NEFilterManagerGradeInspector@2$NEFilterPacketProviderVerdictAllow@0$NEFilterPacketProviderVerdictDelay@2$NEFilterPacketProviderVerdictDrop@1$NEFilterReportEventDataDecision@2$NEFilterReportEventFlowClosed@3$NEFilterReportEventNewFlow@1$NEFilterReportEventStatistics@4$NEFilterReportFrequencyHigh@3$NEFilterReportFrequencyLow@1$NEFilterReportFrequencyMedium@2$NEFilterReportFrequencyNone@0$NEHotspotConfigurationEAPTLSVersion_1_0@0$NEHotspotConfigurationEAPTLSVersion_1_1@1$NEHotspotConfigurationEAPTLSVersion_1_2@2$NEHotspotConfigurationEAPTTLSInnerAuthenticationCHAP@1$NEHotspotConfigurationEAPTTLSInnerAuthenticationEAP@4$NEHotspotConfigurationEAPTTLSInnerAuthenticationMSCHAP@2$NEHotspotConfigurationEAPTTLSInnerAuthenticationMSCHAPv2@3$NEHotspotConfigurationEAPTTLSInnerAuthenticationPAP@0$NEHotspotConfigurationEAPTypeEAPFAST@43$NEHotspotConfigurationEAPTypeEAPPEAP@25$NEHotspotConfigurationEAPTypeEAPTLS@13$NEHotspotConfigurationEAPTypeEAPTTLS@21$NEHotspotConfigurationErrorAlreadyAssociated@13$NEHotspotConfigurationErrorApplicationIsNotInForeground@14$NEHotspotConfigurationErrorInternal@8$NEHotspotConfigurationErrorInvalid@0$NEHotspotConfigurationErrorInvalidEAPSettings@4$NEHotspotConfigurationErrorInvalidHS20DomainName@6$NEHotspotConfigurationErrorInvalidHS20Settings@5$NEHotspotConfigurationErrorInvalidSSID@1$NEHotspotConfigurationErrorInvalidSSIDPrefix@15$NEHotspotConfigurationErrorInvalidWEPPassphrase@3$NEHotspotConfigurationErrorInvalidWPAPassphrase@2$NEHotspotConfigurationErrorJoinOnceNotSupported@12$NEHotspotConfigurationErrorPending@9$NEHotspotConfigurationErrorSystemConfiguration@10$NEHotspotConfigurationErrorUnknown@11$NEHotspotConfigurationErrorUserDenied@7$NEHotspotNetworkSecurityTypeEnterprise@3$NEHotspotNetworkSecurityTypeOpen@0$NEHotspotNetworkSecurityTypePersonal@2$NEHotspotNetworkSecurityTypeUnknown@4$NEHotspotNetworkSecurityTypeWEP@1$NENetworkRuleProtocolAny@0$NENetworkRuleProtocolTCP@1$NENetworkRuleProtocolUDP@2$NEOnDemandRuleActionConnect@1$NEOnDemandRuleActionDisconnect@2$NEOnDemandRuleActionEvaluateConnection@3$NEOnDemandRuleActionIgnore@4$NEOnDemandRuleInterfaceTypeAny@0$NEOnDemandRuleInterfaceTypeCellular@3$NEOnDemandRuleInterfaceTypeEthernet@1$NEOnDemandRuleInterfaceTypeWiFi@2$NEProviderStopReasonAppUpdate@16$NEProviderStopReasonAuthenticationCanceled@6$NEProviderStopReasonConfigurationDisabled@9$NEProviderStopReasonConfigurationFailed@7$NEProviderStopReasonConfigurationRemoved@10$NEProviderStopReasonConnectionFailed@14$NEProviderStopReasonIdleTimeout@8$NEProviderStopReasonNoNetworkAvailable@3$NEProviderStopReasonNone@0$NEProviderStopReasonProviderDisabled@5$NEProviderStopReasonProviderFailed@2$NEProviderStopReasonSleep@15$NEProviderStopReasonSuperceded@11$NEProviderStopReasonUnrecoverableNetworkChange@4$NEProviderStopReasonUserInitiated@1$NEProviderStopReasonUserLogout@12$NEProviderStopReasonUserSwitch@13$NETrafficDirectionAny@0$NETrafficDirectionInbound@1$NETrafficDirectionOutbound@2$NETunnelProviderErrorNetworkSettingsCanceled@2$NETunnelProviderErrorNetworkSettingsFailed@3$NETunnelProviderErrorNetworkSettingsInvalid@1$NETunnelProviderRoutingMethodDestinationIP@1$NETunnelProviderRoutingMethodNetworkRule@3$NETunnelProviderRoutingMethodSourceApplication@2$NEVPNErrorConfigurationDisabled@2$NEVPNErrorConfigurationInvalid@1$NEVPNErrorConfigurationReadWriteFailed@5$NEVPNErrorConfigurationStale@4$NEVPNErrorConfigurationUnknown@6$NEVPNErrorConnectionFailed@3$NEVPNIKEAuthenticationMethodCertificate@1$NEVPNIKEAuthenticationMethodNone@0$NEVPNIKEAuthenticationMethodSharedSecret@2$NEVPNIKEv2CertificateTypeECDSA256@2$NEVPNIKEv2CertificateTypeECDSA384@3$NEVPNIKEv2CertificateTypeECDSA521@4$NEVPNIKEv2CertificateTypeEd25519@5$NEVPNIKEv2CertificateTypeRSA@1$NEVPNIKEv2DeadPeerDetectionRateHigh@3$NEVPNIKEv2DeadPeerDetectionRateLow@1$NEVPNIKEv2DeadPeerDetectionRateMedium@2$NEVPNIKEv2DeadPeerDetectionRateNone@0$NEVPNIKEv2DiffieHellmanGroup0@0$NEVPNIKEv2DiffieHellmanGroup1@1$NEVPNIKEv2DiffieHellmanGroup14@14$NEVPNIKEv2DiffieHellmanGroup15@15$NEVPNIKEv2DiffieHellmanGroup16@16$NEVPNIKEv2DiffieHellmanGroup17@17$NEVPNIKEv2DiffieHellmanGroup18@18$NEVPNIKEv2DiffieHellmanGroup19@19$NEVPNIKEv2DiffieHellmanGroup2@2$NEVPNIKEv2DiffieHellmanGroup20@20$NEVPNIKEv2DiffieHellmanGroup21@21$NEVPNIKEv2DiffieHellmanGroup31@31$NEVPNIKEv2DiffieHellmanGroup5@5$NEVPNIKEv2DiffieHellmanGroupInvalid@0$NEVPNIKEv2EncryptionAlgorithm3DES@2$NEVPNIKEv2EncryptionAlgorithmAES128@3$NEVPNIKEv2EncryptionAlgorithmAES128GCM@5$NEVPNIKEv2EncryptionAlgorithmAES256@4$NEVPNIKEv2EncryptionAlgorithmAES256GCM@6$NEVPNIKEv2EncryptionAlgorithmChaCha20Poly1305@7$NEVPNIKEv2EncryptionAlgorithmDES@1$NEVPNIKEv2IntegrityAlgorithmSHA160@2$NEVPNIKEv2IntegrityAlgorithmSHA256@3$NEVPNIKEv2IntegrityAlgorithmSHA384@4$NEVPNIKEv2IntegrityAlgorithmSHA512@5$NEVPNIKEv2IntegrityAlgorithmSHA96@1$NEVPNIKEv2TLSVersion1_0@1$NEVPNIKEv2TLSVersion1_1@2$NEVPNIKEv2TLSVersion1_2@3$NEVPNIKEv2TLSVersionDefault@0$NEVPNStatusConnected@3$NEVPNStatusConnecting@2$NEVPNStatusDisconnected@1$NEVPNStatusDisconnecting@5$NEVPNStatusInvalid@0$NEVPNStatusReasserting@4$NWPathStatusInvalid@0$NWPathStatusSatisfiable@3$NWPathStatusSatisfied@1$NWPathStatusUnsatisfied@2$NWTCPConnectionStateCancelled@5$NWTCPConnectionStateConnected@3$NWTCPConnectionStateConnecting@1$NWTCPConnectionStateDisconnected@4$NWTCPConnectionStateInvalid@0$NWTCPConnectionStateWaiting@2$NWUDPSessionStateCancelled@5$NWUDPSessionStateFailed@4$NWUDPSessionStateInvalid@0$NWUDPSessionStatePreparing@2$NWUDPSessionStateReady@3$NWUDPSessionStateWaiting@1$kNEHotspotHelperCommandTypeAuthenticate@3$kNEHotspotHelperCommandTypeEvaluate@2$kNEHotspotHelperCommandTypeFilterScanList@1$kNEHotspotHelperCommandTypeLogoff@6$kNEHotspotHelperCommandTypeMaintain@5$kNEHotspotHelperCommandTypeNone@0$kNEHotspotHelperCommandTypePresentUI@4$kNEHotspotHelperConfidenceHigh@2$kNEHotspotHelperConfidenceLow@1$kNEHotspotHelperConfidenceNone@0$kNEHotspotHelperResultAuthenticationRequired@4$kNEHotspotHelperResultCommandNotRecognized@3$kNEHotspotHelperResultFailure@1$kNEHotspotHelperResultSuccess@0$kNEHotspotHelperResultTemporaryFailure@6$kNEHotspotHelperResultUIRequired@2$kNEHotspotHelperResultUnsupportedNetwork@5$""" -misc.update( - { - "NEVPNIKEv2DiffieHellmanGroup": NewType("NEVPNIKEv2DiffieHellmanGroup", int), - "NEHotspotConfigurationError": NewType("NEHotspotConfigurationError", int), - "NEFilterManagerError": NewType("NEFilterManagerError", int), - "NEDNSProxyManagerError": NewType("NEDNSProxyManagerError", int), - "NEFilterAction": NewType("NEFilterAction", int), - "NEFilterDataAttribute": NewType("NEFilterDataAttribute", int), - "NEVPNIKEv2TLSVersion": NewType("NEVPNIKEv2TLSVersion", int), - "NEHotspotHelperConfidence": NewType("NEHotspotHelperConfidence", int), - "NENetworkRuleProtocol": NewType("NENetworkRuleProtocol", int), - "NEHotspotHelperCommandType": NewType("NEHotspotHelperCommandType", int), - "NEFilterReportEvent": NewType("NEFilterReportEvent", int), - "NEVPNStatus": NewType("NEVPNStatus", int), - "NEDNSSettingsManagerError": NewType("NEDNSSettingsManagerError", int), - "NETunnelProviderRoutingMethod": NewType("NETunnelProviderRoutingMethod", int), - "NEHotspotNetworkSecurityType": NewType("NEHotspotNetworkSecurityType", int), - "NEDNSProtocol": NewType("NEDNSProtocol", int), - "NETrafficDirection": NewType("NETrafficDirection", int), - "NEVPNIKEv2IntegrityAlgorithm": NewType("NEVPNIKEv2IntegrityAlgorithm", int), - "NEVPNIKEv2DeadPeerDetectionRate": NewType( - "NEVPNIKEv2DeadPeerDetectionRate", int - ), - "NWPathStatus": NewType("NWPathStatus", int), - "NEHotspotHelperResult": NewType("NEHotspotHelperResult", int), - "NEOnDemandRuleInterfaceType": NewType("NEOnDemandRuleInterfaceType", int), - "NEAppProxyFlowError": NewType("NEAppProxyFlowError", int), - "NETunnelProviderError": NewType("NETunnelProviderError", int), - "NEVPNIKEv2EncryptionAlgorithm": NewType("NEVPNIKEv2EncryptionAlgorithm", int), - "NEProviderStopReason": NewType("NEProviderStopReason", int), - "NEVPNIKEv2CertificateType": NewType("NEVPNIKEv2CertificateType", int), - "NEFilterManagerGrade": NewType("NEFilterManagerGrade", int), - "NWUDPSessionState": NewType("NWUDPSessionState", int), - "NEHotspotConfigurationTTLSInnerAuthenticationType": NewType( - "NEHotspotConfigurationTTLSInnerAuthenticationType", int - ), - "NEAppPushManagerError": NewType("NEAppPushManagerError", int), - "NEHotspotConfigurationEAPTLSVersion": NewType( - "NEHotspotConfigurationEAPTLSVersion", int - ), - "NWTCPConnectionState": NewType("NWTCPConnectionState", int), - "NEFilterReportFrequency": NewType("NEFilterReportFrequency", int), - "NEEvaluateConnectionRuleAction": NewType( - "NEEvaluateConnectionRuleAction", int - ), - "NEOnDemandRuleAction": NewType("NEOnDemandRuleAction", int), - "NEHotspotConfigurationEAPType": NewType("NEHotspotConfigurationEAPType", int), - "NEVPNError": NewType("NEVPNError", int), - "NEFilterPacketProviderVerdict": NewType("NEFilterPacketProviderVerdict", int), - "NEVPNIKEAuthenticationMethod": NewType("NEVPNIKEAuthenticationMethod", int), - } -) -misc.update( - { - "NEFilterProviderRemediationURLFlowURL": "NE_FLOW_URL", - "NEFilterProviderRemediationURLFlowURLHostname": "NE_FLOW_HOSTNAME", - "NEFilterProviderRemediationURLUsername": "NE_USERNAME", - "NEFilterProviderRemediationURLOrganization": "NE_ORGANIZATION", - } -) -aliases = {"NEFilterFlowBytesMax": "UINT64_MAX"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NEAppProxyFlow", b"isBound", {"retval": {"type": "Z"}}) - r( - b"NEAppProxyFlow", - b"openWithLocalEndpoint:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEAppProxyProvider", b"handleNewFlow:", {"retval": {"type": "Z"}}) - r( - b"NEAppProxyProvider", - b"handleNewUDPFlow:initialRemoteEndpoint:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NEAppProxyProvider", - b"startProxyWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyProvider", - b"stopProxyWithReason:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyProviderManager", - b"loadAllFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyTCPFlow", - b"readDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyTCPFlow", - b"writeData:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyUDPFlow", - b"readDatagramsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEAppProxyUDPFlow", - b"writeDatagrams:sentByEndpoints:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEAppPushManager", b"isActive", {"retval": {"type": b"Z"}}) - r(b"NEAppPushManager", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"NEAppPushManager", - b"loadAllFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NEAppPushManager", - b"loadFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEAppPushManager", - b"removeFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEAppPushManager", - b"saveToPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NEAppPushManager", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NEAppPushProvider", - b"startWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEAppPushProvider", - b"stopWithReason:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NEDNSProxyManager", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"NEDNSProxyManager", - b"loadFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEDNSProxyManager", - b"removeFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEDNSProxyManager", - b"saveToPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NEDNSProxyManager", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEDNSProxyProvider", b"handleNewFlow:", {"retval": {"type": b"Z"}}) - r( - b"NEDNSProxyProvider", - b"handleNewUDPFlow:initialRemoteEndpoint:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NEDNSProxyProvider", - b"startProxyWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEDNSProxyProvider", - b"stopProxyWithReason:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NEDNSSettings", b"matchDomainsNoSearch", {"retval": {"type": "Z"}}) - r(b"NEDNSSettings", b"setMatchDomainsNoSearch:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEDNSSettingsManager", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"NEDNSSettingsManager", - b"loadFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEDNSSettingsManager", - b"removeFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEDNSSettingsManager", - b"saveToPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEFilterControlProvider", - b"handleNewFlow:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEFilterControlProvider", - b"handleRemediationForFlow:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEFilterControlVerdict", - b"allowVerdictWithUpdateRules:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NEFilterControlVerdict", - b"dropVerdictWithUpdateRules:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NEFilterDataProvider", - b"applySettings:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NEFilterManager", b"isEnabled", {"retval": {"type": "Z"}}) - r( - b"NEFilterManager", - b"loadFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEFilterManager", - b"removeFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEFilterManager", - b"saveToPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEFilterManager", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NEFilterNewFlowVerdict", - b"filterDataVerdictWithFilterInbound:peekInboundBytes:filterOutbound:peekOutboundBytes:", - {"arguments": {2: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"NEFilterPacketProvider", - b"packetHandler", - { - "retval": { - "callable": { - "retval": {"type": b"q"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"n^v"}, - 5: {"type": b"l"}, - }, - } - } - }, - ) - r( - b"NEFilterPacketProvider", - b"setPacketHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"q"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"q"}, - 4: {"type": b"n^v"}, - 5: {"type": b"l"}, - }, - } - } - } - }, - ) - r( - b"NEFilterProvider", - b"startFilterWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEFilterProvider", - b"stopFilterWithReason:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"NEFilterProviderConfiguration", b"filterBrowsers", {"retval": {"type": "Z"}}) - r(b"NEFilterProviderConfiguration", b"filterPackets", {"retval": {"type": b"Z"}}) - r(b"NEFilterProviderConfiguration", b"filterSockets", {"retval": {"type": "Z"}}) - r( - b"NEFilterProviderConfiguration", - b"setFilterBrowsers:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NEFilterProviderConfiguration", - b"setFilterPackets:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NEFilterProviderConfiguration", - b"setFilterSockets:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NEFilterVerdict", b"setShouldReport:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEFilterVerdict", b"shouldReport", {"retval": {"type": b"Z"}}) - r(b"NEHotspotConfiguration", b"hidden", {"retval": {"type": b"Z"}}) - r( - b"NEHotspotConfiguration", - b"initWithSSID:passphrase:isWEP:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"NEHotspotConfiguration", - b"initWithSSIDPrefix:passphrase:isWEP:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"NEHotspotConfiguration", b"joinOnce", {"retval": {"type": b"Z"}}) - r(b"NEHotspotConfiguration", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEHotspotConfiguration", b"setJoinOnce:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"NEHotspotConfigurationManager", - b"applyConfiguration:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEHotspotConfigurationManager", - b"getConfiguredSSIDsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NEHotspotEAPSettings", - b"isTLSClientCertificateRequired", - {"retval": {"type": b"Z"}}, - ) - r(b"NEHotspotEAPSettings", b"setIdentity:", {"retval": {"type": b"Z"}}) - r( - b"NEHotspotEAPSettings", - b"setTlsClientCertificateRequired:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NEHotspotEAPSettings", - b"setTrustedServerCertificates:", - {"retval": {"type": b"Z"}}, - ) - r( - b"NEHotspotHS20Settings", - b"initWithDomainName:roamingEnabled:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"NEHotspotHS20Settings", b"isRoamingEnabled", {"retval": {"type": b"Z"}}) - r( - b"NEHotspotHS20Settings", - b"setRoamingEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"NEHotspotHelper", b"logoff:", {"retval": {"type": b"Z"}}) - r( - b"NEHotspotHelper", - b"registerWithOptions:queue:handler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - }, - ) - r(b"NEHotspotNetwork", b"didAutoJoin", {"retval": {"type": b"Z"}}) - r(b"NEHotspotNetwork", b"didJustJoin", {"retval": {"type": b"Z"}}) - r( - b"NEHotspotNetwork", - b"fetchCurrentWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NEHotspotNetwork", b"isChosenHelper", {"retval": {"type": b"Z"}}) - r(b"NEHotspotNetwork", b"isSecure", {"retval": {"type": b"Z"}}) - r( - b"NEPacketTunnelFlow", - b"readPacketObjectsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEPacketTunnelFlow", - b"readPacketsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r(b"NEPacketTunnelFlow", b"writePacketObjects:", {"retval": {"type": "Z"}}) - r(b"NEPacketTunnelFlow", b"writePackets:withProtocols:", {"retval": {"type": "Z"}}) - r( - b"NEPacketTunnelProvider", - b"createTCPConnectionThroughTunnelToEndpoint:enableTLS:TLSParameters:delegate:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NEPacketTunnelProvider", - b"startTunnelWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEPacketTunnelProvider", - b"stopTunnelWithReason:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEProvider", - b"createTCPConnectionToEndpoint:enableTLS:TLSParameters:delegate:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"NEProvider", - b"displayMessage:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"NEProvider", - b"sleepWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEProxyServer", b"authenticationRequired", {"retval": {"type": "Z"}}) - r( - b"NEProxyServer", - b"setAuthenticationRequired:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NEProxySettings", b"HTTPEnabled", {"retval": {"type": "Z"}}) - r(b"NEProxySettings", b"HTTPSEnabled", {"retval": {"type": "Z"}}) - r(b"NEProxySettings", b"autoProxyConfigurationEnabled", {"retval": {"type": "Z"}}) - r(b"NEProxySettings", b"excludeSimpleHostnames", {"retval": {"type": "Z"}}) - r( - b"NEProxySettings", - b"setAutoProxyConfigurationEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NEProxySettings", - b"setExcludeSimpleHostnames:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NEProxySettings", b"setHTTPEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEProxySettings", b"setHTTPSEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NETransparentProxyManager", - b"loadAllFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NETunnelProvider", - b"handleAppMessage:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NETunnelProvider", b"reasserting", {"retval": {"type": "Z"}}) - r(b"NETunnelProvider", b"setReasserting:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NETunnelProvider", - b"setTunnelNetworkSettings:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NETunnelProviderManager", - b"loadAllFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - } - } - }, - ) - r( - b"NETunnelProviderSession", - b"sendProviderMessage:returnError:responseHandler:", - { - "retval": {"type": "Z"}, - "arguments": { - 3: {"type_modifier": b"o"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NETunnelProviderSession", - b"startTunnelWithOptions:andReturnError:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"NEVPNConnection", - b"startVPNTunnelAndReturnError:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"NEVPNConnection", - b"startVPNTunnelWithOptions:andReturnError:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"NEVPNManager", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"NEVPNManager", b"isOnDemandEnabled", {"retval": {"type": "Z"}}) - r( - b"NEVPNManager", - b"loadFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEVPNManager", b"protocol", {"deprecated": 1011}) - r( - b"NEVPNManager", - b"removeFromPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NEVPNManager", - b"saveToPreferencesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - } - }, - ) - r(b"NEVPNManager", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEVPNManager", b"setOnDemandEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEVPNManager", b"setProtocol:", {"deprecated": 1011}) - r(b"NEVPNProtocol", b"disconnectOnSleep", {"retval": {"type": "Z"}}) - r(b"NEVPNProtocol", b"enforceRoutes", {"retval": {"type": b"Z"}}) - r(b"NEVPNProtocol", b"excludeLocalNetworks", {"retval": {"type": b"Z"}}) - r(b"NEVPNProtocol", b"includeAllNetworks", {"retval": {"type": b"Z"}}) - r(b"NEVPNProtocol", b"setDisconnectOnSleep:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEVPNProtocol", b"setEnforceRoutes:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEVPNProtocol", b"setExcludeLocalNetworks:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEVPNProtocol", b"setIncludeAllNetworks:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEVPNProtocolIKEv2", b"disableMOBIKE", {"retval": {"type": "Z"}}) - r(b"NEVPNProtocolIKEv2", b"disableRedirect", {"retval": {"type": "Z"}}) - r(b"NEVPNProtocolIKEv2", b"enableFallback", {"retval": {"type": b"Z"}}) - r(b"NEVPNProtocolIKEv2", b"enablePFS", {"retval": {"type": "Z"}}) - r(b"NEVPNProtocolIKEv2", b"enableRevocationCheck", {"retval": {"type": "Z"}}) - r(b"NEVPNProtocolIKEv2", b"setDisableMOBIKE:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEVPNProtocolIKEv2", b"setDisableRedirect:", {"arguments": {2: {"type": "Z"}}}) - r(b"NEVPNProtocolIKEv2", b"setEnableFallback:", {"arguments": {2: {"type": b"Z"}}}) - r(b"NEVPNProtocolIKEv2", b"setEnablePFS:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NEVPNProtocolIKEv2", - b"setEnableRevocationCheck:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NEVPNProtocolIKEv2", - b"setStrictRevocationCheck:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NEVPNProtocolIKEv2", - b"setUseConfigurationAttributeInternalIPSubnet:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NEVPNProtocolIKEv2", b"strictRevocationCheck", {"retval": {"type": "Z"}}) - r( - b"NEVPNProtocolIKEv2", - b"useConfigurationAttributeInternalIPSubnet", - {"retval": {"type": "Z"}}, - ) - r( - b"NEVPNProtocolIPSec", - b"setUseExtendedAuthentication:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NEVPNProtocolIPSec", b"useExtendedAuthentication", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"appPushManager:didReceiveIncomingCallWithUserInfo:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"evaluateTrustForConnection:peerCertificateChain:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"provideIdentityForConnection:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"shouldEvaluateTrustForConnection:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"shouldProvideIdentityForConnection:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NWPath", b"isConstrained", {"retval": {"type": b"Z"}}) - r(b"NWPath", b"isEqualToPath:", {"retval": {"type": "Z"}}) - r(b"NWPath", b"isExpensive", {"retval": {"type": "Z"}}) - r(b"NWTCPConnection", b"hasBetterPath", {"retval": {"type": "Z"}}) - r(b"NWTCPConnection", b"isViable", {"retval": {"type": "Z"}}) - r( - b"NWTCPConnection", - b"readLength:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NWTCPConnection", - b"readMinimumLength:maximumLength:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NWTCPConnection", - b"write:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"NWUDPSession", b"hasBetterPath", {"retval": {"type": "Z"}}) - r(b"NWUDPSession", b"isViable", {"retval": {"type": "Z"}}) - r( - b"NWUDPSession", - b"setReadHandler:maxDatagrams:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NWUDPSession", - b"writeDatagram:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"NWUDPSession", - b"writeMultipleDatagrams:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"null", b"didAutoJoin", {"retval": {"type": b"Z"}}) - r(b"null", b"didJustJoin", {"retval": {"type": b"Z"}}) - r(b"null", b"isChosenHelper", {"retval": {"type": b"Z"}}) - r(b"null", b"isSecure", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/NotificationCenter/__init__.py b/src/lib/NotificationCenter/__init__.py deleted file mode 100644 index c46bfcb..0000000 --- a/src/lib/NotificationCenter/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the NotificationCenter framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from NotificationCenter import _metadata, _NotificationCenter - -sys.modules["NotificationCenter"] = mod = objc.ObjCLazyModule( - "NotificationCenter", - "com.apple.notificationcenter", - objc.pathForFramework("/System/Library/Frameworks/NotificationCenter.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_NotificationCenter, Cocoa), -) - - -del sys.modules["NotificationCenter._metadata"] -del sys.modules["NotificationCenter._NotificationCenter"] diff --git a/src/lib/NotificationCenter/_metadata.py b/src/lib/NotificationCenter/_metadata.py deleted file mode 100644 index 7122eb9..0000000 --- a/src/lib/NotificationCenter/_metadata.py +++ /dev/null @@ -1,190 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:11:03 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$NCUpdateResultFailed@2$NCUpdateResultNewData@0$NCUpdateResultNoData@1$""" -misc.update({"NCUpdateResult": NewType("NCUpdateResult", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NCWidgetController", b"defaultWidgetController", {"deprecated": 1010}) - r( - b"NCWidgetController", - b"setHasContent:forWidgetWithBundleIdentifier:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"NCWidgetListViewController", b"editing", {"retval": {"type": "Z"}}) - r(b"NCWidgetListViewController", b"hasDividerLines", {"retval": {"type": "Z"}}) - r(b"NCWidgetListViewController", b"setEditing:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NCWidgetListViewController", - b"setHasDividerLines:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NCWidgetListViewController", - b"setShowsAddButtonWhenEditing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"NCWidgetListViewController", - b"showsAddButtonWhenEditing", - {"retval": {"type": "Z"}}, - ) - r( - b"NCWidgetListViewController", - b"viewControllerAtRow:makeIfNecessary:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"NSObject", b"widgetAllowsEditing", {"required": False, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"widgetDidBeginEditing", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"widgetDidEndEditing", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"widgetList:didRemoveRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"widgetList:didReorderRow:toRow:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}, 4: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"widgetList:shouldRemoveRow:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"widgetList:shouldReorderRow:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"widgetList:viewControllerForRow:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Q"}}, - }, - ) - r( - b"NSObject", - b"widgetListPerformAddAction:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"widgetMarginInsetsForProposedMarginInsets:", - { - "required": False, - "retval": {"type": "{NSEdgeInsets=dddd}"}, - "arguments": {2: {"type": "{NSEdgeInsets=dddd}"}}, - }, - ) - r( - b"NSObject", - b"widgetPerformUpdateWithCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"I", b"Q")}, - }, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"widgetSearch:resultSelected:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"widgetSearch:searchForTerm:maxResults:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"widgetSearchTermCleared:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/OSAKit/__init__.py b/src/lib/OSAKit/__init__.py deleted file mode 100644 index cf75670..0000000 --- a/src/lib/OSAKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the OSAKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from OSAKit import _metadata - -sys.modules["OSAKit"] = mod = objc.ObjCLazyModule( - "OSAKit", - "com.apple.OSAKit", - objc.pathForFramework("/System/Library/Frameworks/OSAKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Cocoa,), -) - - -del sys.modules["OSAKit._metadata"] diff --git a/src/lib/OSAKit/_metadata.py b/src/lib/OSAKit/_metadata.py deleted file mode 100644 index 55fca43..0000000 --- a/src/lib/OSAKit/_metadata.py +++ /dev/null @@ -1,131 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:11:25 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$OSAScriptErrorAppAddressKey$OSAScriptErrorAppName$OSAScriptErrorAppNameKey$OSAScriptErrorBriefMessage$OSAScriptErrorBriefMessageKey$OSAScriptErrorExpectedTypeKey$OSAScriptErrorMessage$OSAScriptErrorMessageKey$OSAScriptErrorNumber$OSAScriptErrorNumberKey$OSAScriptErrorOffendingObjectKey$OSAScriptErrorPartialResultKey$OSAScriptErrorRange$OSAScriptErrorRangeKey$OSAStorageApplicationBundleType$OSAStorageApplicationType$OSAStorageScriptBundleType$OSAStorageScriptType$OSAStorageTextType$""" -enums = """$OSACompileIntoContext@2$OSADontSetScriptLocation@16777216$OSANull@0$OSAPreventGetSource@1$OSAScriptRecording@2$OSAScriptRunning@1$OSAScriptStopped@0$OSAShowStartupScreen@536870912$OSAStayOpenApplet@268435456$OSASupportsAECoercion@8$OSASupportsAESending@16$OSASupportsCompiling@2$OSASupportsConvenience@64$OSASupportsDialects@128$OSASupportsEventHandling@256$OSASupportsGetSource@4$OSASupportsRecording@32$""" -misc.update( - { - "OSALanguageFeatures": NewType("OSALanguageFeatures", int), - "OSAStorageOptions": NewType("OSAStorageOptions", int), - "OSAScriptState": NewType("OSAScriptState", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"OSALanguage", b"isThreadSafe", {"retval": {"type": b"Z"}}) - r( - b"OSAScript", - b"compileAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"compiledDataForType:usingStorageOptions:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"executeAndReturnDisplayValue:error:", - {"arguments": {2: {"type_modifier": b"o"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"executeAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"executeAppleEvent:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"executeHandlerWithName:arguments:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithCompiledData:error:", - {"deprecated": 1006, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithCompiledData:fromURL:usingStorageOptions:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithContentsOfURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithContentsOfURL:language:error:", - {"deprecated": 1006, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithContentsOfURL:languageInstance:usingStorageOptions:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"initWithScriptDataDescriptor:fromURL:languageInstance:usingStorageOptions:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r(b"OSAScript", b"isCompiled", {"retval": {"type": b"Z"}}) - r( - b"OSAScript", - b"writeToURL:ofType:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"OSAScript", - b"writeToURL:ofType:usingStorageOptions:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"OSAScriptController", b"isCompiling", {"retval": {"type": b"Z"}}) - r(b"OSAScriptView", b"indentsWrappedLines", {"retval": {"type": b"Z"}}) - r(b"OSAScriptView", b"setIndentsWrappedLines:", {"arguments": {2: {"type": b"Z"}}}) - r(b"OSAScriptView", b"setUsesScriptAssistant:", {"arguments": {2: {"type": b"Z"}}}) - r(b"OSAScriptView", b"setUsesTabs:", {"arguments": {2: {"type": b"Z"}}}) - r(b"OSAScriptView", b"setWrapsLines:", {"arguments": {2: {"type": b"Z"}}}) - r(b"OSAScriptView", b"usesScriptAssistant", {"retval": {"type": b"Z"}}) - r(b"OSAScriptView", b"usesTabs", {"retval": {"type": b"Z"}}) - r(b"OSAScriptView", b"wrapsLines", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/OSLog/__init__.py b/src/lib/OSLog/__init__.py deleted file mode 100644 index dc87e1e..0000000 --- a/src/lib/OSLog/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the OSLog framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from OSLog import _metadata -from OSLog import _OSLog - -sys.modules["OSLog"] = mod = objc.ObjCLazyModule( - "OSLog", - "com.apple.OSLog", - objc.pathForFramework("/System/Library/Frameworks/OSLog.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_OSLog, Foundation), -) - - -del sys.modules["OSLog._metadata"] diff --git a/src/lib/OSLog/_metadata.py b/src/lib/OSLog/_metadata.py deleted file mode 100644 index 8cfaf33..0000000 --- a/src/lib/OSLog/_metadata.py +++ /dev/null @@ -1,89 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:11:35 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$OSLogEntryLogLevelDebug@1$OSLogEntryLogLevelError@4$OSLogEntryLogLevelFault@5$OSLogEntryLogLevelInfo@2$OSLogEntryLogLevelNotice@3$OSLogEntryLogLevelUndefined@0$OSLogEntrySignpostTypeEvent@3$OSLogEntrySignpostTypeIntervalBegin@1$OSLogEntrySignpostTypeIntervalEnd@2$OSLogEntrySignpostTypeUndefined@0$OSLogEntryStoreCategoryLongTerm1@4$OSLogEntryStoreCategoryLongTerm14@7$OSLogEntryStoreCategoryLongTerm3@5$OSLogEntryStoreCategoryLongTerm30@8$OSLogEntryStoreCategoryLongTerm7@6$OSLogEntryStoreCategoryLongTermAuto@3$OSLogEntryStoreCategoryMetadata@1$OSLogEntryStoreCategoryShortTerm@2$OSLogEntryStoreCategoryUndefined@0$OSLogEnumeratorReverse@1$OSLogMessageComponentArgumentCategoryData@1$OSLogMessageComponentArgumentCategoryDouble@2$OSLogMessageComponentArgumentCategoryInt64@3$OSLogMessageComponentArgumentCategoryString@4$OSLogMessageComponentArgumentCategoryUInt64@5$OSLogMessageComponentArgumentCategoryUndefined@0$OSLogStoreCurrentProcessIdentifier@1$OSLogStoreSystem@0$""" -misc.update( - { - "OSLogMessageComponentArgumentCategory": NewType( - "OSLogMessageComponentArgumentCategory", int - ), - "OSLogEnumeratorOptions": NewType("OSLogEnumeratorOptions", int), - "OSLogEntrySignpostType": NewType("OSLogEntrySignpostType", int), - "OSLogStoreScope": NewType("OSLogStoreScope", int), - "OSLogEntryStoreCategory": NewType("OSLogEntryStoreCategory", int), - "OSLogEntryLogLevel": NewType("OSLogEntryLogLevel", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSObject", b"activityIdentifier", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"category", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"components", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"formatString", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"process", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"processIdentifier", {"required": True, "retval": {"type": b"i"}}) - r(b"NSObject", b"sender", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"subsystem", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"threadIdentifier", {"required": True, "retval": {"type": b"Q"}}) - r( - b"OSLogStore", - b"entriesEnumeratorAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"OSLogStore", - b"entriesEnumeratorWithOptions:position:predicate:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"OSLogStore", - b"localStoreAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"OSLogStore", - b"storeWithScope:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"OSLogStore", - b"storeWithURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/OpenDirectory/__init__.py b/src/lib/OpenDirectory/__init__.py deleted file mode 100644 index 20adb09..0000000 --- a/src/lib/OpenDirectory/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -Wrappers for the OpenDirectory framework -""" -import sys - -import CFOpenDirectory -import objc -from OpenDirectory import _metadata - -sys.modules["OpenDirectory"] = mod = objc.ObjCLazyModule( - "OpenDirectory", - "com.apple.OpenDirectory", - objc.pathForFramework( - "/System/Library/Frameworks/OpenDirectory.framework/Frameworks/OpenDirectory.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CFOpenDirectory,), -) - - -del sys.modules["OpenDirectory._metadata"] diff --git a/src/lib/OpenDirectory/_metadata.py b/src/lib/OpenDirectory/_metadata.py deleted file mode 100644 index 6873da9..0000000 --- a/src/lib/OpenDirectory/_metadata.py +++ /dev/null @@ -1,440 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:13:32 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ODFrameworkErrorDomain$ODSessionProxyAddress$ODSessionProxyPassword$ODSessionProxyPort$ODSessionProxyUsername$ODTrustTypeAnonymous$ODTrustTypeJoined$ODTrustTypeUsingCredentials$""" -enums = """$ODPacketEncryptionAllow@1$ODPacketEncryptionDisabled@0$ODPacketEncryptionRequired@2$ODPacketEncryptionSSL@3$ODPacketSigningAllow@1$ODPacketSigningDisabled@0$ODPacketSigningRequired@2$kODExpirationTimeExpired@0$kODExpirationTimeNeverExpires@-1$""" -misc.update({}) -misc.update({}) -functions = {} -aliases = {} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"query:foundResults:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"ODConfiguration", - b"addTrustType:trustAccount:trustPassword:username:password:joinExisting:error:", - { - "retval": {"type": b"Z"}, - "arguments": {7: {"type": b"Z"}, 8: {"type_modifier": b"o"}}, - }, - ) - r(b"ODConfiguration", b"hideRegistration", {"retval": {"type": b"Z"}}) - r(b"ODConfiguration", b"manInTheMiddleProtection", {"retval": {"type": b"Z"}}) - r( - b"ODConfiguration", - b"removeTrustUsingUsername:password:deleteTrustAccount:error:", - { - "retval": {"type": b"Z"}, - "arguments": {4: {"type": b"Z"}, 5: {"type_modifier": b"o"}}, - }, - ) - r( - b"ODConfiguration", - b"saveUsingAuthorization:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"ODConfiguration", b"setHideRegistration:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"ODConfiguration", - b"setManInTheMiddleProtection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"ODConfiguration", b"trustUsesKerberosKeytab", {"retval": {"type": b"Z"}}) - r(b"ODConfiguration", b"trustUsesMutualAuthentication", {"retval": {"type": b"Z"}}) - r(b"ODConfiguration", b"trustUsesSystemKeychain", {"retval": {"type": b"Z"}}) - r( - b"ODNode", - b"accountPoliciesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"addAccountPolicy:toCategory:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"createRecordWithRecordType:name:attributes:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"customCall:sendData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"customFunction:payload:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"initWithSession:name:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"initWithSession:type:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"nodeDetailsForKeys:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"nodeWithSession:name:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"nodeWithSession:type:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"passwordContentCheck:forRecordName:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"policiesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"recordWithRecordType:name:attributes:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"removeAccountPolicy:fromCategory:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"removePolicy:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"setAccountPolicies:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"setCredentialsUsingKerberosCache:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"setCredentialsWithRecordType:authenticationType:authenticationItems:continueItems:context:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: {"type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - 7: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"ODNode", - b"setCredentialsWithRecordType:recordName:password:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"setPolicies:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"setPolicy:value:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"subnodeNamesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"supportedAttributesForRecordType:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"supportedPoliciesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"supportedRecordTypesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODNode", - b"unreachableSubnodeNamesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODQuery", - b"initWithNode:forRecordTypes:attribute:matchType:queryValues:returnAttributes:maximumResults:error:", - {"arguments": {9: {"type_modifier": b"o"}}}, - ) - r( - b"ODQuery", - b"queryWithNode:forRecordTypes:attribute:matchType:queryValues:returnAttributes:maximumResults:error:", - {"arguments": {9: {"type_modifier": b"o"}}}, - ) - r( - b"ODQuery", - b"resultsAllowingPartial:error:", - {"arguments": {2: {"type": b"Z"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"accountPoliciesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"addAccountPolicy:toCategory:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"addMemberRecord:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"addValue:toAttribute:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"authenticationAllowedAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"changePassword:toPassword:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"deleteRecordAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"effectivePoliciesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"isMemberRecord:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"passwordChangeAllowed:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"passwordPolicyAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"policiesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"recordDetailsForAttributes:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"removeAccountPolicy:fromCategory:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"removeMemberRecord:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"removePolicy:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"removeValue:fromAttribute:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"removeValuesForAttribute:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setAccountPolicies:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setNodeCredentials:password:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setNodeCredentialsUsingKerberosCache:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setNodeCredentialsWithRecordType:authenticationType:authenticationItems:continueItems:context:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: {"type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - 7: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"ODRecord", - b"setPolicies:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setPolicy:value:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"setValue:forAttribute:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"supportedPoliciesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"synchronizeAndReturnError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"valuesForAttribute:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODRecord", - b"verifyExtendedWithAuthenticationType:authenticationItems:continueItems:context:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 4: {"type_modifier": b"o"}, - 5: {"type_modifier": b"o"}, - 6: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"ODRecord", - b"verifyPassword:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"ODRecord", b"willAuthenticationsExpire:", {"retval": {"type": b"Z"}}) - r(b"ODRecord", b"willPasswordExpire:", {"retval": {"type": b"Z"}}) - r( - b"ODSession", - b"addConfiguration:authorization:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"configurationAuthorizationAllowingUserInteraction:error:", - {"arguments": {2: {"type": b"Z"}, 3: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"deleteConfiguration:authorization:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"deleteConfigurationWithNodename:authorization:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"initWithOptions:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"nodeNamesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"ODSession", - b"sessionWithOptions:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PassKit/__init__.py b/src/lib/PassKit/__init__.py deleted file mode 100644 index 8bb0e4c..0000000 --- a/src/lib/PassKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the PassKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from PassKit import _metadata -from PassKit import _PassKit - -sys.modules["PassKit"] = mod = objc.ObjCLazyModule( - "PassKit", - "com.apple.PassKit", - objc.pathForFramework("/System/Library/Frameworks/PassKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_PassKit, Foundation), -) - - -del sys.modules["PassKit._metadata"] diff --git a/src/lib/PassKit/_metadata.py b/src/lib/PassKit/_metadata.py deleted file mode 100644 index 5d26bff..0000000 --- a/src/lib/PassKit/_metadata.py +++ /dev/null @@ -1,977 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:16:00 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$PKAddSecureElementPassErrorDomain$PKContactFieldEmailAddress$PKContactFieldName$PKContactFieldPhoneNumber$PKContactFieldPhoneticName$PKContactFieldPostalAddress$PKEncryptionSchemeECC_V2$PKEncryptionSchemeRSA_V2$PKPassKitErrorDomain$PKPassLibraryAddedPassesUserInfoKey$PKPassLibraryDidChangeNotification$PKPassLibraryPassTypeIdentifierUserInfoKey$PKPassLibraryRecoveredPassesUserInfoKey$PKPassLibraryRemotePaymentPassesDidChangeNotification$PKPassLibraryRemovedPassInfosUserInfoKey$PKPassLibraryReplacementPassesUserInfoKey$PKPassLibrarySerialNumberUserInfoKey$PKPaymentErrorContactFieldUserInfoKey$PKPaymentErrorDomain$PKPaymentErrorPostalAddressUserInfoKey$PKPaymentNetworkAmex$PKPaymentNetworkBarcode$PKPaymentNetworkCarteBancaire$PKPaymentNetworkCarteBancaires$PKPaymentNetworkCartesBancaires$PKPaymentNetworkChinaUnionPay$PKPaymentNetworkDankort$PKPaymentNetworkDiscover$PKPaymentNetworkEftpos$PKPaymentNetworkElectron$PKPaymentNetworkElo$PKPaymentNetworkGirocard$PKPaymentNetworkIDCredit$PKPaymentNetworkInterac$PKPaymentNetworkJCB$PKPaymentNetworkMada$PKPaymentNetworkMaestro$PKPaymentNetworkMasterCard$PKPaymentNetworkMir$PKPaymentNetworkNanaco$PKPaymentNetworkPrivateLabel$PKPaymentNetworkQuicPay$PKPaymentNetworkSuica$PKPaymentNetworkVPay$PKPaymentNetworkVisa$PKPaymentNetworkWaon$PKStoredValuePassBalanceTypeCash$PKStoredValuePassBalanceTypeLoyaltyPoints$""" -enums = """$PKAddPaymentPassErrorSystemCancelled@2$PKAddPaymentPassErrorUnsupported@0$PKAddPaymentPassErrorUserCancelled@1$PKAddPaymentPassStyleAccess@1$PKAddPaymentPassStylePayment@0$PKAddSecureElementPassDeviceNotReadyError@5$PKAddSecureElementPassDeviceNotSupportedError@4$PKAddSecureElementPassInvalidConfigurationError@3$PKAddSecureElementPassUnavailableError@2$PKAddSecureElementPassUnknownError@0$PKAddSecureElementPassUserCanceledError@1$PKAddShareablePassConfigurationPrimaryActionAdd@0$PKAddShareablePassConfigurationPrimaryActionShare@1$PKAddressFieldAll@15$PKAddressFieldEmail@4$PKAddressFieldName@8$PKAddressFieldNone@0$PKAddressFieldPhone@2$PKAddressFieldPostalAddress@1$PKAutomaticPassPresentationSuppressionResultAlreadyPresenting@1$PKAutomaticPassPresentationSuppressionResultCancelled@3$PKAutomaticPassPresentationSuppressionResultDenied@2$PKAutomaticPassPresentationSuppressionResultNotSupported@0$PKAutomaticPassPresentationSuppressionResultSuccess@4$PKBarcodeEventConfigurationDataTypeSigningCertificate@2$PKBarcodeEventConfigurationDataTypeSigningKeyMaterial@1$PKBarcodeEventConfigurationDataTypeUnknown@0$PKDisbursementRequestScheduleFuture@1$PKDisbursementRequestScheduleOneTime@0$PKInvalidDataError@1$PKInvalidSignature@3$PKIssuerProvisioningExtensionAuthorizationResultAuthorized@1$PKIssuerProvisioningExtensionAuthorizationResultCanceled@0$PKMerchantCapability3DS@1$PKMerchantCapabilityCredit@4$PKMerchantCapabilityDebit@8$PKMerchantCapabilityEMV@2$PKNotEntitledError@4$PKPassLibraryDidAddPasses@0$PKPassLibraryDidCancelAddPasses@2$PKPassLibraryShouldReviewPasses@1$PKPassTypeAny@18446744073709551615$PKPassTypeBarcode@0$PKPassTypePayment@1$PKPassTypeSecureElement@1$PKPaymentAuthorizationStatusFailure@1$PKPaymentAuthorizationStatusInvalidBillingPostalAddress@2$PKPaymentAuthorizationStatusInvalidShippingContact@4$PKPaymentAuthorizationStatusInvalidShippingPostalAddress@3$PKPaymentAuthorizationStatusPINIncorrect@6$PKPaymentAuthorizationStatusPINLockout@7$PKPaymentAuthorizationStatusPINRequired@5$PKPaymentAuthorizationStatusSuccess@0$PKPaymentBillingContactInvalidError@2$PKPaymentButtonStyleAutomatic@3$PKPaymentButtonStyleBlack@2$PKPaymentButtonStyleWhite@0$PKPaymentButtonStyleWhiteOutline@1$PKPaymentButtonTypeAddMoney@9$PKPaymentButtonTypeBook@6$PKPaymentButtonTypeBuy@1$PKPaymentButtonTypeCheckout@5$PKPaymentButtonTypeContinue@16$PKPaymentButtonTypeContribute@14$PKPaymentButtonTypeDonate@4$PKPaymentButtonTypeInStore@3$PKPaymentButtonTypeOrder@11$PKPaymentButtonTypePlain@0$PKPaymentButtonTypeReload@8$PKPaymentButtonTypeRent@12$PKPaymentButtonTypeSetUp@2$PKPaymentButtonTypeSubscribe@7$PKPaymentButtonTypeSupport@13$PKPaymentButtonTypeTip@15$PKPaymentButtonTypeTopUp@10$PKPaymentCouponCodeExpiredError@5$PKPaymentCouponCodeInvalidError@4$PKPaymentMethodTypeCredit@2$PKPaymentMethodTypeDebit@1$PKPaymentMethodTypeEMoney@5$PKPaymentMethodTypePrepaid@3$PKPaymentMethodTypeStore@4$PKPaymentMethodTypeUnknown@0$PKPaymentPassActivationStateActivated@0$PKPaymentPassActivationStateActivating@2$PKPaymentPassActivationStateDeactivated@4$PKPaymentPassActivationStateRequiresActivation@1$PKPaymentPassActivationStateSuspended@3$PKPaymentShippingAddressUnserviceableError@3$PKPaymentShippingContactInvalidError@1$PKPaymentSummaryItemTypeFinal@0$PKPaymentSummaryItemTypePending@1$PKPaymentUnknownError@-1$PKRadioTechnologyBluetooth@2$PKRadioTechnologyNFC@1$PKRadioTechnologyNone@0$PKSecureElementPassActivationStateActivated@0$PKSecureElementPassActivationStateActivating@2$PKSecureElementPassActivationStateDeactivated@4$PKSecureElementPassActivationStateRequiresActivation@1$PKSecureElementPassActivationStateSuspended@3$PKShippingContactEditingModeEnabled@1$PKShippingContactEditingModeStorePickup@2$PKShippingTypeDelivery@1$PKShippingTypeServicePickup@3$PKShippingTypeShipping@0$PKShippingTypeStorePickup@2$PKUnknownError@-1$PKUnsupportedVersionError@2$""" -misc.update( - { - "PKShippingContactEditingMode": NewType("PKShippingContactEditingMode", int), - "PKPaymentButtonStyle": NewType("PKPaymentButtonStyle", int), - "PKPaymentPassActivationState": NewType("PKPaymentPassActivationState", int), - "PKPaymentAuthorizationStatus": NewType("PKPaymentAuthorizationStatus", int), - "PKAddPaymentPassStyle": NewType("PKAddPaymentPassStyle", int), - "PKRadioTechnology": NewType("PKRadioTechnology", int), - "PKMerchantCapability": NewType("PKMerchantCapability", int), - "PKAutomaticPassPresentationSuppressionResult": NewType( - "PKAutomaticPassPresentationSuppressionResult", int - ), - "PKPassType": NewType("PKPassType", int), - "PKAddSecureElementPassErrorCode": NewType( - "PKAddSecureElementPassErrorCode", int - ), - "PKIssuerProvisioningExtensionAuthorizationResult": NewType( - "PKIssuerProvisioningExtensionAuthorizationResult", int - ), - "PKPaymentButtonType": NewType("PKPaymentButtonType", int), - "PKPassLibraryAddPassesStatus": NewType("PKPassLibraryAddPassesStatus", int), - "PKDisbursementRequestSchedule": NewType("PKDisbursementRequestSchedule", int), - "PKAddPaymentPassError": NewType("PKAddPaymentPassError", int), - "PKShippingType": NewType("PKShippingType", int), - "PKAddShareablePassConfigurationPrimaryAction": NewType( - "PKAddShareablePassConfigurationPrimaryAction", int - ), - "PKPassKitErrorCode": NewType("PKPassKitErrorCode", int), - "PKBarcodeEventConfigurationDataType": NewType( - "PKBarcodeEventConfigurationDataType", int - ), - "PKAddressField": NewType("PKAddressField", int), - "PKPaymentMethodType": NewType("PKPaymentMethodType", int), - "PKPaymentSummaryItemType": NewType("PKPaymentSummaryItemType", int), - "PKSecureElementPassActivationState": NewType( - "PKSecureElementPassActivationState", int - ), - "PKPaymentErrorCode": NewType("PKPaymentErrorCode", int), - } -) -misc.update( - { - "PKPassLibraryNotificationKey": NewType("PKPassLibraryNotificationKey", str), - "PKContactField": NewType("PKContactField", str), - "PKPaymentErrorKey": NewType("PKPaymentErrorKey", str), - "PKEncryptionScheme": NewType("PKEncryptionScheme", str), - } -) -misc.update({}) -aliases = {"PKPassTypePayment": "PKPassTypeSecureElement"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSObject", b"completionHandler", {"required": True, "retval": {"type": b"@?"}}) - r( - b"NSObject", - b"disbursementAuthorizationController:didAuthorizeWithDisbursementVoucher:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"disbursementAuthorizationControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleConfigurationRequest:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleInformationRequest:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleSignatureRequest:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didAuthorizePayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didAuthorizePayment:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didChangeCouponCode:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didRequestMerchantSessionUpdate:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectPaymentMethod:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectPaymentMethod:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectShippingContact:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectShippingContact:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectShippingMethod:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationController:didSelectShippingMethod:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentAuthorizationControllerWillAuthorizePayment:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didAuthorizePayment:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didAuthorizePayment:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didChangeCouponCode:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didRequestMerchantSessionUpdate:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectPaymentMethod:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectPaymentMethod:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectShippingContact:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectShippingContact:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectShippingMethod:completion:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewController:didSelectShippingMethod:handler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"paymentAuthorizationViewControllerDidFinish:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentAuthorizationViewControllerWillAuthorizePayment:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"presentationWindowForPaymentAuthorizationController:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setCompletionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - } - }, - }, - ) - r( - b"PKAddPaymentPassRequestConfiguration", - b"requiresFelicaSecureElement", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKAddPaymentPassRequestConfiguration", - b"setRequiresFelicaSecureElement:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PKAddShareablePassConfiguration", - b"configurationForPassMetadata:provisioningPolicyIdentifier:primaryAction:completion:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKDisbursementAuthorizationController", - b"authorizeDisbursementWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKDisbursementAuthorizationController", - b"supportsDisbursements", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKIssuerProvisioningExtensionHandler", - b"generateAddPaymentPassRequestForPassEntryWithIdentifier:configuration:certificateChain:nonce:nonceSignature:completionHandler:", - { - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"PKIssuerProvisioningExtensionHandler", - b"passEntriesWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"PKIssuerProvisioningExtensionHandler", - b"remotePassEntriesWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"PKIssuerProvisioningExtensionHandler", - b"statusWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"passEntriesAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"remotePassEntriesAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"requiresAuthentication", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"setPassEntriesAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"setRemotePassEntriesAvailable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PKIssuerProvisioningExtensionStatus", - b"setRequiresAuthentication:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PKPass", b"initWithData:error:", {"arguments": {3: {"type_modifier": b"o"}}}) - r(b"PKPass", b"isRemotePass", {"retval": {"type": b"Z"}}) - r( - b"PKPassLibrary", - b"activatePaymentPass:withActivationCode:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKPassLibrary", - b"activatePaymentPass:withActivationData:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKPassLibrary", - b"activateSecureElementPass:withActivationData:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKPassLibrary", - b"addPasses:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r(b"PKPassLibrary", b"canAddFelicaPass", {"retval": {"type": b"Z"}}) - r( - b"PKPassLibrary", - b"canAddPaymentPassWithPrimaryAccountIdentifier:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPassLibrary", - b"canAddSecureElementPassWithPrimaryAccountIdentifier:", - {"retval": {"type": b"Z"}}, - ) - r(b"PKPassLibrary", b"containsPass:", {"retval": {"type": b"Z"}}) - r(b"PKPassLibrary", b"isPassLibraryAvailable", {"retval": {"type": b"Z"}}) - r(b"PKPassLibrary", b"isPaymentPassActivationAvailable", {"retval": {"type": b"Z"}}) - r( - b"PKPassLibrary", - b"isSecureElementPassActivationAvailable", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPassLibrary", - b"isSuppressingAutomaticPassPresentation", - {"retval": {"type": b"Z"}}, - ) - r(b"PKPassLibrary", b"replacePassWithPass:", {"retval": {"type": b"Z"}}) - r( - b"PKPassLibrary", - b"requestAutomaticPassPresentationSuppressionWithResponseHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Q"}}, - } - } - } - }, - ) - r( - b"PKPassLibrary", - b"serviceProviderDataForSecureElementPass:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKPassLibrary", - b"signData:withSecureElementPass:completion:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PKPaymentAuthorizationController", - b"canMakePayments", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentAuthorizationController", - b"canMakePaymentsUsingNetworks:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentAuthorizationController", - b"canMakePaymentsUsingNetworks:capabilities:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentAuthorizationController", - b"dismissWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"PKPaymentAuthorizationController", - b"presentWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - } - } - } - }, - ) - r( - b"PKPaymentAuthorizationViewController", - b"canMakePayments", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentAuthorizationViewController", - b"canMakePaymentsUsingNetworks:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentAuthorizationViewController", - b"canMakePaymentsUsingNetworks:capabilities:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PKPaymentRequest", - b"setSupportsCouponCode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PKPaymentRequest", b"supportsCouponCode", {"retval": {"type": b"Z"}}) - r( - b"PKShareablePassMetadata", - b"initWithProvisioningCredentialIdentifier:sharingInstanceIdentifier:passThumbnailImage:ownerDisplayName:localizedDescription:accountHash:templateIdentifier:relyingPartyIdentifier:requiresUnifiedAccessCapableDevice:", - {"arguments": {10: {"type": b"Z"}}}, - ) - r( - b"PKShareablePassMetadata", - b"requiresUnifiedAccessCapableDevice", - {"retval": {"type": b"Z"}}, - ) - r(b"PKStoredValuePassBalance", b"isEqualToBalance:", {"retval": {"type": b"Z"}}) - r(b"PKStoredValuePassProperties", b"isBlacklisted", {"retval": {"type": b"Z"}}) - r(b"PKStoredValuePassProperties", b"isBlocked", {"retval": {"type": b"Z"}}) - r(b"PKStoredValuePassProperties", b"isInStation", {"retval": {"type": "Z"}}) - r( - b"PKSuicaPassProperties", - b"isBalanceAllowedForCommute", - {"retval": {"type": b"Z"}}, - ) - r(b"PKSuicaPassProperties", b"isBlacklisted", {"retval": {"type": b"Z"}}) - r(b"PKSuicaPassProperties", b"isGreenCarTicketUsed", {"retval": {"type": b"Z"}}) - r(b"PKSuicaPassProperties", b"isInShinkansenStation", {"retval": {"type": b"Z"}}) - r(b"PKSuicaPassProperties", b"isInStation", {"retval": {"type": b"Z"}}) - r( - b"PKSuicaPassProperties", - b"isLowBalanceGateNotificationEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"PKTransitPassProperties", b"isBlacklisted", {"retval": {"type": b"Z"}}) - r(b"PKTransitPassProperties", b"isBlocked", {"retval": {"type": "Z"}}) - r(b"PKTransitPassProperties", b"isInStation", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PencilKit/__init__.py b/src/lib/PencilKit/__init__.py deleted file mode 100644 index 5bc0004..0000000 --- a/src/lib/PencilKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the PencilKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from PencilKit import _metadata - -sys.modules["PencilKit"] = mod = objc.ObjCLazyModule( - "PencilKit", - "com.apple.pencilkit", - objc.pathForFramework("/System/Library/Frameworks/PencilKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["PencilKit._metadata"] diff --git a/src/lib/PencilKit/_metadata.py b/src/lib/PencilKit/_metadata.py deleted file mode 100644 index 59d07e1..0000000 --- a/src/lib/PencilKit/_metadata.py +++ /dev/null @@ -1,102 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:09:24 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = ( - """$PKAppleDrawingTypeIdentifier$PKInkTypeMarker$PKInkTypePen$PKInkTypePencil$""" -) -enums = """$PKEraserTypeBitmap@1$PKEraserTypeVector@0$""" -misc.update({"PKEraserType": NewType("PKEraserType", int)}) -misc.update({"PKInkType": NewType("PKInkType", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"PKDrawing", b"initWithData:error:", {"arguments": {3: {"type_modifier": b"o"}}}) - r( - b"PKStrokePath", - b"enumerateInterpolatedPointsInRange:strideByDistance:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"PKStrokePath", - b"enumerateInterpolatedPointsInRange:strideByParametricStep:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"PKStrokePath", - b"enumerateInterpolatedPointsInRange:strideByTime:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Photos/__init__.py b/src/lib/Photos/__init__.py deleted file mode 100644 index 2b17ffe..0000000 --- a/src/lib/Photos/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the Photos framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Photos import _metadata -from Photos import _Photos - -sys.modules["Photos"] = mod = objc.ObjCLazyModule( - "Photos", - "com.apple.photos", - objc.pathForFramework("/System/Library/Frameworks/Photos.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Photos, Foundation), -) - - -del sys.modules["Photos._metadata"] diff --git a/src/lib/Photos/_metadata.py b/src/lib/Photos/_metadata.py deleted file mode 100644 index efba604..0000000 --- a/src/lib/Photos/_metadata.py +++ /dev/null @@ -1,825 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:17:43 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$PHContentEditingInputCancelledKey$PHContentEditingInputErrorKey$PHContentEditingInputResultIsInCloudKey$PHImageCancelledKey$PHImageErrorKey$PHImageManagerMaximumSize@{CGSize=dd}$PHImageResultIsDegradedKey$PHImageResultIsInCloudKey$PHImageResultRequestIDKey$PHLivePhotoEditingErrorDomain$PHLivePhotoInfoCancelledKey$PHLivePhotoInfoErrorKey$PHLivePhotoInfoIsDegradedKey$PHLivePhotoShouldRenderAtPlaybackTime$PHLocalIdentifierNotFound$PHLocalIdentifiersErrorKey$PHPhotosErrorDomain$""" -enums = """$PHAccessLevelAddOnly@1$PHAccessLevelReadWrite@2$PHAssetBurstSelectionTypeAutoPick@1$PHAssetBurstSelectionTypeNone@0$PHAssetBurstSelectionTypeUserPick@2$PHAssetCollectionSubtypeAlbumCloudShared@101$PHAssetCollectionSubtypeAlbumImported@6$PHAssetCollectionSubtypeAlbumMyPhotoStream@100$PHAssetCollectionSubtypeAlbumRegular@2$PHAssetCollectionSubtypeAlbumSyncedAlbum@5$PHAssetCollectionSubtypeAlbumSyncedEvent@3$PHAssetCollectionSubtypeAlbumSyncedFaces@4$PHAssetCollectionSubtypeAny@9223372036854775807$PHAssetCollectionSubtypeSmartAlbumAllHidden@205$PHAssetCollectionSubtypeSmartAlbumAnimated@214$PHAssetCollectionSubtypeSmartAlbumBursts@207$PHAssetCollectionSubtypeSmartAlbumDepthEffect@212$PHAssetCollectionSubtypeSmartAlbumFavorites@203$PHAssetCollectionSubtypeSmartAlbumGeneric@200$PHAssetCollectionSubtypeSmartAlbumLivePhotos@213$PHAssetCollectionSubtypeSmartAlbumLongExposures@215$PHAssetCollectionSubtypeSmartAlbumPanoramas@201$PHAssetCollectionSubtypeSmartAlbumRAW@217$PHAssetCollectionSubtypeSmartAlbumRecentlyAdded@206$PHAssetCollectionSubtypeSmartAlbumScreenshots@211$PHAssetCollectionSubtypeSmartAlbumSelfPortraits@210$PHAssetCollectionSubtypeSmartAlbumSlomoVideos@208$PHAssetCollectionSubtypeSmartAlbumTimelapses@204$PHAssetCollectionSubtypeSmartAlbumUnableToUpload@216$PHAssetCollectionSubtypeSmartAlbumUserLibrary@209$PHAssetCollectionSubtypeSmartAlbumVideos@202$PHAssetCollectionTypeAlbum@1$PHAssetCollectionTypeMoment@3$PHAssetCollectionTypeSmartAlbum@2$PHAssetEditOperationContent@2$PHAssetEditOperationDelete@1$PHAssetEditOperationProperties@3$PHAssetMediaSubtypeNone@0$PHAssetMediaSubtypePhotoDepthEffect@16$PHAssetMediaSubtypePhotoHDR@2$PHAssetMediaSubtypePhotoLive@8$PHAssetMediaSubtypePhotoPanorama@1$PHAssetMediaSubtypePhotoScreenshot@4$PHAssetMediaSubtypeVideoHighFrameRate@131072$PHAssetMediaSubtypeVideoStreamed@65536$PHAssetMediaSubtypeVideoTimelapse@262144$PHAssetMediaTypeAudio@3$PHAssetMediaTypeImage@1$PHAssetMediaTypeUnknown@0$PHAssetMediaTypeVideo@2$PHAssetPlaybackStyleImage@1$PHAssetPlaybackStyleImageAnimated@2$PHAssetPlaybackStyleLivePhoto@3$PHAssetPlaybackStyleUnsupported@0$PHAssetPlaybackStyleVideo@4$PHAssetPlaybackStyleVideoLooping@5$PHAssetResourceTypeAdjustmentBasePairedVideo@11$PHAssetResourceTypeAdjustmentBasePhoto@8$PHAssetResourceTypeAdjustmentBaseVideo@12$PHAssetResourceTypeAdjustmentData@7$PHAssetResourceTypeAlternatePhoto@4$PHAssetResourceTypeAudio@3$PHAssetResourceTypeFullSizePairedVideo@10$PHAssetResourceTypeFullSizePhoto@5$PHAssetResourceTypeFullSizeVideo@6$PHAssetResourceTypePairedVideo@9$PHAssetResourceTypePhoto@1$PHAssetResourceTypeVideo@2$PHAssetSourceTypeCloudShared@2$PHAssetSourceTypeNone@0$PHAssetSourceTypeUserLibrary@1$PHAssetSourceTypeiTunesSynced@4$PHAuthorizationStatusAuthorized@3$PHAuthorizationStatusDenied@2$PHAuthorizationStatusLimited@4$PHAuthorizationStatusNotDetermined@0$PHAuthorizationStatusRestricted@1$PHCollectionEditOperationAddContent@3$PHCollectionEditOperationCreateContent@4$PHCollectionEditOperationDelete@6$PHCollectionEditOperationDeleteContent@1$PHCollectionEditOperationRearrangeContent@5$PHCollectionEditOperationRemoveContent@2$PHCollectionEditOperationRename@7$PHCollectionListSubtypeAny@9223372036854775807$PHCollectionListSubtypeMomentListCluster@1$PHCollectionListSubtypeMomentListYear@2$PHCollectionListSubtypeRegularFolder@100$PHCollectionListSubtypeSmartFolderEvents@200$PHCollectionListSubtypeSmartFolderFaces@201$PHCollectionListTypeFolder@2$PHCollectionListTypeMomentList@1$PHCollectionListTypeSmartFolder@3$PHImageContentModeAspectFill@1$PHImageContentModeAspectFit@0$PHImageContentModeDefault@0$PHImageRequestOptionsDeliveryModeFastFormat@2$PHImageRequestOptionsDeliveryModeHighQualityFormat@1$PHImageRequestOptionsDeliveryModeOpportunistic@0$PHImageRequestOptionsResizeModeExact@2$PHImageRequestOptionsResizeModeFast@1$PHImageRequestOptionsResizeModeNone@0$PHImageRequestOptionsVersionCurrent@0$PHImageRequestOptionsVersionOriginal@2$PHImageRequestOptionsVersionUnadjusted@1$PHInvalidAssetResourceDataRequestID@0$PHInvalidImageRequestID@0$PHLivePhotoEditingErrorCodeAborted@1$PHLivePhotoEditingErrorCodeUnknown@0$PHLivePhotoFrameTypePhoto@0$PHLivePhotoFrameTypeVideo@1$PHLivePhotoRequestIDInvalid@0$PHPhotosErrorAccessRestricted@3310$PHPhotosErrorAccessUserDenied@3311$PHPhotosErrorChangeNotSupported@3300$PHPhotosErrorIdentifierNotFound@3201$PHPhotosErrorInternalError@-1$PHPhotosErrorInvalid@-1$PHPhotosErrorInvalidResource@3302$PHPhotosErrorLibraryInFileProviderSyncRoot@5423$PHPhotosErrorLibraryVolumeOffline@3114$PHPhotosErrorMissingResource@3303$PHPhotosErrorMultipleIdentifiersFound@3202$PHPhotosErrorNetworkAccessRequired@3164$PHPhotosErrorNotEnoughSpace@3305$PHPhotosErrorOperationInterrupted@3301$PHPhotosErrorRelinquishingLibraryBundleToWriter@3142$PHPhotosErrorRequestNotSupportedForAsset@3306$PHPhotosErrorSwitchingSystemPhotoLibrary@3143$PHPhotosErrorUserCancelled@3072$PHVideoRequestOptionsDeliveryModeAutomatic@0$PHVideoRequestOptionsDeliveryModeFastFormat@3$PHVideoRequestOptionsDeliveryModeHighQualityFormat@1$PHVideoRequestOptionsDeliveryModeMediumQualityFormat@2$PHVideoRequestOptionsVersionCurrent@0$PHVideoRequestOptionsVersionOriginal@1$""" -misc.update( - { - "PHLivePhotoEditingErrorCode": NewType("PHLivePhotoEditingErrorCode", int), - "PHImageContentMode": NewType("PHImageContentMode", int), - "PHVideoRequestOptionsDeliveryMode": NewType( - "PHVideoRequestOptionsDeliveryMode", int - ), - "PHAuthorizationStatus": NewType("PHAuthorizationStatus", int), - "PHAssetPlaybackStyle": NewType("PHAssetPlaybackStyle", int), - "PHCollectionListSubtype": NewType("PHCollectionListSubtype", int), - "PHAssetResourceType": NewType("PHAssetResourceType", int), - "PHAssetMediaSubtype": NewType("PHAssetMediaSubtype", int), - "PHCollectionEditOperation": NewType("PHCollectionEditOperation", int), - "UIImageOrientation": NewType("UIImageOrientation", int), - "PHLivePhotoFrameType": NewType("PHLivePhotoFrameType", int), - "PHAssetBurstSelectionType": NewType("PHAssetBurstSelectionType", int), - "PHAssetSourceType": NewType("PHAssetSourceType", int), - "PHAssetEditOperation": NewType("PHAssetEditOperation", int), - "PHImageRequestOptionsDeliveryMode": NewType( - "PHImageRequestOptionsDeliveryMode", int - ), - "PHAssetCollectionSubtype": NewType("PHAssetCollectionSubtype", int), - "PHImageRequestOptionsVersion": NewType("PHImageRequestOptionsVersion", int), - "PHVideoRequestOptionsVersion": NewType("PHVideoRequestOptionsVersion", int), - "PHAssetCollectionType": NewType("PHAssetCollectionType", int), - "PHAssetMediaType": NewType("PHAssetMediaType", int), - "PHPhotosError": NewType("PHPhotosError", int), - "PHImageRequestOptionsResizeMode": NewType( - "PHImageRequestOptionsResizeMode", int - ), - "PHAccessLevel": NewType("PHAccessLevel", int), - "PHCollectionListType": NewType("PHCollectionListType", int), - } -) -misc.update({"PHLivePhotoEditingOption": NewType("PHLivePhotoEditingOption", str)}) -misc.update({}) -aliases = { - "PHCollectionListSubtypeAny": "NSIntegerMax", - "PHAssetCollectionSubtypeAny": "NSIntegerMax", - "PHImageContentModeDefault": "PHImageContentModeAspectFit", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSObject", b"image", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"photoLibraryDidBecomeUnavailable:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"photoLibraryDidChange:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"renderScale", - {"required": True, "retval": {"type": sel32or64(b"f", b"d")}}, - ) - r(b"NSObject", b"time", {"required": True, "retval": {"type": "{_CMTime=qiIq}"}}) - r( - b"NSObject", - b"type", - {"required": True, "retval": {"type": sel32or64(b"i", b"q")}}, - ) - r(b"PHAsset", b"canPerformEditOperation:", {"retval": {"type": "Z"}}) - r(b"PHAsset", b"isFavorite", {"retval": {"type": "Z"}}) - r(b"PHAsset", b"isHidden", {"retval": {"type": "Z"}}) - r(b"PHAsset", b"isSyncFailureHidden", {"retval": {"type": "Z"}}) - r(b"PHAsset", b"representsBurst", {"retval": {"type": "Z"}}) - r( - b"PHAsset", - b"requestContentEditingInputWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"PHAssetChangeRequest", b"isFavorite", {"retval": {"type": b"Z"}}) - r(b"PHAssetChangeRequest", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"PHAssetChangeRequest", b"setFavorite:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PHAssetChangeRequest", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"PHAssetCreationRequest", - b"supportsAssetResourceTypes:", - {"retval": {"type": b"Z"}}, - ) - r( - b"PHAssetResourceCreationOptions", - b"setShouldMoveFile:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PHAssetResourceCreationOptions", b"shouldMoveFile", {"retval": {"type": b"Z"}}) - r( - b"PHAssetResourceManager", - b"requestDataForAssetResource:options:dataReceivedHandler:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"PHAssetResourceManager", - b"writeDataForAssetResource:toFile:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"PHAssetResourceRequestOptions", - b"isNetworkAccessAllowed", - {"retval": {"type": b"Z"}}, - ) - r( - b"PHAssetResourceRequestOptions", - b"setNetworkAccessAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PHAssetResourceRequestOptions", - b"setProgressHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"PHCachingImageManager", - b"allowsCachingHighQualityImages", - {"retval": {"type": b"Z"}}, - ) - r( - b"PHCachingImageManager", - b"setAllowsCachingHighQualityImages:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PHCollection", b"canContainAssets", {"retval": {"type": b"Z"}}) - r(b"PHCollection", b"canContainCollections", {"retval": {"type": b"Z"}}) - r(b"PHCollection", b"canPerformEditOperation:", {"retval": {"type": b"Z"}}) - r( - b"PHContentEditingInputRequestOptions", - b"isNetworkAccessAllowed", - {"retval": {"type": b"Z"}}, - ) - r( - b"PHContentEditingInputRequestOptions", - b"progressHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"o^Z"}, - }, - } - } - }, - ) - r( - b"PHContentEditingInputRequestOptions", - b"setCanHandleAdjustmentData:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"PHContentEditingInputRequestOptions", - b"setNetworkAccessAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PHContentEditingInputRequestOptions", - b"setProgressHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"PHFetchOptions", b"includeAllBurstAssets", {"retval": {"type": b"Z"}}) - r(b"PHFetchOptions", b"includeHiddenAssets", {"retval": {"type": "Z"}}) - r( - b"PHFetchOptions", - b"setIncludeAllBurstAssets:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PHFetchOptions", b"setIncludeHiddenAssets:", {"arguments": {2: {"type": "Z"}}}) - r( - b"PHFetchOptions", - b"setWantsIncrementalChangeDetails:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"PHFetchOptions", b"wantsIncrementalChangeDetails", {"retval": {"type": "Z"}}) - r(b"PHFetchResult", b"containsObject:", {"retval": {"type": "Z"}}) - r( - b"PHFetchResult", - b"enumerateObjectsAtIndexes:options:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"PHFetchResult", - b"enumerateObjectsUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"PHFetchResult", - b"enumerateObjectsWithOptions:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"I", b"Q")}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"PHFetchResultChangeDetails", - b"enumerateMovesWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Q"}, - 2: {"type": b"Q"}, - }, - } - } - } - }, - ) - r( - b"PHFetchResultChangeDetails", - b"hasIncrementalChanges", - {"retval": {"type": "Z"}}, - ) - r(b"PHFetchResultChangeDetails", b"hasMoves", {"retval": {"type": "Z"}}) - r( - b"PHImageManager", - b"requestAVAssetForVideo:options:resultHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestExportSessionForVideo:options:exportPreset:resultHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestImageDataAndOrientationForAsset:options:resultHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"I"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestImageDataForAsset:options:resultHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"I"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestImageForAsset:targetSize:contentMode:options:resultHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestLivePhotoForAsset:targetSize:contentMode:options:resultHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHImageManager", - b"requestPlayerItemForVideo:options:resultHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"PHImageRequestOptions", b"isNetworkAccessAllowed", {"retval": {"type": "Z"}}) - r(b"PHImageRequestOptions", b"isSynchronous", {"retval": {"type": "Z"}}) - r( - b"PHImageRequestOptions", - b"progressHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"PHImageRequestOptions", - b"setNetworkAccessAllowed:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"PHImageRequestOptions", - b"setProgressHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"PHImageRequestOptions", b"setSynchronous:", {"arguments": {2: {"type": "Z"}}}) - r( - b"PHLivePhoto", - b"requestLivePhotoWithResourceFileURLs:placeholderImage:targetSize:contentMode:resultHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHLivePhotoEditingContext", - b"duration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"PHLivePhotoEditingContext", - b"frameProcessor", - { - "retval": { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^@"}, - }, - } - } - }, - ) - r( - b"PHLivePhotoEditingContext", - b"photoTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"PHLivePhotoEditingContext", - b"prepareLivePhotoForPlaybackWithTargetSize:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHLivePhotoEditingContext", - b"saveLivePhotoToOutput:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"PHLivePhotoEditingContext", - b"setFrameProcessor:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^@"}, - }, - } - } - } - }, - ) - r( - b"PHLivePhotoRequestOptions", - b"isNetworkAccessAllowed", - {"retval": {"type": b"Z"}}, - ) - r( - b"PHLivePhotoRequestOptions", - b"progressHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"PHLivePhotoRequestOptions", - b"setNetworkAccessAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PHLivePhotoRequestOptions", - b"setProgressHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"PHObjectChangeDetails", b"assetContentChanged", {"retval": {"type": "Z"}}) - r(b"PHObjectChangeDetails", b"objectWasDeleted", {"retval": {"type": "Z"}}) - r( - b"PHPhotoLibrary", - b"performChanges:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"PHPhotoLibrary", - b"performChangesAndWait:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"PHPhotoLibrary", - b"requestAuthorization:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"PHPhotoLibrary", - b"requestAuthorizationForAccessLevel:handler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r(b"PHProject", b"hasProjectPreview", {"retval": {"type": "Z"}}) - r(b"PHVideoRequestOptions", b"isNetworkAccessAllowed", {"retval": {"type": b"Z"}}) - r( - b"PHVideoRequestOptions", - b"progressHandler", - { - "comment": "XXX", - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - }, - }, - ) - r( - b"PHVideoRequestOptions", - b"setNetworkAccessAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PHVideoRequestOptions", - b"setProgressHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"d"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"null", - b"requestContentEditingInputWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PhotosUI/__init__.py b/src/lib/PhotosUI/__init__.py deleted file mode 100644 index 6acb24d..0000000 --- a/src/lib/PhotosUI/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the Photos framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from PhotosUI import _metadata -from PhotosUI import _PhotosUI - -sys.modules["PhotosUI"] = mod = objc.ObjCLazyModule( - "PhotosUI", - "com.apple.photosui", - objc.pathForFramework("/System/Library/Frameworks/PhotosUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_PhotosUI, Foundation), -) - - -del sys.modules["PhotosUI._metadata"] diff --git a/src/lib/PhotosUI/_metadata.py b/src/lib/PhotosUI/_metadata.py deleted file mode 100644 index 24d4c9d..0000000 --- a/src/lib/PhotosUI/_metadata.py +++ /dev/null @@ -1,251 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:10:28 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$PHProjectCategoryBook$PHProjectCategoryCalendar$PHProjectCategoryCard$PHProjectCategoryOther$PHProjectCategoryPrints$PHProjectCategorySlideshow$PHProjectCategoryUndefined$PHProjectCategoryWallDecor$PHProjectTypeUndefined$""" -enums = """$PHLivePhotoViewContentModeAspectFill@1$PHLivePhotoViewContentModeAspectFit@0$PHLivePhotoViewPlaybackStyleFull@1$PHLivePhotoViewPlaybackStyleHint@2$PHLivePhotoViewPlaybackStyleUndefined@0$PHProjectCreationSourceAlbum@2$PHProjectCreationSourceMemory@3$PHProjectCreationSourceMoment@4$PHProjectCreationSourceProject@20$PHProjectCreationSourceProjectBook@21$PHProjectCreationSourceProjectCalendar@22$PHProjectCreationSourceProjectCard@23$PHProjectCreationSourceProjectExtension@26$PHProjectCreationSourceProjectPrintOrder@24$PHProjectCreationSourceProjectSlideshow@25$PHProjectCreationSourceUndefined@0$PHProjectCreationSourceUserSelection@1$PHProjectSectionTypeAuxiliary@3$PHProjectSectionTypeContent@2$PHProjectSectionTypeCover@1$PHProjectSectionTypeUndefined@0$PHProjectTextElementTypeBody@0$PHProjectTextElementTypeSubtitle@2$PHProjectTextElementTypeTitle@1$""" -misc.update( - { - "PHProjectSectionType": NewType("PHProjectSectionType", int), - "PHProjectTextElementType": NewType("PHProjectTextElementType", int), - "PHProjectCreationSource": NewType("PHProjectCreationSource", int), - "PHLivePhotoViewPlaybackStyle": NewType("PHLivePhotoViewPlaybackStyle", int), - "PHLivePhotoViewContentMode": NewType("PHLivePhotoViewContentMode", int), - } -) -misc.update({"PHProjectCategory": NewType("PHProjectCategory", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"beginProjectWithExtensionContext:projectInfo:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"canHandleAdjustmentData:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cancelContentEditing", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"extensionWillDiscardDataSource", - {"required": False, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"finishContentEditingWithCompletionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"finishProjectWithCompletionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - } - }, - }, - ) - r( - b"NSObject", - b"footerTextForSubtypesOfProjectType:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"invalidateFooterTextForSubtypesOfProjectType:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"invalidateTypeDescriptionForProjectType:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"livePhotoView:canBeginPlaybackWithStyle:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"livePhotoView:didEndPlaybackWithStyle:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"livePhotoView:willBeginPlaybackWithStyle:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"i", b"q")}}, - }, - ) - r( - b"NSObject", - b"resumeProjectWithExtensionContext:completion:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"shouldShowCancelConfirmation", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"startContentEditingWithInput:placeholderImage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"subtypesForProjectType:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"supportedProjectTypes", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"typeDescriptionDataSourceForCategory:invalidator:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"typeDescriptionForProjectType:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"PHLivePhotoView", b"isMuted", {"retval": {"type": "Z"}}) - r(b"PHLivePhotoView", b"setMuted:", {"arguments": {2: {"type": "Z"}}}) - r(b"PHLivePhotoView", b"stopPlaybackAnimated:", {"arguments": {2: {"type": "Z"}}}) - r(b"PHProjectAssetElement", b"horizontallyFlipped", {"retval": {"type": b"Z"}}) - r(b"PHProjectAssetElement", b"verticallyFlipped", {"retval": {"type": b"Z"}}) - r( - b"PHProjectExtensionContext", - b"updatedProjectInfoFromProjectInfo:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"PHProjectInfo", b"brandingEnabled", {"retval": {"type": b"Z"}}) - r(b"PHProjectInfo", b"pageNumbersEnabled", {"retval": {"type": b"Z"}}) - r(b"PHProjectTypeDescription", b"canProvideSubtypes", {"retval": {"type": b"Z"}}) - r( - b"PHProjectTypeDescription", - b"initWithProjectType:title:attributedDescription:image:canProvideSubtypes:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"PHProjectTypeDescription", - b"initWithProjectType:title:description:image:canProvideSubtypes:", - {"arguments": {6: {"type": b"Z"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PreferencePanes/__init__.py b/src/lib/PreferencePanes/__init__.py deleted file mode 100644 index a3ec94f..0000000 --- a/src/lib/PreferencePanes/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the PreferencePanes framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import AppKit -import objc -from PreferencePanes import _metadata - -sys.modules["PreferencePanes"] = mod = objc.ObjCLazyModule( - "PreferencePanes", - "com.apple.frameworks.preferencepanes", - objc.pathForFramework("/System/Library/Frameworks/PreferencePanes.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (AppKit,), -) - - -del sys.modules["PreferencePanes._metadata"] diff --git a/src/lib/PreferencePanes/_metadata.py b/src/lib/PreferencePanes/_metadata.py deleted file mode 100644 index 248cbec..0000000 --- a/src/lib/PreferencePanes/_metadata.py +++ /dev/null @@ -1,60 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:15:13 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NSPrefPaneHelpMenuAnchorKey$NSPrefPaneHelpMenuInfoPListKey$NSPrefPaneHelpMenuTitleKey$NSPreferencePaneCancelUnselectNotification$NSPreferencePaneDoUnselectNotification$NSPreferencePaneSwitchToPaneNotification$NSPreferencePaneUpdateHelpMenuNotification$NSPreferencePrefPaneIsAvailableNotification$""" -enums = """$NSUnselectCancel@0$NSUnselectLater@2$NSUnselectNow@1$""" -misc.update( - {"NSPreferencePaneUnselectReply": NewType("NSPreferencePaneUnselectReply", int)} -) -misc.update( - { - "kNSPrefPaneHelpMenuAnchorKey": "anchor", - "kNSPrefPaneHelpMenuTitleKey": "title", - "kNSPrefPaneHelpMenuInfoPListKey": "NSPrefPaneHelpAnchors", - } -) -aliases = { - "kNSPrefPaneHelpMenuAnchorKey": "NSPrefPaneHelpMenuAnchorKey", - "kNSPrefPaneHelpMenuTitleKey": "NSPrefPaneHelpMenuTitleKey", - "kNSPrefPaneHelpMenuInfoPListKey": "NSPrefPaneHelpMenuInfoPListKey", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSPreferencePane", b"autoSaveTextFields", {"retval": {"type": "Z"}}) - r(b"NSPreferencePane", b"isSelected", {"retval": {"type": "Z"}}) - r(b"NSPreferencePane", b"replyToShouldUnselect:", {"arguments": {2: {"type": "Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PrintCore/__init__.py b/src/lib/PrintCore/__init__.py deleted file mode 100644 index f817e67..0000000 --- a/src/lib/PrintCore/__init__.py +++ /dev/null @@ -1,55 +0,0 @@ -""" -Python mapping for the PrintCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import functools -import sys - -import Cocoa -import objc -from PrintCore import _metadata - -sys.modules["PrintCore"] = mod = objc.ObjCLazyModule( - "PrintCore", - "com.apple.ApplicationServices", - objc.pathForFramework("/System/Library/Frameworks/ApplicationServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Cocoa,), -) - - -del sys.modules["PrintCore._metadata"] - -# -# PMRetain and PMRelease are "generic" functions -# where the argument can be an instance of a number -# of PrintCore types. -# -# The code below ensures these functions actually -# work as expected. -# -_PMRetain = mod.PMRetain -_PMRelease = mod.PMRelease - - -@functools.wraps(_PMRetain) -def PMRetain(value): - return _PMRetain(value.__pointer__) - - -@functools.wraps(_PMRelease) -def PMRelease(value): - return _PMRelease(value.__pointer__) - - -mod.PMRetain = PMRetain -mod.PMRelease = PMRelease diff --git a/src/lib/PrintCore/_metadata.py b/src/lib/PrintCore/_metadata.py deleted file mode 100644 index 23d7d25..0000000 --- a/src/lib/PrintCore/_metadata.py +++ /dev/null @@ -1,857 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Fri Mar 11 13:04:50 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "PMPaperMargins": objc.createStructType( - "PrintCore.PMPaperMargins", - b"{PMRect=dddd}", - ["top", "left", "bottom", "right"], - ), - "PMResolution": objc.createStructType( - "PrintCore.PMResolution", b"{PMResolution=dd}", ["hRes", "vRes"] - ), - "PMLanguageInfo": objc.createStructType( - "PrintCore.PMLanguageInfo", - b"{PMLanguageInfo=[33C][33C][33C]}", - ["level", "version", "release"], - ), - "PMRect": objc.createStructType( - "PrintCore.PMRect", b"{PMRect=dddd}", ["top", "left", "bottom", "right"] - ), - } -) -constants = """$$""" -enums = """$kAllPPDDomains@1$kCUPSPPDDomain@6$kLocalPPDDomain@3$kNetworkPPDDomain@4$kPMAllocationFailure@-108$kPMBorderDoubleHairline@2$kPMBorderDoubleThickline@4$kPMBorderSingleHairline@1$kPMBorderSingleThickline@3$kPMCMYKColorSpaceModel@3$kPMCVMSymbolNotFound@-9662$kPMCancel@128$kPMCloseFailed@-9785$kPMColorSpaceModelCount@4$kPMCoverPageAfter@3$kPMCoverPageBefore@2$kPMCoverPageNone@1$kPMCreateMessageFailed@-9620$kPMDataFormatXMLCompressed@2$kPMDataFormatXMLDefault@0$kPMDataFormatXMLMinimal@1$kPMDeleteSubTicketFailed@-9585$kPMDestinationFax@3$kPMDestinationFile@2$kPMDestinationInvalid@0$kPMDestinationPreview@4$kPMDestinationPrinter@1$kPMDestinationProcessPDF@5$kPMDevNColorSpaceModel@4$kPMDocumentNotFound@-9644$kPMDontSwitchPDEError@-9531$kPMDuplexNoTumble@2$kPMDuplexNone@1$kPMDuplexTumble@3$kPMEditRequestFailed@-9544$kPMFeatureNotInstalled@-9533$kPMFileOrDirOperationFailed@-9634$kPMFontNameTooLong@-9704$kPMFontNotFound@-9703$kPMGeneralCGError@-9705$kPMGeneralError@-30870$kPMGrayColorSpaceModel@1$kPMHideInlineItems@0$kPMIOAttrNotAvailable@-9787$kPMIOMSymbolNotFound@-9661$kPMInternalError@-30870$kPMInvalidAllocator@-30890$kPMInvalidCVMContext@-9665$kPMInvalidCalibrationTarget@-30898$kPMInvalidConnection@-30887$kPMInvalidFileType@-30895$kPMInvalidIOMContext@-9664$kPMInvalidIndex@-30882$kPMInvalidItem@-30892$kPMInvalidJobID@-9666$kPMInvalidJobTemplate@-30885$kPMInvalidKey@-30888$kPMInvalidLookupSpec@-9542$kPMInvalidObject@-30896$kPMInvalidPBMRef@-9540$kPMInvalidPDEContext@-9530$kPMInvalidPMContext@-9663$kPMInvalidPageFormat@-30876$kPMInvalidPaper@-30897$kPMInvalidParameter@-50$kPMInvalidPreset@-30899$kPMInvalidPrintSession@-30879$kPMInvalidPrintSettings@-30875$kPMInvalidPrinter@-30880$kPMInvalidPrinterAddress@-9780$kPMInvalidPrinterInfo@-30886$kPMInvalidReply@-30894$kPMInvalidState@-9706$kPMInvalidSubTicket@-9584$kPMInvalidTicket@-30891$kPMInvalidType@-30893$kPMInvalidValue@-30889$kPMItemIsLocked@-9586$kPMJobBusy@-9642$kPMJobCanceled@-9643$kPMJobGetTicketBadFormatError@-9672$kPMJobGetTicketReadError@-9673$kPMJobManagerAborted@-9671$kPMJobNotFound@-9641$kPMJobStreamEndError@-9670$kPMJobStreamOpenFailed@-9668$kPMJobStreamReadFailed@-9669$kPMKeyNotFound@-9589$kPMKeyNotUnique@-9590$kPMKeyOrValueNotFound@-9623$kPMLandscape@2$kPMLastErrorCodeToMakeMaintenanceOfThisListEasier@-9799$kPMLayoutBottomTopLeftRight@7$kPMLayoutBottomTopRightLeft@8$kPMLayoutLeftRightBottomTop@2$kPMLayoutLeftRightTopBottom@1$kPMLayoutRightLeftBottomTop@4$kPMLayoutRightLeftTopBottom@3$kPMLayoutTopBottomLeftRight@5$kPMLayoutTopBottomRightLeft@6$kPMLockIgnored@-30878$kPMMessagingError@-9624$kPMNoDefaultItem@-9500$kPMNoDefaultPrinter@-30872$kPMNoDefaultSettings@-9501$kPMNoError@0$kPMNoPrinterJobID@-9667$kPMNoSelectedPrinters@-9541$kPMNoSuchEntry@-30874$kPMNotImplemented@-30873$kPMObjectInUse@-30881$kPMOpenFailed@-9781$kPMOutOfScope@-30871$kPMPMSymbolNotFound@-9660$kPMPageToPaperMappingNone@1$kPMPageToPaperMappingScaleToFit@2$kPMPaperTypeCoated@2$kPMPaperTypeGlossy@4$kPMPaperTypePlain@1$kPMPaperTypePremium@3$kPMPaperTypeTShirt@6$kPMPaperTypeTransparency@5$kPMPaperTypeUnknown@0$kPMPermissionError@-9636$kPMPluginNotFound@-9701$kPMPluginRegisterationFailed@-9702$kPMPortrait@1$kPMPrBrowserNoUI@-9545$kPMPrintAllPages@-1$kPMPrinterIdle@3$kPMPrinterProcessing@4$kPMPrinterStopped@5$kPMQualityBest@13$kPMQualityDraft@4$kPMQualityHighest@15$kPMQualityInkSaver@1$kPMQualityLowest@0$kPMQualityNormal@8$kPMQualityPhoto@11$kPMQueueAlreadyExists@-9639$kPMQueueJobFailed@-9640$kPMQueueNotFound@-9638$kPMRGBColorSpaceModel@2$kPMReadFailed@-9782$kPMReadGotZeroData@-9788$kPMReverseLandscape@4$kPMReversePortrait@3$kPMScalingCenterOnImgArea@6$kPMScalingCenterOnPaper@5$kPMScalingPinBottomLeft@3$kPMScalingPinBottomRight@4$kPMScalingPinTopLeft@1$kPMScalingPinTopRight@2$kPMServerAlreadyRunning@-9631$kPMServerAttributeRestricted@-9633$kPMServerCommunicationFailed@-9621$kPMServerNotFound@-9630$kPMServerSuspended@-9632$kPMShowDefaultInlineItems@32768$kPMShowInlineCopies@1$kPMShowInlineOrientation@8$kPMShowInlinePageRange@2$kPMShowInlinePageRangeWithSelection@64$kPMShowInlinePaperSize@4$kPMShowInlineScale@128$kPMShowPageAttributesPDE@256$kPMSimplexTumble@4$kPMStatusFailed@-9784$kPMStringConversionFailure@-30883$kPMSubTicketNotFound@-9583$kPMSyncRequestFailed@-9543$kPMTemplateIsLocked@-9588$kPMTicketIsLocked@-9587$kPMTicketTypeNotFound@-9580$kPMUnableToFindProcess@-9532$kPMUnexpectedImagingError@-9707$kPMUnknownColorSpaceModel@0$kPMUnknownDataType@-9591$kPMUnknownMessage@-9637$kPMUnlocked@0$kPMUnsupportedConnection@-9786$kPMUpdateTicketFailed@-9581$kPMUserOrGroupNotFound@-9635$kPMValidateTicketFailed@-9582$kPMValueOutOfRange@-30877$kPMWriteFailed@-9783$kPMXMLParseError@-30884$kSystemPPDDomain@2$kUserPPDDomain@5$""" -misc.update({"PMDataFormat": NewType("PMDataFormat", int)}) -misc.update({}) -misc.update( - { - "kPMNoPrintSettings": None, - "kPMMirrorStr": b"mirror", - "kPMFaxCoverSheetMessageStr": b"faxCoverSheetMessage", - "kPMUseOptionalAccountIDStr": b"com.apple.print.PrintSettings.PMUseOptionalAccountID", - "kPMSecondaryPaperFeedStr": b"com.apple.print.PrintSettings.PMSecondaryPaperFeed", - "kPMTotalSidesImagedStr": b"com.apple.print.PrintSettings.PMTotalSidesImaged", - "kPMSchedulerPDEKindID": "com.apple.print.pde.SchedulerKind", - "kPMServerLocal": None, - "kPMJobPINPDEKindID": "com.apple.print.pde.jobPIN", - "kPMPageToPaperMappingTypeStr": b"com.apple.print.PageToPaperMappingType", - "SUMMARY_DISPLAY_ORDER": "Summary, Display, Order", - "kPMColorPDEKindID": "com.apple.print.pde.ColorKind", - "kPMBorderTypeStr": b"com.apple.print.PrintSettings.PMBorderType", - "kPMPrinterFeaturesPDEKindID": "com.apple.print.pde.PrinterFeaturesKind", - "kPMGraphicsContextCoreGraphics": "com.apple.graphicscontext.coregraphics", - "kPMColorSyncProfileIDStr": b"com.apple.print.PrintSettings.PMColorSyncProfileID", - "kPMFaxToneDialingStr": b"faxToneDialing", - "kPDFWorkflowItemsKey": "items", - "kPMCoverPagePDEKindID": "com.apple.print.pde.CoverPageKind", - "kPMFaxSubjectLabelStr": b"faxSubjectLabel", - "kGeneralPageSetupDialogTypeIDStr": "6E6ED964-B738-11D3-952F-0050E4603277", - "kPMCopiesAndPagesPDEKindID": "com.apple.print.pde.CopiesAndPagesKind", - "kAppPageSetupDialogTypeIDStr": "B9A0DA98-E57F-11D3-9E83-0050E4603277", - "kPMDocumentFormatDefault": "com.apple.documentformat.default", - "kPDFWorkflowDisplayNameKey": "displayName", - "kPMNoPageFormat": None, - "kPMImagingOptionsPDEKindID": "com.apple.print.pde.ImagingOptionsKind", - "kPDFWorkflowModifiedKey": "wasModifiedInline", - "kPMPrintSelectionOnlyStr": b"com.apple.print.PrintSettings.PMPrintSelectionOnly", - "kPMDestinationPrinterIDStr": b"DestinationPrinterID", - "kPMJobPriorityStr": b"com.apple.print.PrintSettings.PMJobPriority", - "kPMLayoutTileOrientationStr": b"com.apple.print.PrintSettings.PMLayoutTileOrientation", - "kPrinterModuleTypeIDStr": "BDB091F4-E57F-11D3-B5CC-0050E4603277", - "kPMInkPDEKindID": "com.apple.print.pde.InkKind", - "kPMSandboxCompatiblePDEs": "PMSandboxCompatiblePDEs", - "kPMPrimaryPaperFeedStr": b"com.apple.print.PrintSettings.PMPrimaryPaperFeed", - "kPMFaxUseSoundStr": b"faxUseSound", - "kPMPSErrorHandlerStr": b"com.apple.print.PrintSettings.PMPSErrorHandler", - "kPMTotalBeginPagesStr": b"com.apple.print.PrintSettings.PMTotalBeginPages", - "kPMBorderStr": b"com.apple.print.PrintSettings.PMBorder", - "kPMGraphicsContextDefault": "com.apple.graphicscontext.default", - "kPMPrintSelectionTitleKey": "com.apple.printSelection.title", - "kDialogExtensionIntfIDStr": "A996FD7E-B738-11D3-8519-0050E4603277", - "kPMInlineWorkflowStr": b"inlineWorkflow", - "kPMLayoutColumnsStr": b"com.apple.print.PrintSettings.PMLayoutColumns", - "kPMPageSetStr": b"page-set", - "kPMFaxModemPDEKindID": "com.apple.print.pde.FaxModemKind", - "kPMPageToPaperMediaNameStr": b"com.apple.print.PageToPaperMappingMediaName", - "kPMPageAttributesKindID": "com.apple.print.pde.PageAttributesKind", - "kPMLayoutNUpStr": b"com.apple.print.PrintSettings.PMLayoutNUp", - "kPMLayoutPDEKindID": "com.apple.print.pde.LayoutUserOptionKind", - "kAppPrintDialogTypeIDStr": "BCB07250-E57F-11D3-8CA6-0050E4603277", - "kPMUseOptionalPINStr": b"com.apple.print.PrintSettings.PMUseOptionalPIN", - "kPMErrorHandlingPDEKindID": "com.apple.print.pde.ErrorHandlingKind", - "kPMApplicationColorMatchingStr": b"AP_ApplicationColorMatching", - "kPMPresetGraphicsTypeAll": "All", - "kPMCopyCollateStr": b"com.apple.print.PrintSettings.PMCopyCollate", - "kPMPSTraySwitchStr": b"com.apple.print.PrintSettings.PMPSTraySwitch", - "kPMOutputFilenameStr": b"com.apple.print.PrintSettings.PMOutputFilename", - "kPMUnsupportedPDEKindID": "com.apple.print.pde.UnsupportedPDEKind", - "kPMCustomProfilePathStr": b"PMCustomProfilePath", - "kPMLayoutDirectionStr": b"com.apple.print.PrintSettings.PMLayoutDirection", - "kPMFaxCoverPagePDEKindID": "com.apple.print.pde.FaxCoverPageKind", - "kPMFaxSheetsLabelStr": b"faxSheetsLabel", - "kPMFaxToLabelStr": b"faxToLabel", - "kPMFaxWaitForDialToneStr": b"faxWaitForDialTone", - "kGeneralPrintDialogTypeIDStr": "C1BF838E-B72A-11D3-9644-0050E4603277", - "kPMJobStateStr": b"com.apple.print.PrintSettings.PMJobState", - "kPMLayoutRowsStr": b"com.apple.print.PrintSettings.PMLayoutRows", - "kPMDocumentFormatPDF": "application/pdf", - "kPMOutputOptionsPDEKindID": "com.apple.print.pde.OutputOptionsKind", - "kPDFWorkflowItemURLKey": "itemURL", - "kPMPPDDescriptionType": "PMPPDDescriptionType", - "kPMPresetGraphicsTypeNone": "None", - "kPMCopiesStr": b"com.apple.print.PrintSettings.PMCopies", - "kPMPresetGraphicsTypeGeneral": "General", - "kPMColorMatchingModeStr": b"AP_ColorMatchingMode", - "kAppPrintThumbnailTypeIDStr": "9320FE03-B5D5-11D5-84D1-003065D6135E", - "kPMFaxAddressesPDEKindID": "com.apple.print.pde.FaxAddressesKind", - "kPMFitToPageStr": b"fit-to-page", - "kPMFaxSubjectStr": b"faxSubject", - "kPMPresetGraphicsTypeKey": "com.apple.print.preset.graphicsType", - "kPMCustomPaperSizePDEKindID": "com.apple.print.pde.CustomPaperSizeKind", - "kPMJobHoldUntilTimeStr": b"com.apple.print.PrintSettings.PMJobHoldUntilTime", - "kPMCoverPageStr": b"com.apple.print.PrintSettings.PMCoverPage", - "kPMDuplexPDEKindID": "com.apple.print.pde.DuplexKind", - "kPMFaxDateLabelStr": b"faxDateLabel", - "kPMPageToPaperMappingAllowScalingUpStr": b"com.apple.print.PageToPaperMappingAllowScalingUp", - "kPMFaxNumberStr": b"phone", - "kPMCoverPageSourceStr": b"com.apple.print.PrintSettings.PMCoverPageSource", - "kPMDestinationTypeStr": b"com.apple.print.PrintSettings.PMDestinationType", - "kPMFaxPrefixStr": b"faxPrefix", - "kPMVendorColorMatchingStr": b"AP_VendorColorMatching", - "kPMPriorityPDEKindID": "com.apple.print.pde.PriorityKind", - "kPMPaperSourcePDEKindID": "com.apple.print.pde.PaperSourceKind", - "kPMPaperFeedPDEKindID": "com.apple.print.pde.PaperFeedKind", - "kPMUniPrinterPDEKindID": "com.apple.print.pde.UniPrinterKind", - "kPMColorMatchingPDEKindID": "com.apple.print.pde.ColorMatchingKind", - "kPMFaxFromLabelStr": b"faxFromLabel", - "kPMMediaQualityPDEKindID": "com.apple.print.pde.MediaQualityPDEKind", - "kPMDocumentFormatPostScript": "application/postscript", - "kPMPresetGraphicsTypePhoto": "Photo", - "kPMDuplexingStr": b"com.apple.print.PrintSettings.PMDuplexing", - "kPMPaperHandlingPDEKindID": "com.apple.print.pde.PaperHandlingKind", - "kPMFaxToStr": b"faxTo", - "kPMSummaryPanelKindID": "com.apple.print.pde.SummaryKind", - "kPMRotationScalingPDEKindID": "com.apple.print.pde.RotationScalingKind", - "kPMPDFEffectsPDEKindID": "com.apple.print.pde.PDFEffects", - "kPMOutputOrderStr": b"OutputOrder", - "kPMFaxCoverSheetStr": b"faxCoverSheet", - } -) -functions = { - "PMSetPageRange": (b"i^{OpaquePMPrintSettings=}II",), - "PMPaperGetPPDPaperName": ( - b"i^{OpaquePMPaper=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMGetCopies": ( - b"i^{OpaquePMPrintSettings=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterGetOutputResolution": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^{PMResolution=dd}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMPrinterCopyPresets": ( - b"i^{OpaquePMPrinter=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMGetLastPage": ( - b"i^{OpaquePMPrintSettings=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPaperGetWidth": ( - b"i^{OpaquePMPaper=}^d", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMGetPageFormatPaper": ( - b"i^{OpaquePMPageFormat=}^^{OpaquePMPaper=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterIsDefault": (b"Z^{OpaquePMPrinter=}",), - "PMGetPageFormatExtendedData": ( - b"i^{OpaquePMPageFormat=}I^I^v", - "", - { - "arguments": { - 2: {"type_modifier": "N"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "o"}, - } - }, - ), - "PMPaperCreateLocalizedName": ( - b"i^{OpaquePMPaper=}^{OpaquePMPrinter=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSessionError": (b"i^{OpaquePMPrintSession=}",), - "PMPresetGetAttributes": ( - b"i^{OpaquePMPreset=}^^{__CFDictionary=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterGetPaperList": ( - b"i^{OpaquePMPrinter=}^^{__CFArray=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionCopyDestinationFormat": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterSendCommand": ( - b"i^{OpaquePMPrinter=}^{__CFString=}^{__CFString=}^{__CFDictionary=}", - ), - "PMPrinterIsPostScriptPrinter": ( - b"i^{OpaquePMPrinter=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionCreatePrinterList": ( - b"i^{OpaquePMPrintSession=}^^{__CFArray=}^q^^{OpaquePMPrinter=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"already_cfretained": True, "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - }, - }, - ), - "PMGetFirstPage": ( - b"i^{OpaquePMPrintSettings=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMWorkflowSubmitPDFWithSettings": ( - b"i^{__CFURL=}^{OpaquePMPrintSettings=}^{__CFURL=}", - ), - "PMCGImageCreateWithEPSDataProvider": ( - b"^{CGImage=}^{CGDataProvider=}^{CGImage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PMPrintSettingsCopyAsDictionary": ( - b"i^{OpaquePMPrintSettings=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterPrintWithProvider": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^{OpaquePMPageFormat=}^{__CFString=}^{CGDataProvider=}", - ), - "PMGetPageRange": ( - b"i^{OpaquePMPrintSettings=}^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "PMSessionEndPageNoDialog": (b"i^{OpaquePMPrintSession=}",), - "PMGetOrientation": ( - b"i^{OpaquePMPageFormat=}^S", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPageFormatCreateWithDataRepresentation": ( - b"i^{__CFData=}^^{OpaquePMPageFormat=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "PMGetCollate": ( - b"i^{OpaquePMPrintSettings=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPresetCreatePrintSettings": ( - b"i^{OpaquePMPreset=}^{OpaquePMPrintSession=}^^{OpaquePMPrintSettings=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "PMSetCollate": (b"i^{OpaquePMPrintSettings=}Z",), - "PMPrinterIsRemote": ( - b"i^{OpaquePMPrinter=}^Z", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrintSettingsGetJobName": ( - b"i^{OpaquePMPrintSettings=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSetDuplex": (b"i^{OpaquePMPrintSettings=}I",), - "PMPrinterGetMimeTypes": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^^{__CFArray=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMPrinterIsPostScriptCapable": (b"Z^{OpaquePMPrinter=}",), - "PMPrintSettingsSetJobName": (b"i^{OpaquePMPrintSettings=}^{__CFString=}",), - "PMSessionCopyOutputFormatList": ( - b"i^{OpaquePMPrintSession=}S^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSetPageFormatExtendedData": ( - b"i^{OpaquePMPageFormat=}II^v", - "", - {"arguments": {3: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "PMPrinterCreateFromPrinterID": ( - b"^{OpaquePMPrinter=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PMPrinterIsFavorite": (b"Z^{OpaquePMPrinter=}",), - "PMPrintSettingsCreateWithDataRepresentation": ( - b"i^{__CFData=}^^{OpaquePMPrintSettings=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "PMPageFormatCreateDataRepresentation": ( - b"i^{OpaquePMPageFormat=}^^{__CFData=}I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSessionDefaultPageFormat": (b"i^{OpaquePMPrintSession=}^{OpaquePMPageFormat=}",), - "PMCopyPrintSettings": ( - b"i^{OpaquePMPrintSettings=}^{OpaquePMPrintSettings=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PMPrinterGetCommInfo": ( - b"i^{OpaquePMPrinter=}^Z^Z", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "PMPrinterGetLocation": (b"^{__CFString=}^{OpaquePMPrinter=}",), - "PMPageFormatGetPrinterID": ( - b"i^{OpaquePMPageFormat=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMRetain": (b"i^v",), - "PMSessionGetCGGraphicsContext": ( - b"i^{OpaquePMPrintSession=}^^{CGContext=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionSetCurrentPMPrinter": (b"i^{OpaquePMPrintSession=}^{OpaquePMPrinter=}",), - "PMPrinterGetID": (b"^{__CFString=}^{OpaquePMPrinter=}",), - "PMPaperIsCustom": (b"Z^{OpaquePMPaper=}",), - "PMGetUnadjustedPageRect": ( - b"i^{OpaquePMPageFormat=}^{PMRect=dddd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSetOrientation": (b"i^{OpaquePMPageFormat=}SZ",), - "PMCreateGenericPrinter": ( - b"i^^{OpaquePMPrinter=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "PMGetAdjustedPaperRect": ( - b"i^{OpaquePMPageFormat=}^{PMRect=dddd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMCopyLocalizedPPD": ( - b"i^{__CFURL=}^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPaperGetID": ( - b"i^{OpaquePMPaper=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPaperGetHeight": ( - b"i^{OpaquePMPaper=}^d", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterCopyDeviceURI": ( - b"i^{OpaquePMPrinter=}^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPaperCreateCustom": ( - b"i^{OpaquePMPrinter=}^{__CFString=}^{__CFString=}dd^{PMRect=dddd}^^{OpaquePMPaper=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {5: {"type_modifier": "n"}, 6: {"type_modifier": "o"}}, - }, - ), - "PMSessionEndDocumentNoDialog": (b"i^{OpaquePMPrintSession=}",), - "PMServerCreatePrinterList": ( - b"i^{OpaquePMServer=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterGetDriverCreator": ( - b"i^{OpaquePMPrinter=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionCopyDestinationLocation": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterGetIndexedPrinterResolution": ( - b"i^{OpaquePMPrinter=}I^{PMResolution=dd}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMSessionCreatePageFormatList": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrinter=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterCopyHostName": ( - b"i^{OpaquePMPrinter=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSetScale": (b"i^{OpaquePMPageFormat=}d",), - "PMPrinterPrintWithFile": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^{OpaquePMPageFormat=}^{__CFString=}^{__CFURL=}", - ), - "PMSessionSetDataInSession": (b"i^{OpaquePMPrintSession=}^{__CFString=}@",), - "PMPaperGetPrinterID": ( - b"i^{OpaquePMPaper=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionValidatePrintSettings": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}^Z", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMPaperGetMargins": ( - b"i^{OpaquePMPaper=}^{PMRect=dddd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterCopyState": ( - b"i^{OpaquePMPrinter=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrintSettingsGetValue": ( - b"i^{OpaquePMPrintSettings=}^{__CFString=}^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMCreatePageFormat": ( - b"i^^{OpaquePMPageFormat=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "PMSessionBeginPageNoDialog": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPageFormat=}^{PMRect=dddd}", - ), - "PMPrinterGetLanguageInfo": ( - b"i^{OpaquePMPrinter=}^{PMLanguageInfo=[33C][33C][33C]}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSetLastPage": (b"i^{OpaquePMPrintSettings=}IZ",), - "PMCopyPPDData": ( - b"i^{__CFURL=}^^{__CFData=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSessionGetDataFromSession": ( - b"i^{OpaquePMPrintSession=}^{__CFString=}^@", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMPrintSettingsCreateDataRepresentation": ( - b"i^{OpaquePMPrintSettings=}^^{__CFData=}I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMPrinterGetDriverReleaseInfo": ( - b"i^{OpaquePMPrinter=}^{VersRec={NumVersion=CCCC}s[256C][256C]}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionSetError": (b"i^{OpaquePMPrintSession=}i",), - "PMSessionSetDestination": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}S^{__CFString=}^{__CFURL=}", - ), - "PMSessionBeginCGDocumentNoDialog": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}^{OpaquePMPageFormat=}", - ), - "PMSessionGetDestinationType": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}^S", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMCreateSession": ( - b"i^^{OpaquePMPrintSession=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "PMServerLaunchPrinterBrowser": (b"i^{OpaquePMServer=}^{__CFDictionary=}",), - "PMCopyPageFormat": ( - b"i^{OpaquePMPageFormat=}^{OpaquePMPageFormat=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "PMPrinterGetName": (b"^{__CFString=}^{OpaquePMPrinter=}",), - "PMCopyAvailablePPDs": ( - b"iS^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSessionDefaultPrintSettings": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPrintSettings=}", - ), - "PMPrinterWritePostScriptToURL": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^{OpaquePMPageFormat=}^{__CFString=}^{__CFURL=}^{__CFURL=}", - ), - "PMPrinterSetDefault": (b"i^{OpaquePMPrinter=}",), - "PMPrinterSetOutputResolution": ( - b"i^{OpaquePMPrinter=}^{OpaquePMPrintSettings=}^{PMResolution=dd}", - "", - {"arguments": {2: {"type_modifier": "n"}}}, - ), - "PMPrinterGetState": ( - b"i^{OpaquePMPrinter=}^S", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMWorkflowSubmitPDFWithOptions": ( - b"i^{__CFURL=}^{__CFString=}^t^{__CFURL=}", - "", - {"arguments": {2: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "PMGetScale": ( - b"i^{OpaquePMPageFormat=}^d", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSetFirstPage": (b"i^{OpaquePMPrintSettings=}IZ",), - "PMWorkflowCopyItems": ( - b"i^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMGetAdjustedPageRect": ( - b"i^{OpaquePMPageFormat=}^{PMRect=dddd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterCopyDescriptionURL": ( - b"i^{OpaquePMPrinter=}^{__CFString=}^^{__CFURL=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMCreatePrintSettings": ( - b"i^^{OpaquePMPrintSettings=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "PMPrintSettingsSetValue": (b"i^{OpaquePMPrintSettings=}^{__CFString=}@Z",), - "PMGetDuplex": ( - b"i^{OpaquePMPrintSettings=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterGetMakeAndModelName": ( - b"i^{OpaquePMPrinter=}^^{__CFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPresetCopyName": ( - b"i^{OpaquePMPreset=}^^{__CFString=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMSessionGetCurrentPrinter": ( - b"i^{OpaquePMPrintSession=}^^{OpaquePMPrinter=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMPrinterGetPrinterResolutionCount": ( - b"i^{OpaquePMPrinter=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSetCopies": (b"i^{OpaquePMPrintSettings=}IZ",), - "PMGetUnadjustedPaperRect": ( - b"i^{OpaquePMPageFormat=}^{PMRect=dddd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "PMSessionValidatePageFormat": ( - b"i^{OpaquePMPrintSession=}^{OpaquePMPageFormat=}^Z", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "PMPrintSettingsCopyKeys": ( - b"i^{OpaquePMPrintSettings=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "PMCreatePageFormatWithPMPaper": ( - b"i^^{OpaquePMPageFormat=}^{OpaquePMPaper=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"type_modifier": "o"}}, - }, - ), - "PMRelease": (b"i^v",), -} -aliases = { - "kPMPrintTimeAEType": "cLongDateTime", - "kPMDontWantData": "objc.NULL", - "kPMNoReference": "objc.NULL", - "kPMLastPageAEType": "typeSInt32", - "kPMFeatureAEType": "typeAEList", - "kPMDestinationTypeDefault": "kPMDestinationPrinter", - "kPMAllocationFailure": "memFullErr", - "kPMNoError": "noErr", - "kPMInternalError": "kPMGeneralError", - "kPMPDFWorkFlowAEType": "typeUTF8Text", - "kPMFaxNumberAEType": "typeChar", - "kPMErrorHandlingAEType": "typeEnumerated", - "kPMSaveAsPDFAEType": "typeFileURL", - "kPMDuplexDefault": "kPMDuplexNone", - "kPMDontWantBoolean": "objc.NULL", - "kPMTargetPrinterAEType": "typeChar", - "kPMCollateAEType": "typeBoolean", - "kPMCopieAEType": "typeSInt32", - "kPMFirstPageAEType": "typeSInt32", - "kPMLayoutDownAEType": "typeSInt32", - "kPMNoData": "objc.NULL", - "kPMDontWantSize": "objc.NULL", - "kPMSaveAsPSAEType": "typeFileURL", - "kPMPresetAEType": "typeUTF8Text", - "kPMLayoutAcrossAEType": "typeSInt32", - "kPMInvalidParameter": "paramErr", -} -misc.update( - { - "PMPrintSettings": objc.createOpaquePointerType( - "PMPrintSettings", b"^{OpaquePMPrintSettings}" - ), - "PMPrintSession": objc.createOpaquePointerType( - "PMPrintSession", b"^{OpaquePMPrintSession}" - ), - "PMPageFormat": objc.createOpaquePointerType( - "PMPageFormat", b"^{OpaquePMPageFormat}" - ), - "PMPaper": objc.createOpaquePointerType("PMPaper", b"^{OpaquePMPaper}"), - "PMPreset": objc.createOpaquePointerType("PMPreset", b"^{OpaquePMPreset}"), - "PMPrinter": objc.createOpaquePointerType("PMPrinter", b"^{OpaquePMPrinter}"), - "PMServer": objc.createOpaquePointerType("PMServer", b"^{OpaquePMServer}"), - } -) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSObject", b"initWithBundle:", {"retval": {"type": "Z"}}) - r(b"NSObject", b"printWindowWillClose:", {"arguments": {2: {"type": "Z"}}}) - r( - b"NSObject", - b"restoreValuesAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"saveValuesAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"shouldHide", {"retval": {"type": "Z"}}) - r(b"NSObject", b"shouldPrint", {"retval": {"type": "Z"}}) - r(b"NSObject", b"shouldShowHelp", {"retval": {"type": "Z"}}) - r(b"NSObject", b"willChangePPDOptionKeyValue:ppdChoice:", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = { - "kPMLayoutTileOrientationKey": "kPMLayoutTileOrientationStr.decode('utf-8')", - "kPMColorSyncProfileIDKey": "kPMColorSyncProfileIDStr.decode('utf-8')", - "kPMFaxSheetsLabelKey": "kPMFaxSheetsLabelStr.decode('utf-8')", - "kPMUseOptionalAccountIDKey": "kPMUseOptionalAccountIDStr.decode('utf-8')", - "kPMJobPriorityKey": "kPMJobPriorityStr.decode('utf-8')", - "kPMLayoutNUpKey": "kPMLayoutNUpStr.decode('utf-8')", - "kPMCoverPageDefault": "(kPMCoverPageNone)", - "kPMPSTraySwitchKey": "kPMPSTraySwitchStr.decode('utf-8')", - "kPMColorMatchingModeKey": "kPMColorMatchingModeStr.decode('utf-8')", - "kPMJobStateKey": "kPMJobStateStr.decode('utf-8')", - "kPMPrintSelectionOnlyKey": "kPMPrintSelectionOnlyStr.decode('utf-8')", - "kPMFaxNumberKey": "kPMFaxNumberStr.decode('utf-8')", - "kPMLayoutRowsKey": "kPMLayoutRowsStr.decode('utf-8')", - "kPMFitToPageKey": "kPMFitToPageStr.decode('utf-8')", - "kPMDestinationPrinterIDKey": "kPMDestinationPrinterIDStr.decode('utf-8')", - "kPMFaxDateLabelKey": "kPMFaxDateLabelStr.decode('utf-8')", - "kPMFaxSubjectLabelKey": "kPMFaxSubjectLabelStr.decode('utf-8')", - "kPMBorderTypeKey": "kPMBorderTypeStr.decode('utf-8')", - "kPMUseOptionalPINKey": "kPMUseOptionalPINStr.decode('utf-8')", - "kPMFaxSubjectKey": "kPMFaxSubjectStr.decode('utf-8')", - "kPMTotalSidesImagedKey": "kPMTotalSidesImagedStr.decode('utf-8')", - "kPMPageSetKey": "CFSTR(kPMPageSetStr)", - "kPMCoverPageKey": "kPMCoverPageStr.decode('utf-8')", - "kPMFaxFromLabelKey": "kPMFaxFromLabelStr.decode('utf-8')", - "kPMSecondaryPaperFeedKey": "kPMSecondaryPaperFeedStr.decode('utf-8')", - "kPMFaxWaitForDialToneKey": "kPMFaxWaitForDialToneStr.decode('utf-8')", - "kPMLayoutDirectionKey": "kPMLayoutDirectionStr.decode('utf-8')", - "kPMDestinationTypeKey": "kPMDestinationTypeStr.decode('utf-8')", - "kPMDuplexingKey": "kPMDuplexingStr.decode('utf-8')", - "kPMCopiesKey": "kPMCopiesStr.decode('utf-8')", - "kPMVendorColorMatching": "kPMVendorColorMatchingStr.decode('utf-8')", - "kPMFaxPrefixKey": "kPMFaxPrefixStr.decode('utf-8')", - "kPMFaxCoverSheetMessageKey": "kPMFaxCoverSheetMessageStr.decode('utf-8')", - "kPMFaxToLabelKey": "kPMFaxToLabelStr.decode('utf-8')", - "kPMFaxToneDialingKey": "kPMFaxToneDialingStr.decode('utf-8')", - "kPMPrimaryPaperFeedKey": "kPMPrimaryPaperFeedStr.decode('utf-8')", - "kPMCoverPageSourceKey": "kPMCoverPageSourceStr.decode('utf-8')", - "kPMOutputFilenameKey": "kPMOutputFilenameStr.decode('utf-8')", - "kPMOutputOrderKey": "CFSTR(kPMOutputOrderStr)", - "kPMCopyCollateKey": "kPMCopyCollateStr.decode('utf-8')", - "kPMInlineWorkflowKey": "kPMInlineWorkflowStr.decode('utf-8')", - "kPMPageToPaperMappingAllowScalingUpKey": "CFSTR(kPMPageToPaperMappingAllowScalingUpStr)", - "kPMFaxUseSoundKey": "kPMFaxUseSoundStr.decode('utf-8')", - "kPMBorderKey": "kPMBorderStr.decode('utf-8')", - "kPMFaxToKey": "kPMFaxToStr.decode('utf-8')", - "kPMApplicationColorMatching": "kPMApplicationColorMatchingStr.decode('utf-8')", - "kPMFaxCoverSheetKey": "kPMFaxCoverSheetStr.decode('utf-8')", - "kPMJobHoldUntilTimeKey": "kPMJobHoldUntilTimeStr.decode('utf-8')", - "kPMMirrorKey": "CFSTR(kPMMirrorStr)", - "kPMLayoutColumnsKey": "kPMLayoutColumnsStr.decode('utf-8')", - "kPMTotalBeginPagesKey": "kPMTotalBeginPagesStr.decode('utf-8')", - "kPMPageToPaperMediaNameKey": "CFSTR(kPMPageToPaperMediaNameStr)", - "kPMCustomProfilePathKey": "kPMCustomProfilePathStr.decode('utf-8')", - "kPMPSErrorHandlerKey": "kPMPSErrorHandlerStr.decode('utf-8')", - "kPMPageToPaperMappingTypeKey": "CFSTR(kPMPageToPaperMappingTypeStr)", -} - -# END OF FILE diff --git a/src/lib/PushKit/__init__.py b/src/lib/PushKit/__init__.py deleted file mode 100644 index d69e4d7..0000000 --- a/src/lib/PushKit/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the PushKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from PushKit import _metadata, _PushKit - -sys.modules["PushKit"] = mod = objc.ObjCLazyModule( - "PushKit", - "com.apple.pushkit", - objc.pathForFramework("/System/Library/Frameworks/PushKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_PushKit, Foundation), -) - - -del sys.modules["PushKit._metadata"] diff --git a/src/lib/PushKit/_metadata.py b/src/lib/PushKit/_metadata.py deleted file mode 100644 index e200a11..0000000 --- a/src/lib/PushKit/_metadata.py +++ /dev/null @@ -1,92 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:20:32 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$PKPushTypeComplication$PKPushTypeFileProvider$PKPushTypeVoIP$""" -enums = """$$""" -misc.update({}) -misc.update({"PKPushType": NewType("PKPushType", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"pushRegistry:didInvalidatePushTokenForType:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pushRegistry:didReceiveIncomingPushWithPayload:forType:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"pushRegistry:didReceiveIncomingPushWithPayload:forType:withCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"pushRegistry:didUpdatePushCredentials:forType:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/PyObjCTools/AppCategories.py b/src/lib/PyObjCTools/AppCategories.py deleted file mode 100644 index 14ede23..0000000 --- a/src/lib/PyObjCTools/AppCategories.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -A number of useful categories on AppKit classes -""" -__all__ = () -import objc -from AppKit import NSAnimationContext, NSGraphicsContext - - -class _ctxHelper: - def __enter__(self): - NSGraphicsContext.saveGraphicsState() - - def __exit__(self, exc_type, exc_value, exc_tb): - NSGraphicsContext.restoreGraphicsState() - return False - - -class NSGraphicsContext(objc.Category(NSGraphicsContext)): - @classmethod - def savedGraphicsState(self): - return _ctxHelper() - - -@objc.python_method -def __enter__(cls): - cls.beginGrouping() - - -@objc.python_method -def __exit__(cls, exc_type, exc_value, exc_tb): - cls.endGrouping() - - -# Cannot use a category here because these special methods -# must be defined on the metaclass. -type(NSAnimationContext).__enter__ = __enter__ -type(NSAnimationContext).__exit__ = __exit__ diff --git a/src/lib/PyObjCTools/AppHelper.py b/src/lib/PyObjCTools/AppHelper.py deleted file mode 100644 index 7658264..0000000 --- a/src/lib/PyObjCTools/AppHelper.py +++ /dev/null @@ -1,349 +0,0 @@ -"""AppKit helpers. - -Exported functions: -* runEventLoop - run NSApplicationMain in a safer way -* runConsoleEventLoop - run NSRunLoop.run() in a stoppable manner -* stopEventLoop - stops the event loop or terminates the application -* endSheetMethod - set correct signature for NSSheet callbacks -* callAfter - call a function on the main thread (async) -* callLater - call a function on the main thread after a delay (async) -""" - -__all__ = ( - "runEventLoop", - "runConsoleEventLoop", - "stopEventLoop", - "endSheetMethod", - "callAfter", - "callLater", -) - -import os -import sys -import traceback - -import objc -from AppKit import ( - NSApp, - NSApplicationDidFinishLaunchingNotification, - NSApplicationMain, - NSRunAlertPanel, -) -from Foundation import ( - NSAutoreleasePool, - NSDate, - NSDefaultRunLoopMode, - NSLog, - NSNotificationCenter, - NSObject, - NSRunLoop, - NSThread, - NSTimer, -) -from objc import super - - -class PyObjCMessageRunner(NSObject): - """ - Wraps a Python function and its arguments and allows it to be posted to the - MainThread's `NSRunLoop`. - """ - - def initWithPayload_(self, payload): - """ - Designated initializer. - """ - self = super().init() - if not self: - return None - - self._payload = payload - - return self - - def callAfter(self): - """ - Posts a message to the Main thread, to be executed immediately. - """ - self.performSelectorOnMainThread_withObject_waitUntilDone_( - self.scheduleCallWithDelay_, None, False - ) - - def callLater_(self, delay): - """ - Posts a message to the Main thread, to be executed after the given - delay, in seconds. - """ - self.performSelectorOnMainThread_withObject_waitUntilDone_( - self.scheduleCallWithDelay_, delay, False - ) - - def scheduleCallWithDelay_(self, delay): - """ - This is run once we're on the Main thread. - """ - assert NSThread.isMainThread(), "Call is not executing on the Main thread!" - - # There's no delay, just run the call now. - if not delay: - self.performCall() - return - - # There's a delay, schedule it for later. - self.performSelector_withObject_afterDelay_(self.performCall, None, delay) - - def performCall(self): - """ - Actually runs the payload. - """ - assert NSThread.isMainThread(), "Call is not executing on the Main thread!" - - # Unpack the payload. - (func, args, kwargs) = self._payload - - # Run it. - func(*args, **kwargs) - - -def callAfter(func, *args, **kwargs): - """ - Call a function on the Main thread (async). - """ - pool = NSAutoreleasePool.alloc().init() - runner = PyObjCMessageRunner.alloc().initWithPayload_((func, args, kwargs)) - runner.callAfter() - del runner - del pool - - -def callLater(delay, func, *args, **kwargs): - """ - Call a function on the Main thread after a delay (async). - """ - pool = NSAutoreleasePool.alloc().init() - runner = PyObjCMessageRunner.alloc().initWithPayload_((func, args, kwargs)) - runner.callLater_(delay) - del runner - del pool - - -class PyObjCAppHelperApplicationActivator(NSObject): - def activateNow_(self, aNotification): - NSApp().activateIgnoringOtherApps_(True) - - -class PyObjCAppHelperRunLoopStopper(NSObject): - singletons = {} - - def currentRunLoopStopper(cls): - runLoop = NSRunLoop.currentRunLoop() - return cls.singletons.get(runLoop) - - currentRunLoopStopper = classmethod(currentRunLoopStopper) - - def init(self): - self = super().init() - self.shouldStop = False - return self - - def shouldRun(self): - return not self.shouldStop - - def addRunLoopStopper_toRunLoop_(cls, runLoopStopper, runLoop): - if runLoop in cls.singletons: - raise ValueError("Stopper already registered for this runLoop") - cls.singletons[runLoop] = runLoopStopper - - addRunLoopStopper_toRunLoop_ = classmethod(addRunLoopStopper_toRunLoop_) - - def removeRunLoopStopperFromRunLoop_(cls, runLoop): - if runLoop not in cls.singletons: - raise ValueError("Stopper not registered for this runLoop") - del cls.singletons[runLoop] - - removeRunLoopStopperFromRunLoop_ = classmethod(removeRunLoopStopperFromRunLoop_) - - def stop(self): - self.shouldStop = True - # this should go away when/if runEventLoop uses - # runLoop iteration - if NSApp() is not None: - NSApp().terminate_(self) - - def performStop_(self, sender): - self.stop() - - -def stopEventLoop(): - """ - Stop the current event loop if possible - returns True if it expects that it was successful, False otherwise - """ - stopper = PyObjCAppHelperRunLoopStopper.currentRunLoopStopper() - if stopper is None: - if NSApp() is not None: - NSApp().terminate_(None) - return True - return False - NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_( - 0.0, stopper, "performStop:", None, False - ) - return True - - -def endSheetMethod(meth): - """ - Return a selector that can be used as the delegate callback for - sheet methods - """ - return objc.selector( - meth, signature=b"v@:@" + objc._C_NSInteger + objc._C_NSInteger - ) - - -def unexpectedErrorAlertPanel(): - exceptionInfo = traceback.format_exception_only(*sys.exc_info()[:2])[0].strip() - return NSRunAlertPanel( - "An unexpected error has occurred", - "%@", - "Continue", - "Quit", - None, - "(%s)" % exceptionInfo, - ) - - -def unexpectedErrorAlertPdb(): - import pdb - - traceback.print_exc() - pdb.post_mortem(sys.exc_info()[2]) - return True - - -def machInterrupt(signum): - stopper = PyObjCAppHelperRunLoopStopper.currentRunLoopStopper() - if stopper is not None: - stopper.stop() - elif NSApp() is not None: - NSApp().terminate_(None) - else: - import os - - os._exit(1) - - -def installMachInterrupt(): - import signal - from PyObjCTools import MachSignals - - MachSignals.signal(signal.SIGINT, machInterrupt) - - -def runConsoleEventLoop( - argv=None, installInterrupt=False, mode=NSDefaultRunLoopMode, maxTimeout=3.0 -): - if argv is None: - argv = sys.argv - if installInterrupt: - installMachInterrupt() - runLoop = NSRunLoop.currentRunLoop() - stopper = PyObjCAppHelperRunLoopStopper.alloc().init() - PyObjCAppHelperRunLoopStopper.addRunLoopStopper_toRunLoop_(stopper, runLoop) - try: - - while stopper.shouldRun(): - nextfire = runLoop.limitDateForMode_(mode) - if not stopper.shouldRun(): - break - - soon = NSDate.dateWithTimeIntervalSinceNow_(maxTimeout) - if nextfire is not None: - nextfire = soon.earlierDate_(nextfire) - if not runLoop.runMode_beforeDate_(mode, nextfire): - stopper.stop() - - finally: - PyObjCAppHelperRunLoopStopper.removeRunLoopStopperFromRunLoop_(runLoop) - - -RAISETHESE = (SystemExit, MemoryError, KeyboardInterrupt) - - -def runEventLoop( - argv=None, - unexpectedErrorAlert=None, - installInterrupt=None, - pdb=None, - main=NSApplicationMain, -): - """Run the event loop, ask the user if we should continue if an - exception is caught. Use this function instead of NSApplicationMain(). - """ - if argv is None: - argv = sys.argv - - if pdb is None: - pdb = "USE_PDB" in os.environ - - if pdb: - from PyObjCTools import Debugging - - Debugging.installVerboseExceptionHandler() - # bring it to the front, starting from terminal - # often won't - activator = PyObjCAppHelperApplicationActivator.alloc().init() - NSNotificationCenter.defaultCenter().addObserver_selector_name_object_( - activator, "activateNow:", NSApplicationDidFinishLaunchingNotification, None - ) - else: - Debugging = None - - if installInterrupt is None and pdb: - installInterrupt = True - - if unexpectedErrorAlert is None: - if pdb: - unexpectedErrorAlert = unexpectedErrorAlertPdb - else: - unexpectedErrorAlert = unexpectedErrorAlertPanel - - runLoop = NSRunLoop.currentRunLoop() - stopper = PyObjCAppHelperRunLoopStopper.alloc().init() - PyObjCAppHelperRunLoopStopper.addRunLoopStopper_toRunLoop_(stopper, runLoop) - - firstRun = NSApp() is None - try: - - while stopper.shouldRun(): - try: - if firstRun: - firstRun = False - if installInterrupt: - installMachInterrupt() - main(argv) - else: - NSApp().run() - except RAISETHESE: - traceback.print_exc() - break - except: # noqa: E722, B001 - exctype, e, tb = sys.exc_info() - if isinstance(e, objc.error): - error_str = str(e) - - NSLog("%@", error_str) - elif not unexpectedErrorAlert(): - NSLog("%@", "An exception has occurred:") - traceback.print_exc() - sys.exit(0) - else: - NSLog("%@", "An exception has occurred:") - traceback.print_exc() - else: - break - - finally: - if Debugging is not None: - Debugging.removeExceptionHandler() - PyObjCAppHelperRunLoopStopper.removeRunLoopStopperFromRunLoop_(runLoop) diff --git a/src/lib/PyObjCTools/Conversion.py b/src/lib/PyObjCTools/Conversion.py deleted file mode 100644 index 220ee32..0000000 --- a/src/lib/PyObjCTools/Conversion.py +++ /dev/null @@ -1,238 +0,0 @@ -""" -Conversion.py -- Tools for converting between Python and Objective-C objects. - -Conversion offers API to convert between Python and Objective-C instances of -various classes. Currently, the focus is on Python and Objective-C -collections. -""" - -__all__ = [ - "pythonCollectionFromPropertyList", - "propertyListFromPythonCollection", - "serializePropertyList", - "deserializePropertyList", - "toPythonDecimal", - "fromPythonDecimal", -] - -import datetime -import decimal -import time - -import Foundation -import objc -from objc._pythonify import OC_PythonFloat, OC_PythonLong - -PYTHON_TYPES = ( - str, - bool, - int, - float, - list, - tuple, - dict, - set, - datetime.date, - datetime.datetime, - bool, - type(None), - bytes, -) - -DECIMAL_LOCALE = Foundation.NSDictionary.dictionaryWithObject_forKey_( - ".", "NSDecimalSeparator" -) - - -def toPythonDecimal(aNSDecimalNumber): - """ - Convert a NSDecimalNumber to a Python decimal.Decimal - """ - return decimal.Decimal(aNSDecimalNumber.descriptionWithLocale_(DECIMAL_LOCALE)) - - -def fromPythonDecimal(aPythonDecimal): - """ - Convert a Python decimal.Decimal to a NSDecimalNumber - """ - value_str = str(aPythonDecimal) - - return Foundation.NSDecimalNumber.decimalNumberWithString_locale_( - value_str, DECIMAL_LOCALE - ) - - -FORMATS = { - "xml": Foundation.NSPropertyListXMLFormat_v1_0, - "binary": Foundation.NSPropertyListBinaryFormat_v1_0, - "ascii": Foundation.NSPropertyListOpenStepFormat, -} - - -def serializePropertyList(aPropertyList, format="xml"): # noqa: A002 - """ - Serialize a property list to an NSData object. Format is one of the - following strings: - - xml (default): - NSPropertyListXMLFormat_v1_0, the XML representation - - binary: - NSPropertyListBinaryFormat_v1_0, the efficient binary representation - - ascii: - NSPropertyListOpenStepFormat, the old-style ASCII property list - - It is expected that this property list is comprised of Objective-C - objects. In most cases Python data structures will work, but - decimal.Decimal and datetime.datetime objects are not transparently - bridged so it will fail in that case. If you expect to have these - objects in your property list, then use propertyListFromPythonCollection - before serializing it. - """ - try: - formatOption = FORMATS[format] - except KeyError: - raise ValueError(f"Invalid format: {format}") - ( - data, - err, - ) = Foundation.NSPropertyListSerialization.dataFromPropertyList_format_errorDescription_( # noqa: B950 - aPropertyList, formatOption, None - ) - if err is not None: - raise ValueError(err) - return data - - -def deserializePropertyList(propertyListData): - """ - Deserialize a property list from a NSData, str or bytes object - - Returns an Objective-C property list. - """ - if isinstance(propertyListData, str): - propertyListData = propertyListData.encode("utf-8") - ( - plist, - fmt, - err, - ) = Foundation.NSPropertyListSerialization.propertyListFromData_mutabilityOption_format_errorDescription_( # noqa: B950 - propertyListData, Foundation.NSPropertyListMutableContainers, None, None - ) - if err is not None: - raise ValueError(err) - return plist - - -def propertyListFromPythonCollection(aPyCollection, conversionHelper=None): - """ - Convert a Python collection (dict, list, tuple, string) into an - Objective-C collection. - - If conversionHelper is defined, it must be a callable. It will be called - for any object encountered for which propertyListFromPythonCollection() - cannot automatically convert the object. The supplied helper function - should convert the object and return the converted form. If the conversion - helper cannot convert the type, it should raise an exception or return - None. - """ - if isinstance(aPyCollection, dict): - collection = Foundation.NSMutableDictionary.dictionary() - for aKey in aPyCollection: - if not isinstance(aKey, str): - raise TypeError("Property list keys must be strings") - convertedValue = propertyListFromPythonCollection( - aPyCollection[aKey], conversionHelper=conversionHelper - ) - collection[aKey] = convertedValue - return collection - elif isinstance(aPyCollection, (list, tuple)): - collection = Foundation.NSMutableArray.array() - for aValue in aPyCollection: - convertedValue = propertyListFromPythonCollection( - aValue, conversionHelper=conversionHelper - ) - collection.append(convertedValue) - return collection - elif isinstance(aPyCollection, (datetime.datetime, datetime.date)): - return Foundation.NSDate.dateWithTimeIntervalSince1970_( - time.mktime(aPyCollection.timetuple()) - ) - elif isinstance(aPyCollection, (set, frozenset)): - collection = Foundation.NSMutableSet.set() - for aValue in aPyCollection: - convertedValue = propertyListFromPythonCollection( - aValue, conversionHelper=conversionHelper - ) - collection.add(convertedValue) - return collection - - elif isinstance(aPyCollection, decimal.Decimal): - return fromPythonDecimal(aPyCollection) - elif isinstance(aPyCollection, PYTHON_TYPES): - # bridge will convert - return aPyCollection - elif conversionHelper is not None: - return conversionHelper(aPyCollection) - raise TypeError( - "Type '%s' encountered in Python collection; don't know how to convert." - % type(aPyCollection) - ) - - -def pythonCollectionFromPropertyList(aCollection, conversionHelper=None): - """ - Converts a Foundation based property list into a Python - collection (all members will be instances or subclasses of standard Python - types) - - Like propertyListFromPythonCollection(), conversionHelper is an optional - callable that will be invoked any time an encountered object cannot be - converted. - """ - if isinstance(aCollection, Foundation.NSDictionary): - pyCollection = {} - for k in aCollection: - convertedValue = pythonCollectionFromPropertyList( - aCollection[k], conversionHelper - ) - pyCollection[pythonCollectionFromPropertyList(k)] = convertedValue - return pyCollection - elif isinstance(aCollection, Foundation.NSArray): - return [ - pythonCollectionFromPropertyList(item, conversionHelper) - for item in aCollection - ] - - elif isinstance(aCollection, Foundation.NSSet): - value = set() - for item in aCollection: - item = pythonCollectionFromPropertyList(item, conversionHelper) - if isinstance(item, list): - item = tuple(item) - - value.add(item) - return value - elif isinstance(aCollection, Foundation.NSData): - return bytes(aCollection) - elif isinstance(aCollection, Foundation.NSDate): - return datetime.datetime.fromtimestamp(aCollection.timeIntervalSince1970()) - elif isinstance(aCollection, (objc.pyobjc_unicode, Foundation.NSString)): - return str(aCollection) - elif isinstance(aCollection, OC_PythonLong): - return int(aCollection) - elif isinstance(aCollection, OC_PythonFloat): - return float(aCollection) - elif isinstance(aCollection, Foundation.NSDecimalNumber): - return toPythonDecimal(aCollection) - elif aCollection is Foundation.NSNull.null(): - return None - elif isinstance(aCollection, PYTHON_TYPES): - return aCollection - elif conversionHelper: - return conversionHelper(aCollection) - raise TypeError( - "Type '%s' encountered in ObjC collection; don't know how to convert." - % type(aCollection) - ) diff --git a/src/lib/PyObjCTools/Debugging.py b/src/lib/PyObjCTools/Debugging.py deleted file mode 100644 index dd626e6..0000000 --- a/src/lib/PyObjCTools/Debugging.py +++ /dev/null @@ -1,222 +0,0 @@ -""" -Low level debugging helper for PyObjC. - -Allows you to log Python and ObjC (via atos) stack traces for NSExceptions -raised. - -General guidelines for use: - -- It's typically only useful when you log EVERY exception, because Foundation - and AppKit will swallow most of them. This means that you should never - use this module in a release build. - -- Typical use involves only calling installExceptionHandler or - installVerboseExceptionHandler. It may be removed at any time by calling - removeDebuggingHandler. -""" - -import os -import sys -import traceback - -import objc -from ExceptionHandling import ( - NSExceptionHandler, - NSLogAndHandleEveryExceptionMask, - NSLogUncaughtExceptionMask, - NSStackTraceKey, -) -from Foundation import NSLog, NSObject - -DEFAULTMASK = NSLogUncaughtExceptionMask -EVERYTHINGMASK = NSLogAndHandleEveryExceptionMask - - -__all__ = [ - "LOGSTACKTRACE", - "DEFAULTVERBOSITY", - "DEFAULTMASK", - "EVERYTHINGMASK", - "installExceptionHandler", - "installVerboseExceptionHandler", - "installPythonExceptionHandler", - "removeExceptionHandler", - "handlerInstalled", -] - - -def isPythonException(exception): - if hasattr(exception, "_pyobjc_info_"): - return False - - if not hasattr(exception, "userInfo"): - return True - - return (exception.userInfo() or {}).get("__pyobjc_exc_type__") is not None - - -def nsLogPythonException(exception): - userInfo = exception.userInfo() - NSLog( - "%@", - "*** Python exception discarded!\n" - + "".join( - traceback.format_exception( - userInfo["__pyobjc_exc_type__"], - userInfo["__pyobjc_exc_value__"], - userInfo["__pyobjc_exc_traceback__"], - ) - ), - ) - # we logged it, so don't log it for us - return False - - -_atos_command = None - - -def _run_atos(stack): - global _atos_command - if _atos_command is None: - if os.path.exists("/usr/bin/atos"): - _atos_command = "/usr/bin/atos" - - if os.uname()[2].startswith("13."): - # The atos command on OSX 10.9 gives a usage - # warning that's suppressed with the "-d" option. - _atos_command += " -d" - - elif os.path.exists("/usr/bin/xcrun"): - _atos_command = "/usr/bin/xcrun atos" - - else: - return None - - return os.popen(f"{_atos_command} -p {os.getpid()} {stack}") - - -def nsLogObjCException(exception): - stacktrace = None - - try: - stacktrace = exception.callStackSymbols() - - except AttributeError: - pass - - if stacktrace is None: - stack = exception.callStackReturnAddresses() - if stack: - pipe = _run_atos(" ".join(hex(v) for v in stack)) - if pipe is None: - return True - - stacktrace = pipe.readlines() - stacktrace.reverse() - pipe.close() - - if stacktrace is None: - userInfo = exception.userInfo() - stack = userInfo.get(NSStackTraceKey) - if not stack: - return True - - pipe = _run_atos(stack) - if pipe is None: - return True - - stacktrace = pipe.readlines() - stacktrace.reverse() - pipe.close() - - NSLog( - "%@", - "*** ObjC exception '%s' (reason: '%s') discarded\n" - % (exception.name(), exception.reason()) - + "Stack trace (most recent call last):\n" - + "".join([(" " + line) for line in stacktrace]), - ) - return False - - -LOGSTACKTRACE = 1 << 0 -DEFAULTVERBOSITY = 0 - - -class PyObjCDebuggingDelegate(NSObject): - verbosity = objc.ivar("verbosity", b"i") - - def initWithVerbosity_(self, verbosity): - self = self.init() - self.verbosity = verbosity - return self - - @objc.typedSelector(b"c@:@@I") - def exceptionHandler_shouldLogException_mask_(self, sender, exception, aMask): - try: - if isPythonException(exception): - if self.verbosity & LOGSTACKTRACE: - nsLogObjCException(exception) - return nsLogPythonException(exception) - elif self.verbosity & LOGSTACKTRACE: - return nsLogObjCException(exception) - else: - return False - except: # noqa: B001, E722 - print( - "*** Exception occurred during exception handler ***", file=sys.stderr - ) - traceback.print_exc(sys.stderr) - return True - - @objc.typedSelector(b"c@:@@I") - def exceptionHandler_shouldHandleException_mask_(self, sender, exception, aMask): - return False - - -def installExceptionHandler(verbosity=DEFAULTVERBOSITY, mask=DEFAULTMASK): - """ - Install the exception handling delegate that will log every exception - matching the given mask with the given verbosity. - """ - # we need to retain this, cause the handler doesn't - global _exceptionHandlerDelegate - delegate = PyObjCDebuggingDelegate.alloc().initWithVerbosity_(verbosity) - NSExceptionHandler.defaultExceptionHandler().setExceptionHandlingMask_(mask) - NSExceptionHandler.defaultExceptionHandler().setDelegate_(delegate) - _exceptionHandlerDelegate = delegate - - -def installPythonExceptionHandler(): - """ - Install a verbose exception handling delegate that logs every exception - raised. - - Will log only Python stack traces, if available. - """ - installExceptionHandler(verbosity=DEFAULTVERBOSITY, mask=EVERYTHINGMASK) - - -def installVerboseExceptionHandler(): - """ - Install a verbose exception handling delegate that logs every exception - raised. - - Will log both Python and ObjC stack traces, if available. - """ - installExceptionHandler(verbosity=LOGSTACKTRACE, mask=EVERYTHINGMASK) - - -def removeExceptionHandler(): - """ - Remove the current exception handler delegate - """ - NSExceptionHandler.defaultExceptionHandler().setDelegate_(None) - NSExceptionHandler.defaultExceptionHandler().setExceptionHandlingMask_(0) - - -def handlerInstalled(): - """ - Is an exception handler delegate currently installed? - """ - return NSExceptionHandler.defaultExceptionHandler().delegate() is not None diff --git a/src/lib/PyObjCTools/FndCategories.py b/src/lib/PyObjCTools/FndCategories.py deleted file mode 100644 index 6f3de1a..0000000 --- a/src/lib/PyObjCTools/FndCategories.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -A number of useful categories on Foundation classes -""" -__all__ = () -import objc -from Foundation import NSAffineTransform - - -class NSAffineTransform(objc.Category(NSAffineTransform)): - def rotateByDegrees_atPoint_(self, angle, point): - """ - Rotate the coordinatespace ``angle`` degrees around - ``point``. - """ - self.rotateByDegrees_(angle) - - tf = NSAffineTransform.transform() - tf.rotateByDegrees_(-angle) - oldPt = tf.transformPoint_(point) - oldPt.x -= point.x - oldPt.y -= point.y - self.translateXBy_yBy_(oldPt.x, oldPt.y) - - def rotateByRadians_atPoint_(self, angle, point): - """ - Rotate the coordinatespace ``angle`` radians around - ``point``. - """ - self.rotateByRadians_(angle) - - tf = NSAffineTransform.transform() - tf.rotateByRadians_(-angle) - oldPt = tf.transformPoint_(point) - oldPt.x -= point.x - oldPt.y -= point.y - self.translateXBy_yBy_(oldPt.x, oldPt.y) diff --git a/src/lib/PyObjCTools/KeyValueCoding.py b/src/lib/PyObjCTools/KeyValueCoding.py deleted file mode 100644 index b96c301..0000000 --- a/src/lib/PyObjCTools/KeyValueCoding.py +++ /dev/null @@ -1,384 +0,0 @@ -""" -Support for Key-Value Coding in Python. This provides a simple functional -interface to Cocoa's Key-Value coding that also works for regular Python -objects. - -Public API: - - setKey(obj, key, value) -> None - setKeyPath (obj, keypath, value) -> None - - getKey(obj, key) -> value - getKeyPath (obj, keypath) -> value - -A keypath is a string containing a sequence of keys separated by dots. The -path is followed by repeated calls to 'getKey'. This can be used to easily -access nested attributes. - -This API is mirroring the 'getattr' and 'setattr' APIs in Python, this makes -it more natural to work with Key-Value coding from Python. It also doesn't -require changes to existing Python classes to make use of Key-Value coding, -making it easier to build applications as a platform independent core with -a Cocoa GUI layer. - -See the Cocoa documentation on the Apple developer website for more -information on Key-Value coding. The protocol is basically used to enable -weaker coupling between the view and model layers. -""" - -import collections.abc -import types - -import objc - -__all__ = ("getKey", "setKey", "getKeyPath", "setKeyPath") -_null = objc.lookUpClass("NSNull").null() - - -def keyCaps(s): - return s[:1].capitalize() + s[1:] - - -# From http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/393090 -# Title: Binary floating point summation accurate to full precision -# Version no: 2.2 - - -def msum(iterable): - """ - Full precision summation using multiple floats for intermediate values - """ - # sorted, non-overlapping partial sums - partials = [] - for x in iterable: - i = 0 - for y in partials: - if abs(x) < abs(y): - x, y = y, x - hi = x + y - lo = y - (hi - x) - if lo: - partials[i] = lo - i += 1 - x = hi - partials[i:] = [x] - return sum(partials, 0.0) - - -class _ArrayOperators: - @staticmethod - def avg(obj, segments): - path = ".".join(segments) - lst = getKeyPath(obj, path) - count = len(lst) - if count == 0: - return 0.0 - return msum(float(x) if x is not _null else 0.0 for x in lst) / count - - @staticmethod - def count(obj, segments): - return len(obj) - - @staticmethod - def distinctUnionOfArrays(obj, segments): - path = ".".join(segments) - rval = [] - s = set() - r = [] - for lst in obj: - for item in (getKeyPath(item, path) for item in lst): - try: - if item in s or item in r: - continue - rval.append(item) - s.add(item) - - except TypeError: - if item in rval: - continue - - rval.append(item) - r.append(item) - return rval - - @staticmethod - def distinctUnionOfSets(obj, segments): - path = ".".join(segments) - rval = set() - for lst in obj: - for item in (getKeyPath(item, path) for item in lst): - rval.add(item) - return rval - - @staticmethod - def distinctUnionOfObjects(obj, segments): - path = ".".join(segments) - rval = [] - s = set() - r = [] - for item in (getKeyPath(item, path) for item in obj): - try: - if item in s or item in r: - continue - - rval.append(item) - s.add(item) - - except TypeError: - if item in rval: - continue - - rval.append(item) - r.append(item) - return rval - - @staticmethod - def max(obj, segments): # noqa: A003 - path = ".".join(segments) - return max(x for x in getKeyPath(obj, path) if x is not _null) - - @staticmethod - def min(obj, segments): # noqa: A003 - path = ".".join(segments) - return min(x for x in getKeyPath(obj, path) if x is not _null) - - @staticmethod - def sum(obj, segments): # noqa: A003 - path = ".".join(segments) - lst = getKeyPath(obj, path) - return msum(float(x) if x is not _null else 0.0 for x in lst) - - @staticmethod - def unionOfArrays(obj, segments): - path = ".".join(segments) - rval = [] - for lst in obj: - rval.extend(getKeyPath(item, path) for item in lst) - return rval - - @staticmethod - def unionOfObjects(obj, segments): - path = ".".join(segments) - return [getKeyPath(item, path) for item in obj] - - -def getKey(obj, key): - """ - Get the attribute referenced by 'key'. The key is used - to build the name of an attribute, or attribute accessor method. - - The following attributes and accessors are tried (in this order): - - - Accessor 'getKey' - - Accesoor 'get_key' - - Accessor or attribute 'key' - - Accessor or attribute 'isKey' - - Attribute '_key' - - If none of these exist, raise KeyError - """ - if obj is None: - return None - if isinstance(obj, (objc.objc_object, objc.objc_class)): - return obj.valueForKey_(key) - - # check for dict-like objects - getitem = getattr(obj, "__getitem__", None) - if getitem is not None: - try: - return getitem(key) - except (KeyError, IndexError, TypeError): - pass - - # check for array-like objects - if isinstance( - obj, (collections.abc.Sequence, collections.abc.Set) - ) and not isinstance(obj, (str, collections.abc.Mapping)): - - def maybe_get(obj, key): - try: - return getKey(obj, key) - except KeyError: - return _null - - return [maybe_get(obj, key) for obj in iter(obj)] - - try: - m = getattr(obj, "get" + keyCaps(key)) - except AttributeError: - pass - else: - return m() - - try: - m = getattr(obj, "get_" + key) - except AttributeError: - pass - else: - return m() - - for keyName in (key, "is" + keyCaps(key)): - try: - m = getattr(obj, keyName) - except AttributeError: - continue - - if isinstance(m, types.MethodType) and m.__self__ is obj: - return m() - - elif isinstance(m, types.BuiltinMethodType): - # Can't access the bound self of methods of builtin classes :-( - return m() - - elif isinstance(m, objc.selector) and m.self is obj: - return m() - - else: - return m - - try: - return getattr(obj, "_" + key) - except AttributeError: - raise KeyError(f"Key {key} does not exist") - - -def setKey(obj, key, value): - """ - Set the attribute referenced by 'key' to 'value'. The key is used - to build the name of an attribute, or attribute accessor method. - - The following attributes and accessors are tried (in this order): - - Mapping access (that is __setitem__ for collection.Mapping instances) - - Accessor 'setKey_' - - Accessor 'setKey' - - Accessor 'set_key' - - Attribute '_key' - - Attribute 'key' - - Raises KeyError if the key doesn't exist. - """ - if obj is None: - return - if isinstance(obj, (objc.objc_object, objc.objc_class)): - obj.setValue_forKey_(value, key) - return - - if isinstance(obj, collections.abc.Mapping): - obj[key] = value - return - - aBase = "set" + keyCaps(key) - for accessor in (aBase + "_", aBase, "set_" + key): - m = getattr(obj, accessor, None) - if m is None: - continue - try: - m(value) - return - except TypeError: - pass - - try: - m = getattr(obj, key) - except AttributeError: - pass - - else: - if isinstance(m, types.MethodType) and m.__self__ is obj: - # This looks like a getter method, don't call setattr - pass - - else: - try: - setattr(obj, key, value) - return - except AttributeError: - raise KeyError(f"Key {key} does not exist") - - try: - getattr(obj, "_" + key) - except AttributeError: - pass - else: - setattr(obj, "_" + key, value) - return - - try: - setattr(obj, key, value) - except AttributeError: - raise KeyError(f"Key {key} does not exist") - - -def getKeyPath(obj, keypath): - """ - Get the value for the keypath. Keypath is a string containing a - path of keys, path elements are separated by dots. - """ - if not keypath: - raise KeyError - - if obj is None: - return None - - if isinstance(obj, (objc.objc_object, objc.objc_class)): - return obj.valueForKeyPath_(keypath) - - elements = keypath.split(".") - cur = obj - elemiter = iter(elements) - for e in elemiter: - if e[:1] == "@": - try: - oper = getattr(_ArrayOperators, e[1:]) - except AttributeError: - raise KeyError(f"Array operator {e} not implemented") - return oper(cur, elemiter) - cur = getKey(cur, e) - return cur - - -def setKeyPath(obj, keypath, value): - """ - Set the value at 'keypath'. The keypath is a string containing a - path of keys, separated by dots. - """ - if obj is None: - return - - if isinstance(obj, (objc.objc_object, objc.objc_class)): - return obj.setValue_forKeyPath_(value, keypath) - - elements = keypath.split(".") - cur = obj - for e in elements[:-1]: - cur = getKey(cur, e) - - return setKey(cur, elements[-1], value) - - -class kvc: - def __init__(self, obj): - self.__pyobjc_object__ = obj - - def __getattr__(self, attr): - return getKey(self.__pyobjc_object__, attr) - - def __repr__(self): - return repr(self.__pyobjc_object__) - - def __setattr__(self, attr, value): - if not attr.startswith("_"): - setKey(self.__pyobjc_object__, attr, value) - - else: - object.__setattr__(self, attr, value) - - def __getitem__(self, item): - if not isinstance(item, str): - raise TypeError("Keys must be strings") - return getKeyPath(self.__pyobjc_object__, item) - - def __setitem__(self, item, value): - if not isinstance(item, str): - raise TypeError("Keys must be strings") - setKeyPath(self.__pyobjc_object__, item, value) diff --git a/src/lib/PyObjCTools/MachSignals.py b/src/lib/PyObjCTools/MachSignals.py deleted file mode 100644 index a5e1b68..0000000 --- a/src/lib/PyObjCTools/MachSignals.py +++ /dev/null @@ -1,42 +0,0 @@ -""" -Substitute for the signal module when using a CFRunLoop. - -This module is generally only used to support: - PyObjCTools.AppHelper.installMachInterrupt() - -A mach port is opened and registered to the CFRunLoop. -When a signal occurs the signal number is sent in a mach -message to the CFRunLoop. The handler then causes Python -code to get executed. - -In other words, Python's signal handling code does not wake -reliably when not running Python code, but this does. - -Note that signals will only be processed while a Cocoa -run loop is running in the default mode. -""" - -from objc import _machsignals - -__all__ = ["getsignal", "signal"] - - -def getsignal(signum): - """ - Return the signal handler for signal ``signum``. Returns ``None`` when - there is no signal handler for the signal. - """ - return _machsignals._signalmapping.get(signum) - - -def signal(signum, handler): - """ - Install a new signal handler for ``signum``. Returns the old signal - handler (``None`` when there is no previous handler. - - The handler should have one argument: the signal number - """ - rval = getsignal(signum) - _machsignals._signalmapping[signum] = handler - _machsignals.handle_signal(signum) - return rval diff --git a/src/lib/PyObjCTools/Signals.py b/src/lib/PyObjCTools/Signals.py deleted file mode 100644 index 38e07a5..0000000 --- a/src/lib/PyObjCTools/Signals.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Signals.py -- dump a python stacktrace if something bad happens. - - DO NOT USE THIS MODULE IN PRODUCTION CODE - -This module has two functions in its public API: - -- dumpStackOnFatalSignal() - This function will install signal handlers that print a stacktrace and - then reraise the signal. - -- resetFatalSignals() - Restores the signal handlers to the state they had before the call to - dumpStackOnFatalSignal. - -This module is not designed to provide fine grained control over signal -handling. Nor is it intended to be terribly robust. It may give useful -information when your program gets unexpected signals, but it might just -as easily cause a crash when such a signal gets in. - - DO NOT USE THIS MODULE IN PRODUCTION CODE -""" - -import os -import signal -import traceback -import warnings -import sys - -__all__ = ["dumpStackOnFatalSignal", "resetFatalSignals"] - -warnings.warn( - "PyObjCTools.Signals is deprecated and will be removed in PyObjC 9", - DeprecationWarning, -) - - -originalHandlers = None - - -def dumpHandler(signum, frame): - """ - the signal handler used in this module: print a stacktrace and - then re-raise the signal - """ - resetFatalSignals() - print("*** Handling fatal signal '%d'." % signum, file=sys.stderr) - traceback.print_stack(frame) - print("*** Restored handlers and resignaling.", file=sys.stderr) - os.kill(os.getpid(), signum) - - -def installHandler(sig): - """ - Install our signal handler for a signal. The original handler - is saved in 'originalHandlers'. - """ - originalHandlers[sig] = signal.signal(sig, dumpHandler) - - -def dumpStackOnFatalSignal(): - """ - Install signal handlers that might print a useful stack trace when - this process receives a fatal signal. - - NOTE: See module docstring - """ - - global originalHandlers - if not originalHandlers: - originalHandlers = {} - installHandler(signal.SIGQUIT) - installHandler(signal.SIGILL) - installHandler(signal.SIGTRAP) - installHandler(signal.SIGABRT) - installHandler(signal.SIGEMT) - installHandler(signal.SIGFPE) - installHandler(signal.SIGBUS) - installHandler(signal.SIGSEGV) - installHandler(signal.SIGSYS) - - -def resetFatalSignals(): - """ - Restore the original signal handlers - """ - global originalHandlers - if originalHandlers: - for sig in originalHandlers: - signal.signal(sig, originalHandlers[sig]) - originalHandlers = None diff --git a/src/lib/PyObjCTools/TestSupport.py b/src/lib/PyObjCTools/TestSupport.py deleted file mode 100644 index 0df62b3..0000000 --- a/src/lib/PyObjCTools/TestSupport.py +++ /dev/null @@ -1,1198 +0,0 @@ -""" -Helper code for implementing unittests. - -This module is unsupported and is primairily used in the PyObjC -testsuite. -""" - -import contextlib -import gc as _gc -import os as _os -import re as _re -import struct as _struct -import sys as _sys -import unittest as _unittest -import subprocess as _subprocess -import pickle as _pickle -from sysconfig import get_config_var as _get_config_var - -import objc - - -# Ensure that methods in this module get filtered in the tracebacks -# from unittest -__unittest = False - -# Have a way to disable the autorelease pool behaviour -_usepool = not _os.environ.get("PYOBJC_NO_AUTORELEASE") - -# XXX: Python 2 Compatibility for the PyObjC Test Suite -try: - unicode -except NameError: - unicode = str - -try: - long -except NameError: - long = int - -try: - basestring -except NameError: - basestring = str - -try: - unichr -except NameError: - unichr = chr - - -def _typemap(tp): - if tp is None: - return None - return ( - tp.replace(b"_NSRect", b"CGRect") - .replace(b"_NSPoint", b"CGPoint") - .replace(b"_NSSize", b"CGSize") - ) - - -@contextlib.contextmanager -def pyobjc_options(**kwds): - orig = {} - try: - for k in kwds: - orig[k] = getattr(objc.options, k) - setattr(objc.options, k, kwds[k]) - - yield - - finally: - for k in orig: - setattr(objc.options, k, orig[k]) - - -def sdkForPython(_cache=[]): # noqa: B006, M511 - """ - Return the SDK version used to compile Python itself, - or None if no framework was used - """ - if not _cache: - - cflags = _get_config_var("CFLAGS") - m = _re.search(r"-isysroot\s+([^ ]*)(\s|$)", cflags) - if m is None: - _cache.append(None) - return None - - path = m.group(1) - if path == "/": - result = tuple(map(int, os_release().split("."))) - _cache.append(result) - return result - - bn = _os.path.basename(path) - version = bn[6:-4] - if version.endswith("u"): - version = version[:-1] - - result = tuple(map(int, version.split("."))) - _cache.append(result) - return result - - return _cache[0] - - -def fourcc(v): - """ - Decode four-character-code integer definition - - (e.g. 'abcd') - """ - return _struct.unpack(">i", v)[0] - - -def cast_int(value): - """ - Cast value to 32bit integer - - Usage: - cast_int(1 << 31) == -1 - - (where as: 1 << 31 == 2147483648) - """ - value = value & 0xFFFFFFFF - if value & 0x80000000: - value = ~value + 1 & 0xFFFFFFFF - return -value - else: - return value - - -def cast_longlong(value): - """ - Cast value to 64bit integer - - Usage: - cast_longlong(1 << 63) == -1 - """ - value = value & 0xFFFFFFFFFFFFFFFF - if value & 0x8000000000000000: - value = ~value + 1 & 0xFFFFFFFFFFFFFFFF - return -value - else: - return value - - -def cast_uint(value): - """ - Cast value to 32bit integer - - Usage: - cast_int(1 << 31) == 2147483648 - - """ - value = value & 0xFFFFFFFF - return value - - -def cast_ulonglong(value): - """ - Cast value to 64bit integer - """ - value = value & 0xFFFFFFFFFFFFFFFF - return value - - -_os_release = None - - -def os_release(): - """ - Returns the release of macOS (for example 10.5.1). - """ - global _os_release - if _os_release is not None: - return _os_release - - _os_release = ( - _subprocess.check_output(["sw_vers", "-productVersion"]).decode().strip() - ) - - return _os_release - - -def arch_only(arch): - """ - Usage:: - class Tests (unittest.TestCase): - - @arch_only("arm64") - def testArm64(self): - pass - - The test runs only when the specified architecture matches - """ - - def decorator(function): - return _unittest.skipUnless(objc.arch == arch, f"{arch} only")(function) - - return decorator - - -def min_python_release(version): - """ - Usage:: - - class Tests (unittest.TestCase): - - @min_python_release('3.2') - def test_python_3_2(self): - pass - """ - parts = tuple(map(int, version.split("."))) - return _unittest.skipUnless( - _sys.version_info[:2] >= parts, f"Requires Python {version} or later" - ) - - -def _sort_key(version): - parts = version.split(".") - if len(parts) == 2: - parts.append("0") - - if len(parts) != 3: - raise ValueError(f"Invalid version: {version!r}") - - return tuple(int(x) for x in parts) - - -def os_level_key(release): - """ - Return an object that can be used to compare two releases. - """ - return _sort_key(release) - - -def min_sdk_level(release): - """ - Usage:: - - class Tests (unittest.TestCase): - @min_sdk_level('10.6') - def testSnowLeopardSDK(self): - pass - """ - v = (objc.PyObjC_BUILD_RELEASE // 100, objc.PyObjC_BUILD_RELEASE % 100, 0) - return _unittest.skipUnless( - v >= os_level_key(release), f"Requires build with SDK {release} or later" - ) - - -def max_sdk_level(release): - """ - Usage:: - - class Tests (unittest.TestCase): - @max_sdk_level('10.5') - def testUntilLeopardSDK(self): - pass - """ - v = (objc.PyObjC_BUILD_RELEASE // 100, objc.PyObjC_BUILD_RELEASE % 100, 0) - return _unittest.skipUnless( - v <= os_level_key(release), f"Requires build with SDK {release} or later" - ) - - -def min_os_level(release): - """ - Usage:: - - class Tests (unittest.TestCase): - - @min_os_level('10.6') - def testSnowLeopardCode(self): - pass - """ - return _unittest.skipUnless( - os_level_key(os_release()) >= os_level_key(release), - f"Requires OSX {release} or later", - ) - - -def max_os_level(release): - """ - Usage:: - - class Tests (unittest.TestCase): - - @max_os_level('10.5') - def testUntilLeopard(self): - pass - """ - return _unittest.skipUnless( - os_level_key(os_release()) <= os_level_key(release), - f"Requires OSX up to {release}", - ) - - -def os_level_between(min_release, max_release): - """ - Usage:: - - class Tests (unittest.TestCase): - - @os_level_between('10.5', '10.8') - def testUntilLeopard(self): - pass - """ - return _unittest.skipUnless( - os_level_key(min_release) - <= os_level_key(os_release()) - <= os_level_key(max_release), - f"Requires OSX {min_release} up to {max_release}", - ) - - -_poolclass = objc.lookUpClass("NSAutoreleasePool") - -# NOTE: On at least OSX 10.8 there are multiple proxy classes for CFTypeRef... -_nscftype = tuple(cls for cls in objc.getClassList() if "NSCFType" in cls.__name__) - -_typealias = {} - -_typealias[objc._C_LNG_LNG] = objc._C_LNG -_typealias[objc._C_ULNG_LNG] = objc._C_ULNG - - -class TestCase(_unittest.TestCase): - """ - A version of TestCase that wraps every test into its own - autorelease pool. - - This also adds a number of useful assertion methods - """ - - # New API for testing function/method signatures, with one assert for - # the callable and one assert each for every return value and argument. - # - # Primary reason for the new API is to ensure that all metadata overrides - # are explicitly tested. - - def assertManualBinding(self, func): - if hasattr(func, "__metadata__"): - self.fail(f"{func} has automatic bindings") - - def assertIsCFType(self, tp, message=None): - if not isinstance(tp, objc.objc_class): - self.fail(message or f"{tp!r} is not a CFTypeRef type") - - if any(x is tp for x in _nscftype): - self.fail(message or f"{tp!r} is not a unique CFTypeRef type") - - for cls in tp.__bases__: - if "NSCFType" in cls.__name__: - return - - self.fail(message or f"{tp!r} is not a CFTypeRef type") - - # NOTE: Don't test if this is a subclass of one of the known - # CF roots, this tests is mostly used to ensure that the - # type is distinct from one of those roots. - # NOTE: With the next two lines enabled there are spurious test - # failures when a CF type is toll-free bridged to an - # (undocumented) Cocoa class. It might be worthwhile to - # look for these, but not in the test suite. - # if not issubclass(tp, _nscftype): - # self.fail(message or "%r is not a CFTypeRef subclass"%(tp,)) - - def assertIsEnumType(self, tp): - if not hasattr(tp, "__supertype__"): - # Ducktyping for compatibility with Python 3.7 - # or earlier. - self.fail(f"{tp!r} is not a typing.NewType") - - if tp.__supertype__ != int: - self.fail(f"{tp!r} is not a typing.NewType based on 'int'") - - def assertIsTypedEnum(self, tp, base): - if not hasattr(tp, "__supertype__"): - # Ducktyping for compatibility with Python 3.7 - # or earlier. - self.fail(f"{tp!r} is not a typing.NewType") - - if tp.__supertype__ != base: - self.fail(f"{tp!r} is not a typing.NewType based on {base.__name__!r}") - - def assertIsOpaquePointer(self, tp, message=None): - if not hasattr(tp, "__pointer__"): - self.fail(message or f"{tp!r} is not an opaque-pointer") - - if not hasattr(tp, "__typestr__"): - self.fail(message or f"{tp!r} is not an opaque-pointer") - - def assertResultIsNullTerminated(self, method, message=None): - info = method.__metadata__() - if not info.get("retval", {}).get("c_array_delimited_by_null"): - self.fail(message or f"result of {method!r} is not a null-terminated array") - - def assertIsNullTerminated(self, method, message=None): - info = method.__metadata__() - if not info.get("c_array_delimited_by_null") or not info.get("variadic"): - self.fail( - message - or "%s is not a variadic function with a " - "null-terminated list of arguments" % (method,) - ) - - def assertArgIsNullTerminated(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - if not info["arguments"][argno + offset].get("c_array_delimited_by_null"): - self.fail( - message - or "argument %d of %r is not a null-terminated array" - % (argno, method) - ) - except (KeyError, IndexError): - self.fail( - message - or "argument %d of %r is not a null-terminated array" % (argno, method) - ) - - def assertArgIsVariableSize(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - if not info["arguments"][argno + offset].get("c_array_of_variable_length"): - self.fail( - message - or "argument %d of %r is not a variable sized array" - % (argno, method) - ) - except (KeyError, IndexError): - self.fail( - message - or "argument %d of %r is not a variable sized array" % (argno, method) - ) - - def assertResultIsVariableSize(self, method, message=None): - info = method.__metadata__() - if not info.get("retval", {}).get("c_array_of_variable_length", False): - self.fail(message or f"result of {method!r} is not a variable sized array") - - def assertArgSizeInResult(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - if not info["arguments"][argno + offset].get("c_array_length_in_result"): - self.fail( - message - or "argument %d of %r does not have size in result" - % (argno, method) - ) - except (KeyError, IndexError): - self.fail( - message - or "argument %d of %r does not have size in result" % (argno, method) - ) - - def assertArgIsPrintf(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - if not info.get("variadic"): - self.fail(message or f"{method!r} is not a variadic function") - - try: - if not info["arguments"][argno + offset].get("printf_format"): - self.fail( - message - or "%r argument %d is not a printf format string" % (method, argno) - ) - except (KeyError, IndexError): - self.fail( - message - or "%r argument %d is not a printf format string" % (method, argno) - ) - - def assertArgIsCFRetained(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - - try: - if not info["arguments"][argno + offset]["already_cfretained"]: - self.fail( - message or f"Argument {argno} of {method!r} is not cfretained" - ) - except (KeyError, IndexError): - self.fail(message or f"Argument {argno} of {method!r} is not cfretained") - - def assertArgIsNotCFRetained(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - if info["arguments"][argno + offset]["already_cfretained"]: - self.fail(message or f"Argument {argno} of {method!r} is cfretained") - except (KeyError, IndexError): - pass - - def assertResultIsCFRetained(self, method, message=None): - info = method.__metadata__() - - if not info.get("retval", {}).get("already_cfretained", False): - self.fail(message or f"{method!r} is not cfretained") - - def assertResultIsNotCFRetained(self, method, message=None): - info = method.__metadata__() - if info.get("retval", {}).get("already_cfretained", False): - self.fail(message or f"{method!r} is cfretained") - - def assertArgIsRetained(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - - try: - if not info["arguments"][argno + offset]["already_retained"]: - self.fail(message or f"Argument {argno} of {method!r} is not retained") - except (KeyError, IndexError): - self.fail(message or f"Argument {argno} of {method!r} is not retained") - - def assertArgIsNotRetained(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - if info["arguments"][argno + offset]["already_retained"]: - self.fail(message or f"Argument {argno} of {method!r} is retained") - except (KeyError, IndexError): - pass - - def assertResultIsRetained(self, method, message=None): - info = method.__metadata__() - if not info.get("retval", {}).get("already_retained", False): - self.fail(message or f"Result of {method!r} is not retained") - - def assertResultIsNotRetained(self, method, message=None): - info = method.__metadata__() - if info.get("retval", {}).get("already_retained", False): - self.fail(message or f"Result of {method!r} is retained") - - def assertResultHasType(self, method, tp, message=None): - info = method.__metadata__() - typestr = info.get("retval").get("type", b"v") - if ( - typestr != tp - and _typemap(typestr) != _typemap(tp) - and _typealias.get(typestr, typestr) != _typealias.get(tp, tp) - ): - self.fail( - message - or f"result of {method!r} is not of type {tp!r}, but {typestr!r}" - ) - - def assertArgHasType(self, method, argno, tp, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - i = info["arguments"][argno + offset] - - except (KeyError, IndexError): - self.fail( - message - or "arg %d of %s has no metadata (or doesn't exist)" % (argno, method) - ) - - else: - typestr = i.get("type", b"@") - - if ( - typestr != tp - and _typemap(typestr) != _typemap(tp) - and _typealias.get(typestr, typestr) != _typealias.get(tp, tp) - ): - self.fail( - message - or "arg %d of %s is not of type %r, but %r" - % (argno, method, tp, typestr) - ) - - def assertArgIsFunction(self, method, argno, sel_type, retained, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - - try: - i = info["arguments"][argno + offset] - except (KeyError, IndexError): - self.fail( - message - or "arg %d of %s has no metadata (or doesn't exist)" % (argno, method) - ) - - else: - typestr = i.get("type", b"@") - - if typestr != b"^?": - self.fail( - message - or "arg %d of %s is not of type function_pointer" % (argno, method) - ) - - st = i.get("callable") - if st is None: - self.fail( - message - or "arg %d of %s is not of type function_pointer" % (argno, method) - ) - - try: - iface = st["retval"]["type"] - for a in st["arguments"]: - iface += a["type"] - except KeyError: - self.fail( - message - or "arg %d of %s is a function pointer with incomplete type information" - % (argno, method) - ) - - if iface != sel_type: - self.fail( - message - or "arg %d of %s is not a function_pointer with type %r, but %r" - % (argno, method, sel_type, iface) - ) - - st = info["arguments"][argno + offset].get("callable_retained", False) - if bool(st) != bool(retained): - self.fail( - message - or "arg %d of %s; retained: %r, expected: %r" - % (argno, method, st, retained) - ) - - def assertResultIsFunction(self, method, sel_type, message=None): - info = method.__metadata__() - - try: - i = info["retval"] - except (KeyError, IndexError): - self.fail( - message or f"result of {method} has no metadata (or doesn't exist)" - ) - - else: - typestr = i.get("type", b"@") - - if typestr != b"^?": - self.fail(message or f"result of {method} is not of type function_pointer") - - st = i.get("callable") - if st is None: - self.fail(message or f"result of {method} is not of type function_pointer") - - try: - iface = st["retval"]["type"] - for a in st["arguments"]: - iface += a["type"] - except KeyError: - self.fail( - message - or "result of %s is a function pointer with incomplete type information" - % (method,) - ) - - if iface != sel_type: - self.fail( - message - or "result of %s is not a function_pointer with type %r, but %r" - % (method, sel_type, iface) - ) - - def assertArgIsBlock(self, method, argno, sel_type, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - typestr = info["arguments"][argno + offset]["type"] - except (IndexError, KeyError): - self.fail("arg %d of %s does not exist" % (argno, method)) - - if typestr != b"@?": - self.fail( - message - or "arg %d of %s is not of type block: %s" % (argno, method, typestr) - ) - - st = info["arguments"][argno + offset].get("callable") - if st is None: - self.fail( - message - or "arg %d of %s is not of type block: no callable" % (argno, method) - ) - - try: - iface = st["retval"]["type"] - if st["arguments"][0]["type"] != b"^v": - self.fail( - message - or "arg %d of %s has an invalid block signature %r for argument 0" - % (argno, method, st["arguments"][0]["type"]) - ) - for a in st["arguments"][1:]: - iface += a["type"] - except KeyError: - self.fail( - message - or "result of %s is a block pointer with incomplete type information" - % (method,) - ) - - if iface != sel_type: - self.fail( - message - or "arg %d of %s is not a block with type %r, but %r" - % (argno, method, sel_type, iface) - ) - - def assertResultIsBlock(self, method, sel_type, message=None): - info = method.__metadata__() - - try: - typestr = info["retval"]["type"] - if typestr != b"@?": - self.fail( - message or f"result of {method} is not of type block: {typestr}" - ) - except KeyError: - self.fail( - message or "result of {} is not of type block: {}".format(method, b"v") - ) - - st = info["retval"].get("callable") - if st is None: - self.fail( - message - or "result of %s is not of type block: no callable specified" % (method) - ) - - try: - iface = st["retval"]["type"] - if st["arguments"][0]["type"] != b"^v": - self.fail( - message - or "result %s has an invalid block signature %r for argument 0" - % (method, st["arguments"][0]["type"]) - ) - for a in st["arguments"][1:]: - iface += a["type"] - except KeyError: - self.fail( - message - or "result of %s is a block pointer with incomplete type information" - % (method,) - ) - - if iface != sel_type: - self.fail( - message - or "result of %s is not a block with type %r, but %r" - % (method, sel_type, iface) - ) - - def assertResultIsSEL(self, method, sel_type, message=None): - info = method.__metadata__() - try: - i = info["retval"] - except (KeyError, IndexError): - self.fail( - message or f"result of {method} has no metadata (or doesn't exist)" - ) - - typestr = i.get("type", b"@") - if typestr != objc._C_SEL: - self.fail(message or f"result of {method} is not of type SEL") - - st = i.get("sel_of_type") - if st != sel_type and _typemap(st) != _typemap(sel_type): - self.fail( - message - or "result of %s doesn't have sel_type %r but %r" - % (method, sel_type, st) - ) - - def assertArgIsSEL(self, method, argno, sel_type, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - i = info["arguments"][argno + offset] - except (KeyError, IndexError): - self.fail( - message - or "arg %d of %s has no metadata (or doesn't exist)" % (argno, method) - ) - - typestr = i.get("type", b"@") - if typestr != objc._C_SEL: - self.fail(message or "arg %d of %s is not of type SEL" % (argno, method)) - - st = i.get("sel_of_type") - if st != sel_type and _typemap(st) != _typemap(sel_type): - self.fail( - message - or "arg %d of %s doesn't have sel_type %r but %r" - % (argno, method, sel_type, st) - ) - - def assertResultIsBOOL(self, method, message=None): - info = method.__metadata__() - typestr = info["retval"]["type"] - if typestr != objc._C_NSBOOL: - self.fail( - message or f"result of {method} is not of type BOOL, but {typestr!r}" - ) - - def assertArgIsBOOL(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - typestr = info["arguments"][argno + offset]["type"] - if typestr != objc._C_NSBOOL: - self.fail( - message - or "arg %d of %s is not of type BOOL, but %r" % (argno, method, typestr) - ) - - def assertArgIsFixedSize(self, method, argno, count, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - cnt = info["arguments"][argno + offset]["c_array_of_fixed_length"] - if cnt != count: - self.fail( - message - or "arg %d of %s is not a C-array of length %d" - % (argno, method, count) - ) - except (KeyError, IndexError): - self.fail( - message - or "arg %d of %s is not a C-array of length %d" % (argno, method, count) - ) - - def assertResultIsFixedSize(self, method, count, message=None): - info = method.__metadata__() - try: - cnt = info["retval"]["c_array_of_fixed_length"] - if cnt != count: - self.fail( - message - or "result of %s is not a C-array of length %d" % (method, count) - ) - except (KeyError, IndexError): - self.fail( - message - or "result of %s is not a C-array of length %d" % (method, count) - ) - - def assertArgSizeInArg(self, method, argno, count, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - try: - cnt = info["arguments"][argno + offset]["c_array_length_in_arg"] - except (KeyError, IndexError): - self.fail( - message - or "arg %d of %s is not a C-array of with length in arg %s" - % (argno, method, count) - ) - - if isinstance(count, (list, tuple)): - count2 = tuple(x + offset for x in count) - else: - count2 = count + offset - if cnt != count2: - self.fail( - message - or "arg %d of %s is not a C-array of with length in arg %s" - % (argno, method, count) - ) - - def assertResultSizeInArg(self, method, count, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - cnt = info["retval"]["c_array_length_in_arg"] - if cnt != count + offset: - self.fail( - message - or "result %s is not a C-array of with length in arg %d" - % (method, count) - ) - - def assertArgIsOut(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - typestr = info["arguments"][argno + offset]["type"] - if not typestr.startswith(b"o^") and not typestr.startswith(b"o*"): - self.fail( - message or "arg %d of %s is not an 'out' argument" % (argno, method) - ) - - def assertArgIsInOut(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - typestr = info["arguments"][argno + offset]["type"] - if not typestr.startswith(b"N^") and not typestr.startswith(b"N*"): - self.fail( - message or "arg %d of %s is not an 'inout' argument" % (argno, method) - ) - - def assertArgIsIn(self, method, argno, message=None): - if isinstance(method, objc.selector): - offset = 2 - else: - offset = 0 - info = method.__metadata__() - typestr = info["arguments"][argno + offset]["type"] - if not typestr.startswith(b"n^") and not typestr.startswith(b"n*"): - self.fail( - message or "arg %d of %s is not an 'in' argument" % (argno, method) - ) - - def assertStartswith(self, value, test, message=None): - if not value.startswith(test): - self.fail(message or f"{value!r} does not start with {test!r}") - - def assertHasAttr(self, value, key, message=None): - if not hasattr(value, key): - self.fail(message or f"{key} is not an attribute of {value!r}") - - def assertNotHasAttr(self, value, key, message=None): - if hasattr(value, key): - self.fail(message or f"{key} is an attribute of {value!r}") - - def assertIsSubclass(self, value, types, message=None): - if not issubclass(value, types): - self.fail(message or f"{value} is not a subclass of {types!r}") - - def assertIsNotSubclass(self, value, types, message=None): - if issubclass(value, types): - self.fail(message or f"{value} is a subclass of {types!r}") - - def assertClassIsFinal(self, cls): - if not isinstance(cls, objc.objc_class): - self.fail(f"{cls} is not an Objective-C class") - elif not cls.__objc_final__: - self.fail(f"{cls} is not a final class") - - def assertProtocolExists(self, name): - ok = True - try: - proto = objc.protocolNamed(name) - - except objc.ProtocolError: - ok = False - - if not ok: - self.fail(f"Protocol {name!r} does not exist") - - if not isinstance(proto, objc.formal_protocol): - # Should never happen - self.fail(f"Protocol {name!r} is not a protocol, but {type(proto)}") - - def assertPickleRoundTrips(self, value): - try: - buf = _pickle.dumps(value) - clone = _pickle.loads(buf) - except Exception: - self.fail(f"{value} cannot be pickled") - - self.assertEqual(clone, value) - self.assertIsInstance(clone, type(value)) - - def _validateCallableMetadata( - self, value, class_name=None, skip_simple_charptr_check=False - ): - with self.subTest(repr(value)): - callable_meta = value.__metadata__() - argcount = len(callable_meta["arguments"]) - - for idx, meta in [("retval", callable_meta["retval"])] + list( - enumerate(callable_meta["arguments"]) - ): - if meta["type"].endswith(objc._C_PTR + objc._C_CHR): - if meta.get("c_array_delimited_by_null", False): - self.fail( - f"{value}: {idx}: null-delimited 'char*', use _C_CHAR_AS_TEXT instead {class_name or ''}" - ) - if not skip_simple_charptr_check: - self.fail(f"{value}: {idx}: 'char*' {class_name or ''}") - - v = meta.get("c_array_size_in_arg", None) - if isinstance(v, int): - if not (0 <= v < argcount): - self.fail( - f"{value}: {idx}: c_array_size_in_arg out of range {v} {class_name or ''}" - ) - elif isinstance(v, tuple): - b, e = v - if not (0 <= b < argcount): - self.fail( - f"{value}: {idx}: c_array_size_in_arg out of range {b} {class_name or ''}" - ) - if not (0 <= e < argcount): - self.fail( - f"{value}: {idx}: c_array_size_in_arg out of range {e} {class_name or ''}" - ) - - tp = meta["type"] - if any( - tp.startswith(pfx) - for pfx in (objc._C_IN, objc._C_OUT, objc._C_INOUT) - ): - rest = tp[1:] - if not rest.startswith(objc._C_PTR) and not rest.startswith( - objc._C_CHARPTR - ): - self.fail( - f"{value}: {idx}: byref specifier on non-pointer: {tp} {class_name or ''}" - ) - - rest = rest[1:] - - if rest.startswith(objc._C_STRUCT_B): - name, fields = objc.splitStructSignature(rest) - if not fields: - self.fail( - f"{value}: {idx}: byref to empty struct (handle/CFType?): {tp} {class_name or ''}" - ) - - def assertCallableMetadataIsSane( - self, module, *, exclude_cocoa=True, exclude_attrs=() - ): - # Do some sanity checking on module metadata for - # callables. - # - # This test is *very* expensive, made slightly - # better by excluding CoreFoundation/Foundation/AppKit - # by default - # - # XXX: exclude_cocoa may exclude too much depending on - # import order. - - if exclude_cocoa: - import Cocoa - - exclude_names = set(dir(Cocoa)) - - # Don't exclude 'NSObject' because a number - # of frameworks define categories on this class. - exclude_names -= {"NSObject"} - else: - exclude_names = set() - - exclude_attrs = set(exclude_attrs) - exclude_attrs.add(("NSColor", "scn_C3DColorIgnoringColorSpace_success_")) - exclude_attrs.add( - ("PDFKitPlatformColor", "scn_C3DColorIgnoringColorSpace_success_") - ) - exclude_attrs.add(("SCNColor", "scn_C3DColorIgnoringColorSpace_success_")) - exclude_attrs.add(("SKColor", "scn_C3DColorIgnoringColorSpace_success_")) - - for nm in dir(module): - if nm in exclude_names: - continue - if nm in exclude_attrs: - continue - - value = getattr(module, nm) - if isinstance(value, objc.objc_class): - if value.__name__ == "Object": - # Root class, does not conform to the NSObject - # protocol and useless to test. - continue - for attr_name in dir(value.pyobjc_instanceMethods): - if (nm, attr_name) in exclude_attrs: - continue - if attr_name.startswith("_"): - # Skip private names - continue - attr = getattr(value.pyobjc_instanceMethods, attr_name, None) - if isinstance(attr, objc.selector): - self._validateCallableMetadata( - attr, nm, skip_simple_charptr_check=not exclude_cocoa - ) - - for attr_name in dir(value.pyobjc_classMethods): - if (nm, attr_name) in exclude_attrs: - continue - if attr_name.startswith("_"): - # Skip private names - continue - attr = getattr(value.pyobjc_classMethods, attr_name, None) - if isinstance(attr, objc.selector): - self._validateCallableMetadata( - attr, nm, skip_simple_charptr_check=not exclude_cocoa - ) - - elif isinstance(value, objc.function): - self._validateCallableMetadata(value) - - else: - continue - - def __init__(self, methodName="runTest"): - super().__init__(methodName) - - testMethod = getattr(self, methodName) - - if getattr(testMethod, "_no_autorelease_pool", False): - self._skip_usepool = True - else: - self._skip_usepool = False - - def run(self, *args): - """ - Run the test, same as unittest.TestCase.run, but every test is - run with a fresh autorelease pool. - """ - if _usepool and not self._skip_usepool: - p = _poolclass.alloc().init() - else: - p = 1 - - try: - _unittest.TestCase.run(self, *args) - finally: - _gc.collect() - del p - _gc.collect() - - -main = _unittest.main -expectedFailure = _unittest.expectedFailure -skipUnless = _unittest.skipUnless - - -def expectedFailureIf(condition): - if condition: - return expectedFailure - else: - return lambda func: func - - -def no_autorelease_pool(func): - func._no_autorelease_pool = True - return func diff --git a/src/lib/Quartz/CoreGraphics/__init__.py b/src/lib/Quartz/CoreGraphics/__init__.py deleted file mode 100644 index a58e024..0000000 --- a/src/lib/Quartz/CoreGraphics/__init__.py +++ /dev/null @@ -1,147 +0,0 @@ -""" -Python mapping for the CoreGraphics framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import objc -import os -from Quartz.CoreGraphics import _metadata -from Quartz.CoreGraphics._inlines import _inline_list_ - -if os.path.exists("/System/Library/Frameworks/CoreGraphics.framework"): - framework_path = "/System/Library/Frameworks/CoreGraphics.framework" -else: - framework_path = "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework" # noqa: B950 - -sys.modules["Quartz.CoreGraphics"] = mod = objc.ObjCLazyModule( - "Quartz.CoreGraphics", - "com.apple.CoreGraphics", - objc.pathForFramework(framework_path), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation,), -) - - -del sys.modules["Quartz.CoreGraphics._metadata"] - - -def _load(mod): - import Quartz - - Quartz.CoreGraphics = mod - - # XXX: CGFLOAT_MIN is a #define for FLT_MIN or DBL_MIN, which isn't detected properly - # by the metadata script. - import sys - - if sys.maxsize > 1 << 32: - mod.CGFLOAT_MIN = 1.175_494_350_822_287_5e-38 - mod.CGFLOAT_MAX = 3.402_823_466_385_288_6e38 - else: - mod.CGFLOAT_MIN = 2.225_073_858_507_201_4e-308 - mod.CGFLOAT_MAX = 1.797_693_134_862_315_7e308 - - import Quartz.CoreGraphics._callbacks as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - import Quartz.CoreGraphics._doubleindirect as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - import Quartz.CoreGraphics._sortandmap as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - import Quartz.CoreGraphics._coregraphics as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - import Quartz.CoreGraphics._contextmanager as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - - mod.setCGPathElement(mod.CGPathElement) - del mod.setCGPathElement - - # a #define - mod.kCGEventFilterMaskPermitAllEvents = ( - mod.kCGEventFilterMaskPermitLocalMouseEvents - | mod.kCGEventFilterMaskPermitLocalKeyboardEvents - | mod.kCGEventFilterMaskPermitSystemDefinedEvents - ) - - def CGEventMaskBit(eventType): - return 1 << eventType - - mod.CGEventMaskBit = CGEventMaskBit - - mod.kCGColorSpaceUserGray = "kCGColorSpaceUserGray" - mod.kCGColorSpaceUserRGB = "kCGColorSpaceUserRGB" - mod.kCGColorSpaceUserCMYK = "kCGColorSpaceUserCMYK" - - # Some pseudo-constants - mod.kCGBaseWindowLevel = mod.CGWindowLevelForKey(mod.kCGBaseWindowLevelKey) - mod.kCGMinimumWindowLevel = mod.CGWindowLevelForKey(mod.kCGMinimumWindowLevelKey) - mod.kCGDesktopWindowLevel = mod.CGWindowLevelForKey(mod.kCGDesktopWindowLevelKey) - mod.kCGDesktopIconWindowLevel = mod.CGWindowLevelForKey( - mod.kCGDesktopIconWindowLevelKey - ) - mod.kCGBackstopMenuLevel = mod.CGWindowLevelForKey(mod.kCGBackstopMenuLevelKey) - mod.kCGNormalWindowLevel = mod.CGWindowLevelForKey(mod.kCGNormalWindowLevelKey) - mod.kCGFloatingWindowLevel = mod.CGWindowLevelForKey(mod.kCGFloatingWindowLevelKey) - mod.kCGTornOffMenuWindowLevel = mod.CGWindowLevelForKey( - mod.kCGTornOffMenuWindowLevelKey - ) - mod.kCGDockWindowLevel = mod.CGWindowLevelForKey(mod.kCGDockWindowLevelKey) - mod.kCGMainMenuWindowLevel = mod.CGWindowLevelForKey(mod.kCGMainMenuWindowLevelKey) - mod.kCGStatusWindowLevel = mod.CGWindowLevelForKey(mod.kCGStatusWindowLevelKey) - mod.kCGModalPanelWindowLevel = mod.CGWindowLevelForKey( - mod.kCGModalPanelWindowLevelKey - ) - mod.kCGPopUpMenuWindowLevel = mod.CGWindowLevelForKey( - mod.kCGPopUpMenuWindowLevelKey - ) - mod.kCGDraggingWindowLevel = mod.CGWindowLevelForKey(mod.kCGDraggingWindowLevelKey) - mod.kCGScreenSaverWindowLevel = mod.CGWindowLevelForKey( - mod.kCGScreenSaverWindowLevelKey - ) - mod.kCGCursorWindowLevel = mod.CGWindowLevelForKey(mod.kCGCursorWindowLevelKey) - mod.kCGOverlayWindowLevel = mod.CGWindowLevelForKey(mod.kCGOverlayWindowLevelKey) - mod.kCGHelpWindowLevel = mod.CGWindowLevelForKey(mod.kCGHelpWindowLevelKey) - mod.kCGUtilityWindowLevel = mod.CGWindowLevelForKey(mod.kCGUtilityWindowLevelKey) - mod.kCGAssistiveTechHighWindowLevel = mod.CGWindowLevelForKey( - mod.kCGAssistiveTechHighWindowLevelKey - ) - mod.kCGMaximumWindowLevel = mod.CGWindowLevelForKey(mod.kCGMaximumWindowLevelKey) - - mod.CGSetLocalEventsFilterDuringSupressionState = ( - mod.CGSetLocalEventsFilterDuringSuppressionState - ) - - mod.kCGAnyInputEventType = 0xFFFFFFFF - - -_load(mod) diff --git a/src/lib/Quartz/CoreGraphics/_contextmanager.py b/src/lib/Quartz/CoreGraphics/_contextmanager.py deleted file mode 100644 index b661482..0000000 --- a/src/lib/Quartz/CoreGraphics/_contextmanager.py +++ /dev/null @@ -1,104 +0,0 @@ -""" -This module defines a number of context managers. These are meant to be used -in the context of the with statement (introduced in Python 2.5). -""" -__all__ = ("CGSavedGState", "CGTransparencyLayer", "CGContextPage") -import Quartz.CoreGraphics as CG - - -class CGSavedGState: - """ - Context manager for saving and restoring the graphics state. - - Usage:: - - with CGSavedGState(context): - statement - - This is equivalent to: - CGContextSaveGState(context) - try: - statement - - finally: - CGContextRestoreGState(context) - """ - - def __init__(self, context): - self.context = context - - def __enter__(self): - CG.CGContextSaveGState(self.context) - return self - - def __exit__(self, exc_type, exc_value, exc_tp): - CG.CGContextRestoreGState(self.context) - return False - - -class CGTransparencyLayer: - """ - Context manager for working in a transparancylayer. - - Usage:: - - with CGTransparencyLayer(context, info [, rect]): - statement - - This is equivalent to: - CGContextBeginTransparencyLayer(context, info) - try: - statement - - finally: - CGContextEndTransparencyLayer(context) - """ - - def __init__(self, context, info, rect=None): - self.context = context - self.info = info - self.rect = rect - - def __enter__(self): - if self.rect is None: - result = CG.CGContextBeginTransparencyLayer(self.context, self.info) - else: - result = CG.CGContextBeginTransparencyLayerWithRect( - self.context, self.rect, self.info - ) - return result - - def __exit__(self, exc_type, exc_value, exc_tp): - CG.CGContextEndTransparencyLayer(self.context) - return False - - -class CGContextPage: - """ - Context manager for saving and restoring the graphics state. - - Usage:: - - with CGContextPage(context) as mediaRect: - statement - - This is equivalent to: - mediaRect = CGContextBeginPage(context, None) - try: - statement - - finally: - CGContextEndPage(context) - """ - - def __init__(self, context, mediaBox=None): - self.context = context - self.mediaBox = mediaBox - - def __enter__(self): - mediaRect = CG.CGContextBeginPage(self.context, self.mediaBox) - return mediaRect - - def __exit__(self, exc_type, exc_value, exc_tp): - CG.CGContextEndPage(self.context) - return False diff --git a/src/lib/Quartz/CoreGraphics/_metadata.py b/src/lib/Quartz/CoreGraphics/_metadata.py deleted file mode 100644 index f7b85ce..0000000 --- a/src/lib/Quartz/CoreGraphics/_metadata.py +++ /dev/null @@ -1,2728 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Fri Mar 11 13:06:12 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CGFunctionCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGFunctionCallbacks", - b"{CGFunctionCallbacks=I^?^?}", - [], - ), - "CGDeviceByteColor": objc.createStructType( - "Quartz.CoreGraphics.CGDeviceByteColor", - b"{CGDeviceByteColor=CCC}", - ["red", "green", "blue"], - ), - "CGPoint": objc.createStructAlias( - "CGPoint", b"{CGPoint=dd}", objc._resolve_name("Foundation.NSPoint") - ), - "CGDataProviderCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGDataProviderCallbacks", - b"{CGDataProviderCallbacks=^?^?^?^?}", - [], - ), - "CGDataProviderSequentialCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGDataProviderSequentialCallbacks", - b"{CGDataProviderSequentialCallbacks=I^?^?^?^?}", - [], - ), - "CGPatternCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGPatternCallbacks", b"{CGPatternCallbacks=I^?^?}", [] - ), - "CGSize": objc.createStructAlias( - "CGSize", b"{CGSize=dd}", objc._resolve_name("Foundation.NSSize") - ), - "CGDeviceColor": objc.createStructType( - "Quartz.CoreGraphics.CGDeviceColor", - b"{CGDeviceColor=fff}", - ["red", "green", "blue"], - ), - "CGDataProviderDirectAccessCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGDataProviderDirectAccessCallbacks", - b"{CGDataProviderDirectAccessCallbacks=^?^?^?^?}", - [], - ), - "CGColorDataFormat": objc.createStructType( - "Quartz.CoreGraphics.CGColorDataFormat", - b"{_CGColorDataFormat=I@IQQi^d}", - [ - "version", - "colorspace_info", - "bitmap_info", - "bits_per_component", - "bytes_per_row", - "intent", - "decode", - ], - ), - "CGAffineTransform": objc.createStructType( - "Quartz.CoreGraphics.CGAffineTransform", - b"{CGAffineTransform=dddddd}", - ["a", "b", "c", "d", "tx", "ty"], - ), - "CGDataConsumerCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGDataConsumerCallbacks", - b"{CGDataConsumerCallbacks=^?^?}", - [], - ), - "CGVector": objc.createStructType( - "Quartz.CoreGraphics.CGVector", b"{CGVector=dd}", ["dx", "dy"] - ), - "CGPathElement": objc.createStructType( - "Quartz.CoreGraphics.CGPathElement", - b"{CGPathElement=i^{CGPoint=dd}}", - ["type", "points"], - ), - "CGScreenUpdateMoveDelta": objc.createStructType( - "Quartz.CoreGraphics.CGScreenUpdateMoveDelta", - b"{CGScreenUpdateMoveDelta=ii}", - ["dX", "dY"], - ), - "CGEventTapInformation": objc.createStructType( - "Quartz.CoreGraphics.CGEventTapInformation", - b"{__CGEventTapInformation=IIIQiiBfff}", - [ - "eventTapID", - "tapPoint", - "options", - "eventsOfInterest", - "tappingProcess", - "processBeingTapped", - "enabled", - "minUsecLatency", - "avgUsecLatency", - "maxUsecLatency", - ], - ), - "CGPSConverterCallbacks": objc.createStructType( - "Quartz.CoreGraphics.CGPSConverterCallbacks", - b"{CGPSConverterCallbacks=I^?^?^?^?^?^?^?}", - [], - ), - "CGRect": objc.createStructAlias( - "CGRect", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - objc._resolve_name("Foundation.NSRect"), - ), - } -) -constants = """$CGAffineTransformIdentity@{CGAffineTransform=dddddd}$CGPointZero@{CGPoint=dd}$CGRectInfinite@{CGRect={CGPoint=dd}{CGSize=dd}}$CGRectNull@{CGRect={CGPoint=dd}{CGSize=dd}}$CGRectZero@{CGRect={CGPoint=dd}{CGSize=dd}}$CGSizeZero@{CGSize=dd}$kCGColorBlack$kCGColorClear$kCGColorConversionBlackPointCompensation$kCGColorConversionTRCSize$kCGColorSpaceACESCGLinear$kCGColorSpaceAdobeRGB1998$kCGColorSpaceDCIP3$kCGColorSpaceDisplayP3$kCGColorSpaceDisplayP3_HLG$kCGColorSpaceDisplayP3_PQ$kCGColorSpaceDisplayP3_PQ_EOTF$kCGColorSpaceExtendedDisplayP3$kCGColorSpaceExtendedGray$kCGColorSpaceExtendedITUR_2020$kCGColorSpaceExtendedLinearDisplayP3$kCGColorSpaceExtendedLinearGray$kCGColorSpaceExtendedLinearITUR_2020$kCGColorSpaceExtendedLinearSRGB$kCGColorSpaceExtendedRange$kCGColorSpaceExtendedSRGB$kCGColorSpaceGenericCMYK$kCGColorSpaceGenericGray$kCGColorSpaceGenericGrayGamma2_2$kCGColorSpaceGenericLab$kCGColorSpaceGenericRGB$kCGColorSpaceGenericRGBLinear$kCGColorSpaceGenericXYZ$kCGColorSpaceITUR_2020$kCGColorSpaceITUR_2020_HLG$kCGColorSpaceITUR_2020_PQ$kCGColorSpaceITUR_2020_PQ_EOTF$kCGColorSpaceITUR_2020_sRGBGamma$kCGColorSpaceITUR_2100_HLG$kCGColorSpaceITUR_2100_PQ$kCGColorSpaceITUR_709$kCGColorSpaceITUR_709_PQ$kCGColorSpaceLinearDisplayP3$kCGColorSpaceLinearGray$kCGColorSpaceLinearITUR_2020$kCGColorSpaceLinearSRGB$kCGColorSpaceROMMRGB$kCGColorSpaceSRGB$kCGColorWhite$kCGDisplayShowDuplicateLowResolutionModes$kCGDisplayStreamColorSpace$kCGDisplayStreamDestinationRect$kCGDisplayStreamMinimumFrameTime$kCGDisplayStreamPreserveAspectRatio$kCGDisplayStreamQueueDepth$kCGDisplayStreamShowCursor$kCGDisplayStreamSourceRect$kCGDisplayStreamYCbCrMatrix$kCGDisplayStreamYCbCrMatrix_ITU_R_601_4$kCGDisplayStreamYCbCrMatrix_ITU_R_709_2$kCGDisplayStreamYCbCrMatrix_SMPTE_240M_1995$kCGFontVariationAxisDefaultValue$kCGFontVariationAxisMaxValue$kCGFontVariationAxisMinValue$kCGFontVariationAxisName$kCGImageDestinationPreserveGainMap$kCGPDFContextAccessPermissions$kCGPDFContextAllowsCopying$kCGPDFContextAllowsPrinting$kCGPDFContextArtBox$kCGPDFContextAuthor$kCGPDFContextBleedBox$kCGPDFContextCreateLinearizedPDF$kCGPDFContextCreatePDFA$kCGPDFContextCreator$kCGPDFContextCropBox$kCGPDFContextEncryptionKeyLength$kCGPDFContextKeywords$kCGPDFContextMediaBox$kCGPDFContextOutputIntent$kCGPDFContextOutputIntents$kCGPDFContextOwnerPassword$kCGPDFContextSubject$kCGPDFContextTitle$kCGPDFContextTrimBox$kCGPDFContextUserPassword$kCGPDFOutlineChildren$kCGPDFOutlineDestination$kCGPDFOutlineDestinationRect$kCGPDFOutlineTitle$kCGPDFTagPropertyActualText$kCGPDFTagPropertyAlternativeText$kCGPDFTagPropertyLanguageText$kCGPDFTagPropertyTitleText$kCGPDFXDestinationOutputProfile$kCGPDFXInfo$kCGPDFXOutputCondition$kCGPDFXOutputConditionIdentifier$kCGPDFXOutputIntentSubtype$kCGPDFXRegistryName$kCGWindowAlpha$kCGWindowBackingLocationVideoMemory$kCGWindowBounds$kCGWindowIsOnscreen$kCGWindowLayer$kCGWindowMemoryUsage$kCGWindowName$kCGWindowNumber$kCGWindowOwnerName$kCGWindowOwnerPID$kCGWindowSharingState$kCGWindowStoreType$kCGWindowWorkspace$kCIImageAuxiliarySemanticSegmentationGlassesMatte$kCIImageAuxiliarySemanticSegmentationSkyMatte$kCIImageRepresentationSemanticSegmentationGlassesMatteImage$kCIImageRepresentationSemanticSegmentationSkyMatteImage$kCIImageToneMapHDRtoSDR$kCIInputLocalToneMapAmountKey$""" -enums = """$CGFLOAT_DEFINED@1$CGFLOAT_IS_DOUBLE@1$CGGlyphMax@65534$CGGlyphMin@0$CGPDFDataFormatJPEG2000@2$CGPDFDataFormatJPEGEncoded@1$CGPDFDataFormatRaw@0$CGPDFTagTypeAnnotation@507$CGPDFTagTypeArt@102$CGPDFTagTypeBibliography@504$CGPDFTagTypeBlockQuote@105$CGPDFTagTypeCaption@106$CGPDFTagTypeCode@505$CGPDFTagTypeDiv@104$CGPDFTagTypeDocument@100$CGPDFTagTypeFigure@700$CGPDFTagTypeForm@702$CGPDFTagTypeFormula@701$CGPDFTagTypeHeader@201$CGPDFTagTypeHeader1@202$CGPDFTagTypeHeader2@203$CGPDFTagTypeHeader3@204$CGPDFTagTypeHeader4@205$CGPDFTagTypeHeader5@206$CGPDFTagTypeHeader6@207$CGPDFTagTypeIndex@109$CGPDFTagTypeLabel@302$CGPDFTagTypeLink@506$CGPDFTagTypeList@300$CGPDFTagTypeListBody@303$CGPDFTagTypeListItem@301$CGPDFTagTypeNonStructure@110$CGPDFTagTypeNote@502$CGPDFTagTypeParagraph@200$CGPDFTagTypePart@101$CGPDFTagTypePrivate@111$CGPDFTagTypeQuote@501$CGPDFTagTypeReference@503$CGPDFTagTypeRuby@600$CGPDFTagTypeRubyAnnotationText@602$CGPDFTagTypeRubyBaseText@601$CGPDFTagTypeRubyPunctuation@603$CGPDFTagTypeSection@103$CGPDFTagTypeSpan@500$CGPDFTagTypeTOC@107$CGPDFTagTypeTOCI@108$CGPDFTagTypeTable@400$CGPDFTagTypeTableBody@405$CGPDFTagTypeTableDataCell@403$CGPDFTagTypeTableFooter@406$CGPDFTagTypeTableHeader@404$CGPDFTagTypeTableHeaderCell@402$CGPDFTagTypeTableRow@401$CGPDFTagTypeWarichu@604$CGPDFTagTypeWarichuPunctiation@606$CGPDFTagTypeWarichuText@605$CGRectMaxXEdge@2$CGRectMaxYEdge@3$CGRectMinXEdge@0$CGRectMinYEdge@1$CGVECTOR_DEFINED@1$CG_HDR_BT_2100@1$kCGAnnotatedSessionEventTap@2$kCGAssistiveTechHighWindowLevel@1500$kCGAssistiveTechHighWindowLevelKey@20$kCGBackingStoreBuffered@2$kCGBackingStoreNonretained@1$kCGBackingStoreRetained@0$kCGBackstopMenuLevel@-20$kCGBackstopMenuLevelKey@3$kCGBaseWindowLevelKey@0$kCGBitmapAlphaInfoMask@31$kCGBitmapByteOrder16Big@12288$kCGBitmapByteOrder16Little@4096$kCGBitmapByteOrder32Big@16384$kCGBitmapByteOrder32Little@8192$kCGBitmapByteOrderDefault@0$kCGBitmapByteOrderMask@28672$kCGBitmapFloatComponents@256$kCGBitmapFloatInfoMask@3840$kCGBlendModeClear@16$kCGBlendModeColor@14$kCGBlendModeColorBurn@7$kCGBlendModeColorDodge@6$kCGBlendModeCopy@17$kCGBlendModeDarken@4$kCGBlendModeDestinationAtop@24$kCGBlendModeDestinationIn@22$kCGBlendModeDestinationOut@23$kCGBlendModeDestinationOver@21$kCGBlendModeDifference@10$kCGBlendModeExclusion@11$kCGBlendModeHardLight@9$kCGBlendModeHue@12$kCGBlendModeLighten@5$kCGBlendModeLuminosity@15$kCGBlendModeMultiply@1$kCGBlendModeNormal@0$kCGBlendModeOverlay@3$kCGBlendModePlusDarker@26$kCGBlendModePlusLighter@27$kCGBlendModeSaturation@13$kCGBlendModeScreen@2$kCGBlendModeSoftLight@8$kCGBlendModeSourceAtop@20$kCGBlendModeSourceIn@18$kCGBlendModeSourceOut@19$kCGBlendModeXOR@25$kCGCaptureNoFill@1$kCGCaptureNoOptions@0$kCGColorConversionTransformApplySpace@2$kCGColorConversionTransformFromSpace@0$kCGColorConversionTransformToSpace@1$kCGColorConverterTransformApplySpace@2$kCGColorConverterTransformFromSpace@0$kCGColorConverterTransformToSpace@1$kCGColorSpaceModelCMYK@2$kCGColorSpaceModelDeviceN@4$kCGColorSpaceModelIndexed@5$kCGColorSpaceModelLab@3$kCGColorSpaceModelMonochrome@0$kCGColorSpaceModelPattern@6$kCGColorSpaceModelRGB@1$kCGColorSpaceModelUnknown@-1$kCGColorSpaceModelXYZ@7$kCGConfigureForAppOnly@0$kCGConfigureForSession@1$kCGConfigurePermanently@2$kCGCursorWindowLevelKey@19$kCGDesktopIconWindowLevelKey@18$kCGDesktopWindowLevelKey@2$kCGDisplayAddFlag@16$kCGDisplayBeginConfigurationFlag@1$kCGDisplayDesktopShapeChangedFlag@4096$kCGDisplayDisabledFlag@512$kCGDisplayEnabledFlag@256$kCGDisplayFadeReservationInvalidToken@0$kCGDisplayMirrorFlag@1024$kCGDisplayMovedFlag@2$kCGDisplayRemoveFlag@32$kCGDisplaySetMainFlag@4$kCGDisplaySetModeFlag@8$kCGDisplayStreamFrameStatusFrameBlank@2$kCGDisplayStreamFrameStatusFrameComplete@0$kCGDisplayStreamFrameStatusFrameIdle@1$kCGDisplayStreamFrameStatusStopped@3$kCGDisplayStreamUpdateDirtyRects@2$kCGDisplayStreamUpdateMovedRects@1$kCGDisplayStreamUpdateReducedDirtyRects@3$kCGDisplayStreamUpdateRefreshedRects@0$kCGDisplayUnMirrorFlag@2048$kCGDockWindowLevel@20$kCGDockWindowLevelKey@7$kCGDraggingWindowLevel@500$kCGDraggingWindowLevelKey@12$kCGEncodingFontSpecific@0$kCGEncodingMacRoman@1$kCGErrorApplicationAlreadyRunning@1025$kCGErrorApplicationCanOnlyBeRunInOneSessionAtATime@1026$kCGErrorApplicationIncorrectExecutableFormatFound@1023$kCGErrorApplicationIsLaunching@1024$kCGErrorApplicationNotPermittedToExecute@1016$kCGErrorApplicationRequiresNewerSystem@1015$kCGErrorCannotComplete@1004$kCGErrorClassicApplicationsMustBeLaunchedByClassic@1027$kCGErrorFailure@1000$kCGErrorFirst@1000$kCGErrorForkFailed@1028$kCGErrorIllegalArgument@1001$kCGErrorInvalidConnection@1002$kCGErrorInvalidContext@1003$kCGErrorInvalidOperation@1010$kCGErrorLast@1029$kCGErrorNameTooLong@1005$kCGErrorNoCurrentPoint@1009$kCGErrorNoneAvailable@1011$kCGErrorNotImplemented@1006$kCGErrorRangeCheck@1007$kCGErrorRetryRegistration@1029$kCGErrorSuccess@0$kCGErrorTypeCheck@1008$kCGEventFilterMaskPermitLocalKeyboardEvents@2$kCGEventFilterMaskPermitLocalMouseEvents@1$kCGEventFilterMaskPermitSystemDefinedEvents@4$kCGEventFlagMaskAlphaShift@65536$kCGEventFlagMaskAlternate@524288$kCGEventFlagMaskCommand@1048576$kCGEventFlagMaskControl@262144$kCGEventFlagMaskHelp@4194304$kCGEventFlagMaskNonCoalesced@256$kCGEventFlagMaskNumericPad@2097152$kCGEventFlagMaskSecondaryFn@8388608$kCGEventFlagMaskShift@131072$kCGEventFlagsChanged@12$kCGEventKeyDown@10$kCGEventKeyUp@11$kCGEventLeftMouseDown@1$kCGEventLeftMouseDragged@6$kCGEventLeftMouseUp@2$kCGEventMaskForAllEvents@18446744073709551615$kCGEventMouseMoved@5$kCGEventMouseSubtypeDefault@0$kCGEventMouseSubtypeTabletPoint@1$kCGEventMouseSubtypeTabletProximity@2$kCGEventNull@0$kCGEventOtherMouseDown@25$kCGEventOtherMouseDragged@27$kCGEventOtherMouseUp@26$kCGEventRightMouseDown@3$kCGEventRightMouseDragged@7$kCGEventRightMouseUp@4$kCGEventScrollWheel@22$kCGEventSourceGroupID@44$kCGEventSourceStateCombinedSessionState@0$kCGEventSourceStateHIDSystemState@1$kCGEventSourceStateID@45$kCGEventSourceStatePrivate@-1$kCGEventSourceUnixProcessID@41$kCGEventSourceUserData@42$kCGEventSourceUserID@43$kCGEventSuppressionStateRemoteMouseDrag@1$kCGEventSuppressionStateSuppressionInterval@0$kCGEventTabletPointer@23$kCGEventTabletProximity@24$kCGEventTapDisabledByTimeout@4294967294$kCGEventTapDisabledByUserInput@4294967295$kCGEventTapOptionDefault@0$kCGEventTapOptionListenOnly@1$kCGEventTargetProcessSerialNumber@39$kCGEventTargetUnixProcessID@40$kCGEventUnacceleratedPointerMovementX@170$kCGEventUnacceleratedPointerMovementY@171$kCGFloatingWindowLevel@3$kCGFloatingWindowLevelKey@5$kCGFontIndexInvalid@65535$kCGFontIndexMax@65534$kCGFontPostScriptFormatType1@1$kCGFontPostScriptFormatType3@3$kCGFontPostScriptFormatType42@42$kCGGesturePhaseBegan@1$kCGGesturePhaseCancelled@8$kCGGesturePhaseChanged@2$kCGGesturePhaseEnded@4$kCGGesturePhaseMayBegin@128$kCGGesturePhaseNone@0$kCGGlyphMax@65534$kCGGradientDrawsAfterEndLocation@2$kCGGradientDrawsBeforeStartLocation@1$kCGHIDEventTap@0$kCGHeadInsertEventTap@0$kCGHelpWindowLevel@200$kCGHelpWindowLevelKey@16$kCGImageAlphaFirst@4$kCGImageAlphaLast@3$kCGImageAlphaNone@0$kCGImageAlphaNoneSkipFirst@6$kCGImageAlphaNoneSkipLast@5$kCGImageAlphaOnly@7$kCGImageAlphaPremultipliedFirst@2$kCGImageAlphaPremultipliedLast@1$kCGImageByteOrder16Big@12288$kCGImageByteOrder16Little@4096$kCGImageByteOrder32Big@16384$kCGImageByteOrder32Little@8192$kCGImageByteOrderDefault@0$kCGImageByteOrderMask@28672$kCGImagePixelFormatMask@983040$kCGImagePixelFormatPacked@0$kCGImagePixelFormatRGB101010@196608$kCGImagePixelFormatRGB555@65536$kCGImagePixelFormatRGB565@131072$kCGImagePixelFormatRGBCIF10@262144$kCGInterpolationDefault@0$kCGInterpolationHigh@3$kCGInterpolationLow@2$kCGInterpolationMedium@4$kCGInterpolationNone@1$kCGKeyboardEventAutorepeat@8$kCGKeyboardEventKeyboardType@10$kCGKeyboardEventKeycode@9$kCGLineCapButt@0$kCGLineCapRound@1$kCGLineCapSquare@2$kCGLineJoinBevel@2$kCGLineJoinMiter@0$kCGLineJoinRound@1$kCGMainMenuWindowLevel@24$kCGMainMenuWindowLevelKey@8$kCGMaximumWindowLevelKey@14$kCGMinimumWindowLevelKey@1$kCGModalPanelWindowLevel@8$kCGModalPanelWindowLevelKey@10$kCGMomentumScrollPhaseBegin@1$kCGMomentumScrollPhaseContinue@2$kCGMomentumScrollPhaseEnd@3$kCGMomentumScrollPhaseNone@0$kCGMouseButtonCenter@2$kCGMouseButtonLeft@0$kCGMouseButtonRight@1$kCGMouseEventButtonNumber@3$kCGMouseEventClickState@1$kCGMouseEventDeltaX@4$kCGMouseEventDeltaY@5$kCGMouseEventInstantMouser@6$kCGMouseEventNumber@0$kCGMouseEventPressure@2$kCGMouseEventSubtype@7$kCGMouseEventWindowUnderMousePointer@91$kCGMouseEventWindowUnderMousePointerThatCanHandleThisEvent@92$kCGNormalWindowLevel@0$kCGNormalWindowLevelKey@4$kCGNullDirectDisplay@0$kCGNullWindowID@0$kCGNumReservedBaseWindowLevels@5$kCGNumReservedWindowLevels@16$kCGNumberOfEventSuppressionStates@2$kCGNumberOfWindowLevelKeys@21$kCGOverlayWindowLevel@102$kCGOverlayWindowLevelKey@15$kCGPDFAllowsCommenting@64$kCGPDFAllowsContentAccessibility@32$kCGPDFAllowsContentCopying@16$kCGPDFAllowsDocumentAssembly@8$kCGPDFAllowsDocumentChanges@4$kCGPDFAllowsFormFieldEntry@128$kCGPDFAllowsHighQualityPrinting@2$kCGPDFAllowsLowQualityPrinting@1$kCGPDFArtBox@4$kCGPDFBleedBox@2$kCGPDFCropBox@1$kCGPDFMediaBox@0$kCGPDFObjectTypeArray@7$kCGPDFObjectTypeBoolean@2$kCGPDFObjectTypeDictionary@8$kCGPDFObjectTypeInteger@3$kCGPDFObjectTypeName@5$kCGPDFObjectTypeNull@1$kCGPDFObjectTypeReal@4$kCGPDFObjectTypeStream@9$kCGPDFObjectTypeString@6$kCGPDFTrimBox@3$kCGPathEOFill@1$kCGPathEOFillStroke@4$kCGPathElementAddCurveToPoint@3$kCGPathElementAddLineToPoint@1$kCGPathElementAddQuadCurveToPoint@2$kCGPathElementCloseSubpath@4$kCGPathElementMoveToPoint@0$kCGPathFill@0$kCGPathFillStroke@3$kCGPathStroke@2$kCGPatternTilingConstantSpacing@2$kCGPatternTilingConstantSpacingMinimalDistortion@1$kCGPatternTilingNoDistortion@0$kCGPopUpMenuWindowLevel@101$kCGPopUpMenuWindowLevelKey@11$kCGRenderingIntentAbsoluteColorimetric@1$kCGRenderingIntentDefault@0$kCGRenderingIntentPerceptual@3$kCGRenderingIntentRelativeColorimetric@2$kCGRenderingIntentSaturation@4$kCGScreenSaverWindowLevel@1000$kCGScreenSaverWindowLevelKey@13$kCGScreenUpdateOperationMove@1$kCGScreenUpdateOperationReducedDirtyRectangleCount@2147483648$kCGScreenUpdateOperationRefresh@0$kCGScrollEventUnitLine@1$kCGScrollEventUnitPixel@0$kCGScrollPhaseBegan@1$kCGScrollPhaseCancelled@8$kCGScrollPhaseChanged@2$kCGScrollPhaseEnded@4$kCGScrollPhaseMayBegin@128$kCGScrollWheelEventDeltaAxis1@11$kCGScrollWheelEventDeltaAxis2@12$kCGScrollWheelEventDeltaAxis3@13$kCGScrollWheelEventFixedPtDeltaAxis1@93$kCGScrollWheelEventFixedPtDeltaAxis2@94$kCGScrollWheelEventFixedPtDeltaAxis3@95$kCGScrollWheelEventInstantMouser@14$kCGScrollWheelEventIsContinuous@88$kCGScrollWheelEventMomentumPhase@123$kCGScrollWheelEventPointDeltaAxis1@96$kCGScrollWheelEventPointDeltaAxis2@97$kCGScrollWheelEventPointDeltaAxis3@98$kCGScrollWheelEventScrollCount@100$kCGScrollWheelEventScrollPhase@99$kCGSessionEventTap@1$kCGStatusWindowLevel@25$kCGStatusWindowLevelKey@9$kCGTabletEventDeviceID@24$kCGTabletEventPointButtons@18$kCGTabletEventPointPressure@19$kCGTabletEventPointX@15$kCGTabletEventPointY@16$kCGTabletEventPointZ@17$kCGTabletEventRotation@22$kCGTabletEventTangentialPressure@23$kCGTabletEventTiltX@20$kCGTabletEventTiltY@21$kCGTabletEventVendor1@25$kCGTabletEventVendor2@26$kCGTabletEventVendor3@27$kCGTabletProximityEventCapabilityMask@36$kCGTabletProximityEventDeviceID@31$kCGTabletProximityEventEnterProximity@38$kCGTabletProximityEventPointerID@30$kCGTabletProximityEventPointerType@37$kCGTabletProximityEventSystemTabletID@32$kCGTabletProximityEventTabletID@29$kCGTabletProximityEventVendorID@28$kCGTabletProximityEventVendorPointerSerialNumber@34$kCGTabletProximityEventVendorPointerType@33$kCGTabletProximityEventVendorUniqueID@35$kCGTailAppendEventTap@1$kCGTextClip@7$kCGTextFill@0$kCGTextFillClip@4$kCGTextFillStroke@2$kCGTextFillStrokeClip@6$kCGTextInvisible@3$kCGTextStroke@1$kCGTextStrokeClip@5$kCGTornOffMenuWindowLevel@3$kCGTornOffMenuWindowLevelKey@6$kCGUtilityWindowLevel@19$kCGUtilityWindowLevelKey@17$kCGWindowImageBestResolution@8$kCGWindowImageBoundsIgnoreFraming@1$kCGWindowImageDefault@0$kCGWindowImageNominalResolution@16$kCGWindowImageOnlyShadows@4$kCGWindowImageShouldBeOpaque@2$kCGWindowListExcludeDesktopElements@16$kCGWindowListOptionAll@0$kCGWindowListOptionIncludingWindow@8$kCGWindowListOptionOnScreenAboveWindow@2$kCGWindowListOptionOnScreenBelowWindow@4$kCGWindowListOptionOnScreenOnly@1$kCGWindowSharingNone@0$kCGWindowSharingReadOnly@1$kCGWindowSharingReadWrite@2$""" -misc.update( - { - "CGWindowSharingType": NewType("CGWindowSharingType", int), - "CGPDFBox": NewType("CGPDFBox", int), - "CGMomentumScrollPhase": NewType("CGMomentumScrollPhase", int), - "CGWindowLevelKey": NewType("CGWindowLevelKey", int), - "CGImagePixelFormatInfo": NewType("CGImagePixelFormatInfo", int), - "CGEventTapPlacement": NewType("CGEventTapPlacement", int), - "CGEventField": NewType("CGEventField", int), - "CGConfigureOption": NewType("CGConfigureOption", int), - "CGMouseButton": NewType("CGMouseButton", int), - "CGWindowImageOption": NewType("CGWindowImageOption", int), - "CGLineJoin": NewType("CGLineJoin", int), - "CGColorSpaceModel": NewType("CGColorSpaceModel", int), - "CGEventTapOptions": NewType("CGEventTapOptions", int), - "CGTextEncoding": NewType("CGTextEncoding", int), - "CGFontPostScriptFormat": NewType("CGFontPostScriptFormat", int), - "CGEventSourceStateID": NewType("CGEventSourceStateID", int), - "CGPathElementType": NewType("CGPathElementType", int), - "CGEventMouseSubtype": NewType("CGEventMouseSubtype", int), - "CGDisplayStreamFrameStatus": NewType("CGDisplayStreamFrameStatus", int), - "CGScrollEventUnit": NewType("CGScrollEventUnit", int), - "CGEventFilterMask": NewType("CGEventFilterMask", int), - "CGColorConversionInfoTransformType": NewType( - "CGColorConversionInfoTransformType", int - ), - "CGBitmapInfo": NewType("CGBitmapInfo", int), - "CGPDFAccessPermissions": NewType("CGPDFAccessPermissions", int), - "CGPatternTiling": NewType("CGPatternTiling", int), - "CGInterpolationQuality": NewType("CGInterpolationQuality", int), - "CGScrollPhase": NewType("CGScrollPhase", int), - "CGLineCap": NewType("CGLineCap", int), - "CGGesturePhase": NewType("CGGesturePhase", int), - "CGWindowListOption": NewType("CGWindowListOption", int), - "CGBlendMode": NewType("CGBlendMode", int), - "CGCaptureOptions": NewType("CGCaptureOptions", int), - "CGTextDrawingMode": NewType("CGTextDrawingMode", int), - "CGRectEdge": NewType("CGRectEdge", int), - "CGEventSuppressionState": NewType("CGEventSuppressionState", int), - "CGEventTapLocation": NewType("CGEventTapLocation", int), - "CGPDFTagType": NewType("CGPDFTagType", int), - "CGPDFObjectType": NewType("CGPDFObjectType", int), - "CGImageAlphaInfo": NewType("CGImageAlphaInfo", int), - "CGGlyphDeprecatedEnum": NewType("CGGlyphDeprecatedEnum", int), - "CGDisplayChangeSummaryFlags": NewType("CGDisplayChangeSummaryFlags", int), - "CGPDFDataFormat": NewType("CGPDFDataFormat", int), - "CIRenderDestinationAlphaMode": NewType("CIRenderDestinationAlphaMode", int), - "CGGradientDrawingOptions": NewType("CGGradientDrawingOptions", int), - "CGScreenUpdateOperation": NewType("CGScreenUpdateOperation", int), - "CGEventFlags": NewType("CGEventFlags", int), - "CGWindowBackingType": NewType("CGWindowBackingType", int), - "CGError": NewType("CGError", int), - "CGDisplayStreamUpdateRectType": NewType("CGDisplayStreamUpdateRectType", int), - "CGColorRenderingIntent": NewType("CGColorRenderingIntent", int), - "CGEventType": NewType("CGEventType", int), - "CGPathDrawingMode": NewType("CGPathDrawingMode", int), - "CGImageByteOrderInfo": NewType("CGImageByteOrderInfo", int), - } -) -misc.update( - { - "CIContextOption": NewType("CIContextOption", str), - "CIFormat": NewType("CIFormat", int), - "CIRAWDecoderVersion": NewType("CIRAWDecoderVersion", str), - "CIImageAutoAdjustmentOption": NewType("CIImageAutoAdjustmentOption", str), - "CIImageRepresentationOption": NewType("CIImageRepresentationOption", str), - "CIRAWFilterOption": NewType("CIRAWFilterOption", str), - "CIImageOption": NewType("CIImageOption", str), - } -) -misc.update( - { - "kCGDisplayModeIsTelevisionOutput": "kCGDisplayModeIsTelevisionOutput", - "kCGSessionUserNameKey": "kCGSSessionUserNameKey", - "kCGSessionOnConsoleKey": "kCGSSessionOnConsoleKey", - "kCGDisplayIOFlags": "IOFlags", - "kCGDisplayModeIsStretched": "kCGDisplayModeIsStretched", - "kCGNotifyGUIConsoleSessionChanged": b"com.apple.coregraphics.GUIConsoleSessionChanged", - "kCGSessionUserIDKey": "kCGSSessionUserIDKey", - "kCGDisplayModeIsInterlaced": "kCGDisplayModeIsInterlaced", - "kCGDisplayBlendSolidColor": 1.0, - "kCGDisplayHeight": "Height", - "kCGDisplayBitsPerSample": "BitsPerSample", - "kCGDisplayBlendNormal": 0.0, - "kCGMouseDownEventMaskingDeadSwitchTimeout": 60.0, - "kCGMaxDisplayReservationInterval": 15.0, - "kCGDisplayWidth": "Width", - "kCGDisplaySamplesPerPixel": "SamplesPerPixel", - "kCGNotifyEventTapRemoved": b"com.apple.coregraphics.eventTapRemoved", - "kCGSessionConsoleSetKey": "kCGSSessionConsoleSetKey", - "kCGDisplayRefreshRate": "RefreshRate", - "kCGDisplayBytesPerRow": "kCGDisplayBytesPerRow", - "kCGDisplayBitsPerPixel": "BitsPerPixel", - "kCGDisplayModeUsableForDesktopGUI": "UsableForDesktopGUI", - "kCGSessionLoginDoneKey": "kCGSessionLoginDoneKey", - "kCGIODisplayModeID": "IODisplayModeID", - "kCGDisplayMode": "Mode", - "kCGNotifyEventTapAdded": b"com.apple.coregraphics.eventTapAdded", - "kCGDisplayModeIsSafeForHardware": "kCGDisplayModeIsSafeForHardware", - "kCGNotifyGUISessionUserChanged": b"com.apple.coregraphics.GUISessionUserChanged", - } -) -functions = { - "CGPDFDocumentGetVersion": ( - b"v^{CGPDFDocument=}^i^i", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CGContextAddArcToPoint": (b"v^{CGContext=}ddddd",), - "CGRectIntersection": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGDataConsumerRetain": (b"^{CGDataConsumer=}^{CGDataConsumer=}",), - "CGColorSpaceCreateDeviceCMYK": ( - b"^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGGradientGetTypeID": (b"Q",), - "CGColorConversionInfoCreate": ( - b"^{CGColorConversionInfo=}^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFPageGetDrawingTransform": ( - b"{CGAffineTransform=dddddd}^{CGPDFPage=}i{CGRect={CGPoint=dd}{CGSize=dd}}iB", - ), - "CGFontCanCreatePostScriptSubset": ( - b"B^{CGFont=}i", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetStrokeColorSpace": (b"v^{CGContext=}^{CGColorSpace=}",), - "CGContextPathContainsPoint": (b"B^{CGContext=}{CGPoint=dd}i",), - "CGAffineTransformRotate": ( - b"{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}d", - ), - "CGContextRelease": (b"v^{CGContext=}",), - "CGPDFArrayGetStream": ( - b"B^{CGPDFArray=}Q^^{CGPDFStream=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGEventKeyboardSetUnicodeString": ( - b"v^{__CGEvent=}Q^T", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "CGDisplayModeGetRefreshRate": (b"d^{CGDisplayMode=}",), - "CGShieldingWindowID": (b"II",), - "CGColorSpaceCreateWithColorSyncProfile": ( - b"^{CGColorSpace=}^{ColorSyncProfile=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGAffineTransformMake": (b"{CGAffineTransform=dddddd}dddddd",), - "CGWindowListCreateDescriptionFromArray": ( - b"^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextAddLines": ( - b"v^{CGContext=}^{CGPoint=dd}Q", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGContextSetTextPosition": (b"v^{CGContext=}dd",), - "CGColorCreateSRGB": ( - b"^{CGColor=}dddd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextGetTextPosition": (b"{CGPoint=dd}^{CGContext=}",), - "CGPDFPageGetRotationAngle": (b"i^{CGPDFPage=}",), - "CGContextGetPathBoundingBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGContext=}",), - "CGRectContainsPoint": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}{CGPoint=dd}",), - "CGPDFDictionaryGetCount": (b"Q^{CGPDFDictionary=}",), - "CGRectMake": (b"{CGRect={CGPoint=dd}{CGSize=dd}}dddd",), - "CGColorSpaceRetain": (b"^{CGColorSpace=}^{CGColorSpace=}",), - "CGPathCreateCopyByStrokingPath": ( - b"^{CGPath=}^{CGPath=}^{CGAffineTransform=dddddd}diid", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGContextAddEllipseInRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGContextEndTransparencyLayer": (b"v^{CGContext=}",), - "CGContextSelectFont": ( - b"v^{CGContext=}^tdi", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "CGLayerGetSize": (b"{CGSize=dd}^{CGLayer=}",), - "CGWindowListCreate": ( - b"^{__CFArray=}II", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGSizeEqualToSize": (b"B{CGSize=dd}{CGSize=dd}",), - "CGColorConverterCreateSimple": ( - b"^{CGColorConversionInfo=}^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFStringCopyTextString": ( - b"^{__CFString=}^{CGPDFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorSpaceGetBaseColorSpace": (b"^{CGColorSpace=}^{CGColorSpace=}",), - "CGPathCreateMutable": ( - b"^{CGPath=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPatternCreate": ( - b"^{CGPattern=}^v{CGRect={CGPoint=dd}{CGSize=dd}}{CGAffineTransform=dddddd}ddiB^{CGPatternCallbacks=I^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGBitmapContextGetHeight": (b"Q^{CGContext=}",), - "CGPDFPageGetBoxRect": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFPage=}i",), - "CGPDFStringCopyDate": ( - b"^{__CFDate=}^{CGPDFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayStreamUpdateGetDropCount": (b"Q^{CGDisplayStreamUpdate=}",), - "CGDisplayBestModeForParametersAndRefreshRate": ( - selAorI(b"^{__CFDictionary=}IQQQd^i", b"^{__CFDictionary=}IQQQd^I"), - "", - {"arguments": {5: {"type_modifier": "o"}}}, - ), - "CGPDFScannerPopString": ( - b"B^{CGPDFScanner=}^^{CGPDFString=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGPDFPageGetTypeID": (b"Q",), - "CGContextAddRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGDataProviderCreateWithURL": ( - b"^{CGDataProvider=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFScannerCreate": ( - b"^{CGPDFScanner=}^{CGPDFContentStream=}^{CGPDFOperatorTable=}^v", - "", - {"retval": {"already_cfretained": False}}, - ), - "CGConfigureDisplayFadeEffect": (b"i^{_CGDisplayConfigRef=}fffff",), - "CGDisplayFade": (selAorI(b"iIffffffi", b"iIffffffI"),), - "CGPDFArrayGetObject": ( - b"B^{CGPDFArray=}Q^^{CGPDFObject=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGEventSetType": (b"v^{__CGEvent=}I",), - "CGDataProviderCreateWithFilename": ( - b"^{CGDataProvider=}^t", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "CGColorGetComponents": ( - b"^d^{CGColor=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGPDFContextSetOutline": (b"v^{CGContext=}^{__CFDictionary=}",), - "CGAffineTransformMakeTranslation": (b"{CGAffineTransform=dddddd}dd",), - "CGSizeMake": (b"{CGSize=dd}dd",), - "CGDisplayVendorNumber": (b"II",), - "CGPDFContextBeginTag": (b"v^{CGContext=}i^{__CFDictionary=}",), - "CGPDFDocumentGetID": (b"^{CGPDFArray=}^{CGPDFDocument=}",), - "CGDataProviderCreateWithData": ( - b"^{CGDataProvider=}^v^vQ^?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^v"}, - 2: {"type": b"Q"}, - }, - } - } - }, - }, - ), - "CGColorSpaceCreatePattern": ( - b"^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSynchronize": (b"v^{CGContext=}",), - "CGDisplayModeGetIODisplayModeID": (b"i^{CGDisplayMode=}",), - "CGFontGetGlyphBBoxes": ( - b"B^{CGFont=}^SQ^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "o"}, - } - }, - ), - "CGPaletteCreateWithByteSamples": ( - b"^{_CGDirectPaletteRef=}^{CGDeviceByteColor=CCC}I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "CGPDFContentStreamGetResource": ( - b"^{CGPDFObject=}^{CGPDFContentStream=}^t^t", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - } - }, - ), - "CGAffineTransformMakeRotation": (b"{CGAffineTransform=dddddd}d",), - "CGGradientRetain": (b"^{CGGradient=}^{CGGradient=}",), - "CGPaletteCreateWithDisplay": ( - b"^{_CGDirectPaletteRef=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayCreateImageForRect": ( - b"^{CGImage=}I{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageGetWidth": (b"Q^{CGImage=}",), - "CGPDFDocumentIsUnlocked": (b"B^{CGPDFDocument=}",), - "CGPathCreateWithRect": ( - b"^{CGPath=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGImageGetBitmapInfo": (b"I^{CGImage=}",), - "CGEventSourceSetKeyboardType": (b"v^{__CGEventSource=}I",), - "CGDataProviderGetInfo": (b"^v^{CGDataProvider=}",), - "CGContextSetAllowsFontSmoothing": (b"v^{CGContext=}B",), - "CGDisplayUsesOpenGLAcceleration": (selAorI(b"iI", b"II"),), - "CGPointMakeWithDictionaryRepresentation": ( - b"B^{__CFDictionary=}^{CGPoint=dd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGContextResetClip": (b"v^{CGContext=}",), - "CGPDFDictionaryApplyFunction": ( - b"v^{CGPDFDictionary=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: { - "type": b"^t", - "c_array_delimeted_by_null": True, - "type_modifier": "n", - }, - 1: {"type": b"^{CGPDFObject=}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGWindowServerCreateServerPort": ( - b"^{__CFMachPort=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathAddEllipseInRect": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGColorSpaceGetColorTableCount": (b"Q^{CGColorSpace=}",), - "CGWindowListCreateImage": ( - b"^{CGImage=}{CGRect={CGPoint=dd}{CGSize=dd}}III", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathCreateCopyByTransformingPath": ( - b"^{CGPath=}^{CGPath=}^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGContextClearRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGPDFDocumentGetAccessPermissions": (b"I^{CGPDFDocument=}",), - "CGBitmapContextGetBitmapInfo": (b"I^{CGContext=}",), - "CGPathAddQuadCurveToPoint": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}dddd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGColorSpaceCreateDeviceGray": ( - b"^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectIntersectsRect": ( - b"B{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGPDFPageGetDocument": (b"^{CGPDFDocument=}^{CGPDFPage=}",), - "CGRestorePermanentDisplayConfiguration": (b"v",), - "CGImageGetTypeID": (b"Q",), - "CGFontCreatePostScriptEncoding": ( - b"^{__CFData=}^{CGFont=}[256S]", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGFontGetStemV": (b"d^{CGFont=}",), - "CGPointApplyAffineTransform": ( - b"{CGPoint=dd}{CGPoint=dd}{CGAffineTransform=dddddd}", - ), - "CGEventSourceGetSourceStateID": (b"i^{__CGEventSource=}",), - "CGRectStandardize": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGPathAddLineToPoint": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}dd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGDataProviderCopyData": ( - b"^{__CFData=}^{CGDataProvider=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorCreateGenericGray": ( - b"^{CGColor=}dd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorSpaceIsWideGamutRGB": (b"B^{CGColorSpace=}",), - "CGPDFContextSetURLForRect": ( - b"v^{CGContext=}^{__CFURL=}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGColorRetain": (b"^{CGColor=}^{CGColor=}",), - "CGColorCreateGenericCMYK": ( - b"^{CGColor=}ddddd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGGLContextCreate": ( - b"^{CGContext=}^v{CGSize=dd}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGBeginDisplayConfiguration": ( - b"i^^{_CGDisplayConfigRef=}", - "", - {"arguments": {0: {"type_modifier": "o"}}}, - ), - "CGDisplayStreamGetTypeID": (b"Q",), - "CGBitmapContextGetBitsPerPixel": (b"Q^{CGContext=}",), - "CGPDFDictionaryGetArray": ( - b"B^{CGPDFDictionary=}^t^^{CGPDFArray=}", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGColorSpaceCreateWithPlatformColorSpace": ( - b"^{CGColorSpace=}^v", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetCMYKStrokeColor": (b"v^{CGContext=}ddddd",), - "CGDisplayStreamGetRunLoopSource": (b"^{__CFRunLoopSource=}^{CGDisplayStream=}",), - "CGContextEndPage": (b"v^{CGContext=}",), - "CGUnregisterScreenRefreshCallback": ( - b"v^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGPathAddRect": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGPDFContentStreamRelease": (b"v^{CGPDFContentStream=}",), - "CGPathApplyWithBlock": ( - b"v^{CGPath=}@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"typestr": "^v"}, - 1: {"typestr": "^{CGPathElement=}"}, - }, - } - } - } - }, - ), - "CGContextGetCTM": (b"{CGAffineTransform=dddddd}^{CGContext=}",), - "CGDisplayStreamUpdateGetRects": ( - b"^{CGRect={CGPoint=dd}{CGSize=dd}}^{CGDisplayStreamUpdate=}i^Q", - "", - { - "retval": {"c_array_length_in_arg": 2}, - "arguments": {2: {"type_modifier": "o"}}, - }, - ), - "CGPDFArrayGetName": ( - b"B^{CGPDFArray=}Q^^t", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGEventSourceGetPixelsPerLine": (b"d^{__CGEventSource=}",), - "CGDisplayStreamUpdateGetMovedRectsDelta": ( - b"v^{CGDisplayStreamUpdate=}^d^d", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CGRectGetHeight": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGEventSourceGetTypeID": (b"Q",), - "CGPDFDictionaryGetStream": ( - b"B^{CGPDFDictionary=}^t^^{CGPDFStream=}", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGDataProviderCreateWithCFData": ( - b"^{CGDataProvider=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGShieldingWindowLevel": (b"i",), - "CGDisplaySetPalette": (b"iI^{_CGDirectPaletteRef=}",), - "CGDisplayIsOnline": (selAorI(b"iI", b"II"),), - "CGDisplayStreamCreate": ( - b"^{CGDisplayStream=}IQQi^{__CFDictionary=}@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: {"type": "Q"}, - 3: {"type": "@"}, - 4: {"type": "@"}, - }, - } - } - }, - }, - ), - "CGFontGetCapHeight": (b"i^{CGFont=}",), - "CGContextShowGlyphsWithAdvances": ( - b"v^{CGContext=}^S^{CGSize=dd}Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - } - }, - ), - "CGDataConsumerCreate": ( - b"^{CGDataConsumer=}^v^{CGDataConsumerCallbacks=^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFArrayGetInteger": ( - b"B^{CGPDFArray=}Q^q", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGPostScrollWheelEvent": ( - b"iIi", - "", - {"c_array_length_in_arg": 0, "variadic": True}, - ), - "CGColorCreateCopy": ( - b"^{CGColor=}^{CGColor=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGBitmapContextCreate": ( - b"^{CGContext=}^vQQQQ^{CGColorSpace=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFArrayApplyBlock": ( - b"v^{CGPDFArray=}@?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "l"}, - 2: {"type": "^{CGPDFObject=}"}, - 3: {"type": "^v"}, - }, - } - } - } - }, - ), - "CGPathAddRelativeArc": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}ddddd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGDisplaySetStereoOperation": (selAorI(b"iIiiI", b"iIIII"),), - "CGPaletteIsEqualToPalette": (b"B^{_CGDirectPaletteRef=}^{_CGDirectPaletteRef=}",), - "CGContextSetShouldAntialias": (b"v^{CGContext=}B",), - "CGDisplayModeGetHeight": (b"Q^{CGDisplayMode=}",), - "CGContextSetFillColor": ( - b"v^{CGContext=}^d", - "", - {"arguments": {1: {"c_array_of_variable_length": True, "type_modifier": "n"}}}, - ), - "CGImageRelease": (b"v^{CGImage=}",), - "CGInhibitLocalEvents": (selAorI(b"ii", b"iI"),), - "CGContextSetGrayFillColor": (b"v^{CGContext=}dd",), - "CGColorSpaceIsHDR": (b"B^{CGColorSpace=}",), - "CGImageGetUTType": (b"^{__CFString=}^{CGImage=}",), - "CGPSConverterCreate": ( - b"^{CGPSConverter=}^v^{CGPSConverterCallbacks=I^?^?^?^?^?^?^?}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDirectDisplayCopyCurrentMetalDevice": ( - b"@I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextClipToMask": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGImage=}", - ), - "CGDisplayCopyColorSpace": ( - b"^{CGColorSpace=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextAddLineToPoint": (b"v^{CGContext=}dd",), - "CGEventSourceGetLocalEventsSuppressionInterval": (b"d^{__CGEventSource=}",), - "CGColorSpaceGetTypeID": (b"Q",), - "CGPathAddPath": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}^{CGPath=}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGDataProviderRetain": (b"^{CGDataProvider=}^{CGDataProvider=}",), - "CGEventCreateFromData": ( - b"^{__CGEvent=}^{__CFAllocator=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayPixelsHigh": (b"QI",), - "CGConfigureDisplayStereoOperation": ( - selAorI(b"i^{_CGDisplayConfigRef=}Iii", b"i^{_CGDisplayConfigRef=}III"), - ), - "CGFontGetNumberOfGlyphs": (b"Q^{CGFont=}",), - "CGPDFOperatorTableCreate": ( - b"^{CGPDFOperatorTable=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFContextAddDestinationAtPoint": (b"v^{CGContext=}^{__CFString=}{CGPoint=dd}",), - "CGPDFScannerGetContentStream": (b"^{CGPDFContentStream=}^{CGPDFScanner=}",), - "CGContextSetShouldSubpixelQuantizeFonts": (b"v^{CGContext=}B",), - "CGPathContainsPoint": ( - b"B^{CGPath=}^{CGAffineTransform=dddddd}{CGPoint=dd}B", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGSizeApplyAffineTransform": ( - b"{CGSize=dd}{CGSize=dd}{CGAffineTransform=dddddd}", - ), - "CGRectIntegral": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGDisplayPrimaryDisplay": (b"II",), - "CGContextConcatCTM": (b"v^{CGContext=}{CGAffineTransform=dddddd}",), - "CGFunctionRelease": (b"v^{CGFunction=}",), - "CGPDFDocumentGetOutline": (b"^{__CFDictionary=}^{CGPDFDocument=}",), - "CGWindowListCreateImageFromArray": ( - b"^{CGImage=}{CGRect={CGPoint=dd}{CGSize=dd}}^{__CFArray=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPatternRetain": (b"^{CGPattern=}^{CGPattern=}",), - "CGPaletteCreateWithSamples": ( - b"^{_CGDirectPaletteRef=}^{CGDeviceColor=fff}I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "CGDataProviderGetTypeID": (b"Q",), - "CGPaletteCreateWithCapacity": ( - b"^{_CGDirectPaletteRef=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayBytesPerRow": (b"QI",), - "CGSetLocalEventsSuppressionInterval": (b"id",), - "CGPDFArrayGetCount": (b"Q^{CGPDFArray=}",), - "CGPDFContextClose": (b"v^{CGContext=}",), - "CGDisplayIsBuiltin": (selAorI(b"iI", b"II"),), - "CGContextIsPathEmpty": (b"B^{CGContext=}",), - "CGContextSetShadow": (b"v^{CGContext=}{CGSize=dd}d",), - "CGPathGetBoundingBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPath=}",), - "CGColorGetNumberOfComponents": (b"Q^{CGColor=}",), - "CGColorSpaceRelease": (b"v^{CGColorSpace=}",), - "CGGetDisplayTransferByTable": ( - b"iII^f^f^f^I", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": (1, 5), "type_modifier": "o"}, - 3: {"c_array_length_in_arg": (1, 5), "type_modifier": "o"}, - 4: {"c_array_length_in_arg": (1, 5), "type_modifier": "o"}, - 5: {"type_modifier": "o"}, - } - }, - ), - "CGPDFDictionaryApplyBlock": ( - b"v^{CGPDFDictionary=}@?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"c_array_delimited_by_null": True, "type": "n^t"}, - 2: {"type": "^{CGPDFObject=}"}, - 3: {"type": "^v"}, - }, - } - } - } - }, - ), - "CGContextShowGlyphsAtPoint": ( - b"v^{CGContext=}dd^SQ", - "", - {"arguments": {3: {"c_array_length_in_arg": 4, "type_modifier": "n"}}}, - ), - "CGPathAddLines": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}^{CGPoint=dd}Q", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - } - }, - ), - "CGColorCreateGenericRGB": ( - b"^{CGColor=}dddd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextDrawPDFPage": (b"v^{CGContext=}^{CGPDFPage=}",), - "CGDisplayModeRetain": (b"^{CGDisplayMode=}^{CGDisplayMode=}",), - "CGDisplayGammaTableCapacity": (b"II",), - "CGFontCreateWithFontName": ( - b"^{CGFont=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayCopyAllDisplayModes": ( - b"^{__CFArray=}I^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextScaleCTM": (b"v^{CGContext=}dd",), - "CGRectDivide": ( - b"v{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}^{CGRect={CGPoint=dd}{CGSize=dd}}dI", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "CGContextSetLineCap": (b"v^{CGContext=}i",), - "CGImageMaskCreate": ( - b"^{CGImage=}QQQQQ^{CGDataProvider=}^dB", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextDrawRadialGradient": ( - b"v^{CGContext=}^{CGGradient=}{CGPoint=dd}d{CGPoint=dd}dI", - ), - "CGFontCopyVariations": ( - b"^{__CFDictionary=}^{CGFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGConfigureDisplayMirrorOfDisplay": (b"i^{_CGDisplayConfigRef=}II",), - "CGEventSourceCreate": ( - b"^{__CGEventSource=}i", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPreflightListenEventAccess": (b"B",), - "CGEventGetTimestamp": (b"Q^{__CGEvent=}",), - "CGContextFillEllipseInRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGContextSetAlpha": (b"v^{CGContext=}d",), - "CGContextAddQuadCurveToPoint": (b"v^{CGContext=}dddd",), - "CGColorSpaceGetNumberOfComponents": (b"Q^{CGColorSpace=}",), - "CGEventCreateKeyboardEvent": ( - b"^{__CGEvent=}^{__CGEventSource=}SB", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFDocumentGetMediaBox": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i", - ), - "CGEventSetSource": (b"v^{__CGEvent=}^{__CGEventSource=}",), - "CGSetDisplayTransferByByteTable": ( - b"iII^z^z^z", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 4: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - } - }, - ), - "CGPDFDictionaryGetString": ( - b"B^{CGPDFDictionary=}^t^^{CGPDFString=}", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGRegisterScreenRefreshCallback": ( - b"i^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGFontGetUnitsPerEm": (b"i^{CGFont=}",), - "CGContextEOClip": (b"v^{CGContext=}",), - "CGAcquireDisplayFadeReservation": ( - b"if^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGBitmapContextGetData": ( - b"^v^{CGContext=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGAffineTransformIsIdentity": (b"B{CGAffineTransform=dddddd}",), - "CGContextGetInterpolationQuality": (b"i^{CGContext=}",), - "CGPathGetPathBoundingBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPath=}",), - "CGContextRotateCTM": (b"v^{CGContext=}d",), - "CGImageCreateCopy": ( - b"^{CGImage=}^{CGImage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageGetShouldInterpolate": (b"B^{CGImage=}",), - "CGContextStrokeRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGImageGetDecode": ( - b"^d^{CGImage=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGColorCreateCopyByMatchingToColorSpace": ( - b"^{CGColor=}^{CGColorSpace=}i^{CGColor=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetAllowsAntialiasing": (b"v^{CGContext=}B",), - "CGPDFScannerPopDictionary": ( - b"B^{CGPDFScanner=}^^{CGPDFDictionary=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGRectGetMidX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGFontCopyTableForTag": ( - b"^{__CFData=}^{CGFont=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventSourceGetLocalEventsFilterDuringSuppressionState": ( - b"I^{__CGEventSource=}I", - ), - "CGColorGetTypeID": (b"Q",), - "CGSetDisplayTransferByFormula": (b"iIfffffffff",), - "CGPDFStreamGetDictionary": (b"^{CGPDFDictionary=}^{CGPDFStream=}",), - "CGEventSourceSetLocalEventsFilterDuringSuppressionState": ( - b"v^{__CGEventSource=}II", - ), - "CGRectContainsRect": ( - b"B{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGColorGetPattern": (b"^{CGPattern=}^{CGColor=}",), - "CGPaletteCreateDefaultColorPalette": ( - b"^{_CGDirectPaletteRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGFontCreatePostScriptSubset": ( - b"^{__CFData=}^{CGFont=}^{__CFString=}i^SQ^S", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - 5: {"type_modifier": "n"}, - }, - }, - ), - "CGPDFDocumentGetCatalog": (b"^{CGPDFDictionary=}^{CGPDFDocument=}",), - "CGColorSpaceGetModel": (b"i^{CGColorSpace=}",), - "CGImageGetColorSpace": (b"^{CGColorSpace=}^{CGImage=}",), - "CGPDFArrayGetString": ( - b"B^{CGPDFArray=}Q^^{CGPDFString=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGPointMake": (b"{CGPoint=dd}dd",), - "CGPaletteRelease": (b"v^{_CGDirectPaletteRef=}",), - "CGPDFDictionaryGetObject": ( - b"B^{CGPDFDictionary=}^t^^{CGPDFObject=}", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGEventTapCreateForPSN": ( - b"^{__CFMachPort=}^vIIQ^?^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"^{__CGEvent=}"}, - "arguments": { - 0: {"type": b"^{__CGEventTapProxy=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^{__CGEvent=}"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CGReleaseDisplayFadeReservation": (b"iI",), - "CGDisplayRegisterReconfigurationCallback": ( - b"i^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGPDFPageRetain": (b"^{CGPDFPage=}^{CGPDFPage=}",), - "CGLayerCreateWithContext": ( - b"^{CGLayer=}^{CGContext=}{CGSize=dd}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextStrokeLineSegments": ( - b"v^{CGContext=}^{CGPoint=dd}Q", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGContextSetTextMatrix": (b"v^{CGContext=}{CGAffineTransform=dddddd}",), - "CGPDFObjectGetType": (b"i^{CGPDFObject=}",), - "CGEventSourceGetUserData": (b"q^{__CGEventSource=}",), - "CGContextSetStrokeColor": ( - b"v^{CGContext=}^d", - "", - {"arguments": {1: {"c_array_of_variable_length": True, "type_modifier": "n"}}}, - ), - "CGPDFContextEndTag": (b"v^{CGContext=}",), - "CGPDFScannerPopBoolean": ( - b"B^{CGPDFScanner=}^C", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGGradientRelease": (b"v^{CGGradient=}",), - "CGConfigureDisplayMode": (b"i^{_CGDisplayConfigRef=}I^{__CFDictionary=}",), - "CGWarpMouseCursorPosition": (b"i{CGPoint=dd}",), - "CGPathCreateWithRoundedRect": ( - b"^{CGPath=}{CGRect={CGPoint=dd}{CGSize=dd}}dd^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"type_modifier": "n"}}, - }, - ), - "CGPDFDocumentGetInfo": (b"^{CGPDFDictionary=}^{CGPDFDocument=}",), - "CGContextSetStrokePattern": ( - b"v^{CGContext=}^{CGPattern=}^d", - "", - {"arguments": {2: {"c_array_of_variable_length": True, "type_modifier": "n"}}}, - ), - "CGDisplayCanSetPalette": (b"II",), - "CGRectApplyAffineTransform": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGAffineTransform=dddddd}", - ), - "CGEventSetDoubleValueField": (b"v^{__CGEvent=}Id",), - "CGContextFlush": (b"v^{CGContext=}",), - "CGWindowListCopyWindowInfo": ( - b"^{__CFArray=}II", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGFontGetXHeight": (b"i^{CGFont=}",), - "CGPDFContextCreate": ( - b"^{CGContext=}^{CGDataConsumer=}^{CGRect={CGPoint=dd}{CGSize=dd}}^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGPaletteGetIndexForColor": (b"I^{_CGDirectPaletteRef=}{CGDeviceColor=fff}",), - "CGImageCreateWithJPEGDataProvider": ( - b"^{CGImage=}^{CGDataProvider=}^dBi", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFDocumentCreateWithURL": ( - b"^{CGPDFDocument=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathAddArcToPoint": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}ddddd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGVectorMake": (b"{CGVector=dd}dd",), - "CGDisplayIsActive": (selAorI(b"iI", b"II"),), - "CGPDFScannerScan": (b"B^{CGPDFScanner=}",), - "CGPathCreateMutableCopyByTransformingPath": ( - b"^{CGPath=}^{CGPath=}^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGSetDisplayTransferByTable": ( - b"iII^f^f^f", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 4: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - } - }, - ), - "CGFontGetDescent": (b"i^{CGFont=}",), - "CGImageGetPixelFormatInfo": (b"I^{CGImage=}",), - "CGImageGetRenderingIntent": (b"i^{CGImage=}",), - "CGGLContextUpdateViewportSize": (b"v^{CGContext=}{CGSize=dd}",), - "CGGetEventTapList": ( - b"iI^{__CGEventTapInformation=IIIQiiBfff}^I", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (0, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGEnableEventStateCombining": (selAorI(b"ii", b"iI"),), - "CGColorSpaceCreateDeviceRGB": ( - b"^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathEqualToPath": (b"B^{CGPath=}^{CGPath=}",), - "CGPDFScannerPopObject": ( - b"B^{CGPDFScanner=}^^{CGPDFObject=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGDisplayIsCaptured": (selAorI(b"iI", b"II"),), - "CGPDFPageRelease": (b"v^{CGPDFPage=}",), - "CGDataProviderCreate": ( - b"^{CGDataProvider=}^v^{CGDataProviderCallbacks=^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectIsEmpty": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGDisplayMoveCursorToPoint": (b"iI{CGPoint=dd}",), - "CGPDFScannerPopInteger": ( - b"B^{CGPDFScanner=}^q", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGPaletteGetNumberOfSamples": (b"I^{_CGDirectPaletteRef=}",), - "CGContextStrokePath": (b"v^{CGContext=}",), - "CGEventSetLocation": (b"v^{__CGEvent=}{CGPoint=dd}",), - "CGColorSpaceIsPQBased": (b"B^{CGColorSpace=}",), - "CGAffineTransformScale": ( - b"{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}dd", - ), - "CGEventSourceSetUserData": (b"v^{__CGEventSource=}q",), - "CGColorSpaceCreateExtended": ( - b"^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFArrayGetArray": ( - b"B^{CGPDFArray=}Q^^{CGPDFArray=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGContextDrawLayerInRect": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGLayer=}", - ), - "CGDataProviderRelease": (b"v^{CGDataProvider=}",), - "CGEventPost": (b"vI^{__CGEvent=}",), - "CGMainDisplayID": (b"I",), - "CGFontGetTypeID": (b"Q",), - "CGPathAddRoundedRect": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}{CGRect={CGPoint=dd}{CGSize=dd}}dd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGRectEqualToRect": ( - b"B{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGColorConversionInfoCreateFromListWithArguments": ( - selAorI( - b"^{CGColorConversionInfo=}^{__CFDictionary=}^{CGColorSpace=}Ii^c", - b"^{CGColorConversionInfo=}^{__CFDictionary=}^{CGColorSpace=}Ii[1{__va_list_tag=II^v^v}]", - ), - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectGetMaxY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGBitmapContextGetWidth": (b"Q^{CGContext=}",), - "CGShadingCreateRadial": ( - b"^{CGShading=}^{CGColorSpace=}{CGPoint=dd}d{CGPoint=dd}d^{CGFunction=}BB", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFScannerRetain": (b"^{CGPDFScanner=}^{CGPDFScanner=}",), - "CGDisplayMirrorsDisplay": (b"II",), - "CGContextAddRects": ( - b"v^{CGContext=}^{CGRect={CGPoint=dd}{CGSize=dd}}Q", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGDataConsumerCreateWithURL": ( - b"^{CGDataConsumer=}^{__CFURL=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextConvertRectToUserSpace": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGGradientCreateWithColors": ( - b"^{CGGradient=}^{CGColorSpace=}^{__CFArray=}^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "CGPathApply": ( - b"v^{CGPath=}^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{CGPathElement=i^{CGPoint=dd}}"}, - }, - } - } - } - }, - ), - "CGGetDisplaysWithOpenGLDisplayMask": ( - b"iII^I^I", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": (1, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CGImageRetain": (b"^{CGImage=}^{CGImage=}",), - "CGContextAddArc": (b"v^{CGContext=}dddddi",), - "CGFontCreateWithPlatformFont": ( - b"^{CGFont=}^v", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorSpaceCreateExtendedLinearized": ( - b"^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFContentStreamRetain": (b"^{CGPDFContentStream=}^{CGPDFContentStream=}",), - "CGErrorSetCallback": ( - b"v^?", - "", - {"arguments": {0: {"callable": {"retval": {"type": b"v"}, "arguments": {}}}}}, - ), - "CGCompleteDisplayConfiguration": (b"i^{_CGDisplayConfigRef=}I",), - "CGAffineTransformTranslate": ( - b"{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}dd", - ), - "CGContextAddCurveToPoint": (b"v^{CGContext=}dddddd",), - "CGPDFContentStreamCreateWithPage": ( - b"^{CGPDFContentStream=}^{CGPDFPage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventSourceGetKeyboardType": (b"I^{__CGEventSource=}",), - "CGEventKeyboardGetUnicodeString": ( - b"v^{__CGEvent=}Q^Q^T", - "", - { - "arguments": { - 2: {"type_modifier": "o"}, - 3: {"c_array_length_in_arg": (1, 2), "type_modifier": "o"}, - } - }, - ), - "CGDisplaySwitchToMode": (b"iI^{__CFDictionary=}",), - "CGEventSetIntegerValueField": (b"v^{__CGEvent=}Iq",), - "CGEventCreate": ( - b"^{__CGEvent=}^{__CGEventSource=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetFillColorSpace": (b"v^{CGContext=}^{CGColorSpace=}",), - "CGFontGetGlyphWithGlyphName": (b"S^{CGFont=}^{__CFString=}",), - "CGFunctionRetain": (b"^{CGFunction=}^{CGFunction=}",), - "CGContextConvertPointToUserSpace": (b"{CGPoint=dd}^{CGContext=}{CGPoint=dd}",), - "CGColorSpaceCopyName": ( - b"^{__CFString=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPatternRelease": (b"v^{CGPattern=}",), - "CGPointEqualToPoint": (b"B{CGPoint=dd}{CGPoint=dd}",), - "CGCursorIsDrawnInFramebuffer": (selAorI(b"i", b"I"),), - "CGEventSourceCounterForEventType": (b"IiI",), - "CGDisplayCaptureWithOptions": (b"iII",), - "CGDisplayIsStereo": (selAorI(b"iI", b"II"),), - "CGPDFTagTypeGetName": ( - b"^ti", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "CGBitmapContextGetBytesPerRow": (b"Q^{CGContext=}",), - "CGContextBeginTransparencyLayer": (b"v^{CGContext=}^{__CFDictionary=}",), - "CGEventPostToPSN": ( - b"v^{ProcessSerialNumber=II}^{__CGEvent=}", - "", - {"arguments": {0: {"type_modifier": "n"}}}, - ), - "CGFontRetain": (b"^{CGFont=}^{CGFont=}",), - "CGContextSetLineDash": ( - b"v^{CGContext=}d^dQ", - "", - {"arguments": {2: {"c_array_length_in_arg": 3, "type_modifier": "n"}}}, - ), - "CGColorSpaceCreateICCBased": ( - b"^{CGColorSpace=}Q^d^{CGDataProvider=}^{CGColorSpace=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGContextSetGrayStrokeColor": (b"v^{CGContext=}dd",), - "CGPDFOperatorTableRelease": (b"v^{CGPDFOperatorTable=}",), - "CGContextGetTypeID": (b"Q",), - "CGRectOffset": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}dd", - ), - "CGLayerGetTypeID": (b"Q",), - "CGColorSpaceCreateCalibratedGray": ( - b"^{CGColorSpace=}[3d][3d]d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventTapCreate": ( - b"^{__CFMachPort=}IIIQ^?^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"^{__CGEvent=}"}, - "arguments": { - 0: {"type": b"^{__CGEventTapProxy=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^{__CGEvent=}"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CGContextSetRenderingIntent": (b"v^{CGContext=}i",), - "CGColorSpaceIsHLGBased": (b"B^{CGColorSpace=}",), - "CGDisplayCurrentMode": (b"^{__CFDictionary=}I",), - "CGConfigureDisplayWithDisplayMode": ( - b"i^{_CGDisplayConfigRef=}I^{CGDisplayMode=}^{__CFDictionary=}", - ), - "CGCursorIsVisible": (selAorI(b"i", b"I"),), - "CGDisplayIsMain": (selAorI(b"iI", b"II"),), - "CGSetLocalEventsFilterDuringSuppressionState": (b"iII",), - "CGPDFDictionaryGetNumber": ( - b"B^{CGPDFDictionary=}^t^d", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGAssociateMouseAndMouseCursorPosition": (selAorI(b"ii", b"iI"),), - "CGEventGetDoubleValueField": (b"d^{__CGEvent=}I",), - "CGPDFDocumentAllowsPrinting": (b"B^{CGPDFDocument=}",), - "CGContextSetBlendMode": (b"v^{CGContext=}i",), - "CGFontGetGlyphAdvances": ( - b"B^{CGFont=}^SQ^i", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 2, "type_modifier": "n"}, - 3: {"c_array_length_in_arg": 2, "type_modifier": "o"}, - } - }, - ), - "CGContextReplacePathWithStrokedPath": (b"v^{CGContext=}",), - "CGGetDisplayTransferByFormula": ( - b"iI^f^f^f^f^f^f^f^f^f", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - 5: {"type_modifier": "o"}, - 6: {"type_modifier": "o"}, - 7: {"type_modifier": "o"}, - 8: {"type_modifier": "o"}, - 9: {"type_modifier": "o"}, - } - }, - ), - "CGDisplayIsInHWMirrorSet": (selAorI(b"iI", b"II"),), - "CGDisplayCapture": (b"iI",), - "CGColorSpaceGetName": (b"^{__CFString=}^{CGColorSpace=}",), - "CGImageGetAlphaInfo": (b"I^{CGImage=}",), - "CGSizeCreateDictionaryRepresentation": ( - b"^{__CFDictionary=}{CGSize=dd}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFStringGetLength": (b"Q^{CGPDFString=}",), - "CGScreenRegisterMoveCallback": ( - b"i^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"{CGScreenUpdateMoveDelta=ii}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGColorConversionInfoGetTypeID": (b"Q",), - "CGPDFDocumentRetain": (b"^{CGPDFDocument=}^{CGPDFDocument=}",), - "CGContextClip": (b"v^{CGContext=}",), - "CGPreflightPostEventAccess": (b"B",), - "CGWaitForScreenUpdateRects": ( - b"iI^I^^{CGRect={CGPoint=dd}{CGSize=dd}}^Q^{CGScreenUpdateMoveDelta=ii}", - ), - "CGDisplayBitsPerSample": (b"QI",), - "CGDisplayModeGetPixelHeight": (b"Q^{CGDisplayMode=}",), - "CGContextDrawTiledImage": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGImage=}", - ), - "CGBitmapContextGetBitsPerComponent": (b"Q^{CGContext=}",), - "CGContextAddPath": (b"v^{CGContext=}^{CGPath=}",), - "CGConfigureDisplayOrigin": (b"i^{_CGDisplayConfigRef=}Iii",), - "CGContextSetCharacterSpacing": (b"v^{CGContext=}d",), - "CGDisplaySamplesPerPixel": (b"QI",), - "CGOpenGLDisplayMaskToDisplayID": (b"II",), - "CGPDFArrayGetNumber": ( - b"B^{CGPDFArray=}Q^d", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGDisplaySetDisplayMode": (b"iI^{CGDisplayMode=}^{__CFDictionary=}",), - "CGRectIsNull": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGDataConsumerRelease": (b"v^{CGDataConsumer=}",), - "CGColorSpaceCreateWithICCProfile": ( - b"^{CGColorSpace=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayModeGetWidth": (b"Q^{CGDisplayMode=}",), - "CGCaptureAllDisplays": (b"i",), - "CGPDFScannerPopArray": ( - b"B^{CGPDFScanner=}^^{CGPDFArray=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGContextClipToRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGDisplayStreamUpdateCreateMergedUpdate": ( - b"^{CGDisplayStreamUpdate=}^{CGDisplayStreamUpdate=}^{CGDisplayStreamUpdate=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayHideCursor": (b"iI",), - "CGPDFDocumentGetPage": (b"^{CGPDFPage=}^{CGPDFDocument=}Q",), - "CGSessionCopyCurrentDictionary": ( - b"^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGFontGetFontBBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGFont=}",), - "CGImageGetBitsPerComponent": (b"Q^{CGImage=}",), - "CGFontCopyTableTags": ( - b"^{__CFArray=}^{CGFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGWaitForScreenRefreshRects": (b"i^^{CGRect={CGPoint=dd}{CGSize=dd}}^I",), - "CGDataProviderCreateDirect": ( - b"^{CGDataProvider=}^vq^{CGDataProviderDirectCallbacks=I^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayStreamStop": (b"i^{CGDisplayStream=}",), - "CGShadingRetain": (b"^{CGShading=}^{CGShading=}",), - "CGBitmapContextGetColorSpace": (b"^{CGColorSpace=}^{CGContext=}",), - "CGRequestPostEventAccess": (b"B",), - "CGContextShowTextAtPoint": ( - b"v^{CGContext=}dd^tQ", - "", - {"arguments": {3: {"c_array_length_in_arg": 4, "type_modifier": "n"}}}, - ), - "CGBitmapContextCreateImage": ( - b"^{CGImage=}^{CGContext=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextTranslateCTM": (b"v^{CGContext=}dd",), - "CGDisplayModelNumber": (b"II",), - "CGPDFContextCreateWithURL": ( - b"^{CGContext=}^{__CFURL=}^{CGRect={CGPoint=dd}{CGSize=dd}}^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGColorSpaceCopyICCProfile": ( - b"^{__CFData=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetRGBStrokeColor": (b"v^{CGContext=}dddd",), - "CGBitmapContextCreateWithData": ( - b"^{CGContext=}^vQQQQ^{CGColorSpace=}I^?^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, - } - } - }, - }, - ), - "CGDisplayModeRelease": (b"v^{CGDisplayMode=}",), - "CGAffineTransformConcat": ( - b"{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}", - ), - "CGImageGetDataProvider": (b"^{CGDataProvider=}^{CGImage=}",), - "CGContextConvertRectToDeviceSpace": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGImageCreateWithMaskingColors": ( - b"^{CGImage=}^{CGImage=}^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGPDFDictionaryGetInteger": ( - b"B^{CGPDFDictionary=}^t^q", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGColorGetAlpha": (b"d^{CGColor=}",), - "CGContextSetAllowsFontSubpixelPositioning": (b"v^{CGContext=}B",), - "CGPDFDocumentIsEncrypted": (b"B^{CGPDFDocument=}",), - "CGDisplayBestModeForParameters": ( - selAorI(b"^{__CFDictionary=}IQQQ^i", b"^{__CFDictionary=}IQQQ^I"), - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "CGPDFArrayGetBoolean": ( - b"B^{CGPDFArray=}Q^C", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGShadingCreateAxial": ( - b"^{CGShading=}^{CGColorSpace=}{CGPoint=dd}{CGPoint=dd}^{CGFunction=}BB", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventCreateData": ( - b"^{__CFData=}^{__CFAllocator=}^{__CGEvent=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorConverterRetain": (b"^{CGColorConversionInfo=}^{CGColorConversionInfo=}",), - "CGRectMakeWithDictionaryRepresentation": ( - b"B^{__CFDictionary=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGFunctionCreate": ( - b"^{CGFunction=}^vQ^dQ^d^{CGFunctionCallbacks=I^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDataProviderCreateDirectAccess": ( - b"^{CGDataProvider=}^vQ^{CGDataProviderDirectAccessCallbacks=^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPaletteCreateFromPaletteBlendedWithColor": ( - b"^{_CGDirectPaletteRef=}^{_CGDirectPaletteRef=}f{CGDeviceColor=fff}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextGetTextMatrix": (b"{CGAffineTransform=dddddd}^{CGContext=}",), - "CGDisplayModeGetIOFlags": (b"I^{CGDisplayMode=}",), - "CGDisplayModeCopyPixelEncoding": ( - b"^{__CFString=}^{CGDisplayMode=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGGetDisplaysWithRect": ( - b"i{CGRect={CGPoint=dd}{CGSize=dd}}I^I^I", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": (1, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CGFontCopyFullName": ( - b"^{__CFString=}^{CGFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGGetDisplaysWithPoint": ( - b"i{CGPoint=dd}I^I^I", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": (1, 3), "type_modifier": "o"}, - 3: {"type_modifier": "o"}, - } - }, - ), - "CGPDFStreamCopyData": ( - b"^{__CFData=}^{CGPDFStream=}^i", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "CGImageGetHeight": (b"Q^{CGImage=}",), - "CGDisplayBitsPerPixel": (b"QI",), - "CGPDFDocumentGetTrimBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i",), - "CGGetActiveDisplayList": ( - b"iI^I^I", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (0, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGContextGetClipBoundingBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGContext=}",), - "CGContextRetain": (b"^{CGContext=}^{CGContext=}",), - "CGDisplayRemoveReconfigurationCallback": ( - b"i^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"I"}, - 1: {"type": b"I"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGPDFDocumentGetRotationAngle": (b"i^{CGPDFDocument=}i",), - "CGDisplayModeGetPixelWidth": (b"Q^{CGDisplayMode=}",), - "CGContextClipToRects": ( - b"v^{CGContext=}^{CGRect={CGPoint=dd}{CGSize=dd}}Q", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGEventCreateCopy": ( - b"^{__CGEvent=}^{__CGEvent=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventSourceSetLocalEventsSuppressionInterval": (b"v^{__CGEventSource=}d",), - "CGPDFDocumentGetBleedBox": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i", - ), - "CGPathGetCurrentPoint": (b"{CGPoint=dd}^{CGPath=}",), - "CGContextShowGlyphsAtPositions": ( - b"v^{CGContext=}^S^{CGPoint=dd}Q", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - } - }, - ), - "CGEventCreateMouseEvent": ( - b"^{__CGEvent=}^{__CGEventSource=}I{CGPoint=dd}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetStrokeColorWithColor": (b"v^{CGContext=}^{CGColor=}",), - "CGPaletteSetColorAtIndex": (b"v^{_CGDirectPaletteRef=}{CGDeviceColor=fff}I",), - "CGContextSetCMYKFillColor": (b"v^{CGContext=}ddddd",), - "CGImageCreateWithImageInRect": ( - b"^{CGImage=}^{CGImage=}{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextBeginPage": ( - b"v^{CGContext=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGImageCreateCopyWithColorSpace": ( - b"^{CGImage=}^{CGImage=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextDrawPDFDocument": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i", - ), - "CGEventGetUnflippedLocation": (b"{CGPoint=dd}^{__CGEvent=}",), - "CGFunctionGetTypeID": (b"Q",), - "CGCaptureAllDisplaysWithOptions": (b"iI",), - "CGContextSetShadowWithColor": (b"v^{CGContext=}{CGSize=dd}d^{CGColor=}",), - "CGContextSetInterpolationQuality": (b"v^{CGContext=}i",), - "CGPDFPageGetDictionary": (b"^{CGPDFDictionary=}^{CGPDFPage=}",), - "CGContextDrawLayerAtPoint": (b"v^{CGContext=}{CGPoint=dd}^{CGLayer=}",), - "CGRequestScreenCaptureAccess": (b"B",), - "CGDisplayRestoreColorSyncSettings": (b"v",), - "CGPathCreateWithEllipseInRect": ( - b"^{CGPath=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGAffineTransform=dddddd}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "CGPDFPageGetPageNumber": (b"Q^{CGPDFPage=}",), - "CGColorRelease": (b"v^{CGColor=}",), - "CGLayerRelease": (b"v^{CGLayer=}",), - "CGColorSpaceGetColorTable": ( - b"v^{CGColorSpace=}^C", - "", - {"arguments": {1: {"c_array_of_variable_length": True, "type_modifier": "o"}}}, - ), - "CGColorSpaceCopyICCData": ( - b"^{__CFData=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayIsAlwaysInMirrorSet": (selAorI(b"iI", b"II"),), - "CGFontCopyPostScriptName": ( - b"^{__CFString=}^{CGFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGFontCreateWithDataProvider": ( - b"^{CGFont=}^{CGDataProvider=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectCreateDictionaryRepresentation": ( - b"^{__CFDictionary=}{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectInset": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}dd", - ), - "CGRectGetWidth": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGContextStrokeRectWithWidth": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}d", - ), - "CGEventGetTypeID": (b"Q",), - "CGFontGetItalicAngle": (b"d^{CGFont=}",), - "CGColorSpaceCopyPropertyList": ( - b"@^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectUnion": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGPathAddRects": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}^{CGRect={CGPoint=dd}{CGSize=dd}}Q", - "", - { - "arguments": { - 1: {"type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - } - }, - ), - "CGColorSpaceSupportsOutput": (b"B^{CGColorSpace=}",), - "CGPDFContextSetDestinationForRect": ( - b"v^{CGContext=}^{__CFString=}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGEventTapCreateForPid": ( - b"^{__CFMachPort=}iIIQ^?^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: { - "callable": { - "retval": {"type": b"^{__CGEvent=}"}, - "arguments": { - 0: {"type": b"^{__CGEventTapProxy=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^{__CGEvent=}"}, - 3: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "CGPDFOperatorTableRetain": (b"^{CGPDFOperatorTable=}^{CGPDFOperatorTable=}",), - "CGPDFScannerPopName": ( - b"B^{CGPDFScanner=}^^t", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGLayerGetContext": (b"^{CGContext=}^{CGLayer=}",), - "CGImageGetBitsPerPixel": (b"Q^{CGImage=}",), - "CGPathAddArc": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}dddddB", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGContextDrawLinearGradient": ( - b"v^{CGContext=}^{CGGradient=}{CGPoint=dd}{CGPoint=dd}I", - ), - "CGDataConsumerGetTypeID": (b"Q",), - "CGEventGetLocation": (b"{CGPoint=dd}^{__CGEvent=}",), - "CGDisplayModeIsUsableForDesktopGUI": (b"B^{CGDisplayMode=}",), - "CGRectIsInfinite": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGEventSetTimestamp": (b"v^{__CGEvent=}Q",), - "CGPDFContextAddDocumentMetadata": (b"v^{CGContext=}^{__CFData=}",), - "CGDisplayWaitForBeamPositionOutsideLines": (b"iIII",), - "CGColorSpaceCreateWithICCData": ( - b"^{CGColorSpace=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFContextBeginPage": (b"v^{CGContext=}^{__CFDictionary=}",), - "CGPSConverterIsConverting": (b"B^{CGPSConverter=}",), - "CGEventPostToPid": (b"vi^{__CGEvent=}",), - "CGPathIsEmpty": (b"B^{CGPath=}",), - "CGDisplayScreenSize": (b"{CGSize=dd}I",), - "CGDisplayIsInMirrorSet": (selAorI(b"iI", b"II"),), - "CGFontCopyGlyphNameForGlyph": ( - b"^{__CFString=}^{CGFont=}S", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGBitmapContextGetAlphaInfo": (b"I^{CGContext=}",), - "CGFontCreateCopyWithVariations": ( - b"^{CGFont=}^{CGFont=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFScannerRelease": (b"v^{CGPDFScanner=}",), - "CGContextCopyPath": ( - b"^{CGPath=}^{CGContext=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGShadingRelease": (b"v^{CGShading=}",), - "CGDisplayFadeOperationInProgress": (selAorI(b"i", b"I"),), - "CGPostMouseEvent": ( - selAorI(b"i{CGPoint=dd}iIi", b"i{CGPoint=dd}III"), - "", - {"c_array_length_in_arg": 2, "variadic": True}, - ), - "CGPDFContentStreamGetStreams": (b"^{__CFArray=}^{CGPDFContentStream=}",), - "CGContextSetMiterLimit": (b"v^{CGContext=}d",), - "CGRequestListenEventAccess": (b"B",), - "CGPDFOperatorTableSetCallback": ( - b"v^{CGPDFOperatorTable=}^t^?", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{CGPDFScanner=}"}, - 1: {"type": b"^v"}, - }, - } - }, - } - }, - ), - "CGEventTapIsEnabled": (b"B^{__CFMachPort=}",), - "CGContextDrawPath": (b"v^{CGContext=}i",), - "CGWindowServerCFMachPort": (b"^{__CFMachPort=}",), - "CGColorEqualToColor": (b"B^{CGColor=}^{CGColor=}",), - "CGContextSetFontSize": (b"v^{CGContext=}d",), - "CGEventGetIntegerValueField": (b"q^{__CGEvent=}I",), - "CGContextShowText": ( - b"v^{CGContext=}^tQ", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGColorSpaceCreateWithName": ( - b"^{CGColorSpace=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectGetMaxX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGImageCreateWithMask": ( - b"^{CGImage=}^{CGImage=}^{CGImage=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGRectGetMidY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGImageCreateWithPNGDataProvider": ( - b"^{CGImage=}^{CGDataProvider=}^dBi", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetTextDrawingMode": (b"v^{CGContext=}i",), - "CGContextGetUserSpaceToDeviceSpaceTransform": ( - b"{CGAffineTransform=dddddd}^{CGContext=}", - ), - "CGDataConsumerCreateWithCFData": ( - b"^{CGDataConsumer=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorSpaceCreateCalibratedRGB": ( - b"^{CGColorSpace=}[3d][3d][3d][9d]", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextSetLineJoin": (b"v^{CGContext=}i",), - "CGDataProviderCreateSequential": ( - b"^{CGDataProvider=}^v^{CGDataProviderSequentialCallbacks=I^?^?^?^?}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFArrayGetNull": (b"B^{CGPDFArray=}Q",), - "CGEventSourceSecondsSinceLastEventType": (b"diI",), - "CGContextSetRGBFillColor": (b"v^{CGContext=}dddd",), - "CGPaletteCreateCopy": ( - b"^{_CGDirectPaletteRef=}^{_CGDirectPaletteRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGGetLastMouseDelta": ( - b"v^i^i", - "", - {"arguments": {0: {"type_modifier": "o"}, 1: {"type_modifier": "o"}}}, - ), - "CGPDFArrayGetDictionary": ( - b"B^{CGPDFArray=}Q^^{CGPDFDictionary=}", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CGPathCloseSubpath": (b"v^{CGPath=}",), - "CGPDFContentStreamCreateWithStream": ( - b"^{CGPDFContentStream=}^{CGPDFStream=}^{CGPDFDictionary=}^{CGPDFContentStream=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplaySerialNumber": (b"II",), - "CGGetOnlineDisplayList": ( - b"iI^I^I", - "", - { - "arguments": { - 1: {"c_array_length_in_arg": (0, 2), "type_modifier": "o"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGCancelDisplayConfiguration": (b"i^{_CGDisplayConfigRef=}",), - "CGEventSourceSetPixelsPerLine": (b"v^{__CGEventSource=}d",), - "CGAffineTransformEqualToTransform": ( - b"B{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}", - ), - "CGContextSetShouldSubpixelPositionFonts": (b"v^{CGContext=}B",), - "CGContextSaveGState": (b"v^{CGContext=}",), - "CGColorSpaceCreateLinearized": ( - b"^{CGColorSpace=}^{CGColorSpace=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGReleaseAllDisplays": (b"i",), - "CGDisplayRelease": (b"iI",), - "CGContextConvertSizeToUserSpace": (b"{CGSize=dd}^{CGContext=}{CGSize=dd}",), - "CGColorCreateCopyWithAlpha": ( - b"^{CGColor=}^{CGColor=}d", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFScannerPopNumber": ( - b"B^{CGPDFScanner=}^d", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGContextEOFillPath": (b"v^{CGContext=}",), - "CGPathCreateCopy": ( - b"^{CGPath=}^{CGPath=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPSConverterAbort": (b"B^{CGPSConverter=}",), - "CGContextFillPath": (b"v^{CGContext=}",), - "CGDisplayBaseAddress": ( - b"^vI", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGContextFillRects": ( - b"v^{CGContext=}^{CGRect={CGPoint=dd}{CGSize=dd}}Q", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGContextStrokeEllipseInRect": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "CGEventGetFlags": (b"Q^{__CGEvent=}",), - "CGPDFContextEndPage": (b"v^{CGContext=}",), - "CGEventSourceButtonState": (b"BiI",), - "CGContextConvertSizeToDeviceSpace": (b"{CGSize=dd}^{CGContext=}{CGSize=dd}",), - "CGReleaseScreenRefreshRects": (b"v^{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGContextSetFlatness": (b"v^{CGContext=}d",), - "CGColorSpaceUsesExtendedRange": (b"B^{CGColorSpace=}",), - "CGContextDrawShading": (b"v^{CGContext=}^{CGShading=}",), - "CGWindowLevelForKey": (b"ii",), - "CGFontCopyVariationAxes": ( - b"^{__CFArray=}^{CGFont=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextDrawImage": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{CGImage=}", - ), - "CGPDFDocumentCreateWithProvider": ( - b"^{CGPDFDocument=}^{CGDataProvider=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFDocumentGetArtBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i",), - "CGContextBeginPath": (b"v^{CGContext=}",), - "CGEventCreateScrollWheelEvent2": ( - b"^{__CGEvent=}^{__CGEventSource=}IIiii", - "", - { - "retval": {"already_cfretained": True}, - "c_array_length_in_arg": 2, - "variadic": True, - }, - ), - "CGColorConversionInfoCreateWithOptions": ( - b"^{CGColorConversionInfo=}^{CGColorSpace=}^{CGColorSpace=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathIsRect": ( - b"B^{CGPath=}^{CGRect={CGPoint=dd}{CGSize=dd}}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGPathCreateCopyByDashingPath": ( - b"^{CGPath=}^{CGPath=}^{CGAffineTransform=dddddd}d^dQ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"type_modifier": "n"}, - 3: {"c_array_length_in_arg": 4, "type_modifier": "n"}, - }, - }, - ), - "CGDisplayIsAsleep": (selAorI(b"iI", b"II"),), - "CGPSConverterConvert": ( - b"B^{CGPSConverter=}^{CGDataProvider=}^{CGDataConsumer=}^{__CFDictionary=}", - ), - "CGDisplayAddressForPosition": ( - b"^vIii", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGContextConvertPointToDeviceSpace": (b"{CGPoint=dd}^{CGContext=}{CGPoint=dd}",), - "CGDisplayBounds": (b"{CGRect={CGPoint=dd}{CGSize=dd}}I",), - "CGEventTapEnable": (b"v^{__CFMachPort=}B",), - "CGColorGetConstantColor": (b"^{CGColor=}^{__CFString=}",), - "CGDisplayUnitNumber": (b"II",), - "CGContextClosePath": (b"v^{CGContext=}",), - "CGImageIsMask": (b"B^{CGImage=}",), - "CGDisplayCopyDisplayMode": ( - b"^{CGDisplayMode=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPDFDocumentAllowsCopying": ( - b"B^{CGPDFDocument=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayCreateImage": ( - b"^{CGImage=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayRotation": (b"dI",), - "CGDisplayBestModeForParametersAndRefreshRateWithProperty": ( - b"^{__CFDictionary=}IQQQd^{__CFString=}^I", - "", - {"arguments": {6: {"type_modifier": "o"}}}, - ), - "CGDisplayIDToOpenGLDisplayMask": (b"II",), - "CGColorCreate": ( - b"^{CGColor=}^{CGColorSpace=}^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGEventTapPostEvent": (b"v^{__CGEventTapProxy=}^{__CGEvent=}",), - "CGImageGetByteOrderInfo": (b"I^{CGImage=}",), - "CGDisplayBeamPosition": (b"II",), - "CGPDFDocumentGetTypeID": (b"Q",), - "CGShadingGetTypeID": (b"Q",), - "CGEventSourceKeyState": (b"BiS",), - "CGContextBeginTransparencyLayerWithRect": ( - b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}^{__CFDictionary=}", - ), - "CGPointCreateDictionaryRepresentation": ( - b"^{__CFDictionary=}{CGPoint=dd}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGColorCreateWithPattern": ( - b"^{CGColor=}^{CGColorSpace=}^{CGPattern=}^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGDisplayPixelsWide": (b"QI",), - "CGEventSourceFlagsState": (b"Qi",), - "CGLayerRetain": (b"^{CGLayer=}^{CGLayer=}",), - "CGContextFillRect": (b"v^{CGContext=}{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGAffineTransformInvert": ( - b"{CGAffineTransform=dddddd}{CGAffineTransform=dddddd}", - ), - "CGPaletteGetColorAtIndex": (b"{CGDeviceColor=fff}^{_CGDirectPaletteRef=}I",), - "CGEventSetFlags": (b"v^{__CGEvent=}Q",), - "CGPDFDocumentGetCropBox": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{CGPDFDocument=}i",), - "CGEventCreateScrollWheelEvent": ( - b"^{__CGEvent=}^{__CGEventSource=}IIi", - "", - { - "retval": {"already_cfretained": True}, - "c_array_length_in_arg": 2, - "variadic": True, - }, - ), - "CGPatternGetTypeID": (b"Q",), - "CGImageGetBytesPerRow": (b"Q^{CGImage=}",), - "CGPathRelease": (b"v^{CGPath=}",), - "CGDisplayModeGetTypeID": (b"Q",), - "CGEventGetType": (b"I^{__CGEvent=}",), - "CGContextSetAllowsFontSubpixelQuantization": (b"v^{CGContext=}B",), - "CGPathMoveToPoint": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}dd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGFontRelease": (b"v^{CGFont=}",), - "CGPSConverterGetTypeID": (b"Q",), - "CGPDFDocumentRelease": (b"v^{CGPDFDocument=}",), - "CGContextSetLineWidth": (b"v^{CGContext=}d",), - "CGDisplayStreamCreateWithDispatchQueue": ( - b"^{CGDisplayStream=}IQQi^{__CFDictionary=}@@?", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "I"}, - 2: {"type": "Q"}, - 3: {"type": "@"}, - 4: {"type": "@"}, - }, - } - } - }, - }, - ), - "CGColorSpaceCreateWithPropertyList": ( - b"^{CGColorSpace=}@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGContextGetPathCurrentPoint": (b"{CGPoint=dd}^{CGContext=}",), - "CGContextSetPatternPhase": (b"v^{CGContext=}{CGSize=dd}",), - "CGFontGetAscent": (b"i^{CGFont=}",), - "CGPDFDictionaryGetDictionary": ( - b"B^{CGPDFDictionary=}^t^^{CGPDFDictionary=}", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGContextShowGlyphs": ( - b"v^{CGContext=}^SQ", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "CGFontGetLeading": (b"i^{CGFont=}",), - "CGGradientCreateWithColorComponents": ( - b"^{CGGradient=}^{CGColorSpace=}^d^dQ", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - 2: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - }, - }, - ), - "CGDisplayGetDrawingContext": (b"^{CGContext=}I",), - "CGContextMoveToPoint": (b"v^{CGContext=}dd",), - "CGDisplayStreamUpdateGetTypeID": (b"Q",), - "CGRectGetMinY": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGRectGetMinX": (b"d{CGRect={CGPoint=dd}{CGSize=dd}}",), - "CGContextSetFont": (b"v^{CGContext=}^{CGFont=}",), - "CGDisplayShowCursor": (b"iI",), - "CGContextRestoreGState": (b"v^{CGContext=}",), - "CGPathRetain": (b"^{CGPath=}^{CGPath=}",), - "CGPDFDocumentGetNumberOfPages": (b"Q^{CGPDFDocument=}",), - "CGAffineTransformMakeScale": (b"{CGAffineTransform=dddddd}dd",), - "CGPathAddCurveToPoint": ( - b"v^{CGPath=}^{CGAffineTransform=dddddd}dddddd", - "", - {"arguments": {1: {"type_modifier": "n"}}}, - ), - "CGImageCreate": ( - b"^{CGImage=}QQQQQ^{CGColorSpace=}I^{CGDataProvider=}^dBi", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 8: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGContextSetShouldSmoothFonts": (b"v^{CGContext=}B",), - "CGPDFDictionaryGetBoolean": ( - b"B^{CGPDFDictionary=}^t^C", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), - "CGPDFStringGetBytePtr": ( - b"^C^{CGPDFString=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CGScreenUnregisterMoveCallback": ( - b"v^?^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"{CGScreenUpdateMoveDelta=ii}"}, - 1: {"type": b"Q"}, - 2: {"type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 3: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CGColorGetColorSpace": (b"^{CGColorSpace=}^{CGColor=}",), - "CGColorConverterRelease": (b"v^{CGColorConversionInfo=}",), - "CGColorSpaceUsesITUR_2100TF": (b"B^{CGColorSpace=}",), - "CGDisplayStreamStart": (b"i^{CGDisplayStream=}",), - "CGDisplayAvailableModes": (b"^{__CFArray=}I",), - "CGColorCreateGenericGrayGamma2_2": ( - b"^{CGColor=}dd", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGEventCreateSourceFromEvent": ( - b"^{__CGEventSource=}^{__CGEvent=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPostKeyboardEvent": (selAorI(b"iSSi", b"iSSI"),), - "CGPDFScannerPopStream": ( - b"B^{CGPDFScanner=}^^{CGPDFStream=}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGPathCreateMutableCopy": ( - b"^{CGPath=}^{CGPath=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGPathGetTypeID": (b"Q",), - "CGColorSpaceCreateIndexed": ( - b"^{CGColorSpace=}^{CGColorSpace=}Q^C", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: {"c_array_of_variable_length": True, "type_modifier": "n"} - }, - }, - ), - "CGColorSpaceCreateLab": ( - b"^{CGColorSpace=}[3d][3d][4d]", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGDisplayIOServicePort": (b"II",), - "CGContextSetFillPattern": ( - b"v^{CGContext=}^{CGPattern=}^d", - "", - {"arguments": {2: {"c_array_of_variable_length": True, "type_modifier": "n"}}}, - ), - "CGPreflightScreenCaptureAccess": (b"B",), - "CGSizeMakeWithDictionaryRepresentation": ( - b"B^{__CFDictionary=}^{CGSize=dd}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CGPDFDocumentUnlockWithPassword": ( - b"B^{CGPDFDocument=}^t", - "", - {"arguments": {1: {"type_modifier": "n", "c_array_delimited_by_null": True}}}, - ), - "CGConvertColorDataWithFormat": ( - b"BQQ^v{_CGColorDataFormat=I@IQQi^d}^v{_CGColorDataFormat=I@IQQi^d}^{__CFDictionary=}", - "", - { - "arguments": { - 2: {"c_array_of_variable_length": True, "type_modifier": "o"}, - 4: {"c_array_of_variable_length": True, "type_modifier": "n"}, - } - }, - ), - "CGContextSetFillColorWithColor": (b"v^{CGContext=}^{CGColor=}",), - "CGPDFDictionaryGetName": ( - b"B^{CGPDFDictionary=}^t^^t", - "", - { - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 2: {"type_modifier": "o"}, - } - }, - ), -} -aliases = { - "CGSizeApplyAffineTransform": "__CGSizeApplyAffineTransform", - "CG_NULLABLE_ARRAY": "__nullable", - "CGSizeEqualToSize": "__CGSizeEqualToSize", - "CGFLOAT_TYPE": "double", - "CGPointApplyAffineTransform": "__CGPointApplyAffineTransform", - "kCGWindowIDCFNumberType": "kCFNumberSInt32Type", - "CGColorConverterRef": "CGColorConversionInfoRef", - "kCGBitmapByteOrder16Host": "kCGBitmapByteOrder16Little", - "CGPointEqualToPoint": "__CGPointEqualToPoint", - "kCGEventSupressionStateRemoteMouseDrag": "kCGEventSuppressionStateRemoteMouseDrag", - "kCGEventSupressionStateSupressionInterval": "kCGEventSuppressionStateSuppressionInterval", - "CG_SKYLIGHT_EXTERN_64": "CG_EXTERN", - "CGEventSupressionState": "CGEventSuppressionState", - "kCGBitmapByteOrder32Big": "kCGImageByteOrder32Big", - "CG_PRIVATE_EXTERN": "CG_LOCAL", - "CG_AVAILABLE_STARTING": "__OSX_AVAILABLE_STARTING", - "CG_LOCAL": "__private_extern__", - "cg_nullable": "__nullable", - "kCGGlyphMax": "kCGFontIndexMax", - "CG_EXTERN_64": "CG_EXTERN", - "CG_NONNULL_ARRAY": "__nonnull", - "kCGWindowBackingCFNumberType": "kCFNumberSInt32Type", - "CGFLOAT_MIN": "DBL_MIN", - "CG_LOCAL_64": "CG_LOCAL", - "kCGBitmapByteOrderMask": "kCGImageByteOrderMask", - "CGEventNoErr": "kCGErrorSuccess", - "CGAffineTransformMake": "__CGAffineTransformMake", - "kCGBitmapByteOrder16Little": "kCGImageByteOrder16Little", - "CGFLOAT_MAX": "DBL_MAX", - "kCGBitmapByteOrderDefault": "kCGImageByteOrderDefault", - "CGFLOAT_EPSILON": "DBL_EPSILON", - "kCGWindowSharingCFNumberType": "kCFNumberSInt32Type", - "kCGBitmapByteOrder16Big": "kCGImageByteOrder16Big", - "CGDisplayNoErr": "kCGErrorSuccess", - "CG_OBSOLETE": "__CG_DEPRECATED", - "kCGNumberOfEventSupressionStates": "kCGNumberOfEventSuppressionStates", - "CG_AVAILABLE_BUT_DEPRECATED": "__OSX_AVAILABLE_BUT_DEPRECATED", - "kCGBitmapByteOrder32Little": "kCGImageByteOrder32Little", - "kCGBitmapByteOrder32Host": "kCGBitmapByteOrder32Little", -} -cftypes = [ - ("CGEventRef", b"^{__CGEvent=}", "CGEventGetTypeID", None), - ("CGEventSourceRef", b"^{__CGEventSource=}", "CGEventSourceGetTypeID", None), - ("IOSurfaceRef", b"^{__IOSurface=}", None, None), - ("CGColorRef", b"^{CGColor=}", "CGColorGetTypeID", None), - ("CGFontRef", b"^{CGFont=}", "CGFontGetTypeID", None), - ( - "CGColorConversionInfoRef", - b"^{CGColorConversionInfo=}", - "CGColorConversionInfoGetTypeID", - None, - ), - ("CGDataConsumerRef", b"^{CGDataConsumer=}", "CGDataConsumerGetTypeID", None), - ("CGPathRef", b"^{CGPath=}", "CGPathGetTypeID", None), - ("CGDisplayModeRef", b"^{CGDisplayMode}", "CGDisplayModeGetTypeID", None), - ("CGGradientRef", b"^{CGGradient=}", "CGGradientGetTypeID", None), - ("CGDirectDisplay", b"^{CGDirectDisplay=}", "CGDirectDisplayGetTypeID", None), - ("CGColorSpaceRef", b"^{CGColorSpace=}", "CGColorSpaceGetTypeID", None), - ("CGPDFDocumentRef", b"^{CGPDFDocument=}", "CGPDFDocumentGetTypeID", None), - ("CGFunctionRef", b"^{CGFunction=}", "CGFunctionGetTypeID", None), - ("CGImageRef", b"^{CGImage=}", "CGImageGetTypeID", None), - ("CGDisplayStreamRef", b"^{CGDisplayStream=}", "CGDisplayStreamGetTypeID", None), - ("CGPDFPageRef", b"^{CGPDFPage=}", "CGPDFPageGetTypeID", None), - ("CGLayerRef", b"^{CGLayer=}", "CGLayerGetTypeID", None), - ("CGPatternRef", b"^{CGPattern=}", "CGPatternGetTypeID", None), - ("CGPSConverterRef", b"^{CGPSConverter=}", "CGPSConverterGetTypeID", None), - ("CGContextRef", b"^{CGContext=}", "CGContextGetTypeID", None), - ("CGShadingRef", b"^{CGShading=}", "CGShadingGetTypeID", None), - ("CGDataProviderRef", b"^{CGDataProvider=}", "CGDataProviderGetTypeID", None), - ( - "CGDisplayStreamUpdateRef", - b"^{CGDisplayStreamUpdate=}", - "CGDisplayStreamUpdateGetTypeID", - None, - ), -] -misc.update( - { - "CGPDFContentStreamRef": objc.createOpaquePointerType( - "CGPDFContentStreamRef", b"^{CGPDFContentStream=}" - ), - "CGPDFScannerRef": objc.createOpaquePointerType( - "CGPDFScannerRef", b"^{CGPDFScanner=}" - ), - "CGDirectPaletteRef": objc.createOpaquePointerType( - "CGDirectPaletteRef", b"^{_CGDirectPaletteRef=}" - ), - "CGPDFStringRef": objc.createOpaquePointerType( - "CGPDFStringRef", b"^{CGPDFString=}" - ), - "CGPDFObject": objc.createOpaquePointerType("CGPDFObject", b"^{CGPDFObject=}"), - "CGPDFOperatorTableRef": objc.createOpaquePointerType( - "CGPDFOperatorTableRef", b"^{CGPDFOperatorTable}" - ), - "CGDisplayConfigRef": objc.createOpaquePointerType( - "CGDisplayConfigRef", b"^{_CGDisplayConfigRef=}" - ), - "CGPDFDictionaryRef": objc.createOpaquePointerType( - "CGPDFDictionaryRef", b"^{CGPDFDictionary=}" - ), - "CGPDFStreamRef": objc.createOpaquePointerType( - "CGPDFStreamRef", b"^{CGPDFStream=}" - ), - "CGEventTapProxy": objc.createOpaquePointerType( - "CGEventTapProxy", b"^{__CGEventTapProxy=}" - ), - "CGPDFArrayRef": objc.createOpaquePointerType( - "CGPDFArrayRef", b"^{CGPDFArray=}" - ), - } -) -expressions = { - "kCGOverlayWindowLevel": "CGWindowLevelForKey(kCGOverlayWindowLevelKey)", - "kCGMainMenuWindowLevel": "CGWindowLevelForKey(kCGMainMenuWindowLevelKey)", - "kCGBaseWindowLevel": "CGWindowLevelForKey(kCGBaseWindowLevelKey)", - "kCGStatusWindowLevel": "CGWindowLevelForKey(kCGStatusWindowLevelKey)", - "kCGHelpWindowLevel": "CGWindowLevelForKey(kCGHelpWindowLevelKey)", - "kCGNormalWindowLevel": "CGWindowLevelForKey(kCGNormalWindowLevelKey)", - "kCGScreenSaverWindowLevel": "CGWindowLevelForKey(kCGScreenSaverWindowLevelKey)", - "kCGMaximumWindowLevel": "CGWindowLevelForKey(kCGMaximumWindowLevelKey)", - "kCGUtilityWindowLevel": "CGWindowLevelForKey(kCGUtilityWindowLevelKey)", - "kCGCursorWindowLevel": "CGWindowLevelForKey(kCGCursorWindowLevelKey)", - "kCGAssistiveTechHighWindowLevel": "CGWindowLevelForKey(kCGAssistiveTechHighWindowLevelKey)", - "kCGModalPanelWindowLevel": "CGWindowLevelForKey(kCGModalPanelWindowLevelKey)", - "kCGEventFilterMaskPermitAllEvents": "(kCGEventFilterMaskPermitLocalMouseEvents | kCGEventFilterMaskPermitLocalKeyboardEvents | kCGEventFilterMaskPermitSystemDefinedEvents)", - "kCGMinimumWindowLevel": "CGWindowLevelForKey(kCGMinimumWindowLevelKey)", - "kCGPopUpMenuWindowLevel": "CGWindowLevelForKey(kCGPopUpMenuWindowLevelKey)", - "kCGDesktopWindowLevel": "CGWindowLevelForKey(kCGDesktopWindowLevelKey)", - "kCGFloatingWindowLevel": "CGWindowLevelForKey(kCGFloatingWindowLevelKey)", - "kCGDraggingWindowLevel": "CGWindowLevelForKey(kCGDraggingWindowLevelKey)", - "kCGDockWindowLevel": "CGWindowLevelForKey(kCGDockWindowLevelKey)", - "kCGDesktopIconWindowLevel": "CGWindowLevelForKey(kCGDesktopIconWindowLevelKey)", - "kCGBackstopMenuLevel": "CGWindowLevelForKey(kCGBackstopMenuLevelKey)", - "kCGTornOffMenuWindowLevel": "CGWindowLevelForKey(kCGTornOffMenuWindowLevelKey)", -} - -# END OF FILE diff --git a/src/lib/Quartz/CoreVideo/__init__.py b/src/lib/Quartz/CoreVideo/__init__.py deleted file mode 100644 index 95ef003..0000000 --- a/src/lib/Quartz/CoreVideo/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -""" -Python mapping for the CoreVideo framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import objc -from Quartz.CoreVideo import _metadata - -sys.modules["Quartz.CoreVideo"] = mod = objc.ObjCLazyModule( - "Quartz.CoreVideo", - "com.apple.CoreVideo", - objc.pathForFramework("/System/Library/Frameworks/CoreVideo.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation,), -) - - -del sys.modules["Quartz.CoreVideo._metadata"] - - -def _load(mod): - import Quartz - - Quartz.CoreVideo = mod - import Quartz.CoreVideo._CVPixelBuffer as m - - for nm in dir(m): - if nm.startswith("_"): - continue - setattr(mod, nm, getattr(m, nm)) - - -_load(mod) diff --git a/src/lib/Quartz/CoreVideo/_metadata.py b/src/lib/Quartz/CoreVideo/_metadata.py deleted file mode 100644 index ec1a814..0000000 --- a/src/lib/Quartz/CoreVideo/_metadata.py +++ /dev/null @@ -1,557 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:00 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CVTimeStamp": objc.createStructType( - "Quartz.CoreVideo.CVTimeStamp", - b"{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - [ - "version", - "videoTimeScale", - "videoTime", - "hostTime", - "rateScalar", - "videoRefreshPeriod", - "smpteTime", - "flags", - "reserved", - ], - ), - "CVPlanarPixelBufferInfo_YCbCrBiPlanar": objc.createStructType( - "Quartz.CoreVideo.CVPlanarPixelBufferInfo_YCbCrBiPlanar", - b"{CVPlanarPixelBufferInfo_YCbCrBiPlanar={CVPlanarComponentInfo=iI}{CVPlanarComponentInfo=iI}}", - ["componentInfoY", "componentInfoCbCr"], - ), - "CVPlanarPixelBufferInfo_YCbCrPlanar": objc.createStructType( - "Quartz.CoreVideo.CVPlanarPixelBufferInfo_YCbCrPlanar", - b"{CVPlanarPixelBufferInfo_YCbCrPlanar={CVPlanarComponentInfo=iI}{CVPlanarComponentInfo=iI}{CVPlanarComponentInfo=iI}}", - ["componentInfoY", "componentInfoCb", "componentInfoCr"], - ), - "CVPlanarComponentInfo": objc.createStructType( - "Quartz.CoreVideo.CVPlanarComponentInfo", - b"{CVPlanarComponentInfo=iI}", - ["offset", "rowBytes"], - ), - "CVTime": objc.createStructType( - "Quartz.CoreVideo.CVTime", - b"{_CVTime=qii}", - ["timeValue", "timeScale", "flags"], - ), - "CVSMPTETime": objc.createStructType( - "Quartz.CoreVideo.CVSMPTETime", - b"{CVSMPTETime=ssIIIssss}", - [ - "subframes", - "subframeDivisor", - "counter", - "type", - "flags", - "hours", - "minutes", - "seconds", - "frames", - ], - ), - "CVPlanarPixelBufferInfo": objc.createStructType( - "Quartz.CoreVideo.CVPlanarPixelBufferInfo", - b"{CVPlanarPixelBufferInfo=[1{CVPlanarComponentInfo=iI}]}", - ["componentInfo"], - ), - } -) -constants = """$kCVBufferMovieTimeKey$kCVBufferNonPropagatedAttachmentsKey$kCVBufferPropagatedAttachmentsKey$kCVBufferTimeScaleKey$kCVBufferTimeValueKey$kCVImageBufferAlphaChannelIsOpaque$kCVImageBufferAlphaChannelModeKey$kCVImageBufferAlphaChannelMode_PremultipliedAlpha$kCVImageBufferAlphaChannelMode_StraightAlpha$kCVImageBufferAmbientViewingEnvironmentKey$kCVImageBufferCGColorSpaceKey$kCVImageBufferChromaLocationBottomFieldKey$kCVImageBufferChromaLocationTopFieldKey$kCVImageBufferChromaLocation_Bottom$kCVImageBufferChromaLocation_BottomLeft$kCVImageBufferChromaLocation_Center$kCVImageBufferChromaLocation_DV420$kCVImageBufferChromaLocation_Left$kCVImageBufferChromaLocation_Top$kCVImageBufferChromaLocation_TopLeft$kCVImageBufferChromaSubsamplingKey$kCVImageBufferChromaSubsampling_411$kCVImageBufferChromaSubsampling_420$kCVImageBufferChromaSubsampling_422$kCVImageBufferCleanApertureHeightKey$kCVImageBufferCleanApertureHorizontalOffsetKey$kCVImageBufferCleanApertureKey$kCVImageBufferCleanApertureVerticalOffsetKey$kCVImageBufferCleanApertureWidthKey$kCVImageBufferColorPrimariesKey$kCVImageBufferColorPrimaries_DCI_P3$kCVImageBufferColorPrimaries_EBU_3213$kCVImageBufferColorPrimaries_ITU_R_2020$kCVImageBufferColorPrimaries_ITU_R_709_2$kCVImageBufferColorPrimaries_P22$kCVImageBufferColorPrimaries_P3_D65$kCVImageBufferColorPrimaries_SMPTE_C$kCVImageBufferContentLightLevelInfoKey$kCVImageBufferDisplayDimensionsKey$kCVImageBufferDisplayHeightKey$kCVImageBufferDisplayWidthKey$kCVImageBufferFieldCountKey$kCVImageBufferFieldDetailKey$kCVImageBufferFieldDetailSpatialFirstLineEarly$kCVImageBufferFieldDetailSpatialFirstLineLate$kCVImageBufferFieldDetailTemporalBottomFirst$kCVImageBufferFieldDetailTemporalTopFirst$kCVImageBufferGammaLevelKey$kCVImageBufferICCProfileKey$kCVImageBufferMasteringDisplayColorVolumeKey$kCVImageBufferPixelAspectRatioHorizontalSpacingKey$kCVImageBufferPixelAspectRatioKey$kCVImageBufferPixelAspectRatioVerticalSpacingKey$kCVImageBufferPreferredCleanApertureKey$kCVImageBufferRegionOfInterestKey$kCVImageBufferTransferFunctionKey$kCVImageBufferTransferFunction_EBU_3213$kCVImageBufferTransferFunction_ITU_R_2020$kCVImageBufferTransferFunction_ITU_R_2100_HLG$kCVImageBufferTransferFunction_ITU_R_709_2$kCVImageBufferTransferFunction_Linear$kCVImageBufferTransferFunction_SMPTE_240M_1995$kCVImageBufferTransferFunction_SMPTE_C$kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ$kCVImageBufferTransferFunction_SMPTE_ST_428_1$kCVImageBufferTransferFunction_UseGamma$kCVImageBufferTransferFunction_sRGB$kCVImageBufferYCbCrMatrixKey$kCVImageBufferYCbCrMatrix_DCI_P3$kCVImageBufferYCbCrMatrix_ITU_R_2020$kCVImageBufferYCbCrMatrix_ITU_R_601_4$kCVImageBufferYCbCrMatrix_ITU_R_709_2$kCVImageBufferYCbCrMatrix_P3_D65$kCVImageBufferYCbCrMatrix_SMPTE_240M_1995$kCVIndefiniteTime@{_CVTime=qii}$kCVMetalTextureCacheMaximumTextureAgeKey$kCVMetalTextureStorageMode$kCVMetalTextureUsage$kCVOpenGLBufferHeight$kCVOpenGLBufferInternalFormat$kCVOpenGLBufferMaximumMipmapLevel$kCVOpenGLBufferPoolMaximumBufferAgeKey$kCVOpenGLBufferPoolMinimumBufferCountKey$kCVOpenGLBufferTarget$kCVOpenGLBufferWidth$kCVOpenGLTextureCacheChromaSamplingModeAutomatic$kCVOpenGLTextureCacheChromaSamplingModeBestPerformance$kCVOpenGLTextureCacheChromaSamplingModeHighestQuality$kCVOpenGLTextureCacheChromaSamplingModeKey$kCVPixelBufferBytesPerRowAlignmentKey$kCVPixelBufferCGBitmapContextCompatibilityKey$kCVPixelBufferCGImageCompatibilityKey$kCVPixelBufferExtendedPixelsBottomKey$kCVPixelBufferExtendedPixelsLeftKey$kCVPixelBufferExtendedPixelsRightKey$kCVPixelBufferExtendedPixelsTopKey$kCVPixelBufferHeightKey$kCVPixelBufferIOSurfaceCoreAnimationCompatibilityKey$kCVPixelBufferIOSurfaceOpenGLESFBOCompatibilityKey$kCVPixelBufferIOSurfaceOpenGLESTextureCompatibilityKey$kCVPixelBufferIOSurfaceOpenGLFBOCompatibilityKey$kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey$kCVPixelBufferIOSurfacePropertiesKey$kCVPixelBufferMemoryAllocatorKey$kCVPixelBufferMetalCompatibilityKey$kCVPixelBufferOpenGLCompatibilityKey$kCVPixelBufferOpenGLESCompatibilityKey$kCVPixelBufferOpenGLESTextureCacheCompatibilityKey$kCVPixelBufferOpenGLTextureCacheCompatibilityKey$kCVPixelBufferPixelFormatTypeKey$kCVPixelBufferPlaneAlignmentKey$kCVPixelBufferPoolAllocationThresholdKey$kCVPixelBufferPoolFreeBufferNotification$kCVPixelBufferPoolMaximumBufferAgeKey$kCVPixelBufferPoolMinimumBufferCountKey$kCVPixelBufferProResRAWKey_BlackLevel$kCVPixelBufferProResRAWKey_ColorMatrix$kCVPixelBufferProResRAWKey_GainFactor$kCVPixelBufferProResRAWKey_MetadataExtension$kCVPixelBufferProResRAWKey_RecommendedCrop$kCVPixelBufferProResRAWKey_SenselSitingOffsets$kCVPixelBufferProResRAWKey_WhiteBalanceBlueFactor$kCVPixelBufferProResRAWKey_WhiteBalanceCCT$kCVPixelBufferProResRAWKey_WhiteBalanceRedFactor$kCVPixelBufferProResRAWKey_WhiteLevel$kCVPixelBufferVersatileBayerKey_BayerPattern$kCVPixelBufferWidthKey$kCVPixelFormatBitsPerBlock$kCVPixelFormatBlackBlock$kCVPixelFormatBlockHeight$kCVPixelFormatBlockHorizontalAlignment$kCVPixelFormatBlockVerticalAlignment$kCVPixelFormatBlockWidth$kCVPixelFormatCGBitmapContextCompatibility$kCVPixelFormatCGBitmapInfo$kCVPixelFormatCGImageCompatibility$kCVPixelFormatCodecType$kCVPixelFormatComponentRange$kCVPixelFormatComponentRange_FullRange$kCVPixelFormatComponentRange_VideoRange$kCVPixelFormatComponentRange_WideRange$kCVPixelFormatConstant$kCVPixelFormatContainsAlpha$kCVPixelFormatContainsGrayscale$kCVPixelFormatContainsRGB$kCVPixelFormatContainsYCbCr$kCVPixelFormatFillExtendedPixelsCallback$kCVPixelFormatFourCC$kCVPixelFormatHorizontalSubsampling$kCVPixelFormatName$kCVPixelFormatOpenGLCompatibility$kCVPixelFormatOpenGLESCompatibility$kCVPixelFormatOpenGLFormat$kCVPixelFormatOpenGLInternalFormat$kCVPixelFormatOpenGLType$kCVPixelFormatPlanes$kCVPixelFormatQDCompatibility$kCVPixelFormatVerticalSubsampling$kCVZeroTime@{_CVTime=qii}$""" -enums = """$COREVIDEO_INCLUDED_IOSURFACE_HEADER_FILE@1$kCVAttachmentMode_ShouldNotPropagate@0$kCVAttachmentMode_ShouldPropagate@1$kCVPixelBufferLock_ReadOnly@1$kCVPixelBufferPoolFlushExcessBuffers@1$kCVPixelFormatType_128RGBAFloat@1380410945$kCVPixelFormatType_14Bayer_BGGR@1650943796$kCVPixelFormatType_14Bayer_GBRG@1734505012$kCVPixelFormatType_14Bayer_GRBG@1735549492$kCVPixelFormatType_14Bayer_RGGB@1919379252$kCVPixelFormatType_16BE555@16$kCVPixelFormatType_16BE565@1110783541$kCVPixelFormatType_16Gray@1647392359$kCVPixelFormatType_16LE555@1278555445$kCVPixelFormatType_16LE5551@892679473$kCVPixelFormatType_16LE565@1278555701$kCVPixelFormatType_16VersatileBayer@1651519798$kCVPixelFormatType_1IndexedGray_WhiteIsZero@33$kCVPixelFormatType_1Monochrome@1$kCVPixelFormatType_24BGR@842285639$kCVPixelFormatType_24RGB@24$kCVPixelFormatType_2Indexed@2$kCVPixelFormatType_2IndexedGray_WhiteIsZero@34$kCVPixelFormatType_30RGB@1378955371$kCVPixelFormatType_30RGBLEPackedWideGamut@1999843442$kCVPixelFormatType_32ABGR@1094862674$kCVPixelFormatType_32ARGB@32$kCVPixelFormatType_32AlphaGray@1647522401$kCVPixelFormatType_32BGRA@1111970369$kCVPixelFormatType_32RGBA@1380401729$kCVPixelFormatType_40ARGBLEWideGamut@1999908961$kCVPixelFormatType_40ARGBLEWideGamutPremultiplied@1999908973$kCVPixelFormatType_420YpCbCr10BiPlanarFullRange@2019963440$kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange@2016686640$kCVPixelFormatType_420YpCbCr8BiPlanarFullRange@875704422$kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange@875704438$kCVPixelFormatType_420YpCbCr8Planar@2033463856$kCVPixelFormatType_420YpCbCr8PlanarFullRange@1714696752$kCVPixelFormatType_420YpCbCr8VideoRange_8A_TriPlanar@1982882104$kCVPixelFormatType_422YpCbCr10@1983000880$kCVPixelFormatType_422YpCbCr10BiPlanarFullRange@2019963442$kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange@2016686642$kCVPixelFormatType_422YpCbCr16@1983000886$kCVPixelFormatType_422YpCbCr16BiPlanarVideoRange@1937125938$kCVPixelFormatType_422YpCbCr8@846624121$kCVPixelFormatType_422YpCbCr8BiPlanarFullRange@875704934$kCVPixelFormatType_422YpCbCr8BiPlanarVideoRange@875704950$kCVPixelFormatType_422YpCbCr8FullRange@2037741158$kCVPixelFormatType_422YpCbCr8_yuvs@2037741171$kCVPixelFormatType_422YpCbCr_4A_8BiPlanar@1630697081$kCVPixelFormatType_4444AYpCbCr16@2033463606$kCVPixelFormatType_4444AYpCbCr8@2033463352$kCVPixelFormatType_4444YpCbCrA8@1983131704$kCVPixelFormatType_4444YpCbCrA8R@1916022840$kCVPixelFormatType_444YpCbCr10@1983131952$kCVPixelFormatType_444YpCbCr10BiPlanarFullRange@2019963956$kCVPixelFormatType_444YpCbCr10BiPlanarVideoRange@2016687156$kCVPixelFormatType_444YpCbCr16BiPlanarVideoRange@1937126452$kCVPixelFormatType_444YpCbCr16VideoRange_16A_TriPlanar@1932812659$kCVPixelFormatType_444YpCbCr8@1983066168$kCVPixelFormatType_444YpCbCr8BiPlanarFullRange@875836518$kCVPixelFormatType_444YpCbCr8BiPlanarVideoRange@875836534$kCVPixelFormatType_48RGB@1647589490$kCVPixelFormatType_4Indexed@4$kCVPixelFormatType_4IndexedGray_WhiteIsZero@36$kCVPixelFormatType_64ARGB@1647719521$kCVPixelFormatType_64RGBAHalf@1380411457$kCVPixelFormatType_64RGBALE@1815491698$kCVPixelFormatType_64RGBA_DownscaledProResRAW@1651521076$kCVPixelFormatType_8Indexed@8$kCVPixelFormatType_8IndexedGray_WhiteIsZero@40$kCVPixelFormatType_ARGB2101010LEPacked@1815162994$kCVPixelFormatType_DepthFloat16@1751410032$kCVPixelFormatType_DepthFloat32@1717855600$kCVPixelFormatType_DisparityFloat16@1751411059$kCVPixelFormatType_DisparityFloat32@1717856627$kCVPixelFormatType_Lossless_32BGRA@641877825$kCVPixelFormatType_Lossless_420YpCbCr10PackedBiPlanarVideoRange@645428784$kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarFullRange@641230384$kCVPixelFormatType_Lossless_420YpCbCr8BiPlanarVideoRange@641234480$kCVPixelFormatType_Lossless_422YpCbCr10PackedBiPlanarVideoRange@645428786$kCVPixelFormatType_Lossy_32BGRA@759318337$kCVPixelFormatType_Lossy_420YpCbCr10PackedBiPlanarVideoRange@762869296$kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarFullRange@758670896$kCVPixelFormatType_Lossy_420YpCbCr8BiPlanarVideoRange@758674992$kCVPixelFormatType_Lossy_422YpCbCr10PackedBiPlanarVideoRange@762869298$kCVPixelFormatType_OneComponent10@1278226736$kCVPixelFormatType_OneComponent12@1278226738$kCVPixelFormatType_OneComponent16@1278226742$kCVPixelFormatType_OneComponent16Half@1278226536$kCVPixelFormatType_OneComponent32Float@1278226534$kCVPixelFormatType_OneComponent8@1278226488$kCVPixelFormatType_TwoComponent16@843264310$kCVPixelFormatType_TwoComponent16Half@843264104$kCVPixelFormatType_TwoComponent32Float@843264102$kCVPixelFormatType_TwoComponent8@843264056$kCVReturnAllocationFailed@-6662$kCVReturnDisplayLinkAlreadyRunning@-6671$kCVReturnDisplayLinkCallbacksNotSet@-6673$kCVReturnDisplayLinkNotRunning@-6672$kCVReturnError@-6660$kCVReturnFirst@-6660$kCVReturnInvalidArgument@-6661$kCVReturnInvalidDisplay@-6670$kCVReturnInvalidPixelBufferAttributes@-6682$kCVReturnInvalidPixelFormat@-6680$kCVReturnInvalidPoolAttributes@-6691$kCVReturnInvalidSize@-6681$kCVReturnLast@-6699$kCVReturnPixelBufferNotMetalCompatible@-6684$kCVReturnPixelBufferNotOpenGLCompatible@-6683$kCVReturnPoolAllocationFailed@-6690$kCVReturnRetry@-6692$kCVReturnSuccess@0$kCVReturnUnsupported@-6663$kCVReturnWouldExceedAllocationThreshold@-6689$kCVSMPTETimeRunning@2$kCVSMPTETimeType24@0$kCVSMPTETimeType25@1$kCVSMPTETimeType2997@4$kCVSMPTETimeType2997Drop@5$kCVSMPTETimeType30@3$kCVSMPTETimeType30Drop@2$kCVSMPTETimeType5994@7$kCVSMPTETimeType60@6$kCVSMPTETimeValid@1$kCVTimeIsIndefinite@1$kCVTimeStampBottomField@131072$kCVTimeStampHostTimeValid@2$kCVTimeStampIsInterlaced@196608$kCVTimeStampRateScalarValid@16$kCVTimeStampSMPTETimeValid@4$kCVTimeStampTopField@65536$kCVTimeStampVideoHostTimeValid@3$kCVTimeStampVideoRefreshPeriodValid@8$kCVTimeStampVideoTimeValid@1$kCVVersatileBayer_BayerPattern_BGGR@3$kCVVersatileBayer_BayerPattern_GBRG@2$kCVVersatileBayer_BayerPattern_GRBG@1$kCVVersatileBayer_BayerPattern_RGGB@0$kReturnRetry@-6692$""" -misc.update( - { - "CVPixelBufferPoolFlushFlags": NewType("CVPixelBufferPoolFlushFlags", int), - "CVTimeStampFlags": NewType("CVTimeStampFlags", int), - "CVSMPTETimeType": NewType("CVSMPTETimeType", int), - "CVPixelBufferLockFlags": NewType("CVPixelBufferLockFlags", int), - "CVSMPTETimeFlags": NewType("CVSMPTETimeFlags", int), - "CVTimeFlags": NewType("CVTimeFlags", int), - "CVAttachmentMode": NewType("CVAttachmentMode", int), - } -) -misc.update({}) -functions = { - "CVImageBufferGetEncodedSize": (b"{CGSize=dd}^{__CVBuffer=}",), - "CVOpenGLTextureRelease": (b"v^{__CVBuffer=}",), - "CVPixelBufferPoolRelease": (b"v^{__CVPixelBufferPool=}",), - "CVPixelBufferPoolGetTypeID": (b"Q",), - "CVYCbCrMatrixGetIntegerCodePointForString": (b"i^{__CFString=}",), - "CVPixelBufferCreate": ( - b"i^{__CFAllocator=}QQI^{__CFDictionary=}^^{__CVBuffer=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVOpenGLBufferPoolGetTypeID": (b"Q",), - "CVPixelBufferFillExtendedPixels": (b"i^{__CVBuffer=}",), - "CVOpenGLTextureCacheRetain": ( - b"^{__CVOpenGLTextureCache=}^{__CVOpenGLTextureCache=}", - ), - "CVOpenGLBufferPoolCreateOpenGLBuffer": ( - b"i^{__CFAllocator=}^{__CVOpenGLBufferPool=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkSetCurrentCGDisplay": (b"i^{__CVDisplayLink=}I",), - "CVBufferSetAttachment": (b"v^{__CVBuffer=}^{__CFString=}@I",), - "CVGetCurrentHostTime": (b"Q", "", {"variadic": False}), - "CVPixelBufferPoolCreate": ( - b"i^{__CFAllocator=}^{__CFDictionary=}^{__CFDictionary=}^^{__CVPixelBufferPool=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVPixelBufferGetHeightOfPlane": (b"Q^{__CVBuffer=}Q",), - "CVBufferRetain": (b"^{__CVBuffer=}^{__CVBuffer=}",), - "CVBufferHasAttachment": (b"Z^{__CVBuffer=}^{__CFString=}",), - "CVDisplayLinkTranslateTime": ( - b"i^{__CVDisplayLink=}^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "", - {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "CVPixelBufferRetain": (b"^{__CVBuffer=}^{__CVBuffer=}",), - "CVPixelBufferGetPlaneCount": (b"Q^{__CVBuffer=}",), - "CVOpenGLTextureCacheRelease": (b"v^{__CVOpenGLTextureCache=}",), - "CVPixelBufferGetBaseAddress": ( - b"^v^{__CVBuffer=}", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CVOpenGLBufferPoolRelease": (b"v^{__CVOpenGLBufferPool=}",), - "CVPixelBufferLockBaseAddress": (b"i^{__CVBuffer=}Q",), - "CVOpenGLTextureCacheGetTypeID": (b"Q",), - "CVPixelBufferUnlockBaseAddress": (b"i^{__CVBuffer=}Q",), - "CVMetalTextureCacheCreateTextureFromImage": ( - b"i^{__CFAllocator=}^{__CVMetalTextureCache=}^{__CVBuffer=}^{__CFDictionary=}QQQQ^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {8: {"type_modifier": "o"}}, - }, - ), - "CVOpenGLTextureIsFlipped": (b"Z^{__CVBuffer=}",), - "CVMetalTextureCacheFlush": (b"v^{__CVMetalTextureCache=}Q",), - "CVPixelBufferPoolCreatePixelBuffer": ( - b"i^{__CFAllocator=}^{__CVPixelBufferPool=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVPixelBufferGetTypeID": (b"Q",), - "CVDisplayLinkGetActualOutputVideoRefreshPeriod": (b"d^{__CVDisplayLink=}",), - "CVPixelBufferGetWidth": (b"Q^{__CVBuffer=}",), - "CVMetalTextureCacheGetTypeID": (b"Q",), - "CVDisplayLinkCreateWithCGDisplay": ( - b"iI^^{__CVDisplayLink=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVBufferRelease": (b"v^{__CVBuffer=}",), - "CVBufferCopyAttachments": ( - b"^{__CFDictionary=}^{__CVBuffer=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVDisplayLinkGetCurrentTime": ( - b"i^{__CVDisplayLink=}^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes": ( - b"^{__CFArray=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVPixelBufferPoolGetAttributes": (b"^{__CFDictionary=}^{__CVPixelBufferPool=}",), - "CVBufferGetAttachments": (b"^{__CFDictionary=}^{__CVBuffer=}I",), - "CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType": ( - b"v^{__CFDictionary=}I", - ), - "CVOpenGLBufferPoolCreate": ( - b"i^{__CFAllocator=}^{__CFDictionary=}^{__CFDictionary=}^^{__CVOpenGLBufferPool=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkRetain": (b"^{__CVDisplayLink=}^{__CVDisplayLink=}",), - "CVPixelBufferCreateWithIOSurface": ( - b"i^{__CFAllocator=}^{__IOSurface=}^{__CFDictionary=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkCreateWithOpenGLDisplayMask": ( - b"iI^^{__CVDisplayLink=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkSetOutputHandler": ( - b"i^{__CVDisplayLink=}@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{__CVDisplayLink=}"}, - 2: { - "type": "^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": "n", - }, - 3: { - "type": "^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": "n", - }, - 4: {"type": "Q"}, - 5: {"type": "o^Q"}, - }, - } - } - } - }, - ), - "CVYCbCrMatrixGetStringForIntegerCodePoint": (b"^{__CFString=}i",), - "CVOpenGLBufferCreate": ( - b"i^{__CFAllocator=}QQ^{__CFDictionary=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVPixelBufferPoolCreatePixelBufferWithAuxAttributes": ( - b"i^{__CFAllocator=}^{__CVPixelBufferPool=}^{__CFDictionary=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVOpenGLTextureCacheFlush": (b"v^{__CVOpenGLTextureCache=}Q",), - "CVDisplayLinkCreateWithActiveCGDisplays": ( - b"i^^{__CVDisplayLink=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkGetNominalOutputVideoRefreshPeriod": ( - b"{_CVTime=qii}^{__CVDisplayLink=}", - ), - "CVPixelBufferCreateResolvedAttributesDictionary": ( - b"i^{__CFAllocator=}^{__CFArray=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "CVDisplayLinkSetOutputCallback": ( - b"i^{__CVDisplayLink=}^?^v", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^{__CVDisplayLink=}"}, - 1: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": "n", - }, - 2: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": "N", - }, - 3: {"type": b"Q"}, - 4: {"type": b"^Q", "type_modifier": "o"}, - 5: {"type": b"^v"}, - }, - } - } - } - }, - ), - "CVOpenGLTextureGetName": (b"I^{__CVBuffer=}",), - "CVOpenGLBufferRelease": (b"v^{__CVBuffer=}",), - "CVOpenGLTextureRetain": (b"^{__CVBuffer=}^{__CVBuffer=}",), - "CVOpenGLBufferPoolGetAttributes": (b"^{__CFDictionary=}^{__CVOpenGLBufferPool=}",), - "CVPixelBufferGetWidthOfPlane": (b"Q^{__CVBuffer=}Q",), - "CVBufferPropagateAttachments": (b"v^{__CVBuffer=}^{__CVBuffer=}",), - "CVPixelBufferPoolRetain": (b"^{__CVPixelBufferPool=}^{__CVPixelBufferPool=}",), - "CVPixelBufferGetHeight": (b"Q^{__CVBuffer=}",), - "CVColorPrimariesGetIntegerCodePointForString": (b"i^{__CFString=}",), - "CVOpenGLBufferGetTypeID": (b"Q",), - "CVDisplayLinkRelease": (b"v^{__CVDisplayLink=}",), - "CVBufferGetAttachment": ( - b"@^{__CVBuffer=}^{__CFString=}^I", - "", - {"arguments": {2: {"type_modifier": "o"}}}, - ), - "CVDisplayLinkStop": (b"i^{__CVDisplayLink=}",), - "CVPixelFormatDescriptionCreateWithPixelFormatType": ( - b"^{__CFDictionary=}^{__CFAllocator=}I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVMetalTextureGetCleanTexCoords": ( - b"v^{__CVBuffer=}^f^f^f^f", - "", - { - "arguments": { - 1: {"c_array_of_fixed_length": 2, "type_modifier": "o"}, - 2: {"c_array_of_fixed_length": 2, "type_modifier": "o"}, - 3: {"c_array_of_fixed_length": 2, "type_modifier": "o"}, - 4: {"c_array_of_fixed_length": 2, "type_modifier": "o"}, - } - }, - ), - "CVPixelBufferGetIOSurface": (b"^{__IOSurface=}^{__CVBuffer=}",), - "CVOpenGLTextureCacheCreateTextureFromImage": ( - b"i^{__CFAllocator=}^{__CVOpenGLTextureCache=}^{__CVBuffer=}^{__CFDictionary=}^^{__CVBuffer=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVDisplayLinkCreateWithCGDisplays": ( - b"i^Iq^^{__CVDisplayLink=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 2: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "CVPixelBufferPoolGetPixelBufferAttributes": ( - b"^{__CFDictionary=}^{__CVPixelBufferPool=}", - ), - "CVOpenGLTextureGetTypeID": (b"Q",), - "CVIsCompressedPixelFormatAvailable": (b"ZI",), - "CVImageBufferIsFlipped": (b"Z^{__CVBuffer=}",), - "CVBufferCopyAttachment": ( - b"@^{__CVBuffer=}^{__CFString=}^I", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVMetalTextureGetTexture": (b"@^{__CVBuffer=}",), - "CVPixelBufferIsPlanar": (b"Z^{__CVBuffer=}",), - "CVBufferRemoveAllAttachments": (b"v^{__CVBuffer=}",), - "CVTransferFunctionGetIntegerCodePointForString": (b"i^{__CFString=}",), - "CVPixelBufferCreateWithBytes": ( - b"i^{__CFAllocator=}QQI^vQ^?^v^{__CFDictionary=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"^v"}}, - } - } - }, - }, - ), - "CVMetalTextureGetTypeID": (b"Q",), - "CVOpenGLBufferPoolRetain": (b"^{__CVOpenGLBufferPool=}^{__CVOpenGLBufferPool=}",), - "CVPixelBufferCreateWithPlanarBytes": ( - b"i^{__CFAllocator=}QQI^vQQ^^v^Q^Q^Q^?^v^{__CFDictionary=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 11: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^v"}, - 2: {"type": b"Q"}, - 3: {"type": b"Q"}, - 4: {"type": b"^^v"}, - }, - } - } - }, - }, - ), - "CVImageBufferGetCleanRect": (b"{CGRect={CGPoint=dd}{CGSize=dd}}^{__CVBuffer=}",), - "CVImageBufferCreateColorSpaceFromAttachments": ( - b"^{CGColorSpace=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVPixelBufferGetBytesPerRowOfPlane": (b"Q^{__CVBuffer=}Q",), - "CVColorPrimariesGetStringForIntegerCodePoint": (b"^{__CFString=}i",), - "CVDisplayLinkStart": (b"i^{__CVDisplayLink=}",), - "CVDisplayLinkGetTypeID": (b"Q",), - "CVImageBufferGetDisplaySize": (b"{CGSize=dd}^{__CVBuffer=}",), - "CVPixelBufferGetDataSize": (b"Q^{__CVBuffer=}",), - "CVOpenGLBufferPoolGetOpenGLBufferAttributes": ( - b"^{__CFDictionary=}^{__CVOpenGLBufferPool=}", - ), - "CVOpenGLBufferAttach": (b"i^{__CVBuffer=}^{_CGLContextObject=}Iii",), - "CVPixelBufferGetBaseAddressOfPlane": ( - b"^v^{__CVBuffer=}Q", - "", - {"retval": {"c_array_of_variable_length": True}}, - ), - "CVDisplayLinkIsRunning": (b"Z^{__CVDisplayLink=}",), - "CVPixelBufferGetPixelFormatType": (b"I^{__CVBuffer=}",), - "CVBufferRemoveAttachment": (b"v^{__CVBuffer=}^{__CFString=}",), - "CVPixelBufferCopyCreationAttributes": ( - b"^{__CFDictionary=}^{__CVBuffer=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVOpenGLBufferGetAttributes": (b"^{__CFDictionary=}^{__CVBuffer=}",), - "CVDisplayLinkGetOutputVideoLatency": (b"{_CVTime=qii}^{__CVDisplayLink=}",), - "CVPixelBufferGetBytesPerRow": (b"Q^{__CVBuffer=}",), - "CVMetalTextureCacheCreate": ( - b"i^{__CFAllocator=}^{__CFDictionary=}@^{__CFDictionary=}^^{__CVMetalTextureCache=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVPixelBufferGetExtendedPixels": ( - b"v^{__CVBuffer=}^Q^Q^Q^Q", - "", - { - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - 4: {"type_modifier": "o"}, - } - }, - ), - "CVTransferFunctionGetStringForIntegerCodePoint": (b"^{__CFString=}i",), - "CVImageBufferGetColorSpace": (b"^{CGColorSpace=}^{__CVBuffer=}",), - "CVDisplayLinkGetCurrentCGDisplay": (b"I^{__CVDisplayLink=}",), - "CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext": ( - b"i^{__CVDisplayLink=}^{_CGLContextObject=}^{_CGLPixelFormatObject=}", - ), - "CVPixelBufferRelease": (b"v^{__CVBuffer=}",), - "CVBufferSetAttachments": (b"v^{__CVBuffer=}^{__CFDictionary=}I",), - "CVOpenGLTextureGetTarget": (b"I^{__CVBuffer=}",), - "CVGetHostClockFrequency": (b"d", "", {"variadic": False}), - "CVGetHostClockMinimumTimeDelta": (b"I", "", {"variadic": False}), - "CVOpenGLBufferRetain": (b"^{__CVBuffer=}^{__CVBuffer=}",), - "CVMetalTextureIsFlipped": (b"Z^{__CVBuffer=}",), - "CVOpenGLTextureCacheCreate": ( - b"i^{__CFAllocator=}^{__CFDictionary=}^{_CGLContextObject=}^{_CGLPixelFormatObject=}^{__CFDictionary=}^^{__CVOpenGLTextureCache=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CVPixelBufferPoolFlush": (b"v^{__CVPixelBufferPool=}Q",), - "CVOpenGLTextureGetCleanTexCoords": (b"v^{__CVBuffer=}[2f][2f][2f][2f]",), -} -aliases = { - "CVDIRECT3DSURFACE": "LPDIRECT3DSURFACE9", - "COREVIDEO_SUPPORTS_OPENGLES": "COREVIDEO_FALSE", - "CV_NONNULL": "__nonnull", - "COREVIDEO_SUPPORTS_PERMANENT_ALLOCATOR": "COREVIDEO_FALSE", - "CVImageBufferRef": "CVBufferRef", - "COREVIDEO_SUPPORTS_PREFETCH": "COREVIDEO_TRUE", - "COREVIDEO_SUPPORTS_OPENGL": "COREVIDEO_TRUE", - "COREVIDEO_SUPPORTS_IOSURFACE": "COREVIDEO_TRUE", - "COREVIDEO_USE_DERIVED_ENUMS_FOR_CONSTANTS": "COREVIDEO_TRUE", - "CV_INLINE": "CF_INLINE", - "kCVReturnError": "kCVReturnFirst", - "COREVIDEO_SUPPORTS_DIRECT3D": "COREVIDEO_FALSE", - "CVDIRECT3DTEXTURE": "LPDIRECT3DTEXTURE9", - "COREVIDEO_DECLARE_NULLABILITY": "COREVIDEO_TRUE", - "CV_RELEASES_ARGUMENT": "CF_RELEASES_ARGUMENT", - "COREVIDEO_SUPPORTS_DISPLAYLINK": "COREVIDEO_TRUE", - "CV_RETURNS_RETAINED": "CF_RETURNS_RETAINED", - "CV_NULLABLE": "__nullable", - "COREVIDEO_USE_IOSURFACEREF": "COREVIDEO_FALSE", - "CVDIRECT3DDEVICE": "LPDIRECT3DDEVICE9", - "COREVIDEO_SUPPORTS_METAL": "COREVIDEO_TRUE", - "COREVIDEO_SUPPORTS_GLES_TEX_IMAGE_IOSURFACE": "COREVIDEO_SUPPORTS_IOSURFACE", - "CVDIRECT3D": "LPDIRECT3D9", - "COREVIDEO_SUPPORTS_COLORSPACE": "COREVIDEO_TRUE", - "CV_RETURNS_RETAINED_PARAMETER": "CF_RETURNS_RETAINED", -} -cftypes = [ - ("CVBufferRef", b"^{__CVBuffer=}", "CVBufferGetTypeID", None), - ("CVDisplayLinkRef", b"^{__CVDisplayLink=}", "CVDisplayLinkGetTypeID", None), - ("CVMetalTextureCacheRef", b"^{__CVMetalTextureCache=}", None, None), - ( - "CVOpenGLBufferPoolRef", - b"^{__CVOpenGLBufferPool=}", - "CVOpenGLBufferPoolGetTypeID", - None, - ), - ( - "CVOpenGLTextureCacheRef", - b"^{__CVOpenGLTextureCache=}", - "CVOpenGLTextureCacheGetTypeID", - None, - ), - ( - "CVPixelBufferPoolRef", - b"^{__CVPixelBufferPool=}", - "CVPixelBufferPoolGetTypeID", - None, - ), - ("CVOpenGLBufferRef", b"^{__CVOpenGLBuffer=}", "CVOpenGLBufferGetTypeID", None), - ("CVPixelBufferRef", b"^{__CVPixelBuffer=}", "CVPixelBufferGetTypeID", None), - ("CVOpenGLTextureRef", b"^{__CVOpenGLTexture=}", "CVOpenGLTextureGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/ImageIO/PyObjCOverrides.bridgesupport b/src/lib/Quartz/ImageIO/PyObjCOverrides.bridgesupport deleted file mode 100644 index 44e6ec9..0000000 --- a/src/lib/Quartz/ImageIO/PyObjCOverrides.bridgesupport +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/lib/Quartz/ImageIO/__init__.py b/src/lib/Quartz/ImageIO/__init__.py deleted file mode 100644 index a48d1c0..0000000 --- a/src/lib/Quartz/ImageIO/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the ImageIO framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import objc -import Quartz.CoreGraphics -from Quartz.ImageIO import _metadata - -sys.modules["Quartz.ImageIO"] = mod = objc.ObjCLazyModule( - "Quartz.ImageIO", - "com.apple.ImageIO.framework", - objc.pathForFramework( - "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ImageIO.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Quartz.CoreGraphics,), -) - - -del sys.modules["Quartz.ImageIO._metadata"] diff --git a/src/lib/Quartz/ImageIO/_metadata.py b/src/lib/Quartz/ImageIO/_metadata.py deleted file mode 100644 index fc2655d..0000000 --- a/src/lib/Quartz/ImageIO/_metadata.py +++ /dev/null @@ -1,339 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:00 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kCFErrorDomainCGImageMetadata$kCGImageAnimationDelayTime$kCGImageAnimationLoopCount$kCGImageAnimationStartIndex$kCGImageAuxiliaryDataInfoData$kCGImageAuxiliaryDataInfoDataDescription$kCGImageAuxiliaryDataInfoMetadata$kCGImageAuxiliaryDataTypeDepth$kCGImageAuxiliaryDataTypeDisparity$kCGImageAuxiliaryDataTypeHDRGainMap$kCGImageAuxiliaryDataTypePortraitEffectsMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationGlassesMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationHairMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationSkinMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationSkyMatte$kCGImageAuxiliaryDataTypeSemanticSegmentationTeethMatte$kCGImageDestinationBackgroundColor$kCGImageDestinationDateTime$kCGImageDestinationEmbedThumbnail$kCGImageDestinationImageMaxPixelSize$kCGImageDestinationLossyCompressionQuality$kCGImageDestinationMergeMetadata$kCGImageDestinationMetadata$kCGImageDestinationOptimizeColorForSharing$kCGImageDestinationOrientation$kCGImageDestinationPreserveGainMap$kCGImageMetadataEnumerateRecursively$kCGImageMetadataNamespaceDublinCore$kCGImageMetadataNamespaceExif$kCGImageMetadataNamespaceExifAux$kCGImageMetadataNamespaceExifEX$kCGImageMetadataNamespaceIPTCCore$kCGImageMetadataNamespaceIPTCExtension$kCGImageMetadataNamespacePhotoshop$kCGImageMetadataNamespaceTIFF$kCGImageMetadataNamespaceXMPBasic$kCGImageMetadataNamespaceXMPRights$kCGImageMetadataPrefixDublinCore$kCGImageMetadataPrefixExif$kCGImageMetadataPrefixExifAux$kCGImageMetadataPrefixExifEX$kCGImageMetadataPrefixIPTCCore$kCGImageMetadataPrefixIPTCExtension$kCGImageMetadataPrefixPhotoshop$kCGImageMetadataPrefixTIFF$kCGImageMetadataPrefixXMPBasic$kCGImageMetadataPrefixXMPRights$kCGImageMetadataShouldExcludeGPS$kCGImageMetadataShouldExcludeXMP$kCGImageProperty8BIMDictionary$kCGImageProperty8BIMLayerNames$kCGImageProperty8BIMVersion$kCGImagePropertyAPNGCanvasPixelHeight$kCGImagePropertyAPNGCanvasPixelWidth$kCGImagePropertyAPNGDelayTime$kCGImagePropertyAPNGFrameInfoArray$kCGImagePropertyAPNGLoopCount$kCGImagePropertyAPNGUnclampedDelayTime$kCGImagePropertyAuxiliaryData$kCGImagePropertyAuxiliaryDataType$kCGImagePropertyBytesPerRow$kCGImagePropertyCIFFCameraSerialNumber$kCGImagePropertyCIFFContinuousDrive$kCGImagePropertyCIFFDescription$kCGImagePropertyCIFFDictionary$kCGImagePropertyCIFFFirmware$kCGImagePropertyCIFFFlashExposureComp$kCGImagePropertyCIFFFocusMode$kCGImagePropertyCIFFImageFileName$kCGImagePropertyCIFFImageName$kCGImagePropertyCIFFImageSerialNumber$kCGImagePropertyCIFFLensMaxMM$kCGImagePropertyCIFFLensMinMM$kCGImagePropertyCIFFLensModel$kCGImagePropertyCIFFMeasuredEV$kCGImagePropertyCIFFMeteringMode$kCGImagePropertyCIFFOwnerName$kCGImagePropertyCIFFRecordID$kCGImagePropertyCIFFReleaseMethod$kCGImagePropertyCIFFReleaseTiming$kCGImagePropertyCIFFSelfTimingTime$kCGImagePropertyCIFFShootingMode$kCGImagePropertyCIFFWhiteBalanceIndex$kCGImagePropertyColorModel$kCGImagePropertyColorModelCMYK$kCGImagePropertyColorModelGray$kCGImagePropertyColorModelLab$kCGImagePropertyColorModelRGB$kCGImagePropertyDNGActiveArea$kCGImagePropertyDNGAnalogBalance$kCGImagePropertyDNGAntiAliasStrength$kCGImagePropertyDNGAsShotICCProfile$kCGImagePropertyDNGAsShotNeutral$kCGImagePropertyDNGAsShotPreProfileMatrix$kCGImagePropertyDNGAsShotProfileName$kCGImagePropertyDNGAsShotWhiteXY$kCGImagePropertyDNGBackwardVersion$kCGImagePropertyDNGBaselineExposure$kCGImagePropertyDNGBaselineExposureOffset$kCGImagePropertyDNGBaselineNoise$kCGImagePropertyDNGBaselineSharpness$kCGImagePropertyDNGBayerGreenSplit$kCGImagePropertyDNGBestQualityScale$kCGImagePropertyDNGBlackLevel$kCGImagePropertyDNGBlackLevelDeltaH$kCGImagePropertyDNGBlackLevelDeltaV$kCGImagePropertyDNGBlackLevelRepeatDim$kCGImagePropertyDNGCFALayout$kCGImagePropertyDNGCFAPlaneColor$kCGImagePropertyDNGCalibrationIlluminant1$kCGImagePropertyDNGCalibrationIlluminant2$kCGImagePropertyDNGCameraCalibration1$kCGImagePropertyDNGCameraCalibration2$kCGImagePropertyDNGCameraCalibrationSignature$kCGImagePropertyDNGCameraSerialNumber$kCGImagePropertyDNGChromaBlurRadius$kCGImagePropertyDNGColorMatrix1$kCGImagePropertyDNGColorMatrix2$kCGImagePropertyDNGColorimetricReference$kCGImagePropertyDNGCurrentICCProfile$kCGImagePropertyDNGCurrentPreProfileMatrix$kCGImagePropertyDNGDefaultBlackRender$kCGImagePropertyDNGDefaultCropOrigin$kCGImagePropertyDNGDefaultCropSize$kCGImagePropertyDNGDefaultScale$kCGImagePropertyDNGDefaultUserCrop$kCGImagePropertyDNGDictionary$kCGImagePropertyDNGExtraCameraProfiles$kCGImagePropertyDNGFixVignetteRadial$kCGImagePropertyDNGForwardMatrix1$kCGImagePropertyDNGForwardMatrix2$kCGImagePropertyDNGLensInfo$kCGImagePropertyDNGLinearResponseLimit$kCGImagePropertyDNGLinearizationTable$kCGImagePropertyDNGLocalizedCameraModel$kCGImagePropertyDNGMakerNoteSafety$kCGImagePropertyDNGMaskedAreas$kCGImagePropertyDNGNewRawImageDigest$kCGImagePropertyDNGNoiseProfile$kCGImagePropertyDNGNoiseReductionApplied$kCGImagePropertyDNGOpcodeList1$kCGImagePropertyDNGOpcodeList2$kCGImagePropertyDNGOpcodeList3$kCGImagePropertyDNGOriginalBestQualityFinalSize$kCGImagePropertyDNGOriginalDefaultCropSize$kCGImagePropertyDNGOriginalDefaultFinalSize$kCGImagePropertyDNGOriginalRawFileData$kCGImagePropertyDNGOriginalRawFileDigest$kCGImagePropertyDNGOriginalRawFileName$kCGImagePropertyDNGPreviewApplicationName$kCGImagePropertyDNGPreviewApplicationVersion$kCGImagePropertyDNGPreviewColorSpace$kCGImagePropertyDNGPreviewDateTime$kCGImagePropertyDNGPreviewSettingsDigest$kCGImagePropertyDNGPreviewSettingsName$kCGImagePropertyDNGPrivateData$kCGImagePropertyDNGProfileCalibrationSignature$kCGImagePropertyDNGProfileCopyright$kCGImagePropertyDNGProfileEmbedPolicy$kCGImagePropertyDNGProfileHueSatMapData1$kCGImagePropertyDNGProfileHueSatMapData2$kCGImagePropertyDNGProfileHueSatMapDims$kCGImagePropertyDNGProfileHueSatMapEncoding$kCGImagePropertyDNGProfileLookTableData$kCGImagePropertyDNGProfileLookTableDims$kCGImagePropertyDNGProfileLookTableEncoding$kCGImagePropertyDNGProfileName$kCGImagePropertyDNGProfileToneCurve$kCGImagePropertyDNGRawDataUniqueID$kCGImagePropertyDNGRawImageDigest$kCGImagePropertyDNGRawToPreviewGain$kCGImagePropertyDNGReductionMatrix1$kCGImagePropertyDNGReductionMatrix2$kCGImagePropertyDNGRowInterleaveFactor$kCGImagePropertyDNGShadowScale$kCGImagePropertyDNGSubTileBlockSize$kCGImagePropertyDNGUniqueCameraModel$kCGImagePropertyDNGVersion$kCGImagePropertyDNGWarpFisheye$kCGImagePropertyDNGWarpRectilinear$kCGImagePropertyDNGWhiteLevel$kCGImagePropertyDPIHeight$kCGImagePropertyDPIWidth$kCGImagePropertyDepth$kCGImagePropertyExifApertureValue$kCGImagePropertyExifAuxDictionary$kCGImagePropertyExifAuxFirmware$kCGImagePropertyExifAuxFlashCompensation$kCGImagePropertyExifAuxImageNumber$kCGImagePropertyExifAuxLensID$kCGImagePropertyExifAuxLensInfo$kCGImagePropertyExifAuxLensModel$kCGImagePropertyExifAuxLensSerialNumber$kCGImagePropertyExifAuxOwnerName$kCGImagePropertyExifAuxSerialNumber$kCGImagePropertyExifBodySerialNumber$kCGImagePropertyExifBrightnessValue$kCGImagePropertyExifCFAPattern$kCGImagePropertyExifCameraOwnerName$kCGImagePropertyExifColorSpace$kCGImagePropertyExifComponentsConfiguration$kCGImagePropertyExifCompositeImage$kCGImagePropertyExifCompressedBitsPerPixel$kCGImagePropertyExifContrast$kCGImagePropertyExifCustomRendered$kCGImagePropertyExifDateTimeDigitized$kCGImagePropertyExifDateTimeOriginal$kCGImagePropertyExifDeviceSettingDescription$kCGImagePropertyExifDictionary$kCGImagePropertyExifDigitalZoomRatio$kCGImagePropertyExifExposureBiasValue$kCGImagePropertyExifExposureIndex$kCGImagePropertyExifExposureMode$kCGImagePropertyExifExposureProgram$kCGImagePropertyExifExposureTime$kCGImagePropertyExifFNumber$kCGImagePropertyExifFileSource$kCGImagePropertyExifFlash$kCGImagePropertyExifFlashEnergy$kCGImagePropertyExifFlashPixVersion$kCGImagePropertyExifFocalLenIn35mmFilm$kCGImagePropertyExifFocalLength$kCGImagePropertyExifFocalPlaneResolutionUnit$kCGImagePropertyExifFocalPlaneXResolution$kCGImagePropertyExifFocalPlaneYResolution$kCGImagePropertyExifGainControl$kCGImagePropertyExifGamma$kCGImagePropertyExifISOSpeed$kCGImagePropertyExifISOSpeedLatitudeyyy$kCGImagePropertyExifISOSpeedLatitudezzz$kCGImagePropertyExifISOSpeedRatings$kCGImagePropertyExifImageUniqueID$kCGImagePropertyExifLensMake$kCGImagePropertyExifLensModel$kCGImagePropertyExifLensSerialNumber$kCGImagePropertyExifLensSpecification$kCGImagePropertyExifLightSource$kCGImagePropertyExifMakerNote$kCGImagePropertyExifMaxApertureValue$kCGImagePropertyExifMeteringMode$kCGImagePropertyExifOECF$kCGImagePropertyExifOffsetTime$kCGImagePropertyExifOffsetTimeDigitized$kCGImagePropertyExifOffsetTimeOriginal$kCGImagePropertyExifPixelXDimension$kCGImagePropertyExifPixelYDimension$kCGImagePropertyExifRecommendedExposureIndex$kCGImagePropertyExifRelatedSoundFile$kCGImagePropertyExifSaturation$kCGImagePropertyExifSceneCaptureType$kCGImagePropertyExifSceneType$kCGImagePropertyExifSensingMethod$kCGImagePropertyExifSensitivityType$kCGImagePropertyExifSharpness$kCGImagePropertyExifShutterSpeedValue$kCGImagePropertyExifSourceExposureTimesOfCompositeImage$kCGImagePropertyExifSourceImageNumberOfCompositeImage$kCGImagePropertyExifSpatialFrequencyResponse$kCGImagePropertyExifSpectralSensitivity$kCGImagePropertyExifStandardOutputSensitivity$kCGImagePropertyExifSubjectArea$kCGImagePropertyExifSubjectDistRange$kCGImagePropertyExifSubjectDistance$kCGImagePropertyExifSubjectLocation$kCGImagePropertyExifSubsecTime$kCGImagePropertyExifSubsecTimeDigitized$kCGImagePropertyExifSubsecTimeOrginal$kCGImagePropertyExifSubsecTimeOriginal$kCGImagePropertyExifUserComment$kCGImagePropertyExifVersion$kCGImagePropertyExifWhiteBalance$kCGImagePropertyFileContentsDictionary$kCGImagePropertyFileSize$kCGImagePropertyGIFCanvasPixelHeight$kCGImagePropertyGIFCanvasPixelWidth$kCGImagePropertyGIFDelayTime$kCGImagePropertyGIFDictionary$kCGImagePropertyGIFFrameInfoArray$kCGImagePropertyGIFHasGlobalColorMap$kCGImagePropertyGIFImageColorMap$kCGImagePropertyGIFLoopCount$kCGImagePropertyGIFUnclampedDelayTime$kCGImagePropertyGPSAltitude$kCGImagePropertyGPSAltitudeRef$kCGImagePropertyGPSAreaInformation$kCGImagePropertyGPSDOP$kCGImagePropertyGPSDateStamp$kCGImagePropertyGPSDestBearing$kCGImagePropertyGPSDestBearingRef$kCGImagePropertyGPSDestDistance$kCGImagePropertyGPSDestDistanceRef$kCGImagePropertyGPSDestLatitude$kCGImagePropertyGPSDestLatitudeRef$kCGImagePropertyGPSDestLongitude$kCGImagePropertyGPSDestLongitudeRef$kCGImagePropertyGPSDictionary$kCGImagePropertyGPSDifferental$kCGImagePropertyGPSHPositioningError$kCGImagePropertyGPSImgDirection$kCGImagePropertyGPSImgDirectionRef$kCGImagePropertyGPSLatitude$kCGImagePropertyGPSLatitudeRef$kCGImagePropertyGPSLongitude$kCGImagePropertyGPSLongitudeRef$kCGImagePropertyGPSMapDatum$kCGImagePropertyGPSMeasureMode$kCGImagePropertyGPSProcessingMethod$kCGImagePropertyGPSSatellites$kCGImagePropertyGPSSpeed$kCGImagePropertyGPSSpeedRef$kCGImagePropertyGPSStatus$kCGImagePropertyGPSTimeStamp$kCGImagePropertyGPSTrack$kCGImagePropertyGPSTrackRef$kCGImagePropertyGPSVersion$kCGImagePropertyGroupImageIndexLeft$kCGImagePropertyGroupImageIndexRight$kCGImagePropertyGroupImageIsAlternateImage$kCGImagePropertyGroupImageIsLeftImage$kCGImagePropertyGroupImageIsRightImage$kCGImagePropertyGroupImagesAlternate$kCGImagePropertyGroupIndex$kCGImagePropertyGroupType$kCGImagePropertyGroupTypeAlternate$kCGImagePropertyGroupTypeStereoPair$kCGImagePropertyGroups$kCGImagePropertyHEICSCanvasPixelHeight$kCGImagePropertyHEICSCanvasPixelWidth$kCGImagePropertyHEICSDelayTime$kCGImagePropertyHEICSDictionary$kCGImagePropertyHEICSFrameInfoArray$kCGImagePropertyHEICSLoopCount$kCGImagePropertyHEICSUnclampedDelayTime$kCGImagePropertyHasAlpha$kCGImagePropertyHeight$kCGImagePropertyIPTCActionAdvised$kCGImagePropertyIPTCByline$kCGImagePropertyIPTCBylineTitle$kCGImagePropertyIPTCCaptionAbstract$kCGImagePropertyIPTCCategory$kCGImagePropertyIPTCCity$kCGImagePropertyIPTCContact$kCGImagePropertyIPTCContactInfoAddress$kCGImagePropertyIPTCContactInfoCity$kCGImagePropertyIPTCContactInfoCountry$kCGImagePropertyIPTCContactInfoEmails$kCGImagePropertyIPTCContactInfoPhones$kCGImagePropertyIPTCContactInfoPostalCode$kCGImagePropertyIPTCContactInfoStateProvince$kCGImagePropertyIPTCContactInfoWebURLs$kCGImagePropertyIPTCContentLocationCode$kCGImagePropertyIPTCContentLocationName$kCGImagePropertyIPTCCopyrightNotice$kCGImagePropertyIPTCCountryPrimaryLocationCode$kCGImagePropertyIPTCCountryPrimaryLocationName$kCGImagePropertyIPTCCreatorContactInfo$kCGImagePropertyIPTCCredit$kCGImagePropertyIPTCDateCreated$kCGImagePropertyIPTCDictionary$kCGImagePropertyIPTCDigitalCreationDate$kCGImagePropertyIPTCDigitalCreationTime$kCGImagePropertyIPTCEditStatus$kCGImagePropertyIPTCEditorialUpdate$kCGImagePropertyIPTCExpirationDate$kCGImagePropertyIPTCExpirationTime$kCGImagePropertyIPTCExtAboutCvTerm$kCGImagePropertyIPTCExtAboutCvTermCvId$kCGImagePropertyIPTCExtAboutCvTermId$kCGImagePropertyIPTCExtAboutCvTermName$kCGImagePropertyIPTCExtAboutCvTermRefinedAbout$kCGImagePropertyIPTCExtAddlModelInfo$kCGImagePropertyIPTCExtArtworkCircaDateCreated$kCGImagePropertyIPTCExtArtworkContentDescription$kCGImagePropertyIPTCExtArtworkContributionDescription$kCGImagePropertyIPTCExtArtworkCopyrightNotice$kCGImagePropertyIPTCExtArtworkCopyrightOwnerID$kCGImagePropertyIPTCExtArtworkCopyrightOwnerName$kCGImagePropertyIPTCExtArtworkCreator$kCGImagePropertyIPTCExtArtworkCreatorID$kCGImagePropertyIPTCExtArtworkDateCreated$kCGImagePropertyIPTCExtArtworkLicensorID$kCGImagePropertyIPTCExtArtworkLicensorName$kCGImagePropertyIPTCExtArtworkOrObject$kCGImagePropertyIPTCExtArtworkPhysicalDescription$kCGImagePropertyIPTCExtArtworkSource$kCGImagePropertyIPTCExtArtworkSourceInvURL$kCGImagePropertyIPTCExtArtworkSourceInventoryNo$kCGImagePropertyIPTCExtArtworkStylePeriod$kCGImagePropertyIPTCExtArtworkTitle$kCGImagePropertyIPTCExtAudioBitrate$kCGImagePropertyIPTCExtAudioBitrateMode$kCGImagePropertyIPTCExtAudioChannelCount$kCGImagePropertyIPTCExtCircaDateCreated$kCGImagePropertyIPTCExtContainerFormat$kCGImagePropertyIPTCExtContainerFormatIdentifier$kCGImagePropertyIPTCExtContainerFormatName$kCGImagePropertyIPTCExtContributor$kCGImagePropertyIPTCExtContributorIdentifier$kCGImagePropertyIPTCExtContributorName$kCGImagePropertyIPTCExtContributorRole$kCGImagePropertyIPTCExtControlledVocabularyTerm$kCGImagePropertyIPTCExtCopyrightYear$kCGImagePropertyIPTCExtCreator$kCGImagePropertyIPTCExtCreatorIdentifier$kCGImagePropertyIPTCExtCreatorName$kCGImagePropertyIPTCExtCreatorRole$kCGImagePropertyIPTCExtDataOnScreen$kCGImagePropertyIPTCExtDataOnScreenRegion$kCGImagePropertyIPTCExtDataOnScreenRegionD$kCGImagePropertyIPTCExtDataOnScreenRegionH$kCGImagePropertyIPTCExtDataOnScreenRegionText$kCGImagePropertyIPTCExtDataOnScreenRegionUnit$kCGImagePropertyIPTCExtDataOnScreenRegionW$kCGImagePropertyIPTCExtDataOnScreenRegionX$kCGImagePropertyIPTCExtDataOnScreenRegionY$kCGImagePropertyIPTCExtDigitalImageGUID$kCGImagePropertyIPTCExtDigitalSourceFileType$kCGImagePropertyIPTCExtDigitalSourceType$kCGImagePropertyIPTCExtDopesheet$kCGImagePropertyIPTCExtDopesheetLink$kCGImagePropertyIPTCExtDopesheetLinkLink$kCGImagePropertyIPTCExtDopesheetLinkLinkQualifier$kCGImagePropertyIPTCExtEmbdEncRightsExpr$kCGImagePropertyIPTCExtEmbeddedEncodedRightsExpr$kCGImagePropertyIPTCExtEmbeddedEncodedRightsExprLangID$kCGImagePropertyIPTCExtEmbeddedEncodedRightsExprType$kCGImagePropertyIPTCExtEpisode$kCGImagePropertyIPTCExtEpisodeIdentifier$kCGImagePropertyIPTCExtEpisodeName$kCGImagePropertyIPTCExtEpisodeNumber$kCGImagePropertyIPTCExtEvent$kCGImagePropertyIPTCExtExternalMetadataLink$kCGImagePropertyIPTCExtFeedIdentifier$kCGImagePropertyIPTCExtGenre$kCGImagePropertyIPTCExtGenreCvId$kCGImagePropertyIPTCExtGenreCvTermId$kCGImagePropertyIPTCExtGenreCvTermName$kCGImagePropertyIPTCExtGenreCvTermRefinedAbout$kCGImagePropertyIPTCExtHeadline$kCGImagePropertyIPTCExtIPTCLastEdited$kCGImagePropertyIPTCExtLinkedEncRightsExpr$kCGImagePropertyIPTCExtLinkedEncodedRightsExpr$kCGImagePropertyIPTCExtLinkedEncodedRightsExprLangID$kCGImagePropertyIPTCExtLinkedEncodedRightsExprType$kCGImagePropertyIPTCExtLocationCity$kCGImagePropertyIPTCExtLocationCountryCode$kCGImagePropertyIPTCExtLocationCountryName$kCGImagePropertyIPTCExtLocationCreated$kCGImagePropertyIPTCExtLocationGPSAltitude$kCGImagePropertyIPTCExtLocationGPSLatitude$kCGImagePropertyIPTCExtLocationGPSLongitude$kCGImagePropertyIPTCExtLocationIdentifier$kCGImagePropertyIPTCExtLocationLocationId$kCGImagePropertyIPTCExtLocationLocationName$kCGImagePropertyIPTCExtLocationProvinceState$kCGImagePropertyIPTCExtLocationShown$kCGImagePropertyIPTCExtLocationSublocation$kCGImagePropertyIPTCExtLocationWorldRegion$kCGImagePropertyIPTCExtMaxAvailHeight$kCGImagePropertyIPTCExtMaxAvailWidth$kCGImagePropertyIPTCExtModelAge$kCGImagePropertyIPTCExtOrganisationInImageCode$kCGImagePropertyIPTCExtOrganisationInImageName$kCGImagePropertyIPTCExtPersonHeard$kCGImagePropertyIPTCExtPersonHeardIdentifier$kCGImagePropertyIPTCExtPersonHeardName$kCGImagePropertyIPTCExtPersonInImage$kCGImagePropertyIPTCExtPersonInImageCharacteristic$kCGImagePropertyIPTCExtPersonInImageCvTermCvId$kCGImagePropertyIPTCExtPersonInImageCvTermId$kCGImagePropertyIPTCExtPersonInImageCvTermName$kCGImagePropertyIPTCExtPersonInImageCvTermRefinedAbout$kCGImagePropertyIPTCExtPersonInImageDescription$kCGImagePropertyIPTCExtPersonInImageId$kCGImagePropertyIPTCExtPersonInImageName$kCGImagePropertyIPTCExtPersonInImageWDetails$kCGImagePropertyIPTCExtProductInImage$kCGImagePropertyIPTCExtProductInImageDescription$kCGImagePropertyIPTCExtProductInImageGTIN$kCGImagePropertyIPTCExtProductInImageName$kCGImagePropertyIPTCExtPublicationEvent$kCGImagePropertyIPTCExtPublicationEventDate$kCGImagePropertyIPTCExtPublicationEventIdentifier$kCGImagePropertyIPTCExtPublicationEventName$kCGImagePropertyIPTCExtRating$kCGImagePropertyIPTCExtRatingRatingRegion$kCGImagePropertyIPTCExtRatingRegionCity$kCGImagePropertyIPTCExtRatingRegionCountryCode$kCGImagePropertyIPTCExtRatingRegionCountryName$kCGImagePropertyIPTCExtRatingRegionGPSAltitude$kCGImagePropertyIPTCExtRatingRegionGPSLatitude$kCGImagePropertyIPTCExtRatingRegionGPSLongitude$kCGImagePropertyIPTCExtRatingRegionIdentifier$kCGImagePropertyIPTCExtRatingRegionLocationId$kCGImagePropertyIPTCExtRatingRegionLocationName$kCGImagePropertyIPTCExtRatingRegionProvinceState$kCGImagePropertyIPTCExtRatingRegionSublocation$kCGImagePropertyIPTCExtRatingRegionWorldRegion$kCGImagePropertyIPTCExtRatingScaleMaxValue$kCGImagePropertyIPTCExtRatingScaleMinValue$kCGImagePropertyIPTCExtRatingSourceLink$kCGImagePropertyIPTCExtRatingValue$kCGImagePropertyIPTCExtRatingValueLogoLink$kCGImagePropertyIPTCExtRegistryEntryRole$kCGImagePropertyIPTCExtRegistryID$kCGImagePropertyIPTCExtRegistryItemID$kCGImagePropertyIPTCExtRegistryOrganisationID$kCGImagePropertyIPTCExtReleaseReady$kCGImagePropertyIPTCExtSeason$kCGImagePropertyIPTCExtSeasonIdentifier$kCGImagePropertyIPTCExtSeasonName$kCGImagePropertyIPTCExtSeasonNumber$kCGImagePropertyIPTCExtSeries$kCGImagePropertyIPTCExtSeriesIdentifier$kCGImagePropertyIPTCExtSeriesName$kCGImagePropertyIPTCExtShownEvent$kCGImagePropertyIPTCExtShownEventIdentifier$kCGImagePropertyIPTCExtShownEventName$kCGImagePropertyIPTCExtStorylineIdentifier$kCGImagePropertyIPTCExtStreamReady$kCGImagePropertyIPTCExtStylePeriod$kCGImagePropertyIPTCExtSupplyChainSource$kCGImagePropertyIPTCExtSupplyChainSourceIdentifier$kCGImagePropertyIPTCExtSupplyChainSourceName$kCGImagePropertyIPTCExtTemporalCoverage$kCGImagePropertyIPTCExtTemporalCoverageFrom$kCGImagePropertyIPTCExtTemporalCoverageTo$kCGImagePropertyIPTCExtTranscript$kCGImagePropertyIPTCExtTranscriptLink$kCGImagePropertyIPTCExtTranscriptLinkLink$kCGImagePropertyIPTCExtTranscriptLinkLinkQualifier$kCGImagePropertyIPTCExtVideoBitrate$kCGImagePropertyIPTCExtVideoBitrateMode$kCGImagePropertyIPTCExtVideoDisplayAspectRatio$kCGImagePropertyIPTCExtVideoEncodingProfile$kCGImagePropertyIPTCExtVideoShotType$kCGImagePropertyIPTCExtVideoShotTypeIdentifier$kCGImagePropertyIPTCExtVideoShotTypeName$kCGImagePropertyIPTCExtVideoStreamsCount$kCGImagePropertyIPTCExtVisualColor$kCGImagePropertyIPTCExtWorkflowTag$kCGImagePropertyIPTCExtWorkflowTagCvId$kCGImagePropertyIPTCExtWorkflowTagCvTermId$kCGImagePropertyIPTCExtWorkflowTagCvTermName$kCGImagePropertyIPTCExtWorkflowTagCvTermRefinedAbout$kCGImagePropertyIPTCFixtureIdentifier$kCGImagePropertyIPTCHeadline$kCGImagePropertyIPTCImageOrientation$kCGImagePropertyIPTCImageType$kCGImagePropertyIPTCKeywords$kCGImagePropertyIPTCLanguageIdentifier$kCGImagePropertyIPTCObjectAttributeReference$kCGImagePropertyIPTCObjectCycle$kCGImagePropertyIPTCObjectName$kCGImagePropertyIPTCObjectTypeReference$kCGImagePropertyIPTCOriginalTransmissionReference$kCGImagePropertyIPTCOriginatingProgram$kCGImagePropertyIPTCProgramVersion$kCGImagePropertyIPTCProvinceState$kCGImagePropertyIPTCReferenceDate$kCGImagePropertyIPTCReferenceNumber$kCGImagePropertyIPTCReferenceService$kCGImagePropertyIPTCReleaseDate$kCGImagePropertyIPTCReleaseTime$kCGImagePropertyIPTCRightsUsageTerms$kCGImagePropertyIPTCScene$kCGImagePropertyIPTCSource$kCGImagePropertyIPTCSpecialInstructions$kCGImagePropertyIPTCStarRating$kCGImagePropertyIPTCSubLocation$kCGImagePropertyIPTCSubjectReference$kCGImagePropertyIPTCSupplementalCategory$kCGImagePropertyIPTCTimeCreated$kCGImagePropertyIPTCUrgency$kCGImagePropertyIPTCWriterEditor$kCGImagePropertyImageCount$kCGImagePropertyImageIndex$kCGImagePropertyImages$kCGImagePropertyIsFloat$kCGImagePropertyIsIndexed$kCGImagePropertyIsSticker$kCGImagePropertyJFIFDensityUnit$kCGImagePropertyJFIFDictionary$kCGImagePropertyJFIFIsProgressive$kCGImagePropertyJFIFVersion$kCGImagePropertyJFIFXDensity$kCGImagePropertyJFIFYDensity$kCGImagePropertyMakerAppleDictionary$kCGImagePropertyMakerCanonAspectRatioInfo$kCGImagePropertyMakerCanonCameraSerialNumber$kCGImagePropertyMakerCanonContinuousDrive$kCGImagePropertyMakerCanonDictionary$kCGImagePropertyMakerCanonFirmware$kCGImagePropertyMakerCanonFlashExposureComp$kCGImagePropertyMakerCanonImageSerialNumber$kCGImagePropertyMakerCanonLensModel$kCGImagePropertyMakerCanonOwnerName$kCGImagePropertyMakerFujiDictionary$kCGImagePropertyMakerMinoltaDictionary$kCGImagePropertyMakerNikonCameraSerialNumber$kCGImagePropertyMakerNikonColorMode$kCGImagePropertyMakerNikonDictionary$kCGImagePropertyMakerNikonDigitalZoom$kCGImagePropertyMakerNikonFlashExposureComp$kCGImagePropertyMakerNikonFlashSetting$kCGImagePropertyMakerNikonFocusDistance$kCGImagePropertyMakerNikonFocusMode$kCGImagePropertyMakerNikonISOSelection$kCGImagePropertyMakerNikonISOSetting$kCGImagePropertyMakerNikonImageAdjustment$kCGImagePropertyMakerNikonLensAdapter$kCGImagePropertyMakerNikonLensInfo$kCGImagePropertyMakerNikonLensType$kCGImagePropertyMakerNikonQuality$kCGImagePropertyMakerNikonSharpenMode$kCGImagePropertyMakerNikonShootingMode$kCGImagePropertyMakerNikonShutterCount$kCGImagePropertyMakerNikonWhiteBalanceMode$kCGImagePropertyMakerOlympusDictionary$kCGImagePropertyMakerPentaxDictionary$kCGImagePropertyNamedColorSpace$kCGImagePropertyOpenEXRAspectRatio$kCGImagePropertyOpenEXRDictionary$kCGImagePropertyOrientation$kCGImagePropertyPNGAuthor$kCGImagePropertyPNGChromaticities$kCGImagePropertyPNGComment$kCGImagePropertyPNGCompressionFilter$kCGImagePropertyPNGCopyright$kCGImagePropertyPNGCreationTime$kCGImagePropertyPNGDescription$kCGImagePropertyPNGDictionary$kCGImagePropertyPNGDisclaimer$kCGImagePropertyPNGGamma$kCGImagePropertyPNGInterlaceType$kCGImagePropertyPNGModificationTime$kCGImagePropertyPNGPixelsAspectRatio$kCGImagePropertyPNGSoftware$kCGImagePropertyPNGSource$kCGImagePropertyPNGTitle$kCGImagePropertyPNGTransparency$kCGImagePropertyPNGWarning$kCGImagePropertyPNGXPixelsPerMeter$kCGImagePropertyPNGYPixelsPerMeter$kCGImagePropertyPNGsRGBIntent$kCGImagePropertyPixelFormat$kCGImagePropertyPixelHeight$kCGImagePropertyPixelWidth$kCGImagePropertyPrimaryImage$kCGImagePropertyProfileName$kCGImagePropertyRawDictionary$kCGImagePropertyTGACompression$kCGImagePropertyTGADictionary$kCGImagePropertyTIFFArtist$kCGImagePropertyTIFFCompression$kCGImagePropertyTIFFCopyright$kCGImagePropertyTIFFDateTime$kCGImagePropertyTIFFDictionary$kCGImagePropertyTIFFDocumentName$kCGImagePropertyTIFFHostComputer$kCGImagePropertyTIFFImageDescription$kCGImagePropertyTIFFMake$kCGImagePropertyTIFFModel$kCGImagePropertyTIFFOrientation$kCGImagePropertyTIFFPhotometricInterpretation$kCGImagePropertyTIFFPrimaryChromaticities$kCGImagePropertyTIFFResolutionUnit$kCGImagePropertyTIFFSoftware$kCGImagePropertyTIFFTileLength$kCGImagePropertyTIFFTileWidth$kCGImagePropertyTIFFTransferFunction$kCGImagePropertyTIFFWhitePoint$kCGImagePropertyTIFFXResolution$kCGImagePropertyTIFFYResolution$kCGImagePropertyThumbnailImages$kCGImagePropertyWebPCanvasPixelHeight$kCGImagePropertyWebPCanvasPixelWidth$kCGImagePropertyWebPDelayTime$kCGImagePropertyWebPDictionary$kCGImagePropertyWebPFrameInfoArray$kCGImagePropertyWebPLoopCount$kCGImagePropertyWebPUnclampedDelayTime$kCGImagePropertyWidth$kCGImageSourceCreateThumbnailFromImageAlways$kCGImageSourceCreateThumbnailFromImageIfAbsent$kCGImageSourceCreateThumbnailWithTransform$kCGImageSourceShouldAllowFloat$kCGImageSourceShouldCache$kCGImageSourceShouldCacheImmediately$kCGImageSourceSubsampleFactor$kCGImageSourceThumbnailMaxPixelSize$kCGImageSourceTypeIdentifierHint$""" -enums = """$IIO_HAS_IOSURFACE@1$IMAGEIO_PNG_ALL_FILTERS@248$IMAGEIO_PNG_FILTER_AVG@64$IMAGEIO_PNG_FILTER_NONE@8$IMAGEIO_PNG_FILTER_PAETH@128$IMAGEIO_PNG_FILTER_SUB@16$IMAGEIO_PNG_FILTER_UP@32$IMAGEIO_PNG_NO_FILTERS@0$kCGImageAnimationStatus_AllocationFailure@-22144$kCGImageAnimationStatus_CorruptInputImage@-22141$kCGImageAnimationStatus_IncompleteInputImage@-22143$kCGImageAnimationStatus_ParameterError@-22140$kCGImageAnimationStatus_UnsupportedFormat@-22142$kCGImageMetadataErrorBadArgument@2$kCGImageMetadataErrorConflictingArguments@3$kCGImageMetadataErrorPrefixConflict@4$kCGImageMetadataErrorUnknown@0$kCGImageMetadataErrorUnsupportedFormat@1$kCGImageMetadataTypeAlternateArray@4$kCGImageMetadataTypeAlternateText@5$kCGImageMetadataTypeArrayOrdered@3$kCGImageMetadataTypeArrayUnordered@2$kCGImageMetadataTypeDefault@0$kCGImageMetadataTypeInvalid@-1$kCGImageMetadataTypeString@1$kCGImageMetadataTypeStructure@6$kCGImagePropertyOrientationDown@3$kCGImagePropertyOrientationDownMirrored@4$kCGImagePropertyOrientationLeft@8$kCGImagePropertyOrientationLeftMirrored@5$kCGImagePropertyOrientationRight@6$kCGImagePropertyOrientationRightMirrored@7$kCGImagePropertyOrientationUp@1$kCGImagePropertyOrientationUpMirrored@2$kCGImageStatusComplete@0$kCGImageStatusIncomplete@-1$kCGImageStatusInvalidData@-4$kCGImageStatusReadingHeader@-2$kCGImageStatusUnexpectedEOF@-5$kCGImageStatusUnknownType@-3$kCGImageTGACompressionNone@0$kCGImageTGACompressionRLE@1$""" -misc.update( - { - "CGImageMetadataErrors": NewType("CGImageMetadataErrors", int), - "CGImageMetadataType": NewType("CGImageMetadataType", int), - "CGImagePropertyOrientation": NewType("CGImagePropertyOrientation", int), - "CGImageAnimationStatus": NewType("CGImageAnimationStatus", int), - "CGImagePropertyTGACompression": NewType("CGImagePropertyTGACompression", int), - "CGImageSourceStatus": NewType("CGImageSourceStatus", int), - } -) -misc.update({}) -functions = { - "CGImageMetadataSetValueMatchingImageProperty": ( - b"B^{CGImageMetadata=}^{__CFString=}^{__CFString=}@", - ), - "CGImageMetadataCreateFromXMPData": ( - b"^{CGImageMetadata=}^{__CFData=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceGetCount": (b"Q^{CGImageSource=}",), - "CGImageSourceCreateWithData": ( - b"^{CGImageSource=}^{__CFData=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCopyTypeIdentifiers": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataCopyTagWithPath": ( - b"^{CGImageMetadataTag=}^{CGImageMetadata=}^{CGImageMetadataTag=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataGetTypeID": (b"Q",), - "CGImageDestinationAddAuxiliaryDataInfo": ( - b"v^{CGImageDestination=}^{__CFString=}^{__CFDictionary=}", - ), - "CGImageMetadataTagGetType": (b"i^{CGImageMetadataTag=}",), - "CGImageSourceGetStatus": (b"i^{CGImageSource=}",), - "CGImageMetadataCreateXMPData": ( - b"^{__CFData=}^{CGImageMetadata=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCreateImageAtIndex": ( - b"^{CGImage=}^{CGImageSource=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataTagCopyNamespace": ( - b"^{__CFString=}^{CGImageMetadataTag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCopyMetadataAtIndex": ( - b"^{CGImageMetadata=}^{CGImageSource=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageDestinationCreateWithURL": ( - b"^{CGImageDestination=}^{__CFURL=}^{__CFString=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceRemoveCacheAtIndex": (b"v^{CGImageSource=}Q",), - "CGImageSourceCreateThumbnailAtIndex": ( - b"^{CGImage=}^{CGImageSource=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCreateIncremental": ( - b"^{CGImageSource=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCopyPropertiesAtIndex": ( - b"^{__CFDictionary=}^{CGImageSource=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceUpdateData": (b"v^{CGImageSource=}^{__CFData=}B",), - "CGImageDestinationSetProperties": (b"v^{CGImageDestination=}^{__CFDictionary=}",), - "CGImageMetadataSetTagWithPath": ( - b"B^{CGImageMetadata=}^{CGImageMetadataTag=}^{__CFString=}^{CGImageMetadataTag=}", - ), - "CGAnimateImageAtURLWithBlock": ( - b"i^{__CFURL=}^{__CFDictionary=}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "l"}, - 2: {"type": "@"}, - 3: {"type": "o^B"}, - }, - } - } - } - }, - ), - "CGImageDestinationCreateWithDataConsumer": ( - b"^{CGImageDestination=}^{CGDataConsumer=}^{__CFString=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageDestinationCopyTypeIdentifiers": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageDestinationCreateWithData": ( - b"^{CGImageDestination=}^{__CFData=}^{__CFString=}Q^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCopyAuxiliaryDataInfoAtIndex": ( - b"^{__CFDictionary=}^{CGImageSource=}Q^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGAnimateImageDataWithBlock": ( - b"i^{__CFData=}^{__CFDictionary=}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "l"}, - 2: {"type": "@"}, - 3: {"type": "o^B"}, - }, - } - } - } - }, - ), - "CGImageSourceGetTypeID": (b"Q",), - "CGImageDestinationAddImageAndMetadata": ( - b"v^{CGImageDestination=}^{CGImage=}^{CGImageMetadata=}^{__CFDictionary=}", - ), - "CGImageMetadataTagCreate": ( - b"^{CGImageMetadataTag=}^{__CFString=}^{__CFString=}^{__CFString=}i@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageDestinationCopyImageSource": ( - b"B^{CGImageDestination=}^{CGImageSource=}^{__CFDictionary=}^^{__CFError=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - }, - }, - ), - "CGImageSourceUpdateDataProvider": (b"v^{CGImageSource=}^{CGDataProvider=}B",), - "CGImageDestinationAddImage": ( - b"v^{CGImageDestination=}^{CGImage=}^{__CFDictionary=}", - ), - "CGImageMetadataRemoveTagWithPath": ( - b"B^{CGImageMetadata=}^{CGImageMetadataTag=}^{__CFString=}", - ), - "CGImageSourceGetStatusAtIndex": (b"i^{CGImageSource=}Q",), - "CGImageSourceCreateWithURL": ( - b"^{CGImageSource=}^{__CFURL=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataTagCopyValue": ( - b"@^{CGImageMetadataTag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataCopyTags": ( - b"^{__CFArray=}^{CGImageMetadata=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataCopyStringValueWithPath": ( - b"^{__CFString=}^{CGImageMetadata=}^{CGImageMetadataTag=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceGetType": (b"^{__CFString=}^{CGImageSource=}",), - "CGImageDestinationAddImageFromSource": ( - b"v^{CGImageDestination=}^{CGImageSource=}Q^{__CFDictionary=}", - ), - "CGImageDestinationGetTypeID": (b"Q",), - "CGImageDestinationFinalize": (b"B^{CGImageDestination=}",), - "CGImageSourceGetPrimaryImageIndex": (b"Q^{CGImageSource=}",), - "CGImageSourceCopyProperties": ( - b"^{__CFDictionary=}^{CGImageSource=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataTagGetTypeID": (b"Q",), - "CGImageMetadataSetValueWithPath": ( - b"B^{CGImageMetadata=}^{CGImageMetadataTag=}^{__CFString=}@", - ), - "CGImageMetadataCopyTagMatchingImageProperty": ( - b"^{CGImageMetadataTag=}^{CGImageMetadata=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataRegisterNamespaceForPrefix": ( - b"B^{CGImageMetadata=}^{__CFString=}^{__CFString=}^^{__CFError=}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "CGImageMetadataTagCopyPrefix": ( - b"^{__CFString=}^{CGImageMetadataTag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataTagCopyName": ( - b"^{__CFString=}^{CGImageMetadataTag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataEnumerateTagsUsingBlock": ( - b"v^{CGImageMetadata=}^{__CFString=}^{__CFDictionary=}@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "CGImageMetadataCreateMutable": ( - b"^{CGImageMetadata=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageSourceCreateWithDataProvider": ( - b"^{CGImageSource=}^{CGDataProvider=}^{__CFDictionary=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataTagCopyQualifiers": ( - b"^{__CFArray=}^{CGImageMetadataTag=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CGImageMetadataCreateMutableCopy": ( - b"^{CGImageMetadata=}^{CGImageMetadata=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -aliases = { - "IMAGEIO_AVAILABLE_STARTING": "__OSX_AVAILABLE_STARTING", - "IMAGEIO_AVAILABLE_BUT_DEPRECATED": "__OSX_AVAILABLE_BUT_DEPRECATED", - "_iio_Nullable": "_Nullable", - "_iio_Nonnull": "_Nonnull", -} -cftypes = [ - ("CGImageSourceRef", b"^{CGImageSource=}", "CGImageSourceGetTypeID", None), - ( - "CGImageDestinationRef", - b"^{CGImageDestination=}", - "CGImageDestinationGetTypeID", - None, - ), - ( - "CGImageMetadataTagRef", - b"^{CGImageMetadataTag=}", - "CGImageMetadataTagGetTypeID", - None, - ), - ("CGImageMetadataRef", b"^{CGImageMetadata=}", "CGImageMetadataGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/ImageKit/__init__.py b/src/lib/Quartz/ImageKit/__init__.py deleted file mode 100644 index 46cdf04..0000000 --- a/src/lib/Quartz/ImageKit/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Python mapping for the ImageKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Cocoa -import objc -from Quartz.ImageKit import _metadata -from Quartz.ImageKit import _imagekit - -objc.addConvenienceForBasicMapping("IKImageBrowserGridGroup", False) -objc.addConvenienceForBasicMapping("IKImageCell", False) -objc.addConvenienceForBasicMapping("IKImageState", False) -objc.addConvenienceForBasicSequence("IKLinkedList", True) - -sys.modules["Quartz.ImageKit"] = mod = objc.ObjCLazyModule( - "Quartz.ImageKit", - "com.apple.imageKit", - objc.pathForFramework( - "/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_imagekit, Cocoa), -) - - -del sys.modules["Quartz.ImageKit._metadata"] diff --git a/src/lib/Quartz/ImageKit/_metadata.py b/src/lib/Quartz/ImageKit/_metadata.py deleted file mode 100644 index 29b1e67..0000000 --- a/src/lib/Quartz/ImageKit/_metadata.py +++ /dev/null @@ -1,649 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$IKFilterBrowserDefaultInputImage$IKFilterBrowserExcludeCategories$IKFilterBrowserExcludeFilters$IKFilterBrowserFilterDoubleClickNotification$IKFilterBrowserFilterSelectedNotification$IKFilterBrowserShowCategories$IKFilterBrowserShowPreview$IKFilterBrowserWillPreviewFilterNotification$IKImageBrowserBackgroundColorKey$IKImageBrowserCGImageRepresentationType$IKImageBrowserCGImageSourceRepresentationType$IKImageBrowserCellBackgroundLayer$IKImageBrowserCellForegroundLayer$IKImageBrowserCellLayerTypeBackground$IKImageBrowserCellLayerTypeForeground$IKImageBrowserCellLayerTypePlaceHolder$IKImageBrowserCellLayerTypeSelection$IKImageBrowserCellPlaceHolderLayer$IKImageBrowserCellSelectionLayer$IKImageBrowserCellsHighlightedTitleAttributesKey$IKImageBrowserCellsOutlineColorKey$IKImageBrowserCellsSubtitleAttributesKey$IKImageBrowserCellsTitleAttributesKey$IKImageBrowserGroupBackgroundColorKey$IKImageBrowserGroupFooterLayer$IKImageBrowserGroupHeaderLayer$IKImageBrowserGroupRangeKey$IKImageBrowserGroupStyleKey$IKImageBrowserGroupTitleKey$IKImageBrowserIconRefPathRepresentationType$IKImageBrowserIconRefRepresentationType$IKImageBrowserNSBitmapImageRepresentationType$IKImageBrowserNSDataRepresentationType$IKImageBrowserNSImageRepresentationType$IKImageBrowserNSURLRepresentationType$IKImageBrowserPDFPageRepresentationType$IKImageBrowserPathRepresentationType$IKImageBrowserQCCompositionPathRepresentationType$IKImageBrowserQCCompositionRepresentationType$IKImageBrowserQTMoviePathRepresentationType$IKImageBrowserQTMovieRepresentationType$IKImageBrowserQuickLookPathRepresentationType$IKImageBrowserSelectionColorKey$IKOverlayTypeBackground$IKOverlayTypeImage$IKPictureTakerAllowsEditingKey$IKPictureTakerAllowsFileChoosingKey$IKPictureTakerAllowsVideoCaptureKey$IKPictureTakerCropAreaSizeKey$IKPictureTakerImageTransformsKey$IKPictureTakerInformationalTextKey$IKPictureTakerOutputImageMaxSizeKey$IKPictureTakerRemainOpenAfterValidateKey$IKPictureTakerShowAddressBookPicture$IKPictureTakerShowAddressBookPictureKey$IKPictureTakerShowEffectsKey$IKPictureTakerShowEmptyPicture$IKPictureTakerShowEmptyPictureKey$IKPictureTakerShowRecentPictureKey$IKPictureTakerUpdateRecentPictureKey$IKSlideshowAudioFile$IKSlideshowModeImages$IKSlideshowModeOther$IKSlideshowModePDF$IKSlideshowPDFDisplayBox$IKSlideshowPDFDisplayMode$IKSlideshowPDFDisplaysAsBook$IKSlideshowScreen$IKSlideshowStartIndex$IKSlideshowStartPaused$IKSlideshowWrapAround$IKToolModeAnnotate$IKToolModeCrop$IKToolModeMove$IKToolModeNone$IKToolModeRotate$IKToolModeSelect$IKToolModeSelectEllipse$IKToolModeSelectLasso$IKToolModeSelectRect$IKUIFlavorAllowFallback$IKUISizeFlavor$IKUISizeMini$IKUISizeRegular$IKUISizeSmall$IKUImaxSize$IK_ApertureBundleIdentifier$IK_MailBundleIdentifier$IK_PhotosBundleIdentifier$IK_iPhotoBundleIdentifier$""" -enums = """$IKCameraDeviceViewDisplayModeIcon@1$IKCameraDeviceViewDisplayModeNone@-1$IKCameraDeviceViewDisplayModeTable@0$IKCameraDeviceViewTransferModeFileBased@0$IKCameraDeviceViewTransferModeMemoryBased@1$IKCellsStyleNone@0$IKCellsStyleOutlined@2$IKCellsStyleShadowed@1$IKCellsStyleSubtitled@8$IKCellsStyleTitled@4$IKDeviceBrowserViewDisplayModeIcon@2$IKDeviceBrowserViewDisplayModeOutline@1$IKDeviceBrowserViewDisplayModeTable@0$IKGroupBezelStyle@0$IKGroupDisclosureStyle@1$IKImageBrowserDropBefore@1$IKImageBrowserDropOn@0$IKImageStateInvalid@1$IKImageStateNoImage@0$IKImageStateReady@2$IKScannerDeviceViewDisplayModeAdvanced@1$IKScannerDeviceViewDisplayModeNone@-1$IKScannerDeviceViewDisplayModeSimple@0$IKScannerDeviceViewTransferModeFileBased@0$IKScannerDeviceViewTransferModeMemoryBased@1$""" -misc.update( - { - "IKScannerDeviceViewTransferMode": NewType( - "IKScannerDeviceViewTransferMode", int - ), - "IKCameraDeviceViewDisplayMode": NewType("IKCameraDeviceViewDisplayMode", int), - "IKScannerDeviceViewDisplayMode": NewType( - "IKScannerDeviceViewDisplayMode", int - ), - "IKCameraDeviceViewTransferMode": NewType( - "IKCameraDeviceViewTransferMode", int - ), - "IKDeviceBrowserViewDisplayMode": NewType( - "IKDeviceBrowserViewDisplayMode", int - ), - } -) -misc.update({}) -aliases = { - "IKImagePickerShowEffectsKey": "IKPictureTakerShowEffectsKey", - "IKImagePickerOutputImageMaxSizeKey": "IKPictureTakerOutputImageMaxSizeKey", - "IKImagePickerImageTransformsKey": "IKPictureTakerImageTransformsKey", - "IKImagePickerAllowsFileChoosingKey": "IKPictureTakerAllowsFileChoosingKey", - "IK_API_DEPRECATED": "API_DEPRECATED", - "IKImagePickerAllowsEditingKey": "IKPictureTakerAllowsEditingKey", - "IKImagePickerInformationalTextKey": "IKPictureTakerInformationalTextKey", - "IKImagePickerCropAreaSizeKey": "IKPictureTakerCropAreaSizeKey", - "IKImagePickerAllowsVideoCaptureKey": "IKPictureTakerAllowsVideoCaptureKey", - "IKImagePickerUpdateRecentPictureKey": "IKPictureTakerUpdateRecentPictureKey", - "IKImagePickerShowRecentPictureKey": "IKPictureTakerShowRecentPictureKey", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"IKCameraDeviceView", b"canDeleteSelectedItems", {"retval": {"type": b"Z"}}) - r(b"IKCameraDeviceView", b"canDownloadSelectedItems", {"retval": {"type": b"Z"}}) - r(b"IKCameraDeviceView", b"canRotateSelectedItemsLeft", {"retval": {"type": b"Z"}}) - r(b"IKCameraDeviceView", b"canRotateSelectedItemsRight", {"retval": {"type": b"Z"}}) - r( - b"IKCameraDeviceView", - b"displaysDownloadsDirectoryControl", - {"retval": {"type": b"Z"}}, - ) - r( - b"IKCameraDeviceView", - b"displaysPostProcessApplicationControl", - {"retval": {"type": b"Z"}}, - ) - r(b"IKCameraDeviceView", b"hasDisplayModeIcon", {"retval": {"type": b"Z"}}) - r(b"IKCameraDeviceView", b"hasDisplayModeTable", {"retval": {"type": b"Z"}}) - r( - b"IKCameraDeviceView", - b"selectIndexes:byExtendingSelection:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"IKCameraDeviceView", - b"setDisplaysDownloadsDirectoryControl:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKCameraDeviceView", - b"setDisplaysPostProcessApplicationControl:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKCameraDeviceView", - b"setHasDisplayModeIcon:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKCameraDeviceView", - b"setHasDisplayModeTable:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKCameraDeviceView", - b"setShowStatusInfoAsWindowSubtitle:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"IKDeviceBrowserView", b"displaysLocalCameras", {"retval": {"type": b"Z"}}) - r(b"IKDeviceBrowserView", b"displaysLocalScanners", {"retval": {"type": b"Z"}}) - r(b"IKDeviceBrowserView", b"displaysNetworkCameras", {"retval": {"type": b"Z"}}) - r(b"IKDeviceBrowserView", b"displaysNetworkScanners", {"retval": {"type": b"Z"}}) - r( - b"IKDeviceBrowserView", - b"setDisplaysLocalCameras:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKDeviceBrowserView", - b"setDisplaysLocalScanners:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKDeviceBrowserView", - b"setDisplaysNetworkCameras:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKDeviceBrowserView", - b"setDisplaysNetworkScanners:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKFilterBrowserPanel", - b"beginSheetWithOptions:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - {"arguments": {5: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r( - b"IKFilterBrowserPanel", - b"beginWithOptions:modelessDelegate:didEndSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r(b"IKFilterBrowserView", b"setPreviewState:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageBrowserCell", b"isSelected", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"allowsDroppingOnItems", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"allowsEmptySelection", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"allowsMultipleSelection", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"allowsReordering", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"animates", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"canControlQuickLookPanel", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"constrainsToOriginalSize", {"retval": {"type": b"Z"}}) - r(b"IKImageBrowserView", b"isGroupExpandedAtIndex:", {"retval": {"type": b"Z"}}) - r( - b"IKImageBrowserView", - b"setAllowsDroppingOnItems:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKImageBrowserView", - b"setAllowsEmptySelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKImageBrowserView", - b"setAllowsMultipleSelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKImageBrowserView", - b"setAllowsReordering:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"IKImageBrowserView", b"setAnimates:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"IKImageBrowserView", - b"setCanControlQuickLookPanel:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKImageBrowserView", - b"setConstrainsToOriginalSize:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKImageBrowserView", - b"setSelectionIndexes:byExtendingSelection:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"IKImagePicker", - b"beginImagePickerSheetForWindow:withDelegate:didEndSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@I^v", b"v@:@Q^v")}}}, - ) - r( - b"IKImagePicker", - b"beginImagePickerWithDelegate:didEndSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": sel32or64(b"v@:@I^v", b"v@:@Q^v")}}}, - ) - r(b"IKImageView", b"autohidesScrollers", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"autoresizes", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"doubleClickOpensImageEditPanel", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"editable", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"hasHorizontalScroller", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"hasVerticalScroller", {"retval": {"type": b"Z"}}) - r(b"IKImageView", b"setAutohidesScrollers:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageView", b"setAutoresizes:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"IKImageView", - b"setDoubleClickOpensImageEditPanel:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"IKImageView", b"setEditable:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageView", b"setHasHorizontalScroller:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageView", b"setHasVerticalScroller:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageView", b"setSupportsDragAndDrop:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKImageView", b"supportsDragAndDrop", {"retval": {"type": b"Z"}}) - r( - b"IKPictureTaker", - b"beginPictureTakerSheetForWindow:withDelegate:didEndSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r( - b"IKPictureTaker", - b"beginPictureTakerWithDelegate:didEndSelector:contextInfo:", - {"arguments": {3: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r(b"IKPictureTaker", b"mirroring", {"retval": {"type": b"Z"}}) - r( - b"IKPictureTaker", - b"popUpRecentsMenuForView:withDelegate:didEndSelector:contextInfo:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r(b"IKPictureTaker", b"setMirroring:", {"arguments": {2: {"type": b"Z"}}}) - r(b"IKSaveOptions", b"rememberLastSetting", {"retval": {"type": b"Z"}}) - r(b"IKSaveOptions", b"setRememberLastSetting:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"IKScannerDeviceView", - b"displaysDownloadsDirectoryControl", - {"retval": {"type": b"Z"}}, - ) - r( - b"IKScannerDeviceView", - b"displaysPostProcessApplicationControl", - {"retval": {"type": b"Z"}}, - ) - r(b"IKScannerDeviceView", b"hasDisplayModeAdvanced", {"retval": {"type": b"Z"}}) - r(b"IKScannerDeviceView", b"hasDisplayModeSimple", {"retval": {"type": b"Z"}}) - r( - b"IKScannerDeviceView", - b"setDisplaysDownloadsDirectoryControl:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKScannerDeviceView", - b"setDisplaysPostProcessApplicationControl:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKScannerDeviceView", - b"setHasDisplayModeAdvanced:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"IKScannerDeviceView", - b"setHasDisplayModeSimple:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"IKSlideshow", b"canExportToApplication:", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"cameraDeviceView:didDownloadFile:location:fileData:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"cameraDeviceView:didEncounterError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraDeviceViewSelectionDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"canExportSlideshowItemAtIndex:toApplication:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"Q"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowserView:didEncounterError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"deviceBrowserView:selectionDidChange:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"hasAdjustMode", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"hasDetailsMode", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"hasEffectsMode", {"required": False, "retval": {"type": b"Z"}}) - r(b"NSObject", b"image", {"required": True, "retval": {"type": b"^{CGImage=}"}}) - r( - b"NSObject", - b"imageBrowser:backgroundWasRightClickedWithEvent:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"imageBrowser:cellAtIndex:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"L"}}}, - ) - r( - b"NSObject", - b"imageBrowser:cellWasDoubleClickedAtIndex:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"imageBrowser:cellWasRightClickedAtIndex:withEvent:", - { - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"imageBrowser:groupAtIndex:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"imageBrowser:itemAtIndex:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"imageBrowser:moveCellsAtIndexes:toIndex:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"L"}}, - }, - ) - r( - b"NSObject", - b"imageBrowser:moveItemsAtIndexes:toIndex:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"imageBrowser:removeCellsAtIndexes:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"imageBrowser:removeItemsAtIndexes:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"imageBrowser:writeCellsAtIndexes:toPasteboard:", - { - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"imageBrowser:writeItemsAtIndexes:toPasteboard:", - { - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"imageBrowserSelectionDidChange:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"imageProperties", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"imageRepresentation", {"retval": {"type": b"@"}}) - r(b"NSObject", b"imageRepresentationType", {"retval": {"type": b"@"}}) - r(b"NSObject", b"imageSubtitle", {"retval": {"type": b"@"}}) - r(b"NSObject", b"imageTitle", {"retval": {"type": b"@"}}) - r(b"NSObject", b"imageUID", {"retval": {"type": b"@"}}) - r(b"NSObject", b"imageVersion", {"retval": {"type": b"Q"}}) - r(b"NSObject", b"isSelectable", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"nameOfSlideshowItemAtIndex:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r( - b"NSObject", - b"numberOfCellsInImageBrowser:", - {"retval": {"type": b"L"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfGroupsInImageBrowser:", - {"retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfItemsInImageBrowser:", - {"retval": {"type": b"Q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfSlideshowItems", - {"required": True, "retval": {"type": b"Q"}}, - ) - r( - b"NSObject", - b"provideViewForUIConfiguration:excludedKeys:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"saveOptions:shouldShowUTType:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"scannerDeviceView:didEncounterError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDeviceView:didScanToBandData:scanInfo:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"scannerDeviceView:didScanToURL:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"scannerDeviceView:didScanToURL:fileData:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"setImage:imageProperties:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"^{CGImage=}"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"slideshowDidChangeCurrentIndex:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"slideshowDidStop", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"slideshowItemAtIndex:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"Q"}}}, - ) - r(b"NSObject", b"slideshowWillStart", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"thumbnailWithMaximumSize:", - { - "required": False, - "retval": {"type": b"^{CGImage=}"}, - "arguments": {2: {"type": b"{CGSize=dd}"}}, - }, - ) - r(b"null", b"saveOptions:shouldShowUTType:", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "IKImageBrowserItem": objc.informal_protocol( - "IKImageBrowserItem", - [ - objc.selector(None, b"imageTitle", b"@@:", isRequired=False), - objc.selector(None, b"imageSubtitle", b"@@:", isRequired=False), - objc.selector(None, b"imageRepresentationType", b"@@:", isRequired=False), - objc.selector(None, b"imageUID", b"@@:", isRequired=False), - objc.selector(None, b"isSelectable", b"Z@:", isRequired=False), - objc.selector(None, b"imageVersion", b"Q@:", isRequired=False), - objc.selector(None, b"imageRepresentation", b"@@:", isRequired=False), - ], - ), - "IKImageBrowserDataSourceDeprecated": objc.informal_protocol( - "IKImageBrowserDataSourceDeprecated", - [ - objc.selector( - None, b"numberOfCellsInImageBrowser:", b"L@:@", isRequired=False - ), - objc.selector( - None, b"imageBrowser:cellAtIndex:", b"@@:@L", isRequired=False - ), - objc.selector( - None, b"imageBrowser:removeCellsAtIndexes:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"imageBrowser:moveCellsAtIndexes:toIndex:", - b"Z@:@@L", - isRequired=False, - ), - objc.selector( - None, - b"imageBrowser:writeCellsAtIndexes:toPasteboard:", - b"v@:@@@", - isRequired=False, - ), - ], - ), - "IKSaveOptionsDelegate": objc.informal_protocol( - "IKSaveOptionsDelegate", - [ - objc.selector( - None, b"saveOptions:shouldShowUTType:", b"Z@:@@", isRequired=False - ) - ], - ), - "IKImageBrowserDelegate": objc.informal_protocol( - "IKImageBrowserDelegate", - [ - objc.selector( - None, - b"imageBrowser:cellWasRightClickedAtIndex:withEvent:", - b"v@:@Q@", - isRequired=False, - ), - objc.selector( - None, b"imageBrowserSelectionDidChange:", b"v@:@", isRequired=False - ), - objc.selector( - None, - b"imageBrowser:cellWasDoubleClickedAtIndex:", - b"v@:@Q", - isRequired=False, - ), - objc.selector( - None, - b"imageBrowser:backgroundWasRightClickedWithEvent:", - b"v@:@@", - isRequired=False, - ), - ], - ), - "IKImageBrowserDataSource": objc.informal_protocol( - "IKImageBrowserDataSource", - [ - objc.selector( - None, b"imageBrowser:groupAtIndex:", b"@@:@Q", isRequired=False - ), - objc.selector( - None, b"numberOfItemsInImageBrowser:", b"Q@:@", isRequired=False - ), - objc.selector( - None, - b"imageBrowser:moveItemsAtIndexes:toIndex:", - b"Z@:@@Q", - isRequired=False, - ), - objc.selector( - None, b"numberOfGroupsInImageBrowser:", b"Q@:@", isRequired=False - ), - objc.selector( - None, b"imageBrowser:itemAtIndex:", b"@@:@Q", isRequired=False - ), - objc.selector( - None, b"imageBrowser:removeItemsAtIndexes:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"imageBrowser:writeItemsAtIndexes:toPasteboard:", - b"Q@:@@@", - isRequired=False, - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/PDFKit/__init__.py b/src/lib/Quartz/PDFKit/__init__.py deleted file mode 100644 index fbe49cd..0000000 --- a/src/lib/Quartz/PDFKit/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the PDFKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import AppKit -import objc -from Quartz.PDFKit import _metadata, _PDFKit - -# XXX: Moved to topelevel framework in 10.15 - -sys.modules["Quartz.PDFKit"] = mod = objc.ObjCLazyModule( - "Quartz.PDFKit", - "com.apple.PDFKit", - objc.pathForFramework( - "/System/Library/Frameworks/Quartz.framework/Frameworks/PDFKit.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_PDFKit, AppKit), -) - - -del sys.modules["Quartz.PDFKit._metadata"] diff --git a/src/lib/Quartz/PDFKit/_metadata.py b/src/lib/Quartz/PDFKit/_metadata.py deleted file mode 100644 index e1730de..0000000 --- a/src/lib/Quartz/PDFKit/_metadata.py +++ /dev/null @@ -1,387 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:12:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$PDFAnnotationHighlightingModeInvert$PDFAnnotationHighlightingModeNone$PDFAnnotationHighlightingModeOutline$PDFAnnotationHighlightingModePush$PDFAnnotationKeyAction$PDFAnnotationKeyAdditionalActions$PDFAnnotationKeyAppearanceDictionary$PDFAnnotationKeyAppearanceState$PDFAnnotationKeyBorder$PDFAnnotationKeyBorderStyle$PDFAnnotationKeyColor$PDFAnnotationKeyContents$PDFAnnotationKeyDate$PDFAnnotationKeyDefaultAppearance$PDFAnnotationKeyDestination$PDFAnnotationKeyFlags$PDFAnnotationKeyHighlightingMode$PDFAnnotationKeyIconName$PDFAnnotationKeyInklist$PDFAnnotationKeyInteriorColor$PDFAnnotationKeyLineEndingStyles$PDFAnnotationKeyLinePoints$PDFAnnotationKeyName$PDFAnnotationKeyOpen$PDFAnnotationKeyPage$PDFAnnotationKeyParent$PDFAnnotationKeyPopup$PDFAnnotationKeyQuadPoints$PDFAnnotationKeyQuadding$PDFAnnotationKeyRect$PDFAnnotationKeySubtype$PDFAnnotationKeyTextLabel$PDFAnnotationKeyWidgetAppearanceDictionary$PDFAnnotationKeyWidgetBackgroundColor$PDFAnnotationKeyWidgetBorderColor$PDFAnnotationKeyWidgetCaption$PDFAnnotationKeyWidgetDefaultValue$PDFAnnotationKeyWidgetDownCaption$PDFAnnotationKeyWidgetFieldFlags$PDFAnnotationKeyWidgetFieldType$PDFAnnotationKeyWidgetMaxLen$PDFAnnotationKeyWidgetOptions$PDFAnnotationKeyWidgetRolloverCaption$PDFAnnotationKeyWidgetRotation$PDFAnnotationKeyWidgetTextLabelUI$PDFAnnotationKeyWidgetValue$PDFAnnotationLineEndingStyleCircle$PDFAnnotationLineEndingStyleClosedArrow$PDFAnnotationLineEndingStyleDiamond$PDFAnnotationLineEndingStyleNone$PDFAnnotationLineEndingStyleOpenArrow$PDFAnnotationLineEndingStyleSquare$PDFAnnotationSubtypeCircle$PDFAnnotationSubtypeFreeText$PDFAnnotationSubtypeHighlight$PDFAnnotationSubtypeInk$PDFAnnotationSubtypeLine$PDFAnnotationSubtypeLink$PDFAnnotationSubtypePopup$PDFAnnotationSubtypeSquare$PDFAnnotationSubtypeStamp$PDFAnnotationSubtypeStrikeOut$PDFAnnotationSubtypeText$PDFAnnotationSubtypeUnderline$PDFAnnotationSubtypeWidget$PDFAnnotationTextIconTypeComment$PDFAnnotationTextIconTypeHelp$PDFAnnotationTextIconTypeInsert$PDFAnnotationTextIconTypeKey$PDFAnnotationTextIconTypeNewParagraph$PDFAnnotationTextIconTypeNote$PDFAnnotationTextIconTypeParagraph$PDFAnnotationWidgetSubtypeButton$PDFAnnotationWidgetSubtypeChoice$PDFAnnotationWidgetSubtypeSignature$PDFAnnotationWidgetSubtypeText$PDFAppearanceCharacteristicsKeyBackgroundColor$PDFAppearanceCharacteristicsKeyBorderColor$PDFAppearanceCharacteristicsKeyCaption$PDFAppearanceCharacteristicsKeyDownCaption$PDFAppearanceCharacteristicsKeyRolloverCaption$PDFAppearanceCharacteristicsKeyRotation$PDFBorderKeyDashPattern$PDFBorderKeyLineWidth$PDFBorderKeyStyle$PDFDocumentAccessPermissionsOption$PDFDocumentAuthorAttribute$PDFDocumentCreationDateAttribute$PDFDocumentCreatorAttribute$PDFDocumentDidBeginFindNotification$PDFDocumentDidBeginPageFindNotification$PDFDocumentDidBeginPageWriteNotification$PDFDocumentDidBeginWriteNotification$PDFDocumentDidEndFindNotification$PDFDocumentDidEndPageFindNotification$PDFDocumentDidEndPageWriteNotification$PDFDocumentDidEndWriteNotification$PDFDocumentDidFindMatchNotification$PDFDocumentDidUnlockNotification$PDFDocumentFoundSelectionKey$PDFDocumentKeywordsAttribute$PDFDocumentModificationDateAttribute$PDFDocumentOwnerPasswordOption$PDFDocumentPageIndexKey$PDFDocumentProducerAttribute$PDFDocumentSubjectAttribute$PDFDocumentTitleAttribute$PDFDocumentUserPasswordOption$PDFThumbnailViewDocumentEditedNotification$PDFViewAnnotationHitNotification$PDFViewAnnotationWillHitNotification$PDFViewChangedHistoryNotification$PDFViewCopyPermissionNotification$PDFViewDisplayBoxChangedNotification$PDFViewDisplayModeChangedNotification$PDFViewDocumentChangedNotification$PDFViewPageChangedNotification$PDFViewPrintPermissionNotification$PDFViewScaleChangedNotification$PDFViewSelectionChangedNotification$PDFViewVisiblePagesChangedNotification$kPDFAnnotationKey_Action$kPDFAnnotationKey_AdditionalActions$kPDFAnnotationKey_AppearanceDictionary$kPDFAnnotationKey_AppearanceState$kPDFAnnotationKey_AppleExtras$kPDFAnnotationKey_Border$kPDFAnnotationKey_BorderStyle$kPDFAnnotationKey_Color$kPDFAnnotationKey_Contents$kPDFAnnotationKey_Date$kPDFAnnotationKey_DefaultAppearance$kPDFAnnotationKey_Destination$kPDFAnnotationKey_Flags$kPDFAnnotationKey_HighlightingMode$kPDFAnnotationKey_IconName$kPDFAnnotationKey_Inklist$kPDFAnnotationKey_InteriorColor$kPDFAnnotationKey_LineEndingStyles$kPDFAnnotationKey_LinePoints$kPDFAnnotationKey_Name$kPDFAnnotationKey_Open$kPDFAnnotationKey_Page$kPDFAnnotationKey_Parent$kPDFAnnotationKey_Popup$kPDFAnnotationKey_QuadPoints$kPDFAnnotationKey_Quadding$kPDFAnnotationKey_Rect$kPDFAnnotationKey_Subtype$kPDFAnnotationKey_TextLabel$kPDFAnnotationKey_WidgetAppearanceDictionary$kPDFAnnotationKey_WidgetDefaultValue$kPDFAnnotationKey_WidgetFieldFlags$kPDFAnnotationKey_WidgetFieldType$kPDFAnnotationKey_WidgetMaxLen$kPDFAnnotationKey_WidgetOptions$kPDFAnnotationKey_WidgetTextLabelUI$kPDFAnnotationKey_WidgetValue$kPDFDestinationUnspecifiedValue@d$""" -enums = """$PDFAllowsCommenting@64$PDFAllowsContentAccessibility@32$PDFAllowsContentCopying@16$PDFAllowsDocumentAssembly@8$PDFAllowsDocumentChanges@4$PDFAllowsFormFieldEntry@128$PDFAllowsHighQualityPrinting@2$PDFAllowsLowQualityPrinting@1$kPDFActionNamedFind@8$kPDFActionNamedFirstPage@3$kPDFActionNamedGoBack@5$kPDFActionNamedGoForward@6$kPDFActionNamedGoToPage@7$kPDFActionNamedLastPage@4$kPDFActionNamedNextPage@1$kPDFActionNamedNone@0$kPDFActionNamedPreviousPage@2$kPDFActionNamedPrint@9$kPDFActionNamedZoomIn@10$kPDFActionNamedZoomOut@11$kPDFAnnotationArea@4$kPDFAnyArea@9223372036854775807$kPDFBorderStyleBeveled@2$kPDFBorderStyleDashed@1$kPDFBorderStyleInset@3$kPDFBorderStyleSolid@0$kPDFBorderStyleUnderline@4$kPDFControlArea@16$kPDFDisplayBoxArtBox@4$kPDFDisplayBoxBleedBox@2$kPDFDisplayBoxCropBox@1$kPDFDisplayBoxMediaBox@0$kPDFDisplayBoxTrimBox@3$kPDFDisplayDirectionHorizontal@1$kPDFDisplayDirectionVertical@0$kPDFDisplaySinglePage@0$kPDFDisplaySinglePageContinuous@1$kPDFDisplayTwoUp@2$kPDFDisplayTwoUpContinuous@3$kPDFDocumentPermissionsNone@0$kPDFDocumentPermissionsOwner@2$kPDFDocumentPermissionsUser@1$kPDFIconArea@64$kPDFImageArea@256$kPDFInterpolationQualityHigh@2$kPDFInterpolationQualityLow@1$kPDFInterpolationQualityNone@0$kPDFLineStyleCircle@2$kPDFLineStyleClosedArrow@5$kPDFLineStyleDiamond@3$kPDFLineStyleNone@0$kPDFLineStyleOpenArrow@4$kPDFLineStyleSquare@1$kPDFLinkArea@8$kPDFMarkupTypeHighlight@0$kPDFMarkupTypeRedact@3$kPDFMarkupTypeStrikeOut@1$kPDFMarkupTypeUnderline@2$kPDFNoArea@0$kPDFPageArea@1$kPDFPopupArea@128$kPDFPrintPageScaleDownToFit@2$kPDFPrintPageScaleNone@0$kPDFPrintPageScaleToFit@1$kPDFTextAnnotationIconComment@0$kPDFTextAnnotationIconHelp@3$kPDFTextAnnotationIconInsert@6$kPDFTextAnnotationIconKey@1$kPDFTextAnnotationIconNewParagraph@4$kPDFTextAnnotationIconNote@2$kPDFTextAnnotationIconParagraph@5$kPDFTextArea@2$kPDFTextFieldArea@32$kPDFWidgetCheckBoxControl@2$kPDFWidgetMixedState@-1$kPDFWidgetOffState@0$kPDFWidgetOnState@1$kPDFWidgetPushButtonControl@0$kPDFWidgetRadioButtonControl@1$kPDFWidgetUnknownControl@-1$""" -misc.update( - { - "PDFDocumentPermissions": NewType("PDFDocumentPermissions", int), - "PDFMarkupType": NewType("PDFMarkupType", int), - "PDFWidgetControlType": NewType("PDFWidgetControlType", int), - "PDFAccessPermissions": NewType("PDFAccessPermissions", int), - "PDFActionNamedName": NewType("PDFActionNamedName", int), - "PDFDisplayBox": NewType("PDFDisplayBox", int), - "PDFInterpolationQuality": NewType("PDFInterpolationQuality", int), - "PDFLineStyle": NewType("PDFLineStyle", int), - "PDFWidgetCellState": NewType("PDFWidgetCellState", int), - "PDFAreaOfInterest": NewType("PDFAreaOfInterest", int), - "PDFPrintScalingMode": NewType("PDFPrintScalingMode", int), - "PDFTextAnnotationIconType": NewType("PDFTextAnnotationIconType", int), - "PDFDisplayMode": NewType("PDFDisplayMode", int), - "PDFDisplayDirection": NewType("PDFDisplayDirection", int), - "PDFBorderStyle": NewType("PDFBorderStyle", int), - } -) -misc.update( - { - "PDFAnnotationTextIconType": NewType("PDFAnnotationTextIconType", str), - "PDFBorderKey": NewType("PDFBorderKey", str), - "PDFDocumentAttribute": NewType("PDFDocumentAttribute", str), - "PDFAnnotationKey": NewType("PDFAnnotationKey", str), - "PDFDocumentWriteOption": NewType("PDFDocumentWriteOption", str), - "PDFAnnotationSubtype": NewType("PDFAnnotationSubtype", str), - "PDFAppearanceCharacteristicsKey": NewType( - "PDFAppearanceCharacteristicsKey", str - ), - "PDFAnnotationHighlightingMode": NewType("PDFAnnotationHighlightingMode", str), - "PDFAnnotationWidgetSubtype": NewType("PDFAnnotationWidgetSubtype", str), - "PDFAnnotationLineEndingStyle": NewType("PDFAnnotationLineEndingStyle", str), - } -) -misc.update({}) -aliases = { - "PDFKitPlatformViewController": "NSViewController", - "PDFKitPlatformEvent": "NSEvent", - "PDFKitPlatformControl": "NSControl", - "PDFPointZero": "NSZeroPoint", - "PDFKitPlatformTextViewDelegate": "NSTextViewDelegate", - "PDFRectZero": "NSZeroRect", - "PDFKitPlatformButtonCell": "NSButtonCell", - "PDFEdgeInsets": "NSEdgeInsets", - "PDFKitPlatformButton": "NSButton", - "PDFSize": "NSSize", - "PDFRect": "NSRect", - "kPDFImageArea": "FLT_MX", - "PDFKitPlatformAccessibilityElement": "NSAccessibilityElement", - "PDFKitPlatformTextView": "NSTextView", - "PDFKitPlatformChoiceWidgetListView": "NSTableView", - "PDFKitPlatformView": "NSView", - "PDFSizeZero": "NSZeroSize", - "kPDFDestinationUnspecifiedValue": "FLT_MAX", - "PDFKitPlatformBezierPathElement": "NSBezierPathElement", - "PDFKitPlatformColor": "NSColor", - "PDFKitPlatformScrollView": "NSScrollView", - "PDFKitPlatformImageView": "NSImageView", - "PDFPoint": "NSPoint", - "PDFKitPlatformImage": "NSImage", - "PDFKitPlatformChoiceWidgetComboBoxView": "NSPopUpButton", - "PDFKitPlatformBezierPath": "NSBezierPath", - "PDFEdgeInsetsZero": "NSEdgeInsetsZero", - "PDFKitPlatformTextField": "NSTextField", - "PDFKitPlatformFont": "NSFont", - "PDFKitResponder": "NSResponder", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"PDFViewOpenPDF:forRemoteGoToAction:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"PDFViewPerformFind:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"PDFViewPerformGoToPage:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"PDFViewPerformPrint:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"PDFViewPrintJobTitle:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"PDFViewWillChangeScaleFactor:toScale:", - { - "required": False, - "retval": {"type": b"d"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"PDFViewWillClickOnLink:withURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"classForAnnotationClass:", - {"required": False, "retval": {"type": "#"}, "arguments": {2: {"type": b"#"}}}, - ) - r( - b"NSObject", - b"classForAnnotationType:", - {"required": False, "retval": {"type": "#"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"classForPage", {"required": False, "retval": {"type": "#"}}) - r( - b"NSObject", - b"didMatchString:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidBeginDocumentFind:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidBeginPageFind:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidEndDocumentFind:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidEndPageFind:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidFindMatch:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"documentDidUnlock:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"PDFActionResetForm", b"fieldsIncludedAreCleared", {"retval": {"type": b"Z"}}) - r( - b"PDFActionResetForm", - b"setFieldsIncludedAreCleared:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PDFAnnotation", b"allowsToggleToOff", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"hasAppearanceStream", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"hasComb", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"isHighlighted", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"isListChoice", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"isMultiline", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"isOpen", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"isPasswordField", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"isReadOnly", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"isSignature", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"radiosInUnison", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"setAllowsToggleToOff:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"PDFAnnotation", - b"setBoolean:forAnnotationKey:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"PDFAnnotation", b"setComb:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setHighlighted:", {"arguments": {2: {"type": "Z"}}}) - r(b"PDFAnnotation", b"setListChoice:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setMultiline:", {"arguments": {2: {"type": "Z"}}}) - r(b"PDFAnnotation", b"setOpen:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setRadiosInUnison:", {"arguments": {2: {"type": "Z"}}}) - r(b"PDFAnnotation", b"setReadOnly:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setRect:forAnnotationKey:", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"setShouldDisplay:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setShouldPrint:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotation", b"setValue:forAnnotationKey:", {"retval": {"type": "Z"}}) - r(b"PDFAnnotation", b"shouldDisplay", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotation", b"shouldPrint", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotationButtonWidget", b"allowsToggleToOff", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotationButtonWidget", b"isHighlighted", {"retval": {"type": b"Z"}}) - r( - b"PDFAnnotationButtonWidget", - b"setAllowsToggleToOff:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"PDFAnnotationButtonWidget", - b"setHighlighted:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PDFAnnotationChoiceWidget", b"isListChoice", {"retval": {"type": b"Z"}}) - r( - b"PDFAnnotationChoiceWidget", - b"setIsListChoice:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PDFAnnotationLink", b"setHighlighted:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotationPopup", b"isOpen", {"retval": {"type": b"Z"}}) - r(b"PDFAnnotationPopup", b"setIsOpen:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFAnnotationStamp", b"isSignature", {"retval": {"type": "Z"}}) - r(b"PDFAnnotationTextWidget", b"isMultiline", {"retval": {"type": b"Z"}}) - r( - b"PDFAnnotationTextWidget", - b"setIsMultiline:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PDFDocument", b"allowsCommenting", {"retval": {"type": "Z"}}) - r(b"PDFDocument", b"allowsContentAccessibility", {"retval": {"type": "Z"}}) - r(b"PDFDocument", b"allowsCopying", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"allowsDocumentAssembly", {"retval": {"type": "Z"}}) - r(b"PDFDocument", b"allowsDocumentChanges", {"retval": {"type": "Z"}}) - r(b"PDFDocument", b"allowsFormFieldEntry", {"retval": {"type": "Z"}}) - r(b"PDFDocument", b"allowsPrinting", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"isEncrypted", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"isFinding", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"isLocked", {"retval": {"type": b"Z"}}) - r( - b"PDFDocument", - b"printOperationForPrintInfo:scalingMode:autoRotate:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"PDFDocument", b"unlockWithPassword:", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"writeToFile:", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"writeToFile:withOptions:", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"writeToURL:", {"retval": {"type": b"Z"}}) - r(b"PDFDocument", b"writeToURL:withOptions:", {"retval": {"type": b"Z"}}) - r(b"PDFOutline", b"isOpen", {"retval": {"type": b"Z"}}) - r(b"PDFOutline", b"setIsOpen:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFPage", b"displaysAnnotations", {"retval": {"type": b"Z"}}) - r(b"PDFPage", b"setDisplaysAnnotations:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFSelection", b"drawForPage:active:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"PDFSelection", - b"drawForPage:withBox:active:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"PDFThumbnailView", b"allowsDragging", {"retval": {"type": b"Z"}}) - r(b"PDFThumbnailView", b"allowsMultipleSelection", {"retval": {"type": b"Z"}}) - r(b"PDFThumbnailView", b"setAllowsDragging:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"PDFThumbnailView", - b"setAllowsMultipleSelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"PDFView", b"acceptsDraggedFiles", {"retval": {"type": "Z"}}) - r(b"PDFView", b"allowsDragging", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"autoScales", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoBack", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoForward", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoToFirstPage", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoToLastPage", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoToNextPage", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canGoToPreviousPage", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canZoomIn", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"canZoomOut", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"displaysAsBook", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"displaysPageBreaks", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"displaysRTL", {"retval": {"type": "Z"}}) - r(b"PDFView", b"enableDataDetectors", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"enablePageShadows:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"pageForPoint:nearest:", {"arguments": {3: {"type": b"Z"}}}) - r(b"PDFView", b"pageShadowsEnabled", {"retval": {"type": b"Z"}}) - r(b"PDFView", b"printWithInfo:autoRotate:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"PDFView", - b"printWithInfo:autoRotate:pageScaling:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"PDFView", b"setAcceptsDraggedFiles:", {"arguments": {2: {"type": "Z"}}}) - r(b"PDFView", b"setAllowsDragging:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"setAutoScales:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"setCurrentSelection:animate:", {"arguments": {3: {"type": b"Z"}}}) - r(b"PDFView", b"setDisplaysAsBook:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"setDisplaysPageBreaks:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"setDisplaysRTL:", {"arguments": {2: {"type": "Z"}}}) - r(b"PDFView", b"setEnableDataDetectors:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"setShouldAntiAlias:", {"arguments": {2: {"type": b"Z"}}}) - r(b"PDFView", b"shouldAntiAlias", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "PDFViewDelegate": objc.informal_protocol( - "PDFViewDelegate", - [ - objc.selector( - None, b"PDFViewWillClickOnLink:withURL:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"PDFViewOpenPDF:forRemoteGoToAction:", b"v@:@@", isRequired=False - ), - objc.selector(None, b"PDFViewPerformFind:", b"v@:@", isRequired=False), - objc.selector( - None, - b"PDFViewWillChangeScaleFactor:toScale:", - b"d@:@d", - isRequired=False, - ), - objc.selector(None, b"PDFViewPerformPrint:", b"v@:@", isRequired=False), - objc.selector(None, b"PDFViewPrintJobTitle:", b"@@:@", isRequired=False), - objc.selector(None, b"PDFViewPerformGoToPage:", b"v@:@", isRequired=False), - ], - ), - "PDFDocumentDelegate": objc.informal_protocol( - "PDFDocumentDelegate", - [ - objc.selector(None, b"classForPage", b"#@:", isRequired=False), - objc.selector(None, b"classForAnnotationClass:", b"#@:#", isRequired=False), - objc.selector(None, b"didMatchString:", b"v@:@", isRequired=False), - ], - ), - "PDFDocumentNotifications": objc.informal_protocol( - "PDFDocumentNotifications", - [ - objc.selector(None, b"documentDidFindMatch:", b"v@:@", isRequired=False), - objc.selector( - None, b"documentDidBeginPageFind:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"documentDidBeginDocumentFind:", b"v@:@", isRequired=False - ), - objc.selector(None, b"documentDidUnlock:", b"v@:@", isRequired=False), - objc.selector(None, b"documentDidEndPageFind:", b"v@:@", isRequired=False), - objc.selector( - None, b"documentDidEndDocumentFind:", b"v@:@", isRequired=False - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/QuartzComposer/__init__.py b/src/lib/Quartz/QuartzComposer/__init__.py deleted file mode 100644 index 2a5c605..0000000 --- a/src/lib/Quartz/QuartzComposer/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the QuartzComposer framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -import Quartz.CoreGraphics -from Quartz.QuartzComposer import _metadata - -sys.modules["Quartz.QuartzComposer"] = mod = objc.ObjCLazyModule( - "Quartz.QuartzComposer", - "com.apple.QuartzComposer", - objc.pathForFramework( - "/System/Library/Frameworks/Quartz.framework/Frameworks/QuartzComposer.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Quartz.CoreGraphics, Foundation), -) - - -del sys.modules["Quartz.QuartzComposer._metadata"] diff --git a/src/lib/Quartz/QuartzComposer/_metadata.py b/src/lib/Quartz/QuartzComposer/_metadata.py deleted file mode 100644 index 213e9a1..0000000 --- a/src/lib/Quartz/QuartzComposer/_metadata.py +++ /dev/null @@ -1,426 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$QCCompositionAttributeBuiltInKey$QCCompositionAttributeCategoryKey$QCCompositionAttributeCopyrightKey$QCCompositionAttributeDescriptionKey$QCCompositionAttributeHasConsumersKey$QCCompositionAttributeIsTimeDependentKey$QCCompositionAttributeNameKey$QCCompositionCategoryDistortion$QCCompositionCategoryStylize$QCCompositionCategoryUtility$QCCompositionInputAudioPeakKey$QCCompositionInputAudioSpectrumKey$QCCompositionInputDestinationImageKey$QCCompositionInputImageKey$QCCompositionInputPaceKey$QCCompositionInputPreviewModeKey$QCCompositionInputPrimaryColorKey$QCCompositionInputRSSArticleDurationKey$QCCompositionInputRSSFeedURLKey$QCCompositionInputScreenImageKey$QCCompositionInputSecondaryColorKey$QCCompositionInputSourceImageKey$QCCompositionInputTrackInfoKey$QCCompositionInputTrackPositionKey$QCCompositionInputTrackSignalKey$QCCompositionInputXKey$QCCompositionInputYKey$QCCompositionOutputImageKey$QCCompositionOutputWebPageURLKey$QCCompositionPickerPanelDidSelectCompositionNotification$QCCompositionPickerViewDidSelectCompositionNotification$QCCompositionProtocolGraphicAnimation$QCCompositionProtocolGraphicTransition$QCCompositionProtocolImageFilter$QCCompositionProtocolMusicVisualizer$QCCompositionProtocolRSSVisualizer$QCCompositionProtocolScreenSaver$QCCompositionRepositoryDidUpdateNotification$QCPlugInAttributeCategoriesKey$QCPlugInAttributeCopyrightKey$QCPlugInAttributeDescriptionKey$QCPlugInAttributeExamplesKey$QCPlugInAttributeNameKey$QCPlugInExecutionArgumentEventKey$QCPlugInExecutionArgumentMouseLocationKey$QCPlugInPixelFormatARGB8$QCPlugInPixelFormatBGRA8$QCPlugInPixelFormatI8$QCPlugInPixelFormatIf$QCPlugInPixelFormatRGBAf$QCPortAttributeDefaultValueKey$QCPortAttributeMaximumValueKey$QCPortAttributeMenuItemsKey$QCPortAttributeMinimumValueKey$QCPortAttributeNameKey$QCPortAttributeTypeKey$QCPortTypeBoolean$QCPortTypeColor$QCPortTypeImage$QCPortTypeIndex$QCPortTypeNumber$QCPortTypeString$QCPortTypeStructure$QCRendererEventKey$QCRendererMouseLocationKey$QCViewDidStartRenderingNotification$QCViewDidStopRenderingNotification$""" -enums = """$kQCPlugInExecutionModeConsumer@3$kQCPlugInExecutionModeProcessor@2$kQCPlugInExecutionModeProvider@1$kQCPlugInTimeModeIdle@1$kQCPlugInTimeModeNone@0$kQCPlugInTimeModeTimeBase@2$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"CGLContextObj", - {"required": True, "retval": {"type": b"^{_CGLContextObject=}"}}, - ) - r(b"NSObject", b"attributes", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"bindTextureRepresentationToCGLContext:textureUnit:normalizeCoordinates:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^{_CGLContextObject=}"}, - 3: {"type": b"I"}, - 4: {"type": b"Z"}, - }, - }, - ) - r( - b"NSObject", - b"bounds", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r(b"NSObject", b"bufferBaseAddress", {"required": True, "retval": {"type": b"^v"}}) - r(b"NSObject", b"bufferBytesPerRow", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"bufferColorSpace", - {"required": True, "retval": {"type": b"^{CGColorSpace=}"}}, - ) - r(b"NSObject", b"bufferPixelFormat", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"bufferPixelsHigh", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"bufferPixelsWide", {"required": True, "retval": {"type": b"Q"}}) - r( - b"NSObject", - b"canRenderWithCGLContext:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"^{_CGLContextObject=}"}}, - }, - ) - r( - b"NSObject", - b"colorSpace", - {"required": True, "retval": {"type": b"^{CGColorSpace=}"}}, - ) - r( - b"NSObject", - b"compositionParameterView:didChangeParameterWithKey:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"compositionParameterView:shouldDisplayParameterWithKey:attributes:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"compositionPickerView:didSelectComposition:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"compositionPickerViewDidStartAnimating:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"compositionPickerViewWillStopAnimating:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"compositionURL", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"copyRenderedTextureForCGLContext:pixelFormat:bounds:isFlipped:", - { - "required": False, - "retval": {"type": b"I"}, - "arguments": { - 2: {"type": b"^{_CGLContextObject=}"}, - 3: {"type": b"@"}, - 4: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - 5: {"type": b"^Z"}, - }, - }, - ) - r( - b"NSObject", - b"imageBounds", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"imageColorSpace", - {"required": True, "retval": {"type": b"^{CGColorSpace=}"}}, - ) - r(b"NSObject", b"inputKeys", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"lockBufferRepresentationWithPixelFormat:colorSpace:forBounds:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{CGColorSpace=}"}, - 4: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"lockTextureRepresentationWithColorSpace:forBounds:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"^{CGColorSpace=}"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"logMessage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}}, - "variadic": True, - }, - ) - r( - b"NSObject", - b"outputImageProviderFromBufferWithPixelFormat:pixelsWide:pixelsHigh:baseAddress:bytesPerRow:releaseCallback:releaseContext:colorSpace:shouldColorMatch:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"^v"}, - 6: {"type": b"Q"}, - 7: {"type": b"^?"}, - 8: {"type": b"^v"}, - 9: {"type": b"^{CGColorSpace=}"}, - 10: {"type": b"Z"}, - }, - }, - ) - r( - b"NSObject", - b"outputImageProviderFromTextureWithPixelFormat:pixelsWide:pixelsHigh:name:flipped:releaseCallback:releaseContext:colorSpace:shouldColorMatch:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"I"}, - 6: {"type": b"Z"}, - 7: {"type": b"^?"}, - 8: {"type": b"^v"}, - 9: {"type": b"^{CGColorSpace=}"}, - 10: {"type": b"Z"}, - }, - }, - ) - r(b"NSObject", b"outputKeys", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"propertyListFromInputValues", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"releaseRenderedTexture:forCGLContext:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"I"}, 3: {"type": b"^{_CGLContextObject=}"}}, - }, - ) - r( - b"NSObject", - b"renderToBuffer:withBytesPerRow:pixelFormat:forBounds:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"^v"}, - 3: {"type": b"Q"}, - 4: {"type": b"@"}, - 5: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"renderWithCGLContext:forBounds:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"^{_CGLContextObject=}"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"setInputValuesWithPropertyList:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setValue:forInputKey:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"shouldColorMatch", {"required": False, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"supportedBufferPixelFormats", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"supportedRenderedTexturePixelFormats", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"textureColorSpace", - {"required": True, "retval": {"type": b"^{CGColorSpace=}"}}, - ) - r(b"NSObject", b"textureFlipped", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"textureMatrix", {"required": True, "retval": {"type": b"^f"}}) - r(b"NSObject", b"textureName", {"required": True, "retval": {"type": b"I"}}) - r(b"NSObject", b"texturePixelsHigh", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"texturePixelsWide", {"required": True, "retval": {"type": b"Q"}}) - r(b"NSObject", b"textureTarget", {"required": True, "retval": {"type": b"I"}}) - r( - b"NSObject", - b"unbindTextureRepresentationFromCGLContext:textureUnit:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"^{_CGLContextObject=}"}, 3: {"type": b"I"}}, - }, - ) - r( - b"NSObject", - b"unlockBufferRepresentation", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"unlockTextureRepresentation", - {"required": True, "retval": {"type": b"v"}}, - ) - r(b"NSObject", b"userInfo", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"valueForInputKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueForOutputKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"valueForOutputKey:ofType:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"QCCompositionParameterView", b"drawsBackground", {"retval": {"type": b"Z"}}) - r(b"QCCompositionParameterView", b"hasParameters", {"retval": {"type": b"Z"}}) - r( - b"QCCompositionParameterView", - b"setDrawsBackground:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"QCCompositionPickerView", b"allowsEmptySelection", {"retval": {"type": b"Z"}}) - r(b"QCCompositionPickerView", b"drawsBackground", {"retval": {"type": b"Z"}}) - r(b"QCCompositionPickerView", b"isAnimating", {"retval": {"type": b"Z"}}) - r( - b"QCCompositionPickerView", - b"setAllowsEmptySelection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"QCCompositionPickerView", - b"setDrawsBackground:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"QCCompositionPickerView", - b"setShowsCompositionNames:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"QCCompositionPickerView", b"showsCompositionNames", {"retval": {"type": b"Z"}}) - r(b"QCPlugIn", b"createViewController", {"retval": {"already_retained": True}}) - r(b"QCPlugIn", b"didValueForInputKeyChange:", {"retval": {"type": b"Z"}}) - r(b"QCPlugIn", b"execute:atTime:withArguments:", {"retval": {"type": b"Z"}}) - r(b"QCPlugIn", b"loadPlugInAtPath:", {"retval": {"type": b"Z"}}) - r(b"QCPlugIn", b"setValue:forOutputKey:", {"retval": {"type": b"Z"}}) - r(b"QCPlugIn", b"startExecution:", {"retval": {"type": b"Z"}}) - r(b"QCRenderer", b"renderAtTime:arguments:", {"retval": {"type": b"Z"}}) - r(b"QCView", b"autostartsRendering", {"retval": {"type": b"Z"}}) - r(b"QCView", b"isPausedRendering", {"retval": {"type": b"Z"}}) - r(b"QCView", b"isRendering", {"retval": {"type": b"Z"}}) - r(b"QCView", b"loadComposition:", {"retval": {"type": b"Z"}}) - r(b"QCView", b"loadCompositionFromFile:", {"retval": {"type": b"Z"}}) - r(b"QCView", b"renderAtTime:arguments:", {"retval": {"type": b"Z"}}) - r(b"QCView", b"setAutostartsRendering:", {"arguments": {2: {"type": b"Z"}}}) - r(b"QCView", b"startRendering", {"retval": {"type": b"Z"}}) - r( - b"null", - b"compositionParameterView:shouldDisplayParameterWithKey:attributes:", - {"retval": {"type": b"Z"}}, - ) - r(b"null", b"didValueForInputKeyChange:", {"retval": {"type": b"Z"}}) - r(b"null", b"loadPlugInAtPath:", {"retval": {"type": b"Z"}}) - r(b"null", b"setValue:forOutputKey:", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "QCCompositionPickerViewDelegate": objc.informal_protocol( - "QCCompositionPickerViewDelegate", - [ - objc.selector( - None, - b"compositionPickerView:didSelectComposition:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"compositionPickerViewWillStopAnimating:", - b"v@:@", - isRequired=False, - ), - objc.selector( - None, - b"compositionPickerViewDidStartAnimating:", - b"v@:@", - isRequired=False, - ), - ], - ), - "QCCompositionParameterViewDelegate": objc.informal_protocol( - "QCCompositionParameterViewDelegate", - [ - objc.selector( - None, - b"compositionParameterView:didChangeParameterWithKey:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"compositionParameterView:shouldDisplayParameterWithKey:attributes:", - b"Z@:@@@", - isRequired=False, - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/QuartzCore/__init__.py b/src/lib/Quartz/QuartzCore/__init__.py deleted file mode 100644 index 3f094a3..0000000 --- a/src/lib/Quartz/QuartzCore/__init__.py +++ /dev/null @@ -1,70 +0,0 @@ -""" -Python mapping for the QuartzCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from Quartz.QuartzCore import _metadata -from Quartz.QuartzCore import _quartzcore - - -# XXX: addConvenienceFor... should be metadata -def CIVector__getitem__(self, idx): - if isinstance(idx, slice): - start, stop, step = idx.indices(self.count()) - return [self[i] for i in range(start, stop, step)] - - if idx < 0: - new = self.count() + idx - if new < 0: - raise IndexError(idx) - idx = new - - return self.valueAtIndex_(idx) - - -objc.addConvenienceForClass( - "CIVector", - (("__len__", lambda self: self.count()), ("__getitem__", CIVector__getitem__)), -) - - -objc.addConvenienceForClass( - "CIContext", - ( - ("__getitem__", lambda self, key: self.objectForKey_(key)), - ("__setitem__", lambda self, key, value: self.setObject_forKey_(value, key)), - ), -) -objc.addConvenienceForClass( - "CIContextImpl", - ( - ("__getitem__", lambda self, key: self.objectForKey_(key)), - ("__setitem__", lambda self, key, value: self.setObject_forKey_(value, key)), - ), -) - -objc.addConvenienceForBasicSequence("QCStructure", True) - - -sys.modules["Quartz.QuartzCore"] = mod = objc.ObjCLazyModule( - "Quartz.QuartzCore", - "com.apple.QuartzCore", - objc.pathForFramework("/System/Library/Frameworks/QuartzCore.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_quartzcore, Foundation), -) - - -del sys.modules["Quartz.QuartzCore._metadata"] diff --git a/src/lib/Quartz/QuartzCore/_metadata.py b/src/lib/Quartz/QuartzCore/_metadata.py deleted file mode 100644 index 8073003..0000000 --- a/src/lib/Quartz/QuartzCore/_metadata.py +++ /dev/null @@ -1,1112 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:12:50 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "CATransform3D": objc.createStructType( - "Quartz.QuartzCore.CATransform3D", - b"{CATransform3D=dddddddddddddddd}", - [ - "m11", - "m12", - "m13", - "m14", - "m21", - "m22", - "m23", - "m24", - "m31", - "m32", - "m33", - "m34", - "m41", - "m42", - "m43", - "m44", - ], - ), - "CAFrameRateRange": objc.createStructType( - "Quartz.QuartzCore.CAFrameRateRange", - b"{CAFrameRateRange=fff}", - ["minimum", "maximum", "preferred"], - ), - } -) -constants = """$CAFrameRateRangeDefault@{CAFrameRateRange=fff}$CATransform3DIdentity@{CATransform3D=dddddddddddddddd}$CIDetectorAccuracy$CIDetectorAccuracyHigh$CIDetectorAccuracyLow$CIDetectorAspectRatio$CIDetectorEyeBlink$CIDetectorFocalLength$CIDetectorImageOrientation$CIDetectorMaxFeatureCount$CIDetectorMinFeatureSize$CIDetectorNumberOfAngles$CIDetectorReturnSubFeatures$CIDetectorSmile$CIDetectorTracking$CIDetectorTypeFace$CIDetectorTypeQRCode$CIDetectorTypeRectangle$CIDetectorTypeText$CIFeatureTypeFace$CIFeatureTypeQRCode$CIFeatureTypeRectangle$CIFeatureTypeText$CIRAWDecoderVersion6$CIRAWDecoderVersion6DNG$CIRAWDecoderVersion7$CIRAWDecoderVersion7DNG$CIRAWDecoderVersion8$CIRAWDecoderVersion8DNG$CIRAWDecoderVersionNone$kCAAlignmentCenter$kCAAlignmentJustified$kCAAlignmentLeft$kCAAlignmentNatural$kCAAlignmentRight$kCAAnimationCubic$kCAAnimationCubicPaced$kCAAnimationDiscrete$kCAAnimationLinear$kCAAnimationPaced$kCAAnimationRotateAuto$kCAAnimationRotateAutoReverse$kCAContentsFormatGray8Uint$kCAContentsFormatRGBA16Float$kCAContentsFormatRGBA8Uint$kCACornerCurveCircular$kCACornerCurveContinuous$kCAEmitterBehaviorAlignToMotion$kCAEmitterBehaviorAttractor$kCAEmitterBehaviorColorOverLife$kCAEmitterBehaviorDrag$kCAEmitterBehaviorLight$kCAEmitterBehaviorSimpleAttractor$kCAEmitterBehaviorValueOverLife$kCAEmitterBehaviorWave$kCAEmitterLayerAdditive$kCAEmitterLayerBackToFront$kCAEmitterLayerCircle$kCAEmitterLayerCuboid$kCAEmitterLayerLine$kCAEmitterLayerOldestFirst$kCAEmitterLayerOldestLast$kCAEmitterLayerOutline$kCAEmitterLayerPoint$kCAEmitterLayerPoints$kCAEmitterLayerRectangle$kCAEmitterLayerSphere$kCAEmitterLayerSurface$kCAEmitterLayerUnordered$kCAEmitterLayerVolume$kCAFillModeBackwards$kCAFillModeBoth$kCAFillModeForwards$kCAFillModeFrozen$kCAFillModeRemoved$kCAFillRuleEvenOdd$kCAFillRuleNonZero$kCAFilterLinear$kCAFilterNearest$kCAFilterTrilinear$kCAGradientLayerAxial$kCAGradientLayerConic$kCAGradientLayerRadial$kCAGravityBottom$kCAGravityBottomLeft$kCAGravityBottomRight$kCAGravityCenter$kCAGravityLeft$kCAGravityResize$kCAGravityResizeAspect$kCAGravityResizeAspectFill$kCAGravityRight$kCAGravityTop$kCAGravityTopLeft$kCAGravityTopRight$kCALineCapButt$kCALineCapRound$kCALineCapSquare$kCALineJoinBevel$kCALineJoinMiter$kCALineJoinRound$kCAMediaTimingFunctionDefault$kCAMediaTimingFunctionEaseIn$kCAMediaTimingFunctionEaseInEaseOut$kCAMediaTimingFunctionEaseOut$kCAMediaTimingFunctionLinear$kCAOnOrderIn$kCAOnOrderOut$kCARendererColorSpace$kCARendererMetalCommandQueue$kCAScrollBoth$kCAScrollHorizontally$kCAScrollNone$kCAScrollVertically$kCATransactionAnimationDuration$kCATransactionAnimationTimingFunction$kCATransactionCompletionBlock$kCATransactionDisableActions$kCATransition$kCATransitionFade$kCATransitionFromBottom$kCATransitionFromLeft$kCATransitionFromRight$kCATransitionFromTop$kCATransitionMoveIn$kCATransitionPush$kCATransitionReveal$kCATruncationEnd$kCATruncationMiddle$kCATruncationNone$kCATruncationStart$kCAValueFunctionRotateX$kCAValueFunctionRotateY$kCAValueFunctionRotateZ$kCAValueFunctionScale$kCAValueFunctionScaleX$kCAValueFunctionScaleY$kCAValueFunctionScaleZ$kCAValueFunctionTranslate$kCAValueFunctionTranslateX$kCAValueFunctionTranslateY$kCAValueFunctionTranslateZ$kCIActiveKeys$kCIApplyOptionColorSpace$kCIApplyOptionDefinition$kCIApplyOptionExtent$kCIApplyOptionUserInfo$kCIAttributeClass$kCIAttributeDefault$kCIAttributeDescription$kCIAttributeDisplayName$kCIAttributeFilterAvailable_Mac$kCIAttributeFilterAvailable_iOS$kCIAttributeFilterCategories$kCIAttributeFilterDisplayName$kCIAttributeFilterName$kCIAttributeIdentity$kCIAttributeMax$kCIAttributeMin$kCIAttributeName$kCIAttributeReferenceDocumentation$kCIAttributeSliderMax$kCIAttributeSliderMin$kCIAttributeType$kCIAttributeTypeAngle$kCIAttributeTypeBoolean$kCIAttributeTypeColor$kCIAttributeTypeCount$kCIAttributeTypeDistance$kCIAttributeTypeGradient$kCIAttributeTypeImage$kCIAttributeTypeInteger$kCIAttributeTypeOffset$kCIAttributeTypeOpaqueColor$kCIAttributeTypePosition$kCIAttributeTypePosition3$kCIAttributeTypeRectangle$kCIAttributeTypeScalar$kCIAttributeTypeTime$kCIAttributeTypeTransform$kCICategoryBlur$kCICategoryBuiltIn$kCICategoryColorAdjustment$kCICategoryColorEffect$kCICategoryCompositeOperation$kCICategoryDistortionEffect$kCICategoryFilterGenerator$kCICategoryGenerator$kCICategoryGeometryAdjustment$kCICategoryGradient$kCICategoryHalftoneEffect$kCICategoryHighDynamicRange$kCICategoryInterlaced$kCICategoryNonSquarePixels$kCICategoryReduction$kCICategorySharpen$kCICategoryStillImage$kCICategoryStylize$kCICategoryTileEffect$kCICategoryTransition$kCICategoryVideo$kCIContextAllowLowPower$kCIContextCacheIntermediates$kCIContextHighQualityDownsample$kCIContextName$kCIContextOutputColorSpace$kCIContextOutputPremultiplied$kCIContextPriorityRequestLow$kCIContextUseSoftwareRenderer$kCIContextWorkingColorSpace$kCIContextWorkingFormat$kCIFilterGeneratorExportedKey$kCIFilterGeneratorExportedKeyName$kCIFilterGeneratorExportedKeyTargetObject$kCIFormatA16@i$kCIFormatA8@i$kCIFormatABGR8@i$kCIFormatARGB8@i$kCIFormatAf@i$kCIFormatAh@i$kCIFormatBGRA8@i$kCIFormatL16@i$kCIFormatL8@i$kCIFormatLA16@i$kCIFormatLA8@i$kCIFormatLAf@i$kCIFormatLAh@i$kCIFormatLf@i$kCIFormatLh@i$kCIFormatR16@i$kCIFormatR8@i$kCIFormatRG16@i$kCIFormatRG8@i$kCIFormatRGBA16@i$kCIFormatRGBA8@i$kCIFormatRGBAf@i$kCIFormatRGBAh@i$kCIFormatRGf@i$kCIFormatRGh@i$kCIFormatRf@i$kCIFormatRh@i$kCIImageApplyOrientationProperty$kCIImageAutoAdjustCrop$kCIImageAutoAdjustEnhance$kCIImageAutoAdjustFeatures$kCIImageAutoAdjustLevel$kCIImageAutoAdjustRedEye$kCIImageAuxiliaryDepth$kCIImageAuxiliaryDisparity$kCIImageAuxiliaryPortraitEffectsMatte$kCIImageAuxiliarySemanticSegmentationHairMatte$kCIImageAuxiliarySemanticSegmentationSkinMatte$kCIImageAuxiliarySemanticSegmentationTeethMatte$kCIImageColorSpace$kCIImageNearestSampling$kCIImageProperties$kCIImageProviderTileSize$kCIImageProviderUserInfo$kCIImageRepresentationAVDepthData$kCIImageRepresentationAVPortraitEffectsMatte$kCIImageRepresentationAVSemanticSegmentationMattes$kCIImageRepresentationDepthImage$kCIImageRepresentationDisparityImage$kCIImageRepresentationPortraitEffectsMatteImage$kCIImageRepresentationSemanticSegmentationHairMatteImage$kCIImageRepresentationSemanticSegmentationSkinMatteImage$kCIImageRepresentationSemanticSegmentationTeethMatteImage$kCIImageTextureFormat$kCIImageTextureTarget$kCIInputAllowDraftModeKey$kCIInputAmountKey$kCIInputAngleKey$kCIInputAspectRatioKey$kCIInputBackgroundImageKey$kCIInputBaselineExposureKey$kCIInputBiasKey$kCIInputBoostKey$kCIInputBoostShadowAmountKey$kCIInputBrightnessKey$kCIInputCenterKey$kCIInputColorKey$kCIInputColorNoiseReductionAmountKey$kCIInputContrastKey$kCIInputDecoderVersionKey$kCIInputDepthImageKey$kCIInputDisableGamutMapKey$kCIInputDisparityImageKey$kCIInputEVKey$kCIInputEnableChromaticNoiseTrackingKey$kCIInputEnableEDRModeKey$kCIInputEnableSharpeningKey$kCIInputEnableVendorLensCorrectionKey$kCIInputExtentKey$kCIInputGradientImageKey$kCIInputIgnoreImageOrientationKey$kCIInputImageKey$kCIInputImageOrientationKey$kCIInputIntensityKey$kCIInputLinearSpaceFilter$kCIInputLuminanceNoiseReductionAmountKey$kCIInputMaskImageKey$kCIInputMatteImageKey$kCIInputMoireAmountKey$kCIInputNeutralChromaticityXKey$kCIInputNeutralChromaticityYKey$kCIInputNeutralLocationKey$kCIInputNeutralTemperatureKey$kCIInputNeutralTintKey$kCIInputNoiseReductionAmountKey$kCIInputNoiseReductionContrastAmountKey$kCIInputNoiseReductionDetailAmountKey$kCIInputNoiseReductionSharpnessAmountKey$kCIInputRadiusKey$kCIInputRefractionKey$kCIInputSaturationKey$kCIInputScaleFactorKey$kCIInputScaleKey$kCIInputShadingImageKey$kCIInputSharpnessKey$kCIInputTargetImageKey$kCIInputTimeKey$kCIInputTransformKey$kCIInputVersionKey$kCIInputWeightsKey$kCIInputWidthKey$kCIOutputImageKey$kCIOutputNativeSizeKey$kCISamplerAffineMatrix$kCISamplerColorSpace$kCISamplerFilterLinear$kCISamplerFilterMode$kCISamplerFilterNearest$kCISamplerWrapBlack$kCISamplerWrapClamp$kCISamplerWrapMode$kCISupportedDecoderVersionsKey$kCIUIParameterSet$kCIUISetAdvanced$kCIUISetBasic$kCIUISetDevelopment$kCIUISetIntermediate$""" -enums = """$CA_TEST@0$CA_WARN_DEPRECATED@1$CIDataMatrixCodeECCVersion000@0$CIDataMatrixCodeECCVersion050@50$CIDataMatrixCodeECCVersion080@80$CIDataMatrixCodeECCVersion100@100$CIDataMatrixCodeECCVersion140@140$CIDataMatrixCodeECCVersion200@200$CIQRCodeErrorCorrectionLevelH@72$CIQRCodeErrorCorrectionLevelL@76$CIQRCodeErrorCorrectionLevelM@77$CIQRCodeErrorCorrectionLevelQ@81$CIRenderDestinationAlphaNone@0$CIRenderDestinationAlphaPremultiplied@1$CIRenderDestinationAlphaUnpremultiplied@2$kCAConstraintHeight@7$kCAConstraintMaxX@2$kCAConstraintMaxY@6$kCAConstraintMidX@1$kCAConstraintMidY@5$kCAConstraintMinX@0$kCAConstraintMinY@4$kCAConstraintWidth@3$kCALayerBottomEdge@4$kCALayerHeightSizable@16$kCALayerLeftEdge@1$kCALayerMaxXMargin@4$kCALayerMaxXMaxYCorner@8$kCALayerMaxXMinYCorner@2$kCALayerMaxYMargin@32$kCALayerMinXMargin@1$kCALayerMinXMaxYCorner@4$kCALayerMinXMinYCorner@1$kCALayerMinYMargin@8$kCALayerNotSizable@0$kCALayerRightEdge@2$kCALayerTopEdge@8$kCALayerWidthSizable@2$""" -misc.update( - { - "CAEdgeAntialiasingMask": NewType("CAEdgeAntialiasingMask", int), - "CAAutoresizingMask": NewType("CAAutoresizingMask", int), - "CAConstraintAttribute": NewType("CAConstraintAttribute", int), - "CACornerMask": NewType("CACornerMask", int), - } -) -misc.update( - { - "CAEmitterLayerRenderMode": NewType("CAEmitterLayerRenderMode", str), - "CATransitionType": NewType("CATransitionType", str), - "CALayerContentsFilter": NewType("CALayerContentsFilter", str), - "CAEmitterLayerEmitterMode": NewType("CAEmitterLayerEmitterMode", str), - "CAEmitterLayerEmitterShape": NewType("CAEmitterLayerEmitterShape", str), - "CAValueFunctionName": NewType("CAValueFunctionName", str), - "CAShapeLayerFillRule": NewType("CAShapeLayerFillRule", str), - "CAAnimationRotationMode": NewType("CAAnimationRotationMode", str), - "CAShapeLayerLineCap": NewType("CAShapeLayerLineCap", str), - "CALayerContentsGravity": NewType("CALayerContentsGravity", str), - "CATextLayerTruncationMode": NewType("CATextLayerTruncationMode", str), - "CAMediaTimingFunctionName": NewType("CAMediaTimingFunctionName", str), - "CALayerCornerCurve": NewType("CALayerCornerCurve", str), - "CAGradientLayerType": NewType("CAGradientLayerType", str), - "CATransitionSubtype": NewType("CATransitionSubtype", str), - "CAAnimationCalculationMode": NewType("CAAnimationCalculationMode", str), - "CAMediaTimingFillMode": NewType("CAMediaTimingFillMode", str), - "CAShapeLayerLineJoin": NewType("CAShapeLayerLineJoin", str), - "CAScrollLayerScrollMode": NewType("CAScrollLayerScrollMode", str), - "CATextLayerAlignmentMode": NewType("CATextLayerAlignmentMode", str), - "CALayerContentsFormat": NewType("CALayerContentsFormat", str), - } -) -misc.update({}) -functions = { - "CATransform3DIsAffine": (b"B{CATransform3D=dddddddddddddddd}",), - "CATransform3DInvert": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "CATransform3DIsIdentity": (b"B{CATransform3D=dddddddddddddddd}",), - "CAFrameRateRangeMake": (b"{CAFrameRateRange=fff}fff",), - "CATransform3DMakeScale": (b"{CATransform3D=dddddddddddddddd}ddd",), - "CATransform3DTranslate": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}ddd", - ), - "CATransform3DEqualToTransform": ( - b"B{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "CATransform3DRotate": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}dddd", - ), - "CACurrentMediaTime": (b"d",), - "CATransform3DMakeRotation": (b"{CATransform3D=dddddddddddddddd}dddd",), - "CAFrameRateRangeIsEqualToRange": ( - b"B{CAFrameRateRange=fff}{CAFrameRateRange=fff}", - ), - "CATransform3DConcat": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "CATransform3DScale": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}ddd", - ), - "CATransform3DMakeTranslation": (b"{CATransform3D=dddddddddddddddd}ddd",), - "CATransform3DGetAffineTransform": ( - b"{CGAffineTransform=dddddd}{CATransform3D=dddddddddddddddd}", - ), - "CATransform3DMakeAffineTransform": ( - b"{CATransform3D=dddddddddddddddd}{CGAffineTransform=dddddd}", - ), -} -aliases = {"CA_TESTABLE_CLASS": "CA_HIDDEN", "CA_TESTABLE": "CA_HIDDEN"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CAAnimation", b"isRemovedOnCompletion", {"retval": {"type": b"Z"}}) - r(b"CAAnimation", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"CAAnimation", b"setRemovedOnCompletion:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAAnimation", b"shouldArchiveValueForKey:", {"retval": {"type": b"Z"}}) - r( - b"CADisplayLink", - b"displayLinkWithTarget:selector", - {"arguments": {3: {"sel_of_type": b"v@:@"}}}, - ) - r(b"CADisplayLink", b"isPaused", {"retval": {"type": b"Z"}}) - r(b"CADisplayLink", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAEmitterBehavior", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"CAEmitterBehavior", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAEmitterCell", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"CAEmitterCell", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAEmitterCell", b"shouldArchiveValueForKey:", {"retval": {"type": b"Z"}}) - r(b"CAEmitterLayer", b"preservesDepth", {"retval": {"type": b"Z"}}) - r(b"CAEmitterLayer", b"setPreservesDepth:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"allowsEdgeAntialiasing", {"retval": {"type": "Z"}}) - r(b"CALayer", b"allowsGroupOpacity", {"retval": {"type": "Z"}}) - r(b"CALayer", b"containsPoint:", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"contentsAreFlipped", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"drawsAsynchronously", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"isDoubleSided", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"isGeometryFlipped", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"isOpaque", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"masksToBounds", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"needsDisplay", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"needsDisplayForKey:", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"needsDisplayOnBoundsChange", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"needsLayout", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"setAllowsEdgeAntialiasing:", {"arguments": {2: {"type": "Z"}}}) - r(b"CALayer", b"setAllowsGroupOpacity:", {"arguments": {2: {"type": "Z"}}}) - r(b"CALayer", b"setDoubleSided:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setDrawsAsynchronously:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setGeometryFlipped:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setMasksToBounds:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setNeedsDisplayOnBoundsChange:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setOpaque:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CALayer", b"setShouldRasterize:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CALayer", - b"setWantsExtendedDynamicRangeContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CALayer", b"shouldArchiveValueForKey:", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"shouldRasterize", {"retval": {"type": b"Z"}}) - r(b"CALayer", b"wantsExtendedDynamicRangeContent", {"retval": {"type": "Z"}}) - r(b"CAMetalLayer", b"allowsNextDrawableTimeout", {"retval": {"type": "Z"}}) - r(b"CAMetalLayer", b"displaySyncEnabled", {"retval": {"type": "Z"}}) - r(b"CAMetalLayer", b"framebufferOnly", {"retval": {"type": "Z"}}) - r(b"CAMetalLayer", b"presentsWithTransaction", {"retval": {"type": "Z"}}) - r( - b"CAMetalLayer", - b"setAllowsNextDrawableTimeout:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CAMetalLayer", b"setDisplaySyncEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"CAMetalLayer", b"setFramebufferOnly:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CAMetalLayer", - b"setPresentsWithTransaction:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"CAMetalLayer", - b"setWantsExtendedDynamicRangeContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CAMetalLayer", b"wantsExtendedDynamicRangeContent", {"retval": {"type": "Z"}}) - r( - b"CAOpenGLLayer", - b"canDrawInCGLContext:pixelFormat:forLayerTime:displayTime:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - } - }, - }, - ) - r( - b"CAOpenGLLayer", - b"drawInCGLContext:pixelFormat:forLayerTime:displayTime:", - { - "arguments": { - 5: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - } - } - }, - ) - r(b"CAOpenGLLayer", b"isAsynchronous", {"retval": {"type": b"Z"}}) - r(b"CAOpenGLLayer", b"setAsynchronous:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CAOpenGLLayer", - b"setWantsExtendedDynamicRangeContent:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CAOpenGLLayer", b"wantsExtendedDynamicRangeContent", {"retval": {"type": "Z"}}) - r(b"CAPropertyAnimation", b"isAdditive", {"retval": {"type": b"Z"}}) - r(b"CAPropertyAnimation", b"isCumulative", {"retval": {"type": b"Z"}}) - r(b"CAPropertyAnimation", b"setAdditive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAPropertyAnimation", b"setCumulative:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CARenderer", - b"beginFrameAtTime:timeStamp:", - { - "arguments": { - 3: { - "type": b"^{_CVTimeStamp=IiqQdq{CVSMPTETime=ssIIIssss}QQ}", - "type_modifier": b"n", - } - } - }, - ) - r( - b"CARenderer", - b"rendererWithCGLContext:options:", - {"arguments": {2: {"type": "^{_CGLContextObject=}"}}}, - ) - r(b"CAReplicatorLayer", b"preservesDepth", {"retval": {"type": b"Z"}}) - r(b"CAReplicatorLayer", b"setPreservesDepth:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CATextLayer", b"allowsFontSubpixelQuantization", {"retval": {"type": "Z"}}) - r(b"CATextLayer", b"font", {"retval": {"type": b"@"}}) - r(b"CATextLayer", b"isWrapped", {"retval": {"type": b"Z"}}) - r( - b"CATextLayer", - b"setAllowsFontSubpixelQuantization:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CATextLayer", b"setFont:", {"arguments": {2: {"type": b"@"}}}) - r(b"CATextLayer", b"setWrapped:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CATransaction", - b"completionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"CATransaction", b"disableActions", {"retval": {"type": b"Z"}}) - r( - b"CATransaction", - b"setCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CATransaction", b"setDisableActions:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CIAztecCodeDescriptor", b"isCompact", {"retval": {"type": "Z"}}) - r(b"CIColor", b"components", {"retval": {"c_array_of_variable_length": True}}) - r( - b"CIContext", - b"HEIF10RepresentationOfImage:colorSpace:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"createCGImage:fromRect:format:colorSpace:deferred:", - {"retval": {"already_cfretained": True}, "arguments": {6: {"type": "Z"}}}, - ) - r( - b"CIContext", - b"createCGLayerWithSize:info:", - {"retval": {"already_cfretained": True}}, - ) - r( - b"CIContext", - b"prepareRender:fromRect:toDestination:atPoint:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"render:toBitmap:rowBytes:bounds:format:colorSpace:", - {"arguments": {3: {"type_modifier": b"o", "c_array_of_variable_length": True}}}, - ) - r( - b"CIContext", - b"startTaskToClear:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"startTaskToRender:fromRect:toDestination:atPoint:error:", - {"arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"startTaskToRender:toDestination:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"writeHEIF10RepresentationOfImage:toURL:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"writeHEIFRepresentationOfImage:toURL:format:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"writeJPEGRepresentationOfImage:toURL:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CIContext", - b"writePNGRepresentationOfImage:toURL:format:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {7: {"type_modifier": b"o"}}}, - ) - r(b"CIFaceFeature", b"hasFaceAngle", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasLeftEyePosition", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasMouthPosition", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasRightEyePosition", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasSmile", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasTrackingFrameCount", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"hasTrackingID", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"leftEyeClosed", {"retval": {"type": b"Z"}}) - r(b"CIFaceFeature", b"rightEyeClosed", {"retval": {"type": b"Z"}}) - r(b"CIFilter", b"apply:", {"c_array_delimited_by_null": True, "variadic": True}) - r( - b"CIFilter", - b"filterArrayFromSerializedXMP:inputImageExtent:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CIFilter", - b"filterWithName:keysAndValues:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r(b"CIFilter", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"CIFilter", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"CIFilterGenerator", - b"writeToURL:atomically:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type": b"Z"}}}, - ) - r(b"CIFilterShape", b"transformBy:interior:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"CIImage", - b"imageByApplyingTransform:highQualityDownsample:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"CIImage", - b"imageWithTexture:size:flipped:colorSpace:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"CIImage", - b"imageWithTexture:size:flipped:options:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"CIImage", - b"initWithTexture:size:flipped:colorSpace:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"CIImage", - b"initWithTexture:size:flipped:options:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"CIImage", - b"writeHEIFRepresentationOfImage:toURL:format:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"CIImage", - b"writeJPEGRepresentationOfImage:toURL:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {6: {"type_modifier": b"o"}}}, - ) - r( - b"CIImage", - b"writePNGRepresentationOfImage:toURL:format:colorSpace:options:error:", - {"retval": {"type": "Z"}, "arguments": {7: {"type_modifier": b"o"}}}, - ) - r( - b"CIImageProcessorKernel", - b"applyWithExtent:inputs:arguments:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"CIImageProcessorKernel", - b"processWithInputs:arguments:output:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"CIKernel", - b"applyWithExtent:roiCallback:arguments:", - { - "arguments": { - 3: { - "callable": { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"i"}, - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - } - } - } - }, - ) - r( - b"CIKernel", - b"kernelWithFunctionName:fromMetalLibraryData:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"CIKernel", - b"kernelWithFunctionName:fromMetalLibraryData:outputPixelFormat:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"CIKernel", - b"kernelsWithMetalString:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"CIKernel", - b"setROISelector:", - { - "arguments": { - 2: { - "sel_of_type": sel32or64( - b"{CGRect={CGPoint=ff}{CGSize=ff}}@:i{CGRect={CGPoint=ff}{CGSize=ff}}@", - b"{CGRect={CGPoint=dd}{CGSize=dd}}@:i{CGRect={CGPoint=dd}{CGSize=dd}}@", - ) - } - } - }, - ) - r(b"CIPDF417CodeDescriptor", b"isCompact", {"retval": {"type": "Z"}}) - r( - b"CIPlugIn", - b"loadPlugIn:allowExecutableCode:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"CIPlugIn", - b"loadPlugIn:allowNonExecutable:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"CIRAWFilter", b"isColorNoiseReductionSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isContrastSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isDetailSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isGamutMappingEnabled", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isLensCorrectionEnabled", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isLensCorrectionSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isLocalToneMapSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isLuminanceNoiseReductionSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isMoireReductionSupported", {"retval": {"type": "Z"}}) - r(b"CIRAWFilter", b"isSharpnessSupported", {"retval": {"type": "Z"}}) - r( - b"CIRAWFilter", - b"setColorNoiseReductionSupported:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CIRAWFilter", b"setContrastSupported:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setDetailSupported:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setGamutMappingEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setLensCorrectionEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setLensCorrectionSupported:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setLocalToneMapSupported:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CIRAWFilter", - b"setLuminanceNoiseReductionSupported:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CIRAWFilter", b"setMoireReductionSupported:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRAWFilter", b"setSharpnessSupported:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CIRenderDestination", - b"blendsInDestinationColorSpace", - {"retval": {"type": "Z"}}, - ) - r( - b"CIRenderDestination", - b"initWithWidth:height:pixelFormat:commandBuffer:mtlTextureProvider:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"CIRenderDestination", b"isClamped", {"retval": {"type": "Z"}}) - r(b"CIRenderDestination", b"isDithered", {"retval": {"type": "Z"}}) - r(b"CIRenderDestination", b"isFlipped", {"retval": {"type": "Z"}}) - r( - b"CIRenderDestination", - b"setBlendsInDestinationColorSpace:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"CIRenderDestination", b"setClamped:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRenderDestination", b"setDithered:", {"arguments": {2: {"type": "Z"}}}) - r(b"CIRenderDestination", b"setFlipped:", {"arguments": {2: {"type": "Z"}}}) - r( - b"CIRenderTask", - b"waitUntilCompletedAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"CISampler", - b"initWithImage:keysAndValues:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"CISampler", - b"samplerWithImage:keysAndValues:", - {"c_array_delimited_by_null": True, "variadic": True}, - ) - r( - b"CIVector", - b"initWithValues:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"CIVector", - b"vectorWithValues:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"CIWarpKernel", - b"applyWithExtent:roiCallback:inputImage:arguments:", - { - "arguments": { - 3: { - "callable": { - "retval": { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"i"}, - 2: { - "type": sel32or64( - b"{_NSRect={_NSPoint=ff}{_NSSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - }, - }, - } - } - } - }, - ) - r(b"NSObject", b"EV", {"retval": {"type": "f"}}) - r(b"NSObject", b"NRNoiseLevel", {"retval": {"type": "f"}}) - r(b"NSObject", b"NRSharpness", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"actionForLayer:forKey:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"acuteAngle", {"retval": {"type": "f"}}) - r(b"NSObject", b"alwaysSpecifyCompaction", {"retval": {"type": "f"}}) - r(b"NSObject", b"amount", {"retval": {"type": "f"}}) - r(b"NSObject", b"angle", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"animationDidStart:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"animationDidStop:finished:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r(b"NSObject", b"aspectRatio", {"retval": {"type": "f"}}) - r(b"NSObject", b"autoreverses", {"required": True, "retval": {"type": b"Z"}}) - r(b"NSObject", b"barOffset", {"retval": {"type": "f"}}) - r(b"NSObject", b"barcodeHeight", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"baseAddress", - {"retval": {"type": "^v", "c_array_of_variable_length": True}}, - ) - r(b"NSObject", b"beginTime", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"bias", {"retval": {"type": "f"}}) - r(b"NSObject", b"bottomHeight", {"retval": {"type": "f"}}) - r(b"NSObject", b"bottomLeft", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"bottomRight", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"breakpoint0", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"breakpoint1", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"brightness", {"retval": {"type": "f"}}) - r(b"NSObject", b"bytesPerRow", {"retval": {"type": "L"}}) - r(b"NSObject", b"centerStretchAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"closeness1", {"retval": {"type": "f"}}) - r(b"NSObject", b"closeness2", {"retval": {"type": "f"}}) - r(b"NSObject", b"closeness3", {"retval": {"type": "f"}}) - r(b"NSObject", b"compactStyle", {"retval": {"type": "f"}}) - r(b"NSObject", b"compactionMode", {"retval": {"type": "f"}}) - r(b"NSObject", b"compression", {"retval": {"type": "f"}}) - r(b"NSObject", b"concentration", {"retval": {"type": "f"}}) - r(b"NSObject", b"contrast", {"retval": {"type": "f"}}) - r(b"NSObject", b"contrast1", {"retval": {"type": "f"}}) - r(b"NSObject", b"contrast2", {"retval": {"type": "f"}}) - r(b"NSObject", b"contrast3", {"retval": {"type": "f"}}) - r(b"NSObject", b"correctionLevel", {"retval": {"type": "f"}}) - r(b"NSObject", b"count", {"retval": {"type": "q"}}) - r(b"NSObject", b"crop", {"retval": {"type": "B"}}) - r(b"NSObject", b"cropAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"crossAngle", {"retval": {"type": "f"}}) - r(b"NSObject", b"crossOpacity", {"retval": {"type": "f"}}) - r(b"NSObject", b"crossScale", {"retval": {"type": "f"}}) - r(b"NSObject", b"crossWidth", {"retval": {"type": "f"}}) - r(b"NSObject", b"cubeDimension", {"retval": {"type": "f"}}) - r(b"NSObject", b"dataColumns", {"retval": {"type": "f"}}) - r(b"NSObject", b"decay", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"displayLayer:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"dither", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"drawLayer:inContext:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"^{CGContext=}"}}, - }, - ) - r(b"NSObject", b"duration", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"edgeIntensity", {"retval": {"type": "f"}}) - r(b"NSObject", b"epsilon", {"retval": {"type": "f"}}) - r(b"NSObject", b"extent", {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}) - r(b"NSObject", b"fadeThreshold", {"retval": {"type": "f"}}) - r(b"NSObject", b"falloff", {"retval": {"type": "f"}}) - r(b"NSObject", b"fillMode", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"filterWithName:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"flipYTiles", {"retval": {"type": "B"}}) - r(b"NSObject", b"focalLength", {"retval": {"type": "f"}}) - r(b"NSObject", b"foldShadowAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"fontSize", {"retval": {"type": "f"}}) - r(b"NSObject", b"format", {"retval": {"type": sel32or64(b"i", b"q")}}) - r(b"NSObject", b"grayComponentReplacement", {"retval": {"type": "f"}}) - r(b"NSObject", b"growAmount", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"haloOverlap", {"retval": {"type": "f"}}) - r(b"NSObject", b"haloRadius", {"retval": {"type": "f"}}) - r(b"NSObject", b"haloWidth", {"retval": {"type": "f"}}) - r(b"NSObject", b"headIndex", {"retval": {"type": "f"}}) - r(b"NSObject", b"height", {"retval": {"type": "f"}}) - r(b"NSObject", b"highLimit", {"retval": {"type": "f"}}) - r(b"NSObject", b"highlightAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"insetPoint0", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"insetPoint1", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"intensity", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"invalidateLayoutOfLayer:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"layer", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"layerWillDraw:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"layers", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"layoutSublayersOfLayer:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"levels", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"load:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"^v"}}}, - ) - r(b"NSObject", b"lowLimit", {"retval": {"type": "f"}}) - r(b"NSObject", b"lumaSigma", {"retval": {"type": "f"}}) - r(b"NSObject", b"maxHeight", {"retval": {"type": "f"}}) - r(b"NSObject", b"maxStriationRadius", {"retval": {"type": "f"}}) - r(b"NSObject", b"maxWidth", {"retval": {"type": "f"}}) - r(b"NSObject", b"minHeight", {"retval": {"type": "f"}}) - r(b"NSObject", b"minWidth", {"retval": {"type": "f"}}) - r(b"NSObject", b"neutral", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"noiseLevel", {"retval": {"type": "f"}}) - r(b"NSObject", b"numberOfFolds", {"retval": {"type": "f"}}) - r(b"NSObject", b"opacity", {"retval": {"type": "f"}}) - r(b"NSObject", b"parameterB", {"retval": {"type": "f"}}) - r(b"NSObject", b"parameterC", {"retval": {"type": "f"}}) - r(b"NSObject", b"passes", {"retval": {"type": "f"}}) - r(b"NSObject", b"perceptual", {"retval": {"type": "B"}}) - r(b"NSObject", b"periodicity", {"retval": {"type": "f"}}) - r(b"NSObject", b"pitch", {"retval": {"type": "f"}}) - r(b"NSObject", b"point", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"point0", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"point1", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"point2", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"point3", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"point4", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"power", {"retval": {"type": "f"}}) - r(b"NSObject", b"preferredAspectRatio", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"preferredSizeOfLayer:", - { - "required": False, - "retval": {"type": b"{CGSize=dd}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"provideImageData:bytesPerRow:origin::size::userInfo:", - { - "retval": {"type": b"v"}, - "arguments": { - 2: { - "type": b"^v", - "type_modifier": b"o", - "c_array_of_variable_length": True, - }, - 3: {"type": b"Q"}, - 4: {"type": b"Q"}, - 5: {"type": b"Q"}, - 6: {"type": b"Q"}, - 7: {"type": b"Q"}, - 8: {"type": b"@"}, - }, - }, - ) - r(b"NSObject", b"quietSpace", {"retval": {"type": "f"}}) - r(b"NSObject", b"radius", {"retval": {"type": "f"}}) - r(b"NSObject", b"radius0", {"retval": {"type": "f"}}) - r(b"NSObject", b"radius1", {"retval": {"type": "f"}}) - r(b"NSObject", b"refraction", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"region", - { - "retval": { - "type": sel32or64( - b"{CGRect={CGPoint=ff}{CGSize=ff}}", - b"{CGRect={CGPoint=dd}{CGSize=dd}}", - ) - } - }, - ) - r(b"NSObject", b"repeatCount", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"repeatDuration", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"ringAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"ringSize", {"retval": {"type": "f"}}) - r(b"NSObject", b"roll", {"retval": {"type": "f"}}) - r(b"NSObject", b"rotation", {"retval": {"type": "f"}}) - r(b"NSObject", b"rows", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"runActionForKey:object:arguments:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"saturation", {"retval": {"type": "f"}}) - r(b"NSObject", b"scaleFactor", {"retval": {"type": "f"}}) - r(b"NSObject", b"setAcuteAngle:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setAlwaysSpecifyCompaction:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setAngle:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setAspectRatio:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setAutoreverses:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSObject", b"setBarOffset:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setBarcodeHeight:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setBeginTime:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r(b"NSObject", b"setBias:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setBottomHeight:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setBottomLeft:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setBottomRight:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setBreakpoint0:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setBreakpoint1:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setBrightness:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCenterStretchAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCloseness1:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCloseness2:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCloseness3:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCompactStyle:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCompactionMode:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCompression:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setConcentration:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setContrast1:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setContrast2:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setContrast3:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setContrast:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCorrectionLevel:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCount:", {"arguments": {2: {"type": "q"}}}) - r(b"NSObject", b"setCrop:", {"arguments": {2: {"type": "B"}}}) - r(b"NSObject", b"setCropAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCrossAngle:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCrossOpacity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCrossScale:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCrossWidth:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setCubeDimension:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setDataColumns:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setDecay:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setDither:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setDuration:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r(b"NSObject", b"setEV:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setEdgeIntensity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setEpsilon:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setExtent:", - {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, - ) - r(b"NSObject", b"setFadeThreshold:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setFalloff:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setFillMode:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"setFlipYTiles:", {"arguments": {2: {"type": "B"}}}) - r(b"NSObject", b"setFocalLength:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setFoldShadowAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setFontSize:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setGrayComponentReplacement:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setGrowAmount:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setHaloOverlap:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHaloRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHaloWidth:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHeadIndex:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHeight:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHighLimit:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setHighlightAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setInsetPoint0:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setInsetPoint1:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setIntensity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setLayers:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setLevels:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setLowLimit:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setLumaSigma:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setMaxHeight:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setMaxStriationRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setMaxWidth:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setMinHeight:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setMinWidth:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setNRNoiseLevel:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setNRSharpness:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setNeutral:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setNoiseLevel:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setNumberOfFolds:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setOpacity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setParameterB:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setParameterC:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setPasses:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setPerceptual:", {"arguments": {2: {"type": "B"}}}) - r(b"NSObject", b"setPeriodicity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setPitch:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setPoint0:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPoint1:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPoint2:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPoint3:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPoint4:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPoint:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setPower:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setPreferredAspectRatio:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setQuietSpace:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRadius0:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRadius1:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRefraction:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setRepeatCount:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r( - b"NSObject", - b"setRepeatDuration:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r(b"NSObject", b"setRingAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRingSize:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRoll:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRotation:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setRows:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSaturation:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setScaleFactor:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSftmaxNormalization:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setShadowAmount:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setShadowDensity:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setShadowExtent:", - {"arguments": {2: {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}}, - ) - r(b"NSObject", b"setShadowOffset:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setShadowRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setShadowSize:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSharpness:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSoftmaxNormalization:", {"arguments": {2: {"type": "B"}}}) - r(b"NSObject", b"setSoftness:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSpatialSigma:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setSpeed:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"f"}}}, - ) - r(b"NSObject", b"setStrands:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setStriationContrast:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setStriationStrength:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setSunRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setTargetNeutral:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setThreshold:", {"arguments": {2: {"type": "f"}}}) - r( - b"NSObject", - b"setTimeOffset:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r(b"NSObject", b"setTopLeft:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r(b"NSObject", b"setTopRight:", {"arguments": {2: {"type": "{CGPoint=dd}"}}}) - r( - b"NSObject", - b"setTransform:", - {"arguments": {2: {"type": "{CGAffineTransform=dddddd}"}}}, - ) - r(b"NSObject", b"setUnderColorRemoval:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setUnsharpMaskIntensity:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setUnsharpMaskRadius:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setValue:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setWidth:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setYaw:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"setZoom:", {"arguments": {2: {"type": "f"}}}) - r(b"NSObject", b"shadowAmount", {"retval": {"type": "f"}}) - r(b"NSObject", b"shadowDensity", {"retval": {"type": "f"}}) - r( - b"NSObject", - b"shadowExtent", - {"retval": {"type": "{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r(b"NSObject", b"shadowOffset", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"shadowRadius", {"retval": {"type": "f"}}) - r(b"NSObject", b"shadowSize", {"retval": {"type": "f"}}) - r(b"NSObject", b"sharpness", {"retval": {"type": "f"}}) - r(b"NSObject", b"softmaxNormalization", {"retval": {"type": "B"}}) - r(b"NSObject", b"softness", {"retval": {"type": "f"}}) - r(b"NSObject", b"spatialSigma", {"retval": {"type": "f"}}) - r(b"NSObject", b"speed", {"required": True, "retval": {"type": b"f"}}) - r(b"NSObject", b"strands", {"retval": {"type": "f"}}) - r(b"NSObject", b"striationContrast", {"retval": {"type": "f"}}) - r(b"NSObject", b"striationStrength", {"retval": {"type": "f"}}) - r(b"NSObject", b"sunRadius", {"retval": {"type": "f"}}) - r(b"NSObject", b"targetNeutral", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"texture", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"threshold", {"retval": {"type": "f"}}) - r(b"NSObject", b"timeOffset", {"required": True, "retval": {"type": b"d"}}) - r(b"NSObject", b"topLeft", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"topRight", {"retval": {"type": "{CGPoint=dd}"}}) - r(b"NSObject", b"transform", {"retval": {"type": "{CGAffineTransform=dddddd}"}}) - r(b"NSObject", b"underColorRemoval", {"retval": {"type": "f"}}) - r(b"NSObject", b"unsharpMaskIntensity", {"retval": {"type": "f"}}) - r(b"NSObject", b"unsharpMaskRadius", {"retval": {"type": "f"}}) - r(b"NSObject", b"value", {"retval": {"type": "f"}}) - r(b"NSObject", b"width", {"retval": {"type": "f"}}) - r(b"NSObject", b"yaw", {"retval": {"type": "f"}}) - r(b"NSObject", b"zoom", {"retval": {"type": "f"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "CAAnimationDelegate": objc.informal_protocol( - "CAAnimationDelegate", - [ - objc.selector(None, b"animationDidStart:", b"v@:@", isRequired=False), - objc.selector( - None, b"animationDidStop:finished:", b"v@:@Z", isRequired=False - ), - ], - ), - "CALayerDelegate": objc.informal_protocol( - "CALayerDelegate", - [ - objc.selector( - None, b"drawLayer:inContext:", b"v@:@^{CGContext=}", isRequired=False - ), - objc.selector(None, b"actionForLayer:forKey:", b"@@:@@", isRequired=False), - objc.selector(None, b"displayLayer:", b"v@:@", isRequired=False), - objc.selector(None, b"layoutSublayersOfLayer:", b"v@:@", isRequired=False), - ], - ), - "CIImageProvider": objc.informal_protocol( - "CIImageProvider", - [ - objc.selector( - None, - b"provideImageData:bytesPerRow:origin::size::userInfo:", - b"v@:^vQQQQQ@", - isRequired=False, - ) - ], - ), - "CALayoutManager": objc.informal_protocol( - "CALayoutManager", - [ - objc.selector( - None, b"preferredSizeOfLayer:", b"{CGSize=dd}@:@", isRequired=False - ), - objc.selector(None, b"layoutSublayersOfLayer:", b"v@:@", isRequired=False), - objc.selector(None, b"invalidateLayoutOfLayer:", b"v@:@", isRequired=False), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/QuartzFilters/__init__.py b/src/lib/Quartz/QuartzFilters/__init__.py deleted file mode 100644 index aa752a2..0000000 --- a/src/lib/Quartz/QuartzFilters/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the QuartzCore framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from Quartz.QuartzFilters import _metadata - -sys.modules["Quartz.QuartzFilters"] = mod = objc.ObjCLazyModule( - "Quartz.QuartzFilters", - "com.apple.quartzfilters", - objc.pathForFramework( - "/System/Library/Frameworks/Quartz.framework/Frameworks/QuartzFilters.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["Quartz.QuartzFilters._metadata"] diff --git a/src/lib/Quartz/QuartzFilters/_metadata.py b/src/lib/Quartz/QuartzFilters/_metadata.py deleted file mode 100644 index 6c6fced..0000000 --- a/src/lib/Quartz/QuartzFilters/_metadata.py +++ /dev/null @@ -1,94 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$globalUpdateOK@Z$kQuartzFilterApplicationDomain$kQuartzFilterManagerDidAddFilterNotification$kQuartzFilterManagerDidModifyFilterNotification$kQuartzFilterManagerDidRemoveFilterNotification$kQuartzFilterManagerDidSelectFilterNotification$kQuartzFilterPDFWorkflowDomain$kQuartzFilterPrintingDomain$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"quartzFilterManager:didAddFilter:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"quartzFilterManager:didModifyFilter:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"quartzFilterManager:didRemoveFilter:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"quartzFilterManager:didSelectFilter:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r(b"QuartzFilter", b"applyToContext:", {"retval": {"type": b"Z"}}) - r(b"QuartzFilterManager", b"selectFilter:", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "QuartzFilterManagerDelegate": objc.informal_protocol( - "QuartzFilterManagerDelegate", - [ - objc.selector( - None, - b"quartzFilterManager:didSelectFilter:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, b"quartzFilterManager:didAddFilter:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"quartzFilterManager:didModifyFilter:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"quartzFilterManager:didRemoveFilter:", - b"v@:@@", - isRequired=False, - ), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/QuickLookUI/__init__.py b/src/lib/Quartz/QuickLookUI/__init__.py deleted file mode 100644 index 8383353..0000000 --- a/src/lib/Quartz/QuickLookUI/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the QuickLookUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Cocoa -import objc -from Quartz.QuickLookUI import _metadata -from Quartz.QuickLookUI import _QuickLookUI - -sys.modules["Quartz.QuickLookUI"] = mod = objc.ObjCLazyModule( - "Quartz.QuickLookUI", - "com.apple.QuickLookUIFramework", - objc.pathForFramework( - # XXX: This moved to a separate framework in macOS 12 - "/System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_QuickLookUI, Cocoa), -) - - -del sys.modules["Quartz.QuickLookUI._metadata"] diff --git a/src/lib/Quartz/QuickLookUI/_metadata.py b/src/lib/Quartz/QuickLookUI/_metadata.py deleted file mode 100644 index 3deac8b..0000000 --- a/src/lib/Quartz/QuickLookUI/_metadata.py +++ /dev/null @@ -1,273 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:41:01 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$QLPreviewViewStyleCompact@1$QLPreviewViewStyleNormal@0$""" -misc.update({"QLPreviewViewStyle": NewType("QLPreviewViewStyle", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"acceptsPreviewPanelControl:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"beginPreviewPanelControl:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"endPreviewPanelControl:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"numberOfPreviewItemsInPreviewPanel:", - {"required": True, "retval": {"type": b"q"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"preparePreviewOfFileAtURL:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"preparePreviewOfSearchableItemWithIdentifier:queryString:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"previewItemDisplayState", - {"required": False, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"previewItemTitle", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"previewItemURL", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"previewPanel:handleEvent:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"previewPanel:previewItemAtIndex:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"previewPanel:sourceFrameOnScreenForPreviewItem:", - { - "required": False, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"previewPanel:transitionImageForPreviewItem:contentRect:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "type": b"^{CGRect={CGPoint=dd}{CGSize=dd}}", - "type_modifier": b"n", - }, - }, - }, - ) - r( - b"NSObject", - b"providePreviewForFileRequest:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"setPreviewItemDisplayState:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPreviewItemTitle:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPreviewItemURL:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"QLPreviewPanel", - b"enterFullScreenMode:withOptions:", - {"retval": {"type": b"Z"}}, - ) - r(b"QLPreviewPanel", b"isInFullScreenMode", {"retval": {"type": b"Z"}}) - r(b"QLPreviewPanel", b"sharedPreviewPanelExists", {"retval": {"type": b"Z"}}) - r( - b"QLPreviewReply", - b"initForPDFWithPageSize:documentCreationBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^@"}, - }, - } - } - } - }, - ) - r( - b"QLPreviewReply", - b"initWithContextSize:isBitmap:drawingBlock:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{CGContext=}"}, - 2: {"type": b"@"}, - 3: {"type": b"o^@"}, - }, - } - }, - } - }, - ) - r( - b"QLPreviewReply", - b"initWithDataOfContentType:contentSize:dataCreationBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^@"}, - }, - } - } - } - }, - ) - r(b"QLPreviewView", b"autostarts", {"retval": {"type": b"Z"}}) - r(b"QLPreviewView", b"setAutostarts:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"QLPreviewView", - b"setShouldCloseWithWindow:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"QLPreviewView", b"shouldCloseWithWindow", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "QLPreviewPanelController": objc.informal_protocol( - "QLPreviewPanelController", - [ - objc.selector( - None, b"beginPreviewPanelControl:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"acceptsPreviewPanelControl:", b"Z@:@", isRequired=False - ), - objc.selector(None, b"endPreviewPanelControl:", b"v@:@", isRequired=False), - ], - ) -} -expressions = {} - -# END OF FILE diff --git a/src/lib/Quartz/__init__.py b/src/lib/Quartz/__init__.py deleted file mode 100644 index ec39b5f..0000000 --- a/src/lib/Quartz/__init__.py +++ /dev/null @@ -1,110 +0,0 @@ -""" -Helper module that makes it easier to import all of Quartz -""" -import sys - -import AppKit -import objc - - -def _load(): - submods = [] - sys.modules["Quartz"] = mod = objc.ObjCLazyModule( - "Quartz", - None, - None, - {}, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - submods, - ) - - try: - from Quartz import CoreGraphics as m - - submods.append(m) - mod.CoreGraphics = m - except ImportError: - raise - - try: - from Quartz import ImageIO as m - - submods.append(m) - mod.ImageIO = m - except ImportError: - pass - - try: - from Quartz import ImageKit as m - - submods.append(m) - mod.ImageIO = m - except ImportError: - pass - - try: - from Quartz import CoreVideo as m - - submods.append(m) - mod.CoreVideo = m - except ImportError: - pass - - try: - from Quartz import QuartzCore as m - - submods.append(m) - mod.QuartCore = m - except ImportError: - pass - - try: - from Quartz import ImageIO as m - - submods.append(m) - mod.ImageIO = m - except ImportError: - pass - - try: - from Quartz import PDFKit as m - - submods.append(m) - mod.PDFKit = m - except ImportError: - pass - - try: - from Quartz import QuartzFilters as m - - submods.append(m) - mod.QuartzFilters = m - except ImportError: - pass - - try: - from Quartz import QuickLookUI as m - - submods.append(m) - mod.QuickLookUI = m - except ImportError: - pass - - try: - from Quartz import QuartzComposer as m - - submods.append(m) - mod.QuartzComposer = m - except ImportError: - pass - - submods.append(AppKit) - - -_load() diff --git a/src/lib/QuickLookThumbnailing/__init__.py b/src/lib/QuickLookThumbnailing/__init__.py deleted file mode 100644 index 0206994..0000000 --- a/src/lib/QuickLookThumbnailing/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the QuickLookThumbnailing framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from QuickLookThumbnailing import _metadata - -sys.modules["QuickLookThumbnailing"] = mod = objc.ObjCLazyModule( - "QuickLookThumbnailing", - "com.apple.quicklookthumbnailing", - objc.pathForFramework("/System/Library/Frameworks/QuickLookThumbnailing.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["QuickLookThumbnailing._metadata"] diff --git a/src/lib/QuickLookThumbnailing/_metadata.py b/src/lib/QuickLookThumbnailing/_metadata.py deleted file mode 100644 index 69d8395..0000000 --- a/src/lib/QuickLookThumbnailing/_metadata.py +++ /dev/null @@ -1,148 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Jul 11 21:49:52 2021 -# -# flake8: noqa - -import objc, sys - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$QLThumbnailErrorDomain$""" -enums = """$QLThumbnailErrorGenerationFailed@0$QLThumbnailErrorNoCachedThumbnail@2$QLThumbnailErrorNoCloudThumbnail@3$QLThumbnailErrorRequestCancelled@5$QLThumbnailErrorRequestInvalid@4$QLThumbnailErrorSavingToURLFailed@1$QLThumbnailGenerationRequestRepresentationTypeAll@18446744073709551615$QLThumbnailGenerationRequestRepresentationTypeIcon@1$QLThumbnailGenerationRequestRepresentationTypeLowQualityThumbnail@2$QLThumbnailGenerationRequestRepresentationTypeThumbnail@4$QLThumbnailRepresentationTypeIcon@0$QLThumbnailRepresentationTypeLowQualityThumbnail@1$QLThumbnailRepresentationTypeThumbnail@2$""" -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"QLThumbnailGenerationRequest", b"iconMode", {"retval": {"type": b"Z"}}) - r( - b"QLThumbnailGenerationRequest", - b"setIconMode:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"QLThumbnailGenerator", - b"generateBestRepresentationForRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"QLThumbnailGenerator", - b"generateRepresentationsForRequest:updateHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"Q"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"QLThumbnailGenerator", - b"saveBestRepresentationForRequest:toFileAtURL:withContentType:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"QLThumbnailProvider", - b"provideThumbnailForFileRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"QLThumbnailReply", - b"replyWithContextSize:currentContextDrawingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"QLThumbnailReply", - b"replyWithContextSize:drawingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{CGContext=}"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ReplayKit/__init__.py b/src/lib/ReplayKit/__init__.py deleted file mode 100644 index 5c12006..0000000 --- a/src/lib/ReplayKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the ReplayKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from ReplayKit import _metadata -from ReplayKit import _ReplayKit - -sys.modules["ReplayKit"] = mod = objc.ObjCLazyModule( - "ReplayKit", - "com.apple.ReplayKit", - objc.pathForFramework("/System/Library/Frameworks/ReplayKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_ReplayKit, Foundation), -) - - -del sys.modules["ReplayKit._metadata"] diff --git a/src/lib/ReplayKit/_metadata.py b/src/lib/ReplayKit/_metadata.py deleted file mode 100644 index 53f3b1b..0000000 --- a/src/lib/ReplayKit/_metadata.py +++ /dev/null @@ -1,358 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:15:51 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$RPApplicationInfoBundleIdentifierKey$RPRecordingErrorDomain$RPVideoSampleOrientationKey$SCStreamErrorDomain$""" -enums = """$RPCameraPositionBack@2$RPCameraPositionFront@1$RPRecordingErrorActivePhoneCall@-5811$RPRecordingErrorAttemptToStartInRecordingState@-5830$RPRecordingErrorAttemptToStopNonRecording@-5829$RPRecordingErrorBroadcastInvalidSession@-5808$RPRecordingErrorBroadcastSetupFailed@-5819$RPRecordingErrorCarPlay@-5813$RPRecordingErrorCodeSuccessful@0$RPRecordingErrorContentResize@-5807$RPRecordingErrorDisabled@-5802$RPRecordingErrorEntitlements@-5810$RPRecordingErrorExportClipToURLInProgress@-5836$RPRecordingErrorFailed@-5804$RPRecordingErrorFailedApplicationConnectionInterrupted@-5815$RPRecordingErrorFailedApplicationConnectionInvalid@-5814$RPRecordingErrorFailedAssetWriterExportCanceled@-5828$RPRecordingErrorFailedAssetWriterExportFailed@-5826$RPRecordingErrorFailedAssetWriterFailedToSave@-5823$RPRecordingErrorFailedAssetWriterInWrongState@-5825$RPRecordingErrorFailedIncorrectTimeStamps@-5821$RPRecordingErrorFailedMediaServicesFailure@-5817$RPRecordingErrorFailedNoAssetWriter@-5824$RPRecordingErrorFailedNoMatchingApplicationContext@-5816$RPRecordingErrorFailedToObtainURL@-5820$RPRecordingErrorFailedToProcessFirstSample@-5822$RPRecordingErrorFailedToRemoveFile@-5827$RPRecordingErrorFailedToSave@-5812$RPRecordingErrorFailedToStart@-5803$RPRecordingErrorFailedToStartCaptureStack@-5833$RPRecordingErrorFilePermissions@-5835$RPRecordingErrorInsufficientStorage@-5805$RPRecordingErrorInterrupted@-5806$RPRecordingErrorInvalidParameter@-5834$RPRecordingErrorPhotoFailure@-5831$RPRecordingErrorRecordingInvalidSession@-5832$RPRecordingErrorSystemDormancy@-5809$RPRecordingErrorUnknown@-5800$RPRecordingErrorUserDeclined@-5801$RPRecordingErrorVideoMixingFailure@-5818$RPSampleBufferTypeAudioApp@2$RPSampleBufferTypeAudioMic@3$RPSampleBufferTypeVideo@1$""" -misc.update( - { - "RPRecordingErrorCode": NewType("RPRecordingErrorCode", int), - "RPCameraPosition": NewType("RPCameraPosition", int), - "RPSampleBufferType": NewType("RPSampleBufferType", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSExtensionContext", - b"loadBroadcastingApplicationInfoWithCompletion:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSObject", - b"broadcastActivityController:didFinishWithBroadcastController:error:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"broadcastController:didFinishWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"broadcastController:didUpdateBroadcastURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"broadcastController:didUpdateServiceInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"previewController:didFinishWithActivityTypes:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"previewControllerDidFinish:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"screenRecorder:didStopRecordingWithError:previewViewController:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"screenRecorder:didStopRecordingWithPreviewViewController:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"screenRecorderDidChangeAvailability:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"RPBroadcastActivityController", - b"showBroadcastPickerAtPoint:fromWindow:preferredExtensionIdentifier:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"RPBroadcastController", - b"finishBroadcastWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"RPBroadcastController", b"isBroadcasting", {"retval": {"type": b"Z"}}) - r(b"RPBroadcastController", b"isPaused", {"retval": {"type": b"Z"}}) - r( - b"RPBroadcastController", - b"startBroadcastWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"discardRecordingWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"exportClipToURL:duration:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r(b"RPScreenRecorder", b"isAvailable", {"retval": {"type": b"Z"}}) - r(b"RPScreenRecorder", b"isCameraEnabled", {"retval": {"type": b"Z"}}) - r(b"RPScreenRecorder", b"isMicrophoneEnabled", {"retval": {"type": b"Z"}}) - r(b"RPScreenRecorder", b"isRecording", {"retval": {"type": b"Z"}}) - r(b"RPScreenRecorder", b"setCameraEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"RPScreenRecorder", b"setMicrophoneEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"RPScreenRecorder", - b"startCaptureWithHandler:completionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - 2: {"type": b"q"}, - 3: {"type": b"@"}, - }, - } - }, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"RPScreenRecorder", - b"startClipBufferingWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"startRecordingWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"startRecordingWithMicrophoneEnabled:handler:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r( - b"RPScreenRecorder", - b"stopCaptureWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"stopClipBufferingWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"stopRecordingWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"RPScreenRecorder", - b"stopRecordingWithOutputURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SafariServices/__init__.py b/src/lib/SafariServices/__init__.py deleted file mode 100644 index 6cbff77..0000000 --- a/src/lib/SafariServices/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the SafariServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from SafariServices import _metadata -from SafariServices import _SafariServices - -sys.modules["SafariServices"] = mod = objc.ObjCLazyModule( - "SafariServices", - "com.apple.SafariServices", - objc.pathForFramework("/System/Library/Frameworks/SafariServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_SafariServices, Foundation), -) - - -del sys.modules["SafariServices._metadata"] diff --git a/src/lib/SafariServices/_metadata.py b/src/lib/SafariServices/_metadata.py deleted file mode 100644 index 7f5cf55..0000000 --- a/src/lib/SafariServices/_metadata.py +++ /dev/null @@ -1,494 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:19:41 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SFErrorDomain$SFExtensionMessageKey$""" -enums = """$SFErrorLoadingInterrupted@3$SFErrorNoAttachmentFound@2$SFErrorNoExtensionFound@1$SFSafariServicesVersion10_0@0$SFSafariServicesVersion10_1@1$SFSafariServicesVersion11_0@2$SFSafariServicesVersion12_0@3$SFSafariServicesVersion12_1@4$SFSafariServicesVersion13_0@5$""" -misc.update( - { - "SFErrorCode": NewType("SFErrorCode", int), - "SFSafariServicesVersion": NewType("SFSafariServicesVersion", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"additionalRequestHeadersForURL:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"contentBlockerWithIdentifier:blockedResourcesWithURLs:onPage:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"contextMenuItemSelectedWithCommand:inPage:userInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"messageReceivedFromContainingAppWithName:userInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"messageReceivedWithName:fromPage:userInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"page:willNavigateToURL:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"popoverDidCloseInWindow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"popoverViewController", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"popoverWillShowInWindow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"toolbarItemClickedInWindow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"validateContextMenuItemWithCommand:inPage:userInfo:validationHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"validateToolbarItemInWindow:validationHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"SFContentBlockerManager", - b"getStateOfContentBlockerWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SFContentBlockerManager", - b"reloadContentBlockerWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"SFContentBlockerState", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"SFContentBlockerState", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SFSafariApplication", - b"dispatchMessageWithName:toExtensionWithIdentifier:userInfo:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariApplication", - b"getActiveWindowWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariApplication", - b"getAllWindowsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariApplication", - b"getHostApplicationWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariApplication", - b"openWindowWithURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariApplication", - b"showPreferencesForExtensionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariExtension", - b"getBaseURIWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariExtensionManager", - b"getStateOfSafariExtensionWithIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"SFSafariExtensionState", b"isEnabled", {"retval": {"type": "Z"}}) - r( - b"SFSafariPage", - b"getContainingTabWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariPage", - b"getPagePropertiesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariPage", - b"getScreenshotOfVisibleAreaWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"SFSafariPageProperties", b"isActive", {"retval": {"type": "Z"}}) - r(b"SFSafariPageProperties", b"usesPrivateBrowsing", {"retval": {"type": "Z"}}) - r( - b"SFSafariTab", - b"activateWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SFSafariTab", - b"getActivePageWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariTab", - b"getContainingWindowWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SFSafariTab", - b"getPagesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"SFSafariToolbarItem", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SFSafariToolbarItem", - b"setEnabled:withBadgeText:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"SFSafariWindow", - b"getActiveTabWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariWindow", - b"getAllTabsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariWindow", - b"getToolbarItemWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SFSafariWindow", - b"openTabWithURL:makeActiveIfPossible:completionHandler:", - { - "arguments": { - 3: {"type": "Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - }, - } - }, - ) - r(b"SFUniversalLink", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"SFUniversalLink", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SceneKit/__init__.py b/src/lib/SceneKit/__init__.py deleted file mode 100644 index 901b427..0000000 --- a/src/lib/SceneKit/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -""" -Python mapping for the SceneKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import Quartz -from SceneKit import _metadata, _SceneKit -from SceneKit._inlines import _inline_list_ - -sys.modules["SceneKit"] = mod = objc.ObjCLazyModule( - "SceneKit", - "com.apple.SceneKit", - objc.pathForFramework("/System/Library/Frameworks/SceneKit.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_SceneKit, Cocoa, Quartz), -) - - -del sys.modules["SceneKit._metadata"] - -if not hasattr(mod, "SCNMatrix4Identity"): - # Two "inline" functions that use a symbol that is available on 10.10 or later, - # avoid crashes by removing the inline function wrappers when that symbol - # is not available. - try: - mod.SCNMatrix4MakeTranslation - del mod.SCNMatrix4MakeTranslation - except AttributeError: - pass - - try: - mod.SCNMatrix4MakeScale - del mod.SCNMatrix4MakeScale - except AttributeError: - pass diff --git a/src/lib/SceneKit/_metadata.py b/src/lib/SceneKit/_metadata.py deleted file mode 100644 index 9475d0e..0000000 --- a/src/lib/SceneKit/_metadata.py +++ /dev/null @@ -1,1864 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:22:35 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "SCNVector4": objc.createStructType( - "SceneKit.SCNVector4", b"{SCNVector4=dddd}", ["x", "y", "z", "w"] - ), - "SCNVector3": objc.createStructType( - "SceneKit.SCNVector3", b"{SCNVector3=ddd}", ["x", "y", "z"] - ), - } -) -constants = """$SCNConsistencyElementIDErrorKey$SCNConsistencyElementTypeErrorKey$SCNConsistencyLineNumberErrorKey$SCNDetailedErrorsKey$SCNErrorDomain$SCNGeometrySourceSemanticBoneIndices$SCNGeometrySourceSemanticBoneWeights$SCNGeometrySourceSemanticColor$SCNGeometrySourceSemanticEdgeCrease$SCNGeometrySourceSemanticNormal$SCNGeometrySourceSemanticTangent$SCNGeometrySourceSemanticTexcoord$SCNGeometrySourceSemanticVertex$SCNGeometrySourceSemanticVertexCrease$SCNHitTestBackFaceCullingKey$SCNHitTestBoundingBoxOnlyKey$SCNHitTestClipToZRangeKey$SCNHitTestFirstFoundOnlyKey$SCNHitTestIgnoreChildNodesKey$SCNHitTestIgnoreHiddenNodesKey$SCNHitTestOptionCategoryBitMask$SCNHitTestOptionIgnoreLightArea$SCNHitTestOptionSearchMode$SCNHitTestRootNodeKey$SCNHitTestSortResultsKey$SCNLightAttenuationEndKey$SCNLightAttenuationFalloffExponentKey$SCNLightAttenuationStartKey$SCNLightShadowFarClippingKey$SCNLightShadowNearClippingKey$SCNLightSpotInnerAngleKey$SCNLightSpotOuterAngleKey$SCNLightTypeAmbient$SCNLightTypeArea$SCNLightTypeDirectional$SCNLightTypeIES$SCNLightTypeOmni$SCNLightTypeProbe$SCNLightTypeSpot$SCNLightingModelBlinn$SCNLightingModelConstant$SCNLightingModelLambert$SCNLightingModelPhong$SCNLightingModelPhysicallyBased$SCNLightingModelShadowOnly$SCNMatrix4Identity@{CATransform3D=dddddddddddddddd}$SCNModelTransform$SCNModelViewProjectionTransform$SCNModelViewTransform$SCNNormalTransform$SCNParticlePropertyAngle$SCNParticlePropertyAngularVelocity$SCNParticlePropertyBounce$SCNParticlePropertyCharge$SCNParticlePropertyColor$SCNParticlePropertyContactNormal$SCNParticlePropertyContactPoint$SCNParticlePropertyFrame$SCNParticlePropertyFrameRate$SCNParticlePropertyFriction$SCNParticlePropertyLife$SCNParticlePropertyOpacity$SCNParticlePropertyPosition$SCNParticlePropertyRotationAxis$SCNParticlePropertySize$SCNParticlePropertyVelocity$SCNPhysicsShapeKeepAsCompoundKey$SCNPhysicsShapeOptionCollisionMargin$SCNPhysicsShapeScaleKey$SCNPhysicsShapeTypeBoundingBox$SCNPhysicsShapeTypeConcavePolyhedron$SCNPhysicsShapeTypeConvexHull$SCNPhysicsShapeTypeKey$SCNPhysicsTestBackfaceCullingKey$SCNPhysicsTestCollisionBitMaskKey$SCNPhysicsTestSearchModeAll$SCNPhysicsTestSearchModeAny$SCNPhysicsTestSearchModeClosest$SCNPhysicsTestSearchModeKey$SCNPreferLowPowerDeviceKey$SCNPreferredDeviceKey$SCNPreferredRenderingAPIKey$SCNProgramMappingChannelKey$SCNProjectionTransform$SCNSceneEndTimeAttributeKey$SCNSceneExportDestinationURL$SCNSceneFrameRateAttributeKey$SCNSceneSourceAnimationImportPolicyDoNotPlay$SCNSceneSourceAnimationImportPolicyKey$SCNSceneSourceAnimationImportPolicyPlay$SCNSceneSourceAnimationImportPolicyPlayRepeatedly$SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase$SCNSceneSourceAssetAuthorKey$SCNSceneSourceAssetAuthoringToolKey$SCNSceneSourceAssetContributorsKey$SCNSceneSourceAssetCreatedDateKey$SCNSceneSourceAssetDirectoryURLsKey$SCNSceneSourceAssetModifiedDateKey$SCNSceneSourceAssetUnitKey$SCNSceneSourceAssetUnitMeterKey$SCNSceneSourceAssetUnitNameKey$SCNSceneSourceAssetUpAxisKey$SCNSceneSourceCheckConsistencyKey$SCNSceneSourceConvertToYUpKey$SCNSceneSourceConvertUnitsToMetersKey$SCNSceneSourceCreateNormalsIfAbsentKey$SCNSceneSourceFlattenSceneKey$SCNSceneSourceLoadingOptionPreserveOriginalTopology$SCNSceneSourceOverrideAssetURLsKey$SCNSceneSourceStrictConformanceKey$SCNSceneSourceUseSafeModeKey$SCNSceneStartTimeAttributeKey$SCNSceneUpAxisAttributeKey$SCNShaderModifierEntryPointFragment$SCNShaderModifierEntryPointGeometry$SCNShaderModifierEntryPointLightingModel$SCNShaderModifierEntryPointSurface$SCNVector3Zero@{SCNVector3=ddd}$SCNVector4Zero@{SCNVector4=dddd}$SCNViewTransform$""" -enums = """$SCNActionTimingModeEaseIn@1$SCNActionTimingModeEaseInEaseOut@3$SCNActionTimingModeEaseOut@2$SCNActionTimingModeLinear@0$SCNAntialiasingModeMultisampling16X@4$SCNAntialiasingModeMultisampling2X@1$SCNAntialiasingModeMultisampling4X@2$SCNAntialiasingModeMultisampling8X@3$SCNAntialiasingModeNone@0$SCNBillboardAxisAll@7$SCNBillboardAxisX@1$SCNBillboardAxisY@2$SCNBillboardAxisZ@4$SCNBlendModeAdd@1$SCNBlendModeAlpha@0$SCNBlendModeMax@6$SCNBlendModeMultiply@3$SCNBlendModeReplace@5$SCNBlendModeScreen@4$SCNBlendModeSubtract@2$SCNBufferFrequencyPerFrame@0$SCNBufferFrequencyPerNode@1$SCNBufferFrequencyPerShadable@2$SCNCameraProjectionDirectionHorizontal@1$SCNCameraProjectionDirectionVertical@0$SCNChamferModeBack@2$SCNChamferModeBoth@0$SCNChamferModeFront@1$SCNClamp@1$SCNClampToBorder@3$SCNColorMaskAll@15$SCNColorMaskAlpha@1$SCNColorMaskBlue@2$SCNColorMaskGreen@4$SCNColorMaskNone@0$SCNColorMaskRed@8$SCNConsistencyInvalidArgumentError@1002$SCNConsistencyInvalidCountError@1001$SCNConsistencyInvalidURIError@1000$SCNConsistencyMissingAttributeError@1004$SCNConsistencyMissingElementError@1003$SCNConsistencyXMLSchemaValidationError@1005$SCNCullBack@0$SCNCullFront@1$SCNCullModeBack@0$SCNCullModeFront@1$SCNDebugOptionNone@0$SCNDebugOptionRenderAsWireframe@64$SCNDebugOptionShowBoundingBoxes@2$SCNDebugOptionShowCameras@1024$SCNDebugOptionShowConstraints@512$SCNDebugOptionShowCreases@256$SCNDebugOptionShowLightExtents@8$SCNDebugOptionShowLightInfluences@4$SCNDebugOptionShowPhysicsFields@16$SCNDebugOptionShowPhysicsShapes@1$SCNDebugOptionShowSkeletons@128$SCNDebugOptionShowWireframe@32$SCNFillModeFill@0$SCNFillModeLines@1$SCNFilterModeLinear@2$SCNFilterModeNearest@1$SCNFilterModeNone@0$SCNGeometryPrimitiveTypeLine@2$SCNGeometryPrimitiveTypePoint@3$SCNGeometryPrimitiveTypePolygon@4$SCNGeometryPrimitiveTypeTriangleStrip@1$SCNGeometryPrimitiveTypeTriangles@0$SCNHitTestSearchModeAll@1$SCNHitTestSearchModeAny@2$SCNHitTestSearchModeClosest@0$SCNInteractionModeFly@0$SCNInteractionModeOrbitAngleMapping@2$SCNInteractionModeOrbitArcball@4$SCNInteractionModeOrbitCenteredArcball@3$SCNInteractionModeOrbitTurntable@1$SCNInteractionModePan@5$SCNInteractionModeTruck@6$SCNLightAreaTypePolygon@4$SCNLightAreaTypeRectangle@1$SCNLightProbeTypeIrradiance@0$SCNLightProbeTypeRadiance@1$SCNLightProbeUpdateTypeNever@0$SCNLightProbeUpdateTypeRealtime@1$SCNLinearFiltering@2$SCNMirror@4$SCNMorpherCalculationModeAdditive@1$SCNMorpherCalculationModeNormalized@0$SCNMovabilityHintFixed@0$SCNMovabilityHintMovable@1$SCNNearestFiltering@1$SCNNoFiltering@0$SCNNodeFocusBehaviorFocusable@2$SCNNodeFocusBehaviorNone@0$SCNNodeFocusBehaviorOccluding@1$SCNParticleBirthDirectionConstant@0$SCNParticleBirthDirectionRandom@2$SCNParticleBirthDirectionSurfaceNormal@1$SCNParticleBirthLocationSurface@0$SCNParticleBirthLocationVertex@2$SCNParticleBirthLocationVolume@1$SCNParticleBlendModeAdditive@0$SCNParticleBlendModeAlpha@4$SCNParticleBlendModeMultiply@2$SCNParticleBlendModeReplace@5$SCNParticleBlendModeScreen@3$SCNParticleBlendModeSubtract@1$SCNParticleEventBirth@0$SCNParticleEventCollision@2$SCNParticleEventDeath@1$SCNParticleImageSequenceAnimationModeAutoReverse@2$SCNParticleImageSequenceAnimationModeClamp@1$SCNParticleImageSequenceAnimationModeRepeat@0$SCNParticleInputModeOverDistance@1$SCNParticleInputModeOverLife@0$SCNParticleInputModeOverOtherProperty@2$SCNParticleModifierStagePostCollision@3$SCNParticleModifierStagePostDynamics@1$SCNParticleModifierStagePreCollision@2$SCNParticleModifierStagePreDynamics@0$SCNParticleOrientationModeBillboardScreenAligned@0$SCNParticleOrientationModeBillboardViewAligned@1$SCNParticleOrientationModeBillboardYAligned@3$SCNParticleOrientationModeFree@2$SCNParticleSortingModeDistance@2$SCNParticleSortingModeNone@0$SCNParticleSortingModeOldestFirst@3$SCNParticleSortingModeProjectedDepth@1$SCNParticleSortingModeYoungestFirst@4$SCNPhysicsBodyTypeDynamic@1$SCNPhysicsBodyTypeKinematic@2$SCNPhysicsBodyTypeStatic@0$SCNPhysicsCollisionCategoryAll@18446744073709551615$SCNPhysicsCollisionCategoryDefault@1$SCNPhysicsCollisionCategoryStatic@2$SCNPhysicsFieldScopeInsideExtent@0$SCNPhysicsFieldScopeOutsideExtent@1$SCNProgramCompilationError@1$SCNReferenceLoadingPolicyImmediate@0$SCNReferenceLoadingPolicyOnDemand@1$SCNRenderingAPIMetal@0$SCNRenderingAPIOpenGLCore32@2$SCNRenderingAPIOpenGLCore41@3$SCNRenderingAPIOpenGLLegacy@1$SCNRepeat@2$SCNSceneSourceStatusComplete@16$SCNSceneSourceStatusError@-1$SCNSceneSourceStatusParsing@4$SCNSceneSourceStatusProcessing@12$SCNSceneSourceStatusValidating@8$SCNShadowModeDeferred@1$SCNShadowModeForward@0$SCNShadowModeModulated@2$SCNTessellationSmoothingModeNone@0$SCNTessellationSmoothingModePNTriangles@1$SCNTessellationSmoothingModePhong@2$SCNTransparencyModeAOne@0$SCNTransparencyModeDefault@0$SCNTransparencyModeDualLayer@3$SCNTransparencyModeRGBZero@1$SCNTransparencyModeSingleLayer@2$SCNWrapModeClamp@1$SCNWrapModeClampToBorder@3$SCNWrapModeMirror@4$SCNWrapModeRepeat@2$SCN_ENABLE_METAL@1$SCN_ENABLE_OPENGL@1$""" -misc.update( - { - "SCNLightProbeType": NewType("SCNLightProbeType", int), - "SCNBillboardAxis": NewType("SCNBillboardAxis", int), - "SCNCullMode": NewType("SCNCullMode", int), - "SCNFillMode": NewType("SCNFillMode", int), - "SCNMovabilityHint": NewType("SCNMovabilityHint", int), - "SCNTransparencyMode": NewType("SCNTransparencyMode", int), - "SCNPhysicsCollisionCategory": NewType("SCNPhysicsCollisionCategory", int), - "SCNSceneSourceStatus": NewType("SCNSceneSourceStatus", int), - "SCNChamferMode": NewType("SCNChamferMode", int), - "SCNMorpherCalculationMode": NewType("SCNMorpherCalculationMode", int), - "SCNBufferFrequency": NewType("SCNBufferFrequency", int), - "SCNParticleImageSequenceAnimationMode": NewType( - "SCNParticleImageSequenceAnimationMode", int - ), - "SCNParticleModifierStage": NewType("SCNParticleModifierStage", int), - "SCNInteractionMode": NewType("SCNInteractionMode", int), - "SCNFilterMode": NewType("SCNFilterMode", int), - "SCNShadowMode": NewType("SCNShadowMode", int), - "SCNParticleEvent": NewType("SCNParticleEvent", int), - "SCNActionTimingMode": NewType("SCNActionTimingMode", int), - "SCNGeometryPrimitiveType": NewType("SCNGeometryPrimitiveType", int), - "SCNParticleBlendMode": NewType("SCNParticleBlendMode", int), - "SCNWrapMode": NewType("SCNWrapMode", int), - "SCNHitTestSearchMode": NewType("SCNHitTestSearchMode", int), - "SCNLightProbeUpdateType": NewType("SCNLightProbeUpdateType", int), - "SCNReferenceLoadingPolicy": NewType("SCNReferenceLoadingPolicy", int), - "SCNParticleOrientationMode": NewType("SCNParticleOrientationMode", int), - "SCNPhysicsBodyType": NewType("SCNPhysicsBodyType", int), - "SCNNodeFocusBehavior": NewType("SCNNodeFocusBehavior", int), - "SCNParticleBirthDirection": NewType("SCNParticleBirthDirection", int), - "SCNTessellationSmoothingMode": NewType("SCNTessellationSmoothingMode", int), - "SCNRenderingAPI": NewType("SCNRenderingAPI", int), - "SCNParticleSortingMode": NewType("SCNParticleSortingMode", int), - "SCNColorMask": NewType("SCNColorMask", int), - "SCNDebugOptions": NewType("SCNDebugOptions", int), - "SCNPhysicsFieldScope": NewType("SCNPhysicsFieldScope", int), - "SCNBlendMode": NewType("SCNBlendMode", int), - "SCNParticleInputMode": NewType("SCNParticleInputMode", int), - "SCNAntialiasingMode": NewType("SCNAntialiasingMode", int), - "SCNParticleBirthLocation": NewType("SCNParticleBirthLocation", int), - "SCNCameraProjectionDirection": NewType("SCNCameraProjectionDirection", int), - "SCNLightAreaType": NewType("SCNLightAreaType", int), - } -) -misc.update( - { - "SCNPhysicsTestOption": NewType("SCNPhysicsTestOption", str), - "SCNLightType": NewType("SCNLightType", str), - "SCNSceneSourceAnimationImportPolicy": NewType( - "SCNSceneSourceAnimationImportPolicy", str - ), - "SCNLightingModel": NewType("SCNLightingModel", str), - "SCNPhysicsTestSearchMode": NewType("SCNPhysicsTestSearchMode", str), - "SCNShaderModifierEntryPoint": NewType("SCNShaderModifierEntryPoint", str), - "SCNSceneSourceLoadingOption": NewType("SCNSceneSourceLoadingOption", str), - "SCNParticleProperty": NewType("SCNParticleProperty", str), - "SCNPhysicsShapeOption": NewType("SCNPhysicsShapeOption", str), - "SCNSceneAttribute": NewType("SCNSceneAttribute", str), - "SCNHitTestOption": NewType("SCNHitTestOption", str), - "SCNViewOption": NewType("SCNViewOption", str), - "SCNPhysicsShapeType": NewType("SCNPhysicsShapeType", str), - } -) -misc.update({}) -functions = { - "SCNMatrix4ToGLKMatrix4": (b"[16f]{CATransform3D=dddddddddddddddd}",), - "SCNVector4ToGLKVector4": (b"[4f]{SCNVector4=dddd}",), - "SCNMatrix4IsIdentity": (b"B{CATransform3D=dddddddddddddddd}",), - "SCNVector3Make": (b"{SCNVector3=ddd}ddd",), - "SCNVector3ToGLKVector3": (b"[3f]{SCNVector3=ddd}",), - "SCNMatrix4MakeScale": (b"{CATransform3D=dddddddddddddddd}ddd",), - "SCNMatrix4EqualToMatrix4": ( - b"B{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "SCNVector4Make": (b"{SCNVector4=dddd}dddd",), - "SCNMatrix4FromGLKMatrix4": (b"{CATransform3D=dddddddddddddddd}[16f]",), - "SCNMatrix4Invert": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "SCNMatrix4MakeTranslation": (b"{CATransform3D=dddddddddddddddd}ddd",), - "SCNMatrix4Mult": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}", - ), - "SCNMatrix4Scale": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}ddd", - ), - "SCNMatrix4MakeRotation": (b"{CATransform3D=dddddddddddddddd}dddd",), - "SCNMatrix4Translate": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}ddd", - ), - "SCNVector4FromGLKVector4": (b"{SCNVector4=dddd}[4f]",), - "SCNVector3EqualToVector3": (b"B{SCNVector3=ddd}{SCNVector3=ddd}",), - "SCNMatrix4Rotate": ( - b"{CATransform3D=dddddddddddddddd}{CATransform3D=dddddddddddddddd}dddd", - ), - "SCNVector3FromGLKVector3": (b"{SCNVector3=ddd}[3f]",), - "SCNExportJavaScriptModule": (b"v@",), - "SCNVector4EqualToVector4": (b"B{SCNVector4=dddd}{SCNVector4=dddd}",), -} -aliases = { - "SCNHitTestOptionSortResults": "SCNHitTestSortResultsKey", - "SCNPhysicsTestOptionSearchMode": "SCNPhysicsTestSearchModeKey", - "SCNHitTestOptionIgnoreHiddenNodes": "SCNHitTestIgnoreHiddenNodesKey", - "SCNMatrix4": "CATransform3D", - "SCNRepeat": "SCNWrapModeRepeat", - "SCNLinearFiltering": "SCNFilterModeLinear", - "SCNSceneSourceLoadingOptionStrictConformance": "SCNSceneSourceStrictConformanceKey", - "SCNHitTestOptionRootNode": "SCNHitTestRootNodeKey", - "SCNQuaternion": "SCNVector4", - "SCNSceneSourceLoadingOptionOverrideAssetURLs": "SCNSceneSourceOverrideAssetURLsKey", - "SCNViewOptionPreferredRenderingAPI": "SCNPreferredRenderingAPIKey", - "SCNSceneAttributeEndTime": "SCNSceneEndTimeAttributeKey", - "SCNViewOptionPreferredDevice": "SCNPreferredDeviceKey", - "SCNHitTestOptionFirstFoundOnly": "SCNHitTestFirstFoundOnlyKey", - "SCNSceneSourceLoadingOptionAnimationImportPolicy": "SCNSceneSourceAnimationImportPolicyKey", - "SCNSceneSourceLoadingOptionCheckConsistency": "SCNSceneSourceCheckConsistencyKey", - "SCNSceneSourceLoadingOptionFlattenScene": "SCNSceneSourceFlattenSceneKey", - "SCNPhysicsShapeOptionKeepAsCompound": "SCNPhysicsShapeKeepAsCompoundKey", - "SCNSceneSourceLoadingOptionAssetDirectoryURLs": "SCNSceneSourceAssetDirectoryURLsKey", - "SCNPhysicsTestOptionBackfaceCulling": "SCNPhysicsTestBackfaceCullingKey", - "SCNNoFiltering": "SCNFilterModeNone", - "SCNPhysicsShapeOptionScale": "SCNPhysicsShapeScaleKey", - "SCNViewOptionPreferLowPowerDevice": "SCNPreferLowPowerDeviceKey", - "SCNSceneSourceLoadingOptionCreateNormalsIfAbsent": "SCNSceneSourceCreateNormalsIfAbsentKey", - "SCNSceneSourceLoadingOptionConvertUnitsToMeters": "SCNSceneSourceConvertUnitsToMetersKey", - "SCNColor": "NSColor", - "SCNSceneSourceLoadingOptionUseSafeMode": "SCNSceneSourceUseSafeModeKey", - "SCNClamp": "SCNWrapModeClamp", - "SCNSceneAttributeStartTime": "SCNSceneStartTimeAttributeKey", - "SCNHitTestOptionClipToZRange": "SCNHitTestClipToZRangeKey", - "SCNPhysicsTestOptionCollisionBitMask": "SCNPhysicsTestCollisionBitMaskKey", - "SCNSceneAttributeFrameRate": "SCNSceneFrameRateAttributeKey", - "SCNMirror": "SCNWrapModeMirror", - "SCNHitTestOptionBackFaceCulling": "SCNHitTestBackFaceCullingKey", - "SCNHitTestOptionBoundingBoxOnly": "SCNHitTestBoundingBoxOnlyKey", - "SCNSceneAttributeUpAxis": "SCNSceneUpAxisAttributeKey", - "SCN_EXTERN": "FOUNDATION_EXTERN", - "SCNClampToBorder": "SCNWrapModeClampToBorder", - "SCNHitTestOptionIgnoreChildNodes": "SCNHitTestIgnoreChildNodesKey", - "SCNSceneSourceLoadingOptionConvertToYUp": "SCNSceneSourceConvertToYUpKey", - "SCNCullBack": "SCNCullModeBack", - "SCNNearestFiltering": "SCNFilterModeNearest", - "SCNPhysicsShapeOptionType": "SCNPhysicsShapeTypeKey", - "SCNTransparencyModeDefault": "SCNTransparencyModeAOne", - "SCNCullFront": "SCNCullModeFront", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"CAAnimation", b"setUsesSceneTimeBase:", {"arguments": {2: {"type": b"Z"}}}) - r(b"CAAnimation", b"usesSceneTimeBase", {"retval": {"type": b"Z"}}) - r( - b"NSObject", - b"actionForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"actionKeys", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"addAnimation:forKey:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"addAnimationPlayer:forKey:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"allowsTranslation", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"animationForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"animationKeys", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"animationPlayerForKey:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"audioEngine", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"audioEnvironmentNode", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"audioListener", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"autoSwitchToFreeCamera", - {"required": True, "retval": {"type": "Z"}}, - ) - r( - b"NSObject", - b"autoenablesDefaultLighting", - {"required": True, "retval": {"type": b"Z"}}, - ) - r( - b"NSObject", - b"avoidOccluderConstraint:didAvoidOccluder:forNode:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"avoidOccluderConstraint:shouldAvoidOccluder:forNode:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"cameraInertiaDidEndForController:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cameraInertiaWillStartForController:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"colorPixelFormat", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"commandQueue", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"context", {"required": True, "retval": {"type": b"^v"}}) - r( - b"NSObject", - b"currentRenderCommandEncoder", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"currentRenderPassDescriptor", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"currentTime", {"required": True, "retval": {"type": b"d"}}) - r( - b"NSObject", - b"currentViewport", - {"required": True, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"debugOptions", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"delegate", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"depthPixelFormat", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"device", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"flyModeVelocity", - {"required": True, "retval": {"type": sel32or64(b"f", b"d")}}, - ) - r( - b"NSObject", - b"getBoundingBoxMin:max:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"^{SCNVector3=ddd}", "type_modifier": b"o"}, - 3: {"type": b"^{SCNVector3=ddd}", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"getBoundingSphereCenter:radius:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"^{SCNVector3=ddd}", "type_modifier": b"o"}, - 3: {"type": b"^d", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"handleBindingOfSymbol:usingBlock:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"I"}, - 2: {"type": b"I"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"handleUnbindingOfSymbol:usingBlock:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"I"}, - 2: {"type": b"I"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"hasActions", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"hitTest:options:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"{CGPoint=dd}"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"isAnimationForKeyPaused:", - {"required": True, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"isJitteringEnabled", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"isNodeInsideFrustum:withPointOfView:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"isPlaying", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"isTemporalAntialiasingEnabled", - {"required": True, "retval": {"type": b"Z"}}, - ) - r(b"NSObject", b"loops", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"minimumLanguageVersion", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"nodesInsideFrustumWithPointOfView:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"overlaySKScene", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"panSensitivity", - {"required": True, "retval": {"type": sel32or64(b"f", b"d")}}, - ) - r( - b"NSObject", - b"pauseAnimationForKey:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"physicsWorld:didBeginContact:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"physicsWorld:didEndContact:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"physicsWorld:didUpdateContact:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r(b"NSObject", b"pointOfView", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"prepareObject:shouldAbortBlock:", - { - "required": True, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"prepareObjects:withCompletionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"presentScene:withTransition:incomingPointOfView:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"program", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"program:bindValueForSymbol:atLocation:programID:renderer:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"I"}, - 5: {"type": b"I"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"program:handleError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"program:unbindValueForSymbol:atLocation:programID:renderer:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"I"}, - 5: {"type": b"I"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"programIsOpaque:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"projectPoint:", - { - "required": True, - "retval": {"type": b"{SCNVector3=ddd}"}, - "arguments": {2: {"type": b"{SCNVector3=ddd}"}}, - }, - ) - r( - b"NSObject", - b"removeActionForKey:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"removeAllActions", {"required": True, "retval": {"type": b"v"}}) - r(b"NSObject", b"removeAllAnimations", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"removeAllAnimationsWithBlendOutDuration:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "d"}}}, - ) - r( - b"NSObject", - b"removeAnimationForKey:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"removeAnimationForKey:blendOutDuration:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"removeAnimationForKey:fadeOutDuration:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"renderNode:renderer:arguments:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"renderer:didApplyAnimationsAtTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"renderer:didApplyConstraintsAtTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"renderer:didApplyConstraintsAtTime:atTime:", - {"arguments": {4: {"type": "d"}}}, - ) - r( - b"NSObject", - b"renderer:didRenderScene:atTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "d"}}, - }, - ) - r( - b"NSObject", - b"renderer:didSimulatePhysicsAtTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"renderer:updateAtTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"d"}}, - }, - ) - r( - b"NSObject", - b"renderer:willRenderScene:atTime:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "d"}}, - }, - ) - r( - b"NSObject", - b"renderingAPI", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r( - b"NSObject", - b"resumeAnimationForKey:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"rotationSensitivity", - {"required": True, "retval": {"type": sel32or64(b"f", b"d")}}, - ) - r( - b"NSObject", - b"runAction:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"runAction:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"runAction:forKey:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"runAction:forKey:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"scene", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"sceneTime", {"required": True, "retval": {"type": b"d"}}) - r( - b"NSObject", - b"setAllowsTranslation:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"setAudioListener:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setAutoSwitchToFreeCamera:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r( - b"NSObject", - b"setAutoenablesDefaultLighting:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setBoundingBoxMin:max:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"^{SCNVector3=ddd}", "type_modifier": b"n"}, - 3: {"type": b"^{SCNVector3=ddd}", "type_modifier": b"n"}, - }, - }, - ) - r( - b"NSObject", - b"setColorPixelFormat:", - {"arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"setCurrentTime:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r( - b"NSObject", - b"setDebugOptions:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"I", b"Q")}}, - }, - ) - r( - b"NSObject", - b"setDelegate:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setDepthPixelFormat:", - {"arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"setFlyModeVelocity:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"setJitteringEnabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setLoops:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setMinimumLanguageVersion:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setOverlaySKScene:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setPanSensitivity:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"setPlaying:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setPointOfView:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setProgram:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setRenderingAPI:", - {"arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"setRotationSensitivity:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"setScene:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setSceneTime:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"d"}}}, - ) - r( - b"NSObject", - b"setShaderModifiers:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setShowsStatistics:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setSpeed:forAnimationKey:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"f", b"d")}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"setStencilPixelFormat:", - {"arguments": {2: {"type": sel32or64(b"I", b"Q")}}}, - ) - r( - b"NSObject", - b"setTechnique:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setTemporalAntialiasingEnabled:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"NSObject", - b"setTruckSensitivity:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": sel32or64(b"f", b"d")}}, - }, - ) - r( - b"NSObject", - b"setUsesReverseZ:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"Z"}}}, - ) - r(b"NSObject", b"shaderModifiers", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"showsStatistics", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"stencilPixelFormat", - {"required": True, "retval": {"type": sel32or64(b"I", b"Q")}}, - ) - r(b"NSObject", b"technique", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"truckSensitivity", - {"required": True, "retval": {"type": sel32or64(b"f", b"d")}}, - ) - r( - b"NSObject", - b"unprojectPoint:", - { - "required": True, - "retval": {"type": b"{SCNVector3=ddd}"}, - "arguments": {2: {"type": b"{SCNVector3=ddd}"}}, - }, - ) - r(b"NSObject", b"usesReverseZ", {"required": True, "retval": {"type": b"Z"}}) - r( - b"NSObject", - b"writeBytes:length:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": "n^v", "c_array_length_in_arg": 3}, - 3: {"type": sel32or64(b"I", b"Q")}, - }, - }, - ) - r( - b"NSObject", - b"writeImage:withSceneDocumentURL:originalImageURL:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"SCNAction", - b"customActionWithDuration:actionBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - }, - } - } - } - }, - ) - r( - b"SCNAction", - b"playAudioSource:waitForCompletion:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"SCNAction", - b"rotateToX:y:z:duration:shortestUnitArc:", - {"arguments": {6: {"type": b"Z"}}}, - ) - r( - b"SCNAction", - b"runBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCNAction", - b"runBlock:queue:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCNAction", - b"setTimingFunction:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - } - }, - ) - r( - b"SCNAction", - b"timingFunction", - { - "retval": { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - }, - ) - r(b"SCNAnimation", b"autoreverses", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"fillsBackward", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"fillsForward", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"isAdditive", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"isAppliedOnCompletion", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"isCumulative", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"isRemovedOnCompletion", {"retval": {"type": "Z"}}) - r(b"SCNAnimation", b"setAdditive:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNAnimation", - b"setAnimationDidStart:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SCNAnimation", - b"setAnimationDidStop:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SCNAnimation", b"setAppliedOnCompletion:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setAutoreverses:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setCumulative:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setFillsBackward:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setFillsForward:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setRemovedOnCompletion:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"setUsesSceneTimeBase:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAnimation", b"usesSceneTimeBase", {"retval": {"type": "Z"}}) - r( - b"SCNAnimationEvent", - b"animationEventWithKeyTime:block:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"Z"}, - }, - } - } - } - }, - ) - r(b"SCNAnimationPlayer", b"paused", {"retval": {"type": "Z"}}) - r(b"SCNAnimationPlayer", b"setPaused:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNAudioPlayer", - b"didFinishPlayback", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"SCNAudioPlayer", - b"setDidFinishPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SCNAudioPlayer", - b"setWillStartPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SCNAudioPlayer", - b"willStartPlayback", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r( - b"SCNAudioSource", - b"didFinishPlayback", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"SCNAudioSource", b"isPositional", {"retval": {"type": "Z"}}) - r(b"SCNAudioSource", b"loops", {"retval": {"type": b"Z"}}) - r( - b"SCNAudioSource", - b"setDidFinishPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SCNAudioSource", b"setLoops:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNAudioSource", b"setPositional:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNAudioSource", b"setShouldStream:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNAudioSource", - b"setWillStartPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SCNAudioSource", b"shouldStream", {"retval": {"type": "Z"}}) - r( - b"SCNAudioSource", - b"willStartPlayback", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"SCNCamera", b"automaticallyAdjustsZRange", {"retval": {"type": b"Z"}}) - r(b"SCNCamera", b"grainIsColored", {"retval": {"type": b"Z"}}) - r( - b"SCNCamera", - b"setAutomaticallyAdjustsZRange:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNCamera", b"setGrainIsColored:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNCamera", - b"setUsesOrthographicProjection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNCamera", b"setWantsDepthOfField:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNCamera", b"setWantsExposureAdaptation:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNCamera", b"setWantsHDR:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNCamera", b"usesOrthographicProjection", {"retval": {"type": b"Z"}}) - r(b"SCNCamera", b"wantsDepthOfField", {"retval": {"type": "Z"}}) - r(b"SCNCamera", b"wantsExposureAdaptation", {"retval": {"type": "Z"}}) - r(b"SCNCamera", b"wantsHDR", {"retval": {"type": "Z"}}) - r(b"SCNCameraController", b"automaticTarget", {"retval": {"type": "Z"}}) - r(b"SCNCameraController", b"inertiaEnabled", {"retval": {"type": "Z"}}) - r(b"SCNCameraController", b"isInertiaRunning", {"retval": {"type": "Z"}}) - r(b"SCNCameraController", b"setAutomaticTarget:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNCameraController", b"setInertiaEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNConstraint", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"SCNConstraint", b"isIncremental", {"retval": {"type": "Z"}}) - r(b"SCNConstraint", b"setEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNConstraint", b"setIncremental:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNGeometry", - b"setWantsAdaptiveSubdivision:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SCNGeometry", b"wantsAdaptiveSubdivision", {"retval": {"type": "Z"}}) - r(b"SCNGeometrySource", b"floatComponents", {"retval": {"type": b"Z"}}) - r( - b"SCNGeometrySource", - b"geometrySourceWithData:semantic:vectorCount:floatComponents:componentsPerVector:bytesPerComponent:dataOffset:dataStride:", - {"arguments": {5: {"type": b"Z"}}}, - ) - r( - b"SCNGeometrySource", - b"geometrySourceWithNormals:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"SCNGeometrySource", - b"geometrySourceWithTextureCoordinates:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"SCNGeometrySource", - b"geometrySourceWithVertices:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r(b"SCNGeometryTessellator", b"isAdaptive", {"retval": {"type": "Z"}}) - r(b"SCNGeometryTessellator", b"isScreenSpace", {"retval": {"type": "Z"}}) - r(b"SCNGeometryTessellator", b"setAdaptive:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNGeometryTessellator", b"setScreenSpace:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNHitTestResult", - b"simdModelTransform", - {"retval": {"type": b"{_simd_float4x4=?}"}}, - ) - r(b"SCNLight", b"automaticallyAdjustsShadowProjection", {"retval": {"type": "Z"}}) - r(b"SCNLight", b"castsShadow", {"retval": {"type": b"Z"}}) - r(b"SCNLight", b"doubleSided", {"retval": {"type": b"Z"}}) - r(b"SCNLight", b"drawsArea", {"retval": {"type": b"Z"}}) - r(b"SCNLight", b"forcesBackFaceCasters", {"retval": {"type": "Z"}}) - r(b"SCNLight", b"parallaxCorrectionEnabled", {"retval": {"type": b"Z"}}) - r(b"SCNLight", b"sampleDistributedShadowMaps", {"retval": {"type": "Z"}}) - r( - b"SCNLight", - b"setAutomaticallyAdjustsShadowProjection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SCNLight", b"setCastsShadow:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNLight", b"setDoubleSided:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNLight", b"setDrawsArea:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNLight", b"setForcesBackFaceCasters:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNLight", b"setParallaxCorrectionEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNLight", - b"setSampleDistributedShadowMaps:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SCNLookAtConstraint", b"gimbalLockEnabled", {"retval": {"type": b"Z"}}) - r( - b"SCNLookAtConstraint", - b"setGimbalLockEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNMaterial", b"isDoubleSided", {"retval": {"type": b"Z"}}) - r(b"SCNMaterial", b"isLitPerPixel", {"retval": {"type": b"Z"}}) - r(b"SCNMaterial", b"locksAmbientWithDiffuse", {"retval": {"type": b"Z"}}) - r(b"SCNMaterial", b"readsFromDepthBuffer", {"retval": {"type": b"Z"}}) - r(b"SCNMaterial", b"setDoubleSided:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNMaterial", b"setLitPerPixel:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNMaterial", - b"setLocksAmbientWithDiffuse:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNMaterial", b"setReadsFromDepthBuffer:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNMaterial", b"setWritesToDepthBuffer:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNMaterial", b"writesToDepthBuffer", {"retval": {"type": b"Z"}}) - r(b"SCNMorpher", b"setUnifiesNormals:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNMorpher", b"unifiesNormals", {"retval": {"type": "Z"}}) - r(b"SCNNode", b"castsShadow", {"retval": {"type": b"Z"}}) - r(b"SCNNode", b"childNodeWithName:recursively:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"SCNNode", - b"childNodesPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"SCNNode", - b"enumerateChildNodesUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"SCNNode", - b"enumerateHierarchyUsingBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"SCNNode", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"SCNNode", b"isPaused", {"retval": {"type": b"Z"}}) - r(b"SCNNode", b"setCastsShadow:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNNode", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNNode", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNNode", - b"setSimdOrientation:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r(b"SCNNode", b"setSimdPivot:", {"arguments": {2: {"type": b"{_simd_float4x4=?}"}}}) - r( - b"SCNNode", - b"setSimdTransform:", - {"arguments": {2: {"type": b"{_simd_float4x4=?}"}}}, - ) - r( - b"SCNNode", - b"setSimdWorldOrientation:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r( - b"SCNNode", - b"setSimdWorldTransform:", - {"arguments": {2: {"type": b"{_simd_float4x4=?}"}}}, - ) - r( - b"SCNNode", - b"simdConvertTransform:fromNode:", - { - "retval": {"type": b"{_simd_float4x4=?}"}, - "arguments": {2: {"type": b"{_simd_float4x4=?}"}}, - }, - ) - r( - b"SCNNode", - b"simdConvertTransform:toNode:", - { - "retval": {"type": b"{_simd_float4x4=?}"}, - "arguments": {2: {"type": b"{_simd_float4x4=?}"}}, - }, - ) - r( - b"SCNNode", - b"simdLocalRotateBy:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r(b"SCNNode", b"simdOrientation", {"retval": {"type": b"{_simd_quatf=}"}}) - r(b"SCNNode", b"simdPivot", {"retval": {"type": b"{_simd_float4x4=?}"}}) - r( - b"SCNNode", - b"simdRotateBy:aroundTarget:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r(b"SCNNode", b"simdTransform", {"retval": {"type": b"{_simd_float4x4=?}"}}) - r(b"SCNNode", b"simdWorldOrientation", {"retval": {"type": b"{_simd_quatf=}"}}) - r(b"SCNNode", b"simdWorldTransform", {"retval": {"type": b"{_simd_float4x4=?}"}}) - r( - b"SCNParticleSystem", - b"addModifierForProperties:atStage:withBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^^v"}, - 2: {"type": sel32or64(b"^I", b"^Q")}, - 3: {"type": sel32or64(b"i", b"q")}, - 4: {"type": sel32or64(b"i", b"q")}, - 5: {"type": b"f"}, - }, - } - } - } - }, - ) - r(b"SCNParticleSystem", b"affectedByGravity", {"retval": {"type": b"Z"}}) - r(b"SCNParticleSystem", b"affectedByPhysicsFields", {"retval": {"type": b"Z"}}) - r( - b"SCNParticleSystem", - b"handleEvent:forProperties:withBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^^v"}, - 2: {"type": sel32or64(b"^I", b"^Q")}, - 3: {"type": sel32or64(b"^I", b"^Q")}, - 4: {"type": sel32or64(b"i", b"q")}, - }, - } - } - } - }, - ) - r(b"SCNParticleSystem", b"isBlackPassEnabled", {"retval": {"type": b"Z"}}) - r(b"SCNParticleSystem", b"isLightingEnabled", {"retval": {"type": b"Z"}}) - r(b"SCNParticleSystem", b"isLocal", {"retval": {"type": b"Z"}}) - r(b"SCNParticleSystem", b"loops", {"retval": {"type": b"Z"}}) - r(b"SCNParticleSystem", b"particleDiesOnCollision", {"retval": {"type": b"Z"}}) - r( - b"SCNParticleSystem", - b"setAffectedByGravity:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SCNParticleSystem", - b"setAffectedByPhysicsFields:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNParticleSystem", b"setBlackPassEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNParticleSystem", b"setLightingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNParticleSystem", b"setLocal:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNParticleSystem", b"setLoops:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNParticleSystem", - b"setParticleDiesOnCollision:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SCNParticleSystem", - b"setWritesToDepthBuffer:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNParticleSystem", b"writesToDepthBuffer", {"retval": {"type": b"Z"}}) - r(b"SCNPhysicsBody", b"allowsResting", {"retval": {"type": b"Z"}}) - r( - b"SCNPhysicsBody", - b"applyForce:atPosition:impulse:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"SCNPhysicsBody", b"applyForce:impulse:", {"arguments": {3: {"type": b"Z"}}}) - r(b"SCNPhysicsBody", b"applyTorque:impulse:", {"arguments": {3: {"type": b"Z"}}}) - r(b"SCNPhysicsBody", b"isAffectedByGravity", {"retval": {"type": "Z"}}) - r(b"SCNPhysicsBody", b"isResting", {"retval": {"type": b"Z"}}) - r(b"SCNPhysicsBody", b"setAffectedByGravity:", {"arguments": {2: {"type": "Z"}}}) - r(b"SCNPhysicsBody", b"setAllowsResting:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNPhysicsBody", b"setResting:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SCNPhysicsBody", - b"setUsesDefaultMomentOfInertia:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SCNPhysicsBody", b"usesDefaultMomentOfInertia", {"retval": {"type": "Z"}}) - r( - b"SCNPhysicsField", - b"customFieldWithEvaluationBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": { - "type": sel32or64(b"{SCNVector3=fff}", b"{SCNVector3=ddd}") - }, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": sel32or64( - b"{SCNVector3=fff}", b"{SCNVector3=ddd}" - ) - }, - 2: { - "type": sel32or64( - b"{SCNVector3=fff}", b"{SCNVector3=ddd}" - ) - }, - 3: {"type": b"f"}, - 4: {"type": b"f"}, - 5: {"type": b"d"}, - }, - } - } - } - }, - ) - r(b"SCNPhysicsField", b"isActive", {"retval": {"type": b"Z"}}) - r(b"SCNPhysicsField", b"isExclusive", {"retval": {"type": b"Z"}}) - r(b"SCNPhysicsField", b"setActive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNPhysicsField", b"setExclusive:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNPhysicsField", - b"setUsesEllipsoidalExtent:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNPhysicsField", b"usesEllipsoidalExtent", {"retval": {"type": b"Z"}}) - r( - b"SCNProgram", - b"handleBindingOfBufferNamed:frequency:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"SCNProgram", b"isOpaque", {"retval": {"type": b"Z"}}) - r(b"SCNProgram", b"setOpaque:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCNReferenceNode", b"isLoaded", {"retval": {"type": "Z"}}) - r(b"SCNReplicatorConstraint", b"replicatesOrientation", {"retval": {"type": "Z"}}) - r(b"SCNReplicatorConstraint", b"replicatesPosition", {"retval": {"type": "Z"}}) - r(b"SCNReplicatorConstraint", b"replicatesScale", {"retval": {"type": "Z"}}) - r( - b"SCNReplicatorConstraint", - b"setReplicatesOrientation:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"SCNReplicatorConstraint", - b"setReplicatesPosition:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"SCNReplicatorConstraint", - b"setReplicatesScale:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SCNScene", b"isPaused", {"retval": {"type": b"Z"}}) - r( - b"SCNScene", - b"sceneWithURL:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"SCNScene", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNScene", - b"setWantsScreenSpaceReflection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNScene", b"wantsScreenSpaceReflection", {"retval": {"type": b"Z"}}) - r( - b"SCNScene", - b"writeToURL:options:delegate:progressHandler:", - { - "retval": {"type": b"Z"}, - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - }, - }, - ) - r( - b"SCNSceneSource", - b"entriesPassingTest:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"Z"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"SCNSceneSource", - b"sceneWithOptions:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SCNSceneSource", - b"sceneWithOptions:statusHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"f"}, - 2: {"type": sel32or64(b"i", b"q")}, - 3: {"type": b"@"}, - 4: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"SCNSphere", b"isGeodesic", {"retval": {"type": b"Z"}}) - r(b"SCNSphere", b"setGeodesic:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNTechnique", - b"handleBindingOfSymbol:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"I"}, - 2: {"type": b"I"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"SCNText", b"isWrapped", {"retval": {"type": b"Z"}}) - r(b"SCNText", b"setWrapped:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNTransaction", - b"completionBlock", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - }, - ) - r(b"SCNTransaction", b"disableActions", {"retval": {"type": b"Z"}}) - r( - b"SCNTransaction", - b"setCompletionBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SCNTransaction", b"setDisableActions:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SCNTransformConstraint", - b"orientationConstraintInWorldSpace:withBlock:", - { - "arguments": { - 2: {"type": "Z"}, - 3: { - "callable": { - "retval": { - "type": sel32or64( - b"{SCNVector4=ffff}", b"{SCNVector4=dddd}" - ) - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: { - "type": sel32or64( - b"{SCNVector4=ffff}", b"{SCNVector4=dddd}" - ) - }, - }, - } - }, - } - }, - ) - r( - b"SCNTransformConstraint", - b"positionConstraintInWorldSpace:withBlock:", - { - "arguments": { - 2: {"type": "Z"}, - 3: { - "callable": { - "retval": { - "type": sel32or64(b"{SCNVector3=fff}", b"{SCNVector3=ddd}") - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: { - "type": sel32or64( - b"{SCNVector3=fff}", b"{SCNVector3=ddd}" - ) - }, - }, - } - }, - } - }, - ) - r( - b"SCNTransformConstraint", - b"transformConstraintInWorldSpace:withBlock:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: { - "callable": { - "retval": { - "type": sel32or64( - b"{CATransform3D=ffffffffffffffff}", - b"{CATransform3D=dddddddddddddddd}", - ) - }, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: { - "type": sel32or64( - b"{CATransform3D=ffffffffffffffff}", - b"{CATransform3D=dddddddddddddddd}", - ) - }, - }, - } - }, - } - }, - ) - r(b"SCNView", b"allowsCameraControl", {"retval": {"type": "Z"}}) - r(b"SCNView", b"drawableResizesAsynchronously", {"retval": {"type": b"Z"}}) - r(b"SCNView", b"rendersContinuously", {"retval": {"type": "Z"}}) - r( - b"SCNView", - b"setAllowsCameraControl:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SCNView", - b"setDrawableResizesAsynchronously:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SCNView", b"setRendersContinuously:", {"arguments": {2: {"type": "Z"}}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ScreenCaptureKit/__init__.py b/src/lib/ScreenCaptureKit/__init__.py deleted file mode 100644 index 56a4380..0000000 --- a/src/lib/ScreenCaptureKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the ScreenCaptureKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreMedia -import objc -from . import _metadata, _ScreenCaptureKit - -sys.modules["ScreenCaptureKit"] = mod = objc.ObjCLazyModule( - "ScreenCaptureKit", - "com.apple.ScreenCaptureKit", - objc.pathForFramework("/System/Library/Frameworks/ScreenCaptureKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - ( - _ScreenCaptureKit, - CoreMedia, - ), -) - -del sys.modules["ScreenCaptureKit._metadata"] diff --git a/src/lib/ScreenCaptureKit/_metadata.py b/src/lib/ScreenCaptureKit/_metadata.py deleted file mode 100644 index 9796423..0000000 --- a/src/lib/ScreenCaptureKit/_metadata.py +++ /dev/null @@ -1,230 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Wed Feb 23 12:28:54 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SCStreamErrorDomain$SCStreamFrameInfoContentRect$SCStreamFrameInfoContentScale$SCStreamFrameInfoDirtyRects$SCStreamFrameInfoDisplayTime$SCStreamFrameInfoScaleFactor$SCStreamFrameInfoStatus$""" -enums = """$SCFrameStatusBlank@2$SCFrameStatusComplete@0$SCFrameStatusIdle@1$SCFrameStatusStarted@4$SCFrameStatusStopped@5$SCFrameStatusSuspended@3$SCStreamErrorAttemptToConfigState@-3810$SCStreamErrorAttemptToStartStreamState@-3807$SCStreamErrorAttemptToStopStreamState@-3808$SCStreamErrorAttemptToUpdateFilterState@-3809$SCStreamErrorFailedApplicationConnectionInterrupted@-3805$SCStreamErrorFailedApplicationConnectionInvalid@-3804$SCStreamErrorFailedNoMatchingApplicationContext@-3806$SCStreamErrorFailedToStart@-3802$SCStreamErrorInternalError@-3811$SCStreamErrorInvalidParameter@-3812$SCStreamErrorMissingEntitlements@-3803$SCStreamErrorNoCaptureSource@-3815$SCStreamErrorNoDisplayList@-3814$SCStreamErrorNoWindowList@-3813$SCStreamErrorRemovingStream@-3816$SCStreamErrorUserDeclined@-3801$SCStreamOutputTypeScreen@0$""" -misc.update( - { - "SCStreamErrorCode": NewType("SCStreamErrorCode", int), - "SCFrameStatus": NewType("SCFrameStatus", int), - "SCStreamOutputType": NewType("SCStreamOutputType", int), - } -) -misc.update({"SCStreamFrameInfo": NewType("SCStreamFrameInfo", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"stream:didOutputSampleBuffer:ofType:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"^{opaqueCMSampleBuffer=}"}, - 4: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"stream:didStopWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"SCShareableContent", - b"getShareableContentExcludingDesktopWindows:onScreenWindowsOnly:completionHandler:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"SCShareableContent", - b"getShareableContentExcludingDesktopWindows:onScreenWindowsOnlyAboveWindow:completionHandler:", - { - "arguments": { - 2: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"SCShareableContent", - b"getShareableContentExcludingDesktopWindows:onScreenWindowsOnlyBelowWindow:completionHandler:", - { - "arguments": { - 2: {"type": b"Z"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"SCShareableContent", - b"getShareableContentWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SCStream", - b"addStreamOutput:type:sampleHandlerQueue:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"SCStream", - b"removeStreamOutput:type:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SCStream", - b"startCaptureWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCStream", - b"stopCaptureWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCStream", - b"updateConfiguration:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCStream", - b"updateContentFilter:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SCStreamConfiguration", - b"minimumFrameInterval", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r(b"SCStreamConfiguration", b"scalesToFit", {"retval": {"type": b"Z"}}) - r( - b"SCStreamConfiguration", - b"setMinimumFrameInterval:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r(b"SCStreamConfiguration", b"setScalesToFit:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCStreamConfiguration", b"setShowsCursor:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SCStreamConfiguration", b"showsCursor", {"retval": {"type": b"Z"}}) - r(b"SCWindow", b"isOnScreen", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ScreenSaver/__init__.py b/src/lib/ScreenSaver/__init__.py deleted file mode 100644 index 6cb3909..0000000 --- a/src/lib/ScreenSaver/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the ScreenSaver framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import AppKit -import objc -from ScreenSaver import _metadata -from ScreenSaver._inlines import _inline_list_ - -sys.modules["ScreenSaver"] = mod = objc.ObjCLazyModule( - "ScreenSaver", - "com.apple.ScreenSaver", - objc.pathForFramework("/System/Library/Frameworks/ScreenSaver.framework"), - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (AppKit,), -) - - -del sys.modules["ScreenSaver._metadata"] diff --git a/src/lib/ScreenSaver/_metadata.py b/src/lib/ScreenSaver/_metadata.py deleted file mode 100644 index 4893075..0000000 --- a/src/lib/ScreenSaver/_metadata.py +++ /dev/null @@ -1,63 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:20:44 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -functions = { - "SSRandomPointForSizeWithinRect": ( - b"{CGPoint=dd}{CGSize=dd}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "SSRandomIntBetween": (b"iii",), - "SSRandomFloatBetween": (b"ddd",), - "SSCenteredRectInRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}", - ), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"ScreenSaverView", b"hasConfigureSheet", {"retval": {"type": "Z"}}) - r( - b"ScreenSaverView", - b"initWithFrame:isPreview:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"ScreenSaverView", b"isAnimating", {"retval": {"type": "Z"}}) - r(b"ScreenSaverView", b"isPreview", {"retval": {"type": "Z"}}) - r(b"ScreenSaverView", b"performGammaFade", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ScreenTime/__init__.py b/src/lib/ScreenTime/__init__.py deleted file mode 100644 index 57fab04..0000000 --- a/src/lib/ScreenTime/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the ScreenTime framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from ScreenTime import _metadata - -sys.modules["ScreenTime"] = mod = objc.ObjCLazyModule( - "ScreenTime", - "com.apple.ScreenTime", - objc.pathForFramework("/System/Library/Frameworks/ScreenTime.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["ScreenTime._metadata"] diff --git a/src/lib/ScreenTime/_metadata.py b/src/lib/ScreenTime/_metadata.py deleted file mode 100644 index d91acff..0000000 --- a/src/lib/ScreenTime/_metadata.py +++ /dev/null @@ -1,78 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:20:57 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"STScreenTimeConfiguration", - b"enforcesChildRestrictions", - {"retval": {"type": b"Z"}}, - ) - r( - b"STWebHistory", - b"initWithBundleIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"STWebpageController", b"URLIsBlocked", {"retval": {"type": b"Z"}}) - r(b"STWebpageController", b"URLIsPictureInPicture", {"retval": {"type": b"Z"}}) - r(b"STWebpageController", b"URLIsPlayingVideo", {"retval": {"type": b"Z"}}) - r( - b"STWebpageController", - b"setBundleIdentifier:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"STWebpageController", - b"setSuppressUsageRecording:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"STWebpageController", - b"setURLIsPictureInPicture:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"STWebpageController", - b"setURLIsPlayingVideo:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"STWebpageController", b"suppressUsageRecording", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/ScriptingBridge/__init__.py b/src/lib/ScriptingBridge/__init__.py deleted file mode 100644 index b142894..0000000 --- a/src/lib/ScriptingBridge/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Python mapping for the ScriptingBridge framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation - -# Override the default behaviour of the bridge to ensure that we -# make the minimal amount of AppleScript calls. -import objc -from ScriptingBridge import _metadata -from ScriptingBridge import _ScriptingBridge - -sys.modules["ScriptingBridge"] = mod = objc.ObjCLazyModule( - "ScriptingBridge", - "com.apple.ScriptingBridge", - objc.pathForFramework("/System/Library/Frameworks/ScriptingBridge.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_ScriptingBridge, Foundation), -) - - -del sys.modules["ScriptingBridge._metadata"] - - -objc.addConvenienceForClass( - "SBElementArray", [("__iter__", lambda self: iter(self.objectEnumerator()))] -) diff --git a/src/lib/ScriptingBridge/_metadata.py b/src/lib/ScriptingBridge/_metadata.py deleted file mode 100644 index 783b440..0000000 --- a/src/lib/ScriptingBridge/_metadata.py +++ /dev/null @@ -1,68 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:21:07 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"eventDidFail:withError:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": "r^{AEDesc=I^^{OpaqueAEDataStorageType}}"}, - 3: {"type": b"@"}, - }, - }, - ) - r(b"SBApplication", b"isRunning", {"retval": {"type": "Z"}}) - r( - b"SBElementArray", - b"arrayByApplyingSelector:", - {"arguments": {2: {"sel_of_type": b"@@:"}}}, - ) - r( - b"SBElementArray", - b"arrayByApplyingSelector:withObject:", - {"arguments": {2: {"sel_of_type": b"@@:@"}}}, - ) - r(b"SBObject", b"sendEvent:id:parameters:", {"variadic": True}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SearchKit/__init__.py b/src/lib/SearchKit/__init__.py deleted file mode 100644 index cdf7f10..0000000 --- a/src/lib/SearchKit/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Python mapping for the SearchKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys -import warnings - -import CoreServices -import objc - -warnings.warn( - "pyobjc-framework-SearchKit is deprecated, use 'import CoreServices' instead", - DeprecationWarning, -) - - -sys.modules["SearchKit"] = objc.ObjCLazyModule( - "SearchKit", - "com.apple.SearchKit", - objc.pathForFramework( - "/System/Library/Frameworks/CoreServices.framework/Frameworks/SearchKit.framework" - ), - {}, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (CoreServices,), -) diff --git a/src/lib/Security/__init__.py b/src/lib/Security/__init__.py deleted file mode 100644 index 1e903a9..0000000 --- a/src/lib/Security/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Security framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Security import _metadata, _Security - -sys.modules["Security"] = mod = objc.ObjCLazyModule( - "Security", - "com.apple.security", - objc.pathForFramework("/System/Library/Frameworks/Security.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Security, Foundation), -) - - -del sys.modules["Security._metadata"] diff --git a/src/lib/Security/_metadata.py b/src/lib/Security/_metadata.py deleted file mode 100644 index b383360..0000000 --- a/src/lib/Security/_metadata.py +++ /dev/null @@ -1,2252 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:21:23 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "OpaqueSecIdentityRef": objc.createStructType( - "Security.OpaqueSecIdentityRef", b"{__SecIdentity=}", [] - ), - "SecKeychainSettings": objc.createStructType( - "Security.SecKeychainSettings", - b"{SecKeychainSettings=IZZI}", - ["version", "lockOnSleep", "useLockInterval", "lockInterval"], - ), - "SecItemImportExportKeyParameters": objc.createStructType( - "Security.SecItemImportExportKeyParameters", - b"{_SecItemImportExportKeyParameters=II@@@@@@}", - [ - "version", - "flags", - "passphrase", - "alertTitle", - "alertPrompt", - "accessRef", - "keyUsage", - "keyAttributes", - ], - ), - "SecKeychainAttributeList": objc.createStructType( - "Security.SecKeychainAttributeList", - b"{SecKeychainAttributeList=I^{SecKeychainAttribute=II^v}}", - ["count", "attr"], - ), - "SecKeychainAttribute": objc.createStructType( - "Security.SecKeychainAttribute", - b"{SecKeychainAttribute=II^v}", - ["tag", "length", "data"], - ), - "SecAsn1Template": objc.createStructType( - "Security.SecAsn1Template", - b"{SecAsn1Template_struct=II^vI}", - ["kind", "offset", "sub", "size"], - ), - "SecAsn1Oid": objc.createStructType( - "Security.SecAsn1Oid", b"{cssm_data=Q^C}", ["Length", "Data"] - ), - "OpaqueSecCertificateRef": objc.createStructType( - "Security.OpaqueSecCertificateRef", b"{__SecCertificate=}", [] - ), - "SecKeychainAttributeInfo": objc.createStructType( - "Security.SecKeychainAttributeInfo", - b"{SecKeychainAttributeInfo=I^I^I}", - ["count", "tag", "format"], - ), - "SecAsn1PubKeyInfo": objc.createStructType( - "Security.SecAsn1PubKeyInfo", - b"{_SecAsn1PubKeyInfo={_SecAsn1AlgId={cssm_data=Q^C}{cssm_data=Q^C}}{cssm_data=Q^C}}", - ["algorithm", "subjectPublicKey"], - ), - "SecAsn1AlgId": objc.createStructType( - "Security.SecAsn1AlgId", - b"{_SecAsn1AlgId={cssm_data=Q^C}{cssm_data=Q^C}}", - ["algorithm", "parameters"], - ), - "SecAsn1Item": objc.createStructType( - "Security.SecAsn1Item", b"{cssm_data=Q^C}", ["Length", "Data"] - ), - "OpaqueSecAccessRef": objc.createStructType( - "Security.OpaqueSecAccessRef", b"{__SecAccess=}", [] - ), - "SecKeychainCallbackInfo": objc.createStructType( - "Security.SecKeychainCallbackInfo", - b"{SecKeychainCallbackInfo=I^{__SecKeychainItem=}^{__SecKeychain=}i}", - ["version", "item", "keychain", "pid"], - ), - "AuthorizationItem": objc.createStructType( - "Security.AuthorizationItem", - b"{_AuthorizationItem=^cL^vI}", - ["name", "valueLength", "value", "flags"], - ), - "AuthorizationExternalForm": objc.createStructType( - "Security.AuthorizationExternalForm", - b"{_AuthorizationExternalForm=[32C]}", - ["bytes"], - ), - "OpaqueSecKeyRef": objc.createStructType( - "Security.OpaqueSecKeyRef", b"{__SecKey=}", [] - ), - } -) -constants = """$kCMSEncoderDigestAlgorithmSHA1$kCMSEncoderDigestAlgorithmSHA256$kSSLSessionConfig_3DES_fallback$kSSLSessionConfig_ATSv1$kSSLSessionConfig_ATSv1_noPFS$kSSLSessionConfig_RC4_fallback$kSSLSessionConfig_TLSv1_3DES_fallback$kSSLSessionConfig_TLSv1_RC4_fallback$kSSLSessionConfig_TLSv1_fallback$kSSLSessionConfig_anonymous$kSSLSessionConfig_default$kSSLSessionConfig_legacy$kSSLSessionConfig_legacy_DHE$kSSLSessionConfig_standard$kSecACLAuthorizationAny$kSecACLAuthorizationChangeACL$kSecACLAuthorizationChangeOwner$kSecACLAuthorizationDecrypt$kSecACLAuthorizationDelete$kSecACLAuthorizationDerive$kSecACLAuthorizationEncrypt$kSecACLAuthorizationExportClear$kSecACLAuthorizationExportWrapped$kSecACLAuthorizationGenKey$kSecACLAuthorizationImportClear$kSecACLAuthorizationImportWrapped$kSecACLAuthorizationIntegrity$kSecACLAuthorizationKeychainCreate$kSecACLAuthorizationKeychainDelete$kSecACLAuthorizationKeychainItemDelete$kSecACLAuthorizationKeychainItemInsert$kSecACLAuthorizationKeychainItemModify$kSecACLAuthorizationKeychainItemRead$kSecACLAuthorizationLogin$kSecACLAuthorizationMAC$kSecACLAuthorizationPartitionID$kSecACLAuthorizationSign$kSecAttrAccess$kSecAttrAccessControl$kSecAttrAccessGroup$kSecAttrAccessGroupToken$kSecAttrAccessible$kSecAttrAccessibleAfterFirstUnlock$kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly$kSecAttrAccessibleAlways$kSecAttrAccessibleAlwaysThisDeviceOnly$kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly$kSecAttrAccessibleWhenUnlocked$kSecAttrAccessibleWhenUnlockedThisDeviceOnly$kSecAttrAccount$kSecAttrApplicationLabel$kSecAttrApplicationTag$kSecAttrAuthenticationType$kSecAttrAuthenticationTypeDPA$kSecAttrAuthenticationTypeDefault$kSecAttrAuthenticationTypeHTMLForm$kSecAttrAuthenticationTypeHTTPBasic$kSecAttrAuthenticationTypeHTTPDigest$kSecAttrAuthenticationTypeMSN$kSecAttrAuthenticationTypeNTLM$kSecAttrAuthenticationTypeRPA$kSecAttrCanDecrypt$kSecAttrCanDerive$kSecAttrCanEncrypt$kSecAttrCanSign$kSecAttrCanUnwrap$kSecAttrCanVerify$kSecAttrCanWrap$kSecAttrCertificateEncoding$kSecAttrCertificateType$kSecAttrComment$kSecAttrCreationDate$kSecAttrCreator$kSecAttrDescription$kSecAttrEffectiveKeySize$kSecAttrGeneric$kSecAttrIsExtractable$kSecAttrIsInvisible$kSecAttrIsNegative$kSecAttrIsPermanent$kSecAttrIsSensitive$kSecAttrIssuer$kSecAttrKeyClass$kSecAttrKeyClassPrivate$kSecAttrKeyClassPublic$kSecAttrKeyClassSymmetric$kSecAttrKeySizeInBits$kSecAttrKeyType$kSecAttrKeyType3DES$kSecAttrKeyTypeAES$kSecAttrKeyTypeCAST$kSecAttrKeyTypeDES$kSecAttrKeyTypeDSA$kSecAttrKeyTypeEC$kSecAttrKeyTypeECDSA$kSecAttrKeyTypeECSECPrimeRandom$kSecAttrKeyTypeRC2$kSecAttrKeyTypeRC4$kSecAttrKeyTypeRSA$kSecAttrLabel$kSecAttrModificationDate$kSecAttrPRF$kSecAttrPRFHmacAlgSHA1$kSecAttrPRFHmacAlgSHA224$kSecAttrPRFHmacAlgSHA256$kSecAttrPRFHmacAlgSHA384$kSecAttrPRFHmacAlgSHA512$kSecAttrPath$kSecAttrPersistantReference$kSecAttrPersistentReference$kSecAttrPort$kSecAttrProtocol$kSecAttrProtocolAFP$kSecAttrProtocolAppleTalk$kSecAttrProtocolDAAP$kSecAttrProtocolEPPC$kSecAttrProtocolFTP$kSecAttrProtocolFTPAccount$kSecAttrProtocolFTPProxy$kSecAttrProtocolFTPS$kSecAttrProtocolHTTP$kSecAttrProtocolHTTPProxy$kSecAttrProtocolHTTPS$kSecAttrProtocolHTTPSProxy$kSecAttrProtocolIMAP$kSecAttrProtocolIMAPS$kSecAttrProtocolIPP$kSecAttrProtocolIRC$kSecAttrProtocolIRCS$kSecAttrProtocolLDAP$kSecAttrProtocolLDAPS$kSecAttrProtocolNNTP$kSecAttrProtocolNNTPS$kSecAttrProtocolPOP3$kSecAttrProtocolPOP3S$kSecAttrProtocolRTSP$kSecAttrProtocolRTSPProxy$kSecAttrProtocolSMB$kSecAttrProtocolSMTP$kSecAttrProtocolSOCKS$kSecAttrProtocolSSH$kSecAttrProtocolTelnet$kSecAttrProtocolTelnetS$kSecAttrPublicKeyHash$kSecAttrRounds$kSecAttrSalt$kSecAttrSecurityDomain$kSecAttrSerialNumber$kSecAttrServer$kSecAttrService$kSecAttrSubject$kSecAttrSubjectKeyID$kSecAttrSyncViewHint$kSecAttrSynchronizable$kSecAttrSynchronizableAny$kSecAttrTokenID$kSecAttrTokenIDSecureEnclave$kSecAttrType$kSecBase32Encoding$kSecBase64Encoding$kSecCFErrorArchitecture$kSecCFErrorGuestAttributes$kSecCFErrorInfoPlist$kSecCFErrorPath$kSecCFErrorPattern$kSecCFErrorRequirementSyntax$kSecCFErrorResourceAdded$kSecCFErrorResourceAltered$kSecCFErrorResourceMissing$kSecCFErrorResourceSeal$kSecCFErrorResourceSideband$kSecClass$kSecClassCertificate$kSecClassGenericPassword$kSecClassIdentity$kSecClassInternetPassword$kSecClassKey$kSecCodeAttributeArchitecture$kSecCodeAttributeBundleVersion$kSecCodeAttributeSubarchitecture$kSecCodeAttributeUniversalFileOffset$kSecCodeInfoCMS$kSecCodeInfoCdHashes$kSecCodeInfoCertificates$kSecCodeInfoChangedFiles$kSecCodeInfoDesignatedRequirement$kSecCodeInfoDigestAlgorithm$kSecCodeInfoDigestAlgorithms$kSecCodeInfoEntitlements$kSecCodeInfoEntitlementsDict$kSecCodeInfoFlags$kSecCodeInfoFormat$kSecCodeInfoIdentifier$kSecCodeInfoImplicitDesignatedRequirement$kSecCodeInfoMainExecutable$kSecCodeInfoPList$kSecCodeInfoPlatformIdentifier$kSecCodeInfoRequirementData$kSecCodeInfoRequirements$kSecCodeInfoRuntimeVersion$kSecCodeInfoSource$kSecCodeInfoStatus$kSecCodeInfoTeamIdentifier$kSecCodeInfoTime$kSecCodeInfoTimestamp$kSecCodeInfoTrust$kSecCodeInfoUnique$kSecCompressionRatio$kSecDecodeTypeAttribute$kSecDigestHMACKeyAttribute$kSecDigestHMACMD5$kSecDigestHMACSHA1$kSecDigestHMACSHA2$kSecDigestLengthAttribute$kSecDigestMD2$kSecDigestMD4$kSecDigestMD5$kSecDigestSHA1$kSecDigestSHA2$kSecDigestTypeAttribute$kSecEncodeLineLengthAttribute$kSecEncodeTypeAttribute$kSecEncryptKey$kSecEncryptionMode$kSecGuestAttributeArchitecture$kSecGuestAttributeAudit$kSecGuestAttributeCanonical$kSecGuestAttributeDynamicCode$kSecGuestAttributeDynamicCodeInfoPlist$kSecGuestAttributeHash$kSecGuestAttributeMachPort$kSecGuestAttributePid$kSecGuestAttributeSubarchitecture$kSecIVKey$kSecIdentityDomainDefault$kSecIdentityDomainKerberosKDC$kSecImportExportAccess$kSecImportExportKeychain$kSecImportExportPassphrase$kSecImportItemCertChain$kSecImportItemIdentity$kSecImportItemKeyID$kSecImportItemLabel$kSecImportItemTrust$kSecInputIsAttributeName$kSecInputIsDigest$kSecInputIsPlainText$kSecInputIsRaw$kSecKeyAlgorithmECDHKeyExchangeCofactor$kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA1$kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA224$kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA256$kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA384$kSecKeyAlgorithmECDHKeyExchangeCofactorX963SHA512$kSecKeyAlgorithmECDHKeyExchangeStandard$kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA1$kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA224$kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA256$kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA384$kSecKeyAlgorithmECDHKeyExchangeStandardX963SHA512$kSecKeyAlgorithmECDSASignatureDigestX962$kSecKeyAlgorithmECDSASignatureDigestX962SHA1$kSecKeyAlgorithmECDSASignatureDigestX962SHA224$kSecKeyAlgorithmECDSASignatureDigestX962SHA256$kSecKeyAlgorithmECDSASignatureDigestX962SHA384$kSecKeyAlgorithmECDSASignatureDigestX962SHA512$kSecKeyAlgorithmECDSASignatureMessageX962SHA1$kSecKeyAlgorithmECDSASignatureMessageX962SHA224$kSecKeyAlgorithmECDSASignatureMessageX962SHA256$kSecKeyAlgorithmECDSASignatureMessageX962SHA384$kSecKeyAlgorithmECDSASignatureMessageX962SHA512$kSecKeyAlgorithmECDSASignatureRFC4754$kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA224AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA256AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA384AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorVariableIVX963SHA512AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorX963SHA1AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorX963SHA224AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorX963SHA256AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorX963SHA384AESGCM$kSecKeyAlgorithmECIESEncryptionCofactorX963SHA512AESGCM$kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA224AESGCM$kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM$kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA384AESGCM$kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA512AESGCM$kSecKeyAlgorithmECIESEncryptionStandardX963SHA1AESGCM$kSecKeyAlgorithmECIESEncryptionStandardX963SHA224AESGCM$kSecKeyAlgorithmECIESEncryptionStandardX963SHA256AESGCM$kSecKeyAlgorithmECIESEncryptionStandardX963SHA384AESGCM$kSecKeyAlgorithmECIESEncryptionStandardX963SHA512AESGCM$kSecKeyAlgorithmRSAEncryptionOAEPSHA1$kSecKeyAlgorithmRSAEncryptionOAEPSHA1AESGCM$kSecKeyAlgorithmRSAEncryptionOAEPSHA224$kSecKeyAlgorithmRSAEncryptionOAEPSHA224AESGCM$kSecKeyAlgorithmRSAEncryptionOAEPSHA256$kSecKeyAlgorithmRSAEncryptionOAEPSHA256AESGCM$kSecKeyAlgorithmRSAEncryptionOAEPSHA384$kSecKeyAlgorithmRSAEncryptionOAEPSHA384AESGCM$kSecKeyAlgorithmRSAEncryptionOAEPSHA512$kSecKeyAlgorithmRSAEncryptionOAEPSHA512AESGCM$kSecKeyAlgorithmRSAEncryptionPKCS1$kSecKeyAlgorithmRSAEncryptionRaw$kSecKeyAlgorithmRSASignatureDigestPKCS1v15Raw$kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA1$kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA224$kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256$kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384$kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512$kSecKeyAlgorithmRSASignatureDigestPSSSHA1$kSecKeyAlgorithmRSASignatureDigestPSSSHA224$kSecKeyAlgorithmRSASignatureDigestPSSSHA256$kSecKeyAlgorithmRSASignatureDigestPSSSHA384$kSecKeyAlgorithmRSASignatureDigestPSSSHA512$kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA1$kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA224$kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA256$kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA384$kSecKeyAlgorithmRSASignatureMessagePKCS1v15SHA512$kSecKeyAlgorithmRSASignatureMessagePSSSHA1$kSecKeyAlgorithmRSASignatureMessagePSSSHA224$kSecKeyAlgorithmRSASignatureMessagePSSSHA256$kSecKeyAlgorithmRSASignatureMessagePSSSHA384$kSecKeyAlgorithmRSASignatureMessagePSSSHA512$kSecKeyAlgorithmRSASignatureRaw$kSecKeyAttributeName$kSecKeyKeyExchangeParameterRequestedSize$kSecKeyKeyExchangeParameterSharedInfo$kSecLineLength64$kSecLineLength76$kSecMatchCaseInsensitive$kSecMatchDiacriticInsensitive$kSecMatchEmailAddressIfPresent$kSecMatchIssuers$kSecMatchItemList$kSecMatchLimit$kSecMatchLimitAll$kSecMatchLimitOne$kSecMatchPolicy$kSecMatchSearchList$kSecMatchSubjectContains$kSecMatchSubjectEndsWith$kSecMatchSubjectStartsWith$kSecMatchSubjectWholeString$kSecMatchTrustedOnly$kSecMatchValidOnDate$kSecMatchWidthInsensitive$kSecModeCBCKey$kSecModeCFBKey$kSecModeECBKey$kSecModeNoneKey$kSecModeOFBKey$kSecOAEPEncodingParametersAttributeName$kSecOAEPMGF1DigestAlgorithmAttributeName$kSecOAEPMessageLengthAttributeName$kSecOIDADC_CERT_POLICY$kSecOIDAPPLE_CERT_POLICY$kSecOIDAPPLE_EKU_CODE_SIGNING$kSecOIDAPPLE_EKU_CODE_SIGNING_DEV$kSecOIDAPPLE_EKU_ICHAT_ENCRYPTION$kSecOIDAPPLE_EKU_ICHAT_SIGNING$kSecOIDAPPLE_EKU_RESOURCE_SIGNING$kSecOIDAPPLE_EKU_SYSTEM_IDENTITY$kSecOIDAPPLE_EXTENSION$kSecOIDAPPLE_EXTENSION_AAI_INTERMEDIATE$kSecOIDAPPLE_EXTENSION_ADC_APPLE_SIGNING$kSecOIDAPPLE_EXTENSION_ADC_DEV_SIGNING$kSecOIDAPPLE_EXTENSION_APPLEID_INTERMEDIATE$kSecOIDAPPLE_EXTENSION_APPLE_SIGNING$kSecOIDAPPLE_EXTENSION_CODE_SIGNING$kSecOIDAPPLE_EXTENSION_INTERMEDIATE_MARKER$kSecOIDAPPLE_EXTENSION_ITMS_INTERMEDIATE$kSecOIDAPPLE_EXTENSION_WWDR_INTERMEDIATE$kSecOIDAuthorityInfoAccess$kSecOIDAuthorityKeyIdentifier$kSecOIDBasicConstraints$kSecOIDBiometricInfo$kSecOIDCSSMKeyStruct$kSecOIDCertIssuer$kSecOIDCertificatePolicies$kSecOIDClientAuth$kSecOIDCollectiveStateProvinceName$kSecOIDCollectiveStreetAddress$kSecOIDCommonName$kSecOIDCountryName$kSecOIDCrlDistributionPoints$kSecOIDCrlNumber$kSecOIDCrlReason$kSecOIDDOTMAC_CERT_EMAIL_ENCRYPT$kSecOIDDOTMAC_CERT_EMAIL_SIGN$kSecOIDDOTMAC_CERT_EXTENSION$kSecOIDDOTMAC_CERT_IDENTITY$kSecOIDDOTMAC_CERT_POLICY$kSecOIDDeltaCrlIndicator$kSecOIDDescription$kSecOIDEKU_IPSec$kSecOIDEmailAddress$kSecOIDEmailProtection$kSecOIDExtendedKeyUsage$kSecOIDExtendedKeyUsageAny$kSecOIDExtendedUseCodeSigning$kSecOIDGivenName$kSecOIDHoldInstructionCode$kSecOIDInvalidityDate$kSecOIDIssuerAltName$kSecOIDIssuingDistributionPoint$kSecOIDIssuingDistributionPoints$kSecOIDKERBv5_PKINIT_KP_CLIENT_AUTH$kSecOIDKERBv5_PKINIT_KP_KDC$kSecOIDKeyUsage$kSecOIDLocalityName$kSecOIDMS_NTPrincipalName$kSecOIDMicrosoftSGC$kSecOIDNameConstraints$kSecOIDNetscapeCertSequence$kSecOIDNetscapeCertType$kSecOIDNetscapeSGC$kSecOIDOCSPSigning$kSecOIDOrganizationName$kSecOIDOrganizationalUnitName$kSecOIDPolicyConstraints$kSecOIDPolicyMappings$kSecOIDPrivateKeyUsagePeriod$kSecOIDQC_Statements$kSecOIDSRVName$kSecOIDSerialNumber$kSecOIDServerAuth$kSecOIDStateProvinceName$kSecOIDStreetAddress$kSecOIDSubjectAltName$kSecOIDSubjectDirectoryAttributes$kSecOIDSubjectEmailAddress$kSecOIDSubjectInfoAccess$kSecOIDSubjectKeyIdentifier$kSecOIDSubjectPicture$kSecOIDSubjectSignatureBitmap$kSecOIDSurname$kSecOIDTimeStamping$kSecOIDTitle$kSecOIDUseExemptions$kSecOIDX509V1CertificateIssuerUniqueId$kSecOIDX509V1CertificateSubjectUniqueId$kSecOIDX509V1IssuerName$kSecOIDX509V1IssuerNameCStruct$kSecOIDX509V1IssuerNameLDAP$kSecOIDX509V1IssuerNameStd$kSecOIDX509V1SerialNumber$kSecOIDX509V1Signature$kSecOIDX509V1SignatureAlgorithm$kSecOIDX509V1SignatureAlgorithmParameters$kSecOIDX509V1SignatureAlgorithmTBS$kSecOIDX509V1SignatureCStruct$kSecOIDX509V1SignatureStruct$kSecOIDX509V1SubjectName$kSecOIDX509V1SubjectNameCStruct$kSecOIDX509V1SubjectNameLDAP$kSecOIDX509V1SubjectNameStd$kSecOIDX509V1SubjectPublicKey$kSecOIDX509V1SubjectPublicKeyAlgorithm$kSecOIDX509V1SubjectPublicKeyAlgorithmParameters$kSecOIDX509V1SubjectPublicKeyCStruct$kSecOIDX509V1ValidityNotAfter$kSecOIDX509V1ValidityNotBefore$kSecOIDX509V1Version$kSecOIDX509V3Certificate$kSecOIDX509V3CertificateCStruct$kSecOIDX509V3CertificateExtensionCStruct$kSecOIDX509V3CertificateExtensionCritical$kSecOIDX509V3CertificateExtensionId$kSecOIDX509V3CertificateExtensionStruct$kSecOIDX509V3CertificateExtensionType$kSecOIDX509V3CertificateExtensionValue$kSecOIDX509V3CertificateExtensionsCStruct$kSecOIDX509V3CertificateExtensionsStruct$kSecOIDX509V3CertificateNumberOfExtensions$kSecOIDX509V3SignedCertificate$kSecOIDX509V3SignedCertificateCStruct$kSecPaddingKey$kSecPaddingNoneKey$kSecPaddingOAEPKey$kSecPaddingPKCS1Key$kSecPaddingPKCS5Key$kSecPaddingPKCS7Key$kSecPolicyAppleCodeSigning$kSecPolicyAppleEAP$kSecPolicyAppleIDValidation$kSecPolicyAppleIPsec$kSecPolicyApplePKINITClient$kSecPolicyApplePKINITServer$kSecPolicyApplePassbookSigning$kSecPolicyApplePayIssuerEncryption$kSecPolicyAppleRevocation$kSecPolicyAppleSMIME$kSecPolicyAppleSSL$kSecPolicyAppleTimeStamping$kSecPolicyAppleX509Basic$kSecPolicyAppleiChat$kSecPolicyClient$kSecPolicyKU_CRLSign$kSecPolicyKU_DataEncipherment$kSecPolicyKU_DecipherOnly$kSecPolicyKU_DigitalSignature$kSecPolicyKU_EncipherOnly$kSecPolicyKU_KeyAgreement$kSecPolicyKU_KeyCertSign$kSecPolicyKU_KeyEncipherment$kSecPolicyKU_NonRepudiation$kSecPolicyMacAppStoreReceipt$kSecPolicyName$kSecPolicyOid$kSecPolicyRevocationFlags$kSecPolicyTeamIdentifier$kSecPrivateKeyAttrs$kSecPropertyKeyLabel$kSecPropertyKeyLocalizedLabel$kSecPropertyKeyType$kSecPropertyKeyValue$kSecPropertyTypeArray$kSecPropertyTypeData$kSecPropertyTypeDate$kSecPropertyTypeError$kSecPropertyTypeNumber$kSecPropertyTypeSection$kSecPropertyTypeString$kSecPropertyTypeSuccess$kSecPropertyTypeTitle$kSecPropertyTypeURL$kSecPropertyTypeWarning$kSecPublicKeyAttrs$kSecRandomDefault@^{__SecRandom=}$kSecReturnAttributes$kSecReturnData$kSecReturnPersistentRef$kSecReturnRef$kSecSharedPassword$kSecSignatureAttributeName$kSecTransformAbortAttributeName$kSecTransformAbortOriginatorKey$kSecTransformActionAttributeNotification$kSecTransformActionAttributeValidation$kSecTransformActionCanExecute$kSecTransformActionExternalizeExtraData$kSecTransformActionFinalize$kSecTransformActionInternalizeExtraData$kSecTransformActionProcessData$kSecTransformActionStartingExecution$kSecTransformDebugAttributeName$kSecTransformErrorDomain$kSecTransformInputAttributeName$kSecTransformOutputAttributeName$kSecTransformPreviousErrorKey$kSecTransformTransformName$kSecTrustCertificateTransparency$kSecTrustCertificateTransparencyWhiteList$kSecTrustEvaluationDate$kSecTrustExtendedValidation$kSecTrustOrganizationName$kSecTrustResultValue$kSecTrustRevocationChecked$kSecTrustRevocationValidUntilDate$kSecUseAuthenticationContext$kSecUseAuthenticationUI$kSecUseAuthenticationUIAllow$kSecUseAuthenticationUIFail$kSecUseAuthenticationUISkip$kSecUseDataProtectionKeychain$kSecUseItemList$kSecUseKeychain$kSecUseNoAuthenticationUI$kSecUseOperationPrompt$kSecValueData$kSecValuePersistentRef$kSecValueRef$kSecZLibEncoding$""" -enums = """$SECURITY_TYPE_UNIFICATION@1$SEC_ASN1_ANY@1024$SEC_ASN1_APPLICATION@64$SEC_ASN1_BIT_STRING@3$SEC_ASN1_BMP_STRING@30$SEC_ASN1_BOOLEAN@1$SEC_ASN1_CHOICE@1048576$SEC_ASN1_CLASS_MASK@192$SEC_ASN1_CONSTRUCTED@32$SEC_ASN1_CONTEXT_SPECIFIC@128$SEC_ASN1_DYNAMIC@16384$SEC_ASN1_EMBEDDED_PDV@11$SEC_ASN1_ENUMERATED@10$SEC_ASN1_EXPLICIT@512$SEC_ASN1_GENERALIZED_TIME@24$SEC_ASN1_GENERAL_STRING@27$SEC_ASN1_GRAPHIC_STRING@25$SEC_ASN1_GROUP@8192$SEC_ASN1_HIGH_TAG_NUMBER@31$SEC_ASN1_IA5_STRING@22$SEC_ASN1_INLINE@2048$SEC_ASN1_INNER@65536$SEC_ASN1_INTEGER@2$SEC_ASN1_METHOD_MASK@32$SEC_ASN1_NULL@5$SEC_ASN1_NUMERIC_STRING@18$SEC_ASN1_OBJECT_DESCRIPTOR@7$SEC_ASN1_OBJECT_ID@6$SEC_ASN1_OCTET_STRING@4$SEC_ASN1_OPTIONAL@256$SEC_ASN1_POINTER@4096$SEC_ASN1_PRIMITIVE@0$SEC_ASN1_PRINTABLE_STRING@19$SEC_ASN1_PRIVATE@192$SEC_ASN1_REAL@9$SEC_ASN1_SAVE@131072$SEC_ASN1_SEQUENCE@16$SEC_ASN1_SET@17$SEC_ASN1_SIGNED_INT@8388608$SEC_ASN1_SKIP@32768$SEC_ASN1_SKIP_REST@524288$SEC_ASN1_T61_STRING@20$SEC_ASN1_TAGNUM_MASK@31$SEC_ASN1_TAG_MASK@255$SEC_ASN1_UNIVERSAL@0$SEC_ASN1_UNIVERSAL_STRING@28$SEC_ASN1_UTC_TIME@23$SEC_ASN1_UTF8_STRING@12$SEC_ASN1_VIDEOTEX_STRING@21$SEC_ASN1_VISIBLE_STRING@26$SEC_KEYCHAIN_SETTINGS_VERS1@1$SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION@0$SEC_PROTOCOL_CERT_COMPRESSION_DEFAULT@1$SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA@17$SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA@19$SSL_DHE_DSS_WITH_DES_CBC_SHA@18$SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA@20$SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA@22$SSL_DHE_RSA_WITH_DES_CBC_SHA@21$SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA@11$SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA@13$SSL_DH_DSS_WITH_DES_CBC_SHA@12$SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA@14$SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA@16$SSL_DH_RSA_WITH_DES_CBC_SHA@15$SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA@25$SSL_DH_anon_EXPORT_WITH_RC4_40_MD5@23$SSL_DH_anon_WITH_3DES_EDE_CBC_SHA@27$SSL_DH_anon_WITH_DES_CBC_SHA@26$SSL_DH_anon_WITH_RC4_128_MD5@24$SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA@29$SSL_FORTEZZA_DMS_WITH_NULL_SHA@28$SSL_NO_SUCH_CIPHERSUITE@65535$SSL_NULL_WITH_NULL_NULL@0$SSL_RSA_EXPORT_WITH_DES40_CBC_SHA@8$SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5@6$SSL_RSA_EXPORT_WITH_RC4_40_MD5@3$SSL_RSA_WITH_3DES_EDE_CBC_MD5@65411$SSL_RSA_WITH_3DES_EDE_CBC_SHA@10$SSL_RSA_WITH_DES_CBC_MD5@65410$SSL_RSA_WITH_DES_CBC_SHA@9$SSL_RSA_WITH_IDEA_CBC_MD5@65409$SSL_RSA_WITH_IDEA_CBC_SHA@7$SSL_RSA_WITH_NULL_MD5@1$SSL_RSA_WITH_NULL_SHA@2$SSL_RSA_WITH_RC2_CBC_MD5@65408$SSL_RSA_WITH_RC4_128_MD5@4$SSL_RSA_WITH_RC4_128_SHA@5$TLS_AES_128_CCM_8_SHA256@4869$TLS_AES_128_CCM_SHA256@4868$TLS_AES_128_GCM_SHA256@4865$TLS_AES_256_GCM_SHA384@4866$TLS_CHACHA20_POLY1305_SHA256@4867$TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA@19$TLS_DHE_DSS_WITH_AES_128_CBC_SHA@50$TLS_DHE_DSS_WITH_AES_128_CBC_SHA256@64$TLS_DHE_DSS_WITH_AES_128_GCM_SHA256@162$TLS_DHE_DSS_WITH_AES_256_CBC_SHA@56$TLS_DHE_DSS_WITH_AES_256_CBC_SHA256@106$TLS_DHE_DSS_WITH_AES_256_GCM_SHA384@163$TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA@143$TLS_DHE_PSK_WITH_AES_128_CBC_SHA@144$TLS_DHE_PSK_WITH_AES_128_CBC_SHA256@178$TLS_DHE_PSK_WITH_AES_128_GCM_SHA256@170$TLS_DHE_PSK_WITH_AES_256_CBC_SHA@145$TLS_DHE_PSK_WITH_AES_256_CBC_SHA384@179$TLS_DHE_PSK_WITH_AES_256_GCM_SHA384@171$TLS_DHE_PSK_WITH_NULL_SHA@45$TLS_DHE_PSK_WITH_NULL_SHA256@180$TLS_DHE_PSK_WITH_NULL_SHA384@181$TLS_DHE_PSK_WITH_RC4_128_SHA@142$TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA@22$TLS_DHE_RSA_WITH_AES_128_CBC_SHA@51$TLS_DHE_RSA_WITH_AES_128_CBC_SHA256@103$TLS_DHE_RSA_WITH_AES_128_GCM_SHA256@158$TLS_DHE_RSA_WITH_AES_256_CBC_SHA@57$TLS_DHE_RSA_WITH_AES_256_CBC_SHA256@107$TLS_DHE_RSA_WITH_AES_256_GCM_SHA384@159$TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA@13$TLS_DH_DSS_WITH_AES_128_CBC_SHA@48$TLS_DH_DSS_WITH_AES_128_CBC_SHA256@62$TLS_DH_DSS_WITH_AES_128_GCM_SHA256@164$TLS_DH_DSS_WITH_AES_256_CBC_SHA@54$TLS_DH_DSS_WITH_AES_256_CBC_SHA256@104$TLS_DH_DSS_WITH_AES_256_GCM_SHA384@165$TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA@16$TLS_DH_RSA_WITH_AES_128_CBC_SHA@49$TLS_DH_RSA_WITH_AES_128_CBC_SHA256@63$TLS_DH_RSA_WITH_AES_128_GCM_SHA256@160$TLS_DH_RSA_WITH_AES_256_CBC_SHA@55$TLS_DH_RSA_WITH_AES_256_CBC_SHA256@105$TLS_DH_RSA_WITH_AES_256_GCM_SHA384@161$TLS_DH_anon_WITH_3DES_EDE_CBC_SHA@27$TLS_DH_anon_WITH_AES_128_CBC_SHA@52$TLS_DH_anon_WITH_AES_128_CBC_SHA256@108$TLS_DH_anon_WITH_AES_128_GCM_SHA256@166$TLS_DH_anon_WITH_AES_256_CBC_SHA@58$TLS_DH_anon_WITH_AES_256_CBC_SHA256@109$TLS_DH_anon_WITH_AES_256_GCM_SHA384@167$TLS_DH_anon_WITH_RC4_128_MD5@24$TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA@49160$TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA@49161$TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256@49187$TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256@49195$TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA@49162$TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384@49188$TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384@49196$TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256@52393$TLS_ECDHE_ECDSA_WITH_NULL_SHA@49158$TLS_ECDHE_ECDSA_WITH_RC4_128_SHA@49159$TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA@49205$TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA@49206$TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA@49170$TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA@49171$TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256@49191$TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256@49199$TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA@49172$TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384@49192$TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384@49200$TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256@52392$TLS_ECDHE_RSA_WITH_NULL_SHA@49168$TLS_ECDHE_RSA_WITH_RC4_128_SHA@49169$TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA@49155$TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA@49156$TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256@49189$TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256@49197$TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA@49157$TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384@49190$TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384@49198$TLS_ECDH_ECDSA_WITH_NULL_SHA@49153$TLS_ECDH_ECDSA_WITH_RC4_128_SHA@49154$TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA@49165$TLS_ECDH_RSA_WITH_AES_128_CBC_SHA@49166$TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256@49193$TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256@49201$TLS_ECDH_RSA_WITH_AES_256_CBC_SHA@49167$TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384@49194$TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384@49202$TLS_ECDH_RSA_WITH_NULL_SHA@49163$TLS_ECDH_RSA_WITH_RC4_128_SHA@49164$TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA@49175$TLS_ECDH_anon_WITH_AES_128_CBC_SHA@49176$TLS_ECDH_anon_WITH_AES_256_CBC_SHA@49177$TLS_ECDH_anon_WITH_NULL_SHA@49173$TLS_ECDH_anon_WITH_RC4_128_SHA@49174$TLS_EMPTY_RENEGOTIATION_INFO_SCSV@255$TLS_NULL_WITH_NULL_NULL@0$TLS_PSK_WITH_3DES_EDE_CBC_SHA@139$TLS_PSK_WITH_AES_128_CBC_SHA@140$TLS_PSK_WITH_AES_128_CBC_SHA256@174$TLS_PSK_WITH_AES_128_GCM_SHA256@168$TLS_PSK_WITH_AES_256_CBC_SHA@141$TLS_PSK_WITH_AES_256_CBC_SHA384@175$TLS_PSK_WITH_AES_256_GCM_SHA384@169$TLS_PSK_WITH_CHACHA20_POLY1305_SHA256@52395$TLS_PSK_WITH_NULL_SHA@44$TLS_PSK_WITH_NULL_SHA256@176$TLS_PSK_WITH_NULL_SHA384@177$TLS_PSK_WITH_RC4_128_SHA@138$TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA@147$TLS_RSA_PSK_WITH_AES_128_CBC_SHA@148$TLS_RSA_PSK_WITH_AES_128_CBC_SHA256@182$TLS_RSA_PSK_WITH_AES_128_GCM_SHA256@172$TLS_RSA_PSK_WITH_AES_256_CBC_SHA@149$TLS_RSA_PSK_WITH_AES_256_CBC_SHA384@183$TLS_RSA_PSK_WITH_AES_256_GCM_SHA384@173$TLS_RSA_PSK_WITH_NULL_SHA@46$TLS_RSA_PSK_WITH_NULL_SHA256@184$TLS_RSA_PSK_WITH_NULL_SHA384@185$TLS_RSA_PSK_WITH_RC4_128_SHA@146$TLS_RSA_WITH_3DES_EDE_CBC_SHA@10$TLS_RSA_WITH_AES_128_CBC_SHA@47$TLS_RSA_WITH_AES_128_CBC_SHA256@60$TLS_RSA_WITH_AES_128_GCM_SHA256@156$TLS_RSA_WITH_AES_256_CBC_SHA@53$TLS_RSA_WITH_AES_256_CBC_SHA256@61$TLS_RSA_WITH_AES_256_GCM_SHA384@157$TLS_RSA_WITH_NULL_MD5@1$TLS_RSA_WITH_NULL_SHA@2$TLS_RSA_WITH_NULL_SHA256@59$TLS_RSA_WITH_RC4_128_MD5@4$TLS_RSA_WITH_RC4_128_SHA@5$callerSecuritySession@-1$errAuthorizationBadAddress@-60033$errAuthorizationCanceled@-60006$errAuthorizationDenied@-60005$errAuthorizationExternalizeNotAllowed@-60009$errAuthorizationInteractionNotAllowed@-60007$errAuthorizationInternal@-60008$errAuthorizationInternalizeNotAllowed@-60010$errAuthorizationInvalidFlags@-60011$errAuthorizationInvalidPointer@-60004$errAuthorizationInvalidRef@-60002$errAuthorizationInvalidSet@-60001$errAuthorizationInvalidTag@-60003$errAuthorizationSuccess@0$errAuthorizationToolEnvironmentError@-60032$errAuthorizationToolExecuteFailure@-60031$errSSLATSCertificateHashAlgorithmViolation@-9885$errSSLATSCertificateTrustViolation@-9886$errSSLATSCiphersuiteViolation@-9882$errSSLATSLeafCertificateHashAlgorithmViolation@-9884$errSSLATSMinimumKeySizeViolation@-9883$errSSLATSMinimumVersionViolation@-9881$errSSLATSViolation@-9880$errSSLBadCert@-9808$errSSLBadCertificateStatusResponse@-9862$errSSLBadCipherSuite@-9818$errSSLBadConfiguration@-9848$errSSLBadRecordMac@-9846$errSSLBufferOverflow@-9817$errSSLCertExpired@-9814$errSSLCertNotYetValid@-9815$errSSLCertificateRequired@-9863$errSSLClientCertRequested@-9842$errSSLClientHelloReceived@-9851$errSSLClosedAbort@-9806$errSSLClosedGraceful@-9805$errSSLClosedNoNotify@-9816$errSSLConfigurationFailed@-9854$errSSLConnectionRefused@-9844$errSSLCrypto@-9809$errSSLDecodeError@-9859$errSSLDecompressFail@-9857$errSSLDecryptionFail@-9845$errSSLEarlyDataRejected@-9890$errSSLFatalAlert@-9802$errSSLHandshakeFail@-9858$errSSLHostNameMismatch@-9843$errSSLIllegalParam@-9830$errSSLInappropriateFallback@-9860$errSSLInternal@-9810$errSSLMissingExtension@-9861$errSSLModuleAttach@-9811$errSSLNegotiation@-9801$errSSLNetworkTimeout@-9853$errSSLNoRootCert@-9813$errSSLPeerAccessDenied@-9832$errSSLPeerAuthCompleted@-9841$errSSLPeerBadCert@-9825$errSSLPeerBadRecordMac@-9820$errSSLPeerCertExpired@-9828$errSSLPeerCertRevoked@-9827$errSSLPeerCertUnknown@-9829$errSSLPeerDecodeError@-9833$errSSLPeerDecompressFail@-9823$errSSLPeerDecryptError@-9834$errSSLPeerDecryptionFail@-9821$errSSLPeerExportRestriction@-9835$errSSLPeerHandshakeFail@-9824$errSSLPeerInsufficientSecurity@-9837$errSSLPeerInternalError@-9838$errSSLPeerNoRenegotiation@-9840$errSSLPeerProtocolVersion@-9836$errSSLPeerRecordOverflow@-9822$errSSLPeerUnexpectedMsg@-9819$errSSLPeerUnknownCA@-9831$errSSLPeerUnsupportedCert@-9826$errSSLPeerUserCancelled@-9839$errSSLProtocol@-9800$errSSLRecordOverflow@-9847$errSSLSessionNotFound@-9804$errSSLTransportReset@-9852$errSSLUnexpectedMessage@-9856$errSSLUnexpectedRecord@-9849$errSSLUnknownPSKIdentity@-9864$errSSLUnknownRootCert@-9812$errSSLUnrecognizedName@-9865$errSSLUnsupportedExtension@-9855$errSSLWeakPeerEphemeralDHKey@-9850$errSSLWouldBlock@-9803$errSSLXCertChainInvalid@-9807$errSecACLAddFailed@-67698$errSecACLChangeFailed@-67699$errSecACLDeleteFailed@-67696$errSecACLNotSimple@-25240$errSecACLReplaceFailed@-67697$errSecAddinLoadFailed@-67711$errSecAddinUnloadFailed@-67714$errSecAlgorithmMismatch@-67730$errSecAllocate@-108$errSecAlreadyLoggedIn@-67814$errSecAppleAddAppACLSubject@-67589$errSecAppleInvalidKeyEndDate@-67593$errSecAppleInvalidKeyStartDate@-67592$errSecApplePublicKeyIncomplete@-67590$errSecAppleSSLv2Rollback@-67595$errSecAppleSignatureMismatch@-67591$errSecAttachHandleBusy@-67728$errSecAttributeNotInContext@-67720$errSecAuthFailed@-25293$errSecBadReq@-909$errSecBlockSizeMismatch@-67810$errSecBufferTooSmall@-25301$errSecCRLAlreadySigned@-67684$errSecCRLBadURI@-67617$errSecCRLExpired@-67613$errSecCRLNotFound@-67615$errSecCRLNotTrusted@-67620$errSecCRLNotValidYet@-67614$errSecCRLPolicyFailed@-67621$errSecCRLServerDown@-67616$errSecCSAmbiguousBundleFormat@-67011$errSecCSBadBundleFormat@-67028$errSecCSBadCallbackValue@-67020$errSecCSBadDictionaryFormat@-67058$errSecCSBadDiskImageFormat@-67001$errSecCSBadFrameworkVersion@-67009$errSecCSBadLVArch@-67017$errSecCSBadMainExecutable@-67010$errSecCSBadNestedCode@-67021$errSecCSBadObjectFormat@-67049$errSecCSBadResource@-67054$errSecCSBadTeamIdentifier@-66997$errSecCSCMSTooLarge@-67036$errSecCSCancelled@-67006$errSecCSDBAccess@-67032$errSecCSDBDenied@-67033$errSecCSDSStoreSymlink@-67012$errSecCSDbCorrupt@-67024$errSecCSFileHardQuarantined@-67026$errSecCSGuestInvalid@-67063$errSecCSHelperFailed@-67019$errSecCSHostProtocolContradiction@-67043$errSecCSHostProtocolDedicationError@-67042$errSecCSHostProtocolInvalidAttribute@-67031$errSecCSHostProtocolInvalidHash@-67035$errSecCSHostProtocolNotProxy@-67041$errSecCSHostProtocolRelativePath@-67044$errSecCSHostProtocolStateError@-67040$errSecCSHostProtocolUnrelated@-67039$errSecCSHostReject@-67047$errSecCSInfoPlistFailed@-67030$errSecCSInternalError@-67048$errSecCSInvalidAssociatedFileData@-66999$errSecCSInvalidAttributeValues@-67066$errSecCSInvalidEntitlements@-66994$errSecCSInvalidFlags@-67070$errSecCSInvalidObjectRef@-67071$errSecCSInvalidPlatform@-67005$errSecCSInvalidRuntimeVersion@-66993$errSecCSInvalidSymlink@-67003$errSecCSInvalidTeamIdentifier@-66998$errSecCSMultipleGuests@-67064$errSecCSNoMainExecutable@-67029$errSecCSNoMatches@-67027$errSecCSNoSuchCode@-67065$errSecCSNotAHost@-67046$errSecCSNotAppLike@-67002$errSecCSNotSupported@-67037$errSecCSObjectRequired@-67069$errSecCSOutdated@-67025$errSecCSRegularFile@-67015$errSecCSReqFailed@-67050$errSecCSReqInvalid@-67052$errSecCSReqUnsupported@-67051$errSecCSResourceDirectoryFailed@-67023$errSecCSResourceNotSupported@-67016$errSecCSResourceRulesInvalid@-67053$errSecCSResourcesInvalid@-67055$errSecCSResourcesNotFound@-67056$errSecCSResourcesNotSealed@-67057$errSecCSRevokedNotarization@-66992$errSecCSSigDBAccess@-67032$errSecCSSigDBDenied@-67033$errSecCSSignatureFailed@-67061$errSecCSSignatureInvalid@-67045$errSecCSSignatureNotVerifiable@-67060$errSecCSSignatureUnsupported@-67059$errSecCSSignatureUntrusted@-66996$errSecCSStaticCodeChanged@-67034$errSecCSStaticCodeNotFound@-67068$errSecCSTooBig@-67004$errSecCSUnimplemented@-67072$errSecCSUnsealedAppRoot@-67014$errSecCSUnsealedFrameworkRoot@-67008$errSecCSUnsigned@-67062$errSecCSUnsignedNestedCode@-67022$errSecCSUnsupportedDigestAlgorithm@-67000$errSecCSUnsupportedGuestAttributes@-67067$errSecCSVetoed@-67018$errSecCSWeakResourceEnvelope@-67007$errSecCSWeakResourceRules@-67013$errSecCallbackFailed@-67695$errSecCertificateCannotOperate@-67817$errSecCertificateDuplicateExtension@-67903$errSecCertificateExpired@-67818$errSecCertificateIsCA@-67902$errSecCertificateNameNotAllowed@-67900$errSecCertificateNotValidYet@-67819$errSecCertificatePolicyNotAllowed@-67899$errSecCertificateRevoked@-67820$errSecCertificateSuspended@-67821$errSecCertificateValidityPeriodTooLong@-67901$errSecCodeSigningBadCertChainLength@-67647$errSecCodeSigningBadPathLengthConstraint@-67649$errSecCodeSigningDevelopment@-67651$errSecCodeSigningNoBasicConstraints@-67648$errSecCodeSigningNoExtendedKeyUsage@-67650$errSecConversionError@-67594$errSecCoreFoundationUnknown@-4960$errSecCreateChainFailed@-25318$errSecDataNotAvailable@-25316$errSecDataNotModifiable@-25317$errSecDataTooLarge@-25302$errSecDatabaseLocked@-67869$errSecDatastoreIsOpen@-67870$errSecDecode@-26275$errSecDeviceError@-67727$errSecDeviceFailed@-67588$errSecDeviceReset@-67587$errSecDeviceVerifyFailed@-67812$errSecDiskFull@-34$errSecDskFull@-34$errSecDuplicateCallback@-25297$errSecDuplicateItem@-25299$errSecDuplicateKeychain@-25296$errSecEMMLoadFailed@-67709$errSecEMMUnloadFailed@-67710$errSecEndOfData@-67634$errSecEventNotificationCallbackNotFound@-67723$errSecExtendedKeyUsageNotCritical@-67881$errSecFieldSpecifiedMultiple@-67866$errSecFileTooBig@-67597$errSecFunctionFailed@-67677$errSecFunctionIntegrityFail@-67670$errSecHostNameMismatch@-67602$errSecIDPFailure@-67622$errSecIO@-36$errSecInDarkWake@-25320$errSecIncompatibleDatabaseBlob@-67600$errSecIncompatibleFieldFormat@-67867$errSecIncompatibleKeyBlob@-67601$errSecIncompatibleVersion@-67704$errSecIncompleteCertRevocationCheck@-67635$errSecInputLengthError@-67724$errSecInsufficientClientID@-67586$errSecInsufficientCredentials@-67822$errSecInteractionNotAllowed@-25308$errSecInteractionRequired@-25315$errSecInternalComponent@-2070$errSecInternalError@-67671$errSecInvaldCRLAuthority@-67827$errSecInvalidACL@-67702$errSecInvalidAccessCredentials@-67700$errSecInvalidAccessRequest@-67876$errSecInvalidAction@-67823$errSecInvalidAddinFunctionTable@-67716$errSecInvalidAlgorithm@-67747$errSecInvalidAlgorithmParms@-67770$errSecInvalidAttributeAccessCredentials@-67796$errSecInvalidAttributeBase@-67788$errSecInvalidAttributeBlockSize@-67764$errSecInvalidAttributeDLDBHandle@-67794$errSecInvalidAttributeEffectiveBits@-67778$errSecInvalidAttributeEndDate@-67782$errSecInvalidAttributeInitVector@-67750$errSecInvalidAttributeIterationCount@-67792$errSecInvalidAttributeKey@-67748$errSecInvalidAttributeKeyLength@-67762$errSecInvalidAttributeKeyType@-67774$errSecInvalidAttributeLabel@-67772$errSecInvalidAttributeMode@-67776$errSecInvalidAttributeOutputSize@-67766$errSecInvalidAttributePadding@-67754$errSecInvalidAttributePassphrase@-67760$errSecInvalidAttributePrime@-67786$errSecInvalidAttributePrivateKeyFormat@-67800$errSecInvalidAttributePublicKeyFormat@-67798$errSecInvalidAttributeRandom@-67756$errSecInvalidAttributeRounds@-67768$errSecInvalidAttributeSalt@-67752$errSecInvalidAttributeSeed@-67758$errSecInvalidAttributeStartDate@-67780$errSecInvalidAttributeSubprime@-67790$errSecInvalidAttributeSymmetricKeyFormat@-67802$errSecInvalidAttributeVersion@-67784$errSecInvalidAttributeWrappedKeyFormat@-67804$errSecInvalidAuthority@-67824$errSecInvalidAuthorityKeyID@-67606$errSecInvalidBaseACLs@-67851$errSecInvalidBundleInfo@-67857$errSecInvalidCRL@-67830$errSecInvalidCRLAuthority@-67827$errSecInvalidCRLEncoding@-67828$errSecInvalidCRLGroup@-67816$errSecInvalidCRLIndex@-67858$errSecInvalidCRLType@-67829$errSecInvalidCallback@-25298$errSecInvalidCertAuthority@-67826$errSecInvalidCertificateGroup@-67691$errSecInvalidCertificateRef@-67690$errSecInvalidContext@-67746$errSecInvalidDBList@-67681$errSecInvalidDBLocation@-67875$errSecInvalidData@-67673$errSecInvalidDatabaseBlob@-67598$errSecInvalidDigestAlgorithm@-67815$errSecInvalidEncoding@-67853$errSecInvalidExtendedKeyUsage@-67609$errSecInvalidFormType@-67831$errSecInvalidGUID@-67679$errSecInvalidHandle@-67680$errSecInvalidHandleUsage@-67668$errSecInvalidID@-67832$errSecInvalidIDLinkage@-67610$errSecInvalidIdentifier@-67833$errSecInvalidIndex@-67834$errSecInvalidIndexInfo@-67877$errSecInvalidInputVector@-67744$errSecInvalidItemRef@-25304$errSecInvalidKeyAttributeMask@-67738$errSecInvalidKeyBlob@-67599$errSecInvalidKeyFormat@-67742$errSecInvalidKeyHierarchy@-67713$errSecInvalidKeyLabel@-67740$errSecInvalidKeyRef@-67712$errSecInvalidKeyUsageForPolicy@-67608$errSecInvalidKeyUsageMask@-67736$errSecInvalidKeychain@-25295$errSecInvalidLoginName@-67813$errSecInvalidModifyMode@-67879$errSecInvalidName@-67689$errSecInvalidNetworkAddress@-67683$errSecInvalidNewOwner@-67878$errSecInvalidNumberOfFields@-67685$errSecInvalidOutputVector@-67745$errSecInvalidOwnerEdit@-25244$errSecInvalidPVC@-67708$errSecInvalidParsingModule@-67868$errSecInvalidPassthroughID@-67682$errSecInvalidPasswordRef@-25261$errSecInvalidPointer@-67675$errSecInvalidPolicyIdentifiers@-67835$errSecInvalidPrefsDomain@-25319$errSecInvalidQuery@-67693$errSecInvalidReason@-67837$errSecInvalidRecord@-67701$errSecInvalidRequestInputs@-67838$errSecInvalidRequestor@-67855$errSecInvalidResponseVector@-67839$errSecInvalidRoot@-67612$errSecInvalidSampleValue@-67703$errSecInvalidScope@-67706$errSecInvalidSearchRef@-25305$errSecInvalidServiceMask@-67717$errSecInvalidSignature@-67688$errSecInvalidStopOnPolicy@-67840$errSecInvalidSubServiceID@-67719$errSecInvalidSubjectKeyID@-67607$errSecInvalidSubjectName@-67655$errSecInvalidTimeString@-67836$errSecInvalidTrustSetting@-25242$errSecInvalidTrustSettings@-25262$errSecInvalidTuple@-67841$errSecInvalidTupleCredendtials@-67852$errSecInvalidTupleCredentials@-67852$errSecInvalidTupleGroup@-67850$errSecInvalidValidityPeriod@-67854$errSecInvalidValue@-67694$errSecItemNotFound@-25300$errSecKeyBlobTypeIncorrect@-67732$errSecKeyHeaderInconsistent@-67733$errSecKeyIsSensitive@-25258$errSecKeySizeNotAllowed@-25311$errSecKeyUsageIncorrect@-67731$errSecLibraryReferenceNotFound@-67715$errSecMDSError@-67674$errSecMemoryError@-67672$errSecMissingAlgorithmParms@-67771$errSecMissingAttributeAccessCredentials@-67797$errSecMissingAttributeBase@-67789$errSecMissingAttributeBlockSize@-67765$errSecMissingAttributeDLDBHandle@-67795$errSecMissingAttributeEffectiveBits@-67779$errSecMissingAttributeEndDate@-67783$errSecMissingAttributeInitVector@-67751$errSecMissingAttributeIterationCount@-67793$errSecMissingAttributeKey@-67749$errSecMissingAttributeKeyLength@-67763$errSecMissingAttributeKeyType@-67775$errSecMissingAttributeLabel@-67773$errSecMissingAttributeMode@-67777$errSecMissingAttributeOutputSize@-67767$errSecMissingAttributePadding@-67755$errSecMissingAttributePassphrase@-67761$errSecMissingAttributePrime@-67787$errSecMissingAttributePrivateKeyFormat@-67801$errSecMissingAttributePublicKeyFormat@-67799$errSecMissingAttributeRandom@-67757$errSecMissingAttributeRounds@-67769$errSecMissingAttributeSalt@-67753$errSecMissingAttributeSeed@-67759$errSecMissingAttributeStartDate@-67781$errSecMissingAttributeSubprime@-67791$errSecMissingAttributeSymmetricKeyFormat@-67803$errSecMissingAttributeVersion@-67785$errSecMissingAttributeWrappedKeyFormat@-67805$errSecMissingEntitlement@-34018$errSecMissingRequiredExtension@-67880$errSecMissingValue@-67871$errSecMobileMeCSRVerifyFailure@-67665$errSecMobileMeFailedConsistencyCheck@-67666$errSecMobileMeNoRequestPending@-67664$errSecMobileMeRequestAlreadyPending@-67663$errSecMobileMeRequestQueued@-67657$errSecMobileMeRequestRedirected@-67658$errSecMobileMeServerAlreadyExists@-67661$errSecMobileMeServerError@-67659$errSecMobileMeServerNotAvailable@-67660$errSecMobileMeServerServiceErr@-67662$errSecModuleManagerInitializeFailed@-67721$errSecModuleManagerNotFound@-67722$errSecModuleManifestVerifyFailed@-67678$errSecModuleNotLoaded@-67718$errSecMultipleExecSegments@-66995$errSecMultiplePrivKeys@-25259$errSecMultipleValuesUnsupported@-67842$errSecNetworkFailure@-67636$errSecNoAccessForItem@-25243$errSecNoBasicConstraints@-67604$errSecNoBasicConstraintsCA@-67605$errSecNoCertificateModule@-25313$errSecNoDefaultAuthority@-67844$errSecNoDefaultKeychain@-25307$errSecNoFieldValues@-67859$errSecNoPolicyModule@-25314$errSecNoStorageModule@-25312$errSecNoSuchAttr@-25303$errSecNoSuchClass@-25306$errSecNoSuchKeychain@-25294$errSecNoTrustSettings@-25263$errSecNotAvailable@-25291$errSecNotInitialized@-67667$errSecNotLoggedIn@-67729$errSecNotSigner@-26267$errSecNotTrusted@-67843$errSecOCSPBadRequest@-67631$errSecOCSPBadResponse@-67630$errSecOCSPNoSigner@-67640$errSecOCSPNotTrustedToAnchor@-67637$errSecOCSPResponderInternalError@-67642$errSecOCSPResponderMalformedReq@-67641$errSecOCSPResponderSignatureRequired@-67644$errSecOCSPResponderTryLater@-67643$errSecOCSPResponderUnauthorized@-67645$errSecOCSPResponseNonceMismatch@-67646$errSecOCSPSignatureError@-67639$errSecOCSPStatusUnrecognized@-67633$errSecOCSPUnavailable@-67632$errSecOpWr@-49$errSecOutputLengthError@-67725$errSecPVCAlreadyConfigured@-67707$errSecPVCReferentNotFound@-67669$errSecParam@-50$errSecPassphraseRequired@-25260$errSecPathLengthConstraintExceeded@-67611$errSecPkcs12VerifyFailure@-25264$errSecPolicyNotFound@-25241$errSecPrivilegeNotGranted@-67705$errSecPrivilegeNotSupported@-67726$errSecPublicKeyInconsistent@-67811$errSecQuerySizeUnknown@-67809$errSecQuotaExceeded@-67596$errSecReadOnly@-25292$errSecReadOnlyAttr@-25309$errSecRecordModified@-67638$errSecRejectedForm@-67845$errSecRequestDescriptor@-67856$errSecRequestLost@-67846$errSecRequestRejected@-67847$errSecResourceSignBadCertChainLength@-67652$errSecResourceSignBadExtKeyUsage@-67653$errSecRestrictedAPI@-34020$errSecSMIMEBadExtendedKeyUsage@-67624$errSecSMIMEBadKeyUsage@-67625$errSecSMIMEEmailAddressesNotFound@-67623$errSecSMIMEKeyUsageNotCritical@-67626$errSecSMIMENoEmailAddress@-67627$errSecSMIMESubjAltNameNotCritical@-67628$errSecSSLBadExtendedKeyUsage@-67629$errSecSelfCheckFailed@-67676$errSecServiceNotAvailable@-67585$errSecSigningTimeMissing@-67894$errSecStagedOperationInProgress@-67806$errSecStagedOperationNotStarted@-67807$errSecSuccess@0$errSecTagNotFound@-67692$errSecTimestampAddInfoNotAvailable@-67892$errSecTimestampBadAlg@-67886$errSecTimestampBadDataFormat@-67888$errSecTimestampBadRequest@-67887$errSecTimestampInvalid@-67883$errSecTimestampMissing@-67882$errSecTimestampNotTrusted@-67884$errSecTimestampRejection@-67895$errSecTimestampRevocationNotification@-67898$errSecTimestampRevocationWarning@-67897$errSecTimestampServiceNotAvailable@-67885$errSecTimestampSystemFailure@-67893$errSecTimestampTimeNotAvailable@-67889$errSecTimestampUnacceptedExtension@-67891$errSecTimestampUnacceptedPolicy@-67890$errSecTimestampWaiting@-67896$errSecTrustNotAvailable@-25245$errSecTrustSettingDeny@-67654$errSecUnimplemented@-4$errSecUnknownCRLExtension@-67619$errSecUnknownCertExtension@-67618$errSecUnknownCriticalExtensionFlag@-67603$errSecUnknownFormat@-25257$errSecUnknownQualifiedCertStatement@-67656$errSecUnknownTag@-67687$errSecUnsupportedAddressType@-67848$errSecUnsupportedFieldFormat@-67860$errSecUnsupportedFormat@-25256$errSecUnsupportedIndexInfo@-67861$errSecUnsupportedKeyAttributeMask@-67739$errSecUnsupportedKeyFormat@-67734$errSecUnsupportedKeyLabel@-67741$errSecUnsupportedKeySize@-67735$errSecUnsupportedKeyUsageMask@-67737$errSecUnsupportedLocality@-67862$errSecUnsupportedNumAttributes@-67863$errSecUnsupportedNumIndexes@-67864$errSecUnsupportedNumRecordTypes@-67865$errSecUnsupportedNumSelectionPreds@-67873$errSecUnsupportedOperator@-67874$errSecUnsupportedQueryLimits@-67872$errSecUnsupportedService@-67849$errSecUnsupportedVectorOfBuffers@-67743$errSecUserCanceled@-128$errSecVerificationFailure@-67686$errSecVerifyActionFailed@-67825$errSecVerifyFailed@-67808$errSecWrPerm@-61$errSecWrongSecVersion@-25310$errSecureDownloadInvalidDownload@-20053$errSecureDownloadInvalidTicket@-20052$errSessionAuthorizationDenied@-60502$errSessionInternal@-60008$errSessionInvalidAttributes@-60501$errSessionInvalidFlags@-60011$errSessionInvalidId@-60500$errSessionSuccess@0$errSessionValueNotSet@-60503$kAlwaysAuthenticate@1$kAuthorizationExternalFormLength@32$kAuthorizationFlagCanNotPreAuthorize@1$kAuthorizationFlagDefaults@0$kAuthorizationFlagDestroyRights@8$kAuthorizationFlagExtendRights@2$kAuthorizationFlagInteractionAllowed@1$kAuthorizationFlagNoData@1048576$kAuthorizationFlagPartialRights@4$kAuthorizationFlagPreAuthorize@16$kAuthorizationResultAllow@0$kAuthorizationResultDeny@1$kAuthorizationResultUndefined@2$kAuthorizationResultUserCanceled@3$kCMSAttrAppleCodesigningHashAgility@16$kCMSAttrAppleCodesigningHashAgilityV2@32$kCMSAttrAppleExpirationTime@64$kCMSAttrNone@0$kCMSAttrSigningTime@8$kCMSAttrSmimeCapabilities@1$kCMSAttrSmimeEncryptionKeyPrefs@2$kCMSAttrSmimeMSEncryptionKeyPrefs@4$kCMSCertificateChain@2$kCMSCertificateChainWithRoot@3$kCMSCertificateChainWithRootOrFail@4$kCMSCertificateNone@0$kCMSCertificateSignerOnly@1$kCMSSignerInvalidCert@4$kCMSSignerInvalidIndex@5$kCMSSignerInvalidSignature@3$kCMSSignerNeedsDetachedContent@2$kCMSSignerUnsigned@0$kCMSSignerValid@1$kDTLSProtocol1@9$kDTLSProtocol12@11$kNeverAuthenticate@0$kSSLAborted@4$kSSLCiphersuiteGroupATS@3$kSSLCiphersuiteGroupATSCompatibility@4$kSSLCiphersuiteGroupCompatibility@1$kSSLCiphersuiteGroupDefault@0$kSSLCiphersuiteGroupLegacy@2$kSSLClientCertNone@0$kSSLClientCertRejected@3$kSSLClientCertRequested@1$kSSLClientCertSent@2$kSSLClientSide@1$kSSLClosed@3$kSSLConnected@2$kSSLDatagramType@1$kSSLHandshake@1$kSSLIdle@0$kSSLProtocol2@1$kSSLProtocol3@2$kSSLProtocol3Only@3$kSSLProtocolAll@6$kSSLProtocolUnknown@0$kSSLServerSide@0$kSSLSessionOptionAllowRenegotiation@8$kSSLSessionOptionAllowServerIdentityChange@5$kSSLSessionOptionBreakOnCertRequested@1$kSSLSessionOptionBreakOnClientAuth@2$kSSLSessionOptionBreakOnClientHello@7$kSSLSessionOptionBreakOnServerAuth@0$kSSLSessionOptionEnableSessionTickets@9$kSSLSessionOptionFallback@6$kSSLSessionOptionFalseStart@3$kSSLSessionOptionSendOneByteRecord@4$kSSLStreamType@0$kSec3DES192@192$kSecAES128@128$kSecAES192@192$kSecAES256@256$kSecAccessControlAnd@32768$kSecAccessControlApplicationPassword@2147483648$kSecAccessControlBiometryAny@2$kSecAccessControlBiometryCurrentSet@8$kSecAccessControlDevicePasscode@16$kSecAccessControlOr@16384$kSecAccessControlPrivateKeyUsage@1073741824$kSecAccessControlTouchIDAny@2$kSecAccessControlTouchIDCurrentSet@8$kSecAccessControlUserPresence@1$kSecAccessControlWatch@32$kSecAccountItemAttr@1633903476$kSecAddEvent@3$kSecAddEventMask@8$kSecAddressItemAttr@1633969266$kSecAlias@1634494835$kSecAppleSharePasswordItemClass@1634953328$kSecAuthenticationTypeAny@0$kSecAuthenticationTypeDPA@1633775716$kSecAuthenticationTypeDefault@1953261156$kSecAuthenticationTypeHTMLForm@1836216166$kSecAuthenticationTypeHTTPBasic@1886680168$kSecAuthenticationTypeHTTPDigest@1685353576$kSecAuthenticationTypeItemAttr@1635023216$kSecAuthenticationTypeMSN@1634628461$kSecAuthenticationTypeNTLM@1835824238$kSecAuthenticationTypeRPA@1633775730$kSecCSAllowNetworkAccess@65536$kSecCSApplyEmbeddedPolicy@33554432$kSecCSBasicValidateOnly@6$kSecCSCalculateCMSDigest@64$kSecCSCheckAllArchitectures@1$kSecCSCheckGatekeeperArchitectures@65$kSecCSCheckNestedCode@8$kSecCSCheckTrustedAnchors@134217728$kSecCSConsiderExpiration@2147483648$kSecCSContentInformation@16$kSecCSDedicatedHost@1$kSecCSDefaultFlags@0$kSecCSDoNotValidateExecutable@2$kSecCSDoNotValidateResources@4$kSecCSDynamicInformation@8$kSecCSEnforceRevocationChecks@1073741824$kSecCSFastExecutableValidation@131072$kSecCSFullReport@32$kSecCSGenerateGuestHash@2$kSecCSInternalInformation@1$kSecCSNoNetworkAccess@536870912$kSecCSQuickCheck@67108864$kSecCSReportProgress@268435456$kSecCSRequirementInformation@4$kSecCSRestrictSidebandData@512$kSecCSRestrictSymlinks@128$kSecCSRestrictToAppLike@256$kSecCSSigningInformation@2$kSecCSSingleThreaded@4096$kSecCSSkipResourceDirectory@32$kSecCSStrictValidate@16$kSecCSUseAllArchitectures@1$kSecCSUseSoftwareSigningCert@1024$kSecCSValidatePEH@2048$kSecCertificateEncoding@1667591779$kSecCertificateItemClass@2147487744$kSecCertificateType@1668577648$kSecCodeSignatureAdhoc@2$kSecCodeSignatureEnforcement@4096$kSecCodeSignatureForceExpiration@1024$kSecCodeSignatureForceHard@256$kSecCodeSignatureForceKill@512$kSecCodeSignatureHashSHA1@1$kSecCodeSignatureHashSHA256@2$kSecCodeSignatureHashSHA256Truncated@3$kSecCodeSignatureHashSHA384@4$kSecCodeSignatureHashSHA512@5$kSecCodeSignatureHost@1$kSecCodeSignatureLibraryValidation@8192$kSecCodeSignatureLinkerSigned@131072$kSecCodeSignatureNoHash@0$kSecCodeSignatureRestrict@2048$kSecCodeSignatureRuntime@65536$kSecCodeStatusDebugged@268435456$kSecCodeStatusHard@256$kSecCodeStatusKill@512$kSecCodeStatusPlatform@67108864$kSecCodeStatusValid@1$kSecCommentItemAttr@1768123764$kSecCreationDateItemAttr@1667522932$kSecCreatorItemAttr@1668445298$kSecCredentialTypeDefault@0$kSecCredentialTypeNoUI@2$kSecCredentialTypeWithUI@1$kSecCrlEncoding@1668443747$kSecCrlType@1668445296$kSecCustomIconItemAttr@1668641641$kSecDataAccessEvent@10$kSecDataAccessEventMask@1024$kSecDefaultChangedEvent@9$kSecDefaultChangedEventMask@512$kSecDefaultKeySize@0$kSecDeleteEvent@4$kSecDeleteEventMask@16$kSecDescriptionItemAttr@1684370275$kSecDesignatedRequirementType@3$kSecEveryEventMask@4294967295$kSecFormatBSAFE@3$kSecFormatNetscapeCertSequence@13$kSecFormatOpenSSL@1$kSecFormatPEMSequence@10$kSecFormatPKCS12@12$kSecFormatPKCS7@11$kSecFormatRawKey@4$kSecFormatSSH@2$kSecFormatSSHv2@14$kSecFormatUnknown@0$kSecFormatWrappedLSH@8$kSecFormatWrappedOpenSSL@6$kSecFormatWrappedPKCS8@5$kSecFormatWrappedSSH@7$kSecFormatX509Cert@9$kSecGenericItemAttr@1734700641$kSecGenericPasswordItemClass@1734700656$kSecGuestRequirementType@2$kSecHonorRoot@256$kSecHostRequirementType@1$kSecInternetPasswordItemClass@1768842612$kSecInvalidRequirementType@6$kSecInvisibleItemAttr@1768846953$kSecItemPemArmour@1$kSecItemTypeAggregate@5$kSecItemTypeCertificate@4$kSecItemTypePrivateKey@1$kSecItemTypePublicKey@2$kSecItemTypeSessionKey@3$kSecItemTypeUnknown@0$kSecKeyAlias@2$kSecKeyAlwaysSensitive@15$kSecKeyApplicationTag@7$kSecKeyDecrypt@19$kSecKeyDerive@20$kSecKeyEffectiveKeySize@11$kSecKeyEncrypt@18$kSecKeyEndDate@13$kSecKeyExtractable@16$kSecKeyImportOnlyOne@1$kSecKeyKeyClass@0$kSecKeyKeyCreator@8$kSecKeyKeySizeInBits@10$kSecKeyKeyType@9$kSecKeyLabel@6$kSecKeyModifiable@5$kSecKeyNeverExtractable@17$kSecKeyNoAccessControl@4$kSecKeyOperationTypeDecrypt@3$kSecKeyOperationTypeEncrypt@2$kSecKeyOperationTypeKeyExchange@4$kSecKeyOperationTypeSign@0$kSecKeyOperationTypeVerify@1$kSecKeyPermanent@3$kSecKeyPrintName@1$kSecKeyPrivate@4$kSecKeySecurePassphrase@2$kSecKeySensitive@14$kSecKeySign@21$kSecKeySignRecover@23$kSecKeyStartDate@12$kSecKeyUnwrap@26$kSecKeyUsageAll@2147483647$kSecKeyUsageCRLSign@64$kSecKeyUsageContentCommitment@2$kSecKeyUsageCritical@2147483648$kSecKeyUsageDataEncipherment@8$kSecKeyUsageDecipherOnly@256$kSecKeyUsageDigitalSignature@1$kSecKeyUsageEncipherOnly@128$kSecKeyUsageKeyAgreement@16$kSecKeyUsageKeyCertSign@32$kSecKeyUsageKeyEncipherment@4$kSecKeyUsageNonRepudiation@2$kSecKeyUsageUnspecified@0$kSecKeyVerify@22$kSecKeyVerifyRecover@24$kSecKeyWrap@25$kSecKeychainListChangedEvent@11$kSecKeychainListChangedMask@2048$kSecKeychainPromptInvalid@64$kSecKeychainPromptInvalidAct@128$kSecKeychainPromptRequirePassphase@1$kSecKeychainPromptUnsigned@16$kSecKeychainPromptUnsignedAct@32$kSecLabelItemAttr@1818321516$kSecLibraryRequirementType@4$kSecLockEvent@1$kSecLockEventMask@2$kSecMatchBits@3$kSecModDateItemAttr@1835295092$kSecNegativeItemAttr@1852139361$kSecNoGuest@0$kSecPaddingNone@0$kSecPaddingOAEP@2$kSecPaddingPKCS1@1$kSecPaddingPKCS1MD2@32768$kSecPaddingPKCS1MD5@32769$kSecPaddingPKCS1SHA1@32770$kSecPaddingPKCS1SHA224@32771$kSecPaddingPKCS1SHA256@32772$kSecPaddingPKCS1SHA384@32773$kSecPaddingPKCS1SHA512@32774$kSecPaddingSigRaw@16384$kSecPasswordChangedEvent@6$kSecPasswordChangedEventMask@64$kSecPathItemAttr@1885434984$kSecPluginRequirementType@5$kSecPortItemAttr@1886351988$kSecPreferencesDomainCommon@2$kSecPreferencesDomainDynamic@3$kSecPreferencesDomainSystem@1$kSecPreferencesDomainUser@0$kSecPrivateKeyItemClass@16$kSecProtocolItemAttr@1886675820$kSecProtocolTypeAFP@1634103328$kSecProtocolTypeAny@0$kSecProtocolTypeAppleTalk@1635019883$kSecProtocolTypeCIFS@1667851891$kSecProtocolTypeCVSpserver@1668707184$kSecProtocolTypeDAAP@1684103536$kSecProtocolTypeEPPC@1701867619$kSecProtocolTypeFTP@1718906912$kSecProtocolTypeFTPAccount@1718906977$kSecProtocolTypeFTPProxy@1718907000$kSecProtocolTypeFTPS@1718906995$kSecProtocolTypeHTTP@1752462448$kSecProtocolTypeHTTPProxy@1752461432$kSecProtocolTypeHTTPS@1752461427$kSecProtocolTypeHTTPSProxy@1752462200$kSecProtocolTypeIMAP@1768776048$kSecProtocolTypeIMAPS@1768779891$kSecProtocolTypeIPP@1768976416$kSecProtocolTypeIRC@1769104160$kSecProtocolTypeIRCS@1769104243$kSecProtocolTypeLDAP@1818517872$kSecProtocolTypeLDAPS@1818521715$kSecProtocolTypeNNTP@1852732528$kSecProtocolTypeNNTPS@1853124723$kSecProtocolTypePOP3@1886351411$kSecProtocolTypePOP3S@1886351475$kSecProtocolTypeRTSP@1920234352$kSecProtocolTypeRTSPProxy@1920234360$kSecProtocolTypeSMB@1936548384$kSecProtocolTypeSMTP@1936553072$kSecProtocolTypeSOCKS@1936685088$kSecProtocolTypeSSH@1936943136$kSecProtocolTypeSVN@1937141280$kSecProtocolTypeTelnet@1952803950$kSecProtocolTypeTelnetS@1952803955$kSecPublicKeyItemClass@15$kSecRSAMax@4096$kSecRSAMin@1024$kSecReadPermStatus@2$kSecRequirementTypeCount@6$kSecRevocationCRLMethod@2$kSecRevocationNetworkAccessDisabled@16$kSecRevocationOCSPMethod@1$kSecRevocationPreferCRL@4$kSecRevocationRequirePositiveResponse@8$kSecRevocationUseAnyAvailableMethod@3$kSecScriptCodeItemAttr@1935897200$kSecSecurityDomainItemAttr@1935961454$kSecServerItemAttr@1936881266$kSecServiceItemAttr@1937138533$kSecSignatureItemAttr@1936943463$kSecSymmetricKeyItemClass@17$kSecTransformErrorAbortInProgress@19$kSecTransformErrorAborted@20$kSecTransformErrorAttributeNotFound@1$kSecTransformErrorInvalidAlgorithm@6$kSecTransformErrorInvalidConnection@15$kSecTransformErrorInvalidInput@10$kSecTransformErrorInvalidInputDictionary@5$kSecTransformErrorInvalidLength@7$kSecTransformErrorInvalidOperation@2$kSecTransformErrorInvalidType@8$kSecTransformErrorMissingParameter@14$kSecTransformErrorMoreThanOneOutput@4$kSecTransformErrorNameAlreadyRegistered@11$kSecTransformErrorNotInitializedCorrectly@3$kSecTransformErrorUnsupportedAttribute@12$kSecTransformInvalidArgument@21$kSecTransformInvalidOverride@17$kSecTransformMetaAttributeCanCycle@7$kSecTransformMetaAttributeDeferred@5$kSecTransformMetaAttributeExternalize@8$kSecTransformMetaAttributeHasInboundConnection@10$kSecTransformMetaAttributeHasOutboundConnections@9$kSecTransformMetaAttributeName@1$kSecTransformMetaAttributeRef@2$kSecTransformMetaAttributeRequired@3$kSecTransformMetaAttributeRequiresOutboundConnection@4$kSecTransformMetaAttributeStream@6$kSecTransformMetaAttributeValue@0$kSecTransformOperationNotSupportedOnGroup@13$kSecTransformTransformIsExecuting@16$kSecTransformTransformIsNotRegistered@18$kSecTrustOptionAllowExpired@1$kSecTrustOptionAllowExpiredRoot@8$kSecTrustOptionFetchIssuerFromNet@4$kSecTrustOptionImplicitAnchors@64$kSecTrustOptionLeafIsCA@2$kSecTrustOptionRequireRevPerCert@16$kSecTrustOptionUseTrustSettings@32$kSecTrustResultConfirm@2$kSecTrustResultDeny@3$kSecTrustResultFatalTrustFailure@6$kSecTrustResultInvalid@0$kSecTrustResultOtherError@7$kSecTrustResultProceed@1$kSecTrustResultRecoverableTrustFailure@5$kSecTrustResultUnspecified@4$kSecTrustSettingsChangedEvent@12$kSecTrustSettingsChangedEventMask@4096$kSecTrustSettingsDefaultRootCertSetting@-1$kSecTrustSettingsDomainAdmin@1$kSecTrustSettingsDomainSystem@2$kSecTrustSettingsDomainUser@0$kSecTrustSettingsKeyUseAny@4294967295$kSecTrustSettingsKeyUseEnDecryptData@2$kSecTrustSettingsKeyUseEnDecryptKey@4$kSecTrustSettingsKeyUseKeyExchange@32$kSecTrustSettingsKeyUseSignCert@8$kSecTrustSettingsKeyUseSignRevocation@16$kSecTrustSettingsKeyUseSignature@1$kSecTrustSettingsResultDeny@3$kSecTrustSettingsResultInvalid@0$kSecTrustSettingsResultTrustAsRoot@2$kSecTrustSettingsResultTrustRoot@1$kSecTrustSettingsResultUnspecified@4$kSecTypeItemAttr@1954115685$kSecUnlockEvent@2$kSecUnlockEventMask@4$kSecUnlockStateStatus@1$kSecUpdateEvent@5$kSecUpdateEventMask@32$kSecUseOnlyGID@2$kSecUseOnlyUID@1$kSecVolumeItemAttr@1986817381$kSecWritePermStatus@4$kSecp192r1@192$kSecp256r1@256$kSecp384r1@384$kSecp521r1@521$kSecureDownloadDoNotEvaluateSigner@0$kSecureDownloadEvaluateSigner@1$kSecureDownloadFailEvaluation@2$kTLSProtocol1@4$kTLSProtocol11@7$kTLSProtocol12@8$kTLSProtocol13@10$kTLSProtocol1Only@5$kTLSProtocolMaxSupported@999$kTryAuthenticate@2$noSecuritySession@0$sessionHasGraphicAccess@16$sessionHasTTY@32$sessionIsRemote@4096$sessionIsRoot@1$sessionKeepCurrentBootstrap@32768$tls_ciphersuite_AES_128_GCM_SHA256@4865$tls_ciphersuite_AES_256_GCM_SHA384@4866$tls_ciphersuite_CHACHA20_POLY1305_SHA256@4867$tls_ciphersuite_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA@49160$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA@49161$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256@49187$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256@49195$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA@49162$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384@49188$tls_ciphersuite_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384@49196$tls_ciphersuite_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256@52393$tls_ciphersuite_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA@49170$tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA@49171$tls_ciphersuite_ECDHE_RSA_WITH_AES_128_CBC_SHA256@49191$tls_ciphersuite_ECDHE_RSA_WITH_AES_128_GCM_SHA256@49199$tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA@49172$tls_ciphersuite_ECDHE_RSA_WITH_AES_256_CBC_SHA384@49192$tls_ciphersuite_ECDHE_RSA_WITH_AES_256_GCM_SHA384@49200$tls_ciphersuite_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256@52392$tls_ciphersuite_RSA_WITH_3DES_EDE_CBC_SHA@10$tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA@47$tls_ciphersuite_RSA_WITH_AES_128_CBC_SHA256@60$tls_ciphersuite_RSA_WITH_AES_128_GCM_SHA256@156$tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA@53$tls_ciphersuite_RSA_WITH_AES_256_CBC_SHA256@61$tls_ciphersuite_RSA_WITH_AES_256_GCM_SHA384@157$tls_ciphersuite_group_ats@3$tls_ciphersuite_group_ats_compatibility@4$tls_ciphersuite_group_compatibility@1$tls_ciphersuite_group_default@0$tls_ciphersuite_group_legacy@2$tls_protocol_version_DTLSv10@65279$tls_protocol_version_DTLSv12@65277$tls_protocol_version_TLSv10@769$tls_protocol_version_TLSv11@770$tls_protocol_version_TLSv12@771$tls_protocol_version_TLSv13@772$""" -misc.update( - { - "SessionCreationFlags": NewType("SessionCreationFlags", int), - "tls_ciphersuite_group_t": NewType("tls_ciphersuite_group_t", int), - "SecTrustResultType": NewType("SecTrustResultType", int), - "tls_ciphersuite_t": NewType("tls_ciphersuite_t", int), - "SecItemAttr": NewType("SecItemAttr", int), - "SecKeychainEventMask": NewType("SecKeychainEventMask", int), - "SecItemClass": NewType("SecItemClass", int), - "SecCSDigestAlgorithm": NewType("SecCSDigestAlgorithm", int), - "CMSSignedAttributes": NewType("CMSSignedAttributes", int), - "SecTrustSettingsKeyUsage": NewType("SecTrustSettingsKeyUsage", int), - "CMSCertificateChainMode": NewType("CMSCertificateChainMode", int), - "SecAccessControlCreateFlags": NewType("SecAccessControlCreateFlags", int), - "SecCSFlags": NewType("SecCSFlags", int), - "SecCodeSignatureFlags": NewType("SecCodeSignatureFlags", int), - "CMSSignerStatus": NewType("CMSSignerStatus", int), - "SecPreferencesDomain": NewType("SecPreferencesDomain", int), - "tls_protocol_version_t": NewType("tls_protocol_version_t", int), - "SessionAttributeBits": NewType("SessionAttributeBits", int), - "SecRequirementType": NewType("SecRequirementType", int), - "SecAuthenticationType": NewType("SecAuthenticationType", int), - "SSLCiphersuiteGroup": NewType("SSLCiphersuiteGroup", int), - "SecTrustSettingsResult": NewType("SecTrustSettingsResult", int), - "SecProtocolType": NewType("SecProtocolType", int), - "SSLProtocol": NewType("SSLProtocol", int), - "SecKeyUsage": NewType("SecKeyUsage", int), - "SecKeychainEvent": NewType("SecKeychainEvent", int), - "SecCodeStatus": NewType("SecCodeStatus", int), - "SecTrustSettingsDomain": NewType("SecTrustSettingsDomain", int), - "SecTransformMetaAttributeType": NewType("SecTransformMetaAttributeType", int), - "SecTrustOptionFlags": NewType("SecTrustOptionFlags", int), - } -) -misc.update( - { - "kAuthorizationComment": b"comment", - "kSecTrustSettingsAllowedError": "kSecTrustSettingsAllowedError", - "kSecTrustSettingsApplication": "kSecTrustSettingsApplication", - "kSecTrustSettingsResult": "kSecTrustSettingsResult", - "kAuthorizationEnvironmentIcon": b"icon", - "kAuthorizationPamResult": b"pam_result", - "kAuthorizationRuleClassDeny": b"deny", - "kAuthorizationEnvironmentUsername": b"username", - "kSecTrustSettingsKeyUsage": "kSecTrustSettingsKeyUsage", - "kAuthorizationRuleIsAdmin": b"is-admin", - "kAuthorizationRuleClassAllow": b"allow", - "kAuthorizationEnvironmentPassword": b"password", - "kAuthorizationRuleAuthenticateAsAdmin": b"authenticate-admin", - "kSecTrustSettingsPolicyString": "kSecTrustSettingsPolicyString", - "kAuthorizationEnvironmentPrompt": b"prompt", - "kAuthorizationRightRule": b"rule", - "kAuthorizationRuleAuthenticateAsSessionUser": b"authenticate-session-owner", - "kAuthorizationFlags": b"flags", - "kAuthorizationEnvironmentShared": b"shared", - "kSecTrustSettingsPolicy": "kSecTrustSettingsPolicy", - "kAuthorizationRightExecute": b"system.privilege.admin", - } -) -functions = { - "CMSEncoderGetCertificateChainMode": (b"i@o^I",), - "SecKeyGeneratePair": ( - b"i@o^@o^@", - "", - { - "arguments": { - 1: {"already_cfretained": True}, - 2: {"already_cfretained": True}, - } - }, - ), - "SecCodeCopyPath": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecCertificateCopySerialNumber": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecKeyIsAlgorithmSupported": (sel32or64(b"Z@i@", b"Z@q@"),), - "SecTrustSetPolicies": (b"i@@",), - "SecTrustCopyKey": ( - b"^{__SecKey=}^{__SecTrust=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SSLSetError": (b"i@i",), - "SecTransformCustomSetAttribute": (b"@^{OpaqueSecTransformImplementation=}@q@",), - "SSLGetSessionOption": (b"i@io^Z",), - "SecStaticCodeCreateWithPath": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecTrustGetCertificateAtIndex": (b"@@q",), - "SecTransformSetTransformAction": ( - b"@^{OpaqueSecTransformImplementation=}@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "sec_protocol_options_set_tls_tickets_enabled": (b"vBB",), - "SSLGetSessionState": (b"i@o^i",), - "SecItemImport": ( - b"i@@N^IN^IIn^{_SecItemImportExportKeyParameters=II@@@@@@}@o^@", - "", - {"arguments": {7: {"already_cfretained": True}}}, - ), - "SSLGetMaxDatagramRecordSize": (b"i@o^L",), - "sec_protocol_options_set_tls_ocsp_enabled": (b"vBB",), - "SecTrustEvaluate": (b"i@o^I",), - "CMSDecoderIsContentEncrypted": (b"i@o^Z",), - "SecTaskCreateFromSelf": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecureDownloadCopyCreationDate": ( - b"i^{OpaqueSecureDownload=}o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecTransformSetAttributeAction": ( - b"@^{OpaqueSecTransformImplementation=}@@@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "sec_certificate_copy_ref": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SSLCopyDistinguishedNames": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecTrustSetExceptions": (b"B@@",), - "SecItemAdd": (b"i@o^@", "", {"arguments": {1: {"already_cfretained": True}}}), - "SecKeychainItemCopyKeychain": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "sec_protocol_metadata_get_server_name": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "SecPolicyCreateRevocation": (b"@Q", "", {"retval": {"already_cfretained": True}}), - "SecKeyCreateEncryptedData": ( - b"@@@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecCertificateCopyNormalizedSubjectContent": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecKeyCreateSignature": (b"@@@@o^@", "", {"retval": {"already_cfretained": True}}), - "CMSDecoderCreate": ( - b"io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True}}, - }, - ), - "CMSDecoderCopyAllCerts": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "sec_protocol_options_add_tls_ciphersuite_group": (b"v@S",), - "SecDigestTransformCreate": ( - b"@@qo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SSLSetEncryptionCertificate": (b"i@@",), - "SecHostCreateGuest": (b"iII@@Io^I", "", {"retval": {"already_cfretained": True}}), - "SecTrustSettingsCopyCertificates": ( - b"iIo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeychainUnlock": ( - b"i@In^vZ", - "", - {"arguments": {2: {"c_array_length_in_arg": 1}}}, - ), - "SSLSetSessionTicketsEnabled": (b"i@Z",), - "SecHostSelectGuest": (b"iII",), - "AuthorizationCopyPrivilegedReference": (b"io^^{AuthorizationOpaqueRef=}",), - "CMSDecoderSetDetachedContent": (b"i@@",), - "sec_identity_create": (b"@@", "", {"retval": {"already_retained": True}}), - "SSLAddDistinguishedName": ( - b"i@n^vL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SecKeychainItemCopyFromPersistentReference": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecTransformCopyExternalRepresentation": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "sec_protocol_options_append_tls_ciphersuite_group": (b"v@S",), - "SecStaticCodeCheckValidityWithErrors": ( - b"i@I@o^@", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "SSLGetNegotiatedProtocolVersion": (b"i@o^i",), - "sec_protocol_metadata_access_distinguished_names": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - }, - "callable_retained": True, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}}, - }, - } - } - }, - ), - "SecTransformPushbackAttribute": (b"@^{OpaqueSecTransformImplementation=}@@",), - "SecAccessCreateWithOwnerAndACL": ( - b"@III@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTrustCopyResult": (b"@@", "", {"retval": {"already_cfretained": True}}), - "CMSDecoderCopySignerSigningTime": ( - b"i@Lo^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecTrustSetNetworkFetchAllowed": (b"i@Z",), - "SSLSetCertificate": (b"i@@",), - "SecACLSetContents": (b"i@@@S",), - "sec_protocol_options_append_tls_ciphersuite": (b"v@@",), - "SecTrustGetCertificateCount": (b"q@",), - "SecPKCS12Import": ( - b"i@@o^@", - "", - {"arguments": {2: {"already_cfretained": True}}}, - ), - "sec_protocol_options_set_peer_authentication_optional": (b"v@B",), - "SecTransformSetAttribute": ( - b"Z@@@o^@", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "SecACLGetTypeID": (sel32or64(b"I", b"Q"),), - "SecTrustSettingsSetTrustSettings": (b"i@I@",), - "SecKeyCopyExternalRepresentation": ( - b"@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTransformCreateGroupTransform": ( - b"@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSDecoderSetSearchKeychain": (b"i@@",), - "SecTrustedApplicationSetData": (b"i@@",), - "SSLSetSessionOption": (b"i@iZ",), - "sec_protocol_options_set_peer_authentication_required": (b"vBB",), - "SecKeychainSetPreferenceDomain": (b"ii",), - "SecTransformCreateFromExternalRepresentation": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SSLGetBufferedReadSize": (b"i@o^L",), - "SecTrustSetVerifyDate": (b"i@@",), - "sec_trust_copy_ref": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecKeychainItemCreateFromContent": ( - b"iI^{SecKeychainAttributeList=I^{SecKeychainAttribute=II^v}}I^v^{__SecKeychain=}^{__SecAccess=}^^{__SecKeychainItem=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SSLContextGetTypeID": (sel32or64(b"I", b"Q"),), - "SessionCreate": (b"iII", "", {"retval": {"already_cfretained": True}}), - "sec_identity_access_certificates": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}}, - }, - } - } - }, - ), - "SecAccessCopyOwnerAndACL": ( - b"i@o^Io^Io^Io^@", - "", - {"arguments": {4: {"already_cfretained": True}}}, - ), - "SecPolicyCreateWithProperties": ( - b"@@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecIdentitySearchGetTypeID": (b"Q",), - "SecKeychainLockAll": (b"i",), - "SSLGetPeerDomainName": ( - b"i@o^tN^L", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SecTaskGetCodeSignStatus": (b"I^{__SecTask=}",), - "sec_protocol_metadata_access_ocsp_response": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}}, - }, - } - } - }, - ), - "SecACLCopyContents": ( - b"i@o^@o^@o^S", - "", - { - "arguments": { - 1: {"already_cfretained": True}, - 2: {"already_cfretained": True}, - } - }, - ), - "SecKeychainGetDLDBHandle": (b"i^{__SecKeychain=}^{cssm_dl_db_handle=qq}",), - "SecCodeMapMemory": (b"i@I",), - "CMSDecoderCopyContent": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecAccessCreate": ( - b"i@@o^@", - "", - {"arguments": {2: {"already_cfretained": True}}}, - ), - "SecTransformExecute": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecCertificateCopyEmailAddresses": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "AuthorizationMakeExternalForm": ( - b"i^{AuthorizationOpaqueRef=}o^{_AuthorizationExternalForm=[32C]}", - ), - "SecCodeCheckValidityWithErrors": ( - b"i@I@o^@", - "", - { - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "SecCodeCopyDesignatedRequirement": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecTransformNoData": (b"@",), - "SecTransformRegister": ( - b"Z^{__CFString=}^?^^{__CFError=}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": { - 0: {"type": b"^{__CFString=}"}, - 1: {"type": b"@"}, - 2: {"type": b"^{OpaqueSecTransformImplementation=}"}, - }, - } - }, - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - } - }, - ), - "SecCodeCopyStaticCode": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "CMSEncoderAddSignedAttributes": (b"i@I",), - "SecIdentityCopySystemIdentity": ( - b"i@o^@o^@", - "", - { - "arguments": { - 1: {"already_cfretained": True}, - 2: {"already_cfretained": True}, - } - }, - ), - "SecureDownloadGetDownloadSize": (b"i^{OpaqueSecureDownload=}o^q",), - "SecKeychainItemDelete": (b"i@",), - "SecStaticCodeCreateWithPathAndAttributes": ( - b"i@I@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True}}, - }, - ), - "sec_identity_create_with_certificates": ( - b"@@@", - "", - {"retval": {"already_retained": True}}, - ), - "SSLCopyPeerTrust": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecKeyVerifySignature": (b"Z@@@@o^@",), - "AuthorizationRightGet": ( - b"i^t^@", - "", - { - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"already_retained": True, "type_modifier": "o"}, - } - }, - ), - "SecDecryptTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecCertificateCopyNormalizedIssuerContent": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecPolicyCreateBasicX509": (b"@", "", {"retval": {"already_cfretained": True}}), - "sec_protocol_options_set_tls_false_start_enabled": (b"vBB",), - "SecKeychainLock": (b"i@",), - "SecTrustGetNetworkFetchAllowed": (b"i@o^Z",), - "SecureDownloadCreateWithTicket": ( - b"i@^?^v^?^vo^^{OpaqueSecureDownload=}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": "@"}, 1: {"type": "^v"}}, - }, - "callable_retained": True, - }, - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "@"}, - 1: {"type": "i"}, - 2: {"type": "^v"}, - }, - }, - "callable_retained": True, - }, - } - }, - ), - "CMSEncoderCopySupportingCerts": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeychainItemSetAccess": (b"i@@",), - "sec_protocol_options_set_tls_resumption_enabled": (b"vBB",), - "SSLHandshake": (b"i@",), - "SecKeychainAddCallback": ( - b"i^?I^v", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: { - "type": b"^{SecKeychainCallbackInfo=I^{__SecKeychainItem=}^{__SecKeychain=}i}" - }, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "SecureDownloadCopyURLs": ( - b"i^{OpaqueSecureDownload=}o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "CMSEncoderAddRecipients": (b"i@@",), - "SecKeychainGetCSPHandle": (b"i^{__SecKeychain=}^q",), - "SecTrustCopyPublicKey": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecKeyCreateWithData": (b"@@@o^@", "", {"retval": {"already_cfretained": True}}), - "sec_protocol_metadata_get_negotiated_tls_protocol_version": (b"S@",), - "SecKeychainDelete": (b"i@",), - "sec_identity_copy_certificates_ref": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "AuthorizationRightSet": ( - b"i^{AuthorizationOpaqueRef=}^t@@@@", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "SecACLRemove": (b"i@",), - "CMSDecoderCopyDetachedContent": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeychainCreate": ( - b"in^tIn^vZ@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True}, - 2: {"c_array_length_in_arg": 1}, - 5: {"already_cfretained": True}, - }, - }, - ), - "SecEncryptTransformGetTypeID": (b"Q",), - "SSLGetDiffieHellmanParams": ( - b"i@o^vN^L", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SSLSetSessionConfig": (b"i@@",), - "SecCertificateCreateWithData": ( - b"@@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecRequirementCopyData": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "CMSDecoderCopyEncapsulatedContentType": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecRequirementCreateWithStringAndErrors": ( - b"i@Io^@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - }, - 3: {"already_cfretained": True}, - }, - }, - ), - "SSLReHandshake": (b"i@",), - "sec_protocol_metadata_get_negotiated_ciphersuite": (b"I@",), - "SecTransformCustomGetAttribute": (b"@^{OpaqueSecTransformImplementation=}@q",), - "sec_protocol_options_get_enable_encrypted_client_hello": (b"B@",), - "SSLCopyRequestedPeerName": ( - b"i@o^tN^L", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "CMSDecoderCopySignerCert": ( - b"i@Lo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecTrustCopyExceptions": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecPolicyCreateSSL": (b"@Z@", "", {"retval": {"already_cfretained": True}}), - "SecKeychainItemCreatePersistentReference": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SSLCopyCertificateAuthorities": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecTransformConnectTransforms": ( - b"@@@@@@o^@", - "", - { - "arguments": { - 5: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "SecAccessCopyACLList": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecHostSelectedGuest": (b"iIo^I",), - "sec_protocol_options_get_default_min_tls_protocol_version": (b"i",), - "SecAccessCopyMatchingACLList": ( - b"@@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecKeychainItemCreateCopy": ( - b"i@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True}}, - }, - ), - "SecKeyGeneratePairAsync": ( - b"v@^{dispatch_queue_s=}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "@"}, - }, - } - } - } - }, - ), - "SecCertificateCopyData": (b"@@", "", {"retval": {"already_cfretained": True}}), - "sec_protocol_options_set_tls_max_version": (b"v@i",), - "SecKeyGenerateSymmetric": (b"@@o^@", "", {"retval": {"already_cfretained": True}}), - "SecHostSetGuestStatus": (b"iII@I",), - "CMSDecoderCopySignerStatus": ( - b"i@L@Zo^Io^i^i", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTrustCopyCustomAnchorCertificates": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "CMSEncoderCopySignerTimestampWithPolicy": ( - b"i@@Lo^d", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTrustSettingsImportExternalRepresentation": (b"iI@",), - "SecTrustCreateWithCertificates": ( - b"i@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecHostSetHostingPort": (b"iII",), - "sec_protocol_options_set_tls_sct_enabled": (b"vBB",), - "SecDecryptTransformGetTypeID": (b"Q",), - "CMSEncoderUpdateContent": ( - b"i@n^vL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SSLGetNegotiatedCipher": (b"i@o^i",), - "SecTrustCopyProperties": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecKeyCopyKeyExchangeResult": ( - b"@@@@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTrustEvaluateWithError": ( - b"B@o^@", - "", - { - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - } - }, - ), - "SecPolicyGetTypeID": (b"Q",), - "SessionGetInfo": ( - b"iI^I^I", - "", - {"arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}}, - ), - "sec_protocol_metadata_access_supported_signature_algorithms": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "S"}}, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"S"}}, - }, - } - } - }, - ), - "SecTransformFindByName": (b"@@@",), - "SecIdentityCreateWithCertificate": ( - b"i@@o^@", - "", - {"arguments": {2: {"already_cfretained": True}}}, - ), - "SecTaskCreateWithAuditToken": ( - b"@@{?=[8I]}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecCertificateCopyValues": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "sec_protocol_options_get_quic_use_legacy_codepoint": (b"B@",), - "AuthorizationCreateFromExternalForm": ( - b"in^{_AuthorizationExternalForm=[32C]}o^^{AuthorizationOpaqueRef=}", - ), - "CMSDecoderUpdateMessage": ( - b"i@n^vL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "CMSEncoderCopyEncapsulatedContentType": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SSLGetConnection": (b"i@o^@",), - "SecKeychainSetUserInteractionAllowed": (b"iZ",), - "SecTrustSetAnchorCertificatesOnly": (b"i@Z",), - "SSLGetPeerID": (b"i@o^vN^L", "", {"arguments": {1: {"c_array_length_in_arg": 2}}}), - "SecTransformCreateReadTransformWithReadStream": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "sec_protocol_options_set_max_tls_protocol_version": (b"v@i",), - "SecRequirementGetTypeID": (b"Q",), - "SSLCreateContext": (b"@@ii", "", {"retval": {"already_cfretained": True}}), - "sec_protocol_options_set_challenge_block": ( - b"v@@?^{dispatch_queue_s}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": "@?", - }, - }, - } - } - } - }, - ), - "CMSEncoderGetHasDetachedContent": (b"i@o^Z",), - "SSLSetConnection": (b"i@@",), - "SecKeychainRemoveCallback": ( - b"i^?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"I"}, - 1: { - "type": b"^{SecKeychainCallbackInfo=I^{__SecKeychainItem=}^{__SecKeychain=}i}" - }, - 2: {"type": b"^v"}, - }, - }, - "callable_retained": True, - } - } - }, - ), - "SecCertificateCopyPublicKey": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecPolicyCopyProperties": (b"@@", "", {"retval": {"already_cfretained": True}}), - "CMSEncoderSetEncapsulatedContentTypeOID": (b"i@@",), - "SecDecodeTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "sec_protocol_metadata_get_negotiated_protocol": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "SSLSetALPNProtocols": (b"i@@",), - "SSLGetProtocolVersionMin": (b"i@o^i",), - "SSLSetPeerDomainName": ( - b"i@n^tL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SecSignTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecTransformGetTypeID": (b"Q",), - "SecKeychainGetPath": ( - b"i@N^Io^t", - "", - {"arguments": {2: {"c_array_length_in_arg": 1}}}, - ), - "SecCertificateCopySerialNumberData": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecCertificateCopyCommonName": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SSLGetSupportedCiphers": ( - b"i@o^iN^L", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "sec_trust_create": (b"@@", "", {"retval": {"already_retained": True}}), - "CMSEncoderSetSignerAlgorithm": (b"i@@",), - "SecCertificateAddToKeychain": (b"i@@",), - "SecKeyGetBlockSize": (b"L@",), - "SecIdentityCopyPrivateKey": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "CMSEncoderAddSupportingCerts": (b"i@@",), - "sec_certificate_create": (b"@@", "", {"retval": {"already_retained": True}}), - "SSLSetMaxDatagramRecordSize": (b"i@L",), - "CMSDecoderCopySignerTimestamp": ( - b"i@Lo^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SSLSetDatagramHelloCookie": ( - b"i@n^vL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "sec_identity_copy_ref": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecTaskGetTypeID": (b"Q",), - "sec_protocol_options_get_default_max_tls_protocol_version": (b"i",), - "SSLSetIOFuncs": ( - b"i@^?^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "@"}, - 1: {"type": "o^v", "c_array_length_in_arg": 2}, - 2: {"type": "N^L"}, - }, - }, - "callable_retained": True, - }, - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "@"}, - 1: {"type": "n^v", "c_array_length_in_arg": 2}, - 2: {"type": "N^L"}, - }, - }, - "callable_retained": True, - }, - } - }, - ), - "SecKeychainOpen": ( - b"in^to^@", - "", - { - "arguments": { - 0: {"c_array_delimited_by_null": True}, - 1: {"already_cfretained": True}, - } - }, - ), - "SecCodeGetTypeID": (b"Q",), - "SecRequirementCreateWithData": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "sec_protocol_options_set_min_tls_protocol_version": (b"v@i",), - "SecCodeCopySigningInformation": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SSLSetProtocolVersionMax": (b"i@i",), - "sec_protocol_metadata_access_pre_shared_keys": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}, 1: {"type": b"@"}}, - }, - } - } - }, - ), - "SecKeychainGetStatus": (b"i@o^I",), - "SSLGetClientCertificateState": (b"i@o^i",), - "CMSDecoderCopySignerTimestampCertificates": ( - b"i@Lo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecureDownloadFinished": (b"i^{OpaqueSecureDownload=}",), - "CMSEncoderSetCertificateChainMode": (b"i@I",), - "SecAccessControlCreateWithFlags": ( - b"@@@Qo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecTrustEvaluateAsync": ( - b"i@^{dispatch_queue_s}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "I"}, - }, - } - } - } - }, - ), - "SecureDownloadCopyName": ( - b"i^{OpaqueSecureDownload=}o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SSLCopyALPNProtocols": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecKeychainCopySearchList": ( - b"io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True}}, - }, - ), - "SecDigestTransformGetTypeID": (b"Q",), - "SecTrustSetOptions": (b"i@I",), - "SSLGetNumberEnabledCiphers": (b"i@o^L",), - "SecIdentityGetTypeID": (sel32or64(b"I", b"Q"),), - "SecCreateSharedWebCredentialPassword": ( - b"@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecKeychainCopyAccess": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "sec_protocol_options_set_tls_pre_shared_key_identity_hint": (b"v@@",), - "CMSEncoderGetTypeID": (b"Q",), - "SecTrustCopyCertificateChain": ( - b"^{__CFArray=}^{__SecTrust=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTransformGetAttribute": (b"@@@",), - "CMSDecoderGetNumSigners": (b"i@o^L",), - "SecCertificateCopyPreferred": ( - b"@@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "sec_protocol_options_set_local_identity": (b"v@@",), - "sec_protocol_options_set_tls_min_version": (b"v@i",), - "SecRandomCopyBytes": ( - b"i^{__SecRandom=}L^v", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "o"}}, - }, - ), - "CMSDecoderFinalizeMessage": (b"i@",), - "SecKeyWrapSymmetric": (b"@@@@o^@", "", {"retval": {"already_cfretained": True}}), - "SecVerifyTransformCreate": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecCodeCheckValidity": (b"i@I@",), - "CMSEncoderCopyEncodedContent": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "CMSEncoderAddSigners": (b"i@@",), - "sec_protocol_metadata_copy_peer_public_key": ( - b"@@", - "", - {"retval": {"already_retained": True}}, - ), - "AuthorizationFree": (b"i^{AuthorizationOpaqueRef=}I",), - "SecCopyErrorMessageString": ( - b"@i^v", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSEncoderCopySigners": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecureDownloadRelease": (b"i^{OpaqueSecureDownload=}",), - "SecTrustSettingsCopyModificationDate": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecureDownloadUpdateWithData": (b"i^{OpaqueSecureDownload=}@",), - "SecKeychainCopyDomainDefault": ( - b"iio^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecItemDelete": (b"i@",), - "SecStaticCodeCheckValidity": (b"i@I@",), - "sec_protocol_metadata_create_secret_with_context": ( - b"@@L^tL^vL", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 2: {"c_array_length_in_arg": 1, "type_modifier": "n"}, - 4: {"c_array_length_in_arg": 3, "type_modifier": "n"}, - }, - }, - ), - "SecCodeCopyHost": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "sec_protocol_metadata_challenge_parameters_are_equal": (b"B@@",), - "SecTrustedApplicationGetTypeID": (b"Q",), - "SecTransformSetDataAction": ( - b"@^{OpaqueSecTransformImplementation=}@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "SecKeychainAddGenericPassword": ( - b"i@In^tIn^tIn^vo^@", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1}, - 4: {"c_array_length_in_arg": 3}, - 6: {"c_array_length_in_arg": 5}, - 7: {"already_cfretained": True}, - } - }, - ), - "sec_protocol_options_add_tls_application_protocol": ( - b"v@^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "CMSDecoderCopySignerTimestampWithPolicy": ( - b"i@@Lo^d", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True}}, - }, - ), - "SecCodeCreateWithXPCMessage": ( - b"i@I^^{__SecCode=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "SSLRead": ( - b"i@o^vLo^L", - "", - {"arguments": {1: {"c_array_length_in_arg": (2, 3)}}}, - ), - "SecTaskCopyValueForEntitlement": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "sec_protocol_metadata_get_negotiated_tls_ciphersuite": (b"I@",), - "SSLGetDatagramWriteSize": (b"i@o^L",), - "SecIdentitySetPreferred": (b"i@@@",), - "SecTrustCopyAnchorCertificates": ( - b"io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True}}, - }, - ), - "sec_protocol_options_add_tls_ciphersuite": (b"v@i",), - "SecKeychainSetDomainDefault": (b"ii@",), - "sec_protocol_options_get_default_max_dtls_protocol_version": (b"i",), - "SecCertificateGetTypeID": (b"Q",), - "SecCertificateCopyShortDescription": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SSLCopyRequestedPeerNameLength": (b"i@o^L",), - "CMSEncoderCopySignerTimestamp": ( - b"i@Lo^d", - "", - {"retval": {"already_cfretained": True}}, - ), - "SSLSetClientSideAuthenticate": (b"i@i",), - "sec_protocol_metadata_get_early_data_accepted": (b"B@",), - "SecCodeCopySelf": ( - b"iIo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SSLGetNumberSupportedCiphers": (b"i@o^L",), - "SecIdentityCopyPreferred": (b"@@@@", "", {"retval": {"already_cfretained": True}}), - "SecACLUpdateAuthorizations": (b"i@@",), - "SecAccessGetTypeID": (sel32or64(b"I", b"Q"),), - "SecKeychainItemGetTypeID": (b"Q",), - "SecTrustSetKeychains": (b"i@@",), - "SSLGetProtocolVersionMax": (b"i@o^i",), - "SecKeyCreateDecryptedData": ( - b"@@@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecKeyCopyPublicKey": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecGroupTransformGetTypeID": (b"Q",), - "SecKeychainCopySettings": ( - b"i@o^{SecKeychainSettings=IZZI}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTrustSettingsCreateExternalRepresentation": ( - b"iIo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecCertificateCopyKey": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecTrustGetTrustResult": (b"i@o^I",), - "SSLSetDiffieHellmanParams": ( - b"i@n^vL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SecTrustSettingsRemoveTrustSettings": (b"i@I",), - "SecRequirementCreateWithString": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecKeychainSetDomainSearchList": (b"ii@",), - "sec_protocol_options_set_tls_diffie_hellman_parameters": (b"v@@",), - "sec_protocol_options_set_tls_is_fallback_attempt": (b"vBB",), - "SecRequirementCopyString": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SSLWrite": (b"i@n^vLo^L", "", {"arguments": {1: {"c_array_length_in_arg": 2}}}), - "sec_protocol_metadata_peers_are_equal": (b"B@@",), - "SSLSetPeerID": (b"i@n^vL", "", {"arguments": {1: {"c_array_length_in_arg": 2}}}), - "sec_protocol_options_get_default_min_dtls_protocol_version": (b"i",), - "SecTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecCertificateCopyNormalizedSubjectSequence": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecKeychainCopyDomainSearchList": ( - b"iio^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeyCreateFromData": (b"@@@o^@", "", {"retval": {"already_cfretained": True}}), - "SecTaskCopyValuesForEntitlements": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecStaticCodeGetTypeID": (b"Q",), - "SecItemExport": ( - b"i@IIn^{_SecItemImportExportKeyParameters=II@@@@@@}o^@", - "", - {"arguments": {4: {"already_cfretained": True}}}, - ), - "SSLSetProtocolVersionMin": (b"i@i",), - "SecCertificateCopyLongDescription": ( - b"@@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecKeychainSetAccess": (b"i@@",), - "sec_protocol_options_set_pre_shared_key_selection_block": ( - b"v@@?^{dispatch_queue_s}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - }, - "type": "@?", - }, - }, - } - } - } - }, - ), - "sec_protocol_options_add_pre_shared_key": (b"v@@@",), - "SecKeychainSetSearchList": (b"i@",), - "CMSEncoderCopyRecipients": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "sec_protocol_options_set_key_update_block": ( - b"v@@?^{dispatch_queue_s}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": "@?", - }, - }, - } - } - } - }, - ), - "SecACLCopyAuthorizations": (b"@@", "", {"retval": {"already_cfretained": True}}), - "SecTrustEvaluateAsyncWithError": ( - b"i@^{dispatch_queue_s}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "B"}, - 3: {"type": "@"}, - }, - } - } - } - }, - ), - "SSLGetEnabledCiphers": ( - b"i@o^iN^L", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "SecKeychainGetPreferenceDomain": (b"io^i",), - "SecKeychainGetVersion": (b"io^I",), - "SecKeyCreateRandomKey": (b"@@o^@", "", {"retval": {"already_cfretained": True}}), - "sec_protocol_options_set_tls_renegotiation_enabled": (b"vBB",), - "SSLGetPeerDomainNameLength": (b"i@o^L",), - "sec_protocol_options_are_equal": (b"B@@",), - "SecCertificateCopySubjectSummary": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "CMSDecoderCopySignerEmailAddress": ( - b"i@Lo^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecTrustSetSignedCertificateTimestamps": (b"i@@",), - "SecTrustSetOCSPResponse": (b"i@@",), - "SSLSetCertificateAuthorities": (b"i@@Z",), - "SecACLCreateWithSimpleContents": ( - b"i@@@So^@", - "", - {"arguments": {4: {"already_cfretained": True}}}, - ), - "SecTrustGetTypeID": (b"Q",), - "SecTrustedApplicationCreateFromPath": ( - b"i^to^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 0: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 1: {"already_cfretained": True}, - }, - }, - ), - "SSLSetOCSPResponse": (b"i@@",), - "SecTrustGetVerifyTime": (b"d@",), - "SecTransformExecuteAsync": ( - b"v@^{dispatch_queue_s=}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: {"type": "Z"}, - }, - } - } - } - }, - ), - "SecIdentityCopyCertificate": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "SecRequestSharedWebCredential": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - }, - } - } - } - }, - ), - "SecKeychainAddInternetPassword": ( - b"i@In^tIn^tIn^tIn^tSIIIn^vo^@", - "", - { - "arguments": { - 2: {"c_array_length_in_arg": 1}, - 4: {"c_array_length_in_arg": 3}, - 6: {"c_array_length_in_arg": 5}, - 8: {"c_array_length_in_arg": 7}, - 13: {"c_array_length_in_arg": 12}, - 14: {"already_cfretained": True}, - } - }, - ), - "SecKeychainSetSettings": (b"i@n^{SecKeychainSettings=IZZI}",), - "SecIdentitySetSystemIdentity": ( - b"i@o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "CMSEncoderSetHasDetachedContent": (b"i@Z",), - "SecEncodeTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecKeychainGetUserInteractionAllowed": (b"io^Z",), - "sec_protocol_metadata_create_secret": ( - b"@@L^tL", - "", - { - "retval": {"already_retained": True}, - "arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}, - }, - ), - "SecTrustCopyPolicies": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeychainSetDefault": (b"i@",), - "SecCodeCopyGuestWithAttributes": ( - b"i@@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True}}, - }, - ), - "SecTrustSetAnchorCertificates": (b"i@@",), - "SecKeychainGetTypeID": (b"Q",), - "SecCertificateSetPreferred": (b"i@@@",), - "SecCertificateCopyNormalizedIssuerSequence": ( - b"@@", - "", - {"retval": {"already_cfretained": True}}, - ), - "sec_protocol_options_set_enable_encrypted_client_hello": (b"v@B",), - "sec_protocol_options_set_tls_server_name": ( - b"v@^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "SecKeyGetTypeID": (sel32or64(b"I", b"Q"),), - "sec_protocol_options_set_quic_use_legacy_codepoint": (b"v@B",), - "sec_protocol_set_local_identity": (b"v@@",), - "sec_protocol_metadata_get_negotiated_protocol_version": (b"i@",), - "SecItemCopyMatching": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecItemUpdate": (b"i@@",), - "CMSDecoderGetTypeID": (b"Q",), - "SecTrustedApplicationCopyData": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeychainItemCopyAccess": ( - b"i@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True}}, - }, - ), - "SecKeyUnwrapSymmetric": ( - b"@n^@@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecTaskCopySigningIdentifier": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "SecureDownloadCopyTicketLocation": ( - b"i^{OpaqueSecureDownload=}o^@", - "", - {"arguments": {1: {"already_cfretained": True}}}, - ), - "sec_protocol_options_set_verify_block": ( - b"v@@?^{dispatch_queue_s}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "@"}, - 3: { - "callable": { - "retval": {"type": "v"}, - "arguments": {0: {"type": "^v"}}, - }, - "type": "@?", - }, - }, - } - } - } - }, - ), - "SecAddSharedWebCredential": ( - b"v@@@@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - } - } - } - }, - ), - "SecTranformCustomGetAttribute": (b"@^{OpaqueSecTransformImplementation=}@q",), - "SecKeychainCopyDefault": ( - b"io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True}}, - }, - ), - "SSLSetEnabledCiphers": ( - b"i@n^iL", - "", - {"arguments": {1: {"c_array_length_in_arg": 2}}}, - ), - "sec_protocol_metadata_access_peer_certificate_chain": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "@"}}, - }, - "block": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"@"}}, - }, - } - } - }, - ), - "SecHostRemoveGuest": (b"iIII",), - "SSLClose": (b"i@",), - "SecKeyDeriveFromPassword": ( - b"@@@o^@", - "", - {"retval": {"already_cfretained": True}}, - ), - "SecAccessControlGetTypeID": (b"Q",), - "SecKeyCopyAttributes": (b"@@", "", {"retval": {"already_cfretained": True}}), - "AuthorizationRightRemove": ( - b"i^{AuthorizationOpaqueRef=}^t", - "", - {"arguments": {1: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "SecTrustSettingsCopyTrustSettings": ( - b"i@Io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True}}, - }, - ), - "SecEncryptTransformCreate": ( - b"@@o^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: { - "null_accepted": True, - "already_cfretained": True, - "type_modifier": "o", - } - }, - }, - ), - "CMSEncoderCreate": ( - b"io^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {0: {"already_cfretained": True}}, - }, - ), - "CMSEncodeContent": ( - b"i@@@ZIn^vLo^@", - "", - { - "arguments": { - 5: {"c_array_length_in_arg": 6}, - 7: {"already_cfretained": True}, - } - }, - ), -} -aliases = { - "errSSLServerAuthCompleted": "errSSLPeerAuthCompleted", - "SecTransformCustomGetAttribute": "SecTranformCustomGetAttribute", - "errSessionInvalidFlags": "errAuthorizationInvalidFlags", - "errSecDskFull": "errSecDiskFull", - "errSecCSSigDBAccess": "errSecCSDBAccess", - "SEC_ASN1_TELETEX_STRING": "SEC_ASN1_T61_STRING", - "errSSLLast": "errSSLUnexpectedRecord", - "SEC_OS_OSX": "TARGET_OS_OSX", - "errSessionInternal": "errAuthorizationInternal", - "SEC_DEPRECATED_ATTRIBUTE": "DEPRECATED_ATTRIBUTE", - "errSecInvalidTupleCredendtials": "errSecInvalidTupleCredentials", - "SEC_OS_IPHONE": "TARGET_OS_IPHONE", - "errSecInvaldCRLAuthority": "errSecInvalidCRLAuthority", - "kSecRequirementTypeCount": "kSecInvalidRequirementType", - "errSSLClientAuthCompleted": "errSSLPeerAuthCompleted", - "errSecCSSigDBDenied": "errSecCSDBDenied", - "SEC_OS_OSX_INCLUDES": "TARGET_OS_OSX", -} -cftypes = [ - ("SecACLRef", b"^{__SecACL=}", "SecACLGetTypeID", None), - ( - "SecAccessControlRef", - b"^{__SecAccessControl=}", - "SecAccessControlGetTypeID", - None, - ), - ("SecAccessRef", b"^{__SecAccess=}", "SecAccessGetTypeID", None), - ("SecCertificateRef", b"^{__SecCertificate=}", "SecCertificateGetTypeID", None), - ("SecCodeRef", b"^{__SecCode=}", "SecCodeGetTypeID", None), - ("SecIdentityRef", b"^{__SecIdentity=}", "SecIdentityGetTypeID", None), - ("SecKeyRef", b"^{__SecKey=}", "SecKeyGetTypeID", None), - ("SecKeychainItemRef", b"^{__SecKeychainItem=}", "SecKeyChainItemGetTypeID", None), - ("SecKeychainRef", b"^{__SecKeychain=}", "SecKeyChainGetTypeID", None), - ("SecPasswordRef", b"^{__SecPassword=}", "SecPasswordGetTypeID", None), - ("SecPolicyRef", b"^{__SecPolicy=}", "SecPolicyGetTypeID", None), - ("SecRequirementRef", b"^{__SecRequirement=}", "SecRequirementGetTypeID", None), - ("SecStaticCodeRef", b"^{__SecCode=}", None, None), - ("SecTaskRef", b"^{__SecTask=}", "SecTaskGetTypeID", None), - ("SecTrustRef", b"^{__SecTrust=}", "SecTrustGetTypeID", None), - ( - "SecTrustedApplicationRef", - b"^{__SecTrustedApplication=}", - "SecTrustedApplicationGetTypeID", - None, - ), - ("CMSEncoderRef", b"^{_CMSEncoder=}", "CMSEncoderGetTypeID", None), - ("CMSDecoderRef", b"^{_CMSDecoder=}", "CMSDecoderGetTypeID", None), - ("SSLContextRef", b"^{SSLContext=}", "SSLContextGetTypeID", None), -] -misc.update( - { - "AuthorizationRef": objc.createOpaquePointerType( - "AuthorizationRef", b"^{AuthorizationOpaqueRef=}" - ), - "SecureDownloadRef": objc.createOpaquePointerType( - "SecureDownloadRef", b"^{OpaqueSecureDownload=}" - ), - "SecRandomRef": objc.createOpaquePointerType( - "SecRandomRef", b"^{__SecRandom=}" - ), - "SecTransformImplementationRef": objc.createOpaquePointerType( - "SecTransformImplementationRef", b"^{OpaqueSecTransformImplementation=}" - ), - } -) -expressions = {"kAuthorizationEmptyEnvironment": "None"} - -# END OF FILE diff --git a/src/lib/SecurityFoundation/__init__.py b/src/lib/SecurityFoundation/__init__.py deleted file mode 100644 index d7d1bc8..0000000 --- a/src/lib/SecurityFoundation/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the SecurityFoundation framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -import Security -from SecurityFoundation import _metadata - -sys.modules["SecurityFoundation"] = mod = objc.ObjCLazyModule( - "SecurityFoundation", - "com.apple.securityfoundatio", - objc.pathForFramework("/System/Library/Frameworks/SecurityFoundation.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation, Security), -) - - -del sys.modules["SecurityFoundation._metadata"] diff --git a/src/lib/SecurityFoundation/_metadata.py b/src/lib/SecurityFoundation/_metadata.py deleted file mode 100644 index d7b7c69..0000000 --- a/src/lib/SecurityFoundation/_metadata.py +++ /dev/null @@ -1,104 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:21:36 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$$""" -misc.update({}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"SFAuthorization", - b"authorizationWithFlags:rights:environment:", - { - "arguments": { - 3: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}, - 4: { - "type": b"^{_AuthorizationEnvironment=I^{_AuthorizationItem=^cQ^vI}}" - }, - } - }, - ) - r( - b"SFAuthorization", - b"initWithFlags:rights:environment:", - { - "arguments": { - 3: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}, - 4: { - "type": b"^{_AuthorizationEnvironment=I^{_AuthorizationItem=^cQ^vI}}" - }, - } - }, - ) - r( - b"SFAuthorization", - b"obtainWithRight:flags:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SFAuthorization", - b"obtainWithRights:flags:environment:authorizedRights:error:", - { - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}, - 4: { - "type": b"^{_AuthorizationEnvironment=I^{_AuthorizationItem=^cQ^vI}}" - }, - 5: { - "type": b"^^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}", - "type_modifier": b"o", - }, - 6: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"SFAuthorization", - b"permitWithRights:flags:environment:authorizedRights:", - { - "arguments": { - 2: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}, - 4: { - "type": b"^{_AuthorizationEnvironment=I^{_AuthorizationItem=^cQ^vI}}" - }, - 5: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}, - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SecurityInterface/__init__.py b/src/lib/SecurityInterface/__init__.py deleted file mode 100644 index cd242d8..0000000 --- a/src/lib/SecurityInterface/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the SecurityInterface framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import AppKit -import objc -import Security -from SecurityInterface import _metadata -from SecurityInterface import _SecurityInterface - -sys.modules["SecurityInterface"] = mod = objc.ObjCLazyModule( - "SecurityInterface", - "com.apple.securityinterface", - objc.pathForFramework("/System/Library/Frameworks/SecurityInterface.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_SecurityInterface, AppKit, Security), -) - - -del sys.modules["SecurityInterface._metadata"] diff --git a/src/lib/SecurityInterface/_metadata.py b/src/lib/SecurityInterface/_metadata.py deleted file mode 100644 index 971c015..0000000 --- a/src/lib/SecurityInterface/_metadata.py +++ /dev/null @@ -1,246 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:21:51 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SFAuthorizationPluginViewUserNameKey$SFAuthorizationPluginViewUserShortNameKey$SFCertificateViewDisclosureStateDidChange$SFDisplayViewException$""" -enums = """$SFAuthorizationStartupState@0$SFAuthorizationViewInProgressState@2$SFAuthorizationViewLockedState@1$SFAuthorizationViewUnlockedState@3$SFButtonTypeBack@0$SFButtonTypeCancel@0$SFButtonTypeLogin@1$SFButtonTypeOK@1$SFViewTypeCredentials@1$SFViewTypeIdentityAndCredentials@0$""" -misc.update({}) -misc.update({}) -aliases = { - "SFButtonTypeBack": "SFButtonTypeCancel", - "SFButtonTypeLogin": "SFButtonTypeOK", - "SFButtonTypeOK": "NSOKButton", - "SFButtonTypeCancel": "NSCancelButton", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"authorizationViewCreatedAuthorization:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"authorizationViewDidAuthorize:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"authorizationViewDidDeauthorize:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"authorizationViewDidHide:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"authorizationViewReleasedAuthorization:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"authorizationViewShouldDeauthorize:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"certificatePanelShowHelp:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"chooseIdentityPanelShowHelp:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"SFAuthorizationPluginView", - b"setButton:enabled:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"SFAuthorizationPluginView", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SFAuthorizationView", - b"authorizationRights", - {"retval": {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"}}, - ) - r(b"SFAuthorizationView", b"authorize:", {"retval": {"type": b"Z"}}) - r(b"SFAuthorizationView", b"deauthorize:", {"retval": {"type": b"Z"}}) - r(b"SFAuthorizationView", b"isEnabled", {"retval": {"type": b"Z"}}) - r( - b"SFAuthorizationView", - b"setAuthorizationRights:", - { - "arguments": { - 2: {"type": b"^{_AuthorizationRights=I^{_AuthorizationItem=^cQ^vI}}"} - } - }, - ) - r(b"SFAuthorizationView", b"setAutoupdate:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SFAuthorizationView", - b"setAutoupdate:interval:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SFAuthorizationView", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFAuthorizationView", b"updateStatus:", {"retval": {"type": b"Z"}}) - r( - b"SFCertificatePanel", - b"beginSheetForWindow:modalDelegate:didEndSelector:contextInfo:certificates:showGroup:", - { - "arguments": { - 4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"type": b"Z"}, - } - }, - ) - r( - b"SFCertificatePanel", - b"beginSheetForWindow:modalDelegate:didEndSelector:contextInfo:trust:showGroup:", - { - "arguments": { - 4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 7: {"type": b"Z"}, - } - }, - ) - r( - b"SFCertificatePanel", - b"runModalForCertificates:showGroup:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"SFCertificatePanel", - b"runModalForTrust:showGroup:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"SFCertificatePanel", b"setShowsHelp:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFCertificatePanel", b"showsHelp", {"retval": {"type": b"Z"}}) - r( - b"SFCertificateTrustPanel", - b"beginSheetForWindow:modalDelegate:didEndSelector:contextInfo:trust:message:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r(b"SFCertificateView", b"detailsDisclosed", {"retval": {"type": b"Z"}}) - r(b"SFCertificateView", b"detailsDisplayed", {"retval": {"type": b"Z"}}) - r(b"SFCertificateView", b"isEditable", {"retval": {"type": b"Z"}}) - r(b"SFCertificateView", b"isTrustDisplayed", {"retval": {"type": b"Z"}}) - r(b"SFCertificateView", b"policiesDisclosed", {"retval": {"type": b"Z"}}) - r(b"SFCertificateView", b"setDetailsDisclosed:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFCertificateView", b"setDisplayDetails:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFCertificateView", b"setDisplayTrust:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFCertificateView", b"setEditableTrust:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SFCertificateView", - b"setPoliciesDisclosed:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SFChooseIdentityPanel", - b"beginSheetForWindow:modalDelegate:didEndSelector:contextInfo:identities:message:", - {"arguments": {4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r(b"SFChooseIdentityPanel", b"setShowsHelp:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SFChooseIdentityPanel", b"showsHelp", {"retval": {"type": b"Z"}}) - r( - b"SFKeychainSavePanel", - b"beginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:", - {"arguments": {6: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}}}, - ) - r( - b"SFKeychainSettingsPanel", - b"beginSheetForWindow:modalDelegate:didEndSelector:contextInfo:settings:keychain:", - { - "arguments": { - 4: {"sel_of_type": sel32or64(b"v@:@i^v", b"v@:@q^v")}, - 6: {"type": b"^{SecKeychainSettings=IZZI}"}, - } - }, - ) - r( - b"SFKeychainSettingsPanel", - b"runModalForSettings:keychain:", - {"arguments": {2: {"type": b"^{SecKeychainSettings=IZZI}"}}}, - ) - r(b"null", b"authorizationViewShouldDeauthorize:", {"retval": {"type": b"Z"}}) - r(b"null", b"certificatePanelShowHelp:", {"retval": {"type": b"Z"}}) - r(b"null", b"chooseIdentityPanelShowHelp:", {"retval": {"type": b"Z"}}) - r(b"null", b"setButton:enabled:", {"arguments": {3: {"type": b"Z"}}}) -finally: - objc._updatingMetadata(False) -protocols = { - "SFChooseIdentityPanelDelegate": objc.informal_protocol( - "SFChooseIdentityPanelDelegate", - [ - objc.selector( - None, b"chooseIdentityPanelShowHelp:", b"Z@:@", isRequired=False - ) - ], - ), - "SFCertificatePanelDelegate": objc.informal_protocol( - "SFCertificatePanelDelegate", - [objc.selector(None, b"certificatePanelShowHelp:", b"Z@:@", isRequired=False)], - ), - "SFAuthorizationViewDelegate": objc.informal_protocol( - "SFAuthorizationViewDelegate", - [ - objc.selector( - None, - b"authorizationViewCreatedAuthorization:", - b"v@:@", - isRequired=False, - ), - objc.selector( - None, b"authorizationViewDidHide:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"authorizationViewDidAuthorize:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"authorizationViewDidDeauthorize:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"authorizationViewShouldDeauthorize:", b"Z@:@", isRequired=False - ), - objc.selector( - None, - b"authorizationViewReleasedAuthorization:", - b"v@:@", - isRequired=False, - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/ServiceManagement/__init__.py b/src/lib/ServiceManagement/__init__.py deleted file mode 100644 index 0f47976..0000000 --- a/src/lib/ServiceManagement/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Python mapping for the ServiceManagement framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreFoundation -import objc -from ServiceManagement import _metadata - -sys.modules["ServiceManagement"] = mod = objc.ObjCLazyModule( - "ServiceManagement", - "com.apple.bsd.ServiceManagement", - objc.pathForFramework("/System/Library/Frameworks/ServiceManagement.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (CoreFoundation,), -) - - -del sys.modules["ServiceManagement._metadata"] diff --git a/src/lib/ServiceManagement/_metadata.py b/src/lib/ServiceManagement/_metadata.py deleted file mode 100644 index 65cfbb8..0000000 --- a/src/lib/ServiceManagement/_metadata.py +++ /dev/null @@ -1,96 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:23:10 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kSMDomainSystemLaunchd$kSMDomainUserLaunchd$kSMErrorDomainFramework$kSMErrorDomainIPC$kSMErrorDomainLaunchd$kSMInfoKeyAuthorizedClients$kSMInfoKeyPrivilegedExecutables$""" -enums = """$kSMErrorAuthorizationFailure@4$kSMErrorInternalFailure@2$kSMErrorInvalidPlist@10$kSMErrorInvalidSignature@3$kSMErrorJobMustBeEnabled@9$kSMErrorJobNotFound@6$kSMErrorJobPlistNotFound@8$kSMErrorServiceUnavailable@7$kSMErrorToolNotValid@5$""" -misc.update({}) -misc.update( - { - "kSMRightModifySystemDaemons": b"com.apple.ServiceManagement.daemons.modify", - "kSMRightBlessPrivilegedHelper": b"com.apple.ServiceManagement.blesshelper", - } -) -functions = { - "SMJobBless": ( - b"Z^{__CFString=}^{__CFString=}^{AuthorizationOpaqueRef=}^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "SMJobRemove": ( - b"Z^{__CFString=}^{__CFString=}^{AuthorizationOpaqueRef=}Z^^{__CFError}", - "", - { - "arguments": { - 4: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "SMJobCopyDictionary": ( - b"^{__CFDictionary=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SMJobSubmit": ( - b"Z^{__CFString=}^{__CFDictionary=}^{AuthorizationOpaqueRef=}^^{__CFError}", - "", - { - "arguments": { - 3: { - "already_cfretained": True, - "type_modifier": "o", - "null_accepted": True, - } - } - }, - ), - "SMLoginItemSetEnabled": (b"Z^{__CFString=}Z",), - "SMCopyAllJobDictionaries": ( - b"^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/ShazamKit/__init__.py b/src/lib/ShazamKit/__init__.py deleted file mode 100644 index c5d6fdb..0000000 --- a/src/lib/ShazamKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the ShazamKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -from . import _metadata, _ShazamKit - -sys.modules["ShazamKit"] = mod = objc.ObjCLazyModule( - "ShazamKit", - "com.apple.ShazamKit", - objc.pathForFramework("/System/Library/Frameworks/ShazamKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - ( - _ShazamKit, - Cocoa, - ), -) - -del sys.modules["ShazamKit._metadata"] diff --git a/src/lib/ShazamKit/_metadata.py b/src/lib/ShazamKit/_metadata.py deleted file mode 100644 index aa8f692..0000000 --- a/src/lib/ShazamKit/_metadata.py +++ /dev/null @@ -1,126 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:19:52 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SHErrorDomain$SHMediaItemAppleMusicID$SHMediaItemAppleMusicURL$SHMediaItemArtist$SHMediaItemArtworkURL$SHMediaItemExplicitContent$SHMediaItemFrequencySkew$SHMediaItemGenres$SHMediaItemISRC$SHMediaItemMatchOffset$SHMediaItemShazamID$SHMediaItemSubtitle$SHMediaItemTitle$SHMediaItemVideoURL$SHMediaItemWebURL$""" -enums = """$SHErrorCodeAudioDiscontinuity@101$SHErrorCodeCustomCatalogInvalid@300$SHErrorCodeCustomCatalogInvalidURL@301$SHErrorCodeInvalidAudioFormat@100$SHErrorCodeMatchAttemptFailed@202$SHErrorCodeMediaLibrarySyncFailed@400$SHErrorCodeSignatureDurationInvalid@201$SHErrorCodeSignatureInvalid@200$""" -misc.update({"SHErrorCode": NewType("SHErrorCode", int)}) -misc.update({"SHMediaItemProperty": NewType("SHMediaItemProperty", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"session:didFindMatch:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"session:didNotFindMatchForSignature:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"SHCustomCatalog", - b"addCustomCatalogFromURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SHCustomCatalog", - b"addReferenceSignature:representingMediaItems:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SHCustomCatalog", - b"writeToURL:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"SHMediaItem", b"explicitContent", {"retval": {"type": b"Z"}}) - r( - b"SHMediaItem", - b"fetchMediaItemWithShazamID:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SHMediaLibrary", - b"addMediaItems:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SHSignature", - b"initWithDataRepresentation:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SHSignature", - b"signatureWithDataRepresentation:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SHSignatureGenerator", - b"appendBuffer:atTime:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Social/__init__.py b/src/lib/Social/__init__.py deleted file mode 100644 index 7675b72..0000000 --- a/src/lib/Social/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Social framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Social import _metadata - -sys.modules["Social"] = mod = objc.ObjCLazyModule( - "Social", - "com.apple.Social.framework", - objc.pathForFramework("/System/Library/Frameworks/Social.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["Social._metadata"] diff --git a/src/lib/Social/_metadata.py b/src/lib/Social/_metadata.py deleted file mode 100644 index b877cd5..0000000 --- a/src/lib/Social/_metadata.py +++ /dev/null @@ -1,64 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:23:56 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SLServiceTypeFacebook$SLServiceTypeLinkedIn$SLServiceTypeSinaWeibo$SLServiceTypeTencentWeibo$SLServiceTypeTwitter$""" -enums = """$SLRequestMethodDELETE@2$SLRequestMethodGET@0$SLRequestMethodPOST@1$SLRequestMethodPUT@3$""" -misc.update({"SLRequestMethod": NewType("SLRequestMethod", int)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"SLComposeServiceViewController", b"isContentValid", {"retval": {"type": b"Z"}}) - r( - b"SLRequest", - b"performRequestWithHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SoundAnalysis/__init__.py b/src/lib/SoundAnalysis/__init__.py deleted file mode 100644 index 7f57282..0000000 --- a/src/lib/SoundAnalysis/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the SoundAnalysis framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from SoundAnalysis import _metadata - -sys.modules["SoundAnalysis"] = mod = objc.ObjCLazyModule( - "SoundAnalysis", - "com.apple.SoundAnalysis", - objc.pathForFramework("/System/Library/Frameworks/SoundAnalysis.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["SoundAnalysis._metadata"] diff --git a/src/lib/SoundAnalysis/_metadata.py b/src/lib/SoundAnalysis/_metadata.py deleted file mode 100644 index 1a6ec4a..0000000 --- a/src/lib/SoundAnalysis/_metadata.py +++ /dev/null @@ -1,137 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Mon Feb 21 23:21:06 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SNClassifierIdentifierVersion1$SNErrorDomain$""" -enums = """$SNErrorCodeInvalidFile@5$SNErrorCodeInvalidFormat@3$SNErrorCodeInvalidModel@4$SNErrorCodeOperationFailed@2$SNErrorCodeUnknownError@1$SNTimeDurationConstraintTypeEnumerated@1$SNTimeDurationConstraintTypeRange@2$""" -misc.update( - { - "SNErrorCode": NewType("SNErrorCode", int), - "SNTimeDurationConstraintType": NewType("SNTimeDurationConstraintType", int), - } -) -misc.update({"SNClassifierIdentifier": NewType("SNClassifierIdentifier", str)}) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"request:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"request:didProduceResult:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"requestDidComplete:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"SNAudioFileAnalyzer", - b"addRequest:withObserver:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SNAudioFileAnalyzer", - b"analyzeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SNAudioFileAnalyzer", - b"initWithURL:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SNAudioStreamAnalyzer", - b"addRequest:withObserver:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SNClassificationResult", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"SNClassifySoundRequest", - b"initWithClassifierIdentifier:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SNClassifySoundRequest", - b"initWithMLModel:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"SNClassifySoundRequest", - b"setWindowDuration:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"SNClassifySoundRequest", - b"windowDuration", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"SNTimeDurationConstraint", - b"durationRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"SNTimeDurationConstraint", - b"initWithDurationRange:", - {"arguments": {2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Speech/__init__.py b/src/lib/Speech/__init__.py deleted file mode 100644 index 2ddff3b..0000000 --- a/src/lib/Speech/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the Speech framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Speech import _metadata, _Speech - -sys.modules["Speech"] = mod = objc.ObjCLazyModule( - "Speech", - "com.apple.Speech", - objc.pathForFramework("/System/Library/Frameworks/Speech.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Speech, Foundation), -) - - -del sys.modules["Speech._metadata"] diff --git a/src/lib/Speech/_metadata.py b/src/lib/Speech/_metadata.py deleted file mode 100644 index 0c65c06..0000000 --- a/src/lib/Speech/_metadata.py +++ /dev/null @@ -1,165 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:24:48 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$SFSpeechRecognitionTaskHintConfirmation@3$SFSpeechRecognitionTaskHintDictation@1$SFSpeechRecognitionTaskHintSearch@2$SFSpeechRecognitionTaskHintUnspecified@0$SFSpeechRecognitionTaskStateCanceling@3$SFSpeechRecognitionTaskStateCompleted@4$SFSpeechRecognitionTaskStateFinishing@2$SFSpeechRecognitionTaskStateRunning@1$SFSpeechRecognitionTaskStateStarting@0$SFSpeechRecognizerAuthorizationStatusAuthorized@3$SFSpeechRecognizerAuthorizationStatusDenied@1$SFSpeechRecognizerAuthorizationStatusNotDetermined@0$SFSpeechRecognizerAuthorizationStatusRestricted@2$""" -misc.update( - { - "SFSpeechRecognitionTaskHint": NewType("SFSpeechRecognitionTaskHint", int), - "SFSpeechRecognitionTaskState": NewType("SFSpeechRecognitionTaskState", int), - "SFSpeechRecognizerAuthorizationStatus": NewType( - "SFSpeechRecognizerAuthorizationStatus", int - ), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"speechRecognitionDidDetectSpeech:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"speechRecognitionTask:didFinishRecognition:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechRecognitionTask:didFinishSuccessfully:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"NSObject", - b"speechRecognitionTask:didHypothesizeTranscription:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"speechRecognitionTaskFinishedReadingAudio:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"speechRecognitionTaskWasCancelled:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"speechRecognizer:availabilityDidChange:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Z"}}, - }, - ) - r( - b"SFSpeechRecognitionRequest", - b"requiresOnDeviceRecognition", - {"retval": {"type": b"Z"}}, - ) - r( - b"SFSpeechRecognitionRequest", - b"setRequiresOnDeviceRecognition:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SFSpeechRecognitionRequest", - b"setShouldReportPartialResults:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"SFSpeechRecognitionRequest", - b"shouldReportPartialResults", - {"retval": {"type": b"Z"}}, - ) - r(b"SFSpeechRecognitionResult", b"isFinal", {"retval": {"type": b"Z"}}) - r(b"SFSpeechRecognitionTask", b"isCancelled", {"retval": {"type": b"Z"}}) - r(b"SFSpeechRecognitionTask", b"isFinishing", {"retval": {"type": b"Z"}}) - r(b"SFSpeechRecognizer", b"isAvailable", {"retval": {"type": b"Z"}}) - r( - b"SFSpeechRecognizer", - b"recognitionTaskWithRequest:resultHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SFSpeechRecognizer", - b"requestAuthorization:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"SFSpeechRecognizer", - b"setSupportsOnDeviceRecognition:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SFSpeechRecognizer", b"supportsOnDeviceRecognition", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SpriteKit/__init__.py b/src/lib/SpriteKit/__init__.py deleted file mode 100644 index 59b37b7..0000000 --- a/src/lib/SpriteKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the SpriteKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import objc -import Quartz -from SpriteKit import _metadata, _SpriteKit - -sys.modules["SpriteKit"] = mod = objc.ObjCLazyModule( - "SpriteKit", - "com.apple.SpriteKit", - objc.pathForFramework("/System/Library/Frameworks/SpriteKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_SpriteKit, Cocoa, Quartz), -) - - -mod = sys.modules["SpriteKit"] -del sys.modules["SpriteKit._metadata"] diff --git a/src/lib/SpriteKit/_metadata.py b/src/lib/SpriteKit/_metadata.py deleted file mode 100644 index 7ecbdad..0000000 --- a/src/lib/SpriteKit/_metadata.py +++ /dev/null @@ -1,740 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:25:04 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$PHYSICSKIT_MINUS_GL_IMPORTS@1$SKActionTimingEaseIn@1$SKActionTimingEaseInEaseOut@3$SKActionTimingEaseOut@2$SKActionTimingLinear@0$SKAttributeTypeFloat@1$SKAttributeTypeHalfFloat@5$SKAttributeTypeNone@0$SKAttributeTypeVectorFloat2@2$SKAttributeTypeVectorFloat3@3$SKAttributeTypeVectorFloat4@4$SKAttributeTypeVectorHalfFloat2@6$SKAttributeTypeVectorHalfFloat3@7$SKAttributeTypeVectorHalfFloat4@8$SKBlendModeAdd@1$SKBlendModeAlpha@0$SKBlendModeMultiply@3$SKBlendModeMultiplyAlpha@7$SKBlendModeMultiplyX2@4$SKBlendModeReplace@6$SKBlendModeScreen@5$SKBlendModeSubtract@2$SKInterpolationModeLinear@1$SKInterpolationModeSpline@2$SKInterpolationModeStep@3$SKLabelHorizontalAlignmentModeCenter@0$SKLabelHorizontalAlignmentModeLeft@1$SKLabelHorizontalAlignmentModeRight@2$SKLabelVerticalAlignmentModeBaseline@0$SKLabelVerticalAlignmentModeBottom@3$SKLabelVerticalAlignmentModeCenter@1$SKLabelVerticalAlignmentModeTop@2$SKNodeFocusBehaviorFocusable@2$SKNodeFocusBehaviorNone@0$SKNodeFocusBehaviorOccluding@1$SKParticleRenderOrderDontCare@2$SKParticleRenderOrderOldestFirst@1$SKParticleRenderOrderOldestLast@0$SKRepeatModeClamp@1$SKRepeatModeLoop@2$SKSceneScaleModeAspectFill@1$SKSceneScaleModeAspectFit@2$SKSceneScaleModeFill@0$SKSceneScaleModeResizeFill@3$SKTextureFilteringLinear@1$SKTextureFilteringNearest@0$SKTileAdjacencyAll@255$SKTileAdjacencyDown@16$SKTileAdjacencyDownEdge@199$SKTileAdjacencyLeft@64$SKTileAdjacencyLeftEdge@31$SKTileAdjacencyLowerLeft@32$SKTileAdjacencyLowerLeftCorner@253$SKTileAdjacencyLowerLeftEdge@7$SKTileAdjacencyLowerRight@8$SKTileAdjacencyLowerRightCorner@127$SKTileAdjacencyLowerRightEdge@193$SKTileAdjacencyRight@4$SKTileAdjacencyRightEdge@241$SKTileAdjacencyUp@1$SKTileAdjacencyUpEdge@124$SKTileAdjacencyUpperLeft@128$SKTileAdjacencyUpperLeftCorner@247$SKTileAdjacencyUpperLeftEdge@28$SKTileAdjacencyUpperRight@2$SKTileAdjacencyUpperRightCorner@223$SKTileAdjacencyUpperRightEdge@112$SKTileDefinitionRotation0@0$SKTileDefinitionRotation180@2$SKTileDefinitionRotation270@3$SKTileDefinitionRotation90@1$SKTileHexFlatAdjacencyAll@63$SKTileHexFlatAdjacencyDown@8$SKTileHexFlatAdjacencyLowerLeft@16$SKTileHexFlatAdjacencyLowerRight@4$SKTileHexFlatAdjacencyUp@1$SKTileHexFlatAdjacencyUpperLeft@32$SKTileHexFlatAdjacencyUpperRight@2$SKTileHexPointyAdjacencyAdd@63$SKTileHexPointyAdjacencyLeft@32$SKTileHexPointyAdjacencyLowerLeft@16$SKTileHexPointyAdjacencyLowerRight@8$SKTileHexPointyAdjacencyRight@4$SKTileHexPointyAdjacencyUpperLeft@1$SKTileHexPointyAdjacencyUpperRight@2$SKTileSetTypeGrid@0$SKTileSetTypeHexagonalFlat@2$SKTileSetTypeHexagonalPointy@3$SKTileSetTypeIsometric@1$SKTransitionDirectionDown@1$SKTransitionDirectionLeft@3$SKTransitionDirectionRight@2$SKTransitionDirectionUp@0$SKUniformTypeFloat@1$SKUniformTypeFloatMatrix2@5$SKUniformTypeFloatMatrix3@6$SKUniformTypeFloatMatrix4@7$SKUniformTypeFloatVector2@2$SKUniformTypeFloatVector3@3$SKUniformTypeFloatVector4@4$SKUniformTypeNone@0$SKUniformTypeTexture@8$SKVIEW_AVAILABLE@1$""" -misc.update( - { - "SKLabelVerticalAlignmentMode": NewType("SKLabelVerticalAlignmentMode", int), - "SKUniformType": NewType("SKUniformType", int), - "SKParticleRenderOrder": NewType("SKParticleRenderOrder", int), - "SKInterpolationMode": NewType("SKInterpolationMode", int), - "SKTextureFilteringMode": NewType("SKTextureFilteringMode", int), - "SKAttributeType": NewType("SKAttributeType", int), - "SKBlendMode": NewType("SKBlendMode", int), - "SKSceneScaleMode": NewType("SKSceneScaleMode", int), - "SKNodeFocusBehavior": NewType("SKNodeFocusBehavior", int), - "SKTileDefinitionRotation": NewType("SKTileDefinitionRotation", int), - "SKTransitionDirection": NewType("SKTransitionDirection", int), - "SKTileSetType": NewType("SKTileSetType", int), - "SKLabelHorizontalAlignmentMode": NewType( - "SKLabelHorizontalAlignmentMode", int - ), - "SKActionTimingMode": NewType("SKActionTimingMode", int), - "SKRepeatMode": NewType("SKRepeatMode", int), - "SKTileAdjacencyMask": NewType("SKTileAdjacencyMask", int), - } -) -misc.update({}) -aliases = {"SK_AVAILABLE": "__OSX_AVAILABLE_STARTING", "SKColor": "NSColor"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"didApplyConstraintsForScene:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didBeginContact:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didEndContact:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didEvaluateActionsForScene:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didFinishUpdateForScene:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didSimulatePhysicsForScene:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setSubdivisionLevels:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"q"}}}, - ) - r( - b"NSObject", - b"setWarpGeometry:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"subdivisionLevels", {"required": True, "retval": {"type": b"q"}}) - r( - b"NSObject", - b"update:forScene:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"d"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"view:shouldRenderAtTime:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "d"}}, - }, - ) - r(b"NSObject", b"warpGeometry", {"required": True, "retval": {"type": b"@"}}) - r(b"SK3DNode", b"autoenablesDefaultLighting", {"retval": {"type": b"Z"}}) - r(b"SK3DNode", b"isPlaying", {"retval": {"type": b"Z"}}) - r(b"SK3DNode", b"loops", {"retval": {"type": b"Z"}}) - r( - b"SK3DNode", - b"projectPoint:", - {"retval": {"type": b"%"}, "arguments": {2: {"type": b"%"}}}, - ) - r( - b"SK3DNode", - b"setAutoenablesDefaultLighting:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SK3DNode", b"setLoops:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SK3DNode", b"setPlaying:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SK3DNode", - b"unprojectPoint:", - {"retval": {"type": b"%"}, "arguments": {2: {"type": b"%"}}}, - ) - r( - b"SKAction", - b"animateWithNormalTextures:timePerFrame:resize:restore:", - {"arguments": {4: {"type": b"Z"}, 5: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"animateWithTextures:timePerFrame:resize:restore:", - {"arguments": {4: {"type": b"Z"}, 5: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"animateWithWarps:times:restore:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"customActionWithDuration:actionBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": sel32or64(b"f", b"d")}, - }, - } - } - } - }, - ) - r( - b"SKAction", - b"followPath:asOffset:orientToPath:duration:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"followPath:asOffset:orientToPath:speed:", - {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"performSelector:onTarget:", - {"arguments": {2: {"sel_of_type": b"v@:"}}}, - ) - r( - b"SKAction", - b"playSoundFileNamed:waitForCompletion:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"rotateToAngle:duration:shortestUnitArc:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"SKAction", - b"runBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SKAction", - b"runBlock:queue:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKAction", b"setNormalTexture:resize:", {"arguments": {3: {"type": b"Z"}}}) - r(b"SKAction", b"setTexture:resize:", {"arguments": {3: {"type": b"Z"}}}) - r( - b"SKAction", - b"setTimingFunc:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - } - }, - ) - r( - b"SKAction", - b"setTimingFunction:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - } - }, - ) - r( - b"SKAction", - b"timingFunc", - { - "retval": { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - }, - ) - r( - b"SKAction", - b"timingFunction", - { - "retval": { - "callable": { - "retval": {"type": b"f"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"f"}}, - } - } - }, - ) - r(b"SKAudioNode", b"autoplayLooped", {"retval": {"type": b"Z"}}) - r(b"SKAudioNode", b"isPositional", {"retval": {"type": b"Z"}}) - r(b"SKAudioNode", b"setAutoplayLooped:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKAudioNode", b"setPositional:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKCameraNode", b"containsNode:", {"retval": {"type": b"Z"}}) - r(b"SKConstraint", b"enabled", {"retval": {"type": b"Z"}}) - r(b"SKConstraint", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKEffectNode", b"setShouldCenterFilter:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKEffectNode", b"setShouldEnableEffects:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKEffectNode", b"setShouldRasterize:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKEffectNode", b"shouldCenterFilter", {"retval": {"type": b"Z"}}) - r(b"SKEffectNode", b"shouldEnableEffects", {"retval": {"type": b"Z"}}) - r(b"SKEffectNode", b"shouldRasterize", {"retval": {"type": b"Z"}}) - r( - b"SKFieldNode", - b"customFieldWithEvaluationBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"@?"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKFieldNode", b"direction", {"retval": {"type": b"%"}}) - r(b"SKFieldNode", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"SKFieldNode", b"isExclusive", {"retval": {"type": b"Z"}}) - r( - b"SKFieldNode", - b"linearGravityFieldWithVector:", - {"arguments": {2: {"type": b"%"}}}, - ) - r(b"SKFieldNode", b"setDirection:", {"arguments": {2: {"type": b"%"}}}) - r(b"SKFieldNode", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKFieldNode", b"setExclusive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKFieldNode", b"velocityFieldWithVector:", {"arguments": {2: {"type": b"%"}}}) - r(b"SKLightNode", b"isEnabled", {"retval": {"type": b"Z"}}) - r(b"SKLightNode", b"setEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SKMutableTexture", - b"modifyPixelDataWithBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: { - "type": b"^v", - "type_modifier": "N", - "c_array_length_in_arg": 2, - }, - 2: {"type": b"Q"}, - }, - } - } - } - }, - ) - r(b"SKNode", b"containsPoint:", {"retval": {"type": b"Z"}}) - r( - b"SKNode", - b"enumerateChildNodesWithName:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r(b"SKNode", b"hasActions", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"inParentHierarchy:", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"intersectsNode:", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isAccessibilityElement", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isAccessibilityEnabled", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isEqualToNode:", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isHidden", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isPaused", {"retval": {"type": b"Z"}}) - r(b"SKNode", b"isUserInteractionEnabled", {"retval": {"type": b"Z"}}) - r( - b"SKNode", - b"nodeWithFileNamed:securelyWithClasses:andError:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"SKNode", - b"runAction:completion:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKNode", b"setAccessibilityElement:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKNode", b"setAccessibilityEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKNode", b"setHidden:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKNode", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKNode", b"setUserInteractionEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKPhysicsBody", b"affectedByGravity", {"retval": {"type": b"Z"}}) - r(b"SKPhysicsBody", b"allowsRotation", {"retval": {"type": b"Z"}}) - r(b"SKPhysicsBody", b"isDynamic", {"retval": {"type": b"Z"}}) - r(b"SKPhysicsBody", b"isResting", {"retval": {"type": b"Z"}}) - r(b"SKPhysicsBody", b"pinned", {"retval": {"type": b"Z"}}) - r(b"SKPhysicsBody", b"setAffectedByGravity:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKPhysicsBody", b"setAllowsRotation:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKPhysicsBody", b"setDynamic:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKPhysicsBody", b"setPinned:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKPhysicsBody", b"setResting:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SKPhysicsBody", - b"setUsesPreciseCollisionDetection:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SKPhysicsBody", b"usesPreciseCollisionDetection", {"retval": {"type": b"Z"}}) - r( - b"SKPhysicsJointPin", - b"setShouldEnableLimits:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SKPhysicsJointPin", b"shouldEnableLimits", {"retval": {"type": b"Z"}}) - r( - b"SKPhysicsJointSliding", - b"setShouldEnableLimits:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SKPhysicsJointSliding", b"shouldEnableLimits", {"retval": {"type": b"Z"}}) - r( - b"SKPhysicsWorld", - b"enumerateBodiesAlongRayStart:end:usingBlock:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"{CGPoint=dd}"}, - 3: {"type": b"{CGVector=dd}"}, - 4: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"SKPhysicsWorld", - b"enumerateBodiesAtPoint:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"SKPhysicsWorld", - b"enumerateBodiesInRect:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"^Z", "type_modifier": "o"}, - }, - } - } - } - }, - ) - r( - b"SKPhysicsWorld", - b"sampleFieldsAt:", - {"retval": {"type": b"%"}, "arguments": {2: {"type": b"%"}}}, - ) - r(b"SKRegion", b"containsPoint:", {"retval": {"type": b"Z"}}) - r(b"SKRenderer", b"ignoresSiblingOrder", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"setIgnoresSiblingOrder:", {"arguments": {2: {"type": "Z"}}}) - r( - b"SKRenderer", - b"setShouldCullNonVisibleNodes:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"SKRenderer", b"setShowsDrawCount:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKRenderer", b"setShowsFields:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKRenderer", b"setShowsNodeCount:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKRenderer", b"setShowsPhysics:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKRenderer", b"setShowsQuadCount:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKRenderer", b"shouldCullNonVisibleNodes", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"showsDrawCount", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"showsFields", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"showsNodeCount", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"showsPhysics", {"retval": {"type": "Z"}}) - r(b"SKRenderer", b"showsQuadCount", {"retval": {"type": "Z"}}) - r(b"SKShapeNode", b"isAntialiased", {"retval": {"type": b"Z"}}) - r(b"SKShapeNode", b"setAntialiased:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SKShapeNode", - b"shapeNodeWithPath:centered:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"SKShapeNode", - b"shapeNodeWithPoints:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"SKShapeNode", - b"shapeNodeWithSplinePoints:count:", - {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}}, - ) - r( - b"SKSpriteNode", - b"spriteNodeWithImageNamed:normalMapped:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"SKTexture", - b"preloadTextures:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SKTexture", - b"preloadWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKTexture", b"setUsesMipmaps:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SKTexture", - b"textureNoiseWithSmoothness:size:grayscale:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"SKTexture", - b"textureWithData:size:flipped:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r(b"SKTexture", b"usesMipmaps", {"retval": {"type": b"Z"}}) - r( - b"SKTextureAtlas", - b"preloadTextureAtlases:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"SKTextureAtlas", - b"preloadTextureAtlasesNamed:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKTextureAtlas", - b"preloadWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKTileDefinition", b"flipHorizontally", {"retval": {"type": "Z"}}) - r(b"SKTileDefinition", b"flipVertically", {"retval": {"type": "Z"}}) - r(b"SKTileDefinition", b"setFlipHorizontally:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKTileDefinition", b"setFlipVertically:", {"arguments": {2: {"type": "Z"}}}) - r(b"SKTileMapNode", b"enableAutomapping", {"retval": {"type": b"Z"}}) - r(b"SKTileMapNode", b"setEnableAutomapping:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKTransformNode", b"quaternion", {"retval": {"type": b"{_simd_quatf=}"}}) - r( - b"SKTransformNode", - b"rotationMatrix", - {"retval": {"type": b"{_matrix_float3x3=?}"}}, - ) - r( - b"SKTransformNode", - b"setQuaternion:", - {"arguments": {2: {"type": b"{_simd_quatf=}"}}}, - ) - r( - b"SKTransformNode", - b"setRotationMatrix:", - {"arguments": {2: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r(b"SKTransition", b"pausesIncomingScene", {"retval": {"type": b"Z"}}) - r(b"SKTransition", b"pausesOutgoingScene", {"retval": {"type": b"Z"}}) - r(b"SKTransition", b"setPausesIncomingScene:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKTransition", b"setPausesOutgoingScene:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"SKUniform", - b"initWithName:matrixFloat2x2:", - {"arguments": {3: {"type": b"{_matrix_float2x2=?}"}}}, - ) - r( - b"SKUniform", - b"initWithName:matrixFloat3x3:", - {"arguments": {3: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r( - b"SKUniform", - b"initWithName:matrixFloat4x4:", - {"arguments": {3: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"SKUniform", - b"matrixFloat2x2Value", - {"retval": {"type": b"{_matrix_float2x2=?}"}}, - ) - r( - b"SKUniform", - b"matrixFloat3x3Value", - {"retval": {"type": b"{_matrix_float3x3=?}"}}, - ) - r( - b"SKUniform", - b"matrixFloat4x4Value", - {"retval": {"type": b"{_matrix_float4x4=?}"}}, - ) - r( - b"SKUniform", - b"setMatrixFloat2x2Value:", - {"arguments": {2: {"type": b"{_matrix_float2x2=?}"}}}, - ) - r( - b"SKUniform", - b"setMatrixFloat3x3Value:", - {"arguments": {2: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r( - b"SKUniform", - b"setMatrixFloat4x4Value:", - {"arguments": {2: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r( - b"SKUniform", - b"uniformWithName:matrixFloat2x2:", - {"arguments": {3: {"type": b"{_matrix_float2x2=?}"}}}, - ) - r( - b"SKUniform", - b"uniformWithName:matrixFloat3x3:", - {"arguments": {3: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r( - b"SKUniform", - b"uniformWithName:matrixFloat4x4:", - {"arguments": {3: {"type": b"{_matrix_float4x4=?}"}}}, - ) - r(b"SKView", b"allowsTransparency", {"retval": {"type": b"Z"}}) - r(b"SKView", b"disableDepthStencilBuffer", {"retval": {"type": "Z"}}) - r(b"SKView", b"ignoresSiblingOrder", {"retval": {"type": b"Z"}}) - r(b"SKView", b"isAsynchronous", {"retval": {"type": b"Z"}}) - r(b"SKView", b"isPaused", {"retval": {"type": b"Z"}}) - r(b"SKView", b"setAllowsTransparency:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setAsynchronous:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setDisableDepthStencilBuffer:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setIgnoresSiblingOrder:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setPaused:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShouldCullNonVisibleNodes:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsDrawCount:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsFPS:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsFields:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsNodeCount:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsPhysics:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"setShowsQuadCount:", {"arguments": {2: {"type": b"Z"}}}) - r(b"SKView", b"shouldCullNonVisibleNodes", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsDrawCount", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsFPS", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsFields", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsNodeCount", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsPhysics", {"retval": {"type": b"Z"}}) - r(b"SKView", b"showsQuadCount", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = { - "SKTileAdjacencyRightEdge": "SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft | SKTileAdjacencyUp", - "SKTileAdjacencyUpperRightCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft", - "SKTileAdjacencyUpperRightEdge": "SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft", - "SKTileAdjacencyLowerRightCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft", - "SKTileAdjacencyLowerRightEdge": "SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft | SKTileAdjacencyUp", - "SKTileAdjacencyDownEdge": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft", - "SKTileAdjacencyLeftEdge": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown", - "SKTileAdjacencyUpEdge": "SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft", - "SKTileAdjacencyLowerLeftEdge": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight", - "SKTileAdjacencyUpperLeftCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft", - "SKTileAdjacencyUpperLeftEdge": "SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown", - "SKTileAdjacencyLowerLeftCorner": "SKTileAdjacencyUp | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft", -} - -# END OF FILE diff --git a/src/lib/StoreKit/__init__.py b/src/lib/StoreKit/__init__.py deleted file mode 100644 index 33ecd24..0000000 --- a/src/lib/StoreKit/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the StoreKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from StoreKit import _metadata -from StoreKit import _StoreKit - -sys.modules["StoreKit"] = mod = objc.ObjCLazyModule( - "StoreKit", - "com.apple.StoreKit", - objc.pathForFramework("/System/Library/Frameworks/StoreKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_StoreKit, Foundation), -) - - -del sys.modules["StoreKit._metadata"] diff --git a/src/lib/StoreKit/_metadata.py b/src/lib/StoreKit/_metadata.py deleted file mode 100644 index ad68cbe..0000000 --- a/src/lib/StoreKit/_metadata.py +++ /dev/null @@ -1,538 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:24:22 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$SKCloudServiceCapabilitiesDidChangeNotification$SKCloudServiceSetupActionSubscribe$SKCloudServiceSetupMessageIdentifierAddMusic$SKCloudServiceSetupMessageIdentifierConnect$SKCloudServiceSetupMessageIdentifierJoin$SKCloudServiceSetupMessageIdentifierPlayMusic$SKCloudServiceSetupOptionsActionKey$SKCloudServiceSetupOptionsAffiliateTokenKey$SKCloudServiceSetupOptionsCampaignTokenKey$SKCloudServiceSetupOptionsITunesItemIdentifierKey$SKCloudServiceSetupOptionsMessageIdentifierKey$SKDownloadTimeRemainingUnknown@d$SKErrorDomain$SKReceiptPropertyIsExpired$SKReceiptPropertyIsRevoked$SKReceiptPropertyIsVolumePurchase$SKStoreProductParameterAdNetworkAttributionSignature$SKStoreProductParameterAdNetworkCampaignIdentifier$SKStoreProductParameterAdNetworkIdentifier$SKStoreProductParameterAdNetworkNonce$SKStoreProductParameterAdNetworkSourceAppStoreIdentifier$SKStoreProductParameterAdNetworkTimestamp$SKStoreProductParameterAdNetworkVersion$SKStoreProductParameterAdvertisingPartnerToken$SKStoreProductParameterAffiliateToken$SKStoreProductParameterCampaignToken$SKStoreProductParameterCustomProductPageIdentifier$SKStoreProductParameterITunesItemIdentifier$SKStoreProductParameterProductIdentifier$SKStoreProductParameterProviderToken$SKStorefrontCountryCodeDidChangeNotification$SKStorefrontIdentifierDidChangeNotification$""" -enums = """$SKCloudServiceAuthorizationStatusAuthorized@3$SKCloudServiceAuthorizationStatusDenied@1$SKCloudServiceAuthorizationStatusNotDetermined@0$SKCloudServiceAuthorizationStatusRestricted@2$SKCloudServiceCapabilityAddToCloudMusicLibrary@256$SKCloudServiceCapabilityMusicCatalogPlayback@1$SKCloudServiceCapabilityMusicCatalogSubscriptionEligible@2$SKCloudServiceCapabilityNone@0$SKDownloadStateActive@1$SKDownloadStateCancelled@5$SKDownloadStateFailed@4$SKDownloadStateFinished@3$SKDownloadStatePaused@2$SKDownloadStateWaiting@0$SKErrorClientInvalid@1$SKErrorCloudServiceNetworkConnectionFailed@7$SKErrorCloudServicePermissionDenied@6$SKErrorCloudServiceRevoked@8$SKErrorIneligibleForOffer@18$SKErrorInvalidOfferIdentifier@11$SKErrorInvalidOfferPrice@14$SKErrorInvalidSignature@12$SKErrorMissingOfferParams@13$SKErrorOverlayCancelled@15$SKErrorOverlayInvalidConfiguration@16$SKErrorOverlayPresentedInBackgroundScene@20$SKErrorOverlayTimeout@17$SKErrorPaymentCancelled@2$SKErrorPaymentInvalid@3$SKErrorPaymentNotAllowed@4$SKErrorPrivacyAcknowledgementRequired@9$SKErrorStoreProductNotAvailable@5$SKErrorUnauthorizedRequestData@10$SKErrorUnknown@0$SKErrorUnsupportedPlatform@19$SKOverlayPositionBottom@0$SKOverlayPositionBottomRaised@1$SKPaymentTransactionStateDeferred@4$SKPaymentTransactionStateFailed@2$SKPaymentTransactionStatePurchased@1$SKPaymentTransactionStatePurchasing@0$SKPaymentTransactionStateRestored@3$SKProductDiscountPaymentModeFreeTrial@2$SKProductDiscountPaymentModePayAsYouGo@0$SKProductDiscountPaymentModePayUpFront@1$SKProductDiscountTypeIntroductory@0$SKProductDiscountTypeSubscription@1$SKProductPeriodUnitDay@0$SKProductPeriodUnitMonth@2$SKProductPeriodUnitWeek@1$SKProductPeriodUnitYear@3$SKProductStorePromotionVisibilityDefault@0$SKProductStorePromotionVisibilityHide@2$SKProductStorePromotionVisibilityShow@1$""" -misc.update( - { - "SKProductDiscountPaymentMode": NewType("SKProductDiscountPaymentMode", int), - "SKOverlayPosition": NewType("SKOverlayPosition", int), - "SKProductDiscountType": NewType("SKProductDiscountType", int), - "SKCloudServiceCapability": NewType("SKCloudServiceCapability", int), - "SKPaymentTransactionState": NewType("SKPaymentTransactionState", int), - "SKProductPeriodUnit": NewType("SKProductPeriodUnit", int), - "SKProductStorePromotionVisibility": NewType( - "SKProductStorePromotionVisibility", int - ), - "SKCloudServiceAuthorizationStatus": NewType( - "SKCloudServiceAuthorizationStatus", int - ), - "SKErrorCode": NewType("SKErrorCode", int), - "SKDownloadState": NewType("SKDownloadState", int), - } -) -misc.update({}) -misc.update({}) -functions = {"SKTerminateForInvalidReceipt": (b"v",)} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"cloudServiceSetupViewControllerDidDismiss:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentQueue:didRevokeEntitlementsForProductIdentifiers:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:removedTransactions:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:restoreCompletedTransactionsFailedWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:shouldAddStorePayment:forProduct:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:shouldContinueTransaction:inStorefront:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:updatedDownloads:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueue:updatedTransactions:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"paymentQueueDidChangeStorefront:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentQueueRestoreCompletedTransactionsFinished:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"paymentQueueShouldShowPriceConsent:", - {"required": False, "retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"productViewControllerDidFinish:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"productsRequest:didReceiveResponse:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"request:didFailWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"requestDidFinish:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"storeOverlay:didFailToLoadWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"storeOverlay:didFinishDismissal:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"storeOverlay:didFinishPresentation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"storeOverlay:willStartDismissal:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"storeOverlay:willStartPresentation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"SKAdNetwork", - b"endImpression:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SKAdNetwork", - b"startImpression:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SKAdNetwork", - b"updatePostbackConversionValue:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SKArcadeService", - b"arcadeSubscriptionStatusWithNonce:resultHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"@"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"I"}, - 3: {"type": b"@"}, - 4: {"type": b"I"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKArcadeService", - b"registerArcadeAppWithRandomFromLib:randomFromLibLength:resultHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"I"}, - 3: {"type": b"@"}, - 4: {"type": b"I"}, - 5: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestAuthorization:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestCapabilitiesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestPersonalizationTokenForClientToken:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestStorefrontCountryCodeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestStorefrontIdentifierWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceController", - b"requestUserTokenForDeveloperToken:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKCloudServiceSetupViewController", - b"loadWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKMutablePayment", - b"setSimulatesAskToBuyInSandbox:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SKMutablePayment", b"simulatesAskToBuyInSandbox", {"retval": {"type": b"Z"}}) - r( - b"SKOverlayAppConfiguration", - b"setUserDismissible:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"SKOverlayAppConfiguration", b"userDismissible", {"retval": {"type": b"Z"}}) - r( - b"SKOverlayTransitionContext", - b"addAnimationBlock:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"SKPayment", b"simulatesAskToBuyInSandbox", {"retval": {"type": b"Z"}}) - r(b"SKPaymentQueue", b"canMakePayments", {"retval": {"type": b"Z"}}) - r(b"SKProduct", b"downloadable", {"retval": {"type": b"Z"}}) - r(b"SKProduct", b"isDownloadable", {"retval": {"type": b"Z"}}) - r(b"SKProduct", b"isFamilyShareable", {"retval": {"type": b"Z"}}) - r( - b"SKProductStorePromotionController", - b"fetchStorePromotionOrderWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKProductStorePromotionController", - b"fetchStorePromotionVisibilityForProduct:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"SKProductStorePromotionController", - b"updateStorePromotionOrder:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SKProductStorePromotionController", - b"updateStorePromotionVisibility:forProduct:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"SKStoreProductViewController", - b"loadProductWithParameters:completionBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/SyncServices/__init__.py b/src/lib/SyncServices/__init__.py deleted file mode 100644 index 165ef3f..0000000 --- a/src/lib/SyncServices/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the SyncServices framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import CoreData -import objc -from SyncServices import _metadata -from SyncServices import _SyncServices - -sys.modules["SyncServices"] = mod = objc.ObjCLazyModule( - "SyncServices", - "com.apple.syncservices", - objc.pathForFramework("/System/Library/Frameworks/SyncServices.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (_SyncServices, CoreData), -) - - -del sys.modules["SyncServices._metadata"] diff --git a/src/lib/SyncServices/_metadata.py b/src/lib/SyncServices/_metadata.py deleted file mode 100644 index f3a38ef..0000000 --- a/src/lib/SyncServices/_metadata.py +++ /dev/null @@ -1,634 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:25:27 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ISyncAvailabilityChangedNotification$ISyncChangePropertyActionKey$ISyncChangePropertyClear$ISyncChangePropertyNameKey$ISyncChangePropertySet$ISyncChangePropertyValueIsDefaultKey$ISyncChangePropertyValueKey$ISyncClientTypeApplication$ISyncClientTypeDevice$ISyncClientTypePeer$ISyncClientTypeServer$ISyncErrorDomain$ISyncInvalidArgumentsException$ISyncInvalidEntityException$ISyncInvalidRecordException$ISyncInvalidRecordIdentifiersKey$ISyncInvalidRecordReasonsKey$ISyncInvalidRecordsKey$ISyncInvalidSchemaException$ISyncRecordEntityNameKey$ISyncServerUnavailableException$ISyncSessionCancelledException$ISyncSessionUnavailableException$ISyncUnsupportedEntityException$""" -enums = """$ISyncChangeTypeAdd@1$ISyncChangeTypeDelete@3$ISyncChangeTypeModify@2$ISyncChangeTypeNone@0$ISyncServerDisabledReasonByPreference@1001$ISyncServerDisabledReasonNone@1000$ISyncServerDisabledReasonSharedNetworkHome@1002$ISyncServerDisabledReasonUnknown@1004$ISyncServerDisabledReasonUnresponsive@1003$ISyncSessionClientAlreadySyncingError@100$ISyncSessionDriverChangeAccepted@1$ISyncSessionDriverChangeError@3$ISyncSessionDriverChangeIgnored@2$ISyncSessionDriverChangeRefused@0$ISyncSessionDriverFatalError@300$ISyncSessionDriverModeFast@1$ISyncSessionDriverModeRefresh@3$ISyncSessionDriverModeSlow@2$ISyncSessionDriverPullFailureError@201$ISyncSessionDriverRegistrationError@200$ISyncSessionUserCanceledSessionError@101$ISyncStatusCancelled@5$ISyncStatusErrors@4$ISyncStatusFailed@6$ISyncStatusNever@7$ISyncStatusRunning@1$ISyncStatusSuccess@2$ISyncStatusWarnings@3$""" -misc.update( - { - "__ISyncStatus": NewType("__ISyncStatus", int), - "__ISyncChangeType": NewType("__ISyncChangeType", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"ISyncClient", b"canPullChangesForEntityName:", {"retval": {"type": "Z"}}) - r(b"ISyncClient", b"canPushChangesForEntityName:", {"retval": {"type": "Z"}}) - r(b"ISyncClient", b"formatsRelationships", {"retval": {"type": "Z"}}) - r(b"ISyncClient", b"isEnabledForEntityName:", {"retval": {"type": "Z"}}) - r(b"ISyncClient", b"setEnabled:forEntityNames:", {"arguments": {2: {"type": "Z"}}}) - r(b"ISyncClient", b"setFormatsRelationships:", {"arguments": {2: {"type": "Z"}}}) - r( - b"ISyncClient", - b"setShouldReplaceClientRecords:forEntityNames:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ISyncClient", - b"setShouldSynchronize:withClientsOfType:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ISyncClient", - b"setSyncAlertHandler:selector:", - {"arguments": {3: {"sel_of_type": b"v@:@@"}}}, - ) - r( - b"ISyncClient", - b"shouldReplaceClientRecordsForEntityName:", - {"retval": {"type": "Z"}}, - ) - r(b"ISyncClient", b"shouldSynchronizeWithClientsOfType:", {"retval": {"type": "Z"}}) - r( - b"ISyncManager", - b"clientWithIdentifier:needsSyncing:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"ISyncManager", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"ISyncManager", b"registerSchemaWithBundlePath:", {"retval": {"type": "Z"}}) - r( - b"ISyncRecordSnapshot", - b"recordIdentifierForReference:isModified:", - {"arguments": {3: {"type": "^Z", "type_modifier": b"o"}}}, - ) - r( - b"ISyncSession", - b"beginSessionInBackgroundWithClient:entityNames:target:selector:", - {"arguments": {5: {"sel_of_type": b"v@:@@"}}}, - ) - r( - b"ISyncSession", - b"beginSessionInBackgroundWithClient:entityNames:target:selector:lastAnchors:", - {"arguments": {5: {"sel_of_type": b"v@:@@"}}}, - ) - r( - b"ISyncSession", - b"clientLostRecordWithIdentifier:shouldReplaceOnNextSync:", - {"arguments": {3: {"type": "Z"}}}, - ) - r(b"ISyncSession", b"isCancelled", {"retval": {"type": "Z"}}) - r( - b"ISyncSession", - b"prepareToPullChangesForEntityNames:beforeDate:", - {"retval": {"type": "Z"}}, - ) - r( - b"ISyncSession", - b"prepareToPullChangesInBackgroundForEntityNames:target:selector:", - {"arguments": {4: {"sel_of_type": b"v@:@@"}}}, - ) - r(b"ISyncSession", b"shouldPullChangesForEntityName:", {"retval": {"type": "Z"}}) - r(b"ISyncSession", b"shouldPushAllRecordsForEntityName:", {"retval": {"type": "Z"}}) - r(b"ISyncSession", b"shouldPushChangesForEntityName:", {"retval": {"type": "Z"}}) - r( - b"ISyncSession", - b"shouldReplaceAllRecordsOnClientForEntityName:", - {"retval": {"type": "Z"}}, - ) - r(b"ISyncSessionDriver", b"handlesSyncAlerts", {"retval": {"type": "Z"}}) - r( - b"ISyncSessionDriver", - b"setHandlesSyncAlerts:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"ISyncSessionDriver", - b"startAsynchronousSync:", - {"retval": {"type": "Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"ISyncSessionDriver", b"sync", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"applyChange:forEntityName:remappedRecordIdentifier:formattedRecord:error:", - { - "required": True, - "retval": {"type": "i"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": "^@", "type_modifier": b"o"}, - 5: {"type": "^@", "type_modifier": b"o"}, - 6: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"attributedStringForIdentityPropertiesWithNames:inRecord:comparisonRecords:firstLineAttributes:secondLineAttributes:", - { - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"attributedStringForPropertiesWithNames:inRecord:comparisonRecords:defaultAttributes:", - { - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"changedRecordsForEntityName:moreComing:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^Z", "type_modifier": b"o"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"changesForEntityName:moreComing:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^Z", "type_modifier": b"o"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"clientDescriptionURL", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"clientIdentifier", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"deleteAllRecordsForEntityName:error:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r(b"NSObject", b"entityNamesToPull", {"required": False, "retval": {"type": b"@"}}) - r(b"NSObject", b"entityNamesToSync", {"required": False, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"identifiersForRecordsToDeleteForEntityName:moreComing:error:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^Z", "type_modifier": b"o"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"isEqual:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"isRelationship", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isRequired", {"retval": {"type": "Z"}}) - r(b"NSObject", b"isToMany", {"retval": {"type": "Z"}}) - r( - b"NSObject", - b"lastAnchorForEntityName:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"managedObjectContextsToMonitorWhenSyncingPersistentStoreCoordinator:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"managedObjectContextsToReloadAfterSyncingPersistentStoreCoordinator:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"nextAnchorForEntityName:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didApplyChange:toManagedObject:inSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didCancelSyncSession:error:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didCommitChanges:inSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didFinishSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didPullChangesInSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:didPushChangesInSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:willApplyChange:toManagedObject:inSyncSession:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:willDeleteRecordWithIdentifier:inSyncSession:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:willPullChangesInSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:willPushChangesInSyncSession:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinator:willPushRecord:forManagedObject:inSyncSession:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"persistentStoreCoordinatorShouldStartSyncing:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"preferredSyncModeForEntityName", {"retval": {"type": "i"}}) - r( - b"NSObject", - b"preferredSyncModeForEntityName:", - {"required": True, "retval": {"type": b"I"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"recordsForEntityName:moreComing:error:", - { - "required": True, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "^Z", "type_modifier": b"o"}, - 4: {"type": "^@", "type_modifier": b"o"}, - }, - }, - ) - r(b"NSObject", b"schemaBundleURLs", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"sessionBeginTimeout", - {"required": False, "retval": {"type": b"d"}}, - ) - r( - b"NSObject", - b"sessionDriver:didNegotiateAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:didPullAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:didPushAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:didReceiveSyncAlertAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:didRegisterClientAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:willFinishSessionAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:willNegotiateAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:willPullAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriver:willPushAndReturnError:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "^@", "type_modifier": b"o"}}, - }, - ) - r( - b"NSObject", - b"sessionDriverDidCancelSession:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"sessionDriverDidFinishSession:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"sessionDriverWillCancelSession:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"sessionPullChangesTimeout", - {"required": False, "retval": {"type": b"d"}}, - ) - r( - b"NSObject", - b"shouldApplyRecord:withRecordIdentifier:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"supportedEntityNames", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSPersistentStoreCoordinator", - b"syncWithClient:inBackground:handler:error:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 5: {"type": "^@", "type_modifier": b"o"}}, - }, - ) -finally: - objc._updatingMetadata(False) -protocols = { - "ISyncSessionDriverDelegate": objc.informal_protocol( - "ISyncSessionDriverDelegate", - [ - objc.selector( - None, - b"sessionDriver:willPullAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:willPushAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:didRegisterClientAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:willFinishSessionAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:willNegotiateAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:didPullAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, b"sessionDriverDidFinishSession:", b"v@:@", isRequired=False - ), - objc.selector( - None, - b"sessionDriver:didNegotiateAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:didPushAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, - b"sessionDriver:didReceiveSyncAlertAndReturnError:", - b"Z@:@^@", - isRequired=False, - ), - objc.selector( - None, b"sessionDriverWillCancelSession:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"sessionDriverDidCancelSession:", b"v@:@", isRequired=False - ), - ], - ), - "ISyncSessionDriverDataSourceOptionalMethods": objc.informal_protocol( - "ISyncSessionDriverDataSourceOptionalMethods", - [ - objc.selector(None, b"entityNamesToSync", b"@@:", isRequired=False), - objc.selector(None, b"entityNamesToPull", b"@@:", isRequired=False), - objc.selector(None, b"sessionBeginTimeout", b"d@:", isRequired=False), - objc.selector(None, b"sessionPullChangesTimeout", b"d@:", isRequired=False), - objc.selector(None, b"lastAnchorForEntityName:", b"@@:@", isRequired=False), - objc.selector(None, b"nextAnchorForEntityName:", b"@@:@", isRequired=False), - objc.selector( - None, - b"changedRecordsForEntityName:moreComing:error:", - b"@@:@^Z^@", - isRequired=False, - ), - objc.selector( - None, - b"changesForEntityName:moreComing:error:", - b"@@:@^Z^@", - isRequired=False, - ), - objc.selector( - None, - b"identifiersForRecordsToDeleteForEntityName:moreComing:error:", - b"@@:@^Z^@", - isRequired=False, - ), - ], - ), - "SyncUIHelperInformalProtocol": objc.informal_protocol( - "SyncUIHelperInformalProtocol", - [ - objc.selector( - None, - b"attributedStringForIdentityPropertiesWithNames:inRecord:comparisonRecords:firstLineAttributes:secondLineAttributes:", - b"@@:@@@@@", - isRequired=False, - ), - objc.selector( - None, - b"attributedStringForPropertiesWithNames:inRecord:comparisonRecords:defaultAttributes:", - b"@@:@@@@", - isRequired=False, - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/SystemConfiguration/__init__.py b/src/lib/SystemConfiguration/__init__.py deleted file mode 100644 index cf487eb..0000000 --- a/src/lib/SystemConfiguration/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Python mapping for the SystemConfiguration framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from SystemConfiguration import _metadata - -sys.modules["SystemConfiguration"] = mod = objc.ObjCLazyModule( - "SystemConfiguration", - "com.apple.SystemConfiguration", - objc.pathForFramework("/System/Library/Frameworks/SystemConfiguration.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - "objc": objc, - }, - (Foundation,), -) - - -del sys.modules["SystemConfiguration._metadata"] - - -import SystemConfiguration._manual as m # isort:skip # noqa: E402 - -for nm in dir(m): - setattr(mod, nm, getattr(m, nm)) - -mod.SCBondInterfaceRef = mod.SCNetworkInterfaceRef -mod.SCVLANInterfaceRef = mod.SCNetworkInterfaceRef diff --git a/src/lib/SystemConfiguration/_metadata.py b/src/lib/SystemConfiguration/_metadata.py deleted file mode 100644 index 6320916..0000000 --- a/src/lib/SystemConfiguration/_metadata.py +++ /dev/null @@ -1,984 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:26:02 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$kCFErrorDomainSystemConfiguration$kCNNetworkInfoKeyBSSID$kCNNetworkInfoKeySSID$kCNNetworkInfoKeySSIDData$kSCBondStatusDeviceAggregationStatus$kSCBondStatusDeviceCollecting$kSCBondStatusDeviceDistributing$kSCCompAnyRegex$kSCCompGlobal$kSCCompHostNames$kSCCompInterface$kSCCompNetwork$kSCCompService$kSCCompSystem$kSCCompUsers$kSCDynamicStoreDomainFile$kSCDynamicStoreDomainPlugin$kSCDynamicStoreDomainPrefs$kSCDynamicStoreDomainSetup$kSCDynamicStoreDomainState$kSCDynamicStorePropNetInterfaces$kSCDynamicStorePropNetPrimaryInterface$kSCDynamicStorePropNetPrimaryService$kSCDynamicStorePropNetServiceIDs$kSCDynamicStorePropSetupCurrentSet$kSCDynamicStorePropSetupLastUpdated$kSCDynamicStoreUseSessionKeys$kSCEntNet6to4$kSCEntNetAirPort$kSCEntNetAppleTalk$kSCEntNetDHCP$kSCEntNetDNS$kSCEntNetEthernet$kSCEntNetFireWire$kSCEntNetIPSec$kSCEntNetIPv4$kSCEntNetIPv6$kSCEntNetInterface$kSCEntNetL2TP$kSCEntNetLink$kSCEntNetModem$kSCEntNetNetInfo$kSCEntNetPPP$kSCEntNetPPPSerial$kSCEntNetPPPoE$kSCEntNetPPTP$kSCEntNetProxies$kSCEntNetSMB$kSCEntUsersConsoleUser$kSCNetworkInterfaceIPv4@=^{__SCNetworkInterface=}$kSCNetworkInterfaceType6to4$kSCNetworkInterfaceTypeBluetooth$kSCNetworkInterfaceTypeBond$kSCNetworkInterfaceTypeEthernet$kSCNetworkInterfaceTypeFireWire$kSCNetworkInterfaceTypeIEEE80211$kSCNetworkInterfaceTypeIPSec$kSCNetworkInterfaceTypeIPv4$kSCNetworkInterfaceTypeIrDA$kSCNetworkInterfaceTypeL2TP$kSCNetworkInterfaceTypeModem$kSCNetworkInterfaceTypePPP$kSCNetworkInterfaceTypePPTP$kSCNetworkInterfaceTypeSerial$kSCNetworkInterfaceTypeVLAN$kSCNetworkInterfaceTypeWWAN$kSCNetworkProtocolTypeAppleTalk$kSCNetworkProtocolTypeDNS$kSCNetworkProtocolTypeIPv4$kSCNetworkProtocolTypeIPv6$kSCNetworkProtocolTypeProxies$kSCNetworkProtocolTypeSMB$kSCPrefCurrentSet$kSCPrefNetworkServices$kSCPrefSets$kSCPrefSystem$kSCPropInterfaceName$kSCPropMACAddress$kSCPropNet6to4Relay$kSCPropNetAirPortAllowNetCreation$kSCPropNetAirPortAuthPassword$kSCPropNetAirPortAuthPasswordEncryption$kSCPropNetAirPortJoinMode$kSCPropNetAirPortPowerEnabled$kSCPropNetAirPortPreferredNetwork$kSCPropNetAirPortSavePasswords$kSCPropNetAppleTalkComputerName$kSCPropNetAppleTalkComputerNameEncoding$kSCPropNetAppleTalkConfigMethod$kSCPropNetAppleTalkDefaultZone$kSCPropNetAppleTalkNetworkID$kSCPropNetAppleTalkNetworkRange$kSCPropNetAppleTalkNodeID$kSCPropNetAppleTalkSeedNetworkRange$kSCPropNetAppleTalkSeedZones$kSCPropNetDNSDomainName$kSCPropNetDNSOptions$kSCPropNetDNSSearchDomains$kSCPropNetDNSSearchOrder$kSCPropNetDNSServerAddresses$kSCPropNetDNSServerPort$kSCPropNetDNSServerTimeout$kSCPropNetDNSSortList$kSCPropNetDNSSupplementalMatchDomains$kSCPropNetDNSSupplementalMatchOrders$kSCPropNetEthernetMTU$kSCPropNetEthernetMediaOptions$kSCPropNetEthernetMediaSubType$kSCPropNetIPSecAuthenticationMethod$kSCPropNetIPSecConnectTime$kSCPropNetIPSecLocalCertificate$kSCPropNetIPSecLocalIdentifier$kSCPropNetIPSecLocalIdentifierType$kSCPropNetIPSecRemoteAddress$kSCPropNetIPSecSharedSecret$kSCPropNetIPSecSharedSecretEncryption$kSCPropNetIPSecStatus$kSCPropNetIPSecXAuthEnabled$kSCPropNetIPSecXAuthName$kSCPropNetIPSecXAuthPassword$kSCPropNetIPSecXAuthPasswordEncryption$kSCPropNetIPv4Addresses$kSCPropNetIPv4BroadcastAddresses$kSCPropNetIPv4ConfigMethod$kSCPropNetIPv4DHCPClientID$kSCPropNetIPv4DestAddresses$kSCPropNetIPv4Router$kSCPropNetIPv4SubnetMasks$kSCPropNetIPv6Addresses$kSCPropNetIPv6ConfigMethod$kSCPropNetIPv6DestAddresses$kSCPropNetIPv6Flags$kSCPropNetIPv6PrefixLength$kSCPropNetIPv6Router$kSCPropNetInterfaceDeviceName$kSCPropNetInterfaceHardware$kSCPropNetInterfaceSubType$kSCPropNetInterfaceSupportsModemOnHold$kSCPropNetInterfaceType$kSCPropNetInterfaces$kSCPropNetL2TPIPSecSharedSecret$kSCPropNetL2TPIPSecSharedSecretEncryption$kSCPropNetL2TPTransport$kSCPropNetLinkActive$kSCPropNetLinkDetaching$kSCPropNetLocalHostName$kSCPropNetModemAccessPointName$kSCPropNetModemConnectSpeed$kSCPropNetModemConnectionPersonality$kSCPropNetModemConnectionScript$kSCPropNetModemDataCompression$kSCPropNetModemDeviceContextID$kSCPropNetModemDeviceModel$kSCPropNetModemDeviceVendor$kSCPropNetModemDialMode$kSCPropNetModemErrorCorrection$kSCPropNetModemHoldCallWaitingAudibleAlert$kSCPropNetModemHoldDisconnectOnAnswer$kSCPropNetModemHoldEnabled$kSCPropNetModemHoldReminder$kSCPropNetModemHoldReminderTime$kSCPropNetModemNote$kSCPropNetModemPulseDial$kSCPropNetModemSpeaker$kSCPropNetModemSpeed$kSCPropNetNetInfoBindingMethods$kSCPropNetNetInfoBroadcastServerTag$kSCPropNetNetInfoServerAddresses$kSCPropNetNetInfoServerTags$kSCPropNetOverridePrimary$kSCPropNetPPPACSPEnabled$kSCPropNetPPPAuthEAPPlugins$kSCPropNetPPPAuthName$kSCPropNetPPPAuthPassword$kSCPropNetPPPAuthPasswordEncryption$kSCPropNetPPPAuthPrompt$kSCPropNetPPPAuthProtocol$kSCPropNetPPPCCPEnabled$kSCPropNetPPPCCPMPPE128Enabled$kSCPropNetPPPCCPMPPE40Enabled$kSCPropNetPPPCommAlternateRemoteAddress$kSCPropNetPPPCommConnectDelay$kSCPropNetPPPCommDisplayTerminalWindow$kSCPropNetPPPCommRedialCount$kSCPropNetPPPCommRedialEnabled$kSCPropNetPPPCommRedialInterval$kSCPropNetPPPCommRemoteAddress$kSCPropNetPPPCommTerminalScript$kSCPropNetPPPCommUseTerminalScript$kSCPropNetPPPConnectTime$kSCPropNetPPPDeviceLastCause$kSCPropNetPPPDialOnDemand$kSCPropNetPPPDisconnectOnFastUserSwitch$kSCPropNetPPPDisconnectOnIdle$kSCPropNetPPPDisconnectOnIdleTimer$kSCPropNetPPPDisconnectOnLogout$kSCPropNetPPPDisconnectOnSleep$kSCPropNetPPPDisconnectTime$kSCPropNetPPPIPCPCompressionVJ$kSCPropNetPPPIPCPUsePeerDNS$kSCPropNetPPPIdleReminder$kSCPropNetPPPIdleReminderTimer$kSCPropNetPPPLCPCompressionACField$kSCPropNetPPPLCPCompressionPField$kSCPropNetPPPLCPEchoEnabled$kSCPropNetPPPLCPEchoFailure$kSCPropNetPPPLCPEchoInterval$kSCPropNetPPPLCPMRU$kSCPropNetPPPLCPMTU$kSCPropNetPPPLCPReceiveACCM$kSCPropNetPPPLCPTransmitACCM$kSCPropNetPPPLastCause$kSCPropNetPPPLogfile$kSCPropNetPPPOverridePrimary$kSCPropNetPPPPlugins$kSCPropNetPPPRetryConnectTime$kSCPropNetPPPSessionTimer$kSCPropNetPPPStatus$kSCPropNetPPPUseSessionTimer$kSCPropNetPPPVerboseLogging$kSCPropNetProxiesExceptionsList$kSCPropNetProxiesExcludeSimpleHostnames$kSCPropNetProxiesFTPEnable$kSCPropNetProxiesFTPPassive$kSCPropNetProxiesFTPPort$kSCPropNetProxiesFTPProxy$kSCPropNetProxiesGopherEnable$kSCPropNetProxiesGopherPort$kSCPropNetProxiesGopherProxy$kSCPropNetProxiesHTTPEnable$kSCPropNetProxiesHTTPPort$kSCPropNetProxiesHTTPProxy$kSCPropNetProxiesHTTPSEnable$kSCPropNetProxiesHTTPSPort$kSCPropNetProxiesHTTPSProxy$kSCPropNetProxiesProxyAutoConfigEnable$kSCPropNetProxiesProxyAutoConfigJavaScript$kSCPropNetProxiesProxyAutoConfigURLString$kSCPropNetProxiesProxyAutoDiscoveryEnable$kSCPropNetProxiesRTSPEnable$kSCPropNetProxiesRTSPPort$kSCPropNetProxiesRTSPProxy$kSCPropNetProxiesSOCKSEnable$kSCPropNetProxiesSOCKSPort$kSCPropNetProxiesSOCKSProxy$kSCPropNetSMBNetBIOSName$kSCPropNetSMBNetBIOSNodeType$kSCPropNetSMBNetBIOSScope$kSCPropNetSMBWINSAddresses$kSCPropNetSMBWorkgroup$kSCPropNetServiceOrder$kSCPropSystemComputerName$kSCPropSystemComputerNameEncoding$kSCPropUserDefinedName$kSCPropUsersConsoleUserGID$kSCPropUsersConsoleUserName$kSCPropUsersConsoleUserUID$kSCPropVersion$kSCResvInactive$kSCResvLink$kSCValNetAirPortAuthPasswordEncryptionKeychain$kSCValNetAirPortJoinModeAutomatic$kSCValNetAirPortJoinModePreferred$kSCValNetAirPortJoinModeRanked$kSCValNetAirPortJoinModeRecent$kSCValNetAirPortJoinModeStrongest$kSCValNetAppleTalkConfigMethodNode$kSCValNetAppleTalkConfigMethodRouter$kSCValNetAppleTalkConfigMethodSeedRouter$kSCValNetIPSecAuthenticationMethodCertificate$kSCValNetIPSecAuthenticationMethodHybrid$kSCValNetIPSecAuthenticationMethodSharedSecret$kSCValNetIPSecLocalIdentifierTypeKeyID$kSCValNetIPSecSharedSecretEncryptionKeychain$kSCValNetIPSecXAuthPasswordEncryptionKeychain$kSCValNetIPSecXAuthPasswordEncryptionPrompt$kSCValNetIPv4ConfigMethodAutomatic$kSCValNetIPv4ConfigMethodBOOTP$kSCValNetIPv4ConfigMethodDHCP$kSCValNetIPv4ConfigMethodINFORM$kSCValNetIPv4ConfigMethodLinkLocal$kSCValNetIPv4ConfigMethodManual$kSCValNetIPv4ConfigMethodPPP$kSCValNetIPv6ConfigMethod6to4$kSCValNetIPv6ConfigMethodAutomatic$kSCValNetIPv6ConfigMethodLinkLocal$kSCValNetIPv6ConfigMethodManual$kSCValNetIPv6ConfigMethodRouterAdvertisement$kSCValNetInterfaceSubTypeL2TP$kSCValNetInterfaceSubTypePPPSerial$kSCValNetInterfaceSubTypePPPoE$kSCValNetInterfaceSubTypePPTP$kSCValNetInterfaceType6to4$kSCValNetInterfaceTypeEthernet$kSCValNetInterfaceTypeFireWire$kSCValNetInterfaceTypeIPSec$kSCValNetInterfaceTypePPP$kSCValNetL2TPIPSecSharedSecretEncryptionKeychain$kSCValNetL2TPTransportIP$kSCValNetL2TPTransportIPSec$kSCValNetModemDialModeIgnoreDialTone$kSCValNetModemDialModeManual$kSCValNetModemDialModeWaitForDialTone$kSCValNetNetInfoBindingMethodsBroadcast$kSCValNetNetInfoBindingMethodsDHCP$kSCValNetNetInfoBindingMethodsManual$kSCValNetNetInfoDefaultServerTag$kSCValNetPPPAuthPasswordEncryptionKeychain$kSCValNetPPPAuthPasswordEncryptionToken$kSCValNetPPPAuthPromptAfter$kSCValNetPPPAuthPromptBefore$kSCValNetPPPAuthProtocolCHAP$kSCValNetPPPAuthProtocolEAP$kSCValNetPPPAuthProtocolMSCHAP1$kSCValNetPPPAuthProtocolMSCHAP2$kSCValNetPPPAuthProtocolPAP$kSCValNetSMBNetBIOSNodeTypeBroadcast$kSCValNetSMBNetBIOSNodeTypeHybrid$kSCValNetSMBNetBIOSNodeTypeMixed$kSCValNetSMBNetBIOSNodeTypePeer$""" -enums = """$kSCBondStatusLinkInvalid@1$kSCBondStatusNoPartner@2$kSCBondStatusNotInActiveGroup@3$kSCBondStatusOK@0$kSCBondStatusUnknown@999$kSCNetworkConnectionConnected@2$kSCNetworkConnectionConnecting@1$kSCNetworkConnectionDisconnected@0$kSCNetworkConnectionDisconnecting@3$kSCNetworkConnectionInvalid@-1$kSCNetworkConnectionPPPAuthenticating@5$kSCNetworkConnectionPPPConnected@8$kSCNetworkConnectionPPPConnectingLink@2$kSCNetworkConnectionPPPDialOnTraffic@3$kSCNetworkConnectionPPPDisconnected@0$kSCNetworkConnectionPPPDisconnectingLink@10$kSCNetworkConnectionPPPHoldingLinkOff@11$kSCNetworkConnectionPPPInitializing@1$kSCNetworkConnectionPPPNegotiatingLink@4$kSCNetworkConnectionPPPNegotiatingNetwork@7$kSCNetworkConnectionPPPSuspended@12$kSCNetworkConnectionPPPTerminating@9$kSCNetworkConnectionPPPWaitingForCallBack@6$kSCNetworkConnectionPPPWaitingForRedial@13$kSCNetworkFlagsConnectionAutomatic@8$kSCNetworkFlagsConnectionRequired@4$kSCNetworkFlagsInterventionRequired@16$kSCNetworkFlagsIsDirect@131072$kSCNetworkFlagsIsLocalAddress@65536$kSCNetworkFlagsReachable@2$kSCNetworkFlagsTransientConnection@1$kSCNetworkReachabilityFlagsConnectionAutomatic@8$kSCNetworkReachabilityFlagsConnectionOnDemand@32$kSCNetworkReachabilityFlagsConnectionOnTraffic@8$kSCNetworkReachabilityFlagsConnectionRequired@4$kSCNetworkReachabilityFlagsInterventionRequired@16$kSCNetworkReachabilityFlagsIsDirect@131072$kSCNetworkReachabilityFlagsIsLocalAddress@65536$kSCNetworkReachabilityFlagsIsWWAN@262144$kSCNetworkReachabilityFlagsReachable@2$kSCNetworkReachabilityFlagsTransientConnection@1$kSCPreferencesNotificationApply@2$kSCPreferencesNotificationCommit@1$kSCStatusAccessError@1003$kSCStatusConnectionIgnore@5002$kSCStatusConnectionNoService@5001$kSCStatusFailed@1001$kSCStatusInvalidArgument@1002$kSCStatusKeyExists@1005$kSCStatusLocked@1006$kSCStatusMaxLink@3006$kSCStatusNeedLock@1007$kSCStatusNoConfigFile@3003$kSCStatusNoKey@1004$kSCStatusNoLink@3004$kSCStatusNoPrefsSession@3001$kSCStatusNoStoreServer@2002$kSCStatusNoStoreSession@2001$kSCStatusNotifierActive@2003$kSCStatusOK@0$kSCStatusPrefsBusy@3002$kSCStatusReachabilityUnknown@4001$kSCStatusStale@3005$""" -misc.update( - { - "SCPreferencesNotification": NewType("SCPreferencesNotification", int), - "SCNetworkConnectionStatus": NewType("SCNetworkConnectionStatus", int), - "SCNetworkReachabilityFlags": NewType("SCNetworkReachabilityFlags", int), - "SCNetworkConnectionPPPStatus": NewType("SCNetworkConnectionPPPStatus", int), - } -) -misc.update( - { - "kSCNetworkConnectionSelectionOptionOnDemandHostName": "OnDemandHostName", - "kSCNetworkConnectionPacketsOut": "PacketsOut", - "kSCNetworkConnectionBytesIn": "BytesIn", - "kSCNetworkConnectionPacketsIn": "PacketsIn", - "kSCNetworkConnectionErrorsIn": "ErrorsIn", - "kSCNetworkConnectionBytesOut": "BytesOut", - "kSCNetworkConnectionSelectionOptionOnDemandRetry": "OnDemandRetry", - "kSCNetworkConnectionErrorsOut": "ErrorsOut", - } -) -functions = { - "SCBondInterfaceCopyAll": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCPreferencesGetTypeID": (b"Q",), - "SCPreferencesSetValue": (b"Z^{__SCPreferences=}^{__CFString=}@",), - "SCNetworkServiceEstablishDefaultConfiguration": (b"Z^{__SCNetworkService=}",), - "SCNetworkServiceCreate": ( - b"^{__SCNetworkService=}^{__SCPreferences=}^{__SCNetworkInterface=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CNMarkPortalOnline": (b"Z^{__CFString=}",), - "SCNetworkInterfaceCreateWithInterface": ( - b"^{__SCNetworkInterface=}^{__SCNetworkInterface=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreCopyDHCPInfo": ( - b"^{__CFDictionary=}^{__SCDynamicStore=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkSetCopyServices": ( - b"^{__CFArray=}^{__SCNetworkSet=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkSetSetCurrent": (b"Z^{__SCNetworkSet=}",), - "SCDynamicStoreCopyComputerName": ( - b"^{__CFString=}^{__SCDynamicStore=}^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "SCNetworkConnectionScheduleWithRunLoop": ( - b"Z^{__SCNetworkConnection=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCDynamicStoreNotifyValue": (b"Z^{__SCDynamicStore=}^{__CFString=}",), - "SCDynamicStoreCopyLocalHostName": ( - b"^{__CFString=}^{__SCDynamicStore=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceGetInterface": ( - b"^{__SCNetworkInterface=}^{__SCNetworkInterface=}", - ), - "SCNetworkSetRemoveService": (b"Z^{__SCNetworkSet=}^{__SCNetworkService=}",), - "SCVLANInterfaceCopyAll": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkProtocolGetConfiguration": ( - b"^{__CFDictionary=}^{__SCNetworkProtocol=}", - ), - "SCDynamicStoreCreateWithOptions": ( - b"^{__SCDynamicStore=}^{__CFAllocator=}^{__CFString=}^{__CFDictionary=}^?^{?=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__SCDynamicStore=}"}, - 1: {"type": b"^{__CFArray=}"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "SCVLANInterfaceCreate": ( - b"^{__SCNetworkInterface=}^{__SCPreferences=}^{__SCNetworkInterface=}^{__CFNumber=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkServiceGetInterface": ( - b"^{__SCNetworkInterface=}^{__SCNetworkService=}", - ), - "SCDynamicStoreKeyCreateProxies": ( - b"^{__CFString=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkReachabilityScheduleWithRunLoop": ( - b"Z^{__SCNetworkReachability=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCDynamicStoreAddTemporaryValue": (b"Z^{__SCDynamicStore=}^{__CFString=}@",), - "SCNetworkConnectionStop": (b"Z^{__SCNetworkConnection=}Z",), - "SCBondInterfaceCopyAvailableMemberInterfaces": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkServiceAddProtocolType": (b"Z^{__SCNetworkService=}^{__CFString=}",), - "SCDynamicStoreCreate": ( - b"^{__SCDynamicStore=}^{__CFAllocator=}^{__CFString=}^?^{?=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__SCDynamicStore=}"}, - 1: {"type": b"^{__CFArray=}"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "SCPreferencesPathCreateUniqueChild": ( - b"^{__CFString=}^{__SCPreferences=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkServiceGetServiceID": (b"^{__CFString=}^{__SCNetworkService=}",), - "SCBondInterfaceCreate": ( - b"^{__SCNetworkInterface=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkConnectionCopyUserOptions": ( - b"^{__CFDictionary=}^{__SCNetworkConnection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkReachabilitySetDispatchQueue": (b"Z^{__SCNetworkReachability=}@",), - "SCPreferencesAddValue": (b"Z^{__SCPreferences=}^{__CFString=}@",), - "SCDynamicStoreKeyCreateHostNames": ( - b"^{__CFString=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CNMarkPortalOffline": (b"Z^{__CFString=}",), - "SCPreferencesCreate": ( - b"^{__SCPreferences=}^{__CFAllocator=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCVLANInterfaceSetOptions": (b"Z^{__SCNetworkInterface=}^{__CFDictionary=}",), - "SCDynamicStoreSetMultiple": ( - b"Z^{__SCDynamicStore=}^{__CFDictionary=}^{__CFArray=}^{__CFArray=}", - ), - "SCNetworkConnectionCopyUserPreferences": ( - b"Z^{__CFDictionary=}^^{__CFString}^^{__CFDictionary}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"already_cfretained": True, "type_modifier": "o"}, - 2: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "SCNetworkInterfaceGetBSDName": (b"^{__CFString=}^{__SCNetworkInterface=}",), - "SCNetworkInterfaceSetExtendedConfiguration": ( - b"Z^{__SCNetworkInterface=}^{__CFString=}^{__CFDictionary=}", - ), - "SCNetworkCheckReachabilityByName": ( - b"Z*^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "SCNetworkInterfaceCopyMediaSubTypes": ( - b"^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCErrorString": (b"*i",), - "DHCPClientPreferencesCopyApplicationOptions": ( - b"^C^{__CFString=}^i", - "", - { - "retval": { - "free_result": True, - "already_cfretained": True, - "c_array_length_in_arg": 1, - }, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "SCNetworkProtocolGetProtocolType": (b"^{__CFString=}^{__SCNetworkProtocol=}",), - "SCBondStatusGetTypeID": (b"Q",), - "SCPreferencesCreateWithAuthorization": ( - b"^{__SCPreferences=}^{__CFAllocator=}^{__CFString=}^{__CFString=}^{AuthorizationOpaqueRef=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondInterfaceSetLocalizedDisplayName": ( - b"Z^{__SCNetworkInterface=}^{__CFString=}", - ), - "SCDynamicStoreKeyCreateConsoleUser": ( - b"^{__CFString=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkServiceSetName": (b"Z^{__SCNetworkService=}^{__CFString=}",), - "SCDynamicStoreSetNotificationKeys": ( - b"Z^{__SCDynamicStore=}^{__CFArray=}^{__CFArray=}", - ), - "SCDynamicStoreKeyCreateNetworkInterface": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceSetMediaOptions": ( - b"Z^{__SCNetworkInterface=}^{__CFString=}^{__CFArray=}", - ), - "SCPreferencesGetValue": (b"@^{__SCPreferences=}^{__CFString=}",), - "SCNetworkInterfaceGetConfiguration": ( - b"^{__CFDictionary=}^{__SCNetworkInterface=}", - ), - "DHCPInfoGetLeaseStartTime": (b"^{__CFDate=}^{__CFDictionary=}",), - "SCNetworkInterfaceGetExtendedConfiguration": ( - b"^{__CFDictionary=}^{__SCNetworkInterface=}^{__CFString=}", - ), - "SCVLANInterfaceGetPhysicalInterface": ( - b"^{__SCNetworkInterface=}^{__SCNetworkInterface=}", - ), - "SCNetworkConnectionCopyServiceID": ( - b"^{__CFString=}^{__SCNetworkConnection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreGetTypeID": (b"Q",), - "SCNetworkSetCopy": ( - b"^{__SCNetworkSet=}^{__SCPreferences=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondStatusGetMemberInterfaces": (b"^{__CFArray=}^{__SCBondStatus=}",), - "SCNetworkProtocolSetEnabled": (b"Z^{__SCNetworkProtocol=}Z",), - "SCNetworkConnectionUnscheduleFromRunLoop": ( - b"Z^{__SCNetworkConnection=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCPreferencesSynchronize": (b"v^{__SCPreferences=}",), - "SCPreferencesSetComputerName": (b"Z^{__SCPreferences=}^{__CFString=}I",), - "SCVLANInterfaceRemove": (b"Z^{__SCNetworkInterface=}",), - "SCDynamicStoreKeyCreateNetworkInterfaceEntity": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreCopyConsoleUser": ( - b"^{__CFString=}^{__SCDynamicStore=}^I^I", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "o"}, 2: {"type_modifier": "o"}}, - }, - ), - "SCVLANInterfaceCopyAvailablePhysicalInterfaces": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkConnectionCreateWithServiceID": ( - b"^{__SCNetworkConnection=}^{__CFAllocator=}^{__CFString=}^?^{?=q^v^?^?^?}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__SCNetworkConnection=}"}, - 1: {"type": b"i"}, - 2: {"type": b"^v"}, - }, - } - } - }, - }, - ), - "SCNetworkServiceGetTypeID": (b"Q",), - "SCCopyLastError": (b"^{__CFError=}", "", {"retval": {"already_cfretained": True}}), - "SCNetworkServiceRemoveProtocolType": (b"Z^{__SCNetworkService=}^{__CFString=}",), - "SCDynamicStoreKeyCreateComputerName": ( - b"^{__CFString=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCPreferencesUnscheduleFromRunLoop": ( - b"Z^{__SCPreferences=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCNetworkReachabilityCreateWithName": ( - b"^{__SCNetworkReachability=}^{__CFAllocator=}*", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondInterfaceRemove": (b"Z^{__SCNetworkInterface=}",), - "SCNetworkCheckReachabilityByAddress": ( - b"Z^{sockaddr=CC[14c]}I^I", - "", - {"arguments": {0: {"type_modifier": "n"}, 2: {"type_modifier": "o"}}}, - ), - "SCNetworkSetContainsInterface": (b"Z^{__SCNetworkSet=}^{__SCNetworkInterface=}",), - "SCNetworkServiceRemove": (b"Z^{__SCNetworkService=}",), - "SCPreferencesApplyChanges": (b"Z^{__SCPreferences=}",), - "CNCopySupportedInterfaces": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondInterfaceGetMemberInterfaces": (b"^{__CFArray=}^{__SCNetworkInterface=}",), - "SCPreferencesPathGetLink": (b"^{__CFString=}^{__SCPreferences=}^{__CFString=}",), - "SCPreferencesPathSetLink": (b"Z^{__SCPreferences=}^{__CFString=}^{__CFString=}",), - "SCNetworkInterfaceGetHardwareAddressString": ( - b"^{__CFString=}^{__SCNetworkInterface=}", - ), - "SCNetworkSetGetTypeID": (b"Q",), - "SCNetworkReachabilityUnscheduleFromRunLoop": ( - b"Z^{__SCNetworkReachability=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCNetworkServiceSetEnabled": (b"Z^{__SCNetworkService=}Z",), - "SCPreferencesSetDispatchQueue": (b"Z^{__SCPreferences=}@",), - "SCNetworkReachabilityGetTypeID": (b"Q",), - "SCDynamicStoreAddValue": (b"Z^{__SCDynamicStore=}^{__CFString=}@",), - "SCNetworkServiceGetEnabled": (b"Z^{__SCNetworkService=}",), - "SCNetworkSetAddService": (b"Z^{__SCNetworkSet=}^{__SCNetworkService=}",), - "SCNetworkConnectionGetTypeID": (b"Q",), - "SCDynamicStoreCopyValue": ( - b"@^{__SCDynamicStore=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondInterfaceSetMemberInterfaces": (b"Z^{__SCNetworkInterface=}^{__CFArray=}",), - "DHCPInfoGetOptionData": (b"^{__CFData=}^{__CFDictionary=}C",), - "SCDynamicStoreCopyMultiple": ( - b"^{__CFDictionary=}^{__SCDynamicStore=}^{__CFArray=}^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondStatusGetInterfaceStatus": ( - b"^{__CFDictionary=}^{__SCBondStatus=}^{__SCNetworkInterface=}", - ), - "SCNetworkConnectionCopyExtendedStatus": ( - b"^{__CFDictionary=}^{__SCNetworkConnection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkProtocolGetTypeID": (b"Q",), - "SCNetworkSetGetName": (b"^{__CFString=}^{__SCNetworkSet=}",), - "SCPreferencesSetCallback": ( - b"Z^{__SCPreferences=}^?^{?=q^v^?^?^?}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__SCPreferences=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "SCNetworkInterfaceGetSupportedProtocolTypes": ( - b"^{__CFArray=}^{__SCNetworkInterface=}", - ), - "SCNetworkServiceCopyProtocol": ( - b"^{__SCNetworkProtocol=}^{__SCNetworkService=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreRemoveValue": (b"Z^{__SCDynamicStore=}^{__CFString=}",), - "SCVLANInterfaceGetTag": (b"^{__CFNumber=}^{__SCNetworkInterface=}",), - "SCNetworkServiceCopy": ( - b"^{__SCNetworkService=}^{__SCPreferences=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreCopyKeyList": ( - b"^{__CFArray=}^{__SCDynamicStore=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceGetLocalizedDisplayName": ( - b"^{__CFString=}^{__SCNetworkInterface=}", - ), - "SCDynamicStoreCopyNotifiedKeys": ( - b"^{__CFArray=}^{__SCDynamicStore=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceCopyMediaSubTypeOptions": ( - b"^{__CFArray=}^{__CFArray=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "DHCPInfoGetLeaseExpirationTime": (b"^{__CFDate=}^{__CFDictionary=}",), - "SCVLANInterfaceSetLocalizedDisplayName": ( - b"Z^{__SCNetworkInterface=}^{__CFString=}", - ), - "SCVLANInterfaceSetPhysicalInterfaceAndTag": ( - b"Z^{__SCNetworkInterface=}^{__SCNetworkInterface=}^{__CFNumber=}", - ), - "SCNetworkProtocolSetConfiguration": ( - b"Z^{__SCNetworkProtocol=}^{__CFDictionary=}", - ), - "SCBondInterfaceGetOptions": (b"^{__CFDictionary=}^{__SCNetworkInterface=}",), - "SCBondInterfaceCopyStatus": ( - b"^{__SCBondStatus=}^{__SCNetworkInterface=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceGetTypeID": (b"Q",), - "CNCopyCurrentNetworkInfo": ( - b"^{__CFDictionary=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "CNSetSupportedSSIDs": (b"Z^{__CFArray=}",), - "SCNetworkConnectionCopyStatistics": ( - b"^{__CFDictionary=}^{__SCNetworkConnection=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreKeyCreate": ( - b"^{__CFString=}^{__CFAllocator=}@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"printf_format": True}}, - "variadic": True, - }, - ), - "SCPreferencesCommitChanges": (b"Z^{__SCPreferences=}",), - "SCNetworkSetSetServiceOrder": (b"Z^{__SCNetworkSet=}^{__CFArray=}",), - "SCPreferencesLock": (b"Z^{__SCPreferences=}Z",), - "SCNetworkSetCopyAll": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceRefreshConfiguration": (b"Z^{__CFString=}",), - "SCNetworkSetSetName": (b"Z^{__SCNetworkSet=}^{__CFString=}",), - "SCPreferencesPathRemoveValue": (b"Z^{__SCPreferences=}^{__CFString=}",), - "SCDynamicStoreCopyProxies": ( - b"^{__CFDictionary=}^{__SCDynamicStore=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkServiceGetName": (b"^{__CFString=}^{__SCNetworkService=}",), - "SCNetworkServiceCopyAll": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceSetMTU": (b"Z^{__SCNetworkInterface=}i",), - "DHCPClientPreferencesSetApplicationOptions": ( - b"Z^{__CFString=}^Cq", - "", - {"arguments": {1: {"c_array_length_in_arg": 2, "type_modifier": "n"}}}, - ), - "SCDynamicStoreKeyCreateNetworkGlobalEntity": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkSetCopyCurrent": ( - b"^{__SCNetworkSet=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkInterfaceCopyAll": ( - b"^{__CFArray=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCPreferencesRemoveValue": (b"Z^{__SCPreferences=}^{__CFString=}",), - "SCPreferencesPathGetValue": ( - b"^{__CFDictionary=}^{__SCPreferences=}^{__CFString=}", - ), - "SCDynamicStoreSetValue": (b"Z^{__SCDynamicStore=}^{__CFString=}@",), - "SCNetworkConnectionGetStatus": (b"i^{__SCNetworkConnection=}",), - "SCNetworkServiceCopyProtocols": ( - b"^{__CFArray=}^{__SCNetworkService=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreCopyLocation": ( - b"^{__CFString=}^{__SCDynamicStore=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkReachabilityCreateWithAddress": ( - b"^{__SCNetworkReachability=}^{__CFAllocator=}^{sockaddr=CC[14c]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}}, - }, - ), - "SCNetworkSetRemove": (b"Z^{__SCNetworkSet=}",), - "SCNetworkInterfaceSetConfiguration": ( - b"Z^{__SCNetworkInterface=}^{__CFDictionary=}", - ), - "SCPreferencesSetLocalHostName": (b"Z^{__SCPreferences=}^{__CFString=}",), - "SCNetworkInterfaceGetInterfaceType": (b"^{__CFString=}^{__SCNetworkInterface=}",), - "SCPreferencesGetSignature": (b"^{__CFData=}^{__SCPreferences=}",), - "SCNetworkConnectionStart": (b"Z^{__SCNetworkConnection=}^{__CFDictionary=}Z",), - "SCNetworkInterfaceCopyMTU": ( - b"Z^{__SCNetworkInterface=}^i^i^i", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - }, - }, - ), - "SCNetworkSetGetServiceOrder": (b"^{__CFArray=}^{__SCNetworkSet=}",), - "SCDynamicStoreKeyCreateLocation": ( - b"^{__CFString=}^{__CFAllocator=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCBondInterfaceSetOptions": (b"Z^{__SCNetworkInterface=}^{__CFDictionary=}",), - "SCDynamicStoreCreateRunLoopSource": ( - b"^{__CFRunLoopSource=}^{__CFAllocator=}^{__SCDynamicStore=}q", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkProtocolGetEnabled": (b"Z^{__SCNetworkProtocol=}",), - "SCNetworkSetCreate": ( - b"^{__SCNetworkSet=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkConnectionSetDispatchQueue": (b"Z^{__SCNetworkConnection=}@",), - "SCDynamicStoreKeyCreateNetworkServiceEntity": ( - b"^{__CFString=}^{__CFAllocator=}^{__CFString=}^{__CFString=}^{__CFString=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCDynamicStoreSetDispatchQueue": (b"Z^{__SCDynamicStore=}@",), - "SCNetworkReachabilitySetCallback": ( - b"Z^{__SCNetworkReachability=}^?^{?=q^v^?^?^?}", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^{__SCNetworkReachability=}"}, - 1: {"type": b"I"}, - 2: {"type": b"^v"}, - }, - } - } - } - }, - ), - "SCNetworkInterfaceGetSupportedInterfaceTypes": ( - b"^{__CFArray=}^{__SCNetworkInterface=}", - ), - "SCPreferencesCopyKeyList": ( - b"^{__CFArray=}^{__SCPreferences=}", - "", - {"retval": {"already_cfretained": True}}, - ), - "SCNetworkReachabilityCreateWithAddressPair": ( - b"^{__SCNetworkReachability=}^{__CFAllocator=}^{sockaddr=CC[14c]}^{sockaddr=CC[14c]}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}, - }, - ), - "SCNetworkInterfaceForceConfigurationRefresh": (b"Z^{__SCNetworkInterface=}",), - "SCNetworkSetGetSetID": (b"^{__CFString=}^{__SCNetworkSet=}",), - "SCNetworkInterfaceCopyMediaOptions": ( - b"Z^{__SCNetworkInterface=}^^{__CFDictionary}^^{__CFDictionary}^^{__CFArray}Z", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 1: {"type_modifier": "o"}, - 2: {"type_modifier": "o"}, - 3: {"type_modifier": "o"}, - }, - }, - ), - "SCPreferencesScheduleWithRunLoop": ( - b"Z^{__SCPreferences=}^{__CFRunLoop=}^{__CFString=}", - ), - "SCVLANInterfaceGetOptions": (b"^{__CFDictionary=}^{__SCNetworkInterface=}",), - "SCNetworkReachabilityGetFlags": ( - b"Z^{__SCNetworkReachability=}^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "SCPreferencesPathSetValue": ( - b"Z^{__SCPreferences=}^{__CFString=}^{__CFDictionary=}", - ), - "SCPreferencesUnlock": (b"Z^{__SCPreferences=}",), - "SCError": (b"i",), -} -aliases = { - "kSCPropNetDNSSearchOrder": "kSCPropNetDNSSearchOrder", - "kSCPropNetPPPAuthEAPPlugins": "kSCPropNetPPPAuthEAPPlugins", - "kSCPropNet6to4Relay": "kSCPropNet6to4Relay", - "kSCPropUserDefinedName": "kSCPropUserDefinedName", - "kSCPropNetProxiesSOCKSProxy": "kSCPropNetProxiesSOCKSProxy", - "kSCValNetIPSecSharedSecretEncryptionKeychain": "kSCValNetIPSecSharedSecretEncryptionKeychain", - "kSCPropNetPPPDisconnectOnFastUserSwitch": "kSCPropNetPPPDisconnectOnFastUserSwitch", - "kSCPropNetEthernetMediaSubType": "kSCPropNetEthernetMediaSubType", - "kSCPropNetPPPCommDisplayTerminalWindow": "kSCPropNetPPPCommDisplayTerminalWindow", - "kSCPropNetModemConnectionScript": "kSCPropNetModemConnectionScript", - "kSCValNetPPPAuthPromptAfter": "kSCValNetPPPAuthPromptAfter", - "kSCPropNetIPSecRemoteAddress": "kSCPropNetIPSecRemoteAddress", - "kSCPropNetProxiesGopherEnable": "kSCPropNetProxiesGopherEnable", - "kSCPropNetIPv4DHCPClientID": "kSCPropNetIPv4DHCPClientID", - "kSCPrefSets": "kSCPrefSets", - "kSCValNetIPSecLocalIdentifierTypeKeyID": "kSCValNetIPSecLocalIdentifierTypeKeyID", - "kSCValNetIPSecAuthenticationMethodHybrid": "kSCValNetIPSecAuthenticationMethodHybrid", - "kSCPropNetModemDeviceContextID": "kSCPropNetModemDeviceContextID", - "kSCValNetIPv6ConfigMethodManual": "kSCValNetIPv6ConfigMethodManual", - "kSCPropNetPPPIdleReminderTimer": "kSCPropNetPPPIdleReminderTimer", - "kSCPropNetModemAccessPointName": "kSCPropNetModemAccessPointName", - "kSCPropNetModemConnectSpeed": "kSCPropNetModemConnectSpeed", - "kSCPropNetDNSSupplementalMatchDomains": "kSCPropNetDNSSupplementalMatchDomains", - "kSCPropNetPPPLCPEchoEnabled": "kSCPropNetPPPLCPEchoEnabled", - "kSCPropNetProxiesExceptionsList": "kSCPropNetProxiesExceptionsList", - "kSCPropNetProxiesGopherProxy": "kSCPropNetProxiesGopherProxy", - "kSCDynamicStoreDomainPlugin": "kSCDynamicStoreDomainPlugin", - "kSCResvLink": "kSCResvLink", - "kSCPropNetPPPOverridePrimary": "kSCPropNetPPPOverridePrimary", - "kSCValNetIPSecXAuthPasswordEncryptionKeychain": "kSCValNetIPSecXAuthPasswordEncryptionKeychain", - "kSCValNetL2TPTransportIP": "kSCValNetL2TPTransportIP", - "kSCPropNetIPSecLocalCertificate": "kSCPropNetIPSecLocalCertificate", - "kSCEntUsersConsoleUser": "kSCEntUsersConsoleUser", - "kSCPropNetIPv4ConfigMethod": "kSCPropNetIPv4ConfigMethod", - "kSCPropNetProxiesProxyAutoConfigURLString": "kSCPropNetProxiesProxyAutoConfigURLString", - "kSCPrefCurrentSet": "kSCPrefCurrentSet", - "kSCPropNetPPPDialOnDemand": "kSCPropNetPPPDialOnDemand", - "kSCPropNetIPv6ConfigMethod": "kSCPropNetIPv6ConfigMethod", - "kSCValNetIPv6ConfigMethod6to4": "kSCValNetIPv6ConfigMethod6to4", - "kSCPropNetPPPLCPCompressionPField": "kSCPropNetPPPLCPCompressionPField", - "kSCPropNetPPPRetryConnectTime": "kSCPropNetPPPRetryConnectTime", - "kSCPropNetProxiesGopherPort": "kSCPropNetProxiesGopherPort", - "kSCEntNetDHCP": "kSCEntNetDHCP", - "kSCEntNetInterface": "kSCEntNetInterface", - "kSCPropNetProxiesHTTPSEnable": "kSCPropNetProxiesHTTPSEnable", - "kSCPropNetInterfaceHardware": "kSCPropNetInterfaceHardware", - "kSCPropNetModemNote": "kSCPropNetModemNote", - "kSCPropNetAirPortAllowNetCreation": "kSCPropNetAirPortAllowNetCreation", - "kSCDynamicStorePropNetServiceIDs": "kSCDynamicStorePropNetServiceIDs", - "kSCResvInactive": "kSCResvInactive", - "kSCPropNetPPPLCPMTU": "kSCPropNetPPPLCPMTU", - "kSCPropNetEthernetMediaOptions": "kSCPropNetEthernetMediaOptions", - "kSCValNetPPPAuthPromptBefore": "kSCValNetPPPAuthPromptBefore", - "kSCPropNetInterfaceSupportsModemOnHold": "kSCPropNetInterfaceSupportsModemOnHold", - "kSCPropUsersConsoleUserUID": "kSCPropUsersConsoleUserUID", - "kSCPropNetL2TPIPSecSharedSecret": "kSCPropNetL2TPIPSecSharedSecret", - "kSCValNetIPv4ConfigMethodLinkLocal": "kSCValNetIPv4ConfigMethodLinkLocal", - "kSCPropNetProxiesHTTPEnable": "kSCPropNetProxiesHTTPEnable", - "kSCPropNetModemDeviceVendor": "kSCPropNetModemDeviceVendor", - "kSCPropNetIPv4SubnetMasks": "kSCPropNetIPv4SubnetMasks", - "kSCPropNetProxiesHTTPSPort": "kSCPropNetProxiesHTTPSPort", - "kSCPropNetPPPIdleReminder": "kSCPropNetPPPIdleReminder", - "kSCValNetAirPortJoinModeAutomatic": "kSCValNetAirPortJoinModeAutomatic", - "kSCDynamicStorePropNetPrimaryInterface": "kSCDynamicStorePropNetPrimaryInterface", - "kSCEntNetEthernet": "kSCEntNetEthernet", - "kSCPropNetIPv6Addresses": "kSCPropNetIPv6Addresses", - "kSCDynamicStoreDomainFile": "kSCDynamicStoreDomainFile", - "kSCPropNetPPPDisconnectOnLogout": "kSCPropNetPPPDisconnectOnLogout", - "kSCDynamicStorePropNetPrimaryService": "kSCDynamicStorePropNetPrimaryService", - "kSCPropNetPPPCommRedialInterval": "kSCPropNetPPPCommRedialInterval", - "kSCValNetIPSecAuthenticationMethodSharedSecret": "kSCValNetIPSecAuthenticationMethodSharedSecret", - "kSCPropNetPPPAuthProtocol": "kSCPropNetPPPAuthProtocol", - "kSCValNetIPv4ConfigMethodBOOTP": "kSCValNetIPv4ConfigMethodBOOTP", - "kSCDynamicStoreDomainState": "kSCDynamicStoreDomainState", - "kSCPropUsersConsoleUserGID": "kSCPropUsersConsoleUserGID", - "kSCPropNetInterfaceDeviceName": "kSCPropNetInterfaceDeviceName", - "kSCPropNetModemHoldEnabled": "kSCPropNetModemHoldEnabled", - "kSCEntNetFireWire": "kSCEntNetFireWire", - "kSCPrefNetworkServices": "kSCPrefNetworkServices", - "kSCValNetInterfaceTypeFireWire": "kSCValNetInterfaceTypeFireWire", - "kSCPropNetModemDialMode": "kSCPropNetModemDialMode", - "kSCValNetInterfaceTypePPP": "kSCValNetInterfaceTypePPP", - "kSCPropNetPPPLogfile": "kSCPropNetPPPLogfile", - "kSCPropNetModemSpeed": "kSCPropNetModemSpeed", - "kSCPropNetLinkActive": "kSCPropNetLinkActive", - "kSCValNetIPSecAuthenticationMethodCertificate": "kSCValNetIPSecAuthenticationMethodCertificate", - "kSCPropNetModemDeviceModel": "kSCPropNetModemDeviceModel", - "kSCPropNetIPv6Router": "kSCPropNetIPv6Router", - "kSCPropNetIPSecConnectTime": "kSCPropNetIPSecConnectTime", - "kSCPropNetEthernetMTU": "kSCPropNetEthernetMTU", - "kSCPropNetProxiesRTSPProxy": "kSCPropNetProxiesRTSPProxy", - "kSCPropNetIPSecXAuthName": "kSCPropNetIPSecXAuthName", - "kSCPropNetL2TPTransport": "kSCPropNetL2TPTransport", - "kSCValNetIPv6ConfigMethodRouterAdvertisement": "kSCValNetIPv6ConfigMethodRouterAdvertisement", - "kSCPropNetDNSServerPort": "kSCPropNetDNSServerPort", - "kSCPropNetDNSSupplementalMatchOrders": "kSCPropNetDNSSupplementalMatchOrders", - "kSCPropNetSMBWorkgroup": "kSCPropNetSMBWorkgroup", - "kSCPropSystemComputerName": "kSCPropSystemComputerName", - "kSCValNetInterfaceSubTypePPPoE": "kSCValNetInterfaceSubTypePPPoE", - "kSCPropNetPPPAuthName": "kSCPropNetPPPAuthName", - "kSCDynamicStoreDomainSetup": "kSCDynamicStoreDomainSetup", - "kSCPropNetProxiesFTPProxy": "kSCPropNetProxiesFTPProxy", - "kSCPropNetPPPCCPMPPE40Enabled": "kSCPropNetPPPCCPMPPE40Enabled", - "kSCPropNetModemPulseDial": "kSCPropNetModemPulseDial", - "kSCPropNetLinkDetaching": "kSCPropNetLinkDetaching", - "kSCPropUsersConsoleUserName": "kSCPropUsersConsoleUserName", - "kSCPropNetIPv6DestAddresses": "kSCPropNetIPv6DestAddresses", - "kSCPropVersion": "kSCPropVersion", - "kSCCompNetwork": "kSCCompNetwork", - "kSCPropNetIPv6Flags": "kSCPropNetIPv6Flags", - "kSCPrefSystem": "kSCPrefSystem", - "kSCValNetIPv4ConfigMethodManual": "kSCValNetIPv4ConfigMethodManual", - "kSCValNetInterfaceSubTypePPPSerial": "kSCValNetInterfaceSubTypePPPSerial", - "kSCPropNetModemHoldDisconnectOnAnswer": "kSCPropNetModemHoldDisconnectOnAnswer", - "kSCEntNetPPP": "kSCEntNetPPP", - "kSCPropNetPPPLastCause": "kSCPropNetPPPLastCause", - "kSCPropNetAirPortAuthPasswordEncryption": "kSCPropNetAirPortAuthPasswordEncryption", - "kSCPropNetPPPCommConnectDelay": "kSCPropNetPPPCommConnectDelay", - "kSCPropNetSMBNetBIOSName": "kSCPropNetSMBNetBIOSName", - "kSCPropNetProxiesHTTPSProxy": "kSCPropNetProxiesHTTPSProxy", - "kSCPropNetProxiesProxyAutoConfigEnable": "kSCPropNetProxiesProxyAutoConfigEnable", - "kSCValNetInterfaceTypeIPSec": "kSCValNetInterfaceTypeIPSec", - "kSCPropNetIPSecLocalIdentifierType": "kSCPropNetIPSecLocalIdentifierType", - "kSCValNetInterfaceTypeEthernet": "kSCValNetInterfaceTypeEthernet", - "kSCValNetPPPAuthProtocolCHAP": "kSCValNetPPPAuthProtocolCHAP", - "kSCPropNetModemHoldCallWaitingAudibleAlert": "kSCPropNetModemHoldCallWaitingAudibleAlert", - "kSCPropNetPPPAuthPasswordEncryption": "kSCPropNetPPPAuthPasswordEncryption", - "kSCValNetInterfaceSubTypeL2TP": "kSCValNetInterfaceSubTypeL2TP", - "kSCDynamicStorePropNetInterfaces": "kSCDynamicStorePropNetInterfaces", - "kSCPropNetIPv6PrefixLength": "kSCPropNetIPv6PrefixLength", - "kSCValNetInterfaceSubTypePPTP": "kSCValNetInterfaceSubTypePPTP", - "kSCPropNetPPPCommAlternateRemoteAddress": "kSCPropNetPPPCommAlternateRemoteAddress", - "kSCPropNetIPSecXAuthEnabled": "kSCPropNetIPSecXAuthEnabled", - "kSCPropNetSMBWINSAddresses": "kSCPropNetSMBWINSAddresses", - "kSCPropNetPPPPlugins": "kSCPropNetPPPPlugins", - "kSCDynamicStorePropSetupCurrentSet": "kSCDynamicStorePropSetupCurrentSet", - "kSCPropNetInterfaceType": "kSCPropNetInterfaceType", - "kSCPropNetModemSpeaker": "kSCPropNetModemSpeaker", - "kSCPropNetPPPCCPEnabled": "kSCPropNetPPPCCPEnabled", - "kSCPropNetPPPDisconnectOnSleep": "kSCPropNetPPPDisconnectOnSleep", - "kSCPropNetProxiesExcludeSimpleHostnames": "kSCPropNetProxiesExcludeSimpleHostnames", - "kSCEntNetLink": "kSCEntNetLink", - "kSCPropNetPPPLCPEchoFailure": "kSCPropNetPPPLCPEchoFailure", - "kSCPropNetAirPortAuthPassword": "kSCPropNetAirPortAuthPassword", - "kSCPropNetIPv4BroadcastAddresses": "kSCPropNetIPv4BroadcastAddresses", - "kSCValNetSMBNetBIOSNodeTypeBroadcast": "kSCValNetSMBNetBIOSNodeTypeBroadcast", - "kSCEntNetModem": "kSCEntNetModem", - "kSCPropNetIPSecStatus": "kSCPropNetIPSecStatus", - "kSCPropNetPPPCommRedialCount": "kSCPropNetPPPCommRedialCount", - "kSCPropNetSMBNetBIOSNodeType": "kSCPropNetSMBNetBIOSNodeType", - "kSCValNetIPSecXAuthPasswordEncryptionPrompt": "kSCValNetIPSecXAuthPasswordEncryptionPrompt", - "kSCCompGlobal": "kSCCompGlobal", - "kSCPropNetProxiesHTTPPort": "kSCPropNetProxiesHTTPPort", - "kSCPropSystemComputerNameEncoding": "kSCPropSystemComputerNameEncoding", - "kSCPropNetModemErrorCorrection": "kSCPropNetModemErrorCorrection", - "kSCPropNetProxiesSOCKSEnable": "kSCPropNetProxiesSOCKSEnable", - "kSCValNetSMBNetBIOSNodeTypeHybrid": "kSCValNetSMBNetBIOSNodeTypeHybrid", - "kSCPropNetPPPDisconnectOnIdle": "kSCPropNetPPPDisconnectOnIdle", - "kSCValNetAirPortJoinModeStrongest": "kSCValNetAirPortJoinModeStrongest", - "kSCPropNetPPPDisconnectOnIdleTimer": "kSCPropNetPPPDisconnectOnIdleTimer", - "kSCPropNetIPSecSharedSecretEncryption": "kSCPropNetIPSecSharedSecretEncryption", - "kSCEntNetAirPort": "kSCEntNetAirPort", - "kSCEntNetProxies": "kSCEntNetProxies", - "kSCValNetPPPAuthProtocolEAP": "kSCValNetPPPAuthProtocolEAP", - "kSCValNetIPv4ConfigMethodPPP": "kSCValNetIPv4ConfigMethodPPP", - "kSCPropNetPPPSessionTimer": "kSCPropNetPPPSessionTimer", - "kSCValNetIPv6ConfigMethodAutomatic": "kSCValNetIPv6ConfigMethodAutomatic", - "kSCPropNetPPPLCPReceiveACCM": "kSCPropNetPPPLCPReceiveACCM", - "kSCValNetModemDialModeWaitForDialTone": "kSCValNetModemDialModeWaitForDialTone", - "kSCValNetL2TPTransportIPSec": "kSCValNetL2TPTransportIPSec", - "kSCPropNetProxiesProxyAutoDiscoveryEnable": "kSCPropNetProxiesProxyAutoDiscoveryEnable", - "kSCPropNetProxiesRTSPPort": "kSCPropNetProxiesRTSPPort", - "kSCPropNetDNSServerTimeout": "kSCPropNetDNSServerTimeout", - "kSCNetworkReachabilityFlagsConnectionAutomatic": "kSCNetworkReachabilityFlagsConnectionOnTraffic", - "kSCPropNetPPPLCPEchoInterval": "kSCPropNetPPPLCPEchoInterval", - "SCVLANInterfaceRef": "SCNetworkInterfaceRef", - "kSCValNetInterfaceType6to4": "kSCValNetInterfaceType6to4", - "kSCPropNetPPPCommRedialEnabled": "kSCPropNetPPPCommRedialEnabled", - "kSCValNetL2TPIPSecSharedSecretEncryptionKeychain": "kSCValNetL2TPIPSecSharedSecretEncryptionKeychain", - "kSCEntNetL2TP": "kSCEntNetL2TP", - "kSCPropNetPPPDisconnectTime": "kSCPropNetPPPDisconnectTime", - "kSCEntNetSMB": "kSCEntNetSMB", - "kSCPropNetPPPConnectTime": "kSCPropNetPPPConnectTime", - "kSCValNetModemDialModeIgnoreDialTone": "kSCValNetModemDialModeIgnoreDialTone", - "kSCPropNetDNSOptions": "kSCPropNetDNSOptions", - "kSCPropNetProxiesFTPPort": "kSCPropNetProxiesFTPPort", - "kSCCompInterface": "kSCCompInterface", - "kSCValNetIPv4ConfigMethodINFORM": "kSCValNetIPv4ConfigMethodINFORM", - "kSCCompService": "kSCCompService", - "kSCEntNetPPPoE": "kSCEntNetPPPoE", - "kSCPropNetIPv4Addresses": "kSCPropNetIPv4Addresses", - "kSCPropNetPPPLCPCompressionACField": "kSCPropNetPPPLCPCompressionACField", - "kSCPropNetIPSecLocalIdentifier": "kSCPropNetIPSecLocalIdentifier", - "kSCPropNetProxiesFTPEnable": "kSCPropNetProxiesFTPEnable", - "kSCPropNetDNSDomainName": "kSCPropNetDNSDomainName", - "kSCValNetSMBNetBIOSNodeTypeMixed": "kSCValNetSMBNetBIOSNodeTypeMixed", - "kSCEntNet6to4": "kSCEntNet6to4", - "kSCValNetPPPAuthProtocolPAP": "kSCValNetPPPAuthProtocolPAP", - "kSCValNetPPPAuthPasswordEncryptionKeychain": "kSCValNetPPPAuthPasswordEncryptionKeychain", - "kSCValNetAirPortJoinModeRecent": "kSCValNetAirPortJoinModeRecent", - "kSCPropNetLocalHostName": "kSCPropNetLocalHostName", - "kSCValNetAirPortJoinModePreferred": "kSCValNetAirPortJoinModePreferred", - "kSCDynamicStorePropSetupLastUpdated": "kSCDynamicStorePropSetupLastUpdated", - "kSCPropNetIPv4Router": "kSCPropNetIPv4Router", - "SCBondInterfaceRef": "SCNetworkInterfaceRef", - "kSCPropNetIPSecXAuthPassword": "kSCPropNetIPSecXAuthPassword", - "kSCPropNetDNSSearchDomains": "kSCPropNetDNSSearchDomains", - "kSCPropNetAirPortPreferredNetwork": "kSCPropNetAirPortPreferredNetwork", - "kSCPropNetDNSServerAddresses": "kSCPropNetDNSServerAddresses", - "kSCPropNetL2TPIPSecSharedSecretEncryption": "kSCPropNetL2TPIPSecSharedSecretEncryption", - "kSCPropNetIPv4DestAddresses": "kSCPropNetIPv4DestAddresses", - "kSCEntNetDNS": "kSCEntNetDNS", - "kSCPropNetProxiesProxyAutoConfigJavaScript": "kSCPropNetProxiesProxyAutoConfigJavaScript", - "kSCPropNetPPPIPCPCompressionVJ": "kSCPropNetPPPIPCPCompressionVJ", - "kSCCompHostNames": "kSCCompHostNames", - "kSCPropNetAirPortSavePasswords": "kSCPropNetAirPortSavePasswords", - "kSCCompAnyRegex": "kSCCompAnyRegex", - "kSCValNetAirPortAuthPasswordEncryptionKeychain": "kSCValNetAirPortAuthPasswordEncryptionKeychain", - "kSCCompSystem": "kSCCompSystem", - "kSCPropNetIPSecAuthenticationMethod": "kSCPropNetIPSecAuthenticationMethod", - "kSCCompUsers": "kSCCompUsers", - "kSCPropNetPPPVerboseLogging": "kSCPropNetPPPVerboseLogging", - "kSCDynamicStoreDomainPrefs": "kSCDynamicStoreDomainPrefs", - "kSCValNetPPPAuthProtocolMSCHAP2": "kSCValNetPPPAuthProtocolMSCHAP2", - "kSCPropNetAirPortPowerEnabled": "kSCPropNetAirPortPowerEnabled", - "kSCPropNetInterfaceSubType": "kSCPropNetInterfaceSubType", - "kSCPropNetIPSecXAuthPasswordEncryption": "kSCPropNetIPSecXAuthPasswordEncryption", - "kSCValNetSMBNetBIOSNodeTypePeer": "kSCValNetSMBNetBIOSNodeTypePeer", - "kSCPropNetProxiesSOCKSPort": "kSCPropNetProxiesSOCKSPort", - "kSCValNetPPPAuthProtocolMSCHAP1": "kSCValNetPPPAuthProtocolMSCHAP1", - "kSCPropNetSMBNetBIOSScope": "kSCPropNetSMBNetBIOSScope", - "kSCEntNetPPPSerial": "kSCEntNetPPPSerial", - "kSCPropNetPPPCCPMPPE128Enabled": "kSCPropNetPPPCCPMPPE128Enabled", - "kSCValNetModemDialModeManual": "kSCValNetModemDialModeManual", - "kSCPropNetPPPLCPTransmitACCM": "kSCPropNetPPPLCPTransmitACCM", - "kSCPropMACAddress": "kSCPropMACAddress", - "kSCPropNetServiceOrder": "kSCPropNetServiceOrder", - "kSCPropNetPPPCommTerminalScript": "kSCPropNetPPPCommTerminalScript", - "kSCValNetAirPortJoinModeRanked": "kSCValNetAirPortJoinModeRanked", - "kSCPropNetModemHoldReminder": "kSCPropNetModemHoldReminder", - "kSCValNetIPv4ConfigMethodDHCP": "kSCValNetIPv4ConfigMethodDHCP", - "kSCPropNetPPPUseSessionTimer": "kSCPropNetPPPUseSessionTimer", - "kSCPropNetIPSecSharedSecret": "kSCPropNetIPSecSharedSecret", - "kSCPropNetModemDataCompression": "kSCPropNetModemDataCompression", - "kSCPropInterfaceName": "kSCPropInterfaceName", - "kSCPropNetPPPCommRemoteAddress": "kSCPropNetPPPCommRemoteAddress", - "kSCPropNetDNSSortList": "kSCPropNetDNSSortList", - "kSCPropNetAirPortJoinMode": "kSCPropNetAirPortJoinMode", - "kSCEntNetIPSec": "kSCEntNetIPSec", - "kSCEntNetPPTP": "kSCEntNetPPTP", - "kSCPropNetPPPAuthPassword": "kSCPropNetPPPAuthPassword", - "kSCPropNetProxiesHTTPProxy": "kSCPropNetProxiesHTTPProxy", - "kSCPropNetModemConnectionPersonality": "kSCPropNetModemConnectionPersonality", - "kSCPropNetPPPAuthPrompt": "kSCPropNetPPPAuthPrompt", - "kSCPropNetPPPACSPEnabled": "kSCPropNetPPPACSPEnabled", - "kSCPropNetProxiesRTSPEnable": "kSCPropNetProxiesRTSPEnable", - "kSCPropNetInterfaces": "kSCPropNetInterfaces", - "kSCPropNetProxiesFTPPassive": "kSCPropNetProxiesFTPPassive", - "kSCValNetPPPAuthPasswordEncryptionToken": "kSCValNetPPPAuthPasswordEncryptionToken", - "kSCValNetIPv4ConfigMethodAutomatic": "kSCValNetIPv4ConfigMethodAutomatic", - "kSCPropNetPPPDeviceLastCause": "kSCPropNetPPPDeviceLastCause", - "kSCEntNetIPv4": "kSCEntNetIPv4", - "kSCPropNetOverridePrimary": "kSCPropNetOverridePrimary", - "kSCEntNetIPv6": "kSCEntNetIPv6", - "kSCPropNetPPPIPCPUsePeerDNS": "kSCPropNetPPPIPCPUsePeerDNS", - "kSCPropNetPPPStatus": "kSCPropNetPPPStatus", - "kSCPropNetPPPCommUseTerminalScript": "kSCPropNetPPPCommUseTerminalScript", - "kSCPropNetModemHoldReminderTime": "kSCPropNetModemHoldReminderTime", - "kSCPropNetPPPLCPMRU": "kSCPropNetPPPLCPMRU", - "kSCValNetIPv6ConfigMethodLinkLocal": "kSCValNetIPv6ConfigMethodLinkLocal", -} -cftypes = [ - ("SCBondStatusRef", b"^{__SCBondStatus=}", "SCBondStatusGetTypeID", None), - ("SCDynamicStoreRef", b"^{__SCDynamicStore=}", "SCDynamicStoreGetTypeID", None), - ( - "SCNetworkConnectionRef", - b"^{__SCNetworkConnection=}", - "SCNetworkConnectionGetTypeID", - None, - ), - ( - "SCNetworkInterfaceRef", - b"^{__SCNetworkInterface=}", - "SCNetworkInterfaceGetTypeID", - None, - ), - ( - "SCNetworkProtocolRef", - b"^{__SCNetworkProtocol=}", - "SCNetworkProtocolGetTypeID", - None, - ), - ( - "SCNetworkReachabilityRef", - b"^{__SCNetworkReachability=}", - "SCNetworkReachabilityGetTypeID", - None, - ), - ( - "SCNetworkServiceRef", - b"^{__SCNetworkService=}", - "SCNetworkServiceGetTypeID", - None, - ), - ("SCNetworkSetRef", b"^{__SCNetworkSet=}", "SCNetworkSetGetTypeID", None), - ("SCPreferencesRef", b"^{__SCPreferences=}", "SCPreferencesGetTypeID", None), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/SystemExtensions/__init__.py b/src/lib/SystemExtensions/__init__.py deleted file mode 100644 index 9d60f99..0000000 --- a/src/lib/SystemExtensions/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -Python mapping for the SystemExtensions framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from SystemExtensions import _metadata, _SystemExtensions - -sys.modules["SystemExtensions"] = mod = objc.ObjCLazyModule( - "SystemExtensions", - "com.apple.SystemExtensions", - objc.pathForFramework("/System/Library/Frameworks/SystemExtensions.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_SystemExtensions, Foundation), -) - - -del sys.modules["SystemExtensions._metadata"] diff --git a/src/lib/SystemExtensions/_metadata.py b/src/lib/SystemExtensions/_metadata.py deleted file mode 100644 index 63fa9db..0000000 --- a/src/lib/SystemExtensions/_metadata.py +++ /dev/null @@ -1,102 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:27:46 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$NSSystemExtensionUsageDescriptionKey$OSBundleUsageDescriptionKey$OSRelatedKernelExtensionKey$OSSystemExtensionErrorDomain$""" -enums = """$OSSystemExtensionErrorAuthorizationRequired@13$OSSystemExtensionErrorCodeSignatureInvalid@8$OSSystemExtensionErrorDuplicateExtensionIdentifer@6$OSSystemExtensionErrorExtensionMissingIdentifier@5$OSSystemExtensionErrorExtensionNotFound@4$OSSystemExtensionErrorForbiddenBySystemPolicy@10$OSSystemExtensionErrorMissingEntitlement@2$OSSystemExtensionErrorRequestCanceled@11$OSSystemExtensionErrorRequestSuperseded@12$OSSystemExtensionErrorUnknown@1$OSSystemExtensionErrorUnknownExtensionCategory@7$OSSystemExtensionErrorUnsupportedParentBundleLocation@3$OSSystemExtensionErrorValidationFailed@9$OSSystemExtensionReplacementActionCancel@0$OSSystemExtensionReplacementActionReplace@1$OSSystemExtensionRequestCompleted@0$OSSystemExtensionRequestWillCompleteAfterReboot@1$""" -misc.update( - { - "OSSystemExtensionRequestResult": NewType( - "OSSystemExtensionRequestResult", int - ), - "OSSystemExtensionReplacementAction": NewType( - "OSSystemExtensionReplacementAction", int - ), - "OSSystemExtensionErrorCode": NewType("OSSystemExtensionErrorCode", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"request:actionForReplacingExtension:withExtension:", - { - "required": True, - "retval": {"type": b"q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"request:didFailWithError:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"request:didFinishWithResult:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"q"}}, - }, - ) - r( - b"NSObject", - b"request:foundProperties:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"requestNeedsUserApproval:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"OSSystemExtensionProperties", - b"isAwaitingUserApproval", - {"retval": {"type": "Z"}}, - ) - r(b"OSSystemExtensionProperties", b"isEnabled", {"retval": {"type": "Z"}}) - r(b"OSSystemExtensionProperties", b"isUninstalling", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/UniformTypeIdentifiers/__init__.py b/src/lib/UniformTypeIdentifiers/__init__.py deleted file mode 100644 index b9f73a3..0000000 --- a/src/lib/UniformTypeIdentifiers/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the UniformTypeIdentifiers framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from UniformTypeIdentifiers import _metadata - -sys.modules["UniformTypeIdentifiers"] = mod = objc.ObjCLazyModule( - "UniformTypeIdentifiers", - "com.apple.UniformTypeIdentifiers", - objc.pathForFramework( - "/System/Library/Frameworks/UniformTypeIdentifiers.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["UniformTypeIdentifiers._metadata"] diff --git a/src/lib/UniformTypeIdentifiers/_metadata.py b/src/lib/UniformTypeIdentifiers/_metadata.py deleted file mode 100644 index af89fcb..0000000 --- a/src/lib/UniformTypeIdentifiers/_metadata.py +++ /dev/null @@ -1,54 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:28:02 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$UTTagClassFilenameExtension$UTTagClassMIMEType$UTType3DContent$UTTypeAIFF$UTTypeARReferenceObject$UTTypeAVI$UTTypeAliasFile$UTTypeAppleArchive$UTTypeAppleProtectedMPEG4Audio$UTTypeAppleProtectedMPEG4Video$UTTypeAppleScript$UTTypeApplication$UTTypeApplicationBundle$UTTypeApplicationExtension$UTTypeArchive$UTTypeAssemblyLanguageSource$UTTypeAudio$UTTypeAudiovisualContent$UTTypeBMP$UTTypeBZ2$UTTypeBinaryPropertyList$UTTypeBookmark$UTTypeBundle$UTTypeCHeader$UTTypeCPlusPlusHeader$UTTypeCPlusPlusSource$UTTypeCSource$UTTypeCalendarEvent$UTTypeCommaSeparatedText$UTTypeCompositeContent$UTTypeContact$UTTypeContent$UTTypeData$UTTypeDatabase$UTTypeDelimitedText$UTTypeDirectory$UTTypeDiskImage$UTTypeEPUB$UTTypeEXE$UTTypeEmailMessage$UTTypeExecutable$UTTypeFileURL$UTTypeFlatRTFD$UTTypeFolder$UTTypeFont$UTTypeFramework$UTTypeGIF$UTTypeGZIP$UTTypeHEIC$UTTypeHEIF$UTTypeHTML$UTTypeICNS$UTTypeICO$UTTypeImage$UTTypeInternetLocation$UTTypeInternetShortcut$UTTypeItem$UTTypeJPEG$UTTypeJSON$UTTypeJavaScript$UTTypeLivePhoto$UTTypeLog$UTTypeM3UPlaylist$UTTypeMIDI$UTTypeMP3$UTTypeMPEG$UTTypeMPEG2TransportStream$UTTypeMPEG2Video$UTTypeMPEG4Audio$UTTypeMPEG4Movie$UTTypeMakefile$UTTypeMessage$UTTypeMountPoint$UTTypeMovie$UTTypeOSAScript$UTTypeOSAScriptBundle$UTTypeObjectiveCPlusPlusSource$UTTypeObjectiveCSource$UTTypePDF$UTTypePHPScript$UTTypePKCS12$UTTypePNG$UTTypePackage$UTTypePerlScript$UTTypePlainText$UTTypePlaylist$UTTypePluginBundle$UTTypePresentation$UTTypePropertyList$UTTypePythonScript$UTTypeQuickLookGenerator$UTTypeQuickTimeMovie$UTTypeRAWImage$UTTypeRTF$UTTypeRTFD$UTTypeRealityFile$UTTypeResolvable$UTTypeRubyScript$UTTypeSVG$UTTypeSceneKitScene$UTTypeScript$UTTypeShellScript$UTTypeSourceCode$UTTypeSpotlightImporter$UTTypeSpreadsheet$UTTypeSwiftSource$UTTypeSymbolicLink$UTTypeSystemPreferencesPane$UTTypeTIFF$UTTypeTabSeparatedText$UTTypeText$UTTypeToDoItem$UTTypeURL$UTTypeURLBookmarkData$UTTypeUSD$UTTypeUSDZ$UTTypeUTF16ExternalPlainText$UTTypeUTF16PlainText$UTTypeUTF8PlainText$UTTypeUTF8TabSeparatedText$UTTypeUnixExecutable$UTTypeVCard$UTTypeVideo$UTTypeVolume$UTTypeWAV$UTTypeWebArchive$UTTypeWebP$UTTypeX509Certificate$UTTypeXML$UTTypeXMLPropertyList$UTTypeXPCService$UTTypeYAML$UTTypeZIP$""" -enums = """$$""" -misc.update({}) -misc.update({}) -aliases = {"UT_AVAILABLE_END": "API_AVAILABLE_END"} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"UTType", b"conformsToType:", {"retval": {"type": b"Z"}}) - r(b"UTType", b"isDeclared", {"retval": {"type": b"Z"}}) - r(b"UTType", b"isDynamic", {"retval": {"type": b"Z"}}) - r(b"UTType", b"isPublicType", {"retval": {"type": b"Z"}}) - r(b"UTType", b"isSubtypeOfType:", {"retval": {"type": b"Z"}}) - r(b"UTType", b"isSupertypeOfType:", {"retval": {"type": b"Z"}}) - r(b"null", b"conformsToType:", {"retval": {"type": b"Z"}}) - r(b"null", b"isSubtypeOfType:", {"retval": {"type": b"Z"}}) - r(b"null", b"isSupertypeOfType:", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/UserNotifications/__init__.py b/src/lib/UserNotifications/__init__.py deleted file mode 100644 index 1916601..0000000 --- a/src/lib/UserNotifications/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the UserNotifications framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from UserNotifications import _metadata -from UserNotifications import _UserNotifications - -sys.modules["UserNotifications"] = mod = objc.ObjCLazyModule( - "UserNotifications", - "com.apple.UserNotifications", - objc.pathForFramework("/System/Library/Frameworks/UserNotifications.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_UserNotifications, Foundation), -) - - -del sys.modules["UserNotifications._metadata"] diff --git a/src/lib/UserNotifications/_metadata.py b/src/lib/UserNotifications/_metadata.py deleted file mode 100644 index feed510..0000000 --- a/src/lib/UserNotifications/_metadata.py +++ /dev/null @@ -1,241 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:28:13 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$UNErrorDomain$UNNotificationAttachmentOptionsThumbnailClippingRectKey$UNNotificationAttachmentOptionsThumbnailHiddenKey$UNNotificationAttachmentOptionsThumbnailTimeKey$UNNotificationAttachmentOptionsTypeHintKey$UNNotificationDefaultActionIdentifier$UNNotificationDismissActionIdentifier$UNNotificationInterruptionReasonAccountSecurity$UNNotificationInterruptionReasonApprovalRequest$UNNotificationInterruptionReasonHealthAndWellness$UNNotificationInterruptionReasonHomeSecurity$UNNotificationInterruptionReasonLocalSafety$UNNotificationInterruptionReasonOrderPickup$UNNotificationInterruptionReasonPackageDelivery$UNNotificationInterruptionReasonSchedule$UNNotificationInterruptionReasonTimeExpired$UNNotificationInterruptionReasonTransportationDeparting$UNNotificationInterruptionReasonUrgentMessage$""" -enums = """$UNAlertStyleAlert@2$UNAlertStyleBanner@1$UNAlertStyleNone@0$UNAuthorizationOptionAlert@4$UNAuthorizationOptionAnnouncement@128$UNAuthorizationOptionBadge@1$UNAuthorizationOptionCarPlay@8$UNAuthorizationOptionCriticalAlert@16$UNAuthorizationOptionNone@0$UNAuthorizationOptionProvidesAppNotificationSettings@32$UNAuthorizationOptionProvisional@64$UNAuthorizationOptionSound@2$UNAuthorizationOptionTimeSensitive@256$UNAuthorizationStatusAuthorized@2$UNAuthorizationStatusDenied@1$UNAuthorizationStatusEphemeral@4$UNAuthorizationStatusNotDetermined@0$UNAuthorizationStatusProvisional@3$UNErrorCodeAttachmentCorrupt@105$UNErrorCodeAttachmentInvalidFileSize@102$UNErrorCodeAttachmentInvalidURL@100$UNErrorCodeAttachmentMoveIntoDataStoreFailed@104$UNErrorCodeAttachmentNotInDataStore@103$UNErrorCodeAttachmentUnrecognizedType@101$UNErrorCodeContentProvidingInvalid@1501$UNErrorCodeContentProvidingObjectNotAllowed@1500$UNErrorCodeNotificationInvalidNoContent@1401$UNErrorCodeNotificationInvalidNoDate@1400$UNErrorCodeNotificationsNotAllowed@1$UNNotificationActionOptionAuthenticationRequired@1$UNNotificationActionOptionDestructive@2$UNNotificationActionOptionForeground@4$UNNotificationActionOptionNone@0$UNNotificationCategoryOptionAllowAnnouncement@16$UNNotificationCategoryOptionAllowInCarPlay@2$UNNotificationCategoryOptionCustomDismissAction@1$UNNotificationCategoryOptionHiddenPreviewsShowSubtitle@8$UNNotificationCategoryOptionHiddenPreviewsShowTitle@4$UNNotificationCategoryOptionNone@0$UNNotificationGroupingSettingDefault@0$UNNotificationGroupingSettingOff@2$UNNotificationGroupingSettingSource@1$UNNotificationInterruptionLevelActive@1$UNNotificationInterruptionLevelCritical@3$UNNotificationInterruptionLevelPassive@0$UNNotificationInterruptionLevelTimeSensitive@2$UNNotificationPresentationOptionAlert@4$UNNotificationPresentationOptionBadge@1$UNNotificationPresentationOptionBanner@16$UNNotificationPresentationOptionList@8$UNNotificationPresentationOptionNone@0$UNNotificationPresentationOptionSound@2$UNNotificationSettingDisabled@1$UNNotificationSettingEnabled@2$UNNotificationSettingNotSupported@0$UNShowPreviewsSettingAlways@0$UNShowPreviewsSettingNever@2$UNShowPreviewsSettingWhenAuthenticated@1$""" -misc.update( - { - "UNNotificationCategoryOptions": NewType("UNNotificationCategoryOptions", int), - "UNAlertStyle": NewType("UNAlertStyle", int), - "UNNotificationInterruptionLevel": NewType( - "UNNotificationInterruptionLevel", int - ), - "UNAuthorizationOptions": NewType("UNAuthorizationOptions", int), - "UNNotificationActionOptions": NewType("UNNotificationActionOptions", int), - "UNShowPreviewsSetting": NewType("UNShowPreviewsSetting", int), - "UNAuthorizationStatus": NewType("UNAuthorizationStatus", int), - "UNNotificationSetting": NewType("UNNotificationSetting", int), - "UNErrorCode": NewType("UNErrorCode", int), - "UNNotificationPresentationOptions": NewType( - "UNNotificationPresentationOptions", int - ), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"userNotificationCenter:openSettingsForNotification:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"userNotificationCenter:willPresentNotification:withCompletionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Q"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"UNCalendarNotificationTrigger", - b"triggerWithDateMatchingComponents:repeats:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"UNLocationNotificationTrigger", - b"triggerWithRegion:repeats:", - {"arguments": {3: {"type": "Z"}}}, - ) - r( - b"UNNotificationAttachment", - b"attachmentWithIdentifier:URL:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"UNNotificationServiceExtension", - b"didReceiveNotificationRequest:withContentHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNNotificationSettings", - b"providesAppNotificationSettings", - {"retval": {"type": "Z"}}, - ) - r(b"UNNotificationTrigger", b"repeats", {"retval": {"type": "Z"}}) - r( - b"UNTimeIntervalNotificationTrigger", - b"triggerWithTimeInterval:repeats:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r( - b"UNUserNotificationCenter", - b"addNotificationRequest:withCompletionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"getDeliveredNotificationsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"getNotificationCategoriesWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"getNotificationSettingsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"getPendingNotificationRequestsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"requestAuthorizationWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"Z"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"UNUserNotificationCenter", - b"supportsContentExtensions", - {"retval": {"type": "Z"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/UserNotificationsUI/__init__.py b/src/lib/UserNotificationsUI/__init__.py deleted file mode 100644 index d966483..0000000 --- a/src/lib/UserNotificationsUI/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Python mapping for the UserNotificationsUI framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Cocoa -import UserNotifications -import objc -from UserNotificationsUI import _metadata - -sys.modules["UserNotificationsUI"] = mod = objc.ObjCLazyModule( - "UserNotificationsUI", - "com.apple.UserNotificationsUI", - objc.pathForFramework("/System/Library/Frameworks/UserNotificationsUI.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (UserNotifications, Cocoa), -) - - -del sys.modules["UserNotificationsUI._metadata"] diff --git a/src/lib/UserNotificationsUI/_metadata.py b/src/lib/UserNotificationsUI/_metadata.py deleted file mode 100644 index fbc5745..0000000 --- a/src/lib/UserNotificationsUI/_metadata.py +++ /dev/null @@ -1,93 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:28:21 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$$""" -enums = """$UNNotificationContentExtensionMediaPlayPauseButtonTypeDefault@1$UNNotificationContentExtensionMediaPlayPauseButtonTypeNone@0$UNNotificationContentExtensionMediaPlayPauseButtonTypeOverlay@2$UNNotificationContentExtensionResponseOptionDismiss@1$UNNotificationContentExtensionResponseOptionDismissAndForwardAction@2$UNNotificationContentExtensionResponseOptionDoNotDismiss@0$""" -misc.update( - { - "UNNotificationContentExtensionMediaPlayPauseButtonType": NewType( - "UNNotificationContentExtensionMediaPlayPauseButtonType", int - ), - "UNNotificationContentExtensionResponseOption": NewType( - "UNNotificationContentExtensionResponseOption", int - ), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"didReceiveNotification:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didReceiveNotificationResponse:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Q"}}, - }, - "type": "@?", - }, - }, - }, - ) - r(b"NSObject", b"mediaPause", {"required": False, "retval": {"type": b"v"}}) - r(b"NSObject", b"mediaPlay", {"required": False, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"mediaPlayPauseButtonFrame", - {"required": False, "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}}, - ) - r( - b"NSObject", - b"mediaPlayPauseButtonTintColor", - {"required": False, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"mediaPlayPauseButtonType", - {"required": False, "retval": {"type": b"Q"}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/VideoSubscriberAccount/__init__.py b/src/lib/VideoSubscriberAccount/__init__.py deleted file mode 100644 index 04388b2..0000000 --- a/src/lib/VideoSubscriberAccount/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the VideoSubscriberAccount framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from VideoSubscriberAccount import _metadata - -sys.modules["VideoSubscriberAccount"] = mod = objc.ObjCLazyModule( - "VideoSubscriberAccount", - "com.apple.VideoSubscriberAccountFramework", - objc.pathForFramework( - "/System/Library/Frameworks/VideoSubscriberAccount.framework" - ), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["VideoSubscriberAccount._metadata"] diff --git a/src/lib/VideoSubscriberAccount/_metadata.py b/src/lib/VideoSubscriberAccount/_metadata.py deleted file mode 100644 index 9b3112d..0000000 --- a/src/lib/VideoSubscriberAccount/_metadata.py +++ /dev/null @@ -1,145 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:28:40 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$VSAccountProviderAuthenticationSchemeAPI$VSAccountProviderAuthenticationSchemeSAML$VSCheckAccessOptionPrompt$VSErrorDomain$VSErrorInfoKeyAccountProviderResponse$VSErrorInfoKeySAMLResponse$VSErrorInfoKeySAMLResponseStatus$VSErrorInfoKeyUnsupportedProviderIdentifier$VSOpenTVProviderSettingsURLString$""" -enums = """$VSAccountAccessStatusDenied@2$VSAccountAccessStatusGranted@3$VSAccountAccessStatusNotDetermined@0$VSAccountAccessStatusRestricted@1$VSErrorCodeAccessNotGranted@0$VSErrorCodeInvalidVerificationToken@5$VSErrorCodeProviderRejected@4$VSErrorCodeRejected@6$VSErrorCodeServiceTemporarilyUnavailable@3$VSErrorCodeUnsupported@7$VSErrorCodeUnsupportedProvider@1$VSErrorCodeUserCancelled@2$VSSubscriptionAccessLevelFreeWithAccount@1$VSSubscriptionAccessLevelPaid@2$VSSubscriptionAccessLevelUnknown@0$""" -misc.update( - { - "VSSubscriptionAccessLevel": NewType("VSSubscriptionAccessLevel", int), - "VSAccountAccessStatus": NewType("VSAccountAccessStatus", int), - "VSErrorCode": NewType("VSErrorCode", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"accountManager:dismissViewController:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"accountManager:presentViewController:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"accountManager:shouldAuthenticateAccountProviderWithIdentifier:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"VSAccountManager", - b"checkAccessStatusWithOptions:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VSAccountManager", - b"enqueueAccountMetadataRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"VSAccountMetadataRequest", b"forceAuthentication", {"retval": {"type": b"Z"}}) - r( - b"VSAccountMetadataRequest", - b"includeAccountProviderIdentifier", - {"retval": {"type": b"Z"}}, - ) - r( - b"VSAccountMetadataRequest", - b"includeAuthenticationExpirationDate", - {"retval": {"type": b"Z"}}, - ) - r(b"VSAccountMetadataRequest", b"isInterruptionAllowed", {"retval": {"type": b"Z"}}) - r( - b"VSAccountMetadataRequest", - b"setForceAuthentication:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"VSAccountMetadataRequest", - b"setIncludeAccountProviderIdentifier:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"VSAccountMetadataRequest", - b"setIncludeAuthenticationExpirationDate:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"VSAccountMetadataRequest", - b"setInterruptionAllowed:", - {"arguments": {2: {"type": b"Z"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/VideoToolbox/__init__.py b/src/lib/VideoToolbox/__init__.py deleted file mode 100644 index 1def74f..0000000 --- a/src/lib/VideoToolbox/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the VideoToolbox framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreMedia -import Foundation -import objc -import Quartz -import VideoToolbox._VideoToolbox -from VideoToolbox import _metadata - -sys.modules["VideoToolbox"] = mod = objc.ObjCLazyModule( - "VideoToolbox", - "com.apple.VideoToolbox", - objc.pathForFramework("/System/Library/Frameworks/VideoToolbox.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (VideoToolbox._VideoToolbox, Quartz, CoreMedia, Foundation), -) - - -del sys.modules["VideoToolbox._metadata"] diff --git a/src/lib/VideoToolbox/_metadata.py b/src/lib/VideoToolbox/_metadata.py deleted file mode 100644 index 18ddf80..0000000 --- a/src/lib/VideoToolbox/_metadata.py +++ /dev/null @@ -1,330 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:28:49 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "VTInt32Point": objc.createStructType( - "VideoToolbox.VTInt32Point", b"{VTInt32Point=ii}", ["x", "y"] - ), - "VTInt32Size": objc.createStructType( - "VideoToolbox.VTInt32Size", b"{VTInt32Size=ii}", ["width", "height"] - ), - } -) -constants = """$kVTAlphaChannelMode_PremultipliedAlpha$kVTAlphaChannelMode_StraightAlpha$kVTCompressionPropertyKey_AllowFrameReordering$kVTCompressionPropertyKey_AllowOpenGOP$kVTCompressionPropertyKey_AllowTemporalCompression$kVTCompressionPropertyKey_AlphaChannelMode$kVTCompressionPropertyKey_AspectRatio16x9$kVTCompressionPropertyKey_AverageBitRate$kVTCompressionPropertyKey_BaseLayerBitRateFraction$kVTCompressionPropertyKey_BaseLayerFrameRate$kVTCompressionPropertyKey_BaseLayerFrameRateFraction$kVTCompressionPropertyKey_CleanAperture$kVTCompressionPropertyKey_ColorPrimaries$kVTCompressionPropertyKey_ContentLightLevelInfo$kVTCompressionPropertyKey_DataRateLimits$kVTCompressionPropertyKey_Depth$kVTCompressionPropertyKey_EnableLTR$kVTCompressionPropertyKey_EncoderID$kVTCompressionPropertyKey_ExpectedDuration$kVTCompressionPropertyKey_ExpectedFrameRate$kVTCompressionPropertyKey_FieldCount$kVTCompressionPropertyKey_FieldDetail$kVTCompressionPropertyKey_GammaLevel$kVTCompressionPropertyKey_H264EntropyMode$kVTCompressionPropertyKey_HDRMetadataInsertionMode$kVTCompressionPropertyKey_ICCProfile$kVTCompressionPropertyKey_MasteringDisplayColorVolume$kVTCompressionPropertyKey_MaxAllowedFrameQP$kVTCompressionPropertyKey_MaxFrameDelayCount$kVTCompressionPropertyKey_MaxH264SliceBytes$kVTCompressionPropertyKey_MaxKeyFrameInterval$kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration$kVTCompressionPropertyKey_MaximizePowerEfficiency$kVTCompressionPropertyKey_MoreFramesAfterEnd$kVTCompressionPropertyKey_MoreFramesBeforeStart$kVTCompressionPropertyKey_MultiPassStorage$kVTCompressionPropertyKey_NumberOfPendingFrames$kVTCompressionPropertyKey_OutputBitDepth$kVTCompressionPropertyKey_PixelAspectRatio$kVTCompressionPropertyKey_PixelBufferPoolIsShared$kVTCompressionPropertyKey_PixelTransferProperties$kVTCompressionPropertyKey_PreserveDynamicHDRMetadata$kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality$kVTCompressionPropertyKey_ProfileLevel$kVTCompressionPropertyKey_ProgressiveScan$kVTCompressionPropertyKey_Quality$kVTCompressionPropertyKey_RealTime$kVTCompressionPropertyKey_SourceFrameCount$kVTCompressionPropertyKey_SupportsBaseFrameQP$kVTCompressionPropertyKey_TargetQualityForAlpha$kVTCompressionPropertyKey_TransferFunction$kVTCompressionPropertyKey_UsingGPURegistryID$kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder$kVTCompressionPropertyKey_VideoEncoderPixelBufferAttributes$kVTCompressionPropertyKey_YCbCrMatrix$kVTDecompressionPropertyKey_ContentHasInterframeDependencies$kVTDecompressionPropertyKey_DeinterlaceMode$kVTDecompressionPropertyKey_FieldMode$kVTDecompressionPropertyKey_MaxOutputPresentationTimeStampOfFramesBeingDecoded$kVTDecompressionPropertyKey_MaximizePowerEfficiency$kVTDecompressionPropertyKey_MinOutputPresentationTimeStampOfFramesBeingDecoded$kVTDecompressionPropertyKey_NumberOfFramesBeingDecoded$kVTDecompressionPropertyKey_OnlyTheseFrames$kVTDecompressionPropertyKey_OutputPoolRequestedMinimumBufferCount$kVTDecompressionPropertyKey_PixelBufferPool$kVTDecompressionPropertyKey_PixelBufferPoolIsShared$kVTDecompressionPropertyKey_PixelFormatsWithReducedResolutionSupport$kVTDecompressionPropertyKey_PixelTransferProperties$kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata$kVTDecompressionPropertyKey_RealTime$kVTDecompressionPropertyKey_ReducedCoefficientDecode$kVTDecompressionPropertyKey_ReducedFrameDelivery$kVTDecompressionPropertyKey_ReducedResolutionDecode$kVTDecompressionPropertyKey_SuggestedQualityOfServiceTiers$kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByPerformance$kVTDecompressionPropertyKey_SupportedPixelFormatsOrderedByQuality$kVTDecompressionPropertyKey_ThreadCount$kVTDecompressionPropertyKey_UsingGPURegistryID$kVTDecompressionPropertyKey_UsingHardwareAcceleratedVideoDecoder$kVTDecompressionProperty_DeinterlaceMode_Temporal$kVTDecompressionProperty_DeinterlaceMode_VerticalFilter$kVTDecompressionProperty_FieldMode_BothFields$kVTDecompressionProperty_FieldMode_BottomFieldOnly$kVTDecompressionProperty_FieldMode_DeinterlaceFields$kVTDecompressionProperty_FieldMode_SingleField$kVTDecompressionProperty_FieldMode_TopFieldOnly$kVTDecompressionProperty_OnlyTheseFrames_AllFrames$kVTDecompressionProperty_OnlyTheseFrames_IFrames$kVTDecompressionProperty_OnlyTheseFrames_KeyFrames$kVTDecompressionProperty_OnlyTheseFrames_NonDroppableFrames$kVTDecompressionProperty_TemporalLevelLimit$kVTDecompressionResolutionKey_Height$kVTDecompressionResolutionKey_Width$kVTDownsamplingMode_Average$kVTDownsamplingMode_Decimate$kVTEncodeFrameOptionKey_AcknowledgedLTRTokens$kVTEncodeFrameOptionKey_BaseFrameQP$kVTEncodeFrameOptionKey_ForceKeyFrame$kVTEncodeFrameOptionKey_ForceLTRRefresh$kVTH264EntropyMode_CABAC$kVTH264EntropyMode_CAVLC$kVTHDRMetadataInsertionMode_Auto$kVTHDRMetadataInsertionMode_None$kVTMultiPassStorageCreationOption_DoNotDelete$kVTPixelTransferPropertyKey_DestinationCleanAperture$kVTPixelTransferPropertyKey_DestinationColorPrimaries$kVTPixelTransferPropertyKey_DestinationICCProfile$kVTPixelTransferPropertyKey_DestinationPixelAspectRatio$kVTPixelTransferPropertyKey_DestinationTransferFunction$kVTPixelTransferPropertyKey_DestinationYCbCrMatrix$kVTPixelTransferPropertyKey_DownsamplingMode$kVTPixelTransferPropertyKey_RealTime$kVTPixelTransferPropertyKey_ScalingMode$kVTProfileLevel_H263_Profile0_Level10$kVTProfileLevel_H263_Profile0_Level45$kVTProfileLevel_H263_Profile3_Level45$kVTProfileLevel_H264_Baseline_1_3$kVTProfileLevel_H264_Baseline_3_0$kVTProfileLevel_H264_Baseline_3_1$kVTProfileLevel_H264_Baseline_3_2$kVTProfileLevel_H264_Baseline_4_0$kVTProfileLevel_H264_Baseline_4_1$kVTProfileLevel_H264_Baseline_4_2$kVTProfileLevel_H264_Baseline_5_0$kVTProfileLevel_H264_Baseline_5_1$kVTProfileLevel_H264_Baseline_5_2$kVTProfileLevel_H264_Baseline_AutoLevel$kVTProfileLevel_H264_ConstrainedBaseline_AutoLevel$kVTProfileLevel_H264_ConstrainedHigh_AutoLevel$kVTProfileLevel_H264_Extended_5_0$kVTProfileLevel_H264_Extended_AutoLevel$kVTProfileLevel_H264_High_3_0$kVTProfileLevel_H264_High_3_1$kVTProfileLevel_H264_High_3_2$kVTProfileLevel_H264_High_4_0$kVTProfileLevel_H264_High_4_1$kVTProfileLevel_H264_High_4_2$kVTProfileLevel_H264_High_5_0$kVTProfileLevel_H264_High_5_1$kVTProfileLevel_H264_High_5_2$kVTProfileLevel_H264_High_AutoLevel$kVTProfileLevel_H264_Main_3_0$kVTProfileLevel_H264_Main_3_1$kVTProfileLevel_H264_Main_3_2$kVTProfileLevel_H264_Main_4_0$kVTProfileLevel_H264_Main_4_1$kVTProfileLevel_H264_Main_4_2$kVTProfileLevel_H264_Main_5_0$kVTProfileLevel_H264_Main_5_1$kVTProfileLevel_H264_Main_5_2$kVTProfileLevel_H264_Main_AutoLevel$kVTProfileLevel_HEVC_Main10_AutoLevel$kVTProfileLevel_HEVC_Main42210_AutoLevel$kVTProfileLevel_HEVC_Main_AutoLevel$kVTProfileLevel_MP4V_AdvancedSimple_L0$kVTProfileLevel_MP4V_AdvancedSimple_L1$kVTProfileLevel_MP4V_AdvancedSimple_L2$kVTProfileLevel_MP4V_AdvancedSimple_L3$kVTProfileLevel_MP4V_AdvancedSimple_L4$kVTProfileLevel_MP4V_Main_L2$kVTProfileLevel_MP4V_Main_L3$kVTProfileLevel_MP4V_Main_L4$kVTProfileLevel_MP4V_Simple_L0$kVTProfileLevel_MP4V_Simple_L1$kVTProfileLevel_MP4V_Simple_L2$kVTProfileLevel_MP4V_Simple_L3$kVTPropertyDocumentationKey$kVTPropertyReadWriteStatusKey$kVTPropertyReadWriteStatus_ReadOnly$kVTPropertyReadWriteStatus_ReadWrite$kVTPropertyShouldBeSerializedKey$kVTPropertySupportedValueListKey$kVTPropertySupportedValueMaximumKey$kVTPropertySupportedValueMinimumKey$kVTPropertyTypeKey$kVTPropertyType_Boolean$kVTPropertyType_Enumeration$kVTPropertyType_Number$kVTSampleAttachmentKey_RequireLTRAcknowledgementToken$kVTScalingMode_CropSourceToCleanAperture$kVTScalingMode_Letterbox$kVTScalingMode_Normal$kVTScalingMode_Trim$kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder$kVTVideoDecoderSpecification_PreferredDecoderGPURegistryID$kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder$kVTVideoDecoderSpecification_RequiredDecoderGPURegistryID$kVTVideoEncoderListOption_IncludeStandardDefinitionDVEncoders$kVTVideoEncoderList_CodecName$kVTVideoEncoderList_CodecType$kVTVideoEncoderList_DisplayName$kVTVideoEncoderList_EncoderID$kVTVideoEncoderList_EncoderName$kVTVideoEncoderList_GPURegistryID$kVTVideoEncoderList_InstanceLimit$kVTVideoEncoderList_IsHardwareAccelerated$kVTVideoEncoderList_PerformanceRating$kVTVideoEncoderList_QualityRating$kVTVideoEncoderList_SupportedSelectionProperties$kVTVideoEncoderList_SupportsFrameReordering$kVTVideoEncoderList_SupportsMultiPass$kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder$kVTVideoEncoderSpecification_EnableLowLatencyRateControl$kVTVideoEncoderSpecification_EncoderID$kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID$kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder$kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID$""" -enums = """$kVTAllocationFailedErr@-12904$kVTColorCorrectionImageRotationFailedErr@-12219$kVTColorCorrectionPixelTransferFailedErr@-12212$kVTColorSyncTransformConvertFailedErr@-12919$kVTCompressionSessionBeginFinalPass@1$kVTCouldNotCreateColorCorrectionDataErr@-12918$kVTCouldNotCreateInstanceErr@-12907$kVTCouldNotFindTemporalFilterErr@-12217$kVTCouldNotFindVideoDecoderErr@-12906$kVTCouldNotFindVideoEncoderErr@-12908$kVTDecodeFrame_1xRealTimePlayback@4$kVTDecodeFrame_DoNotOutputFrame@2$kVTDecodeFrame_EnableAsynchronousDecompression@1$kVTDecodeFrame_EnableTemporalProcessing@8$kVTDecodeInfo_Asynchronous@1$kVTDecodeInfo_FrameDropped@2$kVTDecodeInfo_ImageBufferModifiable@4$kVTEncodeInfo_Asynchronous@1$kVTEncodeInfo_FrameDropped@2$kVTFormatDescriptionChangeNotSupportedErr@-12916$kVTFrameSiloInvalidTimeRangeErr@-12216$kVTFrameSiloInvalidTimeStampErr@-12215$kVTImageRotationNotSupportedErr@-12914$kVTInsufficientSourceColorDataErr@-12917$kVTInvalidSessionErr@-12903$kVTMultiPassStorageIdentifierMismatchErr@-12213$kVTMultiPassStorageInvalidErr@-12214$kVTParameterErr@-12902$kVTPixelTransferNotPermittedErr@-12218$kVTPixelTransferNotSupportedErr@-12905$kVTPropertyNotSupportedErr@-12900$kVTPropertyReadOnlyErr@-12901$kVTSessionMalfunctionErr@-17691$kVTUnlimitedFrameDelayCount@-1$kVTVideoDecoderAuthorizationErr@-12210$kVTVideoDecoderBadDataErr@-12909$kVTVideoDecoderCallbackMessagingErr@-17695$kVTVideoDecoderMalfunctionErr@-12911$kVTVideoDecoderNeedsRosettaErr@-17692$kVTVideoDecoderNotAvailableNowErr@-12913$kVTVideoDecoderReferenceMissingErr@-17694$kVTVideoDecoderRemovedErr@-17690$kVTVideoDecoderUnsupportedDataFormatErr@-12910$kVTVideoEncoderAuthorizationErr@-12211$kVTVideoEncoderMalfunctionErr@-12912$kVTVideoEncoderNeedsRosettaErr@-17693$kVTVideoEncoderNotAvailableNowErr@-12915$""" -misc.update( - { - "VTDecodeInfoFlags": NewType("VTDecodeInfoFlags", int), - "VTDecodeFrameFlags": NewType("VTDecodeFrameFlags", int), - "VTEncodeInfoFlags": NewType("VTEncodeInfoFlags", int), - "VTCompressionSessionOptionFlags": NewType( - "VTCompressionSessionOptionFlags", int - ), - } -) -misc.update({}) -functions = { - "VTPixelTransferSessionCreate": ( - b"i^{__CFAllocator=}^^{OpaqueVTPixelTransferSession=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTCreateCGImageFromCVPixelBuffer": ( - b"i^{__CVBuffer=}^{__CFDictionary=}^^{CGImage=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTMultiPassStorageGetTypeID": (b"Q",), - "VTDecompressionSessionFinishDelayedFrames": ( - b"i^{OpaqueVTDecompressionSession=}", - ), - "VTSessionCopySupportedPropertyDictionary": ( - b"i@^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTSessionSetProperty": (b"i@^{__CFString=}@",), - "VTPixelTransferSessionTransferImage": ( - b"i^{OpaqueVTPixelTransferSession=}^{__CVBuffer=}^{__CVBuffer=}", - ), - "VTFrameSiloGetProgressOfCurrentPass": ( - b"i^{OpaqueVTFrameSilo=}^f", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "VTMultiPassStorageClose": (b"i^{OpaqueVTMultiPassStorage=}",), - "VTIsHardwareDecodeSupported": (b"ZI",), - "VTCompressionSessionPrepareToEncodeFrames": (b"i^{OpaqueVTCompressionSession=}",), - "VTCompressionSessionInvalidate": (b"v^{OpaqueVTCompressionSession=}",), - "VTCompressionSessionCompleteFrames": ( - b"i^{OpaqueVTCompressionSession=}{_CMTime=qiIq}", - ), - "VTFrameSiloCallBlockForEachSampleBuffer": ( - b"i^{OpaqueVTFrameSilo=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "^{opaqueCMSampleBuffer=}"}, - }, - }, - "block": { - "retval": {"type": b"i"}, - "arguments": {0: {"type": b"^{opaqueCMSampleBuffer=}"}}, - }, - } - } - }, - ), - "VTSessionCopyProperty": ( - b"i@^{__CFString=}^{__CFAllocator=}^@", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {3: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTFrameSiloAddSampleBuffer": (b"i^{OpaqueVTFrameSilo=}^{opaqueCMSampleBuffer=}",), - "VTDecompressionSessionDecodeFrame": ( - b"i^{OpaqueVTDecompressionSession=}^{opaqueCMSampleBuffer=}I^v^I", - "", - {"arguments": {4: {"type_modifier": "o"}}}, - ), - "VTRegisterProfessionalVideoWorkflowVideoEncoders": (b"v",), - "VTCompressionSessionEncodeFrameWithOutputHandler": ( - b"i^{OpaqueVTCompressionSession=}^{__CVBuffer=}{_CMTime=qiIq}{_CMTime=qiIq}^{__CFDictionary=}^I@?", - "", - { - "arguments": { - 5: {"type_modifier": "o"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": ["I", "Q"]}, - 3: {"type": "^{opaqueCMSampleBuffer=}"}, - }, - } - }, - } - }, - ), - "VTPixelTransferSessionGetTypeID": (b"Q",), - "VTCompressionSessionGetTypeID": (b"Q",), - "VTCompressionSessionGetPixelBufferPool": ( - b"^{__CVPixelBufferPool=}^{OpaqueVTCompressionSession=}", - ), - "VTRegisterSupplementalVideoDecoderIfAvailable": (b"vI",), - "VTFrameSiloCallFunctionForEachSampleBuffer": ( - b"i^{OpaqueVTFrameSilo=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"i"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^{opaqueCMSampleBuffer=}"}, - }, - }, - "callable_retained": False, - } - } - }, - ), - "VTDecompressionSessionCopyBlackPixelBuffer": ( - b"i^{OpaqueVTDecompressionSession=}^^{__CVBuffer=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTDecompressionSessionCanAcceptFormatDescription": ( - b"Z^{OpaqueVTDecompressionSession=}^{opaqueCMFormatDescription=}", - ), - "VTCopyVideoEncoderList": ( - b"i^{__CFDictionary=}^^{__CFArray=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {1: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTMultiPassStorageCreate": ( - b"i^{__CFAllocator=}^{__CFURL=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^{__CFDictionary=}^^{OpaqueVTMultiPassStorage=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTDecompressionSessionGetTypeID": (b"Q",), - "VTCompressionSessionBeginPass": (b"i^{OpaqueVTCompressionSession=}I^I",), - "VTSessionSetProperties": (b"i@^{__CFDictionary=}",), - "VTDecompressionSessionWaitForAsynchronousFrames": ( - b"i^{OpaqueVTDecompressionSession=}", - ), - "VTFrameSiloSetTimeRangesForNextPass": ( - b"i^{OpaqueVTFrameSilo=}q^{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}", - "", - {"arguments": {2: {"c_array_length_in_arg": 1, "type_modifier": "n"}}}, - ), - "VTRegisterProfessionalVideoWorkflowVideoDecoders": (b"v",), - "VTPixelTransferSessionInvalidate": (b"v^{OpaqueVTPixelTransferSession=}",), - "VTDecompressionSessionDecodeFrameWithOutputHandler": ( - b"i^{OpaqueVTDecompressionSession=}^{opaqueCMSampleBuffer=}I^I@?", - "", - { - "arguments": { - 3: {"type_modifier": "o"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "i"}, - 2: {"type": "I"}, - 3: {"type": "^{__CVBuffer=}"}, - 4: {"type": "{_CMTime=qiIq}"}, - 5: {"type": "{_CMTime=qiIq}"}, - }, - } - }, - } - }, - ), - "VTCompressionSessionEndPass": ( - b"i^{OpaqueVTCompressionSession=}^Z^I", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "VTCompressionSessionEncodeFrame": ( - b"i^{OpaqueVTCompressionSession=}^{__CVBuffer=}{_CMTime=qiIq}{_CMTime=qiIq}^{__CFDictionary=}^v^I", - "", - {"arguments": {6: {"type_modifier": "o"}}}, - ), - "VTFrameSiloCreate": ( - b"i^{__CFAllocator=}^{__CFURL=}{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}^{__CFDictionary=}^^{OpaqueVTFrameSilo=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {4: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTCompressionSessionCreate": ( - b"i^{__CFAllocator=}iiI^{__CFDictionary=}^{__CFDictionary=}^{__CFAllocator=}^?^v^^{OpaqueVTCompressionSession=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 9: {"already_cfretained": True, "type_modifier": "o"}, - 7: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"^v"}, - 2: {"type": b"i"}, - 3: {"type": b"I"}, - 4: {"type": b"^{opaqueCMSampleBuffer=}"}, - }, - } - }, - }, - }, - ), - "VTCopySupportedPropertyDictionaryForEncoder": ( - b"iiiI^{__CFDictionary=}^^{__CFString=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": { - 4: {"already_cfretained": True, "type_modifier": "o"}, - 5: {"already_cfretained": True, "type_modifier": "o"}, - }, - }, - ), - "VTFrameSiloGetTypeID": (b"Q",), - "VTSessionCopySerializableProperties": ( - b"i@^{__CFAllocator=}^^{__CFDictionary=}", - "", - { - "retval": {"already_cfretained": True}, - "arguments": {2: {"already_cfretained": True, "type_modifier": "o"}}, - }, - ), - "VTDecompressionSessionInvalidate": (b"v^{OpaqueVTDecompressionSession=}",), -} -aliases = {"VT_SUPPORT_COLORSYNC_PIXEL_TRANSFER": "COREMEDIA_TRUE"} -cftypes = [ - ( - "VTPixelTransferSessionRef", - b"^{OpaqueVTPixelTransferSession=}", - ":VTPixelTransferSessionGetTypeID", - None, - ), - ( - "VTDecompressionSessionRef", - b"^{OpaqueVTDecompressionSession=}", - ":VTDecompressionSessionGetTypeID", - None, - ), - ("VTFrameSiloRef", b"^{OpaqueVTFrameSilo=}", ":VTFrameSiloGetTypeID", None), - ("VTSessionRef", b"^{OpaqueVTSession=}", ":VTSessionGetTypeID", None), - ( - "VTMultiPassStorageRef", - b"^{OpaqueVTMultiPassStorage=}", - ":VTMultiPassStorageGetTypeID", - None, - ), -] -expressions = {} - -# END OF FILE diff --git a/src/lib/Virtualization/__init__.py b/src/lib/Virtualization/__init__.py deleted file mode 100644 index 534600e..0000000 --- a/src/lib/Virtualization/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the Virtualization framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import Foundation -import objc -from Virtualization import _metadata - -from Virtualization import _Virtualization - -sys.modules["Virtualization"] = mod = objc.ObjCLazyModule( - "Virtualization", - "com.apple.Virtualization", - objc.pathForFramework("/System/Library/Frameworks/Virtualization.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Virtualization, Foundation), -) - - -del sys.modules["Virtualization._metadata"] diff --git a/src/lib/Virtualization/_metadata.py b/src/lib/Virtualization/_metadata.py deleted file mode 100644 index 8c96ec1..0000000 --- a/src/lib/Virtualization/_metadata.py +++ /dev/null @@ -1,288 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:29:05 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$VZErrorDomain$""" -enums = """$VZDiskImageCachingModeAutomatic@0$VZDiskImageCachingModeCached@2$VZDiskImageCachingModeUncached@1$VZDiskImageSynchronizationModeFsync@2$VZDiskImageSynchronizationModeFull@1$VZDiskImageSynchronizationModeNone@3$VZErrorInternal@1$VZErrorInvalidDiskImage@5$VZErrorInvalidVirtualMachineConfiguration@2$VZErrorInvalidVirtualMachineState@3$VZErrorInvalidVirtualMachineStateTransition@4$VZErrorVirtualMachineLimitExceeded@6$VZMacAuxiliaryStorageInitializationOptionAllowOverwrite@1$VZVirtualMachineStateError@3$VZVirtualMachineStatePaused@2$VZVirtualMachineStatePausing@5$VZVirtualMachineStateResuming@6$VZVirtualMachineStateRunning@1$VZVirtualMachineStateStarting@4$VZVirtualMachineStateStopped@0$VZVirtualMachineStateStopping@7$""" -misc.update( - { - "VZMacAuxiliaryStorageInitializationOptions": NewType( - "VZMacAuxiliaryStorageInitializationOptions", int - ), - "VZDiskImageSynchronizationMode": NewType( - "VZDiskImageSynchronizationMode", int - ), - "VZDiskImageCachingMode": NewType("VZDiskImageCachingMode", int), - "VZErrorCode": NewType("VZErrorCode", int), - "VZVirtualMachineState": NewType("VZVirtualMachineState", int), - } -) -misc.update({}) -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r( - b"NSObject", - b"guestDidStopVirtualMachine:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"listener:shouldAcceptNewConnection:fromSocketDevice:", - { - "required": False, - "retval": {"type": b"Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"virtualMachine:didStopWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"virtualMachine:networkDevice:attachmentWasDisconnectedWithError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"VZDiskImageStorageDeviceAttachment", - b"initWithURL:readOnly:cachingMode:synchronizationMode:error:", - {"arguments": {3: {"type": b"Z"}, 6: {"type_modifier": b"o"}}}, - ) - r( - b"VZDiskImageStorageDeviceAttachment", - b"initWithURL:readOnly:error:", - {"arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}}, - ) - r(b"VZDiskImageStorageDeviceAttachment", b"isReadOnly", {"retval": {"type": "Z"}}) - r(b"VZFileSerialPortAttachment", b"append", {"retval": {"type": b"Z"}}) - r( - b"VZFileSerialPortAttachment", - b"initWithURL:append:error:", - {"arguments": {3: {"type": b"Z"}, 4: {"type_modifier": b"o"}}}, - ) - r(b"VZMACAddress", b"isBroadcastAddress", {"retval": {"type": b"Z"}}) - r(b"VZMACAddress", b"isLocallyAdministeredAddress", {"retval": {"type": b"Z"}}) - r(b"VZMACAddress", b"isMulticastAddress", {"retval": {"type": b"Z"}}) - r(b"VZMACAddress", b"isUnicastAddress", {"retval": {"type": b"Z"}}) - r(b"VZMACAddress", b"isUniversallyAdministeredAddress", {"retval": {"type": b"Z"}}) - r( - b"VZMacAuxiliaryStorage", - b"initCreatingStorageAtURL:hardwareModel:options:error:", - {"arguments": {5: {"type_modifier": b"o"}}}, - ) - r(b"VZMacHardwareModel", b"isSupported", {"retval": {"type": b"Z"}}) - r( - b"VZMacOSInstaller", - b"installWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"VZMacOSRestoreImage", - b"fetchLatestSupportedWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VZMacOSRestoreImage", - b"loadFileURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VZMacOSRestoreImage", - b"operatingSystemVersion", - {"retval": {"type": b"{_NSOperatingSystemVersion=qqq}"}}, - ) - r( - b"VZMultipleDirectoryShare", - b"validateName:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VZSharedDirectory", - b"initWithURL:readOnly:", - {"arguments": {3: {"type": b"Z"}}}, - ) - r(b"VZSharedDirectory", b"isReadOnly", {"retval": {"type": b"Z"}}) - r( - b"VZVirtioBlockDeviceConfiguration", - b"validateBlockDeviceIdentifier:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VZVirtioFileSystemDeviceConfiguration", - b"validateTag:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VZVirtioSocketDevice", - b"connectToPort:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"VZVirtualMachine", b"canPause", {"retval": {"type": b"Z"}}) - r(b"VZVirtualMachine", b"canRequestStop", {"retval": {"type": b"Z"}}) - r(b"VZVirtualMachine", b"canResume", {"retval": {"type": b"Z"}}) - r(b"VZVirtualMachine", b"canStart", {"retval": {"type": b"Z"}}) - r(b"VZVirtualMachine", b"canStop", {"retval": {"type": b"Z"}}) - r(b"VZVirtualMachine", b"isSupported", {"retval": {"type": b"Z"}}) - r( - b"VZVirtualMachine", - b"pauseWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"VZVirtualMachine", - b"requestStopWithError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"VZVirtualMachine", - b"resumeWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"VZVirtualMachine", - b"startWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"VZVirtualMachine", - b"stopWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"VZVirtualMachineConfiguration", - b"validateWithError:", - {"retval": {"type": b"Z"}, "arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"VZVirtualMachineView", b"capturesSystemKeys", {"retval": {"type": b"Z"}}) - r( - b"VZVirtualMachineView", - b"setCapturesSystemKeys:", - {"arguments": {2: {"type": b"Z"}}}, - ) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/Vision/__init__.py b/src/lib/Vision/__init__.py deleted file mode 100644 index 12f04d8..0000000 --- a/src/lib/Vision/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Python mapping for the Vision framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" - -import sys - -import CoreML -import Foundation -import objc -import Quartz -from Vision import _metadata -from Vision import _Vision - -sys.modules["Vision"] = mod = objc.ObjCLazyModule( - "Vision", - "com.apple.Vision", - objc.pathForFramework("/System/Library/Frameworks/Vision.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_Vision, Foundation, Quartz, CoreML), -) - - -del sys.modules["Vision._metadata"] diff --git a/src/lib/Vision/_metadata.py b/src/lib/Vision/_metadata.py deleted file mode 100644 index 12bcbe7..0000000 --- a/src/lib/Vision/_metadata.py +++ /dev/null @@ -1,1183 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Tue Feb 22 09:27:40 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$VNAnimalDetectorCat$VNAnimalDetectorDog$VNAnimalIdentifierCat$VNAnimalIdentifierDog$VNBarcodeSymbologyAztec$VNBarcodeSymbologyAztec_SwiftDeprecated$VNBarcodeSymbologyCodabar$VNBarcodeSymbologyCode128$VNBarcodeSymbologyCode128_SwiftDeprecated$VNBarcodeSymbologyCode39$VNBarcodeSymbologyCode39Checksum$VNBarcodeSymbologyCode39Checksum_SwiftDeprecated$VNBarcodeSymbologyCode39FullASCII$VNBarcodeSymbologyCode39FullASCIIChecksum$VNBarcodeSymbologyCode39FullASCIIChecksum_SwiftDeprecated$VNBarcodeSymbologyCode39FullASCII_SwiftDeprecated$VNBarcodeSymbologyCode39_SwiftDeprecated$VNBarcodeSymbologyCode93$VNBarcodeSymbologyCode93_SwiftDeprecated$VNBarcodeSymbologyCode93i$VNBarcodeSymbologyCode93i_SwiftDeprecated$VNBarcodeSymbologyDataMatrix$VNBarcodeSymbologyDataMatrix_SwiftDeprecated$VNBarcodeSymbologyEAN13$VNBarcodeSymbologyEAN13_SwiftDeprecated$VNBarcodeSymbologyEAN8$VNBarcodeSymbologyEAN8_SwiftDeprecated$VNBarcodeSymbologyGS1DataBar$VNBarcodeSymbologyGS1DataBarExpanded$VNBarcodeSymbologyGS1DataBarLimited$VNBarcodeSymbologyI2of5$VNBarcodeSymbologyI2of5Checksum$VNBarcodeSymbologyI2of5Checksum_SwiftDeprecated$VNBarcodeSymbologyI2of5_SwiftDeprecated$VNBarcodeSymbologyITF14$VNBarcodeSymbologyITF14_SwiftDeprecated$VNBarcodeSymbologyMicroPDF417$VNBarcodeSymbologyMicroQR$VNBarcodeSymbologyPDF417$VNBarcodeSymbologyPDF417_SwiftDeprecated$VNBarcodeSymbologyQR$VNBarcodeSymbologyQR_SwiftDeprecated$VNBarcodeSymbologyUPCE$VNBarcodeSymbologyUPCE_SwiftDeprecated$VNBodyLandmarkKeyLeftAnkle$VNBodyLandmarkKeyLeftEar$VNBodyLandmarkKeyLeftElbow$VNBodyLandmarkKeyLeftEye$VNBodyLandmarkKeyLeftHip$VNBodyLandmarkKeyLeftKnee$VNBodyLandmarkKeyLeftShoulder$VNBodyLandmarkKeyLeftWrist$VNBodyLandmarkKeyNeck$VNBodyLandmarkKeyNose$VNBodyLandmarkKeyRightAnkle$VNBodyLandmarkKeyRightEar$VNBodyLandmarkKeyRightElbow$VNBodyLandmarkKeyRightEye$VNBodyLandmarkKeyRightHip$VNBodyLandmarkKeyRightKnee$VNBodyLandmarkKeyRightShoulder$VNBodyLandmarkKeyRightWrist$VNBodyLandmarkKeyRoot$VNBodyLandmarkRegionKeyFace$VNBodyLandmarkRegionKeyLeftArm$VNBodyLandmarkRegionKeyLeftLeg$VNBodyLandmarkRegionKeyRightArm$VNBodyLandmarkRegionKeyRightLeg$VNBodyLandmarkRegionKeyTorso$VNErrorDomain$VNHandLandmarkKeyIndexDIP$VNHandLandmarkKeyIndexMCP$VNHandLandmarkKeyIndexPIP$VNHandLandmarkKeyIndexTIP$VNHandLandmarkKeyLittleDIP$VNHandLandmarkKeyLittleMCP$VNHandLandmarkKeyLittlePIP$VNHandLandmarkKeyLittleTIP$VNHandLandmarkKeyMiddleDIP$VNHandLandmarkKeyMiddleMCP$VNHandLandmarkKeyMiddlePIP$VNHandLandmarkKeyMiddleTIP$VNHandLandmarkKeyRingDIP$VNHandLandmarkKeyRingMCP$VNHandLandmarkKeyRingPIP$VNHandLandmarkKeyRingTIP$VNHandLandmarkKeyThumbCMC$VNHandLandmarkKeyThumbIP$VNHandLandmarkKeyThumbMP$VNHandLandmarkKeyThumbTIP$VNHandLandmarkKeyWrist$VNHandLandmarkRegionKeyIndexFinger$VNHandLandmarkRegionKeyLittleFinger$VNHandLandmarkRegionKeyMiddleFinger$VNHandLandmarkRegionKeyRingFinger$VNHandLandmarkRegionKeyThumb$VNHumanBodyPoseObservationJointNameLeftAnkle$VNHumanBodyPoseObservationJointNameLeftEar$VNHumanBodyPoseObservationJointNameLeftElbow$VNHumanBodyPoseObservationJointNameLeftEye$VNHumanBodyPoseObservationJointNameLeftHip$VNHumanBodyPoseObservationJointNameLeftKnee$VNHumanBodyPoseObservationJointNameLeftShoulder$VNHumanBodyPoseObservationJointNameLeftWrist$VNHumanBodyPoseObservationJointNameNeck$VNHumanBodyPoseObservationJointNameNose$VNHumanBodyPoseObservationJointNameRightAnkle$VNHumanBodyPoseObservationJointNameRightEar$VNHumanBodyPoseObservationJointNameRightElbow$VNHumanBodyPoseObservationJointNameRightEye$VNHumanBodyPoseObservationJointNameRightHip$VNHumanBodyPoseObservationJointNameRightKnee$VNHumanBodyPoseObservationJointNameRightShoulder$VNHumanBodyPoseObservationJointNameRightWrist$VNHumanBodyPoseObservationJointNameRoot$VNHumanBodyPoseObservationJointsGroupNameAll$VNHumanBodyPoseObservationJointsGroupNameFace$VNHumanBodyPoseObservationJointsGroupNameLeftArm$VNHumanBodyPoseObservationJointsGroupNameLeftLeg$VNHumanBodyPoseObservationJointsGroupNameRightArm$VNHumanBodyPoseObservationJointsGroupNameRightLeg$VNHumanBodyPoseObservationJointsGroupNameTorso$VNHumanHandPoseObservationJointNameIndexDIP$VNHumanHandPoseObservationJointNameIndexMCP$VNHumanHandPoseObservationJointNameIndexPIP$VNHumanHandPoseObservationJointNameIndexTip$VNHumanHandPoseObservationJointNameLittleDIP$VNHumanHandPoseObservationJointNameLittleMCP$VNHumanHandPoseObservationJointNameLittlePIP$VNHumanHandPoseObservationJointNameLittleTip$VNHumanHandPoseObservationJointNameMiddleDIP$VNHumanHandPoseObservationJointNameMiddleMCP$VNHumanHandPoseObservationJointNameMiddlePIP$VNHumanHandPoseObservationJointNameMiddleTip$VNHumanHandPoseObservationJointNameRingDIP$VNHumanHandPoseObservationJointNameRingMCP$VNHumanHandPoseObservationJointNameRingPIP$VNHumanHandPoseObservationJointNameRingTip$VNHumanHandPoseObservationJointNameThumbCMC$VNHumanHandPoseObservationJointNameThumbIP$VNHumanHandPoseObservationJointNameThumbMP$VNHumanHandPoseObservationJointNameThumbTip$VNHumanHandPoseObservationJointNameWrist$VNHumanHandPoseObservationJointsGroupNameAll$VNHumanHandPoseObservationJointsGroupNameIndexFinger$VNHumanHandPoseObservationJointsGroupNameLittleFinger$VNHumanHandPoseObservationJointsGroupNameMiddleFinger$VNHumanHandPoseObservationJointsGroupNameRingFinger$VNHumanHandPoseObservationJointsGroupNameThumb$VNImageOptionCIContext$VNImageOptionCameraIntrinsics$VNImageOptionProperties$VNNormalizedIdentityRect@{CGRect={CGPoint=dd}{CGSize=dd}}$VNRecognizedPointGroupKeyAll$VNVideoProcessingOptionFrameCadence$VNVideoProcessingOptionTimeInterval$VNVisionVersionNumber@d$""" -enums = """$VNChiralityLeft@-1$VNChiralityRight@1$VNChiralityUnknown@0$VNClassifyImageRequestRevision1@1$VNCoreMLRequestRevision1@1$VNDetectAnimalRectanglesRequestRevision1@1$VNDetectBarcodesRequestRevision1@1$VNDetectBarcodesRequestRevision2@2$VNDetectContourRequestRevision1@1$VNDetectDocumentSegmentationRequestRevision1@1$VNDetectFaceCaptureQualityRequestRevision1@1$VNDetectFaceCaptureQualityRequestRevision2@2$VNDetectFaceLandmarksRequestRevision1@1$VNDetectFaceLandmarksRequestRevision2@2$VNDetectFaceLandmarksRequestRevision3@3$VNDetectFaceQualityRequestRevision1@1$VNDetectFaceRectanglesRequestRevision1@1$VNDetectFaceRectanglesRequestRevision2@2$VNDetectFaceRectanglesRequestRevision3@3$VNDetectHorizonRequestRevision1@1$VNDetectHumanBodyPoseRequestRevision1@1$VNDetectHumanHandPoseRequestRevision1@1$VNDetectHumanRectanglesRequestRevision1@1$VNDetectHumanRectanglesRequestRevision2@2$VNDetectRectanglesRequestRevision1@1$VNDetectTextRectanglesRequestRevision1@1$VNDetectTrajectoriesRequestRevision1@1$VNElementTypeDouble@2$VNElementTypeFloat@1$VNElementTypeUnknown@0$VNErrorDataUnavailable@17$VNErrorIOError@6$VNErrorInternalError@9$VNErrorInvalidArgument@14$VNErrorInvalidFormat@2$VNErrorInvalidImage@13$VNErrorInvalidModel@15$VNErrorInvalidOperation@12$VNErrorInvalidOption@5$VNErrorMissingOption@7$VNErrorNotImplemented@8$VNErrorOK@0$VNErrorOperationFailed@3$VNErrorOutOfBoundsError@4$VNErrorOutOfMemory@10$VNErrorRequestCancelled@1$VNErrorTimeStampNotFound@18$VNErrorUnknownError@11$VNErrorUnsupportedRequest@19$VNErrorUnsupportedRevision@16$VNGenerateAttentionBasedSaliencyImageRequestRevision1@1$VNGenerateImageFeaturePrintRequestRevision1@1$VNGenerateObjectnessBasedSaliencyImageRequestRevision1@1$VNGenerateOpticalFlowRequestComputationAccuracyHigh@2$VNGenerateOpticalFlowRequestComputationAccuracyLow@0$VNGenerateOpticalFlowRequestComputationAccuracyMedium@1$VNGenerateOpticalFlowRequestComputationAccuracyVeryHigh@3$VNGenerateOpticalFlowRequestRevision1@1$VNGeneratePersonSegmentationRequestQualityLevelAccurate@0$VNGeneratePersonSegmentationRequestQualityLevelBalanced@1$VNGeneratePersonSegmentationRequestQualityLevelFast@2$VNGeneratePersonSegmentationRequestRevision1@1$VNHomographicImageRegistrationRequestRevision1@1$VNImageCropAndScaleOptionCenterCrop@0$VNImageCropAndScaleOptionScaleFill@2$VNImageCropAndScaleOptionScaleFit@1$VNRecognizeAnimalsRequestRevision1@1$VNRecognizeAnimalsRequestRevision2@2$VNRecognizeTextRequestRevision1@1$VNRecognizeTextRequestRevision2@2$VNRequestFaceLandmarksConstellation65Points@1$VNRequestFaceLandmarksConstellation76Points@2$VNRequestFaceLandmarksConstellationNotDefined@0$VNRequestRevisionUnspecified@0$VNRequestTextRecognitionLevelAccurate@0$VNRequestTextRecognitionLevelFast@1$VNRequestTrackingLevelAccurate@0$VNRequestTrackingLevelFast@1$VNTrackObjectRequestRevision1@1$VNTrackObjectRequestRevision2@2$VNTrackRectangleRequestRevision1@1$VNTranslationalImageRegistrationRequestRevision1@1$""" -misc.update( - { - "VNImageCropAndScaleOption": NewType("VNImageCropAndScaleOption", int), - "VNRequestTextRecognitionLevel": NewType("VNRequestTextRecognitionLevel", int), - "VNRequestFaceLandmarksConstellation": NewType( - "VNRequestFaceLandmarksConstellation", int - ), - "VNErrorCode": NewType("VNErrorCode", int), - "VNElementType": NewType("VNElementType", int), - "VNChirality": NewType("VNChirality", int), - "VNGeneratePersonSegmentationRequestQualityLevel": NewType( - "VNGeneratePersonSegmentationRequestQualityLevel", int - ), - "VNRequestTrackingLevel": NewType("VNRequestTrackingLevel", int), - "VNGenerateOpticalFlowRequestComputationAccuracy": NewType( - "VNGenerateOpticalFlowRequestComputationAccuracy", int - ), - } -) -misc.update( - { - "VNBarcodeSymbology": NewType("VNBarcodeSymbology", str), - "VNAnimalIdentifier": NewType("VNAnimalIdentifier", str), - "VNHumanBodyPoseObservationJointName": NewType( - "VNHumanBodyPoseObservationJointName", str - ), - "VNRecognizedPointGroupKey": NewType("VNRecognizedPointGroupKey", str), - "VNHumanBodyPoseObservationJointsGroupName": NewType( - "VNHumanBodyPoseObservationJointsGroupName", str - ), - "VNImageOption": NewType("VNImageOption", str), - "VNVideoProcessingOption": NewType("VNVideoProcessingOption", str), - "VNHumanHandPoseObservationJointsGroupName": NewType( - "VNHumanHandPoseObservationJointsGroupName", str - ), - "VNHumanHandPoseObservationJointName": NewType( - "VNHumanHandPoseObservationJointName", str - ), - "VNRecognizedPointKey": NewType("VNRecognizedPointKey", str), - } -) -misc.update({}) -functions = { - "VNImageRectForNormalizedRectUsingRegionOfInterest": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}QQ{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "VNImageRectForNormalizedRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}QQ", - ), - "VNNormalizedPointForImagePoint": (b"{CGPoint=dd}{CGPoint=dd}QQ",), - "VNImagePointForNormalizedPointUsingRegionOfInterest": ( - b"{CGPoint=dd}{CGPoint=dd}QQ{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "VNNormalizedRectIsIdentityRect": (b"B{CGRect={CGPoint=dd}{CGSize=dd}}",), - "VNNormalizedRectForImageRectUsingRegionOfInterest": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}QQ{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "VNNormalizedRectForImageRect": ( - b"{CGRect={CGPoint=dd}{CGSize=dd}}{CGRect={CGPoint=dd}{CGSize=dd}}QQ", - ), - "VNImagePointForNormalizedPoint": (b"{CGPoint=dd}{CGPoint=dd}QQ",), - "VNNormalizedPointForImagePointUsingRegionOfInterest": ( - b"{CGPoint=dd}{CGPoint=dd}QQ{CGRect={CGPoint=dd}{CGSize=dd}}", - ), - "VNElementTypeSize": (b"QQ",), -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"NSObject", b"indeterminate", {"required": True, "retval": {"type": "Z"}}) - r( - b"NSObject", - b"inputFaceObservations", - {"required": True, "retval": {"type": b"@"}}, - ) - r( - b"NSObject", - b"progressHandler", - { - "required": True, - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - ) - r(b"NSObject", b"requestRevision", {"required": True, "retval": {"type": "Q"}}) - r( - b"NSObject", - b"setInputFaceObservations:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setProgressHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"d"}, - 3: {"type": b"@"}, - }, - }, - "type": "@?", - } - }, - }, - ) - r(b"VNCircle", b"containsPoint:", {"retval": {"type": b"Z"}}) - r( - b"VNCircle", - b"containsPoint:inCircumferentialRingOfWidth:", - {"retval": {"type": b"Z"}}, - ) - r( - b"VNClassificationObservation", - b"hasMinimumPrecision:forRecall:", - {"retval": {"type": "Z"}}, - ) - r( - b"VNClassificationObservation", - b"hasMinimumRecall:forPrecision:", - {"retval": {"type": "Z"}}, - ) - r( - b"VNClassifyImageRequest", - b"knownClassificationsForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNClassifyImageRequest", - b"supportedIdentifiersAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"VNContour", - b"childContourAtIndex:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNContour", - b"polygonApproximationWithEpsilon:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNContoursObservation", - b"contourAtIndex:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNContoursObservation", - b"contourAtIndexPath:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNCoreMLModel", - b"modelForMLModel:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNCoreMLRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNCoreMLRequest", - b"initWithModel:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNDetectBarcodesRequest", - b"supportedSymbologiesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r(b"VNDetectContoursRequest", b"detectDarkOnLight", {"retval": {"type": b"Z"}}) - r(b"VNDetectContoursRequest", b"detectsDarkOnLight", {"retval": {"type": b"Z"}}) - r( - b"VNDetectContoursRequest", - b"setDetectDarkOnLight:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"VNDetectContoursRequest", - b"setDetectsDarkOnLight:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"VNDetectFaceLandmarksRequest", - b"revision:supportsConstellation:", - {"retval": {"type": b"Z"}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedIdentifiedPointGroupKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedIdentifiedPointKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedJointNamesForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedJointsGroupNamesForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedRecognizedPointGroupKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanBodyPoseRequest", - b"supportedRecognizedPointKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedIdentifiedPointGroupKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedIdentifiedPointKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedJointNamesForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedJointsGroupNamesForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedRecognizedPointGroupKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanHandPoseRequest", - b"supportedRecognizedPointKeysForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNDetectHumanRectanglesRequest", - b"setUpperBodyOnly:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"VNDetectHumanRectanglesRequest", b"upperBodyOnly", {"retval": {"type": b"Z"}}) - r( - b"VNDetectTextRectanglesRequest", - b"reportCharacterBoxes", - {"retval": {"type": "Z"}}, - ) - r( - b"VNDetectTextRectanglesRequest", - b"setReportCharacterBoxes:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"VNDetectTrajectoriesRequest", - b"initWithFrameAnalysisSpacing:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"VNDetectTrajectoriesRequest", - b"initWithFrameAnalysisSpacing:trajectoryLength:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"VNDetectTrajectoriesRequest", - b"setTargetFrameTime:", - {"arguments": {2: {"type": b"{_CMTime=qiIq}"}}}, - ) - r( - b"VNDetectTrajectoriesRequest", - b"targetFrameTime", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"VNFaceLandmarkRegion2D", - b"normalizedPoints", - {"retval": {"c_array_of_variable_length": True}}, - ) - r( - b"VNFaceLandmarkRegion2D", - b"pointsInImageOfSize:", - {"retval": {"c_array_of_variable_length": True}}, - ) - r( - b"VNFeaturePrintObservation", - b"computeDistance:toFeaturePrintObservation:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNGeneratePersonSegmentationRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNGeneratePersonSegmentationRequest", - b"initWithFrameAnalysisSpacing:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"VNGeometryUtils", - b"boundingCircleForContour:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNGeometryUtils", - b"boundingCircleForPoints:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNGeometryUtils", - b"boundingCircleForSIMDPoints:pointCount:error:", - { - "arguments": { - 2: {"type_modifier": b"n", "c_array_length_in_arg": 3}, - 4: {"type_modifier": b"o"}, - } - }, - ) - r( - b"VNGeometryUtils", - b"calculateArea:forContour:orientedArea:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type_modifier": b"n"}, - 4: {"type": b"Z"}, - 5: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"VNGeometryUtils", - b"calculatePerimeter:forContour:error:", - { - "retval": {"type": b"Z"}, - "arguments": {2: {"type_modifier": b"n"}, 4: {"type_modifier": b"o"}}, - }, - ) - r( - b"VNHumanBodyPoseObservation", - b"recognizedPointForJointName:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNHumanBodyPoseObservation", - b"recognizedPointsForJointsGroupName:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNHumanHandPoseObservation", - b"recognizedPointForJointName:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNHumanHandPoseObservation", - b"recognizedPointsForJointsGroupName:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"VNHumanObservation", b"upperBodyOnly", {"retval": {"type": b"Z"}}) - r( - b"VNImageHomographicAlignmentObservation", - b"setWarpTransform:", - {"arguments": {2: {"type": b"{_matrix_float3x3=?}"}}}, - ) - r( - b"VNImageHomographicAlignmentObservation", - b"warpTransform", - {"retval": {"type": b"{_matrix_float3x3=?}"}}, - ) - r( - b"VNImageRequestHandler", - b"performRequests:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNObservation", - b"timeRange", - {"retval": {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}}, - ) - r( - b"VNRecognizeAnimalsRequest", - b"knownAnimalIdentifiersForRevision:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizeAnimalsRequest", - b"supportedIdentifiersAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizeTextRequest", - b"setUsesLanguageCorrection:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"VNRecognizeTextRequest", - b"supportedRecognitionLanguagesAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizeTextRequest", - b"supportedRecognitionLanguagesForTextRecognitionLevel:revision:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"VNRecognizeTextRequest", b"usesLanguageCorrection", {"retval": {"type": "Z"}}) - r( - b"VNRecognizedPointsObservation", - b"identifiedPointsForGroupKey_error_", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizedPointsObservation", - b"keypointsMultiArrayAndReturnError:", - {"arguments": {2: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizedPointsObservation", - b"recognizedPointForKey:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizedPointsObservation", - b"recognizedPointsForGroupKey:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNRecognizedText", - b"boundingBoxForRange:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"VNRequest", - b"completionHandler", - { - "retval": { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - }, - ) - r( - b"VNRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"VNRequest", b"preferBackgroundProcessing", {"retval": {"type": "Z"}}) - r( - b"VNRequest", - b"setPreferBackgroundProcessing:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"VNRequest", b"setUsesCPUOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"VNRequest", b"usesCPUOnly", {"retval": {"type": "Z"}}) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCGImage:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCGImage:orientation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCIImage:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCIImage:orientation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCMSampleBuffer:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCMSampleBuffer:orientation:error:", - {"retval": {"type": b"Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCVPixelBuffer:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onCVPixelBuffer:orientation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onImageData:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onImageData:orientation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onImageURL:error:", - {"retval": {"type": "Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNSequenceRequestHandler", - b"performRequests:onImageURL:orientation:error:", - {"retval": {"type": "Z"}, "arguments": {5: {"type_modifier": b"o"}}}, - ) - r( - b"VNStatefulRequest", - b"frameAnalysisSpacing", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"VNStatefulRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNStatefulRequest", - b"initWithFrameAnalysisSpacing:completionHandler:", - { - "arguments": { - 2: {"type": b"{_CMTime=qiIq}"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - }, - } - }, - ) - r( - b"VNStatefulRequest", - b"requestFrameAnalysisSpacing", - {"retval": {"type": b"{_CMTime=qiIq}"}}, - ) - r( - b"VNTargetedImageRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCGImage:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCGImage:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCGImage:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCIImage:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCIImage:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCIImage:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCMSampleBuffer:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCMSampleBuffer:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCVPixelBuffer:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCVPixelBuffer:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedCVPixelBuffer:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageData:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageData:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageURL:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageURL:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTargetedImageRequest", - b"initWithTargetedImageURL:orientation:options:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTrackObjectRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTrackObjectRequest", - b"initWithDetectedObjectObservation:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTrackRectangleRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTrackRectangleRequest", - b"initWithRectangleObservation:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"VNTrackingRequest", - b"initWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"VNTrackingRequest", b"isLastFrame", {"retval": {"type": "Z"}}) - r(b"VNTrackingRequest", b"setLastFrame:", {"arguments": {2: {"type": "Z"}}}) - r( - b"VNVideoProcessor", - b"addRequest:processingOptions:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNVideoProcessor", - b"addRequest:withProcessingOptions:error:", - {"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"VNVideoProcessor", - b"analyzeTimeRange:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"VNVideoProcessor", - b"analyzeWithTimeRange:error:", - { - "retval": {"type": b"Z"}, - "arguments": { - 2: {"type": b"{_CMTimeRange={_CMTime=qiIq}{_CMTime=qiIq}}"}, - 3: {"type_modifier": b"o"}, - }, - }, - ) - r( - b"VNVideoProcessor", - b"removeRequest:error:", - {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"null", b"hasMinimumPrecision:forRecall:", {"retval": {"type": b"Z"}}) - r(b"null", b"hasMinimumRecall:forPrecision:", {"retval": {"type": b"Z"}}) - r(b"null", b"hasPrecisionRecallCurve", {"retval": {"type": b"Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/WebKit/__init__.py b/src/lib/WebKit/__init__.py deleted file mode 100644 index 940e08f..0000000 --- a/src/lib/WebKit/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Python mapping for the WebKit framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import sys - -import Foundation -import objc -from WebKit import _metadata -from WebKit import _WebKit - -objc.addConvenienceForBasicSequence("WebScriptObject", True) - -sys.modules["WebKit"] = mod = objc.ObjCLazyModule( - "WebKit", - "com.apple.WebKit", - objc.pathForFramework("/System/Library/Frameworks/WebKit.framework"), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (_WebKit, Foundation), -) - - -del sys.modules["WebKit._metadata"] diff --git a/src/lib/WebKit/_metadata.py b/src/lib/WebKit/_metadata.py deleted file mode 100644 index 12e6114..0000000 --- a/src/lib/WebKit/_metadata.py +++ /dev/null @@ -1,3263 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:31:42 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$DOMEventException$DOMException$DOMRangeException$DOMXPathException$NSReadAccessURLDocumentOption$WKErrorDomain$WKWebsiteDataTypeCookies$WKWebsiteDataTypeDiskCache$WKWebsiteDataTypeFetchCache$WKWebsiteDataTypeIndexedDBDatabases$WKWebsiteDataTypeLocalStorage$WKWebsiteDataTypeMemoryCache$WKWebsiteDataTypeOfflineWebApplicationCache$WKWebsiteDataTypeServiceWorkerRegistrations$WKWebsiteDataTypeSessionStorage$WKWebsiteDataTypeWebSQLDatabases$WebActionButtonKey$WebActionElementKey$WebActionModifierFlagsKey$WebActionNavigationTypeKey$WebActionOriginalURLKey$WebArchivePboardType$WebElementDOMNodeKey$WebElementFrameKey$WebElementImageAltStringKey$WebElementImageKey$WebElementImageRectKey$WebElementImageURLKey$WebElementIsSelectedKey$WebElementLinkLabelKey$WebElementLinkTargetFrameKey$WebElementLinkTitleKey$WebElementLinkURLKey$WebHistoryAllItemsRemovedNotification$WebHistoryItemChangedNotification$WebHistoryItemsAddedNotification$WebHistoryItemsKey$WebHistoryItemsRemovedNotification$WebHistoryLoadedNotification$WebHistorySavedNotification$WebKitErrorDomain$WebKitErrorMIMETypeKey$WebKitErrorPlugInNameKey$WebKitErrorPlugInPageURLStringKey$WebPlugInAttributesKey$WebPlugInBaseURLKey$WebPlugInContainerKey$WebPlugInContainingElementKey$WebPlugInShouldLoadMainResourceKey$WebPreferencesChangedNotification$WebViewDidBeginEditingNotification$WebViewDidChangeNotification$WebViewDidChangeSelectionNotification$WebViewDidChangeTypingStyleNotification$WebViewDidEndEditingNotification$WebViewProgressEstimateChangedNotification$WebViewProgressFinishedNotification$WebViewProgressStartedNotification$""" -enums = """$DOM_ADDITION@2$DOM_ALLOW_KEYBOARD_INPUT@1$DOM_ANY_TYPE@0$DOM_ANY_UNORDERED_NODE_TYPE@8$DOM_ATTRIBUTE_NODE@2$DOM_AT_TARGET@2$DOM_BAD_BOUNDARYPOINTS_ERR@1$DOM_BOOLEAN_TYPE@3$DOM_BOTH@2$DOM_BUBBLING_PHASE@3$DOM_CAPTURING_PHASE@1$DOM_CDATA_SECTION_NODE@4$DOM_CHARSET_RULE@2$DOM_COMMENT_NODE@8$DOM_CSS_ATTR@22$DOM_CSS_CM@6$DOM_CSS_COUNTER@23$DOM_CSS_CUSTOM@3$DOM_CSS_DEG@11$DOM_CSS_DIMENSION@18$DOM_CSS_EMS@3$DOM_CSS_EXS@4$DOM_CSS_GRAD@13$DOM_CSS_HZ@16$DOM_CSS_IDENT@21$DOM_CSS_IN@8$DOM_CSS_INHERIT@0$DOM_CSS_KHZ@17$DOM_CSS_MM@7$DOM_CSS_MS@14$DOM_CSS_NUMBER@1$DOM_CSS_PC@10$DOM_CSS_PERCENTAGE@2$DOM_CSS_PRIMITIVE_VALUE@1$DOM_CSS_PT@9$DOM_CSS_PX@5$DOM_CSS_RAD@12$DOM_CSS_RECT@24$DOM_CSS_RGBCOLOR@25$DOM_CSS_S@15$DOM_CSS_STRING@19$DOM_CSS_UNKNOWN@0$DOM_CSS_URI@20$DOM_CSS_VALUE_LIST@2$DOM_CSS_VH@27$DOM_CSS_VMAX@29$DOM_CSS_VMIN@28$DOM_CSS_VW@26$DOM_DOCUMENT_FRAGMENT_NODE@11$DOM_DOCUMENT_NODE@9$DOM_DOCUMENT_POSITION_CONTAINED_BY@16$DOM_DOCUMENT_POSITION_CONTAINS@8$DOM_DOCUMENT_POSITION_DISCONNECTED@1$DOM_DOCUMENT_POSITION_FOLLOWING@4$DOM_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC@32$DOM_DOCUMENT_POSITION_PRECEDING@2$DOM_DOCUMENT_TYPE_NODE@10$DOM_DOMSTRING_SIZE_ERR@2$DOM_DOM_DELTA_LINE@1$DOM_DOM_DELTA_PAGE@2$DOM_DOM_DELTA_PIXEL@0$DOM_ELEMENT_NODE@1$DOM_END_TO_END@2$DOM_END_TO_START@3$DOM_ENTITY_NODE@6$DOM_ENTITY_REFERENCE_NODE@5$DOM_FILTER_ACCEPT@1$DOM_FILTER_REJECT@2$DOM_FILTER_SKIP@3$DOM_FIRST_ORDERED_NODE_TYPE@9$DOM_FONT_FACE_RULE@5$DOM_HIERARCHY_REQUEST_ERR@3$DOM_HORIZONTAL@0$DOM_IMPORT_RULE@3$DOM_INDEX_SIZE_ERR@1$DOM_INUSE_ATTRIBUTE_ERR@10$DOM_INVALID_ACCESS_ERR@15$DOM_INVALID_CHARACTER_ERR@5$DOM_INVALID_EXPRESSION_ERR@51$DOM_INVALID_MODIFICATION_ERR@13$DOM_INVALID_NODE_TYPE_ERR@2$DOM_INVALID_STATE_ERR@11$DOM_KEYFRAMES_RULE@7$DOM_KEYFRAME_RULE@8$DOM_KEY_LOCATION_LEFT@1$DOM_KEY_LOCATION_NUMPAD@3$DOM_KEY_LOCATION_RIGHT@2$DOM_KEY_LOCATION_STANDARD@0$DOM_MEDIA_RULE@4$DOM_MODIFICATION@1$DOM_NAMESPACE_ERR@14$DOM_NAMESPACE_RULE@10$DOM_NODE_AFTER@1$DOM_NODE_BEFORE@0$DOM_NODE_BEFORE_AND_AFTER@2$DOM_NODE_INSIDE@3$DOM_NONE@0$DOM_NOTATION_NODE@12$DOM_NOT_FOUND_ERR@8$DOM_NOT_SUPPORTED_ERR@9$DOM_NO_DATA_ALLOWED_ERR@6$DOM_NO_MODIFICATION_ALLOWED_ERR@7$DOM_NUMBER_TYPE@1$DOM_ORDERED_NODE_ITERATOR_TYPE@5$DOM_ORDERED_NODE_SNAPSHOT_TYPE@7$DOM_PAGE_RULE@6$DOM_PROCESSING_INSTRUCTION_NODE@7$DOM_REMOVAL@3$DOM_SHOW_ALL@4294967295$DOM_SHOW_ATTRIBUTE@2$DOM_SHOW_CDATA_SECTION@8$DOM_SHOW_COMMENT@128$DOM_SHOW_DOCUMENT@256$DOM_SHOW_DOCUMENT_FRAGMENT@1024$DOM_SHOW_DOCUMENT_TYPE@512$DOM_SHOW_ELEMENT@1$DOM_SHOW_ENTITY@32$DOM_SHOW_ENTITY_REFERENCE@16$DOM_SHOW_NOTATION@2048$DOM_SHOW_PROCESSING_INSTRUCTION@64$DOM_SHOW_TEXT@4$DOM_START_TO_END@1$DOM_START_TO_START@0$DOM_STRING_TYPE@2$DOM_STYLE_RULE@1$DOM_SUPPORTS_RULE@12$DOM_SYNTAX_ERR@12$DOM_TEXT_NODE@3$DOM_TYPE_ERR@52$DOM_UNKNOWN_RULE@0$DOM_UNORDERED_NODE_ITERATOR_TYPE@4$DOM_UNORDERED_NODE_SNAPSHOT_TYPE@6$DOM_UNSPECIFIED_EVENT_TYPE_ERR@0$DOM_VARIABLES_RULE@7$DOM_VERTICAL@1$DOM_WEBKIT_KEYFRAMES_RULE@7$DOM_WEBKIT_KEYFRAME_RULE@8$DOM_WEBKIT_REGION_RULE@16$DOM_WRONG_DOCUMENT_ERR@4$WKAudiovisualMediaTypeAll@18446744073709551615$WKAudiovisualMediaTypeAudio@1$WKAudiovisualMediaTypeNone@0$WKAudiovisualMediaTypeVideo@2$WKContentModeDesktop@2$WKContentModeMobile@1$WKContentModeRecommended@0$WKDownloadRedirectPolicyAllow@1$WKDownloadRedirectPolicyCancel@0$WKErrorAttributedStringContentFailedToLoad@10$WKErrorAttributedStringContentLoadTimedOut@11$WKErrorContentRuleListStoreCompileFailed@6$WKErrorContentRuleListStoreLookUpFailed@7$WKErrorContentRuleListStoreRemoveFailed@8$WKErrorContentRuleListStoreVersionMismatch@9$WKErrorJavaScriptAppBoundDomain@14$WKErrorJavaScriptExceptionOccurred@4$WKErrorJavaScriptInvalidFrameTarget@12$WKErrorJavaScriptResultTypeIsUnsupported@5$WKErrorNavigationAppBoundDomain@13$WKErrorUnknown@1$WKErrorWebContentProcessTerminated@2$WKErrorWebViewInvalidated@3$WKFullscreenStateEnteringFullscreen@1$WKFullscreenStateExitingFullscreen@3$WKFullscreenStateInFullscreen@2$WKFullscreenStateNotInFullscreen@0$WKMediaCaptureStateActive@1$WKMediaCaptureStateMuted@2$WKMediaCaptureStateNone@0$WKMediaCaptureTypeCamera@0$WKMediaCaptureTypeCameraAndMicrophone@2$WKMediaCaptureTypeMicrophone@1$WKMediaPlaybackStateNone@0$WKMediaPlaybackStatePaused@2$WKMediaPlaybackStatePlaying@1$WKMediaPlaybackStateSuspended@3$WKNavigationActionPolicyAllow@1$WKNavigationActionPolicyCancel@0$WKNavigationActionPolicyDownload@2$WKNavigationResponsePolicyAllow@1$WKNavigationResponsePolicyCancel@0$WKNavigationResponsePolicyDownload@2$WKNavigationTypeBackForward@2$WKNavigationTypeFormResubmitted@4$WKNavigationTypeFormSubmitted@1$WKNavigationTypeLinkActivated@0$WKNavigationTypeOther@-1$WKNavigationTypeReload@3$WKPermissionDecisionDeny@2$WKPermissionDecisionGrant@1$WKPermissionDecisionPrompt@0$WKUserInterfaceDirectionPolicyContent@0$WKUserInterfaceDirectionPolicySystem@1$WKUserScriptInjectionTimeAtDocumentEnd@1$WKUserScriptInjectionTimeAtDocumentStart@0$WK_API_ENABLED@1$WebCacheModelDocumentBrowser@1$WebCacheModelDocumentViewer@0$WebCacheModelPrimaryWebBrowser@2$WebDragDestinationActionAny@4294967295$WebDragDestinationActionDHTML@1$WebDragDestinationActionEdit@2$WebDragDestinationActionLoad@4$WebDragDestinationActionNone@0$WebDragSourceActionAny@4294967295$WebDragSourceActionDHTML@1$WebDragSourceActionImage@2$WebDragSourceActionLink@4$WebDragSourceActionNone@0$WebDragSourceActionSelection@8$WebJNIReturnTypeBoolean@3$WebJNIReturnTypeByte@4$WebJNIReturnTypeChar@5$WebJNIReturnTypeDouble@10$WebJNIReturnTypeFloat@9$WebJNIReturnTypeInt@7$WebJNIReturnTypeInvalid@0$WebJNIReturnTypeLong@8$WebJNIReturnTypeObject@2$WebJNIReturnTypeShort@6$WebJNIReturnTypeVoid@1$WebKitErrorBlockedPlugInVersion@203$WebKitErrorCannotFindPlugIn@200$WebKitErrorCannotLoadPlugIn@201$WebKitErrorCannotShowMIMEType@100$WebKitErrorCannotShowURL@101$WebKitErrorFrameLoadInterruptedByPolicyChange@102$WebKitErrorJavaUnavailable@202$WebMenuItemPDFActualSize@24$WebMenuItemPDFAutoSize@27$WebMenuItemPDFContinuous@30$WebMenuItemPDFFacingPages@29$WebMenuItemPDFNextPage@31$WebMenuItemPDFPreviousPage@32$WebMenuItemPDFSinglePage@28$WebMenuItemPDFZoomIn@25$WebMenuItemPDFZoomOut@26$WebMenuItemTagCopy@8$WebMenuItemTagCopyImageToClipboard@6$WebMenuItemTagCopyLinkToClipboard@3$WebMenuItemTagCut@13$WebMenuItemTagDownloadImageToDisk@5$WebMenuItemTagDownloadLinkToDisk@2$WebMenuItemTagGoBack@9$WebMenuItemTagGoForward@10$WebMenuItemTagIgnoreSpelling@17$WebMenuItemTagLearnSpelling@18$WebMenuItemTagLookUpInDictionary@22$WebMenuItemTagNoGuessesFound@16$WebMenuItemTagOpenFrameInNewWindow@7$WebMenuItemTagOpenImageInNewWindow@4$WebMenuItemTagOpenLinkInNewWindow@1$WebMenuItemTagOpenWithDefaultApplication@23$WebMenuItemTagOther@19$WebMenuItemTagPaste@14$WebMenuItemTagReload@12$WebMenuItemTagSearchInSpotlight@20$WebMenuItemTagSearchWeb@21$WebMenuItemTagSpellingGuess@15$WebMenuItemTagStop@11$WebNavigationTypeBackForward@2$WebNavigationTypeFormResubmitted@4$WebNavigationTypeFormSubmitted@1$WebNavigationTypeLinkClicked@0$WebNavigationTypeOther@5$WebNavigationTypeReload@3$WebViewInsertActionDropped@2$WebViewInsertActionPasted@1$WebViewInsertActionTyped@0$""" -misc.update( - { - "WKMediaPlaybackState": NewType("WKMediaPlaybackState", int), - "WebCacheModel": NewType("WebCacheModel", int), - "WKNavigationType": NewType("WKNavigationType", int), - "WKNavigationResponsePolicy": NewType("WKNavigationResponsePolicy", int), - "WKMediaCaptureType": NewType("WKMediaCaptureType", int), - "DOMExceptionCode": NewType("DOMExceptionCode", int), - "DOMXPathExceptionCode": NewType("DOMXPathExceptionCode", int), - "WKUserInterfaceDirectionPolicy": NewType( - "WKUserInterfaceDirectionPolicy", int - ), - "WKErrorCode": NewType("WKErrorCode", int), - "DOMEventExceptionCode": NewType("DOMEventExceptionCode", int), - "WKNavigationActionPolicy": NewType("WKNavigationActionPolicy", int), - "WebNavigationType": NewType("WebNavigationType", int), - "WKContentMode": NewType("WKContentMode", int), - "WebViewInsertAction": NewType("WebViewInsertAction", int), - "WKAudiovisualMediaTypes": NewType("WKAudiovisualMediaTypes", int), - "WebDragDestinationAction": NewType("WebDragDestinationAction", int), - "WKUserScriptInjectionTime": NewType("WKUserScriptInjectionTime", int), - "DOMRangeExceptionCode": NewType("DOMRangeExceptionCode", int), - "WKFullscreenState": NewType("WKFullscreenState", int), - "WKDownloadRedirectPolicy": NewType("WKDownloadRedirectPolicy", int), - "WKMediaCaptureState": NewType("WKMediaCaptureState", int), - "WKPermissionDecision": NewType("WKPermissionDecision", int), - "WebDragSourceAction": NewType("WebDragSourceAction", int), - } -) -misc.update({}) -aliases = { - "WebNSUInteger": "NSUInteger", - "WKAudiovisualMediaTypeAll": "NSUIntegerMax", - "WebNSInteger": "NSInteger", -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"DOMAttr", b"specified", {"retval": {"type": "Z"}}) - r(b"DOMCSSStyleDeclaration", b"isPropertyImplicit:", {"retval": {"type": "Z"}}) - r(b"DOMDocument", b"createNodeIterator::::", {"arguments": {5: {"type": "Z"}}}) - r( - b"DOMDocument", - b"createNodeIterator:whatToShow:filter:expandEntityReferences:", - {"arguments": {5: {"type": "Z"}}}, - ) - r(b"DOMDocument", b"createTreeWalker::::", {"arguments": {5: {"type": "Z"}}}) - r( - b"DOMDocument", - b"createTreeWalker:whatToShow:filter:expandEntityReferences:", - {"arguments": {5: {"type": "Z"}}}, - ) - r(b"DOMDocument", b"execCommand:", {"retval": {"type": "Z"}}) - r( - b"DOMDocument", - b"execCommand:userInterface:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"DOMDocument", - b"execCommand:userInterface:value:", - {"retval": {"type": "Z"}, "arguments": {3: {"type": "Z"}}}, - ) - r( - b"DOMDocument", - b"getMatchedCSSRules:pseudoElement:authorOnly:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"DOMDocument", b"hasFocus", {"retval": {"type": b"Z"}}) - r(b"DOMDocument", b"importNode::", {"arguments": {3: {"type": "Z"}}}) - r(b"DOMDocument", b"importNode:deep:", {"arguments": {3: {"type": "Z"}}}) - r(b"DOMDocument", b"queryCommandEnabled:", {"retval": {"type": "Z"}}) - r(b"DOMDocument", b"queryCommandIndeterm:", {"retval": {"type": "Z"}}) - r(b"DOMDocument", b"queryCommandState:", {"retval": {"type": "Z"}}) - r(b"DOMDocument", b"queryCommandSupported:", {"retval": {"type": "Z"}}) - r(b"DOMDocument", b"setXmlStandalone:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMDocument", b"xmlStandalone", {"retval": {"type": "Z"}}) - r(b"DOMElement", b"contains:", {"retval": {"type": "Z"}}) - r(b"DOMElement", b"hasAttribute:", {"retval": {"type": "Z"}}) - r(b"DOMElement", b"hasAttributeNS::", {"retval": {"type": "Z"}}) - r(b"DOMElement", b"hasAttributeNS:localName:", {"retval": {"type": "Z"}}) - r(b"DOMElement", b"scrollIntoView:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMElement", b"scrollIntoViewIfNeeded:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMEvent", b"bubbles", {"retval": {"type": "Z"}}) - r(b"DOMEvent", b"cancelBubble", {"retval": {"type": "Z"}}) - r(b"DOMEvent", b"cancelable", {"retval": {"type": "Z"}}) - r(b"DOMEvent", b"initEvent:::", {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}) - r( - b"DOMEvent", - b"initEvent:canBubbleArg:cancelableArg:", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r(b"DOMEvent", b"returnValue", {"retval": {"type": "Z"}}) - r(b"DOMEvent", b"setCancelBubble:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMEvent", b"setReturnValue:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLAreaElement", b"noHref", {"retval": {"type": "Z"}}) - r(b"DOMHTMLAreaElement", b"setNoHref:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLButtonElement", b"autofocus", {"retval": {"type": "Z"}}) - r(b"DOMHTMLButtonElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLButtonElement", b"setAutofocus:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLButtonElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLButtonElement", b"setWillValidate:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLButtonElement", b"willValidate", {"retval": {"type": "Z"}}) - r(b"DOMHTMLDListElement", b"compact", {"retval": {"type": "Z"}}) - r(b"DOMHTMLDListElement", b"setCompact:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLDirectoryElement", b"compact", {"retval": {"type": "Z"}}) - r(b"DOMHTMLDirectoryElement", b"setCompact:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLDocument", b"hasFocus", {"retval": {"type": b"Z"}}) - r(b"DOMHTMLElement", b"isContentEditable", {"retval": {"type": "Z"}}) - r(b"DOMHTMLFrameElement", b"noResize", {"retval": {"type": "Z"}}) - r(b"DOMHTMLFrameElement", b"setNoResize:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLHRElement", b"noShade", {"retval": {"type": "Z"}}) - r(b"DOMHTMLHRElement", b"setNoShade:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLImageElement", b"complete", {"retval": {"type": "Z"}}) - r(b"DOMHTMLImageElement", b"isMap", {"retval": {"type": "Z"}}) - r(b"DOMHTMLImageElement", b"setComplete:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLImageElement", b"setIsMap:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"autofocus", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"checked", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"defaultChecked", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"indeterminate", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"multiple", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"readOnly", {"retval": {"type": "Z"}}) - r(b"DOMHTMLInputElement", b"setAutofocus:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setChecked:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setDefaultChecked:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setIndeterminate:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setMultiple:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"setReadOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLInputElement", b"willValidate", {"retval": {"type": "Z"}}) - r(b"DOMHTMLLinkElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLLinkElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLMenuElement", b"compact", {"retval": {"type": "Z"}}) - r(b"DOMHTMLMenuElement", b"setCompact:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLOListElement", b"compact", {"retval": {"type": "Z"}}) - r(b"DOMHTMLOListElement", b"setCompact:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLObjectElement", b"declare", {"retval": {"type": "Z"}}) - r(b"DOMHTMLObjectElement", b"setDeclare:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLOptGroupElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLOptGroupElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLOptionElement", b"defaultSelected", {"retval": {"type": "Z"}}) - r(b"DOMHTMLOptionElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLOptionElement", b"selected", {"retval": {"type": "Z"}}) - r( - b"DOMHTMLOptionElement", - b"setDefaultSelected:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"DOMHTMLOptionElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLOptionElement", b"setSelected:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLPreElement", b"setWrap:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLPreElement", b"wrap", {"retval": {"type": "Z"}}) - r(b"DOMHTMLScriptElement", b"defer", {"retval": {"type": "Z"}}) - r(b"DOMHTMLScriptElement", b"setDefer:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLSelectElement", b"autofocus", {"retval": {"type": "Z"}}) - r(b"DOMHTMLSelectElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLSelectElement", b"multiple", {"retval": {"type": "Z"}}) - r(b"DOMHTMLSelectElement", b"setAutofocus:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLSelectElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLSelectElement", b"setMultiple:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLSelectElement", b"willValidate", {"retval": {"type": "Z"}}) - r(b"DOMHTMLStyleElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLStyleElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLTableCellElement", b"noWrap", {"retval": {"type": "Z"}}) - r(b"DOMHTMLTableCellElement", b"setNoWrap:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLTextAreaElement", b"autofocus", {"retval": {"type": b"Z"}}) - r(b"DOMHTMLTextAreaElement", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMHTMLTextAreaElement", b"readOnly", {"retval": {"type": "Z"}}) - r(b"DOMHTMLTextAreaElement", b"setAutofocus:", {"arguments": {2: {"type": b"Z"}}}) - r(b"DOMHTMLTextAreaElement", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLTextAreaElement", b"setReadOnly:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMHTMLTextAreaElement", b"willValidate", {"retval": {"type": "Z"}}) - r(b"DOMHTMLUListElement", b"compact", {"retval": {"type": "Z"}}) - r(b"DOMHTMLUListElement", b"setCompact:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMImplementation", b"hasFeature::", {"retval": {"type": "Z"}}) - r(b"DOMImplementation", b"hasFeature:version:", {"retval": {"type": "Z"}}) - r(b"DOMKeyboardEvent", b"altGraphKey", {"retval": {"type": "Z"}}) - r(b"DOMKeyboardEvent", b"altKey", {"retval": {"type": "Z"}}) - r(b"DOMKeyboardEvent", b"ctrlKey", {"retval": {"type": "Z"}}) - r(b"DOMKeyboardEvent", b"getModifierState:", {"retval": {"type": "Z"}}) - r( - b"DOMKeyboardEvent", - b"initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:keyLocation:ctrlKey:altKey:shiftKey:metaKey:", - { - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 8: {"type": "Z"}, - 9: {"type": "Z"}, - 10: {"type": "Z"}, - 11: {"type": "Z"}, - } - }, - ) - r( - b"DOMKeyboardEvent", - b"initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:keyLocation:ctrlKey:altKey:shiftKey:metaKey:altGraphKey:", - { - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 8: {"type": "Z"}, - 9: {"type": "Z"}, - 10: {"type": "Z"}, - 11: {"type": "Z"}, - 12: {"type": "Z"}, - } - }, - ) - r( - b"DOMKeyboardEvent", - b"initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:location:ctrlKey:altKey:shiftKey:metaKey:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - 8: {"type": b"Z"}, - 9: {"type": b"Z"}, - 10: {"type": b"Z"}, - 11: {"type": b"Z"}, - } - }, - ) - r( - b"DOMKeyboardEvent", - b"initKeyboardEvent:canBubble:cancelable:view:keyIdentifier:location:ctrlKey:altKey:shiftKey:metaKey:altGraphKey:", - { - "arguments": { - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - 8: {"type": b"Z"}, - 9: {"type": b"Z"}, - 10: {"type": b"Z"}, - 11: {"type": b"Z"}, - 12: {"type": b"Z"}, - } - }, - ) - r(b"DOMKeyboardEvent", b"metaKey", {"retval": {"type": "Z"}}) - r(b"DOMKeyboardEvent", b"shiftKey", {"retval": {"type": "Z"}}) - r(b"DOMMouseEvent", b"altKey", {"retval": {"type": "Z"}}) - r(b"DOMMouseEvent", b"ctrlKey", {"retval": {"type": "Z"}}) - r( - b"DOMMouseEvent", - b"initMouseEvent:::::::::::::::", - { - "arguments": { - 3: {"type": b"Z"}, - 4: {"type": b"Z"}, - 11: {"type": b"Z"}, - 12: {"type": b"Z"}, - 13: {"type": b"Z"}, - 14: {"type": b"Z"}, - } - }, - ) - r( - b"DOMMouseEvent", - b"initMouseEvent:canBubble:cancelable:view:detail:screenX:screenY:clientX:clientY:ctrlKey:altKey:shiftKey:metaKey:button:relatedTarget:", - { - "arguments": { - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 11: {"type": "Z"}, - 12: {"type": "Z"}, - 13: {"type": "Z"}, - 14: {"type": "Z"}, - } - }, - ) - r(b"DOMMouseEvent", b"metaKey", {"retval": {"type": "Z"}}) - r(b"DOMMouseEvent", b"shiftKey", {"retval": {"type": "Z"}}) - r( - b"DOMMutationEvent", - b"initMutationEvent::::::::", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r( - b"DOMMutationEvent", - b"initMutationEvent:canBubble:cancelable:relatedNode:prevValue:newValue:attrName:attrChange:", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r(b"DOMNode", b"cloneNode:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMNode", b"contains:", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"hasAttributes", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"hasChildNodes", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"isContentEditable", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"isDefaultNamespace:", {"retval": {"type": b"Z"}}) - r(b"DOMNode", b"isEqualNode:", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"isSameNode:", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"isSupported::", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"isSupported:version:", {"retval": {"type": "Z"}}) - r(b"DOMNode", b"setIsContentEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMNodeIterator", b"expandEntityReferences", {"retval": {"type": "Z"}}) - r(b"DOMNodeIterator", b"pointerBeforeReferenceNode", {"retval": {"type": "Z"}}) - r(b"DOMOverflowEvent", b"horizontalOverflow", {"retval": {"type": "Z"}}) - r( - b"DOMOverflowEvent", - b"initOverflowEvent:horizontalOverflow:verticalOverflow:", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r(b"DOMOverflowEvent", b"verticalOverflow", {"retval": {"type": "Z"}}) - r(b"DOMProgressEvent", b"lengthComputable", {"retval": {"type": b"Z"}}) - r(b"DOMRange", b"collapse:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMRange", b"collapsed", {"retval": {"type": "Z"}}) - r(b"DOMRange", b"intersectsNode:", {"retval": {"type": "Z"}}) - r(b"DOMRange", b"isPointInRange:offset:", {"retval": {"type": "Z"}}) - r(b"DOMStyleSheet", b"disabled", {"retval": {"type": "Z"}}) - r(b"DOMStyleSheet", b"setDisabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"DOMTreeWalker", b"expandEntityReferences", {"retval": {"type": "Z"}}) - r( - b"DOMUIEvent", - b"initUIEvent:::::", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r( - b"DOMUIEvent", - b"initUIEvent:canBubble:cancelable:view:detail:", - {"arguments": {3: {"type": "Z"}, 4: {"type": "Z"}}}, - ) - r(b"DOMWheelEvent", b"altKey", {"retval": {"type": "Z"}}) - r(b"DOMWheelEvent", b"ctrlKey", {"retval": {"type": "Z"}}) - r( - b"DOMWheelEvent", - b"initWheelEvent:wheelDeltaY:view:screenX:screenY:clientX:clientY:ctrlKey:altKey:shiftKey:metaKey:", - { - "arguments": { - 9: {"type": b"Z"}, - 10: {"type": b"Z"}, - 11: {"type": b"Z"}, - 12: {"type": b"Z"}, - } - }, - ) - r(b"DOMWheelEvent", b"isHorizontal", {"retval": {"type": "Z"}}) - r(b"DOMWheelEvent", b"metaKey", {"retval": {"type": "Z"}}) - r(b"DOMWheelEvent", b"shiftKey", {"retval": {"type": "Z"}}) - r(b"DOMXPathResult", b"booleanValue", {"retval": {"type": "Z"}}) - r(b"DOMXPathResult", b"invalidIteratorState", {"retval": {"type": "Z"}}) - r( - b"NSAttributedString", - b"loadFromHTMLWithData:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSAttributedString", - b"loadFromHTMLWithFileURL:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSAttributedString", - b"loadFromHTMLWithRequest:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSAttributedString", - b"loadFromHTMLWithString:options:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"NSObject", - b"acceptNode:", - {"required": True, "retval": {"type": "s"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"addEventListener:::", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"addEventListener:listener:useCapture:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r(b"NSObject", b"attributedString", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"canProvideDocumentSource", - {"required": True, "retval": {"type": "Z"}}, - ) - r(b"NSObject", b"cancel", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"chooseFilename:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"chooseFilenames:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"cookiesDidChangeInCookieStore:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"dataSourceUpdated:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"deselectAll", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"didFailWithError:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"didFinish", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"didReceiveData:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"didReceiveResponse:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"dispatchEvent:", - {"required": True, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"documentSource", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"download", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"download:decideDestinationUsingResponse:suggestedFilename:completionHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"download:didFailWithError:resumeData:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"download:didReceiveAuthenticationChallenge:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"download:willPerformHTTPRedirection:newRequest:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"downloadDidFinish:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"downloadWindowForAuthenticationSheet:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"finalizeForWebScript", {"retval": {"type": b"v"}}) - r( - b"NSObject", - b"finishedLoadingWithDataSource:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"handleEvent:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"ignore", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"invokeDefaultMethodWithArguments:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"invokeUndefinedMethodFromWebScript:withArguments:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"isKeyExcludedFromWebScript:", - { - "retval": {"type": "Z"}, - "arguments": {2: {"c_array_delimited_by_null": True, "type": "n^t"}}, - }, - ) - r( - b"NSObject", - b"isSelectorExcludedFromWebScript:", - {"retval": {"type": "Z"}, "arguments": {2: {"type": ":"}}}, - ) - r(b"NSObject", b"layout", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"lookupNamespaceURI:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"objectForWebScript", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"plugInViewWithArguments:", - {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"receivedData:withDataSource:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"receivedError:withDataSource:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"removeEventListener:::", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"removeEventListener:listener:useCapture:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r(b"NSObject", b"request", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"searchFor:direction:caseSensitive:wrap:", - { - "required": True, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": "Z"}, - 4: {"type": "Z"}, - 5: {"type": "Z"}, - }, - }, - ) - r(b"NSObject", b"selectAll", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"selectedAttributedString", - {"required": True, "retval": {"type": b"@"}}, - ) - r(b"NSObject", b"selectedString", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"setDataSource:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"setNeedsLayout:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSObject", b"string", {"required": True, "retval": {"type": b"@"}}) - r(b"NSObject", b"supportsTextEncoding", {"required": True, "retval": {"type": "Z"}}) - r(b"NSObject", b"title", {"required": True, "retval": {"type": b"@"}}) - r( - b"NSObject", - b"undoManagerForWebView:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"use", {"required": True, "retval": {"type": b"v"}}) - r( - b"NSObject", - b"userContentController:didReceiveScriptMessage:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"userContentController:didReceiveScriptMessage:replyHandler:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"viewDidMoveToHostWindow", - {"required": True, "retval": {"type": b"v"}}, - ) - r( - b"NSObject", - b"viewWillMoveToHostWindow:", - {"required": True, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"webFrame", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"webPlugInCallJava:isStatic:returnType:method:arguments:callingURL:exceptionDescription:", - { - "retval": {"type": b"(jvalue=CcSsiqfd^{_jobject=})"}, - "arguments": { - 2: {"type": "^{_jobject=}"}, - 3: {"type": "Z"}, - 4: {"type": b"i"}, - 5: {"type": "^{_jmethodID=}"}, - 6: {"type": "^(jvalue=CcSsiqfd^{_jobject})"}, - 7: {"type": b"@"}, - 8: {"type": b"^@", "type_modifier": b"o"}, - }, - }, - ) - r( - b"NSObject", - b"webPlugInContainerLoadRequest:inFrame:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}}, - ) - r(b"NSObject", b"webPlugInContainerSelectionColor", {"retval": {"type": b"@"}}) - r( - b"NSObject", - b"webPlugInContainerShowStatus:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"webPlugInDestroy", {"retval": {"type": b"v"}}) - r(b"NSObject", b"webPlugInGetApplet", {"retval": {"type": "^{_jobject=}"}}) - r(b"NSObject", b"webPlugInInitialize", {"retval": {"type": b"v"}}) - r( - b"NSObject", - b"webPlugInMainResourceDidFailWithError:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r(b"NSObject", b"webPlugInMainResourceDidFinishLoading", {"retval": {"type": b"v"}}) - r( - b"NSObject", - b"webPlugInMainResourceDidReceiveData:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webPlugInMainResourceDidReceiveResponse:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webPlugInSetIsSelected:", - {"retval": {"type": b"v"}, "arguments": {2: {"type": "Z"}}}, - ) - r(b"NSObject", b"webPlugInStart", {"retval": {"type": b"v"}}) - r(b"NSObject", b"webPlugInStop", {"retval": {"type": b"v"}}) - r( - b"NSObject", - b"webScriptNameForKey:", - { - "retval": {"type": b"@"}, - "arguments": {2: {"c_array_delimited_by_null": True, "type": "n^t"}}, - }, - ) - r( - b"NSObject", - b"webScriptNameForSelector:", - {"retval": {"type": b"@"}, "arguments": {2: {"type": ":"}}}, - ) - r( - b"NSObject", - b"webView:authenticationChallenge:shouldAllowDeprecatedTLS:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"Z"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:contextMenuItemsForElement:defaultMenuItems:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:createWebViewModalDialogWithRequest:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:createWebViewWithRequest:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForMIMEType:request:frame:decisionListener:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForNavigationAction:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForNavigationAction:preferences:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"q"}, - 2: {"type": b"@"}, - }, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForNavigationAction:request:frame:decisionListener:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForNavigationResponse:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:didCancelClientRedirectForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didChangeLocationWithinPageForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didClearWindowObject:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didCommitLoadForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didCommitNavigation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didCreateJavaScriptContext:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFailLoadWithError:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFailNavigation:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFailProvisionalLoadWithError:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFailProvisionalNavigation:withError:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFinishLoadForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didFinishNavigation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didReceiveAuthenticationChallenge:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": sel32or64(b"i", b"q")}, - 2: {"type": b"@"}, - }, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:didReceiveIcon:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didReceiveServerRedirectForProvisionalLoadForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didReceiveServerRedirectForProvisionalNavigation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didReceiveTitle:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didStartProvisionalLoadForFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:didStartProvisionalNavigation:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:doCommandBySelector:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": ":"}}, - }, - ) - r( - b"NSObject", - b"webView:dragDestinationActionMaskForDraggingInfo:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:dragSourceActionMaskForPoint:", - { - "required": False, - "retval": {"type": b"Q"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"{CGPoint=dd}"}}, - }, - ) - r( - b"NSObject", - b"webView:drawFooterInRect:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"webView:drawHeaderInRect:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"webView:identifierForInitialRequest:fromDataSource:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:makeFirstResponder:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:mouseDidMoveOverElement:modifierFlags:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"Q"}}, - }, - ) - r( - b"NSObject", - b"webView:navigationAction:didBecomeDownload:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:navigationResponse:didBecomeDownload:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:plugInFailedWithError:dataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:printFrameView:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:type:decisionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": "@?", - } - } - }, - ) - r( - b"NSObject", - b"webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"q"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - }, - "type": b"@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:didCancelAuthenticationChallenge:fromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:didFailLoadingWithError:fromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:didFinishLoadingFromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:resource:didReceiveAuthenticationChallenge:fromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:didReceiveContentLength:fromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"q"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:didReceiveResponse:fromDataSource:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:resource:willSendRequest:redirectResponse:fromDataSource:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptAlertPanelWithMessage:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptConfirmPanelWithMessage:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:", - { - "required": False, - "retval": {"type": b"@"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"@"}, - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:runOpenPanelForFileButtonWithResultListener:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - }, - "type": "@?", - }, - }, - }, - ) - r( - b"NSObject", - b"webView:setContentRect:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"webView:setFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - }, - }, - ) - r( - b"NSObject", - b"webView:setResizable:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"webView:setStatusBarVisible:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"webView:setStatusText:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:setToolbarsVisible:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldApplyStyle:toElementsInDOMRange:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldBeginEditingInDOMRange:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"Q"}, - 6: {"type": "Z"}, - }, - }, - ) - r( - b"NSObject", - b"webView:shouldChangeTypingStyle:toStyle:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldDeleteDOMRange:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldEndEditingInDOMRange:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:shouldInsertNode:replacingDOMRange:givenAction:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"webView:shouldInsertText:replacingDOMRange:givenAction:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"@"}, - 5: {"type": b"q"}, - }, - }, - ) - r( - b"NSObject", - b"webView:shouldPerformAction:fromSender:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": ":"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:startURLSchemeTask:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:stopURLSchemeTask:", - { - "required": True, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:unableToImplementPolicyWithError:frame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:validateUserInterfaceItem:defaultValidation:", - { - "required": False, - "retval": {"type": "Z"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": "Z"}}, - }, - ) - r( - b"NSObject", - b"webView:willCloseFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"@"}, - 4: {"type": b"d"}, - 5: {"type": b"@"}, - 6: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:willPerformDragDestinationAction:forDraggingInfo:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"Q"}, 4: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webView:willPerformDragSourceAction:fromPoint:withPasteboard:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": { - 2: {"type": b"@"}, - 3: {"type": b"Q"}, - 4: {"type": b"{CGPoint=dd}"}, - 5: {"type": b"@"}, - }, - }, - ) - r( - b"NSObject", - b"webView:windowScriptObjectAvailable:", - { - "required": False, - "retval": {"type": b"v"}, - "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webViewAreToolbarsVisible:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewContentRect:", - { - "required": False, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webViewDidBeginEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewDidChange:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewDidChangeSelection:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewDidChangeTypingStyle:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewDidClose:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewDidEndEditing:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewFirstResponder:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewFocus:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewFooterHeight:", - {"required": False, "retval": {"type": b"f"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewFrame:", - { - "required": False, - "retval": {"type": b"{CGRect={CGPoint=dd}{CGSize=dd}}"}, - "arguments": {2: {"type": b"@"}}, - }, - ) - r( - b"NSObject", - b"webViewHeaderHeight:", - {"required": False, "retval": {"type": b"f"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewIsResizable:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewIsStatusBarVisible:", - {"required": False, "retval": {"type": "Z"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewRunModal:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewShow:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewStatusText:", - {"required": False, "retval": {"type": b"@"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewUnfocus:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"NSObject", - b"webViewWebContentProcessDidTerminate:", - {"required": False, "retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}}, - ) - r( - b"WKContentRuleListStore", - b"compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKContentRuleListStore", - b"getAvailableContentRuleListIdentifiers:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"WKContentRuleListStore", - b"lookUpContentRuleListForIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKContentRuleListStore", - b"removeContentRuleListForIdentifier:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"WKDownload", - b"cancel:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"WKFindConfiguration", b"backwards", {"retval": {"type": b"Z"}}) - r(b"WKFindConfiguration", b"caseSensitive", {"retval": {"type": b"Z"}}) - r(b"WKFindConfiguration", b"setBackwards:", {"arguments": {2: {"type": b"Z"}}}) - r(b"WKFindConfiguration", b"setCaseSensitive:", {"arguments": {2: {"type": b"Z"}}}) - r(b"WKFindConfiguration", b"setWraps:", {"arguments": {2: {"type": b"Z"}}}) - r(b"WKFindConfiguration", b"wraps", {"retval": {"type": b"Z"}}) - r(b"WKFindResult", b"matchFound", {"retval": {"type": b"Z"}}) - r(b"WKFrameInfo", b"isMainFrame", {"retval": {"type": b"Z"}}) - r( - b"WKHTTPCookieStore", - b"deleteCookie:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKHTTPCookieStore", - b"getAllCookies:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"WKHTTPCookieStore", - b"setCookie:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKNavigationAction", - b"setShouldPerformDownload:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WKNavigationAction", b"shouldPerformDownload", {"retval": {"type": "Z"}}) - r(b"WKNavigationResponse", b"canShowMIMEType", {"retval": {"type": b"Z"}}) - r(b"WKNavigationResponse", b"isForMainFrame", {"retval": {"type": b"Z"}}) - r(b"WKOpenPanelParameters", b"allowsDirectories", {"retval": {"type": "Z"}}) - r(b"WKOpenPanelParameters", b"allowsMultipleSelection", {"retval": {"type": "Z"}}) - r(b"WKPreferences", b"isElementFullscreenEnabled", {"retval": {"type": b"Z"}}) - r( - b"WKPreferences", - b"isFraudulentWebsiteWarningEnabled", - {"retval": {"type": b"Z"}}, - ) - r(b"WKPreferences", b"isSafeBrowsingEnabled", {"retval": {"type": b"Z"}}) - r(b"WKPreferences", b"isSiteSpecificQuirksModeEnabled", {"retval": {"type": b"Z"}}) - r(b"WKPreferences", b"isTextInteractionEnabled", {"retval": {"type": b"Z"}}) - r(b"WKPreferences", b"javaEnabled", {"retval": {"type": b"Z"}}) - r( - b"WKPreferences", - b"javaScriptCanOpenWindowsAutomatically", - {"retval": {"type": b"Z"}}, - ) - r(b"WKPreferences", b"javaScriptEnabled", {"retval": {"type": b"Z"}}) - r(b"WKPreferences", b"plugInsEnabled", {"retval": {"type": b"Z"}}) - r( - b"WKPreferences", - b"setElementFullscreenEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"WKPreferences", - b"setFraudulentWebsiteWarningEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"WKPreferences", b"setJavaEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"WKPreferences", - b"setJavaScriptCanOpenWindowsAutomatically:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"WKPreferences", b"setJavaScriptEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"WKPreferences", b"setPlugInsEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r(b"WKPreferences", b"setSafeBrowsingEnabled:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"WKPreferences", - b"setSiteSpecificQuirksModeEnabled:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"WKPreferences", b"setTabFocusesLinks:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WKPreferences", - b"setTextInteractionEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WKPreferences", b"tabFocusesLinks", {"retval": {"type": "Z"}}) - r(b"WKPreferences", b"textInteractionEnabled", {"retval": {"type": "Z"}}) - r(b"WKSnapshotConfiguration", b"afterScreenUpdates", {"retval": {"type": "Z"}}) - r( - b"WKSnapshotConfiguration", - b"setAfterScreenUpdates:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WKUserScript", - b"initWithSource:injectionTime:forMainFrameOnly:", - {"arguments": {4: {"type": b"Z"}}}, - ) - r( - b"WKUserScript", - b"initWithSource:injectionTime:forMainFrameOnly:inContentWorld:", - {"arguments": {4: {"type": "Z"}}}, - ) - r(b"WKUserScript", b"isForMainFrameOnly", {"retval": {"type": b"Z"}}) - r(b"WKWebView", b"allowsBackForwardNavigationGestures", {"retval": {"type": b"Z"}}) - r(b"WKWebView", b"allowsLinkPreview", {"retval": {"type": "Z"}}) - r(b"WKWebView", b"allowsMagnification", {"retval": {"type": b"Z"}}) - r( - b"WKWebView", - b"callAsyncJavaScript:arguments:inContentWorld:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"callAsyncJavaScript:arguments:inFrame:inContentWorld:completionHandler:", - { - "arguments": { - 6: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r(b"WKWebView", b"canGoBack", {"retval": {"type": b"Z"}}) - r(b"WKWebView", b"canGoForward", {"retval": {"type": b"Z"}}) - r( - b"WKWebView", - b"closeAllMediaPresentationsWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"createPDFWithConfiguration:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"createWebArchiveDataWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"evaluateJavaScript:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"evaluateJavaScript:inContentWorld:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"evaluateJavaScript:inFrame:inContentWorld:completionHandler:", - { - "arguments": { - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebView", - b"findString:withConfiguration:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"WKWebView", b"handlesURLScheme:", {"retval": {"type": "Z"}}) - r(b"WKWebView", b"hasOnlySecureContent", {"retval": {"type": b"Z"}}) - r(b"WKWebView", b"isLoading", {"retval": {"type": b"Z"}}) - r( - b"WKWebView", - b"pauseAllMediaPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"pauseAllMediaPlaybackWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"requestMediaPlaybackState:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"requestMediaPlaybackStateWithCompletionHandler:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"q"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"resumeAllMediaPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"resumeDownloadFromResumeData:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"setAllMediaPlaybackSuspended:completionHandler:", - { - "arguments": { - 2: {"type": b"Z"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - }, - } - }, - ) - r( - b"WKWebView", - b"setAllowsBackForwardNavigationGestures:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"WKWebView", b"setAllowsLinkPreview:", {"arguments": {2: {"type": "Z"}}}) - r(b"WKWebView", b"setAllowsMagnification:", {"arguments": {2: {"type": b"Z"}}}) - r( - b"WKWebView", - b"setCameraCaptureState:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"setMicrophoneCaptureState:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"startDownloadUsingRequest:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"suspendAllMediaPlayback:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebView", - b"takeSnapshotWithConfiguration:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - }, - } - } - } - }, - ) - r( - b"WKWebViewConfiguration", - b"allowsAirPlayForMediaPlayback", - {"retval": {"type": "Z"}}, - ) - r( - b"WKWebViewConfiguration", - b"allowsPictureInPictureMediaPlayback", - {"retval": {"type": "Z"}}, - ) - r( - b"WKWebViewConfiguration", - b"limitsNavigationsToAppBoundDomains", - {"retval": {"type": b"Z"}}, - ) - r( - b"WKWebViewConfiguration", - b"setAllowsAirPlayForMediaPlayback:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WKWebViewConfiguration", - b"setAllowsPictureInPictureMediaPlayback:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WKWebViewConfiguration", - b"setLimitsNavigationsToAppBoundDomains:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"WKWebViewConfiguration", - b"setSuppressesIncrementalRendering:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"WKWebViewConfiguration", - b"setUpgradeKnownHostsToHTTPS:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"WKWebViewConfiguration", - b"suppressesIncrementalRendering", - {"retval": {"type": b"Z"}}, - ) - r( - b"WKWebViewConfiguration", - b"upgradeKnownHostsToHTTPS", - {"retval": {"type": b"Z"}}, - ) - r(b"WKWebpagePreferences", b"allowsContentJavaScript", {"retval": {"type": b"Z"}}) - r( - b"WKWebpagePreferences", - b"setAllowsContentJavaScript:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r( - b"WKWebsiteDataStore", - b"fetchDataRecordsOfTypes:completionHandler:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}}, - } - } - } - }, - ) - r(b"WKWebsiteDataStore", b"isPersistent", {"retval": {"type": "Z"}}) - r( - b"WKWebsiteDataStore", - b"removeDataOfTypes:forDataRecords:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r( - b"WKWebsiteDataStore", - b"removeDataOfTypes:modifiedSince:completionHandler:", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": b"^v"}}, - } - } - } - }, - ) - r(b"WebBackForwardList", b"containsItem:", {"retval": {"type": "Z"}}) - r(b"WebDataSource", b"isLoading", {"retval": {"type": "Z"}}) - r(b"WebFrame", b"globalContext", {"retval": {"type": "^{OpaqueJSContext=}"}}) - r(b"WebFrameView", b"allowsScrolling", {"retval": {"type": "Z"}}) - r(b"WebFrameView", b"canPrintHeadersAndFooters", {"retval": {"type": "Z"}}) - r(b"WebFrameView", b"documentViewShouldHandlePrint", {"retval": {"type": "Z"}}) - r(b"WebFrameView", b"setAllowsScrolling:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WebHistory", - b"loadFromURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"WebHistory", - b"saveToURL:error:", - {"retval": {"type": "Z"}, "arguments": {3: {"type_modifier": b"o"}}}, - ) - r(b"WebPreferences", b"allowsAirPlayForMediaPlayback", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"allowsAnimatedImageLooping", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"allowsAnimatedImages", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"arePlugInsEnabled", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"autosaves", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"isJavaEnabled", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"isJavaScriptEnabled", {"retval": {"type": "Z"}}) - r( - b"WebPreferences", - b"javaScriptCanOpenWindowsAutomatically", - {"retval": {"type": "Z"}}, - ) - r(b"WebPreferences", b"loadsImagesAutomatically", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"privateBrowsingEnabled", {"retval": {"type": "Z"}}) - r( - b"WebPreferences", - b"setAllowsAirPlayForMediaPlayback:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WebPreferences", - b"setAllowsAnimatedImageLooping:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WebPreferences", b"setAllowsAnimatedImages:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebPreferences", b"setAutosaves:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebPreferences", b"setJavaEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WebPreferences", - b"setJavaScriptCanOpenWindowsAutomatically:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WebPreferences", b"setJavaScriptEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WebPreferences", - b"setLoadsImagesAutomatically:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WebPreferences", b"setPlugInsEnabled:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WebPreferences", - b"setPrivateBrowsingEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WebPreferences", - b"setShouldPrintBackgrounds:", - {"arguments": {2: {"type": "Z"}}}, - ) - r( - b"WebPreferences", - b"setSuppressesIncrementalRendering:", - {"arguments": {2: {"type": b"Z"}}}, - ) - r(b"WebPreferences", b"setTabsToLinks:", {"arguments": {2: {"type": "Z"}}}) - r( - b"WebPreferences", - b"setUserStyleSheetEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WebPreferences", b"setUsesPageCache:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebPreferences", b"shouldPrintBackgrounds", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"suppressesIncrementalRendering", {"retval": {"type": b"Z"}}) - r(b"WebPreferences", b"tabsToLinks", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"userStyleSheetEnabled", {"retval": {"type": "Z"}}) - r(b"WebPreferences", b"usesPageCache", {"retval": {"type": "Z"}}) - r(b"WebScriptObject", b"JSObject", {"retval": {"type": "^{OpaqueJSValue=}"}}) - r(b"WebScriptObject", b"throwException:", {"retval": {"type": "Z"}}) - r(b"WebView", b"canGoBack", {"retval": {"type": "Z"}}) - r(b"WebView", b"canGoForward", {"retval": {"type": "Z"}}) - r(b"WebView", b"canMakeTextLarger", {"retval": {"type": "Z"}}) - r(b"WebView", b"canMakeTextSmaller", {"retval": {"type": "Z"}}) - r(b"WebView", b"canMakeTextStandardSize", {"retval": {"type": "Z"}}) - r(b"WebView", b"canShowMIMEType:", {"retval": {"type": "Z"}}) - r(b"WebView", b"canShowMIMETypeAsHTML:", {"retval": {"type": "Z"}}) - r(b"WebView", b"drawsBackground", {"retval": {"type": "Z"}}) - r(b"WebView", b"goBack", {"retval": {"type": "Z"}}) - r(b"WebView", b"goForward", {"retval": {"type": "Z"}}) - r(b"WebView", b"goToBackForwardItem:", {"retval": {"type": "Z"}}) - r(b"WebView", b"isContinuousSpellCheckingEnabled", {"retval": {"type": "Z"}}) - r(b"WebView", b"isEditable", {"retval": {"type": "Z"}}) - r(b"WebView", b"isLoading", {"retval": {"type": "Z"}}) - r(b"WebView", b"maintainsInactiveSelection", {"retval": {"type": "Z"}}) - r( - b"WebView", - b"searchFor:direction:caseSensitive:wrap:", - { - "retval": {"type": "Z"}, - "arguments": {3: {"type": "Z"}, 4: {"type": "Z"}, 5: {"type": "Z"}}, - }, - ) - r( - b"WebView", - b"setContinuousSpellCheckingEnabled:", - {"arguments": {2: {"type": "Z"}}}, - ) - r(b"WebView", b"setDrawsBackground:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"setEditable:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"setMaintainsBackForwardList:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"setShouldCloseWithWindow:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"setShouldUpdateWhileOffscreen:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"setSmartInsertDeleteEnabled:", {"arguments": {2: {"type": "Z"}}}) - r(b"WebView", b"shouldCloseWithWindow", {"retval": {"type": "Z"}}) - r(b"WebView", b"shouldUpdateWhileOffscreen", {"retval": {"type": "Z"}}) - r(b"WebView", b"smartInsertDeleteEnabled", {"retval": {"type": "Z"}}) - r(b"WebView", b"supportsTextEncoding", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -protocols = { - "WebUIDelegate": objc.informal_protocol( - "WebUIDelegate", - [ - objc.selector( - None, - b"webView:runOpenPanelForFileButtonWithResultListener:", - b"v@:@@", - isRequired=False, - ), - objc.selector(None, b"webViewFirstResponder:", b"@@:@", isRequired=False), - objc.selector( - None, - b"webView:runJavaScriptAlertPanelWithMessage:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:", - b"Z@:@@@", - isRequired=False, - ), - objc.selector(None, b"webViewShow:", b"v@:@", isRequired=False), - objc.selector( - None, - b"webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:", - b"Z@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:drawHeaderInRect:", - b"v@:@{CGRect={CGPoint=dd}{CGSize=dd}}", - isRequired=False, - ), - objc.selector(None, b"webViewRunModal:", b"v@:@", isRequired=False), - objc.selector( - None, b"webViewIsStatusBarVisible:", b"Z@:@", isRequired=False - ), - objc.selector(None, b"webViewFooterHeight:", b"f@:@", isRequired=False), - objc.selector( - None, - b"webView:validateUserInterfaceItem:defaultValidation:", - b"Z@:@@Z", - isRequired=False, - ), - objc.selector( - None, - b"webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:", - b"v@:@@Z", - isRequired=False, - ), - objc.selector( - None, - b"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:", - b"@@:@@@@", - isRequired=False, - ), - objc.selector(None, b"webViewIsResizable:", b"Z@:@", isRequired=False), - objc.selector( - None, b"webView:setToolbarsVisible:", b"v@:@Z", isRequired=False - ), - objc.selector( - None, - b"webView:setContentRect:", - b"v@:@{CGRect={CGPoint=dd}{CGSize=dd}}", - isRequired=False, - ), - objc.selector( - None, - b"webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:drawFooterInRect:", - b"v@:@{CGRect={CGPoint=dd}{CGSize=dd}}", - isRequired=False, - ), - objc.selector( - None, - b"webView:runJavaScriptTextInputPanelWithPrompt:defaultText:", - b"@@:@@@", - isRequired=False, - ), - objc.selector(None, b"webView:setResizable:", b"v@:@Z", isRequired=False), - objc.selector( - None, - b"webViewContentRect:", - b"{CGRect={CGPoint=dd}{CGSize=dd}}@:@", - isRequired=False, - ), - objc.selector(None, b"webViewClose:", b"v@:@", isRequired=False), - objc.selector( - None, - b"webView:shouldPerformAction:fromSender:", - b"Z@:@:@", - isRequired=False, - ), - objc.selector( - None, - b"webView:dragSourceActionMaskForPoint:", - b"Q@:@{CGPoint=dd}", - isRequired=False, - ), - objc.selector( - None, b"webViewAreToolbarsVisible:", b"Z@:@", isRequired=False - ), - objc.selector( - None, - b"webView:setFrame:", - b"v@:@{CGRect={CGPoint=dd}{CGSize=dd}}", - isRequired=False, - ), - objc.selector( - None, - b"webView:dragDestinationActionMaskForDraggingInfo:", - b"Q@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:mouseDidMoveOverElement:modifierFlags:", - b"v@:@@Q", - isRequired=False, - ), - objc.selector(None, b"webViewHeaderHeight:", b"f@:@", isRequired=False), - objc.selector( - None, - b"webView:runJavaScriptConfirmPanelWithMessage:", - b"Z@:@@", - isRequired=False, - ), - objc.selector(None, b"webViewStatusText:", b"@@:@", isRequired=False), - objc.selector( - None, b"webView:createWebViewWithRequest:", b"@@:@@", isRequired=False - ), - objc.selector( - None, - b"webView:willPerformDragDestinationAction:forDraggingInfo:", - b"v@:@Q@", - isRequired=False, - ), - objc.selector(None, b"webViewUnfocus:", b"v@:@", isRequired=False), - objc.selector( - None, b"webView:makeFirstResponder:", b"v@:@@", isRequired=False - ), - objc.selector(None, b"webView:setStatusText:", b"v@:@@", isRequired=False), - objc.selector( - None, - b"webView:willPerformDragSourceAction:fromPoint:withPasteboard:", - b"v@:@Q{CGPoint=dd}@", - isRequired=False, - ), - objc.selector( - None, - b"webView:contextMenuItemsForElement:defaultMenuItems:", - b"@@:@@@", - isRequired=False, - ), - objc.selector(None, b"webViewFocus:", b"v@:@", isRequired=False), - objc.selector(None, b"webView:printFrameView:", b"v@:@@", isRequired=False), - objc.selector( - None, - b"webViewFrame:", - b"{CGRect={CGPoint=dd}{CGSize=dd}}@:@", - isRequired=False, - ), - objc.selector( - None, b"webView:setStatusBarVisible:", b"v@:@Z", isRequired=False - ), - objc.selector( - None, - b"webView:createWebViewModalDialogWithRequest:", - b"@@:@@", - isRequired=False, - ), - ], - ), - "WebViewEditingDelegate": objc.informal_protocol( - "WebViewEditingDelegate", - [ - objc.selector(None, b"webViewDidBeginEditing:", b"v@:@", isRequired=False), - objc.selector( - None, b"webViewDidChangeSelection:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"webView:shouldDeleteDOMRange:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, - b"webView:shouldChangeTypingStyle:toStyle:", - b"Z@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:", - b"Z@:@@@QZ", - isRequired=False, - ), - objc.selector( - None, - b"webView:shouldApplyStyle:toElementsInDOMRange:", - b"Z@:@@@", - isRequired=False, - ), - objc.selector( - None, b"webView:doCommandBySelector:", b"Z@:@:", isRequired=False - ), - objc.selector( - None, b"webViewDidChangeTypingStyle:", b"v@:@", isRequired=False - ), - objc.selector(None, b"undoManagerForWebView:", b"@@:@", isRequired=False), - objc.selector(None, b"webViewDidEndEditing:", b"v@:@", isRequired=False), - objc.selector( - None, - b"webView:shouldInsertText:replacingDOMRange:givenAction:", - b"Z@:@@@q", - isRequired=False, - ), - objc.selector(None, b"webViewDidChange:", b"v@:@", isRequired=False), - objc.selector( - None, b"webView:shouldEndEditingInDOMRange:", b"Z@:@@", isRequired=False - ), - objc.selector( - None, - b"webView:shouldBeginEditingInDOMRange:", - b"Z@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:shouldInsertNode:replacingDOMRange:givenAction:", - b"Z@:@@@q", - isRequired=False, - ), - ], - ), - "WebPolicyDelegate": objc.informal_protocol( - "WebPolicyDelegate", - [ - objc.selector( - None, - b"webView:unableToImplementPolicyWithError:frame:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:decidePolicyForNavigationAction:request:frame:decisionListener:", - b"v@:@@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:", - b"v@:@@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:decidePolicyForMIMEType:request:frame:decisionListener:", - b"v@:@@@@@", - isRequired=False, - ), - ], - ), - "WebDownloadDelegate": objc.informal_protocol( - "WebDownloadDelegate", - [ - objc.selector( - None, - b"downloadWindowForAuthenticationSheet:", - b"@@:@", - isRequired=False, - ) - ], - ), - "WebPlugIn": objc.informal_protocol( - "WebPlugIn", - [ - objc.selector( - None, - b"webPlugInMainResourceDidReceiveResponse:", - b"v@:@", - isRequired=False, - ), - objc.selector(None, b"objectForWebScript", b"@@:", isRequired=False), - objc.selector( - None, b"webPlugInMainResourceDidFinishLoading", b"v@:", isRequired=False - ), - objc.selector( - None, - b"webPlugInMainResourceDidFailWithError:", - b"v@:@", - isRequired=False, - ), - objc.selector( - None, b"webPlugInMainResourceDidReceiveData:", b"v@:@", isRequired=False - ), - objc.selector(None, b"webPlugInDestroy", b"v@:", isRequired=False), - objc.selector(None, b"webPlugInStop", b"v@:", isRequired=False), - objc.selector(None, b"webPlugInSetIsSelected:", b"v@:Z", isRequired=False), - objc.selector(None, b"webPlugInInitialize", b"v@:", isRequired=False), - objc.selector(None, b"webPlugInStart", b"v@:", isRequired=False), - ], - ), - "WebJavaPlugIn": objc.informal_protocol( - "WebJavaPlugIn", - [ - objc.selector( - None, - b"webPlugInCallJava:isStatic:returnType:method:arguments:callingURL:exceptionDescription:", - b"(jvalue=CcSsiqfd^{_jobject=})@:^{_jobject=}Zi^{_jmethodID=}^(jvalue=CcSsiqfd^{_jobject=})@^@", - isRequired=False, - ), - objc.selector( - None, b"webPlugInGetApplet", b"^{_jobject=}@:", isRequired=False - ), - ], - ), - "WebResourceLoadDelegate": objc.informal_protocol( - "WebResourceLoadDelegate", - [ - objc.selector( - None, - b"webView:resource:didCancelAuthenticationChallenge:fromDataSource:", - b"v@:@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:didFinishLoadingFromDataSource:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:identifierForInitialRequest:fromDataSource:", - b"@@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:willSendRequest:redirectResponse:fromDataSource:", - b"@@:@@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:plugInFailedWithError:dataSource:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:didReceiveResponse:fromDataSource:", - b"v@:@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:didReceiveContentLength:fromDataSource:", - b"v@:@@q@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:didFailLoadingWithError:fromDataSource:", - b"v@:@@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:resource:didReceiveAuthenticationChallenge:fromDataSource:", - b"v@:@@@@", - isRequired=False, - ), - ], - ), - "WebFrameLoadDelegate": objc.informal_protocol( - "WebFrameLoadDelegate", - [ - objc.selector( - None, - b"webView:didCancelClientRedirectForFrame:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:didClearWindowObject:forFrame:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, b"webView:didReceiveTitle:forFrame:", b"v@:@@@", isRequired=False - ), - objc.selector( - None, - b"webView:didStartProvisionalLoadForFrame:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, b"webView:didCommitLoadForFrame:", b"v@:@@", isRequired=False - ), - objc.selector( - None, b"webView:didFinishLoadForFrame:", b"v@:@@", isRequired=False - ), - objc.selector( - None, - b"webView:didFailProvisionalLoadWithError:forFrame:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:didFailLoadWithError:forFrame:", - b"v@:@@@", - isRequired=False, - ), - objc.selector( - None, b"webView:didReceiveIcon:forFrame:", b"v@:@@@", isRequired=False - ), - objc.selector( - None, - b"webView:didReceiveServerRedirectForProvisionalLoadForFrame:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:", - b"v@:@@d@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:windowScriptObjectAvailable:", - b"v@:@@", - isRequired=False, - ), - objc.selector( - None, - b"webView:didChangeLocationWithinPageForFrame:", - b"v@:@@", - isRequired=False, - ), - objc.selector(None, b"webView:willCloseFrame:", b"v@:@@", isRequired=False), - ], - ), - "WebPlugInContainer": objc.informal_protocol( - "WebPlugInContainer", - [ - objc.selector( - None, b"webPlugInContainerShowStatus:", b"v@:@", isRequired=False - ), - objc.selector( - None, b"webPlugInContainerSelectionColor", b"@@:", isRequired=False - ), - objc.selector(None, b"webFrame", b"@@:", isRequired=False), - objc.selector( - None, - b"webPlugInContainerLoadRequest:inFrame:", - b"v@:@@", - isRequired=False, - ), - ], - ), - "WebScripting": objc.informal_protocol( - "WebScripting", - [ - objc.selector(None, b"finalizeForWebScript", b"v@:", isRequired=False), - objc.selector( - None, - b"invokeUndefinedMethodFromWebScript:withArguments:", - b"@@:@@", - isRequired=False, - ), - objc.selector(None, b"webScriptNameForKey:", b"@@:^c", isRequired=False), - objc.selector( - None, b"webScriptNameForSelector:", b"@@::", isRequired=False - ), - objc.selector( - None, b"invokeDefaultMethodWithArguments:", b"@@:@", isRequired=False - ), - objc.selector( - None, b"isSelectorExcludedFromWebScript:", b"Z@::", isRequired=False - ), - objc.selector( - None, b"isKeyExcludedFromWebScript:", b"Z@:^c", isRequired=False - ), - ], - ), -} -expressions = {} - -# END OF FILE diff --git a/src/lib/iTunesLibrary/__init__.py b/src/lib/iTunesLibrary/__init__.py deleted file mode 100644 index 6a1d5ce..0000000 --- a/src/lib/iTunesLibrary/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Python mapping for the iTunesLibrary framework. - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions and classes. -""" -import os -import sys - - -import Foundation -import objc -from iTunesLibrary import _metadata - -if os.path.exists("/System/Library/Frameworks/iTunesLibrary.framework"): - # macOS 11 - framework_path = "/System/Library/Frameworks/iTunesLibrary.framework" -else: - # macOS 10.15 or earlier - framework_path = "/Library/Frameworks/iTunesLibrary.framework" - -sys.modules["iTunesLibrary"] = mod = objc.ObjCLazyModule( - "iTunesLibrary", - "com.apple.iTunesLibrary", - objc.pathForFramework(framework_path), - _metadata.__dict__, - None, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, - (Foundation,), -) - - -del sys.modules["iTunesLibrary._metadata"] diff --git a/src/lib/iTunesLibrary/_metadata.py b/src/lib/iTunesLibrary/_metadata.py deleted file mode 100644 index 0a6f28d..0000000 --- a/src/lib/iTunesLibrary/_metadata.py +++ /dev/null @@ -1,138 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:32:04 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -constants = """$ITLibMediaEntityPropertyPersistentID$ITLibMediaItemPropertyAddedDate$ITLibMediaItemPropertyAlbumArtist$ITLibMediaItemPropertyAlbumDiscCount$ITLibMediaItemPropertyAlbumDiscNumber$ITLibMediaItemPropertyAlbumIsCompilation$ITLibMediaItemPropertyAlbumIsGapless$ITLibMediaItemPropertyAlbumRating$ITLibMediaItemPropertyAlbumRatingComputed$ITLibMediaItemPropertyAlbumTitle$ITLibMediaItemPropertyAlbumTrackCount$ITLibMediaItemPropertyArtistName$ITLibMediaItemPropertyArtwork$ITLibMediaItemPropertyBeatsPerMinute$ITLibMediaItemPropertyBitRate$ITLibMediaItemPropertyCategory$ITLibMediaItemPropertyComments$ITLibMediaItemPropertyComposer$ITLibMediaItemPropertyContentRating$ITLibMediaItemPropertyDescription$ITLibMediaItemPropertyFileSize$ITLibMediaItemPropertyFileType$ITLibMediaItemPropertyGenre$ITLibMediaItemPropertyGrouping$ITLibMediaItemPropertyHasArtwork$ITLibMediaItemPropertyIsDRMProtected$ITLibMediaItemPropertyIsPurchased$ITLibMediaItemPropertyIsUserDisabled$ITLibMediaItemPropertyIsVideo$ITLibMediaItemPropertyKind$ITLibMediaItemPropertyLastPlayDate$ITLibMediaItemPropertyLocation$ITLibMediaItemPropertyLocationType$ITLibMediaItemPropertyLyricsContentRating$ITLibMediaItemPropertyMediaKind$ITLibMediaItemPropertyModifiedDate$ITLibMediaItemPropertyMovementCount$ITLibMediaItemPropertyMovementName$ITLibMediaItemPropertyMovementNumber$ITLibMediaItemPropertyPlayCount$ITLibMediaItemPropertyPlayStatus$ITLibMediaItemPropertyRating$ITLibMediaItemPropertyRatingComputed$ITLibMediaItemPropertyReleaseDate$ITLibMediaItemPropertySampleRate$ITLibMediaItemPropertySize$ITLibMediaItemPropertySkipDate$ITLibMediaItemPropertySortAlbumArtist$ITLibMediaItemPropertySortAlbumTitle$ITLibMediaItemPropertySortArtistName$ITLibMediaItemPropertySortComposer$ITLibMediaItemPropertySortTitle$ITLibMediaItemPropertyStartTime$ITLibMediaItemPropertyStopTime$ITLibMediaItemPropertyTitle$ITLibMediaItemPropertyTotalTime$ITLibMediaItemPropertyTrackNumber$ITLibMediaItemPropertyUserSkipCount$ITLibMediaItemPropertyVideoEpisode$ITLibMediaItemPropertyVideoEpisodeOrder$ITLibMediaItemPropertyVideoHeight$ITLibMediaItemPropertyVideoIsHD$ITLibMediaItemPropertyVideoSeason$ITLibMediaItemPropertyVideoSeries$ITLibMediaItemPropertyVideoSortSeries$ITLibMediaItemPropertyVideoWidth$ITLibMediaItemPropertyVoiceOverLanguage$ITLibMediaItemPropertyVolumeAdjustment$ITLibMediaItemPropertyVolumeNormalizationEnergy$ITLibMediaItemPropertyWork$ITLibMediaItemPropertyYear$ITLibPlaylistPropertyAllItemsPlaylist$ITLibPlaylistPropertyDistinguisedKind$ITLibPlaylistPropertyItems$ITLibPlaylistPropertyKind$ITLibPlaylistPropertyMaster$ITLibPlaylistPropertyName$ITLibPlaylistPropertyParentPersistentID$ITLibPlaylistPropertyPrimary$ITLibPlaylistPropertyVisible$""" -enums = """$ITLibArtworkFormatBMP@6$ITLibArtworkFormatBitmap@1$ITLibArtworkFormatGIF@4$ITLibArtworkFormatJPEG@2$ITLibArtworkFormatJPEG2000@3$ITLibArtworkFormatNone@0$ITLibArtworkFormatPICT@8$ITLibArtworkFormatPNG@5$ITLibArtworkFormatTIFF@7$ITLibDistinguishedPlaylistKind90sMusic@42$ITLibDistinguishedPlaylistKindApplications@51$ITLibDistinguishedPlaylistKindAudiobooks@4$ITLibDistinguishedPlaylistKindBooks@4$ITLibDistinguishedPlaylistKindClassicalMusic@48$ITLibDistinguishedPlaylistKindHomeVideos@50$ITLibDistinguishedPlaylistKindLibraryMusicVideos@49$ITLibDistinguishedPlaylistKindLovedSongs@52$ITLibDistinguishedPlaylistKindMovies@1$ITLibDistinguishedPlaylistKindMusic@3$ITLibDistinguishedPlaylistKindMusicShowsAndMovies@53$ITLibDistinguishedPlaylistKindMusicVideos@47$ITLibDistinguishedPlaylistKindMyTopRated@43$ITLibDistinguishedPlaylistKindNone@0$ITLibDistinguishedPlaylistKindPodcasts@7$ITLibDistinguishedPlaylistKindPurchases@16$ITLibDistinguishedPlaylistKindRecentlyAdded@46$ITLibDistinguishedPlaylistKindRecentlyPlayed@45$ITLibDistinguishedPlaylistKindRingtones@5$ITLibDistinguishedPlaylistKindTVShows@2$ITLibDistinguishedPlaylistKindTop25MostPlayed@44$ITLibDistinguishedPlaylistKindVoiceMemos@14$ITLibDistinguishedPlaylistKindiTunesU@26$ITLibExportFeatureNone@0$ITLibInitOptionLazyLoadData@1$ITLibInitOptionNone@0$ITLibMediaItemLocationTypeFile@1$ITLibMediaItemLocationTypeRemote@3$ITLibMediaItemLocationTypeURL@2$ITLibMediaItemLocationTypeUnknown@0$ITLibMediaItemLyricsContentRatingClean@2$ITLibMediaItemLyricsContentRatingExplicit@1$ITLibMediaItemLyricsContentRatingNone@0$ITLibMediaItemMediaKindAlertTone@21$ITLibMediaItemMediaKindAudiobook@5$ITLibMediaItemMediaKindBook@19$ITLibMediaItemMediaKindDigitalBooklet@15$ITLibMediaItemMediaKindHomeVideo@12$ITLibMediaItemMediaKindIOSApplication@16$ITLibMediaItemMediaKindInteractiveBooklet@9$ITLibMediaItemMediaKindMovie@3$ITLibMediaItemMediaKindMusicVideo@7$ITLibMediaItemMediaKindPDFBook@20$ITLibMediaItemMediaKindPDFBooklet@6$ITLibMediaItemMediaKindPodcast@4$ITLibMediaItemMediaKindRingtone@14$ITLibMediaItemMediaKindSong@2$ITLibMediaItemMediaKindTVShow@8$ITLibMediaItemMediaKindUnknown@1$ITLibMediaItemMediaKindVoiceMemo@17$ITLibMediaItemMediaKindiTunesU@18$ITLibMediaItemPlayStatusNone@0$ITLibMediaItemPlayStatusPartiallyPlayed@1$ITLibMediaItemPlayStatusUnplayed@2$ITLibPlaylistKindFolder@3$ITLibPlaylistKindGenius@2$ITLibPlaylistKindGeniusMix@4$ITLibPlaylistKindRegular@0$ITLibPlaylistKindSmart@1$""" -misc.update( - { - "ITLibPlaylistKind": NewType("ITLibPlaylistKind", int), - "ITLibInitOptions": NewType("ITLibInitOptions", int), - "ITLibMediaItemLyricsContentRating": NewType( - "ITLibMediaItemLyricsContentRating", int - ), - "ITLibExportFeature": NewType("ITLibExportFeature", int), - "ITLibMediaItemPlayStatus": NewType("ITLibMediaItemPlayStatus", int), - "ITLibMediaItemLocationType": NewType("ITLibMediaItemLocationType", int), - "ITLibDistinguishedPlaylistKind": NewType( - "ITLibDistinguishedPlaylistKind", int - ), - "ITLibMediaItemMediaKind": NewType("ITLibMediaItemMediaKind", int), - "ITLibArtworkFormat": NewType("ITLibArtworkFormat", int), - } -) -misc.update({}) -aliases = { - "ITLibDistinguishedPlaylistKindBooks": "ITLibDistinguishedPlaylistKindAudiobooks" -} -r = objc.registerMetaDataForSelector -objc._updatingMetadata(True) -try: - r(b"ITLibAlbum", b"isCompilation", {"retval": {"type": "Z"}}) - r(b"ITLibAlbum", b"isGapless", {"retval": {"type": "Z"}}) - r(b"ITLibAlbum", b"isRatingComputed", {"retval": {"type": "Z"}}) - r( - b"ITLibMediaEntity", - b"enumerateValuesExceptForProperties:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r( - b"ITLibMediaEntity", - b"enumerateValuesForProperties:usingBlock:", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": b"^v"}, - 1: {"type": b"@"}, - 2: {"type": b"@"}, - 3: {"type": b"o^Z"}, - }, - } - } - } - }, - ) - r(b"ITLibMediaItem", b"hasArtworkAvailable", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isCloud", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isDRMProtected", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isPurchased", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isRatingComputed", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isUserDisabled", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItem", b"isVideo", {"retval": {"type": "Z"}}) - r(b"ITLibMediaItemVideoInfo", b"isHD", {"retval": {"type": "Z"}}) - r(b"ITLibPlaylist", b"isAllItemsPlaylist", {"retval": {"type": "Z"}}) - r(b"ITLibPlaylist", b"isMaster", {"retval": {"type": "Z"}}) - r(b"ITLibPlaylist", b"isPrimary", {"retval": {"type": b"Z"}}) - r(b"ITLibPlaylist", b"isVisible", {"retval": {"type": "Z"}}) - r( - b"ITLibrary", - b"initWithAPIVersion:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ITLibrary", - b"initWithAPIVersion:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r( - b"ITLibrary", - b"libraryWithAPIVersion:error:", - {"arguments": {3: {"type_modifier": b"o"}}}, - ) - r( - b"ITLibrary", - b"libraryWithAPIVersion:options:error:", - {"arguments": {4: {"type_modifier": b"o"}}}, - ) - r(b"ITLibrary", b"reloadData", {"retval": {"type": "Z"}}) - r(b"ITLibrary", b"shouldShowContentRating", {"retval": {"type": "Z"}}) -finally: - objc._updatingMetadata(False) -expressions = {} - -# END OF FILE diff --git a/src/lib/libdispatch/__init__.py b/src/lib/libdispatch/__init__.py deleted file mode 100644 index 21d75db..0000000 --- a/src/lib/libdispatch/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Python mapping for the dispatch library on macOS - -This module does not contain docstrings for the wrapped code, check Apple's -documentation for details on how to use these functions. -""" - -import sys - -import objc -from libdispatch import _metadata -from libdispatch._inlines import _inline_list_ - -sys.modules["libdispatch"] = mod = objc.ObjCLazyModule( - "libdispatch", - None, - None, - _metadata.__dict__, - _inline_list_, - { - "__doc__": __doc__, - "objc": objc, - "__path__": __path__, - "__loader__": globals().get("__loader__", None), - }, -) - - -import libdispatch._libdispatch as _manual # isort:skip # noqa: E402 - -for nm in dir(_manual): - if nm.startswith("__"): - continue - setattr(mod, nm, getattr(_manual, nm)) - - -del sys.modules["libdispatch._metadata"] diff --git a/src/lib/libdispatch/_metadata.py b/src/lib/libdispatch/_metadata.py deleted file mode 100644 index 7c49007..0000000 --- a/src/lib/libdispatch/_metadata.py +++ /dev/null @@ -1,979 +0,0 @@ -# This file is generated by objective.metadata -# -# Last update: Sun Feb 20 19:32:18 2022 -# -# flake8: noqa - -import objc, sys -from typing import NewType - -if sys.maxsize > 2**32: - - def sel32or64(a, b): - return b - -else: - - def sel32or64(a, b): - return a - - -if objc.arch == "arm64": - - def selAorI(a, b): - return a - -else: - - def selAorI(a, b): - return b - - -misc = {} -misc.update( - { - "timespec": objc.createStructType( - "libdispatch.timespec", b"{timespec=ll}", ["tv_sec", "tv_nsec"] - ) - } -) -constants = """$$""" -enums = """$DISPATCH_AUTORELEASE_FREQUENCY_INHERIT@0$DISPATCH_AUTORELEASE_FREQUENCY_NEVER@2$DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM@1$DISPATCH_BLOCK_ASSIGN_CURRENT@4$DISPATCH_BLOCK_BARRIER@1$DISPATCH_BLOCK_DETACHED@2$DISPATCH_BLOCK_ENFORCE_QOS_CLASS@32$DISPATCH_BLOCK_INHERIT_QOS_CLASS@16$DISPATCH_BLOCK_NO_QOS_CLASS@8$DISPATCH_IO_RANDOM@1$DISPATCH_IO_STOP@1$DISPATCH_IO_STREAM@0$DISPATCH_IO_STRICT_INTERVAL@1$DISPATCH_MACH_SEND_DEAD@1$DISPATCH_MEMORYPRESSURE_CRITICAL@4$DISPATCH_MEMORYPRESSURE_NORMAL@1$DISPATCH_MEMORYPRESSURE_WARN@2$DISPATCH_PROC_EXEC@536870912$DISPATCH_PROC_EXIT@2147483648$DISPATCH_PROC_FORK@1073741824$DISPATCH_PROC_SIGNAL@134217728$DISPATCH_QUEUE_PRIORITY_BACKGROUND@-32768$DISPATCH_QUEUE_PRIORITY_DEFAULT@0$DISPATCH_QUEUE_PRIORITY_HIGH@2$DISPATCH_QUEUE_PRIORITY_LOW@-2$DISPATCH_TIMER_STRICT@1$DISPATCH_TIME_FOREVER@18446744073709551615$DISPATCH_TIME_NOW@0$DISPATCH_VNODE_ATTRIB@8$DISPATCH_VNODE_DELETE@1$DISPATCH_VNODE_EXTEND@4$DISPATCH_VNODE_FUNLOCK@256$DISPATCH_VNODE_LINK@16$DISPATCH_VNODE_RENAME@32$DISPATCH_VNODE_REVOKE@64$DISPATCH_VNODE_WRITE@2$DISPATCH_WALLTIME_NOW@18446744073709551615$NSEC_PER_MSEC@1000000$NSEC_PER_SEC@1000000000$NSEC_PER_USEC@1000$USEC_PER_SEC@1000000$""" -misc.update({}) -misc.update({}) -functions = { - "dispatch_io_create_with_io": ( - b"@L@@@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "i"}}, - } - } - }, - }, - ), - "dispatch_source_get_data": (b"L@",), - "dispatch_data_create_concat": (b"@@@", "", {"retval": {"already_retained": True}}), - "dispatch_semaphore_create": (b"@l", "", {"retval": {"already_retained": True}}), - "dispatch_activate": (b"v@",), - "dispatch_io_set_interval": (b"v@QL",), - "dispatch_assert_queue_not": (b"v@", "", {"comment": "XXX: V2 API"}), - "dispatch_barrier_async": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_after": ( - b"vQ@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "os_workgroup_create_with_workgroup": ( - b"@^t@", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "os_workgroup_get_working_arena": ( - b"^v@^I", - "", - { - "retval": {"c_array_of_variable_length": True}, - "arguments": {1: {"type_modifier": "o"}}, - }, - ), - "dispatch_io_get_descriptor": (b"i@",), - "dispatch_source_set_timer": (b"v@QQQ",), - "dispatch_get_current_queue": (b"@",), - "os_workgroup_set_working_arena": ( - b"i@^vI@?", - "", - { - "arguments": { - 1: {"type_modifier": "n", "c_array_of_variable_length": True}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: { - "type": "^v", - "type_modifier": "n", - "c_array_of_variable_length": True, - }, - }, - } - }, - } - }, - ), - "dispatch_io_close": (b"v@L",), - "dispatch_source_get_mask": (b"L@",), - "dispatch_queue_attr_make_initially_inactive": (b"@@",), - "dispatch_block_create": ( - b"@?L@?", - "", - { - "retval": { - "callable": {"retval": {"type": "v"}, "arguments": {0: {"type": "^v"}}}, - "already_retained": True, - }, - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - }, - }, - ), - "dispatch_block_perform": ( - b"vL@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "os_workgroup_testcancel": (b"B@",), - "dispatch_block_testcancel": ( - b"l@?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_group_async": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_read": ( - b"viL@@?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"comment": "dispatch_data_t", "type": "@"}, - 2: {"type": "i"}, - }, - } - } - } - }, - ), - "dispatch_group_leave": (b"v@",), - "dispatch_assert_queue_barrier": (b"v@",), - "dispatch_once": ( - b"vN^l@?", - "", - { - "arguments": { - 0: {"c_array_of_fixed_length": 1}, - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - } - }, - ), - "dispatch_source_set_registration_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_once_f": ( - b"vN^l^v^?", - "", - { - "arguments": { - 0: {"c_array_of_fixed_length": 1}, - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": False, - }, - } - }, - ), - "dispatch_async_and_wait_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_get_context": (b"^v@",), - "dispatch_set_target_queue": (b"v@@",), - "os_workgroup_copy_port": (b"i@^I", "", {"arguments": {1: {"type_modifier": "o"}}}), - "dispatch_data_copy_region": ( - b"@@Lo^L", - "", - {"retval": {"already_retained": True}}, - ), - "dispatch_async_and_wait": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_workloop_set_autorelease_frequency": (b"v@L",), - "dispatch_notify": ( - b"v@?@@?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - } - }, - ), - "dispatch_queue_set_specific": ( - b"v@^v^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_io_write": ( - b"v@q@@@?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "B"}, - 2: {"type": "@"}, - 3: {"type": "i"}, - }, - } - } - } - }, - ), - "os_workgroup_max_parallel_threads": (b"i@^{os_workgroup_mpt_attr_s=}",), - "dispatch_barrier_async_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_block_cancel": ( - b"v@?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_group_async_f": ( - b"v@@^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_apply_f": ( - b"vL@^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "L"}}, - } - } - } - }, - ), - "dispatch_set_context": (b"v@^v",), - "dispatch_queue_attr_make_with_qos_class": (b"@@Ii",), - "dispatch_suspend": (b"v@",), - "dispatch_set_finalizer_f": ( - b"v@^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "os_workgroup_interval_update": (b"i@Q@",), - "dispatch_sync": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_block_notify": ( - b"v@?@@?", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - } - }, - ), - "dispatch_queue_create": ( - b"@^t@", - "", - {"arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}}, - ), - "dispatch_group_wait": (b"l@Q",), - "dispatch_main": (b"v",), - "dispatch_barrier_sync": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_source_set_cancel_handler_f": ( - b"v@^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_cancel": (b"v@",), - "dispatch_source_set_event_handler_f": ( - b"v@^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_queue_get_specific": (b"^v@^v",), - "dispatch_async_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "os_workgroup_leave": (b"v@^{os_workgroup_join_token_opaque_s=}",), - "os_workgroup_join": (b"i@^{os_workgroup_join_token_opaque_s=}",), - "dispatch_source_set_event_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_time": (b"QQq",), - "dispatch_queue_get_label": ( - b"^t@", - "", - {"retval": {"c_array_delimited_by_null": True}}, - ), - "dispatch_source_cancel": (b"v@",), - "dispatch_group_enter": (b"v@",), - "dispatch_io_create_with_path": ( - b"@L^tiS@@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 1: {"c_array_delimited_by_null": True, "type_modifier": "n"}, - 5: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "i"}}, - } - }, - }, - }, - ), - "dispatch_testcancel": (b"l@",), - "dispatch_io_read": ( - b"v@qL@@?", - "", - { - "arguments": { - 4: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "B"}, - 2: {"type": "@"}, - 3: {"type": "i"}, - }, - } - } - } - }, - ), - "dispatch_source_testcancel": (b"l@",), - "dispatch_source_set_registration_handler_f": ( - b"v@^?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "os_workgroup_cancel": (b"v@",), - "dispatch_barrier_sync_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": False, - } - } - }, - ), - "dispatch_group_notify_f": ( - b"v@@^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "os_workgroup_create_with_port": ( - b"@^tI", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "dispatch_data_create_subrange": ( - b"@@LL", - "", - {"retval": {"already_retained": True}}, - ), - "os_workgroup_interval_start": (b"i@QQ@",), - "dispatch_semaphore_signal": (b"l@",), - "dispatch_group_create": (b"@", "", {"retval": {"already_retained": True}}), - "dispatch_barrier_async_and_wait": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_queue_get_qos_class": ( - b"I@^i", - "", - {"arguments": {1: {"type_modifier": "o"}}}, - ), - "dispatch_sync_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": False, - } - } - }, - ), - "dispatch_workloop_set_os_workgroup": (b"v@@",), - "dispatch_get_main_queue": (b"@",), - "dispatch_data_apply": ( - b"B@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"B"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"type": "@"}, - 2: {"type": "L"}, - 3: {"type": "n^v", "c_array_length_in_arg": 4}, - 4: {"type": "L"}, - }, - } - } - } - }, - ), - "dispatch_write": ( - b"vi@@@?", - "", - { - "arguments": { - 1: {"comment": "dispatch_data_t"}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": { - 0: {"type": "^v"}, - 1: {"comment": "dispatch_data_t", "type": "@"}, - 2: {"type": "i"}, - }, - } - }, - } - }, - ), - "dispatch_io_barrier": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_get_global_queue": (b"@lL",), - "dispatch_barrier_async_and_wait_f": ( - b"v@^v^?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_walltime": (b"Qn^{timespec=ll}q",), - "dispatch_assert_queue": (b"v@",), - "dispatch_get_specific": (b"^v^v",), - "dispatch_source_get_handle": (b"L@",), - "dispatch_source_merge_data": (b"v@L",), - "dispatch_resume": (b"v@",), - "dispatch_semaphore_wait": (b"l@Q",), - "dispatch_io_create": ( - b"@Li@@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "i"}}, - } - } - }, - }, - ), - "dispatch_source_create": ( - b"@^{dispatch_source_type_s=}LL@", - "", - {"retval": {"already_retained": True}}, - ), - "dispatch_wait": (b"l@Q",), - "dispatch_io_set_high_water": (b"v@L",), - "dispatch_workloop_create": ( - b"@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "dispatch_workloop_create_inactive": ( - b"@^t", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "dispatch_data_create_map": ( - b"@@o^^vo^L", - "", - {"retval": {"already_retained": True}}, - ), - "os_workgroup_interval_finish": (b"i@@",), - "dispatch_async": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_group_notify": ( - b"v@@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_block_create_with_qos_class": ( - b"@?LIi@?", - "", - { - "retval": { - "callable": {"retval": {"type": "v"}, "arguments": {0: {"type": "^v"}}}, - "already_retained": True, - }, - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - }, - }, - ), - "dispatch_io_set_low_water": (b"v@L",), - "dispatch_data_get_size": (b"L@",), - "dispatch_block_wait": ( - b"l@?Q", - "", - { - "arguments": { - 0: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_after_f": ( - b"vQ@^v^?", - "", - { - "arguments": { - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - }, - "callable_retained": True, - } - } - }, - ), - "dispatch_set_qos_class_floor": (b"v@Ii",), - "dispatch_apply": ( - b"vL@@?", - "", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}, 1: {"type": "L"}}, - } - } - } - }, - ), - "dispatch_data_create": ( - b"@^vL@@?", - "", - { - "retval": {"already_retained": True}, - "arguments": { - 0: {"type_modifier": "n", "c_array_length_in_arg": 1}, - 3: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - }, - }, - }, - ), - "dispatch_queue_attr_make_with_autorelease_frequency": (b"@@L",), - "os_workgroup_parallel_create": ( - b"@^t@", - "", - { - "retval": {"already_retained": True}, - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), - "dispatch_source_set_cancel_handler": ( - b"v@@?", - "", - { - "arguments": { - 1: { - "callable": { - "retval": {"type": b"v"}, - "arguments": {0: {"type": "^v"}}, - } - } - } - }, - ), - "dispatch_queue_create_with_target": ( - b"@^t@@", - "", - { - "comment": "XXX: V2 API", - "arguments": {0: {"c_array_delimited_by_null": True, "type_modifier": "n"}}, - }, - ), -} -misc.update( - { - "dispatch_source_t": objc.createOpaquePointerType( - "dispatch_source_t", b"^{dispatch_source_type_s=}" - ), - "os_workgroup_join_token_opaque_t": objc.createOpaquePointerType( - "os_workgroup_join_token_opaque_t", b"^{os_workgroup_join_token_opaque_s=}" - ), - "os_workgroup_max_parallel_threads_attr_t": objc.createOpaquePointerType( - "os_workgroup_max_parallel_threads_attr_t", - b"^{os_workgroup_max_parallel_threads_attr_s=}", - ), - } -) -expressions = { - "DISPATCH_CURRENT_QUEUE_LABEL": "None", - "DISPATCH_QUEUE_SERIAL": "None", - "DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL": "dispatch_queue_attr_make_with_autorelease_frequency(DISPATCH_QUEUE_SERIAL, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM)", - "DISPATCH_APPLY_AUTO": "None", - "DISPATCH_QUEUE_SERIAL_INACTIVE": "dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_SERIAL)", - "DISPATCH_DATA_DESTRUCTOR_DEFAULT": "None", - "DISPATCH_QUEUE_CONCURRENT_INACTIVE": "dispatch_queue_attr_make_initially_inactive(DISPATCH_QUEUE_CONCURRENT)", - "DISPATCH_QUEUE_CONCURRENT_WITH_AUTORELEASE_POOL": "dispatch_queue_attr_make_with_autorelease_frequency(DISPATCH_QUEUE_CONCURRENT, DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM)", - "DISPATCH_TARGET_QUEUE_DEFAULT": "None", -} - -# END OF FILE diff --git a/src/lib/objc/__init__.py b/src/lib/objc/__init__.py deleted file mode 100644 index 22e7120..0000000 --- a/src/lib/objc/__init__.py +++ /dev/null @@ -1,82 +0,0 @@ -""" -Python <-> Objective-C bridge (PyObjC) - -This module defines the core interfaces of the Python<->Objective-C bridge. -""" -from . import _objc - - -# Import the namespace from the _objc extension -def _update(g): - for k in _objc.__dict__: - g.setdefault(k, getattr(_objc, k)) - - -_update(globals()) -del _update - - -from ._convenience import * # noqa: F401, F403, E402 -from ._convenience_nsobject import * # noqa: F401, F403, E402 -from ._convenience_nsdecimal import * # noqa: F401, F403, E402 -from ._convenience_nsdata import * # noqa: F401, F403, E402 -from ._convenience_nsdictionary import * # noqa: F401, F403, E402 -from ._convenience_nsset import * # noqa: F401, F403, E402 -from ._convenience_nsarray import * # noqa: F401, F403, E402 -from ._convenience_nsstring import * # noqa: F401, F403, E402 -from ._convenience_mapping import * # noqa: F401, F403, E402 -from ._convenience_sequence import * # noqa: F401, F403, E402 -from ._bridgesupport import * # noqa: F401, F403, E402 -from ._dyld import * # noqa: F401, F403, E402 -from ._protocols import * # noqa: F401, F403, E402 -from ._descriptors import * # noqa: F401, F403, E402 -from ._category import * # noqa: F401, F403, E402 -from ._bridges import * # noqa: F401, F403, E402 -from ._pythonify import * # noqa: F401, F403, E402 -from ._locking import * # noqa: F401, F403, E402 -from ._context import * # noqa: F401, F403, E402 -from ._properties import * # noqa: F401, F403, E402 -from ._lazyimport import * # noqa: F401, F403, E402 -from ._compat import * # noqa: F401, F403, E402 -from ._compat import _setClassExtender # noqa: F401, F403, E402 -from . import _callable_docstr # noqa: F401, F403, E402 -from . import _pycoder # noqa: F401, F403, E402 - - -# Helper function for new-style metadata modules -def _resolve_name(name): - if "." not in name: - raise ValueError(name) - - module, name = name.rsplit(".", 1) - m = __import__(module) - for k in module.split(".")[1:]: - m = getattr(m, k) - - return getattr(m, name) - - -_NSAutoreleasePool = None - -# Aliases for some common Objective-C constants -nil = None -YES = True -NO = False - - -class autorelease_pool: - """ - A context manager that runs the body of the block with a fresh - autorelease pool. The actual release pool is not accessible. - """ - - def __init__(self): - global _NSAutoreleasePool - if _NSAutoreleasePool is None: - _NSAutoreleasePool = lookUpClass("NSAutoreleasePool") # noqa: F405 - - def __enter__(self): - self._pool = _NSAutoreleasePool.alloc().init() - - def __exit__(self, exc_type, value, tp): - del self._pool diff --git a/src/lib/objc/_bridges.py b/src/lib/objc/_bridges.py deleted file mode 100644 index 3c440d0..0000000 --- a/src/lib/objc/_bridges.py +++ /dev/null @@ -1,69 +0,0 @@ -import collections.abc -import datetime - -from objc import _objc - -__all__ = [ - "registerListType", - "registerMappingType", - "registerSetType", - "registerDateType", -] - -_objc.options._datetime_date_type = datetime.date -_objc.options._datetime_datetime_type = datetime.datetime - - -def registerListType(type_object): - """ - Register 'type' as a list-like type that will be proxied - as an NSMutableArray subclass. - """ - if _objc.options._sequence_types is None: - _objc.options._sequence_types = () - - _objc.options._sequence_types += (type_object,) - - -def registerMappingType(type_object): - """ - Register 'type' as a dictionary-like type that will be proxied - as an NSMutableDictionary subclass. - """ - if _objc.options._mapping_types is None: - _objc.options._mapping_types = () - - _objc.options._mapping_types += (type_object,) - - -def registerSetType(type_object): - """ - Register 'type' as a set-like type that will be proxied - as an NSMutableSet subclass. - """ - if _objc.options._set_types is None: - _objc.options._set_types = () - - _objc.options._set_types += (type_object,) - - -def registerDateType(type_object): - """ - Register 'type' as a date-like type that will be proxied - as an NSDate subclass. - """ - if _objc.options._date_types is None: - _objc.options._date_types = () - - _objc.options._date_types += (type_object,) - - -registerListType(collections.abc.Sequence) -registerListType(range) -registerMappingType(collections.abc.Mapping) -registerMappingType(dict) -registerSetType(set) -registerSetType(frozenset) -registerSetType(collections.abc.Set) -registerDateType(datetime.date) -registerDateType(datetime.datetime) diff --git a/src/lib/objc/_bridgesupport.py b/src/lib/objc/_bridgesupport.py deleted file mode 100644 index 37448ce..0000000 --- a/src/lib/objc/_bridgesupport.py +++ /dev/null @@ -1,876 +0,0 @@ -""" -Backward compatibility with bridgesupport files - -This functionality is deprecated and will be removed in PyObjC 9. -""" -__all__ = ("initFrameworkWrapper", "parseBridgeSupport") - -import functools -import os -import re -import sys -import warnings -import xml.etree.ElementTree as ET - -import pkg_resources - -import objc - -ctypes = None - -for method in ( - b"alloc", - b"copy", - b"copyWithZone:", - b"mutableCopy", - b"mutableCopyWithZone:", -): - objc.registerMetaDataForSelector( - b"NSObject", method, {"retval": {"already_retained": True}} - ) - - -# -# The rest of this file contains support for bridgesupport -# XML files. - -# NOTE: This search path only contains system locations to -# avoid accidentally reiying on system-specific functionality. -BRIDGESUPPORT_DIRECTORIES = ["/System/Library/BridgeSupport"] - -_SENTINEL = object() -_DEFAULT_SUGGESTION = "don't use this method" -_BOOLEAN_ATTRIBUTES = [ - "already_retained", - "already_cfretained", - "c_array_length_in_result", - "c_array_delimited_by_null", - "c_array_of_variable_length", - "printf_format", - "free_result", -] - - -def _get_ctypes(): - global ctypes - - if ctypes is None: - import ctypes - - -def _as_bytes(value): - if isinstance(value, bytes): - return value - return value.encode("ascii") - - -class _BridgeSupportParser: - """ - Parser for the bridge support file format. - - Instances of this class will not update the bridge state, - this makes it easier to test the class. - """ - - TAG_MAP = {} - - def __init__(self, xmldata, frameworkName): - self.frameworkName = frameworkName - - self.cftypes = [] - self.constants = [] - self.func_aliases = [] - self.functions = [] - self.informal_protocols = [] - self.meta = {} - self.opaque = [] - self.structs = [] - self.values = {} - - self.process_data(xmldata) - - def process_data(self, xmldata): - root = ET.fromstring(xmldata.strip()) - - if root.tag != "signatures": - raise objc.error("invalid root node in bridgesupport file") - - for node in root: - method = getattr(self, f"do_{node.tag}", None) - if method is None: - continue - - method(node) - - def typestr2typestr(self, typestr): - typestr = _as_bytes(typestr) - - # As of macOS 10.13 metadata files may contain - # typestring that end with property specific data; - # first remove that junk. - if b"," in typestr: - typestr = typestr.split(b",", 1)[0] - - result = [] - for item in objc.splitSignature(typestr): - if item == objc._C_BOOL: - result.append(objc._C_NSBOOL) - - elif item == objc._C_NSBOOL: - result.append(objc._C_BOOL) - - elif item.startswith(objc._C_STRUCT_B) or item.startswith(objc._C_UNION_B): - # unions and structs have the same structure - start, stop = item[:1], item[-1:] - - name, fields = objc.splitStructSignature( - objc._C_STRUCT_B + _as_bytes(item[1:-1]) + objc._C_STRUCT_E - ) - result.append(start) - if name is not None: - result.append(_as_bytes(name)) - result.append(b"=") - for nm, tp in fields: - if nm is not None: - result.append(b'"') - result.append(_as_bytes(nm)) - result.append(b'"') - - result.append(self.typestr2typestr(tp)) - result.append(stop) - - elif item.startswith(objc._C_ARY_B): - m = re.match(rb"^.(\d*)(.*).$", item) - result.append(objc._C_ARY_B) - result.append(m.group(1)) - result.append(self.typestr2typestr(m.group(2))) - result.append(objc._C_ARY_E) - - else: - result.append(item) - - return b"".join(result) - - if sys.maxsize > 2**32: - - def attribute_string(self, node, name, name64): - if name64 is not None: - value = node.get(name64) - if value is not None: - return value - - return node.get(name) - - else: - - def attribute_string(self, node, name, name64): - return node.get(name) - - def attribute_bool(self, node, name, name64, dflt): - value = self.attribute_string(node, name, name64) - if value is None: - return dflt - - if value == "true": - return True - - return False - - def import_name(self, name): - module, field = name.rsplit(".", 1) - m = __import__(module) - try: - for nm in module.split(".")[1:]: - m = getattr(m, nm) - - return getattr(m, field) - - except AttributeError: - raise ImportError(name) - - def xml_to_arg(self, node, is_method, is_arg): - argIdx = None - result = {} - - if is_arg and is_method: - argIdx = self.attribute_string(node, "index", None) - if argIdx is None: - return None, None - argIdx = int(argIdx) - - s = self.attribute_string(node, "type", "type64") - if s: - s = self.typestr2typestr(s) - result["type"] = s - - s = self.attribute_string(node, "type_modifier", None) - if s: - result["type_modifier"] = _as_bytes(s) - - s = self.attribute_string(node, "sel_of_type", "sel_of_type64") - if s: - result["sel_of_type"] = self.typestr2typestr(s) - - s = self.attribute_string(node, "c_array_of_fixed_length", None) - if s: - result["c_array_of_fixed_length"] = int(s) - - for attr in _BOOLEAN_ATTRIBUTES: - if attr == "c_array_length_in_result" and not is_arg: - continue - s = self.attribute_bool(node, attr, None, False) - if s: - result[attr] = True - - s = self.attribute_bool(node, "null_accepted", None, True) - if not s: - result["null_accepted"] = False - - s = self.attribute_string(node, "c_array_length_in_arg", None) - if s: - if "," in s: - start, stop = map(int, s.split(",")) - if is_method: - start += 2 - stop += 2 - - result["c_array_length_in_arg"] = (start, stop) - - else: - s = int(s) - if is_method: - s += 2 - - result["c_array_length_in_arg"] = s - - if self.attribute_bool( - node, "function_pointer", None, False - ) or self.attribute_bool(node, "block", None, False): - - v = self.attribute_bool(node, "function_pointer_retained", None, True) - result["callable_retained"] = v - - meta = result["callable"] = {} - arguments = meta["arguments"] = {} - idx = 0 - - if self.attribute_bool(node, "block", None, False): - # Blocks have an implicit first argument - arguments[idx] = {"type": b"^v"} - idx += 1 - - for al in node: - if al.tag == "arg": - _, d = self.xml_to_arg(al, False, False) - arguments[idx] = d - idx += 1 - - elif al.tag == "retval": - _, d = self.xml_to_arg(al, False, False) - meta["retval"] = d - - return argIdx, result - - def do_cftype(self, node): - _get_ctypes() - - name = self.attribute_string(node, "name", None) - typestr = self.attribute_string(node, "type", "type64") - funcname = self.attribute_string(node, "gettypeid_func", None) - tollfree = self.attribute_string(node, "tollfree", None) - - if not name or not typestr: - return - - typestr = self.typestr2typestr(typestr) - - if tollfree: - self.cftypes.append((name, typestr, None, tollfree)) - - else: - if funcname is None: - funcname = name[:-3] + "GetTypeID" - - try: - dll = ctypes.CDLL(None) - gettypeid = getattr(dll, funcname) - gettypeid.restype = ctypes.c_long - except AttributeError: - self.cftypes.append((name, typestr, None, "NSCFType")) - return - - self.cftypes.append((name, typestr, gettypeid())) - - def do_constant(self, node): - name = self.attribute_string(node, "name", None) - typestr = self.attribute_string(node, "type", "type64") - - if name is None or not typestr: - return - - typestr = self.typestr2typestr(typestr) - - if typestr.startswith(objc._C_STRUCT_B): - # Look for structs with embedded function pointers - # and ignore those - - def has_embedded_function(typestr): - nm, fields = objc.splitStructSignature(_as_bytes(typestr)) - for _nm, tp in fields: - if tp == b"?": - return True - elif tp == b"^?": - return True - elif tp.startswith(objc._C_STRUCT_B): - return has_embedded_function(tp) - - return False - - if has_embedded_function(typestr): - return - - magic = self.attribute_bool(node, "magic_cookie", None, False) - self.constants.append((name, typestr, magic)) - - def do_class(self, node): - class_name = self.attribute_string(node, "name", None) - if not class_name: - return - - for method in node: - if method.tag != "method": - continue - - sel_name = self.attribute_string(method, "selector", None) - if sel_name is None: - continue - - sel_name = _as_bytes(sel_name) - variadic = self.attribute_bool(method, "variadic", None, False) - c_array = self.attribute_bool( - method, "c_array_delimited_by_null", None, False - ) - c_length = self.attribute_string(method, "c_array_length_in_arg", None) - ignore = self.attribute_bool(method, "ignore", None, False) - - is_class = self.attribute_bool(method, "classmethod", None, _SENTINEL) - if is_class is _SENTINEL: - # Manpage says 'class_method', older PyObjC used 'classmethod' - is_class = self.attribute_bool(method, "class_method", None, False) - - metadata = {} - if ignore: - suggestion = self.attribute_string(method, "suggestion", None) - if not suggestion: - suggestion = _DEFAULT_SUGGESTION - - metadata["suggestion"] = suggestion - - # Force minimal metadata for ignored methods - self.meta[ - (_as_bytes(class_name), _as_bytes(sel_name), is_class) - ] = metadata - continue - - if variadic: - metadata["variadic"] = True - if c_array: - metadata["c_array_delimited_by_null"] = c_array - - if c_length: - metadata["c_array_length_in_arg"] = int(c_length) + 2 - - arguments = metadata["arguments"] = {} - - for al in method: - if al.tag == "arg": - arg_idx, meta = self.xml_to_arg(al, True, True) - if arg_idx is not None and meta: - arguments[arg_idx + 2] = meta - - elif al.tag == "retval": - _, meta = self.xml_to_arg(al, True, False) - if meta: - metadata["retval"] = meta - - if not arguments: - # No argument metadata after all. - del metadata["arguments"] - - if metadata: - self.meta[ - (_as_bytes(class_name), _as_bytes(sel_name), is_class) - ] = metadata - - def do_enum(self, node): - name = self.attribute_string(node, "name", None) - value = self.attribute_string(node, "value", "value64") - - if value is None: - if sys.byteorder == "little": - value = self.attribute_string(node, "le_value", None) - - else: - value = self.attribute_string(node, "be_value", None) - - if not name or not value: - return - - if value.endswith("l") or value.endswith("L"): - value = value[:-1] - - if value.lower() in ("+inf", "-inf", "nan"): - value = float(value) - - elif "." in value: - if value.endswith("f") or value.endswith("F"): - value = value[:-1] - if value.startswith("0x") or value.startswith("0X"): - value = float.fromhex(value) - - else: - value = float(value) - - elif "inf" in value: - value = float(value) - - else: - value = int(value, 10) - - self.values[name] = value - - def do_function(self, node): - name = self.attribute_string(node, "name", None) - if not name: - return - - if self.attribute_bool(node, "ignore", None, False): - return - - meta = {} - siglist = [b"v"] - arguments = meta["arguments"] = {} - - variadic = self.attribute_bool(node, "variadic", None, False) - if variadic: - meta["variadic"] = True - v = self.attribute_bool(node, "c_array_delimited_by_null", None, False) - if v: - meta["c_array_delimited_by_null"] = True - - v = self.attribute_string(node, "c_array_length_in_arg", None) - if v: - meta["c_array_length_in_arg"] = int(v) - - for al in node: - if al.tag == "arg": - _, d = self.xml_to_arg(al, False, True) - if "type" not in d: - # Ignore functions without type info - return - siglist.append(d["type"]) - - arguments[len(siglist) - 2] = d - - elif al.tag == "retval": - _, d = self.xml_to_arg(al, False, False) - if "type" not in d: - # Ignore functions without type info - return - siglist[0] = d["type"] - meta["retval"] = d - - if not meta["arguments"]: - del meta["arguments"] - - self.functions.append((name, b"".join(siglist), "", meta)) - - def do_function_pointer(self, node): - name = self.attribute_string(node, "name", None) - original = self.attribute_string(node, "original", None) - if not name or not original: - return - - self.func_aliases.append((name, original)) - - def do_informal_protocol(self, node): - name = self.attribute_string(node, "name", None) - if not name: - return - - method_list = [] - for method in node: - sel_name = self.attribute_string(method, "selector", None) - typestr = self.attribute_string(method, "type", "type64") - is_class = self.attribute_bool(method, "classmethod", None, _SENTINEL) - if is_class is _SENTINEL: - # Manpage says 'class_method', older PyObjC used 'classmethod' - is_class = self.attribute_bool(method, "class_method", None, False) - - if not sel_name or not typestr: - continue - - typestr = self.typestr2typestr(typestr) - sel = objc.selector( - None, - selector=_as_bytes(sel_name), - signature=_as_bytes(typestr), - isClassMethod=is_class, - ) - method_list.append(sel) - - if method_list: - self.informal_protocols.append((name, method_list)) - - def do_null_const(self, node): - name = self.attribute_string(node, "name", None) - if not name: - return - - self.values[name] = None - - def do_opaque(self, node): - name = self.attribute_string(node, "name", None) - typestr = self.attribute_string(node, "type", "type64") - - if name is None or not typestr: - return - - typestr = self.typestr2typestr(typestr) - - self.opaque.append((name, typestr)) - - def do_struct(self, node): - name = self.attribute_string(node, "name", None) - typestr = self.attribute_string(node, "type", "type64") - alias = self.attribute_string(node, "alias", None) - - if not name or not typestr: - return - - # Apple's bridgesupport files contain nice encoding like this: - # {tag="field"a"NSImage"}, that is not only are field names encoded - # but also class names. This is obviously completely undocumented, - # and not backward compatible (and it is not easily possible to detect - # if class names are present. - typestr = re.sub(r'@"[^"]*"', "@", typestr) - - typestr = self.typestr2typestr(typestr) - - if alias: - try: - value = self.import_name(alias) - except ImportError: - # Fall through to regular handling - pass - - else: - self.structs.append((name, typestr, value)) - return - - self.structs.append((name, typestr, None)) - - def do_string_constant(self, node): - name = self.attribute_string(node, "name", None) - value = self.attribute_string(node, "value", "value64") - nsstring = self.attribute_bool(node, "nsstring", None, False) - - if not name or not value: - return - - if not nsstring: - try: - value = value.encode("latin1") - except UnicodeError as e: - warnings.warn( - f"Error parsing BridgeSupport data for constant {name}: {e}", - RuntimeWarning, - ) - return - - self.values[name] = value - - -_libraries = [] - - -def parseBridgeSupport( - xmldata, globals, frameworkName, dylib_path=None, inlineTab=None # noqa: A002 -): - warnings.warn( - "This function will be removed in PyObjC 9, switch to the modern metadata system", - DeprecationWarning, - stacklevel=2, - ) - - if dylib_path: - _get_ctypes() - lib = ctypes.cdll.LoadLibrary(dylib_path) - _libraries.append(lib) - - objc._updatingMetadata(True) - try: - prs = _BridgeSupportParser(xmldata, frameworkName) - - globals.update(prs.values) - for entry in prs.cftypes: - tp = objc.registerCFSignature(*entry) - - globals[entry[0]] = tp - - for name, typestr in prs.opaque: - globals[name] = objc.createOpaquePointerType(name, typestr) - - for name, typestr, alias in prs.structs: - if alias is not None: - globals[name] = alias - objc.createStructAlias(name, typestr, alias) - else: - globals[name] = value = objc.createStructType(name, typestr, None) - - for name, typestr, magic in prs.constants: - try: - value = objc._loadConstant(name, typestr.decode("ascii"), magic) - except AttributeError: - continue - - globals[name] = value - - for class_name, sel_name, is_class in prs.meta: - objc.registerMetaDataForSelector( - class_name, sel_name, prs.meta[(class_name, sel_name, is_class)] - ) - - if prs.functions: - objc.loadBundleFunctions(None, globals, prs.functions) - - if inlineTab is not None: - objc.loadFunctionList(inlineTab, globals, prs.functions) - - for name, orig in prs.func_aliases: - try: - globals[name] = globals[orig] - except KeyError: - pass - - finally: - objc._updatingMetadata(False) - - -def _parseBridgeSupport(data, globals, frameworkName, *args, **kwds): # noqa: A002 - try: - objc.parseBridgeSupport(data, globals, frameworkName, *args, **kwds) - except objc.internal_error as e: - import warnings - - warnings.warn( - f"Error parsing BridgeSupport data for {frameworkName}: {e}", - RuntimeWarning, - ) - - -def safe_resource_exists(package, resource): - try: - return pkg_resources.resource_exists(package, resource) - except ImportError: - # resource_exists raises ImportError when it cannot find - # the first argument. - return False - - -def initFrameworkWrapper( - frameworkName, - frameworkPath, - frameworkIdentifier, - globals, # noqa: A002 - inlineTab=None, - scan_classes=None, - frameworkResourceName=None, -): - """ - Load the named framework, using the identifier if that has result otherwise - using the path. Also loads the information in the bridgesupport file ( - either one embedded in the framework or one in a BrigeSupport library - directory). - """ - warnings.warn( - "This function will be removed in PyObjC 9, switch to the modern metadata system", - DeprecationWarning, - stacklevel=2, - ) - if frameworkResourceName is None: - frameworkResourceName = frameworkName - - if frameworkIdentifier is None: - if scan_classes is None: - bundle = objc.loadBundle(frameworkName, globals, bundle_path=frameworkPath) - else: - bundle = objc.loadBundle( - frameworkName, - globals, - bundle_path=frameworkPath, - scan_classes=scan_classes, - ) - - else: - try: - if scan_classes is None: - bundle = objc.loadBundle( - frameworkName, globals, bundle_identifier=frameworkIdentifier - ) - - else: - bundle = objc.loadBundle( - frameworkName, - globals, - bundle_identifier=frameworkIdentifier, - scan_classes=scan_classes, - ) - - except ImportError: - if scan_classes is None: - bundle = objc.loadBundle( - frameworkName, globals, bundle_path=frameworkPath - ) - else: - bundle = objc.loadBundle( - frameworkName, - globals, - bundle_path=frameworkPath, - scan_classes=scan_classes, - ) - - # Make the objc module available, because it contains a lot of useful - # functionality. - globals["objc"] = objc - - # Explicitly push objc.super into the globals dict, that way super - # calls will behave as expected in all cases. - globals["super"] = objc.super - - # Look for metadata in the Python wrapper and prefer that over the - # data in the framework or in system locations. - # Needed because the system bridgesupport files are buggy. - if safe_resource_exists(frameworkResourceName, "PyObjC.bridgesupport"): - data = pkg_resources.resource_string( - frameworkResourceName, "PyObjC.bridgesupport" - ) - _parseBridgeSupport(data, globals, frameworkName, inlineTab=inlineTab) - return bundle - - # Look for metadata in the framework bundle - path = bundle.pathForResource_ofType_inDirectory_( - frameworkName, "bridgesupport", "BridgeSupport" - ) - if path is not None: - dylib_path = bundle.pathForResource_ofType_inDirectory_( - frameworkName, "dylib", "BridgeSupport" - ) - with open(path, "rb") as fp: - data = fp.read() - if dylib_path is not None: - _parseBridgeSupport(data, globals, frameworkName, dylib_path=dylib_path) - else: - _parseBridgeSupport(data, globals, frameworkName) - - # Check if we have additional metadata bundled with PyObjC - if safe_resource_exists(frameworkResourceName, "PyObjCOverrides.bridgesupport"): - data = pkg_resources.resource_string( - frameworkResourceName, "PyObjCOverrides.bridgesupport" - ) - _parseBridgeSupport(data, globals, frameworkName, inlineTab=inlineTab) - - return bundle - - # If there is no metadata there look for metadata in the standard Library - # locations - fn = frameworkName + ".bridgesupport" - for dn in BRIDGESUPPORT_DIRECTORIES: - path = os.path.join(dn, fn) - if os.path.exists(path): - with open(path, "rb") as fp: - data = fp.read() # pragma: no branch - - dylib_path = os.path.join(dn, frameworkName + ".dylib") - if os.path.exists(dylib_path): - _parseBridgeSupport(data, globals, frameworkName, dylib_path=dylib_path) - else: - _parseBridgeSupport(data, globals, frameworkName) - - # Check if we have additional metadata bundled with PyObjC - if safe_resource_exists( - frameworkResourceName, "PyObjCOverrides.bridgesupport" - ): - data = pkg_resources.resource_string( - frameworkResourceName, "PyObjCOverrides.bridgesupport" - ) - _parseBridgeSupport(data, globals, frameworkName, inlineTab=inlineTab) - - return bundle - - return bundle - - -def _structConvenience(structname, structencoding): - def makevar(cls, name=None): - if name is None: - return objc.ivar(type=structencoding) - else: - return objc.ivar(name=name, type=structencoding) - - makevar.__name__ = structname - makevar.__doc__ = f"Create *ivar* for type encoding {structencoding!r}" - if hasattr(objc.ivar, "__qualname__"): # pragma: no branch - makevar.__qualname__ = objc.ivar.__qualname__ + "." + structname - - objc.ivar._add_attribute(sys.intern(structname), classmethod(makevar)) - - -# Fake it for basic C types -_structConvenience("bool", objc._C_BOOL) -_structConvenience("char", objc._C_CHR) -_structConvenience("int", objc._C_INT) -_structConvenience("short", objc._C_SHT) -_structConvenience("long", objc._C_LNG) -_structConvenience("long_long", objc._C_LNG_LNG) -_structConvenience("unsigned_char", objc._C_UCHR) -_structConvenience("unsigned_int", objc._C_UINT) -_structConvenience("unsigned_short", objc._C_USHT) -_structConvenience("unsigned_long", objc._C_ULNG) -_structConvenience("unsigned_long_long", objc._C_ULNG_LNG) -_structConvenience("float", objc._C_FLT) -_structConvenience("double", objc._C_DBL) -_structConvenience("BOOL", objc._C_NSBOOL) -_structConvenience("UniChar", objc._C_UNICHAR) -_structConvenience("char_text", objc._C_CHAR_AS_TEXT) -_structConvenience("char_int", objc._C_CHAR_AS_INT) - -_orig_createStructType = objc.createStructType - - -@functools.wraps(objc.createStructType) -def createStructType(name, typestr, fieldnames, doc=None, pack=-1): - result = _orig_createStructType(name, typestr, fieldnames, doc, pack) - _structConvenience(name, result.__typestr__) - return result - - -objc.createStructType = createStructType - - -_orig_registerStructAlias = objc.registerStructAlias - - -@functools.wraps(objc.registerStructAlias) -def registerStructAlias(typestr, structType): - return _orig_registerStructAlias(typestr, structType) - - -def createStructAlias(name, typestr, structType): - result = _orig_registerStructAlias(typestr, structType) - _structConvenience(name, result.__typestr__) - return result - - -objc.createStructAlias = createStructAlias -objc.registerStructAlias = registerStructAlias diff --git a/src/lib/objc/_callable_docstr.py b/src/lib/objc/_callable_docstr.py deleted file mode 100644 index a17f59a..0000000 --- a/src/lib/objc/_callable_docstr.py +++ /dev/null @@ -1,314 +0,0 @@ -__all__ = () -import inspect - -import objc -from objc._objc import _nameForSignature - -basic_types = { - objc._C_VOID: "void", - objc._C_INT: "int", - objc._C_UINT: "unsigned int", - objc._C_LNG: "long", - objc._C_ULNG: "unsigned long", - objc._C_LNG_LNG: "long long", - objc._C_ULNG_LNG: "unsigned long long", - objc._C_FLT: "float", - objc._C_DBL: "double", - objc._C_SHT: "short", - objc._C_USHT: "unsigned short", - objc._C_CHR: "char", - objc._C_UCHR: "unsigned char", - objc._C_CHAR_AS_INT: "int8_t", - objc._C_CHAR_AS_TEXT: "char", - objc._C_UNICHAR: "UniChar", - objc._C_BOOL: "bool", - objc._C_NSBOOL: "BOOL", - objc._C_ID: "id", - objc._C_CLASS: "Class", - objc._C_SEL: "SEL", - objc._C_CHARPTR: "char*", -} - -prefixes = { - objc._C_IN: "in ", - objc._C_OUT: "out ", - objc._C_INOUT: "inout ", - objc._C_CONST: "const ", - objc._C_ONEWAY: "oneway ", -} - - -def describe_type(typestr): - - nm = basic_types.get(typestr) - if nm is not None: - return nm - - if typestr == b"^?": - return "" - elif typestr == b"@?": - return "" - - if typestr.startswith(objc._C_PTR): - nm = _nameForSignature(typestr) - if nm is not None: - return nm - return describe_type(typestr[1:]) + "*" - - if typestr[:1] in prefixes: - return prefixes[typestr[:1]] + describe_type(typestr[1:]) - - if typestr.startswith(objc._C_STRUCT_B): - nm = _nameForSignature(typestr) - if nm is not None: - return nm - - typestr = typestr[1:] - idx = typestr.find(b"=") - if idx == -1: - return "struct " - - else: - nm = typestr[:idx] - if not nm: - nm = b"" - return "struct {}".format(nm.decode("utf-8")) - - if typestr.startswith(objc._C_ARY_B): - typestr = typestr[1:] - d = b"" - while typestr[:1].isdigit(): - d += typestr[:1] - typestr = typestr[1:] - - return "{}[{}]".format(describe_type(typestr), d.decode("utf-8")) - - if typestr.startswith(objc._C_UNION_B): - typestr = typestr[1:] - idx = typestr.find(b"=") - if idx == -1: - return "union " - - else: - nm = typestr[:idx] - if not nm: - nm = b"" - return "union {}".format(nm.decode("utf-8")) - - return "" - - -def describe_callable(callable_object): - if not hasattr(callable_object, "__name__") or not hasattr( - callable_object, "__metadata__" - ): - return None - - name = callable_object.__name__ - try: - metadata = callable_object.__metadata__() - except objc.internal_error: - return None - - return describe_callable_metadata( - name, metadata, ismethod=isinstance(callable_object, objc.selector) - ) - - -def describe_callable_metadata(name, metadata, offset="", ismethod=False): - arg_info = [] - if ismethod: - arg_offset = 2 - - name_parts = name.split(":") - hdr_name = [] - if len(metadata["arguments"]) > arg_offset: - for idx, (nm, info) in enumerate( - zip(name_parts, metadata["arguments"][arg_offset:]) - ): - if hdr_name: - hdr_name.append(" ") - hdr_name.append(nm) - hdr_name.append(":(") - hdr_name.append(describe_type(info["type"])) - hdr_name.append(")arg%d" % (idx,)) - - if info["type"][:1] in prefixes and info["type"][:1] not in ( - objc._C_ONEWAY, - objc._C_CONST, - ): - arg_info.append((idx, info)) - elif info.get("printf_format"): - arg_info.append((idx, info)) - elif info.get("callable"): - arg_info.append((idx, info)) - - else: - hdr_name.append(name) - - if metadata.get("variadic"): - hdr_name.append(", ...") - - header = "{} ({}){};".format( - "+" if metadata["classmethod"] else "-", - describe_type(metadata["retval"]["type"]), - "".join(hdr_name), - ) - else: - hdr_name = [] - arg_offset = 0 - for idx, info in enumerate(metadata["arguments"]): - if idx != 0: - hdr_name.append(", ") - hdr_name.append(describe_type(info["type"])) - hdr_name.append(" arg%d" % (idx,)) - if info["type"][:1] in prefixes and info["type"][:1] not in ( - objc._C_ONEWAY, - objc._C_CONST, - ): - arg_info.append((idx, info)) - elif info.get("printf_format"): - arg_info.append((idx, info)) - elif info.get("callable"): - arg_info.append((idx, info)) - if metadata.get("variadic"): - hdr_name.append(", ...") - - if not hdr_name: - hdr_name.append("void") - - header = "{} {}({});".format( - describe_type(metadata["retval"]["type"]), - name, - "".join(hdr_name), - ) - - result = [header] - if metadata.get("suggestion"): - result.append("") - result.append("WARNING: {}".format(metadata["suggestion"])) - - if arg_info: - result.append("") - for idx, info in arg_info: - if info.get("printf_format"): - result.append("arg%d: %%-style format string" % (idx,)) - continue - - elif info.get("callable"): - result.append( - "arg%d: %s" - % ( - idx, - describe_callable_metadata( - "callback", info["callable"], offset=" " + offset - ), - ) - ) - continue - - else: - arg = info.get("c_array_length_in_arg") - if arg is not None: - if isinstance(arg, tuple): - result.append( - "arg%d: array with length on input in arg%d, " - "and output in arg%d" - % (idx, arg[0] - arg_offset, arg[1] - arg_offset) - ) - else: - if info.get("c_array_length_in_result"): - result.append( - "arg%d: array with length on input in arg%d, " - "and output in return value" % (idx, arg - arg_offset) - ) - else: - result.append( - "arg%d: array with length in arg%d" - % (idx, arg - arg_offset) - ) - continue - - if info.get("c_array_length_in_result"): - result.append("arg%d: array with length in return value" % (idx,)) - continue - - if info.get("c_array_of_fixed_length"): - result.append( - "arg%d: array with length %d" - % (idx, info.get("c_array_of_fixed_length")) - ) - continue - - if info.get("c_array_of_variable_length"): - result.append("arg%d: array with unknown length" % (idx,)) - continue - - if info.get("c_array_delimited_by_null"): - result.append( - "arg%d: array (will be NULL terminated in C)" % (idx,) - ) - continue - - result.append( - "arg%d: pass-by-reference %sargument" - % (idx, prefixes.get(info["type"][:1])) - ) - - if len(metadata["arguments"]) > arg_offset: - if metadata.get("variadic") and metadata.get("c_array_delimited_by_null"): - if not arg_info: - result.append("") - - result.append( - "Variadic arguments form an array of C type %s" - % (describe_type(metadata["arguments"][-1]["type"]),) - ) - - if metadata.get("__doc__", None): - result.append("\n") - result.append(str(metadata["__doc__"])) - - return ("\n" + offset).join(result).replace("\n" + offset + "\n", "\n\n") - - -objc.options._callable_doc = describe_callable - - -def callable_signature(callable_object): - # Create an inspect.Signature for an PyObjC callable - # both objc.function and objc.native_selector only support positional - # arguments, and not keyword arguments. - if not hasattr(callable_object, "__name__") or not hasattr( - callable_object, "__metadata__" - ): - return None - - try: - metadata = callable_object.__metadata__() - except objc.internal_error: - # This can happen with some private methods with undocumented - # characters in type encodings - return None - - ismethod = isinstance(callable_object, objc.selector) - isimp = isinstance(callable_object, objc.IMP) - - if ismethod: - # Skip 'self' and 'selector' implicit arguments - args = metadata["arguments"][2:] - elif isimp: - # Ignore the 'selector' argument - args = (metadata["arguments"][0],) + metadata["arguments"][2:] - else: - args = metadata["arguments"] - - parameters = [] - for idx, _arg in enumerate(args): - p_name = "arg%d" % (idx,) - parameters.append(inspect.Parameter(p_name, inspect.Parameter.POSITIONAL_ONLY)) - - return inspect.Signature(parameters) - - -objc.options._callable_signature = callable_signature diff --git a/src/lib/objc/_category.py b/src/lib/objc/_category.py deleted file mode 100644 index 1620d69..0000000 --- a/src/lib/objc/_category.py +++ /dev/null @@ -1,93 +0,0 @@ -__all__ = ["classAddMethod", "Category"] - -from types import FunctionType, MethodType - -from objc._objc import classAddMethods, ivar, objc_class, selector - - -def classAddMethod(cls, name, method): - """ - Add a single method to a class. 'name' is the ObjC selector - """ - if isinstance(method, selector): - if not hasattr(method, "callable"): - raise ValueError("Cannot add native selector to class") from None - - sel = selector( - method.callable, - selector=name, - signature=method.signature, - isClassMethod=method.isClassMethod, - ) - else: - sel = selector(method, selector=name) - - return classAddMethods(cls, [sel]) - - -# -# Syntactic support for categories -# - - -class _CategoryMeta(type): - """ - Meta class for categories. - """ - - __slots__ = () - _IGNORENAMES = ("__module__", "__name__", "__doc__") - - def _newSubclass(cls, name, bases, methods): - return type.__new__(cls, name, bases, methods) - - _newSubclass = classmethod(_newSubclass) - - def __new__(cls, name, bases, methods): - if len(bases) != 1: - raise TypeError("Cannot have multiple inheritance with Categories") - - c = bases[0].real_class - - if c.__name__ != name: - raise TypeError("Category name must be same as class name") - - callables = [ - x[1] - for x in methods.items() - if x[0] not in cls._IGNORENAMES - and isinstance(x[1], (FunctionType, MethodType, selector, classmethod)) - ] - variables = [ - x - for x in methods.items() - if x[0] not in cls._IGNORENAMES - and not isinstance(x[1], (FunctionType, MethodType, selector, classmethod)) - ] - for _k, v in variables: - if isinstance(v, ivar): - raise TypeError("Cannot add instance variables in a Category") - - classAddMethods(c, callables) - for k, v in variables: - setattr(c, k, v) - return c - - -def Category(cls): - """ - Create a category on ``cls``. - - Usage: - class SomeClass (Category(SomeClass)): - def method(self): - pass - - ``SomeClass`` is an existing class that will be rebound to the same - value. The side-effect of this class definition is that the methods - in the class definition will be added to the existing class. - """ - if not isinstance(cls, objc_class): - raise TypeError("Category can only be used on Objective-C classes") - retval = _CategoryMeta._newSubclass("Category", (), {"real_class": cls}) - return retval diff --git a/src/lib/objc/_compat.py b/src/lib/objc/_compat.py deleted file mode 100644 index edb64f0..0000000 --- a/src/lib/objc/_compat.py +++ /dev/null @@ -1,38 +0,0 @@ -import warnings - -from objc import options as _options - - -def setVerbose(value): - warnings.warn("Set objc.options.verbose instead", DeprecationWarning) - _options.verbose = bool(value) - - -def getVerbose(): - warnings.warn("Read objc.options.verbose instead", DeprecationWarning) - return _options.verbose - - -def setUseKVOForSetattr(value): - warnings.warn("Set objc.options.use_kvo instead", DeprecationWarning, 2) - _options.use_kvo = bool(value) - - -def getUseKVOForSetattr(): - warnings.warn("Read objc.options.use_kvo instead", DeprecationWarning) - return _options.use_kvo - - -def _setClassExtender(value): - warnings.warn("Set objc.options._class_extender instead", DeprecationWarning, 2) - _options._class_extender = value - - -def allocateBuffer(length): - """Allocate a read/write buffer of memory of the given size.""" - if not isinstance(length, int) or length <= 0: - raise TypeError("length must be a positive integer") - - warnings.warn("Use bytearray instead", DeprecationWarning) - - return bytearray(length) diff --git a/src/lib/objc/_context.py b/src/lib/objc/_context.py deleted file mode 100644 index 91d3df8..0000000 --- a/src/lib/objc/_context.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -A number of Cocoa API's have a 'context' argument that is a plain 'void*' -in ObjC, and an Integer value in Python. The 'context' object defined here -allows you to get a unique integer number that can be used as the context -argument for any Python object, and retrieve that object later on using the -context number. - -Usage:: - - ... - ctx = objc.context.register(myContext) - someObject.observeValueForKeyPath_ofObject_change_context_( - kp, obj, {}, ctx) - ... - -and in the callback:: - - def observeValueForKeyPath_ofObject_change_context_(self, - kp, obj, change, ctx): - - myContext = objc.context.get(ctx) - ... - -Use ``objc.context.unregister`` to remove the registration of ``myObject`` -when you're done. The argument to unregister is the same object as was -passed in during registration. -""" -__all__ = ("context",) -from typing import Any - - -class ContextRegistry: - def __init__(self): - self._registry = {} - - def register(self, value: Any) -> int: - uniq = id(value) - self._registry[uniq] = value - return uniq - - def unregister(self, value: Any): - try: - del self._registry[id(value)] - except KeyError: - pass - - def get(self, uniq) -> Any: - return self._registry[uniq] - - -context = ContextRegistry() diff --git a/src/lib/objc/_convenience.py b/src/lib/objc/_convenience.py deleted file mode 100644 index aaf4451..0000000 --- a/src/lib/objc/_convenience.py +++ /dev/null @@ -1,149 +0,0 @@ -""" -This module implements a callback function that is used by the C code to -add Python special methods to Objective-C classes with a suitable interface. -""" -from objc._objc import ( - _block_call, - _rescanClass, - currentBundle, - lookUpClass, - options, - selector, -) -import PyObjCTools.KeyValueCoding as kvc - -__all__ = ("addConvenienceForClass", "registerABCForClass") - -CLASS_METHODS = {} -CLASS_ABC = {} - - -options._getKey = kvc.getKey -options._setKey = kvc.setKey -options._getKeyPath = kvc.getKeyPath -options._setKeyPath = kvc.setKeyPath - -del kvc - - -def register(f): - options._class_extender = f - - -@register -def add_convenience_methods(cls, type_dict): - """ - Add additional methods to the type-dict of subclass 'name' of - 'super_class'. - - CLASS_METHODS is a global variable containing a mapping from - class name to a list of Python method names and implementation. - - Matching entries from both mappings are added to the 'type_dict'. - """ - for nm, value in CLASS_METHODS.get(cls.__name__, ()): - type_dict[nm] = value - - try: - for abc_class in CLASS_ABC[cls.__name__]: - abc_class.register(cls) - del CLASS_ABC[cls.__name__] - except KeyError: - pass - - -def register(f): - options._make_bundleForClass = f - - -@register -def makeBundleForClass(): - cb = currentBundle() - - def bundleForClass(cls): - return cb - - return selector(bundleForClass, isClassMethod=True) - - -def registerABCForClass(classname, *abc_class): - """ - Register *classname* with the *abc_class*-es when - the class becomes available. - """ - global CLASS_ABC - try: - CLASS_ABC[classname] += tuple(abc_class) - except KeyError: - CLASS_ABC[classname] = tuple(abc_class) - - options._mapping_count += 1 - _rescanClass(classname) - - -def addConvenienceForClass(classname, methods): - """ - Add the list with methods to the class with the specified name - """ - try: - CLASS_METHODS[classname] += tuple(methods) - except KeyError: - CLASS_METHODS[classname] = tuple(methods) - - options._mapping_count += 1 - _rescanClass(classname) - - -# -# Helper functions for converting data item to/from a representation -# that is usable inside Cocoa data structures. -# -# In particular: -# -# - Python "None" is stored as +[NSNull null] because Cocoa containers -# won't store NULL as a value (and this transformation is undone when -# retrieving data) -# -# - When a getter returns NULL in Cocoa the queried value is not present, -# that's converted to an exception in Python. -# - -_NULL = lookUpClass("NSNull").null() - - -def container_wrap(v): - if v is None: - return _NULL - return v - - -def container_unwrap(v, exc_type, *exc_args): - if v is None: - raise exc_type(*exc_args) - elif v is _NULL: - return None - return v - - -# -# -# Misc. small helpers -# -# - -addConvenienceForClass("NSNull", (("__bool__", lambda self: False),)) - -addConvenienceForClass( - "NSEnumerator", - ( - ("__iter__", lambda self: self), - ("__next__", lambda self: container_unwrap(self.nextObject(), StopIteration)), - ), -) - - -def __call__(self, *args, **kwds): - return _block_call(self, self.__block_signature__, args, kwds) - - -addConvenienceForClass("NSBlock", (("__call__", __call__),)) diff --git a/src/lib/objc/_convenience_mapping.py b/src/lib/objc/_convenience_mapping.py deleted file mode 100644 index 3461da3..0000000 --- a/src/lib/objc/_convenience_mapping.py +++ /dev/null @@ -1,131 +0,0 @@ -""" -Convenience methods for Cocoa mapping types. -""" -__all__ = ("addConvenienceForBasicMapping",) - -import collections.abc - -from objc._convenience import ( - CLASS_ABC, - addConvenienceForClass, - container_unwrap, - container_wrap, -) - - -def __getitem__objectForKey_(self, key): - res = self.objectForKey_(container_wrap(key)) - return container_unwrap(res, KeyError, key) - - -def get_objectForKey_(self, key, dflt=None): - res = self.objectForKey_(container_wrap(key)) - if res is None: - res = dflt - return res - - -def contains_objectForKey_(self, key): - res = self.objectForKey_(container_wrap(key)) - return res is not None - - -_CONVENIENCES_MAPPING_RO = ( - ("__getitem__", __getitem__objectForKey_), - ("get", get_objectForKey_), - ("__contains__", contains_objectForKey_), -) - - -def __delitem__removeObjectForKey_(self, key): - self.removeObjectForKey_(container_wrap(key)) - - -def update_setObject_forKey_(self, *args, **kwds): - if len(args) == 0: - pass - elif len(args) != 1: - raise TypeError(f"update expected at most 1 arguments, got {len(args)}") - - else: - other = args[0] - if hasattr(other, "keys"): - # This mirrors the implementation of dict.update, but seems - # wrong for Python3 (with collections.abc.Dict) - for key in other.keys(): - self[key] = other[key] - - else: - for key, value in other: - self[key] = value - - for k in kwds: - self[k] = kwds[k] - - -def setdefault_setObject_forKey_(self, key, dflt=None): - try: - return self[key] - except KeyError: - self[key] = dflt - return dflt - - -def __setitem__setObject_forKey_(self, key, value): - self.setObject_forKey_(container_wrap(value), container_wrap(key)) - - -_pop_setObject_dflt = object() - - -def pop_setObject_forKey_(self, key, dflt=_pop_setObject_dflt): - try: - res = self[key] - except KeyError: - if dflt == _pop_setObject_dflt: - raise KeyError(key) - res = dflt - else: - del self[key] - return res - - -def popitem_setObject_forKey_(self): - try: - it = self.keyEnumerator() - k = container_unwrap(it.nextObject(), StopIteration) - except (StopIteration, IndexError): - raise KeyError(f"popitem on an empty {type(self).__name__}") - else: - result = (k, container_unwrap(self.objectForKey_(k), KeyError)) - self.removeObjectForKey_(k) - return result - - -_CONVENIENCES_MAPPING_RW = _CONVENIENCES_MAPPING_RO + ( - ("__delitem__", __delitem__removeObjectForKey_), - ("__setitem__", __setitem__setObject_forKey_), - ("update", update_setObject_forKey_), - ("setdefault", setdefault_setObject_forKey_), - ("pop", pop_setObject_forKey_), - ("popitem", popitem_setObject_forKey_), -) - - -def addConvenienceForBasicMapping(classname, readonly=True): - """ - Add the convenience methods for a Cocoa mapping type - - Used to add the basic collections.abc.Mapping or collections.abc.MutableMapping - APIs to a Cocoa class that has an API simular to NSDictionary. - """ - addConvenienceForClass( - classname, _CONVENIENCES_MAPPING_RO if readonly else _CONVENIENCES_MAPPING_RW - ) - - try: - lst = CLASS_ABC[classname] - except KeyError: - lst = CLASS_ABC[classname] = [] - - lst.append(collections.abc.Mapping if readonly else collections.abc.MutableMapping) diff --git a/src/lib/objc/_convenience_nsarray.py b/src/lib/objc/_convenience_nsarray.py deleted file mode 100644 index 45bbe6a..0000000 --- a/src/lib/objc/_convenience_nsarray.py +++ /dev/null @@ -1,425 +0,0 @@ -""" -Convenience interface for NSArray/NSMutableArray -""" -__all__ = () - -import collections.abc -import sys - -from objc._convenience import addConvenienceForClass, container_unwrap, container_wrap -from objc._objc import _C_ID, _C_NSInteger -from objc._objc import _NSNotFound as NSNotFound -from objc._objc import lookUpClass, registerMetaDataForSelector - -NSArray = lookUpClass("NSArray") -NSMutableArray = lookUpClass("NSMutableArray") - -collections.abc.Sequence.register(NSArray) -collections.abc.MutableSequence.register(NSMutableArray) - - -registerMetaDataForSelector( - b"NSObject", - b"sortUsingFunction:context:", - { - "arguments": { - 2: { - "callable": { - "retval": {"type": _C_NSInteger}, - "arguments": { - 0: {"type": _C_ID}, - 1: {"type": _C_ID}, - 2: {"type": _C_ID}, - }, - }, - "callable_retained": False, - }, - 3: {"type": _C_ID}, - } - }, -) - - -def _ensure_array(anArray): - """Return *anArray* as a list, tuple or NSArray""" - if not isinstance(anArray, (NSArray, list, tuple)): - anArray = list(anArray) - return anArray - - -def nsarray_reverse(self): - """Reverse an array""" - begin = 0 - end = len(self) - 1 - while begin < end: - self.exchangeObjectAtIndex_withObjectAtIndex_(begin, end) - begin += 1 - end -= 1 - - -def nsarray_extend(self, anArray): - for item in anArray: - self.addObject_(container_wrap(item)) - - -_index_sentinel = object() - - -def nsarray_index(self, item, start=0, stop=_index_sentinel): - if start == 0 and stop is _index_sentinel: - res = self.indexOfObject_(container_wrap(item)) - if res == NSNotFound: - raise ValueError(f"{type(self).__name__}.index(x): x not in list") - - else: - itemcount = self.count() - if start < 0: - start = itemcount + start - if start < 0: - start = 0 - - if stop is not _index_sentinel: - if stop < 0: - stop = itemcount + stop - if stop < 0: - stop = 0 - else: - stop = itemcount - - if itemcount == 0: - raise ValueError(f"{type(self).__name__}.index(x): x not in list") - - if start >= itemcount: - raise ValueError(f"{type(self).__name__}.index(x): x not in list") - - if stop >= itemcount: - stop = itemcount - 1 - - if stop <= start: - ln = 0 - - else: - ln = stop - start - - if ln == 0: - raise ValueError(f"{type(self).__name__}.index(x): x not in list") - - if ln > sys.maxsize: # pragma: no cover - ln = sys.maxsize - - res = self.indexOfObject_inRange_(item, (start, ln)) - if res == NSNotFound: - raise ValueError(f"{type(self).__name__}.index(x): x not in list") - - return res - - -def nsarray_insert(self, idx, item): - if idx < 0: - idx += self.count() - if idx < 0: - idx = 0 - if idx >= self.count(): - self.addObject_(item) - return - self.insertObject_atIndex_(container_wrap(item), idx) - - -def nsarray__getitem__(self, idx): - if isinstance(idx, slice): - start, stop, step = idx.indices(len(self)) - return [self[i] for i in range(start, stop, step)] - - elif not isinstance(idx, int): - raise TypeError("index must be a number") - - if idx < 0: - idx += len(self) - if idx < 0: - raise IndexError("list index out of range") - - return container_unwrap(self.objectAtIndex_(idx), RuntimeError) - - -def nsarray__delitem__(self, idx): - if isinstance(idx, slice): - start, stop, step = idx.indices(self.count()) - if step == 1: - if start > stop: - # Nothing to remove - return - - return self.removeObjectsInRange_((start, stop - start)) - - r = reversed(range(start, stop, step)) - for i in r: - self.removeObjectAtIndex_(i) - return - - if idx < 0: - idx += self.count() - if idx < 0: - raise IndexError("list index out of range") - - self.removeObjectAtIndex_(idx) - - -def nsarray_pop(self, idx=-1): - length = self.count() - if length <= 0: - raise IndexError("pop from empty list") - - elif idx >= length or (idx + length) < 0: - raise IndexError("pop index out of range") - - elif idx < 0: - idx += len(self) - - rval = self.objectAtIndex_(idx) - self.removeObjectAtIndex_(idx) - return rval - - -def nsarray_remove(self, obj): - idx = self.indexOfObject_(obj) - if idx == NSNotFound: - raise ValueError(f"{type(self).__name__}.remove(x): x not in list") - self.removeObjectAtIndex_(idx) - - -index_error_message = "list indices must be integers or slices" - - -def nsarray__setitem__(self, idx, anObject): - if isinstance(idx, slice): - start, stop, step = idx.indices(self.count()) - if step >= 0: - if stop <= start: - # Empty slice: insert values - stop = start - - anObject = _ensure_array(anObject) - - if step == 1: - return self.replaceObjectsInRange_withObjectsFromArray_( - (start, stop - start), anObject - ) - - slice_len = len(range(start, stop, step)) - if slice_len != len(anObject): - raise ValueError( - "Replacing extended slice with %d elements by %d elements" - % (slice_len, len(anObject)) - ) - - if step > 0: - # NOTE: 'anObject' cannot be 'self' because assigning to an extended - # slice cannot change the size of 'self' and slep 1 is handled earlier. - toAssign = anObject - - for inIdx, outIdx in enumerate(range(start, stop, step)): - self.replaceObjectAtIndex_withObject_(outIdx, toAssign[inIdx]) - - # slice.indexes already catches this: - # elif step == 0: - # raise ValueError("Step 0") - - else: - if anObject is self: - toAssign = list(anObject) - else: - toAssign = anObject - - for inIdx, outIdx in enumerate(range(start, stop, step)): - self.replaceObjectAtIndex_withObject_(outIdx, toAssign[inIdx]) - - elif not isinstance(idx, int): - raise TypeError(index_error_message) - - else: - if idx < 0: - idx += self.count() - if idx < 0: - raise IndexError("list index out of range") - - self.replaceObjectAtIndex_withObject_(idx, anObject) - - -def nsarray_add(self, other): - result = NSMutableArray(self) - result.addObjectsFromArray_(_ensure_array(other)) - return result - - -def nsarray_radd(self, other): - result = NSMutableArray(other) - result.addObjectsFromArray_(self) - return result - - -def nsarray_mul(self, other): - """ - This tries to implement anNSArray * N - somewhat efficiently (and definitely more - efficient that repeated appending). - """ - result = NSMutableArray.array() - - if other <= 0: - return result - - n = 1 - tmp = self - while other: - if (other & n) != 0: - result.addObjectsFromArray_(tmp) - other -= n - - if other: - n <<= 1 - tmp = tmp.arrayByAddingObjectsFromArray_(tmp) - - return result - - -def nsarray_new(cls, sequence=None): - if not sequence: - return NSArray.array() - - elif isinstance(sequence, str): - return NSArray.arrayWithArray_(list(sequence)) - - else: - if not isinstance(sequence, (list, tuple)): - return NSArray.arrayWithArray_(list(sequence)) - - return NSArray.arrayWithArray_(sequence) - - -def nsmutablearray_new(cls, sequence=None): - if not sequence: - return NSMutableArray.array() - - elif isinstance(sequence, str): - return NSMutableArray.arrayWithArray_(list(sequence)) - - else: - if type(sequence) not in (list, tuple): - return NSMutableArray.arrayWithArray_(list(sequence)) - - # This is only valid when ``sequence`` is an built-in list or tuple, - # otherwise arrayWithArray might access the sequence differently - # then expected from a Python sequence initializer. - return NSMutableArray.arrayWithArray_(sequence) - - -def nsarray__contains__(self, elem): - return bool(self.containsObject_(container_wrap(elem))) - - -def nsarray_append(self, anObject): - self.addObject_(container_wrap(anObject)) - - -def nsarray_clear(self): - self.removeAllObjects() - - -def nsarray_sort(self, key=lambda x: x, reverse=False): - if reverse: - - def sort_func(a, b, _): - a = key(a) - b = key(b) - if a < b: - return 1 - - elif b < a: - return -1 - - else: - return 0 - - else: - - def sort_func(a, b, _): - a = key(a) - b = key(b) - - if a < b: - return -1 - elif b < a: - return 1 - else: - return 0 - - self.sortUsingFunction_context_(sort_func, None) - - -def nsarray__len__(self): - return self.count() - - -# NOTE: 'no cover' because call of the system array -# classes are subclasses of NSMutableArray. -def nsarray__copy__(self): # pragma: no cover - return self.copy() - - -def nsarray__iter__(self): - return iter(self.objectEnumerator()) - - -addConvenienceForClass( - "NSArray", - ( - ("__new__", staticmethod(nsarray_new)), - ("__add__", nsarray_add), - ("__radd__", nsarray_radd), - ("__mul__", nsarray_mul), - ("__rmul__", nsarray_mul), - ("__len__", nsarray__len__), - ("__contains__", nsarray__contains__), - ("__getitem__", nsarray__getitem__), - ("__copy__", nsarray__copy__), - ("__iter__", nsarray__iter__), - ("index", nsarray_index), - ("remove", nsarray_remove), - ("pop", nsarray_pop), - ), -) - -# XXX: See #334: Some part of Cocoa can load a category on subclasses of -# NSMutableArray that defines a pop method, which then interferes with -# nsarray_pop. -# The code below registers our own pop on all known subclasses of NSArray... -for cls in ( - "__NSArrayI", - "__NSArrayM", - "__NSArray0", -): - addConvenienceForClass( - cls, - (("pop", nsarray_pop),), - ) - - -def nsmutablearray__copy__(self): - return self.mutableCopy() - - -addConvenienceForClass( - "NSMutableArray", - ( - ("__new__", staticmethod(nsmutablearray_new)), - ("__copy__", nsmutablearray__copy__), - ("__setitem__", nsarray__setitem__), - ("__delitem__", nsarray__delitem__), - ("extend", nsarray_extend), - ("append", nsarray_append), - ("sort", nsarray_sort), - ("insert", nsarray_insert), - ("reverse", nsarray_reverse), - ("clear", nsarray_clear), - ), -) diff --git a/src/lib/objc/_convenience_nsdata.py b/src/lib/objc/_convenience_nsdata.py deleted file mode 100644 index cb8950e..0000000 --- a/src/lib/objc/_convenience_nsdata.py +++ /dev/null @@ -1,438 +0,0 @@ -""" -Specific support for NSData. - -NSData needs to be handles specially for correctness reasons, -and is therefore in the core instead of the Foundation -framework wrappers. -""" -from objc._convenience import addConvenienceForClass -from objc._objc import registerMetaDataForSelector -import sys -import operator - -registerMetaDataForSelector( - b"NSData", - b"dataWithBytes:length:", - { - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, -) -registerMetaDataForSelector( - b"NSData", - b"initWithBytes:length:", - { - "arguments": { - 2: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 3} - } - }, -) -registerMetaDataForSelector( - b"NSData", - b"replaceBytesInRange:withBytes:length:", - { - "arguments": { - 3: {"type": b"^v", "type_modifier": b"n", "c_array_length_in_arg": 4} - } - }, -) - - -def nsdata__new__(cls, value=None): - if value is None: - return cls.data() - - else: - try: - view = memoryview(value) - except TypeError: - view = bytes(value) - - return cls.dataWithBytes_length_(view, len(view)) - - -def nsdata__str__(self): - if len(self) == 0: - return str(b"") - return str(self.bytes().tobytes()) - - -def nsdata__bytes__(self): - return bytes(self.bytes()) - - -def nsdata__getitem__(self, item): - buff = self.bytes() - return buff[item] - - -# XXX: The methods below are a bit too simplistic, -# use NSData methods were applicable -def nsdata_capitalize(self): - return bytes(self.bytes()).capitalize() - - -def nsdata_center(self, *args, **kwds): - return bytes(self.bytes()).center(*args, **kwds) - - -def nsdata_count(self, *args, **kwds): - return bytes(self.bytes()).count(*args, **kwds) - - -def nsdata_decode(self, *args, **kwds): - return bytes(self.bytes()).decode(*args, **kwds) - - -def nsdata_endswith(self, *args, **kwds): - return bytes(self.bytes()).endswith(*args, **kwds) - - -def nsdata_expandtabs(self, *args, **kwds): - return bytes(self.bytes()).expandtabs(*args, **kwds) - - -def nsdata_find(self, *args, **kwds): - return bytes(self.bytes()).find(*args, **kwds) - - -def nsdata_fromhex(cls, *args, **kwds): - return cls.dataWithData_(bytes.fromhex(*args, **kwds)) - - -def nsdata_hex(self, *args, **kwds): - return memoryview(self.bytes()).hex(*args, **kwds) - - -def nsdata_index(self, *args, **kwds): - return bytes(self.bytes()).index(*args, **kwds) - - -def nsdata_isalnum(self, *args, **kwds): - return bytes(self.bytes()).isalnum(*args, **kwds) - - -def nsdata_isalpha(self, *args, **kwds): - return bytes(self.bytes()).isalpha(*args, **kwds) - - -def nsdata_isdigit(self, *args, **kwds): - return bytes(self.bytes()).isdigit(*args, **kwds) - - -def nsdata_islower(self, *args, **kwds): - return bytes(self.bytes()).islower(*args, **kwds) - - -def nsdata_isspace(self, *args, **kwds): - return bytes(self.bytes()).isspace(*args, **kwds) - - -def nsdata_istitle(self, *args, **kwds): - return bytes(self.bytes()).istitle(*args, **kwds) - - -def isdata_isupper(self, *args, **kwds): - return bytes(self.bytes()).isupper(*args, **kwds) - - -def nsdata_join(self, *args, **kwds): - return bytes(self.bytes()).join(*args, **kwds) - - -def nsdata_ljust(self, *args, **kwds): - return bytes(self.bytes()).ljust(*args, **kwds) - - -def nsdata_lower(self, *args, **kwds): - return bytes(self.bytes()).lower(*args, **kwds) - - -def nsdata_lstrip(self, *args, **kwds): - return bytes(self.bytes()).lstrip(*args, **kwds) - - -def nsdata_maketrans(cls, *args, **kwds): - return bytes.maketrans(*args, **kwds) - - -def nsdata_partition(self, *args, **kwds): - return bytes(self.bytes()).partition(*args, **kwds) - - -def nsdata_replace(self, *args, **kwds): - return bytes(self.bytes()).replace(*args, **kwds) - - -def nsdata_rfind(self, *args, **kwds): - return bytes(self.bytes()).rfind(*args, **kwds) - - -def nsdata_rindex(self, *args, **kwds): - return bytes(self.bytes()).rindex(*args, **kwds) - - -def nsdata_rjust(self, *args, **kwds): - return bytes(self.bytes()).rjust(*args, **kwds) - - -def nsdata_rpartition(self, *args, **kwds): - return bytes(self.bytes()).rpartition(*args, **kwds) - - -def nsdata_rsplit(self, *args, **kwds): - return bytes(self.bytes()).rsplit(*args, **kwds) - - -def nsdata_rstrip(self, *args, **kwds): - return bytes(self.bytes()).rstrip(*args, **kwds) - - -def nsdata_split(self, *args, **kwds): - return bytes(self.bytes()).split(*args, **kwds) - - -def nsdata_splitlines(self, *args, **kwds): - return bytes(self.bytes()).splitlines(*args, **kwds) - - -def nsdata_startswith(self, *args, **kwds): - return bytes(self.bytes()).startswith(*args, **kwds) - - -def nsdata_strip(self, *args, **kwds): - return bytes(self.bytes()).strip(*args, **kwds) - - -def nsdata_swapcase(self, *args, **kwds): - return bytes(self.bytes()).swapcase(*args, **kwds) - - -def nsdata_title(self, *args, **kwds): - return bytes(self.bytes()).title(*args, **kwds) - - -def nsdata_translate(self, *args, **kwds): - return bytes(self.bytes()).translate(*args, **kwds) - - -def nsdata_upper(self, *args, **kwds): - return bytes(self.bytes()).upper(*args, **kwds) - - -def nsdata_zfill(self, *args, **kwds): - return bytes(self.bytes()).zfill(*args, **kwds) - - -def nsdata__mul__(self, count): - if count <= 0: - return b"" - else: - return bytes(self) * count - - -def nsdata__add__(self, other): - return bytes(self) + other - - -def nsdata__radd__(self, other): - return other + bytes(self) - - -addConvenienceForClass( - "NSData", - ( - ("__new__", staticmethod(nsdata__new__)), - ("__len__", lambda self: self.length()), - ("__str__", nsdata__str__), - ("__getitem__", nsdata__getitem__), - ("__bytes__", nsdata__bytes__), - ("__mul__", nsdata__mul__), - ("__rmul__", nsdata__mul__), - ("__add__", nsdata__add__), - ("__radd__", nsdata__radd__), - ("capitalize", nsdata_capitalize), - ("center", nsdata_center), - ("count", nsdata_count), - ("decode", nsdata_decode), - ("endswith", nsdata_endswith), - ("expandtabs", nsdata_expandtabs), - ("find", nsdata_find), - ("fromhex", classmethod(nsdata_fromhex)), - ("hex", nsdata_hex), - ("index", nsdata_index), - ("isalnum", nsdata_isalnum), - ("isalpha", nsdata_isalpha), - ("isdigit", nsdata_isdigit), - ("islower", nsdata_islower), - ("isspace", nsdata_isspace), - ("istitle", nsdata_istitle), - ("isupper", isdata_isupper), - ("join", nsdata_join), - ("ljust", nsdata_ljust), - ("lower", nsdata_lower), - ("lstrip", nsdata_lstrip), - ("maketrans", classmethod(nsdata_maketrans)), - ("partition", nsdata_partition), - ("replace", nsdata_replace), - ("rfind", nsdata_rfind), - ("rindex", nsdata_rindex), - ("rjust", nsdata_rjust), - ("rpartition", nsdata_rpartition), - ("rsplit", nsdata_rsplit), - ("rstrip", nsdata_rstrip), - ("split", nsdata_split), - ("splitlines", nsdata_splitlines), - ("startswith", nsdata_startswith), - ("strip", nsdata_strip), - ("swapcase", nsdata_swapcase), - ("title", nsdata_title), - ("translate", nsdata_translate), - ("upper", nsdata_upper), - ("zfill", nsdata_zfill), - ), -) - - -if sys.version_info[:2] >= (3, 7): - - def nsdata_isascii(self, *args, **kwds): - return bytes(self.bytes()).isascii(*args, **kwds) - - addConvenienceForClass("NSData", (("isascii", nsdata_isascii),)) - - -if sys.version_info[:2] >= (3, 9): - - def nsdata_removeprefix(self, *args, **kwds): - return bytes(self.bytes()).removeprefix(*args, **kwds) - - def nsdata_removesuffix(self, *args, **kwds): - return bytes(self.bytes()).removesuffix(*args, **kwds) - - addConvenienceForClass( - "NSData", - ( - ("removeprefix", nsdata_removeprefix), - ("removesuffix", nsdata_removesuffix), - ), - ) - - -def nsmutabledata__setitem__(self, item, value): - self.mutableBytes()[item] = value - - -def nsmutabledata__delitem__(self, item): - if isinstance(item, slice): - start, stop, step = item.indices(len(self)) - if step == 1: - self.replaceBytesInRange_withBytes_length_((start, stop - start), b"", 0) - else: - indices = range(start, stop, step) - if step > 0: - for idx in indices[::-1]: - self.replaceBytesInRange_withBytes_length_((idx, 1), b"", 0) - else: - for idx in indices: - self.replaceBytesInRange_withBytes_length_((idx, 1), b"", 0) - else: - item = operator.index(item) - if item < 0: - item += len(self) - if item < 0: - raise IndexError(f"{type(self).__name__} index out of range") - self.replaceBytesInRange_withBytes_length_((item, 1), b"", 0) - - -def nsmutabledata__iadd__(self, iterable_of_ints): - view = memoryview(iterable_of_ints) - self.appendData_(view) - - return self - - -def nsmutabledata_extend(self, iterable_of_ints): - try: - view = memoryview(iterable_of_ints) - except TypeError: - self.appendData_(bytes(iterable_of_ints)) - else: - self.appendData_(view) - - return self - - -def nsmutabledata__imul__(self, count): - if count <= 0: - self.clear() - return self - elif count == 1: - return self - - else: - # XXX: This is suboptimal... - orig = self.copy() - for _ in range(count - 1): - self += orig - return self - - -def nsmutabledata_reverse(self): - value = bytes(self)[::-1] - self.setData_(value) - - -def nsmutabledata_pop(self, index=-1): - index = operator.index(index) - - if index < 0: - index += len(self) - if index < 0: - raise IndexError(f"{type(self).__name__} index out of range") - - result = self[index] - self.replaceBytesInRange_withBytes_length_((index, 1), b"", 0) - return result - - -def nsmutabledata_remove(self, value): - # XXX: Optimize me - tmp = bytearray(self) - tmp.remove(value) - self.setData_(tmp) - - -def nsmutabledata_insert(self, index, value): - # XXX: Optimize me - tmp = bytearray(self) - tmp.insert(index, value) - self.setData_(tmp) - - -def nsmutabledata_append(self, value): - value = operator.index(value) - self += bytes([value]) - - -def nsmutabledata_clear(self): - self.setData_(b"") - - -addConvenienceForClass( - "NSMutableData", - ( - ("__setitem__", nsmutabledata__setitem__), - ("__delitem__", nsmutabledata__delitem__), - ("__iadd__", nsmutabledata__iadd__), - ("__imul__", nsmutabledata__imul__), - ("extend", nsmutabledata_extend), - ("append", nsmutabledata_append), - ("reverse", nsmutabledata_reverse), - ("remove", nsmutabledata_remove), - ("clear", nsmutabledata_clear), - ("pop", nsmutabledata_pop), - ("insert", nsmutabledata_insert), - ), -) diff --git a/src/lib/objc/_convenience_nsdecimal.py b/src/lib/objc/_convenience_nsdecimal.py deleted file mode 100644 index 312aba9..0000000 --- a/src/lib/objc/_convenience_nsdecimal.py +++ /dev/null @@ -1,116 +0,0 @@ -""" -Support for NSDecimalNumber. - -The actual class is defined in Foundation, but having the wrapper -here is much more convenient. -""" -__all__ = () -import operator - -from objc._convenience import addConvenienceForClass -from objc._objc import NSDecimal, lookUpClass - -NSDecimalNumber = lookUpClass("NSDecimalNumber") - - -def decimal_new(cls, value=None): - if value is None: - return cls.numberWithInt_(0) - - else: - if isinstance(value, NSDecimal): - return cls.decimalNumberWithDecimal_(value) - elif isinstance(value, NSDecimalNumber): - return cls.decimalNumberWithDecimal_(value.decimalValue()) - elif isinstance(value, float): - return cls.numberWithDouble_(value) - elif isinstance(value, str): - value = NSDecimal(value) - return cls.decimalNumberWithDecimal_(value) - else: - # The value is either an integer, or - # invalid (and numberWithLongLong_ will raise - # TypeError) - try: - return cls.numberWithLongLong_(value) - - except ValueError: - raise TypeError("Value is not a number") - - -addConvenienceForClass( - "NSDecimalNumber", - ( - ("__new__", staticmethod(decimal_new)), - ( - "__add__", - lambda self, other: NSDecimalNumber(operator.add(NSDecimal(self), other)), - ), - ( - "__radd__", - lambda self, other: NSDecimalNumber(operator.add(other, NSDecimal(self))), - ), - ( - "__sub__", - lambda self, other: NSDecimalNumber(operator.sub(NSDecimal(self), other)), - ), - ( - "__rsub__", - lambda self, other: NSDecimalNumber(operator.sub(other, NSDecimal(self))), - ), - ( - "__mul__", - lambda self, other: NSDecimalNumber(operator.mul(NSDecimal(self), other)), - ), - ( - "__rmul__", - lambda self, other: NSDecimalNumber(operator.mul(other, NSDecimal(self))), - ), - ( - "__truediv__", - lambda self, other: NSDecimalNumber( - operator.truediv(NSDecimal(self), other) - ), - ), - ( - "__rtruediv__", - lambda self, other: NSDecimalNumber( - operator.truediv(other, NSDecimal(self)) - ), - ), - ( - "__floordiv__", - lambda self, other: NSDecimalNumber( - operator.floordiv(NSDecimal(self), other) - ), - ), - ( - "__rfloordiv__", - lambda self, other: NSDecimalNumber( - operator.floordiv(other, NSDecimal(self)) - ), - ), - ( - "__mod__", - lambda self, other: NSDecimalNumber(operator.mod(NSDecimal(self), other)), - ), - ( - "__rmod__", - lambda self, other: NSDecimalNumber(operator.mod(other, NSDecimal(self))), - ), - ("__neg__", lambda self: NSDecimalNumber(operator.neg(NSDecimal(self)))), - ("__pos__", lambda self: NSDecimalNumber(operator.pos(NSDecimal(self)))), - ("__abs__", lambda self: NSDecimalNumber(abs(NSDecimal(self)))), - ("__lt__", lambda self, other: (NSDecimal(self) < other)), - ("__gt__", lambda self, other: (NSDecimal(self) > other)), - ("__le__", lambda self, other: (NSDecimal(self) <= other)), - ("__ge__", lambda self, other: (NSDecimal(self) >= other)), - ("__eq__", lambda self, other: (NSDecimal(self) == other)), - ("__ne__", lambda self, other: (NSDecimal(self) != other)), - ), -) - -addConvenienceForClass( - "NSDecimalNumber", - (("__round__", lambda self, n=0: NSDecimalNumber(round(NSDecimal(self), n))),), -) diff --git a/src/lib/objc/_convenience_nsdictionary.py b/src/lib/objc/_convenience_nsdictionary.py deleted file mode 100644 index b545c68..0000000 --- a/src/lib/objc/_convenience_nsdictionary.py +++ /dev/null @@ -1,346 +0,0 @@ -""" -Convenience interface for NSDictionary/NSMutableDictionary -""" -__all__ = () - -import collections.abc - -from objc._convenience import addConvenienceForClass, container_wrap -from objc._convenience_mapping import addConvenienceForBasicMapping -from objc._objc import lookUpClass - -NSDictionary = lookUpClass("NSDictionary") -NSMutableDictionary = lookUpClass("NSMutableDictionary") - -addConvenienceForBasicMapping("NSDictionary", True) -addConvenienceForBasicMapping("NSMutableDictionary", False) - - -def _all_contained_in(inner, outer): - """ - Return True iff all items in ``inner`` are also in ``outer``. - """ - for v in inner: - if v not in outer: - return False - - return True - - -def nsdict__len__(self): - return self.count() - - -def nsdict__iter__(self): - return iter(self.keyEnumerator()) - - -class nsdict_view(collections.abc.Set): - __slots__ = () - - def __eq__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) == len(other): - return _all_contained_in(self, other) - - else: - return False - - def __ne__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) == len(other): - return not _all_contained_in(self, other) - - else: - return True - - def __lt__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) < len(other): - return _all_contained_in(self, other) - - else: - return False - - def __le__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) <= len(other): - return _all_contained_in(self, other) - - else: - return False - - def __gt__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) > len(other): - return _all_contained_in(other, self) - - else: - return False - - def __ge__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - - if len(self) >= len(other): - return _all_contained_in(other, self) - - else: - return False - - def __and__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.intersection_update(other) - return result - - def __rand__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.intersection_update(other) - return result - - def __or__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.update(other) - return result - - def __ror__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.update(other) - return result - - def __sub__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.difference_update(other) - return result - - def __rsub__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(other) - result.difference_update(self) - return result - - def __xor__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.symmetric_difference_update(other) - return result - - def __rxor__(self, other): - if not isinstance(other, collections.abc.Set): - return NotImplemented - result = set(self) - result.symmetric_difference_update(other) - return result - - -class nsdict_keys(nsdict_view): - __slots__ = ("__value",) - - def __init__(self, value): - self.__value = value - - def __repr__(self): - keys = list(self.__value) - - return f"" - - def __len__(self): - return len(self.__value) - - def __iter__(self): - return iter(self.__value) - - def __contains__(self, value): - return value in self.__value - - -class nsdict_values(nsdict_view): - __slots__ = ("__value",) - - def __init__(self, value): - self.__value = value - - def __repr__(self): - values = list(self) - values.sort() - - return f"" - - def __len__(self): - return len(self.__value) - - def __iter__(self): - return iter(self.__value.objectEnumerator()) - - def __contains__(self, value): - for v in iter(self): - if value == v: - return True - return False - - -class nsdict_items(nsdict_view): - __slots__ = ("__value",) - - def __init__(self, value): - self.__value = value - - def __repr__(self): - values = list(self) - values.sort() - - return f"" - - def __len__(self): - return len(self.__value) - - def __iter__(self): - for k in self.__value: - yield (k, self.__value[k]) - - def __contains__(self, value): - for v in iter(self): - if value == v: - return True - return False - - -collections.abc.KeysView.register(nsdict_keys) -collections.abc.ValuesView.register(nsdict_values) -collections.abc.ItemsView.register(nsdict_items) - -collections.abc.Mapping.register(NSDictionary) -collections.abc.MutableMapping.register(NSMutableDictionary) - - -def nsdict_fromkeys(cls, keys, value=None): - keys = [container_wrap(k) for k in keys] - values = [container_wrap(value)] * len(keys) - - return cls.dictionaryWithObjects_forKeys_(values, keys) - - -def nsmutabledict_fromkeys(cls, keys, value=None): - value = container_wrap(value) - - result = cls.alloc().init() - for k in keys: - result[container_wrap(k)] = value - return result - - -def nsdict_new(cls, *args, **kwds): - if len(args) == 0: - pass - - elif len(args) == 1: - d = {} - if isinstance(args[0], collections.abc.Mapping): - items = args[0].items() - else: - items = args[0] - for k, v in items: - d[container_wrap(k)] = container_wrap(v) - - for k, v in kwds.items(): - d[container_wrap(k)] = container_wrap(v) - - return cls.dictionaryWithDictionary_(d) - - else: - raise TypeError(f"dict expected at most 1 arguments, got {len(args)}") - - if kwds: - d = {} - for k, v in kwds.items(): - d[container_wrap(k)] = container_wrap(v) - - return cls.dictionaryWithDictionary_(d) - - return cls.dictionary() - - -def nsdict__eq__(self, other): - if not isinstance(other, collections.abc.Mapping): - return False - - return self.isEqualToDictionary_(other) - - -def nsdict__ne__(self, other): - return not nsdict__eq__(self, other) - - -def nsdict__lt__(self, other): - return NotImplemented - - -def nsdict__le__(self, other): - return NotImplemented - - -def nsdict__ge__(self, other): - return NotImplemented - - -def nsdict__gt__(self, other): - return NotImplemented - - -addConvenienceForClass( - "NSDictionary", - ( - ("keys", lambda self: nsdict_keys(self)), - ("values", lambda self: nsdict_values(self)), - ("items", lambda self: nsdict_items(self)), - ), -) - - -addConvenienceForClass( - "NSDictionary", - ( - ("__new__", staticmethod(nsdict_new)), - ("fromkeys", classmethod(nsdict_fromkeys)), - ("__eq__", nsdict__eq__), - ("__ne__", nsdict__ne__), - ("__lt__", nsdict__lt__), - ("__le__", nsdict__le__), - ("__gt__", nsdict__gt__), - ("__ge__", nsdict__ge__), - ("__len__", nsdict__len__), - ("__iter__", nsdict__iter__), - ), -) - - -addConvenienceForClass( - "NSMutableDictionary", - ( - ("__new__", staticmethod(nsdict_new)), - ("fromkeys", classmethod(nsmutabledict_fromkeys)), - ("clear", lambda self: self.removeAllObjects()), - ), -) diff --git a/src/lib/objc/_convenience_nsobject.py b/src/lib/objc/_convenience_nsobject.py deleted file mode 100644 index 7a30d6a..0000000 --- a/src/lib/objc/_convenience_nsobject.py +++ /dev/null @@ -1,123 +0,0 @@ -""" -Generic conveniences for NSObject - -The type is defined in Foundation, but NSObject is important -to the behavior of the bridge and therefore these conveniences -are kept in the core. -""" - -__all__ = () -import sys - -from objc._convenience import addConvenienceForClass - - -def nsobject_hash(self, _max=sys.maxsize, _const=((sys.maxsize + 1) * 2)): - rval = self.hash() - if rval > _max: - rval -= _const - - # -1 is not a valid hash in Python and hash(x) will - # translate a hash of -1 to -2, so we might as well - # do it here so that it's not too surprising.. - if rval == -1: - rval = -2 - return int(rval) - - -def nsobject__eq__(self, other): - if self.__is_magic(): - return self is other - return bool(self.isEqualTo_(other)) - - -def nsobject__ne__(self, other): - if self.__is_magic(): - return self is not other - return bool(self.isNotEqualTo_(other)) - - -def nsobject__gt__(self, other): - if self.__is_magic(): - return NotImplemented - return bool(self.isGreaterThan_(other)) - - -def nsobject__ge__(self, other): - if self.__is_magic(): - return NotImplemented - return bool(self.isGreaterThanOrEqualTo_(other)) - - -def nsobject__lt__(self, other): - if self.__is_magic(): - return NotImplemented - return bool(self.isLessThan_(other)) - - -def nsobject__le__(self, other): - if self.__is_magic(): - return NotImplemented - return bool(self.isLessThanOrEqualTo_(other)) - - -class kvc: - """ - Key-Value-Coding accessor for Cocoa objects. - - Both attribute access and dict-like indexing will attempt to - access the requested item through Key-Value-Coding. - """ - - __slots__ = ("__object",) - - def __init__(self, value): - self.__object = value - - def __repr__(self): - return f"" - - def __getattr__(self, key): - try: - return self.__object.valueForKey_(key) - except KeyError as msg: - if ( - hasattr(msg, "_pyobjc_info_") - and msg._pyobjc_info_["name"] == "NSUnknownKeyException" - ): - raise AttributeError(key) - - raise - - def __setattr__(self, key, value): - if not key.startswith("_"): - return self.__object.setValue_forKey_(value, key) - else: - super().__setattr__(key, value) - - def __getitem__(self, key): - if not isinstance(key, str): - raise TypeError("Key must be string") - - return self.__object.valueForKey_(key) - - def __setitem__(self, key, value): - if not isinstance(key, str): - raise TypeError("Key must be string") - - return self.__object.setValue_forKey_(value, key) - - -addConvenienceForClass( - "NSObject", - ( - ("__hash__", nsobject_hash), - ("__eq__", nsobject__eq__), - ("__ne__", nsobject__ne__), - ("__gt__", nsobject__gt__), - ("__ge__", nsobject__ge__), - ("__lt__", nsobject__lt__), - ("__le__", nsobject__le__), - ("_", property(kvc)), - ), -) diff --git a/src/lib/objc/_convenience_nsset.py b/src/lib/objc/_convenience_nsset.py deleted file mode 100644 index 23c9623..0000000 --- a/src/lib/objc/_convenience_nsset.py +++ /dev/null @@ -1,346 +0,0 @@ -""" -Convenience interface for NSSet/NSMutableSet -""" -__all__ = () - -import collections.abc - -from objc._convenience import addConvenienceForClass, container_unwrap, container_wrap -from objc._objc import lookUpClass - -NSSet = lookUpClass("NSSet") -NSMutableSet = lookUpClass("NSMutableSet") - -collections.abc.Set.register(NSSet) -collections.abc.MutableSet.register(NSMutableSet) - - -def nsset_isdisjoint(self, other): - if not hasattr(other, "__contains__"): - other = list(other) - - for item in self: - if item in other: - return False - return True - - -def nsset_union(self, *other): - result = NSMutableSet() - result.unionSet_(self) - for val in other: - if isinstance(val, collections.abc.Set): - result.unionSet_(val) - else: - result.unionSet_(set(val)) - return result - - -def nsset_intersection(self, *others): - if len(others) == 0: - return self.mutableCopy() - - others = [o if hasattr(o, "__contains__") else list(o) for o in others] - - result = NSMutableSet() - for item in self: - for o in others: - if item not in o: - break - else: - result.add(item) - return result - - -def nsset_difference(self, *others): - result = self.mutableCopy() - - for value in others: - if isinstance(value, collections.abc.Set): - result.minusSet_(value) - else: - result.minusSet_(set(value)) - - return result - - -def nsset_symmetric_difference(self, other): - result = NSMutableSet() - if not hasattr(other, "__contains__"): - other = list(other) - for item in iter(self): - if item not in other: - result.add(item) - for item in other: - if item not in self: - result.add(item) - return result - - -def nsset__contains__(self, value): - hash(value) # Force error for non-hashable values - return self.containsObject_(value) - - -def nsset__or__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("NSSet|value where value is not a set") - return nsset_union(self, other) - - -def nsset__ror__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("value|NSSet where value is not a set") - return nsset_union(other, self) - - -def nsset__and__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("NSSet&value where value is not a set") - return nsset_intersection(self, other) - - -def nsset__rand__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("value&NSSet where value is not a set") - return nsset_intersection(other, self) - - -def nsset__sub__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("NSSet-value where value is not a set") - return nsset_difference(self, other) - - -def nsset__rsub__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("NSSet-value where value is not a set") - return nsset_difference(NSMutableSet(other), self) - - -def nsset__xor__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError("NSSet-value where value is not a set") - return nsset_symmetric_difference(other, self) - - -def nsset_issubset(self, other): - if isinstance(other, collections.abc.Set): - return self.isSubsetOfSet_(other) - - else: - return self.isSubsetOfSet_(set(other)) - - -def nsset__le__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError() - return nsset_issubset(self, other) - - -def nsset__eq__(self, other): - if not isinstance(other, collections.abc.Set): - return False - - return self.isEqualToSet_(other) - - -def nsset__ne__(self, other): - if not isinstance(other, collections.abc.Set): - return True - - return not self.isEqualToSet_(other) - - -def nsset__lt__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError() - - return (self <= other) and (self != other) - - -def nsset_issuperset(self, other): - if not isinstance(other, collections.abc.Set): - other = set(other) - - for item in other: - if item not in self: - return False - - return True - - -def nsset__ge__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError() - return nsset_issuperset(self, other) - - -def nsset__gt__(self, other): - if not isinstance(other, collections.abc.Set): - raise TypeError() - return (self >= other) and (self != other) - - -def nsset_update(self, *others): - for other in others: - if isinstance(other, collections.abc.Set): - self.unionSet_(other) - else: - self.unionSet_(set(other)) - - -def nsset_intersection_update(self, *others): - for other in others: - if isinstance(other, collections.abc.Set): - self.intersectSet_(other) - else: - self.intersectSet_(set(other)) - - -def nsset_difference_update(self, *others): - for other in others: - if isinstance(other, collections.abc.Set): - self.minusSet_(other) - else: - self.minusSet_(set(other)) - - -def nsset_symmetric_difference_update(self, other): - toadd = set() - toremove = set() - - if isinstance(other, collections.abc.Set): - totest = other - else: - totest = set(other) - - for value in self: - if value in totest: - toremove.add(value) - for value in totest: - if value not in self: - toadd.add(value) - - self.minusSet_(toremove) - self.unionSet_(toadd) - - -def nsset_pop(self): - if len(self) == 0: - raise KeyError() - - v = self.anyObject() - self.removeObject_(v) - return container_unwrap(v, KeyError) - - -def nsset_remove(self, value): - hash(value) - value = container_wrap(value) - if value not in self: - raise KeyError(value) - self.removeObject_(value) - - -def nsset_discard(self, value): - hash(value) - self.removeObject_(container_wrap(value)) - - -def nsset_add(self, value): - hash(value) - self.addObject_(container_wrap(value)) - - -class nsset__iter__: - def __init__(self, value): - self._size = len(value) - self._enum = value.objectEnumerator() - - def __length_hint__(self): - return self._size - - def __iter__(self): - return self - - def __next__(self): - self._size -= 1 - return container_unwrap(self._enum.nextObject(), StopIteration) - - -addConvenienceForClass( - "NSSet", - ( - ("__len__", lambda self: self.count()), - ("__iter__", lambda self: nsset__iter__(self)), - ("__contains__", nsset__contains__), - ("isdisjoint", nsset_isdisjoint), - ("union", nsset_union), - ("intersection", nsset_intersection), - ("difference", nsset_difference), - ("symmetric_difference", nsset_symmetric_difference), - ("issubset", nsset_issubset), - ("__eq__", nsset__eq__), - ("__ne__", nsset__ne__), - ("__le__", nsset__le__), - ("__lt__", nsset__lt__), - ("issuperset", nsset_issuperset), - ("__ge__", nsset__ge__), - ("__gt__", nsset__gt__), - ("__or__", nsset__or__), - ("__ror__", nsset__ror__), - ("__and__", nsset__and__), - ("__rand__", nsset__rand__), - ("__xor__", nsset__xor__), - ("__rxor__", nsset__xor__), - ("__sub__", nsset__sub__), - ("__rsub__", nsset__rsub__), - ), -) - -addConvenienceForClass( - "NSMutableSet", - ( - ("add", nsset_add), - ("remove", nsset_remove), - ("discard", nsset_discard), - ("update", nsset_update), - ("intersection_update", nsset_intersection_update), - ("difference_update", nsset_difference_update), - ("symmetric_difference_update", nsset_symmetric_difference_update), - ("clear", lambda self: self.removeAllObjects()), - ("pop", nsset_pop), - ), -) - - -def nsset_new(cls, sequence=None): - if not sequence: - return NSSet.set() - - if isinstance(sequence, (NSSet, set, frozenset)): - return NSSet.set().setByAddingObjectsFromSet_(sequence) - - else: - return NSSet.set().setByAddingObjectsFromSet_(set(sequence)) - - -def nsmutableset_new(cls, sequence=None): - if not sequence: - value = NSMutableSet.set() - - elif isinstance(sequence, (NSSet, set, frozenset)): - value = NSMutableSet.set() - value.unionSet_(sequence) - - else: - value = NSMutableSet.set() - value.unionSet_(set(sequence)) - - return value - - -addConvenienceForClass("NSSet", (("__new__", staticmethod(nsset_new)),)) - -addConvenienceForClass("NSMutableSet", (("__new__", staticmethod(nsmutableset_new)),)) diff --git a/src/lib/objc/_convenience_nsstring.py b/src/lib/objc/_convenience_nsstring.py deleted file mode 100644 index 328df48..0000000 --- a/src/lib/objc/_convenience_nsstring.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -Convenience interface for NSString -""" -from objc._convenience import addConvenienceForClass - -__all__ = () - -_no_value = object() - - -def nsstring_new(cls, value=_no_value): - if value is _no_value: - return cls.alloc().init() - else: - return cls.alloc().initWithString_(value) - - -addConvenienceForClass( - "NSString", - ( - ("__len__", lambda self: self.length()), - ("endswith", lambda self, pfx: self.hasSuffix_(pfx)), - ("startswith", lambda self, pfx: self.hasPrefix_(pfx)), - ("__new__", staticmethod(nsstring_new)), - ), -) diff --git a/src/lib/objc/_convenience_sequence.py b/src/lib/objc/_convenience_sequence.py deleted file mode 100644 index 345dd17..0000000 --- a/src/lib/objc/_convenience_sequence.py +++ /dev/null @@ -1,54 +0,0 @@ -""" -This module implements a callback function that is used by the C code to -add Python special methods to Objective-C classes with a suitable interface. -""" -from objc._convenience import addConvenienceForClass - -__all__ = ("addConvenienceForBasicSequence",) - - -def seq_iter(self): - for idx in range(len(self)): - yield self[idx] - - -def seq_len(self): - return self.count() - - -def seq_getitem(self, idx): - if isinstance(idx, slice): - raise ValueError("Slices not supported") - - if idx < 0: - orig_idx = idx - idx += seq_len(self) - - if idx < 0: - raise IndexError(orig_idx) - - return self.objectAtIndex_(idx) - - -def seq_setitem(self, idx, value): - if isinstance(idx, slice): - raise ValueError("Slices not supported") - - if idx < 0: - orig_idx = idx - idx += seq_len(self) - - if idx < 0: - raise IndexError(orig_idx) - - return self.setObject_atIndex_(value, idx) - - -def addConvenienceForBasicSequence(classname, readonly=True): - addConvenienceForClass( - classname, - (("__len__", seq_len), ("__getitem__", seq_getitem), ("__iter__", seq_iter)), - ) - - if not readonly: - addConvenienceForClass(classname, (("__setitem__", seq_setitem),)) diff --git a/src/lib/objc/_descriptors.py b/src/lib/objc/_descriptors.py deleted file mode 100644 index a14228a..0000000 --- a/src/lib/objc/_descriptors.py +++ /dev/null @@ -1,417 +0,0 @@ -""" -Python <-> Objective-C bridge (PyObjC) - -This module defines the core interfaces of the Python<->Objective-C bridge. -""" - -__all__ = [ - "IBOutlet", - "IBAction", - "accessor", - "Accessor", - "typedAccessor", - "callbackFor", - "selectorFor", - "synthesize", - "namedselector", - "typedSelector", - "namedSelector", - "instancemethod", - "signature", - "IBInspectable", - "IB_DESIGNABLE", - "callbackPointer", -] - -import sys -import textwrap -import warnings - -from objc._objc import ( - _C_ID, - _C_NSBOOL, - _C_SEL, - _C_NSUInteger, - _closurePointer, - _makeClosure, - ivar, - selector, -) - -from inspect import getfullargspec - -_C_NSRange = [b"{_NSRange=II}", b"{_NSRange=QQ}"][sys.maxsize > 2**32] - - -# -# Interface builder support. -# -def IB_DESIGNABLE(cls): - """ - Class decorator for annotating that a class can be used in Interface Builder. - - The decorator doesn't do anything. - """ - return cls - - -def IBInspectable(prop): - """ - Decorator for an Objective-C property to tell IB that the updated in IB. - - The decorator doesn't do anything - """ - return prop - - -def IBOutlet(name=None): - """ - Create an instance variable that can be used as an outlet in - Interface Builder. - """ - if name is None: - return ivar(isOutlet=1) - else: - return ivar(name, isOutlet=1) - - -def IBAction(func): - """ - Return an Objective-C method object that can be used as an action - in Interface Builder. - """ - if func is None: - raise TypeError("IBAction argument must be a callable") - return selector(func, signature=b"v@:@") - - -def instancemethod(func): - if func is None: - raise TypeError("instancemethod argument must be a callable") - return selector(func, isClassMethod=False) - - -def accessor(func, typeSignature=b"@"): - """ - Return an Objective-C method object that is conformant with key-value coding - and key-value observing. - """ - ( - args, - varargs, - varkw, - defaults, - kwonlyargs, - _kwonlydefaults, - _annotations, - ) = getfullargspec(func) - funcName = func.__name__ - maxArgs = len(args) - minArgs = maxArgs - len(defaults or ()) - # implicit self - selArgs = 1 + funcName.count("_") - if varargs is not None or varkw is not None or kwonlyargs: - raise TypeError( - "%s can not be an accessor because it accepts varargs, varkw or kwonly" - % (funcName,) - ) - - if not (minArgs <= selArgs <= maxArgs): - if minArgs == maxArgs: - raise TypeError( - "%s expected to take %d args, but must accept %d " - "from Objective-C (implicit self plus count of underscores)" - % (funcName, maxArgs, selArgs) - ) - else: - raise TypeError( - "%s expected to take between %d and %d args, but must accept %d " - "from Objective-C (implicit self plus count of underscores)" - % (funcName, minArgs, maxArgs, selArgs) - ) - - if selArgs == 3: - if funcName.startswith("validate") and funcName.endswith("_error_"): - return selector(func, signature=_C_NSBOOL + b"@:N^@o^@") - - if funcName.startswith("insertObject_in") and funcName.endswith("AtIndex_"): - return selector(func, signature=b"v@:" + typeSignature + _C_NSUInteger) - elif funcName.startswith("replaceObjectIn") and funcName.endswith( - "AtIndex_withObject_" - ): - return selector(func, signature=b"v@:" + _C_NSUInteger + typeSignature) - - elif funcName.startswith("get") and funcName.endswith("_range_"): - return selector(func, signature=b"v@:o^@" + _C_NSRange) - - elif funcName.startswith("insert") and funcName.endswith("_atIndexes_"): - return selector(func, signature=b"v@:@@") - - elif funcName.startswith("replace") and "AtIndexes_with" in funcName: - return selector(func, signature=b"v@:@@") - - # pass through to "too many arguments" - - elif selArgs == 2: - if funcName.startswith("objectIn") and funcName.endswith("AtIndex_"): - return selector(func, signature=typeSignature + b"@:" + _C_NSUInteger) - elif funcName.startswith("removeObjectFrom") and funcName.endswith("AtIndex_"): - return selector(func, signature=b"v@:" + _C_NSUInteger) - elif funcName.startswith("remove") and funcName.endswith("AtIndexes_"): - return selector(func, signature=b"v@:@") - elif funcName.endswith("AtIndexes_"): - return selector(func, signature=b"@@:@") - elif funcName.startswith("memberOf"): - return selector(func, signature=_C_NSBOOL + b"@:" + typeSignature) - elif funcName.startswith("add") and funcName.endswith("Object_"): - return selector(func, signature=b"v@:" + typeSignature) - elif funcName.startswith("add"): - return selector(func, signature=b"v@:@") - elif funcName.startswith("intersect"): - return selector(func, signature=b"v@:@") - - return selector(func, signature=b"v@:" + typeSignature) - - elif selArgs == 1: - if funcName.startswith("countOf"): - typeSignature = _C_NSUInteger - elif funcName.startswith("enumerator"): - typeSignature = b"@" - - return selector(func, signature=typeSignature + b"@:") - - raise TypeError(f"{funcName} not recognized as an accessor") - - -def typedSelector(signature): - def _typedSelector(func): - if func is None: - raise TypeError("typedSelector() function argument must be a callable") - if isinstance(func, classmethod): - return selector(func.__func__, signature=signature, isClassMethod=True) - - return selector(func, signature=signature) - - return _typedSelector - - -def namedSelector(name, signature=None): - """ - Decorator for overriding the Objective-C SEL for a method, usage: - - @namedSelector("foo:bar:") - def foobar(self, foo, bar): - return foo + bar - """ - if signature is not None: - - def _namedselector(func): - if func is None: - raise TypeError("namedSelector argument must be a callable") - if isinstance(func, classmethod): - return selector( - func.__func__, - selector=name, - signature=signature, - isClassMethod=True, - ) - return selector(func, selector=name, signature=signature) - - else: - - def _namedselector(func): - if func is None: - raise TypeError("namedSelector argument must be a callable") - if isinstance(func, classmethod): - return selector( - func.__func__, - selector=name, - isClassMethod=True, - ) - return selector(func, selector=name) - - return _namedselector - - -def namedselector(name, signature=None): - warnings.warn( - "use objc.namedSelector instead of objc.namedselector", - DeprecationWarning, - stacklevel=2, - ) - return namedSelector(name, signature) - - -def typedAccessor(typeSignature): - """ - Decorator for creating a typed accessor, usage: - - @typedAccessor('i') - def someIntegerAccessor(self): - return self.someInteger - - @typedAccessor('i') - def setSomeIntegerAccessor_(self, anInteger): - self.someInteger = anInteger - """ - - def _typedAccessor(func): - return accessor(func, typeSignature) - - return _typedAccessor - - -def Accessor(func): - warnings.warn("Use objc.accessor instead of objc.Accessor", DeprecationWarning) - return accessor(func) - - -# -# Callback support -# -def callbackFor(callable, argIndex=-1): # noqa: A002 - """ - Decorator for converting a function into an object that can be used - as a callback function for (Objective-)C API's that take such a beast - as one of their arguments. - - Note that using this decorator for methods is unsupported and that this - decorator is optional when the callback isn't stored by the called function - - Usage:: - - @objc.callbackFor(NSArray.sortedArrayUsingFunction_context_) - def compare(left, right, context): - return 1 - """ - - def addClosure(function): - closure, meta = _makeClosure(function, callable, argIndex) - function.pyobjc_closure = closure - function.__metadata__ = lambda: meta - return function - - return addClosure - - -def callbackPointer(closure): - """ - Return a value for "closure" that can be passed to a function - expecting a "void *" argument. - """ - if not hasattr(closure, "pyobjc_closure"): - raise ValueError("Object is not decorated with 'callbackFor'") - - return _closurePointer(closure.pyobjc_closure) - - -def selectorFor(callable, argIndex=-1): # noqa: A002 - """ - Decorator that makes sure that the method has the right signature to be - used as the selector argument to the specified method. - - Usage:: - - @objc.selectorFor(NSApplication.beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_) # noqa: B950 - def sheetDidEnd_returnCode_contextInfo_(self, sheet, returnCode, info): - pass - """ - if argIndex == -1: - for arg in callable.__metadata__()["arguments"]: - if arg["type"] == _C_SEL and "sel_of_type" in arg: - signature = arg["sel_of_type"] - break - else: - raise ValueError("Not a selector argument with type information") - - else: - try: - signature = callable.__metadata__()["arguments"][argIndex]["sel_of_type"] - except (IndexError, KeyError): - raise ValueError("Not a selector argument with type information") - - def addSignature(function): - return selector(function, signature=signature) - - return addSignature - - -def synthesize( - name, copy=False, readwrite=True, type=_C_ID, ivarName=None # noqa: A002 -): - """ - Use this in a class dictionary to syntheze simple setting/setter methods. - - Note: this is only necessary to get proper behaviour when Key-Value coding - is used and special features (like copying) are needed - - usage:: - - class MyClass (NSObject): - objc.synthesize('someTitle', copy=True) - - """ - if not name: - raise ValueError("Empty property name") - - if ivarName is None: - ivarName = "_" + name - - classDict = sys._getframe(1).f_locals - - setterName = f"set{name[0].upper()}{name[1:]}_" - - if copy: - setter = textwrap.dedent( - """ - def %(name)s(self, value): - self.%(ivar)s = value.copy() - """ - % {"name": setterName, "ivar": ivarName} - ) - - else: - setter = textwrap.dedent( - """ - def %(name)s(self, value): - self.%(ivar)s = value - """ - % {"name": setterName, "ivar": ivarName} - ) - - getter = textwrap.dedent( - """ - def %(name)s(self): - return self.%(ivar)s - """ - % {"name": name, "ivar": ivarName} - ) - - if readwrite: - exec(setter, globals(), classDict) - - exec(getter, globals(), classDict) - - classDict[ivarName] = ivar(type=type) - - -def signature(signature, **kw): - """ - A Python method decorator that allows easy specification - of Objective-C selectors. - - Usage:: - - @objc.signature('i@:if') - def methodWithX_andY_(self, x, y): - return 0 - """ - warnings.warn( - "Usage objc.typedSelector instead of objc.signature", DeprecationWarning - ) - kw["signature"] = signature - - def makeSignature(func): - return selector(func, **kw) - - return makeSignature diff --git a/src/lib/objc/_dyld.py b/src/lib/objc/_dyld.py deleted file mode 100644 index 42a50e6..0000000 --- a/src/lib/objc/_dyld.py +++ /dev/null @@ -1,143 +0,0 @@ -""" -dyld emulation -""" - -__all__ = [ - "dyld_framework", - "dyld_library", - "dyld_find", - "pathForFramework", - "infoForFramework", -] - -import os - -from objc._framework import infoForFramework -from objc._objc import _dyld_shared_cache_contains_path - -# These are the defaults as per man dyld(1) -# -DEFAULT_FRAMEWORK_FALLBACK = ":".join( - [ - os.path.expanduser("~/Library/Frameworks"), - "/Library/Frameworks", - "/Network/Library/Frameworks", - "/System/Library/Frameworks", - ] -) - -DEFAULT_LIBRARY_FALLBACK = ":".join( - [os.path.expanduser("~/lib"), "/usr/local/lib", "/lib", "/usr/lib"] -) - - -def ensure_unicode(s): - """Not all of PyObjC understands unicode paths very well yet""" - if isinstance(s, bytes): - return s.decode("utf-8") - return s - - -def inject_suffixes(iterator): - suffix = ensure_unicode(os.environ.get("DYLD_IMAGE_SUFFIX", None)) - if suffix is None: - return iterator - - def _inject(iterator=iterator, suffix=suffix): - for path in iterator: - if path.endswith(".dylib"): - yield path[:-6] + suffix + ".dylib" - else: - yield path + suffix - yield path - - return _inject() - - -def dyld_framework(filename, framework_name, version=None): - """Find a framework using dyld semantics""" - filename = ensure_unicode(filename) - framework_name = ensure_unicode(framework_name) - version = ensure_unicode(version) - - def _search(): - spath = ensure_unicode(os.environ.get("DYLD_FRAMEWORK_PATH", None)) - if spath is not None: - for path in spath.split(":"): - if version: - yield os.path.join( - path, - framework_name + ".framework", - "Versions", - version, - framework_name, - ) - else: - yield os.path.join( - path, framework_name + ".framework", framework_name - ) - yield filename - spath = ensure_unicode( - os.environ.get("DYLD_FALLBACK_FRAMEWORK_PATH", DEFAULT_FRAMEWORK_FALLBACK) - ) - for path in spath.split(":"): - if version: - yield os.path.join( - path, - framework_name + ".framework", - "Versions", - version, - framework_name, - ) - else: - yield os.path.join(path, framework_name + ".framework", framework_name) - - for f in inject_suffixes(_search()): - if _dyld_shared_cache_contains_path(f): - return f - - if os.path.exists(f): - return f - # raise .. - raise ImportError(f"Framework {framework_name} could not be found") - - -def dyld_library(filename, libname): - """Find a dylib using dyld semantics""" - filename = ensure_unicode(filename) - libname = ensure_unicode(libname) - - def _search(): - spath = ensure_unicode(os.environ.get("DYLD_LIBRARY_PATH", None)) - if spath is not None: - for path in spath.split(":"): - yield os.path.join(path, libname) - yield filename - spath = ensure_unicode( - os.environ.get("DYLD_FALLBACK_LIBRARY_PATH", DEFAULT_LIBRARY_FALLBACK) - ) - for path in spath.split(":"): - yield os.path.join(path, libname) - - for f in inject_suffixes(_search()): - if _dyld_shared_cache_contains_path(f): - return f - if os.path.exists(f): - return f - raise ValueError(f"dylib {filename} could not be found") - - -def dyld_find(filename): - """Generic way to locate a dyld framework or dyld""" - filename = os.path.realpath(filename) - res = infoForFramework(filename) - if res: - framework_loc, framework_name, version = res - return dyld_framework(filename, framework_name, version) - else: - return dyld_library(filename, os.path.basename(filename)) - - -def pathForFramework(path): - fpath, name, version = infoForFramework(dyld_find(path)) - return os.path.join(fpath, name + ".framework") diff --git a/src/lib/objc/_framework.py b/src/lib/objc/_framework.py deleted file mode 100644 index 03b805c..0000000 --- a/src/lib/objc/_framework.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -Generic framework path manipulation -""" - -__all__ = ["infoForFramework"] - -# This regexp should find: -# \1 - framework location -# \2 - framework name -# \3 - framework version (optional) -# -FRAMEWORK_RE_STR = r"""(^.*)(?:^|/)(\w+).framework(?:/(?:Versions/([^/]+)/)?\2)?$""" -FRAMEWORK_RE = None - - -def infoForFramework(filename): - """returns (location, name, version) or None""" - global FRAMEWORK_RE - if FRAMEWORK_RE is None: - import re - - FRAMEWORK_RE = re.compile(FRAMEWORK_RE_STR) - is_framework = FRAMEWORK_RE.findall(filename) - if not is_framework: - return None - return is_framework[-1] diff --git a/src/lib/objc/_lazyimport.py b/src/lib/objc/_lazyimport.py deleted file mode 100644 index ec7ee05..0000000 --- a/src/lib/objc/_lazyimport.py +++ /dev/null @@ -1,511 +0,0 @@ -""" -Helper module that will enable lazy imports of Cocoa wrapper items. - -This improves startup times and memory usage, at the cost -of not being able to use 'from Cocoa import *' -""" -__all__ = ("ObjCLazyModule",) - -import re -import struct -import sys -import warnings - -import objc -import types -from objc import getClassList, loadBundle, lookUpClass, nosuchclass_error - -ModuleType = types.ModuleType - -_name_re = re.compile("^[A-Za-z_][A-Za-z_0-9]*$") - - -def _check_deprecated(name, deprecation_version): - if ( - objc.options.deprecation_warnings - and objc.options.deprecation_warnings >= deprecation_version - ): - warnings.warn( - "%r is deprecated in macOS %d.%d" - % (name, deprecation_version / 100, deprecation_version % 100), - objc.ApiDeprecationWarning, - stacklevel=2, - ) - - -def _loadBundle(frameworkName, frameworkIdentifier, frameworkPath): - if frameworkIdentifier is None: - bundle = loadBundle( - frameworkName, {}, bundle_path=frameworkPath, scan_classes=False - ) - - else: - try: - bundle = loadBundle( - frameworkName, - {}, - bundle_identifier=frameworkIdentifier, - scan_classes=False, - ) - - except ImportError: - bundle = loadBundle( - frameworkName, {}, bundle_path=frameworkPath, scan_classes=False - ) - - return bundle - - -class GetAttrMap: - __slots__ = ("_container",) - - def __init__(self, container): - self._container = container - - def __getitem__(self, key): - if key == "CFSTR": - return lambda v: v.decode("utf-8") - try: - return getattr(self._container, key) - except AttributeError: - raise KeyError(key) - - -class ObjCLazyModule(ModuleType): - """ - A module type that loads PyObjC metadata lazily, that is constants, global - variables and functions are created from the metadata as needed. This - reduces the resource usage of PyObjC (both in time and memory), as most - symbols exported by frameworks are never used in programs. - - The loading code assumes that the metadata dictionary is valid, and invalid - metadata may cause exceptions other than AttributeError when accessing module - attributes. - """ - - # Define slots for all attributes, that way they don't end up it __dict__. - __slots__ = ( - "_ObjCLazyModule__bundle", - "_ObjCLazyModule__enummap", - "_ObjCLazyModule__funcmap", - "_ObjCLazyModule__parents", - "_ObjCLazyModule__varmap", - "_ObjCLazyModule__inlinelist", - "_ObjCLazyModule__aliases", - "_ObjCLazyModule__informal_protocols", - ) - - def __init__( - self, - name, - frameworkIdentifier, - frameworkPath, - metadict=None, - inline_list=None, - initialdict=None, - parents=(), - ): - super().__init__(name) - - if frameworkIdentifier is not None or frameworkPath is not None: - self.__bundle = self.__dict__["__bundle__"] = _loadBundle( - name, frameworkIdentifier, frameworkPath - ) - else: - self.__bundle = None - - pfx = name + "." - for nm in list(sys.modules.keys()): - # See issue #95: there can be objects that aren't strings in - # sys.modules. - if hasattr(nm, "startswith") and nm.startswith(pfx): - rest = nm[len(pfx) :] # noqa: E203 - if "." in rest: - continue - if sys.modules[nm] is not None: - self.__dict__[rest] = sys.modules[nm] - - if metadict is None: - metadict = {} - - if initialdict: - self.__dict__.update(initialdict) - self.__dict__.update(metadict.get("misc", {})) - self.__parents = parents - self.__varmap = metadict.get("constants") - self.__varmap_deprecated = metadict.get("deprecated_constants", {}) - self.__varmap_dct = metadict.get("constants_dict", {}) - self.__enummap = metadict.get("enums") - self.__enum_deprecated = metadict.get("deprecated_enums", {}) - self.__funcmap = metadict.get("functions") - self.__aliases = metadict.get("aliases") - self.__aliases_deprecated = metadict.get("deprecated_aliases", {}) - self.__inlinelist = inline_list - - # informal protocols are not exposed, but added here - # for completeness sake. - self.__informal_protocols = metadict.get("protocols") - - self.__expressions = metadict.get("expressions") - self.__expressions_mapping = GetAttrMap(self) - - self.__load_cftypes(metadict.get("cftypes")) - - def __dir__(self): - return self.__all__ - - def __getattr__(self, name): - if name == "__all__": - # Load everything immediately - value = self.__calc_all() - self.__dict__[name] = value - return value - - # First try parent module, as if we had done - # 'from parents import *' - for p in self.__parents: - try: - value = getattr(p, name) - except AttributeError: - pass - - else: - self.__dict__[name] = value - if "__all__" in self.__dict__: - del self.__dict__["__all__"] - return value - - if not _name_re.match(name): - # Name is not a valid identifier and cannot - # match. - raise AttributeError(name) - - # Check if the name is a constant from - # the metadata files - try: - value = self.__get_constant(name) - except AttributeError: - pass - else: - self.__dict__[name] = value - if "__all__" in self.__dict__: - del self.__dict__["__all__"] - return value - - # Then check if the name is class - try: - value = lookUpClass(name) - except nosuchclass_error: - pass - - else: - self.__dict__[name] = value - if "__all__" in self.__dict__: - del self.__dict__["__all__"] - return value - - # Finally give up and raise AttributeError - raise AttributeError(name) - - def __calc_all(self): - - # Ensure that all dynamic entries get loaded - if self.__varmap_dct: - dct = {} - objc.loadBundleVariables( - self.__bundle, - dct, - [ - (nm, self.__varmap_dct[nm].encode("ascii")) - for nm in self.__varmap_dct - if not self.__varmap_dct[nm].startswith("=") - ], - ) - for nm in dct: - if nm not in self.__dict__: - self.__dict__[nm] = dct[nm] - - for nm, tp in self.__varmap_dct.items(): - if tp.startswith("=="): - try: - self.__dict__[nm] = objc._loadConstant(nm, tp[2:], 2) - except AttributeError: - pass - elif tp.startswith("="): - try: - self.__dict__[nm] = objc._loadConstant(nm, tp[1:], 1) - except AttributeError: - pass - - self.__varmap_dct = {} - - if self.__varmap: - varmap = [] - specials = [] - for nm, tp in re.findall( - r"\$([A-Z0-9a-z_]*)(@[^$]*)?(?=\$)", self.__varmap - ): - if not nm: - continue # XXX: needed for libdispatch, likely bug - if tp and tp.startswith("@="): - specials.append((nm, tp[2:])) - else: - varmap.append((nm, b"@" if not tp else tp[1:].encode("ascii"))) - - dct = {} - if varmap: # XXX: See XXX above - objc.loadBundleVariables(self.__bundle, dct, varmap) - - for nm in dct: - if nm not in self.__dict__: - self.__dict__[nm] = dct[nm] - - for nm, tp in specials: - try: - if tp.startswith("="): - self.__dict__[nm] = objc._loadConstant(nm, tp[1:], 2) - else: - self.__dict__[nm] = objc._loadConstant(nm, tp, 1) - except AttributeError: - pass - - self.__varmap = "" - - if self.__enummap: - for nm, val in re.findall( - r"\$([A-Z0-9a-z_]*)@([^$]*)(?=\$)", self.__enummap - ): - if nm not in self.__dict__: - self.__dict__[nm] = self.__prs_enum(val) - - self.__enummap = "" - - if self.__funcmap: - func_list = [] - for nm in self.__funcmap: - if nm not in self.__dict__: - func_list.append((nm,) + self.__funcmap[nm]) - - dct = {} - objc.loadBundleFunctions(self.__bundle, dct, func_list) - for nm in dct: - if nm not in self.__dict__: - self.__dict__[nm] = dct[nm] - - if self.__inlinelist: - dct = {} - objc.loadFunctionList( - self.__inlinelist, dct, func_list, skip_undefined=True - ) - for nm in dct: - if nm not in self.__dict__: - self.__dict__[nm] = dct[nm] - - self.__inlinelist = None - - if self.__expressions: - for nm in list(self.__expressions): - try: - getattr(self, nm) - except AttributeError: - pass - - if self.__aliases: - for nm in list(self.__aliases): - try: - getattr(self, nm) - except AttributeError: - pass - - all_names = set() - - # Add all names that are already in our __dict__ - all_names.update(self.__dict__) - - # Merge __all__of parents ('from parent import *') - for p in self.__parents: - try: - all_names.update(p.__all__) - except AttributeError: - all_names.update(dir(p)) - - # Add all class names, ignoring names with a dot because - # those are not valid attribute names (and in general are private) - all_names.update( - cls.__name__ for cls in getClassList() if "." not in cls.__name__ - ) - - return [v for v in all_names if not v.startswith("_")] - - def __prs_enum(self, val): - if val.startswith("'"): - (val,) = struct.unpack(">l", val[1:-1].encode("latin1")) - - elif "." in val or "e" in val: - val = float(val) - - else: - val = int(val) - - return val - - def __get_constant(self, name): - if self.__varmap_dct: - if name in self.__varmap_dct: - tp = self.__varmap_dct[name] - if tp.startswith("=="): - tp = tp[2:] - magic = 2 - elif tp.startswith("="): - tp = tp[1:] - magic = 1 - else: - magic = 0 - result = objc._loadConstant(name, tp, magic) - self.__varmap_dct.pop(name) - if name in self.__varmap_deprecated: - _check_deprecated(name, self.__varmap_deprecated[name]) - - return result - - if self.__varmap: - m = re.search(rf"\${name}(@[^$]*)?\$", self.__varmap) - if m is not None: - tp = m.group(1) - if not tp: - tp = "@" - else: - tp = tp[1:] - - d = {} - if tp.startswith("=="): - magic = 2 - tp = tp[2:] - elif tp.startswith("="): - tp = tp[1:] - magic = 1 - else: - magic = 0 - - result = objc._loadConstant(name, tp, magic) - - if name in self.__varmap_deprecated: - _check_deprecated(name, self.__varmap_deprecated[name]) - - return result - - if self.__enummap: - m = re.search(rf"\${name}@([^$]*)\$", self.__enummap) - if m is not None: - result = self.__prs_enum(m.group(1)) - if name in self.__enum_deprecated: - _check_deprecated(name, self.__enum_deprecated[name]) - return result - - if self.__funcmap: - if name in self.__funcmap: - info = self.__funcmap[name] - - func_list = [(name,) + info] - - d = {} - objc.loadBundleFunctions(self.__bundle, d, func_list) - if name in d: - self.__funcmap.pop(name) - return d[name] - - if self.__inlinelist is not None: - objc.loadFunctionList( - self.__inlinelist, d, func_list, skip_undefined=True - ) - if name in d: - return d[name] - - if self.__expressions: - if name in self.__expressions: - # NOTE: 'name' is popped because it is no longer needed - # in the metadata and popping should slightly reduce - # memory usage. - info = self.__expressions[name] - try: - result = eval(info, {}, self.__expressions_mapping) - self.__expressions.pop(name) - return result - except: # noqa: E722, B001. Ignore all errors in evaluation the expression. - pass - - if self.__aliases: - if name in self.__aliases: - alias = self.__aliases[name] - if alias == "ULONG_MAX": - result = (sys.maxsize * 2) + 1 - elif alias == "LONG_MAX": - result = sys.maxsize - elif alias == "LONG_MIN": - result = -sys.maxsize - 1 - elif alias == "DBL_MAX": - result = sys.float_info.max - elif alias == "DBL_MIN": - result = sys.float_info.min - elif alias == "FLT_MAX": - result = objc._FLT_MAX - elif alias == "FLT_MIN": - result = objc._FLT_MIN - elif alias == "objc.NULL": - result = objc.NULL - elif alias == "UINT32_MAX": - result = 0xFFFFFFFF - else: - result = getattr(self, alias) - - self.__aliases.pop(name) - - if name in self.__aliases_deprecated: - _check_deprecated(name, self.__aliases_deprecated[name]) - return result - - raise AttributeError(name) - - def __load_cftypes(self, cftypes): - if not cftypes: - return - - for name, typestr, gettypeid_func, tollfree in cftypes: - if tollfree: - for nm in tollfree.split(","): # pragma: no branch - try: - objc.lookUpClass(nm) - except objc.error: - pass - else: - tollfree = nm - break - try: - v = objc.registerCFSignature(name, typestr, None, tollfree) - self.__dict__[name] = v - continue - except objc.nosuchclass_error: - pass - - if gettypeid_func is None: - func = None - - else: - try: - func = getattr(self, gettypeid_func) - except AttributeError: - func = None - - if func is None: - # GetTypeID function not found, this is either - # a CFType that isn't present on the current - # platform, or a CFType without a public GetTypeID - # function. Proxy using the generic CFType - if tollfree is None: - v = objc.registerCFSignature(name, typestr, None, "NSCFType") - self.__dict__[name] = v - - continue - - v = objc.registerCFSignature(name, typestr, func()) - self.__dict__[name] = v diff --git a/src/lib/objc/_locking.py b/src/lib/objc/_locking.py deleted file mode 100644 index 54895f1..0000000 --- a/src/lib/objc/_locking.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Support for @synchronized blocks - -The python class object_lock is a contextmanager for with statements that -can also be used manually. -""" -import objc as _objc - - -class object_lock: - """ - A context manager that implements the same feature as - @synchronized statements in Objective-C. Locking can also - be done manually using the ``lock`` and ``unlock`` methods. - - The mutex for object ``anObject`` is represented by - ``objc.object_lock(anObject)``. - """ - - def __init__(self, value): - self.__value = value - - def __enter__(self): - _objc._objc_sync_enter(self.__value) - - def __exit__(self, exc_type, value, tp): - _objc._objc_sync_exit(self.__value) - - def lock(self): - _objc._objc_sync_enter(self.__value) - - def unlock(self): - _objc._objc_sync_exit(self.__value) diff --git a/src/lib/objc/_properties.py b/src/lib/objc/_properties.py deleted file mode 100644 index ff5104e..0000000 --- a/src/lib/objc/_properties.py +++ /dev/null @@ -1,1154 +0,0 @@ -__all__ = ( - "object_property", - "bool_property", - "array_property", - "set_property", - "dict_property", -) - -from copy import copy as copy_func - -from objc import ( - _C_BOOL, - _C_ID, - _C_NSBOOL, - NULL, - _C_NSUInteger, - ivar, - lookUpClass, - selector, -) - -import collections.abc - -NSSet = lookUpClass("NSSet") -NSObject = lookUpClass("NSObject") - - -def _str(value): - return value.decode("ascii") - - -def attrsetter(prop, name, copy): - if copy: - - def func(self, value): - if isinstance(value, NSObject): - setattr(self, name, value.copy()) - else: - setattr(self, name, copy_func(value)) - - else: - - def func(self, value): - setattr(self, name, value) - - return func - - -def attrgetter(name): - def func(self): - return getattr(self, name) - - return func - - -def _return_value(value): - def func(self): - return value - - return func - - -def _dynamic_getter(name): - def getter(an_object): - m = getattr(an_object.pyobjc_instanceMethods, name) - return m() - - getter.__name__ = name - return getter - - -def _dynamic_setter(name): - def setter(an_object, value): - m = getattr(an_object.pyobjc_instanceMethods, name.replace(":", "_")) - return m(value) - - setter.__name__ = name - return setter - - -class object_property: - def __init__( - self, - name=None, - read_only=False, - copy=False, - dynamic=False, - ivar=None, - typestr=_C_ID, - depends_on=None, - ): - self.__created = False - self.__inherit = False - self._name = name - self._typestr = typestr - self._ro = read_only - self._copy = copy - self._dynamic = dynamic - self._ivar = ivar - self._getter = None - self._setter = None - self._validate = None - if depends_on is None: - self._depends_on = None - else: - self._depends_on = set(depends_on) - - self.__getprop = None - self.__setprop = None - self.__parent = None - - def _clone(self): - if self._depends_on is None: - depends = None - else: - depends = self._depends_on.copy() - - v = type(self)( - name=self._name, - read_only=self._ro, - copy=self._copy, - dynamic=self._dynamic, - ivar=self._ivar, - typestr=self._typestr, - depends_on=depends, - ) - v.__inherit = True - - v.__getprop = self.__getprop - v.__setprop = self.__setprop - v.__parent = self - - return v - - def __pyobjc_class_setup__(self, name, class_dict, instance_methods, class_methods): - self.__created = True - if self._name is None: - self._name = name - - if self._ivar is not NULL: - if self._ivar is None: - ivname = "_" + self._name - else: - ivname = self._ivar - - if self.__parent is None: - ivar_ref = ivar(name=ivname, type=self._typestr) - class_dict[ivname] = ivar_ref - - if self._ro: - self._setter = None - - else: - setterName = ( - b"set" - + name[0].upper().encode("latin1") - + name[1:].encode("latin1") - + b":" - ) - signature = b"v@:" + self._typestr - if self._setter is None: - if self.__inherit: - pass - - elif self._dynamic: - dynSetterName = "set" + name[0].upper() + name[1:] + "_" - self.__setprop = _dynamic_setter(dynSetterName) - instance_methods.add(setterName) - - else: - - if self._ivar is NULL: - raise ValueError( - "Cannot create default setter for property " "without ivar" - ) - - setprop = selector( - attrsetter(self._name, ivname, self._copy), - selector=setterName, - signature=signature, - ) - setprop.isHidden = True - instance_methods.add(setprop) - - # Use dynamic setter to avoid problems when subclassing - self.__setprop = _dynamic_setter(_str(setterName)) - else: - setprop = selector( - self._setter, selector=setterName, signature=signature - ) - setprop.isHidden = True - instance_methods.add(setprop) - - # Use dynamic setter to avoid problems when subclassing - self.__setprop = _dynamic_setter(_str(setterName)) - - if self._typestr in (_C_NSBOOL, _C_BOOL): - getterName = ( - b"is" + name[0].upper().encode("latin1") + name[1:].encode("latin1") - ) - else: - getterName = self._name.encode("latin1") - - if self._getter is None: - if self.__inherit: - pass - - elif self._dynamic: - if self._typestr in (_C_NSBOOL, _C_BOOL): - dynGetterName = "is" + name[0].upper() + name[1:] - else: - dynGetterName = self._name - - self.__getprop = _dynamic_getter(dynGetterName) - instance_methods.add(getterName) - - else: - if self._ivar is NULL: - raise ValueError( - "Cannot create default getter for property without ivar" - ) - - self.__getprop = selector( - attrgetter(ivname), - selector=getterName, - signature=self._typestr + b"@:", - ) - self.__getprop.isHidden = True - instance_methods.add(self.__getprop) - - else: - self.__getprop = getprop = selector( - self._getter, selector=getterName, signature=self._typestr + b"@:" - ) - getprop.isHidden = True - instance_methods.add(getprop) - # self.__getprop = _dynamic_getter(getterName) - - if self._validate is not None: - selName = ( - b"validate" - + self._name[0].upper().encode("latin") - + self._name[1:].encode("latin") - + b":error:" - ) - signature = _C_NSBOOL + b"@:N^@o^@" - validate = selector(self._validate, selector=selName, signature=signature) - class_dict[validate.selector] = validate - instance_methods.add(validate) - - if self._depends_on: - if self.__parent is not None: - if self.__parent._depends_on: - self._depends_on.update(self.__parent._depends_on.copy()) - - self._depends_on = self._depends_on - - affecting = selector( - _return_value(NSSet.setWithArray_(list(self._depends_on))), - selector=b"keyPathsForValuesAffecting" - + self._name[0].upper().encode("latin1") - + self._name[1:].encode("latin1"), - signature=b"@@:", - isClassMethod=True, - ) - class_dict[affecting.selector] = affecting - class_methods.add(affecting) - - def __get__(self, an_object, owner): - if an_object is None: - return self - return self.__getprop(an_object) - - def __set__(self, an_object, value): - if self.__setprop is None: - raise ValueError("setting read-only property " + self._name) - - return self.__setprop(an_object, value) - - def __delete__(self, an_object): - raise TypeError("cannot delete property " + self._name) - - def depends_on(self, keypath): - if self._depends_on is None: - self._depends_on = set() - self._depends_on.add(keypath) - - def getter(self, function): - if self.__created: - v = self._clone() - v._getter = function - return v - - self._getter = function - return self - - def setter(self, function): - - if self.__created: - v = self._clone() - v._ro = False - v._setter = function - return v - - if self._ro: - raise ValueError("Defining setter for read-only property") - - self._setter = function - return self - - def validate(self, function): - if self._ro: - raise ValueError("Defining validator for read-only property") - - if self.__created: - v = self._clone() - v._validate = function - return v - - self._validate = function - return self - - -class bool_property(object_property): - def __init__( - self, - name=None, - read_only=False, - copy=False, - dynamic=False, - ivar=None, - typestr=_C_NSBOOL, - ): - super().__init__(name, read_only, copy, dynamic, ivar, typestr) - - -NSIndexSet = lookUpClass("NSIndexSet") -NSMutableIndexSet = lookUpClass("NSMutableIndexSet") -NSKeyValueChangeSetting = 1 -NSKeyValueChangeInsertion = 2 -NSKeyValueChangeRemoval = 3 -NSKeyValueChangeReplacement = 4 - - -# Helper function for (not) pickling array_proxy instances -# NOTE: Don't remove this function, it can be referenced from -# pickle files. -def _id(value): - return value - - -class array_proxy(collections.abc.MutableSequence): - __slots__ = ("_name", "_parent", "__wrapped", "_ro") - - def __init__(self, name, parent, wrapped, read_only): - self._name = name - self._parent = parent - self._ro = read_only - self.__wrapped = wrapped - - @property - def _wrapped(self): - return self.__wrapped.__getvalue__(self._parent) - - def __indexSetForIndex(self, index): - if isinstance(index, slice): - result = NSMutableIndexSet.alloc().init() - start, stop, step = index.indices(len(self._wrapped)) - for i in range(start, stop, step): - result.addIndex_(i) - - return result - - elif isinstance(index, int): - if index < 0: - v = len(self) + index - if v < 0: - raise IndexError(index) - return NSIndexSet.alloc().initWithIndex_(v) - - else: - return NSIndexSet.alloc().initWithIndex_(index) - - else: - raise TypeError(index) - - def __repr__(self): - return ( - "" - ) - - def __reduce__(self): - # Ensure that the proxy itself doesn't get stored - # in pickles. - return _id, (self._wrapped,) - - def __getattr__(self, name): - # Default: just defer to wrapped list - return getattr(self._wrapped, name) - - def __len__(self): - return self._wrapped.__len__() - - def __getitem__(self, index): - return self._wrapped[index] - - def __setitem__(self, index, value): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - indexes = self.__indexSetForIndex(index) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeSetting, indexes, self._name - ) - try: - self._wrapped[index] = value - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeReplacement, indexes, self._name - ) - - def __delitem__(self, index): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - indexes = self.__indexSetForIndex(index) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeRemoval, indexes, self._name - ) - try: - del self._wrapped[index] - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeRemoval, indexes, self._name - ) - - def append(self, value): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - index = len(self) - indexes = NSIndexSet.alloc().initWithIndex_(index) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - try: - self._wrapped.append(value) - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - - def insert(self, index, value): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - if isinstance(index, slice): - raise TypeError("insert argument 1 is a slice") - - indexes = self.__indexSetForIndex(index) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - try: - self._wrapped.insert(index, value) - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - - def pop(self, index=-1): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - if isinstance(index, slice): - raise TypeError("pop argument 1 is a slice") - - indexes = self.__indexSetForIndex(index) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeRemoval, indexes, self._name - ) - try: - return self._wrapped.pop(index) - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeRemoval, indexes, self._name - ) - - def extend(self, values): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - values = list(values) - - indexes = NSIndexSet.alloc().initWithIndexesInRange_((len(self), len(values))) - - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - try: - self._wrapped.extend(values) - - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - - def __iadd__(self, values): - self.extend(values) - return self - - def __add__(self, values): - return self._wrapped + values - - def __mul__(self, count): - return self._wrapped * count - - def __imul__(self, count): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - if not isinstance(count, int): - raise TypeError(count) - - indexes = NSIndexSet.alloc().initWithIndexesInRange_( - (len(self), len(self) * (count - 1)) - ) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - try: - self._wrapped.__imul__(count) - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeInsertion, indexes, self._name - ) - - return self - - def __eq__(self, other): - if isinstance(other, array_proxy): - return self._wrapped == other._wrapped - - else: - return self._wrapped == other - - def __ne__(self, other): - if isinstance(other, array_proxy): - return self._wrapped != other._wrapped - - else: - return self._wrapped != other - - def __lt__(self, other): - if isinstance(other, array_proxy): - return self._wrapped < other._wrapped - - else: - return self._wrapped < other - - def __le__(self, other): - if isinstance(other, array_proxy): - return self._wrapped <= other._wrapped - - else: - return self._wrapped <= other - - def __gt__(self, other): - if isinstance(other, array_proxy): - return self._wrapped > other._wrapped - - else: - return self._wrapped > other - - def __ge__(self, other): - if isinstance(other, array_proxy): - return self._wrapped >= other._wrapped - - else: - return self._wrapped >= other - - def sort(self, key=None, reverse=False): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - indexes = NSIndexSet.alloc().initWithIndexesInRange_((0, len(self._wrapped))) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeReplacement, indexes, self._name - ) - try: - self._wrapped.sort(key=key, reverse=reverse) - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeReplacement, indexes, self._name - ) - - def reverse(self): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - indexes = NSIndexSet.alloc().initWithIndexesInRange_((0, len(self._wrapped))) - self._parent.willChange_valuesAtIndexes_forKey_( - NSKeyValueChangeReplacement, indexes, self._name - ) - try: - self._wrapped.reverse() - finally: - self._parent.didChange_valuesAtIndexes_forKey_( - NSKeyValueChangeReplacement, indexes, self._name - ) - - -def makeArrayAccessors(name): - def countOf(self): - return len(getattr(self, name)) - - def objectIn(self, idx): - return getattr(self, name)[idx] - - def insert(self, value, idx): - getattr(self, name).insert(idx, value) - - def replace(self, idx, value): - getattr(self, name)[idx] = value - - def remove(self, idx): - del getattr(self, name)[idx] - - return countOf, objectIn, insert, remove, replace - - -class array_property(object_property): - def __init__( - self, - name=None, - read_only=False, - copy=True, - dynamic=False, - ivar=None, - depends_on=None, - ): - super().__init__( - name, - read_only=read_only, - copy=copy, - dynamic=dynamic, - ivar=ivar, - depends_on=depends_on, - ) - - def __pyobjc_class_setup__(self, name, class_dict, instance_methods, class_methods): - super().__pyobjc_class_setup__( - name, class_dict, instance_methods, class_methods - ) - - # Insert (Mutable) Indexed Accessors - - name = self._name - Name = name[0].upper() + name[1:] - - countOf, objectIn, insert, remove, replace = makeArrayAccessors(self._name) - - countOf = selector( - countOf, - selector=(f"countOf{Name}").encode("latin1"), - signature=_C_NSUInteger + b"@:", - ) - countOf.isHidden = True - instance_methods.add(countOf) - - objectIn = selector( - objectIn, - selector=(f"objectIn{Name}AtIndex:").encode("latin1"), - signature=b"@@:" + _C_NSUInteger, - ) - objectIn.isHidden = True - instance_methods.add(objectIn) - - insert = selector( - insert, - selector=(f"insertObject:in{Name}AtIndex:").encode("latin1"), - signature=b"v@:@" + _C_NSUInteger, - ) - insert.isHidden = True - instance_methods.add(insert) - - remove = selector( - remove, - selector=(f"removeObjectFrom{Name}AtIndex:").encode("latin1"), - signature=b"v@:" + _C_NSUInteger, - ) - remove.isHidden = True - instance_methods.add(remove) - - replace = selector( - replace, - selector=(f"replaceObjectIn{Name}AtIndex:withObject:").encode("latin1"), - signature=b"v@:" + _C_NSUInteger + b"@", - ) - replace.isHidden = True - instance_methods.add(replace) - - def __set__(self, an_object, value): - if isinstance(value, array_proxy): - if value._name == self._name and value._parent is an_object: - # attr.prop = attr.prop - return - - if isinstance(value, array_proxy): - value = list(value) - - super().__set__(an_object, value) - - def __get__(self, an_object, owner): - v = object_property.__get__(self, an_object, owner) - if v is None: - v = [] - object_property.__set__(self, an_object, v) - return array_proxy(self._name, an_object, self, self._ro) - - def __getvalue__(self, an_object): - v = object_property.__get__(self, an_object, None) - if v is None: - v = [] - object_property.__set__(self, an_object, v) - return v - - -NSKeyValueUnionSetMutation = 1 -NSKeyValueMinusSetMutation = 2 -NSKeyValueIntersectSetMutation = 3 -NSKeyValueSetSetMutation = 4 - - -class set_proxy(collections.abc.MutableSet): - __slots__ = ("_name", "__wrapped", "_parent", "_ro") - - def __init__(self, name, parent, wrapped, read_only): - self._name = name - self._parent = parent - self._ro = read_only - self.__wrapped = wrapped - - def __repr__(self): - return "" - - @property - def _wrapped(self): - return self.__wrapped.__getvalue__(self._parent) - - def __reduce__(self): - # Ensure that the proxy itself doesn't get stored - # in pickles. - return _id, (self._wrapped,) - - def __getattr__(self, attr): - return getattr(self._wrapped, attr) - - def __contains__(self, value): - return self._wrapped.__contains__(value) - - def __iter__(self): - return self._wrapped.__iter__() - - def __len__(self): - return self._wrapped.__len__() - - def __eq__(self, other): - if isinstance(other, set_proxy): - return self._wrapped == other._wrapped - - else: - return self._wrapped == other - - def __ne__(self, other): - if isinstance(other, set_proxy): - return self._wrapped != other._wrapped - - else: - return self._wrapped != other - - def __lt__(self, other): - if isinstance(other, set_proxy): - return self._wrapped < other._wrapped - - else: - return self._wrapped < other - - def __le__(self, other): - if isinstance(other, set_proxy): - return self._wrapped <= other._wrapped - - else: - return self._wrapped <= other - - def __gt__(self, other): - if isinstance(other, set_proxy): - return self._wrapped > other._wrapped - - else: - return self._wrapped > other - - def __ge__(self, other): - if isinstance(other, set_proxy): - return self._wrapped >= other._wrapped - - else: - return self._wrapped >= other - - def add(self, item): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, {item} - ) - try: - self._wrapped.add(item) - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, {item} - ) - - def clear(self): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - current_value = set(self._wrapped) - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, current_value - ) - try: - self._wrapped.clear() - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, current_value - ) - - def difference_update(self, *others): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - s = set() - s.update(*others) - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, s - ) - try: - self._wrapped.difference_update(s) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, s - ) - - def discard(self, item): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, {item} - ) - try: - self._wrapped.discard(item) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, {item} - ) - - def intersection_update(self, other): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - other = set(other) - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueIntersectSetMutation, other - ) - try: - self._wrapped.intersection_update(other) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueIntersectSetMutation, other - ) - - def pop(self): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - try: - v = next(iter(self)) - except StopIteration: - raise KeyError("Empty set") - - self.remove(v) - return v - - def remove(self, item): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, {item} - ) - try: - self._wrapped.remove(item) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, {item} - ) - - def symmetric_difference_update(self, other): - # NOTE: This method does not call the corresponding method - # of the wrapped set to ensure that we generate the right - # notifications. - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - other = set(other) - - to_add = set() - to_remove = set() - for o in other: - if o in self: - to_remove.add(o) - else: - to_add.add(o) - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, to_remove - ) - try: - self._wrapped.difference_update(to_remove) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueMinusSetMutation, to_remove - ) - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, to_add - ) - try: - self._wrapped.update(to_add) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, to_add - ) - - def update(self, *others): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - s = set() - s.update(*others) - - self._parent.willChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, s - ) - try: - self._wrapped.update(s) - - finally: - self._parent.didChangeValueForKey_withSetMutation_usingObjects_( - self._name, NSKeyValueUnionSetMutation, s - ) - - def __or__(self, other): - return self._wrapped | other - - def __and__(self, other): - return self._wrapped & other - - def __xor__(self, other): - return self._wrapped ^ other - - def __sub__(self, other): - return self._wrapped - other - - def __ior__(self, other): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self.update(other) - return self - - def __isub__(self, other): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self.difference_update(other) - return self - - def __ixor__(self, other): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self.symmetric_difference_update(other) - return self - - def __iand__(self, other): - if self._ro: - raise ValueError(f"Property '{self._name}' is read-only") - - self.intersection_update(other) - return self - - -def makeSetAccessors(name): - def countOf(self): - return len(getattr(self, name)) - - def enumeratorOf(self): - return iter(getattr(self, name)) - - def memberOf(self, value): - collection = getattr(self, name) - - for item in collection: - if item == value: - return item - - else: - return None - - def add(self, value): - getattr(self, name).add(value) - - def remove(self, value): - getattr(self, name).discard(value) - - return countOf, enumeratorOf, memberOf, add, remove - - -class set_property(object_property): - def __init__( - self, - name=None, - read_only=False, - copy=True, - dynamic=False, - ivar=None, - depends_on=None, - ): - super().__init__( - name, - read_only=read_only, - copy=copy, - dynamic=dynamic, - ivar=ivar, - depends_on=depends_on, - ) - - def __get__(self, an_object, owner): - v = object_property.__get__(self, an_object, owner) - if v is None: - v = set() - object_property.__set__(self, an_object, v) - return set_proxy(self._name, an_object, self, self._ro) - - def __set__(self, an_object, value): - if isinstance(value, set_proxy): - if value._name == self._name and value._parent is an_object: - # attr.prop = attr.prop - return - - if isinstance(value, set_proxy): - value = list(value) - - super().__set__(an_object, value) - - def __getvalue__(self, an_object): - v = object_property.__get__(self, an_object, None) - if v is None: - v = set() - object_property.__set__(self, an_object, v) - return v - - def __pyobjc_class_setup__(self, name, class_dict, instance_methods, class_methods): - super().__pyobjc_class_setup__( - name, class_dict, instance_methods, class_methods - ) - - # (Mutable) Unordered Accessors - - name = self._name - Name = name[0].upper() + name[1:] - - countOf, enumeratorOf, memberOf, add, remove = makeSetAccessors(self._name) - - countOf = selector( - countOf, - selector=(f"countOf{Name}").encode("latin1"), - signature=_C_NSUInteger + b"@:", - ) - countOf.isHidden = True - instance_methods.add(countOf) - - enumeratorOf = selector( - enumeratorOf, - selector=(f"enumeratorOf{Name}").encode("latin1"), - signature=b"@@:", - ) - enumeratorOf.isHidden = True - instance_methods.add(enumeratorOf) - - memberOf = selector( - memberOf, - selector=(f"memberOf{Name}:").encode("latin"), - signature=b"@@:@", - ) - memberOf.isHidden = True - instance_methods.add(memberOf) - - add1 = selector( - add, selector=(f"add{Name}:").encode("latin"), signature=b"v@:@" - ) - add1.isHidden = True - instance_methods.add(add1) - - add2 = selector( - add, selector=(f"add{Name}Object:").encode("latin1"), signature=b"v@:@" - ) - add2.isHidden = True - instance_methods.add(add2) - - remove1 = selector( - remove, selector=(f"remove{Name}:").encode("latin1"), signature=b"v@:@" - ) - remove1.isHidden = True - instance_methods.add(remove1) - - remove2 = selector( - remove, - selector=(f"remove{Name}Object:").encode("latin"), - signature=b"v@:@", - ) - remove2.isHidden = True - instance_methods.add(remove2) - - -NSMutableDictionary = lookUpClass("NSMutableDictionary") - - -class dict_property(object_property): - def __get__(self, an_object, owner): - v = object_property.__get__(self, an_object, owner) - if v is None: - v = NSMutableDictionary.alloc().init() - object_property.__set__(self, an_object, v) - return object_property.__get__(self, an_object, owner) diff --git a/src/lib/objc/_protocols.py b/src/lib/objc/_protocols.py deleted file mode 100644 index 3ddf17a..0000000 --- a/src/lib/objc/_protocols.py +++ /dev/null @@ -1,34 +0,0 @@ -from objc import _objc - -__all__ = ["protocolNamed", "ProtocolError"] - - -class ProtocolError(_objc.error): - __module__ = "objc" - - -PROTOCOL_CACHE = {} - - -def protocolNamed(name): - """ - Returns a Protocol object for the named protocol. This is the - equivalent of @protocol(name) in Objective-C. - Raises objc.ProtocolError when the protocol does not exist. - """ - try: - return PROTOCOL_CACHE[name] - except KeyError: - pass - for p in _objc.protocolsForProcess(): - pname = p.__name__ - PROTOCOL_CACHE.setdefault(pname, p) - if pname == name: - return p - for cls in _objc.getClassList(): - for p in _objc.protocolsForClass(cls): - pname = p.__name__ - PROTOCOL_CACHE.setdefault(pname, p) - if pname == name: - return p - raise ProtocolError(f"protocol {name!r} does not exist", name) diff --git a/src/lib/objc/_pycoder.py b/src/lib/objc/_pycoder.py deleted file mode 100644 index 1ff5b85..0000000 --- a/src/lib/objc/_pycoder.py +++ /dev/null @@ -1,584 +0,0 @@ -""" -Implementation of NSCoding for OC_PythonObject and friends - -A minor problem with NSCoding support is that NSCoding restores -graphs recursively while Pickle does so depth-first (more of less). -This can cause problems when the object state contains the -object itself, which is why we need a 'setValue' callback for the -load_* functions below. -""" -__all__ = () - -import copy -import copyreg -import sys -import collections.abc -from pickle import PicklingError, UnpicklingError - -import objc - - -# _getattribute and whichmodule are adapted from the -# same function's in Python 3.4's pickle module. The -# primary difference is that the functions below -# behave as if 'allow_qualname' is true) - - -def _getattribute(obj, name): - dotted_path = name.split(".") - for subpath in dotted_path: - if subpath == "": - raise AttributeError(f"Can't get local attribute {name!r} on {obj!r}") - try: - obj = getattr(obj, subpath) - except AttributeError: - raise AttributeError(f"Can't get attribute {name!r} on {obj!r}") - return obj - - -def whichmodule(obj, name): - module_name = getattr(obj, "__module__", None) - if module_name is not None: - return module_name - - for module_name, module in list(sys.modules.items()): - if module_name == "__main__" or module is None: - continue - - try: - if _getattribute(module, name) is obj: - return module_name - - except AttributeError: - pass - - return "__main__" - - -def intern(value): - if isinstance(value, objc.pyobjc_unicode): - return sys.intern(str(value)) - elif isinstance(value, str): - return sys.intern(value) - else: - return value - - -def import_module(name): - if name == "copy_reg": - name = "copyreg" - __import__(name, level=0) - return sys.modules[name] - - -NSArray = objc.lookUpClass("NSArray") -NSMutableArray = objc.lookUpClass("NSMutableArray") -NSDictionary = objc.lookUpClass("NSDictionary") -NSString = objc.lookUpClass("NSString") -NSSet = objc.lookUpClass("NSSet") -NSMutableSet = objc.lookUpClass("NSMutableSet") -NSData = objc.lookUpClass("NSData") - -kOP_REDUCE = 0 -kOP_INST = 1 -kOP_GLOBAL = 2 -kOP_NONE = 3 -kOP_BOOL = 4 -kOP_INT = 5 -kOP_LONG = 6 -kOP_FLOAT = 7 -kOP_UNICODE = 8 -kOP_STRING = 9 -kOP_TUPLE = 10 -kOP_LIST = 11 -kOP_DICT = 12 -kOP_GLOBAL_EXT = 13 -kOP_FLOAT_STR = 14 - -kKIND = NSString.stringWithString_("kind") -kFUNC = NSString.stringWithString_("func") -kARGS = NSString.stringWithString_("args") -kLIST = NSString.stringWithString_("list") -kDICT = NSString.stringWithString_("dict") -kSTATE = NSString.stringWithString_("state") -kCLASS = NSString.stringWithString_("class") -kVALUE = NSString.stringWithString_("value") -kNAME = NSString.stringWithString_("name") -kMODULE = NSString.stringWithString_("module") -kCODE = NSString.stringWithString_("code") - - -class _EmptyClass: - pass - - -encode_dispatch = {} - -# Code below tries to mirror the implementation in pickle.py, with -# adaptations because we're not saving to a byte stream but to another -# serializer. - - -def save_reduce( - coder, func, args, state=None, listitems=None, dictitems=None, obj=None -): - - if not isinstance(args, tuple): - raise PicklingError("args from reduce() should be a tuple") - - if not callable(func): - raise PicklingError("func from reduce should be callable") - - if coder.allowsKeyedCoding(): - coder.encodeInt_forKey_(kOP_REDUCE, kKIND) - coder.encodeObject_forKey_(func, kFUNC) - coder.encodeObject_forKey_(args, kARGS) - if listitems is None: - coder.encodeObject_forKey_(None, kLIST) - else: - coder.encodeObject_forKey_(list(listitems), kLIST) - - if dictitems is None: - coder.encodeObject_forKey_(None, kDICT) - else: - coder.encodeObject_forKey_(dict(dictitems), kDICT) - coder.encodeObject_forKey_(state, kSTATE) - - else: - coder.encodeValueOfObjCType_at_(objc._C_INT, kOP_REDUCE) - coder.encodeObject_(func) - coder.encodeObject_(args) - if listitems is None: - coder.encodeObject_(None) - else: - coder.encodeObject_(list(listitems)) - - if dictitems is None: - coder.encodeObject_(None) - else: - coder.encodeObject_(dict(dictitems)) - coder.encodeObject_(state) - - -def save_int(coder, obj): - if coder.allowsKeyedCoding(): - coder.encodeInt_forKey_(kOP_LONG, kKIND) - coder.encodeObject_forKey_(repr(obj), kVALUE) - else: - coder.encodeValueOfObjCType_at_(objc._C_INT, kOP_LONG) - coder.encodeObject_(repr(obj)) - - -encode_dispatch[int] = save_int - - -def save_float(coder, obj): # pragma: no cover - # NOTE: 'no cover' because floats are encoded as OC_PythonNumber - # and that doesn't call back to this code for basic C types. - - # Encode floats as strings, this seems to be needed to get - # 100% reliable round-trips. - if coder.allowsKeyedCoding(): - coder.encodeInt_forKey_(kOP_FLOAT_STR, kKIND) - coder.encodeObject_forKey_(repr(obj), kVALUE) - else: - coder.encodeValueOfObjCType_at_(objc._C_INT, kOP_FLOAT_STR) - coder.encodeObject_(repr(obj)) - - -encode_dispatch[float] = save_float - - -def save_global(coder, obj, name=None): - if name is None: - name = getattr(obj, "__qualname__", None) - if name is None: # pragma: no cover - # XXX: I haven't found a type yet that - # doesn't have a qualname in Python 3.10... - name = obj.__name__ - - module_name = whichmodule(obj, name) - try: - module = import_module(module_name) - obj2 = _getattribute(module, name) - - except (ImportError, KeyError, AttributeError): - raise PicklingError( - f"Can't pickle {obj!r}: it's not found as {module_name}.{name}" - ) - else: - if obj2 is not obj: - raise PicklingError( - "Can't pickle %r: it's not the same object as %s.%s" - % (obj, module_name, name) - ) - - code = copyreg._extension_registry.get((module_name, name)) - - if coder.allowsKeyedCoding(): - if code: - coder.encodeInt_forKey_(kOP_GLOBAL_EXT, kKIND) - coder.encodeInt_forKey_(code, kCODE) - - else: - coder.encodeInt_forKey_(kOP_GLOBAL, kKIND) - coder.encodeObject_forKey_(module_name, kMODULE) - coder.encodeObject_forKey_(name, kNAME) - - else: - if code: - coder.encodeValueOfObjCType_at_(objc._C_INT, kOP_GLOBAL_EXT) - coder.encodeValueOfObjCType_at_(objc._C_INT, code) - - else: - coder.encodeValueOfObjCType_at_(objc._C_INT, kOP_GLOBAL) - coder.encodeObject_(module_name) - coder.encodeObject_(name) - - -encode_dispatch[type(save_global)] = save_global -try: - dir.__reduce__() -except TypeError: # pragma: no cover - encode_dispatch[type(dir)] = save_global - - -def save_type(coder, obj): - if obj is type(None): # noqa: E721 - return save_reduce(coder, type, (None,), obj=obj) - elif obj is type(NotImplemented): - return save_reduce(coder, type, (NotImplemented,), obj=obj) - elif obj is type(Ellipsis): - return save_reduce(coder, type, (Ellipsis,), obj=obj) - return save_global(coder, obj) - - -encode_dispatch[type] = save_type - - -def save_ellipsis(coder, obj): - save_global(coder, Ellipsis, "Ellipsis") - - -encode_dispatch[type(Ellipsis)] = save_ellipsis - - -def save_notimplemented(coder, obj): - save_global(coder, NotImplemented, "NotImplemented") - - -encode_dispatch[type(NotImplemented)] = save_notimplemented - - -decode_dispatch = {} - - -def load_int(coder, setValue): - if coder.allowsKeyedCoding(): - return int(coder.decodeInt64ForKey_(kVALUE)) - else: - return int(coder.decodeValueOfObjCType_at_(objc._C_LNG_LNG, None)) - - -decode_dispatch[kOP_INT] = load_int - - -def load_long(coder, setValue): - if coder.allowsKeyedCoding(): - return int(coder.decodeObjectForKey_(kVALUE)) - else: - return int(coder.decodeObject()) - - -decode_dispatch[kOP_LONG] = load_long - - -def load_float(coder, setValue): # pragma: no cover - # Only used with old versions of PyObjC (before 2.3), keep - # for backward compatibility. - if coder.allowsKeyedCoding(): - return coder.decodeFloatForKey_(kVALUE) - else: - raise RuntimeError("Unexpected encoding") - - -decode_dispatch[kOP_FLOAT] = load_float - - -def load_float_str(coder, setValue): - if coder.allowsKeyedCoding(): - return float(coder.decodeObjectForKey_(kVALUE)) - else: - return float(coder.decodeObject()) - - -decode_dispatch[kOP_FLOAT_STR] = load_float_str - - -def load_global_ext(coder, setValue): - if coder.allowsKeyedCoding(): - code = coder.decodeIntForKey_(kCODE) - else: - code = coder.decodeValueOfObjCType_at_(objc._C_INT, None) - nil = [] - obj = copyreg._extension_cache.get(code, nil) - if obj is not nil: - return obj - key = copyreg._inverted_registry.get(code) - if not key: - raise ValueError("unregistered extension code %d" % code) - - module, name = key - mod = import_module(module) - klass = _getattribute(mod, name) - copyreg._extension_cache[code] = klass - return klass - - -decode_dispatch[kOP_GLOBAL_EXT] = load_global_ext - - -def load_global(coder, setValue): - if coder.allowsKeyedCoding(): - module_name = coder.decodeObjectForKey_(kMODULE) - name = coder.decodeObjectForKey_(kNAME) - else: - module_name = coder.decodeObject() - name = coder.decodeObject() - - mod = import_module(module_name) - return _getattribute(mod, name) - - -decode_dispatch[kOP_GLOBAL] = load_global - - -def load_inst(coder, setValue): - # This function is only used for loading archivees - # created using older version of PyObjC. - # - # Because increasing coverage in this file requires - # using an old version of PyObjC to create new test - # archives I've copped out and just disabled coverage - # testing for the parts not tested by the current - # archives. - if coder.allowsKeyedCoding(): - cls = coder.decodeObjectForKey_(kCLASS) - initargs = coder.decodeObjectForKey_(kARGS) - else: - cls = coder.decodeObject() - initargs = coder.decodeObject() - - try: - value = cls(*initargs) - except TypeError as err: # pragma: no cover - raise TypeError( - f"in constructor for {cls.__name__}: {str(err)}", sys.exc_info()[2] - ) - - # We now have the object, but haven't set the correct - # state yet. Tell the bridge about this value right - # away, that's needed because `value` might be part - # of the object state which we'll retrieve next. - setValue(value) - - if coder.allowsKeyedCoding(): - state = coder.decodeObjectForKey_(kSTATE) - else: - state = coder.decodeObject() - if isinstance(state, collections.abc.Sequence): - state = tuple(state) - - setstate = getattr(value, "__setstate__", None) - if setstate is not None: - setstate(state) - return value - - slotstate = None - if isinstance(state, tuple) and len(state) == 2: # pragma: no branch - state, slotstate = state # pragma: no cover - - # Note: pickle.py catches RuntimeError here, - # that's for supporting restricted mode and - # is not relevant for PyObjC. - inst_dict = value.__dict__ - for k in state or (): - v = state[k] - inst_dict[intern(k)] = v - - if slotstate: # pragma: no cover - for k, v in slotstate.items(): - setattr(value, intern(k), v) - - return value - - -decode_dispatch[kOP_INST] = load_inst - - -def load_reduce(coder, setValue): - if coder.allowsKeyedCoding(): - func = coder.decodeObjectForKey_(kFUNC) - args = coder.decodeObjectForKey_(kARGS) - - else: - func = coder.decodeObject() - args = coder.decodeObject() - - new_args = [] - for a in args: - if isinstance(a, NSDictionary): - new_args.append(dict(a)) - elif isinstance(a, NSMutableArray): - new_args.append(list(a)) - elif isinstance(a, NSArray): - new_args.append(tuple(a)) - elif isinstance(a, NSMutableSet): - new_args.append(set(a)) - elif isinstance(a, NSSet): - new_args.append(frozenset(a)) - else: - new_args.append(a) - args = new_args - del new_args - - if ( - not coder.allowsKeyedCoding() - and len(args) in (1, 2) - and isinstance(args[0], NSData) - ): - # XXX: This is a crude hack to fix roundtripping - # datetime.datetime instances through an NSArchiver. - # The underlying problem is twofold: - # 1. For non-keyed coders "bytes" is read back as "NSData" - # 2. The datetime.datetime constructor checks if the type of the first - # argument is bytes and assumes it is an integer otherwise. - - args = list(args) - args[0] = bytes(args[0]) - value = func(*args) - else: - value = func(*args) - - # We now have the object, but haven't set the correct - # state yet. Tell the bridge about this value right - # away, that's needed because `value` might be part - # of the object state which we'll retrieve next. - setValue(value) - - if coder.allowsKeyedCoding(): - listitems = coder.decodeObjectForKey_(kLIST) - dictitems = coder.decodeObjectForKey_(kDICT) - state = coder.decodeObjectForKey_(kSTATE) - else: - listitems = coder.decodeObject() - dictitems = coder.decodeObject() - state = coder.decodeObject() - if isinstance(state, NSArray): - state = tuple(state) - - setstate = getattr(value, "__setstate__", None) - if setstate: - setstate(state) - return value - - slotstate = None - if isinstance(state, tuple) and len(state) == 2: - state, slotstate = state - - if state: - # NOTE: picke.py catches RuntimeError here - # to support restricted execution, that is not - # relevant for PyObjC. - inst_dict = value.__dict__ - - for k in state: - v = state[k] - if type(k) == objc.pyobjc_unicode: - inst_dict[intern(k)] = v - - elif type(k) == str: - inst_dict[intern(k)] = v - - else: - inst_dict[k] = v - - if slotstate: - for k, v in slotstate.items(): - setattr(value, intern(k), v) - - if listitems: - for a in listitems: - value.append(a) - - if dictitems: - for k, v in dictitems.items(): - value[k] = v - - return value - - -decode_dispatch[kOP_REDUCE] = load_reduce - - -def pyobjectEncode(self, coder): - t = type(self) - - # Find builtin support - f = encode_dispatch.get(t) - if f is not None: - f(coder, self) - return - - # Check for a class with a custom metaclass - # NOTE: pickle.py catches TypeError here, that's for - # compatibility with ancient versions of Boost - # (before Python 2.2) and is not needed here. - issc = issubclass(t, type) - - if issc: - save_global(coder, self) - return - - # Check copyreg.dispatch_table - reduce = copyreg.dispatch_table.get(t) - if reduce is not None: - rv = reduce(self) - - else: - reduce = getattr(self, "__reduce_ex__", None) - rv = reduce(2) - - if type(rv) is str: - save_global(coder, self, rv) - return - - if type(rv) is not tuple: - raise PicklingError("%s must return string or tuple" % reduce) - - rv_len = len(rv) - if not (2 <= rv_len <= 5): - raise PicklingError( - "Tuple returned by %s must have two to " "five elements" % reduce - ) - - save_reduce(coder, *rv) - - -def pyobjectDecode(coder, setValue): - if coder.allowsKeyedCoding(): - tp = coder.decodeIntForKey_(kKIND) - else: - tp = coder.decodeValueOfObjCType_at_(objc._C_INT, None) - f = decode_dispatch.get(tp) - if f is None: - raise UnpicklingError(f"Unknown object kind: {tp}") - - return f(coder, setValue) - - -# An finally register the coder/decoder -objc.options._nscoding_version = 1 -objc.options._nscoding_encoder = pyobjectEncode -objc.options._nscoding_decoder = pyobjectDecode -objc.options._copy = copy.copy diff --git a/src/lib/objc/_pythonify.py b/src/lib/objc/_pythonify.py deleted file mode 100644 index eb3b249..0000000 --- a/src/lib/objc/_pythonify.py +++ /dev/null @@ -1,76 +0,0 @@ -from objc import _objc - -__all__ = [] - - -class OC_PythonFloat(float): - __slots__ = ("__pyobjc_object__",) - - def __new__(cls, obj, value): - self = float.__new__(cls, value) - self.__pyobjc_object__ = obj - return self - - __class__ = property(lambda self: self.__pyobjc_object__.__class__) - - def __getattr__(self, attr): - return getattr(self.__pyobjc_object__, attr) - - def __reduce__(self): - return (float, (float(self),)) - - -class OC_PythonLong(int): - def __new__(cls, obj, value): - self = int.__new__(cls, value) - self.__pyobjc_object__ = obj - return self - - __class__ = property(lambda self: self.__pyobjc_object__.__class__) - - def __getattr__(self, attr): - return getattr(self.__pyobjc_object__, attr) - - # The long type doesn't support __slots__ on subclasses, fake - # one part of the effect of __slots__: don't allow setting of attributes. - def __setattr__(self, attr, value): - if attr != "__pyobjc_object__": - raise AttributeError( - f"'{self.__class__.__name__}' object has no attribute '{attr}')" - ) - self.__dict__["__pyobjc_object__"] = value - - def __reduce__(self): - return (int, (int(self),)) - - -NSNumber = _objc.lookUpClass("NSNumber") -NSDecimalNumber = _objc.lookUpClass("NSDecimalNumber") - - -def numberWrapper(obj): - if isinstance(obj, NSDecimalNumber): - return obj - - try: - tp = obj.objCType() - except AttributeError: - import warnings - - warnings.warn( - f"NSNumber instance doesn't implement objCType? {obj!r}", RuntimeWarning - ) - return obj - - if tp in b"qQLfd": - if tp == b"q": - return OC_PythonLong(obj, obj.longLongValue()) - elif tp in b"QL": - return OC_PythonLong(obj, obj.unsignedLongLongValue()) - else: - return OC_PythonFloat(obj, obj.doubleValue()) - else: - return OC_PythonLong(obj, obj.longValue()) - - -_objc.options._nsnumber_wrapper = numberWrapper diff --git a/src/lib/pyobjc_core-8.5-py3.9-nspkg.pth b/src/lib/pyobjc_core-8.5-py3.9-nspkg.pth deleted file mode 100644 index f97ec6a..0000000 --- a/src/lib/pyobjc_core-8.5-py3.9-nspkg.pth +++ /dev/null @@ -1 +0,0 @@ -import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('PyObjCTools',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('PyObjCTools', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('PyObjCTools', [os.path.dirname(p)])));m = m or sys.modules.setdefault('PyObjCTools', types.ModuleType('PyObjCTools'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p) diff --git a/src/lib/pyobjc_framework_Cocoa-8.5-py3.9-nspkg.pth b/src/lib/pyobjc_framework_Cocoa-8.5-py3.9-nspkg.pth deleted file mode 100644 index f97ec6a..0000000 --- a/src/lib/pyobjc_framework_Cocoa-8.5-py3.9-nspkg.pth +++ /dev/null @@ -1 +0,0 @@ -import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('PyObjCTools',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('PyObjCTools', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('PyObjCTools', [os.path.dirname(p)])));m = m or sys.modules.setdefault('PyObjCTools', types.ModuleType('PyObjCTools'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p) diff --git a/src/lib/pyobjc_framework_ExceptionHandling-8.5-py3.10-nspkg.pth b/src/lib/pyobjc_framework_ExceptionHandling-8.5-py3.10-nspkg.pth deleted file mode 100644 index f97ec6a..0000000 --- a/src/lib/pyobjc_framework_ExceptionHandling-8.5-py3.10-nspkg.pth +++ /dev/null @@ -1 +0,0 @@ -import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('PyObjCTools',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('PyObjCTools', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('PyObjCTools', [os.path.dirname(p)])));m = m or sys.modules.setdefault('PyObjCTools', types.ModuleType('PyObjCTools'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p)

    OZmpNZ;0*CIDkDfcXH9&5$Y-USUDTr-9o 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

  • 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%0AkIqFYE?e<<>THsKAdEX|KQ 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